[U-Boot] [PATCH 3/3] sunxi: Add a bunch of missing compatible strings to sunxi_gpio.c

Hans de Goede hdegoede at redhat.com
Fri Mar 18 08:55:06 CET 2016


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 at redhat.com>
---
 drivers/gpio/sunxi_gpio.c | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/drivers/gpio/sunxi_gpio.c b/drivers/gpio/sunxi_gpio.c
index 9d8f11e..a7cec18 100644
--- a/drivers/gpio/sunxi_gpio.c
+++ b/drivers/gpio/sunxi_gpio.c
@@ -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", },
 	{ }
 };
 
-- 
2.7.3



More information about the U-Boot mailing list