[PATCH] ARM: dts: sun7i: Add Iteaduino Plus A20

Julian Ribbeck posted 1 patch 2 years, 7 months ago
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
[PATCH] ARM: dts: sun7i: Add Iteaduino Plus A20
Posted by Julian Ribbeck 2 years, 7 months ago
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@gmx.de>
---
 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 = <&reg_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 = <&reg_vcc3v3>;
+	bus-width = <4>;
+	cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
+	status = "okay";
+};
+
+
+&otg_sram {
+	status = "okay";
+};
+
+&reg_ahci_5v {
+	status = "okay";
+};
+
+
+&reg_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 = <&reg_usb0_vbus>;
+};
--
2.41.0
Re: [PATCH] ARM: dts: sun7i: Add Iteaduino Plus A20
Posted by Krzysztof Kozlowski 2 years, 7 months ago
On 17/06/2023 19:27, Julian Ribbeck wrote:
> 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.
> 

Thank you for your patch. There is something to discuss/improve.

> 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";

Missing bindings.

It does not look like you tested the DTS against bindings. Please run
`make dtbs_check` (see
Documentation/devicetree/bindings/writing-schema.rst or
https://www.linaro.org/blog/tips-and-tricks-for-validating-devicetree-sources-with-the-devicetree-schema/
for instructions).


Best regards,
Krzysztof
Re: [PATCH] ARM: dts: sun7i: Add Iteaduino Plus A20
Posted by Julian Ribbeck 2 years, 7 months ago
> Missing bindings.
>
> It does not look like you tested the DTS against bindings. Please run
> `make dtbs_check` (see
> Documentation/devicetree/bindings/writing-schema.rst or
> https://www.linaro.org/blog/tips-and-tricks-for-validating-devicetree-sources-with-the-devicetree-schema/
> for instructions).
Thanks, did not know about this, will send a v2
[PATCH v2 1/2] ARM: dts: sun7i: Add Iteaduino Plus A20
Posted by Julian Ribbeck 2 years, 7 months ago
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@gmx.de>
---
 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 = <&reg_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 = <&reg_vcc3v3>;
+	bus-width = <4>;
+	cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
+	status = "okay";
+};
+
+
+&otg_sram {
+	status = "okay";
+};
+
+&reg_ahci_5v {
+	status = "okay";
+};
+
+
+&reg_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 = <&reg_usb0_vbus>;
+};
--
2.41.0
Re: [PATCH v2 1/2] ARM: dts: sun7i: Add Iteaduino Plus A20
Posted by Samuel Holland 2 years, 4 months ago
Hi Julian,

Next time please CC everyone reported by scripts/get_maintainer.pl on
this file, so we are aware of your patch.

On 6/17/23 15:55, Julian Ribbeck wrote:
> 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@gmx.de>
> ---
>  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

ARM devicetrees were moved into subdirectories, so this patch will need
to be rebased.

> 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"

axp209.dtsi is already included by sunxi-itead-core-common.dtsi. You
don't need to include it again here.

> +
> +/ {
> +	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 = <&reg_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 = <&reg_vcc3v3>;
> +	bus-width = <4>;
> +	cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
> +	status = "okay";
> +};
> +
> +
> +&otg_sram {
> +	status = "okay";
> +};
> +
> +&reg_ahci_5v {
> +	status = "okay";
> +};
> +
> +

Extra blank line here and above otg_sram.

> +&reg_usb0_vbus {
> +	status = "okay";
> +};
> +
> +&usb_otg {
> +	status = "okay";
> +	dr_mode = "otg";

The mini-USB port is always powered, and the ID pin isn't hooked up in a
usable way, so this should be "host".

> +};
> +
> +&usb_power_supply {
> +	status = "okay";
> +};

The board's power supply is only connected to the ACIN pins of the
AXP209, not the USBVBUS pin (which is pulled to 3.3V for some reason).
So usb_power_supply should not be enabled or used below.

> +
> +&usbphy {
> +	usb0_id_det-gpios = <&pio 7 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* PH4 */

The ID pin is connected to N_VBUSEN on the PMIC, not this GPIO. Per the
schematic, this GPIO is not connected to anything.

> +	usb0_vbus_det-gpios = <&pio 7 5 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* PH5 */

Per the schematic, this GPIO is not connected to anything.

> +	usb0_vbus_power-supply = <&usb_power_supply>;

As explained above, please remove this property.

Regards,
Samuel

> +	usb0_vbus-supply = <&reg_usb0_vbus>;
> +};
> --
> 2.41.0
>
[PATCH v3 1/2] ARM: dts: sun7i: Add Iteaduino Plus A20
Posted by Julian Ribbeck 2 years, 4 months ago
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@gmx.de>
---
 arch/arm/boot/dts/allwinner/Makefile          |   1 +
 .../sun7i-a20-itead-iteaduino-plus.dts        | 104 ++++++++++++++++++
 2 files changed, 105 insertions(+)
 create mode 100644 arch/arm/boot/dts/allwinner/sun7i-a20-itead-iteaduino-plus.dts

diff --git a/arch/arm/boot/dts/allwinner/Makefile b/arch/arm/boot/dts/allwinner/Makefile
index eebb5a0c873a..39af5ad94590 100644
--- a/arch/arm/boot/dts/allwinner/Makefile
+++ b/arch/arm/boot/dts/allwinner/Makefile
@@ -124,6 +124,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-a20-adb4006.dtb \
 	sun7i-a20-icnova-swac.dtb \
diff --git a/arch/arm/boot/dts/allwinner/sun7i-a20-itead-iteaduino-plus.dts b/arch/arm/boot/dts/allwinner/sun7i-a20-itead-iteaduino-plus.dts
new file mode 100644
index 000000000000..c9f9b0275381
--- /dev/null
+++ b/arch/arm/boot/dts/allwinner/sun7i-a20-itead-iteaduino-plus.dts
@@ -0,0 +1,104 @@
+// SPDX-License-Identifier: (GPL-2.0+ or MIT)
+
+/dts-v1/;
+#include "sun7i-a20.dtsi"
+#include "sunxi-itead-core-common.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 = <&reg_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 = <&reg_vcc3v3>;
+	bus-width = <4>;
+	cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
+	status = "okay";
+};
+
+&otg_sram {
+	status = "okay";
+};
+
+&reg_ahci_5v {
+	status = "okay";
+};
+
+&reg_usb0_vbus {
+	status = "okay";
+};
+
+&usb_otg {
+	status = "okay";
+	dr_mode = "host";
+};
+
+&usbphy {
+	usb0_vbus-supply = <&reg_usb0_vbus>;
+};
--
2.42.0
[PATCH v3 2/2] dt-bindings: arm: sunxi: Add itead,iteaduino-plus-a20
Posted by Julian Ribbeck 2 years, 4 months ago
Add itead,iteaduino-plus-a20 bindings

Signed-off-by: Julian Ribbeck <julian.ribbeck@gmx.de>
---
 Documentation/devicetree/bindings/arm/sunxi.yaml | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/Documentation/devicetree/bindings/arm/sunxi.yaml b/Documentation/devicetree/bindings/arm/sunxi.yaml
index e4dd678f4212..25251ce4b60d 100644
--- a/Documentation/devicetree/bindings/arm/sunxi.yaml
+++ b/Documentation/devicetree/bindings/arm/sunxi.yaml
@@ -362,6 +362,11 @@ properties:
           - const: itead,iteaduino-plus-a10
           - const: allwinner,sun4i-a10

+      - description: Itead Iteaduino Plus A20
+        items:
+          - const: itead,iteaduino-plus-a20
+          - const: allwinner,sun7i-a20
+
       - description: Jesurun Q5
         items:
           - const: jesurun,q5
--
2.42.0
Re: [PATCH v3 2/2] dt-bindings: arm: sunxi: Add itead,iteaduino-plus-a20
Posted by Conor Dooley 2 years, 4 months ago
On Thu, Sep 28, 2023 at 06:57:02PM +0200, Julian Ribbeck wrote:
> Add itead,iteaduino-plus-a20 bindings
> 
> Signed-off-by: Julian Ribbeck <julian.ribbeck@gmx.de>

FYI, you missed a tag from Krzysztof
| Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
from https://lore.kernel.org/all/20230617205624.1178427-2-julian.ribbeck@gmx.de/

Cheers,
Conor.

> ---
>  Documentation/devicetree/bindings/arm/sunxi.yaml | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/arm/sunxi.yaml b/Documentation/devicetree/bindings/arm/sunxi.yaml
> index e4dd678f4212..25251ce4b60d 100644
> --- a/Documentation/devicetree/bindings/arm/sunxi.yaml
> +++ b/Documentation/devicetree/bindings/arm/sunxi.yaml
> @@ -362,6 +362,11 @@ properties:
>            - const: itead,iteaduino-plus-a10
>            - const: allwinner,sun4i-a10
> 
> +      - description: Itead Iteaduino Plus A20
> +        items:
> +          - const: itead,iteaduino-plus-a20
> +          - const: allwinner,sun7i-a20
> +
>        - description: Jesurun Q5
>          items:
>            - const: jesurun,q5
> --
> 2.42.0
> 
[PATCH v4 1/2] ARM: dts: sun7i: Add Iteaduino Plus A20
Posted by Julian Ribbeck 2 years, 4 months ago
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@gmx.de>
---
 arch/arm/boot/dts/allwinner/Makefile          |   1 +
 .../sun7i-a20-itead-iteaduino-plus.dts        | 104 ++++++++++++++++++
 2 files changed, 105 insertions(+)
 create mode 100644 arch/arm/boot/dts/allwinner/sun7i-a20-itead-iteaduino-plus.dts

diff --git a/arch/arm/boot/dts/allwinner/Makefile b/arch/arm/boot/dts/allwinner/Makefile
index eebb5a0c873a..39af5ad94590 100644
--- a/arch/arm/boot/dts/allwinner/Makefile
+++ b/arch/arm/boot/dts/allwinner/Makefile
@@ -124,6 +124,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-a20-adb4006.dtb \
 	sun7i-a20-icnova-swac.dtb \
diff --git a/arch/arm/boot/dts/allwinner/sun7i-a20-itead-iteaduino-plus.dts b/arch/arm/boot/dts/allwinner/sun7i-a20-itead-iteaduino-plus.dts
new file mode 100644
index 000000000000..c9f9b0275381
--- /dev/null
+++ b/arch/arm/boot/dts/allwinner/sun7i-a20-itead-iteaduino-plus.dts
@@ -0,0 +1,104 @@
+// SPDX-License-Identifier: (GPL-2.0+ or MIT)
+
+/dts-v1/;
+#include "sun7i-a20.dtsi"
+#include "sunxi-itead-core-common.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 = <&reg_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 = <&reg_vcc3v3>;
+	bus-width = <4>;
+	cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
+	status = "okay";
+};
+
+&otg_sram {
+	status = "okay";
+};
+
+&reg_ahci_5v {
+	status = "okay";
+};
+
+&reg_usb0_vbus {
+	status = "okay";
+};
+
+&usb_otg {
+	status = "okay";
+	dr_mode = "host";
+};
+
+&usbphy {
+	usb0_vbus-supply = <&reg_usb0_vbus>;
+};
--
2.42.0
Re: [PATCH v4 1/2] ARM: dts: sun7i: Add Iteaduino Plus A20
Posted by Jernej Škrabec 2 years, 3 months ago
Dne petek, 06. oktober 2023 ob 11:01:30 CEST je Julian Ribbeck napisal(a):
> 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@gmx.de>
> ---
>  arch/arm/boot/dts/allwinner/Makefile          |   1 +
>  .../sun7i-a20-itead-iteaduino-plus.dts        | 104 ++++++++++++++++++
>  2 files changed, 105 insertions(+)
>  create mode 100644 arch/arm/boot/dts/allwinner/sun7i-a20-itead-iteaduino-plus.dts
> 
> diff --git a/arch/arm/boot/dts/allwinner/Makefile b/arch/arm/boot/dts/allwinner/Makefile
> index eebb5a0c873a..39af5ad94590 100644
> --- a/arch/arm/boot/dts/allwinner/Makefile
> +++ b/arch/arm/boot/dts/allwinner/Makefile
> @@ -124,6 +124,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 \

This should be .dtb.

Other than that:
Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>

I'll fix it while applying.

For future reference, please follow proper patch submission procedure:
- each revision should be sent in separate thread
- each new revision should contain changelog, either in cover letter (when
there is more than one patch) or below --- line in each patch
- compatible description patch comes before first usage (I'll invert order
when applying)

Best regards,
Jernej

>  	sun7i-a20-i12-tvbox.dtb \
>  	sun7i-a20-icnova-a20-adb4006.dtb \
>  	sun7i-a20-icnova-swac.dtb \
> diff --git a/arch/arm/boot/dts/allwinner/sun7i-a20-itead-iteaduino-plus.dts b/arch/arm/boot/dts/allwinner/sun7i-a20-itead-iteaduino-plus.dts
> new file mode 100644
> index 000000000000..c9f9b0275381
> --- /dev/null
> +++ b/arch/arm/boot/dts/allwinner/sun7i-a20-itead-iteaduino-plus.dts
> @@ -0,0 +1,104 @@
> +// SPDX-License-Identifier: (GPL-2.0+ or MIT)
> +
> +/dts-v1/;
> +#include "sun7i-a20.dtsi"
> +#include "sunxi-itead-core-common.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 = <&reg_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 = <&reg_vcc3v3>;
> +	bus-width = <4>;
> +	cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
> +	status = "okay";
> +};
> +
> +&otg_sram {
> +	status = "okay";
> +};
> +
> +&reg_ahci_5v {
> +	status = "okay";
> +};
> +
> +&reg_usb0_vbus {
> +	status = "okay";
> +};
> +
> +&usb_otg {
> +	status = "okay";
> +	dr_mode = "host";
> +};
> +
> +&usbphy {
> +	usb0_vbus-supply = <&reg_usb0_vbus>;
> +};
> --
> 2.42.0
> 
>
Re: [PATCH v4 1/2] ARM: dts: sun7i: Add Iteaduino Plus A20
Posted by Jernej Škrabec 2 years, 3 months ago
Dne petek, 13. oktober 2023 ob 21:18:00 CEST je Jernej Škrabec napisal(a):
> Dne petek, 06. oktober 2023 ob 11:01:30 CEST je Julian Ribbeck napisal(a):
> > 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@gmx.de>
> > ---
> >  arch/arm/boot/dts/allwinner/Makefile          |   1 +
> >  .../sun7i-a20-itead-iteaduino-plus.dts        | 104 ++++++++++++++++++
> >  2 files changed, 105 insertions(+)
> >  create mode 100644 arch/arm/boot/dts/allwinner/sun7i-a20-itead-iteaduino-plus.dts
> > 
> > diff --git a/arch/arm/boot/dts/allwinner/Makefile b/arch/arm/boot/dts/allwinner/Makefile
> > index eebb5a0c873a..39af5ad94590 100644
> > --- a/arch/arm/boot/dts/allwinner/Makefile
> > +++ b/arch/arm/boot/dts/allwinner/Makefile
> > @@ -124,6 +124,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 \
> 
> This should be .dtb.
> 
> Other than that:
> Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>
> 
> I'll fix it while applying.
> 
> For future reference, please follow proper patch submission procedure:
> - each revision should be sent in separate thread
> - each new revision should contain changelog, either in cover letter (when
> there is more than one patch) or below --- line in each patch
> - compatible description patch comes before first usage (I'll invert order
> when applying)

Sorry, I won't apply it as yet. How was this tested if it didn't even built due
to mistake in Makefile?

Best regards,
Jernej

> 
> Best regards,
> Jernej
> 
> >  	sun7i-a20-i12-tvbox.dtb \
> >  	sun7i-a20-icnova-a20-adb4006.dtb \
> >  	sun7i-a20-icnova-swac.dtb \
> > diff --git a/arch/arm/boot/dts/allwinner/sun7i-a20-itead-iteaduino-plus.dts b/arch/arm/boot/dts/allwinner/sun7i-a20-itead-iteaduino-plus.dts
> > new file mode 100644
> > index 000000000000..c9f9b0275381
> > --- /dev/null
> > +++ b/arch/arm/boot/dts/allwinner/sun7i-a20-itead-iteaduino-plus.dts
> > @@ -0,0 +1,104 @@
> > +// SPDX-License-Identifier: (GPL-2.0+ or MIT)
> > +
> > +/dts-v1/;
> > +#include "sun7i-a20.dtsi"
> > +#include "sunxi-itead-core-common.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 = <&reg_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 = <&reg_vcc3v3>;
> > +	bus-width = <4>;
> > +	cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
> > +	status = "okay";
> > +};
> > +
> > +&otg_sram {
> > +	status = "okay";
> > +};
> > +
> > +&reg_ahci_5v {
> > +	status = "okay";
> > +};
> > +
> > +&reg_usb0_vbus {
> > +	status = "okay";
> > +};
> > +
> > +&usb_otg {
> > +	status = "okay";
> > +	dr_mode = "host";
> > +};
> > +
> > +&usbphy {
> > +	usb0_vbus-supply = <&reg_usb0_vbus>;
> > +};
> > --
> > 2.42.0
> > 
> > 
> 
> 
> 
> 
> 
[PATCH v4 2/2] dt-bindings: arm: sunxi: Add itead,iteaduino-plus-a20
Posted by Julian Ribbeck 2 years, 4 months ago
Add itead,iteaduino-plus-a20 bindings

Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Julian Ribbeck <julian.ribbeck@gmx.de>
---
 Documentation/devicetree/bindings/arm/sunxi.yaml | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/Documentation/devicetree/bindings/arm/sunxi.yaml b/Documentation/devicetree/bindings/arm/sunxi.yaml
index e4dd678f4212..25251ce4b60d 100644
--- a/Documentation/devicetree/bindings/arm/sunxi.yaml
+++ b/Documentation/devicetree/bindings/arm/sunxi.yaml
@@ -362,6 +362,11 @@ properties:
           - const: itead,iteaduino-plus-a10
           - const: allwinner,sun4i-a10

+      - description: Itead Iteaduino Plus A20
+        items:
+          - const: itead,iteaduino-plus-a20
+          - const: allwinner,sun7i-a20
+
       - description: Jesurun Q5
         items:
           - const: jesurun,q5
--
2.42.0
[PATCH v2 2/2] dt-bindings: arm: sunxi: Add itead,iteaduino-plus-a20
Posted by Julian Ribbeck 2 years, 7 months ago
Add itead,iteaduino-plus-a20 bindings

Signed-off-by: Julian Ribbeck <julian.ribbeck@gmx.de>
---
 Documentation/devicetree/bindings/arm/sunxi.yaml | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/Documentation/devicetree/bindings/arm/sunxi.yaml b/Documentation/devicetree/bindings/arm/sunxi.yaml
index 013821f4a7b8..aaa9a96736b7 100644
--- a/Documentation/devicetree/bindings/arm/sunxi.yaml
+++ b/Documentation/devicetree/bindings/arm/sunxi.yaml
@@ -356,6 +356,11 @@ properties:
           - const: itead,iteaduino-plus-a10
           - const: allwinner,sun4i-a10

+      - description: Itead Iteaduino Plus A20
+        items:
+          - const: itead,iteaduino-plus-a20
+          - const: allwinner,sun7i-a20
+
       - description: Jesurun Q5
         items:
           - const: jesurun,q5
--
2.41.0
Re: [PATCH v2 2/2] dt-bindings: arm: sunxi: Add itead,iteaduino-plus-a20
Posted by Samuel Holland 2 years, 4 months ago
On 6/17/23 15:55, Julian Ribbeck wrote:
> Add itead,iteaduino-plus-a20 bindings
> 
> Signed-off-by: Julian Ribbeck <julian.ribbeck@gmx.de>
> ---
>  Documentation/devicetree/bindings/arm/sunxi.yaml | 5 +++++
>  1 file changed, 5 insertions(+)

Reviewed-by: Samuel Holland <samuel@sholland.org>
Re: [PATCH v2 2/2] dt-bindings: arm: sunxi: Add itead,iteaduino-plus-a20
Posted by Krzysztof Kozlowski 2 years, 7 months ago
On 17/06/2023 22:55, Julian Ribbeck wrote:
> Add itead,iteaduino-plus-a20 bindings
> 
> Signed-off-by: Julian Ribbeck <julian.ribbeck@gmx.de>
> ---

Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

Best regards,
Krzysztof
Re: [PATCH v2 2/2] dt-bindings: arm: sunxi: Add itead,iteaduino-plus-a20
Posted by Julian Ribbeck 2 years, 4 months ago
Hi,

I'm not totally familiar with the process here, but it seems like my
patch was kind of forgotten? What should I do now? Is anything still
missing?

Greetings
Julian

On Sun Jun 18, 2023 at 10:00 AM CEST, Krzysztof Kozlowski wrote:
> On 17/06/2023 22:55, Julian Ribbeck wrote:
> > Add itead,iteaduino-plus-a20 bindings
> > 
> > Signed-off-by: Julian Ribbeck <julian.ribbeck@gmx.de>
> > ---
>
> Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
>
> Best regards,
> Krzysztof
Re: [PATCH v2 2/2] dt-bindings: arm: sunxi: Add itead,iteaduino-plus-a20
Posted by Krzysztof Kozlowski 2 years, 4 months ago
On 27/09/2023 11:38, Julian Ribbeck wrote:
> Hi,
> 
> I'm not totally familiar with the process here, but it seems like my
> patch was kind of forgotten? What should I do now? Is anything still
> missing?

Cc-ing maintainers is missing. Don't expect people you do no CC, to
magically pick up patches. :/

Best regards,
Krzysztof
Re: [PATCH v2 2/2] dt-bindings: arm: sunxi: Add itead,iteaduino-plus-a20
Posted by Conor Dooley 2 years, 4 months ago
On Wed, Sep 27, 2023 at 11:38:35AM +0200, Julian Ribbeck wrote:

> On Sun Jun 18, 2023 at 10:00 AM CEST, Krzysztof Kozlowski wrote:
> > On 17/06/2023 22:55, Julian Ribbeck wrote:
> > > Add itead,iteaduino-plus-a20 bindings
> > > 
> > > Signed-off-by: Julian Ribbeck <julian.ribbeck@gmx.de>
> > > ---
> >
> > Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

> I'm not totally familiar with the process here, but it seems like my
> patch was kind of forgotten? What should I do now? Is anything still
> missing?

Usually what you would do is CC the maintainers of the sunxi platform,
and they would apply the patches, although you don't seem to have done so.
Sending another version with them on CC is a good idea. That means, send
both this and the dts patch as a series (with this patch as 1/2).