mirror of
https://git.yoctoproject.org/meta-ti
synced 2026-07-16 14:27:48 +00:00
65f5df7cb8
This change is required to get GPIO 1_6 working for bone test init purposes These 2 lines were dropped from the original patch. Signed-off-by: Joel A Fernandes <joelagnel@ti.com> Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
133 lines
4.1 KiB
Diff
133 lines
4.1 KiB
Diff
From 4df4ee83b31e09942932d67890d36ae116363ac1 Mon Sep 17 00:00:00 2001
|
|
From: Koen Kooi <koen@dominion.thruhere.net>
|
|
Date: Wed, 2 Nov 2011 09:11:59 +0100
|
|
Subject: [PATCH] ARM: OMAP2+: beaglebone: add LED support
|
|
|
|
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
|
|
---
|
|
arch/arm/mach-omap2/board-am335xevm.c | 66 +++++++++++++++++++++++++++++++++
|
|
arch/arm/mach-omap2/mux33xx.c | 2 +-
|
|
2 files changed, 67 insertions(+), 1 deletions(-)
|
|
|
|
diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
|
|
index ee936e0..ecf4a76 100644
|
|
--- a/arch/arm/mach-omap2/board-am335xevm.c
|
|
+++ b/arch/arm/mach-omap2/board-am335xevm.c
|
|
@@ -18,6 +18,7 @@
|
|
#include <linux/i2c/at24.h>
|
|
#include <linux/phy.h>
|
|
#include <linux/gpio.h>
|
|
+#include <linux/leds.h>
|
|
#include <linux/spi/spi.h>
|
|
#include <linux/spi/flash.h>
|
|
#include <linux/mtd/mtd.h>
|
|
@@ -649,6 +650,60 @@ static struct pinmux_config usb1_pin_mux[] = {
|
|
{NULL, 0},
|
|
};
|
|
|
|
+/* LEDS - gpio1_21 -> gpio1_24 */
|
|
+
|
|
+#define BEAGLEBONE_USR1_LED GPIO_TO_PIN(1, 21)
|
|
+#define BEAGLEBONE_USR2_LED GPIO_TO_PIN(1, 22)
|
|
+#define BEAGLEBONE_USR3_LED GPIO_TO_PIN(1, 23)
|
|
+#define BEAGLEBONE_USR4_LED GPIO_TO_PIN(1, 24)
|
|
+
|
|
+#define BEAGLEBONEDVI_USR0_LED GPIO_TO_PIN(1, 18)
|
|
+#define BEAGLEBONEDVI_USR1_LED GPIO_TO_PIN(1, 19)
|
|
+
|
|
+static struct gpio_led gpio_leds[] = {
|
|
+ {
|
|
+ .name = "beaglebone::usr0",
|
|
+ .default_trigger = "heartbeat",
|
|
+ .gpio = BEAGLEBONE_USR1_LED,
|
|
+ },
|
|
+ {
|
|
+ .name = "beaglebone::usr1",
|
|
+ .default_trigger = "mmc0",
|
|
+ .gpio = BEAGLEBONE_USR2_LED,
|
|
+ },
|
|
+ {
|
|
+ .name = "beaglebone::usr2",
|
|
+ .gpio = BEAGLEBONE_USR3_LED,
|
|
+ },
|
|
+ {
|
|
+ .name = "beaglebone::usr3",
|
|
+ .gpio = BEAGLEBONE_USR4_LED,
|
|
+ },
|
|
+};
|
|
+
|
|
+static struct gpio_led_platform_data gpio_led_info = {
|
|
+ .leds = gpio_leds,
|
|
+ .num_leds = ARRAY_SIZE(gpio_leds),
|
|
+};
|
|
+
|
|
+static struct platform_device leds_gpio = {
|
|
+ .name = "leds-gpio",
|
|
+ .id = -1,
|
|
+ .dev = {
|
|
+ .platform_data = &gpio_led_info,
|
|
+ },
|
|
+};
|
|
+
|
|
+static struct pinmux_config bone_pin_mux[] = {
|
|
+ /* User LED gpios (gpio1_21 to gpio1_24) */
|
|
+ {"gpmc_a5.rgmii2_td0", OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT},
|
|
+ {"gpmc_a6.rgmii2_tclk", OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT},
|
|
+ {"gpmc_a7.rgmii2_rclk", OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT},
|
|
+ {"gpmc_a8.rgmii2_rd3", OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT},
|
|
+ /* Grounding gpio1_6 (pin 3 Conn A) signals bone tester to start diag tests */
|
|
+ {"gpmc_ad6.gpio1_6", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT_PULLUP},
|
|
+};
|
|
+
|
|
/* Module pin mux for eCAP0 */
|
|
static struct pinmux_config ecap0_pin_mux[] = {
|
|
{"ecap0_in_pwm0_out.gpio0_7", AM33XX_PIN_OUTPUT},
|
|
@@ -757,6 +812,15 @@ static void tsc_init(int evm_id, int profile)
|
|
pr_err("failed to register touchscreen device\n");
|
|
}
|
|
|
|
+static void boneleds_init(int evm_id, int profile )
|
|
+{
|
|
+ int err;
|
|
+ setup_pin_mux(bone_pin_mux);
|
|
+ err = platform_device_register(&leds_gpio);
|
|
+ if (err)
|
|
+ pr_err("failed to register BeagleBone LEDS\n");
|
|
+}
|
|
+
|
|
static void rgmii1_init(int evm_id, int profile)
|
|
{
|
|
setup_pin_mux(rgmii1_pin_mux);
|
|
@@ -1230,6 +1294,7 @@ static struct evm_dev_cfg beaglebone_old_dev_cfg[] = {
|
|
{usb0_init, DEV_ON_BASEBOARD, PROFILE_NONE},
|
|
{usb1_init, DEV_ON_BASEBOARD, PROFILE_NONE},
|
|
{mmc0_init, DEV_ON_BASEBOARD, PROFILE_NONE},
|
|
+ {boneleds_init, DEV_ON_BASEBOARD, PROFILE_ALL},
|
|
{NULL, 0, 0},
|
|
};
|
|
|
|
@@ -1239,6 +1304,7 @@ static struct evm_dev_cfg beaglebone_dev_cfg[] = {
|
|
{usb0_init, DEV_ON_BASEBOARD, PROFILE_NONE},
|
|
{usb1_init, DEV_ON_BASEBOARD, PROFILE_NONE},
|
|
{mmc0_init, DEV_ON_BASEBOARD, PROFILE_NONE},
|
|
+ {boneleds_init, DEV_ON_BASEBOARD, PROFILE_ALL},
|
|
{NULL, 0, 0},
|
|
};
|
|
|
|
diff --git a/arch/arm/mach-omap2/mux33xx.c b/arch/arm/mach-omap2/mux33xx.c
|
|
index 0286c4f..f09e827 100644
|
|
--- a/arch/arm/mach-omap2/mux33xx.c
|
|
+++ b/arch/arm/mach-omap2/mux33xx.c
|
|
@@ -49,7 +49,7 @@ static struct omap_mux __initdata am33xx_muxmodes[] = {
|
|
NULL, NULL, NULL, NULL),
|
|
_AM33XX_MUXENTRY(GPMC_AD6, 0,
|
|
"gpmc_ad6", "mmc1_dat6", NULL, NULL,
|
|
- NULL, NULL, NULL, NULL),
|
|
+ NULL, NULL, NULL, "gpio1_6"),
|
|
_AM33XX_MUXENTRY(GPMC_AD7, 0,
|
|
"gpmc_ad7", "mmc1_dat7", NULL, NULL,
|
|
NULL, NULL, NULL, NULL),
|
|
--
|
|
1.7.4.1
|
|
|