Sync sun7i-a20 dts(i) files from Linux 5.1-rc2

Linux commit details about the sun7i-a20* sync:
"ARM: dts: sun7i: bananapi: Add GPIO banks regulators"
(sha1: 09c6572290f018d73ec2e812e28bada34d41815f)

Here are U-Boot specific dts changes.

- s/uart0_pins_a/uart0_pb_pins for
  sun7i-a20-ainol-aw1.dts
  sun7i-a20-m5.dts
  sun7i-a20-primo73.dts
  sun7i-a20-yones-toptech-bd1078.dts
  sunxi-itead-core-common.dtsi
- s/gmac_pins_mii_a/gmac_rgmii_pins for
  sun7i-a20-m5.dts
- drop i2c0, i2c1 pins from
  sunxi-itead-core-common.dtsi
- drop mmc0 pins from
  sun7i-a20-primo73.dts

Signed-off-by: Jagan Teki <[email protected]>
---
 arch/arm/dts/sun7i-a20-ainol-aw1.dts          |   2 +-
 arch/arm/dts/sun7i-a20-bananapi-m1-plus.dts   |  46 +---
 arch/arm/dts/sun7i-a20-bananapi.dts           |  49 ++--
 arch/arm/dts/sun7i-a20-bananapro.dts          |  65 +-----
 arch/arm/dts/sun7i-a20-cubieboard2.dts        |  21 +-
 arch/arm/dts/sun7i-a20-cubietruck.dts         |  83 +++----
 arch/arm/dts/sun7i-a20-hummingbird.dts        |  60 +----
 arch/arm/dts/sun7i-a20-i12-tvbox.dts          |  47 +---
 arch/arm/dts/sun7i-a20-icnova-swac.dts        |  10 +-
 arch/arm/dts/sun7i-a20-itead-ibox.dts         |  10 +-
 arch/arm/dts/sun7i-a20-lamobo-r1.dts          |  48 +---
 arch/arm/dts/sun7i-a20-m3.dts                 |  21 +-
 arch/arm/dts/sun7i-a20-m5.dts                 |   4 +-
 arch/arm/dts/sun7i-a20-mk808c.dts             |  26 +--
 .../arm/dts/sun7i-a20-olimex-som-evb-emmc.dts |  35 +++
 arch/arm/dts/sun7i-a20-olimex-som-evb.dts     |  68 ++----
 .../dts/sun7i-a20-olimex-som204-evb-emmc.dts  |   2 -
 arch/arm/dts/sun7i-a20-olimex-som204-evb.dts  |  36 ++-
 arch/arm/dts/sun7i-a20-olinuxino-lime.dts     |  22 +-
 .../dts/sun7i-a20-olinuxino-lime2-emmc.dts    |  11 -
 arch/arm/dts/sun7i-a20-olinuxino-lime2.dts    |  34 +--
 .../dts/sun7i-a20-olinuxino-micro-emmc.dts    |   2 -
 arch/arm/dts/sun7i-a20-olinuxino-micro.dts    |  54 ++---
 arch/arm/dts/sun7i-a20-orangepi-mini.dts      |  52 +----
 arch/arm/dts/sun7i-a20-orangepi.dts           |  44 +---
 arch/arm/dts/sun7i-a20-pcduino3-nano.dts      |  31 +--
 arch/arm/dts/sun7i-a20-pcduino3.dts           |  39 +---
 arch/arm/dts/sun7i-a20-primo73.dts            |   4 +-
 arch/arm/dts/sun7i-a20-wexler-tab7200.dts     |  39 +---
 arch/arm/dts/sun7i-a20-wits-pro-a20-dkt.dts   |  23 +-
 .../dts/sun7i-a20-yones-toptech-bd1078.dts    |   2 +-
 arch/arm/dts/sun7i-a20.dtsi                   | 209 ++++++++++++------
 arch/arm/dts/sunxi-itead-core-common.dtsi     |   6 +-
 33 files changed, 369 insertions(+), 836 deletions(-)
 create mode 100644 arch/arm/dts/sun7i-a20-olimex-som-evb-emmc.dts

diff --git a/arch/arm/dts/sun7i-a20-ainol-aw1.dts 
b/arch/arm/dts/sun7i-a20-ainol-aw1.dts
index 57fe0066cb..5914c919d4 100644
--- a/arch/arm/dts/sun7i-a20-ainol-aw1.dts
+++ b/arch/arm/dts/sun7i-a20-ainol-aw1.dts
@@ -23,6 +23,6 @@
 
 &uart0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart0_pins_a>;
+       pinctrl-0 = <&uart0_pb_pins>;
        status = "okay";
 };
diff --git a/arch/arm/dts/sun7i-a20-bananapi-m1-plus.dts 
b/arch/arm/dts/sun7i-a20-bananapi-m1-plus.dts
index 763cb03033..e2bfe00588 100644
--- a/arch/arm/dts/sun7i-a20-bananapi-m1-plus.dts
+++ b/arch/arm/dts/sun7i-a20-bananapi-m1-plus.dts
@@ -73,8 +73,6 @@
 
        leds {
                compatible = "gpio-leds";
-               pinctrl-names = "default";
-               pinctrl-0 = <&led_pins_bpi_m1p>;
 
                green {
                        label = "bananapi-m1-plus:green:usr";
@@ -90,15 +88,11 @@
 
        mmc3_pwrseq: mmc3_pwrseq {
                compatible = "mmc-pwrseq-simple";
-               pinctrl-names = "default";
-               pinctrl-0 = <&mmc3_pwrseq_pin_bpi_m1p>;
                reset-gpios = <&pio 7 22 GPIO_ACTIVE_LOW>; /* PH22 WL-PMU-EN */
        };
 
        reg_gmac_3v3: gmac-3v3 {
                compatible = "regulator-fixed";
-               pinctrl-names = "default";
-               pinctrl-0 = <&gmac_power_pin_bpi_m1p>;
                regulator-name = "gmac-3v3";
                regulator-min-microvolt = <3300000>;
                regulator-max-microvolt = <3300000>;
@@ -134,7 +128,7 @@
 
 &gmac {
        pinctrl-names = "default";
-       pinctrl-0 = <&gmac_pins_rgmii_a>;
+       pinctrl-0 = <&gmac_rgmii_pins>;
        phy = <&phy1>;
        phy-mode = "rgmii";
        phy-supply = <&reg_gmac_3v3>;
@@ -156,8 +150,6 @@
 };
 
 &i2c0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c0_pins_a>;
        status = "okay";
 
        axp209: pmic@34 {
@@ -175,13 +167,11 @@
 
 &ir0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&ir0_rx_pins_a>;
+       pinctrl-0 = <&ir0_rx_pin>;
        status = "okay";
 };
 
 &mmc0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_bpi_m1p>;
        vmmc-supply = <&reg_vcc3v3>;
        bus-width = <4>;
        cd-gpios = <&pio 7 10 GPIO_ACTIVE_LOW>; /* PH10 */
@@ -191,8 +181,6 @@
 &mmc3 {
        #address-cells = <1>;
        #size-cells = <0>;
-       pinctrl-names = "default";
-       pinctrl-0 = <&mmc3_pins_a>;
        vmmc-supply = <&reg_vcc3v3>;
        mmc-pwrseq = <&mmc3_pwrseq>;
        bus-width = <4>;
@@ -209,11 +197,6 @@
        };
 };
 
-&mmc3_pins_a {
-       /* AP6210 requires pull-up */
-       bias-pull-up;
-};
-
 &ohci0 {
        status = "okay";
 };
@@ -226,29 +209,6 @@
        status = "okay";
 };
 
-&pio {
-       gmac_power_pin_bpi_m1p: gmac_power_pin@0 {
-               pins = "PH23";
-               function = "gpio_out";
-       };
-
-       led_pins_bpi_m1p: led_pins@0 {
-               pins = "PH24", "PH25";
-               function = "gpio_out";
-       };
-
-       mmc0_cd_pin_bpi_m1p: mmc0_cd_pin@0 {
-               pins = "PH10";
-               function = "gpio_in";
-               bias-pull-up;
-       };
-
-       mmc3_pwrseq_pin_bpi_m1p: mmc3_pwrseq_pin@0 {
-               pins = "PH22";
-               function = "gpio_out";
-       };
-};
-
 &reg_dcdc2 {
        regulator-always-on;
        regulator-min-microvolt = <1000000>;
@@ -280,7 +240,7 @@
 
 &uart0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart0_pins_a>;
+       pinctrl-0 = <&uart0_pb_pins>;
        status = "okay";
 };
 
diff --git a/arch/arm/dts/sun7i-a20-bananapi.dts 
b/arch/arm/dts/sun7i-a20-bananapi.dts
index 70dfc4ac0b..81bc85d398 100644
--- a/arch/arm/dts/sun7i-a20-bananapi.dts
+++ b/arch/arm/dts/sun7i-a20-bananapi.dts
@@ -76,8 +76,6 @@
 
        leds {
                compatible = "gpio-leds";
-               pinctrl-names = "default";
-               pinctrl-0 = <&led_pins_bananapi>;
 
                green {
                        label = "bananapi:green:usr";
@@ -87,8 +85,6 @@
 
        reg_gmac_3v3: gmac-3v3 {
                compatible = "regulator-fixed";
-               pinctrl-names = "default";
-               pinctrl-0 = <&gmac_power_pin_bananapi>;
                regulator-name = "gmac-3v3";
                regulator-min-microvolt = <3300000>;
                regulator-max-microvolt = <3300000>;
@@ -134,7 +130,7 @@
 
 &gmac {
        pinctrl-names = "default";
-       pinctrl-0 = <&gmac_pins_rgmii_a>;
+       pinctrl-0 = <&gmac_rgmii_pins>;
        phy = <&phy1>;
        phy-mode = "rgmii";
        phy-supply = <&reg_gmac_3v3>;
@@ -156,8 +152,6 @@
 };
 
 &i2c0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c0_pins_a>;
        status = "okay";
 
        axp209: pmic@34 {
@@ -168,20 +162,16 @@
 };
 
 &i2c2 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c2_pins_a>;
        status = "okay";
 };
 
 &ir0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&ir0_rx_pins_a>;
+       pinctrl-0 = <&ir0_rx_pin>;
        status = "okay";
 };
 
 &mmc0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_bananapi>;
        vmmc-supply = <&reg_vcc3v3>;
        bus-width = <4>;
        cd-gpios = <&pio 7 10 GPIO_ACTIVE_LOW>; /* PH10 */
@@ -201,6 +191,11 @@
 };
 
 &pio {
+       vcc-pa-supply = <&reg_vcc3v3>;
+       vcc-pc-supply = <&reg_vcc3v3>;
+       vcc-pe-supply = <&reg_vcc3v3>;
+       vcc-pf-supply = <&reg_vcc3v3>;
+       vcc-pg-supply = <&reg_vcc3v3>;
        gpio-line-names =
                /* PA */
                "ERXD3", "ERXD2", "ERXD1", "ERXD0", "ETXD3",
@@ -252,27 +247,11 @@
                "IO-6", "IO-3", "IO-2", "IO-0", "", "", "", "",
                "", "", "", "", "", "", "", "";
 
-       usb0_id_detect_pin: usb0_id_detect_pin@0 {
+       usb0_id_detect_pin: usb0-id-detect-pin {
                pins = "PH4";
                function = "gpio_in";
                bias-pull-up;
        };
-
-       mmc0_cd_pin_bananapi: mmc0_cd_pin@0 {
-               pins = "PH10";
-               function = "gpio_in";
-               bias-pull-up;
-       };
-
-       gmac_power_pin_bananapi: gmac_power_pin@0 {
-               pins = "PH23";
-               function = "gpio_out";
-       };
-
-       led_pins_bananapi: led_pins@0 {
-               pins = "PH24";
-               function = "gpio_out";
-       };
 };
 
 #include "axp209.dtsi"
@@ -316,27 +295,27 @@
 
 &spi0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&spi0_pins_a>,
-                   <&spi0_cs0_pins_a>,
-                   <&spi0_cs1_pins_a>;
+       pinctrl-0 = <&spi0_pi_pins>,
+                   <&spi0_cs0_pi_pin>,
+                   <&spi0_cs1_pi_pin>;
        status = "okay";
 };
 
 &uart0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart0_pins_a>;
+       pinctrl-0 = <&uart0_pb_pins>;
        status = "okay";
 };
 
 &uart3 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart3_pins_b>;
+       pinctrl-0 = <&uart3_ph_pins>;
        status = "okay";
 };
 
 &uart7 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart7_pins_a>;
+       pinctrl-0 = <&uart7_pi_pins>;
        status = "okay";
 };
 
diff --git a/arch/arm/dts/sun7i-a20-bananapro.dts 
b/arch/arm/dts/sun7i-a20-bananapro.dts
index 0898eb6162..0176e9de01 100644
--- a/arch/arm/dts/sun7i-a20-bananapro.dts
+++ b/arch/arm/dts/sun7i-a20-bananapro.dts
@@ -62,8 +62,6 @@
 
        leds {
                compatible = "gpio-leds";
-               pinctrl-names = "default";
-               pinctrl-0 = <&led_pins_bananapro>;
 
                blue {
                        label = "bananapro:blue:usr";
@@ -78,15 +76,11 @@
 
        wifi_pwrseq: wifi-pwrseq {
                compatible = "mmc-pwrseq-simple";
-               pinctrl-names = "default";
-               pinctrl-0 = <&vmmc3_pin_bananapro>;
                reset-gpios = <&pio 7 22 GPIO_ACTIVE_LOW>;
        };
 
        reg_gmac_3v3: gmac-3v3 {
                compatible = "regulator-fixed";
-               pinctrl-names = "default";
-               pinctrl-0 = <&gmac_power_pin_bananapro>;
                regulator-name = "gmac-3v3";
                regulator-min-microvolt = <3300000>;
                regulator-max-microvolt = <3300000>;
@@ -114,7 +108,7 @@
 
 &gmac {
        pinctrl-names = "default";
-       pinctrl-0 = <&gmac_pins_rgmii_a>;
+       pinctrl-0 = <&gmac_rgmii_pins>;
        phy = <&phy1>;
        phy-mode = "rgmii";
        phy-supply = <&reg_gmac_3v3>;
@@ -126,8 +120,6 @@
 };
 
 &i2c0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c0_pins_a>;
        status = "okay";
 
        axp209: pmic@34 {
@@ -142,20 +134,16 @@
 };
 
 &i2c2 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c2_pins_a>;
        status = "okay";
 };
 
 &ir0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&ir0_rx_pins_a>;
+       pinctrl-0 = <&ir0_rx_pin>;
        status = "okay";
 };
 
 &mmc0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_bananapro>;
        vmmc-supply = <&reg_vcc3v3>;
        bus-width = <4>;
        cd-gpios = <&pio 7 10 GPIO_ACTIVE_LOW>; /* PH10 */
@@ -163,8 +151,6 @@
 };
 
 &mmc3 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&mmc3_pins_a>;
        vmmc-supply = <&reg_vcc3v3>;
        mmc-pwrseq = <&wifi_pwrseq>;
        bus-width = <4>;
@@ -188,74 +174,39 @@
        status = "okay";
 };
 
-&pio {
-       gmac_power_pin_bananapro: gmac_power_pin@0 {
-               pins = "PH23";
-               function = "gpio_out";
-       };
-
-       led_pins_bananapro: led_pins@0 {
-               pins = "PH24", "PG2";
-               function = "gpio_out";
-       };
-
-       mmc0_cd_pin_bananapro: mmc0_cd_pin@0 {
-               pins = "PH10";
-               function = "gpio_in";
-               bias-pull-up;
-       };
-
-       usb1_vbus_pin_bananapro: usb1_vbus_pin@0 {
-               pins = "PH0";
-               function = "gpio_out";
-       };
-
-       usb2_vbus_pin_bananapro: usb2_vbus_pin@0 {
-               pins = "PH1";
-               function = "gpio_out";
-       };
-
-       vmmc3_pin_bananapro: vmmc3_pin@0 {
-               pins = "PH22";
-               function = "gpio_out";
-       };
-};
-
 &reg_usb1_vbus {
-       pinctrl-0 = <&usb1_vbus_pin_bananapro>;
        gpio = <&pio 7 0 GPIO_ACTIVE_HIGH>; /* PH0 */
        status = "okay";
 };
 
 &reg_usb2_vbus {
-       pinctrl-0 = <&usb2_vbus_pin_bananapro>;
        gpio = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */
        status = "okay";
 };
 
 &spi0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&spi0_pins_a>,
-                   <&spi0_cs0_pins_a>,
-                   <&spi0_cs1_pins_a>;
+       pinctrl-0 = <&spi0_pi_pins>,
+                   <&spi0_cs0_pi_pin>,
+                   <&spi0_cs1_pi_pin>;
        status = "okay";
 };
 
 &uart0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart0_pins_a>;
+       pinctrl-0 = <&uart0_pb_pins>;
        status = "okay";
 };
 
 &uart4 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart4_pins_b>;
+       pinctrl-0 = <&uart4_ph_pins>;
        status = "okay";
 };
 
 &uart7 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart7_pins_a>;
+       pinctrl-0 = <&uart7_pi_pins>;
        status = "okay";
 };
 
diff --git a/arch/arm/dts/sun7i-a20-cubieboard2.dts 
b/arch/arm/dts/sun7i-a20-cubieboard2.dts
index 942ac9dfd4..200685b0b1 100644
--- a/arch/arm/dts/sun7i-a20-cubieboard2.dts
+++ b/arch/arm/dts/sun7i-a20-cubieboard2.dts
@@ -74,8 +74,6 @@
 
        leds {
                compatible = "gpio-leds";
-               pinctrl-names = "default";
-               pinctrl-0 = <&led_pins_cubieboard2>;
 
                blue {
                        label = "cubieboard2:blue:usr";
@@ -116,7 +114,7 @@
 
 &gmac {
        pinctrl-names = "default";
-       pinctrl-0 = <&gmac_pins_mii_a>;
+       pinctrl-0 = <&gmac_mii_pins>;
        phy = <&phy1>;
        phy-mode = "mii";
        status = "okay";
@@ -137,8 +135,6 @@
 };
 
 &i2c0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c0_pins_a>;
        status = "okay";
 
        axp209: pmic@34 {
@@ -149,20 +145,16 @@
 };
 
 &i2c1 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c1_pins_a>;
        status = "okay";
 };
 
 &ir0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&ir0_rx_pins_a>;
+       pinctrl-0 = <&ir0_rx_pin>;
        status = "okay";
 };
 
 &mmc0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&mmc0_pins_a>;
        vmmc-supply = <&reg_vcc3v3>;
        bus-width = <4>;
        cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
@@ -182,12 +174,7 @@
 };
 
 &pio {
-       led_pins_cubieboard2: led_pins@0 {
-               pins = "PH20", "PH21";
-               function = "gpio_out";
-       };
-
-       usb0_id_detect_pin: usb0_id_detect_pin@0 {
+       usb0_id_detect_pin: usb0-id-detect-pin {
                pins = "PH4";
                function = "gpio_in";
                bias-pull-up;
@@ -239,7 +226,7 @@
 
 &uart0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart0_pins_a>;
+       pinctrl-0 = <&uart0_pb_pins>;
        status = "okay";
 };
 
diff --git a/arch/arm/dts/sun7i-a20-cubietruck.dts 
b/arch/arm/dts/sun7i-a20-cubietruck.dts
index 5649161de1..99f531b8d2 100644
--- a/arch/arm/dts/sun7i-a20-cubietruck.dts
+++ b/arch/arm/dts/sun7i-a20-cubietruck.dts
@@ -74,8 +74,6 @@
 
        leds {
                compatible = "gpio-leds";
-               pinctrl-names = "default";
-               pinctrl-0 = <&led_pins_cubietruck>;
 
                blue {
                        label = "cubietruck:blue:usr";
@@ -100,9 +98,9 @@
 
        mmc3_pwrseq: mmc3_pwrseq {
                compatible = "mmc-pwrseq-simple";
-               pinctrl-names = "default";
-               pinctrl-0 = <&mmc3_pwrseq_pin_cubietruck>;
                reset-gpios = <&pio 7 9 GPIO_ACTIVE_LOW>; /* PH9 WIFI_EN */
+               clocks = <&ccu CLK_OUT_A>;
+               clock-names = "ext_clock";
        };
 
        sound {
@@ -151,7 +149,7 @@
 
 &gmac {
        pinctrl-names = "default";
-       pinctrl-0 = <&gmac_pins_rgmii_a>;
+       pinctrl-0 = <&gmac_rgmii_pins>;
        phy = <&phy1>;
        phy-mode = "rgmii";
        status = "okay";
@@ -172,8 +170,6 @@
 };
 
 &i2c0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c0_pins_a>;
        status = "okay";
 
        axp209: pmic@34 {
@@ -185,25 +181,20 @@
 
 &i2c1 {
        pinctrl-names = "default";
-       pinctrl-0 = <&i2c1_pins_a>;
        status = "okay";
 };
 
 &i2c2 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c2_pins_a>;
        status = "okay";
 };
 
 &ir0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&ir0_rx_pins_a>;
+       pinctrl-0 = <&ir0_rx_pin>;
        status = "okay";
 };
 
 &mmc0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&mmc0_pins_a>;
        vmmc-supply = <&reg_vcc3v3>;
        bus-width = <4>;
        cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
@@ -211,8 +202,6 @@
 };
 
 &mmc3 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&mmc3_pins_a>;
        vmmc-supply = <&reg_vcc3v3>;
        mmc-pwrseq = <&mmc3_pwrseq>;
        bus-width = <4>;
@@ -228,11 +217,6 @@
        };
 };
 
-&mmc3_pins_a {
-       /* AP6210 requires pull-up */
-       bias-pull-up;
-};
-
 &ohci0 {
        status = "okay";
 };
@@ -246,45 +230,18 @@
 };
 
 &pio {
-       ahci_pwr_pin_cubietruck: ahci_pwr_pin@1 {
-               pins = "PH12";
-               function = "gpio_out";
-       };
-
-       led_pins_cubietruck: led_pins@0 {
-               pins = "PH7", "PH11", "PH20", "PH21";
-               function = "gpio_out";
-       };
-
-       mmc3_pwrseq_pin_cubietruck: mmc3_pwrseq_pin@0 {
-               pins = "PH9";
-               function = "gpio_out";
-       };
-
-       usb0_vbus_pin_a: usb0_vbus_pin@0 {
-               pins = "PH17";
-               function = "gpio_out";
-       };
-
-       usb0_id_detect_pin: usb0_id_detect_pin@0 {
-               pins = "PH19";
-               function = "gpio_in";
-       };
-
-       usb0_vbus_detect_pin: usb0_vbus_detect_pin@0 {
-               pins = "PH22";
-               function = "gpio_in";
-       };
+       /* Pin outputs low power clock for WiFi and BT */
+       pinctrl-0 = <&clk_out_a_pin>;
+       pinctrl-names = "default";
 };
 
 &pwm {
        pinctrl-names = "default";
-       pinctrl-0 = <&pwm0_pins_a>, <&pwm1_pins_a>;
+       pinctrl-0 = <&pwm0_pin>, <&pwm1_pin>;
        status = "okay";
 };
 
 &reg_ahci_5v {
-       pinctrl-0 = <&ahci_pwr_pin_cubietruck>;
        gpio = <&pio 7 12 GPIO_ACTIVE_HIGH>;
        status = "okay";
 };
@@ -325,7 +282,6 @@
 };
 
 &reg_usb0_vbus {
-       pinctrl-0 = <&usb0_vbus_pin_a>;
        gpio = <&pio 7 17 GPIO_ACTIVE_HIGH>;
        status = "okay";
 };
@@ -340,14 +296,31 @@
 
 &spdif {
        pinctrl-names = "default";
-       pinctrl-0 = <&spdif_tx_pins_a>;
+       pinctrl-0 = <&spdif_tx_pin>;
        status = "okay";
 };
 
 &uart0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart0_pins_a>;
+       pinctrl-0 = <&uart0_pb_pins>;
+       status = "okay";
+};
+
+&uart2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&uart2_pi_pins>, <&uart2_cts_rts_pi_pins>;
+       uart-has-rtscts;
        status = "okay";
+
+       bluetooth {
+               compatible = "brcm,bcm20702a1";
+               clocks = <&ccu CLK_OUT_A>;
+               clock-names = "lpo";
+               device-wakeup-gpios = <&pio 7 24 GPIO_ACTIVE_LOW>; /* PH24 */
+               host-wakeup-gpios = <&pio 7 25 GPIO_ACTIVE_LOW>; /* PH25 */
+               shutdown-gpios = <&pio 7 18 GPIO_ACTIVE_HIGH>; /* PH18 */
+               max-speed = <1500000>;
+       };
 };
 
 &usb_otg {
@@ -360,8 +333,6 @@
 };
 
 &usbphy {
-       pinctrl-names = "default";
-       pinctrl-0 = <&usb0_id_detect_pin>, <&usb0_vbus_detect_pin>;
        usb0_id_det-gpios = <&pio 7 19 GPIO_ACTIVE_HIGH>; /* PH19 */
        usb0_vbus_det-gpios = <&pio 7 22 GPIO_ACTIVE_HIGH>; /* PH22 */
        usb0_vbus_power-supply = <&usb_power_supply>;
diff --git a/arch/arm/dts/sun7i-a20-hummingbird.dts 
b/arch/arm/dts/sun7i-a20-hummingbird.dts
index 1f0e5ecbf0..fd0153f656 100644
--- a/arch/arm/dts/sun7i-a20-hummingbird.dts
+++ b/arch/arm/dts/sun7i-a20-hummingbird.dts
@@ -67,8 +67,6 @@
 
        reg_mmc3_vdd: mmc3_vdd {
                compatible = "regulator-fixed";
-               pinctrl-names = "default";
-               pinctrl-0 = <&mmc3_vdd_pin_a20_hummingbird>;
                regulator-name = "mmc3_vdd";
                regulator-min-microvolt = <3000000>;
                regulator-max-microvolt = <3000000>;
@@ -78,8 +76,6 @@
 
        reg_gmac_vdd: gmac_vdd {
                compatible = "regulator-fixed";
-               pinctrl-names = "default";
-               pinctrl-0 = <&gmac_vdd_pin_a20_hummingbird>;
                regulator-name = "gmac_vdd";
                regulator-min-microvolt = <3000000>;
                regulator-max-microvolt = <3000000>;
@@ -103,7 +99,7 @@
 
 &gmac {
        pinctrl-names = "default";
-       pinctrl-0 = <&gmac_pins_rgmii_a>;
+       pinctrl-0 = <&gmac_rgmii_pins>;
        phy = <&phy1>;
        phy-mode = "rgmii";
        phy-supply = <&reg_gmac_vdd>;
@@ -120,8 +116,6 @@
 };
 
 &i2c0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c0_pins_a>;
        status = "okay";
 
        axp209: pmic@34 {
@@ -135,32 +129,24 @@
 };
 
 &i2c1 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c1_pins_a>;
        status = "okay";
 };
 
 &i2c2 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c2_pins_a>;
        status = "okay";
 };
 
 &i2c3 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c3_pins_a>;
        status = "okay";
 };
 
 &ir0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&ir0_rx_pins_a>;
+       pinctrl-0 = <&ir0_rx_pin>;
        status = "okay";
 };
 
 &mmc0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&mmc0_pins_a>;
        vmmc-supply = <&reg_vcc3v0>;
        bus-width = <4>;
        cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
@@ -168,8 +154,6 @@
 };
 
 &mmc3 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&mmc3_pins_a>;
        vmmc-supply = <&reg_mmc3_vdd>;
        bus-width = <4>;
        non-removable;
@@ -184,42 +168,18 @@
        status = "okay";
 };
 
-&pio {
-       ahci_pwr_pin_a20_hummingbird: ahci_pwr_pin@0 {
-               pins = "PH15";
-               function = "gpio_out";
-       };
-
-       usb1_vbus_pin_a20_hummingbird: usb1_vbus_pin@0 {
-               pins = "PH2";
-               function = "gpio_out";
-       };
-
-       mmc3_vdd_pin_a20_hummingbird: mmc3_vdd_pin@0 {
-               pins = "PH9";
-               function = "gpio_out";
-       };
-
-       gmac_vdd_pin_a20_hummingbird: gmac_vdd_pin@0 {
-               pins = "PH16";
-               function = "gpio_out";
-       };
-};
-
 &pwm {
        pinctrl-names = "default";
-       pinctrl-0 = <&pwm0_pins_a>;
+       pinctrl-0 = <&pwm0_pin>;
        status = "okay";
 };
 
 &reg_ahci_5v {
-       pinctrl-0 = <&ahci_pwr_pin_a20_hummingbird>;
        gpio = <&pio 7 15 GPIO_ACTIVE_HIGH>; /* PH15 */
        status = "okay";
 };
 
 &reg_usb1_vbus {
-       pinctrl-0 = <&usb1_vbus_pin_a20_hummingbird>;
        gpio = <&pio 7 2 GPIO_ACTIVE_HIGH>; /* PH2 */
        status = "okay";
 };
@@ -230,38 +190,38 @@
 
 &spi2 {
        pinctrl-names = "default";
-       pinctrl-0 = <&spi2_pins_b>,
-                   <&spi2_cs0_pins_b>;
+       pinctrl-0 = <&spi2_pb_pins>,
+                   <&spi2_cs0_pb_pin>;
        status = "okay";
 };
 
 &uart0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart0_pins_a>;
+       pinctrl-0 = <&uart0_pb_pins>;
        status = "okay";
 };
 
 &uart2 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart2_pins_a>;
+       pinctrl-0 = <&uart2_pi_pins>, <&uart2_cts_rts_pi_pins>;
        status = "okay";
 };
 
 &uart3 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart3_pins_a>;
+       pinctrl-0 = <&uart3_pg_pins>, <&uart3_cts_rts_pg_pins>;
        status = "okay";
 };
 
 &uart4 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart4_pins_a>;
+       pinctrl-0 = <&uart4_pg_pins>;
        status = "okay";
 };
 
 &uart5 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart5_pins_a>;
+       pinctrl-0 = <&uart5_pi_pins>;
        status = "okay";
 };
 
diff --git a/arch/arm/dts/sun7i-a20-i12-tvbox.dts 
b/arch/arm/dts/sun7i-a20-i12-tvbox.dts
index 2e3f2f29d1..5f1c4f573d 100644
--- a/arch/arm/dts/sun7i-a20-i12-tvbox.dts
+++ b/arch/arm/dts/sun7i-a20-i12-tvbox.dts
@@ -61,8 +61,6 @@
 
        leds {
                compatible = "gpio-leds";
-               pinctrl-names = "default";
-               pinctrl-0 = <&led_pins_i12_tvbox>;
 
                red {
                        label = "i12_tvbox:red:usr";
@@ -77,8 +75,6 @@
 
        reg_vmmc3: vmmc3 {
                compatible = "regulator-fixed";
-               pinctrl-names = "default";
-               pinctrl-0 = <&vmmc3_pin_i12_tvbox>;
                regulator-name = "vmmc3";
                regulator-min-microvolt = <3300000>;
                regulator-max-microvolt = <3300000>;
@@ -88,8 +84,6 @@
 
        reg_vmmc3_io: vmmc3-io {
                compatible = "regulator-fixed";
-               pinctrl-names = "default";
-               pinctrl-0 = <&vmmc3_io_pin_i12_tvbox>;
                regulator-name = "vmmc3-io";
                regulator-min-microvolt = <3300000>;
                regulator-max-microvolt = <3300000>;
@@ -101,8 +95,6 @@
 
        reg_gmac_3v3: gmac-3v3 {
                compatible = "regulator-fixed";
-               pinctrl-names = "default";
-               pinctrl-0 = <&gmac_power_pin_i12_tvbox>;
                regulator-name = "gmac-3v3";
                regulator-min-microvolt = <3300000>;
                regulator-max-microvolt = <3300000>;
@@ -122,7 +114,7 @@
 
 &gmac {
        pinctrl-names = "default";
-       pinctrl-0 = <&gmac_pins_mii_a>;
+       pinctrl-0 = <&gmac_mii_pins>;
        phy = <&phy1>;
        phy-mode = "mii";
        phy-supply = <&reg_gmac_3v3>;
@@ -134,8 +126,6 @@
 };
 
 &i2c0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c0_pins_a>;
        status = "okay";
 
        axp209: pmic@34 {
@@ -151,13 +141,11 @@
 
 &ir0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&ir0_rx_pins_a>;
+       pinctrl-0 = <&ir0_rx_pin>;
        status = "okay";
 };
 
 &mmc0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&mmc0_pins_a>;
        vmmc-supply = <&reg_vcc3v3>;
        bus-width = <4>;
        cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
@@ -165,8 +153,6 @@
 };
 
 &mmc3 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&mmc3_pins_a>;
        vmmc-supply = <&reg_vmmc3>;
        bus-width = <4>;
        non-removable;
@@ -181,11 +167,6 @@
        };
 };
 
-&mmc3_pins_a {
-       /* AP6210 / AP6330 requires pull-up */
-       bias-pull-up;
-};
-
 &ohci0 {
        status = "okay";
 };
@@ -194,28 +175,6 @@
        status = "okay";
 };
 
-&pio {
-       vmmc3_pin_i12_tvbox: vmmc3_pin@0 {
-               pins = "PH2";
-               function = "gpio_out";
-       };
-
-       vmmc3_io_pin_i12_tvbox: vmmc3_io_pin@0 {
-               pins = "PH12";
-               function = "gpio_out";
-       };
-
-       gmac_power_pin_i12_tvbox: gmac_power_pin@0 {
-               pins = "PH21";
-               function = "gpio_out";
-       };
-
-       led_pins_i12_tvbox: led_pins@0 {
-               pins = "PH9", "PH20";
-               function = "gpio_out";
-       };
-};
-
 &reg_usb1_vbus {
        status = "okay";
 };
@@ -226,7 +185,7 @@
 
 &uart0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart0_pins_a>;
+       pinctrl-0 = <&uart0_pb_pins>;
        status = "okay";
 };
 
diff --git a/arch/arm/dts/sun7i-a20-icnova-swac.dts 
b/arch/arm/dts/sun7i-a20-icnova-swac.dts
index 926fa194eb..949494730a 100644
--- a/arch/arm/dts/sun7i-a20-icnova-swac.dts
+++ b/arch/arm/dts/sun7i-a20-icnova-swac.dts
@@ -74,7 +74,7 @@
 
 &gmac {
        pinctrl-names = "default";
-       pinctrl-0 = <&gmac_pins_mii_a>;
+       pinctrl-0 = <&gmac_mii_pins>;
        phy = <&phy1>;
        phy-mode = "mii";
        status = "okay";
@@ -85,8 +85,6 @@
 };
 
 &i2c0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c0_pins_a>;
        status = "okay";
 
        axp209: pmic@34 {
@@ -97,14 +95,10 @@
 };
 
 &i2c1 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c1_pins_a>;
        status = "okay";
 };
 
 &mmc0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&mmc0_pins_a>;
        vmmc-supply = <&reg_vcc3v3>;
        bus-width = <4>;
        cd-gpios = <&pio 8 5 GPIO_ACTIVE_LOW>; /* PI5 */
@@ -156,7 +150,7 @@
 
 &uart0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart0_pins_a>;
+       pinctrl-0 = <&uart0_pb_pins>;
        status = "okay";
 };
 
diff --git a/arch/arm/dts/sun7i-a20-itead-ibox.dts 
b/arch/arm/dts/sun7i-a20-itead-ibox.dts
index 1b05ba466e..b90a7607d0 100644
--- a/arch/arm/dts/sun7i-a20-itead-ibox.dts
+++ b/arch/arm/dts/sun7i-a20-itead-ibox.dts
@@ -96,7 +96,7 @@
 
 &gmac {
        pinctrl-names = "default";
-       pinctrl-0 = <&gmac_pins_mii_a>;
+       pinctrl-0 = <&gmac_mii_pins>;
        phy = <&phy1>;
        phy-mode = "mii";
        status = "okay";
@@ -115,13 +115,11 @@
 
 &ir0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&ir0_rx_pins_a>;
+       pinctrl-0 = <&ir0_rx_pin>;
        status = "okay";
 };
 
 &mmc0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&mmc0_pins_a>;
        vmmc-supply = <&reg_vcc3v3>;
        bus-width = <4>;
        cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
@@ -129,7 +127,7 @@
 };
 
 &pio {
-       led_pins_itead_core: led_pins@0 {
+       led_pins_itead_core: led-pins {
                pins = "PH20","PH21";
                function = "gpio_out";
                drive-strength = <20>;
@@ -142,6 +140,6 @@
 
 &spdif {
        pinctrl-names = "default";
-       pinctrl-0 = <&spdif_tx_pins_a>;
+       pinctrl-0 = <&spdif_tx_pin>;
        status = "okay";
 };
diff --git a/arch/arm/dts/sun7i-a20-lamobo-r1.dts 
b/arch/arm/dts/sun7i-a20-lamobo-r1.dts
index b1ab7c1c33..f91e1bee44 100644
--- a/arch/arm/dts/sun7i-a20-lamobo-r1.dts
+++ b/arch/arm/dts/sun7i-a20-lamobo-r1.dts
@@ -74,8 +74,6 @@
 
        leds {
                compatible = "gpio-leds";
-               pinctrl-names = "default";
-               pinctrl-0 = <&led_pins_lamobo_r1>;
 
                green {
                        label = "lamobo_r1:green:usr";
@@ -85,8 +83,6 @@
 
        reg_gmac_3v3: gmac-3v3 {
                compatible = "regulator-fixed";
-               pinctrl-names = "default";
-               pinctrl-0 = <&gmac_power_pin_lamobo_r1>;
                regulator-name = "gmac-3v3";
                regulator-min-microvolt = <3300000>;
                regulator-max-microvolt = <3300000>;
@@ -123,10 +119,12 @@
 
 &gmac {
        pinctrl-names = "default";
-       pinctrl-0 = <&gmac_pins_rgmii_a>;
+       pinctrl-0 = <&gmac_rgmii_pins>;
        phy-mode = "rgmii";
        phy-supply = <&reg_gmac_3v3>;
        status = "okay";
+       /delete-property/#address-cells;
+       /delete-property/#size-cells;
 
        fixed-link {
                speed = <1000>;
@@ -141,8 +139,6 @@
                switch: ethernet-switch@1e {
                        compatible = "brcm,bcm53125";
                        reg = <30>;
-                       #address-cells = <1>;
-                       #size-cells = <0>;
 
                        ports {
                                #address-cells = <1>;
@@ -199,8 +195,6 @@
 };
 
 &i2c0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c0_pins_a>;
        status = "okay";
 
        axp209: pmic@34 {
@@ -211,20 +205,16 @@
 };
 
 &i2c2 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c2_pins_a>;
        status = "okay";
 };
 
 &ir0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&ir0_rx_pins_a>;
+       pinctrl-0 = <&ir0_rx_pin>;
        status = "okay";
 };
 
 &mmc0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_lamobo_r1>;
        vmmc-supply = <&reg_vcc3v3>;
        bus-width = <4>;
        cd-gpios = <&pio 7 10 GPIO_ACTIVE_LOW>; /* PH10 */
@@ -240,27 +230,11 @@
 };
 
 &pio {
-       usb0_id_detect_pin: usb0_id_detect_pin@0 {
+       usb0_id_detect_pin: usb0-id-detect-pin {
                pins = "PH4";
                function = "gpio_in";
                bias-pull-up;
        };
-
-       mmc0_cd_pin_lamobo_r1: mmc0_cd_pin@0 {
-               pins = "PH10";
-               function = "gpio_in";
-               bias-pull-up;
-       };
-
-       gmac_power_pin_lamobo_r1: gmac_power_pin@0 {
-               pins = "PH23";
-               function = "gpio_out";
-       };
-
-       led_pins_lamobo_r1: led_pins@0 {
-               pins = "PH24";
-               function = "gpio_out";
-       };
 };
 
 #include "axp209.dtsi"
@@ -314,27 +288,27 @@
 
 &spi0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&spi0_pins_a>,
-                   <&spi0_cs0_pins_a>,
-                   <&spi0_cs1_pins_a>;
+       pinctrl-0 = <&spi0_pi_pins>,
+                   <&spi0_cs0_pi_pin>,
+                   <&spi0_cs1_pi_pin>;
        status = "okay";
 };
 
 &uart0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart0_pins_a>;
+       pinctrl-0 = <&uart0_pb_pins>;
        status = "okay";
 };
 
 &uart3 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart3_pins_b>;
+       pinctrl-0 = <&uart3_ph_pins>;
        status = "okay";
 };
 
 &uart7 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart7_pins_a>;
+       pinctrl-0 = <&uart7_pi_pins>;
        status = "okay";
 };
 
diff --git a/arch/arm/dts/sun7i-a20-m3.dts b/arch/arm/dts/sun7i-a20-m3.dts
index e91a209850..b8a1aaaf39 100644
--- a/arch/arm/dts/sun7i-a20-m3.dts
+++ b/arch/arm/dts/sun7i-a20-m3.dts
@@ -63,8 +63,6 @@
 
        leds {
                compatible = "gpio-leds";
-               pinctrl-names = "default";
-               pinctrl-0 = <&led_pins_m3>;
 
                blue {
                        label = "m3:blue:usr";
@@ -83,7 +81,7 @@
 
 &gmac {
        pinctrl-names = "default";
-       pinctrl-0 = <&gmac_pins_mii_a>;
+       pinctrl-0 = <&gmac_mii_pins>;
        phy = <&phy1>;
        phy-mode = "mii";
        status = "okay";
@@ -94,8 +92,6 @@
 };
 
 &i2c0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c0_pins_a>;
        status = "okay";
 
        axp209: pmic@34 {
@@ -111,13 +107,11 @@
 
 &ir0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&ir0_rx_pins_a>;
+       pinctrl-0 = <&ir0_rx_pin>;
        status = "okay";
 };
 
 &mmc0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&mmc0_pins_a>;
        vmmc-supply = <&reg_vcc3v3>;
        bus-width = <4>;
        cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
@@ -125,8 +119,6 @@
 };
 
 &mmc2 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&mmc2_pins_a>;
        vmmc-supply = <&reg_vcc3v3>;
        bus-width = <4>;
        non-removable;
@@ -141,13 +133,6 @@
        status = "okay";
 };
 
-&pio {
-       led_pins_m3: led_pins@0 {
-               pins = "PH20";
-               function = "gpio_out";
-       };
-};
-
 &reg_usb1_vbus {
        status = "okay";
 };
@@ -158,7 +143,7 @@
 
 &uart0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart0_pins_a>;
+       pinctrl-0 = <&uart0_pb_pins>;
        status = "okay";
 };
 
diff --git a/arch/arm/dts/sun7i-a20-m5.dts b/arch/arm/dts/sun7i-a20-m5.dts
index 00c3ffd323..65930cc6ee 100644
--- a/arch/arm/dts/sun7i-a20-m5.dts
+++ b/arch/arm/dts/sun7i-a20-m5.dts
@@ -31,7 +31,7 @@
 
 &gmac {
        pinctrl-names = "default";
-       pinctrl-0 = <&gmac_pins_mii_a>;
+       pinctrl-0 = <&gmac_rgmii_pins>;
        phy = <&phy1>;
        phy-mode = "mii";
        status = "okay";
@@ -51,6 +51,6 @@
 
 &uart0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart0_pins_a>;
+       pinctrl-0 = <&uart0_pb_pins>;
        status = "okay";
 };
diff --git a/arch/arm/dts/sun7i-a20-mk808c.dts 
b/arch/arm/dts/sun7i-a20-mk808c.dts
index 6109f794a9..1491c603f6 100644
--- a/arch/arm/dts/sun7i-a20-mk808c.dts
+++ b/arch/arm/dts/sun7i-a20-mk808c.dts
@@ -106,8 +106,6 @@
 };
 
 &i2c0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c0_pins_a>;
        status = "okay";
 
        axp209: pmic@34 {
@@ -121,20 +119,14 @@
 };
 
 &i2c1 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c1_pins_a>;
        status = "okay";
 };
 
 &i2c2 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c2_pins_a>;
        status = "okay";
 };
 
 &mmc0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&mmc0_pins_a>;
        vmmc-supply = <&reg_vcc3v0>;
        bus-width = <4>;
        cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
@@ -153,18 +145,6 @@
        status = "okay";
 };
 
-&pio {
-       usb0_id_detect_pin: usb0_id_detect_pin@0 {
-               pins = "PH4";
-               function = "gpio_in";
-       };
-
-       usb0_vbus_detect_pin: usb0_vbus_detect_pin@0 {
-               pins = "PH5";
-               function = "gpio_in";
-       };
-};
-
 &reg_usb0_vbus {
        status = "okay";
 };
@@ -179,13 +159,13 @@
 
 &uart0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart0_pins_a>;
+       pinctrl-0 = <&uart0_pb_pins>;
        status = "okay";
 };
 
 &uart2 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart2_pins_a>;
+       pinctrl-0 = <&uart2_pi_pins>, <&uart2_cts_rts_pi_pins>;
        status = "okay";
 };
 
@@ -195,8 +175,6 @@
 };
 
 &usbphy {
-       pinctrl-names = "default";
-       pinctrl-0 = <&usb0_id_detect_pin>, <&usb0_vbus_detect_pin>;
        usb0_id_det-gpios = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
        usb0_vbus_det-gpios = <&pio 7 5 GPIO_ACTIVE_HIGH>; /* PH5 */
        usb0_vbus-supply = <&reg_usb0_vbus>;
diff --git a/arch/arm/dts/sun7i-a20-olimex-som-evb-emmc.dts 
b/arch/arm/dts/sun7i-a20-olimex-som-evb-emmc.dts
new file mode 100644
index 0000000000..20bf09b222
--- /dev/null
+++ b/arch/arm/dts/sun7i-a20-olimex-som-evb-emmc.dts
@@ -0,0 +1,35 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Device Tree Source for A20-Olimex-SOM-EVB-eMMC Board
+ *
+ * Copyright (C) 2018 Olimex Ltd.
+ *   Author: Stefan Mavrodiev <[email protected]>
+ */
+
+/dts-v1/;
+#include "sun7i-a20-olimex-som-evb.dts"
+
+/ {
+
+       model = "Olimex A20-Olimex-SOM-EVB-eMMC";
+       compatible = "olimex,a20-olimex-som-evb-emmc", "allwinner,sun7i-a20";
+
+       mmc2_pwrseq: mmc2_pwrseq {
+               compatible = "mmc-pwrseq-emmc";
+               reset-gpios = <&pio 2 18 GPIO_ACTIVE_LOW>;
+       };
+};
+
+&mmc2 {
+       vmmc-supply = <&reg_vcc3v3>;
+       mmc-pwrseq = <&mmc2_pwrseq>;
+       bus-width = <4>;
+       non-removable;
+       status = "okay";
+
+       emmc: emmc@0 {
+               reg = <0>;
+               compatible = "mmc-card";
+               broken-hpi;
+       };
+};
diff --git a/arch/arm/dts/sun7i-a20-olimex-som-evb.dts 
b/arch/arm/dts/sun7i-a20-olimex-som-evb.dts
index f080f82b58..f0e6a96e57 100644
--- a/arch/arm/dts/sun7i-a20-olimex-som-evb.dts
+++ b/arch/arm/dts/sun7i-a20-olimex-som-evb.dts
@@ -74,8 +74,6 @@
 
        leds {
                compatible = "gpio-leds";
-               pinctrl-names = "default";
-               pinctrl-0 = <&led_pins_olimex_som_evb>;
 
                green {
                        label = "a20-olimex-som-evb:green:usr";
@@ -112,7 +110,7 @@
 
 &gmac {
        pinctrl-names = "default";
-       pinctrl-0 = <&gmac_pins_rgmii_a>;
+       pinctrl-0 = <&gmac_rgmii_pins>;
        phy = <&phy1>;
        phy-mode = "rgmii";
        status = "okay";
@@ -133,8 +131,6 @@
 };
 
 &i2c0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c0_pins_a>;
        status = "okay";
 
        axp209: pmic@34 {
@@ -145,14 +141,10 @@
 };
 
 &i2c1 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c1_pins_a>;
        status = "okay";
 };
 
 &i2c2 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c2_pins_a>;
        status = "okay";
 };
 
@@ -160,49 +152,49 @@
        vref-supply = <&reg_vcc3v0>;
        status = "okay";
 
-       button@190 {
+       button-190 {
                label = "Volume Up";
                linux,code = <KEY_VOLUMEUP>;
                channel = <0>;
                voltage = <190000>;
        };
 
-       button@390 {
+       button-390 {
                label = "Volume Down";
                linux,code = <KEY_VOLUMEDOWN>;
                channel = <0>;
                voltage = <390000>;
        };
 
-       button@600 {
+       button-600 {
                label = "Menu";
                linux,code = <KEY_MENU>;
                channel = <0>;
                voltage = <600000>;
        };
 
-       button@800 {
+       button-800 {
                label = "Search";
                linux,code = <KEY_SEARCH>;
                channel = <0>;
                voltage = <800000>;
        };
 
-       button@980 {
+       button-980 {
                label = "Home";
                linux,code = <KEY_HOMEPAGE>;
                channel = <0>;
                voltage = <980000>;
        };
 
-       button@1180 {
+       button-1180 {
                label = "Esc";
                linux,code = <KEY_ESC>;
                channel = <0>;
                voltage = <1180000>;
        };
 
-       button@1400 {
+       button-1400 {
                label = "Enter";
                linux,code = <KEY_ENTER>;
                channel = <0>;
@@ -211,8 +203,6 @@
 };
 
 &mmc0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&mmc0_pins_a>;
        vmmc-supply = <&reg_vcc3v3>;
        bus-width = <4>;
        cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
@@ -220,8 +210,6 @@
 };
 
 &mmc3 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&mmc3_pins_a>, <&mmc3_cd_pin_olimex_som_evb>;
        vmmc-supply = <&reg_vcc3v3>;
        bus-width = <4>;
        cd-gpios = <&pio 7 0 GPIO_ACTIVE_LOW>; /* PH0 */
@@ -241,36 +229,14 @@
 };
 
 &pio {
-       ahci_pwr_pin_olimex_som_evb: ahci_pwr_pin@1 {
-               pins = "PC3";
-               function = "gpio_out";
-       };
-
-       led_pins_olimex_som_evb: led_pins@0 {
+       led_pins_olimex_som_evb: led-pins {
                pins = "PH2";
                function = "gpio_out";
                drive-strength = <20>;
        };
-
-       mmc3_cd_pin_olimex_som_evb: mmc3_cd_pin@0 {
-               pins = "PH0";
-               function = "gpio_in";
-               bias-pull-up;
-       };
-
-       usb0_id_detect_pin: usb0_id_detect_pin@0 {
-               pins = "PH4";
-               function = "gpio_in";
-       };
-
-       usb0_vbus_detect_pin: usb0_vbus_detect_pin@0 {
-               pins = "PH5";
-               function = "gpio_in";
-       };
 };
 
 &reg_ahci_5v {
-       pinctrl-0 = <&ahci_pwr_pin_olimex_som_evb>;
        gpio = <&pio 2 3 GPIO_ACTIVE_HIGH>;
        status = "okay";
 };
@@ -316,33 +282,33 @@
 
 &spi1 {
        pinctrl-names = "default";
-       pinctrl-0 = <&spi1_pins_a>,
-                   <&spi1_cs0_pins_a>;
+       pinctrl-0 = <&spi1_pi_pins>,
+                   <&spi1_cs0_pi_pin>;
        status = "okay";
 };
 
 &spi2 {
        pinctrl-names = "default";
-       pinctrl-0 = <&spi2_pins_a>,
-                   <&spi2_cs0_pins_a>;
+       pinctrl-0 = <&spi2_pc_pins>,
+                   <&spi2_cs0_pc_pin>;
        status = "okay";
 };
 
 &uart0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart0_pins_a>;
+       pinctrl-0 = <&uart0_pb_pins>;
        status = "okay";
 };
 
 &uart6 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart6_pins_a>;
+       pinctrl-0 = <&uart6_pi_pins>;
        status = "okay";
 };
 
 &uart7 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart7_pins_a>;
+       pinctrl-0 = <&uart7_pi_pins>;
        status = "okay";
 };
 
@@ -352,8 +318,6 @@
 };
 
 &usbphy {
-       pinctrl-names = "default";
-       pinctrl-0 = <&usb0_id_detect_pin>, <&usb0_vbus_detect_pin>;
        usb0_id_det-gpios = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH04 */
        usb0_vbus_det-gpios = <&pio 7 5 GPIO_ACTIVE_HIGH>; /* PH05 */
        usb0_vbus-supply = <&reg_usb0_vbus>;
diff --git a/arch/arm/dts/sun7i-a20-olimex-som204-evb-emmc.dts 
b/arch/arm/dts/sun7i-a20-olimex-som204-evb-emmc.dts
index c56620a8fb..a59755a2e7 100644
--- a/arch/arm/dts/sun7i-a20-olimex-som204-evb-emmc.dts
+++ b/arch/arm/dts/sun7i-a20-olimex-som204-evb-emmc.dts
@@ -20,8 +20,6 @@
 };
 
 &mmc2 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&mmc2_pins_a>;
        vmmc-supply = <&reg_vcc3v3>;
        mmc-pwrseq = <&mmc2_pwrseq>;
        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 3d7b5c848f..823aabce04 100644
--- a/arch/arm/dts/sun7i-a20-olimex-som204-evb.dts
+++ b/arch/arm/dts/sun7i-a20-olimex-som204-evb.dts
@@ -78,7 +78,7 @@
 
 &can0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&can0_pins_a>;
+       pinctrl-0 = <&can_ph_pins>;
        status = "okay";
 };
 
@@ -104,7 +104,7 @@
 
 &gmac {
        pinctrl-names = "default";
-       pinctrl-0 = <&gmac_pins_rgmii_a>;
+       pinctrl-0 = <&gmac_rgmii_pins>;
        phy = <&phy3>;
        phy-mode = "rgmii";
        phy-supply = <&reg_vcc3v3>;
@@ -130,8 +130,6 @@
 };
 
 &i2c0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c0_pins_a>;
        status = "okay";
 
        axp209: pmic@34 {
@@ -143,8 +141,6 @@
 
 /* Exposed to UEXT1 */
 &i2c1 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c1_pins_a>;
        status = "okay";
 
        eeprom: eeprom@50 {
@@ -156,20 +152,16 @@
 
 /* Exposed to UEXT2 */
 &i2c2 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c2_pins_a>;
        status = "okay";
 };
 
 &ir0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&ir0_rx_pins_a>;
+       pinctrl-0 = <&ir0_rx_pin>;
        status = "okay";
 };
 
 &mmc0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&mmc0_pins_a>;
        vmmc-supply = <&reg_vcc3v3>;
        bus-width = <4>;
        cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>;
@@ -177,8 +169,6 @@
 };
 
 &mmc3 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&mmc3_pins_a>;
        vmmc-supply = <&reg_vcc3v3>;
        mmc-pwrseq = <&rtl_pwrseq>;
        bus-width = <4>;
@@ -203,8 +193,8 @@
 };
 
 &pio {
-       bt_uart_pins: bt_uart_pins@0 {
-               pins = "PG6", "PG7", "PG8";
+       uart3_rts_pin: uart3-rts-pin {
+               pins = "PG8";
                function = "uart3";
        };
 };
@@ -274,43 +264,43 @@
 /* Exposed to UEXT1 */
 &spi1 {
        pinctrl-names = "default";
-       pinctrl-0 = <&spi1_pins_a>,
-                   <&spi1_cs0_pins_a>;
+       pinctrl-0 = <&spi1_pi_pins>,
+                   <&spi1_cs0_pi_pin>;
        status = "okay";
 };
 
 /* Exposed to UEXT2 */
 &spi2 {
        pinctrl-names = "default";
-       pinctrl-0 = <&spi2_pins_a>,
-                   <&spi2_cs0_pins_a>;
+       pinctrl-0 = <&spi2_pc_pins>,
+                   <&spi2_cs0_pc_pin>;
        status = "okay";
 };
 
 &uart0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart0_pins_a>;
+       pinctrl-0 = <&uart0_pb_pins>;
        status = "okay";
 };
 
 /* Used for RTL8723BS bluetooth */
 &uart3 {
        pinctrl-names = "default";
-       pinctrl-0 = <&bt_uart_pins>;
+       pinctrl-0 = <&uart3_pg_pins>, <&uart3_rts_pin>;
        status = "okay";
 };
 
 /* Exposed to UEXT1 */
 &uart4 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart4_pins_a>;
+       pinctrl-0 = <&uart4_pg_pins>;
        status = "okay";
 };
 
 /* Exposed to UEXT2 */
 &uart7 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart7_pins_a>;
+       pinctrl-0 = <&uart7_pi_pins>;
        status = "okay";
 };
 
diff --git a/arch/arm/dts/sun7i-a20-olinuxino-lime.dts 
b/arch/arm/dts/sun7i-a20-olinuxino-lime.dts
index d20fd03596..5e411194bf 100644
--- a/arch/arm/dts/sun7i-a20-olinuxino-lime.dts
+++ b/arch/arm/dts/sun7i-a20-olinuxino-lime.dts
@@ -105,7 +105,7 @@
 
 &gmac {
        pinctrl-names = "default";
-       pinctrl-0 = <&gmac_pins_mii_a>;
+       pinctrl-0 = <&gmac_mii_pins>;
        phy = <&phy1>;
        phy-mode = "mii";
        status = "okay";
@@ -126,8 +126,6 @@
 };
 
 &i2c0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c0_pins_a>;
        status = "okay";
 
        axp209: pmic@34 {
@@ -142,8 +140,6 @@
 };
 
 &i2c1 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c1_pins_a>;
        status = "okay";
 
        eeprom: eeprom@50 {
@@ -154,8 +150,6 @@
 };
 
 &mmc0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&mmc0_pins_a>;
        vmmc-supply = <&reg_vcc3v3>;
        bus-width = <4>;
        cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
@@ -175,24 +169,19 @@
 };
 
 &pio {
-       ahci_pwr_pin_olinuxinolime: ahci_pwr_pin@1 {
-               pins = "PC3";
-               function = "gpio_out";
-       };
-
-       led_pins_olinuxinolime: led_pins@0 {
+       led_pins_olinuxinolime: led-pins {
                pins = "PH2";
                function = "gpio_out";
                drive-strength = <20>;
        };
 
-       usb0_id_detect_pin: usb0_id_detect_pin@0 {
+       usb0_id_detect_pin: usb0-id-detect-pin {
                pins = "PH4";
                function = "gpio_in";
                bias-pull-up;
        };
 
-       usb0_vbus_detect_pin: usb0_vbus_detect_pin@0 {
+       usb0_vbus_detect_pin: usb0-vbus-detect-pin {
                pins = "PH5";
                function = "gpio_in";
                bias-pull-down;
@@ -200,7 +189,6 @@
 };
 
 &reg_ahci_5v {
-       pinctrl-0 = <&ahci_pwr_pin_olinuxinolime>;
        gpio = <&pio 2 3 GPIO_ACTIVE_HIGH>;
        status = "okay";
 };
@@ -219,7 +207,7 @@
 
 &uart0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart0_pins_a>;
+       pinctrl-0 = <&uart0_pb_pins>;
        status = "okay";
 };
 
diff --git a/arch/arm/dts/sun7i-a20-olinuxino-lime2-emmc.dts 
b/arch/arm/dts/sun7i-a20-olinuxino-lime2-emmc.dts
index 81f376f2a4..decb014a38 100644
--- a/arch/arm/dts/sun7i-a20-olinuxino-lime2-emmc.dts
+++ b/arch/arm/dts/sun7i-a20-olinuxino-lime2-emmc.dts
@@ -48,23 +48,12 @@
        compatible = "olimex,a20-olinuxino-lime2-emmc", "allwinner,sun7i-a20";
 
        mmc2_pwrseq: pwrseq {
-               pinctrl-0 = <&mmc2_pins_nrst>;
-               pinctrl-names = "default";
                compatible = "mmc-pwrseq-emmc";
                reset-gpios = <&pio 2 16 GPIO_ACTIVE_LOW>;
        };
 };
 
-&pio {
-       mmc2_pins_nrst: mmc2-rst-pin {
-               pins = "PC16";
-               function = "gpio_out";
-       };
-};
-
 &mmc2 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&mmc2_pins_a>;
        vmmc-supply = <&reg_vcc3v3>;
        vqmmc-supply = <&reg_vcc3v3>;
        bus-width = <4>;
diff --git a/arch/arm/dts/sun7i-a20-olinuxino-lime2.dts 
b/arch/arm/dts/sun7i-a20-olinuxino-lime2.dts
index b828677f33..4e1c590eb0 100644
--- a/arch/arm/dts/sun7i-a20-olinuxino-lime2.dts
+++ b/arch/arm/dts/sun7i-a20-olinuxino-lime2.dts
@@ -110,7 +110,7 @@
 
 &gmac {
        pinctrl-names = "default";
-       pinctrl-0 = <&gmac_pins_rgmii_a>;
+       pinctrl-0 = <&gmac_rgmii_pins>;
        phy = <&phy1>;
        phy-mode = "rgmii";
        status = "okay";
@@ -131,8 +131,6 @@
 };
 
 &i2c0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c0_pins_a>;
        status = "okay";
 
        axp209: pmic@34 {
@@ -143,8 +141,6 @@
 };
 
 &i2c1 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c1_pins_a>;
        status = "okay";
 
        eeprom: eeprom@50 {
@@ -154,9 +150,11 @@
        };
 };
 
+&lradc {
+       vref-supply = <&reg_vcc3v0>;
+};
+
 &mmc0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&mmc0_pins_a>;
        vmmc-supply = <&reg_vcc3v3>;
        bus-width = <4>;
        cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
@@ -176,37 +174,26 @@
 };
 
 &pio {
-       ahci_pwr_pin_olinuxinolime: ahci_pwr_pin@1 {
-               pins = "PC3";
-               function = "gpio_out";
-       };
-
-       led_pins_olinuxinolime: led_pins@0 {
+       led_pins_olinuxinolime: led-pins {
                pins = "PH2";
                function = "gpio_out";
                drive-strength = <20>;
        };
 
-       usb0_id_detect_pin: usb0_id_detect_pin@0 {
+       usb0_id_detect_pin: usb0-id-detect-pin {
                pins = "PH4";
                function = "gpio_in";
                bias-pull-up;
        };
 
-       usb0_vbus_detect_pin: usb0_vbus_detect_pin@0 {
+       usb0_vbus_detect_pin: usb0-vbus-detect-pin {
                pins = "PH5";
                function = "gpio_in";
                bias-pull-down;
        };
-
-       usb0_vbus_pin_lime2: usb0_vbus_pin@0 {
-               pins = "PC17";
-               function = "gpio_out";
-       };
 };
 
 &reg_ahci_5v {
-       pinctrl-0 = <&ahci_pwr_pin_olinuxinolime>;
        gpio = <&pio 2 3 GPIO_ACTIVE_HIGH>;
        status = "okay";
 };
@@ -245,6 +232,8 @@
        regulator-min-microvolt = <2800000>;
        regulator-max-microvolt = <2800000>;
        regulator-name = "vddio-csi0";
+       regulator-soft-start;
+       regulator-ramp-delay = <1600>;
 };
 
 &reg_ldo4 {
@@ -254,7 +243,6 @@
 };
 
 &reg_usb0_vbus {
-       pinctrl-0 = <&usb0_vbus_pin_lime2>;
        gpio = <&pio 2 17 GPIO_ACTIVE_HIGH>;
        status = "okay";
 };
@@ -269,7 +257,7 @@
 
 &uart0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart0_pins_a>;
+       pinctrl-0 = <&uart0_pb_pins>;
        status = "okay";
 };
 
diff --git a/arch/arm/dts/sun7i-a20-olinuxino-micro-emmc.dts 
b/arch/arm/dts/sun7i-a20-olinuxino-micro-emmc.dts
index d99e7b193e..2337b44a88 100644
--- a/arch/arm/dts/sun7i-a20-olinuxino-micro-emmc.dts
+++ b/arch/arm/dts/sun7i-a20-olinuxino-micro-emmc.dts
@@ -54,8 +54,6 @@
 };
 
 &mmc2 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&mmc2_pins_a>;
        vmmc-supply = <&reg_vcc3v3>;
        bus-width = <4>;
        non-removable;
diff --git a/arch/arm/dts/sun7i-a20-olinuxino-micro.dts 
b/arch/arm/dts/sun7i-a20-olinuxino-micro.dts
index 866d230593..840ae1194a 100644
--- a/arch/arm/dts/sun7i-a20-olinuxino-micro.dts
+++ b/arch/arm/dts/sun7i-a20-olinuxino-micro.dts
@@ -117,7 +117,7 @@
 
 &gmac {
        pinctrl-names = "default";
-       pinctrl-0 = <&gmac_pins_mii_a>, <&gmac_txerr>;
+       pinctrl-0 = <&gmac_mii_pins>, <&gmac_txerr>;
        phy = <&phy1>;
        phy-mode = "mii";
        status = "okay";
@@ -138,8 +138,6 @@
 };
 
 &i2c0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c0_pins_a>;
        status = "okay";
 
        axp209: pmic@34 {
@@ -150,8 +148,6 @@
 };
 
 &i2c1 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c1_pins_a>;
        status = "okay";
 
        eeprom: eeprom@50 {
@@ -162,8 +158,6 @@
 };
 
 &i2c2 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c2_pins_a>;
        status = "okay";
 };
 
@@ -171,49 +165,49 @@
        vref-supply = <&reg_vcc3v0>;
        status = "okay";
 
-       button@191 {
+       button-191 {
                label = "Volume Up";
                linux,code = <KEY_VOLUMEUP>;
                channel = <0>;
                voltage = <191274>;
        };
 
-       button@392 {
+       button-392 {
                label = "Volume Down";
                linux,code = <KEY_VOLUMEDOWN>;
                channel = <0>;
                voltage = <392644>;
        };
 
-       button@601 {
+       button-601 {
                label = "Menu";
                linux,code = <KEY_MENU>;
                channel = <0>;
                voltage = <601151>;
        };
 
-       button@795 {
+       button-795 {
                label = "Search";
                linux,code = <KEY_SEARCH>;
                channel = <0>;
                voltage = <795090>;
        };
 
-       button@987 {
+       button-987 {
                label = "Home";
                linux,code = <KEY_HOMEPAGE>;
                channel = <0>;
                voltage = <987387>;
        };
 
-       button@1184 {
+       button-1184 {
                label = "Esc";
                linux,code = <KEY_ESC>;
                channel = <0>;
                voltage = <1184678>;
        };
 
-       button@1398 {
+       button-1398 {
                label = "Enter";
                linux,code = <KEY_ENTER>;
                channel = <0>;
@@ -222,8 +216,6 @@
 };
 
 &mmc0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&mmc0_pins_a>;
        vmmc-supply = <&reg_vcc3v3>;
        bus-width = <4>;
        cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
@@ -231,8 +223,6 @@
 };
 
 &mmc3 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&mmc3_pins_a>, <&mmc3_cd_pin_olinuxinom>;
        vmmc-supply = <&reg_vcc3v3>;
        bus-width = <4>;
        cd-gpios = <&pio 7 11 GPIO_ACTIVE_LOW>; /* PH11 */
@@ -252,30 +242,24 @@
 };
 
 &pio {
-       gmac_txerr: gmac_txerr@0 {
+       gmac_txerr: gmac-txerr-pin {
                pins = "PA17";
                function = "gmac";
        };
 
-       mmc3_cd_pin_olinuxinom: mmc3_cd_pin@0 {
-               pins = "PH11";
-               function = "gpio_in";
-               bias-pull-up;
-       };
-
-       led_pins_olinuxino: led_pins@0 {
+       led_pins_olinuxino: led-pins {
                pins = "PH2";
                function = "gpio_out";
                drive-strength = <20>;
        };
 
-       usb0_id_detect_pin: usb0_id_detect_pin@0 {
+       usb0_id_detect_pin: usb0-id-detect-pin {
                pins = "PH4";
                function = "gpio_in";
                bias-pull-up;
        };
 
-       usb0_vbus_detect_pin: usb0_vbus_detect_pin@0 {
+       usb0_vbus_detect_pin: usb0-vbus-detect-pin {
                pins = "PH5";
                function = "gpio_in";
                bias-pull-down;
@@ -331,33 +315,33 @@
 
 &spi1 {
        pinctrl-names = "default";
-       pinctrl-0 = <&spi1_pins_a>,
-                   <&spi1_cs0_pins_a>;
+       pinctrl-0 = <&spi1_pi_pins>,
+                   <&spi1_cs0_pi_pin>;
        status = "okay";
 };
 
 &spi2 {
        pinctrl-names = "default";
-       pinctrl-0 = <&spi2_pins_a>,
-                   <&spi2_cs0_pins_a>;
+       pinctrl-0 = <&spi2_pc_pins>,
+                   <&spi2_cs0_pc_pin>;
        status = "okay";
 };
 
 &uart0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart0_pins_a>;
+       pinctrl-0 = <&uart0_pb_pins>;
        status = "okay";
 };
 
 &uart6 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart6_pins_a>;
+       pinctrl-0 = <&uart6_pi_pins>;
        status = "okay";
 };
 
 &uart7 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart7_pins_a>;
+       pinctrl-0 = <&uart7_pi_pins>;
        status = "okay";
 };
 
diff --git a/arch/arm/dts/sun7i-a20-orangepi-mini.dts 
b/arch/arm/dts/sun7i-a20-orangepi-mini.dts
index f5c7178eb0..15881081ca 100644
--- a/arch/arm/dts/sun7i-a20-orangepi-mini.dts
+++ b/arch/arm/dts/sun7i-a20-orangepi-mini.dts
@@ -74,8 +74,6 @@
 
        leds {
                compatible = "gpio-leds";
-               pinctrl-names = "default";
-               pinctrl-0 = <&led_pins_orangepi>;
 
                green {
                        label = "orangepi:green:usr";
@@ -90,8 +88,6 @@
 
        reg_gmac_3v3: gmac-3v3 {
                compatible = "regulator-fixed";
-               pinctrl-names = "default";
-               pinctrl-0 = <&gmac_power_pin_orangepi>;
                regulator-name = "gmac-3v3";
                regulator-min-microvolt = <3300000>;
                regulator-max-microvolt = <3300000>;
@@ -123,7 +119,7 @@
 
 &gmac {
        pinctrl-names = "default";
-       pinctrl-0 = <&gmac_pins_rgmii_a>;
+       pinctrl-0 = <&gmac_rgmii_pins>;
        phy = <&phy1>;
        phy-mode = "rgmii";
        phy-supply = <&reg_gmac_3v3>;
@@ -145,8 +141,6 @@
 };
 
 &i2c0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c0_pins_a>;
        status = "okay";
 
        axp209: pmic@34 {
@@ -160,13 +154,11 @@
 
 &ir0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&ir0_rx_pins_a>;
+       pinctrl-0 = <&ir0_rx_pin>;
        status = "okay";
 };
 
 &mmc0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_orangepi>;
        vmmc-supply = <&reg_vcc3v3>;
        bus-width = <4>;
        cd-gpios = <&pio 7 10 GPIO_ACTIVE_LOW>; /* PH10 */
@@ -174,8 +166,6 @@
 };
 
 &mmc3 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&mmc3_pins_a>, <&mmc3_cd_pin_orangepi>;
        vmmc-supply = <&reg_vcc3v3>;
        bus-width = <4>;
        cd-gpios = <&pio 7 11 GPIO_ACTIVE_LOW>; /* PH11 */
@@ -187,43 +177,11 @@
 };
 
 &pio {
-       usb0_id_detect_pin: usb0_id_detect_pin@0 {
+       usb0_id_detect_pin: usb0-id-detect-pin {
                pins = "PH4";
                function = "gpio_in";
                bias-pull-up;
        };
-
-       mmc0_cd_pin_orangepi: mmc0_cd_pin@0 {
-               pins = "PH10";
-               function = "gpio_in";
-               bias-pull-up;
-       };
-
-       mmc3_cd_pin_orangepi: mmc3_cd_pin@0 {
-               pins = "PH11";
-               function = "gpio_in";
-               bias-pull-up;
-       };
-
-       usb2_vbus_pin_bananapro: usb2_vbus_pin@0 {
-               pins = "PH22";
-               function = "gpio_out";
-       };
-
-       gmac_power_pin_orangepi: gmac_power_pin@0 {
-               pins = "PH23";
-               function = "gpio_out";
-       };
-
-       led_pins_orangepi: led_pins@0 {
-               pins = "PH24", "PH25";
-               function = "gpio_out";
-       };
-
-       usb1_vbus_pin_bananapro: usb1_vbus_pin@0 {
-               pins = "PH26";
-               function = "gpio_out";
-       };
 };
 
 &reg_dcdc2 {
@@ -256,20 +214,18 @@
 };
 
 &reg_usb1_vbus {
-       pinctrl-0 = <&usb1_vbus_pin_bananapro>;
        gpio = <&pio 7 26 GPIO_ACTIVE_HIGH>; /* PH26 */
        status = "okay";
 };
 
 &reg_usb2_vbus {
-       pinctrl-0 = <&usb2_vbus_pin_bananapro>;
        gpio = <&pio 7 22 GPIO_ACTIVE_HIGH>; /* PH22 */
        status = "okay";
 };
 
 &uart0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart0_pins_a>;
+       pinctrl-0 = <&uart0_pb_pins>;
        status = "okay";
 };
 
diff --git a/arch/arm/dts/sun7i-a20-orangepi.dts 
b/arch/arm/dts/sun7i-a20-orangepi.dts
index 7a4244e575..d64de2e73a 100644
--- a/arch/arm/dts/sun7i-a20-orangepi.dts
+++ b/arch/arm/dts/sun7i-a20-orangepi.dts
@@ -63,8 +63,6 @@
 
        leds {
                compatible = "gpio-leds";
-               pinctrl-names = "default";
-               pinctrl-0 = <&led_pins_orangepi>;
 
                green {
                        label = "orangepi:green:usr";
@@ -74,8 +72,6 @@
 
        reg_gmac_3v3: gmac-3v3 {
                compatible = "regulator-fixed";
-               pinctrl-names = "default";
-               pinctrl-0 = <&gmac_power_pin_orangepi>;
                regulator-name = "gmac-3v3";
                regulator-min-microvolt = <3300000>;
                regulator-max-microvolt = <3300000>;
@@ -99,7 +95,7 @@
 
 &gmac {
        pinctrl-names = "default";
-       pinctrl-0 = <&gmac_pins_rgmii_a>;
+       pinctrl-0 = <&gmac_rgmii_pins>;
        phy = <&phy1>;
        phy-mode = "rgmii";
        phy-supply = <&reg_gmac_3v3>;
@@ -111,8 +107,6 @@
 };
 
 &i2c0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c0_pins_a>;
        status = "okay";
 
        axp209: pmic@34 {
@@ -126,13 +120,11 @@
 
 &ir0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&ir0_rx_pins_a>;
+       pinctrl-0 = <&ir0_rx_pin>;
        status = "okay";
 };
 
 &mmc0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_orangepi>;
        vmmc-supply = <&reg_vcc3v3>;
        bus-width = <4>;
        cd-gpios = <&pio 7 10 GPIO_ACTIVE_LOW>; /* PH10 */
@@ -144,37 +136,11 @@
 };
 
 &pio {
-       usb0_id_detect_pin: usb0_id_detect_pin@0 {
+       usb0_id_detect_pin: usb0-id-detect-pin {
                pins = "PH4";
                function = "gpio_in";
                bias-pull-up;
        };
-
-       mmc0_cd_pin_orangepi: mmc0_cd_pin@0 {
-               pins = "PH10";
-               function = "gpio_in";
-               bias-pull-up;
-       };
-
-       usb2_vbus_pin_bananapro: usb2_vbus_pin@0 {
-               pins = "PH22";
-               function = "gpio_out";
-       };
-
-       gmac_power_pin_orangepi: gmac_power_pin@0 {
-               pins = "PH23";
-               function = "gpio_out";
-       };
-
-       led_pins_orangepi: led_pins@0 {
-               pins = "PH24";
-               function = "gpio_out";
-       };
-
-       usb1_vbus_pin_bananapro: usb1_vbus_pin@0 {
-               pins = "PH26";
-               function = "gpio_out";
-       };
 };
 
 &reg_dcdc2 {
@@ -207,20 +173,18 @@
 };
 
 &reg_usb1_vbus {
-       pinctrl-0 = <&usb1_vbus_pin_bananapro>;
        gpio = <&pio 7 26 GPIO_ACTIVE_HIGH>; /* PH26 */
        status = "okay";
 };
 
 &reg_usb2_vbus {
-       pinctrl-0 = <&usb2_vbus_pin_bananapro>;
        gpio = <&pio 7 22 GPIO_ACTIVE_HIGH>; /* PH22 */
        status = "okay";
 };
 
 &uart0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart0_pins_a>;
+       pinctrl-0 = <&uart0_pb_pins>;
        status = "okay";
 };
 
diff --git a/arch/arm/dts/sun7i-a20-pcduino3-nano.dts 
b/arch/arm/dts/sun7i-a20-pcduino3-nano.dts
index bfca960b03..538ea15fa3 100644
--- a/arch/arm/dts/sun7i-a20-pcduino3-nano.dts
+++ b/arch/arm/dts/sun7i-a20-pcduino3-nano.dts
@@ -71,8 +71,6 @@
 
        leds {
                compatible = "gpio-leds";
-               pinctrl-names = "default";
-               pinctrl-0 = <&led_pins_pcduino3_nano>;
 
                /* Marked "LED3" on the PCB. */
                usr1 {
@@ -115,7 +113,7 @@
 
 &gmac {
        pinctrl-names = "default";
-       pinctrl-0 = <&gmac_pins_rgmii_a>;
+       pinctrl-0 = <&gmac_rgmii_pins>;
        phy = <&phy1>;
        phy-mode = "rgmii";
        status = "okay";
@@ -136,8 +134,6 @@
 };
 
 &i2c0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c0_pins_a>;
        status = "okay";
 
        axp209: pmic@34 {
@@ -149,13 +145,11 @@
 
 &ir0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&ir0_rx_pins_a>;
+       pinctrl-0 = <&ir0_rx_pin>;
        status = "okay";
 };
 
 &mmc0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&mmc0_pins_a>;
        vmmc-supply = <&reg_vcc3v3>;
        bus-width = <4>;
        cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
@@ -175,30 +169,14 @@
 };
 
 &pio {
-       ahci_pwr_pin_pcduino3_nano: ahci_pwr_pin@0 {
-               pins = "PH2";
-               function = "gpio_out";
-       };
-
-       led_pins_pcduino3_nano: led_pins@0 {
-               pins = "PH16", "PH15";
-               function = "gpio_out";
-       };
-
-       usb0_id_detect_pin: usb0_id_detect_pin@0 {
+       usb0_id_detect_pin: usb0-id-detect-pin {
                pins = "PH4";
                function = "gpio_in";
                bias-pull-up;
        };
-
-       usb1_vbus_pin_pcduino3_nano: usb1_vbus_pin@0 {
-               pins = "PD2";
-               function = "gpio_out";
-       };
 };
 
 &reg_ahci_5v {
-       pinctrl-0 = <&ahci_pwr_pin_pcduino3_nano>;
        gpio = <&pio 7 2 GPIO_ACTIVE_HIGH>; /* PH2 */
        status = "okay";
 };
@@ -232,14 +210,13 @@
 
 /* A single regulator (U24) powers both USB host ports. */
 &reg_usb1_vbus {
-       pinctrl-0 = <&usb1_vbus_pin_pcduino3_nano>;
        gpio = <&pio 3 2 GPIO_ACTIVE_HIGH>; /* PD2 */
        status = "okay";
 };
 
 &uart0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart0_pins_a>;
+       pinctrl-0 = <&uart0_pb_pins>;
        status = "okay";
 };
 
diff --git a/arch/arm/dts/sun7i-a20-pcduino3.dts 
b/arch/arm/dts/sun7i-a20-pcduino3.dts
index c576f101fb..a72ed4318d 100644
--- a/arch/arm/dts/sun7i-a20-pcduino3.dts
+++ b/arch/arm/dts/sun7i-a20-pcduino3.dts
@@ -63,8 +63,6 @@
 
        leds {
                compatible = "gpio-leds";
-               pinctrl-names = "default";
-               pinctrl-0 = <&led_pins_pcduino3>;
 
                tx {
                        label = "pcduino3:green:tx";
@@ -77,23 +75,22 @@
                };
        };
 
-       gpio_keys {
+       gpio-keys {
                compatible = "gpio-keys";
-               pinctrl-names = "default";
-               pinctrl-0 = <&key_pins_pcduino3>;
-               #address-cells = <1>;
-               #size-cells = <0>;
-               button@0 {
+
+               back {
                        label = "Key Back";
                        linux,code = <KEY_BACK>;
                        gpios = <&pio 7 17 GPIO_ACTIVE_LOW>;
                };
-               button@1 {
+
+               home {
                        label = "Key Home";
                        linux,code = <KEY_HOME>;
                        gpios = <&pio 7 18 GPIO_ACTIVE_LOW>;
                };
-               button@2 {
+
+               menu {
                        label = "Key Menu";
                        linux,code = <KEY_MENU>;
                        gpios = <&pio 7 19 GPIO_ACTIVE_LOW>;
@@ -124,7 +121,7 @@
 
 &gmac {
        pinctrl-names = "default";
-       pinctrl-0 = <&gmac_pins_mii_a>;
+       pinctrl-0 = <&gmac_mii_pins>;
        phy = <&phy1>;
        phy-mode = "mii";
        status = "okay";
@@ -135,8 +132,6 @@
 };
 
 &i2c0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c0_pins_a>;
        status = "okay";
 
        axp209: pmic@34 {
@@ -150,13 +145,11 @@
 
 &ir0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&ir0_rx_pins_a>;
+       pinctrl-0 = <&ir0_rx_pin>;
        status = "okay";
 };
 
 &mmc0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&mmc0_pins_a>;
        vmmc-supply = <&reg_vcc3v3>;
        bus-width = <4>;
        cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
@@ -176,17 +169,7 @@
 };
 
 &pio {
-       led_pins_pcduino3: led_pins@0 {
-               pins = "PH15", "PH16";
-               function = "gpio_out";
-       };
-
-       key_pins_pcduino3: key_pins@0 {
-               pins = "PH17", "PH18", "PH19";
-               function = "gpio_in";
-       };
-
-       usb0_id_detect_pin: usb0_id_detect_pin@0 {
+       usb0_id_detect_pin: usb0-id-detect-pin {
                pins = "PH4";
                function = "gpio_in";
                bias-pull-up;
@@ -233,7 +216,7 @@
 
 &uart0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart0_pins_a>;
+       pinctrl-0 = <&uart0_pb_pins>;
        status = "okay";
 };
 
diff --git a/arch/arm/dts/sun7i-a20-primo73.dts 
b/arch/arm/dts/sun7i-a20-primo73.dts
index b7294e0348..ac0175f795 100644
--- a/arch/arm/dts/sun7i-a20-primo73.dts
+++ b/arch/arm/dts/sun7i-a20-primo73.dts
@@ -67,8 +67,6 @@
 };
 
 &mmc0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&mmc0_pins_a>;
        vmmc-supply = <&reg_vcc3v3>;
        bus-width = <4>;
        cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
@@ -82,7 +80,7 @@
 
 &uart0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart0_pins_a>;
+       pinctrl-0 = <&uart0_pb_pins>;
        status = "okay";
 };
 
diff --git a/arch/arm/dts/sun7i-a20-wexler-tab7200.dts 
b/arch/arm/dts/sun7i-a20-wexler-tab7200.dts
index 8202c87ca6..ffade253d1 100644
--- a/arch/arm/dts/sun7i-a20-wexler-tab7200.dts
+++ b/arch/arm/dts/sun7i-a20-wexler-tab7200.dts
@@ -63,8 +63,6 @@
                pwms = <&pwm 0 50000 PWM_POLARITY_INVERTED>;
                brightness-levels = <0 10 20 30 40 50 60 70 80 90 100>;
                default-brightness-level = <8>;
-               pinctrl-names = "default";
-               pinctrl-0 = <&bl_enable_pin>;
                enable-gpios = <&pio 7 7 GPIO_ACTIVE_HIGH>; /* PH7 */
        };
 
@@ -74,8 +72,6 @@
 };
 
 &codec {
-       pinctrl-names = "default";
-       pinctrl-0 = <&codec_pa_pin>;
        allwinner,pa-gpios = <&pio 7 15 GPIO_ACTIVE_HIGH>; /* PH15 */
        status = "okay";
 };
@@ -93,8 +89,6 @@
 };
 
 &i2c0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c0_pins_a>;
        status = "okay";
 
        axp209: pmic@34 {
@@ -107,14 +101,10 @@
 #include "axp209.dtsi"
 
 &i2c1 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c1_pins_a>;
        status = "okay";
 };
 
 &i2c2 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c2_pins_a>;
        status = "okay";
 
        gt911: touchscreen@5d {
@@ -122,8 +112,6 @@
                reg = <0x5d>;
                interrupt-parent = <&pio>;
                interrupts = <7 21 IRQ_TYPE_EDGE_FALLING>; /* EINT21 (PH21) */
-               pinctrl-names = "default";
-               pinctrl-0 = <&ts_reset_pin>;
                irq-gpios = <&pio 7 21 GPIO_ACTIVE_HIGH>; /* INT (PH21) */
                reset-gpios = <&pio 1 13 GPIO_ACTIVE_HIGH>; /* RST (PB13) */
                touchscreen-swapped-x-y;
@@ -134,14 +122,14 @@
        vref-supply = <&reg_vcc3v0>;
        status = "okay";
 
-       button@571 {
+       button-571 {
                label = "Volume Up";
                linux,code = <KEY_VOLUMEUP>;
                channel = <0>;
                voltage = <571428>;
        };
 
-       button@761 {
+       button-761 {
                label = "Volume Down";
                linux,code = <KEY_VOLUMEDOWN>;
                channel = <0>;
@@ -150,8 +138,6 @@
 };
 
 &mmc0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&mmc0_pins_a>;
        vmmc-supply = <&reg_vcc3v3>;
        bus-width = <4>;
        cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
@@ -171,22 +157,7 @@
 };
 
 &pio {
-       bl_enable_pin: bl_enable_pin@0 {
-               pins = "PH7";
-               function = "gpio_out";
-       };
-
-       codec_pa_pin: codec_pa_pin@0 {
-               pins = "PH15";
-               function = "gpio_out";
-       };
-
-       ts_reset_pin: ts_reset_pin@0 {
-               pins = "PB13";
-               function = "gpio_out";
-       };
-
-       usb0_id_detect_pin: usb0_id_detect_pin@0 {
+       usb0_id_detect_pin: usb0-id-detect-pin {
                pins = "PH4";
                function = "gpio_in";
                bias-pull-up;
@@ -195,7 +166,7 @@
 
 &pwm {
        pinctrl-names = "default";
-       pinctrl-0 = <&pwm0_pins_a>;
+       pinctrl-0 = <&pwm0_pin>;
        status = "okay";
 };
 
@@ -238,7 +209,7 @@
 
 &uart0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart0_pins_a>;
+       pinctrl-0 = <&uart0_pb_pins>;
        status = "okay";
 };
 
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 ff5c108658..c27e56091f 100644
--- a/arch/arm/dts/sun7i-a20-wits-pro-a20-dkt.dts
+++ b/arch/arm/dts/sun7i-a20-wits-pro-a20-dkt.dts
@@ -62,8 +62,6 @@
 
        mmc3_pwrseq: mmc3_pwrseq {
                compatible = "mmc-pwrseq-simple";
-               pinctrl-names = "default";
-               pinctrl-0 = <&vmmc3_pin_ap6xxx_wl_regon>;
                reset-gpios = <&pio 7 9 GPIO_ACTIVE_LOW>; /* PH9 WIFI_EN */
        };
 };
@@ -82,7 +80,7 @@
 
 &gmac {
        pinctrl-names = "default";
-       pinctrl-0 = <&gmac_pins_rgmii_a>;
+       pinctrl-0 = <&gmac_rgmii_pins>;
        phy = <&phy1>;
        phy-mode = "rgmii";
        status = "okay";
@@ -93,8 +91,6 @@
 };
 
 &i2c0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c0_pins_a>;
        status = "okay";
 
        axp209: pmic@34 {
@@ -105,22 +101,16 @@
 };
 
 &i2c1 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c1_pins_a>;
        status = "okay";
 };
 
 &i2c2 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c2_pins_a>;
        status = "okay";
 };
 
 #include "axp209.dtsi"
 
 &mmc0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&mmc0_pins_a>;
        vmmc-supply = <&reg_vcc3v3>;
        bus-width = <4>;
        cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
@@ -128,8 +118,6 @@
 };
 
 &mmc3 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&mmc3_pins_a>;
        vmmc-supply = <&reg_vcc3v3>;
        mmc-pwrseq = <&mmc3_pwrseq>;
        bus-width = <4>;
@@ -158,12 +146,7 @@
 };
 
 &pio {
-       vmmc3_pin_ap6xxx_wl_regon: vmmc3_pin@0 {
-               pins = "PH9";
-               function = "gpio_out";
-       };
-
-       usb0_id_detect_pin: usb0_id_detect_pin@0 {
+       usb0_id_detect_pin: usb0-id-detect-pin {
                pins = "PH4";
                function = "gpio_in";
                bias-pull-up;
@@ -209,7 +192,7 @@
 
 &uart0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart0_pins_a>;
+       pinctrl-0 = <&uart0_pb_pins>;
        status = "okay";
 };
 
diff --git a/arch/arm/dts/sun7i-a20-yones-toptech-bd1078.dts 
b/arch/arm/dts/sun7i-a20-yones-toptech-bd1078.dts
index f1fb97d3fb..11142ae6e7 100644
--- a/arch/arm/dts/sun7i-a20-yones-toptech-bd1078.dts
+++ b/arch/arm/dts/sun7i-a20-yones-toptech-bd1078.dts
@@ -23,6 +23,6 @@
 
 &uart0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart0_pins_a>;
+       pinctrl-0 = <&uart0_pb_pins>;
        status = "okay";
 };
diff --git a/arch/arm/dts/sun7i-a20.dtsi b/arch/arm/dts/sun7i-a20.dtsi
index e529e4ff21..641a8fa6d4 100644
--- a/arch/arm/dts/sun7i-a20.dtsi
+++ b/arch/arm/dts/sun7i-a20.dtsi
@@ -42,8 +42,6 @@
  *     OTHER DEALINGS IN THE SOFTWARE.
  */
 
-#include "skeleton.dtsi"
-
 #include <dt-bindings/interrupt-controller/arm-gic.h>
 #include <dt-bindings/thermal/thermal.h>
 #include <dt-bindings/dma/sun4i-a10.h>
@@ -52,6 +50,8 @@
 
 / {
        interrupt-parent = <&gic>;
+       #address-cells = <1>;
+       #size-cells = <1>;
 
        aliases {
                ethernet0 = &gmac;
@@ -62,7 +62,7 @@
                #size-cells = <1>;
                ranges;
 
-               framebuffer@0 {
+               framebuffer-lcd0-hdmi {
                        compatible = "allwinner,simple-framebuffer",
                                     "simple-framebuffer";
                        allwinner,pipeline = "de_be0-lcd0-hdmi";
@@ -73,7 +73,7 @@
                        status = "disabled";
                };
 
-               framebuffer@1 {
+               framebuffer-lcd0 {
                        compatible = "allwinner,simple-framebuffer",
                                     "simple-framebuffer";
                        allwinner,pipeline = "de_be0-lcd0";
@@ -83,7 +83,7 @@
                        status = "disabled";
                };
 
-               framebuffer@2 {
+               framebuffer-lcd0-tve0 {
                        compatible = "allwinner,simple-framebuffer",
                                     "simple-framebuffer";
                        allwinner,pipeline = "de_be0-lcd0-tve0";
@@ -118,10 +118,23 @@
                        #cooling-cells = <2>;
                };
 
-               cpu@1 {
+               cpu1: cpu@1 {
                        compatible = "arm,cortex-a7";
                        device_type = "cpu";
                        reg = <1>;
+                       clocks = <&ccu CLK_CPU>;
+                       clock-latency = <244144>; /* 8 32k periods */
+                       operating-points = <
+                               /* kHz    uV */
+                               960000  1400000
+                               912000  1400000
+                               864000  1300000
+                               720000  1200000
+                               528000  1100000
+                               312000  1000000
+                               144000  1000000
+                               >;
+                       #cooling-cells = <2>;
                };
        };
 
@@ -135,7 +148,8 @@
                        cooling-maps {
                                map0 {
                                        trip = <&cpu_alert0>;
-                                       cooling-device = <&cpu0 
THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+                                       cooling-device = <&cpu0 
THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
+                                                        <&cpu1 
THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
                                };
                        };
 
@@ -157,8 +171,19 @@
                };
        };
 
-       memory {
-               reg = <0x40000000 0x80000000>;
+       reserved-memory {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               ranges;
+
+               /* Address must be kept in the lower 256 MiBs of DRAM for VE. */
+               default-pool {
+                       compatible = "shared-dma-pool";
+                       size = <0x6000000>;
+                       alloc-ranges = <0x4a000000 0x6000000>;
+                       reusable;
+                       linux,cma-default;
+               };
        };
 
        timer {
@@ -170,7 +195,7 @@
        };
 
        pmu {
-               compatible = "arm,cortex-a7-pmu", "arm,cortex-a15-pmu";
+               compatible = "arm,cortex-a7-pmu";
                interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
                             <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>;
        };
@@ -180,14 +205,14 @@
                #size-cells = <1>;
                ranges;
 
-               osc24M: clk@1c20050 {
+               osc24M: clk-24M {
                        #clock-cells = <0>;
                        compatible = "fixed-clock";
                        clock-frequency = <24000000>;
                        clock-output-names = "osc24M";
                };
 
-               osc32k: clk@0 {
+               osc32k: clk-32k {
                        #clock-cells = <0>;
                        compatible = "fixed-clock";
                        clock-frequency = <32768>;
@@ -203,14 +228,14 @@
                 * The actual TX clock rate is not controlled by the
                 * gmac_tx clock.
                 */
-               mii_phy_tx_clk: clk@1 {
+               mii_phy_tx_clk: clk-mii-phy-tx {
                        #clock-cells = <0>;
                        compatible = "fixed-clock";
                        clock-frequency = <25000000>;
                        clock-output-names = "mii_phy_tx";
                };
 
-               gmac_int_tx_clk: clk@2 {
+               gmac_int_tx_clk: clk-gmac-int-tx {
                        #clock-cells = <0>;
                        compatible = "fixed-clock";
                        clock-frequency = <125000000>;
@@ -233,14 +258,15 @@
                status = "disabled";
        };
 
-       soc@1c00000 {
+       soc {
                compatible = "simple-bus";
                #address-cells = <1>;
                #size-cells = <1>;
                ranges;
 
-               sram-controller@1c00000 {
-                       compatible = "allwinner,sun4i-a10-sram-controller";
+               system-control@1c00000 {
+                       compatible = "allwinner,sun7i-a20-system-control",
+                                    "allwinner,sun4i-a10-system-control";
                        reg = <0x01c00000 0x30>;
                        #address-cells = <1>;
                        #size-cells = <1>;
@@ -254,7 +280,8 @@
                                ranges = <0 0x00000000 0xc000>;
 
                                emac_sram: sram-section@8000 {
-                                       compatible = 
"allwinner,sun4i-a10-sram-a3-a4";
+                                       compatible = 
"allwinner,sun7i-a20-sram-a3-a4",
+                                                    
"allwinner,sun4i-a10-sram-a3-a4";
                                        reg = <0x8000 0x4000>;
                                        status = "disabled";
                                };
@@ -268,11 +295,26 @@
                                ranges = <0 0x00010000 0x1000>;
 
                                otg_sram: sram-section@0 {
-                                       compatible = 
"allwinner,sun4i-a10-sram-d";
+                                       compatible = 
"allwinner,sun7i-a20-sram-d",
+                                                    
"allwinner,sun4i-a10-sram-d";
                                        reg = <0x0000 0x1000>;
                                        status = "disabled";
                                };
                        };
+
+                       sram_c: sram@1d00000 {
+                               compatible = "mmio-sram";
+                               reg = <0x01d00000 0xd0000>;
+                               #address-cells = <1>;
+                               #size-cells = <1>;
+                               ranges = <0 0x01d00000 0xd0000>;
+
+                               ve_sram: sram-section@0 {
+                                       compatible = 
"allwinner,sun7i-a20-sram-c1",
+                                                    
"allwinner,sun4i-a10-sram-c1";
+                                       reg = <0x000000 0x80000>;
+                               };
+                       };
                };
 
                nmi_intc: interrupt-controller@1c00030 {
@@ -449,6 +491,17 @@
                        };
                };
 
+               video-codec@1c0e000 {
+                       compatible = "allwinner,sun7i-a20-video-engine";
+                       reg = <0x01c0e000 0x1000>;
+                       clocks = <&ccu CLK_AHB_VE>, <&ccu CLK_VE>,
+                                <&ccu CLK_DRAM_VE>;
+                       clock-names = "ahb", "mod", "ram";
+                       resets = <&ccu RST_VE>;
+                       interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
+                       allwinner,sram = <&ve_sram 1>;
+               };
+
                mmc0: mmc@1c0f000 {
                        compatible = "allwinner,sun7i-a20-mmc";
                        reg = <0x01c0f000 0x1000>;
@@ -461,6 +514,8 @@
                                      "output",
                                      "sample";
                        interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&mmc0_pins>;
                        status = "disabled";
                        #address-cells = <1>;
                        #size-cells = <0>;
@@ -495,6 +550,8 @@
                                      "output",
                                      "sample";
                        interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&mmc2_pins>;
                        status = "disabled";
                        #address-cells = <1>;
                        #size-cells = <0>;
@@ -512,6 +569,8 @@
                                      "output",
                                      "sample";
                        interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&mmc3_pins>;
                        status = "disabled";
                        #address-cells = <1>;
                        #size-cells = <0>;
@@ -609,8 +668,6 @@
                                };
 
                                hdmi_out: port@1 {
-                                       #address-cells = <1>;
-                                       #size-cells = <0>;
                                        reg = <1>;
                                };
                        };
@@ -694,22 +751,22 @@
                        #interrupt-cells = <3>;
                        #gpio-cells = <3>;
 
-                       can0_pins_a: can0@0 {
+                       can_ph_pins: can-ph-pins {
                                pins = "PH20", "PH21";
                                function = "can";
                        };
 
-                       clk_out_a_pins_a: clk_out_a@0 {
+                       clk_out_a_pin: clk-out-a-pin {
                                pins = "PI12";
                                function = "clk_out_a";
                        };
 
-                       clk_out_b_pins_a: clk_out_b@0 {
+                       clk_out_b_pin: clk-out-b-pin {
                                pins = "PI13";
                                function = "clk_out_b";
                        };
 
-                       emac_pins_a: emac0@0 {
+                       emac_pa_pins: emac-pa-pins {
                                pins = "PA0", "PA1", "PA2",
                                       "PA3", "PA4", "PA5", "PA6",
                                       "PA7", "PA8", "PA9", "PA10",
@@ -718,7 +775,7 @@
                                function = "emac";
                        };
 
-                       gmac_pins_mii_a: gmac_mii@0 {
+                       gmac_mii_pins: gmac-mii-pins {
                                pins = "PA0", "PA1", "PA2",
                                       "PA3", "PA4", "PA5", "PA6",
                                       "PA7", "PA8", "PA9", "PA10",
@@ -727,7 +784,7 @@
                                function = "gmac";
                        };
 
-                       gmac_pins_rgmii_a: gmac_rgmii@0 {
+                       gmac_rgmii_pins: gmac-rgmii-pins {
                                pins = "PA0", "PA1", "PA2",
                                       "PA3", "PA4", "PA5", "PA6",
                                        "PA7", "PA8", "PA10",
@@ -741,47 +798,47 @@
                                drive-strength = <40>;
                        };
 
-                       i2c0_pins_a: i2c0@0 {
+                       i2c0_pins: i2c0-pins {
                                pins = "PB0", "PB1";
                                function = "i2c0";
                        };
 
-                       i2c1_pins_a: i2c1@0 {
+                       i2c1_pins: i2c1-pins {
                                pins = "PB18", "PB19";
                                function = "i2c1";
                        };
 
-                       i2c2_pins_a: i2c2@0 {
+                       i2c2_pins: i2c2-pins {
                                pins = "PB20", "PB21";
                                function = "i2c2";
                        };
 
-                       i2c3_pins_a: i2c3@0 {
+                       i2c3_pins: i2c3-pins {
                                pins = "PI0", "PI1";
                                function = "i2c3";
                        };
 
-                       ir0_rx_pins_a: ir0@0 {
+                       ir0_rx_pin: ir0-rx-pin {
                                pins = "PB4";
                                function = "ir0";
                        };
 
-                       ir0_tx_pins_a: ir0@1 {
+                       ir0_tx_pin: ir0-tx-pin {
                                pins = "PB3";
                                function = "ir0";
                        };
 
-                       ir1_rx_pins_a: ir1@0 {
+                       ir1_rx_pin: ir1-rx-pin {
                                pins = "PB23";
                                function = "ir1";
                        };
 
-                       ir1_tx_pins_a: ir1@1 {
+                       ir1_tx_pin: ir1-tx-pin {
                                pins = "PB22";
                                function = "ir1";
                        };
 
-                       mmc0_pins_a: mmc0@0 {
+                       mmc0_pins: mmc0-pins {
                                pins = "PF0", "PF1", "PF2",
                                       "PF3", "PF4", "PF5";
                                function = "mmc0";
@@ -789,7 +846,7 @@
                                bias-pull-up;
                        };
 
-                       mmc2_pins_a: mmc2@0 {
+                       mmc2_pins: mmc2-pins {
                                pins = "PC6", "PC7", "PC8",
                                       "PC9", "PC10", "PC11";
                                function = "mmc2";
@@ -797,7 +854,7 @@
                                bias-pull-up;
                        };
 
-                       mmc3_pins_a: mmc3@0 {
+                       mmc3_pins: mmc3-pins {
                                pins = "PI4", "PI5", "PI6",
                                       "PI7", "PI8", "PI9";
                                function = "mmc3";
@@ -805,118 +862,128 @@
                                bias-pull-up;
                        };
 
-                       ps20_pins_a: ps20@0 {
+                       ps2_0_pins: ps2-0-pins {
                                pins = "PI20", "PI21";
                                function = "ps2";
                        };
 
-                       ps21_pins_a: ps21@0 {
+                       ps2_1_ph_pins: ps2-1-ph-pins {
                                pins = "PH12", "PH13";
                                function = "ps2";
                        };
 
-                       pwm0_pins_a: pwm0@0 {
+                       pwm0_pin: pwm0-pin {
                                pins = "PB2";
                                function = "pwm";
                        };
 
-                       pwm1_pins_a: pwm1@0 {
+                       pwm1_pin: pwm1-pin {
                                pins = "PI3";
                                function = "pwm";
                        };
 
-                       spdif_tx_pins_a: spdif@0 {
+                       spdif_tx_pin: spdif-tx-pin {
                                pins = "PB13";
                                function = "spdif";
                                bias-pull-up;
                        };
 
-                       spi0_pins_a: spi0@0 {
+                       spi0_pi_pins: spi0-pi-pins {
                                pins = "PI11", "PI12", "PI13";
                                function = "spi0";
                        };
 
-                       spi0_cs0_pins_a: spi0_cs0@0 {
+                       spi0_cs0_pi_pin: spi0-cs0-pi-pin {
                                pins = "PI10";
                                function = "spi0";
                        };
 
-                       spi0_cs1_pins_a: spi0_cs1@0 {
+                       spi0_cs1_pi_pin: spi0-cs1-pi-pin {
                                pins = "PI14";
                                function = "spi0";
                        };
 
-                       spi1_pins_a: spi1@0 {
+                       spi1_pi_pins: spi1-pi-pins {
                                pins = "PI17", "PI18", "PI19";
                                function = "spi1";
                        };
 
-                       spi1_cs0_pins_a: spi1_cs0@0 {
+                       spi1_cs0_pi_pin: spi1-cs0-pi-pin {
                                pins = "PI16";
                                function = "spi1";
                        };
 
-                       spi2_pins_a: spi2@0 {
-                               pins = "PC20", "PC21", "PC22";
+                       spi2_pb_pins: spi2-pb-pins {
+                               pins = "PB15", "PB16", "PB17";
                                function = "spi2";
                        };
 
-                       spi2_pins_b: spi2@1 {
-                               pins = "PB15", "PB16", "PB17";
+                       spi2_cs0_pb_pin: spi2-cs0-pb-pin {
+                               pins = "PB14";
                                function = "spi2";
                        };
 
-                       spi2_cs0_pins_a: spi2_cs0@0 {
-                               pins = "PC19";
+                       spi2_pc_pins: spi2-pc-pins {
+                               pins = "PC20", "PC21", "PC22";
                                function = "spi2";
                        };
 
-                       spi2_cs0_pins_b: spi2_cs0@1 {
-                               pins = "PB14";
+                       spi2_cs0_pc_pin: spi2-cs0-pc-pin {
+                               pins = "PC19";
                                function = "spi2";
                        };
 
-                       uart0_pins_a: uart0@0 {
+                       uart0_pb_pins: uart0-pb-pins {
                                pins = "PB22", "PB23";
                                function = "uart0";
                        };
 
-                       uart2_pins_a: uart2@0 {
-                               pins = "PI16", "PI17", "PI18", "PI19";
+                       uart2_pi_pins: uart2-pi-pins {
+                               pins = "PI18", "PI19";
                                function = "uart2";
                        };
 
-                       uart3_pins_a: uart3@0 {
-                               pins = "PG6", "PG7", "PG8", "PG9";
+                       uart2_cts_rts_pi_pins: uart2-cts-rts-pi-pins {
+                               pins = "PI16", "PI17";
+                               function = "uart2";
+                       };
+
+                       uart3_pg_pins: uart3-pg-pins {
+                               pins = "PG6", "PG7";
+                               function = "uart3";
+                       };
+
+                       uart3_cts_rts_pg_pins: uart3-cts-rts-pg-pins {
+                               pins = "PG8", "PG9";
                                function = "uart3";
                        };
 
-                       uart3_pins_b: uart3@1 {
+                       uart3_ph_pins: uart3-ph-pins {
                                pins = "PH0", "PH1";
                                function = "uart3";
                        };
 
-                       uart4_pins_a: uart4@0 {
+                       uart4_pg_pins: uart4-pg-pins {
                                pins = "PG10", "PG11";
                                function = "uart4";
                        };
 
-                       uart4_pins_b: uart4@1 {
+                       uart4_ph_pins: uart4-ph-pins {
                                pins = "PH4", "PH5";
                                function = "uart4";
                        };
 
-                       uart5_pins_a: uart5@0 {
+                       uart5_pi_pins: uart5-pi-pins {
                                pins = "PI10", "PI11";
                                function = "uart5";
                        };
 
-                       uart6_pins_a: uart6@0 {
+                       uart6_pi_pins: uart6-pi-pins {
                                pins = "PI12", "PI13";
                                function = "uart6";
                        };
 
-                       uart7_pins_a: uart7@0 {
+                       uart7_pi_pins: uart7-pi-pins {
                                pins = "PI20", "PI21";
                                function = "uart7";
                        };
@@ -1157,6 +1224,8 @@
                        reg = <0x01c2ac00 0x400>;
                        interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
                        clocks = <&ccu CLK_APB1_I2C0>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&i2c0_pins>;
                        status = "disabled";
                        #address-cells = <1>;
                        #size-cells = <0>;
@@ -1168,6 +1237,8 @@
                        reg = <0x01c2b000 0x400>;
                        interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
                        clocks = <&ccu CLK_APB1_I2C1>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&i2c1_pins>;
                        status = "disabled";
                        #address-cells = <1>;
                        #size-cells = <0>;
@@ -1179,6 +1250,8 @@
                        reg = <0x01c2b400 0x400>;
                        interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
                        clocks = <&ccu CLK_APB1_I2C2>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&i2c2_pins>;
                        status = "disabled";
                        #address-cells = <1>;
                        #size-cells = <0>;
@@ -1190,6 +1263,8 @@
                        reg = <0x01c2b800 0x400>;
                        interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
                        clocks = <&ccu CLK_APB1_I2C3>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&i2c3_pins>;
                        status = "disabled";
                        #address-cells = <1>;
                        #size-cells = <0>;
diff --git a/arch/arm/dts/sunxi-itead-core-common.dtsi 
b/arch/arm/dts/sunxi-itead-core-common.dtsi
index 2565d5137a..0d002f83a2 100644
--- a/arch/arm/dts/sunxi-itead-core-common.dtsi
+++ b/arch/arm/dts/sunxi-itead-core-common.dtsi
@@ -65,8 +65,6 @@
 };
 
 &i2c0 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c0_pins_a>;
        status = "okay";
 
        axp209: pmic@34 {
@@ -75,8 +73,6 @@
 };
 
 &i2c1 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c1_pins_a>;
        status = "okay";
 };
 
@@ -125,7 +121,7 @@
 
 &uart0 {
        pinctrl-names = "default";
-       pinctrl-0 = <&uart0_pins_a>;
+       pinctrl-0 = <&uart0_pb_pins>;
        status = "okay";
 };
 
-- 
2.18.0.321.gffc6fa0e3

-- 
You received this message because you are subscribed to the Google Groups 
"linux-sunxi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to