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