gpio: mmio: add brcm,bcm6345 support
authorChristian Lamparter <chunkeey@googlemail.com>
Wed, 3 Aug 2016 12:05:57 +0000 (14:05 +0200)
committerLinus Walleij <linus.walleij@linaro.org>
Thu, 11 Aug 2016 14:17:05 +0000 (16:17 +0200)
This patch adds support for the GPIO found in Broadcom's bcm63xx-gpio
chips.
This GPIO controller is used in the following Broadcom SoCs: BCM6338, BCM6345.
It can be used in newer SoCs, without the capability of pin multiplexing.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/gpio/gpio-mmio.c

index 6ec144b..d7d03ad 100644 (file)
@@ -573,6 +573,7 @@ static void __iomem *bgpio_map(struct platform_device *pdev,
 
 #ifdef CONFIG_OF
 static const struct of_device_id bgpio_of_match[] = {
+       { .compatible = "brcm,bcm6345-gpio" },
        { .compatible = "wd,mbl-gpio" },
        { }
 };
@@ -593,6 +594,9 @@ static struct bgpio_pdata *bgpio_parse_dt(struct platform_device *pdev,
 
        pdata->base = -1;
 
+       if (of_device_is_big_endian(pdev->dev.of_node))
+               *flags |= BGPIOF_BIG_ENDIAN_BYTE_ORDER;
+
        if (of_property_read_bool(pdev->dev.of_node, "no-output"))
                *flags |= BGPIOF_NO_OUTPUT;