am33xx/am43xx: Add platform data for GPIOs
authorTom Rini <trini@konsulko.com>
Tue, 5 Jan 2016 17:17:15 +0000 (12:17 -0500)
committerTom Rini <trini@konsulko.com>
Fri, 8 Jan 2016 15:15:45 +0000 (10:15 -0500)
On these platforms we have many cases of boards that enable device model
and GPIO support but do not enable OF_CONTROL and pass in a device tree
with the binary.  We need to bring in the platform data here as well.

Tested on Beaglebone Black.

Reported-by: Robert Nelson <robertcnelson@gmail.com>
Reported-by: Francisco Aguerre <franciscoaguerre@gmail.com>
Reported-by: Jason Kridner <jkridner@beagleboard.org>
Signed-off-by: Tom Rini <trini@konsulko.com>
arch/arm/cpu/armv7/am33xx/board.c

index 466348f9402d2a23f4eacecd26e09ada6b34ed9a..e8d5be32b4b7b5ddcbcc2a288875b37718023033 100644 (file)
@@ -64,8 +64,31 @@ U_BOOT_DEVICES(am33xx_uarts) = {
 #   endif
 #  endif
 };
+
+#ifdef CONFIG_DM_GPIO
+static const struct omap_gpio_platdata am33xx_gpio[] = {
+       { 0, AM33XX_GPIO0_BASE },
+       { 1, AM33XX_GPIO1_BASE },
+       { 2, AM33XX_GPIO2_BASE },
+       { 3, AM33XX_GPIO3_BASE },
+#ifdef CONFIG_AM43XX
+       { 4, AM33XX_GPIO4_BASE },
+       { 5, AM33XX_GPIO5_BASE },
 #endif
+};
 
+U_BOOT_DEVICES(am33xx_gpios) = {
+       { "gpio_omap", &am33xx_gpio[0] },
+       { "gpio_omap", &am33xx_gpio[1] },
+       { "gpio_omap", &am33xx_gpio[2] },
+       { "gpio_omap", &am33xx_gpio[3] },
+#ifdef CONFIG_AM43XX
+       { "gpio_omap", &am33xx_gpio[4] },
+       { "gpio_omap", &am33xx_gpio[5] },
+#endif
+};
+#endif
+#endif
 
 #ifndef CONFIG_DM_GPIO
 static const struct gpio_bank gpio_bank_am33xx[] = {