[PATCH 0/8] Support for AM33xx PWM Susbsytem
Philip, Avinash
avinashphilip at ti.com
Mon Nov 5 04:12:21 EST 2012
In AM33xx PWM sub modules like ECAP, EHRPWM & EQEP are integrated to
PWM subsystem. All these submodules shares the resources (clock) & has
a clock gating register in PWM Subsystem. This patch series creates a
parent PWM Subsystem driver to handle access synchronization of shared
resources & clock gating from PWM Subsystem configuration space.
Also Device tree nodes populated to support parent child relation
between PWMSS, ECAP & EHRPWM submodules.
In addition EHRPWM module requires explicit clock gating from control
module & is handled by patch #2 & 6.
Patch #4 & 5 submitted is a second revision as suggested by Thierry
for handling clock gating with a global function . This requires config
space handling done independent from driver and is done at parent driver.
So the parent<->child relation adopted to handle
1. pm runtime synchronization
2. PWM subsystem common config space clock gating for PWM submodules.
Patches supports
- Driver support for parent child relation handled patch #1
- Optional EHRPWM tb clock in patch #2
- Parent child in HWMOD handled at patch #3
- Device tree binding support handled in patch #4-6
- DT node populated in patch #7-8.
This patch series based on linux-next/20121102 and tested on AM335x-evm.
It depends on [1]
1. https://lkml.org/lkml/2012/10/29/589
pwm: Device tree support for PWM polarity
Philip, Avinash (8):
PWMSS: Add PWM Subsystem driver for parent<->child relationship
ARM: am33xx: clk: Add optional clock for EHRPWM
ARM: OMAP: AM33xx hwmod: Add parent-child relationship for PWM
subsystem
pwm: pwm-tiecap: Add device-tree binding support for APWM driver
pwm: pwm-tiehrpwm: Add device-tree binding support for EHRPWM driver
pwm: pwm-tiehrpwm: Adding TBCLK gating support.
ARM: dts: AM33XX: Add PWMSS device tree nodes
ARM: dts: AM33XX: Add PWM backlight DT data to am335x-evm
.../devicetree/bindings/pwm/pwm-tiecap.txt | 22 +
.../devicetree/bindings/pwm/pwm-tiehrpwm.txt | 25 ++
Documentation/devicetree/bindings/pwm/tipwmss.txt | 30 ++
arch/arm/boot/dts/am335x-evm.dts | 21 +
arch/arm/boot/dts/am33xx.dtsi | 90 +++++
arch/arm/mach-omap2/clock33xx_data.c | 37 ++
arch/arm/mach-omap2/control.h | 8 +
arch/arm/mach-omap2/omap_hwmod_33xx_data.c | 414 +++++++++++++-------
drivers/pwm/Kconfig | 11 +
drivers/pwm/Makefile | 1 +
drivers/pwm/pwm-tiecap.c | 36 ++-
drivers/pwm/pwm-tiehrpwm.c | 53 +++-
drivers/pwm/tipwmss.c | 136 +++++++
drivers/pwm/tipwmss.h | 8 +
14 files changed, 754 insertions(+), 138 deletions(-)
create mode 100644 Documentation/devicetree/bindings/pwm/pwm-tiecap.txt
create mode 100644 Documentation/devicetree/bindings/pwm/pwm-tiehrpwm.txt
create mode 100644 Documentation/devicetree/bindings/pwm/tipwmss.txt
create mode 100644 drivers/pwm/tipwmss.c
create mode 100644 drivers/pwm/tipwmss.h
More information about the linux-arm-kernel
mailing list