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

Commit 97512cea authored by Thierry Reding's avatar Thierry Reding
Browse files

Merge branch 'for-4.12/drivers' into for-next

parents 45ce1d23 46fa8bc0
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -4,6 +4,7 @@ Required properties:
  - compatible: should be one of:
    - "atmel,at91sam9rl-pwm"
    - "atmel,sama5d3-pwm"
    - "atmel,sama5d2-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.
+45 −0
Original line number Diff line number Diff line
@@ -19,6 +19,19 @@ Required properties:
- reset-names: Must include the following entries:
  - pwm

Optional properties:
============================
In some of the interface like PWM based regulator device, it is required
to configure the pins differently in different states, especially in suspend
state of the system. The configuration of pin is provided via the pinctrl
DT node as detailed in the pinctrl DT binding document
	Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt

The PWM node will have following optional properties.
pinctrl-names:	Pin state names. Must be "default" and "sleep".
pinctrl-0:	phandle for the default/active state of pin configurations.
pinctrl-1:	phandle for the sleep state of pin configurations.

Example:

	pwm: pwm@7000a000 {
@@ -29,3 +42,35 @@ Example:
		resets = <&tegra_car 17>;
		reset-names = "pwm";
	};


Example with the pin configuration for suspend and resume:
=========================================================
Suppose pin PE7 (On Tegra210) interfaced with the regulator device and
it requires PWM output to be tristated when system enters suspend.
Following will be DT binding to achieve this:

#include <dt-bindings/pinctrl/pinctrl-tegra.h>

	pinmux@700008d4 {
		pwm_active_state: pwm_active_state {
                        pe7 {
                                nvidia,pins = "pe7";
                                nvidia,tristate = <TEGRA_PIN_DISABLE>;
			};
		};

		pwm_sleep_state: pwm_sleep_state {
                        pe7 {
                                nvidia,pins = "pe7";
                                nvidia,tristate = <TEGRA_PIN_ENABLE>;
			};
		};
	};

	pwm@7000a000 {
		/* Mandatory PWM properties */
		pinctrl-names = "default", "sleep";
		pinctrl-0 = <&pwm_active_state>;
		pinctrl-1 = <&pwm_sleep_state>;
	};
+34 −0
Original line number Diff line number Diff line
MediaTek PWM controller

Required properties:
 - compatible: should be "mediatek,<name>-pwm":
   - "mediatek,mt7623-pwm": found on mt7623 SoC.
 - reg: physical base address and length of the controller's registers.
 - #pwm-cells: must be 2. See pwm.txt in this directory for a description of
   the cell format.
 - clocks: phandle and clock specifier of the PWM reference clock.
 - clock-names: must contain the following:
   - "top": the top clock generator
   - "main": clock used by the PWM core
   - "pwm1-5": the five per PWM clocks
 - pinctrl-names: Must contain a "default" entry.
 - pinctrl-0: One property must exist for each entry in pinctrl-names.
   See pinctrl/pinctrl-bindings.txt for details of the property values.

Example:
	pwm0: pwm@11006000 {
		compatible = "mediatek,mt7623-pwm";
		reg = <0 0x11006000 0 0x1000>;
		#pwm-cells = <2>;
		clocks = <&topckgen CLK_TOP_PWM_SEL>,
			 <&pericfg CLK_PERI_PWM>,
			 <&pericfg CLK_PERI_PWM1>,
			 <&pericfg CLK_PERI_PWM2>,
			 <&pericfg CLK_PERI_PWM3>,
			 <&pericfg CLK_PERI_PWM4>,
			 <&pericfg CLK_PERI_PWM5>;
		clock-names = "top", "main", "pwm1", "pwm2",
			      "pwm3", "pwm4", "pwm5";
		pinctrl-names = "default";
		pinctrl-0 = <&pwm0_pins>;
	};
+9 −0
Original line number Diff line number Diff line
@@ -293,6 +293,15 @@ config PWM_MTK_DISP
	  To compile this driver as a module, choose M here: the module
	  will be called pwm-mtk-disp.

config PWM_MEDIATEK
	tristate "MediaTek PWM support"
	depends on ARCH_MEDIATEK || COMPILE_TEST
	help
	  Generic PWM framework driver for Mediatek ARM SoC.

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

config PWM_MXS
	tristate "Freescale MXS PWM support"
	depends on ARCH_MXS && OF
+1 −0
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ obj-$(CONFIG_PWM_LPSS) += pwm-lpss.o
obj-$(CONFIG_PWM_LPSS_PCI)	+= pwm-lpss-pci.o
obj-$(CONFIG_PWM_LPSS_PLATFORM)	+= pwm-lpss-platform.o
obj-$(CONFIG_PWM_MESON)		+= pwm-meson.o
obj-$(CONFIG_PWM_MEDIATEK)	+= pwm-mediatek.o
obj-$(CONFIG_PWM_MTK_DISP)	+= pwm-mtk-disp.o
obj-$(CONFIG_PWM_MXS)		+= pwm-mxs.o
obj-$(CONFIG_PWM_OMAP_DMTIMER)	+= pwm-omap-dmtimer.o
Loading