summaryrefslogtreecommitdiffstats
path: root/recipes-kernel
diff options
context:
space:
mode:
authorKoen Kooi <koen@dominion.thruhere.net>2012-06-07 17:40:41 +0200
committerDenys Dmytriyenko <denys@ti.com>2012-06-11 16:59:07 -0400
commite4fc1993e17cc120a2667eac8b747107a2750e71 (patch)
tree19627266f161be199748c3d0afeacc683f2c6417 /recipes-kernel
parent5f7c0da7a483c59eee67cb39db231ad8486d313c (diff)
downloadmeta-ti-e4fc1993e17cc120a2667eac8b747107a2750e71.tar.gz
linux-ti33x-psp 3.2: fix buttons on LCD capes
One patch to add button layout for the a1 revision of the 3.5" LCD cape and another patch to stop spidev from loading when SPI1_D1 is used as gpio Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Diffstat (limited to 'recipes-kernel')
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0069-beaglebone-add-support-for-LCD3-rev-A1.patch132
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0070-beaglebone-fix-buttons-spidev-clash-when-using-mcasp.patch52
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp_3.2.bb4
3 files changed, 187 insertions, 1 deletions
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0069-beaglebone-add-support-for-LCD3-rev-A1.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0069-beaglebone-add-support-for-LCD3-rev-A1.patch
new file mode 100644
index 00000000..d9bc2b56
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0069-beaglebone-add-support-for-LCD3-rev-A1.patch
@@ -0,0 +1,132 @@
1From b61b89f98ac85ccd8d503a902bad208343ed0aba Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Mon, 4 Jun 2012 14:38:02 +0200
4Subject: [PATCH] beaglebone: add support for LCD3 rev A1
5
6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
7---
8 arch/arm/mach-omap2/board-am335xevm.c | 94 +++++++++++++++++++++++++++++----
9 1 files changed, 83 insertions(+), 11 deletions(-)
10
11diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
12index bb6049a..51bfa8b 100644
13--- a/arch/arm/mach-omap2/board-am335xevm.c
14+++ b/arch/arm/mach-omap2/board-am335xevm.c
15@@ -1136,7 +1136,7 @@ static struct pinmux_config lcd3_keys_pin_mux[] = {
16 {NULL, 0},
17 };
18
19-/* Configure GPIOs for lcd3 keys */
20+/* Configure GPIOs for lcd3 rev A or earlier keys */
21 static struct gpio_keys_button beaglebone_lcd3_gpio_keys[] = {
22 {
23 .code = KEY_LEFT,
24@@ -1193,14 +1193,72 @@ static struct platform_device beaglebone_lcd3_keys = {
25 },
26 };
27
28-static void beaglebone_lcd3_keys_init(int evm_id, int profile)
29-{
30- int err;
31- setup_pin_mux(lcd3_keys_pin_mux);
32- err = platform_device_register(&beaglebone_lcd3_keys);
33- if (err)
34- pr_err("failed to register gpio keys for LCD3 cape\n");
35-}
36+/* pinmux for lcd3 A1 or newer keys */
37+static struct pinmux_config lcd3a1_keys_pin_mux[] = {
38+ {"gpmc_a0.gpio1_16", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT}, // Left
39+ {"gpmc_a1.gpio1_17", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT}, //Right
40+ {"gpmc_a3.gpio1_19", OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT}, // Up
41+ {"mcasp0_axr0.gpio3_16", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT}, //Down
42+ {"mcasp0_fsr.gpio3_19", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT}, // Enter
43+ {NULL, 0},
44+};
45+
46+/* Configure GPIOs for lcd3 rev A1 or newer keys */
47+static struct gpio_keys_button lcd3a1_gpio_keys[] = {
48+ {
49+ .code = KEY_LEFT,
50+ .gpio = GPIO_TO_PIN(1, 16),
51+ .active_low = true,
52+ .desc = "left",
53+ .type = EV_KEY,
54+ .wakeup = 1,
55+ },
56+ {
57+ .code = KEY_RIGHT,
58+ .gpio = GPIO_TO_PIN(1, 17),
59+ .active_low = true,
60+ .desc = "right",
61+ .type = EV_KEY,
62+ .wakeup = 1,
63+ },
64+ {
65+ .code = KEY_UP,
66+ .gpio = GPIO_TO_PIN(1, 19),
67+ .active_low = true,
68+ .desc = "up",
69+ .type = EV_KEY,
70+ .wakeup = 1,
71+ },
72+ {
73+ .code = KEY_DOWN,
74+ .gpio = GPIO_TO_PIN(3, 16),
75+ .active_low = true,
76+ .desc = "down",
77+ .type = EV_KEY,
78+ .wakeup = 1,
79+ },
80+ {
81+ .code = KEY_ENTER,
82+ .gpio = GPIO_TO_PIN(3, 19),
83+ .active_low = true,
84+ .desc = "enter",
85+ .type = EV_KEY,
86+ .wakeup = 1,
87+ },
88+};
89+
90+static struct gpio_keys_platform_data lcd3a1_gpio_key_info = {
91+ .buttons = lcd3a1_gpio_keys,
92+ .nbuttons = ARRAY_SIZE(lcd3a1_gpio_keys),
93+};
94+
95+static struct platform_device lcd3a1_keys = {
96+ .name = "gpio-keys",
97+ .id = -1,
98+ .dev = {
99+ .platform_data = &lcd3a1_gpio_key_info,
100+ },
101+};
102
103 /*
104 * @evm_id - evm id which needs to be configured
105@@ -2691,8 +2749,22 @@ static void beaglebone_cape_setup(struct memory_accessor *mem_acc, void *context
106 pr_info("BeagleBone cape: initializing LCD cape touchscreen\n");
107 tsc_init(0,0);
108 beaglebone_tsadcpins_free = 0;
109- pr_info("BeagleBone cape: Registering gpio-keys for LCD cape\n");
110- beaglebone_lcd3_keys_init(0,0);
111+
112+ if (!strncmp("00A0", cape_config.version, 4)) {
113+ pr_info("BeagleBone cape: Registering gpio-keys for LCD3 rev A or earlier cape\n");
114+ int err;
115+ setup_pin_mux(lcd3_keys_pin_mux);
116+ err = platform_device_register(&beaglebone_lcd3_keys);
117+ if (err)
118+ pr_err("failed to register gpio keys for LCD3 rev A or earlier cape\n");
119+ } else {
120+ pr_info("BeagleBone cape: Registering gpio-keys for LCD rev A1 or later cape\n");
121+ int err;
122+ setup_pin_mux(lcd3a1_keys_pin_mux);
123+ err = platform_device_register(&lcd3a1_keys);
124+ if (err)
125+ pr_err("failed to register gpio keys for LCD3 rev A1 or later cape\n");
126+ }
127 beaglebone_leds_free = 0;
128 lcd3leds_init(0,0);
129 }
130--
1311.7.7.6
132
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0070-beaglebone-fix-buttons-spidev-clash-when-using-mcasp.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0070-beaglebone-fix-buttons-spidev-clash-when-using-mcasp.patch
new file mode 100644
index 00000000..ae277fa1
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0070-beaglebone-fix-buttons-spidev-clash-when-using-mcasp.patch
@@ -0,0 +1,52 @@
1From d99bad03ee2f3cc3d9a61879e53e4795a05eaed3 Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Wed, 6 Jun 2012 11:20:21 +0200
4Subject: [PATCH 70/70] beaglebone: fix buttons/spidev clash when using
5 mcasp0_axr0.gpio3_16
6
7Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
8---
9 arch/arm/mach-omap2/board-am335xevm.c | 13 +++++++------
10 1 files changed, 7 insertions(+), 6 deletions(-)
11
12diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
13index 51bfa8b..7fd611f 100644
14--- a/arch/arm/mach-omap2/board-am335xevm.c
15+++ b/arch/arm/mach-omap2/board-am335xevm.c
16@@ -1051,12 +1051,11 @@ static void volume_keys_init(int evm_id, int profile)
17
18 /* pinmux for lcd7 keys */
19 static struct pinmux_config lcd7_keys_pin_mux[] = {
20- {"gpmc_a0.gpio1_16", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT},
21- {"gpmc_a1.gpio1_17", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT},
22- {"gpmc_a3.gpio1_19", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT},
23- {"mcasp0_axr0.gpio3_16", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT},
24- {"mcasp0_fsr.gpio3_19", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT},
25- {"gpmc_ben1.gpio1_28", OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT},
26+ {"gpmc_a0.gpio1_16", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT}, //left
27+ {"gpmc_a1.gpio1_17", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT}, //right
28+ {"gpmc_a3.gpio1_19", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT}, //up
29+ {"mcasp0_axr0.gpio3_16", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT}, //down
30+ {"mcasp0_fsr.gpio3_19", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT}, //enter
31 {NULL, 0},
32 };
33
34@@ -2738,6 +2737,7 @@ static void beaglebone_cape_setup(struct memory_accessor *mem_acc, void *context
35 pr_info("BeagleBone cape: Registering gpio-keys for LCD cape\n");
36 beaglebone_lcd7_keys_init(0,0);
37
38+ beaglebone_spi1_free = 0;
39 // A1 or newer
40 beaglebone_leds_free = 0;
41 lcd7leds_init(0,0);
42@@ -2765,6 +2765,7 @@ static void beaglebone_cape_setup(struct memory_accessor *mem_acc, void *context
43 if (err)
44 pr_err("failed to register gpio keys for LCD3 rev A1 or later cape\n");
45 }
46+ beaglebone_spi1_free = 0;
47 beaglebone_leds_free = 0;
48 lcd3leds_init(0,0);
49 }
50--
511.7.7.6
52
diff --git a/recipes-kernel/linux/linux-ti33x-psp_3.2.bb b/recipes-kernel/linux/linux-ti33x-psp_3.2.bb
index e3a427bc..f279b24a 100644
--- a/recipes-kernel/linux/linux-ti33x-psp_3.2.bb
+++ b/recipes-kernel/linux/linux-ti33x-psp_3.2.bb
@@ -15,7 +15,7 @@ PV = "${@base_contains('DISTRO_FEATURES', 'tipspkernel', "3.2", "3.2.18", d)}"
15 15
16BRANCH = "v3.2-staging" 16BRANCH = "v3.2-staging"
17SRCREV = "720e07b4c1f687b61b147b31c698cb6816d72f01" 17SRCREV = "720e07b4c1f687b61b147b31c698cb6816d72f01"
18MACHINE_KERNEL_PR_append = "e+gitr${SRCREV}" 18MACHINE_KERNEL_PR_append = "g+gitr${SRCREV}"
19 19
20COMPATIBLE_MACHINE = "(ti33x)" 20COMPATIBLE_MACHINE = "(ti33x)"
21 21
@@ -1228,4 +1228,6 @@ PATCHES_OVER_PSP = " \
1228 file://beaglebone/0066-beaglebone-disable-OPP-for-275MHz-due-to-silicon-err.patch \ 1228 file://beaglebone/0066-beaglebone-disable-OPP-for-275MHz-due-to-silicon-err.patch \
1229 file://beaglebone/0067-video-da8xx-fb-Add-Newhaven-LCD-Panel-details.patch \ 1229 file://beaglebone/0067-video-da8xx-fb-Add-Newhaven-LCD-Panel-details.patch \
1230 file://beaglebone/0068-beaglebone-add-support-for-the-4.3-lcd-cape-with-res.patch \ 1230 file://beaglebone/0068-beaglebone-add-support-for-the-4.3-lcd-cape-with-res.patch \
1231 file://beaglebone/0069-beaglebone-add-support-for-LCD3-rev-A1.patch \
1232 file://beaglebone/0070-beaglebone-fix-buttons-spidev-clash-when-using-mcasp.patch \
1231" 1233"