From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 42BBBC433EF for ; Fri, 6 May 2022 00:40:30 +0000 (UTC) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 61B2084197; Fri, 6 May 2022 02:40:19 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=arm.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Received: by phobos.denx.de (Postfix, from userid 109) id 602B28417E; Fri, 6 May 2022 02:40:14 +0200 (CEST) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by phobos.denx.de (Postfix) with ESMTP id 8C73684093 for ; Fri, 6 May 2022 02:40:00 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=andre.przywara@arm.com Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id CAA961063; Thu, 5 May 2022 17:39:59 -0700 (PDT) Received: from slackpad.lan (unknown [172.31.20.19]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id D0C6C3FA31; Thu, 5 May 2022 17:39:58 -0700 (PDT) Date: Fri, 6 May 2022 01:39:36 +0100 From: Andre Przywara To: Samuel Holland Cc: u-boot@lists.denx.de, Jagan Teki , Tom Rini Subject: Re: [PATCH 03/12] ARM: dts: sun4i: Sync from Linux v5.18-rc1 Message-ID: <20220506013936.0353a9fb@slackpad.lan> In-Reply-To: <20220427203132.47271-4-samuel@sholland.org> References: <20220427203132.47271-1-samuel@sholland.org> <20220427203132.47271-4-samuel@sholland.org> Organization: Arm Ltd. X-Mailer: Claws Mail 4.1.0 (GTK 3.24.31; x86_64-slackware-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.5 at phobos.denx.de X-Virus-Status: Clean On Wed, 27 Apr 2022 15:31:22 -0500 Samuel Holland wrote: > Copy the devicetree source for the A10 SoC and all existing boards > verbatim from the Linux v5.18-rc1 tag. >=20 > This commit also adds the following new board devicetree: > - sun4i-a10-topwise-a721.dts >=20 > While this update should not impact any existing U-Boot functionality, > the changes to the USB PHY detection GPIO properties are needed to > convert that driver to use the DM GPIO framework. Interestingly Patchwork missed this patch, and saving it from my client messed up the ISO8859/1 -> UTF8 conversion at the very top of sun4i-a10-inet97fv2.dts. But I managed to fix that up manually. Other than that there is indeed no diff compared to the kernel. > Signed-off-by: Samuel Holland Reviewed-by: Andre Przywara Cheers, Andre > --- >=20 > arch/arm/dts/Makefile | 3 +- > arch/arm/dts/axp209.dtsi | 6 +- > arch/arm/dts/sun4i-a10-a1000.dts | 31 ++- > arch/arm/dts/sun4i-a10-ba10-tvbox.dts | 2 +- > arch/arm/dts/sun4i-a10-chuwi-v7-cw0825.dts | 20 +- > arch/arm/dts/sun4i-a10-cubieboard.dts | 16 +- > arch/arm/dts/sun4i-a10-dserve-dsrv9703c.dts | 21 +- > arch/arm/dts/sun4i-a10-hackberry.dts | 2 +- > arch/arm/dts/sun4i-a10-hyundai-a7hd.dts | 20 +- > arch/arm/dts/sun4i-a10-inet1.dts | 21 +- > arch/arm/dts/sun4i-a10-inet97fv2.dts | 22 +- > arch/arm/dts/sun4i-a10-inet9f-rev03.dts | 74 ++---- > .../dts/sun4i-a10-itead-iteaduino-plus.dts | 2 +- > arch/arm/dts/sun4i-a10-jesurun-q5.dts | 4 +- > arch/arm/dts/sun4i-a10-marsboard.dts | 22 +- > arch/arm/dts/sun4i-a10-olinuxino-lime.dts | 33 +-- > arch/arm/dts/sun4i-a10-pcduino.dts | 20 +- > arch/arm/dts/sun4i-a10-pov-protab2-ips9.dts | 21 +- > arch/arm/dts/sun4i-a10-topwise-a721.dts | 242 ++++++++++++++++++ > arch/arm/dts/sun4i-a10.dtsi | 135 +++++++++- > 20 files changed, 462 insertions(+), 255 deletions(-) > create mode 100644 arch/arm/dts/sun4i-a10-topwise-a721.dts >=20 > diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile > index ab2d0da192..48ede8888e 100644 > --- a/arch/arm/dts/Makefile > +++ b/arch/arm/dts/Makefile > @@ -539,7 +539,8 @@ dtb-$(CONFIG_MACH_SUN4I) +=3D \ > sun4i-a10-olinuxino-lime.dtb \ > sun4i-a10-pcduino.dtb \ > sun4i-a10-pcduino2.dtb \ > - sun4i-a10-pov-protab2-ips9.dtb > + sun4i-a10-pov-protab2-ips9.dtb \ > + sun4i-a10-topwise-a721.dtb > dtb-$(CONFIG_MACH_SUN5I) +=3D \ > sun5i-a10s-auxtek-t003.dtb \ > sun5i-a10s-auxtek-t004.dtb \ > diff --git a/arch/arm/dts/axp209.dtsi b/arch/arm/dts/axp209.dtsi > index 0d9ff12bdf..ca240cd6f6 100644 > --- a/arch/arm/dts/axp209.dtsi > +++ b/arch/arm/dts/axp209.dtsi > @@ -53,7 +53,7 @@ > interrupt-controller; > #interrupt-cells =3D <1>; > =20 > - ac_power_supply: ac-power-supply { > + ac_power_supply: ac-power { > compatible =3D "x-powers,axp202-ac-power-supply"; > status =3D "disabled"; > }; > @@ -69,7 +69,7 @@ > #gpio-cells =3D <2>; > }; > =20 > - battery_power_supply: battery-power-supply { > + battery_power_supply: battery-power { > compatible =3D "x-powers,axp209-battery-power-supply"; > status =3D "disabled"; > }; > @@ -112,7 +112,7 @@ > }; > }; > =20 > - usb_power_supply: usb-power-supply { > + usb_power_supply: usb-power { > compatible =3D "x-powers,axp202-usb-power-supply"; > status =3D "disabled"; > }; > diff --git a/arch/arm/dts/sun4i-a10-a1000.dts b/arch/arm/dts/sun4i-a10-a1= 000.dts > index 6c254ec4c8..20f9ed2448 100644 > --- a/arch/arm/dts/sun4i-a10-a1000.dts > +++ b/arch/arm/dts/sun4i-a10-a1000.dts > @@ -60,15 +60,26 @@ > stdout-path =3D "serial0:115200n8"; > }; > =20 > + hdmi-connector { > + compatible =3D "hdmi-connector"; > + type =3D "a"; > + > + port { > + hdmi_con_in: endpoint { > + remote-endpoint =3D <&hdmi_out_con>; > + }; > + }; > + }; > + > leds { > compatible =3D "gpio-leds"; > =20 > - red { > + led-0 { > label =3D "a1000:red:usr"; > gpios =3D <&pio 7 10 GPIO_ACTIVE_HIGH>; > }; > =20 > - blue { > + led-1 { > label =3D "a1000:blue:pwr"; > gpios =3D <&pio 7 20 GPIO_ACTIVE_HIGH>; > default-state =3D "on"; > @@ -125,7 +136,7 @@ > }; > =20 > &emac { > - phy =3D <&phy1>; > + phy-handle =3D <&phy1>; > status =3D "okay"; > }; > =20 > @@ -133,6 +144,20 @@ > status =3D "okay"; > }; > =20 > +&de { > + status =3D "okay"; > +}; > + > +&hdmi { > + status =3D "okay"; > +}; > + > +&hdmi_out { > + hdmi_out_con: endpoint { > + remote-endpoint =3D <&hdmi_con_in>; > + }; > +}; > + > &i2c0 { > status =3D "okay"; > =20 > diff --git a/arch/arm/dts/sun4i-a10-ba10-tvbox.dts b/arch/arm/dts/sun4i-a= 10-ba10-tvbox.dts > index 38a2c41349..816d534ac0 100644 > --- a/arch/arm/dts/sun4i-a10-ba10-tvbox.dts > +++ b/arch/arm/dts/sun4i-a10-ba10-tvbox.dts > @@ -68,7 +68,7 @@ > }; > =20 > &emac { > - phy =3D <&phy1>; > + phy-handle =3D <&phy1>; > status =3D "okay"; > }; > =20 > diff --git a/arch/arm/dts/sun4i-a10-chuwi-v7-cw0825.dts b/arch/arm/dts/su= n4i-a10-chuwi-v7-cw0825.dts > index cf7b392dff..7426298888 100644 > --- a/arch/arm/dts/sun4i-a10-chuwi-v7-cw0825.dts > +++ b/arch/arm/dts/sun4i-a10-chuwi-v7-cw0825.dts > @@ -131,20 +131,6 @@ > status =3D "okay"; > }; > =20 > -&pio { > - usb0_id_detect_pin: usb0-id-detect-pin { > - pins =3D "PH4"; > - function =3D "gpio_in"; > - bias-pull-up; > - }; > - > - usb0_vbus_detect_pin: usb0-vbus-detect-pin { > - pins =3D "PH5"; > - function =3D "gpio_in"; > - bias-pull-down; > - }; > -}; > - > ®_usb0_vbus { > status =3D "okay"; > }; > @@ -165,10 +151,8 @@ > }; > =20 > &usbphy { > - pinctrl-names =3D "default"; > - pinctrl-0 =3D <&usb0_id_detect_pin>, <&usb0_vbus_detect_pin>; > - usb0_id_det-gpio =3D <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */ > - usb0_vbus_det-gpio =3D <&pio 7 5 GPIO_ACTIVE_HIGH>; /* PH5 */ > + usb0_id_det-gpios =3D <&pio 7 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* = PH4 */ > + usb0_vbus_det-gpios =3D <&pio 7 5 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>;= /* PH5 */ > usb0_vbus-supply =3D <®_usb0_vbus>; > usb2_vbus-supply =3D <®_usb2_vbus>; > status =3D "okay"; > diff --git a/arch/arm/dts/sun4i-a10-cubieboard.dts b/arch/arm/dts/sun4i-a= 10-cubieboard.dts > index 197a1f2b75..0645d60642 100644 > --- a/arch/arm/dts/sun4i-a10-cubieboard.dts > +++ b/arch/arm/dts/sun4i-a10-cubieboard.dts > @@ -75,12 +75,12 @@ > pinctrl-names =3D "default"; > pinctrl-0 =3D <&led_pins_cubieboard>; > =20 > - blue { > + led-0 { > label =3D "cubieboard:blue:usr"; > gpios =3D <&pio 7 21 GPIO_ACTIVE_HIGH>; /* LED1 */ > }; > =20 > - green { > + led-1 { > label =3D "cubieboard:green:usr"; > gpios =3D <&pio 7 20 GPIO_ACTIVE_HIGH>; /* LED2 */ > linux,default-trigger =3D "heartbeat"; > @@ -114,7 +114,7 @@ > }; > =20 > &emac { > - phy =3D <&phy1>; > + phy-handle =3D <&phy1>; > status =3D "okay"; > }; > =20 > @@ -184,12 +184,6 @@ > function =3D "gpio_out"; > drive-strength =3D <20>; > }; > - > - usb0_id_detect_pin: usb0-id-detect-pin { > - pins =3D "PH4"; > - function =3D "gpio_in"; > - bias-pull-up; > - }; > }; > =20 > ®_ahci_5v { > @@ -254,9 +248,7 @@ > }; > =20 > &usbphy { > - pinctrl-names =3D "default"; > - pinctrl-0 =3D <&usb0_id_detect_pin>; > - usb0_id_det-gpio =3D <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */ > + usb0_id_det-gpios =3D <&pio 7 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* = PH4 */ > usb1_vbus-supply =3D <®_usb1_vbus>; > usb2_vbus-supply =3D <®_usb2_vbus>; > status =3D "okay"; > diff --git a/arch/arm/dts/sun4i-a10-dserve-dsrv9703c.dts b/arch/arm/dts/s= un4i-a10-dserve-dsrv9703c.dts > index 896e27a087..63e77c05bf 100644 > --- a/arch/arm/dts/sun4i-a10-dserve-dsrv9703c.dts > +++ b/arch/arm/dts/sun4i-a10-dserve-dsrv9703c.dts > @@ -62,6 +62,7 @@ > brightness-levels =3D <0 10 20 30 40 50 60 70 80 90 100>; > default-brightness-level =3D <8>; > enable-gpios =3D <&pio 7 7 GPIO_ACTIVE_HIGH>; /* PH7 */ > + power-supply =3D <®_vcc3v3>; > }; > =20 > chosen { > @@ -158,20 +159,6 @@ > status =3D "okay"; > }; > =20 > -&pio { > - usb0_id_detect_pin: usb0-id-detect-pin { > - pins =3D "PH4"; > - function =3D "gpio_in"; > - bias-pull-up; > - }; > - > - usb0_vbus_detect_pin: usb0-vbus-detect-pin { > - pins =3D "PH5"; > - function =3D "gpio_in"; > - bias-pull-down; > - }; > -}; > - > &pwm { > pinctrl-names =3D "default"; > pinctrl-0 =3D <&pwm0_pin>; > @@ -223,10 +210,8 @@ > }; > =20 > &usbphy { > - pinctrl-names =3D "default"; > - pinctrl-0 =3D <&usb0_id_detect_pin>, <&usb0_vbus_detect_pin>; > - usb0_id_det-gpio =3D <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */ > - usb0_vbus_det-gpio =3D <&pio 7 5 GPIO_ACTIVE_HIGH>; /* PH5 */ > + usb0_id_det-gpios =3D <&pio 7 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* = PH4 */ > + usb0_vbus_det-gpios =3D <&pio 7 5 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>;= /* PH5 */ > usb0_vbus-supply =3D <®_usb0_vbus>; > usb2_vbus-supply =3D <®_usb2_vbus>; > status =3D "okay"; > diff --git a/arch/arm/dts/sun4i-a10-hackberry.dts b/arch/arm/dts/sun4i-a1= 0-hackberry.dts > index cc988ccd5c..47dea09225 100644 > --- a/arch/arm/dts/sun4i-a10-hackberry.dts > +++ b/arch/arm/dts/sun4i-a10-hackberry.dts > @@ -80,7 +80,7 @@ > }; > =20 > &emac { > - phy =3D <&phy0>; > + phy-handle =3D <&phy0>; > status =3D "okay"; > }; > =20 > diff --git a/arch/arm/dts/sun4i-a10-hyundai-a7hd.dts b/arch/arm/dts/sun4i= -a10-hyundai-a7hd.dts > index f63767cddd..bf2044bac4 100644 > --- a/arch/arm/dts/sun4i-a10-hyundai-a7hd.dts > +++ b/arch/arm/dts/sun4i-a10-hyundai-a7hd.dts > @@ -86,20 +86,6 @@ > status =3D "okay"; > }; > =20 > -&pio { > - usb0_id_detect_pin: usb0-id-detect-pin { > - pins =3D "PH4"; > - function =3D "gpio_in"; > - bias-pull-up; > - }; > - > - usb0_vbus_detect_pin: usb0-vbus-detect-pin { > - pins =3D "PH5"; > - function =3D "gpio_in"; > - bias-pull-down; > - }; > -}; > - > ®_usb0_vbus { > status =3D "okay"; > }; > @@ -121,10 +107,8 @@ > }; > =20 > &usbphy { > - pinctrl-names =3D "default"; > - pinctrl-0 =3D <&usb0_id_detect_pin>, <&usb0_vbus_detect_pin>; > - usb0_id_det-gpio =3D <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */ > - usb0_vbus_det-gpio =3D <&pio 7 5 GPIO_ACTIVE_HIGH>; /* PH5 */ > + usb0_id_det-gpios =3D <&pio 7 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* = PH4 */ > + usb0_vbus_det-gpios =3D <&pio 7 5 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>;= /* PH5 */ > usb0_vbus-supply =3D <®_usb0_vbus>; > usb2_vbus-supply =3D <®_usb2_vbus>; > status =3D "okay"; > diff --git a/arch/arm/dts/sun4i-a10-inet1.dts b/arch/arm/dts/sun4i-a10-in= et1.dts > index 26d0c1d6a0..60e432a0ef 100644 > --- a/arch/arm/dts/sun4i-a10-inet1.dts > +++ b/arch/arm/dts/sun4i-a10-inet1.dts > @@ -62,6 +62,7 @@ > brightness-levels =3D <0 10 20 30 40 50 60 70 80 90 100>; > default-brightness-level =3D <8>; > enable-gpios =3D <&pio 7 7 GPIO_ACTIVE_HIGH>; /* PH7 */ > + power-supply =3D <®_vcc3v3>; > }; > =20 > chosen { > @@ -164,20 +165,6 @@ > status =3D "okay"; > }; > =20 > -&pio { > - usb0_id_detect_pin: usb0-id-detect-pin { > - pins =3D "PH4"; > - function =3D "gpio_in"; > - bias-pull-up; > - }; > - > - usb0_vbus_detect_pin: usb0-vbus-detect-pin { > - pins =3D "PH5"; > - function =3D "gpio_in"; > - bias-pull-down; > - }; > -}; > - > &pwm { > pinctrl-names =3D "default"; > pinctrl-0 =3D <&pwm0_pin>; > @@ -233,10 +220,8 @@ > }; > =20 > &usbphy { > - pinctrl-names =3D "default"; > - pinctrl-0 =3D <&usb0_id_detect_pin>, <&usb0_vbus_detect_pin>; > - usb0_id_det-gpio =3D <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */ > - usb0_vbus_det-gpio =3D <&pio 7 5 GPIO_ACTIVE_HIGH>; /* PH5 */ > + usb0_id_det-gpios =3D <&pio 7 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* = PH4 */ > + usb0_vbus_det-gpios =3D <&pio 7 5 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>;= /* PH5 */ > usb0_vbus-supply =3D <®_usb0_vbus>; > usb1_vbus-supply =3D <®_usb1_vbus>; > usb2_vbus-supply =3D <®_usb2_vbus>; > diff --git a/arch/arm/dts/sun4i-a10-inet97fv2.dts b/arch/arm/dts/sun4i-a1= 0-inet97fv2.dts > index 5d096528e7..76016f2ca2 100644 > --- a/arch/arm/dts/sun4i-a10-inet97fv2.dts > +++ b/arch/arm/dts/sun4i-a10-inet97fv2.dts > @@ -1,7 +1,7 @@ > /* > * Copyright 2014 Open Source Support GmbH > * > - * David Lanzend=EF=BF=BDrfer > + * David Lanzend=C3=B6rfer > * > * This file is dual-licensed: you can use it either under the terms > * of the GPL or the X11 license, at your option. Note that this dual > @@ -150,20 +150,6 @@ > status =3D "okay"; > }; > =20 > -&pio { > - usb0_id_detect_pin: usb0-id-detect-pin { > - pins =3D "PH4"; > - function =3D "gpio_in"; > - bias-pull-up; > - }; > - > - usb0_vbus_detect_pin: usb0-vbus-detect-pin { > - pins =3D "PH5"; > - function =3D "gpio_in"; > - bias-pull-down; > - }; > -}; > - > ®_dcdc2 { > regulator-always-on; > regulator-min-microvolt =3D <1000000>; > @@ -209,10 +195,8 @@ > }; > =20 > &usbphy { > - pinctrl-names =3D "default"; > - pinctrl-0 =3D <&usb0_id_detect_pin>, <&usb0_vbus_detect_pin>; > - usb0_id_det-gpio =3D <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */ > - usb0_vbus_det-gpio =3D <&pio 7 5 GPIO_ACTIVE_HIGH>; /* PH5 */ > + usb0_id_det-gpios =3D <&pio 7 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* = PH4 */ > + usb0_vbus_det-gpios =3D <&pio 7 5 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>;= /* PH5 */ > usb0_vbus-supply =3D <®_usb0_vbus>; > usb2_vbus-supply =3D <®_usb2_vbus>; > status =3D "okay"; > diff --git a/arch/arm/dts/sun4i-a10-inet9f-rev03.dts b/arch/arm/dts/sun4i= -a10-inet9f-rev03.dts > index 221acd10f6..0a562b2cc5 100644 > --- a/arch/arm/dts/sun4i-a10-inet9f-rev03.dts > +++ b/arch/arm/dts/sun4i-a10-inet9f-rev03.dts > @@ -61,10 +61,6 @@ > =20 > gpio-keys { > compatible =3D "gpio-keys-polled"; > - pinctrl-names =3D "default"; > - pinctrl-0 =3D <&key_pins_inet9f>; > - #address-cells =3D <1>; > - #size-cells =3D <0>; > poll-interval =3D <20>; > =20 > left-joystick-left { > @@ -72,7 +68,7 @@ > linux,code =3D ; > linux,input-type =3D ; > linux,input-value =3D <0xffffffff>; /* -1 */ > - gpios =3D <&pio 0 6 GPIO_ACTIVE_LOW>; /* PA6 */ > + gpios =3D <&pio 0 6 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PA6 */ > }; > =20 > left-joystick-right { > @@ -80,7 +76,7 @@ > linux,code =3D ; > linux,input-type =3D ; > linux,input-value =3D <1>; > - gpios =3D <&pio 0 5 GPIO_ACTIVE_LOW>; /* PA5 */ > + gpios =3D <&pio 0 5 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PA5 */ > }; > =20 > left-joystick-up { > @@ -88,7 +84,7 @@ > linux,code =3D ; > linux,input-type =3D ; > linux,input-value =3D <0xffffffff>; /* -1 */ > - gpios =3D <&pio 0 8 GPIO_ACTIVE_LOW>; /* PA8 */ > + gpios =3D <&pio 0 8 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PA8 */ > }; > =20 > left-joystick-down { > @@ -96,7 +92,7 @@ > linux,code =3D ; > linux,input-type =3D ; > linux,input-value =3D <1>; > - gpios =3D <&pio 0 9 GPIO_ACTIVE_LOW>; /* PA9 */ > + gpios =3D <&pio 0 9 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PA9 */ > }; > =20 > right-joystick-left { > @@ -104,7 +100,7 @@ > linux,code =3D ; > linux,input-type =3D ; > linux,input-value =3D <0xffffffff>; /* -1 */ > - gpios =3D <&pio 0 1 GPIO_ACTIVE_LOW>; /* PA1 */ > + gpios =3D <&pio 0 1 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PA1 */ > }; > =20 > right-joystick-right { > @@ -112,7 +108,7 @@ > linux,code =3D ; > linux,input-type =3D ; > linux,input-value =3D <1>; > - gpios =3D <&pio 0 0 GPIO_ACTIVE_LOW>; /* PA0 */ > + gpios =3D <&pio 0 0 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PA0 */ > }; > =20 > right-joystick-up { > @@ -120,7 +116,7 @@ > linux,code =3D ; > linux,input-type =3D ; > linux,input-value =3D <0xffffffff>; /* -1 */ > - gpios =3D <&pio 0 3 GPIO_ACTIVE_LOW>; /* PA3 */ > + gpios =3D <&pio 0 3 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PA3 */ > }; > =20 > right-joystick-down { > @@ -128,7 +124,7 @@ > linux,code =3D ; > linux,input-type =3D ; > linux,input-value =3D <1>; > - gpios =3D <&pio 0 4 GPIO_ACTIVE_LOW>; /* PA4 */ > + gpios =3D <&pio 0 4 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PA4 */ > }; > =20 > dpad-left { > @@ -136,7 +132,7 @@ > linux,code =3D ; > linux,input-type =3D ; > linux,input-value =3D <0xffffffff>; /* -1 */ > - gpios =3D <&pio 7 23 GPIO_ACTIVE_LOW>; /* PH23 */ > + gpios =3D <&pio 7 23 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PH23 */ > }; > =20 > dpad-right { > @@ -144,7 +140,7 @@ > linux,code =3D ; > linux,input-type =3D ; > linux,input-value =3D <1>; > - gpios =3D <&pio 7 24 GPIO_ACTIVE_LOW>; /* PH24 */ > + gpios =3D <&pio 7 24 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PH24 */ > }; > =20 > dpad-up { > @@ -152,7 +148,7 @@ > linux,code =3D ; > linux,input-type =3D ; > linux,input-value =3D <0xffffffff>; /* -1 */ > - gpios =3D <&pio 7 25 GPIO_ACTIVE_LOW>; /* PH25 */ > + gpios =3D <&pio 7 25 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PH25 */ > }; > =20 > dpad-down { > @@ -160,55 +156,55 @@ > linux,code =3D ; > linux,input-type =3D ; > linux,input-value =3D <1>; > - gpios =3D <&pio 7 26 GPIO_ACTIVE_LOW>; /* PH26 */ > + gpios =3D <&pio 7 26 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PH26 */ > }; > =20 > x { > label =3D "Button X"; > linux,code =3D ; > - gpios =3D <&pio 0 16 GPIO_ACTIVE_LOW>; /* PA16 */ > + gpios =3D <&pio 0 16 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PA16 */ > }; > =20 > y { > label =3D "Button Y"; > linux,code =3D ; > - gpios =3D <&pio 0 14 GPIO_ACTIVE_LOW>; /* PA14 */ > + gpios =3D <&pio 0 14 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PA14 */ > }; > =20 > a { > label =3D "Button A"; > linux,code =3D ; > - gpios =3D <&pio 0 17 GPIO_ACTIVE_LOW>; /* PA17 */ > + gpios =3D <&pio 0 17 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PA17 */ > }; > =20 > b { > label =3D "Button B"; > linux,code =3D ; > - gpios =3D <&pio 0 15 GPIO_ACTIVE_LOW>; /* PA15 */ > + gpios =3D <&pio 0 15 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PA15 */ > }; > =20 > select { > label =3D "Select Button"; > linux,code =3D ; > - gpios =3D <&pio 0 11 GPIO_ACTIVE_LOW>; /* PA11 */ > + gpios =3D <&pio 0 11 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PA11 */ > }; > =20 > start { > label =3D "Start Button"; > linux,code =3D ; > - gpios =3D <&pio 0 12 GPIO_ACTIVE_LOW>; /* PA12 */ > + gpios =3D <&pio 0 12 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PA12 */ > }; > =20 > top-left { > label =3D "Top Left Button"; > linux,code =3D ; > - gpios =3D <&pio 7 22 GPIO_ACTIVE_LOW>; /* PH22 */ > + gpios =3D <&pio 7 22 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PH22 */ > }; > =20 > top-right { > label =3D "Top Right Button"; > linux,code =3D ; > - gpios =3D <&pio 0 13 GPIO_ACTIVE_LOW>; /* PA13 */ > + gpios =3D <&pio 0 13 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PA13 */ > }; > }; > }; > @@ -308,30 +304,6 @@ > status =3D "okay"; > }; > =20 > -&pio { > - key_pins_inet9f: key-pins { > - pins =3D "PA0", "PA1", "PA3", "PA4", > - "PA5", "PA6", "PA8", "PA9", > - "PA11", "PA12", "PA13", > - "PA14", "PA15", "PA16", "PA17", > - "PH22", "PH23", "PH24", "PH25", "PH26"; > - function =3D "gpio_in"; > - bias-pull-up; > - }; > - > - usb0_id_detect_pin: usb0-id-detect-pin { > - pins =3D "PH4"; > - function =3D "gpio_in"; > - bias-pull-up; > - }; > - > - usb0_vbus_detect_pin: usb0-vbus-detect-pin { > - pins =3D "PH5"; > - function =3D "gpio_in"; > - bias-pull-down; > - }; > -}; > - > ®_dcdc2 { > regulator-always-on; > regulator-min-microvolt =3D <1000000>; > @@ -377,10 +349,8 @@ > }; > =20 > &usbphy { > - pinctrl-names =3D "default"; > - pinctrl-0 =3D <&usb0_id_detect_pin>, <&usb0_vbus_detect_pin>; > - usb0_id_det-gpio =3D <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */ > - usb0_vbus_det-gpio =3D <&pio 7 5 GPIO_ACTIVE_HIGH>; /* PH5 */ > + usb0_id_det-gpios =3D <&pio 7 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* = PH4 */ > + usb0_vbus_det-gpios =3D <&pio 7 5 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>;= /* PH5 */ > usb0_vbus-supply =3D <®_usb0_vbus>; > usb2_vbus-supply =3D <®_usb2_vbus>; > status =3D "okay"; > diff --git a/arch/arm/dts/sun4i-a10-itead-iteaduino-plus.dts b/arch/arm/d= ts/sun4i-a10-itead-iteaduino-plus.dts > index 80ecd78247..d4e319d16a 100644 > --- a/arch/arm/dts/sun4i-a10-itead-iteaduino-plus.dts > +++ b/arch/arm/dts/sun4i-a10-itead-iteaduino-plus.dts > @@ -58,7 +58,7 @@ > &emac { > pinctrl-names =3D "default"; > pinctrl-0 =3D <&emac_pins>; > - phy =3D <&phy1>; > + phy-handle =3D <&phy1>; > status =3D "okay"; > }; > =20 > diff --git a/arch/arm/dts/sun4i-a10-jesurun-q5.dts b/arch/arm/dts/sun4i-a= 10-jesurun-q5.dts > index 247fa27ef7..1aeb0bd551 100644 > --- a/arch/arm/dts/sun4i-a10-jesurun-q5.dts > +++ b/arch/arm/dts/sun4i-a10-jesurun-q5.dts > @@ -63,7 +63,7 @@ > leds { > compatible =3D "gpio-leds"; > =20 > - green { > + led { > label =3D "q5:green:usr"; > gpios =3D <&pio 7 20 GPIO_ACTIVE_HIGH>; /* PH20 */ > }; > @@ -94,7 +94,7 @@ > }; > =20 > &emac { > - phy =3D <&phy1>; > + phy-handle =3D <&phy1>; > status =3D "okay"; > }; > =20 > diff --git a/arch/arm/dts/sun4i-a10-marsboard.dts b/arch/arm/dts/sun4i-a1= 0-marsboard.dts > index 0dbf695765..81fdb217d3 100644 > --- a/arch/arm/dts/sun4i-a10-marsboard.dts > +++ b/arch/arm/dts/sun4i-a10-marsboard.dts > @@ -62,22 +62,22 @@ > leds { > compatible =3D "gpio-leds"; > =20 > - red1 { > + led-0 { > label =3D "marsboard:red1:usr"; > gpios =3D <&pio 1 5 GPIO_ACTIVE_HIGH>; > }; > =20 > - red2 { > + led-1 { > label =3D "marsboard:red2:usr"; > gpios =3D <&pio 1 6 GPIO_ACTIVE_HIGH>; > }; > =20 > - red3 { > + led-2 { > label =3D "marsboard:red3:usr"; > gpios =3D <&pio 1 7 GPIO_ACTIVE_HIGH>; > }; > =20 > - red4 { > + led-3 { > label =3D "marsboard:red4:usr"; > gpios =3D <&pio 1 8 GPIO_ACTIVE_HIGH>; > }; > @@ -105,7 +105,7 @@ > }; > =20 > &emac { > - phy =3D <&phy1>; > + phy-handle =3D <&phy1>; > status =3D "okay"; > }; > =20 > @@ -148,14 +148,6 @@ > status =3D "okay"; > }; > =20 > -&pio { > - usb0_id_detect_pin: usb0-id-detect-pin { > - pins =3D "PH4"; > - function =3D "gpio_in"; > - bias-pull-up; > - }; > -}; > - > ®_usb1_vbus { > status =3D "okay"; > }; > @@ -183,9 +175,7 @@ > }; > =20 > &usbphy { > - pinctrl-names =3D "default"; > - pinctrl-0 =3D <&usb0_id_detect_pin>; > - usb0_id_det-gpio =3D <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */ > + usb0_id_det-gpios =3D <&pio 7 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* = PH4 */ > usb1_vbus-supply =3D <®_usb1_vbus>; > usb2_vbus-supply =3D <®_usb2_vbus>; > status =3D "okay"; > diff --git a/arch/arm/dts/sun4i-a10-olinuxino-lime.dts b/arch/arm/dts/sun= 4i-a10-olinuxino-lime.dts > index b74a614965..83d283cf66 100644 > --- a/arch/arm/dts/sun4i-a10-olinuxino-lime.dts > +++ b/arch/arm/dts/sun4i-a10-olinuxino-lime.dts > @@ -74,7 +74,7 @@ > pinctrl-names =3D "default"; > pinctrl-0 =3D <&led_pins_olinuxinolime>; > =20 > - green { > + led { > label =3D "a10-olinuxino-lime:green:usr"; > gpios =3D <&pio 7 2 GPIO_ACTIVE_HIGH>; > default-state =3D "on"; > @@ -91,12 +91,11 @@ > /* > * The A10-Lime is known to be unstable when running at 1008 MHz > */ > - operating-points =3D < > - /* kHz uV */ > - 912000 1350000 > - 864000 1300000 > - 624000 1250000 > - >; =20 > + operating-points =3D > + /* kHz uV */ > + <912000 1350000>, > + <864000 1300000>, > + <624000 1250000>; > }; > =20 > &de { > @@ -112,7 +111,7 @@ > }; > =20 > &emac { > - phy =3D <&phy1>; > + phy-handle =3D <&phy1>; > status =3D "okay"; > }; > =20 > @@ -186,18 +185,6 @@ > function =3D "gpio_out"; > drive-strength =3D <20>; > }; > - > - usb0_id_detect_pin: usb0-id-detect-pin { > - pins =3D "PH4"; > - function =3D "gpio_in"; > - bias-pull-up; > - }; > - > - usb0_vbus_detect_pin: usb0-vbus-detect-pin { > - pins =3D "PH5"; > - function =3D "gpio_in"; > - bias-pull-down; > - }; > }; > =20 > ®_ahci_5v { > @@ -229,10 +216,8 @@ > }; > =20 > &usbphy { > - pinctrl-names =3D "default"; > - pinctrl-0 =3D <&usb0_id_detect_pin>, <&usb0_vbus_detect_pin>; > - usb0_id_det-gpio =3D <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */ > - usb0_vbus_det-gpio =3D <&pio 7 5 GPIO_ACTIVE_HIGH>; /* PH5 */ > + usb0_id_det-gpios =3D <&pio 7 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* = PH4 */ > + usb0_vbus_det-gpios =3D <&pio 7 5 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /= * PH5 */ > usb0_vbus-supply =3D <®_usb0_vbus>; > usb1_vbus-supply =3D <®_usb1_vbus>; > usb2_vbus-supply =3D <®_usb2_vbus>; > diff --git a/arch/arm/dts/sun4i-a10-pcduino.dts b/arch/arm/dts/sun4i-a10-= pcduino.dts > index b97a0f2f20..1ac82376ba 100644 > --- a/arch/arm/dts/sun4i-a10-pcduino.dts > +++ b/arch/arm/dts/sun4i-a10-pcduino.dts > @@ -63,12 +63,12 @@ > leds { > compatible =3D "gpio-leds"; > =20 > - tx { > + led-0 { > label =3D "pcduino:green:tx"; > gpios =3D <&pio 7 15 GPIO_ACTIVE_LOW>; > }; > =20 > - rx { > + led-1 { > label =3D "pcduino:green:rx"; > gpios =3D <&pio 7 16 GPIO_ACTIVE_LOW>; > }; > @@ -76,8 +76,6 @@ > =20 > gpio-keys { > compatible =3D "gpio-keys"; > - #address-cells =3D <1>; > - #size-cells =3D <0>; > =20 > back { > label =3D "Key Back"; > @@ -112,7 +110,7 @@ > }; > =20 > &emac { > - phy =3D <&phy1>; > + phy-handle =3D <&phy1>; > status =3D "okay"; > }; > =20 > @@ -156,14 +154,6 @@ > status =3D "okay"; > }; > =20 > -&pio { > - usb0_id_detect_pin: usb0-id-detect-pin { > - pins =3D "PH4"; > - function =3D "gpio_in"; > - bias-pull-up; > - }; > -}; > - > #include "axp209.dtsi" > =20 > ®_dcdc2 { > @@ -203,9 +193,7 @@ > }; > =20 > &usbphy { > - pinctrl-names =3D "default"; > - pinctrl-0 =3D <&usb0_id_detect_pin>; > - usb0_id_det-gpio =3D <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */ > + usb0_id_det-gpios =3D <&pio 7 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* = PH4 */ > usb1_vbus-supply =3D <®_vcc5v0>; /* USB1 VBUS is always on */ > usb2_vbus-supply =3D <®_vcc5v0>; /* USB2 VBUS is always on */ > status =3D "okay"; > diff --git a/arch/arm/dts/sun4i-a10-pov-protab2-ips9.dts b/arch/arm/dts/s= un4i-a10-pov-protab2-ips9.dts > index 84b25be1ac..c325969476 100644 > --- a/arch/arm/dts/sun4i-a10-pov-protab2-ips9.dts > +++ b/arch/arm/dts/sun4i-a10-pov-protab2-ips9.dts > @@ -62,6 +62,7 @@ > brightness-levels =3D <0 10 20 30 40 50 60 70 80 90 100>; > default-brightness-level =3D <8>; > enable-gpios =3D <&pio 7 7 GPIO_ACTIVE_HIGH>; /* PH7 */ > + power-supply =3D <®_vcc3v3>; > }; > =20 > chosen { > @@ -146,20 +147,6 @@ > status =3D "okay"; > }; > =20 > -&pio { > - usb0_id_detect_pin: usb0-id-detect-pin { > - pins =3D "PH4"; > - function =3D "gpio_in"; > - bias-pull-up; > - }; > - > - usb0_vbus_detect_pin: usb0-vbus-detect-pin { > - pins =3D "PH5"; > - function =3D "gpio_in"; > - bias-pull-down; > - }; > -}; > - > &pwm { > pinctrl-names =3D "default"; > pinctrl-0 =3D <&pwm0_pin>; > @@ -211,10 +198,8 @@ > }; > =20 > &usbphy { > - pinctrl-names =3D "default"; > - pinctrl-0 =3D <&usb0_id_detect_pin>, <&usb0_vbus_detect_pin>; > - usb0_id_det-gpio =3D <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */ > - usb0_vbus_det-gpio =3D <&pio 7 5 GPIO_ACTIVE_HIGH>; /* PH5 */ > + usb0_id_det-gpios =3D <&pio 7 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* = PH4 */ > + usb0_vbus_det-gpios =3D <&pio 7 5 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>;= /* PH5 */ > usb0_vbus-supply =3D <®_usb0_vbus>; > usb1_vbus-supply =3D <®_usb1_vbus>; > status =3D "okay"; > diff --git a/arch/arm/dts/sun4i-a10-topwise-a721.dts b/arch/arm/dts/sun4i= -a10-topwise-a721.dts > new file mode 100644 > index 0000000000..3628f12d25 > --- /dev/null > +++ b/arch/arm/dts/sun4i-a10-topwise-a721.dts > @@ -0,0 +1,242 @@ > +// SPDX-License-Identifier: GPL-2.0+ > +/* > + * Copyright 2020 Pascal Roeleven > + */ > + > +/dts-v1/; > +#include "sun4i-a10.dtsi" > +#include "sunxi-common-regulators.dtsi" > + > +#include > +#include > +#include > +#include > + > +/ { > + model =3D "Topwise A721"; > + compatible =3D "topwise,a721", "allwinner,sun4i-a10"; > + > + aliases { > + serial0 =3D &uart0; > + }; > + > + backlight: backlight { > + compatible =3D "pwm-backlight"; > + pwms =3D <&pwm 0 100000 PWM_POLARITY_INVERTED>; > + power-supply =3D <®_vbat>; > + enable-gpios =3D <&pio 7 7 GPIO_ACTIVE_HIGH>; /* PH7 */ > + brightness-levels =3D <0 30 40 50 60 70 80 90 100>; > + default-brightness-level =3D <8>; > + }; > + > + chosen { > + stdout-path =3D "serial0:115200n8"; > + }; > + > + panel { > + compatible =3D "starry,kr070pe2t"; > + backlight =3D <&backlight>; > + power-supply =3D <®_lcd_power>; > + > + port { > + panel_input: endpoint { > + remote-endpoint =3D <&tcon0_out_panel>; > + }; > + }; > + }; > + > + reg_lcd_power: reg-lcd-power { > + compatible =3D "regulator-fixed"; > + regulator-name =3D "reg-lcd-power"; > + gpio =3D <&pio 7 8 GPIO_ACTIVE_HIGH>; /* PH8 */ > + enable-active-high; > + }; > + > + reg_vbat: reg-vbat { > + compatible =3D "regulator-fixed"; > + regulator-name =3D "vbat"; > + regulator-min-microvolt =3D <3700000>; > + regulator-max-microvolt =3D <3700000>; > + }; > + > +}; > + > +&codec { > + status =3D "okay"; > +}; > + > +&cpu0 { > + cpu-supply =3D <®_dcdc2>; > +}; > + > +&de { > + status =3D "okay"; > +}; > + > +&ehci0 { > + status =3D "okay"; > +}; > + > +&ehci1 { > + status =3D "okay"; > +}; > + > +&i2c0 { > + status =3D "okay"; > + > + axp209: pmic@34 { > + reg =3D <0x34>; > + interrupts =3D <0>; > + }; > +}; > + > +#include "axp209.dtsi" > + > +&ac_power_supply { > + status =3D "okay"; > +}; > + > +&battery_power_supply { > + status =3D "okay"; > +}; > + > +&i2c1 { > + status =3D "okay"; > + > + accelerometer@4c { > + compatible =3D "fsl,mma7660"; > + reg =3D <0x4c>; > + }; > +}; > + > +&i2c2 { > + status =3D "okay"; > + > + touchscreen@38 { > + compatible =3D "edt,edt-ft5406"; > + reg =3D <0x38>; > + interrupt-parent =3D <&pio>; > + interrupts =3D <7 21 IRQ_TYPE_EDGE_FALLING>; > + touchscreen-size-x =3D <800>; > + touchscreen-size-y =3D <480>; > + vcc-supply =3D <®_vcc3v3>; > + }; > +}; > + > +&lradc { > + vref-supply =3D <®_ldo2>; > + status =3D "okay"; > + > + button-571 { > + label =3D "Volume Up"; > + linux,code =3D ; > + channel =3D <0>; > + voltage =3D <571428>; > + }; > + > + button-761 { > + label =3D "Volume Down"; > + linux,code =3D ; > + channel =3D <0>; > + voltage =3D <761904>; > + }; > +}; > + > +&mmc0 { > + vmmc-supply =3D <®_vcc3v3>; > + bus-width =3D <4>; > + cd-gpios =3D <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH01 */ > + status =3D "okay"; > +}; > + > +&ohci0 { > + status =3D "okay"; > +}; > + > +&ohci1 { > + status =3D "okay"; > +}; > + > +&otg_sram { > + status =3D "okay"; > +}; > + > +&pio { > + vcc-pb-supply =3D <®_vcc3v3>; > + vcc-pf-supply =3D <®_vcc3v3>; > + vcc-ph-supply =3D <®_vcc3v3>; > +}; > + > +&pwm { > + pinctrl-names =3D "default"; > + pinctrl-0 =3D <&pwm0_pin>; > + status =3D "okay"; > +}; > + > +®_dcdc2 { > + regulator-always-on; > + regulator-min-microvolt =3D <1000000>; > + regulator-max-microvolt =3D <1400000>; > + regulator-name =3D "vdd-cpu"; > +}; > + > +®_dcdc3 { > + regulator-always-on; > + regulator-min-microvolt =3D <1250000>; > + regulator-max-microvolt =3D <1250000>; > + regulator-name =3D "vdd-int-dll"; > +}; > + > +®_ldo1 { > + regulator-name =3D "vdd-rtc"; > +}; > + > +®_ldo2 { > + regulator-always-on; > + regulator-min-microvolt =3D <3000000>; > + regulator-max-microvolt =3D <3000000>; > + regulator-name =3D "avcc"; > +}; > + > +®_usb0_vbus { > + status =3D "okay"; > +}; > + > +®_usb1_vbus { > + status =3D "okay"; > +}; > + > +®_usb2_vbus { > + status =3D "okay"; > +}; > + > +&tcon0_out { > + tcon0_out_panel: endpoint@0 { > + reg =3D <0>; > + remote-endpoint =3D <&panel_input>; > + }; > +}; > + > +&uart0 { > + pinctrl-names =3D "default"; > + pinctrl-0 =3D <&uart0_pb_pins>; > + status =3D "okay"; > +}; > + > +&usb_otg { > + dr_mode =3D "otg"; > + status =3D "okay"; > +}; > + > +&usb_power_supply { > + status =3D "okay"; > +}; > + > +&usbphy { > + usb0_id_det-gpios =3D <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */ > + usb0_vbus_det-gpios =3D <&pio 7 5 GPIO_ACTIVE_HIGH>; /* PH5 */ > + usb0_vbus-supply =3D <®_usb0_vbus>; > + usb1_vbus-supply =3D <®_usb1_vbus>; > + usb2_vbus-supply =3D <®_usb2_vbus>; > + status =3D "okay"; > +}; > diff --git a/arch/arm/dts/sun4i-a10.dtsi b/arch/arm/dts/sun4i-a10.dtsi > index 3a1c6b45c9..51a6464aab 100644 > --- a/arch/arm/dts/sun4i-a10.dtsi > +++ b/arch/arm/dts/sun4i-a10.dtsi > @@ -115,13 +115,12 @@ > reg =3D <0x0>; > clocks =3D <&ccu CLK_CPU>; > clock-latency =3D <244144>; /* 8 32k periods */ > - operating-points =3D < > + operating-points =3D > /* kHz uV */ > - 1008000 1400000 > - 912000 1350000 > - 864000 1300000 > - 624000 1250000 > - >; =20 > + <1008000 1400000>, > + <912000 1350000>, > + <864000 1300000>, > + <624000 1250000>; > #cooling-cells =3D <2>; > }; > }; > @@ -143,7 +142,7 @@ > trips { > cpu_alert0: cpu-alert0 { > /* milliCelsius */ > - temperature =3D <850000>; > + temperature =3D <85000>; > hysteresis =3D <2000>; > type =3D "passive"; > }; > @@ -184,14 +183,34 @@ > status =3D "disabled"; > }; > =20 > + pmu { > + compatible =3D "arm,cortex-a8-pmu"; > + interrupts =3D <3>; > + }; > + > + reserved-memory { > + #address-cells =3D <1>; > + #size-cells =3D <1>; > + ranges; > + > + /* Address must be kept in the lower 256 MiBs of DRAM for VE. */ > + default-pool { > + compatible =3D "shared-dma-pool"; > + size =3D <0x6000000>; > + alloc-ranges =3D <0x40000000 0x10000000>; > + reusable; > + linux,cma-default; > + }; > + }; > + > soc { > compatible =3D "simple-bus"; > #address-cells =3D <1>; > #size-cells =3D <1>; > ranges; > =20 > - sram-controller@1c00000 { > - compatible =3D "allwinner,sun4i-a10-sram-controller"; > + system-control@1c00000 { > + compatible =3D "allwinner,sun4i-a10-system-control"; > reg =3D <0x01c00000 0x30>; > #address-cells =3D <1>; > #size-cells =3D <1>; > @@ -224,6 +243,19 @@ > status =3D "disabled"; > }; > }; > + > + sram_c: sram@1d00000 { > + compatible =3D "mmio-sram"; > + reg =3D <0x01d00000 0xd0000>; > + #address-cells =3D <1>; > + #size-cells =3D <1>; > + ranges =3D <0 0x01d00000 0xd0000>; > + > + ve_sram: sram-section@0 { > + compatible =3D "allwinner,sun4i-a10-sram-c1"; > + reg =3D <0x000000 0x80000>; > + }; > + }; > }; > =20 > dma: dma-controller@1c02000 { > @@ -234,7 +266,7 @@ > #dma-cells =3D <2>; > }; > =20 > - nfc: nand@1c03000 { > + nfc: nand-controller@1c03000 { > compatible =3D "allwinner,sun4i-a10-nand"; > reg =3D <0x01c03000 0x1000>; > interrupts =3D <37>; > @@ -309,6 +341,7 @@ > "tcon-ch0", > "tcon-ch1"; > clock-output-names =3D "tcon0-pixel-clock"; > + #clock-cells =3D <0>; > dmas =3D <&dma SUN4I_DMA_DEDICATED 14>; > =20 > ports { > @@ -358,6 +391,7 @@ > "tcon-ch0", > "tcon-ch1"; > clock-output-names =3D "tcon1-pixel-clock"; > + #clock-cells =3D <0>; > dmas =3D <&dma SUN4I_DMA_DEDICATED 15>; > =20 > ports { > @@ -394,6 +428,17 @@ > }; > }; > =20 > + video-codec@1c0e000 { > + compatible =3D "allwinner,sun4i-a10-video-engine"; > + reg =3D <0x01c0e000 0x1000>; > + clocks =3D <&ccu CLK_AHB_VE>, <&ccu CLK_VE>, > + <&ccu CLK_DRAM_VE>; > + clock-names =3D "ahb", "mod", "ram"; > + resets =3D <&ccu RST_VE>; > + interrupts =3D <53>; > + allwinner,sram =3D <&ve_sram 1>; > + }; > + > mmc0: mmc@1c0f000 { > compatible =3D "allwinner,sun4i-a10-mmc"; > reg =3D <0x01c0f000 0x1000>; > @@ -450,13 +495,14 @@ > phy-names =3D "usb"; > extcon =3D <&usbphy 0>; > allwinner,sram =3D <&otg_sram 1>; > + dr_mode =3D "otg"; > status =3D "disabled"; > }; > =20 > usbphy: phy@1c13400 { > #phy-cells =3D <1>; > compatible =3D "allwinner,sun4i-a10-usb-phy"; > - reg =3D <0x01c13400 0x10 0x01c14800 0x4 0x01c1c800 0x4>; > + reg =3D <0x01c13400 0x10>, <0x01c14800 0x4>, <0x01c1c800 0x4>; > reg-names =3D "phy_ctrl", "pmu1", "pmu2"; > clocks =3D <&ccu CLK_USB_PHY>; > clock-names =3D "usb_phy"; > @@ -530,8 +576,6 @@ > }; > =20 > hdmi_out: port@1 { > - #address-cells =3D <1>; > - #size-cells =3D <0>; > reg =3D <1>; > }; > }; > @@ -579,6 +623,16 @@ > status =3D "disabled"; > }; > =20 > + csi1: csi@1c1d000 { > + compatible =3D "allwinner,sun4i-a10-csi1"; > + reg =3D <0x01c1d000 0x1000>; > + interrupts =3D <43>; > + clocks =3D <&ccu CLK_AHB_CSI1>, <&ccu CLK_DRAM_CSI1>; > + clock-names =3D "bus", "ram"; > + resets =3D <&ccu RST_CSI1>; > + status =3D "disabled"; > + }; > + > spi3: spi@1c1f000 { > compatible =3D "allwinner,sun4i-a10-spi"; > reg =3D <0x01c1f000 0x1000>; > @@ -625,6 +679,31 @@ > function =3D "can"; > }; > =20 > + /omit-if-no-ref/ > + csi1_8bits_pg_pins: csi1-8bits-pg-pins { > + pins =3D "PG0", "PG2", "PG3", "PG4", "PG5", > + "PG6", "PG7", "PG8", "PG9", "PG10", > + "PG11"; > + function =3D "csi1"; > + }; > + > + /omit-if-no-ref/ > + csi1_24bits_ph_pins: csi1-24bits-ph-pins { > + pins =3D "PH0", "PH1", "PH2", "PH3", "PH4", > + "PH5", "PH6", "PH7", "PH8", "PH9", > + "PH10", "PH11", "PH12", "PH13", "PH14", > + "PH15", "PH16", "PH17", "PH18", "PH19", > + "PH20", "PH21", "PH22", "PH23", "PH24", > + "PH25", "PH26", "PH27"; > + function =3D "csi1"; > + }; > + > + /omit-if-no-ref/ > + csi1_clk_pg_pin: csi1-clk-pg-pin { > + pins =3D "PG1"; > + function =3D "csi1"; > + }; > + > emac_pins: emac0-pins { > pins =3D "PA0", "PA1", "PA2", > "PA3", "PA4", "PA5", "PA6", > @@ -762,13 +841,20 @@ > timer@1c20c00 { > compatible =3D "allwinner,sun4i-a10-timer"; > reg =3D <0x01c20c00 0x90>; > - interrupts =3D <22>; > + interrupts =3D <22>, > + <23>, > + <24>, > + <25>, > + <67>, > + <68>; > clocks =3D <&osc24M>; > }; > =20 > wdt: watchdog@1c20c90 { > compatible =3D "allwinner,sun4i-a10-wdt"; > reg =3D <0x01c20c90 0x10>; > + interrupts =3D <24>; > + clocks =3D <&osc24M>; > }; > =20 > rtc: rtc@1c20d00 { > @@ -1001,6 +1087,27 @@ > status =3D "disabled"; > }; > =20 > + mali: gpu@1c40000 { > + compatible =3D "allwinner,sun4i-a10-mali", "arm,mali-400"; > + reg =3D <0x01c40000 0x10000>; > + interrupts =3D <69>, > + <70>, > + <71>, > + <72>, > + <73>; > + interrupt-names =3D "gp", > + "gpmmu", > + "pp0", > + "ppmmu0", > + "pmu"; > + clocks =3D <&ccu CLK_AHB_GPU>, <&ccu CLK_GPU>; > + clock-names =3D "bus", "core"; > + resets =3D <&ccu RST_GPU>; > + > + assigned-clocks =3D <&ccu CLK_GPU>; > + assigned-clock-rates =3D <384000000>; > + }; > + > fe0: display-frontend@1e00000 { > compatible =3D "allwinner,sun4i-a10-display-frontend"; > reg =3D <0x01e00000 0x20000>;