Re: [PATCHv3 3/3] pwm: documentation: Add 'big-endian' property for FTM PWM.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On Mon, Aug 18, 2014 at 04:32:35AM +0100, Xiubo Li wrote:
> For the same FTM PWM device, which on different SoCs will in
> differrent endian mode, using the same linux device driver need
> one boolean properties to distingush this.
> 
> For now the FTM PWM is only applied to the ARM SoCs which are all
> in LE mode.
> 
> So the DT binding for FTM PWM device endian:
> SoC     |  FTM-PWM | 'big-endian' property is needed?
> --------|----------|---------------------------------
> Vybird  |    LE    |     No
> LS1     |    BE    |     Yes
> LS2     |    LE    |     No
> 
> Signed-off-by: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx>
> ---
>  .../devicetree/bindings/pwm/pwm-fsl-ftm.txt        | 22 +++++++++++++++++++++-
>  1 file changed, 21 insertions(+), 1 deletion(-)
> 
> diff --git a/Documentation/devicetree/bindings/pwm/pwm-fsl-ftm.txt b/Documentation/devicetree/bindings/pwm/pwm-fsl-ftm.txt
> index 0bda229..67ed8d6 100644
> --- a/Documentation/devicetree/bindings/pwm/pwm-fsl-ftm.txt
> +++ b/Documentation/devicetree/bindings/pwm/pwm-fsl-ftm.txt
> @@ -1,5 +1,23 @@
>  Freescale FlexTimer Module (FTM) PWM controller
>  
> +For the same FTM PWM device, which on different SoCs will in
> +differrent endian mode, using the same linux device driver need
> +one boolean properties to distingush this.

There is absolutely no need to mention Linux if this is truly a HW
property.

> +
> +For now the FTM PWM is only applied to the ARM SoCs which are all
> +in LE mode.
> +
> +So the DT binding for FTM PWM device endian:
> +SoC     |  FTM-PWM | 'big-endian' property is needed?
> +--------|----------|---------------------------------
> +Vybird  |    LE    |     No
> +LS1     |    BE    |     Yes
> +LS2     |    LE    |     No
> +
> +Please see "Documentation/devicetree/bindings/regmap/regmap.txt" for more
> +detail about the endianness.

Surely all we need is:

The FTM PWM device can be integrated as little-endian or big-endian.
This endianness differs per SoC:

SoC     | FTM-PWM endianness
--------+-------------------
Vybrid  | LE
LS1     | BE
LS2     | LE

> +
> +
>  Required properties:
>  - compatible: Should be "fsl,vf610-ftm-pwm".
>  - reg: Physical base address and length of the controller's registers
> @@ -16,7 +34,8 @@ Required properties:
>  - pinctrl-names: Must contain a "default" entry.
>  - pinctrl-NNN: One property must exist for each entry in pinctrl-names.
>    See pinctrl/pinctrl-bindings.txt for details of the property values.
> -
> +- big-endian: One boolean property, for all the device registers, the BE mode
> +  will be in use if it's present, or the LE mode will be in use.

- big-endian: Boolean property, required if all the FTM_PWM registers
  are big-endian rather than little-endian.

Cheers,
Mark.

>  
>  Example:
>  
> @@ -32,4 +51,5 @@ pwm0: pwm@40038000 {
>  			<&clks VF610_CLK_FTM0_EXT_FIX_EN>;
>  		pinctrl-names = "default";
>  		pinctrl-0 = <&pinctrl_pwm0_1>;
> +		big-endian;
>  };
> -- 
> 1.8.5
> 
> --
> To unsubscribe from this list: send the line "unsubscribe devicetree" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]
  Powered by Linux