On Mon, Oct 06, 2014 at 12:33:26PM +0100, Mark Rutland wrote:
On Mon, Oct 06, 2014 at 11:13:51AM +0100, Thierry Reding wrote:
On Wed, Oct 01, 2014 at 04:53:01PM +0200, Boris Brezillon wrote:
From: Boris BREZILLON boris.brezillon@free-electrons.com
The HLCDC IP available in some Atmel SoCs (i.e. sam9x5i.e. at91sam9n12, at91sam9x5 family or sama5d3 family) provide a PWM device.
The DT bindings used for this PWM device is following the default 3 cells bindings described in Documentation/devicetree/bindings/pwm/pwm.txt.
Signed-off-by: Boris Brezillon boris.brezillon@free-electrons.com
.../devicetree/bindings/pwm/atmel-hlcdc-pwm.txt | 55 ++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 Documentation/devicetree/bindings/pwm/atmel-hlcdc-pwm.txt
diff --git a/Documentation/devicetree/bindings/pwm/atmel-hlcdc-pwm.txt b/Documentation/devicetree/bindings/pwm/atmel-hlcdc-pwm.txt new file mode 100644 index 0000000..86ad3e2 --- /dev/null +++ b/Documentation/devicetree/bindings/pwm/atmel-hlcdc-pwm.txt @@ -0,0 +1,55 @@ +Device-Tree bindings for Atmel's HLCDC (High LCD Controller) PWM driver
+The Atmel HLCDC PWM is subdevice of the HLCDC MFD device. +See ../mfd/atmel-hlcdc.txt for more details.
+Required properties:
- compatible: value should be one of the following:
- "atmel,hlcdc-pwm"
- pinctr-names: the pin control state names. Should contain "default".
- pinctrl-0: should contain the pinctrl states described by pinctrl
- default.
- #pwm-cells: should be set to 3. This PWM chip use the default 3 cells
- bindings defined in Documentation/devicetree/bindings/pwm/pwm.txt.
- The first cell encodes the PWM id (0 is the only acceptable value here,
- because the chip only provide one PWM).
- The second cell encodes the PWM period in nanoseconds.
- The third cell encodes the PWM flags (the only supported flag is
- PWM_POLARITY_INVERTED)
Given that this already refers to the default 3 cells binding it doesn't need to repeat part of the contents of pwm.txt.
Given that pwm.txt states:
pwm-specifier : array of #pwm-cells specifying the given PWM (controller specific)
It also goes on to say that:
" pwm-specifier typically encodes the chip-relative PWM number and the PWM period in nanoseconds.
Optionally, the pwm-specifier can encode a number of flags (defined in <dt-bindings/pwm/pwm.h>) in a third cell: - PWM_POLARITY_INVERTED: invert the PWM signal polarity "
I'd leave it here. Just because pwm.txt gives an example of a controller specific meaning for the pwm cells, I don't think we should rely on it everywhere.
If we do have a default meaning for a specifier and the majority (in case of PWM every single one) of the device-specific bindings use it, then I don't think it makes sense to duplicate information everywhere else. We've been doing the same thing across the kernel for a long time now, why should PWM be special?
Thierry