[glsdk/meta-ti-glsdk.git] / recipes-bsp / u-boot / u-boot / 0020-OMAP3-beagle-add-support-for-Beagle-xM.patch
1 From 27c6c30dbb5de0c0ed30ceaf69bb0e9f12149c03 Mon Sep 17 00:00:00 2001
2 From: Steve Sakoman <steve@sakoman.com>
3 Date: Tue, 23 Mar 2010 09:21:49 -0700
4 Subject: [PATCH 20/37] OMAP3: beagle: add support for Beagle xM
6 ---
7 board/ti/beagle/beagle.c | 23 +++++++++++++++--------
8 board/ti/beagle/beagle.h | 34 ++++++++++++++++++++++++++++++----
9 include/configs/omap3_beagle.h | 1 +
10 3 files changed, 46 insertions(+), 12 deletions(-)
12 diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
13 index b4ea7e6..d357588 100644
14 --- a/board/ti/beagle/beagle.c
15 +++ b/board/ti/beagle/beagle.c
16 @@ -75,7 +75,7 @@ int beagle_get_revision(void)
17 * GPIO173, GPIO172, GPIO171: 1 1 1 => Ax/Bx
18 * GPIO173, GPIO172, GPIO171: 1 1 0 => C1/2/3
19 * GPIO173, GPIO172, GPIO171: 1 0 1 => C4
20 - * GPIO173, GPIO172, GPIO171: 0 0 0 => D
21 + * GPIO173, GPIO172, GPIO171: 0 0 0 => XM
22 */
23 void beagle_identify(void)
24 {
25 @@ -108,29 +108,36 @@ int misc_init_r(void)
26 twl4030_power_init();
27 twl4030_led_init(TWL4030_LED_LEDEN_LEDAON | TWL4030_LED_LEDEN_LEDBON);
29 - printf("Board revision ");
30 switch (beagle_revision) {
31 case REVISION_AXBX:
32 - printf("Ax/Bx\n");
33 + printf("Beagle Rev Ax/Bx\n");
34 break;
35 case REVISION_CX:
36 - printf("C1/C2/C3\n");
37 + printf("Beagle Rev C1/C2/C3\n");
38 MUX_BEAGLE_C();
39 break;
40 case REVISION_C4:
41 - printf("C4\n");
42 + printf("Beagle Rev C4\n");
43 MUX_BEAGLE_C();
44 /* Set VAUX2 to 1.8V for EHCI PHY */
45 twl4030_pmrecv_vsel_cfg(TWL4030_PM_RECEIVER_VAUX2_DEDICATED,
46 TWL4030_PM_RECEIVER_VAUX2_VSEL_18,
47 TWL4030_PM_RECEIVER_VAUX2_DEV_GRP,
48 TWL4030_PM_RECEIVER_DEV_GRP_P1);
49 + setenv("mpurate", "720");
50 break;
51 - case REVISION_D:
52 - printf("D\n");
53 + case REVISION_XM:
54 + printf("Beagle xM Rev A\n");
55 + MUX_BEAGLE_XM();
56 + /* Set VAUX2 to 1.8V for EHCI PHY */
57 + twl4030_pmrecv_vsel_cfg(TWL4030_PM_RECEIVER_VAUX2_DEDICATED,
58 + TWL4030_PM_RECEIVER_VAUX2_VSEL_18,
59 + TWL4030_PM_RECEIVER_VAUX2_DEV_GRP,
60 + TWL4030_PM_RECEIVER_DEV_GRP_P1);
61 + setenv("mpurate", "720");
62 break;
63 default:
64 - printf("unknown 0x%02x\n", beagle_revision);
65 + printf("Beagle unknown 0x%02x\n", beagle_revision);
66 }
68 /* Configure GPIOs to output */
69 diff --git a/board/ti/beagle/beagle.h b/board/ti/beagle/beagle.h
70 index d95fd78..fd06d46 100644
71 --- a/board/ti/beagle/beagle.h
72 +++ b/board/ti/beagle/beagle.h
73 @@ -38,7 +38,7 @@ const omap3_sysinfo sysinfo = {
74 #define REVISION_AXBX 0x7
75 #define REVISION_CX 0x6
76 #define REVISION_C4 0x5
77 -#define REVISION_D 0x0
78 +#define REVISION_XM 0x0
80 /*
81 * IEN - Input Enable
82 @@ -379,11 +379,37 @@ const omap3_sysinfo sysinfo = {
83 MUX_VAL(CP(SDRC_CKE1), (IDIS | PTU | EN | M0)) /*sdrc_cke1*/
85 #define MUX_BEAGLE_C() \
86 - MUX_VAL(CP(MCBSP3_DX), (IEN | PTD | DIS | M4)) /*GPIO_140*/\
87 - MUX_VAL(CP(MCBSP3_DR), (IEN | PTD | DIS | M4)) /*GPIO_142*/\
88 - MUX_VAL(CP(MCBSP3_CLKX), (IEN | PTD | DIS | M4)) /*GPIO_141*/\
89 + MUX_VAL(CP(MCBSP3_DX), (IEN | PTD | DIS | M4)) /*GPIO_140*/\
90 + MUX_VAL(CP(MCBSP3_DR), (IEN | PTD | DIS | M4)) /*GPIO_142*/\
91 + MUX_VAL(CP(MCBSP3_CLKX), (IEN | PTD | DIS | M4)) /*GPIO_141*/\
92 MUX_VAL(CP(UART2_CTS), (IEN | PTU | EN | M0)) /*UART2_CTS*/\
93 MUX_VAL(CP(UART2_RTS), (IDIS | PTD | DIS | M0)) /*UART2_RTS*/\
94 MUX_VAL(CP(UART2_TX), (IDIS | PTD | DIS | M0)) /*UART2_TX*/
96 +#define MUX_BEAGLE_XM() \
97 + MUX_VAL(CP(MCBSP3_DX), (IEN | PTD | DIS | M4)) /*GPIO_140*/\
98 + MUX_VAL(CP(MCBSP3_DR), (IEN | PTD | DIS | M4)) /*GPIO_142*/\
99 + MUX_VAL(CP(MCBSP3_CLKX), (IEN | PTD | DIS | M4)) /*GPIO_141*/\
100 + MUX_VAL(CP(UART2_CTS), (IEN | PTU | EN | M0)) /*UART2_CTS*/\
101 + MUX_VAL(CP(UART2_RTS), (IDIS | PTD | DIS | M0)) /*UART2_RTS*/\
102 + MUX_VAL(CP(UART2_TX), (IDIS | PTD | DIS | M0)) /*UART2_TX*/\
103 + MUX_VAL(CP(DSS_DATA0), (IDIS | PTD | DIS | M7)) /*safe_mode*/\
104 + MUX_VAL(CP(DSS_DATA1), (IDIS | PTD | DIS | M7)) /*safe_mode*/\
105 + MUX_VAL(CP(DSS_DATA2), (IDIS | PTD | DIS | M7)) /*safe_mode*/\
106 + MUX_VAL(CP(DSS_DATA3), (IDIS | PTD | DIS | M7)) /*safe_mode*/\
107 + MUX_VAL(CP(DSS_DATA4), (IDIS | PTD | DIS | M7)) /*safe_mode*/\
108 + MUX_VAL(CP(DSS_DATA5), (IDIS | PTD | DIS | M7)) /*safe_mode*/\
109 + MUX_VAL(CP(DSS_DATA18), (IDIS | PTD | DIS | M3)) /*DSS_DATA0*/\
110 + MUX_VAL(CP(DSS_DATA19), (IDIS | PTD | DIS | M3)) /*DSS_DATA1*/\
111 + MUX_VAL(CP(DSS_DATA20), (IDIS | PTD | DIS | M3)) /*DSS_DATA2*/\
112 + MUX_VAL(CP(DSS_DATA21), (IDIS | PTD | DIS | M3)) /*DSS_DATA3*/\
113 + MUX_VAL(CP(DSS_DATA22), (IDIS | PTD | DIS | M3)) /*DSS_DATA4*/\
114 + MUX_VAL(CP(DSS_DATA23), (IDIS | PTD | DIS | M3)) /*DSS_DATA5*/\
115 + MUX_VAL(CP(SYS_BOOT0), (IDIS | PTD | DIS | M3)) /*DSS_DATA18*/\
116 + MUX_VAL(CP(SYS_BOOT1), (IDIS | PTD | DIS | M3)) /*DSS_DATA19*/\
117 + MUX_VAL(CP(SYS_BOOT3), (IDIS | PTD | DIS | M3)) /*DSS_DATA20*/\
118 + MUX_VAL(CP(SYS_BOOT4), (IDIS | PTD | DIS | M3)) /*DSS_DATA21*/\
119 + MUX_VAL(CP(SYS_BOOT5), (IDIS | PTD | DIS | M3)) /*DSS_DATA22*/\
120 + MUX_VAL(CP(SYS_BOOT6), (IDIS | PTD | DIS | M3)) /*DSS_DATA23*/
121 +
122 #endif
123 diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
124 index ce347cd..bba36df 100644
125 --- a/include/configs/omap3_beagle.h
126 +++ b/include/configs/omap3_beagle.h
127 @@ -157,6 +157,7 @@
128 /*
129 * Board NAND Info.
130 */
131 +#define CONFIG_SYS_NAND_QUIET_TEST 1
132 #define CONFIG_NAND_OMAP_GPMC
133 #define CONFIG_SYS_NAND_ADDR NAND_BASE /* physical address */
134 /* to access nand */
135 --
136 1.6.6.1