Commit 7ec5183a authored by Srinivas Kandagatla's avatar Srinivas Kandagatla

ARM: STi: STiH415: Add interrupt support for pin controller

This patch adds interrupt support for STiH415 pin controllers.
Signed-off-by: default avatarSrinivas Kandagatla <srinivas.kandagatla@st.com>
parent bdda8b05
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
* publishhed by the Free Software Foundation. * publishhed by the Free Software Foundation.
*/ */
#include "st-pincfg.h" #include "st-pincfg.h"
#include <dt-bindings/interrupt-controller/arm-gic.h>
/ { / {
aliases { aliases {
...@@ -45,35 +46,49 @@ pin-controller-sbc { ...@@ -45,35 +46,49 @@ pin-controller-sbc {
#size-cells = <1>; #size-cells = <1>;
compatible = "st,stih415-sbc-pinctrl"; compatible = "st,stih415-sbc-pinctrl";
st,syscfg = <&syscfg_sbc>; st,syscfg = <&syscfg_sbc>;
reg = <0xfe61f080 0x4>;
reg-names = "irqmux";
interrupts = <GIC_SPI 180 IRQ_TYPE_LEVEL_HIGH>;
interrupts-names = "irqmux";
ranges = <0 0xfe610000 0x5000>; ranges = <0 0xfe610000 0x5000>;
PIO0: gpio@fe610000 { PIO0: gpio@fe610000 {
gpio-controller; gpio-controller;
#gpio-cells = <1>; #gpio-cells = <1>;
interrupt-controller;
#interrupt-cells = <2>;
reg = <0 0x100>; reg = <0 0x100>;
st,bank-name = "PIO0"; st,bank-name = "PIO0";
}; };
PIO1: gpio@fe611000 { PIO1: gpio@fe611000 {
gpio-controller; gpio-controller;
#gpio-cells = <1>; #gpio-cells = <1>;
interrupt-controller;
#interrupt-cells = <2>;
reg = <0x1000 0x100>; reg = <0x1000 0x100>;
st,bank-name = "PIO1"; st,bank-name = "PIO1";
}; };
PIO2: gpio@fe612000 { PIO2: gpio@fe612000 {
gpio-controller; gpio-controller;
#gpio-cells = <1>; #gpio-cells = <1>;
interrupt-controller;
#interrupt-cells = <2>;
reg = <0x2000 0x100>; reg = <0x2000 0x100>;
st,bank-name = "PIO2"; st,bank-name = "PIO2";
}; };
PIO3: gpio@fe613000 { PIO3: gpio@fe613000 {
gpio-controller; gpio-controller;
#gpio-cells = <1>; #gpio-cells = <1>;
interrupt-controller;
#interrupt-cells = <2>;
reg = <0x3000 0x100>; reg = <0x3000 0x100>;
st,bank-name = "PIO3"; st,bank-name = "PIO3";
}; };
PIO4: gpio@fe614000 { PIO4: gpio@fe614000 {
gpio-controller; gpio-controller;
#gpio-cells = <1>; #gpio-cells = <1>;
interrupt-controller;
#interrupt-cells = <2>;
reg = <0x4000 0x100>; reg = <0x4000 0x100>;
st,bank-name = "PIO4"; st,bank-name = "PIO4";
}; };
...@@ -111,53 +126,73 @@ pin-controller-front { ...@@ -111,53 +126,73 @@ pin-controller-front {
#size-cells = <1>; #size-cells = <1>;
compatible = "st,stih415-front-pinctrl"; compatible = "st,stih415-front-pinctrl";
st,syscfg = <&syscfg_front>; st,syscfg = <&syscfg_front>;
reg = <0xfee0f080 0x4>;
reg-names = "irqmux";
interrupts = <GIC_SPI 181 IRQ_TYPE_LEVEL_HIGH>;
interrupts-names = "irqmux";
ranges = <0 0xfee00000 0x8000>; ranges = <0 0xfee00000 0x8000>;
PIO5: gpio@fee00000 { PIO5: gpio@fee00000 {
gpio-controller; gpio-controller;
#gpio-cells = <1>; #gpio-cells = <1>;
interrupt-controller;
#interrupt-cells = <2>;
reg = <0 0x100>; reg = <0 0x100>;
st,bank-name = "PIO5"; st,bank-name = "PIO5";
}; };
PIO6: gpio@fee01000 { PIO6: gpio@fee01000 {
gpio-controller; gpio-controller;
#gpio-cells = <1>; #gpio-cells = <1>;
interrupt-controller;
#interrupt-cells = <2>;
reg = <0x1000 0x100>; reg = <0x1000 0x100>;
st,bank-name = "PIO6"; st,bank-name = "PIO6";
}; };
PIO7: gpio@fee02000 { PIO7: gpio@fee02000 {
gpio-controller; gpio-controller;
#gpio-cells = <1>; #gpio-cells = <1>;
interrupt-controller;
#interrupt-cells = <2>;
reg = <0x2000 0x100>; reg = <0x2000 0x100>;
st,bank-name = "PIO7"; st,bank-name = "PIO7";
}; };
PIO8: gpio@fee03000 { PIO8: gpio@fee03000 {
gpio-controller; gpio-controller;
#gpio-cells = <1>; #gpio-cells = <1>;
interrupt-controller;
#interrupt-cells = <2>;
reg = <0x3000 0x100>; reg = <0x3000 0x100>;
st,bank-name = "PIO8"; st,bank-name = "PIO8";
}; };
PIO9: gpio@fee04000 { PIO9: gpio@fee04000 {
gpio-controller; gpio-controller;
#gpio-cells = <1>; #gpio-cells = <1>;
interrupt-controller;
#interrupt-cells = <2>;
reg = <0x4000 0x100>; reg = <0x4000 0x100>;
st,bank-name = "PIO9"; st,bank-name = "PIO9";
}; };
PIO10: gpio@fee05000 { PIO10: gpio@fee05000 {
gpio-controller; gpio-controller;
#gpio-cells = <1>; #gpio-cells = <1>;
interrupt-controller;
#interrupt-cells = <2>;
reg = <0x5000 0x100>; reg = <0x5000 0x100>;
st,bank-name = "PIO10"; st,bank-name = "PIO10";
}; };
PIO11: gpio@fee06000 { PIO11: gpio@fee06000 {
gpio-controller; gpio-controller;
#gpio-cells = <1>; #gpio-cells = <1>;
interrupt-controller;
#interrupt-cells = <2>;
reg = <0x6000 0x100>; reg = <0x6000 0x100>;
st,bank-name = "PIO11"; st,bank-name = "PIO11";
}; };
PIO12: gpio@fee07000 { PIO12: gpio@fee07000 {
gpio-controller; gpio-controller;
#gpio-cells = <1>; #gpio-cells = <1>;
interrupt-controller;
#interrupt-cells = <2>;
reg = <0x7000 0x100>; reg = <0x7000 0x100>;
st,bank-name = "PIO12"; st,bank-name = "PIO12";
}; };
...@@ -186,41 +221,57 @@ pin-controller-rear { ...@@ -186,41 +221,57 @@ pin-controller-rear {
#size-cells = <1>; #size-cells = <1>;
compatible = "st,stih415-rear-pinctrl"; compatible = "st,stih415-rear-pinctrl";
st,syscfg = <&syscfg_rear>; st,syscfg = <&syscfg_rear>;
reg = <0xfe82f080 0x4>;
reg-names = "irqmux";
interrupts = <GIC_SPI 182 IRQ_TYPE_LEVEL_HIGH>;
interrupts-names = "irqmux";
ranges = <0 0xfe820000 0x8000>; ranges = <0 0xfe820000 0x8000>;
PIO13: gpio@fe820000 { PIO13: gpio@fe820000 {
gpio-controller; gpio-controller;
#gpio-cells = <1>; #gpio-cells = <1>;
interrupt-controller;
#interrupt-cells = <2>;
reg = <0 0x100>; reg = <0 0x100>;
st,bank-name = "PIO13"; st,bank-name = "PIO13";
}; };
PIO14: gpio@fe821000 { PIO14: gpio@fe821000 {
gpio-controller; gpio-controller;
#gpio-cells = <1>; #gpio-cells = <1>;
interrupt-controller;
#interrupt-cells = <2>;
reg = <0x1000 0x100>; reg = <0x1000 0x100>;
st,bank-name = "PIO14"; st,bank-name = "PIO14";
}; };
PIO15: gpio@fe822000 { PIO15: gpio@fe822000 {
gpio-controller; gpio-controller;
#gpio-cells = <1>; #gpio-cells = <1>;
interrupt-controller;
#interrupt-cells = <2>;
reg = <0x2000 0x100>; reg = <0x2000 0x100>;
st,bank-name = "PIO15"; st,bank-name = "PIO15";
}; };
PIO16: gpio@fe823000 { PIO16: gpio@fe823000 {
gpio-controller; gpio-controller;
#gpio-cells = <1>; #gpio-cells = <1>;
interrupt-controller;
#interrupt-cells = <2>;
reg = <0x3000 0x100>; reg = <0x3000 0x100>;
st,bank-name = "PIO16"; st,bank-name = "PIO16";
}; };
PIO17: gpio@fe824000 { PIO17: gpio@fe824000 {
gpio-controller; gpio-controller;
#gpio-cells = <1>; #gpio-cells = <1>;
interrupt-controller;
#interrupt-cells = <2>;
reg = <0x4000 0x100>; reg = <0x4000 0x100>;
st,bank-name = "PIO17"; st,bank-name = "PIO17";
}; };
PIO18: gpio@fe825000 { PIO18: gpio@fe825000 {
gpio-controller; gpio-controller;
#gpio-cells = <1>; #gpio-cells = <1>;
interrupt-controller;
#interrupt-cells = <2>;
reg = <0x5000 0x100>; reg = <0x5000 0x100>;
st,bank-name = "PIO18"; st,bank-name = "PIO18";
}; };
...@@ -240,23 +291,33 @@ pin-controller-left { ...@@ -240,23 +291,33 @@ pin-controller-left {
#size-cells = <1>; #size-cells = <1>;
compatible = "st,stih415-left-pinctrl"; compatible = "st,stih415-left-pinctrl";
st,syscfg = <&syscfg_left>; st,syscfg = <&syscfg_left>;
reg = <0xfd6bf080 0x4>;
reg-names = "irqmux";
interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
interrupts-names = "irqmux";
ranges = <0 0xfd6b0000 0x3000>; ranges = <0 0xfd6b0000 0x3000>;
PIO100: gpio@fd6b0000 { PIO100: gpio@fd6b0000 {
gpio-controller; gpio-controller;
#gpio-cells = <1>; #gpio-cells = <1>;
interrupt-controller;
#interrupt-cells = <2>;
reg = <0 0x100>; reg = <0 0x100>;
st,bank-name = "PIO100"; st,bank-name = "PIO100";
}; };
PIO101: gpio@fd6b1000 { PIO101: gpio@fd6b1000 {
gpio-controller; gpio-controller;
#gpio-cells = <1>; #gpio-cells = <1>;
interrupt-controller;
#interrupt-cells = <2>;
reg = <0x1000 0x100>; reg = <0x1000 0x100>;
st,bank-name = "PIO101"; st,bank-name = "PIO101";
}; };
PIO102: gpio@fd6b2000 { PIO102: gpio@fd6b2000 {
gpio-controller; gpio-controller;
#gpio-cells = <1>; #gpio-cells = <1>;
interrupt-controller;
#interrupt-cells = <2>;
reg = <0x2000 0x100>; reg = <0x2000 0x100>;
st,bank-name = "PIO102"; st,bank-name = "PIO102";
}; };
...@@ -267,35 +328,49 @@ pin-controller-right { ...@@ -267,35 +328,49 @@ pin-controller-right {
#size-cells = <1>; #size-cells = <1>;
compatible = "st,stih415-right-pinctrl"; compatible = "st,stih415-right-pinctrl";
st,syscfg = <&syscfg_right>; st,syscfg = <&syscfg_right>;
reg = <0xfd33f080 0x4>;
reg-names = "irqmux";
interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
interrupts-names = "irqmux";
ranges = <0 0xfd330000 0x5000>; ranges = <0 0xfd330000 0x5000>;
PIO103: gpio@fd330000 { PIO103: gpio@fd330000 {
gpio-controller; gpio-controller;
#gpio-cells = <1>; #gpio-cells = <1>;
interrupt-controller;
#interrupt-cells = <2>;
reg = <0 0x100>; reg = <0 0x100>;
st,bank-name = "PIO103"; st,bank-name = "PIO103";
}; };
PIO104: gpio@fd331000 { PIO104: gpio@fd331000 {
gpio-controller; gpio-controller;
#gpio-cells = <1>; #gpio-cells = <1>;
interrupt-controller;
#interrupt-cells = <2>;
reg = <0x1000 0x100>; reg = <0x1000 0x100>;
st,bank-name = "PIO104"; st,bank-name = "PIO104";
}; };
PIO105: gpio@fd332000 { PIO105: gpio@fd332000 {
gpio-controller; gpio-controller;
#gpio-cells = <1>; #gpio-cells = <1>;
interrupt-controller;
#interrupt-cells = <2>;
reg = <0x2000 0x100>; reg = <0x2000 0x100>;
st,bank-name = "PIO105"; st,bank-name = "PIO105";
}; };
PIO106: gpio@fd333000 { PIO106: gpio@fd333000 {
gpio-controller; gpio-controller;
#gpio-cells = <1>; #gpio-cells = <1>;
interrupt-controller;
#interrupt-cells = <2>;
reg = <0x3000 0x100>; reg = <0x3000 0x100>;
st,bank-name = "PIO106"; st,bank-name = "PIO106";
}; };
PIO107: gpio@fd334000 { PIO107: gpio@fd334000 {
gpio-controller; gpio-controller;
#gpio-cells = <1>; #gpio-cells = <1>;
interrupt-controller;
#interrupt-cells = <2>;
reg = <0x4000 0x100>; reg = <0x4000 0x100>;
st,bank-name = "PIO107"; st,bank-name = "PIO107";
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment