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