[PATCH 3/3] pwm: ftm-pwm: Add big-endian support

From: Xiubo Li
Date: Fri Mar 21 2014 - 01:39:57 EST


Now for the following scenarios:

SoC | CPU | FTM-PWM | 'big-endian' property is needed?
-------------|--------|---------|---------------------------------
Vybird | LE | LE | No
LS1 | LE | BE | Yes
LS2 | LE | LE | No

Signed-off-by: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx>
---
drivers/pwm/pwm-fsl-ftm.c | 6 ++++++
1 file changed, 6 insertions(+)

diff --git a/drivers/pwm/pwm-fsl-ftm.c b/drivers/pwm/pwm-fsl-ftm.c
index 5d999c1..9a82741 100644
--- a/drivers/pwm/pwm-fsl-ftm.c
+++ b/drivers/pwm/pwm-fsl-ftm.c
@@ -409,6 +409,7 @@ static struct regmap_config fsl_pwm_regmap_config = {

static int fsl_pwm_probe(struct platform_device *pdev)
{
+ struct device_node *np = pdev->dev.of_node;
struct fsl_pwm_chip *fpc;
struct resource *res;
void __iomem *base;
@@ -422,6 +423,11 @@ static int fsl_pwm_probe(struct platform_device *pdev)

fpc->chip.dev = &pdev->dev;

+ if (of_property_read_bool(np, "big-endian"))
+ fsl_pwm_regmap_config.val_format_endian = REGMAP_ENDIAN_BIG;
+ else
+ fsl_pwm_regmap_config.val_format_endian = REGMAP_ENDIAN_NATIVE;
+
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
base = devm_ioremap_resource(&pdev->dev, res);
if (IS_ERR(base))
--
1.8.4


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/