[U-Boot] [PATCH 0/6] sunxi: update sun8i-emac driver DT binding
Andre Przywara
andre.przywara at arm.com
Mon Jul 3 00:59:12 UTC 2017
The Ethernet MAC used in newer Allwinner SoCs (H3, A64, H5) is about to
get an upstream Linux driver very soon (it's already lurking in -next).
To support the different binding used for that, enhance our U-Boot driver
to be able to cope with both DT descriptions.
This series contains two parts:
Patch 1 and 2 make it easier for more A64 boards to use Ethernet, by
renaming the existing sun50i-a64-pine64-plus-u-boot.dtsi add-on file to
use a more generic name and symlinking each board to. This remains a
kludge for now until the new Linux DT gets merged in.
Patches 3 till 6 now enhance the DT parsing routine in the EMAC driver to
teach it to cope with both the old and new style binding:
- Allow the new pinctrl bindings.
- Find the syscon address referenced by a phandle in "syscon".
- Find the PHY node referenced by "phy-handle" (not just "phy").
- Adjust the syscon address according to the binding used.
- Determine usage of the internal PHY by using the MII protocol.
So this series prepares U-Boot for merging in new Linux DTs later, which
will describe the EMAC and PHY using the new binding instead.
Cheers,
Andre.
Andre Przywara (6):
sunxi: A64: dts: replace EMAC .dtsi with symlink
sunxi: A64: dts: add Ethernet support for BPi-M64 and OPi-Win
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
arch/arm/dts/sun50i-a64-bananapi-m64-u-boot.dtsi | 1 +
arch/arm/dts/sun50i-a64-orangepi-win-u-boot.dtsi | 1 +
arch/arm/dts/sun50i-a64-pine64-plus-u-boot.dtsi | 51 +----------
arch/arm/dts/sun50i-a64-rgmii-emac.dtsi | 50 +++++++++++
arch/arm/include/asm/arch-sunxi/gpio.h | 3 +
arch/arm/mach-sunxi/pinmux.c | 79 +++++++++++++++++
drivers/net/sun8i_emac.c | 105 +++++++++++------------
include/fdtdec.h | 12 +++
lib/fdtdec.c | 16 +++-
9 files changed, 211 insertions(+), 107 deletions(-)
create mode 120000 arch/arm/dts/sun50i-a64-bananapi-m64-u-boot.dtsi
create mode 120000 arch/arm/dts/sun50i-a64-orangepi-win-u-boot.dtsi
mode change 100644 => 120000 arch/arm/dts/sun50i-a64-pine64-plus-u-boot.dtsi
create mode 100644 arch/arm/dts/sun50i-a64-rgmii-emac.dtsi
--
2.8.2
More information about the U-Boot
mailing list