[PATCH v2 0/9] Add some TZ1090 SoC infrastructure

From: James Hogan
Date: Fri May 24 2013 - 12:23:53 EST


The Toumaz Xenif TZ1090 SoC (AKA Comet) contains a 2-threaded
Linux-capable HTP (Meta 2), and is found in a number of development
boards and digital radios, such as the Minimorph Development Platform.

This patchset adds some core infrastructure for the TZ1090, including
drivers for the powerdown controller (PDC) irqchip, general/PDC pin
controllers, and general/PDC GPIO controllers. It's not yet enough to
get the UARTs going (no common clock framework) so JTAG/QEMU with DA TTY
is still needed to get a shell.

A QEMU with a Meta frontend and some TZ1090 emulation, and the SoC
Technical Reference Manual which documents the registers used by both
GPIO drivers and both pin control drivers can be downloaded from the
Minimorph SDK (registration of a Minimorph is currently required):
http://imgtec.com/meta_insider/metaflow-sdk.asp

Changes in v2:

There've been plenty of changes since v1 (thanks for all the feedback!)
so I think it's time for v2. I believe the only feedback not yet
addressed is changing irq-imgpdc driver to use generic irqchip.

- rebased on v3.10-rc2
- removed arch/metag/soc/ directory
- removed arch/metag/include/asm/soc-tz1090/gpio.h
- irq-imgpdc: use cached versions of irq_en and irq_route registers
- irq-imgpdc: switch to using raw_spinlock
- irq-imgpdc: (not had time to switch to generic irqchip yet)
- add drive strength to generic pinconf debugfs output (patch 4)
- add BIAS_BUS_HOLD generic pinconf (patch 5)
- pinctrl-tz1090: switched to generic pinconf (a previous patch adds
the BIAS_BUS_HOLD generic pinconf)
- pinctrl-tz1090: changed device tree bindings to more closely match
generic pinconf (separate tristate, pull-up, pull-down, bus-hold
flags instead of pull=<X>, drive-strength measured in mA)
- pinctrl-tz1090: removed "select" pinconf. Instead pins in a pin group
have their own individual pin groups and can be individually muxed.
Different pins in same pin mux group muxed to different functions is
disallowed. Pin switched to peripheral mode when mux enabled.
- pinctrl-tz1090: make use of BIT() from linux/bitops.h
- pinctrl-tz1090: add a whole bunch of comments
- gpio-tz1090: remove references to Linux flags in dt bindings
- gpio-tz1090: make use of BIT() from linux/bitops.h
- gpio-tz1090: make register accessors inline to match pinctrl
- gpio-tz1090: update gpio-ranges to use 3 cells after recent ABI
breakage
- pinctrl-tz1090-pdc: switched to generic pinconf (a previous patch
adds the BIAS_BUS_HOLD generic pinconf)
- pinctrl-tz1090-pdc: changed device tree bindings to more closely
match generic pinconf (separate tristate, pull-up, pull-down,
bus-hold flags instead of pull=<X>, drive-strength measured in mA)
- pinctrl-tz1090-pdc: make use of BIT() from linux/bitops.h
- pinctrl-tz1090-pdc: add a whole bunch of comments
- gpio-tz1090-pdc: remove references to Linux flags in dt bindings
- gpio-tz1090-pdc: make use of BIT() from linux/bitops.h
- gpio-tz1090-pdc: make register accessors inline to match pinctrl
- gpio-tz1090-pdc: update gpio-ranges to use 3 cells after recent ABI
breakage

Cc: Arnd Bergmann <arnd@xxxxxxxx>
Cc: Grant Likely <grant.likely@xxxxxxxxxxxx>
Cc: Linus Walleij <linus.walleij@xxxxxxxxxx>
Cc: Rob Herring <rob.herring@xxxxxxxxxxx>
Cc: Rob Landley <rob@xxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: devicetree-discuss@xxxxxxxxxxxxxxxx
Cc: linux-doc@xxxxxxxxxxxxxxx

James Hogan (9):
metag: of_platform_populate from arch generic code
metag: minimal TZ1090 (Comet) SoC infrastructure
irq-imgpdc: add ImgTec PDC irqchip driver
pinconf-generic: add drive strength to debugfs output
pinconf-generic: add BIAS_BUS_HOLD pinconf
pinctrl-tz1090: add TZ1090 pinctrl driver
gpio-tz1090: add TZ1090 gpio driver
pinctrl-tz1090-pdc: add TZ1090 PDC pinctrl driver
gpio-tz1090-pdc: add TZ1090 PDC gpio driver

.../devicetree/bindings/gpio/gpio-tz1090-pdc.txt | 41 +
.../devicetree/bindings/gpio/gpio-tz1090.txt | 83 +
.../devicetree/bindings/metag/pdc-intc.txt | 112 +
.../bindings/pinctrl/img,tz1090-pdc-pinctrl.txt | 128 ++
.../bindings/pinctrl/img,tz1090-pinctrl.txt | 223 ++
.../devicetree/bindings/vendor-prefixes.txt | 1 +
arch/metag/Kconfig.soc | 14 +
arch/metag/Makefile | 2 +-
arch/metag/boot/dts/Makefile | 2 +
arch/metag/boot/dts/tz1090.dtsi | 106 +
arch/metag/boot/dts/tz1090_generic.dts | 10 +
arch/metag/configs/tz1090_defconfig | 42 +
arch/metag/kernel/setup.c | 4 +
drivers/gpio/Kconfig | 14 +
drivers/gpio/Makefile | 2 +
drivers/gpio/gpio-tz1090-pdc.c | 242 +++
drivers/gpio/gpio-tz1090.c | 629 ++++++
drivers/irqchip/Kconfig | 4 +
drivers/irqchip/Makefile | 1 +
drivers/irqchip/irq-imgpdc.c | 541 +++++
drivers/pinctrl/Kconfig | 12 +
drivers/pinctrl/Makefile | 2 +
drivers/pinctrl/pinconf-generic.c | 2 +
drivers/pinctrl/pinctrl-tz1090-pdc.c | 1105 ++++++++++
drivers/pinctrl/pinctrl-tz1090.c | 2150 ++++++++++++++++++++
include/linux/pinctrl/pinconf-generic.h | 6 +
26 files changed, 5477 insertions(+), 1 deletion(-)
create mode 100644 Documentation/devicetree/bindings/gpio/gpio-tz1090-pdc.txt
create mode 100644 Documentation/devicetree/bindings/gpio/gpio-tz1090.txt
create mode 100644 Documentation/devicetree/bindings/metag/pdc-intc.txt
create mode 100644 Documentation/devicetree/bindings/pinctrl/img,tz1090-pdc-pinctrl.txt
create mode 100644 Documentation/devicetree/bindings/pinctrl/img,tz1090-pinctrl.txt
create mode 100644 arch/metag/boot/dts/tz1090.dtsi
create mode 100644 arch/metag/boot/dts/tz1090_generic.dts
create mode 100644 arch/metag/configs/tz1090_defconfig
create mode 100644 drivers/gpio/gpio-tz1090-pdc.c
create mode 100644 drivers/gpio/gpio-tz1090.c
create mode 100644 drivers/irqchip/irq-imgpdc.c
create mode 100644 drivers/pinctrl/pinctrl-tz1090-pdc.c
create mode 100644 drivers/pinctrl/pinctrl-tz1090.c

--
1.8.1.2


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/