summaryrefslogtreecommitdiffstats
path: root/extras/recipes-kernel/linux/linux-omap-psp-2.6.32/beagleboard-xmc/0008-omap3-beagle-cleaned-up-board-revision-conditions.patch
diff options
context:
space:
mode:
Diffstat (limited to 'extras/recipes-kernel/linux/linux-omap-psp-2.6.32/beagleboard-xmc/0008-omap3-beagle-cleaned-up-board-revision-conditions.patch')
-rw-r--r--extras/recipes-kernel/linux/linux-omap-psp-2.6.32/beagleboard-xmc/0008-omap3-beagle-cleaned-up-board-revision-conditions.patch153
1 files changed, 153 insertions, 0 deletions
diff --git a/extras/recipes-kernel/linux/linux-omap-psp-2.6.32/beagleboard-xmc/0008-omap3-beagle-cleaned-up-board-revision-conditions.patch b/extras/recipes-kernel/linux/linux-omap-psp-2.6.32/beagleboard-xmc/0008-omap3-beagle-cleaned-up-board-revision-conditions.patch
new file mode 100644
index 00000000..513a1019
--- /dev/null
+++ b/extras/recipes-kernel/linux/linux-omap-psp-2.6.32/beagleboard-xmc/0008-omap3-beagle-cleaned-up-board-revision-conditions.patch
@@ -0,0 +1,153 @@
1From 8bd3ffb5755c49aaffecb20b9bd43f955ac26251 Mon Sep 17 00:00:00 2001
2From: Jason Kridner <jkridner@beagleboard.org>
3Date: Wed, 16 Mar 2011 09:21:06 -0500
4Subject: [PATCH 08/10] omap3: beagle: cleaned up board revision conditions
5
6---
7 arch/arm/mach-omap2/board-omap3beagle.c | 70 ++++++++++++++-----------------
8 1 files changed, 32 insertions(+), 38 deletions(-)
9
10diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
11index 4bde54b..664a9c6 100644
12--- a/arch/arm/mach-omap2/board-omap3beagle.c
13+++ b/arch/arm/mach-omap2/board-omap3beagle.c
14@@ -191,7 +191,7 @@ enum {
15 OMAP3BEAGLE_BOARD_AXBX,
16 OMAP3BEAGLE_BOARD_C1_3,
17 OMAP3BEAGLE_BOARD_C4,
18- OMAP3BEAGLE_BOARD_XM,
19+ OMAP3BEAGLE_BOARD_XMAB,
20 OMAP3BEAGLE_BOARD_XMC,
21 };
22
23@@ -245,11 +245,11 @@ static void __init omap3_beagle_init_rev(void)
24 break;
25 case 0:
26 printk(KERN_INFO "OMAP3 Beagle Rev: xM A\n");
27- omap3_beagle_version = OMAP3BEAGLE_BOARD_XM;
28+ omap3_beagle_version = OMAP3BEAGLE_BOARD_XMAB;
29 break;
30 case 1:
31 printk(KERN_INFO "OMAP3 Beagle Rev: xM B\n");
32- omap3_beagle_version = OMAP3BEAGLE_BOARD_XM;
33+ omap3_beagle_version = OMAP3BEAGLE_BOARD_XMAB;
34 break;
35 case 2:
36 printk(KERN_INFO "OMAP3 Beagle Rev: xM C\n");
37@@ -458,13 +458,18 @@ static int beagle_twl_gpio_setup(struct device *dev,
38 {
39 int r;
40
41- if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM) {
42+ switch(omap3_beagle_get_rev())
43+ {
44+ case OMAP3BEAGLE_BOARD_XMAB:
45+ case OMAP3BEAGLE_BOARD_XMC:
46 mmc[0].gpio_wp = -EINVAL;
47- } else if ((omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_C1_3) ||
48- (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_C4)) {
49+ break;
50+ case OMAP3BEAGLE_BOARD_C1_3:
51+ case OMAP3BEAGLE_BOARD_C4:
52 omap_mux_init_gpio(23, OMAP_PIN_INPUT);
53 mmc[0].gpio_wp = 23;
54- } else {
55+ break;
56+ default:
57 omap_mux_init_gpio(29, OMAP_PIN_INPUT);
58 }
59 /* gpio + 0 is "mmc0_cd" (input/IRQ) */
60@@ -479,7 +484,8 @@ static int beagle_twl_gpio_setup(struct device *dev,
61 * power switch and overcurrent detect
62 */
63
64- if (omap3_beagle_get_rev() != OMAP3BEAGLE_BOARD_XM) {
65+ if ((omap3_beagle_get_rev() != OMAP3BEAGLE_BOARD_XMAB) &&
66+ (omap3_beagle_get_rev() != OMAP3BEAGLE_BOARD_XMC)) {
67 r = gpio_request(gpio + 1, "EHCI_nOC");
68 if (!r) {
69 r = gpio_direction_input(gpio + 1);
70@@ -490,54 +496,41 @@ static int beagle_twl_gpio_setup(struct device *dev,
71 pr_err("%s: unable to configure EHCI_nOC\n", __func__);
72 }
73
74- if (cpu_is_omap3630()) {
75- /* Power on DVI, Serial and PWR led */
76- gpio_request(gpio + 1, "nDVI_PWR_EN");
77- gpio_direction_output(gpio + 1, 0);
78-
79- /* Power on camera interface */
80- gpio_request(gpio + 2, "CAM_EN");
81- gpio_direction_output(gpio + 2, 1);
82-
83- /* TWL4030_GPIO_MAX + 0 == ledA, EHCI nEN_USB_PWR (out, active low) */
84- gpio_request(gpio + TWL4030_GPIO_MAX, "nEN_USB_PWR");
85- gpio_direction_output(gpio + TWL4030_GPIO_MAX, 1);
86- }
87- else {
88- gpio_request(gpio + 1, "EHCI_nOC");
89- gpio_direction_input(gpio + 1);
90-
91- /* TWL4030_GPIO_MAX + 0 == ledA, EHCI nEN_USB_PWR (out, active low) */
92- gpio_request(gpio + TWL4030_GPIO_MAX, "nEN_USB_PWR");
93- gpio_direction_output(gpio + TWL4030_GPIO_MAX, 0);
94- }
95-
96 /*
97- * TWL4030_GPIO_MAX + 0 == ledA, EHCI nEN_USB_PWR (out, XM active
98+ * TWL4030_GPIO_MAX + 0 == ledA, EHCI nEN_USB_PWR (out, xM Ax/Bx active
99 * high / others active low)
100 */
101 gpio_request(gpio + TWL4030_GPIO_MAX, "nEN_USB_PWR");
102- if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM)
103+ if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XMAB)
104 gpio_direction_output(gpio + TWL4030_GPIO_MAX, 1);
105 else
106 gpio_direction_output(gpio + TWL4030_GPIO_MAX, 0);
107
108 /* DVI reset GPIO is different between beagle revisions */
109- if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM)
110- beagle_dvi_device.reset_gpio = 129;
111- else
112+ switch(omap3_beagle_get_rev())
113+ {
114+ case OMAP3BEAGLE_BOARD_AXBX:
115+ case OMAP3BEAGLE_BOARD_C1_3:
116+ case OMAP3BEAGLE_BOARD_C4:
117 beagle_dvi_device.reset_gpio = 170;
118+ break;
119+ case OMAP3BEAGLE_BOARD_XMAB:
120+ case OMAP3BEAGLE_BOARD_XMC:
121+ default:
122+ beagle_dvi_device.reset_gpio = 129;
123+ }
124
125 /* TWL4030_GPIO_MAX + 1 == ledB, PMU_STAT (out, active low LED) */
126 gpio_leds[2].gpio = gpio + TWL4030_GPIO_MAX + 1;
127
128 /*
129- * gpio + 1 on Xm controls the TFP410's enable line (active low)
130+ * gpio + 1 on xM controls the TFP410's enable line (active low)
131 * gpio + 2 control varies depending on the board rev as follows:
132 * P7/P8 revisions(prototype): Camera EN
133 * A2+ revisions (production): LDO (supplies DVI, serial, led blocks)
134 */
135- if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM) {
136+ if ((omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XMAB) ||
137+ (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XMC)) {
138 r = gpio_request(gpio + 1, "nDVI_PWR_EN");
139 if (!r) {
140 r = gpio_direction_output(gpio + 1, 0);
141@@ -1013,7 +1006,8 @@ static void __init omap3_beagle_init(void)
142 omap3_beagle_init_rev();
143 omap3_beagle_i2c_init();
144
145- if (cpu_is_omap3630()) {
146+ if ((omap3_beagle_get_rev() != OMAP3BEAGLE_BOARD_XMAB) &&
147+ (omap3_beagle_get_rev() != OMAP3BEAGLE_BOARD_XMC)) {
148 gpio_buttons[0].gpio = 4;
149 }
150
151--
1521.6.6.1
153