brcm63xx: add pinctrl support
[openwrt/staging/noltari.git] / target / linux / brcm63xx / dts / bcm6368.dtsi
index 52bcec4466edafd087807a179f2480492678d960..3464632fa16aa94e4915001d80796355bfb79d49 100644 (file)
@@ -5,8 +5,7 @@
 
        aliases {
                pflash = &pflash;
-               gpio0 = &gpio0;
-               gpio1 = &gpio1;
+               pinctrl = &pinctrl;
        };
 
        cpus {
                        interrupts = <2>, <3>;
                };
 
-               gpio1: gpio-controller@10000080 {
-                       compatible = "brcm,bcm6345-gpio";
-                       reg = <0x10000080 4>, <0x10000088 4>;
+               pinctrl: pin-controller@10000080 {
+                       compatible = "brcm,bcm6368-pinctrl";
+                       reg = <0x10000080 0x8>,
+                             <0x10000088 0x8>,
+                             <0x10000098 0x4>;
+                       reg-names = "dirout", "data", "mode";
 
                        gpio-controller;
                        #gpio-cells = <2>;
 
-                       ngpios = <6>;
-               };
-
-               gpio0: gpio-controller@10000084 {
-                       compatible = "brcm,bcm6345-gpio";
-                       reg = <0x10000084 4>, <0x1000008c 4>;
-
-                       gpio-controller;
-                       #gpio-cells = <2>;
+                       pinctrl_analog_afe_0: analog_afe_0 {
+                               function = "analog_afe_0";
+                               pins = "gpio0";
+                       };
+
+                       pinctrl_analog_afe_1: analog_afe_1 {
+                               function = "analog_afe_1";
+                               pins = "gpio1";
+                       };
+
+                       pinctrl_sys_irq: sys_irq {
+                               function = "sys_irq";
+                               pins = "gpio2";
+                       };
+
+                       pinctrl_serial_led: serial_led {
+                               pinctrl_serial_led_data: serial_led_data {
+                                       function = "serial_led_data";
+                                       pins = "gpio3";
+                               };
+
+                               pinctrl_serial_led_clk: serial_led_clk {
+                                       function = "serial_led_clk";
+                                       pins = "gpio4";
+                               };
+                       };
+
+                       pinctrl_inet_led: inet_led {
+                               function = "inet_led";
+                               pins = "gpio5";
+                       };
+
+                       pinctrl_ephy0_led: ephy0_led {
+                               function = "ephy0_led";
+                               pins = "gpio6";
+                       };
+
+                       pinctrl_ephy1_led: ephy1_led {
+                               function = "ephy1_led";
+                               pins = "gpio7";
+                       };
+
+                       pinctrl_ephy2_led: ephy2_led {
+                               function = "ephy2_led";
+                               pins = "gpio8";
+                       };
+
+                       pinctrl_ephy3_led: ephy3_led {
+                               function = "ephy3_led";
+                               pins = "gpio9";
+                       };
+
+                       pinctrl_robosw_led_data: robosw_led_data {
+                               function = "robosw_led_data";
+                               pins = "gpio10";
+                       };
+
+                       pinctrl_robosw_led_clk: robosw_led_clk {
+                               function = "robosw_led_clk";
+                               pins = "gpio11";
+                       };
+
+                       pinctrl_robosw_led0: robosw_led0 {
+                               function = "robosw_led0";
+                               pins = "gpio12";
+                       };
+
+                       pinctrl_robosw_led1: robosw_led1 {
+                               function = "robosw_led1";
+                               pins = "gpio13";
+                       };
+
+                       pinctrl_usb_device_led: usb_device_led {
+                               function = "usb_device_led";
+                               pins = "gpio14";
+                       };
+
+                       pinctrl_pci: pci {
+                               pinctrl_pci_req1: pci_req1 {
+                                       function = "pci_req1";
+                                       pins = "gpio16";
+                               };
+
+                               pinctrl_pci_gnt1: pci_gnt1 {
+                                       function = "pci_gnt1";
+                                       pins = "gpio17";
+                               };
+
+                               pinctrl_pci_intb: pci_intb {
+                                       function = "pci_intb";
+                                       pins = "gpio18";
+                               };
+
+                               pinctrl_pci_req0: pci_req0 {
+                                       function = "pci_req0";
+                                       pins = "gpio19";
+                               };
+
+                               pinctrl_pci_gnt0: pci_gnt0 {
+                                       function = "pci_gnt0";
+                                       pins = "gpio20";
+                               };
+                       };
+
+                       pinctrl_pcmcia: pcmcia {
+                               pinctrl_pcmcia_cd1: pcmcia_cd1 {
+                                       function = "pcmcia_cd1";
+                                       pins = "gpio22";
+                               };
+
+                               pinctrl_pcmcia_cd2: pcmcia_cd2 {
+                                       function = "pcmcia_cd2";
+                                       pins = "gpio23";
+                               };
+
+                               pinctrl_pcmcia_vs1: pcmcia_vs1 {
+                                       function = "pcmcia_vs1";
+                                       pins = "gpio24";
+                               };
+
+                               pinctrl_pcmcia_vs2: pcmcia_vs2 {
+                                       function = "pcmcia_vs2";
+                                       pins = "gpio25";
+                               };
+                       };
+
+                       pinctrl_ebi_cs2: ebi_cs2 {
+                               function = "ebi_cs2";
+                               pins = "gpio26";
+                       };
+
+                       pinctrl_ebi_cs3: ebi_cs3 {
+                               function = "ebi_cs2";
+                               pins = "gpio27";
+                       };
+
+                       pinctrl_spi_cs2: spi_cs2 {
+                               function = "spi_cs2";
+                               pins = "gpio28";
+                       };
+
+                       pinctrl_spi_cs3: spi_cs3 {
+                               function = "spi_cs3";
+                               pins = "gpio29";
+                       };
+
+                       pinctrl_spi_cs4: spi_cs4 {
+                               function = "spi_cs4";
+                               pins = "gpio30";
+                       };
+
+                       pinctrl_spi_cs5: spi_cs5 {
+                               function = "spi_cs5";
+                               pins = "gpio31";
+                       };
                };
        };