[PATCH 0/4] gpio: syscon: reuse for keystone 2 socs
grygorii.strashko at ti.com
Wed Aug 13 09:16:18 PDT 2014
This series intended to integrate Keystone 2 DSP GPIO controller functionality into
gpio-syscon driver (drivers/gpio/gpio-syscon.c) as requested by Linus Walleij.
On Keystone SOCs, ARM host can send interrupts to DSP cores using the
DSP GPIO controller IP. Each DSP GPIO controller provides 28 IRQ signals for
each DSP core. This is one of the component used by the IPC mechanism used
on Keystone SOCs.
Keystone 2 DSP GPIO controller has specific features:
- each GPIO can be configured only as output pin;
- setting GPIO value to 1 causes IRQ generation on target DSP core;
- reading pin value returns 0 - if IRQ was handled or 1 - IRQ is still
The gpio-syscon driver was need to be updated to satisfy Keystone 2 SoC
1) special sequence of operations need to be used to assign output GPIO value.
As result, first patch introduces SoC specific callback .set() to configure
output GPIO value.
2) - eight (8) GPIO banks should be supported, but current gpio-syscon driver
supports only one.
- there can be more than on syscon devices per SoC and GPIO specific registers
can be placed any where. More over, number of syscon devices and their
configuration can vary even between two versions of the same SoC.
As result, second patch introduces new DT property for gpio-syscon devices:
gpio,syscon-dev = <&syscon_dev data_reg_offset [direction_reg_offset]>;
which allows to specify syscon node and data/direction registers offsets in DT.
Also, patch 4 added to illustrate DSP GPIO configuration in DT used by Keystone 2.
Grygorii Strashko (4):
gpio: syscon: add soc specific callback to assign output value
gpio: syscon: retrive syscon node and regs offsets from dt
gpio: syscon: reuse for keystone 2 socs
ARM: dts: keystone-k2hk: add dsp gpio controllers nodes
.../bindings/gpio/gpio-mctrl-keystone.txt | 39 ++++++++
arch/arm/boot/dts/k2hk.dtsi | 56 +++++++++++
drivers/gpio/gpio-syscon.c | 99 ++++++++++++++++++--
3 files changed, 186 insertions(+), 8 deletions(-)
create mode 100644 Documentation/devicetree/bindings/gpio/gpio-mctrl-keystone.txt
More information about the linux-arm-kernel