brcm63xx: register serial through device tree
[openwrt/openwrt.git] / target / linux / brcm63xx / dts / dsl-275xb-d.dts
index 44c4c5eafd797afe218b683a0de894d6c567b208..d8f8c08e1ea6ebbf9db7c4fbc1eade7ce71bf1b2 100644 (file)
@@ -1,11 +1,18 @@
 /dts-v1/;
 
-/include/ "bcm6318.dtsi"
+#include "bcm6318.dtsi"
+
+#include <dt-bindings/input/input.h>
 
 / {
        model = "D-Link DSL-2750B/DSL-2751 rev D1";
        compatible = "d-link,dsl-275xb-d", "brcm,bcm6318";
 
+       chosen {
+               bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+               stdout-path = "serial0:115200n8";
+       };
+
        gpio-keys-polled {
                compatible = "gpio-keys-polled";
                #address-cells = <1>;
 
                wifi {
                        label = "wifi";
-                       gpios = <&gpio0 2 1>;
-                       linux,code = <0xee>;
+                       gpios = <&pinctrl 2 1>;
+                       linux,code = <KEY_WLAN>;
                };
 
                wps {
                        label = "wps";
-                       gpios = <&gpio1 1 1>;
-                       linux,code = <0x211>;
+                       gpios = <&pinctrl 33 1>;
+                       linux,code = <KEY_WPS_BUTTON>;
                };
 
                reset {
                        label = "reset";
-                       gpios = <&gpio1 2 1>;
-                       linux,code = <0x198>;
+                       gpios = <&pinctrl 34 1>;
+                       linux,code = <KEY_RESTART>;
                };
        };
 
 
                power_green {
                        label = "dsl-275xb:green:power";
-                       gpios = <&gpio0 3 1>;
+                       gpios = <&pinctrl 3 1>;
                        default-state = "on";
                };
 
                inet_green {
                        label = "dsl-275xb:green:inet";
-                       gpios = <&gpio0 8 1>;
+                       gpios = <&pinctrl 8 1>;
                };
 
                inet_red {
                        label = "dsl-275xb:red:inet-fail";
-                       gpios = <&gpio0 9 1>;
+                       gpios = <&pinctrl 9 1>;
                };
 
                power_red {
                        label = "dsl-275xb:red:post-failed";
-                       gpios = <&gpio0 11 1>;
+                       gpios = <&pinctrl 11 1>;
                };
 
                wps_blue {
                        label = "dsl-275xb:blue:wps";
-                       gpios = <&gpio0 16 1>;
+                       gpios = <&pinctrl 16 1>;
                };
 
                dsl_green {
                        label = "dsl-275xb:green:dsl";
-                       gpios = <&gpio0 17 1>;
+                       gpios = <&pinctrl 17 1>;
                };
 
                usb_green {
                        /* not user controllable? */
                        label = "dsl-275xb:green:usb";
-                       gpios = <&gpio1 17 1>;
+                       gpios = <&pinctrl 49 1>;
                };
        };
 };
+
+&hsspi {
+       status = "ok";
+
+       flash@0 {
+               compatible = "jedec,spi-nor";
+               spi-max-frequency = <62500000>;
+               spi-tx-bus-width = <2>;
+               spi-rx-bus-width = <2>;
+               reg = <0>;
+
+               #address-cells = <1>;
+               #size-cells = <1>;
+
+               linux,part-probe = "bcm63xxpart";
+
+               cfe@0 {
+                       reg = <0x000000 0x010000>;
+                       label = "cfe";
+                       read-only;
+               };
+
+               linux@10000 {
+                       reg = <0x010000 0x7e0000>;
+                       label = "linux";
+               };
+
+               nvram@7f0000 {
+                       reg = <0x7f0000 0x010000>;
+                       label = "nvram";
+               };
+       };
+};
+
+&pinctrl {
+       pinctrl-names = "default";
+
+       pinctrl-0 = <&pinctrl_ephy0_act_led &pinctrl_ephy1_act_led
+                    &pinctrl_ephy2_act_led &pinctrl_ephy3_act_led>;
+};
+
+&uart0 {
+       status = "ok";
+};