RE: [PATCH v4 00/11] Support for AM33xx PWM Subsystem

2012-11-23 Thread Philip, Avinash
On Fri, Nov 23, 2012 at 02:46:16, Thierry Reding wrote:
> On Wed, Nov 21, 2012 at 06:40:57PM +0530, Philip, Avinash wrote:
> > 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 & 8.
> > 
> > As suggested by  Thierry for handling clock gating for PWM submodules
> > should handle 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 &8
> > - pinctrl support in patch #5 & 7.
> > - DT node populated in patch #9 ,10 & 11.
> > 
> > This patch series based on omap_dt/for_3.8/dts_part2 and tested
> > on am335x-evm & am335x-evmsk.
> > 
> > It depends on [1]
> > 
> > 1. https://lkml.org/lkml/2012/11/21/70
> > pwm: Device tree support for PWM polarity
> > 
> > Changes since v3:
> > - Rebased on top of omap_dt/for_3.8/dts_part2
> > - Add pwm backlight for am335xevm_sk
> > - Moved tipwmss.h to pwm-tipwmss.h
> > 
> > Philip, Avinash (11):
> >   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-tiecap: pinctrl support
> >   pwm: pwm-tiehrpwm: Add device-tree binding support for EHRPWM driver
> >   pwm: pwm-tiehrpwm: pinctrl support
> >   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
> >   ARM: dts: AM33XX: Add PWM backlight DT data to am335x-evmsk
> 
> Hi,
> 
> So how do you want to get this merged? Should I take patches 1, 4, 5, 6,
> 7 and 8 while the rest go through some ARM tree? Can we still merge this
> for 3.8?

These patches can go on, as DT node is not populated. Also without patch #3
PWM Subsystem driver won't come and hence the platform devices for ECAP 
& EHRPWM. So there is no issue in getting this merged in PWM subsystem.

> The patches don't seem to have build dependencies on each other
> but how about runtime dependencies?

Patch #3 required for PWM subsystem driver to populate PWM subsystem HWMOD
Entries and DT entries. 
Patch #2 required for EHRPWM to have TBCLK handling. This patch required for
EHRPWM driver functionality. But currently DT node is disabled for EHRPWM.

So the dependency on the entire series is patch #3, for backlight through PWM
ecap.

I will follow up with OMAP subsystem community for getting reviews/ack

Thanks
Avinash

> 
> Thierry
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v4 00/11] Support for AM33xx PWM Subsystem

2012-11-22 Thread Thierry Reding
On Wed, Nov 21, 2012 at 06:40:57PM +0530, Philip, Avinash wrote:
> 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 & 8.
> 
> As suggested by  Thierry for handling clock gating for PWM submodules
> should handle 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 &8
> - pinctrl support in patch #5 & 7.
> - DT node populated in patch #9 ,10 & 11.
> 
> This patch series based on omap_dt/for_3.8/dts_part2 and tested
> on am335x-evm & am335x-evmsk.
> 
> It depends on [1]
> 
> 1. https://lkml.org/lkml/2012/11/21/70
> pwm: Device tree support for PWM polarity
> 
> Changes since v3:
>   - Rebased on top of omap_dt/for_3.8/dts_part2
>   - Add pwm backlight for am335xevm_sk
>   - Moved tipwmss.h to pwm-tipwmss.h
> 
> Philip, Avinash (11):
>   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-tiecap: pinctrl support
>   pwm: pwm-tiehrpwm: Add device-tree binding support for EHRPWM driver
>   pwm: pwm-tiehrpwm: pinctrl support
>   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
>   ARM: dts: AM33XX: Add PWM backlight DT data to am335x-evmsk

Hi,

So how do you want to get this merged? Should I take patches 1, 4, 5, 6,
7 and 8 while the rest go through some ARM tree? Can we still merge this
for 3.8? The patches don't seem to have build dependencies on each other
but how about runtime dependencies?

Thierry


pgpHaG9CrCLXS.pgp
Description: PGP signature


[PATCH v4 00/11] Support for AM33xx PWM Subsystem

2012-11-21 Thread Philip, Avinash
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 & 8.

As suggested by  Thierry for handling clock gating for PWM submodules
should handle 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 &8
- pinctrl support in patch #5 & 7.
- DT node populated in patch #9 ,10 & 11.

This patch series based on omap_dt/for_3.8/dts_part2 and tested
on am335x-evm & am335x-evmsk.

It depends on [1]

1. https://lkml.org/lkml/2012/11/21/70
pwm: Device tree support for PWM polarity

Changes since v3:
- Rebased on top of omap_dt/for_3.8/dts_part2
- Add pwm backlight for am335xevm_sk
- Moved tipwmss.h to pwm-tipwmss.h

Philip, Avinash (11):
  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-tiecap: pinctrl support
  pwm: pwm-tiehrpwm: Add device-tree binding support for EHRPWM driver
  pwm: pwm-tiehrpwm: pinctrl support
  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
  ARM: dts: AM33XX: Add PWM backlight DT data to am335x-evmsk

 .../devicetree/bindings/pwm/pwm-tiecap.txt |   23 ++
 .../devicetree/bindings/pwm/pwm-tiehrpwm.txt   |   23 ++
 .../devicetree/bindings/pwm/pwm-tipwmss.txt|   31 ++
 arch/arm/boot/dts/am335x-evm.dts   |   23 ++
 arch/arm/boot/dts/am335x-evmsk.dts |   23 ++
 arch/arm/boot/dts/am33xx.dtsi  |   84 
 arch/arm/mach-omap2/clock33xx_data.c   |   37 ++
 arch/arm/mach-omap2/control.h  |8 +
 arch/arm/mach-omap2/omap_hwmod_33xx_data.c |  419 +---
 drivers/pwm/Kconfig|   11 +
 drivers/pwm/Makefile   |1 +
 drivers/pwm/pwm-tiecap.c   |   50 +++-
 drivers/pwm/pwm-tiehrpwm.c |   65 +++-
 drivers/pwm/pwm-tipwmss.c  |  143 +++
 drivers/pwm/pwm-tipwmss.h  |   39 ++
 15 files changed, 835 insertions(+), 145 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/pwm-tipwmss.txt
 create mode 100644 drivers/pwm/pwm-tipwmss.c
 create mode 100644 drivers/pwm/pwm-tipwmss.h

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html