[PATCH v2 3/4] arm64: dts: add Allwinner A64 SoC .dtsi

Icenowy Zheng icenowy at aosc.xyz
Sat Sep 17 18:21:52 PDT 2016



17.09.2016, 22:56, "Maxime Ripard" <maxime.ripard at free-electrons.com>:
> On Thu, Sep 15, 2016 at 01:08:45AM +0100, André Przywara wrote:
>>  > --- a/MAINTAINERS
>>  > +++ b/MAINTAINERS
>>  > @@ -982,6 +982,7 @@ M: Chen-Yu Tsai <wens at csie.org>
>>  > L: linux-arm-kernel at lists.infradead.org (moderated for non-subscribers)
>>  > S: Maintained
>>  > N: sun[x456789]i
>>  > +F: arch/arm64/boot/dts/allwinner/
>>
>>  If you promise to not break it needlessly ;-)
>
> We started doing so since 4.7, and we're already fighting needlessly
> with maintainers because of that.
>
>>  > + cpus {
>>  > + #address-cells = <1>;
>>  > + #size-cells = <0>;
>>  > +
>>  > + cpu at 0 {
>>
>>  This is probably me to blame here since I put you up to it, but you need
>>  "cpux" names (e.g. "cpu0: cpu at 0 {") to match the ones that the PMU node
>>  references below. dtc will refuse to compile it otherwise.
>
> Gaah, yes, of course.
>
>>  > + i2c1_pins: i2c1_pins {
>>  > + allwinner,pins = "PH2", "PH3";
>>  > + allwinner,function = "i2c1";
>>  > + allwinner,drive = <SUN4I_PINCTRL_10_MA>;
>>  > + allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
>>  > + };
>>  > +
>>  > + uart0_pins_a: uart0 at 0 {
>>  > + allwinner,pins = "PB8", "PB9";
>>  > + allwinner,function = "uart0";
>>  > + allwinner,drive = <SUN4I_PINCTRL_10_MA>;
>>  > + allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
>>  > + };
>>
>>  So did I get this right that there is a strict "no user - no pins"
>>  policy here?
>>  I don't see a reason why we shouldn't have at least the other UART pins
>>  described here as well - since they are a pure SoC property. That would
>>  make it easier for people to enable them (with a simple, scripted fdt
>>  one-liner command in U-Boot, for instance).
>
> To avoid having huge DT that are longer to load and parse, especially
> since every one wires it in the exact same way all the time. And the
> combination is just too high.
>
> On the A64, the UART0 can be exposed through PB9 and PF4 for TX, and
> PB8 and PF2 for RX. Even though the common usage would be to use PB8
> and PB9, or PF4 and PF6. But absolutely nothing prevents from using
> PB8 and PF4.
>
> You can then add CTS and RTS into the mix, and multiply that by the
> number of devices in the SoC.
>
>>  I guess there will never be an official DT with more than 2 UARTs
>>  enabled, although we have actually five UARTs on the headers on the
>>  Pine64, for instance (and personally I am looking into using one as a
>>  terminal server).
>
> We relaxed the rule lately however. Boards that have access to those
> UARTs on their headers can put a node in their DT with the right
> muxing filled already. Which brings you the simple, script fdt
> one-liner in U-Boot.
>
>>  Also UART1 is connected to that WiFi/Bluetooth slot, having it enabled
>>  should make BT work without further ado (but I haven't tested this).
>
> That's probably not true. You'll most likely need to enable a few
> regulators to have it working.

It seems that Andre has enabled the necessary regulator in the
newest version of his ARM Trusted Firmware...

>
> Maxime
>
> --
> Maxime Ripard, Free Electrons
> Embedded Linux and Kernel engineering
> http://free-electrons.com
> ,
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel



More information about the linux-arm-kernel mailing list