forked from eewiki/u-boot-patches
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path0001-omap3_beagle-uEnv.txt-bootz-n-fixes.patch
218 lines (203 loc) · 7.03 KB
/
0001-omap3_beagle-uEnv.txt-bootz-n-fixes.patch
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
From 70ff943fad6491fb81b12a97761d8be7dc5e6d02 Mon Sep 17 00:00:00 2001
From: Robert Nelson <[email protected]>
Date: Fri, 15 Mar 2013 10:14:10 -0500
Subject: [PATCH] omap3_beagle: uEnv.txt, bootz, n fixes
Defaults:
#define CONFIG_BOOTDELAY 1
#define CONFIG_CMD_FAT
#define CONFIG_CMD_EXT2
#define CONFIG_CMD_EXT4
#define CONFIG_CMD_FS_GENERIC
/* bootz: zImage/initrd.img support */
#define CONFIG_CMD_BOOTZ
#define CONFIG_SUPPORT_RAW_INITRD
fatload -> load
bootm -> bootz
loadfdt=load mmc ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile}
Signed-off-by: Robert Nelson <[email protected]>
---
board/ti/beagle/beagle.c | 35 +++++++++++++++++++++++++++-----
include/configs/omap3_beagle.h | 44 ++++++++++++++++++++++++----------------
2 files changed, 57 insertions(+), 22 deletions(-)
diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
index 3d9b6dd..e4c6990 100644
--- a/board/ti/beagle/beagle.c
+++ b/board/ti/beagle/beagle.c
@@ -70,6 +70,7 @@
#define BBTOYS_WIFI 0x01000B00
#define BBTOYS_VGA 0x02000B00
#define BBTOYS_LCD 0x03000B00
+#define BBTOYS_ULCD 0x04000B00
#define BCT_BRETTL3 0x01000F00
#define BCT_BRETTL4 0x02000F00
#define LSR_COM6L_ADPT 0x01001300
@@ -214,25 +215,25 @@ void get_board_mem_timings(struct board_sdrc_timings *timings)
* bus 1 for the availability of an AT24C01B serial EEPROM.
* returns the device_vendor field from the EEPROM
*/
-static unsigned int get_expansion_id(void)
+static unsigned int get_expansion_id(int eeprom_address)
{
i2c_set_bus_num(EXPANSION_EEPROM_I2C_BUS);
/* return BEAGLE_NO_EEPROM if eeprom doesn't respond */
- if (i2c_probe(EXPANSION_EEPROM_I2C_ADDRESS) == 1) {
+ if (i2c_probe(eeprom_address) == 1) {
i2c_set_bus_num(TWL4030_I2C_BUS);
return BEAGLE_NO_EEPROM;
}
/* read configuration data */
- i2c_read(EXPANSION_EEPROM_I2C_ADDRESS, 0, 1, (u8 *)&expansion_config,
+ i2c_read(eeprom_address, 0, 1, (u8 *)&expansion_config,
sizeof(expansion_config));
/* retry reading configuration data with 16bit addressing */
if ((expansion_config.device_vendor == 0xFFFFFF00) ||
(expansion_config.device_vendor == 0xFFFFFFFF)) {
printf("EEPROM is blank or 8bit addressing failed: retrying with 16bit:\n");
- i2c_read(EXPANSION_EEPROM_I2C_ADDRESS, 0, 2, (u8 *)&expansion_config,
+ i2c_read(eeprom_address, 0, 2, (u8 *)&expansion_config,
sizeof(expansion_config));
}
@@ -398,7 +399,7 @@ int misc_init_r(void)
TWL4030_PM_RECEIVER_DEV_GRP_P1);
}
- switch (get_expansion_id()) {
+ switch (get_expansion_id(EXPANSION_EEPROM_I2C_ADDRESS)) {
case TINCANTOOLS_ZIPPY:
printf("Recognized Tincantools Zippy board (rev %d %s)\n",
expansion_config.revision,
@@ -481,6 +482,30 @@ int misc_init_r(void)
if (expansion_config.content == 1)
setenv(expansion_config.env_var, expansion_config.env_setting);
+ /* Scan 0x51 as well for loop-thru boards */
+ switch (get_expansion_id(EXPANSION_EEPROM_I2C_ADDRESS + 1)) {
+ case BBTOYS_ULCD:
+ printf("Recognized BeagleBoardToys uLCD-lite board\n");
+ setenv("buddy2", "bbtoys-ulcd");
+ setenv("defaultdisplay", "dvi");
+ setenv("dvimode", "800x480MR-16@60");
+ setenv("lcd1", "i2c mw 40 00 00; i2c mw 40 04 80; i2c mw 40 0d 05");
+ setenv("uenvcmd", "i2c dev 1 ; run lcd1; i2c dev 0");
+ setenv("kmsmode", "video=DVI-D-1:800x480");
+ break;
+ case BEAGLE_NO_EEPROM:
+ printf("No EEPROM on expansion board\n");
+ setenv("buddy2", "none");
+ break;
+ default:
+ printf("Unrecognized expansion board: %x\n",
+ expansion_config.device_vendor);
+ setenv("buddy2", "unknown");
+ }
+
+ if (expansion_config.content == 1)
+ setenv(expansion_config.env_var, expansion_config.env_setting);
+
twl4030_power_init();
switch (get_board_revision()) {
case REVISION_XM_A:
diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
index 48ce4c0..daa4d70 100644
--- a/include/configs/omap3_beagle.h
+++ b/include/configs/omap3_beagle.h
@@ -150,6 +150,13 @@
#define CONFIG_CMD_CACHE
#define CONFIG_CMD_EXT2 /* EXT2 Support */
#define CONFIG_CMD_FAT /* FAT support */
+#define CONFIG_CMD_EXT4
+/* #define CONFIG_CMD_FS_GENERIC */
+
+/* bootz: zImage/initrd.img support */
+#define CONFIG_CMD_BOOTZ
+#define CONFIG_SUPPORT_RAW_INITRD
+
#define CONFIG_CMD_JFFS2 /* JFFS2 Support */
#define CONFIG_CMD_MTDPARTS /* Enable MTD parts commands */
#define CONFIG_MTD_DEVICE /* needed for mtdparts commands */
@@ -212,7 +219,7 @@
/* partition */
/* Environment information */
-#define CONFIG_BOOTDELAY 3
+#define CONFIG_BOOTDELAY 1
#define CONFIG_EXTRA_ENV_SETTINGS \
"loadaddr=0x80200000\0" \
@@ -222,14 +229,15 @@
"console=ttyO2,115200n8\0" \
"mpurate=auto\0" \
"buddy=none\0" \
- "optargs=\0" \
+ "buddy2=none\0" \
"camera=none\0" \
- "vram=12M\0" \
- "dvimode=640x480MR-16@60\0" \
+ "wl12xx_clk=none\0" \
+ "optargs=\0" \
+ "dvimode=1280x720MR-16@60\0" \
"defaultdisplay=dvi\0" \
"mmcdev=0\0" \
- "mmcroot=/dev/mmcblk0p2 rw\0" \
- "mmcrootfstype=ext3 rootwait\0" \
+ "mmcroot=/dev/mmcblk0p2 ro\0" \
+ "mmcrootfstype=ext4 rootwait fixrtc\0" \
"nandroot=ubi0:rootfs ubi.mtd=4\0" \
"nandrootfstype=ubifs\0" \
"ramroot=/dev/ram0 rw ramdisk_size=65536 initrd=0x81000000,64M\0" \
@@ -238,9 +246,10 @@
"${optargs} " \
"mpurate=${mpurate} " \
"buddy=${buddy} "\
+ "buddy2=${buddy2} "\
"camera=${camera} "\
- "vram=${vram} " \
- "omapfb.mode=dvi:${dvimode} " \
+ "wl12xx_clk=${wl12xx_clk} "\
+ "omapfb.mode=${defaultdisplay}:${dvimode} " \
"omapdss.def_disp=${defaultdisplay} " \
"root=${mmcroot} " \
"rootfstype=${mmcrootfstype}\0" \
@@ -248,9 +257,10 @@
"${optargs} " \
"mpurate=${mpurate} " \
"buddy=${buddy} "\
+ "buddy2=${buddy2} "\
"camera=${camera} "\
- "vram=${vram} " \
- "omapfb.mode=dvi:${dvimode} " \
+ "wl12xx_clk=${wl12xx_clk} "\
+ "omapfb.mode=${defaultdisplay}:${dvimode} " \
"omapdss.def_disp=${defaultdisplay} " \
"root=${nandroot} " \
"rootfstype=${nandrootfstype}\0" \
@@ -262,24 +272,24 @@
"${optargs} " \
"mpurate=${mpurate} " \
"buddy=${buddy} "\
- "vram=${vram} " \
- "omapfb.mode=dvi:${dvimode} " \
+ "buddy2=${buddy2} "\
+ "omapfb.mode=${defaultdisplay}:${dvimode} " \
"omapdss.def_disp=${defaultdisplay} " \
"root=${ramroot} " \
"rootfstype=${ramrootfstype}\0" \
"loadramdisk=fatload mmc ${mmcdev} ${rdaddr} ramdisk.gz\0" \
- "loaduimagefat=fatload mmc ${mmcdev} ${loadaddr} uImage\0" \
- "loaduimage=ext2load mmc ${mmcdev}:2 ${loadaddr} /boot/uImage\0" \
+ "loaduimagefat=fatload mmc ${mmcdev} ${loadaddr} zImage\0" \
+ "loaduimage=fatload mmc ${mmcdev} ${loadaddr} zImage\0" \
"mmcboot=echo Booting from mmc ...; " \
"run mmcargs; " \
- "bootm ${loadaddr}\0" \
+ "bootz ${loadaddr}\0" \
"nandboot=echo Booting from nand ...; " \
"run nandargs; " \
"nand read ${loadaddr} 280000 400000; " \
- "bootm ${loadaddr}\0" \
+ "bootz ${loadaddr}\0" \
"ramboot=echo Booting from ramdisk ...; " \
"run ramargs; " \
- "bootm ${loadaddr}\0" \
+ "bootz ${loadaddr}\0" \
"userbutton=if gpio input 173; then run userbutton_xm; " \
"else run userbutton_nonxm; fi;\0" \
"userbutton_xm=gpio input 4;\0" \
--
1.7.10.4