ath79: fix I2C on GL-AR300M devices
[openwrt/staging/chunkeey.git] / target / linux / ath79 / dts / qca9531_glinet_gl-ar300m.dtsi
index 67a3331ab39826997b5a5a3c67f58e837d2446e3..47fda91a0c787ebe01ed3b0b2bbf109b5db56df8 100644 (file)
@@ -1,10 +1,8 @@
-/dts-v1/;
+#include "qca953x.dtsi"
 
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
 
-#include "qca953x.dtsi"
-
 / {
        aliases {
                led-boot = &led_status;
                pinctrl-names = "default";
                pinctrl-0 = <&jtag_disable_pins>;
 
-               button0 {
+               reset {
                        label = "reset";
                        linux,code = <KEY_RESTART>;
                        gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
                };
 
-               button1 {
+               right {
                        label = "button right";
                        linux,code = <BTN_0>;
                        gpios = <&gpio 0 GPIO_ACTIVE_HIGH>;
                };
 
-               button3 {
+               left {
                        label = "button left";
                        linux,code = <BTN_1>;
                        gpios = <&gpio 1 GPIO_ACTIVE_HIGH>;
                };
        };
 
+       reg_usb_vbus: reg_usb_vbus {
+               compatible = "regulator-fixed";
+
+               regulator-name = "usb_vbus";
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+               gpio = <&gpio 2 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+       };
+
        leds {
                compatible = "gpio-leds";
 
-               // Colors from non-Lite versions
+               // Colors for non-Lite versions
 
                led_status: status {
-                       label = "gl-ar300m:green:status";
+                       label = "green:status";
                        gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
                };
 
-               led_lan: lan {
-                       label = "gl-ar300m:green:lan";
+               lan {
+                       label = "green:lan";
                        gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
                };
 
                led_wlan: wlan {
-                       label = "gl-ar300m:red:wlan";
+                       label = "red:wlan";
                        gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
                        linux,default-trigger = "phy0tpt";
                };
@@ -64,6 +72,9 @@
        i2c: i2c {
                compatible = "i2c-gpio";
 
+               pinctrl-names = "default";
+               pinctrl-0 = <&enable_gpio17>;
+
                sda-gpios = <&gpio 17 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
                scl-gpios = <&gpio 16 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
        };
 
 &spi {
        status = "okay";
-       num-cs = <0>;
 
        flash@0 {
-               compatible = "winbond,w25q128", "jedec,spi-nor";
+               compatible = "jedec,spi-nor";
                reg = <0>;
                spi-max-frequency = <25000000>;
 
                                read-only;
                        };
 
-                       partition@1 {
+                       partition@40000 {
                                label = "u-boot-env";
                                reg = <0x040000 0x010000>;
                        };
 
-                       partition@2 {
-                               compatible = "denx,uimage";
-                               label = "firmware";
+                       nor_firmware: partition@50000 {
+                               label = "nor_firmware";
                                reg = <0x050000 0xfa0000>;
                        };
 
-                       art: partition@3 {
+                       art: partition@ff0000 {
                                label = "art";
                                reg = <0xff0000 0x010000>;
                                read-only;
                        };
                };
        };
-};
 
-&uart {
-       status = "okay";
+       nand_flash: flash@1 {
+               compatible = "spi-nand";
+               reg = <1>;
+               spi-max-frequency = <25000000>;
+
+               partitions {
+                       compatible = "fixed-partitions";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+
+                       nand_kernel: partition@0 {
+                               label = "nand_kernel";
+                               reg = <0x000000 0x400000>;
+                       };
+
+                       nand_ubi: partition@400000 {
+                               label = "nand_ubi";
+                               reg = <0x400000 0x7c00000>;
+                       };
+               };
+       };
 };
 
 &usb0 {
        #address-cells = <1>;
        #size-cells = <0>;
+       vbus-supply = <&reg_usb_vbus>;
        status = "okay";
 };
 
 
 &eth0 {
        status = "okay";
-       mtd-mac-address = <&art 0x0>;
+
        phy-handle = <&swphy4>;
+
+       nvmem-cells = <&macaddr_art_0>;
+       nvmem-cell-names = "mac-address";
 };
 
 &eth1 {
-       mtd-mac-address = <&art 0x0>;
-       mtd-mac-address-increment = <1>;
+       nvmem-cells = <&macaddr_art_0>;
+       nvmem-cell-names = "mac-address";
+       mac-address-increment = <1>;
 };
 
 &wmac {
        status = "okay";
        mtd-cal-data = <&art 0x1000>;
 };
+
+&art {
+       compatible = "nvmem-cells";
+       #address-cells = <1>;
+       #size-cells = <1>;
+
+       macaddr_art_0: macaddr@0 {
+               reg = <0x0 0x6>;
+       };
+};
+
+&pinmux {
+       enable_gpio17: pinmux_enable_gpio17 {
+               pinctrl-single,bits = <0x10 0x0000 0xff00>;
+       };
+};