brcm63xx: add pinctrl support
[openwrt/openwrt.git] / target / linux / brcm63xx / dts / fast2704v2.dts
index f001b77d4dcaf1e670c7812ffb4c505ba832d22a..bbd23da3616aa3ecb2643dd8931b9660ac0a292e 100644 (file)
@@ -1,8 +1,105 @@
 /dts-v1/;
 
-/include/ "bcm6328.dtsi"
+#include "bcm6328.dtsi"
+
+#include <dt-bindings/input/input.h>
 
 / {
        model = "Sagem F@ST2704V2";
        compatible = "sagem,f@st2704v2", "brcm,bcm6328";
+
+       chosen {
+               bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
+       };
+
+       gpio-keys-polled {
+               compatible = "gpio-keys-polled";
+               #address-cells = <1>;
+               #size-cells = <0>;
+               poll-interval = <20>;
+               debounce-interval = <60>;
+
+               rfkill {
+                       label = "rfkill";
+                       gpios = <&pinctrl 15 1>;
+                       linux,code = <KEY_WLAN>;
+               };
+               reset {
+                       label = "reset";
+                       gpios = <&pinctrl 23 1>;
+                       linux,code = <KEY_RESTART>;
+               };
+               wps {
+                       label = "wps";
+                       gpios = <&pinctrl 24 1>;
+                       linux,code = <KEY_WPS_BUTTON>;
+               };
+       };
+
+       gpio-leds {
+               compatible = "gpio-leds";
+
+               usb_green {
+                       label = "F@ST2704V2:green:usb";
+                       gpios = <&pinctrl 1 1>;
+               };
+               inet_red {
+                       label = "F@ST2704V2:red:inet";
+                       gpios = <&pinctrl 2 1>;
+               };
+               dsl_green {
+                       label = "F@ST2704V2:green:dsl";
+                       gpios = <&pinctrl 3 1>;
+               };
+               power_green {
+                       label = "F@ST2704V2:green:power";
+                       gpios = <&pinctrl 4 1>;
+                       default-state = "on";
+               };
+               power_red {
+                       label = "F@ST2704V2:red:power";
+                       gpios = <&pinctrl 5 1>;
+               };
+               wps_green {
+                       label = "F@ST2704V2:green:wps";
+                       gpios = <&pinctrl 10 1>;
+               };
+               inet_green {
+                       label = "F@ST2704V2:green:inet";
+                       gpios = <&pinctrl 11 1>;
+               };
+       };
+};
+
+&hsspi {
+       status = "ok";
+
+       flash@0 {
+               compatible = "jedec,spi-nor";
+               spi-max-frequency = <16666667>;
+               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";
+               };
+       };
 };