diff options
Diffstat (limited to 'recipes-kernel')
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 @@ | |||
1 | From b61b89f98ac85ccd8d503a902bad208343ed0aba Mon Sep 17 00:00:00 2001 | ||
2 | From: Koen Kooi <koen@dominion.thruhere.net> | ||
3 | Date: Mon, 4 Jun 2012 14:38:02 +0200 | ||
4 | Subject: [PATCH] beaglebone: add support for LCD3 rev A1 | ||
5 | |||
6 | Signed-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 | |||
11 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c | ||
12 | index 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 | -- | ||
131 | 1.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 @@ | |||
1 | From d99bad03ee2f3cc3d9a61879e53e4795a05eaed3 Mon Sep 17 00:00:00 2001 | ||
2 | From: Koen Kooi <koen@dominion.thruhere.net> | ||
3 | Date: Wed, 6 Jun 2012 11:20:21 +0200 | ||
4 | Subject: [PATCH 70/70] beaglebone: fix buttons/spidev clash when using | ||
5 | mcasp0_axr0.gpio3_16 | ||
6 | |||
7 | Signed-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 | |||
12 | diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c | ||
13 | index 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 | -- | ||
51 | 1.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 | ||
16 | BRANCH = "v3.2-staging" | 16 | BRANCH = "v3.2-staging" |
17 | SRCREV = "720e07b4c1f687b61b147b31c698cb6816d72f01" | 17 | SRCREV = "720e07b4c1f687b61b147b31c698cb6816d72f01" |
18 | MACHINE_KERNEL_PR_append = "e+gitr${SRCREV}" | 18 | MACHINE_KERNEL_PR_append = "g+gitr${SRCREV}" |
19 | 19 | ||
20 | COMPATIBLE_MACHINE = "(ti33x)" | 20 | COMPATIBLE_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 | " |