Hi Stephen, On 31 July 2014 21:16, Stephen Warren <swar...@wwwdotorg.org> wrote: > On 07/30/2014 03:49 AM, Simon Glass wrote: >> >> Some Tegra device tree files do not include information about the serial >> ports. Add this and also add information about the input clock speed. >> >> The console alias needs to be set up to indicate which port is used for >> the console. >> >> Also add a binding file since this is missing. > > >> diff --git a/arch/arm/dts/tegra114-dalmore.dts >> b/arch/arm/dts/tegra114-dalmore.dts >> index 435c01e..e2426ef 100644 >> --- a/arch/arm/dts/tegra114-dalmore.dts >> +++ b/arch/arm/dts/tegra114-dalmore.dts >> @@ -7,6 +7,7 @@ >> compatible = "nvidia,dalmore", "nvidia,tegra114"; >> >> aliases { >> + console = &uart_d; > > > I don't think that's a standard alias name. There was some recent discussion > in the devicetree mailing list re: using some property in /chosen for this > purpose instead. U-Boot and the kernel should use the same representation > here.
This is U-Boot's approach at present, if we change it then we should change it everywhere. I worry that 'chosen' is for Linux rather than U-Boot and we might get very confused about what chosen is for? > >> diff --git a/arch/arm/dts/tegra114.dtsi b/arch/arm/dts/tegra114.dtsi > > >> + uart_a: serial@70006000 { >> + compatible = "nvidia,tegra20-uart"; > > > This property needs to include both the specific HW (i.e. Tegra114) and any > HW it's compatible with (i.e. Tegra20). So something like this? compatible = "nvidia,tegra114-uart", "nvidia,tegra20-uart"; > > >> + reg = <0x70006000 0x40>; >> + reg-shift = <2>; >> + clock-frequency = <408000000>; > > > This isn't a property that's defined by the Tegra serial binding. This > information should be obtained by looking up the relevant clock, and > querying its rate. We can't do that in the ns16550 driver as yet since there is no generic U-Boot clock infrastructure. I suspect that will come with time. > > >> + interrupts = < 68 >; >> + }; > > > For reference, here's the DT node for this UART in the kernel DT, which > complies with the relevant binding document: > > uarta: serial@70006000 { > compatible = "nvidia,tegra114-uart", "nvidia,tegra20-uart"; > > reg = <0x70006000 0x40>; > reg-shift = <2>; > interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; > clocks = <&tegra_car TEGRA114_CLK_UARTA>; > resets = <&tegra_car 6>; > reset-names = "serial"; > dmas = <&apbdma 8>, <&apbdma 8>; > dma-names = "rx", "tx"; > status = "disabled"; > }; > > All the comment above apply to all the files in this patch. My intent was to make this work with a more generic binding for now - ns16550 is a pretty standard thing and I thought I could avoid making the driver Tegra-specific. Then we could allow many SoCs to use it. Why does Tegra have its own binding in the kernel for this standard UART? Regards, Simon _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot