summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKoen Kooi <koen@dominion.thruhere.net>2012-05-14 16:34:35 +0200
committerDenys Dmytriyenko <denys@ti.com>2012-05-15 00:40:26 -0400
commitf189b368a7012056624173e9a8d598e39f96dfd1 (patch)
tree2f38a0dc34f2615e2322cd23e7f12148f54fcc79
parenta623c766f2ea8e022d216d281301919ee0cdd3fb (diff)
downloadmeta-ti-f189b368a7012056624173e9a8d598e39f96dfd1.tar.gz
linux-ti33x-psp 3.2: updates
* Fix LEDs on 3.5", 7" and DVI capes * Add support for rev A2 DVI capes * Minor warning fixes to the boardfile * All PWMs are initialized, but not pinmuxed * Debugfs output for mux direction has been fixed * When no capes claim the SPI bus /dev/spidev2.0 will appear Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> Signed-off-by: Denys Dmytriyenko <denys@ti.com>
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0034-beaglebone-add-support-for-DVI-rev.-A2-capes.patch242
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0035-beaglebone-enable-LEDs-for-DVI-LCD3-and-LCD7-capes.patch240
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0036-Beaglebone-Fixed-compiletime-warnings.patch48
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0037-Beaglebone-Added-missing-termination-record-to-bone_.patch26
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0038-board-am335xevm.c-Beaglebone-expose-all-pwms-through.patch58
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0039-ARM-OMAP-Mux-Fixed-debugfs-mux-output-always-reporti.patch99
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0040-beaglebone-export-SPI2-as-spidev-when-no-capes-are-u.patch83
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp_3.2.bb9
8 files changed, 804 insertions, 1 deletions
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0034-beaglebone-add-support-for-DVI-rev.-A2-capes.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0034-beaglebone-add-support-for-DVI-rev.-A2-capes.patch
new file mode 100644
index 00000000..cd04c5e8
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0034-beaglebone-add-support-for-DVI-rev.-A2-capes.patch
@@ -0,0 +1,242 @@
1From b97227a0f246edd115cba03d8509c2b7460a815b Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Thu, 19 Apr 2012 14:23:06 +0200
4Subject: [PATCH 34/40] beaglebone: add support for DVI rev. A2 capes
5
6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
7---
8 arch/arm/mach-omap2/board-am335xevm.c | 150 ++++++++-------------------------
9 1 files changed, 35 insertions(+), 115 deletions(-)
10
11diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
12index 6e7b203..e02c0b6 100644
13--- a/arch/arm/mach-omap2/board-am335xevm.c
14+++ b/arch/arm/mach-omap2/board-am335xevm.c
15@@ -545,38 +545,6 @@ static struct pinmux_config batterycape_pin_mux[] = {
16
17 /* Module pin mux for LCDC */
18 static struct pinmux_config lcdc_pin_mux[] = {
19- {"lcd_data0.lcd_data0", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
20- | AM33XX_PULL_DISA},
21- {"lcd_data1.lcd_data1", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
22- | AM33XX_PULL_DISA},
23- {"lcd_data2.lcd_data2", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
24- | AM33XX_PULL_DISA},
25- {"lcd_data3.lcd_data3", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
26- | AM33XX_PULL_DISA},
27- {"lcd_data4.lcd_data4", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
28- | AM33XX_PULL_DISA},
29- {"lcd_data5.lcd_data5", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
30- | AM33XX_PULL_DISA},
31- {"lcd_data6.lcd_data6", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
32- | AM33XX_PULL_DISA},
33- {"lcd_data7.lcd_data7", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
34- | AM33XX_PULL_DISA},
35- {"lcd_data8.lcd_data8", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
36- | AM33XX_PULL_DISA},
37- {"lcd_data9.lcd_data9", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
38- | AM33XX_PULL_DISA},
39- {"lcd_data10.lcd_data10", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
40- | AM33XX_PULL_DISA},
41- {"lcd_data11.lcd_data11", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
42- | AM33XX_PULL_DISA},
43- {"lcd_data12.lcd_data12", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
44- | AM33XX_PULL_DISA},
45- {"lcd_data13.lcd_data13", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
46- | AM33XX_PULL_DISA},
47- {"lcd_data14.lcd_data14", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
48- | AM33XX_PULL_DISA},
49- {"lcd_data15.lcd_data15", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
50- | AM33XX_PULL_DISA},
51 {"gpmc_ad8.lcd_data16", OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT},
52 {"gpmc_ad9.lcd_data17", OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT},
53 {"gpmc_ad10.lcd_data18", OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT},
54@@ -585,15 +553,11 @@ static struct pinmux_config lcdc_pin_mux[] = {
55 {"gpmc_ad13.lcd_data21", OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT},
56 {"gpmc_ad14.lcd_data22", OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT},
57 {"gpmc_ad15.lcd_data23", OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT},
58- {"lcd_vsync.lcd_vsync", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT},
59- {"lcd_hsync.lcd_hsync", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT},
60- {"lcd_pclk.lcd_pclk", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT},
61- {"lcd_ac_bias_en.lcd_ac_bias_en", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT},
62 {NULL, 0},
63 };
64
65-/* Module pin mux for Beagleboardtoys DVI cape */
66-static struct pinmux_config dvi_pin_mux[] = {
67+
68+static struct pinmux_config lcdc16_pin_mux[] = {
69 {"lcd_data0.lcd_data0", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
70 | AM33XX_PULL_DISA},
71 {"lcd_data1.lcd_data1", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
72@@ -630,90 +594,31 @@ static struct pinmux_config dvi_pin_mux[] = {
73 {"lcd_hsync.lcd_hsync", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT},
74 {"lcd_pclk.lcd_pclk", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT},
75 {"lcd_ac_bias_en.lcd_ac_bias_en", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT},
76+ {NULL, 0},
77+};
78+
79+
80+/* Module pin mux for Beagleboardtoys DVI cape */
81+static struct pinmux_config dvia1_pin_mux[] = {
82 {"gpmc_a2.rgmii2_td3", OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT}, // USR0 LED
83 {"gpmc_a3.rgmii2_td2", OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT}, // USR1 LED
84 {"gpmc_ad7.gpmc_ad7", OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT}, // DVI PDn
85 {NULL, 0},
86 };
87
88+static struct pinmux_config dvia2_pin_mux[] = {
89+ {"gpmc_a2.rgmii2_td3", OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT}, // USR0 LED
90+ {"gpmc_a3.rgmii2_td2", OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT}, // USR1 LED
91+ {"gpmc_csn2.gpio1_31", OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT}, // DVI PDn
92+ {NULL, 0},
93+};
94+
95 /* Module pin mux for Beagleboardtoys 3.5" LCD cape */
96 static struct pinmux_config bbtoys35_pin_mux[] = {
97- {"lcd_data0.lcd_data0", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
98- | AM33XX_PULL_DISA},
99- {"lcd_data1.lcd_data1", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
100- | AM33XX_PULL_DISA},
101- {"lcd_data2.lcd_data2", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
102- | AM33XX_PULL_DISA},
103- {"lcd_data3.lcd_data3", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
104- | AM33XX_PULL_DISA},
105- {"lcd_data4.lcd_data4", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
106- | AM33XX_PULL_DISA},
107- {"lcd_data5.lcd_data5", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
108- | AM33XX_PULL_DISA},
109- {"lcd_data6.lcd_data6", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
110- | AM33XX_PULL_DISA},
111- {"lcd_data7.lcd_data7", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
112- | AM33XX_PULL_DISA},
113- {"lcd_data8.lcd_data8", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
114- | AM33XX_PULL_DISA},
115- {"lcd_data9.lcd_data9", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
116- | AM33XX_PULL_DISA},
117- {"lcd_data10.lcd_data10", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
118- | AM33XX_PULL_DISA},
119- {"lcd_data11.lcd_data11", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
120- | AM33XX_PULL_DISA},
121- {"lcd_data12.lcd_data12", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
122- | AM33XX_PULL_DISA},
123- {"lcd_data13.lcd_data13", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
124- | AM33XX_PULL_DISA},
125- {"lcd_data14.lcd_data14", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
126- | AM33XX_PULL_DISA},
127- {"lcd_data15.lcd_data15", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
128- | AM33XX_PULL_DISA},
129- {"lcd_vsync.lcd_vsync", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT},
130- {"lcd_hsync.lcd_hsync", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT},
131- {"lcd_pclk.lcd_pclk", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT},
132- {"lcd_ac_bias_en.lcd_ac_bias_en", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT},
133 {NULL, 0},
134 };
135 /* Module pin mux for Beagleboardtoys 7" LCD cape */
136 static struct pinmux_config bbtoys7_pin_mux[] = {
137- {"lcd_data0.lcd_data0", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
138- | AM33XX_PULL_DISA},
139- {"lcd_data1.lcd_data1", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
140- | AM33XX_PULL_DISA},
141- {"lcd_data2.lcd_data2", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
142- | AM33XX_PULL_DISA},
143- {"lcd_data3.lcd_data3", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
144- | AM33XX_PULL_DISA},
145- {"lcd_data4.lcd_data4", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
146- | AM33XX_PULL_DISA},
147- {"lcd_data5.lcd_data5", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
148- | AM33XX_PULL_DISA},
149- {"lcd_data6.lcd_data6", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
150- | AM33XX_PULL_DISA},
151- {"lcd_data7.lcd_data7", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
152- | AM33XX_PULL_DISA},
153- {"lcd_data8.lcd_data8", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
154- | AM33XX_PULL_DISA},
155- {"lcd_data9.lcd_data9", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
156- | AM33XX_PULL_DISA},
157- {"lcd_data10.lcd_data10", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
158- | AM33XX_PULL_DISA},
159- {"lcd_data11.lcd_data11", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
160- | AM33XX_PULL_DISA},
161- {"lcd_data12.lcd_data12", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
162- | AM33XX_PULL_DISA},
163- {"lcd_data13.lcd_data13", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
164- | AM33XX_PULL_DISA},
165- {"lcd_data14.lcd_data14", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
166- | AM33XX_PULL_DISA},
167- {"lcd_data15.lcd_data15", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
168- | AM33XX_PULL_DISA},
169- {"lcd_vsync.lcd_vsync", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT},
170- {"lcd_hsync.lcd_hsync", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT},
171- {"lcd_pclk.lcd_pclk", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT},
172- {"lcd_ac_bias_en.lcd_ac_bias_en", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT},
173 {"ecap0_in_pwm0_out.gpio0_7", OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT}, // AVDD_EN
174 {"gpmc_a2.ehrpwm1A", OMAP_MUX_MODE6 | AM33XX_PIN_OUTPUT}, // Backlight
175 {NULL, 0},
176@@ -1567,6 +1472,7 @@ out:
177 static void lcdc_init(int evm_id, int profile)
178 {
179
180+ setup_pin_mux(lcdc16_pin_mux);
181 setup_pin_mux(lcdc_pin_mux);
182
183 if (conf_disp_pll(300000000)) {
184@@ -1584,6 +1490,7 @@ static void lcdc_init(int evm_id, int profile)
185
186 static void bbtoys7lcd_init(int evm_id, int profile)
187 {
188+ setup_pin_mux(lcdc16_pin_mux);
189 setup_pin_mux(bbtoys7_pin_mux);
190 gpio_request(BEAGLEBONE_LCD_AVDD_EN, "BONE_LCD_AVDD_EN");
191 gpio_direction_output(BEAGLEBONE_LCD_AVDD_EN, 1);
192@@ -1603,6 +1510,7 @@ static void bbtoys7lcd_init(int evm_id, int profile)
193
194 static void bbtoys35lcd_init(int evm_id, int profile)
195 {
196+ setup_pin_mux(lcdc16_pin_mux);
197 setup_pin_mux(bbtoys35_pin_mux);
198
199 // we are being stupid and setting pixclock from here instead of da8xx-fb.c
200@@ -1618,13 +1526,12 @@ static void bbtoys35lcd_init(int evm_id, int profile)
201 return;
202 }
203
204-#define BEAGLEBONEDVI_PDn GPIO_TO_PIN(1, 7)
205+#define BEAGLEBONEDVI_PDn_A1 GPIO_TO_PIN(1, 7)
206+#define BEAGLEBONEDVI_PDn_A2 GPIO_TO_PIN(1, 31)
207
208 static void dvi_init(int evm_id, int profile)
209 {
210- setup_pin_mux(dvi_pin_mux);
211- gpio_request(BEAGLEBONEDVI_PDn, "DVI_PDn");
212- gpio_direction_output(BEAGLEBONEDVI_PDn, 1);
213+ setup_pin_mux(lcdc16_pin_mux);
214
215 // we are being stupid and setting pixclock from here instead of da8xx-fb.c
216 if (conf_disp_pll(560000000)) {
217@@ -2218,8 +2125,21 @@ static void beaglebone_cape_setup(struct memory_accessor *mem_acc, void *context
218 pr_info("BeagleBone cape partnumber: %s\n", tmp);
219
220 if (!strncmp("BB-BONE-DVID-01", cape_config.partnumber, 15)) {
221- pr_info("BeagleBone cape: initializing DVI cape\n");
222+ pr_info("BeagleBone cape: initializing DVI cape\n");
223+
224+ if (!strncmp("00A1", cape_config.version, 4) || !strncmp("000A", cape_config.version, 4)) {
225+ pr_info("BeagleBone cape: DVI init for revision A1 or older\n");
226+ setup_pin_mux(dvia1_pin_mux);
227+ gpio_request(BEAGLEBONEDVI_PDn_A1, "DVI_PDn");
228+ gpio_direction_output(BEAGLEBONEDVI_PDn_A1, 1);
229 dvi_init(0,0);
230+ } else {
231+ pr_info("BeagleBone cape: DVI init for revision A2 or newer\n");
232+ setup_pin_mux(dvia2_pin_mux);
233+ gpio_request(BEAGLEBONEDVI_PDn_A2, "DVI_PDn");
234+ gpio_direction_output(BEAGLEBONEDVI_PDn_A2, 1);
235+ dvi_init(0,0);
236+ }
237 }
238 if (!strncmp("BB-BONE-LCD7-01", cape_config.partnumber, 15)) {
239 pr_info("BeagleBone cape: initializing LCD cape\n");
240--
2411.7.7.6
242
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0035-beaglebone-enable-LEDs-for-DVI-LCD3-and-LCD7-capes.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0035-beaglebone-enable-LEDs-for-DVI-LCD3-and-LCD7-capes.patch
new file mode 100644
index 00000000..f50bdf60
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0035-beaglebone-enable-LEDs-for-DVI-LCD3-and-LCD7-capes.patch
@@ -0,0 +1,240 @@
1From 080d90fddb1c39a5197b56b3aab0a7701adced75 Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Fri, 11 May 2012 13:08:24 +0200
4Subject: [PATCH 35/40] beaglebone: enable LEDs for DVI, LCD3 and LCD7 capes
5
6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
7---
8 arch/arm/mach-omap2/board-am335xevm.c | 140 ++++++++++++++++++++++++++++++--
9 1 files changed, 131 insertions(+), 9 deletions(-)
10
11diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
12index e02c0b6..8db33b9 100644
13--- a/arch/arm/mach-omap2/board-am335xevm.c
14+++ b/arch/arm/mach-omap2/board-am335xevm.c
15@@ -496,6 +496,7 @@ static bool beaglebone_cape_detected;
16 /* keep track of ADC pin usage */
17 static int capecount = 0;
18 static bool beaglebone_tsadcpins_free = 1;
19+static bool beaglebone_leds_free = 1;
20
21
22 #define GP_EVM_REV_IS_1_0 0x1
23@@ -600,23 +601,26 @@ static struct pinmux_config lcdc16_pin_mux[] = {
24
25 /* Module pin mux for Beagleboardtoys DVI cape */
26 static struct pinmux_config dvia1_pin_mux[] = {
27- {"gpmc_a2.rgmii2_td3", OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT}, // USR0 LED
28- {"gpmc_a3.rgmii2_td2", OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT}, // USR1 LED
29+ {"gpmc_a2.gpio1_18", OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT}, // USR0 LED
30+ {"gpmc_a3.gpio1_19", OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT}, // USR1 LED
31 {"gpmc_ad7.gpmc_ad7", OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT}, // DVI PDn
32 {NULL, 0},
33 };
34
35 static struct pinmux_config dvia2_pin_mux[] = {
36- {"gpmc_a2.rgmii2_td3", OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT}, // USR0 LED
37- {"gpmc_a3.rgmii2_td2", OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT}, // USR1 LED
38+ {"gpmc_a2.gpio1_18", OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT}, // USR0 LED
39+ {"gpmc_a3.gpio1_19", OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT}, // USR1 LED
40 {"gpmc_csn2.gpio1_31", OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT}, // DVI PDn
41 {NULL, 0},
42 };
43
44 /* Module pin mux for Beagleboardtoys 3.5" LCD cape */
45 static struct pinmux_config bbtoys35_pin_mux[] = {
46+ {"gpmc_a2.gpio1_18", OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT}, // USR0 LED
47+ {"gpmc_a3.gpio1_19", OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT}, // USR1 LED
48 {NULL, 0},
49 };
50+
51 /* Module pin mux for Beagleboardtoys 7" LCD cape */
52 static struct pinmux_config bbtoys7_pin_mux[] = {
53 {"ecap0_in_pwm0_out.gpio0_7", OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT}, // AVDD_EN
54@@ -1018,6 +1022,7 @@ static struct pinmux_config lcd7_keys_pin_mux[] = {
55 {"gpmc_a3.gpio1_19", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT},
56 {"mcasp0_axr0.gpio3_16", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT},
57 {"mcasp0_fsr.gpio3_19", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT},
58+ {"gpmc_ben1.gpio1_28", OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT},
59 {NULL, 0},
60 };
61
62@@ -1327,6 +1332,94 @@ static struct platform_device dvi_leds_gpio = {
63 },
64 };
65
66+#define BEAGLEBONELCD3_USR0_LED GPIO_TO_PIN(1, 18)
67+#define BEAGLEBONELCD3_USR1_LED GPIO_TO_PIN(1, 19)
68+
69+static struct gpio_led lcd3_gpio_leds[] = {
70+ {
71+ .name = "beaglebone::usr0",
72+ .default_trigger = "heartbeat",
73+ .gpio = BEAGLEBONE_USR1_LED,
74+ },
75+ {
76+ .name = "beaglebone::usr1",
77+ .default_trigger = "mmc0",
78+ .gpio = BEAGLEBONE_USR2_LED,
79+ },
80+ {
81+ .name = "beaglebone::usr2",
82+ .gpio = BEAGLEBONE_USR3_LED,
83+ },
84+ {
85+ .name = "beaglebone::usr3",
86+ .gpio = BEAGLEBONE_USR4_LED,
87+ },
88+ {
89+ .name = "lcd3::usr0",
90+ .default_trigger = "heartbeat",
91+ .gpio = BEAGLEBONELCD3_USR0_LED,
92+ },
93+ {
94+ .name = "lcd3::usr1",
95+ .default_trigger = "mmc0",
96+ .gpio = BEAGLEBONELCD3_USR1_LED,
97+ },
98+};
99+
100+static struct gpio_led_platform_data lcd3_gpio_led_info = {
101+ .leds = lcd3_gpio_leds,
102+ .num_leds = ARRAY_SIZE(lcd3_gpio_leds),
103+};
104+
105+static struct platform_device lcd3_leds_gpio = {
106+ .name = "leds-gpio",
107+ .id = -1,
108+ .dev = {
109+ .platform_data = &lcd3_gpio_led_info,
110+ },
111+};
112+
113+#define BEAGLEBONELCD7_USR_LED GPIO_TO_PIN(1, 28)
114+
115+static struct gpio_led lcd7_gpio_leds[] = {
116+ {
117+ .name = "beaglebone::usr0",
118+ .default_trigger = "heartbeat",
119+ .gpio = BEAGLEBONE_USR1_LED,
120+ },
121+ {
122+ .name = "beaglebone::usr1",
123+ .default_trigger = "mmc0",
124+ .gpio = BEAGLEBONE_USR2_LED,
125+ },
126+ {
127+ .name = "beaglebone::usr2",
128+ .gpio = BEAGLEBONE_USR3_LED,
129+ },
130+ {
131+ .name = "beaglebone::usr3",
132+ .gpio = BEAGLEBONE_USR4_LED,
133+ },
134+ {
135+ .name = "lcd7::usr",
136+ .default_trigger = "heartbeat",
137+ .gpio = BEAGLEBONELCD7_USR_LED,
138+ },
139+};
140+
141+static struct gpio_led_platform_data lcd7_gpio_led_info = {
142+ .leds = lcd7_gpio_leds,
143+ .num_leds = ARRAY_SIZE(lcd7_gpio_leds),
144+};
145+
146+static struct platform_device lcd7_leds_gpio = {
147+ .name = "leds-gpio",
148+ .id = -1,
149+ .dev = {
150+ .platform_data = &lcd7_gpio_led_info,
151+ },
152+};
153+
154 static struct pinmux_config bone_pin_mux[] = {
155 /* User LED gpios (gpio1_21 to gpio1_24) */
156 {"gpmc_a5.rgmii2_td0", OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT},
157@@ -1595,6 +1688,22 @@ static void dvileds_init(int evm_id, int profile )
158 pr_err("failed to register BeagleBone DVI cape LEDS\n");
159 }
160
161+static void lcd3leds_init(int evm_id, int profile )
162+{
163+ int err;
164+ err = platform_device_register(&lcd3_leds_gpio);
165+ if (err)
166+ pr_err("failed to register BeagleBone LCD cape LEDs\n");
167+}
168+
169+static void lcd7leds_init(int evm_id, int profile )
170+{
171+ int err;
172+ err = platform_device_register(&lcd7_leds_gpio);
173+ if (err)
174+ pr_err("failed to register BeagleBone LCD cape LED\n");
175+}
176+
177 static void bonew1_gpio_init(int evm_id, int profile )
178 {
179 int err;
180@@ -2102,10 +2211,15 @@ static void beaglebone_cape_setup(struct memory_accessor *mem_acc, void *context
181 ret = mem_acc->read(mem_acc, (char *)&cape_config, 0, sizeof(cape_config));
182 if (ret != sizeof(cape_config)) {
183 pr_warning("BeagleBone cape EEPROM: could not read eeprom at address 0x%x\n", capecount + 0x53);
184- if ((capecount > 3) && (beaglebone_tsadcpins_free == 1)) {
185- pr_info("BeagleBone cape: exporting ADC pins to sysfs\n");
186- bone_tsc_init(0,0);
187- beaglebone_tsadcpins_free = 0;
188+ if (capecount > 3) {
189+ if (beaglebone_tsadcpins_free == 1) {
190+ pr_info("BeagleBone cape: exporting ADC pins to sysfs\n");
191+ bone_tsc_init(0,0);
192+ beaglebone_tsadcpins_free = 0;
193+ }
194+ if (beaglebone_leds_free == 1) {
195+ boneleds_init(0,0);
196+ }
197 }
198 return;
199 }
200@@ -2127,6 +2241,9 @@ static void beaglebone_cape_setup(struct memory_accessor *mem_acc, void *context
201 if (!strncmp("BB-BONE-DVID-01", cape_config.partnumber, 15)) {
202 pr_info("BeagleBone cape: initializing DVI cape\n");
203
204+ beaglebone_leds_free = 0;
205+ dvileds_init(0,0);
206+
207 if (!strncmp("00A1", cape_config.version, 4) || !strncmp("000A", cape_config.version, 4)) {
208 pr_info("BeagleBone cape: DVI init for revision A1 or older\n");
209 setup_pin_mux(dvia1_pin_mux);
210@@ -2151,6 +2268,10 @@ static void beaglebone_cape_setup(struct memory_accessor *mem_acc, void *context
211 beaglebone_tsadcpins_free = 0;
212 pr_info("BeagleBone cape: Registering gpio-keys for LCD cape\n");
213 beaglebone_lcd7_keys_init(0,0);
214+
215+ // A1 or newer
216+ beaglebone_leds_free = 0;
217+ lcd7leds_init(0,0);
218 }
219
220 if (!strncmp("BB-BONE-LCD3-01", cape_config.partnumber, 15)) {
221@@ -2161,6 +2282,8 @@ static void beaglebone_cape_setup(struct memory_accessor *mem_acc, void *context
222 beaglebone_tsadcpins_free = 0;
223 pr_info("BeagleBone cape: Registering gpio-keys for LCD cape\n");
224 beaglebone_lcd3_keys_init(0,0);
225+ beaglebone_leds_free = 0;
226+ lcd3leds_init(0,0);
227 }
228
229 if (!strncmp("BB-BONE-VGA-01", cape_config.partnumber, 14)) {
230@@ -2659,7 +2782,6 @@ static struct evm_dev_cfg beaglebone_dev_cfg[] = {
231 {usb1_init, DEV_ON_BASEBOARD, PROFILE_NONE},
232 {i2c2_init, DEV_ON_BASEBOARD, PROFILE_NONE},
233 {mmc0_init, DEV_ON_BASEBOARD, PROFILE_NONE},
234- {boneleds_init, DEV_ON_BASEBOARD, PROFILE_ALL},
235 {bonew1_gpio_init, DEV_ON_BASEBOARD, PROFILE_ALL},
236 {NULL, 0, 0},
237 };
238--
2391.7.7.6
240
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0036-Beaglebone-Fixed-compiletime-warnings.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0036-Beaglebone-Fixed-compiletime-warnings.patch
new file mode 100644
index 00000000..8e82e1f7
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0036-Beaglebone-Fixed-compiletime-warnings.patch
@@ -0,0 +1,48 @@
1From 8688e4d9d9bdf1a9ff34b77b9a5b5ac22ca1c548 Mon Sep 17 00:00:00 2001
2From: Bas Laarhoven <sjml@xs4all.nl>
3Date: Sun, 13 May 2012 18:06:24 +0200
4Subject: [PATCH 36/40] Beaglebone: Fixed compiletime warnings.
5
6Signed-off-by: Bas Laarhoven <sjml@xs4all.nl>
7---
8 arch/arm/mach-omap2/board-am335xevm.c | 4 ++--
9 1 files changed, 2 insertions(+), 2 deletions(-)
10
11diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
12index 8db33b9..b48e0fd 100644
13--- a/arch/arm/mach-omap2/board-am335xevm.c
14+++ b/arch/arm/mach-omap2/board-am335xevm.c
15@@ -41,6 +41,7 @@
16 #include <linux/opp.h>
17 #include <linux/w1-gpio.h>
18 #include <linux/can/platform/mcp251x.h>
19+#include <linux/input/ti_tscadc.h>
20
21 /* LCD controller is similar to DA850 */
22 #include <video/da8xx-fb.h>
23@@ -300,7 +301,6 @@ struct da8xx_lcdc_platform_data dvi_pdata = {
24 };
25
26 /* TSc controller */
27-#include <linux/input/ti_tscadc.h>
28 #include <linux/lis3lv02d.h>
29
30 /* TSc controller */
31@@ -2200,13 +2200,13 @@ static void tt3201_init(int evm_id, int profile)
32 }
33 static void beaglebone_cape_setup(struct memory_accessor *mem_acc, void *context)
34 {
35- capecount++;
36 int ret;
37 char tmp[32];
38 char name[32];
39 char version[4];
40 char manufacturer[32];
41
42+ capecount++;
43 /* get cape specific data */
44 ret = mem_acc->read(mem_acc, (char *)&cape_config, 0, sizeof(cape_config));
45 if (ret != sizeof(cape_config)) {
46--
471.7.7.6
48
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0037-Beaglebone-Added-missing-termination-record-to-bone_.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0037-Beaglebone-Added-missing-termination-record-to-bone_.patch
new file mode 100644
index 00000000..dcef3aa9
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0037-Beaglebone-Added-missing-termination-record-to-bone_.patch
@@ -0,0 +1,26 @@
1From f1f19044cff0ac6a145c4f14782e4ddb78bb38cb Mon Sep 17 00:00:00 2001
2From: Bas Laarhoven <sjml@xs4all.nl>
3Date: Sun, 13 May 2012 18:18:52 +0200
4Subject: [PATCH 37/40] Beaglebone: Added missing termination record to
5 bone_pin_mux data.
6
7Signed-off-by: Bas Laarhoven <sjml@xs4all.nl>
8---
9 arch/arm/mach-omap2/board-am335xevm.c | 1 +
10 1 files changed, 1 insertions(+), 0 deletions(-)
11
12diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
13index b48e0fd..7dbeac6 100644
14--- a/arch/arm/mach-omap2/board-am335xevm.c
15+++ b/arch/arm/mach-omap2/board-am335xevm.c
16@@ -1428,6 +1428,7 @@ static struct pinmux_config bone_pin_mux[] = {
17 {"gpmc_a8.rgmii2_rd3", OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT},
18 /* Grounding gpio1_6 (pin 3 Conn A) signals bone tester to start diag tests */
19 {"gpmc_ad6.gpio1_6", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT_PULLUP},
20+ {NULL, 0},
21 };
22
23 /* Module pin mux for eCAP0 */
24--
251.7.7.6
26
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0038-board-am335xevm.c-Beaglebone-expose-all-pwms-through.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0038-board-am335xevm.c-Beaglebone-expose-all-pwms-through.patch
new file mode 100644
index 00000000..0607be32
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0038-board-am335xevm.c-Beaglebone-expose-all-pwms-through.patch
@@ -0,0 +1,58 @@
1From 557ed6bc4850bcb4610ff1b9e024a4fd13785c27 Mon Sep 17 00:00:00 2001
2From: Rob Kellett <r-kellett@ti.com>
3Date: Mon, 14 May 2012 09:35:35 +0100
4Subject: [PATCH 38/40] board-am335xevm.c: Beaglebone - expose all pwms
5 through sysfs
6
7---
8 arch/arm/mach-omap2/board-am335xevm.c | 20 +++++++++++++++++++-
9 1 files changed, 19 insertions(+), 1 deletions(-)
10
11diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
12index 7dbeac6..c9ee0a2 100644
13--- a/arch/arm/mach-omap2/board-am335xevm.c
14+++ b/arch/arm/mach-omap2/board-am335xevm.c
15@@ -1509,6 +1509,16 @@ static struct pwmss_platform_data pwm_pdata[3] = {
16 },
17 };
18
19+static void register_all_pwms(void)
20+{
21+ am33xx_register_ehrpwm(0, &pwm_pdata[0]);
22+ am33xx_register_ehrpwm(1, &pwm_pdata[1]);
23+ am33xx_register_ehrpwm(2, &pwm_pdata[2]);
24+ am33xx_register_ecap(0, &pwm_pdata[0]);
25+ am33xx_register_ecap(1, &pwm_pdata[1]);
26+ am33xx_register_ecap(2, &pwm_pdata[2]);
27+}
28+
29 static int __init ecap0_init(void)
30 {
31 int status = 0;
32@@ -1524,7 +1534,10 @@ late_initcall(ecap0_init);
33 static void enable_ehrpwm1(int evm_id, int profile)
34 {
35 ehrpwm_backlight_enable = true;
36- am33xx_register_ehrpwm(1, &pwm_pdata[1]);
37+ /*am33xx_register_ehrpwm(1, &pwm_pdata[1]);
38+ *TODO:no longer required as we are registering
39+ *all pwms for the beaglebone
40+ */
41 }
42
43 /* Setup pwm-backlight for bbtoys7lcd */
44@@ -2883,6 +2896,11 @@ static void setup_beaglebone(void)
45
46 /* Fill up global evmid */
47 am33xx_evmid_fillup(BEAGLE_BONE_A3);
48+
49+ /*TODO:We are registering all pwms for the beaglebone here
50+ *this may effect power management in the future
51+ */
52+ register_all_pwms();
53 }
54
55
56--
571.7.7.6
58
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0039-ARM-OMAP-Mux-Fixed-debugfs-mux-output-always-reporti.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0039-ARM-OMAP-Mux-Fixed-debugfs-mux-output-always-reporti.patch
new file mode 100644
index 00000000..7df5c205
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0039-ARM-OMAP-Mux-Fixed-debugfs-mux-output-always-reporti.patch
@@ -0,0 +1,99 @@
1From b8241eee030b29f23a5792de1eec03830699ae98 Mon Sep 17 00:00:00 2001
2From: Bas Laarhoven <sjml@xs4all.nl>
3Date: Sun, 13 May 2012 18:09:57 +0200
4Subject: [PATCH 39/40] ARM: OMAP: Mux: Fixed debugfs mux output (always
5 reporting pins as output)
6
7Signed-off-by: Bas Laarhoven <sjml@xs4all.nl>
8Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
9---
10 arch/arm/mach-omap2/mux.c | 62 +++++++++++++++++++++++++++-----------------
11 1 files changed, 38 insertions(+), 24 deletions(-)
12
13diff --git a/arch/arm/mach-omap2/mux.c b/arch/arm/mach-omap2/mux.c
14index e1cc75d..5899266 100644
15--- a/arch/arm/mach-omap2/mux.c
16+++ b/arch/arm/mach-omap2/mux.c
17@@ -522,41 +522,55 @@ static inline void omap_mux_decode(struct seq_file *s, u16 val)
18 i++;
19 flags[i] = mode;
20
21- OMAP_MUX_TEST_FLAG(val, OMAP_PIN_OFF_WAKEUPENABLE);
22- if (val & OMAP_OFF_EN) {
23- if (!(val & OMAP_OFFOUT_EN)) {
24- if (!(val & OMAP_OFF_PULL_UP)) {
25- OMAP_MUX_TEST_FLAG(val,
26- OMAP_PIN_OFF_INPUT_PULLDOWN);
27+ if (cpu_is_am33xx()) {
28+ if (val & AM33XX_INPUT_EN) {
29+ if (val & AM33XX_PULL_DISA) {
30+ flags[ ++i] = "OMAP_PIN_INPUT";
31+ } else if (val & AM33XX_PULL_UP) {
32+ flags[ ++i] = "OMAP_PIN_INPUT_PULLUP";
33 } else {
34- OMAP_MUX_TEST_FLAG(val,
35- OMAP_PIN_OFF_INPUT_PULLUP);
36+ flags[ ++i] = "OMAP_PIN_INPUT_PULLDOWN";
37 }
38 } else {
39- if (!(val & OMAP_OFFOUT_VAL)) {
40- OMAP_MUX_TEST_FLAG(val,
41- OMAP_PIN_OFF_OUTPUT_LOW);
42+ flags[ ++i] = "OMAP_PIN_OUTPUT";
43+ }
44+ } else {
45+ OMAP_MUX_TEST_FLAG(val, OMAP_PIN_OFF_WAKEUPENABLE);
46+ if (val & OMAP_OFF_EN) {
47+ if (!(val & OMAP_OFFOUT_EN)) {
48+ if (!(val & OMAP_OFF_PULL_UP)) {
49+ OMAP_MUX_TEST_FLAG(val,
50+ OMAP_PIN_OFF_INPUT_PULLDOWN);
51+ } else {
52+ OMAP_MUX_TEST_FLAG(val,
53+ OMAP_PIN_OFF_INPUT_PULLUP);
54+ }
55 } else {
56- OMAP_MUX_TEST_FLAG(val,
57- OMAP_PIN_OFF_OUTPUT_HIGH);
58+ if (!(val & OMAP_OFFOUT_VAL)) {
59+ OMAP_MUX_TEST_FLAG(val,
60+ OMAP_PIN_OFF_OUTPUT_LOW);
61+ } else {
62+ OMAP_MUX_TEST_FLAG(val,
63+ OMAP_PIN_OFF_OUTPUT_HIGH);
64+ }
65 }
66 }
67- }
68
69- if (val & OMAP_INPUT_EN) {
70- if (val & OMAP_PULL_ENA) {
71- if (!(val & OMAP_PULL_UP)) {
72- OMAP_MUX_TEST_FLAG(val,
73- OMAP_PIN_INPUT_PULLDOWN);
74+ if (val & OMAP_INPUT_EN) {
75+ if (val & OMAP_PULL_ENA) {
76+ if (!(val & OMAP_PULL_UP)) {
77+ OMAP_MUX_TEST_FLAG(val,
78+ OMAP_PIN_INPUT_PULLDOWN);
79+ } else {
80+ OMAP_MUX_TEST_FLAG(val, OMAP_PIN_INPUT_PULLUP);
81+ }
82 } else {
83- OMAP_MUX_TEST_FLAG(val, OMAP_PIN_INPUT_PULLUP);
84+ OMAP_MUX_TEST_FLAG(val, OMAP_PIN_INPUT);
85 }
86 } else {
87- OMAP_MUX_TEST_FLAG(val, OMAP_PIN_INPUT);
88+ i++;
89+ flags[i] = "OMAP_PIN_OUTPUT";
90 }
91- } else {
92- i++;
93- flags[i] = "OMAP_PIN_OUTPUT";
94 }
95
96 do {
97--
981.7.7.6
99
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0040-beaglebone-export-SPI2-as-spidev-when-no-capes-are-u.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0040-beaglebone-export-SPI2-as-spidev-when-no-capes-are-u.patch
new file mode 100644
index 00000000..4a004d7a
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0040-beaglebone-export-SPI2-as-spidev-when-no-capes-are-u.patch
@@ -0,0 +1,83 @@
1From d4527038dac639f1066b529cbcc368de91d2f525 Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Mon, 14 May 2012 14:23:45 +0200
4Subject: [PATCH 40/40] beaglebone: export SPI2 as spidev when no capes are
5 using SPI
6
7Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
8---
9 arch/arm/mach-omap2/board-am335xevm.c | 25 +++++++++++++++++++++----
10 1 files changed, 21 insertions(+), 4 deletions(-)
11
12diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
13index c9ee0a2..a0fa53a 100644
14--- a/arch/arm/mach-omap2/board-am335xevm.c
15+++ b/arch/arm/mach-omap2/board-am335xevm.c
16@@ -497,6 +497,7 @@ static bool beaglebone_cape_detected;
17 static int capecount = 0;
18 static bool beaglebone_tsadcpins_free = 1;
19 static bool beaglebone_leds_free = 1;
20+static bool beaglebone_spi1_free = 1;
21
22
23 #define GP_EVM_REV_IS_1_0 0x1
24@@ -1897,6 +1898,16 @@ static struct spi_board_info am335x_spi1_slave_info[] = {
25 },
26 };
27
28+static struct spi_board_info bone_spidev2_info[] = {
29+ {
30+ .modalias = "spidev",
31+ .irq = -1,
32+ .max_speed_hz = 12000000,
33+ .bus_num = 2,
34+ .chip_select = 0,
35+ },
36+};
37+
38 static struct gpmc_timings am335x_nand_timings = {
39 .sync_clk = 0,
40
41@@ -2199,8 +2210,9 @@ static struct spi_board_info tt3201_spi_info[] = {
42
43 static void tt3201_init(int evm_id, int profile)
44 {
45- pr_info("TowerTech TT3201 CAN Cape\n");
46-
47+ pr_info("TowerTech TT3201 CAN cape\n");
48+
49+ beaglebone_spi1_free = 0;
50 setup_pin_mux(spi1_pin_mux);
51 setup_pin_mux(tt3201_pin_mux);
52
53@@ -2234,12 +2246,18 @@ static void beaglebone_cape_setup(struct memory_accessor *mem_acc, void *context
54 if (beaglebone_leds_free == 1) {
55 boneleds_init(0,0);
56 }
57+ if(beaglebone_spi1_free == 1) {
58+ beaglebone_spi1_free = 0;
59+ pr_info("BeagleBone cape: exporting SPI pins as spidev\n");
60+ setup_pin_mux(spi1_pin_mux);
61+ spi_register_board_info(bone_spidev2_info, ARRAY_SIZE(bone_spidev2_info));
62+ }
63 }
64 return;
65 }
66
67 if (cape_config.header != AM335X_EEPROM_HEADER) {
68- pr_warning("BeagleBone Cape EEPROM: wrong header 0x%x, expected 0x%x\n",
69+ pr_warning("BeagleBone cape EEPROM: wrong header 0x%x, expected 0x%x\n",
70 cape_config.header, AM335X_EEPROM_HEADER);
71 goto out;
72 }
73@@ -2630,7 +2648,6 @@ static void spi1_init(int evm_id, int profile)
74 return;
75 }
76
77-
78 static int beaglebone_phy_fixup(struct phy_device *phydev)
79 {
80 phydev->supported &= ~(SUPPORTED_100baseT_Half |
81--
821.7.7.6
83
diff --git a/recipes-kernel/linux/linux-ti33x-psp_3.2.bb b/recipes-kernel/linux/linux-ti33x-psp_3.2.bb
index 0f44a950..05772b4a 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 = ""
12 12
13BRANCH = "v3.2-staging" 13BRANCH = "v3.2-staging"
14SRCREV = "720e07b4c1f687b61b147b31c698cb6816d72f01" 14SRCREV = "720e07b4c1f687b61b147b31c698cb6816d72f01"
15MACHINE_KERNEL_PR_append = "h+gitr${SRCREV}" 15MACHINE_KERNEL_PR_append = "i+gitr${SRCREV}"
16 16
17COMPATIBLE_MACHINE = "(ti33x)" 17COMPATIBLE_MACHINE = "(ti33x)"
18 18
@@ -960,5 +960,12 @@ PATCHES_OVER_PSP = " \
960 file://beaglebone/0031-beaglebone-fix-3.5-cape-support.patch \ 960 file://beaglebone/0031-beaglebone-fix-3.5-cape-support.patch \
961 file://beaglebone/0032-beaglebone-connect-batterycape-GPIO-to-gpio-charger.patch \ 961 file://beaglebone/0032-beaglebone-connect-batterycape-GPIO-to-gpio-charger.patch \
962 file://beaglebone/0033-beaglebone-add-support-for-CAN-and-RS232-cape.patch \ 962 file://beaglebone/0033-beaglebone-add-support-for-CAN-and-RS232-cape.patch \
963 file://beaglebone/0034-beaglebone-add-support-for-DVI-rev.-A2-capes.patch \
964 file://beaglebone/0035-beaglebone-enable-LEDs-for-DVI-LCD3-and-LCD7-capes.patch \
965 file://beaglebone/0036-Beaglebone-Fixed-compiletime-warnings.patch \
966 file://beaglebone/0037-Beaglebone-Added-missing-termination-record-to-bone_.patch \
967 file://beaglebone/0038-board-am335xevm.c-Beaglebone-expose-all-pwms-through.patch \
968 file://beaglebone/0039-ARM-OMAP-Mux-Fixed-debugfs-mux-output-always-reporti.patch \
969 file://beaglebone/0040-beaglebone-export-SPI2-as-spidev-when-no-capes-are-u.patch \
963 file://beaglebone/0001-arm-boot-compressed-default-asm-arch-to-armv7-a.patch \ 970 file://beaglebone/0001-arm-boot-compressed-default-asm-arch-to-armv7-a.patch \
964" 971"