aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bmips/dts
diff options
context:
space:
mode:
authorÁlvaro Fernández Rojas <noltari@gmail.com>2021-03-02 20:19:30 +0100
committerÁlvaro Fernández Rojas <noltari@gmail.com>2021-03-29 18:23:27 +0200
commit08d8a3646b938a22c5dc312bb73bc1d81c00f992 (patch)
tree9b91cf7718bf0d21004e3df7dc91a744dbd8c3be /target/linux/bmips/dts
parent1b1a9d1944783705f96abde85d3981a618fec630 (diff)
downloadupstream-08d8a3646b938a22c5dc312bb73bc1d81c00f992.tar.gz
upstream-08d8a3646b938a22c5dc312bb73bc1d81c00f992.tar.bz2
upstream-08d8a3646b938a22c5dc312bb73bc1d81c00f992.zip
bmips: backport accepted pinctrl patches
These patches have been accepted for linux v5.13. External interrupts not supported for now. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Diffstat (limited to 'target/linux/bmips/dts')
-rw-r--r--target/linux/bmips/dts/bcm63168-comtrend-vr-3032u.dts4
-rw-r--r--target/linux/bmips/dts/bcm6318.dtsi59
-rw-r--r--target/linux/bmips/dts/bcm63268.dtsi71
-rw-r--r--target/linux/bmips/dts/bcm6328-comtrend-ar-5387un.dts2
-rw-r--r--target/linux/bmips/dts/bcm6328.dtsi59
-rw-r--r--target/linux/bmips/dts/bcm6358-huawei-hg556a-b.dts34
-rw-r--r--target/linux/bmips/dts/bcm6358.dtsi49
-rw-r--r--target/linux/bmips/dts/bcm6362-netgear-dgnd3700-v2.dts10
-rw-r--r--target/linux/bmips/dts/bcm6362.dtsi89
-rw-r--r--target/linux/bmips/dts/bcm6368-comtrend-vr-3025u.dts12
-rw-r--r--target/linux/bmips/dts/bcm6368.dtsi104
11 files changed, 245 insertions, 248 deletions
diff --git a/target/linux/bmips/dts/bcm63168-comtrend-vr-3032u.dts b/target/linux/bmips/dts/bcm63168-comtrend-vr-3032u.dts
index 1a0226f3c3..e2c05f9e6f 100644
--- a/target/linux/bmips/dts/bcm63168-comtrend-vr-3032u.dts
+++ b/target/linux/bmips/dts/bcm63168-comtrend-vr-3032u.dts
@@ -21,14 +21,14 @@
reset {
label = "reset";
- gpios = <&pinctrl 32 GPIO_ACTIVE_LOW>;
+ gpios = <&gpio 32 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
debounce-interval = <60>;
};
wps {
label = "wps";
- gpios = <&pinctrl 33 GPIO_ACTIVE_LOW>;
+ gpios = <&gpio 33 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
debounce-interval = <60>;
};
diff --git a/target/linux/bmips/dts/bcm6318.dtsi b/target/linux/bmips/dts/bcm6318.dtsi
index 6064c9ac4c..9f613ad47a 100644
--- a/target/linux/bmips/dts/bcm6318.dtsi
+++ b/target/linux/bmips/dts/bcm6318.dtsi
@@ -142,110 +142,115 @@
};
};
- gpio: syscon@10000080 {
- compatible = "syscon", "simple-mfd";
+ gpio_cntl: syscon@10000080 {
+ compatible = "brcm,bcm6318-gpio-sysctl",
+ "syscon", "simple-mfd";
reg = <0x10000080 0x80>;
+ ranges = <0 0x10000080 0x80>;
native-endian;
- pinctrl: pin-controller {
- compatible = "brcm,bcm6318-pinctrl";
+ gpio: gpio@0 {
+ compatible = "brcm,bcm6318-gpio";
+ reg-names = "dirout", "dat";
+ reg = <0x0 0x8>, <0x8 0x8>;
gpio-controller;
+ gpio-ranges = <&pinctrl 0 0 50>;
#gpio-cells = <2>;
+ };
- interrupts-extended = <&ext_intc 0 0>,
- <&ext_intc 1 0>;
- interrupt-names = "gpio33",
- "gpio34";
+ pinctrl: pinctrl@18 {
+ compatible = "brcm,bcm6318-pinctrl";
+ reg = <0x18 0x10>, <0x54 0x18>;
- pinctrl_ephy0_spd_led: ephy0_spd_led {
+ pinctrl_ephy0_spd_led: ephy0_spd_led-pins {
function = "ephy0_spd_led";
pins = "gpio0";
};
- pinctrl_ephy1_spd_led: ephy1_spd_led {
+ pinctrl_ephy1_spd_led: ephy1_spd_led-pins {
function = "ephy1_spd_led";
pins = "gpio1";
};
- pinctrl_ephy2_spd_led: ephy2_spd_led {
+ pinctrl_ephy2_spd_led: ephy2_spd_led-pins {
function = "ephy2_spd_led";
pins = "gpio2";
};
- pinctrl_ephy3_spd_led: ephy3_spd_led {
+ pinctrl_ephy3_spd_led: ephy3_spd_led-pins {
function = "ephy3_spd_led";
pins = "gpio3";
};
- pinctrl_ephy0_act_led: ephy0_act_led {
+ pinctrl_ephy0_act_led: ephy0_act_led-pins {
function = "ephy0_act_led";
pins = "gpio4";
};
- pinctrl_ephy1_act_led: ephy1_act_led {
+ pinctrl_ephy1_act_led: ephy1_act_led-pins {
function = "ephy1_act_led";
pins = "gpio5";
};
- pinctrl_ephy2_act_led: ephy2_act_led {
+ pinctrl_ephy2_act_led: ephy2_act_led-pins {
function = "ephy2_act_led";
pins = "gpio6";
};
- pinctrl_ephy3_act_led: ephy3_act_led {
+ pinctrl_ephy3_act_led: ephy3_act_led-pins {
function = "ephy3_act_led";
pins = "gpio7";
};
- pinctrl_serial_led: serial_led {
- pinctrl_serial_led_data: serial_led_data {
+ pinctrl_serial_led: serial_led-pins {
+ pinctrl_serial_led_data: serial_led_data-pins {
function = "serial_led_data";
pins = "gpio6";
};
- pinctrl_serial_led_clk: serial_led_clk {
+ pinctrl_serial_led_clk: serial_led_clk-pins {
function = "serial_led_clk";
pins = "gpio7";
};
};
- pinctrl_inet_act_led: inet_act_led {
+ pinctrl_inet_act_led: inet_act_led-pins {
function = "inet_act_led";
pins = "gpio8";
};
- pinctrl_inet_fail_led: inet_fail_led {
+ pinctrl_inet_fail_led: inet_fail_led-pins {
function = "inet_fail_led";
pins = "gpio9";
};
- pinctrl_dsl_led: dsl_led {
+ pinctrl_dsl_led: dsl_led-pins {
function = "dsl_led";
pins = "gpio10";
};
- pinctrl_post_fail_led: post_fail_led {
+ pinctrl_post_fail_led: post_fail_led-pins {
function = "post_fail_led";
pins = "gpio11";
};
- pinctrl_wlan_wps_led: wlan_wps_led {
+ pinctrl_wlan_wps_led: wlan_wps_led-pins {
function = "wlan_wps_led";
pins = "gpio12";
};
- pinctrl_usb_pwron: usb_pwron {
+ pinctrl_usb_pwron: usb_pwron-pins {
function = "usb_pwron";
pins = "gpio13";
};
- pinctrl_usb_device_led: usb_device_led {
+ pinctrl_usb_device_led: usb_device_led-pins {
function = "usb_device_led";
pins = "gpio13";
};
- pinctrl_usb_active: usb_active {
+ pinctrl_usb_active: usb_active-pins {
function = "usb_active";
pins = "gpio40";
};
diff --git a/target/linux/bmips/dts/bcm63268.dtsi b/target/linux/bmips/dts/bcm63268.dtsi
index d71cef4ccd..2ab14e5a33 100644
--- a/target/linux/bmips/dts/bcm63268.dtsi
+++ b/target/linux/bmips/dts/bcm63268.dtsi
@@ -153,131 +153,132 @@
#reset-cells = <1>;
};
- gpio: syscon@100000c0 {
- compatible = "syscon", "simple-mfd";
+ gpio_cntl: syscon@100000c0 {
+ compatible = "brcm,bcm63268-gpio-sysctl",
+ "syscon", "simple-mfd";
reg = <0x100000c0 0x80>;
+ ranges = <0 0x100000c0 0x80>;
native-endian;
- pinctrl: pin-controller {
- compatible = "brcm,bcm63268-pinctrl";
+ gpio: gpio@0 {
+ compatible = "brcm,bcm63268-gpio";
+ reg-names = "dirout", "dat";
+ reg = <0x0 0x8>, <0x8 0x8>;
gpio-controller;
+ gpio-ranges = <&pinctrl 0 0 52>;
#gpio-cells = <2>;
+ };
+
+ pinctrl: pinctrl@10 {
+ compatible = "brcm,bcm63268-pinctrl";
+ reg = <0x10 0x4>, <0x18 0x8>, <0x38 0x4>;
- interrupts-extended = <&ext_intc 0 0>,
- <&ext_intc 1 0>,
- <&ext_intc 2 0>,
- <&ext_intc 3 0>;
- interrupt-names = "gpio32",
- "gpio33",
- "gpio34",
- "gpio35";
-
- pinctrl_serial_led: serial_led {
- pinctrl_serial_led_clk: serial_led_clk {
+ pinctrl_serial_led: serial_led-pins {
+ pinctrl_serial_led_clk: serial_led_clk-pins {
function = "serial_led_clk";
pins = "gpio0";
};
- pinctrl_serial_led_data: serial_led_data {
+ pinctrl_serial_led_data: serial_led_data-pins {
function = "serial_led_data";
pins = "gpio1";
};
};
- pinctrl_hsspi_cs4: hsspi_cs4 {
+ pinctrl_hsspi_cs4: hsspi_cs4-pins {
function = "hsspi_cs4";
pins = "gpio16";
};
- pinctrl_hsspi_cs5: hsspi_cs5 {
+ pinctrl_hsspi_cs5: hsspi_cs5-pins {
function = "hsspi_cs5";
pins = "gpio17";
};
- pinctrl_hsspi_cs6: hsspi_cs6 {
+ pinctrl_hsspi_cs6: hsspi_cs6-pins {
function = "hsspi_cs6";
pins = "gpio8";
};
- pinctrl_hsspi_cs7: hsspi_cs7 {
+ pinctrl_hsspi_cs7: hsspi_cs7-pins {
function = "hsspi_cs7";
pins = "gpio9";
};
pinctrl_adsl_spi: adsl_spi {
- pinctrl_adsl_spi_miso: adsl_spi_miso {
+ pinctrl_adsl_spi_miso: adsl_spi_miso-pins {
function = "adsl_spi_miso";
pins = "gpio18";
};
- pinctrl_adsl_spi_mosi: adsl_spi_mosi {
+ pinctrl_adsl_spi_mosi: adsl_spi_mosi-pins {
function = "adsl_spi_mosi";
pins = "gpio19";
};
};
- pinctrl_vreq_clk: vreq_clk {
+ pinctrl_vreq_clk: vreq_clk-pins {
function = "vreq_clk";
pins = "gpio22";
};
- pinctrl_pcie_clkreq_b: pcie_clkreq_b {
+ pinctrl_pcie_clkreq_b: pcie_clkreq_b-pins {
function = "pcie_clkreq_b";
pins = "gpio23";
};
- pinctrl_robosw_led_clk: robosw_led_clk {
+ pinctrl_robosw_led_clk: robosw_led_clk-pins {
function = "robosw_led_clk";
pins = "gpio30";
};
- pinctrl_robosw_led_data: robosw_led_data {
+ pinctrl_robosw_led_data: robosw_led_data-pins {
function = "robosw_led_data";
pins = "gpio31";
};
- pinctrl_nand: nand {
+ pinctrl_nand: nand-pins {
function = "nand";
group = "nand_grp";
};
- pinctrl_gpio35_alt: gpio35_alt {
+ pinctrl_gpio35_alt: gpio35_alt-pins {
function = "gpio35_alt";
pin = "gpio35";
};
- pinctrl_dectpd: dectpd {
+ pinctrl_dectpd: dectpd-pins {
function = "dectpd";
group = "dectpd_grp";
};
- pinctrl_vdsl_phy_override_0: vdsl_phy_override_0 {
+ pinctrl_vdsl_phy_override_0: vdsl_phy_override_0-pins {
function = "vdsl_phy_override_0";
group = "vdsl_phy_override_0_grp";
};
- pinctrl_vdsl_phy_override_1: vdsl_phy_override_1 {
+ pinctrl_vdsl_phy_override_1: vdsl_phy_override_1-pins {
function = "vdsl_phy_override_1";
group = "vdsl_phy_override_1_grp";
};
- pinctrl_vdsl_phy_override_2: vdsl_phy_override_2 {
+ pinctrl_vdsl_phy_override_2: vdsl_phy_override_2-pins {
function = "vdsl_phy_override_2";
group = "vdsl_phy_override_2_grp";
};
- pinctrl_vdsl_phy_override_3: vdsl_phy_override_3 {
+ pinctrl_vdsl_phy_override_3: vdsl_phy_override_3-pins {
function = "vdsl_phy_override_3";
group = "vdsl_phy_override_3_grp";
};
- pinctrl_dsl_gpio8: dsl_gpio8 {
+ pinctrl_dsl_gpio8: dsl_gpio8-pins {
function = "dsl_gpio8";
group = "dsl_gpio8";
};
- pinctrl_dsl_gpio9: dsl_gpio9 {
+ pinctrl_dsl_gpio9: dsl_gpio9-pins {
function = "dsl_gpio9";
group = "dsl_gpio9";
};
diff --git a/target/linux/bmips/dts/bcm6328-comtrend-ar-5387un.dts b/target/linux/bmips/dts/bcm6328-comtrend-ar-5387un.dts
index 14608fedb1..c10c3ae2fc 100644
--- a/target/linux/bmips/dts/bcm6328-comtrend-ar-5387un.dts
+++ b/target/linux/bmips/dts/bcm6328-comtrend-ar-5387un.dts
@@ -19,7 +19,7 @@
reset {
label = "reset";
- gpios = <&pinctrl 23 GPIO_ACTIVE_LOW>;
+ gpios = <&gpio 23 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
debounce-interval = <60>;
};
diff --git a/target/linux/bmips/dts/bcm6328.dtsi b/target/linux/bmips/dts/bcm6328.dtsi
index 6ca7e4d9a6..c8e9138ccb 100644
--- a/target/linux/bmips/dts/bcm6328.dtsi
+++ b/target/linux/bmips/dts/bcm6328.dtsi
@@ -145,99 +145,100 @@
};
};
- gpio: syscon@10000080 {
- compatible = "syscon", "simple-mfd";
+ gpio_cntl: syscon@10000080 {
+ compatible = "brcm,bcm6328-gpio-sysctl",
+ "syscon", "simple-mfd";
reg = <0x10000080 0x80>;
+ ranges = <0 0x10000080 0x80>;
native-endian;
- pinctrl: pin-controller {
- compatible = "brcm,bcm6328-pinctrl";
+ gpio: gpio@0 {
+ compatible = "brcm,bcm6328-gpio";
+ reg-names = "dirout", "dat";
+ reg = <0x0 0x8>, <0x8 0x8>;
gpio-controller;
+ gpio-ranges = <&pinctrl 0 0 32>;
#gpio-cells = <2>;
+ };
+
+ pinctrl: pinctrl@18 {
+ compatible = "brcm,bcm6328-pinctrl";
+ reg = <0x18 0x10>;
- interrupts-extended = <&ext_intc 3 0>,
- <&ext_intc 2 0>,
- <&ext_intc 1 0>,
- <&ext_intc 0 0>;
- interrupt-names = "gpio12",
- "gpio15",
- "gpio23",
- "gpio24";
-
- pinctrl_serial_led: serial_led {
- pinctrl_serial_led_data: serial_led_data {
+ pinctrl_serial_led: serial_led-pins {
+ pinctrl_serial_led_data: serial_led_data-pins {
function = "serial_led_data";
pins = "gpio6";
};
- pinctrl_serial_led_clk: serial_led_clk {
+ pinctrl_serial_led_clk: serial_led_clk-pins {
function = "serial_led_clk";
pins = "gpio7";
};
};
- pinctrl_inet_act_led: inet_act_led {
+ pinctrl_inet_act_led: inet_act_led-pins {
function = "inet_act_led";
pins = "gpio11";
};
- pinctrl_pcie_clkreq: pcie_clkreq {
+ pinctrl_pcie_clkreq: pcie_clkreq-pins {
function = "pcie_clkreq";
pins = "gpio16";
};
- pinctrl_ephy0_spd_led: ephy0_spd_led {
+ pinctrl_ephy0_spd_led: ephy0_spd_led-pins {
function = "led";
pins = "gpio17";
};
- pinctrl_ephy1_spd_led: ephy1_spd_led {
+ pinctrl_ephy1_spd_led: ephy1_spd_led-pins {
function = "led";
pins = "gpio18";
};
- pinctrl_ephy2_spd_led: ephy2_spd_led {
+ pinctrl_ephy2_spd_led: ephy2_spd_led-pins {
function = "led";
pins = "gpio19";
};
- pinctrl_ephy3_spd_led: ephy3_spd_led {
+ pinctrl_ephy3_spd_led: ephy3_spd_led-pins {
function = "led";
pins = "gpio20";
};
- pinctrl_ephy0_act_led: ephy0_act_led {
+ pinctrl_ephy0_act_led: ephy0_act_led-pins {
function = "ephy0_act_led";
pins = "gpio25";
};
- pinctrl_ephy1_act_led: ephy1_act_led {
+ pinctrl_ephy1_act_led: ephy1_act_led-pins {
function = "ephy1_act_led";
pins = "gpio26";
};
- pinctrl_ephy2_act_led: ephy2_act_led {
+ pinctrl_ephy2_act_led: ephy2_act_led-pins {
function = "ephy2_act_led";
pins = "gpio27";
};
- pinctrl_ephy3_act_led: ephy3_act_led {
+ pinctrl_ephy3_act_led: ephy3_act_led-pins {
function = "ephy3_act_led";
pins = "gpio28";
};
- pinctrl_hsspi_cs1: hsspi_cs1 {
+ pinctrl_hsspi_cs1: hsspi_cs1-pins {
function = "hsspi_cs1";
pins = "hsspi_cs1";
};
- pinctrl_usb_port1_device: usb_port1_device {
+ pinctrl_usb_port1_device: usb_port1_device-pins {
function = "usb_device_port";
pins = "usb_port1";
};
- pinctrl_usb_port1_host: usb_port1_host {
+ pinctrl_usb_port1_host: usb_port1_host-pins {
function = "usb_host_port";
pins = "usb_port1";
};
diff --git a/target/linux/bmips/dts/bcm6358-huawei-hg556a-b.dts b/target/linux/bmips/dts/bcm6358-huawei-hg556a-b.dts
index 65b4480ee1..9658e2abca 100644
--- a/target/linux/bmips/dts/bcm6358-huawei-hg556a-b.dts
+++ b/target/linux/bmips/dts/bcm6358-huawei-hg556a-b.dts
@@ -23,28 +23,28 @@
help {
label = "help";
- gpios = <&pinctrl 8 GPIO_ACTIVE_LOW>;
+ gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
linux,code = <KEY_HELP>;
debounce-interval = <60>;
};
wlan {
label = "wlan";
- gpios = <&pinctrl 9 GPIO_ACTIVE_LOW>;
+ gpios = <&gpio 9 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WLAN>;
debounce-interval = <60>;
};
restart {
label = "restart";
- gpios = <&pinctrl 10 GPIO_ACTIVE_LOW>;
+ gpios = <&gpio 10 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
debounce-interval = <60>;
};
reset {
label = "reset";
- gpios = <&pinctrl 11 GPIO_ACTIVE_LOW>;
+ gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
linux,code = <KEY_CONFIG>;
debounce-interval = <60>;
};
@@ -55,68 +55,68 @@
led@0 {
label = "red:message";
- gpios = <&pinctrl 0 GPIO_ACTIVE_LOW>;
+ gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
};
hspa_red: led@1 {
label = "red:hspa";
- gpios = <&pinctrl 1 GPIO_ACTIVE_LOW>;
+ gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
};
dsl_red: led@2 {
label = "red:dsl";
- gpios = <&pinctrl 2 GPIO_ACTIVE_LOW>;
+ gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
};
power_red: led@3 {
label = "red:power";
- gpios = <&pinctrl 3 GPIO_ACTIVE_LOW>;
+ gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
};
led@6 {
label = "all";
- gpios = <&pinctrl 6 GPIO_ACTIVE_LOW>;
+ gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
default-state = "on";
};
led@12 {
label = "green:lan1";
- gpios = <&pinctrl 12 GPIO_ACTIVE_LOW>;
+ gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
};
led@13 {
label = "red:lan1";
- gpios = <&pinctrl 13 GPIO_ACTIVE_LOW>;
+ gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
};
led@15 {
label = "green:lan2";
- gpios = <&pinctrl 15 GPIO_ACTIVE_LOW>;
+ gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
};
led@22 {
label = "red:lan2";
- gpios = <&pinctrl 22 GPIO_ACTIVE_LOW>;
+ gpios = <&gpio 22 GPIO_ACTIVE_LOW>;
};
led@23 {
label = "green:lan3";
- gpios = <&pinctrl 23 GPIO_ACTIVE_LOW>;
+ gpios = <&gpio 23 GPIO_ACTIVE_LOW>;
};
led@26 {
label = "red:lan3";
- gpios = <&pinctrl 26 GPIO_ACTIVE_LOW>;
+ gpios = <&gpio 26 GPIO_ACTIVE_LOW>;
};
led@27 {
label = "green:lan4";
- gpios = <&pinctrl 27 GPIO_ACTIVE_LOW>;
+ gpios = <&gpio 27 GPIO_ACTIVE_LOW>;
};
led@28 {
label = "red:lan4";
- gpios = <&pinctrl 28 GPIO_ACTIVE_LOW>;
+ gpios = <&gpio 28 GPIO_ACTIVE_LOW>;
};
};
diff --git a/target/linux/bmips/dts/bcm6358.dtsi b/target/linux/bmips/dts/bcm6358.dtsi
index 3ebbf74613..34334df9ba 100644
--- a/target/linux/bmips/dts/bcm6358.dtsi
+++ b/target/linux/bmips/dts/bcm6358.dtsi
@@ -157,71 +157,68 @@
timeout-sec = <30>;
};
- gpio: syscon@fffe0080 {
- compatible = "syscon", "simple-mfd";
+ gpio_cntl: syscon@fffe0080 {
+ compatible = "brcm,bcm6358-gpio-sysctl",
+ "syscon", "simple-mfd";
reg = <0xfffe0080 0x50>;
+ ranges = <0 0xfffe0080 0x80>;
native-endian;
- pinctrl: pin-controller {
- compatible = "brcm,bcm6358-pinctrl";
+ gpio: gpio@0 {
+ compatible = "brcm,bcm6358-gpio";
+ reg-names = "dirout", "dat";
+ reg = <0x0 0x8>, <0x8 0x8>;
gpio-controller;
+ gpio-ranges = <&pinctrl 0 0 40>;
#gpio-cells = <2>;
+ };
+
+ pinctrl: pinctrl@18 {
+ compatible = "brcm,bcm6358-pinctrl";
+ reg = <0x18 0x4>;
- interrupts-extended = <&ext_intc1 0 0>,
- <&ext_intc1 1 0>,
- <&ext_intc0 0 0>,
- <&ext_intc0 1 0>,
- <&ext_intc0 2 0>,
- <&ext_intc0 3 0>;
- interrupt-names = "gpio32",
- "gpio33",
- "gpio34",
- "gpio35",
- "gpio36",
- "gpio37";
-
- pinctrl_ebi_cs: ebi_cs {
+ pinctrl_ebi_cs: ebi_cs-pins {
function = "ebi_cs";
groups = "ebi_cs_grp";
};
- pinctrl_uart1: uart1 {
+ pinctrl_uart1: uart1-pins {
function = "uart1";
groups = "uart1_grp";
};
- pinctrl_serial_led: serial_led {
+ pinctrl_serial_led: serial_led-pins {
function = "serial_led";
groups = "serial_led_grp";
};
- pinctrl_legacy_led: legacy_led {
+ pinctrl_legacy_led: legacy_led-pins {
function = "legacy_led";
groups = "legacy_led_grp";
};
- pinctrl_led: led {
+ pinctrl_led: led-pins {
function = "led";
groups = "led_grp";
};
- pinctrl_spi_cs_23: spi_cs {
+ pinctrl_spi_cs_23: spi_cs-pins {
function = "spi_cs";
groups = "spi_cs_grp";
};
- pinctrl_utopia: utopia {
+ pinctrl_utopia: utopia-pins {
function = "utopia";
groups = "utopia_grp";
};
- pinctrl_pwm_syn_clk: pwm_syn_clk {
+ pinctrl_pwm_syn_clk: pwm_syn_clk-pins {
function = "pwm_syn_clk";
groups = "pwm_syn_clk_grp";
};
- pinctrl_sys_irq: sys_irq {
+ pinctrl_sys_irq: sys_irq-pins {
function = "sys_irq";
groups = "sys_irq_grp";
};
diff --git a/target/linux/bmips/dts/bcm6362-netgear-dgnd3700-v2.dts b/target/linux/bmips/dts/bcm6362-netgear-dgnd3700-v2.dts
index 52000ba487..e4c7c7b3cc 100644
--- a/target/linux/bmips/dts/bcm6362-netgear-dgnd3700-v2.dts
+++ b/target/linux/bmips/dts/bcm6362-netgear-dgnd3700-v2.dts
@@ -23,21 +23,21 @@
wlan {
label = "wlan";
- gpios = <&pinctrl 11 GPIO_ACTIVE_LOW>;
+ gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WLAN>;
debounce-interval = <60>;
};
wps {
label = "wps";
- gpios = <&pinctrl 25 GPIO_ACTIVE_LOW>;
+ gpios = <&gpio 25 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
debounce-interval = <60>;
};
reset {
label = "reset";
- gpios = <&pinctrl 31 GPIO_ACTIVE_LOW>;
+ gpios = <&gpio 31 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
debounce-interval = <60>;
};
@@ -48,12 +48,12 @@
led@28 {
label = "green:dsl";
- gpios = <&pinctrl 28 GPIO_ACTIVE_LOW>;
+ gpios = <&gpio 28 GPIO_ACTIVE_LOW>;
};
led@34 {
label = "red:power";
- gpios = <&pinctrl 34 GPIO_ACTIVE_LOW>;
+ gpios = <&gpio 34 GPIO_ACTIVE_LOW>;
};
};
};
diff --git a/target/linux/bmips/dts/bcm6362.dtsi b/target/linux/bmips/dts/bcm6362.dtsi
index 04df06c0db..77473c22bb 100644
--- a/target/linux/bmips/dts/bcm6362.dtsi
+++ b/target/linux/bmips/dts/bcm6362.dtsi
@@ -146,173 +146,174 @@
timeout-sec = <30>;
};
- gpio: syscon@10000080 {
- compatible = "syscon", "simple-mfd";
+ gpio_cntl: syscon@10000080 {
+ compatible = "brcm,bcm6362-gpio-sysctl",
+ "syscon", "simple-mfd";
reg = <0x10000080 0x80>;
+ ranges = <0 0x10000080 0x80>;
native-endian;
- pinctrl: pin-controller {
- compatible = "brcm,bcm6362-pinctrl";
+ gpio: gpio@0 {
+ compatible = "brcm,bcm6362-gpio";
+ reg-names = "dirout", "dat";
+ reg = <0x0 0x8>, <0x8 0x8>;
gpio-controller;
+ gpio-ranges = <&pinctrl 0 0 48>;
#gpio-cells = <2>;
+ };
- interrupts-extended = <&ext_intc 0 0>,
- <&ext_intc 1 0>,
- <&ext_intc 2 0>,
- <&ext_intc 3 0>;
- interrupt-names = "gpio24",
- "gpio25",
- "gpio26",
- "gpio27";
+ pinctrl: pinctrl@18 {
+ compatible = "brcm,bcm6362-pinctrl";
+ reg = <0x18 0x10>, <0x38 0x4>;
- pinctrl_usb_device_led: usb_device_led {
+ pinctrl_usb_device_led: usb_device_led-pins {
function = "usb_device_led";
pins = "gpio0";
};
- pinctrl_sys_irq: sys_irq {
+ pinctrl_sys_irq: sys_irq-pins {
function = "sys_irq";
pins = "gpio1";
};
- pinctrl_serial_led: serial_led {
- pinctrl_serial_led_clk: serial_led_clk {
+ pinctrl_serial_led: serial_led-pins {
+ pinctrl_serial_led_clk: serial_led_clk-pins {
function = "serial_led_clk";
pins = "gpio2";
};
- pinctrl_serial_led_data: serial_led_data {
+ pinctrl_serial_led_data: serial_led_data-pins {
function = "serial_led_data";
pins = "gpio3";
};
};
- pinctrl_robosw_led_data: robosw_led_data {
+ pinctrl_robosw_led_data: robosw_led_data-pins {
function = "robosw_led_data";
pins = "gpio4";
};
- pinctrl_robosw_led_clk: robosw_led_clk {
+ pinctrl_robosw_led_clk: robosw_led_clk-pins {
function = "robosw_led_clk";
pins = "gpio5";
};
- pinctrl_robosw_led0: robosw_led0 {
+ pinctrl_robosw_led0: robosw_led0-pins {
function = "robosw_led0";
pins = "gpio6";
};
- pinctrl_robosw_led1: robosw_led1 {
+ pinctrl_robosw_led1: robosw_led1-pins {
function = "robosw_led1";
pins = "gpio7";
};
- pinctrl_inet_led: inet_led {
+ pinctrl_inet_led: inet_led-pins {
function = "inet_led";
pins = "gpio8";
};
- pinctrl_spi_cs2: spi_cs2 {
+ pinctrl_spi_cs2: spi_cs2-pins {
function = "spi_cs2";
pins = "gpio9";
};
- pinctrl_spi_cs3: spi_cs3 {
+ pinctrl_spi_cs3: spi_cs3-pins {
function = "spi_cs3";
pins = "gpio10";
};
- pinctrl_ntr_pulse: ntr_pulse {
+ pinctrl_ntr_pulse: ntr_pulse-pins {
function = "ntr_pulse";
pins = "gpio11";
};
- pinctrl_uart1_scts: uart1_scts {
+ pinctrl_uart1_scts: uart1_scts-pins {
function = "uart1_scts";
pins = "gpio12";
};
- pinctrl_uart1_srts: uart1_srts {
+ pinctrl_uart1_srts: uart1_srts-pins {
function = "uart1_srts";
pins = "gpio13";
};
- pinctrl_uart1: uart1 {
- pinctrl_uart1_sdin: uart1_sdin {
+ pinctrl_uart1: uart1-pins {
+ pinctrl_uart1_sdin: uart1_sdin-pins {
function = "uart1_sdin";
pins = "gpio14";
};
- pinctrl_uart1_sdout: uart1_sdout {
+ pinctrl_uart1_sdout: uart1_sdout-pins {
function = "uart1_sdout";
pins = "gpio15";
};
};
- pinctrl_adsl_spi: adsl_spi {
- pinctrl_adsl_spi_miso: adsl_spi_miso {
+ pinctrl_adsl_spi: adsl_spi-pins {
+ pinctrl_adsl_spi_miso: adsl_spi_miso-pins {
function = "adsl_spi_miso";
pins = "gpio16";
};
- pinctrl_adsl_spi_mosi: adsl_spi_mosi {
+ pinctrl_adsl_spi_mosi: adsl_spi_mosi-pins {
function = "adsl_spi_mosi";
pins = "gpio17";
};
- pinctrl_adsl_spi_clk: adsl_spi_clk {
+ pinctrl_adsl_spi_clk: adsl_spi_clk-pins {
function = "adsl_spi_clk";
pins = "gpio18";
};
- pinctrl_adsl_spi_cs: adsl_spi_cs {
+ pinctrl_adsl_spi_cs: adsl_spi_cs-pins {
function = "adsl_spi_cs";
pins = "gpio19";
};
};
- pinctrl_ephy0_led: ephy0_led {
+ pinctrl_ephy0_led: ephy0_led-pins {
function = "ephy0_led";
pins = "gpio20";
};
- pinctrl_ephy1_led: ephy1_led {
+ pinctrl_ephy1_led: ephy1_led-pins {
function = "ephy1_led";
pins = "gpio21";
};
- pinctrl_ephy2_led: ephy2_led {
+ pinctrl_ephy2_led: ephy2_led-pins {
function = "ephy2_led";
pins = "gpio22";
};
- pinctrl_ephy3_led: ephy3_led {
+ pinctrl_ephy3_led: ephy3_led-pins {
function = "ephy3_led";
pins = "gpio23";
};
- pinctrl_ext_irq0: ext_irq0 {
+ pinctrl_ext_irq0: ext_irq0-pins {
function = "ext_irq0";
pins = "gpio24";
};
- pinctrl_ext_irq1: ext_irq1 {
+ pinctrl_ext_irq1: ext_irq1-pins {
function = "ext_irq1";
pins = "gpio25";
};
- pinctrl_ext_irq2: ext_irq2 {
+ pinctrl_ext_irq2: ext_irq2-pins {
function = "ext_irq2";
pins = "gpio26";
};
- pinctrl_ext_irq3: ext_irq3 {
+ pinctrl_ext_irq3: ext_irq3-pins {
function = "ext_irq3";
pins = "gpio27";
};
- pinctrl_nand: nand {
+ pinctrl_nand: nand-pins {
function = "nand";
group = "nand_grp";
};
diff --git a/target/linux/bmips/dts/bcm6368-comtrend-vr-3025u.dts b/target/linux/bmips/dts/bcm6368-comtrend-vr-3025u.dts
index 6466cb3aca..4c00df32b9 100644
--- a/target/linux/bmips/dts/bcm6368-comtrend-vr-3025u.dts
+++ b/target/linux/bmips/dts/bcm6368-comtrend-vr-3025u.dts
@@ -19,7 +19,7 @@
reset {
label = "reset";
- gpios = <&pinctrl 34 GPIO_ACTIVE_LOW>;
+ gpios = <&gpio 34 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
debounce-interval = <60>;
};
@@ -30,27 +30,27 @@
led@2 {
label = "green:dsl";
- gpios = <&pinctrl 2 GPIO_ACTIVE_LOW>;
+ gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
};
led@5 {
label = "green:internet";
- gpios = <&pinctrl 5 GPIO_ACTIVE_HIGH>;
+ gpios = <&gpio 5 GPIO_ACTIVE_HIGH>;
};
led_power_green: led@22 {
label = "green:power";
- gpios = <&pinctrl 22 GPIO_ACTIVE_HIGH>;
+ gpios = <&gpio 22 GPIO_ACTIVE_HIGH>;
};
led_power_red: led@24 {
label = "red:power";
- gpios = <&pinctrl 24 GPIO_ACTIVE_HIGH>;
+ gpios = <&gpio 24 GPIO_ACTIVE_HIGH>;
};
led@31 {
label = "red:internet";
- gpios = <&pinctrl 31 GPIO_ACTIVE_HIGH>;
+ gpios = <&gpio 31 GPIO_ACTIVE_HIGH>;
};
};
diff --git a/target/linux/bmips/dts/bcm6368.dtsi b/target/linux/bmips/dts/bcm6368.dtsi
index afdf3c5dc0..b50a572fd0 100644
--- a/target/linux/bmips/dts/bcm6368.dtsi
+++ b/target/linux/bmips/dts/bcm6368.dtsi
@@ -148,198 +148,190 @@
timeout-sec = <30>;
};
- gpio: syscon@10000080 {
- compatible = "syscon", "simple-mfd";
+ gpio_cntl: syscon@10000080 {
+ compatible = "brcm,bcm6368-gpio-sysctl",
+ "syscon", "simple-mfd";
reg = <0x10000080 0x80>;
+ ranges = <0 0x10000080 0x80>;
native-endian;
- pinctrl: pin-controller {
- compatible = "brcm,bcm6368-pinctrl";
+ gpio: gpio@0 {
+ compatible = "brcm,bcm6368-gpio";
+ reg-names = "dirout", "dat";
+ reg = <0x0 0x8>, <0x8 0x8>;
gpio-controller;
+ gpio-ranges = <&pinctrl 0 0 38>;
#gpio-cells = <2>;
+ };
- interrupts-extended = <&ext_intc1 0 0>,
- <&ext_intc1 1 0>,
- <&ext_intc0 0 0>,
- <&ext_intc0 1 0>,
- <&ext_intc0 2 0>,
- <&ext_intc0 3 0>;
- interrupt-names = "gpio32",
- "gpio33",
- "gpio34",
- "gpio35",
- "gpio36",
- "gpio37";
-
- pinctrl_analog_afe_0: analog_afe_0 {
+ pinctrl: pinctrl@18 {
+ compatible = "brcm,bcm6368-pinctrl";
+ reg = <0x18 0x4>, <0x38 0x4>;
+
+ pinctrl_analog_afe_0: analog_afe_0-pins {
function = "analog_afe_0";
pins = "gpio0";
};
- pinctrl_analog_afe_1: analog_afe_1 {
+ pinctrl_analog_afe_1: analog_afe_1-pins {
function = "analog_afe_1";
pins = "gpio1";
};
- pinctrl_sys_irq: sys_irq {
+ pinctrl_sys_irq: sys_irq-pins {
function = "sys_irq";
pins = "gpio2";
};
- pinctrl_serial_led: serial_led {
- pinctrl_serial_led_data: serial_led_data {
+ pinctrl_serial_led: serial_led-pins {
+ pinctrl_serial_led_data: serial_led_data-pins {
function = "serial_led_data";
pins = "gpio3";
};
- pinctrl_serial_led_clk: serial_led_clk {
+ pinctrl_serial_led_clk: serial_led_clk-pins {
function = "serial_led_clk";
pins = "gpio4";
};
};
- pinctrl_inet_led: inet_led {
+ pinctrl_inet_led: inet_led-pins {
function = "inet_led";
pins = "gpio5";
};
- pinctrl_ephy0_led: ephy0_led {
+ pinctrl_ephy0_led: ephy0_led-pins {
function = "ephy0_led";
pins = "gpio6";
};
- pinctrl_ephy1_led: ephy1_led {
+ pinctrl_ephy1_led: ephy1_led-pins {
function = "ephy1_led";
pins = "gpio7";
};
- pinctrl_ephy2_led: ephy2_led {
+ pinctrl_ephy2_led: ephy2_led-pins {
function = "ephy2_led";
pins = "gpio8";
};
- pinctrl_ephy3_led: ephy3_led {
+ pinctrl_ephy3_led: ephy3_led-pins {
function = "ephy3_led";
pins = "gpio9";
};
- pinctrl_robosw_led_data: robosw_led_data {
+ pinctrl_robosw_led_data: robosw_led_data-pins {
function = "robosw_led_data";
pins = "gpio10";
};
- pinctrl_robosw_led_clk: robosw_led_clk {
+ pinctrl_robosw_led_clk: robosw_led_clk-pins {
function = "robosw_led_clk";
pins = "gpio11";
};
- pinctrl_robosw_led0: robosw_led0 {
+ pinctrl_robosw_led0: robosw_led0-pins {
function = "robosw_led0";
pins = "gpio12";
};
- pinctrl_robosw_led1: robosw_led1 {
+ pinctrl_robosw_led1: robosw_led1-pins {
function = "robosw_led1";
pins = "gpio13";
};
- pinctrl_usb_device_led: usb_device_led {
+ pinctrl_usb_device_led: usb_device_led-pins {
function = "usb_device_led";
pins = "gpio14";
};
- pinctrl_pci: pci {
- pinctrl_pci_req1: pci_req1 {
+ pinctrl_pci: pci-pins {
+ pinctrl_pci_req1: pci_req1-pins {
function = "pci_req1";
pins = "gpio16";
};
- pinctrl_pci_gnt1: pci_gnt1 {
+ pinctrl_pci_gnt1: pci_gnt1-pins {
function = "pci_gnt1";
pins = "gpio17";
};
- pinctrl_pci_intb: pci_intb {
+ pinctrl_pci_intb: pci_intb-pins {
function = "pci_intb";
pins = "gpio18";
};
- pinctrl_pci_req0: pci_req0 {
+ pinctrl_pci_req0: pci_req0-pins {
function = "pci_req0";
pins = "gpio19";
};
- pinctrl_pci_gnt0: pci_gnt0 {
+ pinctrl_pci_gnt0: pci_gnt0-pins {
function = "pci_gnt0";
pins = "gpio20";
};
};
- pinctrl_pcmcia: pcmcia {
- pinctrl_pcmcia_cd1: pcmcia_cd1 {
+ pinctrl_pcmcia: pcmcia-pins {
+ pinctrl_pcmcia_cd1: pcmcia_cd1-pins {
function = "pcmcia_cd1";
pins = "gpio22";
};
- pinctrl_pcmcia_cd2: pcmcia_cd2 {
+ pinctrl_pcmcia_cd2: pcmcia_cd2-pins {
function = "pcmcia_cd2";
pins = "gpio23";
};
- pinctrl_pcmcia_vs1: pcmcia_vs1 {
+ pinctrl_pcmcia_vs1: pcmcia_vs1-pins {
function = "pcmcia_vs1";
pins = "gpio24";
};
- pinctrl_pcmcia_vs2: pcmcia_vs2 {
+ pinctrl_pcmcia_vs2: pcmcia_vs2-pins {
function = "pcmcia_vs2";
pins = "gpio25";
};
};
- pinctrl_ebi_cs2: ebi_cs2 {
+ pinctrl_ebi_cs2: ebi_cs2-pins {
function = "ebi_cs2";
pins = "gpio26";
};
- pinctrl_ebi_cs3: ebi_cs3 {
+ pinctrl_ebi_cs3: ebi_cs3-pins {
function = "ebi_cs3";
pins = "gpio27";
};
- pinctrl_spi_cs2: spi_cs2 {
+ pinctrl_spi_cs2: spi_cs2-pins {
function = "spi_cs2";
pins = "gpio28";
};
- pinctrl_spi_cs3: spi_cs3 {
+ pinctrl_spi_cs3: spi_cs3-pins {
function = "spi_cs3";
pins = "gpio29";
};
- pinctrl_spi_cs4: spi_cs4 {
+ pinctrl_spi_cs4: spi_cs4-pins {
function = "spi_cs4";
pins = "gpio30";
};
- pinctrl_spi_cs5: spi_cs5 {
+ pinctrl_spi_cs5: spi_cs5-pins {
function = "spi_cs5";
pins = "gpio31";
};
- pinctrl_uart1: uart1 {
+ pinctrl_uart1: uart1-pins {
function = "uart1";
group = "uart1_grp";
};
};
};
- gpiobasemode: gpiobasemode@100000b8 {
- compatible = "brcm,bcm6368-gpiobasemode", "syscon";
- reg = <0x100000b8 0x4>;
- };
-
leds: led-controller@100000d0 {
#address-cells = <1>;
#size-cells = <0>;