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