Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9a8b2aa5 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'pwm/for-3.20-rc1' of...

Merge tag 'pwm/for-3.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm

Pull pwm updates from Thierry Reding:
 "This contains two new drivers, one for Allwinner SoCs and the other
  for Imagination Technologies' Pistachio SoC.

  Complementing this are a couple of fixes to the Atmel HLCDC PWM and
  STi PWM drivers as well as minor cleanups to the core and the Tegra
  driver"

* tag 'pwm/for-3.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm:
  pwm: tegra: Use NSEC_PER_SEC
  pwm: Remove unnecessary check before of_node_put()
  pwm: Add device tree binding document for IMG PWM DAC
  pwm: Imagination Technologies PWM DAC driver
  pwm: sti: Maintain a bitmap of configured devices
  pwm: sunxi: document OF bindings
  pwm: Add Allwinner SoC support
  pwm: atmel-hlcdc: Prevent division by zero
  pwm: atmel-hlcdc: Depend on HAVE_CLK
parents ce1d3fde b65af27a
Loading
Loading
Loading
Loading
+24 −0
Original line number Diff line number Diff line
*Imagination Technologies PWM DAC driver

Required properties:
  - compatible: Should be "img,pistachio-pwm"
  - reg: Should contain physical base address and length of pwm registers.
  - clocks: Must contain an entry for each entry in clock-names.
	See ../clock/clock-bindings.txt for details.
  - clock-names: Must include the following entries.
    - pwm: PWM operating clock.
    - sys: PWM system interface clock.
  - #pwm-cells: Should be 2. See pwm.txt in this directory for the
	description of the cells format.
  - img,cr-periph: Must contain a phandle to the peripheral control
	syscon node which contains PWM control registers.

Example:
	pwm: pwm@18101300 {
		compatible = "img,pistachio-pwm";
		reg = <0x18101300 0x100>;
		clocks = <&pwm_clk>, <&system_clk>;
		clock-names = "pwm", "sys";
		#pwm-cells = <2>;
		img,cr-periph = <&cr_periph>;
	};
+20 −0
Original line number Diff line number Diff line
Allwinner sun4i and sun7i SoC PWM controller

Required properties:
  - compatible: should be one of:
    - "allwinner,sun4i-a10-pwm"
    - "allwinner,sun7i-a20-pwm"
  - reg: physical base address and length of the controller's registers
  - #pwm-cells: should be 3. See pwm.txt in this directory for a description of
    the cells format.
  - clocks: From common clock binding, handle to the parent clock.

Example:

	pwm: pwm@01c20e00 {
		compatible = "allwinner,sun7i-a20-pwm";
		reg = <0x01c20e00 0xc>;
		clocks = <&osc24M>;
		#pwm-cells = <3>;
		status = "disabled";
	};
+24 −0
Original line number Diff line number Diff line
@@ -53,6 +53,7 @@ config PWM_ATMEL
config PWM_ATMEL_HLCDC_PWM
	tristate "Atmel HLCDC PWM support"
	depends on MFD_ATMEL_HLCDC
	depends on HAVE_CLK
	help
	  Generic PWM framework driver for the PWM output of the HLCDC
	  (Atmel High-end LCD Controller). This PWM output is mainly used
@@ -130,6 +131,19 @@ config PWM_FSL_FTM
	  To compile this driver as a module, choose M here: the module
	  will be called pwm-fsl-ftm.

config PWM_IMG
	tristate "Imagination Technologies PWM driver"
	depends on HAS_IOMEM
	depends on MFD_SYSCON
	depends on COMMON_CLK
	depends on MIPS || COMPILE_TEST
	help
	  Generic PWM framework driver for Imagination Technologies
	  PWM block which supports 4 channels.

	  To compile this driver as a module, choose M here: the module
	  will be called pwm-img

config PWM_IMX
	tristate "i.MX PWM support"
	depends on ARCH_MXC
@@ -283,6 +297,16 @@ config PWM_STI
	  To compile this driver as a module, choose M here: the module
	  will be called pwm-sti.

config PWM_SUN4I
	tristate "Allwinner PWM support"
	depends on ARCH_SUNXI || COMPILE_TEST
	depends on HAS_IOMEM && COMMON_CLK
	help
	  Generic PWM framework driver for Allwinner SoCs.

	  To compile this driver as a module, choose M here: the module
	  will be called pwm-sun4i.

config PWM_TEGRA
	tristate "NVIDIA Tegra PWM support"
	depends on ARCH_TEGRA
+2 −0
Original line number Diff line number Diff line
@@ -10,6 +10,7 @@ obj-$(CONFIG_PWM_BFIN) += pwm-bfin.o
obj-$(CONFIG_PWM_CLPS711X)	+= pwm-clps711x.o
obj-$(CONFIG_PWM_EP93XX)	+= pwm-ep93xx.o
obj-$(CONFIG_PWM_FSL_FTM)	+= pwm-fsl-ftm.o
obj-$(CONFIG_PWM_IMG)		+= pwm-img.o
obj-$(CONFIG_PWM_IMX)		+= pwm-imx.o
obj-$(CONFIG_PWM_JZ4740)	+= pwm-jz4740.o
obj-$(CONFIG_PWM_LP3943)	+= pwm-lp3943.o
@@ -26,6 +27,7 @@ obj-$(CONFIG_PWM_ROCKCHIP) += pwm-rockchip.o
obj-$(CONFIG_PWM_SAMSUNG)	+= pwm-samsung.o
obj-$(CONFIG_PWM_SPEAR)		+= pwm-spear.o
obj-$(CONFIG_PWM_STI)		+= pwm-sti.o
obj-$(CONFIG_PWM_SUN4I)		+= pwm-sun4i.o
obj-$(CONFIG_PWM_TEGRA)		+= pwm-tegra.o
obj-$(CONFIG_PWM_TIECAP)	+= pwm-tiecap.o
obj-$(CONFIG_PWM_TIEHRPWM)	+= pwm-tiehrpwm.o
+1 −1
Original line number Diff line number Diff line
@@ -192,7 +192,7 @@ static void of_pwmchip_add(struct pwm_chip *chip)

static void of_pwmchip_remove(struct pwm_chip *chip)
{
	if (chip->dev && chip->dev->of_node)
	if (chip->dev)
		of_node_put(chip->dev->of_node);
}

Loading