brcm63xx: add pinctrl support
[openwrt/openwrt.git] / target / linux / brcm63xx / dts / bcm63268.dtsi
index a2b683af776455026b8827b77008a0ad6e2b48c3..d64fe19d0e4ace7171bbbefca4f306a031fe383c 100644 (file)
@@ -4,8 +4,7 @@
        compatible = "brcm,bcm63268";
 
        aliases {
-               gpio0 = &gpio0;
-               gpio1 = &gpio1;
+               pinctrl = &pinctrl;
                spi0 = &lsspi;
                spi1 = &hsspi;
        };
                        interrupts = <2>, <3>;
                };
 
-               gpio1: gpio-controller@100000c0 {
-                       compatible = "brcm,bcm6345-gpio";
-                       reg = <0x100000c0 4>, <0x100000c8 4>;
+               pinctrl: pin-controller@100000c0 {
+                       compatible = "brcm,bcm63268-pinctrl";
+                       reg = <0x100000c0 0x8>,
+                             <0x100000c8 0x8>,
+                             <0x100000d0 0x4>,
+                             <0x100000d8 0x4>,
+                             <0x100000dc 0x4>,
+                             <0x100000f8 0x4>;
+                       reg-names = "dirout", "dat", "led", "mode",
+                                   "ctrl", "basemode";
 
                        gpio-controller;
                        #gpio-cells = <2>;
 
-                       ngpios = <20>;
-
                        interrupt-parent = <&periph_intc>;
                        interrupts = <0 0>, <1 0>, <2 0>, <3 0>;
-                       interrupt-names = "gpio0", "gpio1", "gpio2", "gpio3";
-               };
-
-               gpio0: gpio-controller@100000c4 {
-                       compatible = "brcm,bcm6345-gpio";
-                       reg = <0x100000c4 4>, <0x100000cc 4>;
-
-                       gpio-controller;
-                       #gpio-cells = <2>;
+                       interrupt-names = "gpio32", "gpio33", "gpio34", "gpio35";
+
+                       pinctrl_serial_led: serial_led {
+                               pinctrl_serial_led_clk: serial_led_clk {
+                                       function = "serial_led_clk";
+                                       pins = "gpio0";
+                               };
+
+                               pinctrl_serial_led_data: serial_led_data {
+                                       function = "serial_led_data";
+                                       pins = "gpio1";
+                               };
+                       };
+
+                       pinctrl_hsspi_cs4: hsspi_cs4 {
+                               function = "hsspi_cs4";
+                               pins = "gpio16";
+                       };
+
+                       pinctrl_hsspi_cs5: hsspi_cs5 {
+                               function = "hsspi_cs5";
+                               pins = "gpio17";
+                       };
+
+                       pinctrl_hsspi_cs6: hsspi_cs6 {
+                               function = "hsspi_cs6";
+                               pins = "gpio8";
+                       };
+
+                       pinctrl_hsspi_cs7: hsspi_cs7 {
+                               function = "hsspi_cs7";
+                               pins = "gpio9";
+                       };
+
+                       pinctrl_adsl_spi: adsl_spi {
+                               pinctrl_adsl_spi_miso: adsl_spi_miso {
+                                       function = "adsl_spi_miso";
+                                       pins = "gpio18";
+                               };
+
+                               pinctrl_adsl_spi_mosi: adsl_spi_mosi {
+                                       function = "adsl_spi_mosi";
+                                       pins = "gpio19";
+                               };
+                       };
+
+                       pinctrl_vreq_clk: vreq_clk {
+                               function = "vreq_clk";
+                               pins = "gpio22";
+                       };
+
+                       pinctrl_pcie_clkreq_b: pcie_clkreq_b {
+                               function = "pcie_clkreq_b";
+                               pins = "gpio23";
+                       };
+
+                       pinctrl_robosw_led_clk: robosw_led_clk {
+                               function = "robosw_led_clk";
+                               pins = "gpio30";
+                       };
+
+                       pinctrl_robosw_led_data: robosw_led_data {
+                               function = "robosw_led_data";
+                               pins = "gpio31";
+                       };
+
+                       pinctrl_nand: nand {
+                               function = "nand";
+                               group = "nand_grp";
+                       };
+
+                       pinctrl_gpio35_alt: gpio35_alt {
+                               function = "gpio35_alt";
+                               pin = "gpio35";
+                       };
+
+                       pinctrl_dectpd: dectpd {
+                               function = "dectpd";
+                               group = "dectpd_grp";
+                       };
+
+                       pinctrl_vdsl_phy_override_0: vdsl_phy_override_0 {
+                               function = "vdsl_phy_override_0";
+                               group = "vdsl_phy_override_0_grp";
+                       };
+
+                       pinctrl_vdsl_phy_override_1: vdsl_phy_override_1 {
+                               function = "vdsl_phy_override_1";
+                               group = "vdsl_phy_override_1_grp";
+                       };
+
+                       pinctrl_vdsl_phy_override_2: vdsl_phy_override_2 {
+                               function = "vdsl_phy_override_2";
+                               group = "vdsl_phy_override_2_grp";
+                       };
+
+                       pinctrl_vdsl_phy_override_3: vdsl_phy_override_3 {
+                               function = "vdsl_phy_override_3";
+                               group = "vdsl_phy_override_3_grp";
+                       };
+
+                       pinctrl_dsl_gpio8: dsl_gpio8 {
+                               function = "dsl_gpio8";
+                               group = "dsl_gpio8";
+                       };
+
+                       pinctrl_dsl_gpio9: dsl_gpio9 {
+                               function = "dsl_gpio9";
+                               group = "dsl_gpio9";
+                       };
                };
 
                lsspi: spi@10000800 {