[RFC 0/7] Add PWM device-tree support.
Rob Herring
robherring2 at gmail.com
Wed Dec 21 00:24:46 EST 2011
On 12/20/2011 04:32 AM, Thierry Reding wrote:
> This patch series adds very rudimentary device-tree support for PWM devices.
> I fully realize that this is early work and it should not be merged as is.
> However I wanted to post these patches for review to make sure I'm not on a
> wild-goose chase.
>
> With all of these patches applied (plus one board-specific patch that is not
> included), I'm able to control the backlight on the device I'm working on
> using the sysfs interface provided by the pwm-backlight driver and the
> backlight class.
>
> This series is based on Sascha Hauer's series of patches[0] to add a generic
> PWM framework. The first patch in this series is takes from Sascha's branch,
> while the second patch enables each PWM chip to provide multiple PWM devices
> (none of the drivers in Sascha's branch are converted yet).
>
> Patch 3 adds some code to lookup a PWM chip given its device-tree handle. This
> code will be used later on by the pwm-backlight driver to find the PWM device
> that it should be using. I did not include any binding documentation yet since
> I wasn't sure the DT binding was at all sensible.
>
> Patch 4 was taken from the Chromium tree and is required to provide proper
> clocking of the Tegra2 PWFM controller. All Chromium-specific tags have been
> removed from the commit message.
>
> Patch 5 cleans up the clock registration for Tegra2 because patch 6 will only
> instantiate one device for the PWFM controller instead of four.
>
> Patch 6 adds a generic PWM framework driver for the Tegra2 PWFM controller.
> The code is taken from the Chromium tree with some adjustments to integrate it
> with the PWM framework.
>
> Patch 7 implements DT-based probing in the pwm-backlight driver. Note that
> this code only handles the "pwm" property (by looking up the PWM device via
> the new PWM DT binding) and the "default-" and "max-brightness" properties.
> Switching power to the backlight via GPIOs is not supported yet.
>
> [0]: http://git.pengutronix.de/?p=imx/linux-2.6.git;a=shortlog;h=refs/heads/pwmlib
>
> Sascha Hauer (1):
> PWM: add pwm framework support
>
> Simon Que (1):
> arm: tegra: Fix PWM clock programming
>
> Thierry Reding (5):
> pwm: Allow chips to support multiple PWMs.
> of: Add PWM support.
> arm: tegra: Provide clock for only one PWM controller.
> pwm: Add Tegra2 SoC support
> pwm-backlight: Add rudimentary device-tree support
>
> .../bindings/video/backlight/pwm-backlight | 16 +
> Documentation/pwm.txt | 56 ++++
> MAINTAINERS | 6 +
> arch/arm/boot/dts/tegra20.dtsi | 6 +
> arch/arm/mach-tegra/board-dt.c | 1 +
> arch/arm/mach-tegra/clock.h | 1 +
> arch/arm/mach-tegra/devices.c | 15 +
> arch/arm/mach-tegra/devices.h | 1 +
> arch/arm/mach-tegra/tegra2_clocks.c | 33 ++-
> drivers/Kconfig | 2 +
> drivers/Makefile | 1 +
> drivers/of/Kconfig | 6 +
> drivers/of/Makefile | 1 +
> drivers/of/pwm.c | 88 ++++++
> drivers/pwm/Kconfig | 17 ++
> drivers/pwm/Makefile | 2 +
> drivers/pwm/core.c | 301 ++++++++++++++++++++
> drivers/pwm/pwm-tegra.c | 274 ++++++++++++++++++
> drivers/video/backlight/Kconfig | 2 +-
> drivers/video/backlight/pwm_bl.c | 70 +++++-
> include/linux/of_pwm.h | 41 +++
> include/linux/pwm.h | 49 ++++
> 22 files changed, 976 insertions(+), 13 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/video/backlight/pwm-backlight
> create mode 100644 Documentation/pwm.txt
> create mode 100644 drivers/of/pwm.c
> create mode 100644 drivers/pwm/Kconfig
> create mode 100644 drivers/pwm/Makefile
> create mode 100644 drivers/pwm/core.c
> create mode 100644 drivers/pwm/pwm-tegra.c
> create mode 100644 include/linux/of_pwm.h
You need binding documentation for the pwm portion.
Rob
More information about the devicetree-discuss
mailing list