| Summary | |
| ======= | |
| This README is about U-Boot support for TI's ARM Cortex-A8 based OMAP3 [1] | |
| family of SoCs. TI's OMAP3 SoC family contains an ARM Cortex-A8. Additionally, | |
| some family members contain a TMS320C64x+ DSP and/or an Imagination SGX 2D/3D | |
| graphics processor and various other standard peripherals. | |
| Currently the following boards are supported: | |
| * OMAP3530 BeagleBoard [2] | |
| * Gumstix Overo [3] | |
| * TI EVM [4] | |
| * OpenPandora Ltd. Pandora [5] | |
| * TI/Logic PD Zoom MDK [6] | |
| * TI/Logic PD Zoom 2 [7] | |
| * CompuLab Ltd. CM-T35 [8] | |
| Toolchain | |
| ========= | |
| While ARM Cortex-A8 support ARM v7 instruction set (-march=armv7a) we compile | |
| with -march=armv5 to allow more compilers to work. For U-Boot code this has | |
| no performance impact. | |
| Build | |
| ===== | |
| * BeagleBoard: | |
| make omap3_beagle_config | |
| make | |
| * Gumstix Overo: | |
| make omap3_overo_config | |
| make | |
| * TI EVM: | |
| make omap3_evm_config | |
| make | |
| * Pandora: | |
| make omap3_pandora_config | |
| make | |
| * Zoom MDK: | |
| make omap3_zoom1_config | |
| make | |
| * Zoom 2: | |
| make omap3_zoom2_config | |
| make | |
| * CM-T35: | |
| make cm_t35_config | |
| make | |
| * BlueLYNX-X: | |
| make omap3_mvblx_config | |
| make | |
| Custom commands | |
| =============== | |
| To make U-Boot for OMAP3 support NAND device SW or HW ECC calculation, U-Boot | |
| for OMAP3 supports custom user command | |
| nandecc hw/sw | |
| To be compatible with NAND drivers using SW ECC (e.g. kernel code) | |
| nandecc sw | |
| enables SW ECC calculation. HW ECC enabled with | |
| nandecc hw | |
| is typically used to write 2nd stage bootloader (known as 'x-loader') which is | |
| executed by OMAP3's boot rom and therefore has to be written with HW ECC. | |
| For all other commands see | |
| help | |
| Interfaces | |
| ========== | |
| gpio | |
| ---- | |
| To set a bit : | |
| if (!gpio_request(N, "")) { | |
| gpio_direction_output(N, 0); | |
| gpio_set_value(N, 1); | |
| } | |
| To clear a bit : | |
| if (!gpio_request(N, "")) { | |
| gpio_direction_output(N, 0); | |
| gpio_set_value(N, 0); | |
| } | |
| To read a bit : | |
| if (!gpio_request(N, "")) { | |
| gpio_direction_input(N); | |
| val = gpio_get_value(N); | |
| gpio_free(N); | |
| } | |
| if (val) | |
| printf("GPIO N is set\n"); | |
| else | |
| printf("GPIO N is clear\n"); | |
| dma | |
| --- | |
| void omap3_dma_init(void) | |
| Init the DMA module | |
| int omap3_dma_get_conf_chan(uint32_t chan, struct dma4_chan *config); | |
| Read config of the channel | |
| int omap3_dma_conf_chan(uint32_t chan, struct dma4_chan *config); | |
| Write config to the channel | |
| int omap3_dma_conf_transfer(uint32_t chan, uint32_t *src, uint32_t *dst, | |
| uint32_t sze) | |
| Config source, destination and size of a transfer | |
| int omap3_dma_wait_for_transfer(uint32_t chan) | |
| Wait for a transfer to end - this hast to be called before a channel | |
| or the data the channel transferd are used. | |
| int omap3_dma_get_revision(uint32_t *minor, uint32_t *major) | |
| Read silicon Revision of the DMA module | |
| Acknowledgements | |
| ================ | |
| OMAP3 U-Boot is based on U-Boot tar ball [9] for BeagleBoard and EVM done by | |
| several TI employees. | |
| Links | |
| ===== | |
| [1] OMAP3: | |
| http://www.ti.com/omap3 (high volume) and | |
| http://www.ti.com/omap35x (broad market) | |
| [2] OMAP3530 BeagleBoard: | |
| http://beagleboard.org/ | |
| [3] Gumstix Overo: | |
| http://www.gumstix.net/Overo/ | |
| [4] TI EVM: | |
| http://focus.ti.com/docs/toolsw/folders/print/tmdxevm3503.html | |
| [5] OpenPandora Ltd. Pandora: | |
| http://openpandora.org/ | |
| [6] TI/Logic PD Zoom MDK: | |
| http://www.logicpd.com/products/devkit/ti/zoom_mobile_development_kit | |
| [7] TI/Logic PD Zoom 2 | |
| http://www.logicpd.com/sites/default/files/1012659A_Zoom_OMAP34x-II_MDP_Brief.pdf | |
| [8] CompuLab Ltd. CM-T35: | |
| http://www.compulab.co.il/t3530/html/t3530-cm-datasheet.htm | |
| [9] TI OMAP3 U-Boot: | |
| http://beagleboard.googlecode.com/files/u-boot_beagle_revb.tar.gz |