Re: [PATCH v2 1/2] ARM: dts: sun7i: Add Iteaduino Plus A20

From: Samuel Holland
Date: Wed Sep 27 2023 - 17:20:02 EST


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

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
>