[PATCH v5] arm64: dts: marvell: add DT for ESPRESSObin-Ultra

Pali Rohár pali at kernel.org
Thu Dec 3 19:48:36 EST 2020


On Sunday 29 November 2020 12:17:27 Gregory CLEMENT wrote:
> Hi Vladimir,
> 
> > This adds support for ESPRESSObin-Ultra from Globalscale.
> >
> > Specifications are similar to the base ESPRESSObin board, with main
> > difference being being WAN port with PoE capability and 2 additional ethernet ports.
> >
> > Full specifications:
> >
> > 1x Marvell 64 bit Dual Core ARM A53 Armada 3700 SOC clocked up to 1.2Ghz
> > 1x Topaz 6341 Networking Switch
> > 1GB DDR4
> > 8GB eMMC
> > 1x WAN with 30W POE
> > 4x Gb LAN
> > 1x RTC Clock and battery
> > 1x DC Jack
> > 1x USB 3.0 Type A
> > 1x USB 2.0 Type A
> > 1x SIM NanoSIM card Slot
> > 1x Power Button
> > 4x LED
> > 1x Reset button
> > 1x microUSB for UART
> > 1x M.2 2280 slot for memory
> > 1x 2x2 802.11ac Wi-Fi
> > 1x MiniPCIE slot for Wi-Fi (PCIe interface)
> >
> > Signed-off-by: Vladimir Vid <vladimir.vid at sartura.hr>
> 
> 
> Applied on mvebu/dt64
> 
> I know that usb3 node is not yet enabled but we are a really close to the
> end of the merge window for ARM so let's have this version in 5.11, and
> then we can improve it in future version.

Maybe you could include into commit message that USB3 support is
currently missing? As from current commit message description it looks
like it is there...

> Thanks,
> 
> Gregory
> 
> > ---
> >
> > v5 changes:
> > - update ethernet-phy at 1 to match reg value
> >
> > ---
> >  arch/arm64/boot/dts/marvell/Makefile          |   1 +
> >  .../marvell/armada-3720-espressobin-ultra.dts | 165 ++++++++++++++++++
> >  2 files changed, 166 insertions(+)
> >  create mode 100644 arch/arm64/boot/dts/marvell/armada-3720-espressobin-ultra.dts
> >
> > diff --git a/arch/arm64/boot/dts/marvell/Makefile b/arch/arm64/boot/dts/marvell/Makefile
> > index 3e5f2e7a040c..094f451fdd1d 100644
> > --- a/arch/arm64/boot/dts/marvell/Makefile
> > +++ b/arch/arm64/boot/dts/marvell/Makefile
> > @@ -3,6 +3,7 @@
> >  dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-db.dtb
> >  dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-espressobin.dtb
> >  dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-espressobin-emmc.dtb
> > +dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-espressobin-ultra.dtb
> >  dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-espressobin-v7.dtb
> >  dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-espressobin-v7-emmc.dtb
> >  dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-turris-mox.dtb
> > diff --git a/arch/arm64/boot/dts/marvell/armada-3720-espressobin-ultra.dts b/arch/arm64/boot/dts/marvell/armada-3720-espressobin-ultra.dts
> > new file mode 100644
> > index 000000000000..c5eb3604dd5b
> > --- /dev/null
> > +++ b/arch/arm64/boot/dts/marvell/armada-3720-espressobin-ultra.dts
> > @@ -0,0 +1,165 @@
> > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> > +/*
> > + * Device Tree file for ESPRESSObin-Ultra board.
> > + * Copyright (C) 2019 Globalscale technologies, Inc.
> > + *
> > + * Jason Hung <jhung at globalscaletechnologies.com>
> > + */
> > +
> > +/dts-v1/;
> > +
> > +#include "armada-3720-espressobin.dtsi"
> > +
> > +/ {
> > +	model = "Globalscale Marvell ESPRESSOBin Ultra Board";
> > +	compatible = "globalscale,espressobin-ultra", "marvell,armada3720",
> > +		     "marvell,armada3710";
> > +
> > +	aliases {
> > +		/* ethernet1 is WAN port */
> > +		ethernet1 = &switch0port5;
> > +		ethernet2 = &switch0port1;
> > +		ethernet3 = &switch0port2;
> > +		ethernet4 = &switch0port3;
> > +		ethernet5 = &switch0port4;
> > +	};
> > +
> > +	reg_usb3_vbus: usb3-vbus {
> > +		compatible = "regulator-fixed";
> > +		regulator-name = "usb3-vbus";
> > +		regulator-min-microvolt = <5000000>;
> > +		regulator-max-microvolt = <5000000>;
> > +		enable-active-high;
> > +		gpio = <&gpionb 19 GPIO_ACTIVE_HIGH>;
> > +	};
> > +
> > +	usb3_phy: usb3-phy {
> > +		compatible = "usb-nop-xceiv";
> > +		vcc-supply = <&reg_usb3_vbus>;
> > +	};
> > +
> > +	gpio-leds {
> > +		pinctrl-names = "default";
> > +		compatible = "gpio-leds";
> > +		/* No assigned functions to the LEDs by default */
> > +		led1 {
> > +			label = "ebin-ultra:blue:led1";
> > +			gpios = <&gpionb 11 GPIO_ACTIVE_LOW>;
> > +		};
> > +		led2 {
> > +			label = "ebin-ultra:green:led2";
> > +			gpios = <&gpionb 12 GPIO_ACTIVE_LOW>;
> > +		};
> > +		led3 {
> > +			label = "ebin-ultra:red:led3";
> > +			gpios = <&gpionb 13 GPIO_ACTIVE_LOW>;
> > +		};
> > +		led4 {
> > +			label = "ebin-ultra:yellow:led4";
> > +			gpios = <&gpionb 14 GPIO_ACTIVE_LOW>;
> > +		};
> > +	};
> > +};
> > +
> > +&sdhci0 {
> > +	status = "okay";
> > +};
> > +
> > +&sdhci1 {
> > +	status = "disabled";
> > +};
> > +
> > +&spi0 {
> > +	flash at 0 {
> > +		spi-max-frequency = <108000000>;
> > +		spi-rx-bus-width = <4>;
> > +		spi-tx-bus-width = <4>;
> > +
> > +		partitions {
> > +			compatible = "fixed-partitions";
> > +			#address-cells = <1>;
> > +			#size-cells = <1>;
> > +
> > +			partition at 0 {
> > +				label = "firmware";
> > +				reg = <0x0 0x3e0000>;
> > +			};
> > +			partition at 3e0000 {
> > +				label = "hw-info";
> > +				reg = <0x3e0000 0x10000>;
> > +				read-only;
> > +			};
> > +			partition at 3f0000 {
> > +				label = "u-boot-env";
> > +				reg = <0x3f0000 0x10000>;
> > +			};
> > +		};
> > +	};
> > +};
> > +
> > +&i2c0 {
> > +	status = "okay";
> > +	pinctrl-names = "default";
> > +	pinctrl-0 = <&i2c1_pins>;
> > +
> > +	clock-frequency = <100000>;
> > +
> > +	rtc at 51 {
> > +		compatible = "nxp,pcf8563";
> > +		reg = <0x51>;
> > +	};
> > +};
> > +
> > +&usb3 {
> > +	usb-phy = <&usb3_phy>;
> > +	status = "disabled";
> > +};
> > +
> > +&mdio {
> > +	extphy: ethernet-phy at 1 {
> > +		reg = <1>;
> > +	};
> > +};
> > +
> > +&switch0 {
> > +	reg = <3>;
> > +
> > +	ports {
> > +		switch0port1: port at 1 {
> > +			reg = <1>;
> > +			label = "lan0";
> > +			phy-handle = <&switch0phy0>;
> > +		};
> > +
> > +		switch0port2: port at 2 {
> > +			reg = <2>;
> > +			label = "lan1";
> > +			phy-handle = <&switch0phy1>;
> > +		};
> > +
> > +		switch0port3: port at 3 {
> > +			reg = <3>;
> > +			label = "lan2";
> > +			phy-handle = <&switch0phy2>;
> > +		};
> > +
> > +		switch0port4: port at 4 {
> > +			reg = <4>;
> > +			label = "lan3";
> > +			phy-handle = <&switch0phy3>;
> > +		};
> > +
> > +		switch0port5: port at 5 {
> > +			reg = <5>;
> > +			label = "wan";
> > +			phy-handle = <&extphy>;
> > +			phy-mode = "sgmii";
> > +		};
> > +	};
> > +
> > +	mdio {
> > +		switch0phy3: switch0phy3 at 14 {
> > +			reg = <0x14>;
> > +		};
> > +	};
> > +};
> > -- 
> > 2.27.0
> >
> 
> -- 
> Gregory Clement, Bootlin
> Embedded Linux and Kernel engineering
> http://bootlin.com



More information about the linux-arm-kernel mailing list