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 <[email protected]>
> ---
> .../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 [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
--
To unsubscribe from this list: send the line "unsubscribe linux-pwm" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html