brcm63xx: register serial through device tree
[openwrt/staging/mkresin.git] / target / linux / brcm63xx / dts / a4001n1.dts
index 2bdd201ff17db586e5f62602387d85d3edd7b4d1..ad1590d7a0c5640e4eb872560b4f2d21f5bbed5a 100644 (file)
@@ -1,8 +1,125 @@
 /dts-v1/;
 
-/include/ "bcm6328.dtsi"
+#include "bcm6328.dtsi"
+
+#include <dt-bindings/input/input.h>
 
 / {
        model = "ADB P.DG A4001N1";
        compatible = "adb,a4001n1", "brcm,bcm6328";
+
+       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>;
+               #size-cells = <0>;
+               poll-interval = <20>;
+               debounce-interval = <60>;
+
+               reset {
+                       label = "reset";
+                       gpios = <&pinctrl 23 1>;
+                       linux,code = <KEY_RESTART>;
+               };
+               wps {
+                       label = "wlan";
+                       gpios = <&pinctrl 24 1>;
+                       linux,code = <KEY_WLAN>;
+               };
+       };
+
+       gpio-leds {
+               compatible = "gpio-leds";
+
+               inet_red {
+                       label = "A4001N1:red:inet";
+                       gpios = <&pinctrl 2 1>;
+               };
+               ppp_green {
+                       label = "A4001N1:green:ppp";
+                       gpios = <&pinctrl 3 1>;
+               };
+               power_green {
+                       label = "A4001N1:green:power";
+                       gpios = <&pinctrl 4 1>;
+                       default-state = "on";
+               };
+               ppp_red {
+                       label = "A4001N1:red:ppp";
+                       gpios = <&pinctrl 5 1>;
+               };
+               usb_green {
+                       label = "A4001N1:green:3g";
+                       gpios = <&pinctrl 6 1>;
+               };
+               usb_red {
+                       label = "A4001N1:red:3g";
+                       gpios = <&pinctrl 7 1>;
+               };
+               power_red {
+                       label = "A4001N1:red:power";
+                       gpios = <&pinctrl 8 1>;
+               };
+               wlan_green {
+                       label = "A4001N1:green:wlan";
+                       gpios = <&pinctrl 9 1>;
+               };
+               wlan_red {
+                       label = "A4001N1:red:wlan";
+                       gpios = <&pinctrl 10 1>;
+               };
+               inet_green {
+                       label = "A4001N1:green:inet";
+                       gpios = <&pinctrl 11 1>;
+               };
+               eth_red {
+                       label = "A4001N1:red:eth";
+                       gpios = <&pinctrl 20 1>;
+               };
+               eth_green {
+                       label = "A4001N1:green:eth";
+                       gpios = <&pinctrl 31 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 0xfe0000>;
+                       label = "linux";
+               };
+
+               nvram@ff0000 {
+                       reg = <0xff0000 0x010000>;
+                       label = "nvram";
+               };
+       };
+};
+
+&uart0 {
+       status = "ok";
 };