[meta-ti] [PATCH 2/3] linux-ti33x-psp 3.2: improve cape support
Koen Kooi
koen at dominion.thruhere.net
Fri Mar 30 11:58:23 PDT 2012
Signed-off-by: Koen Kooi <koen at dominion.thruhere.net>
---
https://github.com/angstrom-distribution/meta-ti/tree/pull20123003
...add-more-beagleboardtoys-cape-partnumbers.patch | 53 ++++++++
...add-gpio-keys-for-lcd7-add-notes-for-miss.patch | 129 ++++++++++++++++++++
...25-beaglebone-add-enter-key-for-lcd7-cape.patch | 40 ++++++
.../0026-beaglebone-add-gpio-keys-for-lcd.patch | 113 +++++++++++++++++
recipes-kernel/linux/linux-ti33x-psp_3.2.bb | 6 +-
5 files changed, 340 insertions(+), 1 deletions(-)
create mode 100644 recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0023-beaglebone-add-more-beagleboardtoys-cape-partnumbers.patch
create mode 100644 recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0024-beaglebone-add-gpio-keys-for-lcd7-add-notes-for-miss.patch
create mode 100644 recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0025-beaglebone-add-enter-key-for-lcd7-cape.patch
create mode 100644 recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0026-beaglebone-add-gpio-keys-for-lcd.patch
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0023-beaglebone-add-more-beagleboardtoys-cape-partnumbers.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0023-beaglebone-add-more-beagleboardtoys-cape-partnumbers.patch
new file mode 100644
index 0000000..4c1fcfd
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0023-beaglebone-add-more-beagleboardtoys-cape-partnumbers.patch
@@ -0,0 +1,53 @@
+From a0bf4fec50d8a0690e6f4ded292d24fb00d9e01a Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen at dominion.thruhere.net>
+Date: Mon, 19 Mar 2012 12:01:35 +0100
+Subject: [PATCH 23/27] beaglebone: add more beagleboardtoys cape partnumbers
+
+Signed-off-by: Koen Kooi <koen at dominion.thruhere.net>
+---
+ arch/arm/mach-omap2/board-am335xevm.c | 25 ++++++++++++++++++++++++-
+ 1 files changed, 24 insertions(+), 1 deletions(-)
+
+diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
+index 36efca1..58a0e77 100644
+--- a/arch/arm/mach-omap2/board-am335xevm.c
++++ b/arch/arm/mach-omap2/board-am335xevm.c
+@@ -1883,11 +1883,34 @@ static void beaglebone_cape_setup(struct memory_accessor *mem_acc, void *context
+ beaglebone_tsadcpins_free = 0;
+ }
+
++ if (!strncmp("BB-BONE-LCD3-01", cape_config.partnumber, 15)) {
++ pr_info("BeagleBone cape: initializing LCD cape\n");
++ bbtoys7lcd_init(0,0);
++ pr_info("BeagleBone cape: initializing LCD cape touchscreen\n");
++ tsc_init(0,0);
++ beaglebone_tsadcpins_free = 0;
++ }
++
++ if (!strncmp("BB-BONE-VGA0-01", cape_config.partnumber, 15)) {
++ pr_info("BeagleBone cape: initializing VGA cape\n");
++ dvi_init(0,0);
++ }
++
++ if (!strncmp("BB-BONE-BATT-01", cape_config.partnumber, 15)) {
++ pr_info("BeagleBone cape: initializing battery cape\n");
++ //foo_init(0,0);
++ }
++
++ if (!strncmp("BB-BONE-SERL", cape_config.partnumber, 12)) {
++ pr_info("BeagleBone cape: initializing serial cape\n");
++ //foo_init(0,0);
++ }
++
+ if (!strncmp("TT3201-001", cape_config.partnumber, 10)) {
+ pr_info("BeagleBone cape: initializing CAN cape\n");
+ tt3201_init(0,0);
+ }
+-
++
+ if ((capecount > 3) && (beaglebone_tsadcpins_free == 1)) {
+ pr_info("BeagleBone cape: exporting ADC pins to sysfs\n");
+ bone_tsc_init(0,0);
+--
+1.7.2.5
+
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0024-beaglebone-add-gpio-keys-for-lcd7-add-notes-for-miss.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0024-beaglebone-add-gpio-keys-for-lcd7-add-notes-for-miss.patch
new file mode 100644
index 0000000..f5da1ed
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0024-beaglebone-add-gpio-keys-for-lcd7-add-notes-for-miss.patch
@@ -0,0 +1,129 @@
+From 58f1b0546b2831d9ed15e8bf43f709085a60b2e9 Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen at dominion.thruhere.net>
+Date: Mon, 19 Mar 2012 13:32:43 +0100
+Subject: [PATCH 24/27] beaglebone: add gpio-keys for lcd7, add notes for missing functionality for other capes
+
+Signed-off-by: Koen Kooi <koen at dominion.thruhere.net>
+---
+ arch/arm/mach-omap2/board-am335xevm.c | 79 +++++++++++++++++++++++++++++++++
+ 1 files changed, 79 insertions(+), 0 deletions(-)
+
+diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
+index 58a0e77..7a2b851 100644
+--- a/arch/arm/mach-omap2/board-am335xevm.c
++++ b/arch/arm/mach-omap2/board-am335xevm.c
+@@ -980,6 +980,73 @@ static void volume_keys_init(int evm_id, int profile)
+ pr_err("failed to register matrix keypad (2x3) device\n");
+ }
+
++/* pinmux for lcd7 keys */
++static struct pinmux_config lcd7_keys_pin_mux[] = {
++ {"gpmc_a0.gpio1_16", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT},
++ {"gpmc_a1.gpio1_17", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT},
++ {"gpmc_a3.gpio1_19", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT},
++ {"mcasp0_axr0.gpio3_16", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT},
++ {NULL, 0},
++};
++
++/* Configure GPIOs for lcd7 keys */
++static struct gpio_keys_button beaglebone_lcd7_gpio_keys[] = {
++ {
++ .code = KEY_LEFT,
++ .gpio = GPIO_TO_PIN(1, 16),
++ .active_low = false,
++ .desc = "left",
++ .type = EV_KEY,
++ .wakeup = 1,
++ },
++ {
++ .code = KEY_RIGHT,
++ .gpio = GPIO_TO_PIN(1, 17),
++ .active_low = false,
++ .desc = "right",
++ .type = EV_KEY,
++ .wakeup = 1,
++ },
++ {
++ .code = KEY_UP,
++ .gpio = GPIO_TO_PIN(1, 19),
++ .active_low = false,
++ .desc = "up",
++ .type = EV_KEY,
++ .wakeup = 1,
++ },
++ {
++ .code = KEY_DOWN,
++ .gpio = GPIO_TO_PIN(3, 16),
++ .active_low = false,
++ .desc = "down",
++ .type = EV_KEY,
++ .wakeup = 1,
++ },
++};
++
++static struct gpio_keys_platform_data beaglebone_lcd7_gpio_key_info = {
++ .buttons = beaglebone_lcd7_gpio_keys,
++ .nbuttons = ARRAY_SIZE(beaglebone_lcd7_gpio_keys),
++};
++
++static struct platform_device beaglebone_lcd7_keys = {
++ .name = "gpio-keys",
++ .id = -1,
++ .dev = {
++ .platform_data = &beaglebone_lcd7_gpio_key_info,
++ },
++};
++
++static void beaglebone_lcd7_keys_init(int evm_id, int profile)
++{
++ int err;
++ setup_pin_mux(lcd7_keys_pin_mux);
++ err = platform_device_register(&beaglebone_lcd7_keys);
++ if (err)
++ pr_err("failed to register gpio keys for LCD7 cape\n");
++}
++
+ /*
+ * @evm_id - evm id which needs to be configured
+ * @dev_cfg - single evm structure which includes
+@@ -1881,6 +1948,8 @@ static void beaglebone_cape_setup(struct memory_accessor *mem_acc, void *context
+ pr_info("BeagleBone cape: Registering PWM backlight for LCD cape\n");
+ enable_ehrpwm1(0,0);
+ beaglebone_tsadcpins_free = 0;
++ pr_info("BeagleBone cape: Registering gpio-keys for LCD cape\n");
++ beaglebone_lcd7_keys_init(0,0);
+ }
+
+ if (!strncmp("BB-BONE-LCD3-01", cape_config.partnumber, 15)) {
+@@ -1889,6 +1958,10 @@ static void beaglebone_cape_setup(struct memory_accessor *mem_acc, void *context
+ pr_info("BeagleBone cape: initializing LCD cape touchscreen\n");
+ tsc_init(0,0);
+ beaglebone_tsadcpins_free = 0;
++ // gpio1_16 -> button
++ // gpio1_17 -> button
++ // gpio3_19 -> button
++ // gpio1_28 -> button
+ }
+
+ if (!strncmp("BB-BONE-VGA0-01", cape_config.partnumber, 15)) {
+@@ -1898,11 +1971,17 @@ static void beaglebone_cape_setup(struct memory_accessor *mem_acc, void *context
+
+ if (!strncmp("BB-BONE-BATT-01", cape_config.partnumber, 15)) {
+ pr_info("BeagleBone cape: initializing battery cape\n");
++ // gpio1_6, P9_15 lowbat output
++ // AIN4, P9_33 vbat
+ //foo_init(0,0);
+ }
+
+ if (!strncmp("BB-BONE-SERL", cape_config.partnumber, 12)) {
+ pr_info("BeagleBone cape: initializing serial cape\n");
++ // 01 -> CAN
++ // 02 -> Profibus
++ // 03 -> RS232
++ // 04 -> RS485
+ //foo_init(0,0);
+ }
+
+--
+1.7.2.5
+
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0025-beaglebone-add-enter-key-for-lcd7-cape.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0025-beaglebone-add-enter-key-for-lcd7-cape.patch
new file mode 100644
index 0000000..7e93d61
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0025-beaglebone-add-enter-key-for-lcd7-cape.patch
@@ -0,0 +1,40 @@
+From 18a371473e99ca637dafe68d9d77ebae4585b873 Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen at dominion.thruhere.net>
+Date: Mon, 19 Mar 2012 14:26:37 +0100
+Subject: [PATCH 25/27] beaglebone: add enter key for lcd7 cape
+
+Signed-off-by: Koen Kooi <koen at dominion.thruhere.net>
+---
+ arch/arm/mach-omap2/board-am335xevm.c | 9 +++++++++
+ 1 files changed, 9 insertions(+), 0 deletions(-)
+
+diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
+index 7a2b851..ed2ff18 100644
+--- a/arch/arm/mach-omap2/board-am335xevm.c
++++ b/arch/arm/mach-omap2/board-am335xevm.c
+@@ -986,6 +986,7 @@ static struct pinmux_config lcd7_keys_pin_mux[] = {
+ {"gpmc_a1.gpio1_17", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT},
+ {"gpmc_a3.gpio1_19", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT},
+ {"mcasp0_axr0.gpio3_16", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT},
++ {"mcasp0_fsr.gpio3_19", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT},
+ {NULL, 0},
+ };
+
+@@ -1023,6 +1024,14 @@ static struct gpio_keys_button beaglebone_lcd7_gpio_keys[] = {
+ .type = EV_KEY,
+ .wakeup = 1,
+ },
++ {
++ .code = KEY_ENTER,
++ .gpio = GPIO_TO_PIN(3, 19),
++ .active_low = false,
++ .desc = "enter",
++ .type = EV_KEY,
++ .wakeup = 1,
++ },
+ };
+
+ static struct gpio_keys_platform_data beaglebone_lcd7_gpio_key_info = {
+--
+1.7.2.5
+
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0026-beaglebone-add-gpio-keys-for-lcd.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0026-beaglebone-add-gpio-keys-for-lcd.patch
new file mode 100644
index 0000000..2a36c19
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0026-beaglebone-add-gpio-keys-for-lcd.patch
@@ -0,0 +1,113 @@
+From ac98d63f016be414cbb91d283b0ef48f3c7c5b92 Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen at dominion.thruhere.net>
+Date: Mon, 19 Mar 2012 15:15:06 +0100
+Subject: [PATCH 26/26] beaglebone: add gpio-keys for lcd
+
+Signed-off-by: Koen Kooi <koen at dominion.thruhere.net>
+---
+ arch/arm/mach-omap2/board-am335xevm.c | 82 +++++++++++++++++++++++++++++++--
+ 1 files changed, 78 insertions(+), 4 deletions(-)
+
+diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
+index ed2ff18..badee96 100644
+--- a/arch/arm/mach-omap2/board-am335xevm.c
++++ b/arch/arm/mach-omap2/board-am335xevm.c
+@@ -1056,6 +1056,82 @@ static void beaglebone_lcd7_keys_init(int evm_id, int profile)
+ pr_err("failed to register gpio keys for LCD7 cape\n");
+ }
+
++/* pinmux for lcd3 keys */
++static struct pinmux_config lcd3_keys_pin_mux[] = {
++ {"gpmc_a0.gpio1_16", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT},
++ {"gpmc_a1.gpio1_17", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT},
++ {"mcasp0_fsr.gpio3_19", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT},
++ {"gpmc_ben1.gpio1_28", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT},
++ {"ecap0_in_pwm0_out.gpio0_7", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT},
++ {NULL, 0},
++};
++
++/* Configure GPIOs for lcd3 keys */
++static struct gpio_keys_button beaglebone_lcd3_gpio_keys[] = {
++ {
++ .code = KEY_LEFT,
++ .gpio = GPIO_TO_PIN(1, 16),
++ .active_low = false,
++ .desc = "left",
++ .type = EV_KEY,
++ .wakeup = 1,
++ },
++ {
++ .code = KEY_RIGHT,
++ .gpio = GPIO_TO_PIN(1, 17),
++ .active_low = false,
++ .desc = "right",
++ .type = EV_KEY,
++ .wakeup = 1,
++ },
++ {
++ .code = KEY_UP,
++ .gpio = GPIO_TO_PIN(3, 19),
++ .active_low = false,
++ .desc = "up",
++ .type = EV_KEY,
++ .wakeup = 1,
++ },
++ {
++ .code = KEY_DOWN,
++ .gpio = GPIO_TO_PIN(1, 28),
++ .active_low = false,
++ .desc = "down",
++ .type = EV_KEY,
++ .wakeup = 1,
++ },
++ {
++ .code = KEY_ENTER,
++ .gpio = GPIO_TO_PIN(0, 7),
++ .active_low = false,
++ .desc = "down",
++ .type = EV_KEY,
++ .wakeup = 1,
++ },
++};
++
++static struct gpio_keys_platform_data beaglebone_lcd3_gpio_key_info = {
++ .buttons = beaglebone_lcd3_gpio_keys,
++ .nbuttons = ARRAY_SIZE(beaglebone_lcd3_gpio_keys),
++};
++
++static struct platform_device beaglebone_lcd3_keys = {
++ .name = "gpio-keys",
++ .id = -1,
++ .dev = {
++ .platform_data = &beaglebone_lcd3_gpio_key_info,
++ },
++};
++
++static void beaglebone_lcd3_keys_init(int evm_id, int profile)
++{
++ int err;
++ setup_pin_mux(lcd3_keys_pin_mux);
++ err = platform_device_register(&beaglebone_lcd3_keys);
++ if (err)
++ pr_err("failed to register gpio keys for LCD3 cape\n");
++}
++
+ /*
+ * @evm_id - evm id which needs to be configured
+ * @dev_cfg - single evm structure which includes
+@@ -1967,10 +2043,8 @@ static void beaglebone_cape_setup(struct memory_accessor *mem_acc, void *context
+ pr_info("BeagleBone cape: initializing LCD cape touchscreen\n");
+ tsc_init(0,0);
+ beaglebone_tsadcpins_free = 0;
+- // gpio1_16 -> button
+- // gpio1_17 -> button
+- // gpio3_19 -> button
+- // gpio1_28 -> button
++ pr_info("BeagleBone cape: Registering gpio-keys for LCD cape\n");
++ beaglebone_lcd3_keys_init(0,0);
+ }
+
+ if (!strncmp("BB-BONE-VGA0-01", cape_config.partnumber, 15)) {
+--
+1.7.2.5
+
diff --git a/recipes-kernel/linux/linux-ti33x-psp_3.2.bb b/recipes-kernel/linux/linux-ti33x-psp_3.2.bb
index 0b54e26..e6277ce 100644
--- a/recipes-kernel/linux/linux-ti33x-psp_3.2.bb
+++ b/recipes-kernel/linux/linux-ti33x-psp_3.2.bb
@@ -12,7 +12,7 @@ MULTI_CONFIG_BASE_SUFFIX = ""
BRANCH = "v3.2-staging"
SRCREV = "09e9651bcf2ee8d86685f2a8075bc6557b1d3b91"
-MACHINE_KERNEL_PR_append = "a+gitr${SRCREV}"
+MACHINE_KERNEL_PR_append = "b+gitr${SRCREV}"
COMPATIBLE_MACHINE = "(ti33x)"
@@ -667,4 +667,8 @@ PATCHES_OVER_PSP = " \
file://beaglebone/0020-beaglebone-add-support-for-Towertech-TT3201-CAN-cape.patch \
file://beaglebone/0021-ARM-OMAP2-am33xx-fix-serial-mux-warnings-for-am33xx.patch \
file://beaglebone/0022-ARM-OMAP2-am335x-correct-McASP0-pin-mux-detail.patch \
+ file://beaglebone/0023-beaglebone-add-more-beagleboardtoys-cape-partnumbers.patch \
+ file://beaglebone/0024-beaglebone-add-gpio-keys-for-lcd7-add-notes-for-miss.patch \
+ file://beaglebone/0025-beaglebone-add-enter-key-for-lcd7-cape.patch \
+ file://beaglebone/0026-beaglebone-add-gpio-keys-for-lcd.patch \
"
--
1.7.2.5
More information about the meta-ti
mailing list