Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1249384 > unrolled thread
| Started by | Maxime Coquelin <mcoquelin.stm32@gmail.com> |
|---|---|
| First post | 2015-10-17 19:30 +0200 |
| Last post | 2015-10-17 19:30 +0200 |
| Articles | 6 — 1 participant |
Back to article view | Back to linux.kernel
[PATCH 0/9] Add STM32 EXTI interrupt controller support Maxime Coquelin <mcoquelin.stm32@gmail.com> - 2015-10-17 19:30 +0200
[PATCH 1/9] Documentation: dt-bindings: Document STM32 EXTI controller bindings Maxime Coquelin <mcoquelin.stm32@gmail.com> - 2015-10-17 19:30 +0200
[PATCH 9/9] ARM: config: Enable GPIO Key driver in stm32_defconfig Maxime Coquelin <mcoquelin.stm32@gmail.com> - 2015-10-17 19:30 +0200
[PATCH 7/9] ARM: dts: Add GPIO irq support to STM2F429 Maxime Coquelin <mcoquelin.stm32@gmail.com> - 2015-10-17 19:30 +0200
[PATCH 8/9] ARM: dts: Declare push button as GPIO key on stm32f429 Disco board Maxime Coquelin <mcoquelin.stm32@gmail.com> - 2015-10-17 19:30 +0200
[PATCH 5/9] Documentation: dt-bindings: Add IRQ related properties of STM32 pinctrl Maxime Coquelin <mcoquelin.stm32@gmail.com> - 2015-10-17 19:30 +0200
| From | Maxime Coquelin <mcoquelin.stm32@gmail.com> |
|---|---|
| Date | 2015-10-17 19:30 +0200 |
| Subject | [PATCH 0/9] Add STM32 EXTI interrupt controller support |
| Message-ID | <qkDsR-4cT-3@gated-at.bofh.it> |
This series adds support to EXTI interrupt controller and GPIO IRQ support in
STM32 pinctrl driver.
The STM32 external interrupt controller consists of edge detectors that
generate interrupts requests or wake-up events.
Each line can be independently configured as interrupt or wake-up source,
and triggers either on rising, fallin or both edges. Each line can also
be masked independently.
This series applies on top of STM32 pinctrl v2 series.
Regards,
Maxime
Maxime Coquelin (9):
Documentation: dt-bindings: Document STM32 EXTI controller bindings
drivers: irqchip: Add STM32 external interrupts support
ARM: STM32: Select external interrupts controller
ARM: dts: Add EXTI controller node to stm32f429
Documentation: dt-bindings: Add IRQ related properties of STM32
pinctrl
pinctrl: Add IRQ support to STM32 gpios
ARM: dts: Add GPIO irq support to STM2F429
ARM: dts: Declare push button as GPIO key on stm32f429 Disco board
ARM: config: Enable GPIO Key driver in stm32_defconfig
.../interrupt-controller/st,stm32-exti.txt | 20 +++
.../bindings/pinctrl/st,stm32-pinctrl.txt | 3 +
arch/arm/Kconfig | 1 +
arch/arm/boot/dts/stm32429i-eval.dts | 19 +++
arch/arm/boot/dts/stm32f429-disco.dts | 13 ++
arch/arm/boot/dts/stm32f429.dtsi | 15 ++
arch/arm/configs/stm32_defconfig | 6 +-
drivers/irqchip/Kconfig | 4 +
drivers/irqchip/Makefile | 1 +
drivers/irqchip/irq-stm32-exti.c | 169 +++++++++++++++++++++
drivers/pinctrl/stm32/Kconfig | 1 +
drivers/pinctrl/stm32/pinctrl-stm32.c | 68 +++++++++
12 files changed, 319 insertions(+), 1 deletion(-)
create mode 100644 Documentation/devicetree/bindings/interrupt-controller/st,stm32-exti.txt
create mode 100644 drivers/irqchip/irq-stm32-exti.c
--
1.9.1
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [next] | [standalone]
| From | Maxime Coquelin <mcoquelin.stm32@gmail.com> |
|---|---|
| Date | 2015-10-17 19:30 +0200 |
| Subject | [PATCH 1/9] Documentation: dt-bindings: Document STM32 EXTI controller bindings |
| Message-ID | <qkDsS-4cT-33@gated-at.bofh.it> |
| In reply to | #1249384 |
Signed-off-by: Maxime Coquelin <mcoquelin.stm32@gmail.com>
---
.../bindings/interrupt-controller/st,stm32-exti.txt | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
create mode 100644 Documentation/devicetree/bindings/interrupt-controller/st,stm32-exti.txt
diff --git a/Documentation/devicetree/bindings/interrupt-controller/st,stm32-exti.txt b/Documentation/devicetree/bindings/interrupt-controller/st,stm32-exti.txt
new file mode 100644
index 0000000..6e7703d
--- /dev/null
+++ b/Documentation/devicetree/bindings/interrupt-controller/st,stm32-exti.txt
@@ -0,0 +1,20 @@
+STM32 External Interrupt Controller
+
+Required properties:
+
+- compatible: Should be "st,stm32-exti"
+- reg: Specifies base physical address and size of the registers
+- interrupt-controller: Indentifies the node as an interrupt controller
+- #interrupt-cells: Specifies the number of cells to encode an interrupt
+ specifier, shall be 2
+- interrupts: interrupts references to primary interrupt controller
+
+Example:
+
+exti: interrupt-controller@40013c00 {
+ compatible = "st,stm32-exti";
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ reg = <0x40013C00 0x400>;
+ interrupts = <1>, <2>, <3>, <6>, <7>, <8>, <9>, <10>, <23>, <40>, <41>, <42>, <62>, <76>;
+};
--
1.9.1
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Maxime Coquelin <mcoquelin.stm32@gmail.com> |
|---|---|
| Date | 2015-10-17 19:30 +0200 |
| Subject | [PATCH 9/9] ARM: config: Enable GPIO Key driver in stm32_defconfig |
| Message-ID | <qkDsS-4cT-37@gated-at.bofh.it> |
| In reply to | #1249384 |
Signed-off-by: Maxime Coquelin <mcoquelin.stm32@gmail.com> --- arch/arm/configs/stm32_defconfig | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/arch/arm/configs/stm32_defconfig b/arch/arm/configs/stm32_defconfig index 92ade2e..31894ef 100644 --- a/arch/arm/configs/stm32_defconfig +++ b/arch/arm/configs/stm32_defconfig @@ -38,7 +38,11 @@ CONFIG_DEVTMPFS_MOUNT=y # CONFIG_FW_LOADER is not set # CONFIG_BLK_DEV is not set CONFIG_EEPROM_93CX6=y -# CONFIG_INPUT is not set +# CONFIG_INPUT_LEDS is not set +# CONFIG_INPUT_MOUSEDEV is not set +# CONFIG_KEYBOARD_ATKBD is not set +CONFIG_KEYBOARD_GPIO=y +# CONFIG_INPUT_MOUSE is not set # CONFIG_SERIO is not set # CONFIG_VT is not set # CONFIG_UNIX98_PTYS is not set -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Maxime Coquelin <mcoquelin.stm32@gmail.com> |
|---|---|
| Date | 2015-10-17 19:30 +0200 |
| Subject | [PATCH 7/9] ARM: dts: Add GPIO irq support to STM2F429 |
| Message-ID | <qkDsS-4cT-35@gated-at.bofh.it> |
| In reply to | #1249384 |
Signed-off-by: Maxime Coquelin <mcoquelin.stm32@gmail.com>
---
arch/arm/boot/dts/stm32f429.dtsi | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/arch/arm/boot/dts/stm32f429.dtsi b/arch/arm/boot/dts/stm32f429.dtsi
index a2c3aaa..bc84e8b 100644
--- a/arch/arm/boot/dts/stm32f429.dtsi
+++ b/arch/arm/boot/dts/stm32f429.dtsi
@@ -169,6 +169,11 @@
status = "disabled";
};
+ syscfg: system-config@40013800 {
+ compatible = "syscon";
+ reg = <0x40013800 0x400>;
+ };
+
exti: interrupt-controller@40013c00 {
compatible = "st,stm32-exti";
interrupt-controller;
@@ -182,6 +187,8 @@
#size-cells = <1>;
compatible = "st,stm32f429-pinctrl";
ranges = <0 0x40020000 0x3000>;
+ interrupt-parent = <&exti>;
+ st,syscfg = <&syscfg 0x8>;
pins-are-numbered;
gpioa: gpio@40020000 {
--
1.9.1
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Maxime Coquelin <mcoquelin.stm32@gmail.com> |
|---|---|
| Date | 2015-10-17 19:30 +0200 |
| Subject | [PATCH 8/9] ARM: dts: Declare push button as GPIO key on stm32f429 Disco board |
| Message-ID | <qkDsT-4cT-41@gated-at.bofh.it> |
| In reply to | #1249384 |
Signed-off-by: Maxime Coquelin <mcoquelin.stm32@gmail.com>
---
arch/arm/boot/dts/stm32429i-eval.dts | 19 +++++++++++++++++++
arch/arm/boot/dts/stm32f429-disco.dts | 13 +++++++++++++
2 files changed, 32 insertions(+)
diff --git a/arch/arm/boot/dts/stm32429i-eval.dts b/arch/arm/boot/dts/stm32429i-eval.dts
index 71fe17a..be21931 100644
--- a/arch/arm/boot/dts/stm32429i-eval.dts
+++ b/arch/arm/boot/dts/stm32429i-eval.dts
@@ -47,6 +47,7 @@
/dts-v1/;
#include "stm32f429.dtsi"
+#include <dt-bindings/input/input.h>
/ {
model = "STMicroelectronics STM32429i-EVAL board";
@@ -64,6 +65,24 @@
aliases {
serial0 = &usart1;
};
+
+ gpio_keys {
+ compatible = "gpio-keys";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ autorepeat;
+ button@0 {
+ label = "Wake up";
+ linux,code = <KEY_WAKEUP>;
+ gpios = <&gpioa 0 0>;
+ };
+ button@1 {
+ label = "Tamper";
+ linux,code = <KEY_RESTART>;
+ gpios = <&gpioc 13 0>;
+ };
+
+ };
};
&clk_hse {
diff --git a/arch/arm/boot/dts/stm32f429-disco.dts b/arch/arm/boot/dts/stm32f429-disco.dts
index 532c499..2cb4c9e 100644
--- a/arch/arm/boot/dts/stm32f429-disco.dts
+++ b/arch/arm/boot/dts/stm32f429-disco.dts
@@ -47,6 +47,7 @@
/dts-v1/;
#include "stm32f429.dtsi"
+#include <dt-bindings/input/input.h>
/ {
model = "STMicroelectronics STM32F429i-DISCO board";
@@ -74,6 +75,18 @@
gpios = <&gpiog 13 0>;
};
};
+
+ gpio_keys {
+ compatible = "gpio-keys";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ autorepeat;
+ button@0 {
+ label = "User";
+ linux,code = <KEY_HOME>;
+ gpios = <&gpioa 0 0>;
+ };
+ };
};
&clk_hse {
--
1.9.1
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Maxime Coquelin <mcoquelin.stm32@gmail.com> |
|---|---|
| Date | 2015-10-17 19:30 +0200 |
| Subject | [PATCH 5/9] Documentation: dt-bindings: Add IRQ related properties of STM32 pinctrl |
| Message-ID | <qkDsT-4cT-49@gated-at.bofh.it> |
| In reply to | #1249384 |
Signed-off-by: Maxime Coquelin <mcoquelin.stm32@gmail.com>
---
Documentation/devicetree/bindings/pinctrl/st,stm32-pinctrl.txt | 3 +++
1 file changed, 3 insertions(+)
diff --git a/Documentation/devicetree/bindings/pinctrl/st,stm32-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/st,stm32-pinctrl.txt
index 7b4800c..dd95bec 100644
--- a/Documentation/devicetree/bindings/pinctrl/st,stm32-pinctrl.txt
+++ b/Documentation/devicetree/bindings/pinctrl/st,stm32-pinctrl.txt
@@ -13,6 +13,9 @@ Required properies:
- #size-cells : The value of this property must be 1
- ranges : defines mapping between pin controller node (parent) to
gpio-bank node (children).
+ - interrupt-parent: phandle of the interrupt parent to which the external
+ GPIO interrupts are forwarded to.
+ - st,syscfg: phandle of the syscfg node used for IRQ mux selection.
- pins-are-numbered: Specify the subnodes are using numbered pinmux to
specify pins.
--
1.9.1
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web