diff options
author | Jonas Gorski <jonas.gorski@gmail.com> | 2016-12-18 13:54:17 +0100 |
---|---|---|
committer | Jonas Gorski <jonas.gorski@gmail.com> | 2017-02-09 14:30:43 +0100 |
commit | dd7079e79a94fdde2e0ff4c1d6f428f3b115211c (patch) | |
tree | 63537ed0cd61d71a8983ff564104220110cd8906 /target/linux/brcm63xx/dts | |
parent | 94bbd1f057c5fdccc3a6ef80b1c533064220a2ff (diff) | |
download | mtk-20170518-dd7079e79a94fdde2e0ff4c1d6f428f3b115211c.zip mtk-20170518-dd7079e79a94fdde2e0ff4c1d6f428f3b115211c.tar.gz mtk-20170518-dd7079e79a94fdde2e0ff4c1d6f428f3b115211c.tar.bz2 |
brcm63xx: implement gpio_to_irq for bcm63xx-gpio
Add support for mapping some GPIO lines to IRQs. GPIO to IRQ mappings
were found out through experimentation, helped by having the GPIO as
output still toggling the IRQ input.
Based-on: http://patchwork.ozlabs.org/patch/660534/
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
Diffstat (limited to 'target/linux/brcm63xx/dts')
-rw-r--r-- | target/linux/brcm63xx/dts/bcm6318.dtsi | 4 | ||||
-rw-r--r-- | target/linux/brcm63xx/dts/bcm63268.dtsi | 4 | ||||
-rw-r--r-- | target/linux/brcm63xx/dts/bcm6328.dtsi | 5 | ||||
-rw-r--r-- | target/linux/brcm63xx/dts/bcm6348.dtsi | 4 | ||||
-rw-r--r-- | target/linux/brcm63xx/dts/bcm6358.dtsi | 9 | ||||
-rw-r--r-- | target/linux/brcm63xx/dts/bcm6362.dtsi | 5 | ||||
-rw-r--r-- | target/linux/brcm63xx/dts/bcm6368.dtsi | 9 |
7 files changed, 40 insertions, 0 deletions
diff --git a/target/linux/brcm63xx/dts/bcm6318.dtsi b/target/linux/brcm63xx/dts/bcm6318.dtsi index 7766980..0371617 100644 --- a/target/linux/brcm63xx/dts/bcm6318.dtsi +++ b/target/linux/brcm63xx/dts/bcm6318.dtsi @@ -65,6 +65,10 @@ #gpio-cells = <2>; ngpios = <18>; + + interrupt-parent = <&ext_intc>; + interrupts = <0 0>, <1 0>; + interrupt-names = "gpio1", "gpio2"; }; gpio0: gpio-controller@10000084 { diff --git a/target/linux/brcm63xx/dts/bcm63268.dtsi b/target/linux/brcm63xx/dts/bcm63268.dtsi index 47894f8..5a0a909 100644 --- a/target/linux/brcm63xx/dts/bcm63268.dtsi +++ b/target/linux/brcm63xx/dts/bcm63268.dtsi @@ -72,6 +72,10 @@ #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 { diff --git a/target/linux/brcm63xx/dts/bcm6328.dtsi b/target/linux/brcm63xx/dts/bcm6328.dtsi index b49958a..5eec6de 100644 --- a/target/linux/brcm63xx/dts/bcm6328.dtsi +++ b/target/linux/brcm63xx/dts/bcm6328.dtsi @@ -62,6 +62,11 @@ gpio-controller; #gpio-cells = <2>; + + interrupt-parent = <&ext_intc>; + interrupts = <3 0>, <2 0>, <0 0>, <1 0>; + interrupt-names = "gpio12", "gpio15", + "gpio23", "gpio24"; }; }; }; diff --git a/target/linux/brcm63xx/dts/bcm6348.dtsi b/target/linux/brcm63xx/dts/bcm6348.dtsi index 7edda30..d1219c0 100644 --- a/target/linux/brcm63xx/dts/bcm6348.dtsi +++ b/target/linux/brcm63xx/dts/bcm6348.dtsi @@ -78,6 +78,10 @@ #gpio-cells = <2>; ngpios = <5>; + + interrupt-parent = <&ext_intc>; + interrupts = <0 0>, <1 0>, <2 0>, <3 0>; + interrupt-names = "gpio0", "gpio1", "gpio2", "gpio3"; }; gpio0: gpio-controller@fffe0404 { diff --git a/target/linux/brcm63xx/dts/bcm6358.dtsi b/target/linux/brcm63xx/dts/bcm6358.dtsi index fa0b5b8..9d95849 100644 --- a/target/linux/brcm63xx/dts/bcm6358.dtsi +++ b/target/linux/brcm63xx/dts/bcm6358.dtsi @@ -94,6 +94,15 @@ #gpio-cells = <2>; ngpios = <8>; + + 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 = "gpio0", "gpio1", "gpio2", "gpio3", + "gpio4", "gpio5"; }; gpio0: gpio-controller@fffe0084 { diff --git a/target/linux/brcm63xx/dts/bcm6362.dtsi b/target/linux/brcm63xx/dts/bcm6362.dtsi index 40f6b9e..a6a5c1f 100644 --- a/target/linux/brcm63xx/dts/bcm6362.dtsi +++ b/target/linux/brcm63xx/dts/bcm6362.dtsi @@ -80,6 +80,11 @@ gpio-controller; #gpio-cells = <2>; + + interrupt-parent = <&ext_intc>; + interrupts = <0 0>, <1 0>, <2 0>, <3 0>; + interrupt-names = "gpio24", "gpio25", + "gpio26", "gpio27"; }; }; }; diff --git a/target/linux/brcm63xx/dts/bcm6368.dtsi b/target/linux/brcm63xx/dts/bcm6368.dtsi index 52bcec4..59ef41a 100644 --- a/target/linux/brcm63xx/dts/bcm6368.dtsi +++ b/target/linux/brcm63xx/dts/bcm6368.dtsi @@ -84,6 +84,15 @@ #gpio-cells = <2>; ngpios = <6>; + + 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 = "gpio0", "gpio1", "gpio2", "gpio3", + "gpio4", "gpio5"; }; gpio0: gpio-controller@10000084 { |