Hi, I'd like to know the state of this patch. :) Thanks, BRs Xiubo > -----Original Message----- > From: Xiubo Li [mailto:Li.Xiubo@xxxxxxxxxxxxx] > Sent: Tuesday, June 03, 2014 10:45 AM > To: wim@xxxxxxxxx; linux-watchdog@xxxxxxxxxxxxxxx > Cc: robh+dt@xxxxxxxxxx; pawel.moll@xxxxxxx; mark.rutland@xxxxxxx; > ijc+devicetree@xxxxxxxxxxxxxx; galak@xxxxxxxxxxxxxx; Xiubo Li-B47053 > Subject: [PATCH v2] watchdog: imx2_wdt: adds big endianness support. > > This watchdog driver will be working on IMX2+, Vybrid, LS1, LS2+ > platforms, and will be in different endianness mode in those SoCs: > > SoCs WDT endian mode > ------------------------------------ > IMX2+ LE > Vybird LE > LS1 BE > LS2 LE > > Signed-off-by: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> > --- > > > Changes in V2: > - Document the use of the 'big-endian' property. > > > > > Documentation/devicetree/bindings/watchdog/fsl-imx-wdt.txt | 5 +++++ > drivers/watchdog/imx2_wdt.c | 7 +++++++ > 2 files changed, 12 insertions(+) > > diff --git a/Documentation/devicetree/bindings/watchdog/fsl-imx-wdt.txt > b/Documentation/devicetree/bindings/watchdog/fsl-imx-wdt.txt > index 2144af1..e52ba2d 100644 > --- a/Documentation/devicetree/bindings/watchdog/fsl-imx-wdt.txt > +++ b/Documentation/devicetree/bindings/watchdog/fsl-imx-wdt.txt > @@ -5,10 +5,15 @@ Required properties: > - reg : Should contain WDT registers location and length > - interrupts : Should contain WDT interrupt > > +Optional property: > +- big-endian: If present the watchdog device's registers are implemented > + in big endian mode, otherwise in little mode. > + > Examples: > > wdt@73f98000 { > compatible = "fsl,imx51-wdt", "fsl,imx21-wdt"; > reg = <0x73f98000 0x4000>; > interrupts = <58>; > + big-endian; > }; > diff --git a/drivers/watchdog/imx2_wdt.c b/drivers/watchdog/imx2_wdt.c > index 9d4874f..68c3d37 100644 > --- a/drivers/watchdog/imx2_wdt.c > +++ b/drivers/watchdog/imx2_wdt.c > @@ -28,6 +28,7 @@ > #include <linux/kernel.h> > #include <linux/module.h> > #include <linux/moduleparam.h> > +#include <linux/of_address.h> > #include <linux/platform_device.h> > #include <linux/regmap.h> > #include <linux/timer.h> > @@ -190,10 +191,12 @@ static struct regmap_config imx2_wdt_regmap_config = { > > static int __init imx2_wdt_probe(struct platform_device *pdev) > { > + struct device_node *np = pdev->dev.of_node; > struct imx2_wdt_device *wdev; > struct watchdog_device *wdog; > struct resource *res; > void __iomem *base; > + bool big_endian; > int ret; > u32 val; > > @@ -201,6 +204,10 @@ static int __init imx2_wdt_probe(struct platform_device > *pdev) > if (!wdev) > return -ENOMEM; > > + big_endian = of_property_read_bool(np, "big-endian"); > + if (big_endian) > + imx2_wdt_regmap_config.val_format_endian = REGMAP_ENDIAN_BIG; > + > 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-watchdog" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html