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 | 114 ++++++++++++++++++ 2 files changed, 115 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..3b6e284e4472 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.dtb \ 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..204c5f2c81c7 --- /dev/null +++ b/arch/arm/boot/dts/sun7i-a20-itead-iteaduino-plus.dts @@ -0,0 +1,114 @@ +// 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 { + interrupt-parent = <&nmi_intc>; + interrupts = <0 IRQ_TYPE_LEVEL_LOW>; +}; + +&battery_power_supply { + status = "okay"; +}; + +&codec { + stauts = "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 = "okay"; + dr_mode = "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