xref: /openbmc/u-boot/doc/README.omap3 (revision fea25720)
1
2Summary
3=======
4
5This README is about U-Boot support for TI's ARM Cortex-A8 based OMAP3 [1]
6family of SoCs. TI's OMAP3 SoC family contains an ARM Cortex-A8. Additionally,
7some family members contain a TMS320C64x+ DSP and/or an Imagination SGX 2D/3D
8graphics processor and various other standard peripherals.
9
10Currently the following boards are supported:
11
12* OMAP3530 BeagleBoard [2]
13
14* Gumstix Overo [3]
15
16* TI EVM [4]
17
18* OpenPandora Ltd. Pandora [5]
19
20* TI/Logic PD Zoom MDK [6]
21
22* TI/Logic PD Zoom 2 [7]
23
24* CompuLab Ltd. CM-T35 [8]
25
26Toolchain
27=========
28
29While ARM Cortex-A8 support ARM v7 instruction set (-march=armv7a) we compile
30with -march=armv5 to allow more compilers to work. For U-Boot code this has
31no performance impact.
32
33Build
34=====
35
36* BeagleBoard:
37
38make omap3_beagle_config
39make
40
41* Gumstix Overo:
42
43make omap3_overo_config
44make
45
46* TI EVM:
47
48make omap3_evm_config
49make
50
51* Pandora:
52
53make omap3_pandora_config
54make
55
56* Zoom MDK:
57
58make omap3_zoom1_config
59make
60
61* Zoom 2:
62
63make omap3_zoom2_config
64make
65
66* CM-T35:
67
68make cm_t35_config
69make
70
71Custom commands
72===============
73
74To make U-Boot for OMAP3 support NAND device SW or HW ECC calculation, U-Boot
75for OMAP3 supports custom user command
76
77nandecc hw/sw
78
79To be compatible with NAND drivers using SW ECC (e.g. kernel code)
80
81nandecc sw
82
83enables SW ECC calculation. HW ECC enabled with
84
85nandecc hw
86
87is typically used to write 2nd stage bootloader (known as 'x-loader') which is
88executed by OMAP3's boot rom and therefore has to be written with HW ECC.
89
90For all other commands see
91
92help
93
94Interfaces
95==========
96
97gpio
98
99To set a bit :
100
101	if (!omap_request_gpio(N)) {
102		omap_set_gpio_direction(N, 0);
103		omap_set_gpio_dataout(N, 1);
104	}
105
106To clear a bit :
107
108	if (!omap_request_gpio(N)) {
109		omap_set_gpio_direction(N, 0);
110		omap_set_gpio_dataout(N, 0);
111	}
112
113To read a bit :
114
115	if (!omap_request_gpio(N)) {
116		omap_set_gpio_direction(N, 1);
117		val = omap_get_gpio_datain(N);
118		omap_free_gpio(N);
119	}
120	if (val)
121		printf("GPIO N is set\n");
122	else
123		printf("GPIO N is clear\n");
124
125
126Acknowledgements
127================
128
129OMAP3 U-Boot is based on U-Boot tar ball [9] for BeagleBoard and EVM done by
130several TI employees.
131
132Links
133=====
134
135[1] OMAP3:
136
137http://www.ti.com/omap3 (high volume) and
138http://www.ti.com/omap35x (broad market)
139
140[2] OMAP3530 BeagleBoard:
141
142http://beagleboard.org/
143
144[3] Gumstix Overo:
145
146http://www.gumstix.net/Overo/
147
148[4] TI EVM:
149
150http://focus.ti.com/docs/toolsw/folders/print/tmdxevm3503.html
151
152[5] OpenPandora Ltd. Pandora:
153
154http://openpandora.org/
155
156[6] TI/Logic PD Zoom MDK:
157
158http://www.logicpd.com/products/devkit/ti/zoom_mobile_development_kit
159
160[7] TI/Logic PD Zoom 2
161
162http://www.logicpd.com/sites/default/files/1012659A_Zoom_OMAP34x-II_MDP_Brief.pdf
163
164[8] CompuLab Ltd. CM-T35:
165
166http://www.compulab.co.il/t3530/html/t3530-cm-datasheet.htm
167
168[9] TI OMAP3 U-Boot:
169
170http://beagleboard.googlecode.com/files/u-boot_beagle_revb.tar.gz
171