brcm63xx: add pinctrl support
[openwrt/staging/noltari.git] / target / linux / brcm63xx / dts / bcm6362.dtsi
index 36765b0eba45acc6c833f5ea4993bf71b9b81a28..14e319a321d495c1da7af362db9514f248890b8e 100644 (file)
@@ -3,6 +3,10 @@
        #size-cells = <1>;
        compatible = "brcm,bcm6362";
 
+       aliases {
+               pinctrl = &pinctrl;
+       };
+
        cpus {
                #address-cells = <1>;
                #size-cells = <0>;
@@ -48,7 +52,7 @@
                };
 
                periph_intc: interrupt-controller@10000020 {
-                       compatible = "brcm,bcm6345-l2-intc";
+                       compatible = "brcm,bcm6345-l1-intc";
                        reg = <0x10000020 0x10>,
                              <0x10000030 0x10>;
 
                        interrupt-parent = <&cpu_intc>;
                        interrupts = <2>, <3>;
                };
+
+               pinctrl: pin-controller@10000080 {
+                       compatible = "brcm,bcm6362-pinctrl";
+                       reg = <0x10000080 0x8>,
+                             <0x10000088 0x8>,
+                             <0x10000090 0x4>,
+                             <0x10000098 0x4>,
+                             <0x1000009c 0x4>,
+                             <0x100000b8 0x4>;
+                       reg-names = "dirout", "data", "led",
+                                   "mode", "ctrl", "basemode";
+
+                       gpio-controller;
+                       #gpio-cells = <2>;
+
+                       pinctrl_usb_device_led: usb_device_led {
+                               function = "usb_device_led";
+                               pins = "gpio0";
+                       };
+
+                       pinctrl_sys_irq: sys_irq {
+                               function = "sys_irq";
+                               pins = "gpio1";
+                       };
+
+                       pinctrl_serial_led: serial_led {
+                               pinctrl_serial_led_clk: serial_led_clk {
+                                       function = "serial_led_clk";
+                                       pins = "gpio2";
+                               };
+
+                               pinctrl_serial_led_data: serial_led_data {
+                                       function = "serial_led_data";
+                                       pins = "gpio3";
+                               };
+                       };
+
+                       pinctrl_robosw_led_data: robosw_led_data {
+                               function = "robosw_led_data";
+                               pins = "gpio4";
+                       };
+
+                       pinctrl_robosw_led_clk: robosw_led_clk {
+                               function = "robosw_led_clk";
+                               pins = "gpio5";
+                       };
+
+                       pinctrl_robosw_led0: robosw_led0 {
+                               function = "robosw_led0";
+                               pins = "gpio6";
+                       };
+
+                       pinctrl_robosw_led1: robosw_led1 {
+                               function = "robosw_led1";
+                               pins = "gpio7";
+                       };
+
+                       pinctrl_inet_led: inet_led {
+                               function = "inet_led";
+                               pins = "gpio8";
+                       };
+
+                       pinctrl_spi_cs2: spi_cs2 {
+                               function = "spi_cs2";
+                               pins = "gpio9";
+                       };
+
+                       pinctrl_spi_cs3: spi_cs3 {
+                               function = "spi_cs3";
+                               pins = "gpio10";
+                       };
+
+                       pinctrl_ntr_pulse: ntr_pulse {
+                               function = "ntr_pulse";
+                               pins = "gpio11";
+                       };
+
+                       pinctrl_uart1_scts: uart1_scts {
+                               function = "uart1_scts";
+                               pins = "gpio12";
+                       };
+
+                       pinctrl_uart1_srts: uart1_srts {
+                               function = "uart1_srts";
+                               pins = "gpio13";
+                       };
+
+
+                       pinctrl_uart1: uart1 {
+                               pinctrl_uart1_sdin: uart1_sdin {
+                                       function = "uart1_sdin";
+                                       pins = "gpio14";
+                               };
+
+                               pinctrl_uart1_sdout: uart1_sdout {
+                                       function = "uart1_sdout";
+                                       pins = "gpio15";
+                               };
+                       };
+
+                       pinctrl_adsl_spi: adsl_spi {
+                               pinctrl_adsl_spi_miso: adsl_spi_miso {
+                                       function = "adsl_spi_miso";
+                                       pins = "gpio16";
+                               };
+
+                               pinctrl_adsl_spi_mosi: adsl_spi_mosi {
+                                       function = "adsl_spi_mosi";
+                                       pins = "gpio17";
+                               };
+
+                               pinctrl_adsl_spi_clk: adsl_spi_clk {
+                                       function = "adsl_spi_clk";
+                                       pins = "gpio18";
+                               };
+
+                               pinctrl_adsl_spi_cs: adsl_spi_cs {
+                                       function = "adsl_spi_cs";
+                                       pins = "gpio19";
+                               };
+                       };
+
+                       pinctrl_ephy0_led: ephy0_led {
+                               function = "ephy0_led";
+                               pins = "gpio20";
+                       };
+
+                       pinctrl_ephy1_led: ephy1_led {
+                               function = "ephy1_led";
+                               pins = "gpio21";
+                       };
+
+                       pinctrl_ephy2_led: ephy2_led {
+                               function = "ephy2_led";
+                               pins = "gpio22";
+                       };
+
+                       pinctrl_ephy3_led: ephy3_led {
+                               function = "ephy3_led";
+                               pins = "gpio23";
+                       };
+
+                       pinctrl_ext_irq0: ext_irq0 {
+                               function = "ext_irq0";
+                               pins = "gpio24";
+                       };
+
+                       pinctrl_ext_irq1: ext_irq1 {
+                               function = "ext_irq1";
+                               pins = "gpio25";
+                       };
+
+                       pinctrl_ext_irq2: ext_irq2 {
+                               function = "ext_irq2";
+                               pins = "gpio26";
+                       };
+
+                       pinctrl_ext_irq3: ext_irq3 {
+                               function = "ext_irq3";
+                               pins = "gpio27";
+                       };
+
+                       pinctrl_nand: nand {
+                               function = "nand";
+                               group = "nand_grp";
+                       };
+               };
        };
 };