Iteaduino Plus A20 is very similar to Iteaduino Plus A10. In fact it shares the same breakout board and the Itead Core A20 on top of it, is only adapted to support the dual-core A20. This commits enables the following hardware: * HDMI Video output * USB * SATA (untested due to lack of hardware I could attach) * Ethernet * MMC storage * UART * USB OTG (untested, because I don't own an USB OTG cable/device) Signed-off-by: Julian Ribbeck <julian.ribbeck@xxxxxx> --- arch/arm/boot/dts/Makefile | 1 + .../dts/sun7i-a20-itead-iteaduino-plus.dts | 109 ++++++++++++++++++ 2 files changed, 110 insertions(+) create mode 100644 arch/arm/boot/dts/sun7i-a20-itead-iteaduino-plus.dts diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index 59829fc90315..1d5ab086f8de 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -1334,6 +1334,7 @@ dtb-$(CONFIG_MACH_SUN7I) += \ sun7i-a20-haoyu-marsboard.dtb \ sun7i-a20-hummingbird.dtb \ sun7i-a20-itead-ibox.dtb \ + sun7i-a20-itead-iteaduino-plus.dts \ sun7i-a20-i12-tvbox.dtb \ sun7i-a20-icnova-swac.dtb \ sun7i-a20-lamobo-r1.dtb \ diff --git a/arch/arm/boot/dts/sun7i-a20-itead-iteaduino-plus.dts b/arch/arm/boot/dts/sun7i-a20-itead-iteaduino-plus.dts new file mode 100644 index 000000000000..8d94db5520af --- /dev/null +++ b/arch/arm/boot/dts/sun7i-a20-itead-iteaduino-plus.dts @@ -0,0 +1,109 @@ +// SPDX-License-Identifier: (GPL-2.0+ or MIT) + +/dts-v1/; +#include "sun7i-a20.dtsi" +#include "sunxi-itead-core-common.dtsi" +#include "axp209.dtsi" + +/ { + model = "Itead Iteaduino Plus A20"; + compatible = "itead,iteaduino-plus-a20", "allwinner,sun7i-a20"; + + hdmi-connector { + compatible = "hdmi-connector"; + type = "a"; + + port { + hdmi_con_in: endpoint { + remote-endpoint = <&hdmi_out_con>; + }; + }; + }; +}; + +&ac_power_supply { + status = "okay"; +}; + +&ahci { + target-supply = <®_ahci_5v>; + status = "okay"; +}; + +&axp209 { + interrupts = <0>; +}; + +&battery_power_supply { + status = "okay"; +}; + + +&de { + status = "okay"; +}; + +&emac { + pinctrl-names = "default"; + pinctrl-0 = <&emac_pa_pins>; + phy-handle = <&phy1>; + status = "okay"; +}; + +&emac_sram { + status = "okay"; +}; + +&hdmi { + status = "okay"; +}; + +&hdmi_out { + hdmi_out_con: endpoint { + remote-endpoint = <&hdmi_con_in>; + }; +}; + +&mdio { + status = "okay"; + + phy1: ethernet-phy@1 { + reg = <1>; + }; +}; + +&mmc0 { + vmmc-supply = <®_vcc3v3>; + bus-width = <4>; + cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */ + status = "okay"; +}; + + +&otg_sram { + status = "okay"; +}; + +®_ahci_5v { + status = "okay"; +}; + + +®_usb0_vbus { + status = "okay"; +}; + +&usb_otg { + status = "otg"; +}; + +&usb_power_supply { + status = "okay"; +}; + +&usbphy { + usb0_id_det-gpios = <&pio 7 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* PH4 */ + usb0_vbus_det-gpios = <&pio 7 5 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* PH5 */ + usb0_vbus_power-supply = <&usb_power_supply>; + usb0_vbus-supply = <®_usb0_vbus>; +}; -- 2.41.0