ipq806x: clean up dts files
authorHenryk Heisig <hyniu@o2.pl>
Mon, 21 Nov 2016 20:04:52 +0000 (21:04 +0100)
committerMathias Kresin <dev@kresin.me>
Sun, 27 Nov 2016 14:24:59 +0000 (15:24 +0100)
Set the pinmux to the values found in the GPL tarballs of the boards.
Remove pinmux which are is not used (like nand pinmux for spi
flash boards).

This allows to use the wan orange led of the C2600 which had a wrong
pinmux before. Might fix buttons or leds of other boards as well.

Fix the LED color and the ledswitch key code of the C2600. Rename the
ledgnr to ledswitch.

Add support for indication the boot state using LEDs to the D7800,
NBG6817, R7500 and R7500v2.

Change GPIO active to readable values in D7800, EA8500, R7500,
R7500v2 and R7800.

Change gpioexport to gpio pinmux.

Add proper "drive strenght" to i2c4_pins and use it for RPM on
C2600, D7800, EA8500, R7500, R7500v2.

Remove pcie pinmux from D7800.

Move pinctrl to correct place in NBG6817 and R7800.

Signed-off-by: Henryk Heisig <hyniu@o2.pl>
target/linux/ipq806x/base-files/etc/board.d/01_leds
target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-c2600.dts
target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-d7800.dts
target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-ea8500.dts
target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-r7500.dts
target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-r7500v2.dts
target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-vr2600v.dts
target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8065-nbg6817.dts
target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8065-r7800.dts

index 6570b783a40d371107c6cfc0a97c3f127a601fac..21ad8be562594c3c7cdf9c84ff4d871bd02ba2e8 100755 (executable)
@@ -16,7 +16,7 @@ c2600)
        ucidef_set_led_usbport "usb2" "USB 2" "${board}:white:usb_4" "usb3-port1" "usb4-port1"
        ucidef_set_led_switch "wan" "wan" "${board}:white:wan" "switch0" "0x20"
        ucidef_set_led_switch "lan" "lan" "${board}:white:lan" "switch0" "0x1e"
        ucidef_set_led_usbport "usb2" "USB 2" "${board}:white:usb_4" "usb3-port1" "usb4-port1"
        ucidef_set_led_switch "wan" "wan" "${board}:white:wan" "switch0" "0x20"
        ucidef_set_led_switch "lan" "lan" "${board}:white:lan" "switch0" "0x1e"
-       ucidef_set_led_default "general" "general" "${board}:white:ledgnr" "1"
+       ucidef_set_led_default "general" "general" "${board}:white:general" "1"
        ;;
 d7800 |\
 r7500 |\
        ;;
 d7800 |\
 r7500 |\
index 9162200fd902799487f25b26015da035e828e7bd..f22838f7b4612fd03db0a6fa8eb0d16386af292f 100644 (file)
@@ -1,4 +1,5 @@
 #include "qcom-ipq8064-v1.0.dtsi"
 #include "qcom-ipq8064-v1.0.dtsi"
+
 #include <dt-bindings/input/input.h>
 
 / {
 #include <dt-bindings/input/input.h>
 
 / {
@@ -25,9 +26,9 @@
                mdio-gpio0 = &mdio0;
 
                led-boot = &power;
                mdio-gpio0 = &mdio0;
 
                led-boot = &power;
-               led-failsafe = &ledgnr;
+               led-failsafe = &general;
                led-running = &power;
                led-running = &power;
-               led-upgrade = &ledgnr;
+               led-upgrade = &general;
        };
 
        chosen {
        };
 
        chosen {
 
        soc {
                pinmux@800000 {
 
        soc {
                pinmux@800000 {
+                       button_pins: button_pins {
+                               mux {
+                                       pins = "gpio16", "gpio54", "gpio65";
+                                       function = "gpio";
+                                       drive-strength = <2>;
+                                       bias-pull-up;
+                               };
+                       };
+
                        i2c4_pins: i2c4_pinmux {
                        i2c4_pins: i2c4_pinmux {
-                               pins = "gpio12", "gpio13";
-                               function = "gsbi4";
-                               bias-disable;
+                               mux {
+                                       pins = "gpio12", "gpio13";
+                                       function = "gsbi4";
+                                       drive-strength = <12>;
+                                       bias-disable;
+                               };
+                       };
+
+                       led_pins: led_pins {
+                               mux {
+                                       pins = "gpio6", "gpio7", "gpio8", "gpio9", "gpio26", "gpio33",
+                                              "gpio53", "gpio66";
+                                       function = "gpio";
+                                       drive-strength = <2>;
+                                       bias-pull-up;
+                               };
                        };
 
                        spi_pins: spi_pins {
                        };
 
                        spi_pins: spi_pins {
@@ -56,6 +79,7 @@
 
                                cs {
                                        pins = "gpio20";
 
                                cs {
                                        pins = "gpio20";
+                                       function = "gpio";
                                        drive-strength = <10>;
                                        bias-pull-up;
                                };
                                        drive-strength = <10>;
                                        bias-pull-up;
                                };
                                };
                        };
 
                                };
                        };
 
-                       nand_pins: nand_pins {
-                               mux {
-                                       pins = "gpio34", "gpio35", "gpio36",
-                                              "gpio37", "gpio38", "gpio39",
-                                              "gpio40", "gpio41", "gpio42",
-                                              "gpio43", "gpio44", "gpio45",
-                                              "gpio46", "gpio47";
-                                       function = "nand";
-                                       drive-strength = <10>;
-                                       bias-disable;
-                               };
-
-                               pullups {
-                                       pins = "gpio39";
-                                       bias-pull-up;
-                               };
-
-                               hold {
-                                       pins = "gpio40", "gpio41", "gpio42",
-                                              "gpio43", "gpio44", "gpio45",
-                                              "gpio46", "gpio47";
-                                       bias-bus-hold;
-                               };
-                       };
-
                        mdio0_pins: mdio0_pins {
                                mux {
                                        pins = "gpio0", "gpio1";
                        mdio0_pins: mdio0_pins {
                                mux {
                                        pins = "gpio0", "gpio1";
                                        bias-disable;
                                };
                        };
                                        bias-disable;
                                };
                        };
+
+                       usb0_pwr_en_pin: usb0_pwr_en_pin {
+                               mux {
+                                       pins = "gpio25";
+                                       function = "gpio";
+                                       drive-strength = <10>;
+                                       bias-pull-up;
+                                       output-high;
+                               };
+                       };
+
+                       usb1_pwr_en_pin: usb1_pwr_en_pin {
+                               mux {
+                                       pins = "gpio23";
+                                       function = "gpio";
+                                       drive-strength = <10>;
+                                       bias-pull-up;
+                                       output-high;
+                               };
+                       };
                };
 
                gsbi@16300000 {
                };
 
                gsbi@16300000 {
 
                usb30@0 {
                        status = "ok";
 
                usb30@0 {
                        status = "ok";
+
+                       pinctrl-0 = <&usb0_pwr_en_pin>;
+                       pinctrl-names = "default";
                };
 
                usb30@1 {
                        status = "ok";
                };
 
                usb30@1 {
                        status = "ok";
+
+                       pinctrl-0 = <&usb1_pwr_en_pin>;
+                       pinctrl-names = "default";
                };
 
                pcie0: pci@1b500000 {
                };
 
                pcie0: pci@1b500000 {
                                full-duplex;
                        };
                };
                                full-duplex;
                        };
                };
+
+               rpm@108000 {
+                       pinctrl-0 = <&i2c4_pins>;
+                       pinctrl-names = "default";
+               };
        };
 
        gpio-keys {
                compatible = "gpio-keys";
        };
 
        gpio-keys {
                compatible = "gpio-keys";
+               pinctrl-0 = <&button_pins>;
+               pinctrl-names = "default";
 
                wifi {
                        label = "wifi";
 
                wifi {
                        label = "wifi";
                        linux,code = <KEY_WPS_BUTTON>;
                };
 
                        linux,code = <KEY_WPS_BUTTON>;
                };
 
-                ledgeneral {
-                       label = "ledgeneral";
+               ledswitch {
+                       label = "ledswitch";
                        gpios = <&qcom_pinmux 16 GPIO_ACTIVE_LOW>;
                        gpios = <&qcom_pinmux 16 GPIO_ACTIVE_LOW>;
-                       linux,code = <KEY_DOLLAR>;
+                       linux,code = <KEY_LIGHTS_TOGGLE>;
                };
        };
 
        gpio-leds {
                compatible = "gpio-leds";
                };
        };
 
        gpio-leds {
                compatible = "gpio-leds";
+               pinctrl-0 = <&led_pins>;
+               pinctrl-names = "default";
 
                lan {
                        label = "c2600:white:lan";
 
                lan {
                        label = "c2600:white:lan";
                };
 
                wan_red {
                };
 
                wan_red {
-                       label = "c2600:red:wan";
+                       label = "c2600:orange:wan";
                        gpios = <&qcom_pinmux 26 GPIO_ACTIVE_LOW>;
                };
 
                        gpios = <&qcom_pinmux 26 GPIO_ACTIVE_LOW>;
                };
 
                power: status {
                        label = "c2600:white:status";
                        gpios = <&qcom_pinmux 53 GPIO_ACTIVE_HIGH>;
                power: status {
                        label = "c2600:white:status";
                        gpios = <&qcom_pinmux 53 GPIO_ACTIVE_HIGH>;
+                       default-state = "keep";
                };
 
                };
 
-               ledgnr: ledgnr {
-                       label = "c2600:white:ledgnr";
+               general: general {
+                       label = "c2600:white:general";
                        gpios = <&qcom_pinmux 66 GPIO_ACTIVE_HIGH>;
                };
        };
                        gpios = <&qcom_pinmux 66 GPIO_ACTIVE_HIGH>;
                };
        };
-
-       gpio_export {
-               compatible = "gpio-export";
-               #size-cells = <0>;
-
-               usb1_power {
-                       gpio-export,name = "usb1_power";
-                       gpio-export,output = <1>;
-                       gpios = <&qcom_pinmux 25 GPIO_ACTIVE_HIGH>;
-               };
-               usb2_power {
-                       gpio-export,name = "usb2_power";
-                       gpio-export,output = <1>;
-                       gpios = <&qcom_pinmux 23 GPIO_ACTIVE_HIGH>;
-               };
-       };
 };
 
 &adm_dma {
 };
 
 &adm_dma {
index 4dd7a32c44e36c422238d4ccc5904a3a6fe7609d..4af56bae494a8c6410d897dfbcc2ef559f72ea53 100644 (file)
        aliases {
                serial0 = &uart4;
                mdio-gpio0 = &mdio0;
        aliases {
                serial0 = &uart4;
                mdio-gpio0 = &mdio0;
+
+               led-boot = &power;
+               led-failsafe = &power;
+               led-running = &power;
+               led-upgrade = &power;
        };
 
        chosen {
        };
 
        chosen {
 
        soc {
                pinmux@800000 {
 
        soc {
                pinmux@800000 {
-                       i2c4_pins: i2c4_pinmux {
-                               pins = "gpio12", "gpio13";
-                               function = "gsbi4";
-                               bias-disable;
+                       button_pins: button_pins {
+                               mux {
+                                       pins = "gpio6", "gpio54", "gpio65";
+                                       function = "gpio";
+                                       drive-strength = <2>;
+                                       bias-pull-up;
+                               };
                        };
 
                        };
 
-                       pcie0_pins: pcie0_pinmux {
+                       i2c4_pins: i2c4_pinmux {
                                mux {
                                mux {
-                                       pins = "gpio3";
-                                       function = "pcie1_rst";
+                                       pins = "gpio12", "gpio13";
+                                       function = "gsbi4";
                                        drive-strength = <12>;
                                        bias-disable;
                                };
                        };
 
                                        drive-strength = <12>;
                                        bias-disable;
                                };
                        };
 
-                       pcie1_pins: pcie1_pinmux {
+                       led_pins: led_pins {
                                mux {
                                mux {
-                                       pins = "gpio48";
-                                       function = "pcie2_rst";
-                                       drive-strength = <12>;
+                                       pins = "gpio7", "gpio8", "gpio9", "gpio22", "gpio23",
+                                               "gpio24","gpio26", "gpio53", "gpio64", "gpio67";
+                                       function = "gpio";
+                                       drive-strength = <2>;
+                                       bias-pull-up;
+                               };
+                       };
+
+                       mdio0_pins: mdio0_pins {
+                               mux {
+                                       pins = "gpio0", "gpio1";
+                                       function = "gpio";
+                                       drive-strength = <8>;
                                        bias-disable;
                                };
                        };
                                        bias-disable;
                                };
                        };
                                };
                        };
 
                                };
                        };
 
-                       mdio0_pins: mdio0_pins {
-                               mux {
-                                       pins = "gpio0", "gpio1";
-                                       function = "gpio";
-                                       drive-strength = <8>;
-                                       bias-disable;
-                               };
-                       };
-
                        rgmii2_pins: rgmii2_pins {
                                mux {
                                        pins = "gpio27", "gpio28", "gpio29", "gpio30", "gpio31", "gpio32",
                        rgmii2_pins: rgmii2_pins {
                                mux {
                                        pins = "gpio27", "gpio28", "gpio29", "gpio30", "gpio31", "gpio32",
                                        bias-disable;
                                };
                        };
                                        bias-disable;
                                };
                        };
+
+                       usb0_pwr_en_pins: usb0_pwr_en_pins {
+                               mux {
+                                       pins = "gpio15";
+                                       function = "gpio";
+                                       drive-strength = <12>;
+                                       bias-pull-down;
+                                       output-high;
+                               };
+                       };
+
+                       usb1_pwr_en_pins: usb1_pwr_en_pins {
+                               mux {
+                                       pins = "gpio16", "gpio68";
+                                       function = "gpio";
+                                       drive-strength = <12>;
+                                       bias-pull-down;
+                                       output-high;
+                               };
+                       };
                };
 
                gsbi@16300000 {
                };
 
                gsbi@16300000 {
 
                usb30@0 {
                        status = "ok";
 
                usb30@0 {
                        status = "ok";
+
+                       pinctrl-0 = <&usb0_pwr_en_pins>;
+                       pinctrl-names = "default";
                };
 
                usb30@1 {
                        status = "ok";
                };
 
                usb30@1 {
                        status = "ok";
+
+                       pinctrl-0 = <&usb1_pwr_en_pins>;
+                       pinctrl-names = "default";
                };
 
                pcie0: pci@1b500000 {
                        status = "ok";
                };
 
                pcie0: pci@1b500000 {
                        status = "ok";
-                       reset-gpio = <&qcom_pinmux 3 0>;
+                       reset-gpio = <&qcom_pinmux 3 GPIO_ACTIVE_HIGH>;
                        pinctrl-0 = <&pcie0_pins>;
                        pinctrl-names = "default";
                };
 
                pcie1: pci@1b700000 {
                        status = "ok";
                        pinctrl-0 = <&pcie0_pins>;
                        pinctrl-names = "default";
                };
 
                pcie1: pci@1b700000 {
                        status = "ok";
-                       reset-gpio = <&qcom_pinmux 48 0>;
+                       reset-gpio = <&qcom_pinmux 48 GPIO_ACTIVE_HIGH>;
                        pinctrl-0 = <&pcie1_pins>;
                        pinctrl-names = "default";
                };
                        pinctrl-0 = <&pcie1_pins>;
                        pinctrl-names = "default";
                };
                                label = "firmware";
                                reg = <0x1480000 0x2000000>;
                        };
                                label = "firmware";
                                reg = <0x1480000 0x2000000>;
                        };
-
                };
 
                mdio0: mdio {
                        compatible = "virtual,mdio-gpio";
                        #address-cells = <1>;
                        #size-cells = <0>;
                };
 
                mdio0: mdio {
                        compatible = "virtual,mdio-gpio";
                        #address-cells = <1>;
                        #size-cells = <0>;
-                       gpios = <&qcom_pinmux 1 0 &qcom_pinmux 0 0>;
+                       gpios = <&qcom_pinmux 1 GPIO_ACTIVE_HIGH &qcom_pinmux 0 GPIO_ACTIVE_HIGH>;
                        pinctrl-0 = <&mdio0_pins>;
                        pinctrl-names = "default";
 
                        pinctrl-0 = <&mdio0_pins>;
                        pinctrl-names = "default";
 
                                full-duplex;
                        };
                };
                                full-duplex;
                        };
                };
+
+               rpm@108000 {
+                       pinctrl-0 = <&i2c4_pins>;
+                       pinctrl-names = "default";
+               };
        };
 
        gpio-keys {
                compatible = "gpio-keys";
        };
 
        gpio-keys {
                compatible = "gpio-keys";
+               pinctrl-0 = <&button_pins>;
+               pinctrl-names = "default";
 
                wifi {
                        label = "wifi";
 
                wifi {
                        label = "wifi";
-                       gpios = <&qcom_pinmux 6 1>;
-                       linux,code = <KEY_WLAN>;
+                       gpios = <&qcom_pinmux 6 GPIO_ACTIVE_LOW>;
+                       linux,code = <KEY_RFKILL>;
                };
 
                reset {
                        label = "reset";
                };
 
                reset {
                        label = "reset";
-                       gpios = <&qcom_pinmux 54 1>;
+                       gpios = <&qcom_pinmux 54 GPIO_ACTIVE_LOW>;
                        linux,code = <KEY_RESTART>;
                };
 
                wps {
                        label = "wps";
                        linux,code = <KEY_RESTART>;
                };
 
                wps {
                        label = "wps";
-                       gpios = <&qcom_pinmux 65 1>;
+                       gpios = <&qcom_pinmux 65 GPIO_ACTIVE_LOW>;
                        linux,code = <KEY_WPS_BUTTON>;
                };
        };
 
        gpio-leds {
                compatible = "gpio-leds";
                        linux,code = <KEY_WPS_BUTTON>;
                };
        };
 
        gpio-leds {
                compatible = "gpio-leds";
+               pinctrl-0 = <&led_pins>;
+               pinctrl-names = "default";
 
                usb1 {
                        label = "d7800:amber:usb1";
 
                usb1 {
                        label = "d7800:amber:usb1";
-                       gpios = <&qcom_pinmux 7 0>;
+                       gpios = <&qcom_pinmux 7 GPIO_ACTIVE_HIGH>;
                };
 
                usb3 {
                        label = "d7800:amber:usb3";
                };
 
                usb3 {
                        label = "d7800:amber:usb3";
-                       gpios = <&qcom_pinmux 8 0>;
+                       gpios = <&qcom_pinmux 8 GPIO_ACTIVE_HIGH>;
                };
 
                status {
                        label = "d7800:amber:status";
                };
 
                status {
                        label = "d7800:amber:status";
-                       gpios = <&qcom_pinmux 9 0>;
+                       gpios = <&qcom_pinmux 9 GPIO_ACTIVE_HIGH>;
                };
 
                internet {
                        label = "d7800:white:internet";
                };
 
                internet {
                        label = "d7800:white:internet";
-                       gpios = <&qcom_pinmux 22 0>;
+                       gpios = <&qcom_pinmux 22 GPIO_ACTIVE_HIGH>;
                };
 
                wan {
                        label = "d7800:white:wan";
                };
 
                wan {
                        label = "d7800:white:wan";
-                       gpios = <&qcom_pinmux 23 0>;
+                       gpios = <&qcom_pinmux 23 GPIO_ACTIVE_HIGH>;
                };
 
                wps {
                        label = "d7800:white:wps";
                };
 
                wps {
                        label = "d7800:white:wps";
-                       gpios = <&qcom_pinmux 24 0>;
+                       gpios = <&qcom_pinmux 24 GPIO_ACTIVE_HIGH>;
                };
 
                esata {
                        label = "d7800:white:esata";
                };
 
                esata {
                        label = "d7800:white:esata";
-                       gpios = <&qcom_pinmux 26 0>;
+                       gpios = <&qcom_pinmux 26 GPIO_ACTIVE_HIGH>;
                };
 
                };
 
-               power {
+               power: power {
                        label = "d7800:white:power";
                        label = "d7800:white:power";
-                       gpios = <&qcom_pinmux 53 0>;
-                       default-state = "on";
+                       gpios = <&qcom_pinmux 53 GPIO_ACTIVE_HIGH>;
+                       default-state = "keep";
                };
 
                rfkill {
                        label = "d7800:white:rfkill";
                };
 
                rfkill {
                        label = "d7800:white:rfkill";
-                       gpios = <&qcom_pinmux 64 0>;
+                       gpios = <&qcom_pinmux 64 GPIO_ACTIVE_HIGH>;
                };
 
                wifi5g {
                        label = "d7800:white:wifi5g";
                };
 
                wifi5g {
                        label = "d7800:white:wifi5g";
-                       gpios = <&qcom_pinmux 67 0>;
+                       gpios = <&qcom_pinmux 67 GPIO_ACTIVE_HIGH>;
                };
        };
 };
                };
        };
 };
index 96e4acf1a8e51a8f8912341ec0bf795b8d279304..b5840e8717b674a5be42813793e0b440f6bf5693 100644 (file)
 
        soc {
                pinmux@800000 {
 
        soc {
                pinmux@800000 {
+                       button_pins: button_pins {
+                               mux {
+                                       pins = "gpio65", "gpio67", "gpio68";
+                                       function = "gpio";
+                                       drive-strength = <2>;
+                                       bias-pull-up;
+                               };
+                       };
+
                        i2c4_pins: i2c4_pinmux {
                        i2c4_pins: i2c4_pinmux {
-                               pins = "gpio12", "gpio13";
-                               function = "gsbi4";
-                               bias-disable;
+                               mux {
+                                       pins = "gpio12", "gpio13";
+                                       function = "gsbi4";
+                                       drive-strength = <12>;
+                                       bias-disable;
+                               };
                        };
 
                        };
 
-                       spi_pins: spi_pins {
+                       led_pins: led_pins {
                                mux {
                                mux {
-                                       pins = "gpio18", "gpio19", "gpio21";
-                                       function = "gsbi5";
-                                       drive-strength = <10>;
-                                       bias-none;
+                                       pins = "gpio6", "gpio53", "gpio54";
+                                       function = "gpio";
+                                       drive-strength = <2>;
+                                       bias-pull-up;
                                };
                        };
                                };
                        };
+
+                       mdio0_pins: mdio0_pins {
+                               mux {
+                                       pins = "gpio0", "gpio1";
+                                       function = "gpio";
+                                       drive-strength = <8>;
+                                       bias-disable;
+                               };
+                       };
+
                        nand_pins: nand_pins {
                                mux {
                                        pins = "gpio34", "gpio35", "gpio36",
                        nand_pins: nand_pins {
                                mux {
                                        pins = "gpio34", "gpio35", "gpio36",
                                };
                        };
 
                                };
                        };
 
-                       mdio0_pins: mdio0_pins {
-                               mux {
-                                       pins = "gpio0", "gpio1";
-                                       function = "gpio";
-                                       drive-strength = <8>;
-                                       bias-disable;
-                               };
-                       };
-
                        rgmii2_pins: rgmii2_pins {
                                mux {
                                        pins = "gpio27", "gpio28", "gpio29", "gpio30", "gpio31", "gpio32",
                        rgmii2_pins: rgmii2_pins {
                                mux {
                                        pins = "gpio27", "gpio28", "gpio29", "gpio30", "gpio31", "gpio32",
                                        bias-disable;
                                };
                        };
                                        bias-disable;
                                };
                        };
-                       
-                       
-                       
                };
 
                gsbi@16300000 {
                };
 
                gsbi@16300000 {
                                reg = <0x0660000 0x0120000>;
                                read-only;
                        };
                                reg = <0x0660000 0x0120000>;
                                read-only;
                        };
-                       
+
                        TZ@780000 {
                                label = "TZ";
                                reg = <0x0780000 0x0280000>;
                        TZ@780000 {
                                label = "TZ";
                                reg = <0x0780000 0x0280000>;
                                reg = <0x0dc0000 0x0100000>;
                                read-only;
                        };
                                reg = <0x0dc0000 0x0100000>;
                                read-only;
                        };
-                       
+
                        u_env@ec0000 {
                                label = "u_env";
                                reg = <0x0ec0000 0x0040000>;
                        };
                        u_env@ec0000 {
                                label = "u_env";
                                reg = <0x0ec0000 0x0040000>;
                        };
-                       
+
                        s_env@f00000 {
                                label = "s_env";
                                reg = <0x0f00000 0x0040000>;
                        };
                        s_env@f00000 {
                                label = "s_env";
                                reg = <0x0f00000 0x0040000>;
                        };
-                       
+
                        devinfo@f40000 {
                                label = "devinfo";
                                reg = <0x0f40000 0x0040000>;
                        };
                        devinfo@f40000 {
                                label = "devinfo";
                                reg = <0x0f40000 0x0040000>;
                        };
-                       
+
                        linux@f80000 { 
                                label = "kernel1";
                                reg = <0x0f80000 0x2800000>;  /* 3 MB spill to rootfs*/
                        };
                        linux@f80000 { 
                                label = "kernel1";
                                reg = <0x0f80000 0x2800000>;  /* 3 MB spill to rootfs*/
                        };
-                       
+
                        rootfs@1280000 {
                                label = "rootfs1";
                                reg = <0x1280000 0x2500000>;
                        };
                        rootfs@1280000 {
                                label = "rootfs1";
                                reg = <0x1280000 0x2500000>;
                        };
-                       
+
                        linux2@3780000 {
                                label = "kernel2";
                                reg = <0x3780000 0x2800000>;
                        };
                        linux2@3780000 {
                                label = "kernel2";
                                reg = <0x3780000 0x2800000>;
                        };
-                       
+
                        rootfs2@3a80000 {
                                label = "rootfs2";
                                reg = <0x3a80000 0x2500000>;
                        };
                        rootfs2@3a80000 {
                                label = "rootfs2";
                                reg = <0x3a80000 0x2500000>;
                        };
-                       
+
                        syscfg@5f80000 {
                                label = "syscfg";
                                reg = <0x5f80000 0x2080000>;
                        };
                        syscfg@5f80000 {
                                label = "syscfg";
                                reg = <0x5f80000 0x2080000>;
                        };
-
                };
 
                mdio0: mdio {
                        compatible = "virtual,mdio-gpio";
                        #address-cells = <1>;
                        #size-cells = <0>;
                };
 
                mdio0: mdio {
                        compatible = "virtual,mdio-gpio";
                        #address-cells = <1>;
                        #size-cells = <0>;
-                       gpios = <&qcom_pinmux 1 0 &qcom_pinmux 0 0>;
+                       gpios = <&qcom_pinmux 1 GPIO_ACTIVE_HIGH &qcom_pinmux 0 GPIO_ACTIVE_HIGH>;
                        pinctrl-0 = <&mdio0_pins>;
                        pinctrl-names = "default";
 
                        pinctrl-0 = <&mdio0_pins>;
                        pinctrl-names = "default";
 
                        };
                };
 
                        };
                };
 
+               rpm@108000 {
+                       pinctrl-0 = <&i2c4_pins>;
+                       pinctrl-names = "default";
+               };
+
                adm_dma: dma@18300000 {
                        status = "ok";
                };
                adm_dma: dma@18300000 {
                        status = "ok";
                };
-
        };
 
        gpio-keys {
                compatible = "gpio-keys";
        };
 
        gpio-keys {
                compatible = "gpio-keys";
+               pinctrl-0 = <&button_pins>;
+               pinctrl-names = "default";
 
 
-               rfkill {
-                       label = "rfkill"; /* WIFI on-off*/
+               wifi {
+                       label = "wifi";
                        gpios = <&qcom_pinmux 67 GPIO_ACTIVE_LOW>;
                        linux,code = <KEY_RFKILL>;
                };
                        gpios = <&qcom_pinmux 67 GPIO_ACTIVE_LOW>;
                        linux,code = <KEY_RFKILL>;
                };
                        gpios = <&qcom_pinmux 65 GPIO_ACTIVE_LOW>;
                        linux,code = <KEY_WPS_BUTTON>;
                };
                        gpios = <&qcom_pinmux 65 GPIO_ACTIVE_LOW>;
                        linux,code = <KEY_WPS_BUTTON>;
                };
-
        };
 
        gpio-leds {
                compatible = "gpio-leds";
        };
 
        gpio-leds {
                compatible = "gpio-leds";
+               pinctrl-0 = <&led_pins>;
+               pinctrl-names = "default";
 
                wps {
                        label = "ea8500:green:wps";
 
                wps {
                        label = "ea8500:green:wps";
-                       gpios = <&qcom_pinmux 53 0>;
-                       default-state = "off";
+                       gpios = <&qcom_pinmux 53 GPIO_ACTIVE_HIGH>;
                };
 
                power: power {
                        label = "ea8500:white:power";
                };
 
                power: power {
                        label = "ea8500:white:power";
-                       gpios = <&qcom_pinmux 6 1>;
-                       default-state = "off";
-                       linux,default-trigger = "heartbeat";
+                       gpios = <&qcom_pinmux 6 GPIO_ACTIVE_LOW>;
+                       default-state = "keep";
                };
 
                wifi {
                        label = "ea8500:green:wifi";
                };
 
                wifi {
                        label = "ea8500:green:wifi";
-                       gpios = <&qcom_pinmux 54 0>;
-                       default-state = "off";
+                       gpios = <&qcom_pinmux 54 GPIO_ACTIVE_HIGH>;
                };
        };
 };
                };
        };
 };
index 2ecd49320569ff69406a9527bd00dd70f01256df..7fcbb0c8788911f2feae5abc40e562788e87f6af 100644 (file)
        aliases {
                serial0 = &uart4;
                mdio-gpio0 = &mdio0;
        aliases {
                serial0 = &uart4;
                mdio-gpio0 = &mdio0;
+
+               led-boot = &power;
+               led-failsafe = &power;
+               led-running = &power;
+               led-upgrade = &power;
        };
 
        chosen {
        };
 
        chosen {
 
        soc {
                pinmux@800000 {
 
        soc {
                pinmux@800000 {
+                       button_pins: button_pins {
+                               mux {
+                                       pins = "gpio6", "gpio54", "gpio65";
+                                       function = "gpio";
+                                       drive-strength = <2>;
+                                       bias-pull-up;
+                               };
+                       };
+
                        i2c4_pins: i2c4_pinmux {
                        i2c4_pins: i2c4_pinmux {
-                               pins = "gpio12", "gpio13";
-                               function = "gsbi4";
-                               bias-disable;
+                               mux {
+                                       pins = "gpio12", "gpio13";
+                                       function = "gsbi4";
+                                       drive-strength = <12>;
+                                       bias-disable;
+                               };
+                       };
+
+                       led_pins: led_pins {
+                               mux {
+                                       pins = "gpio7", "gpio8", "gpio9", "gpio22", "gpio23",
+                                               "gpio24","gpio26", "gpio53", "gpio64", "gpio67";
+                                       function = "gpio";
+                                       drive-strength = <2>;
+                                       bias-pull-up;
+                               };
+                       };
+
+                       mdio0_pins: mdio0_pins {
+                               mux {
+                                       pins = "gpio0", "gpio1";
+                                       function = "gpio";
+                                       drive-strength = <8>;
+                                       bias-disable;
+                               };
                        };
 
                        nand_pins: nand_pins {
                        };
 
                        nand_pins: nand_pins {
                                };
                        };
 
                                };
                        };
 
-                       mdio0_pins: mdio0_pins {
-                               mux {
-                                       pins = "gpio0", "gpio1";
-                                       function = "gpio";
-                                       drive-strength = <8>;
-                                       bias-disable;
-                               };
-                       };
-
                        rgmii2_pins: rgmii2_pins {
                                mux {
                                        pins = "gpio27", "gpio28", "gpio29", "gpio30", "gpio31", "gpio32",
                        rgmii2_pins: rgmii2_pins {
                                mux {
                                        pins = "gpio27", "gpio28", "gpio29", "gpio30", "gpio31", "gpio32",
                        compatible = "virtual,mdio-gpio";
                        #address-cells = <1>;
                        #size-cells = <0>;
                        compatible = "virtual,mdio-gpio";
                        #address-cells = <1>;
                        #size-cells = <0>;
-                       gpios = <&qcom_pinmux 1 0 &qcom_pinmux 0 0>;
+                       gpios = <&qcom_pinmux 1 GPIO_ACTIVE_HIGH &qcom_pinmux 0 GPIO_ACTIVE_HIGH>;
                        pinctrl-0 = <&mdio0_pins>;
                        pinctrl-names = "default";
 
                        pinctrl-0 = <&mdio0_pins>;
                        pinctrl-names = "default";
 
                                full-duplex;
                        };
                };
                                full-duplex;
                        };
                };
+
+               rpm@108000 {
+                       pinctrl-0 = <&i2c4_pins>;
+                       pinctrl-names = "default";
+               };
        };
 
        gpio-keys {
                compatible = "gpio-keys";
        };
 
        gpio-keys {
                compatible = "gpio-keys";
+               pinctrl-0 = <&button_pins>;
+               pinctrl-names = "default";
 
                wifi {
                        label = "wifi";
 
                wifi {
                        label = "wifi";
-                       gpios = <&qcom_pinmux 6 1>;
-                       linux,code = <KEY_WLAN>;
+                       gpios = <&qcom_pinmux 6 GPIO_ACTIVE_LOW>;
+                       linux,code = <KEY_RFKILL>;
                };
 
                reset {
                        label = "reset";
                };
 
                reset {
                        label = "reset";
-                       gpios = <&qcom_pinmux 54 1>;
+                       gpios = <&qcom_pinmux 54 GPIO_ACTIVE_LOW>;
                        linux,code = <KEY_RESTART>;
                };
 
                wps {
                        label = "wps";
                        linux,code = <KEY_RESTART>;
                };
 
                wps {
                        label = "wps";
-                       gpios = <&qcom_pinmux 65 1>;
+                       gpios = <&qcom_pinmux 65 GPIO_ACTIVE_LOW>;
                        linux,code = <KEY_WPS_BUTTON>;
                };
        };
 
        gpio-leds {
                compatible = "gpio-leds";
                        linux,code = <KEY_WPS_BUTTON>;
                };
        };
 
        gpio-leds {
                compatible = "gpio-leds";
+               pinctrl-0 = <&led_pins>;
+               pinctrl-names = "default";
 
                usb1 {
                        label = "r7500:amber:usb1";
 
                usb1 {
                        label = "r7500:amber:usb1";
-                       gpios = <&qcom_pinmux 7 0>;
+                       gpios = <&qcom_pinmux 7 GPIO_ACTIVE_HIGH>;
                };
 
                usb3 {
                        label = "r7500:amber:usb3";
                };
 
                usb3 {
                        label = "r7500:amber:usb3";
-                       gpios = <&qcom_pinmux 8 0>;
+                       gpios = <&qcom_pinmux 8 GPIO_ACTIVE_HIGH>;
                };
 
                status {
                        label = "r7500:amber:status";
                };
 
                status {
                        label = "r7500:amber:status";
-                       gpios = <&qcom_pinmux 9 0>;
+                       gpios = <&qcom_pinmux 9 GPIO_ACTIVE_HIGH>;
                };
 
                internet {
                        label = "r7500:white:internet";
                };
 
                internet {
                        label = "r7500:white:internet";
-                       gpios = <&qcom_pinmux 22 0>;
+                       gpios = <&qcom_pinmux 22 GPIO_ACTIVE_HIGH>;
                };
 
                wan {
                        label = "r7500:white:wan";
                };
 
                wan {
                        label = "r7500:white:wan";
-                       gpios = <&qcom_pinmux 23 0>;
+                       gpios = <&qcom_pinmux 23 GPIO_ACTIVE_HIGH>;
                };
 
                wps {
                        label = "r7500:white:wps";
                };
 
                wps {
                        label = "r7500:white:wps";
-                       gpios = <&qcom_pinmux 24 0>;
+                       gpios = <&qcom_pinmux 24 GPIO_ACTIVE_HIGH>;
                };
 
                esata {
                        label = "r7500:white:esata";
                };
 
                esata {
                        label = "r7500:white:esata";
-                       gpios = <&qcom_pinmux 26 0>;
+                       gpios = <&qcom_pinmux 26 GPIO_ACTIVE_HIGH>;
                };
 
                };
 
-               power {
+               power: power {
                        label = "r7500:white:power";
                        label = "r7500:white:power";
-                       gpios = <&qcom_pinmux 53 0>;
-                       default-state = "on";
+                       gpios = <&qcom_pinmux 53 GPIO_ACTIVE_HIGH>;
+                       default-state = "keep";
                };
 
                rfkill {
                        label = "r7500:white:rfkill";
                };
 
                rfkill {
                        label = "r7500:white:rfkill";
-                       gpios = <&qcom_pinmux 64 0>;
+                       gpios = <&qcom_pinmux 64 GPIO_ACTIVE_HIGH>;
                };
 
                wifi5g {
                        label = "r7500:white:wifi5g";
                };
 
                wifi5g {
                        label = "r7500:white:wifi5g";
-                       gpios = <&qcom_pinmux 67 0>;
+                       gpios = <&qcom_pinmux 67 GPIO_ACTIVE_HIGH>;
                };
        };
 };
                };
        };
 };
index 869712d41ca663235c9dc21942930a064f08e8ef..67af68ee986e9ae88fedf092c1c6aab68d6a3ab7 100644 (file)
        aliases {
                serial0 = &uart4;
                mdio-gpio0 = &mdio0;
        aliases {
                serial0 = &uart4;
                mdio-gpio0 = &mdio0;
+
+               led-boot = &power;
+               led-failsafe = &power;
+               led-running = &power;
+               led-upgrade = &power;
        };
 
        chosen {
        };
 
        chosen {
 
        soc {
                pinmux@800000 {
 
        soc {
                pinmux@800000 {
+                       button_pins: button_pins {
+                               mux {
+                                       pins = "gpio6", "gpio54", "gpio65";
+                                       function = "gpio";
+                                       drive-strength = <2>;
+                                       bias-pull-up;
+                               };
+                       };
+
                        i2c4_pins: i2c4_pinmux {
                        i2c4_pins: i2c4_pinmux {
-                               pins = "gpio12", "gpio13";
-                               function = "gsbi4";
-                               bias-disable;
+                               mux {
+                                       pins = "gpio12", "gpio13";
+                                       function = "gsbi4";
+                                       drive-strength = <12>;
+                                       bias-disable;
+                               };
+                       };
+
+                       led_pins: led_pins {
+                               mux {
+                                       pins = "gpio7", "gpio8", "gpio9", "gpio22", "gpio23",
+                                               "gpio24","gpio26", "gpio53", "gpio64";
+                                       function = "gpio";
+                                       drive-strength = <2>;
+                                       bias-pull-up;
+                               };
+                       };
+
+                       mdio0_pins: mdio0_pins {
+                               mux {
+                                       pins = "gpio0", "gpio1";
+                                       function = "gpio";
+                                       drive-strength = <8>;
+                                       bias-disable;
+                               };
                        };
 
                        nand_pins: nand_pins {
                        };
 
                        nand_pins: nand_pins {
                                };
                        };
 
                                };
                        };
 
-                       mdio0_pins: mdio0_pins {
-                               mux {
-                                       pins = "gpio0", "gpio1";
-                                       function = "gpio";
-                                       drive-strength = <8>;
-                                       bias-disable;
-                               };
-                       };
-
                        rgmii2_pins: rgmii2_pins {
                                mux {
                                        pins = "gpio27", "gpio28", "gpio29", "gpio30", "gpio31", "gpio32",
                        rgmii2_pins: rgmii2_pins {
                                mux {
                                        pins = "gpio27", "gpio28", "gpio29", "gpio30", "gpio31", "gpio32",
                                        bias-disable;
                                };
                        };
                                        bias-disable;
                                };
                        };
+
+                       usb0_pwr_en_pins: usb0_pwr_en_pins {
+                               mux {
+                                       pins = "gpio15";
+                                       function = "gpio";
+                                       drive-strength = <12>;
+                                       bias-pull-down;
+                                       output-high;
+                               };
+                       };
+
+                       usb1_pwr_en_pins: usb1_pwr_en_pins {
+                               mux {
+                                       pins = "gpio16", "gpio68";
+                                       function = "gpio";
+                                       drive-strength = <12>;
+                                       bias-pull-down;
+                                       output-high;
+                               };
+                       };
                };
 
                gsbi@16300000 {
                };
 
                gsbi@16300000 {
 
                usb30@0 {
                        status = "ok";
 
                usb30@0 {
                        status = "ok";
+
+                       pinctrl-0 = <&usb0_pwr_en_pins>;
+                       pinctrl-names = "default";
                };
 
                usb30@1 {
                        status = "ok";
                };
 
                usb30@1 {
                        status = "ok";
+
+                       pinctrl-0 = <&usb1_pwr_en_pins>;
+                       pinctrl-names = "default";
                };
 
                pcie0: pci@1b500000 {
                };
 
                pcie0: pci@1b500000 {
                        compatible = "virtual,mdio-gpio";
                        #address-cells = <1>;
                        #size-cells = <0>;
                        compatible = "virtual,mdio-gpio";
                        #address-cells = <1>;
                        #size-cells = <0>;
-                       gpios = <&qcom_pinmux 1 0 &qcom_pinmux 0 0>;
+                       gpios = <&qcom_pinmux 1 GPIO_ACTIVE_HIGH &qcom_pinmux 0 GPIO_ACTIVE_HIGH>;
                        pinctrl-0 = <&mdio0_pins>;
                        pinctrl-names = "default";
 
                        pinctrl-0 = <&mdio0_pins>;
                        pinctrl-names = "default";
 
                                full-duplex;
                        };
                };
                                full-duplex;
                        };
                };
+
+               rpm@108000 {
+                       pinctrl-0 = <&i2c4_pins>;
+                       pinctrl-names = "default";
+               };
        };
 
        gpio-keys {
                compatible = "gpio-keys";
        };
 
        gpio-keys {
                compatible = "gpio-keys";
+               pinctrl-0 = <&button_pins>;
+               pinctrl-names = "default";
 
                wifi {
                        label = "wifi";
 
                wifi {
                        label = "wifi";
-                       gpios = <&qcom_pinmux 6 1>;
-                       linux,code = <KEY_WLAN>;
+                       gpios = <&qcom_pinmux 6 GPIO_ACTIVE_LOW>;
+                       linux,code = <KEY_RFKILL>;
                };
 
                reset {
                        label = "reset";
                };
 
                reset {
                        label = "reset";
-                       gpios = <&qcom_pinmux 54 1>;
+                       gpios = <&qcom_pinmux 54 GPIO_ACTIVE_LOW>;
                        linux,code = <KEY_RESTART>;
                };
 
                wps {
                        label = "wps";
                        linux,code = <KEY_RESTART>;
                };
 
                wps {
                        label = "wps";
-                       gpios = <&qcom_pinmux 65 1>;
+                       gpios = <&qcom_pinmux 65 GPIO_ACTIVE_LOW>;
                        linux,code = <KEY_WPS_BUTTON>;
                };
        };
 
        gpio-leds {
                compatible = "gpio-leds";
                        linux,code = <KEY_WPS_BUTTON>;
                };
        };
 
        gpio-leds {
                compatible = "gpio-leds";
+               pinctrl-0 = <&led_pins>;
+               pinctrl-names = "default";
 
                usb1 {
                        label = "r7500v2:amber:usb1";
 
                usb1 {
                        label = "r7500v2:amber:usb1";
-                       gpios = <&qcom_pinmux 7 0>;
+                       gpios = <&qcom_pinmux 7 GPIO_ACTIVE_HIGH>;
                };
 
                usb3 {
                        label = "r7500v2:amber:usb3";
                };
 
                usb3 {
                        label = "r7500v2:amber:usb3";
-                       gpios = <&qcom_pinmux 8 0>;
+                       gpios = <&qcom_pinmux 8 GPIO_ACTIVE_HIGH>;
                };
 
                status {
                        label = "r7500v2:amber:status";
                };
 
                status {
                        label = "r7500v2:amber:status";
-                       gpios = <&qcom_pinmux 9 0>;
+                       gpios = <&qcom_pinmux 9 GPIO_ACTIVE_HIGH>;
                };
 
                internet {
                        label = "r7500v2:white:internet";
                };
 
                internet {
                        label = "r7500v2:white:internet";
-                       gpios = <&qcom_pinmux 22 0>;
+                       gpios = <&qcom_pinmux 22 GPIO_ACTIVE_HIGH>;
                };
 
                wan {
                        label = "r7500v2:white:wan";
                };
 
                wan {
                        label = "r7500v2:white:wan";
-                       gpios = <&qcom_pinmux 23 0>;
+                       gpios = <&qcom_pinmux 23 GPIO_ACTIVE_HIGH>;
                };
 
                wps {
                        label = "r7500v2:white:wps";
                };
 
                wps {
                        label = "r7500v2:white:wps";
-                       gpios = <&qcom_pinmux 24 0>;
+                       gpios = <&qcom_pinmux 24 GPIO_ACTIVE_HIGH>;
                };
 
                esata {
                        label = "r7500v2:white:esata";
                };
 
                esata {
                        label = "r7500v2:white:esata";
-                       gpios = <&qcom_pinmux 26 0>;
+                       gpios = <&qcom_pinmux 26 GPIO_ACTIVE_HIGH>;
                };
 
                };
 
-               power {
+               power: power {
                        label = "r7500v2:white:power";
                        label = "r7500v2:white:power";
-                       gpios = <&qcom_pinmux 53 0>;
-                       default-state = "on";
+                       gpios = <&qcom_pinmux 53 GPIO_ACTIVE_HIGH>;
+                       default-state = "keep";
                };
 
                rfkill {
                        label = "r7500v2:white:rfkill";
                };
 
                rfkill {
                        label = "r7500v2:white:rfkill";
-                       gpios = <&qcom_pinmux 64 0>;
+                       gpios = <&qcom_pinmux 64 GPIO_ACTIVE_HIGH>;
                };
                };
-
        };
 };
 
        };
 };
 
index e03adc14832f974538c7877345c635c328644799..ec0aa0c0ee7716b95f204a032800c59481b9ce0a 100644 (file)
        soc {
                pinmux@800000 {
                        led_pins: led_pins {
        soc {
                pinmux@800000 {
                        led_pins: led_pins {
-                               pins = "gpio7", "gpio8", "gpio9", "gpio16", "gpio17",
-                                       "gpio26", "gpio53", "gpio56", "gpio66";
-                               function = "gpio";
-                               drive-strength = <2>;
-                               bias-pull-up;
+                               mux {
+                                       pins = "gpio7", "gpio8", "gpio9", "gpio16", "gpio17",
+                                               "gpio26", "gpio53", "gpio56", "gpio66";
+                                       function = "gpio";
+                                       drive-strength = <2>;
+                                       bias-pull-up;
+                               };
                        };
 
                        i2c4_pins: i2c4_pinmux {
                        };
 
                        i2c4_pins: i2c4_pinmux {
                        };
 
                        button_pins: button_pins {
                        };
 
                        button_pins: button_pins {
-                               pins = "gpio54", "gpio64", "gpio65", "gpio67", "gpio68";
-                               function = "gpio";
-                               drive-strength = <2>;
-                               bias-pull-up;
+                               mux {
+                                       pins = "gpio54", "gpio64", "gpio65", "gpio67", "gpio68";
+                                       function = "gpio";
+                                       drive-strength = <2>;
+                                       bias-pull-up;
+                               };
                        };
 
                        spi_pins: spi_pins {
                        };
 
                        spi_pins: spi_pins {
                                        bias-disable;
                                };
                        };
                                        bias-disable;
                                };
                        };
-
                };
 
                gsbi@16300000 {
                };
 
                gsbi@16300000 {
                                                reg = <0xfc0000 0x40000>;
                                                read-only;
                                        };
                                                reg = <0xfc0000 0x40000>;
                                                read-only;
                                        };
-
                                };
                        };
                };
                                };
                        };
                };
index cc56213fdbffe00ac3d17ddbe0f5badef2857dc7..d23d57aa47233bf3f2a72f6abdf819c43d79be59 100644 (file)
                serial0 = &uart4;
                mdio-gpio0 = &mdio0;
                sdcc1 = &sdcc1;
                serial0 = &uart4;
                mdio-gpio0 = &mdio0;
                sdcc1 = &sdcc1;
+
+               led-boot = &power;
+               led-failsafe = &power;
+               led-running = &power;
+               led-upgrade = &power;
        };
 
        chosen {
        };
 
        chosen {
 
        soc {
                pinmux@800000 {
 
        soc {
                pinmux@800000 {
-                       pinctrl-0 = <&mdio0_pins &rgmii2_pins>;
-                       pinctrl-names = "default";
+                       button_pins: button_pins {
+                               mux {
+                                       pins = "gpio6", "gpio54", "gpio65";
+                                       function = "gpio";
+                                       drive-strength = <2>;
+                                       bias-pull-up;
+                               };
+                       };
 
                        i2c4_pins: i2c4_pinmux {
                                mux {
 
                        i2c4_pins: i2c4_pinmux {
                                mux {
                                };
                        };
 
                                };
                        };
 
+                       led_pins: led_pins {
+                               off {
+                                       pins = "gpio26", "gpio33", "gpio64";
+                                       function = "gpio";
+                                       drive-strength = <2>;
+                                       bias-pull-down;
+                               };
+
+                               on {
+                                       pins = "gpio9";
+                                       function = "gpio";
+                                       drive-strength = <2>;
+                                       bias-pull-up;
+                               };
+                       };
+
                        mdio0_pins: mdio0_pins {
                                mux {
                                        pins = "gpio0", "gpio1";
                        mdio0_pins: mdio0_pins {
                                mux {
                                        pins = "gpio0", "gpio1";
                                        drive-strength = <12>;
                                };
                        };
                                        drive-strength = <12>;
                                };
                        };
+
+                       usb0_pwr_en_pins: usb0_pwr_en_pins {
+                               pwr {
+                                       pins = "gpio14";
+                                       function = "gpio";
+                                       drive-strength = <12>;
+                                       bias-pull-down;
+                                       output-high;
+                               };
+
+                               ovc {
+                                       pins = "gpio15";
+                                       function = "gpio";
+                                       drive-strength = <12>;
+                                       bias-pull-up;
+                                       output-high;
+                               };
+                       };
+
+                       usb1_pwr_en_pins: usb1_pwr_en_pins {
+                               pwr {
+                                       pins = "gpio17";
+                                       function = "gpio";
+                                       drive-strength = <12>;
+                                       bias-pull-down;
+                                       output-high;
+                               };
+
+                               ovc {
+                                       pins = "gpio16";
+                                       function = "gpio";
+                                       drive-strength = <12>;
+                                       bias-pull-up;
+                                       output-high;
+                               };
+                       };
                };
 
                gsbi@16300000 {
                };
 
                gsbi@16300000 {
 
                usb30@0 {
                        status = "ok";
 
                usb30@0 {
                        status = "ok";
+
+                       pinctrl-0 = <&usb0_pwr_en_pins>;
+                       pinctrl-names = "default";
                };
 
                usb30@1 {
                        status = "ok";
                };
 
                usb30@1 {
                        status = "ok";
+
+                       pinctrl-0 = <&usb1_pwr_en_pins>;
+                       pinctrl-names = "default";
                };
 
                pcie0: pci@1b500000 {
                };
 
                pcie0: pci@1b500000 {
                        compatible = "virtual,mdio-gpio";
                        #address-cells = <1>;
                        #size-cells = <0>;
                        compatible = "virtual,mdio-gpio";
                        #address-cells = <1>;
                        #size-cells = <0>;
-                       gpios = <&qcom_pinmux 1 0 &qcom_pinmux 0 0>;
+                       gpios = <&qcom_pinmux 1 GPIO_ACTIVE_LOW &qcom_pinmux 0 GPIO_ACTIVE_LOW>;
+                       pinctrl-0 = <&mdio0_pins>;
+                       pinctrl-names = "default";
 
                        phy0: ethernet-phy@0 {
                                device_type = "ethernet-phy";
 
                        phy0: ethernet-phy@0 {
                                device_type = "ethernet-phy";
                        qcom,irq = <255>;
                        mdiobus = <&mdio0>;
 
                        qcom,irq = <255>;
                        mdiobus = <&mdio0>;
 
+                       pinctrl-0 = <&rgmii2_pins>;
+                       pinctrl-names = "default";
+
                        fixed-link {
                                speed = <1000>;
                                full-duplex;
                        fixed-link {
                                speed = <1000>;
                                full-duplex;
 
                amba {
                        sdcc1: sdcc@12400000 {
 
                amba {
                        sdcc1: sdcc@12400000 {
-                               status          = "okay";
-                                dmas = <&sdcc1bam 2>, <&sdcc1bam 1>;
-                                dma-names = "tx", "rx";
+                               status = "okay";
+                               dmas = <&sdcc1bam 2>, <&sdcc1bam 1>;
+                               dma-names = "tx", "rx";
                        };
                };
                        };
                };
-
-
-
        };
 
        gpio-keys {
                compatible = "gpio-keys";
        };
 
        gpio-keys {
                compatible = "gpio-keys";
+               pinctrl-0 = <&button_pins>;
+               pinctrl-names = "default";
+
                wifi {
                        label = "wifi";
                        gpios = <&qcom_pinmux 6 GPIO_ACTIVE_LOW>;
                wifi {
                        label = "wifi";
                        gpios = <&qcom_pinmux 6 GPIO_ACTIVE_LOW>;
 
        gpio-leds {
                compatible = "gpio-leds";
 
        gpio-leds {
                compatible = "gpio-leds";
+               pinctrl-0 = <&led_pins>;
+               pinctrl-names = "default";
+
                internet {
                        label = "nbg6817:white:internet";
                        gpios = <&qcom_pinmux 64 GPIO_ACTIVE_HIGH>;
                };
 
                internet {
                        label = "nbg6817:white:internet";
                        gpios = <&qcom_pinmux 64 GPIO_ACTIVE_HIGH>;
                };
 
-               power {
+               power: power {
                        label = "nbg6817:white:power";
                        gpios = <&qcom_pinmux 9 GPIO_ACTIVE_HIGH>;
                        label = "nbg6817:white:power";
                        gpios = <&qcom_pinmux 9 GPIO_ACTIVE_HIGH>;
-                       default-state = "on";
                };
 
                wifi {
                };
 
                wifi {
                        gpios = <&qcom_pinmux 26 GPIO_ACTIVE_HIGH>;
                };
        };
                        gpios = <&qcom_pinmux 26 GPIO_ACTIVE_HIGH>;
                };
        };
-
-       gpio_export {
-               compatible = "gpio-export";
-               #size-cells = <0>;
-
-               usb0_status {
-                       gpio-export,name = "usb0";
-                       gpio-export,output = <1>;
-                       gpios = <&qcom_pinmux 15 GPIO_ACTIVE_HIGH>;
-               };
-
-               usb1_status {
-                       gpio-export,name = "usb1";
-                       gpio-export,output = <1>;
-                       gpios = <&qcom_pinmux 16 GPIO_ACTIVE_HIGH>;
-               };
-               usb1_power {
-                       gpio-export,name = "usb1_power";
-                       gpio-export,output = <1>;
-                       gpios = <&qcom_pinmux 14 GPIO_ACTIVE_HIGH>;
-               };
-               usb2_power {
-                       gpio-export,name = "usb2_power";
-                       gpio-export,output = <1>;
-                       gpios = <&qcom_pinmux 17 GPIO_ACTIVE_HIGH>;
-               };
-       };
 };
 
 &adm_dma {
 };
 
 &adm_dma {
index 8566995ef5e1663bfb65dbaecb4e41541a7899c1..42d6e2b7a072777c31833ae878b0aceca8b187e8 100644 (file)
 
        soc {
                pinmux@800000 {
 
        soc {
                pinmux@800000 {
-                       pinctrl-0 = <&mdio0_pins &rgmii2_pins>;
-                       pinctrl-names = "default";
+                       button_pins: button_pins {
+                               mux {
+                                       pins = "gpio6", "gpio54", "gpio65";
+                                       function = "gpio";
+                                       drive-strength = <2>;
+                                       bias-pull-up;
+                               };
+                       };
 
                        i2c4_pins: i2c4_pinmux {
                                mux {
 
                        i2c4_pins: i2c4_pinmux {
                                mux {
                                };
                        };
 
                                };
                        };
 
+                       led_pins: led_pins {
+                               pins = "gpio7", "gpio8", "gpio9", "gpio22", "gpio23",
+                                       "gpio24","gpio26", "gpio53", "gpio64", "gpio67";
+                               function = "gpio";
+                               drive-strength = <2>;
+                               bias-pull-down;
+                       };
+
                        nand_pins: nand_pins {
                                mux {
                                        pins = "gpio34", "gpio35", "gpio36",
                        nand_pins: nand_pins {
                                mux {
                                        pins = "gpio34", "gpio35", "gpio36",
                                        output-high;
                                };
                        };
                                        output-high;
                                };
                        };
+
+                       usb0_pwr_en_pins: usb0_pwr_en_pins {
+                               mux {
+                                       pins = "gpio15";
+                                       function = "gpio";
+                                       drive-strength = <12>;
+                                       bias-pull-down;
+                                       output-high;
+                               };
+                       };
+
+                       usb1_pwr_en_pins: usb1_pwr_en_pins {
+                               mux {
+                                       pins = "gpio16", "gpio68";
+                                       function = "gpio";
+                                       drive-strength = <12>;
+                                       bias-pull-down;
+                                       output-high;
+                               };
+                       };
                };
 
                gsbi@16300000 {
                };
 
                gsbi@16300000 {
                                pinctrl-0 = <&spi_pins>;
                                pinctrl-names = "default";
 
                                pinctrl-0 = <&spi_pins>;
                                pinctrl-names = "default";
 
-                               cs-gpios = <&qcom_pinmux 20 0>;
+                               cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_HIGH>;
 
                                flash: m25p80@0 {
                                        compatible = "jedec,spi-nor";
 
                                flash: m25p80@0 {
                                        compatible = "jedec,spi-nor";
                                pinctrl-0 = <&spi6_pins>;
                                pinctrl-names = "default";
 
                                pinctrl-0 = <&spi6_pins>;
                                pinctrl-names = "default";
 
-                               cs-gpios = <&qcom_pinmux 57 0>;
+                               cs-gpios = <&qcom_pinmux 57 GPIO_ACTIVE_HIGH>;
 
                                spi-nor@0 {
                                        compatible = "spi-nor";
 
                                spi-nor@0 {
                                        compatible = "spi-nor";
 
                usb30@0 {
                        status = "ok";
 
                usb30@0 {
                        status = "ok";
+
+                       pinctrl-0 = <&usb0_pwr_en_pins>;
+                       pinctrl-names = "default";
                };
 
                usb30@1 {
                        status = "ok";
                };
 
                usb30@1 {
                        status = "ok";
+
+                       pinctrl-0 = <&usb1_pwr_en_pins>;
+                       pinctrl-names = "default";
                };
 
                pcie0: pci@1b500000 {
                };
 
                pcie0: pci@1b500000 {
                                label = "firmware";
                                reg = <0x1480000 0x2000000>;
                        };
                                label = "firmware";
                                reg = <0x1480000 0x2000000>;
                        };
-
                };
 
                mdio0: mdio {
                        compatible = "virtual,mdio-gpio";
                        #address-cells = <1>;
                        #size-cells = <0>;
                };
 
                mdio0: mdio {
                        compatible = "virtual,mdio-gpio";
                        #address-cells = <1>;
                        #size-cells = <0>;
-                       gpios = <&qcom_pinmux 1 0 &qcom_pinmux 0 0>;
+                       gpios = <&qcom_pinmux 1 GPIO_ACTIVE_HIGH &qcom_pinmux 0 GPIO_ACTIVE_HIGH>;
+                       pinctrl-0 = <&mdio0_pins>;
+                       pinctrl-names = "default";
+
 
                        phy0: ethernet-phy@0 {
                                device_type = "ethernet-phy";
 
                        phy0: ethernet-phy@0 {
                                device_type = "ethernet-phy";
                        qcom,irq = <255>;
                        mdiobus = <&mdio0>;
 
                        qcom,irq = <255>;
                        mdiobus = <&mdio0>;
 
+                       pinctrl-0 = <&rgmii2_pins>;
+                       pinctrl-names = "default";
+
                        mtd-mac-address = <&art 6>;
 
                        fixed-link {
                        mtd-mac-address = <&art 6>;
 
                        fixed-link {
 
        gpio-keys {
                compatible = "gpio-keys";
 
        gpio-keys {
                compatible = "gpio-keys";
+               pinctrl-0 = <&button_pins>;
+               pinctrl-names = "default";
 
                wifi {
                        label = "wifi";
 
                wifi {
                        label = "wifi";
-                       gpios = <&qcom_pinmux 6 1>;
+                       gpios = <&qcom_pinmux 6 GPIO_ACTIVE_LOW>;
                        linux,code = <KEY_RFKILL>;
                        debounce-interval = <60>;
                        wakeup-source;
                        linux,code = <KEY_RFKILL>;
                        debounce-interval = <60>;
                        wakeup-source;
 
                reset {
                        label = "reset";
 
                reset {
                        label = "reset";
-                       gpios = <&qcom_pinmux 54 1>;
+                       gpios = <&qcom_pinmux 54 GPIO_ACTIVE_LOW>;
                        linux,code = <KEY_RESTART>;
                        debounce-interval = <60>;
                        wakeup-source;
                        linux,code = <KEY_RESTART>;
                        debounce-interval = <60>;
                        wakeup-source;
 
                wps {
                        label = "wps";
 
                wps {
                        label = "wps";
-                       gpios = <&qcom_pinmux 65 1>;
+                       gpios = <&qcom_pinmux 65 GPIO_ACTIVE_LOW>;
                        linux,code = <KEY_WPS_BUTTON>;
                        debounce-interval = <60>;
                        wakeup-source;
                        linux,code = <KEY_WPS_BUTTON>;
                        debounce-interval = <60>;
                        wakeup-source;
 
        gpio-leds {
                compatible = "gpio-leds";
 
        gpio-leds {
                compatible = "gpio-leds";
+               pinctrl-0 = <&led_pins>;
+               pinctrl-names = "default";
 
                power_white: power_white {
                        label = "r7800:white:power";
 
                power_white: power_white {
                        label = "r7800:white:power";
-                       gpios = <&qcom_pinmux 53 0>;
+                       gpios = <&qcom_pinmux 53 GPIO_ACTIVE_HIGH>;
                        default-state = "on";
                };
 
                power_amber: power_amber {
                        label = "r7800:amber:power";
                        default-state = "on";
                };
 
                power_amber: power_amber {
                        label = "r7800:amber:power";
-                       gpios = <&qcom_pinmux 9 0>;
+                       gpios = <&qcom_pinmux 9 GPIO_ACTIVE_HIGH>;
                };
 
                wan_white {
                        label = "r7800:white:wan";
                };
 
                wan_white {
                        label = "r7800:white:wan";
-                       gpios = <&qcom_pinmux 22 0>;
+                       gpios = <&qcom_pinmux 22 GPIO_ACTIVE_HIGH>;
                };
 
                wan_amber {
                        label = "r7800:amber:wan";
                };
 
                wan_amber {
                        label = "r7800:amber:wan";
-                       gpios = <&qcom_pinmux 23 0>;
+                       gpios = <&qcom_pinmux 23 GPIO_ACTIVE_HIGH>;
                };
 
                usb1 {
                        label = "r7800:white:usb1";
                };
 
                usb1 {
                        label = "r7800:white:usb1";
-                       gpios = <&qcom_pinmux 7 0>;
+                       gpios = <&qcom_pinmux 7 GPIO_ACTIVE_HIGH>;
                };
 
                usb2 {
                        label = "r7800:white:usb2";
                };
 
                usb2 {
                        label = "r7800:white:usb2";
-                       gpios = <&qcom_pinmux 8 0>;
+                       gpios = <&qcom_pinmux 8 GPIO_ACTIVE_HIGH>;
                };
 
                esata {
                        label = "r7800:white:esata";
                };
 
                esata {
                        label = "r7800:white:esata";
-                       gpios = <&qcom_pinmux 26 0>;
+                       gpios = <&qcom_pinmux 26 GPIO_ACTIVE_HIGH>;
                };
 
                rfkill {
                        label = "r7800:white:rfkill";
                };
 
                rfkill {
                        label = "r7800:white:rfkill";
-                       gpios = <&qcom_pinmux 64 0>;
+                       gpios = <&qcom_pinmux 64 GPIO_ACTIVE_HIGH>;
                };
 
                wps {
                        label = "r7800:white:wps";
                };
 
                wps {
                        label = "r7800:white:wps";
-                       gpios = <&qcom_pinmux 24 0>;
+                       gpios = <&qcom_pinmux 24 GPIO_ACTIVE_HIGH>;
                };
 
                wifi {
                        label = "r7800:white:wifi";
                };
 
                wifi {
                        label = "r7800:white:wifi";
-                       gpios = <&qcom_pinmux 67 0>;
-               };
-       };
-
-       gpio_export {
-               compatible = "gpio-export";
-               #size-cells = <0>;
-
-               usb1-power {
-                       gpio-export,name = "usb1";
-                       gpio-export,output = <1>;
-                       gpios = <&qcom_pinmux 15 0>;
-               };
-
-               usb2-power {
-                       gpio-export,name = "usb2";
-                       gpio-export,output = <1>;
-                       gpios = <&qcom_pinmux 16 0>;
-               };
-
-               usb-power {
-                       gpio-export,name = "usb_p";
-                       gpio-export,output = <1>;
-                       gpios = <&qcom_pinmux 68 0>;
+                       gpios = <&qcom_pinmux 67 GPIO_ACTIVE_HIGH>;
                };
        };
 };
                };
        };
 };