From: Andre Przywara <andre.przywara@arm.com>
To: Samuel Holland <samuel@sholland.org>
Cc: u-boot@lists.denx.de, Jagan Teki <jagan@amarulasolutions.com>,
Tom Rini <trini@konsulko.com>
Subject: Re: [PATCH 04/12] ARM: dts: sun7i: Sync from Linux v5.18-rc1
Date: Fri, 6 May 2022 01:39:40 +0100 [thread overview]
Message-ID: <20220506013940.39eb8144@slackpad.lan> (raw)
In-Reply-To: <20220427203132.47271-5-samuel@sholland.org>
On Wed, 27 Apr 2022 15:31:23 -0500
Samuel Holland <samuel@sholland.org> wrote:
> Copy the devicetree source for the A20 SoC and all existing boards
> verbatim from the Linux v5.18-rc1 tag.
>
> This commit also adds the following new board devicetrees:
> - sun7i-a20-haoyu-marsboard.dts
> - sun7i-a20-linutronix-testbox-v2.dts
> - sun7i-a20-olinuxino-lime-emmc.dts
>
> This update includes changes to the USB PHY detection GPIO properties
> which are needed to convert that driver to use the DM GPIO framework.
This looks alright: compared the files to the Linux tree, also skimmed
over the changes, they look harmless. Boot tested on BananaPi M1:
Ethernet and USB work.
There is one thing, though:
the move of the PHY child node into an MDIO subnode also affects the
U-Boot-only sun7i-a20-m5.dts. As this DT gets build with every A20
build, there is now a dtc warning with every A20 board:
===============
arch/arm/dts/sun7i-a20-m5.dtb: Warning (reg_format):
/soc/ethernet@1c50000/ethernet-phy@1:reg: property has invalid length
(4 bytes) (#address-cells == 2, #size-cells == 1)
arch/arm/dts/sun7i-a20-m5.dtb: Warning (avoid_default_addr_size):
/soc/ethernet@1c50000/ethernet-phy@1: Relying on default #address-cells
value arch/arm/dts/sun7i-a20-m5.dtb: Warning (avoid_default_addr_size):
/soc/ethernet@1c50000/ethernet-phy@1: Relying on default #size-cells
value ===============
Below simple patch fixes that and lets buildman pass (on the whole
series):
===============
diff --git a/arch/arm/dts/sun7i-a20-m5.dts
b/arch/arm/dts/sun7i-a20-m5.dts index 6de52c7c314..cfbc50d9e55 100644
--- a/arch/arm/dts/sun7i-a20-m5.dts
+++ b/arch/arm/dts/sun7i-a20-m5.dts
@@ -39,7 +39,9 @@
phy = <&phy1>;
phy-mode = "mii";
status = "okay";
+};
+&gmac_mdio {
phy1: ethernet-phy@1 {
reg = <1>;
};
===============
In case there is nothing else, I will just apply this when merging.
With that fixed:
> Signed-off-by: Samuel Holland <samuel@sholland.org>
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Cheers,
Andre
> ---
>
> arch/arm/dts/Makefile | 3 +
> arch/arm/dts/sun7i-a20-bananapi-m1-plus.dts | 16 +-
> arch/arm/dts/sun7i-a20-bananapi.dts | 41 ++-
> arch/arm/dts/sun7i-a20-bananapro.dts | 16 +-
> arch/arm/dts/sun7i-a20-cubieboard2.dts | 28 +-
> arch/arm/dts/sun7i-a20-cubietruck.dts | 20 +-
> arch/arm/dts/sun7i-a20-haoyu-marsboard.dts | 182 +++++++++++++
> arch/arm/dts/sun7i-a20-hummingbird.dts | 21 +-
> arch/arm/dts/sun7i-a20-i12-tvbox.dts | 16 +-
> arch/arm/dts/sun7i-a20-icnova-swac.dts | 15 +-
> arch/arm/dts/sun7i-a20-itead-ibox.dts | 8 +-
> arch/arm/dts/sun7i-a20-lamobo-r1.dts | 16 +-
> .../dts/sun7i-a20-linutronix-testbox-v2.dts | 47 ++++
> arch/arm/dts/sun7i-a20-m3.dts | 14 +-
> arch/arm/dts/sun7i-a20-olimex-som-evb.dts | 14 +-
> arch/arm/dts/sun7i-a20-olimex-som204-evb.dts | 30 ++-
> .../arm/dts/sun7i-a20-olinuxino-lime-emmc.dts | 32 +++
> arch/arm/dts/sun7i-a20-olinuxino-lime.dts | 32 +--
> arch/arm/dts/sun7i-a20-olinuxino-lime2.dts | 46 ++--
> arch/arm/dts/sun7i-a20-olinuxino-micro.dts | 32 +--
> arch/arm/dts/sun7i-a20-orangepi-mini.dts | 28 +-
> arch/arm/dts/sun7i-a20-orangepi.dts | 26 +-
> arch/arm/dts/sun7i-a20-pcduino3-nano.dts | 32 +--
> arch/arm/dts/sun7i-a20-pcduino3.dts | 28 +-
> arch/arm/dts/sun7i-a20-wexler-tab7200.dts | 13 +-
> arch/arm/dts/sun7i-a20-wits-pro-a20-dkt.dts | 24 +-
> arch/arm/dts/sun7i-a20.dtsi | 254 ++++++++++++++++--
> 27 files changed, 707 insertions(+), 327 deletions(-)
> create mode 100644 arch/arm/dts/sun7i-a20-haoyu-marsboard.dts
> create mode 100644 arch/arm/dts/sun7i-a20-linutronix-testbox-v2.dts
> create mode 100644 arch/arm/dts/sun7i-a20-olinuxino-lime-emmc.dts
>
> diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
> index 48ede8888e..7120d6a3aa 100644
> --- a/arch/arm/dts/Makefile
> +++ b/arch/arm/dts/Makefile
> @@ -583,11 +583,13 @@ dtb-$(CONFIG_MACH_SUN7I) += \
> sun7i-a20-bananapro.dtb \
> sun7i-a20-cubieboard2.dtb \
> sun7i-a20-cubietruck.dtb \
> + sun7i-a20-haoyu-marsboard.dtb \
> sun7i-a20-hummingbird.dtb \
> sun7i-a20-i12-tvbox.dtb \
> sun7i-a20-icnova-swac.dtb \
> sun7i-a20-itead-ibox.dtb \
> sun7i-a20-lamobo-r1.dtb \
> + sun7i-a20-linutronix-testbox-v2.dtb \
> sun7i-a20-m3.dtb \
> sun7i-a20-m5.dtb \
> sun7i-a20-mk808c.dtb \
> @@ -595,6 +597,7 @@ dtb-$(CONFIG_MACH_SUN7I) += \
> sun7i-a20-olimex-som204-evb.dtb \
> sun7i-a20-olimex-som204-evb-emmc.dtb \
> sun7i-a20-olinuxino-lime.dtb \
> + sun7i-a20-olinuxino-lime-emmc.dtb \
> sun7i-a20-olinuxino-lime2.dtb \
> sun7i-a20-olinuxino-lime2-emmc.dtb \
> sun7i-a20-olinuxino-micro.dtb \
> diff --git a/arch/arm/dts/sun7i-a20-bananapi-m1-plus.dts b/arch/arm/dts/sun7i-a20-bananapi-m1-plus.dts
> index 4dbcad1343..caa935ca4f 100644
> --- a/arch/arm/dts/sun7i-a20-bananapi-m1-plus.dts
> +++ b/arch/arm/dts/sun7i-a20-bananapi-m1-plus.dts
> @@ -74,12 +74,12 @@
> leds {
> compatible = "gpio-leds";
>
> - green {
> + led-0 {
> label = "bananapi-m1-plus:green:usr";
> gpios = <&pio 7 24 GPIO_ACTIVE_HIGH>;
> };
>
> - pwr {
> + led-1 {
> label = "bananapi-m1-plus:pwr:usr";
> gpios = <&pio 7 25 GPIO_ACTIVE_HIGH>;
> default-state = "on";
> @@ -129,14 +129,10 @@
> &gmac {
> pinctrl-names = "default";
> pinctrl-0 = <&gmac_rgmii_pins>;
> - phy = <&phy1>;
> + phy-handle = <&phy1>;
> phy-mode = "rgmii-id";
> phy-supply = <®_gmac_3v3>;
> status = "okay";
> -
> - phy1: ethernet-phy@1 {
> - reg = <1>;
> - };
> };
>
> &hdmi {
> @@ -171,6 +167,12 @@
> status = "okay";
> };
>
> +&gmac_mdio {
> + phy1: ethernet-phy@1 {
> + reg = <1>;
> + };
> +};
> +
> &mmc0 {
> vmmc-supply = <®_vcc3v3>;
> bus-width = <4>;
> diff --git a/arch/arm/dts/sun7i-a20-bananapi.dts b/arch/arm/dts/sun7i-a20-bananapi.dts
> index 33040c43bc..46ecf9db23 100644
> --- a/arch/arm/dts/sun7i-a20-bananapi.dts
> +++ b/arch/arm/dts/sun7i-a20-bananapi.dts
> @@ -77,7 +77,7 @@
> leds {
> compatible = "gpio-leds";
>
> - green {
> + led {
> label = "bananapi:green:usr";
> gpios = <&pio 7 24 GPIO_ACTIVE_HIGH>;
> };
> @@ -104,16 +104,15 @@
>
> &cpu0 {
> cpu-supply = <®_dcdc2>;
> - operating-points = <
> + operating-points =
> /* kHz uV */
> - 960000 1400000
> - 912000 1400000
> - 864000 1350000
> - 720000 1250000
> - 528000 1150000
> - 312000 1100000
> - 144000 1050000
> - >;
> + <960000 1400000>,
> + <912000 1400000>,
> + <864000 1350000>,
> + <720000 1250000>,
> + <528000 1150000>,
> + <312000 1100000>,
> + <144000 1050000>;
> };
>
> &de {
> @@ -131,14 +130,10 @@
> &gmac {
> pinctrl-names = "default";
> pinctrl-0 = <&gmac_rgmii_pins>;
> - phy = <&phy1>;
> + phy-handle = <&phy1>;
> phy-mode = "rgmii-id";
> phy-supply = <®_gmac_3v3>;
> status = "okay";
> -
> - phy1: ethernet-phy@1 {
> - reg = <1>;
> - };
> };
>
> &hdmi {
> @@ -171,6 +166,12 @@
> status = "okay";
> };
>
> +&gmac_mdio {
> + phy1: ethernet-phy@1 {
> + reg = <1>;
> + };
> +};
> +
> &mmc0 {
> vmmc-supply = <®_vcc3v3>;
> bus-width = <4>;
> @@ -246,12 +247,6 @@
> "SPI-MISO", "SPI-CE1", "",
> "IO-6", "IO-3", "IO-2", "IO-0", "", "", "", "",
> "", "", "", "", "", "", "", "";
> -
> - usb0_id_detect_pin: usb0-id-detect-pin {
> - pins = "PH4";
> - function = "gpio_in";
> - bias-pull-up;
> - };
> };
>
> #include "axp209.dtsi"
> @@ -329,9 +324,7 @@
> };
>
> &usbphy {
> - pinctrl-names = "default";
> - pinctrl-0 = <&usb0_id_detect_pin>;
> - usb0_id_det-gpio = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
> + usb0_id_det-gpios = <&pio 7 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* PH4 */
> usb0_vbus_power-supply = <&usb_power_supply>;
> usb0_vbus-supply = <®_usb0_vbus>;
> usb1_vbus-supply = <®_usb1_vbus>;
> diff --git a/arch/arm/dts/sun7i-a20-bananapro.dts b/arch/arm/dts/sun7i-a20-bananapro.dts
> index 8a75545e22..e22f0e8bb1 100644
> --- a/arch/arm/dts/sun7i-a20-bananapro.dts
> +++ b/arch/arm/dts/sun7i-a20-bananapro.dts
> @@ -63,12 +63,12 @@
> leds {
> compatible = "gpio-leds";
>
> - blue {
> + led-0 {
> label = "bananapro:blue:usr";
> gpios = <&pio 6 2 GPIO_ACTIVE_HIGH>;
> };
>
> - green {
> + led-1 {
> label = "bananapro:green:usr";
> gpios = <&pio 7 24 GPIO_ACTIVE_HIGH>;
> };
> @@ -109,14 +109,10 @@
> &gmac {
> pinctrl-names = "default";
> pinctrl-0 = <&gmac_rgmii_pins>;
> - phy = <&phy1>;
> + phy-handle = <&phy1>;
> phy-mode = "rgmii-id";
> phy-supply = <®_gmac_3v3>;
> status = "okay";
> -
> - phy1: ethernet-phy@1 {
> - reg = <1>;
> - };
> };
>
> &i2c0 {
> @@ -143,6 +139,12 @@
> status = "okay";
> };
>
> +&gmac_mdio {
> + phy1: ethernet-phy@1 {
> + reg = <1>;
> + };
> +};
> +
> &mmc0 {
> vmmc-supply = <®_vcc3v3>;
> bus-width = <4>;
> diff --git a/arch/arm/dts/sun7i-a20-cubieboard2.dts b/arch/arm/dts/sun7i-a20-cubieboard2.dts
> index 200685b0b1..e35e6990c4 100644
> --- a/arch/arm/dts/sun7i-a20-cubieboard2.dts
> +++ b/arch/arm/dts/sun7i-a20-cubieboard2.dts
> @@ -75,12 +75,12 @@
> leds {
> compatible = "gpio-leds";
>
> - blue {
> + led-0 {
> label = "cubieboard2:blue:usr";
> gpios = <&pio 7 21 GPIO_ACTIVE_HIGH>;
> };
>
> - green {
> + led-1 {
> label = "cubieboard2:green:usr";
> gpios = <&pio 7 20 GPIO_ACTIVE_HIGH>;
> };
> @@ -115,13 +115,9 @@
> &gmac {
> pinctrl-names = "default";
> pinctrl-0 = <&gmac_mii_pins>;
> - phy = <&phy1>;
> + phy-handle = <&phy1>;
> phy-mode = "mii";
> status = "okay";
> -
> - phy1: ethernet-phy@1 {
> - reg = <1>;
> - };
> };
>
> &hdmi {
> @@ -161,6 +157,12 @@
> status = "okay";
> };
>
> +&gmac_mdio {
> + phy1: ethernet-phy@1 {
> + reg = <1>;
> + };
> +};
> +
> &ohci0 {
> status = "okay";
> };
> @@ -173,14 +175,6 @@
> status = "okay";
> };
>
> -&pio {
> - usb0_id_detect_pin: usb0-id-detect-pin {
> - pins = "PH4";
> - function = "gpio_in";
> - bias-pull-up;
> - };
> -};
> -
> ®_ahci_5v {
> status = "okay";
> };
> @@ -236,9 +230,7 @@
> };
>
> &usbphy {
> - pinctrl-names = "default";
> - pinctrl-0 = <&usb0_id_detect_pin>;
> - usb0_id_det-gpio = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
> + usb0_id_det-gpios = <&pio 7 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* PH4 */
> usb1_vbus-supply = <®_usb1_vbus>;
> usb2_vbus-supply = <®_usb2_vbus>;
> status = "okay";
> diff --git a/arch/arm/dts/sun7i-a20-cubietruck.dts b/arch/arm/dts/sun7i-a20-cubietruck.dts
> index 46a9f4669e..52160e3683 100644
> --- a/arch/arm/dts/sun7i-a20-cubietruck.dts
> +++ b/arch/arm/dts/sun7i-a20-cubietruck.dts
> @@ -75,22 +75,22 @@
> leds {
> compatible = "gpio-leds";
>
> - blue {
> + led-0 {
> label = "cubietruck:blue:usr";
> gpios = <&pio 7 21 GPIO_ACTIVE_HIGH>;
> };
>
> - orange {
> + led-1 {
> label = "cubietruck:orange:usr";
> gpios = <&pio 7 20 GPIO_ACTIVE_HIGH>;
> };
>
> - white {
> + led-2 {
> label = "cubietruck:white:usr";
> gpios = <&pio 7 11 GPIO_ACTIVE_HIGH>;
> };
>
> - green {
> + led-3 {
> label = "cubietruck:green:usr";
> gpios = <&pio 7 7 GPIO_ACTIVE_HIGH>;
> };
> @@ -150,13 +150,9 @@
> &gmac {
> pinctrl-names = "default";
> pinctrl-0 = <&gmac_rgmii_pins>;
> - phy = <&phy1>;
> + phy-handle = <&phy1>;
> phy-mode = "rgmii-id";
> status = "okay";
> -
> - phy1: ethernet-phy@1 {
> - reg = <1>;
> - };
> };
>
> &hdmi {
> @@ -194,6 +190,12 @@
> status = "okay";
> };
>
> +&gmac_mdio {
> + phy1: ethernet-phy@1 {
> + reg = <1>;
> + };
> +};
> +
> &mmc0 {
> vmmc-supply = <®_vcc3v3>;
> bus-width = <4>;
> diff --git a/arch/arm/dts/sun7i-a20-haoyu-marsboard.dts b/arch/arm/dts/sun7i-a20-haoyu-marsboard.dts
> new file mode 100644
> index 0000000000..097e479c27
> --- /dev/null
> +++ b/arch/arm/dts/sun7i-a20-haoyu-marsboard.dts
> @@ -0,0 +1,182 @@
> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> +/*
> + * Copyright 2021 Conley Lee
> + * Conley Lee <conleylee@foxmail.com>
> + */
> +
> +/dts-v1/;
> +#include "sun7i-a20.dtsi"
> +#include "sunxi-common-regulators.dtsi"
> +
> +#include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/interrupt-controller/irq.h>
> +
> +/ {
> + model = "HAOYU Electronics Marsboard A20";
> + compatible = "haoyu,a20-marsboard", "allwinner,sun7i-a20";
> +
> + aliases {
> + serial0 = &uart0;
> + };
> +
> + chosen {
> + stdout-path = "serial0:115200n8";
> + };
> +
> + hdmi-connector {
> + compatible = "hdmi-connector";
> + type = "a";
> +
> + port {
> + hdmi_con_in: endpoint {
> + remote-endpoint = <&hdmi_out_con>;
> + };
> + };
> + };
> +};
> +
> +&ahci {
> + target-supply = <®_ahci_5v>;
> + status = "okay";
> +};
> +
> +&codec {
> + status = "okay";
> +};
> +
> +&cpu0 {
> + cpu-supply = <®_dcdc2>;
> +};
> +
> +&de {
> + status = "okay";
> +};
> +
> +&ehci0 {
> + status = "okay";
> +};
> +
> +&ehci1 {
> + status = "okay";
> +};
> +
> +&gmac {
> + pinctrl-names = "default";
> + pinctrl-0 = <&gmac_mii_pins>, <&gmac_txerr>;
> + phy-handle = <&phy0>;
> + phy-mode = "mii";
> + status = "okay";
> +};
> +
> +&hdmi {
> + status = "okay";
> +};
> +
> +&hdmi_out {
> + hdmi_out_con: endpoint {
> + remote-endpoint = <&hdmi_con_in>;
> + };
> +};
> +
> +&i2c0 {
> + status = "okay";
> +
> + axp209: pmic@34 {
> + reg = <0x34>;
> + interrupt-parent = <&nmi_intc>;
> + interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
> + };
> +};
> +
> +&mmc0 {
> + vmmc-supply = <®_vcc3v3>;
> + bus-width = <4>;
> + cd-gpios = <&pio 7 10 GPIO_ACTIVE_LOW>; /* PH10 */
> + status = "okay";
> +};
> +
> +&gmac_mdio {
> + phy0: ethernet-phy@0 {
> + reg = <0>;
> + };
> +};
> +
> +&ohci0 {
> + status = "okay";
> +};
> +
> +&ohci1 {
> + status = "okay";
> +};
> +
> +&otg_sram {
> + status = "okay";
> +};
> +
> +&pio {
> + gmac_txerr: gmac-txerr-pin {
> + pins = "PA17";
> + function = "gmac";
> + };
> +};
> +
> +®_ahci_5v {
> + status = "okay";
> +};
> +
> +#include "axp209.dtsi"
> +
> +&ac_power_supply {
> + status = "okay";
> +};
> +
> +®_dcdc2 {
> + regulator-always-on;
> + regulator-min-microvolt = <1000000>;
> + regulator-max-microvolt = <1450000>;
> + regulator-name = "vdd-cpu";
> +};
> +
> +®_dcdc3 {
> + regulator-always-on;
> + regulator-min-microvolt = <1000000>;
> + regulator-max-microvolt = <1400000>;
> + regulator-name = "vdd-int-dll";
> +};
> +
> +®_ldo1 {
> + regulator-name = "vdd-rtc";
> +};
> +
> +®_ldo2 {
> + regulator-always-on;
> + regulator-min-microvolt = <3000000>;
> + regulator-max-microvolt = <3000000>;
> + regulator-name = "avcc";
> +};
> +
> +®_usb1_vbus {
> + status = "okay";
> +};
> +
> +®_usb2_vbus {
> + status = "okay";
> +};
> +
> +&uart0 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&uart0_pb_pins>;
> + status = "okay";
> +};
> +
> +&usb_otg {
> + dr_mode = "otg";
> + status = "okay";
> +};
> +
> +&usbphy {
> + usb0_id_det-gpios = <&pio 7 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* PH4 */
> + usb1_vbus-supply = <®_usb1_vbus>;
> + usb2_vbus-supply = <®_usb2_vbus>;
> + status = "okay";
> +};
> diff --git a/arch/arm/dts/sun7i-a20-hummingbird.dts b/arch/arm/dts/sun7i-a20-hummingbird.dts
> index fd0153f656..3def2a3305 100644
> --- a/arch/arm/dts/sun7i-a20-hummingbird.dts
> +++ b/arch/arm/dts/sun7i-a20-hummingbird.dts
> @@ -100,19 +100,10 @@
> &gmac {
> pinctrl-names = "default";
> pinctrl-0 = <&gmac_rgmii_pins>;
> - phy = <&phy1>;
> + phy-handle = <&phy1>;
> phy-mode = "rgmii";
> phy-supply = <®_gmac_vdd>;
> - /* phy reset config */
> - snps,reset-gpio = <&pio 0 17 GPIO_ACTIVE_HIGH>; /* PA17 */
> - snps,reset-active-low;
> - /* wait 1s after reset, otherwise fail to read phy id */
> - snps,reset-delays-us = <0 10000 1000000>;
> status = "okay";
> -
> - phy1: ethernet-phy@1 {
> - reg = <1>;
> - };
> };
>
> &i2c0 {
> @@ -146,6 +137,16 @@
> status = "okay";
> };
>
> +&gmac_mdio {
> + phy1: ethernet-phy@1 {
> + reg = <1>;
> + reset-gpios = <&pio 0 17 GPIO_ACTIVE_LOW>; /* PA17 */
> + reset-assert-us = <10000>;
> + /* wait 1s after reset, otherwise fail to read phy id */
> + reset-deassert-us = <1000000>;
> + };
> +};
> +
> &mmc0 {
> vmmc-supply = <®_vcc3v0>;
> bus-width = <4>;
> diff --git a/arch/arm/dts/sun7i-a20-i12-tvbox.dts b/arch/arm/dts/sun7i-a20-i12-tvbox.dts
> index 5f1c4f573d..b21ddd0ec1 100644
> --- a/arch/arm/dts/sun7i-a20-i12-tvbox.dts
> +++ b/arch/arm/dts/sun7i-a20-i12-tvbox.dts
> @@ -62,12 +62,12 @@
> leds {
> compatible = "gpio-leds";
>
> - red {
> + led-0 {
> label = "i12_tvbox:red:usr";
> gpios = <&pio 7 9 GPIO_ACTIVE_LOW>;
> };
>
> - blue {
> + led-1 {
> label = "i12_tvbox:blue:usr";
> gpios = <&pio 7 20 GPIO_ACTIVE_HIGH>;
> };
> @@ -115,14 +115,10 @@
> &gmac {
> pinctrl-names = "default";
> pinctrl-0 = <&gmac_mii_pins>;
> - phy = <&phy1>;
> + phy-handle = <&phy1>;
> phy-mode = "mii";
> phy-supply = <®_gmac_3v3>;
> status = "okay";
> -
> - phy1: ethernet-phy@1 {
> - reg = <1>;
> - };
> };
>
> &i2c0 {
> @@ -145,6 +141,12 @@
> status = "okay";
> };
>
> +&gmac_mdio {
> + phy1: ethernet-phy@1 {
> + reg = <1>;
> + };
> +};
> +
> &mmc0 {
> vmmc-supply = <®_vcc3v3>;
> bus-width = <4>;
> diff --git a/arch/arm/dts/sun7i-a20-icnova-swac.dts b/arch/arm/dts/sun7i-a20-icnova-swac.dts
> index 949494730a..413505f45a 100644
> --- a/arch/arm/dts/sun7i-a20-icnova-swac.dts
> +++ b/arch/arm/dts/sun7i-a20-icnova-swac.dts
> @@ -49,7 +49,8 @@
>
> / {
> model = "ICnova-A20 SWAC";
> - compatible = "swac,icnova-a20-swac", "incircuit,icnova-a20", "allwinner,sun7i-a20";
> + compatible = "incircuit,icnova-a20-swac", "incircuit,icnova-a20",
> + "allwinner,sun7i-a20";
>
> aliases {
> serial0 = &uart0;
> @@ -75,13 +76,9 @@
> &gmac {
> pinctrl-names = "default";
> pinctrl-0 = <&gmac_mii_pins>;
> - phy = <&phy1>;
> + phy-handle = <&phy1>;
> phy-mode = "mii";
> status = "okay";
> -
> - phy1: ethernet-phy@1 {
> - reg = <1>;
> - };
> };
>
> &i2c0 {
> @@ -98,6 +95,12 @@
> status = "okay";
> };
>
> +&gmac_mdio {
> + phy1: ethernet-phy@1 {
> + reg = <1>;
> + };
> +};
> +
> &mmc0 {
> vmmc-supply = <®_vcc3v3>;
> bus-width = <4>;
> diff --git a/arch/arm/dts/sun7i-a20-itead-ibox.dts b/arch/arm/dts/sun7i-a20-itead-ibox.dts
> index b90a7607d0..8ff83016ff 100644
> --- a/arch/arm/dts/sun7i-a20-itead-ibox.dts
> +++ b/arch/arm/dts/sun7i-a20-itead-ibox.dts
> @@ -53,13 +53,13 @@
> pinctrl-names = "default";
> pinctrl-0 = <&led_pins_itead_core>;
>
> - green {
> + led-0 {
> label = "itead_core:green:usr";
> gpios = <&pio 7 20 GPIO_ACTIVE_HIGH>;
> default-state = "on";
> };
>
> - blue {
> + led-1 {
> label = "itead_core:blue:usr";
> gpios = <&pio 7 21 GPIO_ACTIVE_HIGH>;
> default-state = "on";
> @@ -97,10 +97,12 @@
> &gmac {
> pinctrl-names = "default";
> pinctrl-0 = <&gmac_mii_pins>;
> - phy = <&phy1>;
> + phy-handle = <&phy1>;
> phy-mode = "mii";
> status = "okay";
> +};
>
> +&gmac_mdio {
> phy1: ethernet-phy@1 {
> reg = <1>;
> };
> diff --git a/arch/arm/dts/sun7i-a20-lamobo-r1.dts b/arch/arm/dts/sun7i-a20-lamobo-r1.dts
> index f91e1bee44..97518afe46 100644
> --- a/arch/arm/dts/sun7i-a20-lamobo-r1.dts
> +++ b/arch/arm/dts/sun7i-a20-lamobo-r1.dts
> @@ -75,7 +75,7 @@
> leds {
> compatible = "gpio-leds";
>
> - green {
> + led {
> label = "lamobo_r1:green:usr";
> gpios = <&pio 7 24 GPIO_ACTIVE_HIGH>;
> };
> @@ -123,8 +123,6 @@
> phy-mode = "rgmii";
> phy-supply = <®_gmac_3v3>;
> status = "okay";
> - /delete-property/#address-cells;
> - /delete-property/#size-cells;
>
> fixed-link {
> speed = <1000>;
> @@ -229,14 +227,6 @@
> status = "okay";
> };
>
> -&pio {
> - usb0_id_detect_pin: usb0-id-detect-pin {
> - pins = "PH4";
> - function = "gpio_in";
> - bias-pull-up;
> - };
> -};
> -
> #include "axp209.dtsi"
>
> &ac_power_supply {
> @@ -322,9 +312,7 @@
> };
>
> &usbphy {
> - pinctrl-names = "default";
> - pinctrl-0 = <&usb0_id_detect_pin>;
> - usb0_id_det-gpio = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
> + usb0_id_det-gpios = <&pio 7 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* PH4 */
> usb0_vbus_power-supply = <&usb_power_supply>;
> usb0_vbus-supply = <®_usb0_vbus>;
> usb2_vbus-supply = <®_usb2_vbus>;
> diff --git a/arch/arm/dts/sun7i-a20-linutronix-testbox-v2.dts b/arch/arm/dts/sun7i-a20-linutronix-testbox-v2.dts
> new file mode 100644
> index 0000000000..da5a2eea4c
> --- /dev/null
> +++ b/arch/arm/dts/sun7i-a20-linutronix-testbox-v2.dts
> @@ -0,0 +1,47 @@
> +// SPDX-License-Identifier: GPL-2.0-or-later
> +/*
> + * Copyright 2020 Linutronix GmbH
> + * Author: Benedikt Spranger <b.spranger@linutronix.de>
> + */
> +
> +/dts-v1/;
> +#include "sun7i-a20-lamobo-r1.dts"
> +
> +/ {
> + model = "Lamobo R1";
> + compatible = "linutronix,testbox-v2", "lamobo,lamobo-r1", "allwinner,sun7i-a20";
> +
> + leds {
> + led-opto1 {
> + label = "lamobo_r1:opto:powerswitch";
> + gpios = <&pio 7 3 GPIO_ACTIVE_HIGH>;
> + };
> +
> + led-opto2 {
> + label = "lamobo_r1:opto:relay";
> + gpios = <&pio 7 5 GPIO_ACTIVE_HIGH>;
> + };
> + };
> +};
> +
> +&i2c2 {
> + clock-frequency = <100000>;
> + status = "okay";
> +
> + eeprom: eeprom@50 {
> + compatible = "atmel,24c08";
> + reg = <0x50>;
> + status = "okay";
> + };
> +
> + atecc508a@60 {
> + compatible = "atmel,atecc508a";
> + reg = <0x60>;
> + };
> +};
> +
> +&can0 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&can_ph_pins>;
> + status = "okay";
> +};
> diff --git a/arch/arm/dts/sun7i-a20-m3.dts b/arch/arm/dts/sun7i-a20-m3.dts
> index b8a1aaaf39..f161d52388 100644
> --- a/arch/arm/dts/sun7i-a20-m3.dts
> +++ b/arch/arm/dts/sun7i-a20-m3.dts
> @@ -64,7 +64,7 @@
> leds {
> compatible = "gpio-leds";
>
> - blue {
> + led {
> label = "m3:blue:usr";
> gpios = <&pio 7 20 GPIO_ACTIVE_HIGH>;
> };
> @@ -82,13 +82,9 @@
> &gmac {
> pinctrl-names = "default";
> pinctrl-0 = <&gmac_mii_pins>;
> - phy = <&phy1>;
> + phy-handle = <&phy1>;
> phy-mode = "mii";
> status = "okay";
> -
> - phy1: ethernet-phy@1 {
> - reg = <1>;
> - };
> };
>
> &i2c0 {
> @@ -111,6 +107,12 @@
> status = "okay";
> };
>
> +&gmac_mdio {
> + phy1: ethernet-phy@1 {
> + reg = <1>;
> + };
> +};
> +
> &mmc0 {
> vmmc-supply = <®_vcc3v3>;
> bus-width = <4>;
> diff --git a/arch/arm/dts/sun7i-a20-olimex-som-evb.dts b/arch/arm/dts/sun7i-a20-olimex-som-evb.dts
> index f0e6a96e57..f05ee32bc9 100644
> --- a/arch/arm/dts/sun7i-a20-olimex-som-evb.dts
> +++ b/arch/arm/dts/sun7i-a20-olimex-som-evb.dts
> @@ -75,7 +75,7 @@
> leds {
> compatible = "gpio-leds";
>
> - green {
> + led {
> label = "a20-olimex-som-evb:green:usr";
> gpios = <&pio 7 2 GPIO_ACTIVE_HIGH>;
> default-state = "on";
> @@ -111,13 +111,9 @@
> &gmac {
> pinctrl-names = "default";
> pinctrl-0 = <&gmac_rgmii_pins>;
> - phy = <&phy1>;
> + phy-handle = <&phy1>;
> phy-mode = "rgmii";
> status = "okay";
> -
> - phy1: ethernet-phy@1 {
> - reg = <1>;
> - };
> };
>
> &hdmi {
> @@ -202,6 +198,12 @@
> };
> };
>
> +&gmac_mdio {
> + phy1: ethernet-phy@1 {
> + reg = <1>;
> + };
> +};
> +
> &mmc0 {
> vmmc-supply = <®_vcc3v3>;
> bus-width = <4>;
> diff --git a/arch/arm/dts/sun7i-a20-olimex-som204-evb.dts b/arch/arm/dts/sun7i-a20-olimex-som204-evb.dts
> index 823aabce04..54af6c1807 100644
> --- a/arch/arm/dts/sun7i-a20-olimex-som204-evb.dts
> +++ b/arch/arm/dts/sun7i-a20-olimex-som204-evb.dts
> @@ -46,19 +46,19 @@
> leds {
> compatible = "gpio-leds";
>
> - stat {
> + led-0 {
> label = "a20-som204-evb:green:stat";
> gpios = <&pio 8 0 GPIO_ACTIVE_HIGH>;
> default-state = "on";
> };
>
> - led1 {
> + led-1 {
> label = "a20-som204-evb:green:led1";
> gpios = <&pio 8 10 GPIO_ACTIVE_HIGH>;
> default-state = "on";
> };
>
> - led2 {
> + led-2 {
> label = "a20-som204-evb:yellow:led2";
> gpios = <&pio 8 11 GPIO_ACTIVE_HIGH>;
> default-state = "on";
> @@ -105,18 +105,10 @@
> &gmac {
> pinctrl-names = "default";
> pinctrl-0 = <&gmac_rgmii_pins>;
> - phy = <&phy3>;
> + phy-handle = <&phy3>;
> phy-mode = "rgmii";
> phy-supply = <®_vcc3v3>;
> -
> - snps,reset-gpio = <&pio 0 17 GPIO_ACTIVE_HIGH>;
> - snps,reset-active-low;
> - snps,reset-delays-us = <0 10000 1000000>;
> status = "okay";
> -
> - phy3: ethernet-phy@3 {
> - reg = <3>;
> - };
> };
>
> &hdmi {
> @@ -161,6 +153,16 @@
> status = "okay";
> };
>
> +&gmac_mdio {
> + phy3: ethernet-phy@3 {
> + reg = <3>;
> + reset-gpios = <&pio 0 17 GPIO_ACTIVE_LOW>; /* PA17 */
> + reset-assert-us = <10000>;
> + /* wait 1s after reset, otherwise fail to read phy id */
> + reset-deassert-us = <1000000>;
> + };
> +};
> +
> &mmc0 {
> vmmc-supply = <®_vcc3v3>;
> bus-width = <4>;
> @@ -314,8 +316,8 @@
> };
>
> &usbphy {
> - usb0_id_det-gpio = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
> - usb0_vbus_det-gpio = <&pio 7 5 GPIO_ACTIVE_HIGH>; /* PH5 */
> + usb0_id_det-gpios = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
> + usb0_vbus_det-gpios = <&pio 7 5 GPIO_ACTIVE_HIGH>; /* PH5 */
> usb0_vbus_power-supply = <&usb_power_supply>;
> usb0_vbus-supply = <®_usb0_vbus>;
> usb1_vbus-supply = <®_usb1_vbus>;
> diff --git a/arch/arm/dts/sun7i-a20-olinuxino-lime-emmc.dts b/arch/arm/dts/sun7i-a20-olinuxino-lime-emmc.dts
> new file mode 100644
> index 0000000000..033cab3443
> --- /dev/null
> +++ b/arch/arm/dts/sun7i-a20-olinuxino-lime-emmc.dts
> @@ -0,0 +1,32 @@
> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> +/*
> + * Copyright (C) 2020 Olimex Ltd.
> + * Author: Stefan Mavrodiev <stefan@olimex.com>
> + */
> +
> +#include "sun7i-a20-olinuxino-lime.dts"
> +
> +/ {
> + model = "Olimex A20-OLinuXino-LIME-eMMC";
> + compatible = "olimex,a20-olinuxino-lime-emmc", "allwinner,sun7i-a20";
> +
> + mmc2_pwrseq: pwrseq {
> + compatible = "mmc-pwrseq-emmc";
> + reset-gpios = <&pio 2 16 GPIO_ACTIVE_LOW>;
> + };
> +};
> +
> +&mmc2 {
> + vmmc-supply = <®_vcc3v3>;
> + vqmmc-supply = <®_vcc3v3>;
> + bus-width = <4>;
> + non-removable;
> + mmc-pwrseq = <&mmc2_pwrseq>;
> + status = "okay";
> +
> + emmc: emmc@0 {
> + reg = <0>;
> + compatible = "mmc-card";
> + broken-hpi;
> + };
> +};
> diff --git a/arch/arm/dts/sun7i-a20-olinuxino-lime.dts b/arch/arm/dts/sun7i-a20-olinuxino-lime.dts
> index 5e411194bf..92938d0222 100644
> --- a/arch/arm/dts/sun7i-a20-olinuxino-lime.dts
> +++ b/arch/arm/dts/sun7i-a20-olinuxino-lime.dts
> @@ -78,7 +78,7 @@
> pinctrl-names = "default";
> pinctrl-0 = <&led_pins_olinuxinolime>;
>
> - green {
> + led {
> label = "a20-olinuxino-lime:green:usr";
> gpios = <&pio 7 2 GPIO_ACTIVE_HIGH>;
> default-state = "on";
> @@ -106,13 +106,9 @@
> &gmac {
> pinctrl-names = "default";
> pinctrl-0 = <&gmac_mii_pins>;
> - phy = <&phy1>;
> + phy-handle = <&phy1>;
> phy-mode = "mii";
> status = "okay";
> -
> - phy1: ethernet-phy@1 {
> - reg = <1>;
> - };
> };
>
> &hdmi {
> @@ -149,6 +145,12 @@
> };
> };
>
> +&gmac_mdio {
> + phy1: ethernet-phy@1 {
> + reg = <1>;
> + };
> +};
> +
> &mmc0 {
> vmmc-supply = <®_vcc3v3>;
> bus-width = <4>;
> @@ -174,18 +176,6 @@
> function = "gpio_out";
> drive-strength = <20>;
> };
> -
> - usb0_id_detect_pin: usb0-id-detect-pin {
> - pins = "PH4";
> - function = "gpio_in";
> - bias-pull-up;
> - };
> -
> - usb0_vbus_detect_pin: usb0-vbus-detect-pin {
> - pins = "PH5";
> - function = "gpio_in";
> - bias-pull-down;
> - };
> };
>
> ®_ahci_5v {
> @@ -217,10 +207,8 @@
> };
>
> &usbphy {
> - pinctrl-names = "default";
> - pinctrl-0 = <&usb0_id_detect_pin>, <&usb0_vbus_detect_pin>;
> - usb0_id_det-gpio = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
> - usb0_vbus_det-gpio = <&pio 7 5 GPIO_ACTIVE_HIGH>; /* PH5 */
> + 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_DOWN)>; /* PH5 */
> usb0_vbus-supply = <®_usb0_vbus>;
> usb1_vbus-supply = <®_usb1_vbus>;
> usb2_vbus-supply = <®_usb2_vbus>;
> diff --git a/arch/arm/dts/sun7i-a20-olinuxino-lime2.dts b/arch/arm/dts/sun7i-a20-olinuxino-lime2.dts
> index 996201665b..ecb91fb899 100644
> --- a/arch/arm/dts/sun7i-a20-olinuxino-lime2.dts
> +++ b/arch/arm/dts/sun7i-a20-olinuxino-lime2.dts
> @@ -75,7 +75,7 @@
> pinctrl-names = "default";
> pinctrl-0 = <&led_pins_olinuxinolime>;
>
> - green {
> + led {
> label = "a20-olinuxino-lime2:green:usr";
> gpios = <&pio 7 2 GPIO_ACTIVE_HIGH>;
> default-state = "on";
> @@ -111,13 +111,9 @@
> &gmac {
> pinctrl-names = "default";
> pinctrl-0 = <&gmac_rgmii_pins>;
> - phy = <&phy1>;
> + phy-handle = <&phy1>;
> phy-mode = "rgmii-id";
> status = "okay";
> -
> - phy1: ethernet-phy@1 {
> - reg = <1>;
> - };
> };
>
> &hdmi {
> @@ -154,6 +150,12 @@
> vref-supply = <®_vcc3v0>;
> };
>
> +&gmac_mdio {
> + phy1: ethernet-phy@1 {
> + reg = <1>;
> + };
> +};
> +
> &mmc0 {
> vmmc-supply = <®_vcc3v3>;
> bus-width = <4>;
> @@ -174,23 +176,17 @@
> };
>
> &pio {
> + vcc-pa-supply = <®_vcc3v3>;
> + vcc-pc-supply = <®_vcc3v3>;
> + vcc-pe-supply = <®_ldo3>;
> + vcc-pf-supply = <®_vcc3v3>;
> + vcc-pg-supply = <®_ldo4>;
> +
> led_pins_olinuxinolime: led-pins {
> pins = "PH2";
> function = "gpio_out";
> drive-strength = <20>;
> };
> -
> - usb0_id_detect_pin: usb0-id-detect-pin {
> - pins = "PH4";
> - function = "gpio_in";
> - bias-pull-up;
> - };
> -
> - usb0_vbus_detect_pin: usb0-vbus-detect-pin {
> - pins = "PH5";
> - function = "gpio_in";
> - bias-pull-down;
> - };
> };
>
> ®_ahci_5v {
> @@ -200,6 +196,14 @@
>
> #include "axp209.dtsi"
>
> +&ac_power_supply {
> + status = "okay";
> +};
> +
> +&battery_power_supply {
> + status = "okay";
> +};
> +
> ®_dcdc2 {
> regulator-always-on;
> regulator-min-microvolt = <1000000>;
> @@ -267,10 +271,8 @@
> };
>
> &usbphy {
> - pinctrl-names = "default";
> - pinctrl-0 = <&usb0_id_detect_pin>, <&usb0_vbus_detect_pin>;
> - usb0_id_det-gpio = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
> - usb0_vbus_det-gpio = <&pio 7 5 GPIO_ACTIVE_HIGH>; /* PH5 */
> + 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_DOWN)>; /* PH5 */
> usb0_vbus-supply = <®_usb0_vbus>;
> usb1_vbus-supply = <®_usb1_vbus>;
> usb2_vbus-supply = <®_usb2_vbus>;
> diff --git a/arch/arm/dts/sun7i-a20-olinuxino-micro.dts b/arch/arm/dts/sun7i-a20-olinuxino-micro.dts
> index 840ae1194a..a1b89b2a29 100644
> --- a/arch/arm/dts/sun7i-a20-olinuxino-micro.dts
> +++ b/arch/arm/dts/sun7i-a20-olinuxino-micro.dts
> @@ -82,7 +82,7 @@
> pinctrl-names = "default";
> pinctrl-0 = <&led_pins_olinuxino>;
>
> - green {
> + led {
> label = "a20-olinuxino-micro:green:usr";
> gpios = <&pio 7 2 GPIO_ACTIVE_HIGH>;
> default-state = "on";
> @@ -118,13 +118,9 @@
> &gmac {
> pinctrl-names = "default";
> pinctrl-0 = <&gmac_mii_pins>, <&gmac_txerr>;
> - phy = <&phy1>;
> + phy-handle = <&phy1>;
> phy-mode = "mii";
> status = "okay";
> -
> - phy1: ethernet-phy@1 {
> - reg = <1>;
> - };
> };
>
> &hdmi {
> @@ -215,6 +211,12 @@
> };
> };
>
> +&gmac_mdio {
> + phy1: ethernet-phy@1 {
> + reg = <1>;
> + };
> +};
> +
> &mmc0 {
> vmmc-supply = <®_vcc3v3>;
> bus-width = <4>;
> @@ -252,18 +254,6 @@
> function = "gpio_out";
> drive-strength = <20>;
> };
> -
> - usb0_id_detect_pin: usb0-id-detect-pin {
> - pins = "PH4";
> - function = "gpio_in";
> - bias-pull-up;
> - };
> -
> - usb0_vbus_detect_pin: usb0-vbus-detect-pin {
> - pins = "PH5";
> - function = "gpio_in";
> - bias-pull-down;
> - };
> };
>
> #include "axp209.dtsi"
> @@ -355,10 +345,8 @@
> };
>
> &usbphy {
> - pinctrl-names = "default";
> - pinctrl-0 = <&usb0_id_detect_pin>, <&usb0_vbus_detect_pin>;
> - usb0_id_det-gpio = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
> - usb0_vbus_det-gpio = <&pio 7 5 GPIO_ACTIVE_HIGH>; /* PH5 */
> + 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_DOWN)>; /* PH5 */
> usb0_vbus-supply = <®_usb0_vbus>;
> usb1_vbus-supply = <®_usb1_vbus>;
> usb2_vbus-supply = <®_usb2_vbus>;
> diff --git a/arch/arm/dts/sun7i-a20-orangepi-mini.dts b/arch/arm/dts/sun7i-a20-orangepi-mini.dts
> index 15881081ca..84efa01e7c 100644
> --- a/arch/arm/dts/sun7i-a20-orangepi-mini.dts
> +++ b/arch/arm/dts/sun7i-a20-orangepi-mini.dts
> @@ -75,12 +75,12 @@
> leds {
> compatible = "gpio-leds";
>
> - green {
> + led-0 {
> label = "orangepi:green:usr";
> gpios = <&pio 7 24 GPIO_ACTIVE_HIGH>; /* PH24 */
> };
>
> - blue {
> + led-1 {
> label = "orangepi:blue:usr";
> gpios = <&pio 7 25 GPIO_ACTIVE_HIGH>; /* PH25 */
> };
> @@ -120,14 +120,10 @@
> &gmac {
> pinctrl-names = "default";
> pinctrl-0 = <&gmac_rgmii_pins>;
> - phy = <&phy1>;
> + phy-handle = <&phy1>;
> phy-mode = "rgmii";
> phy-supply = <®_gmac_3v3>;
> status = "okay";
> -
> - phy1: ethernet-phy@1 {
> - reg = <1>;
> - };
> };
>
> &hdmi {
> @@ -158,6 +154,12 @@
> status = "okay";
> };
>
> +&gmac_mdio {
> + phy1: ethernet-phy@1 {
> + reg = <1>;
> + };
> +};
> +
> &mmc0 {
> vmmc-supply = <®_vcc3v3>;
> bus-width = <4>;
> @@ -176,14 +178,6 @@
> status = "okay";
> };
>
> -&pio {
> - usb0_id_detect_pin: usb0-id-detect-pin {
> - pins = "PH4";
> - function = "gpio_in";
> - bias-pull-up;
> - };
> -};
> -
> ®_dcdc2 {
> regulator-always-on;
> regulator-min-microvolt = <1000000>;
> @@ -239,9 +233,7 @@
> };
>
> &usbphy {
> - pinctrl-names = "default";
> - pinctrl-0 = <&usb0_id_detect_pin>;
> - usb0_id_det-gpio = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
> + usb0_id_det-gpios = <&pio 7 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* PH4 */
> usb0_vbus_power-supply = <&usb_power_supply>;
> usb0_vbus-supply = <®_usb0_vbus>;
> usb1_vbus-supply = <®_usb1_vbus>;
> diff --git a/arch/arm/dts/sun7i-a20-orangepi.dts b/arch/arm/dts/sun7i-a20-orangepi.dts
> index d64de2e73a..5d77f1d981 100644
> --- a/arch/arm/dts/sun7i-a20-orangepi.dts
> +++ b/arch/arm/dts/sun7i-a20-orangepi.dts
> @@ -64,7 +64,7 @@
> leds {
> compatible = "gpio-leds";
>
> - green {
> + led {
> label = "orangepi:green:usr";
> gpios = <&pio 7 24 GPIO_ACTIVE_HIGH>; /* PH24 */
> };
> @@ -96,14 +96,10 @@
> &gmac {
> pinctrl-names = "default";
> pinctrl-0 = <&gmac_rgmii_pins>;
> - phy = <&phy1>;
> + phy-handle = <&phy1>;
> phy-mode = "rgmii";
> phy-supply = <®_gmac_3v3>;
> status = "okay";
> -
> - phy1: ethernet-phy@1 {
> - reg = <1>;
> - };
> };
>
> &i2c0 {
> @@ -124,6 +120,12 @@
> status = "okay";
> };
>
> +&gmac_mdio {
> + phy1: ethernet-phy@1 {
> + reg = <1>;
> + };
> +};
> +
> &mmc0 {
> vmmc-supply = <®_vcc3v3>;
> bus-width = <4>;
> @@ -135,14 +137,6 @@
> status = "okay";
> };
>
> -&pio {
> - usb0_id_detect_pin: usb0-id-detect-pin {
> - pins = "PH4";
> - function = "gpio_in";
> - bias-pull-up;
> - };
> -};
> -
> ®_dcdc2 {
> regulator-always-on;
> regulator-min-microvolt = <1000000>;
> @@ -198,9 +192,7 @@
> };
>
> &usbphy {
> - pinctrl-names = "default";
> - pinctrl-0 = <&usb0_id_detect_pin>;
> - usb0_id_det-gpio = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
> + usb0_id_det-gpios = <&pio 7 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* PH4 */
> usb0_vbus_power-supply = <&usb_power_supply>;
> usb0_vbus-supply = <®_usb0_vbus>;
> usb1_vbus-supply = <®_usb1_vbus>;
> diff --git a/arch/arm/dts/sun7i-a20-pcduino3-nano.dts b/arch/arm/dts/sun7i-a20-pcduino3-nano.dts
> index 205eaae44a..e40ecb48d7 100644
> --- a/arch/arm/dts/sun7i-a20-pcduino3-nano.dts
> +++ b/arch/arm/dts/sun7i-a20-pcduino3-nano.dts
> @@ -1,5 +1,5 @@
> /*
> - * Copyright 2015 Adam Sampson <ats@offog.org>
> + * Copyright 2015-2020 Adam Sampson <ats@offog.org>
> *
> * 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
> @@ -72,14 +72,12 @@
> leds {
> compatible = "gpio-leds";
>
> - /* Marked "LED3" on the PCB. */
> - usr1 {
> + led-3 {
> label = "pcduino3-nano:green:usr1";
> gpios = <&pio 7 16 GPIO_ACTIVE_LOW>; /* PH16 */
> };
>
> - /* Marked "LED4" on the PCB. */
> - usr2 {
> + led-4 {
> label = "pcduino3-nano:green:usr2";
> gpios = <&pio 7 15 GPIO_ACTIVE_LOW>; /* PH15 */
> };
> @@ -114,13 +112,9 @@
> &gmac {
> pinctrl-names = "default";
> pinctrl-0 = <&gmac_rgmii_pins>;
> - phy = <&phy1>;
> + phy-handle = <&phy1>;
> phy-mode = "rgmii-id";
> status = "okay";
> -
> - phy1: ethernet-phy@1 {
> - reg = <1>;
> - };
> };
>
> &hdmi {
> @@ -149,6 +143,12 @@
> status = "okay";
> };
>
> +&gmac_mdio {
> + phy1: ethernet-phy@1 {
> + reg = <1>;
> + };
> +};
> +
> &mmc0 {
> vmmc-supply = <®_vcc3v3>;
> bus-width = <4>;
> @@ -168,14 +168,6 @@
> status = "okay";
> };
>
> -&pio {
> - usb0_id_detect_pin: usb0-id-detect-pin {
> - pins = "PH4";
> - function = "gpio_in";
> - bias-pull-up;
> - };
> -};
> -
> ®_ahci_5v {
> gpio = <&pio 7 2 GPIO_ACTIVE_HIGH>; /* PH2 */
> status = "okay";
> @@ -226,9 +218,7 @@
> };
>
> &usbphy {
> - pinctrl-names = "default";
> - pinctrl-0 = <&usb0_id_detect_pin>;
> - usb0_id_det-gpio = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
> + usb0_id_det-gpios = <&pio 7 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* PH4 */
> usb1_vbus-supply = <®_usb1_vbus>;
> usb2_vbus-supply = <®_usb1_vbus>;
> status = "okay";
> diff --git a/arch/arm/dts/sun7i-a20-pcduino3.dts b/arch/arm/dts/sun7i-a20-pcduino3.dts
> index a72ed4318d..4f8d55d3ba 100644
> --- a/arch/arm/dts/sun7i-a20-pcduino3.dts
> +++ b/arch/arm/dts/sun7i-a20-pcduino3.dts
> @@ -64,12 +64,12 @@
> leds {
> compatible = "gpio-leds";
>
> - tx {
> + led-0 {
> label = "pcduino3:green:tx";
> gpios = <&pio 7 15 GPIO_ACTIVE_LOW>;
> };
>
> - rx {
> + led-1 {
> label = "pcduino3:green:rx";
> gpios = <&pio 7 16 GPIO_ACTIVE_LOW>;
> };
> @@ -122,13 +122,9 @@
> &gmac {
> pinctrl-names = "default";
> pinctrl-0 = <&gmac_mii_pins>;
> - phy = <&phy1>;
> + phy-handle = <&phy1>;
> phy-mode = "mii";
> status = "okay";
> -
> - phy1: ethernet-phy@1 {
> - reg = <1>;
> - };
> };
>
> &i2c0 {
> @@ -149,6 +145,12 @@
> status = "okay";
> };
>
> +&gmac_mdio {
> + phy1: ethernet-phy@1 {
> + reg = <1>;
> + };
> +};
> +
> &mmc0 {
> vmmc-supply = <®_vcc3v3>;
> bus-width = <4>;
> @@ -168,14 +170,6 @@
> status = "okay";
> };
>
> -&pio {
> - usb0_id_detect_pin: usb0-id-detect-pin {
> - pins = "PH4";
> - function = "gpio_in";
> - bias-pull-up;
> - };
> -};
> -
> ®_ahci_5v {
> gpio = <&pio 7 2 GPIO_ACTIVE_HIGH>;
> status = "okay";
> @@ -226,9 +220,7 @@
> };
>
> &usbphy {
> - pinctrl-names = "default";
> - pinctrl-0 = <&usb0_id_detect_pin>;
> - usb0_id_det-gpio = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
> + usb0_id_det-gpios = <&pio 7 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* PH4 */
> usb1_vbus-supply = <®_usb1_vbus>;
> usb2_vbus-supply = <®_usb2_vbus>;
> status = "okay";
> diff --git a/arch/arm/dts/sun7i-a20-wexler-tab7200.dts b/arch/arm/dts/sun7i-a20-wexler-tab7200.dts
> index ffade253d1..fef02fcbbd 100644
> --- a/arch/arm/dts/sun7i-a20-wexler-tab7200.dts
> +++ b/arch/arm/dts/sun7i-a20-wexler-tab7200.dts
> @@ -64,6 +64,7 @@
> brightness-levels = <0 10 20 30 40 50 60 70 80 90 100>;
> default-brightness-level = <8>;
> enable-gpios = <&pio 7 7 GPIO_ACTIVE_HIGH>; /* PH7 */
> + power-supply = <®_vcc3v3>;
> };
>
> chosen {
> @@ -156,14 +157,6 @@
> status = "okay";
> };
>
> -&pio {
> - usb0_id_detect_pin: usb0-id-detect-pin {
> - pins = "PH4";
> - function = "gpio_in";
> - bias-pull-up;
> - };
> -};
> -
> &pwm {
> pinctrl-names = "default";
> pinctrl-0 = <&pwm0_pin>;
> @@ -223,9 +216,7 @@
> };
>
> &usbphy {
> - pinctrl-names = "default";
> - pinctrl-0 = <&usb0_id_detect_pin>;
> - usb0_id_det-gpio = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
> + usb0_id_det-gpios = <&pio 7 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* PH4 */
> usb0_vbus_power-supply = <&usb_power_supply>;
> usb0_vbus-supply = <®_usb0_vbus>;
> usb1_vbus-supply = <®_usb1_vbus>;
> diff --git a/arch/arm/dts/sun7i-a20-wits-pro-a20-dkt.dts b/arch/arm/dts/sun7i-a20-wits-pro-a20-dkt.dts
> index c27e56091f..3bfae98f3c 100644
> --- a/arch/arm/dts/sun7i-a20-wits-pro-a20-dkt.dts
> +++ b/arch/arm/dts/sun7i-a20-wits-pro-a20-dkt.dts
> @@ -81,13 +81,9 @@
> &gmac {
> pinctrl-names = "default";
> pinctrl-0 = <&gmac_rgmii_pins>;
> - phy = <&phy1>;
> + phy-handle = <&phy1>;
> phy-mode = "rgmii";
> status = "okay";
> -
> - phy1: ethernet-phy@1 {
> - reg = <1>;
> - };
> };
>
> &i2c0 {
> @@ -110,6 +106,12 @@
>
> #include "axp209.dtsi"
>
> +&gmac_mdio {
> + phy1: ethernet-phy@1 {
> + reg = <1>;
> + };
> +};
> +
> &mmc0 {
> vmmc-supply = <®_vcc3v3>;
> bus-width = <4>;
> @@ -145,14 +147,6 @@
> status = "okay";
> };
>
> -&pio {
> - usb0_id_detect_pin: usb0-id-detect-pin {
> - pins = "PH4";
> - function = "gpio_in";
> - bias-pull-up;
> - };
> -};
> -
> ®_dcdc2 {
> regulator-always-on;
> regulator-min-microvolt = <1000000>;
> @@ -206,9 +200,7 @@
> };
>
> &usbphy {
> - pinctrl-names = "default";
> - pinctrl-0 = <&usb0_id_detect_pin>;
> - usb0_id_det-gpio = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
> + usb0_id_det-gpios = <&pio 7 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* PH4 */
> usb0_vbus_power-supply = <&usb_power_supply>;
> usb0_vbus-supply = <®_usb0_vbus>;
> usb1_vbus-supply = <®_usb1_vbus>;
> diff --git a/arch/arm/dts/sun7i-a20.dtsi b/arch/arm/dts/sun7i-a20.dtsi
> index 641a8fa6d4..5574299685 100644
> --- a/arch/arm/dts/sun7i-a20.dtsi
> +++ b/arch/arm/dts/sun7i-a20.dtsi
> @@ -47,6 +47,7 @@
> #include <dt-bindings/dma/sun4i-a10.h>
> #include <dt-bindings/clock/sun7i-a20-ccu.h>
> #include <dt-bindings/reset/sun4i-a10-ccu.h>
> +#include <dt-bindings/pinctrl/sun4i-a10.h>
>
> / {
> interrupt-parent = <&gic>;
> @@ -105,16 +106,15 @@
> reg = <0>;
> clocks = <&ccu CLK_CPU>;
> clock-latency = <244144>; /* 8 32k periods */
> - operating-points = <
> + operating-points =
> /* kHz uV */
> - 960000 1400000
> - 912000 1400000
> - 864000 1300000
> - 720000 1200000
> - 528000 1100000
> - 312000 1000000
> - 144000 1000000
> - >;
> + <960000 1400000>,
> + <912000 1400000>,
> + <864000 1300000>,
> + <720000 1200000>,
> + <528000 1100000>,
> + <312000 1000000>,
> + <144000 1000000>;
> #cooling-cells = <2>;
> };
>
> @@ -124,22 +124,21 @@
> reg = <1>;
> clocks = <&ccu CLK_CPU>;
> clock-latency = <244144>; /* 8 32k periods */
> - operating-points = <
> + operating-points =
> /* kHz uV */
> - 960000 1400000
> - 912000 1400000
> - 864000 1300000
> - 720000 1200000
> - 528000 1100000
> - 312000 1000000
> - 144000 1000000
> - >;
> + <960000 1400000>,
> + <912000 1400000>,
> + <864000 1300000>,
> + <720000 1200000>,
> + <528000 1100000>,
> + <312000 1000000>,
> + <144000 1000000>;
> #cooling-cells = <2>;
> };
> };
>
> thermal-zones {
> - cpu_thermal {
> + cpu-thermal {
> /* milliseconds */
> polling-delay-passive = <250>;
> polling-delay = <1000>;
> @@ -180,7 +179,7 @@
> default-pool {
> compatible = "shared-dma-pool";
> size = <0x6000000>;
> - alloc-ranges = <0x4a000000 0x6000000>;
> + alloc-ranges = <0x40000000 0x10000000>;
> reusable;
> linux,cma-default;
> };
> @@ -333,7 +332,7 @@
> #dma-cells = <2>;
> };
>
> - nfc: nand@1c03000 {
> + nfc: nand-controller@1c03000 {
> compatible = "allwinner,sun4i-a10-nand";
> reg = <0x01c03000 0x1000>;
> interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
> @@ -376,6 +375,16 @@
> num-cs = <1>;
> };
>
> + csi0: csi@1c09000 {
> + compatible = "allwinner,sun7i-a20-csi0";
> + reg = <0x01c09000 0x1000>;
> + interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
> + clocks = <&ccu CLK_AHB_CSI0>, <&ccu CLK_CSI_SCLK>, <&ccu CLK_DRAM_CSI0>;
> + clock-names = "bus", "isp", "ram";
> + resets = <&ccu RST_CSI0>;
> + status = "disabled";
> + };
> +
> emac: ethernet@1c0b000 {
> compatible = "allwinner,sun4i-a10-emac";
> reg = <0x01c0b000 0x1000>;
> @@ -394,11 +403,12 @@
> };
>
> tcon0: lcd-controller@1c0c000 {
> - compatible = "allwinner,sun7i-a20-tcon";
> + compatible = "allwinner,sun7i-a20-tcon0",
> + "allwinner,sun7i-a20-tcon";
> reg = <0x01c0c000 0x1000>;
> interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
> - resets = <&ccu RST_TCON0>;
> - reset-names = "lcd";
> + resets = <&ccu RST_TCON0>, <&ccu RST_LVDS>;
> + reset-names = "lcd", "lvds";
> clocks = <&ccu CLK_AHB_LCD0>,
> <&ccu CLK_TCON0_CH0>,
> <&ccu CLK_TCON0_CH1>;
> @@ -406,6 +416,7 @@
> "tcon-ch0",
> "tcon-ch1";
> clock-output-names = "tcon0-pixel-clock";
> + #clock-cells = <0>;
> dmas = <&dma SUN4I_DMA_DEDICATED 14>;
>
> ports {
> @@ -443,7 +454,8 @@
> };
>
> tcon1: lcd-controller@1c0d000 {
> - compatible = "allwinner,sun7i-a20-tcon";
> + compatible = "allwinner,sun7i-a20-tcon1",
> + "allwinner,sun7i-a20-tcon";
> reg = <0x01c0d000 0x1000>;
> interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
> resets = <&ccu RST_TCON1>;
> @@ -455,6 +467,7 @@
> "tcon-ch0",
> "tcon-ch1";
> clock-output-names = "tcon1-pixel-clock";
> + #clock-cells = <0>;
> dmas = <&dma SUN4I_DMA_DEDICATED 15>;
>
> ports {
> @@ -586,13 +599,14 @@
> phy-names = "usb";
> extcon = <&usbphy 0>;
> allwinner,sram = <&otg_sram 1>;
> + dr_mode = "otg";
> status = "disabled";
> };
>
> usbphy: phy@1c13400 {
> #phy-cells = <1>;
> compatible = "allwinner,sun7i-a20-usb-phy";
> - reg = <0x01c13400 0x10 0x01c14800 0x4 0x01c1c800 0x4>;
> + reg = <0x01c13400 0x10>, <0x01c14800 0x4>, <0x01c1c800 0x4>;
> reg-names = "phy_ctrl", "pmu1", "pmu2";
> clocks = <&ccu CLK_USB_PHY>;
> clock-names = "usb_phy";
> @@ -716,6 +730,17 @@
> status = "disabled";
> };
>
> + csi1: csi@1c1d000 {
> + compatible = "allwinner,sun7i-a20-csi1",
> + "allwinner,sun4i-a10-csi1";
> + reg = <0x01c1d000 0x1000>;
> + interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
> + clocks = <&ccu CLK_AHB_CSI1>, <&ccu CLK_DRAM_CSI1>;
> + clock-names = "bus", "ram";
> + resets = <&ccu RST_CSI1>;
> + status = "disabled";
> + };
> +
> spi3: spi@1c1f000 {
> compatible = "allwinner,sun4i-a10-spi";
> reg = <0x01c1f000 0x1000>;
> @@ -751,21 +776,70 @@
> #interrupt-cells = <3>;
> #gpio-cells = <3>;
>
> + /omit-if-no-ref/
> + can_pa_pins: can-pa-pins {
> + pins = "PA16", "PA17";
> + function = "can";
> + };
> +
> + /omit-if-no-ref/
> can_ph_pins: can-ph-pins {
> pins = "PH20", "PH21";
> function = "can";
> };
>
> + /omit-if-no-ref/
> clk_out_a_pin: clk-out-a-pin {
> pins = "PI12";
> function = "clk_out_a";
> };
>
> + /omit-if-no-ref/
> clk_out_b_pin: clk-out-b-pin {
> pins = "PI13";
> function = "clk_out_b";
> };
>
> + /omit-if-no-ref/
> + csi0_8bits_pins: csi-8bits-pins {
> + pins = "PE0", "PE2", "PE3", "PE4", "PE5",
> + "PE6", "PE7", "PE8", "PE9", "PE10",
> + "PE11";
> + function = "csi0";
> + };
> +
> + /omit-if-no-ref/
> + csi0_clk_pin: csi-clk-pin {
> + pins = "PE1";
> + function = "csi0";
> + };
> +
> + /omit-if-no-ref/
> + csi1_8bits_pg_pins: csi1-8bits-pg-pins {
> + pins = "PG0", "PG2", "PG3", "PG4", "PG5",
> + "PG6", "PG7", "PG8", "PG9", "PG10",
> + "PG11";
> + function = "csi1";
> + };
> +
> + /omit-if-no-ref/
> + csi1_24bits_ph_pins: csi1-24bits-ph-pins {
> + pins = "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 = "csi1";
> + };
> +
> + /omit-if-no-ref/
> + csi1_clk_pg_pin: csi1-clk-pg-pin {
> + pins = "PG1";
> + function = "csi1";
> + };
> +
> + /omit-if-no-ref/
> emac_pa_pins: emac-pa-pins {
> pins = "PA0", "PA1", "PA2",
> "PA3", "PA4", "PA5", "PA6",
> @@ -775,6 +849,17 @@
> function = "emac";
> };
>
> + /omit-if-no-ref/
> + emac_ph_pins: emac-ph-pins {
> + pins = "PH8", "PH9", "PH10", "PH11",
> + "PH14", "PH15", "PH16", "PH17",
> + "PH18", "PH19", "PH20", "PH21",
> + "PH22", "PH23", "PH24", "PH25",
> + "PH26";
> + function = "emac";
> + };
> +
> + /omit-if-no-ref/
> gmac_mii_pins: gmac-mii-pins {
> pins = "PA0", "PA1", "PA2",
> "PA3", "PA4", "PA5", "PA6",
> @@ -784,6 +869,7 @@
> function = "gmac";
> };
>
> + /omit-if-no-ref/
> gmac_rgmii_pins: gmac-rgmii-pins {
> pins = "PA0", "PA1", "PA2",
> "PA3", "PA4", "PA5", "PA6",
> @@ -798,46 +884,69 @@
> drive-strength = <40>;
> };
>
> + /omit-if-no-ref/
> i2c0_pins: i2c0-pins {
> pins = "PB0", "PB1";
> function = "i2c0";
> };
>
> + /omit-if-no-ref/
> i2c1_pins: i2c1-pins {
> pins = "PB18", "PB19";
> function = "i2c1";
> };
>
> + /omit-if-no-ref/
> i2c2_pins: i2c2-pins {
> pins = "PB20", "PB21";
> function = "i2c2";
> };
>
> + /omit-if-no-ref/
> i2c3_pins: i2c3-pins {
> pins = "PI0", "PI1";
> function = "i2c3";
> };
>
> + /omit-if-no-ref/
> ir0_rx_pin: ir0-rx-pin {
> pins = "PB4";
> function = "ir0";
> };
>
> + /omit-if-no-ref/
> ir0_tx_pin: ir0-tx-pin {
> pins = "PB3";
> function = "ir0";
> };
>
> + /omit-if-no-ref/
> ir1_rx_pin: ir1-rx-pin {
> pins = "PB23";
> function = "ir1";
> };
>
> + /omit-if-no-ref/
> ir1_tx_pin: ir1-tx-pin {
> pins = "PB22";
> function = "ir1";
> };
>
> + /omit-if-no-ref/
> + lcd_lvds0_pins: lcd-lvds0-pins {
> + pins = "PD0", "PD1", "PD2", "PD3", "PD4",
> + "PD5", "PD6", "PD7", "PD8", "PD9";
> + function = "lvds0";
> + };
> +
> + /omit-if-no-ref/
> + lcd_lvds1_pins: lcd-lvds1-pins {
> + pins = "PD10", "PD11", "PD12", "PD13", "PD14",
> + "PD15", "PD16", "PD17", "PD18", "PD19";
> + function = "lvds1";
> + };
> +
> + /omit-if-no-ref/
> mmc0_pins: mmc0-pins {
> pins = "PF0", "PF1", "PF2",
> "PF3", "PF4", "PF5";
> @@ -846,6 +955,7 @@
> bias-pull-up;
> };
>
> + /omit-if-no-ref/
> mmc2_pins: mmc2-pins {
> pins = "PC6", "PC7", "PC8",
> "PC9", "PC10", "PC11";
> @@ -854,6 +964,7 @@
> bias-pull-up;
> };
>
> + /omit-if-no-ref/
> mmc3_pins: mmc3-pins {
> pins = "PI4", "PI5", "PI6",
> "PI7", "PI8", "PI9";
> @@ -862,127 +973,206 @@
> bias-pull-up;
> };
>
> + /omit-if-no-ref/
> ps2_0_pins: ps2-0-pins {
> pins = "PI20", "PI21";
> function = "ps2";
> };
>
> + /omit-if-no-ref/
> ps2_1_ph_pins: ps2-1-ph-pins {
> pins = "PH12", "PH13";
> function = "ps2";
> };
>
> + /omit-if-no-ref/
> pwm0_pin: pwm0-pin {
> pins = "PB2";
> function = "pwm";
> };
>
> + /omit-if-no-ref/
> pwm1_pin: pwm1-pin {
> pins = "PI3";
> function = "pwm";
> };
>
> + /omit-if-no-ref/
> spdif_tx_pin: spdif-tx-pin {
> pins = "PB13";
> function = "spdif";
> bias-pull-up;
> };
>
> + /omit-if-no-ref/
> spi0_pi_pins: spi0-pi-pins {
> pins = "PI11", "PI12", "PI13";
> function = "spi0";
> };
>
> + /omit-if-no-ref/
> spi0_cs0_pi_pin: spi0-cs0-pi-pin {
> pins = "PI10";
> function = "spi0";
> };
>
> + /omit-if-no-ref/
> spi0_cs1_pi_pin: spi0-cs1-pi-pin {
> pins = "PI14";
> function = "spi0";
> };
>
> + /omit-if-no-ref/
> spi1_pi_pins: spi1-pi-pins {
> pins = "PI17", "PI18", "PI19";
> function = "spi1";
> };
>
> + /omit-if-no-ref/
> spi1_cs0_pi_pin: spi1-cs0-pi-pin {
> pins = "PI16";
> function = "spi1";
> };
>
> + /omit-if-no-ref/
> spi2_pb_pins: spi2-pb-pins {
> pins = "PB15", "PB16", "PB17";
> function = "spi2";
> };
>
> + /omit-if-no-ref/
> spi2_cs0_pb_pin: spi2-cs0-pb-pin {
> pins = "PB14";
> function = "spi2";
> };
>
> + /omit-if-no-ref/
> spi2_pc_pins: spi2-pc-pins {
> pins = "PC20", "PC21", "PC22";
> function = "spi2";
> };
>
> + /omit-if-no-ref/
> spi2_cs0_pc_pin: spi2-cs0-pc-pin {
> pins = "PC19";
> function = "spi2";
> };
>
> + /omit-if-no-ref/
> uart0_pb_pins: uart0-pb-pins {
> pins = "PB22", "PB23";
> function = "uart0";
> };
>
> + /omit-if-no-ref/
> + uart0_pf_pins: uart0-pf-pins {
> + pins = "PF2", "PF4";
> + function = "uart0";
> + };
> +
> + /omit-if-no-ref/
> + uart1_pa_pins: uart1-pa-pins {
> + pins = "PA10", "PA11";
> + function = "uart1";
> + };
> +
> + /omit-if-no-ref/
> + uart1_cts_rts_pa_pins: uart1-cts-rts-pa-pins {
> + pins = "PA12", "PA13";
> + function = "uart1";
> + };
> +
> + /omit-if-no-ref/
> + uart2_pa_pins: uart2-pa-pins {
> + pins = "PA2", "PA3";
> + function = "uart2";
> + };
> +
> + /omit-if-no-ref/
> + uart2_cts_rts_pa_pins: uart2-cts-rts-pa-pins {
> + pins = "PA0", "PA1";
> + function = "uart2";
> + };
> +
> + /omit-if-no-ref/
> uart2_pi_pins: uart2-pi-pins {
> pins = "PI18", "PI19";
> function = "uart2";
> };
>
> + /omit-if-no-ref/
> uart2_cts_rts_pi_pins: uart2-cts-rts-pi-pins {
> pins = "PI16", "PI17";
> function = "uart2";
> };
>
> + /omit-if-no-ref/
> uart3_pg_pins: uart3-pg-pins {
> pins = "PG6", "PG7";
> function = "uart3";
> };
>
> + /omit-if-no-ref/
> uart3_cts_rts_pg_pins: uart3-cts-rts-pg-pins {
> pins = "PG8", "PG9";
> function = "uart3";
> };
>
> + /omit-if-no-ref/
> uart3_ph_pins: uart3-ph-pins {
> pins = "PH0", "PH1";
> function = "uart3";
> };
>
> + /omit-if-no-ref/
> + uart3_cts_rts_ph_pins: uart3-cts-rts-ph-pins {
> + pins = "PH2", "PH3";
> + function = "uart3";
> + };
> +
> + /omit-if-no-ref/
> uart4_pg_pins: uart4-pg-pins {
> pins = "PG10", "PG11";
> function = "uart4";
> };
>
> + /omit-if-no-ref/
> uart4_ph_pins: uart4-ph-pins {
> pins = "PH4", "PH5";
> function = "uart4";
> };
>
> + /omit-if-no-ref/
> + uart5_ph_pins: uart5-ph-pins {
> + pins = "PH6", "PH7";
> + function = "uart5";
> + };
> +
> + /omit-if-no-ref/
> uart5_pi_pins: uart5-pi-pins {
> pins = "PI10", "PI11";
> function = "uart5";
> };
>
> + /omit-if-no-ref/
> + uart6_pa_pins: uart6-pa-pins {
> + pins = "PA12", "PA13";
> + function = "uart6";
> + };
> +
> + /omit-if-no-ref/
> uart6_pi_pins: uart6-pi-pins {
> pins = "PI12", "PI13";
> function = "uart6";
> };
>
> + /omit-if-no-ref/
> + uart7_pa_pins: uart7-pa-pins {
> + pins = "PA14", "PA15";
> + function = "uart7";
> + };
> +
> + /omit-if-no-ref/
> uart7_pi_pins: uart7-pi-pins {
> pins = "PI20", "PI21";
> function = "uart7";
> @@ -1004,6 +1194,8 @@
> wdt: watchdog@1c20c90 {
> compatible = "allwinner,sun4i-a10-wdt";
> reg = <0x01c20c90 0x10>;
> + interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
> + clocks = <&osc24M>;
> };
>
> rtc: rtc@1c20d00 {
> @@ -1326,8 +1518,12 @@
> snps,fixed-burst;
> snps,force_sf_dma_mode;
> status = "disabled";
> - #address-cells = <1>;
> - #size-cells = <0>;
> +
> + gmac_mdio: mdio {
> + compatible = "snps,dwmac-mdio";
> + #address-cells = <1>;
> + #size-cells = <0>;
> + };
> };
>
> hstimer@1c60000 {
> @@ -1341,7 +1537,7 @@
> };
>
> gic: interrupt-controller@1c81000 {
> - compatible = "arm,gic-400", "arm,cortex-a7-gic", "arm,cortex-a15-gic";
> + compatible = "arm,gic-400";
> reg = <0x01c81000 0x1000>,
> <0x01c82000 0x2000>,
> <0x01c84000 0x2000>,
next prev parent reply other threads:[~2022-05-06 0:40 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-04-27 20:31 [PATCH 00/12] sunxi: Devicetree sync from Linux v5.18-rc1 Samuel Holland
2022-04-27 20:31 ` [PATCH 01/12] dt-bindings: sunxi: Update clock/reset binding headers Samuel Holland
2022-05-06 0:39 ` Andre Przywara
2022-04-27 20:31 ` [PATCH 02/12] ARM: dts: sunxi: Remove unused devicetree headers Samuel Holland
2022-05-06 0:39 ` Andre Przywara
2022-04-27 20:31 ` [PATCH 03/12] ARM: dts: sun4i: Sync from Linux v5.18-rc1 Samuel Holland
2022-05-06 0:39 ` Andre Przywara
2022-04-27 20:31 ` [PATCH 04/12] ARM: dts: sun7i: " Samuel Holland
2022-05-06 0:39 ` Andre Przywara [this message]
2022-04-27 20:31 ` [PATCH 05/12] ARM: dts: sunxi: A13/A31/A23/A33: " Samuel Holland
2022-05-20 15:34 ` Andre Przywara
2022-04-27 20:31 ` [PATCH 06/12] ARM: dts: sun9i: " Samuel Holland
2022-05-20 13:39 ` Andre Przywara
2022-04-27 20:31 ` [PATCH 07/12] ARM: dts: sun8i: A83T: " Samuel Holland
2022-05-20 13:48 ` Andre Przywara
2022-04-27 20:31 ` [PATCH 08/12] ARM: dts: sunxi: H2+/H3/H5: " Samuel Holland
2022-05-22 23:33 ` Andre Przywara
2022-04-27 20:31 ` [PATCH 09/12] ARM: dts: sun8i: V3/V3s/S3: " Samuel Holland
2022-05-22 22:22 ` Andre Przywara
2022-04-27 20:31 ` [PATCH 10/12] ARM: dts: sun8i: R40/T3: " Samuel Holland
2022-05-22 22:38 ` Andre Przywara
2022-04-27 20:31 ` [PATCH 11/12] ARM: dts: sun50i: A64: " Samuel Holland
2022-05-20 14:01 ` Andre Przywara
2022-04-27 20:31 ` [PATCH 12/12] ARM: dts: sun50i: H6: " Samuel Holland
2022-05-20 14:14 ` Andre Przywara
2022-04-29 14:51 ` [PATCH 00/12] sunxi: Devicetree sync " Andre Przywara
2022-04-29 14:57 ` Tom Rini
2022-04-29 15:25 ` Andre Przywara
2022-04-29 15:31 ` Tom Rini
2022-04-29 15:57 ` Andre Przywara
2022-04-29 16:05 ` Mark Kettenis
2022-04-29 18:14 ` Tom Rini
2022-04-29 18:21 ` Mark Kettenis
2022-04-30 0:08 ` Andre Przywara
2022-04-30 2:38 ` Samuel Holland
2022-05-01 0:59 ` Andre Przywara
2022-05-01 11:01 ` Mark Kettenis
2022-05-03 1:57 ` Samuel Holland
2022-05-03 14:53 ` Andre Przywara
2022-05-01 16:25 ` Tom Rini
2022-05-24 15:58 ` Andre Przywara
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220506013940.39eb8144@slackpad.lan \
--to=andre.przywara@arm.com \
--cc=jagan@amarulasolutions.com \
--cc=samuel@sholland.org \
--cc=trini@konsulko.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.