
This patch set updates the latest device trees for Allwinner A64 based boards from Linux. In contrast to v1 I now took the actual 4.13-rc1 DTs from Linux, which restructures the patch set a bit.
The big advantage of having the very same DTs in U-Boot is that we can use UEFI boot much more easily, because U-Boot can just pass on its own DT, without having to find and load some external version. This makes UEFI based installers boot out of the box, which is a big relief. Linux 4.13-rc1 saw the addition of the sun8i-emac Ethernet driver, for which U-Boot has a driver for quite a while, but with a slightly different binding, so this series makes it compatible. Patch 1/6 adds some missing compatible strings, it was on the list before, but I add it to this series because it is a prerequisite for the following patches. Patches 2 till 4 add some code to be able to parse the new pinctrl bindings that newer Allwinner DTs use. Patch 5 extends U-Boot sun8i-emac driver to be able to properly parse the DT binding used by the new Linux driver as well. Patch 6 then actually replaces the DTs for A64 boards with the exact version as of the Linux tree (v4.13-rc1). This allows us to *almost* get rid of out *-u-boot.dtsi kludge, but we still need the alias, which the Linux version doesn't have, so this file still contains this one line, effectively.
I am still not convinced that having a full featured pinctrl driver in U-Boot is the right thing, so I cheekily ignore this part of the comments. If people consider this a requirement, we can have a look at this, but I don't see any reply since the first patch was posted some months ago, so I guess this takes much more time.
Also my apologies for not having looked at the syscon driver change Simon asked. It looks like a reasonable change, but I am about to leave for holidays and didn't want to postpone an updated version any longer.
Cheers, Andre.
Andre Przywara (6): sunxi: gpio: add missing compatible strings libfdt: add fdtdec_lookup_phandle_index() sunxi: GPIO: introduce sunxi_gpio_setup_dt_pins() net: sun8i-emac: use new, generic GPIO setup routine net: sun8i-emac: add support for new DT binding sunxi: A64: update Linux DTs
arch/arm/dts/sun50i-a64-bananapi-m64-u-boot.dtsi | 5 + arch/arm/dts/sun50i-a64-bananapi-m64.dts | 16 ++- arch/arm/dts/sun50i-a64-orangepi-win.dts | 7 +- arch/arm/dts/sun50i-a64-pine64-plus-u-boot.dtsi | 45 ------- arch/arm/dts/sun50i-a64-pine64-plus.dts | 17 ++- arch/arm/dts/sun50i-a64-pine64.dts | 57 +++++++++ arch/arm/dts/sun50i-a64.dtsi | 142 ++++++++++++++++++++--- arch/arm/include/asm/arch-sunxi/gpio.h | 3 + arch/arm/mach-sunxi/pinmux.c | 79 +++++++++++++ drivers/gpio/sunxi_gpio.c | 4 + drivers/net/sun8i_emac.c | 105 +++++++++-------- include/dt-bindings/clock/sun8i-r-ccu.h | 59 ++++++++++ include/fdtdec.h | 12 ++ lib/fdtdec.c | 16 ++- 14 files changed, 441 insertions(+), 126 deletions(-) create mode 100644 arch/arm/dts/sun50i-a64-bananapi-m64-u-boot.dtsi create mode 100644 include/dt-bindings/clock/sun8i-r-ccu.h