|
|
Subscribe / Log in / New account

Support for AM33xx PWM Subsystem

From:  "Philip, Avinash" <avinashphilip@ti.com>
To:  <thierry.reding@avionic-design.de>, <paul@pwsan.com>, <tony@atomide.com>, <linux@arm.linux.org.uk>, <b-cousson@ti.com>
Subject:  [PATCH v3 00/10] Support for AM33xx PWM Subsystem
Date:  Tue, 20 Nov 2012 10:33:41 +0530
Message-ID:  <1353387831-31538-1-git-send-email-avinashphilip@ti.com>
Cc:  <hvaibhav@ti.com>, <anilkumar@ti.com>, <linux-kernel@vger.kernel.org>, <devicetree-discuss@lists.ozlabs.org>, <linux-doc@vger.kernel.org>, <linux-omap@vger.kernel.org>, <linux-arm-kernel@lists.infradead.org>, <nsekhar@ti.com>, <gururaja.hebbar@ti.com>, <vaibhav.bedia@ti.com>, "Philip, Avinash" <avinashphilip@ti.com>
Archive‑link:  Article

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.

Patch #4 & 6 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 &8
- pinctrl support in patch #5 & 7.
- DT node populated in patch #9 & 10.

This patch series based on linux-next/20121115 and tested on AM33xx.
It depends on [1]

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

Philip, Avinash (10):
  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

 .../devicetree/bindings/pwm/pwm-tiecap.txt         |   23 ++
 .../devicetree/bindings/pwm/pwm-tiehrpwm.txt       |   23 ++
 .../devicetree/bindings/pwm/pwm-tipwmss.txt        |   32 ++
 arch/arm/boot/dts/am335x-evm.dts                   |   21 +
 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/tipwmss.h                              |   39 ++
 14 files changed, 811 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/tipwmss.h

--
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/


Copyright © 2012, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds