sunxi: Add a bunch of missing compatible strings to sunxi_gpio.c
authorHans de Goede <hdegoede@redhat.com>
Fri, 18 Mar 2016 07:43:04 +0000 (08:43 +0100)
committerHans de Goede <hdegoede@redhat.com>
Wed, 23 Mar 2016 21:04:13 +0000 (22:04 +0100)
The kernel has different compatible strings for the pio block
because the pin-muxing is different on all the different SoCs,
but sunxi_gpio.c only support the basic gpio functionality, which
is identical everywhere. Add the missing compatible strings for
various SoC models.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Ian Campbell <ijc@hellion.org.uk>
drivers/gpio/sunxi_gpio.c

index 9d8f11ef302ac960d0a8ad1e36181508d05db83f..a7cec18d57fb363e9852b77e6fb7c87ccb88c615 100644 (file)
@@ -277,9 +277,17 @@ static int gpio_sunxi_bind(struct udevice *parent)
                start = 'L' - 'A';
                no_banks = 2; /* L & M */
        } else if (fdt_node_check_compatible(gd->fdt_blob, parent->of_offset,
-                               "allwinner,sun8i-a23-r-pinctrl") == 0) {
+                               "allwinner,sun8i-a23-r-pinctrl") == 0 ||
+                  fdt_node_check_compatible(gd->fdt_blob, parent->of_offset,
+                               "allwinner,sun8i-a83t-r-pinctrl") == 0 ||
+                  fdt_node_check_compatible(gd->fdt_blob, parent->of_offset,
+                               "allwinner,sun8i-h3-r-pinctrl") == 0) {
                start = 'L' - 'A';
                no_banks = 1; /* L only */
+       } else if (fdt_node_check_compatible(gd->fdt_blob, parent->of_offset,
+                               "allwinner,sun9i-a80-r-pinctrl") == 0) {
+               start = 'L' - 'A';
+               no_banks = 3; /* L, M & N */
        } else {
                start = 0;
                no_banks = SUNXI_GPIO_BANKS;
@@ -316,9 +324,14 @@ static const struct udevice_id sunxi_gpio_ids[] = {
        { .compatible = "allwinner,sun7i-a20-pinctrl" },
        { .compatible = "allwinner,sun8i-a23-pinctrl" },
        { .compatible = "allwinner,sun8i-a33-pinctrl" },
+       { .compatible = "allwinner,sun8i-a83t-pinctrl", },
+       { .compatible = "allwinner,sun8i-h3-pinctrl" },
        { .compatible = "allwinner,sun9i-a80-pinctrl" },
        { .compatible = "allwinner,sun6i-a31-r-pinctrl" },
        { .compatible = "allwinner,sun8i-a23-r-pinctrl" },
+       { .compatible = "allwinner,sun8i-a83t-r-pinctrl" },
+       { .compatible = "allwinner,sun8i-h3-r-pinctrl", },
+       { .compatible = "allwinner,sun9i-a80-r-pinctrl", },
        { }
 };