uart-lld: add to PDK
authorJacob Stiffler <j-stiffler@ti.com>
Fri, 1 Nov 2019 18:55:48 +0000 (14:55 -0400)
committerJacob Stiffler <j-stiffler@ti.com>
Fri, 1 Nov 2019 18:55:48 +0000 (14:55 -0400)
Development of uart-lld has been relocated here from:
* Repo: https://git.ti.com/keystone-rtos/uart-lld
* Branch: master
* Commit ID: db6f0ffecf762e519c01f112a284651546043d9e

Signed-off-by: Jacob Stiffler <j-stiffler@ti.com>
370 files changed:
packages/ti/drv/uart/.gitignore [new file with mode: 0644]
packages/ti/drv/uart/COPYING.txt [new file with mode: 0644]
packages/ti/drv/uart/Settings.xdc.xdt [new file with mode: 0644]
packages/ti/drv/uart/UART.h [new file with mode: 0644]
packages/ti/drv/uart/UART_stdio.h [new file with mode: 0644]
packages/ti/drv/uart/UART_ver.h [new file with mode: 0644]
packages/ti/drv/uart/UART_ver.h.xdt [new file with mode: 0644]
packages/ti/drv/uart/build/buildlib.xs [new file with mode: 0644]
packages/ti/drv/uart/build/makefile.mk [new file with mode: 0755]
packages/ti/drv/uart/build/makefile_console.mk [new file with mode: 0644]
packages/ti/drv/uart/build/makefile_dma.mk [new file with mode: 0644]
packages/ti/drv/uart/build/makefile_dma_profile.mk [new file with mode: 0644]
packages/ti/drv/uart/build/makefile_icss_uart.mk [new file with mode: 0644]
packages/ti/drv/uart/build/makefile_indp.mk [new file with mode: 0644]
packages/ti/drv/uart/build/makefile_profile.mk [new file with mode: 0644]
packages/ti/drv/uart/build/makefile_profile_indp.mk [new file with mode: 0644]
packages/ti/drv/uart/config.bld [new file with mode: 0755]
packages/ti/drv/uart/config_mk.bld [new file with mode: 0644]
packages/ti/drv/uart/docs/Module.xs [new file with mode: 0755]
packages/ti/drv/uart/docs/ReleaseNotes_UART_LLD.doc [new file with mode: 0644]
packages/ti/drv/uart/docs/ReleaseNotes_UART_LLD.pdf [new file with mode: 0644]
packages/ti/drv/uart/docs/UART_FW_DESIGN_GUIDE.docx [new file with mode: 0644]
packages/ti/drv/uart/docs/UART_LLD_SoftwareManifest.html [new file with mode: 0755]
packages/ti/drv/uart/docs/UART_userGuide.doc [new file with mode: 0644]
packages/ti/drv/uart/docs/doxyfile.xdt [new file with mode: 0755]
packages/ti/drv/uart/docs/tifooter.htm [new file with mode: 0755]
packages/ti/drv/uart/docs/tiheader.htm [new file with mode: 0755]
packages/ti/drv/uart/docs/tilogo.gif [new file with mode: 0755]
packages/ti/drv/uart/docs/titagline.gif [new file with mode: 0755]
packages/ti/drv/uart/example/Module.xs [new file with mode: 0755]
packages/ti/drv/uart/example/UART_BasicExample_Intr_ExampleProject/makefile [new file with mode: 0644]
packages/ti/drv/uart/example/UART_BasicExample_Intr_ExampleProject/src/uart_intr_test.c [new file with mode: 0644]
packages/ti/drv/uart/example/UART_BasicExample_Intr_ExampleProject/uartSample.cfg [new file with mode: 0644]
packages/ti/drv/uart/example/UART_BasicExample_Polling_ExampleProject/makefile [new file with mode: 0644]
packages/ti/drv/uart/example/UART_BasicExample_Polling_ExampleProject/src/uart_polling_test.c [new file with mode: 0644]
packages/ti/drv/uart/example/UART_BasicExample_Polling_ExampleProject/uartSample.cfg [new file with mode: 0644]
packages/ti/drv/uart/example/firmware_example/am335x/armv7/bios/UART_FwExample_bbbAM335x_armExampleProject.txt [new file with mode: 0644]
packages/ti/drv/uart/example/firmware_example/am335x/armv7/bios/am335x_app_bbbam335x.cfg [new file with mode: 0644]
packages/ti/drv/uart/example/firmware_example/src/main_uart_example.c [new file with mode: 0644]
packages/ti/drv/uart/example/sample/am335x/armv7/bios/UART_BasicExample_bbbAM335x_armExampleProject.txt [new file with mode: 0644]
packages/ti/drv/uart/example/sample/am335x/armv7/bios/UART_BasicExample_evmAM335x_armExampleProject.txt [new file with mode: 0644]
packages/ti/drv/uart/example/sample/am335x/armv7/bios/UART_BasicExample_iceAMIC110_armExampleProject.txt [new file with mode: 0644]
packages/ti/drv/uart/example/sample/am335x/armv7/bios/UART_BasicExample_icev2AM335x_armExampleProject.txt [new file with mode: 0644]
packages/ti/drv/uart/example/sample/am335x/armv7/bios/UART_BasicExample_skAM335x_armExampleProject.txt [new file with mode: 0644]
packages/ti/drv/uart/example/sample/am335x/armv7/bios/am335x_app_bbbam335x.cfg [new file with mode: 0644]
packages/ti/drv/uart/example/sample/am335x/armv7/bios/am335x_app_evmam335x.cfg [new file with mode: 0644]
packages/ti/drv/uart/example/sample/am335x/armv7/bios/am335x_app_iceamic110.cfg [new file with mode: 0644]
packages/ti/drv/uart/example/sample/am335x/armv7/bios/am335x_app_icev2am335x.cfg [new file with mode: 0644]
packages/ti/drv/uart/example/sample/am335x/armv7/bios/am335x_app_skam335x.cfg [new file with mode: 0644]
packages/ti/drv/uart/example/sample/am437x/armv7/bios/UART_BasicExample_evmAM437x_armExampleProject.txt [new file with mode: 0644]
packages/ti/drv/uart/example/sample/am437x/armv7/bios/UART_BasicExample_idkAM437x_armExampleProject.txt [new file with mode: 0644]
packages/ti/drv/uart/example/sample/am437x/armv7/bios/UART_BasicExample_skAM437x_armExampleProject.txt [new file with mode: 0644]
packages/ti/drv/uart/example/sample/am437x/armv7/bios/am437x_app_evmam437x.cfg [new file with mode: 0644]
packages/ti/drv/uart/example/sample/am437x/armv7/bios/am437x_app_idkam437x.cfg [new file with mode: 0644]
packages/ti/drv/uart/example/sample/am437x/armv7/bios/am437x_app_skam437x.cfg [new file with mode: 0644]
packages/ti/drv/uart/example/sample/am571x/m4/bios/UART_BasicExample_idkAM571x_m4ExampleProject.txt [new file with mode: 0644]
packages/ti/drv/uart/example/sample/am571x/m4/bios/uart_m4_idkAM571x.cfg [new file with mode: 0644]
packages/ti/drv/uart/example/sample/am572x/armv7/bios/UART_BasicExample_evmAM572x_armExampleProject.txt [new file with mode: 0644]
packages/ti/drv/uart/example/sample/am572x/armv7/bios/uart_arm_evmAM572x.cfg [new file with mode: 0644]
packages/ti/drv/uart/example/sample/am572x/c66/bios/UART_BasicExample_evmAM572x_c66xExampleProject.txt [new file with mode: 0644]
packages/ti/drv/uart/example/sample/am572x/c66/bios/uart_test_evmAM572x.cfg [new file with mode: 0644]
packages/ti/drv/uart/example/sample/am572x/m4/bios/UART_BasicExample_evmAM572x_m4ExampleProject.txt [new file with mode: 0644]
packages/ti/drv/uart/example/sample/am572x/m4/bios/UART_BasicExample_idkAM572x_m4Exampleproject.txt [new file with mode: 0644]
packages/ti/drv/uart/example/sample/am572x/m4/bios/uart_m4_evmAM572x.cfg [new file with mode: 0644]
packages/ti/drv/uart/example/sample/am572x/m4/bios/uart_m4_idkAM572x.cfg [new file with mode: 0644]
packages/ti/drv/uart/example/sample/am574x/m4/bios/UART_BasicExample_idkAM574x_m4Exampleproject.txt [new file with mode: 0644]
packages/ti/drv/uart/example/sample/am574x/m4/bios/uart_m4_idkAM574x.cfg [new file with mode: 0644]
packages/ti/drv/uart/example/sample/am57x/armv7/bios/UART_BasicExample_idkAM571x_armExampleProject.txt [new file with mode: 0644]
packages/ti/drv/uart/example/sample/am57x/armv7/bios/UART_BasicExample_idkAM572x_armExampleProject.txt [new file with mode: 0644]
packages/ti/drv/uart/example/sample/am57x/armv7/bios/UART_BasicExample_idkAM574x_armExampleProject.txt [new file with mode: 0644]
packages/ti/drv/uart/example/sample/am57x/armv7/bios/uart_arm.cfg [new file with mode: 0644]
packages/ti/drv/uart/example/sample/am57x/armv7/bios/uart_arm_dma.cfg [new file with mode: 0644]
packages/ti/drv/uart/example/sample/am57x/armv7/bios/uart_arm_idkAM571x.cfg [new file with mode: 0644]
packages/ti/drv/uart/example/sample/am57x/armv7/bios/uart_arm_idkAM574x.cfg [new file with mode: 0644]
packages/ti/drv/uart/example/sample/am57x/c66/bios/UART_BasicExample_idkAM571x_c66xExampleProject.txt [new file with mode: 0644]
packages/ti/drv/uart/example/sample/am57x/c66/bios/UART_BasicExample_idkAM572x_c66xExampleProject.txt [new file with mode: 0644]
packages/ti/drv/uart/example/sample/am57x/c66/bios/UART_BasicExample_idkAM574x_c66xExampleProject.txt [new file with mode: 0644]
packages/ti/drv/uart/example/sample/am57x/c66/bios/uart_test.cfg [new file with mode: 0644]
packages/ti/drv/uart/example/sample/am57x/c66/bios/uart_test_edma.cfg [new file with mode: 0644]
packages/ti/drv/uart/example/sample/am57x/c66/bios/uart_test_idkAM571x.cfg [new file with mode: 0644]
packages/ti/drv/uart/example/sample/am57x/c66/bios/uart_test_idkAM574x.cfg [new file with mode: 0644]
packages/ti/drv/uart/example/sample/c6657/c66/bios/UART_BasicExample_C6657_c66xExampleProject.txt [new file with mode: 0755]
packages/ti/drv/uart/example/sample/c6678/c66/bios/UART_BasicExample_C6678_c66xExampleProject.txt [new file with mode: 0755]
packages/ti/drv/uart/example/sample/dra7xx/armv7/bios/UART_BasicExample_evmDRA72x_armExampleProject.txt [new file with mode: 0644]
packages/ti/drv/uart/example/sample/dra7xx/armv7/bios/UART_BasicExample_evmDRA75x_armExampleProject.txt [new file with mode: 0644]
packages/ti/drv/uart/example/sample/dra7xx/armv7/bios/uart_arm_example.cfg [new file with mode: 0644]
packages/ti/drv/uart/example/sample/dra7xx/c66/bios/UART_BasicExample_evmDRA72x_c66xExampleProject.txt [new file with mode: 0644]
packages/ti/drv/uart/example/sample/dra7xx/c66/bios/UART_BasicExample_evmDRA75x_c66xExampleProject.txt [new file with mode: 0644]
packages/ti/drv/uart/example/sample/dra7xx/c66/bios/UART_BasicExample_evmDRA78x_c66xExampleProject.txt [new file with mode: 0644]
packages/ti/drv/uart/example/sample/dra7xx/c66/bios/uart_c66_example.cfg [new file with mode: 0644]
packages/ti/drv/uart/example/sample/dra7xx/m4/bios/UART_BasicExample_evmDRA72x_m4ExampleProject.txt [new file with mode: 0644]
packages/ti/drv/uart/example/sample/dra7xx/m4/bios/UART_BasicExample_evmDRA75x_m4ExampleProject.txt [new file with mode: 0644]
packages/ti/drv/uart/example/sample/dra7xx/m4/bios/UART_BasicExample_evmDRA78x_m4ExampleProject.txt [new file with mode: 0644]
packages/ti/drv/uart/example/sample/dra7xx/m4/bios/uart_m4_example.cfg [new file with mode: 0644]
packages/ti/drv/uart/example/sample/k2e/armv7/bios/UART_BasicExample_K2E_armExampleProject.txt [new file with mode: 0755]
packages/ti/drv/uart/example/sample/k2e/c66/bios/UART_BasicExample_K2E_c66xExampleProject.txt [new file with mode: 0755]
packages/ti/drv/uart/example/sample/k2g/armv7/bios/UART_BasicExample_evmK2G_armExampleProject.txt [new file with mode: 0755]
packages/ti/drv/uart/example/sample/k2g/armv7/bios/UART_BasicExample_iceK2G_armExampleProject.txt [new file with mode: 0644]
packages/ti/drv/uart/example/sample/k2g/c66/bios/UART_BasicExample_evmK2G_c66xExampleProject.txt [new file with mode: 0755]
packages/ti/drv/uart/example/sample/k2g/c66/bios/UART_BasicExample_iceK2G_c66xExampleProject.txt [new file with mode: 0644]
packages/ti/drv/uart/example/sample/k2h/armv7/bios/UART_BasicExample_K2H_armExampleProject.txt [new file with mode: 0755]
packages/ti/drv/uart/example/sample/k2h/c66/bios/UART_BasicExample_K2H_c66xExampleProject.txt [new file with mode: 0755]
packages/ti/drv/uart/example/sample/k2k/c66/bios/UART_BasicExample_K2K_c66xExampleProject.txt [new file with mode: 0755]
packages/ti/drv/uart/example/sample/k2l/armv7/bios/UART_BasicExample_K2L_armExampleProject.txt [new file with mode: 0755]
packages/ti/drv/uart/example/sample/k2l/c66/bios/UART_BasicExample_K2L_c66xExampleProject.txt [new file with mode: 0755]
packages/ti/drv/uart/example/sample/omapl137/arm9/bios/UART_BasicExample_evmOMAPL137_armExampleProject.txt [new file with mode: 0644]
packages/ti/drv/uart/example/sample/omapl137/arm9/bios/uart_arm.cfg [new file with mode: 0644]
packages/ti/drv/uart/example/sample/omapl137/c674/bios/UART_BasicExample_evmOMAPL137_c674xExampleProject.txt [new file with mode: 0644]
packages/ti/drv/uart/example/sample/omapl137/c674/bios/uart_test.cfg [new file with mode: 0644]
packages/ti/drv/uart/example/sample/omapl138/arm9/bios/UART_BasicExample_lcdkOMAPL138_armExampleProject.txt [new file with mode: 0644]
packages/ti/drv/uart/example/sample/omapl138/arm9/bios/uart_arm.cfg [new file with mode: 0644]
packages/ti/drv/uart/example/sample/omapl138/c674/bios/UART_BasicExample_lcdkOMAPL138_c674xExampleProject.txt [new file with mode: 0644]
packages/ti/drv/uart/example/sample/omapl138/c674/bios/uart_test.cfg [new file with mode: 0644]
packages/ti/drv/uart/example/sample/src/main_example.c [new file with mode: 0644]
packages/ti/drv/uart/example/sample/src/main_uart_example.c [new file with mode: 0644]
packages/ti/drv/uart/firmware/Module.xs [new file with mode: 0755]
packages/ti/drv/uart/firmware/icss_uart/bin/am335x/a8host/REV1/icss_uart_PRU0.bin [new file with mode: 0644]
packages/ti/drv/uart/firmware/icss_uart/bin/am335x/a8host/REV1/icss_uart_PRU1.bin [new file with mode: 0644]
packages/ti/drv/uart/firmware/icss_uart/src/AM335x_PRU.cmd [new file with mode: 0644]
packages/ti/drv/uart/firmware/icss_uart/src/PRU_SW_UART.asm [new file with mode: 0644]
packages/ti/drv/uart/firmware/icss_uart/src/firmware_version.h [new file with mode: 0644]
packages/ti/drv/uart/firmware/icss_uart/src/icss_ctrl_regs.h [new file with mode: 0644]
packages/ti/drv/uart/firmware/icss_uart/src/icss_defines.h [new file with mode: 0644]
packages/ti/drv/uart/firmware/icss_uart/src/icss_uart.h [new file with mode: 0644]
packages/ti/drv/uart/include/Module.xs [new file with mode: 0755]
packages/ti/drv/uart/makefile [new file with mode: 0644]
packages/ti/drv/uart/package.bld [new file with mode: 0644]
packages/ti/drv/uart/package.xdc [new file with mode: 0755]
packages/ti/drv/uart/package.xs [new file with mode: 0644]
packages/ti/drv/uart/soc/Module.xs [new file with mode: 0755]
packages/ti/drv/uart/soc/UART_soc.h [new file with mode: 0644]
packages/ti/drv/uart/soc/am335x/UART_soc.c [new file with mode: 0644]
packages/ti/drv/uart/soc/am335x/sample_am335x_arm_int_reg.c [new file with mode: 0644]
packages/ti/drv/uart/soc/am335x/sample_am335x_cfg.c [new file with mode: 0644]
packages/ti/drv/uart/soc/am335x/sample_arm_cs.c [new file with mode: 0644]
packages/ti/drv/uart/soc/am335x/sample_arm_init.c [new file with mode: 0644]
packages/ti/drv/uart/soc/am437x/UART_soc.c [new file with mode: 0644]
packages/ti/drv/uart/soc/am437x/sample_am437x_arm_int_reg.c [new file with mode: 0644]
packages/ti/drv/uart/soc/am437x/sample_am437x_cfg.c [new file with mode: 0644]
packages/ti/drv/uart/soc/am437x/sample_arm_cs.c [new file with mode: 0644]
packages/ti/drv/uart/soc/am437x/sample_arm_init.c [new file with mode: 0644]
packages/ti/drv/uart/soc/am571x/UART_soc.c [new file with mode: 0644]
packages/ti/drv/uart/soc/am572x/UART_soc.c [new file with mode: 0644]
packages/ti/drv/uart/soc/am574x/UART_soc.c [new file with mode: 0644]
packages/ti/drv/uart/soc/am65xx/UART_soc.c [new file with mode: 0644]
packages/ti/drv/uart/soc/c6657/UART_soc.c [new file with mode: 0644]
packages/ti/drv/uart/soc/c6678/UART_soc.c [new file with mode: 0644]
packages/ti/drv/uart/soc/dma/v0/UART_dma.c [new file with mode: 0644]
packages/ti/drv/uart/soc/dma/v1/UART_dma.c [new file with mode: 0644]
packages/ti/drv/uart/soc/dma/v2/UART_dma.c [new file with mode: 0755]
packages/ti/drv/uart/soc/dra72x/UART_soc.c [new file with mode: 0644]
packages/ti/drv/uart/soc/dra75x/UART_soc.c [new file with mode: 0644]
packages/ti/drv/uart/soc/dra78x/UART_soc.c [new file with mode: 0644]
packages/ti/drv/uart/soc/fw_mem_section.h [new file with mode: 0644]
packages/ti/drv/uart/soc/j721e/UART_soc.c [new file with mode: 0755]
packages/ti/drv/uart/soc/k2e/UART_soc.c [new file with mode: 0644]
packages/ti/drv/uart/soc/k2g/UART_soc.c [new file with mode: 0644]
packages/ti/drv/uart/soc/k2h/UART_soc.c [new file with mode: 0644]
packages/ti/drv/uart/soc/k2k/UART_soc.c [new file with mode: 0644]
packages/ti/drv/uart/soc/k2l/UART_soc.c [new file with mode: 0644]
packages/ti/drv/uart/soc/omapl137/UART_soc.c [new file with mode: 0644]
packages/ti/drv/uart/soc/omapl138/UART_soc.c [new file with mode: 0644]
packages/ti/drv/uart/soc/tda2ex/UART_soc.c [new file with mode: 0644]
packages/ti/drv/uart/soc/tda2px/UART_soc.c [new file with mode: 0644]
packages/ti/drv/uart/soc/tda2xx/UART_soc.c [new file with mode: 0644]
packages/ti/drv/uart/soc/tda3xx/UART_soc.c [new file with mode: 0644]
packages/ti/drv/uart/soc/tiuart_pruss_intc_mapping.h [new file with mode: 0644]
packages/ti/drv/uart/src/Module.xs [new file with mode: 0755]
packages/ti/drv/uart/src/UART_ascii_utils.c [new file with mode: 0644]
packages/ti/drv/uart/src/UART_ascii_utils.h [new file with mode: 0644]
packages/ti/drv/uart/src/UART_drv.c [new file with mode: 0644]
packages/ti/drv/uart/src/UART_drv_log.h [new file with mode: 0644]
packages/ti/drv/uart/src/UART_osal.h [new file with mode: 0644]
packages/ti/drv/uart/src/UART_status.c [new file with mode: 0644]
packages/ti/drv/uart/src/UART_stdio.c [new file with mode: 0644]
packages/ti/drv/uart/src/UART_utils_defs.h [new file with mode: 0644]
packages/ti/drv/uart/src/src_files_common.mk [new file with mode: 0755]
packages/ti/drv/uart/src/src_files_uart_console.mk [new file with mode: 0644]
packages/ti/drv/uart/src/v0/UART_v0.c [new file with mode: 0644]
packages/ti/drv/uart/src/v0/UART_v0.h [new file with mode: 0644]
packages/ti/drv/uart/src/v1/UART_v1.c [new file with mode: 0644]
packages/ti/drv/uart/src/v1/UART_v1.h [new file with mode: 0644]
packages/ti/drv/uart/src/v2/UART_v2.c [new file with mode: 0644]
packages/ti/drv/uart/src/v2/UART_v2.h [new file with mode: 0644]
packages/ti/drv/uart/test/Module.xs [new file with mode: 0755]
packages/ti/drv/uart/test/am335x/armv7/bios/UART_BasicExample_Dma_evmAM335x_armTestProject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/am335x/armv7/bios/UART_BasicExample_bbbAM335x_armTestProject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/am335x/armv7/bios/UART_BasicExample_evmAM335x_armTestProject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/am335x/armv7/bios/UART_BasicExample_iceAMIC110_armTestProject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/am335x/armv7/bios/UART_BasicExample_icev2AM335x_armTestProject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/am335x/armv7/bios/UART_BasicExample_skAM335x_armTestProject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/am335x/armv7/bios/am335x_app_bbbam335x.cfg [new file with mode: 0644]
packages/ti/drv/uart/test/am335x/armv7/bios/am335x_app_dma_evmam335x.cfg [new file with mode: 0644]
packages/ti/drv/uart/test/am335x/armv7/bios/am335x_app_evmam335x.cfg [new file with mode: 0644]
packages/ti/drv/uart/test/am335x/armv7/bios/am335x_app_iceamic110.cfg [new file with mode: 0644]
packages/ti/drv/uart/test/am335x/armv7/bios/am335x_app_icev2am335x.cfg [new file with mode: 0644]
packages/ti/drv/uart/test/am335x/armv7/bios/am335x_app_skam335x.cfg [new file with mode: 0644]
packages/ti/drv/uart/test/am437x/armv7/bios/UART_BasicExample_dma_evmAM437x_armTestProject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/am437x/armv7/bios/UART_BasicExample_evmAM437x_armTestProject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/am437x/armv7/bios/UART_BasicExample_idkAM437x_armTestProject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/am437x/armv7/bios/UART_BasicExample_skAM437x_armTestProject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/am437x/armv7/bios/am437x_app_dma_evmam437x.cfg [new file with mode: 0644]
packages/ti/drv/uart/test/am437x/armv7/bios/am437x_app_evmam437x.cfg [new file with mode: 0644]
packages/ti/drv/uart/test/am437x/armv7/bios/am437x_app_idkam437x.cfg [new file with mode: 0644]
packages/ti/drv/uart/test/am437x/armv7/bios/am437x_app_skam437x.cfg [new file with mode: 0644]
packages/ti/drv/uart/test/am571x/m4/bios/UART_BasicExample_idkAM571x_DMA_m4Testproject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/am571x/m4/bios/UART_BasicExample_idkAM571x_m4Testproject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/am571x/m4/bios/uart_m4_dma_idkAM571x.cfg [new file with mode: 0644]
packages/ti/drv/uart/test/am571x/m4/bios/uart_m4_idkAM571x.cfg [new file with mode: 0644]
packages/ti/drv/uart/test/am572x/armv7/bios/UART_BasicExample_evmAM572x_DMA_SMP_armTestproject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/am572x/armv7/bios/UART_BasicExample_evmAM572x_DMA_armTestproject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/am572x/armv7/bios/UART_BasicExample_evmAM572x_SMP_armTestproject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/am572x/armv7/bios/UART_BasicExample_evmAM572x_armTestproject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/am572x/armv7/bios/uart_arm_dma_evmAM572x.cfg [new file with mode: 0644]
packages/ti/drv/uart/test/am572x/armv7/bios/uart_arm_evmAM572x.cfg [new file with mode: 0644]
packages/ti/drv/uart/test/am572x/c66/bios/UART_BasicExample_evmAM572x_DMA_c66xTestProject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/am572x/c66/bios/UART_BasicExample_evmAM572x_c66xTestProject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/am572x/c66/bios/uart_linker.cmd [new file with mode: 0644]
packages/ti/drv/uart/test/am572x/c66/bios/uart_test_edma_evmAM572x.cfg [new file with mode: 0644]
packages/ti/drv/uart/test/am572x/c66/bios/uart_test_evmAM572x.cfg [new file with mode: 0644]
packages/ti/drv/uart/test/am572x/m4/bios/UART_BasicExample_evmAM572x_DMA_m4Testproject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/am572x/m4/bios/UART_BasicExample_evmAM572x_m4Testproject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/am572x/m4/bios/UART_BasicExample_idkAM572x_DMA_m4Testproject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/am572x/m4/bios/UART_BasicExample_idkAM572x_m4Testproject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/am572x/m4/bios/uart_m4_dma_evmAM572x.cfg [new file with mode: 0644]
packages/ti/drv/uart/test/am572x/m4/bios/uart_m4_dma_idkAM572x.cfg [new file with mode: 0644]
packages/ti/drv/uart/test/am572x/m4/bios/uart_m4_evmAM572x.cfg [new file with mode: 0644]
packages/ti/drv/uart/test/am572x/m4/bios/uart_m4_idkAM572x.cfg [new file with mode: 0644]
packages/ti/drv/uart/test/am574x/m4/bios/UART_BasicExample_idkAM574x_DMA_m4Testproject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/am574x/m4/bios/UART_BasicExample_idkAM574x_m4Testproject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/am574x/m4/bios/uart_m4_dma_idkAM574x.cfg [new file with mode: 0644]
packages/ti/drv/uart/test/am574x/m4/bios/uart_m4_idkAM574x.cfg [new file with mode: 0644]
packages/ti/drv/uart/test/am57x/armv7/bios/UART_BasicExample_idkAM571x_DMA_armTestproject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/am57x/armv7/bios/UART_BasicExample_idkAM571x_armTestproject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/am57x/armv7/bios/UART_BasicExample_idkAM572x_DMA_armTestproject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/am57x/armv7/bios/UART_BasicExample_idkAM572x_armTestproject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/am57x/armv7/bios/UART_BasicExample_idkAM574x_DMA_armTestproject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/am57x/armv7/bios/UART_BasicExample_idkAM574x_armTestproject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/am57x/armv7/bios/uart_arm.cfg [new file with mode: 0644]
packages/ti/drv/uart/test/am57x/armv7/bios/uart_arm_dma.cfg [new file with mode: 0644]
packages/ti/drv/uart/test/am57x/armv7/bios/uart_arm_dma_idkAM571x.cfg [new file with mode: 0644]
packages/ti/drv/uart/test/am57x/armv7/bios/uart_arm_dma_idkAM574x.cfg [new file with mode: 0644]
packages/ti/drv/uart/test/am57x/armv7/bios/uart_arm_idkAM571x.cfg [new file with mode: 0644]
packages/ti/drv/uart/test/am57x/armv7/bios/uart_arm_idkAM574x.cfg [new file with mode: 0644]
packages/ti/drv/uart/test/am57x/c66/bios/UART_BasicExample_idkAM571x_DMA_c66xTestProject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/am57x/c66/bios/UART_BasicExample_idkAM571x_c66xTestProject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/am57x/c66/bios/UART_BasicExample_idkAM572x_DMA_c66xTestProject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/am57x/c66/bios/UART_BasicExample_idkAM572x_c66xTestProject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/am57x/c66/bios/UART_BasicExample_idkAM574x_DMA_c66xTestProject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/am57x/c66/bios/UART_BasicExample_idkAM574x_c66xTestProject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/am57x/c66/bios/main.c [new file with mode: 0644]
packages/ti/drv/uart/test/am57x/c66/bios/uart_linker.cmd [new file with mode: 0644]
packages/ti/drv/uart/test/am57x/c66/bios/uart_test.cfg [new file with mode: 0644]
packages/ti/drv/uart/test/am57x/c66/bios/uart_test_edma.cfg [new file with mode: 0644]
packages/ti/drv/uart/test/am57x/c66/bios/uart_test_edma_idkAM571x.cfg [new file with mode: 0644]
packages/ti/drv/uart/test/am57x/c66/bios/uart_test_edma_idkAM574x.cfg [new file with mode: 0644]
packages/ti/drv/uart/test/am57x/c66/bios/uart_test_idkAM571x.cfg [new file with mode: 0644]
packages/ti/drv/uart/test/am57x/c66/bios/uart_test_idkAM574x.cfg [new file with mode: 0644]
packages/ti/drv/uart/test/am65xx/mpu.xs [new file with mode: 0644]
packages/ti/drv/uart/test/am65xx/uartUnitTest_a53.cfg [new file with mode: 0644]
packages/ti/drv/uart/test/am65xx/uartUnitTest_r5.cfg [new file with mode: 0644]
packages/ti/drv/uart/test/baremetal/Readme.txt [new file with mode: 0755]
packages/ti/drv/uart/test/baremetal/c66/makefile [new file with mode: 0644]
packages/ti/drv/uart/test/c6657/c66/bios/UART_BasicExample_C6657_c66xDMATestProject.txt [new file with mode: 0755]
packages/ti/drv/uart/test/c6657/c66/bios/UART_BasicExample_C6657_c66xTestProject.txt [new file with mode: 0755]
packages/ti/drv/uart/test/c6657/c66/bios/uart_test.cfg [new file with mode: 0755]
packages/ti/drv/uart/test/c6657/c66/bios/uart_test_edma.cfg [new file with mode: 0755]
packages/ti/drv/uart/test/c6657/linker.cmd [new file with mode: 0755]
packages/ti/drv/uart/test/c6678/c66/bios/UART_BasicExample_C6678_c66xDMATestProject.txt [new file with mode: 0755]
packages/ti/drv/uart/test/c6678/c66/bios/UART_BasicExample_C6678_c66xTestProject.txt [new file with mode: 0755]
packages/ti/drv/uart/test/c6678/c66/bios/uart_test.cfg [new file with mode: 0755]
packages/ti/drv/uart/test/c6678/c66/bios/uart_test_edma.cfg [new file with mode: 0755]
packages/ti/drv/uart/test/c6678/linker.cmd [new file with mode: 0755]
packages/ti/drv/uart/test/dra7xx/armv7/bios/UART_BasicExample_evmDRA72x_DMA_armTestproject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/dra7xx/armv7/bios/UART_BasicExample_evmDRA72x_armTestproject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/dra7xx/armv7/bios/UART_BasicExample_evmDRA75x_DMA_armTestproject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/dra7xx/armv7/bios/UART_BasicExample_evmDRA75x_armTestproject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/dra7xx/armv7/bios/uart_arm_dma_test.cfg [new file with mode: 0644]
packages/ti/drv/uart/test/dra7xx/armv7/bios/uart_arm_test.cfg [new file with mode: 0644]
packages/ti/drv/uart/test/dra7xx/c66/bios/UART_BasicExample_evmDRA72x_DMA_c66xTestProject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/dra7xx/c66/bios/UART_BasicExample_evmDRA72x_c66xTestProject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/dra7xx/c66/bios/UART_BasicExample_evmDRA75x_DMA_c66xTestProject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/dra7xx/c66/bios/UART_BasicExample_evmDRA75x_c66xTestProject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/dra7xx/c66/bios/UART_BasicExample_evmDRA78x_DMA_c66xTestProject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/dra7xx/c66/bios/UART_BasicExample_evmDRA78x_c66xTestProject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/dra7xx/c66/bios/uart_c66_test.cfg [new file with mode: 0644]
packages/ti/drv/uart/test/dra7xx/c66/bios/uart_c66_test_edma.cfg [new file with mode: 0644]
packages/ti/drv/uart/test/dra7xx/m4/bios/UART_BasicExample_evmDRA72x_DMA_m4Testproject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/dra7xx/m4/bios/UART_BasicExample_evmDRA72x_m4Testproject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/dra7xx/m4/bios/UART_BasicExample_evmDRA75x_DMA_m4Testproject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/dra7xx/m4/bios/UART_BasicExample_evmDRA75x_m4Testproject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/dra7xx/m4/bios/UART_BasicExample_evmDRA78x_DMA_m4Testproject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/dra7xx/m4/bios/UART_BasicExample_evmDRA78x_m4Testproject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/dra7xx/m4/bios/uart_m4_dma_test.cfg [new file with mode: 0644]
packages/ti/drv/uart/test/dra7xx/m4/bios/uart_m4_test.cfg [new file with mode: 0644]
packages/ti/drv/uart/test/firmware_test/am335x/armv7/bios/UART_FwTestExtLb_bbbAM335x_armTestProject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/firmware_test/am335x/armv7/bios/UART_FwTest_bbbAM335x_armTestProject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/firmware_test/am335x/armv7/bios/am335x_app_bbbam335x.cfg [new file with mode: 0644]
packages/ti/drv/uart/test/firmware_test/src/main_uart_test.c [new file with mode: 0644]
packages/ti/drv/uart/test/firmware_test/src/test_utils.c [new file with mode: 0644]
packages/ti/drv/uart/test/firmware_test/src/test_utils.h [new file with mode: 0644]
packages/ti/drv/uart/test/j721e/mpu.xs [new file with mode: 0644]
packages/ti/drv/uart/test/j721e/uartUnitTest_a72.cfg [new file with mode: 0755]
packages/ti/drv/uart/test/j721e/uartUnitTest_r5.cfg [new file with mode: 0644]
packages/ti/drv/uart/test/k2e/armv7/bios/UART_BasicExample_k2e_armDMATestproject.txt [new file with mode: 0755]
packages/ti/drv/uart/test/k2e/armv7/bios/UART_BasicExample_k2e_armTestproject.txt [new file with mode: 0755]
packages/ti/drv/uart/test/k2e/armv7/bios/uart_arm.cfg [new file with mode: 0755]
packages/ti/drv/uart/test/k2e/armv7/bios/uart_arm_dma.cfg [new file with mode: 0755]
packages/ti/drv/uart/test/k2e/c66/bios/UART_BasicExample_K2E_c66xDMATestProject.txt [new file with mode: 0755]
packages/ti/drv/uart/test/k2e/c66/bios/UART_BasicExample_K2E_c66xTestProject.txt [new file with mode: 0755]
packages/ti/drv/uart/test/k2e/c66/bios/uart_test.cfg [new file with mode: 0755]
packages/ti/drv/uart/test/k2e/c66/bios/uart_test_edma.cfg [new file with mode: 0755]
packages/ti/drv/uart/test/k2e/linker.cmd [new file with mode: 0755]
packages/ti/drv/uart/test/k2g/armv7/bios/UART_BasicExample_evmK2G_armDMATestproject.txt [new file with mode: 0755]
packages/ti/drv/uart/test/k2g/armv7/bios/UART_BasicExample_evmK2G_armTestproject.txt [new file with mode: 0755]
packages/ti/drv/uart/test/k2g/armv7/bios/UART_BasicExample_iceK2G_armDMATestproject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/k2g/armv7/bios/UART_BasicExample_iceK2G_armTestproject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/k2g/armv7/bios/uart_arm.cfg [new file with mode: 0755]
packages/ti/drv/uart/test/k2g/armv7/bios/uart_arm_dma.cfg [new file with mode: 0755]
packages/ti/drv/uart/test/k2g/armv7/bios/uart_arm_dma_ice.cfg [new file with mode: 0644]
packages/ti/drv/uart/test/k2g/armv7/bios/uart_arm_ice.cfg [new file with mode: 0644]
packages/ti/drv/uart/test/k2g/c66/bios/UART_BasicExample_evmK2G_c66xDMATestProject.txt [new file with mode: 0755]
packages/ti/drv/uart/test/k2g/c66/bios/UART_BasicExample_evmK2G_c66xTestProject.txt [new file with mode: 0755]
packages/ti/drv/uart/test/k2g/c66/bios/UART_BasicExample_iceK2G_c66xDMATestProject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/k2g/c66/bios/UART_BasicExample_iceK2G_c66xTestProject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/k2g/c66/bios/uart_test.cfg [new file with mode: 0755]
packages/ti/drv/uart/test/k2g/c66/bios/uart_test_edma.cfg [new file with mode: 0755]
packages/ti/drv/uart/test/k2g/c66/bios/uart_test_edma_ice.cfg [new file with mode: 0644]
packages/ti/drv/uart/test/k2g/c66/bios/uart_test_ice.cfg [new file with mode: 0644]
packages/ti/drv/uart/test/k2g/linker.cmd [new file with mode: 0755]
packages/ti/drv/uart/test/k2h/armv7/bios/UART_BasicExample_k2h_armDMATestproject.txt [new file with mode: 0755]
packages/ti/drv/uart/test/k2h/armv7/bios/UART_BasicExample_k2h_armTestproject.txt [new file with mode: 0755]
packages/ti/drv/uart/test/k2h/armv7/bios/uart_arm.cfg [new file with mode: 0755]
packages/ti/drv/uart/test/k2h/armv7/bios/uart_arm_dma.cfg [new file with mode: 0755]
packages/ti/drv/uart/test/k2h/c66/bios/UART_BasicExample_K2H_c66xDMATestProject.txt [new file with mode: 0755]
packages/ti/drv/uart/test/k2h/c66/bios/UART_BasicExample_K2H_c66xTestProject.txt [new file with mode: 0755]
packages/ti/drv/uart/test/k2h/c66/bios/uart_test.cfg [new file with mode: 0755]
packages/ti/drv/uart/test/k2h/c66/bios/uart_test_edma.cfg [new file with mode: 0755]
packages/ti/drv/uart/test/k2h/linker.cmd [new file with mode: 0755]
packages/ti/drv/uart/test/k2k/c66/bios/UART_BasicExample_K2K_c66xDMATestProject.txt [new file with mode: 0755]
packages/ti/drv/uart/test/k2k/c66/bios/UART_BasicExample_K2K_c66xTestProject.txt [new file with mode: 0755]
packages/ti/drv/uart/test/k2l/armv7/bios/UART_BasicExample_k2l_armDMATestproject.txt [new file with mode: 0755]
packages/ti/drv/uart/test/k2l/armv7/bios/UART_BasicExample_k2l_armTestproject.txt [new file with mode: 0755]
packages/ti/drv/uart/test/k2l/armv7/bios/uart_arm.cfg [new file with mode: 0644]
packages/ti/drv/uart/test/k2l/armv7/bios/uart_arm_dma.cfg [new file with mode: 0644]
packages/ti/drv/uart/test/k2l/c66/bios/UART_BasicExample_K2L_c66xDMATestProject.txt [new file with mode: 0755]
packages/ti/drv/uart/test/k2l/c66/bios/UART_BasicExample_K2L_c66xTestProject.txt [new file with mode: 0755]
packages/ti/drv/uart/test/k2l/c66/bios/uart_test.cfg [new file with mode: 0644]
packages/ti/drv/uart/test/k2l/c66/bios/uart_test_edma.cfg [new file with mode: 0644]
packages/ti/drv/uart/test/k2l/linker.cmd [new file with mode: 0755]
packages/ti/drv/uart/test/makefile [new file with mode: 0755]
packages/ti/drv/uart/test/omapl137/arm9/bios/UART_BasicExample_evmOMAPL137_armDMATestproject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/omapl137/arm9/bios/UART_BasicExample_evmOMAPL137_armTestproject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/omapl137/arm9/bios/uart_arm.cfg [new file with mode: 0644]
packages/ti/drv/uart/test/omapl137/arm9/bios/uart_arm_dma.cfg [new file with mode: 0644]
packages/ti/drv/uart/test/omapl137/c674/bios/UART_BasicExample_evmOMAPL137_c674xDMATestProject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/omapl137/c674/bios/UART_BasicExample_evmOMAPL137_c674xTestProject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/omapl137/c674/bios/uart_test.cfg [new file with mode: 0644]
packages/ti/drv/uart/test/omapl137/c674/bios/uart_test_edma.cfg [new file with mode: 0644]
packages/ti/drv/uart/test/omapl138/arm9/bios/UART_BasicExample_lcdkOMAPL138_armDMATestproject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/omapl138/arm9/bios/UART_BasicExample_lcdkOMAPL138_armTestproject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/omapl138/arm9/bios/uart_arm.cfg [new file with mode: 0644]
packages/ti/drv/uart/test/omapl138/arm9/bios/uart_arm_dma.cfg [new file with mode: 0644]
packages/ti/drv/uart/test/omapl138/c674/bios/UART_BasicExample_lcdkOMAPL138_c674xDMATestProject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/omapl138/c674/bios/UART_BasicExample_lcdkOMAPL138_c674xTestProject.txt [new file with mode: 0644]
packages/ti/drv/uart/test/omapl138/c674/bios/uart_test.cfg [new file with mode: 0644]
packages/ti/drv/uart/test/omapl138/c674/bios/uart_test_edma.cfg [new file with mode: 0644]
packages/ti/drv/uart/test/src/UART_board.h [new file with mode: 0644]
packages/ti/drv/uart/test/src/main_uart_test.c [new file with mode: 0755]
packages/ti/drv/uart/uart_component.mk [new file with mode: 0755]

diff --git a/packages/ti/drv/uart/.gitignore b/packages/ti/drv/uart/.gitignore
new file mode 100644 (file)
index 0000000..9ec4948
--- /dev/null
@@ -0,0 +1,27 @@
+*.swp
+*~
+.dlls
+.executables
+.interfaces
+.libraries
+.xdcenv.mak
+Settings.h
+Settings.xdc
+build/c66/
+build/k2[heklg]/
+build/am57*/
+build/am335x/
+build/am437x/
+build/m4/
+build/armv7/
+docs/Doxyfile
+docs/doxygen/
+example/sample/*/*/bios/src
+test/*/*/bios/src
+uartver.h
+lib/
+package.mak
+package/
+packages/
+*.o
+*.dep
diff --git a/packages/ti/drv/uart/COPYING.txt b/packages/ti/drv/uart/COPYING.txt
new file mode 100644 (file)
index 0000000..01c64a5
--- /dev/null
@@ -0,0 +1,32 @@
+/*
+ * Copyright (c) 2014-present, Texas Instruments Incorporated
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * *  Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *
+ * *  Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * *  Neither the name of Texas Instruments Incorporated nor the names of
+ *    its contributors may be used to endorse or promote products derived
+ *    from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
diff --git a/packages/ti/drv/uart/Settings.xdc.xdt b/packages/ti/drv/uart/Settings.xdc.xdt
new file mode 100644 (file)
index 0000000..c8a2184
--- /dev/null
@@ -0,0 +1,77 @@
+\r
+%%{\r
+/*!\r
+ *  This template implements the Settings.xdc\r
+ */  \r
+  /* Versioning */\r
+  var ver = this;\r
+  for each(i=0;i<ver.length;i++)\r
+  {\r
+      if(String(ver[i]).length < 2)\r
+      {\r
+        ver[i]="0"+ver[i];\r
+      }\r
+  }\r
+  \r
+  var packageVersion = "\""+ver[0]+"."+ver[1]+"."+ver[2]+"."+ver[3]+"\"";\r
+\r
+%%}\r
+\r
+module Settings\r
+{\r
+    config string uartVersionString = `packageVersion`;\r
+    /*! This variable is to control the SoC type selection.\r
+     * By default this variable is set to NULL.\r
+     * \r
+     * To use UART for the selected device, add the following lines to config\r
+     * file and set the deviceType correctly:\r
+        *\r
+     *      var uartSettings = xdc.useModule ('ti.drv.uart.Settings');\r
+     *      uartSettings.socType = "am572x";\r
+     * \r
+     */\r
+    metaonly config string socType = "";\r
+    /*! This variable is to control the DMA type selection.\r
+     * By default this variable is set to false.\r
+     * \r
+     * To use DMA SoC LIbrary for the selected device, add the following lines to config\r
+     * file and set the useSocDma correctly:\r
+        *\r
+     *      var uartSettings = xdc.useModule ('ti.drv.uart.Settings');\r
+     *      uartSettings.useDma = "true";\r
+     * \r
+     */\r
+    metaonly config string useDma = "false";   \r
+    /*! This flag is used to indicate whether or not the benchmarking code\r
+     * (defined in the profilingHooks class) will be used in the project.\r
+     * Note that a separate library has been compiled and will be used\r
+     * ($NAME).profiling.a($SUFFIX). This is set in the *.cfg file.\r
+     */\r
+    config Bool enableProfiling = false;\r
+       \r
+    /*! This variable is to control the device library type selection.\r
+     * By default this variable is set to release.\r
+     * \r
+     * To use CSL to use the debug/release library, add the following lines to config\r
+     * file and set the library profile accordingly:\r
+     * \r
+     *      var Uart Settings = xdc.useModule ('ti.Uart.Settings');\r
+     *      UartSettings.libProfile = "debug";\r
+     * \r
+     */\r
+    metaonly config string libProfile = "release";     \r
+\r
+    /*! This variable controls whether or not UART SW IP (PRU firmware) will be \r
+     * used in the project.\r
+     * \r
+     * By default this variable is set to false.\r
+     * \r
+     * To use UART SW IP for the selected device, add the following lines to config\r
+     * file and set the enableSwIp correctly:\r
+        *\r
+     *      var uartSettings = xdc.useModule ('ti.drv.uart.Settings');\r
+     *      uartSettings.enableSwIp = true;\r
+     * \r
+     */\r
+    config Bool enableSwIp = false;\r
+}\r
diff --git a/packages/ti/drv/uart/UART.h b/packages/ti/drv/uart/UART.h
new file mode 100644 (file)
index 0000000..cb4c6c5
--- /dev/null
@@ -0,0 +1,762 @@
+/*
+ * Copyright (c) 2014-2019, Texas Instruments Incorporated
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * *  Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *
+ * *  Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * *  Neither the name of Texas Instruments Incorporated nor the names of
+ *    its contributors may be used to endorse or promote products derived
+ *    from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/**
+ *  \defgroup DRV_UART_MODULE UART Driver
+ *
+ *  @{
+ */
+/* @} */
+
+/**
+ *  \ingroup DRV_UART_MODULE
+ *  \defgroup DRV_UART_API_MODULE UART Driver API
+ *            UART driver interface
+ *
+ *  @{
+ */
+
+/** ============================================================================
+ *  @file       UART.h
+ *
+ *  @brief      UART driver interface
+ *
+ *  The UART header file should be included in an application as follows:
+ *  @code
+ *  #include <ti/drv/uart/UART.h>
+ *  @endcode
+ *
+ *  # Operation #
+ *  The UART driver simplifies reading and writing to any of the UART
+ *  peripherals on the board with multiple modes of operation and performance.
+ *  These include blocking, non-blocking, and polling as well as text/binary
+ *  mode, echo and return characters. The boards UART peripheral and pins must
+ *  be configured before initializing the UART driver. The application
+ *  initializes the UART driver by calling UART_init() and is then ready to
+ *  open a UART by calling UART_open() and passing in a UART parameters data
+ *  structure.
+ *
+ *  The APIs in this driver serve as an interface to a typical TI-RTOS
+ *  application. The specific peripheral implementations are responsible to
+ *  create all the OS specific primitives to allow for thread-safe
+ *  operation.
+ *
+ *  ## Opening the driver #
+ *
+ *  @code
+ *  UART_Handle      handle;
+ *  UART_Params      params;
+ *
+ *  UART_Params_init(&params);
+ *  params.baudRate  = someNewBaudRate;
+ *  params.writeDataMode = UART_DATA_BINARY;
+ *  params.readDataMode = UART_DATA_BINARY;
+ *  params.readReturnMode = UART_RETURN_FULL;
+ *  params.readEcho = UART_ECHO_OFF;
+ *  handle = UART_open(someUART_configIndexValue, &params);
+ *  if (!handle) {
+ *      System_printf("UART did not open");
+ *  }
+ *  @endcode
+ *
+ *  ## Writing data #
+ *
+ *  @code
+ *  const unsigned char hello[] = "Hello World\n";
+ *
+ *  ret = UART_write(handle, hello, sizeof(hello));
+ *  System_printf("The UART wrote %d bytes\n", ret);
+ *  @endcode
+ *
+ *  ## Reading data #
+ *
+ *  @code
+ *  unsigned char rxBuffer[20];
+ *
+ *  ret = UART_read(handle, rxBuffer, sizeof(rxBuffer));
+ *  System_printf("The UART read %d bytes\n", ret);
+ *  @endcode
+ *
+ *  # Implementation #
+ *
+ *  This module serves as the main interface for TI-RTOS
+ *  applications. Its purpose is to redirect the module's APIs to specific
+ *  peripheral implementations which are specified using a pointer to a
+ *  UART_FxnTable.
+ *
+ *  The UART driver interface module is joined (at link time) to a
+ *  NULL-terminated array of UART_Config data structures named *UART_config*.
+ *  *UART_config* is implemented in the application with each entry being an
+ *  instance of a UART peripheral. Each entry in *UART_config* contains a:
+ *  - (UART_FxnTable *) to a set of functions that implement a UART peripheral
+ *  - (void *) data object that is associated with the UART_FxnTable
+ *  - (void *) hardware attributes that are associated to the UART_FxnTable
+ *
+ *
+ *  ============================================================================
+ */
+
+#ifndef ti_drivers_UART__include
+#define ti_drivers_UART__include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdint.h>
+#include <stddef.h>
+
+
+#define UART_SUCCESS ((int32_t)(0))
+#define UART_ERROR   (-((int32_t)1))
+
+/*!
+ *  @brief      A handle that is returned from a UART_open() call.
+ */
+typedef struct  UART_Config_s          *UART_Handle;
+
+/*!
+ *  @brief      The definition of a callback function used by the UART driver
+ *              when used in ::UART_MODE_CALLBACK
+ *
+ *  @param      UART_Handle             UART_Handle
+ *
+ *  @param      buf                     Pointer to read/write buffer
+ *
+ *  @param      count                   Number of elements read/written
+ */
+typedef void        (*UART_Callback)    (UART_Handle handle, void *buf, size_t count);
+
+/*!
+ *  @brief    UART transaction timeout define
+ */
+#define UART_NO_WAIT       ((uint32_t)0U)
+#define UART_WAIT_FOREVER  (~((uint32_t)0U))
+
+/*!
+ *  @brief    Transfer API version.
+ */
+typedef enum UART_TransferApiVer_s {
+    UART_TRANSFER_API_VER_1 = 1,
+       UART_TRANSFER_API_VER_2 = 2
+
+} UART_TransferApiVer;
+
+/*!
+ *  @brief    Transfer status codes that are set by the UART driver.
+ */
+typedef enum UART_TransferStatus_s {
+    UART_TRANSFER_STATUS_SUCCESS = 0,
+    UART_TRANSFER_STATUS_TIMEOUT,     /* Time out error */
+    UART_TRANSFER_STATUS_ERROR_BI,    /* Break condition error */
+    UART_TRANSFER_STATUS_ERROR_FE,    /* Framing error */
+    UART_TRANSFER_STATUS_ERROR_PE,    /* Parity error */
+    UART_TRANSFER_STATUS_ERROR_OE,    /* Overrun error */
+    UART_TRANSFER_STATUS_ERROR_OTH    /* Other error */
+
+} UART_TransferStatus;
+
+/*!
+ *  @brief
+ *  A ::UART_Transaction data structure is used with UART_read2(),  UART_write2() and UART_Callback2()
+ */
+typedef struct UART_Transaction_s {
+    /* User input (write-only) fields */
+    void               *buf;        /**< void * to a buffer with data to be transferred */
+    uint32_t            timeout;    /**< Timeout for this transaction */
+
+    /* User input (write-only) and output (read-only) fields */
+    uint32_t            count;      /**< Number of bytes for this transaction */
+
+    /* User output (read-only) fields */
+    UART_TransferStatus status;     /**< Status code set by UART_read2() and UART_write2() */
+
+    /* Driver-use only fields */
+} UART_Transaction;
+
+/*!
+ *  @brief      The definition of a callback2 function used by the UART driver
+ *              when used in ::UART_MODE_CALLBACK
+ *
+ *  @param      UART_Handle             UART_Handle
+ *
+ *  @param  transaction A pointer to a UART_Transaction. All of the fields within
+ *                      transaction except UART_Transaction.count and
+ *                      UART_Transaction.status are WO (write-only) unless
+ *                      otherwise noted in the driver implementations. If a
+ *                      transaction timeout or error has occured,
+ *                      UART_Transaction.count will contain the number of bytes
+ *                      that were transferred.
+ */
+typedef void        (*UART_Callback2)   (UART_Handle handle, UART_Transaction *transaction);
+
+/*!
+ *  @brief      UART mode settings
+ *
+ *  This enum defines the read and write modes for the
+ *  configured UART.
+ */
+typedef enum UART_Mode_e {
+    /*!
+      *  Uses a semaphore to block while data is being sent.  Context of the call
+      *  must be a Task.
+      */
+    UART_MODE_BLOCKING,
+
+    /*!
+      *  Non-blocking and will return immediately.  When the transfer by the Hwi
+      *  is finished the configured callback function is called.
+      */
+    UART_MODE_CALLBACK,
+} UART_Mode;
+
+/*!
+ *  @brief      UART return mode settings
+ *
+ *  This enumeration defines the return modes for UART_read and UART_readPolling.
+ *  UART_RETURN_FULL unblocks or performs a callback when the read buffer has
+ *  been filled.
+ *  UART_RETURN_NEWLINE unblocks or performs a callback whenever a newline
+ *  character has been received.
+ */
+typedef enum UART_ReturnMode_e {
+    /*! Unblock/callback when buffer is full. */
+    UART_RETURN_FULL,
+
+    /*! Unblock/callback when newline character is received. */
+    UART_RETURN_NEWLINE
+} UART_ReturnMode;
+
+/*!
+ *  @brief      UART data mode settings
+ *
+ *  This enumeration defines the data mode for read and write.
+ *  If the DataMode is text for write, write will add a return before a newline
+ *  character.  If the DataMode is text for a read, read will replace a return
+ *  with a newline.  This effectively treats all device line endings as LF and
+ *  all host PC line endings as CRLF.
+ */
+typedef enum UART_DataMode_e {
+    UART_DATA_BINARY,  /*!< Data is not processed */
+    UART_DATA_TEXT     /*!< Data is processed according to above */
+} UART_DataMode;
+
+/*!
+ *  @brief      UART echo settings
+ *
+ *  This enumeration defines if the driver will echo data.
+ */
+typedef enum UART_Echo_e {
+    UART_ECHO_OFF = 0,  /*!< Data is not echoed */
+    UART_ECHO_ON = 1    /*!< Data is echoed */
+} UART_Echo;
+
+/*!
+ *  @brief    UART data length settings
+ *
+ *  This enumeration defines the UART data lengths.
+ */
+
+typedef enum UART_LEN_e {
+    UART_LEN_5 = 0,        /*!< Data length is 5 */
+    UART_LEN_6 = 1,        /*!< Data length is 6 */
+    UART_LEN_7 = 2,        /*!< Data length is 7 */
+    UART_LEN_8 = 3,        /*!< Data length is 8 */
+#ifdef PRU_ICSS_FW  // PRU UART FW SW IP only
+    UART_LEN_9 = 4         /*!< Data length is 9 */
+#endif
+} UART_LEN;
+
+/*!
+ *  @brief    UART stop bit settings
+ *
+ *  This enumeration defines the UART stop bits.
+ */
+typedef enum UART_STOP_e {
+    UART_STOP_ONE = 0,     /*!< One stop bit */
+    UART_STOP_TWO = 1,     /*!< Two stop bits */
+#ifdef PRU_ICSS_FW  // PRU UART FW SW IP only, currently unsupported by HW IP driver
+    UART_STOP_ONEP5 = 2    /*!< One plus one half stop bits */
+#endif
+} UART_STOP;
+
+/*!
+ *  @brief    UART parity type settings
+ *
+ *  This enumeration defines the UART parity types.
+ */
+typedef enum UART_PAR_e {
+    UART_PAR_NONE = 0,  /*!< No parity */
+    UART_PAR_EVEN = 1,  /*!< Parity bit is even */
+    UART_PAR_ODD  = 2,  /*!< Parity bit is odd */
+    UART_PAR_ZERO = 3,  /*!< Parity bit is always zero */
+    UART_PAR_ONE  = 4   /*!< Parity bit is always one */
+} UART_PAR;
+
+#ifdef PRU_ICSS_FW // PRU UART FW only
+/*!
+ *  @brief    UART flow control settings
+ *
+ *  This enumeration defines the UART parity types.
+ */
+typedef enum UART_FC_TYPE_e {
+    UART_FC_NONE = 0,   /*!< No flow control */
+    UART_FC_HW   = 1    /*!< Hardware flow control */
+} UART_FC_TYPE;
+#endif
+
+/*!
+ *  @brief    Basic UART Parameters
+ */
+typedef struct UART_Params_s {
+    UART_Mode       readMode;           /*!< Mode for all read calls */
+    UART_Mode       writeMode;          /*!< Mode for all write calls */
+    uint32_t        readTimeout;        /*!< Timeout for read semaphore */
+    uint32_t        writeTimeout;       /*!< Timeout for write semaphore */
+    UART_Callback   readCallback;       /*!< Pointer to read callback */
+    UART_Callback   writeCallback;      /*!< Pointer to write callback */
+    UART_ReturnMode readReturnMode;     /*!< Receive return mode */
+    UART_DataMode   readDataMode;       /*!< Type of data being read */
+    UART_DataMode   writeDataMode;      /*!< Type of data being written */
+    UART_Echo       readEcho;           /*!< Echo received data back */
+    uint32_t        baudRate;           /*!< Baud rate for UART */
+    UART_LEN        dataLength;         /*!< Data length for UART */
+    UART_STOP       stopBits;           /*!< Stop bits for UART */
+    UART_PAR        parityType;         /*!< Parity bit type for UART */
+    UART_Callback2  readCallback2;      /**< Pointer to read callback2 */
+    UART_Callback2  writeCallback2;     /**< Pointer to write callback2 */
+#ifdef PRU_ICSS_FW // PRU UART FW only, currently unsupported by HW IP driver
+    UART_FC_TYPE    flowControlType;    /*!< Flow Control type */
+    uint8_t         hwFlowControlThr;   /*!< Hardware flow Control threshold, 0-0x100 */
+#endif
+} UART_Params;
+
+/*!
+ *  @brief      A function pointer to a driver specific implementation of
+ *              UART_CloseFxn().
+ */
+typedef void        (*UART_CloseFxn)          (UART_Handle handle);
+
+/*!
+ *  @brief      A function pointer to a driver specific implementation of
+ *              UART_control().
+ */
+typedef int32_t         (*UART_ControlFxn)        (UART_Handle handle,
+                                               uint32_t cmd,
+                                               void *arg);
+
+/*!
+ *  @brief      A function pointer to a driver specific implementation of
+ *              UART_init().
+ */
+typedef void        (*UART_InitFxn)           (UART_Handle handle);
+
+/*!
+ *  @brief      A function pointer to a driver specific implementation of
+ *              UART_OpenFxn().
+ */
+typedef UART_Handle (*UART_OpenFxn)           (UART_Handle handle,
+                                               const UART_Params *params);
+/*!
+ *  @brief      A function pointer to a driver specific implementation of
+ *              UART_ReadFxn().
+ */
+typedef int32_t     (*UART_ReadFxn)           (UART_Handle handle, void *buffer,
+                                               size_t size);
+
+/*!
+ *  @brief      A function pointer to a driver specific implementation of
+ *              UART_ReadPollingFxn().
+ */
+typedef int32_t     (*UART_ReadPollingFxn)    (UART_Handle handle, void *buffer,
+                                               size_t size);
+
+/*!
+ *  @brief      A function pointer to a driver specific implementation of
+ *              UART_ReadCancelFxn().
+ */
+typedef void        (*UART_ReadCancelFxn)     (UART_Handle handle);
+
+/*!
+ *  @brief      A function pointer to a driver specific implementation of
+ *              UART_CloseFxn().
+ */
+typedef int32_t     (*UART_WriteFxn)          (UART_Handle handle,
+                                               const void *buffer,
+                                               size_t size);
+
+/*!
+ *  @brief      A function pointer to a driver specific implementation of
+ *              UART_WritePollingFxn().
+ */
+typedef int32_t     (*UART_WritePollingFxn)   (UART_Handle handle,
+                                               const void *buffer,
+                                               size_t size);
+
+/*!
+ *  @brief      A function pointer to a driver specific implementation of
+ *              UART_WriteCancelFxn().
+ */
+typedef void        (*UART_WriteCancelFxn)    (UART_Handle handle);
+
+/*!
+ *  @brief      A function pointer to a driver specific implementation of
+ *              UART_ReadFxn2().
+ */
+typedef int32_t     (*UART_ReadFxn2)          (UART_Handle handle,
+                                               UART_Transaction *transaction);
+/*!
+ *  @brief      A function pointer to a driver specific implementation of
+ *              UART_WriteFxn2().
+ */
+typedef int32_t     (*UART_WriteFxn2)         (UART_Handle handle,
+                                               UART_Transaction *transaction);
+
+/*!
+ *  @brief      The definition of a UART function table that contains the
+ *              required set of functions to control a specific UART driver
+ *              implementation.
+ */
+typedef struct UART_FxnTable_s {
+    /*! Function to close the specified peripheral */
+    UART_CloseFxn           closeFxn;
+    /*! Function to implementation specific control function */
+    UART_ControlFxn         controlFxn;
+    /*! Function to initialize the given data object */
+    UART_InitFxn            uartInitFxn;
+    /*! Function to open the specified peripheral */
+    UART_OpenFxn            openFxn;
+    /*! Function to read from the specified peripheral */
+    UART_ReadFxn            readFxn;
+    /*! Function to read via polling from the specified peripheral */
+    UART_ReadPollingFxn     readPollingFxn;
+    /*! Function to cancel a read from the specified peripheral */
+    UART_ReadCancelFxn      readCancelFxn;
+    /*! Function to write from the specified peripheral */
+    UART_WriteFxn           writeFxn;
+    /*! Function to write via polling from the specified peripheral */
+    UART_WritePollingFxn    writePollingFxn;
+    /*! Function to cancel a write from the specified peripheral */
+    UART_WriteCancelFxn     writeCancelFxn;
+    /*! Function to read from the specified peripheral */
+    UART_ReadFxn2           readFxn2;
+    /*! Function to write from the specified peripheral */
+    UART_WriteFxn2          writeFxn2;
+    
+} UART_FxnTable;
+
+
+/*! @brief UART Global configuration */
+typedef struct UART_Config_s {
+    /*! Pointer to a table of a driver-specific implementation of UART functions */
+    UART_FxnTable const    *fxnTablePtr;
+
+    /*! Pointer to a driver specific data object */
+    void                   *object;
+
+    /*! Pointer to a driver specific hardware attributes structure */
+    void          const    *hwAttrs;
+} UART_Config;
+
+#define UART_MAX_CONFIG_CNT (14U)  
+typedef UART_Config UART_config_list[UART_MAX_CONFIG_CNT];
+
+
+/*!
+ *  @brief  Function to closes a given UART peripheral specified by the UART
+ *  handle.
+ *
+ *  @pre    UART_open() had to be called first.
+ *
+ *  @param  uartHnd A UART_Handle returned from UART_open
+ *
+ *  @sa     UART_open
+ */
+extern void UART_close(UART_Handle uartHnd);
+
+/*!
+ *  @brief  Function performs implementation specific features on a given
+ *          UART_Handle.
+ *
+ *  @pre    UART_open() has to be called first.
+ *
+ *  @param  uartHnd A UART handle returned from UART_open()
+ *
+ *  @param  cmd     A command value defined by the driver specific implementation
+ *
+ *  @param  arg     An optional argument that is accompanied with cmd
+ *
+ *  @return Implementation specific return codes. Negative values indicate
+ *          unsuccessful operations.
+ *
+ *  @sa     UART_open()
+ */
+extern int32_t UART_control(UART_Handle uartHnd, uint32_t cmd, void *arg);
+
+/*!
+ *  @brief  Function to initializes the UART module
+ *
+ *  @pre    The UART controller needs to be powered up and clocked. The
+ *          UART_config structure must exist and be persistent before this
+ *          function can be called. This function must also be called before
+ *          any other UART driver APIs.
+ */
+extern void UART_init(void);
+
+/*!
+ *  @brief  Function to initialize a given UART peripheral specified by the
+ *          particular index value. The parameter specifies which mode the UART
+ *          will operate.
+ *
+ *  @pre    UART controller has been initialized
+ *
+ *  @param  idx           Logical peripheral number indexed into the HWAttrs
+ *                        table
+ *
+ *  @param  uartParams    Pointer to an parameter block, if NULL it will use
+ *                        default values
+ *
+ *  @return A UART_Handle on success or a NULL on an error or if it has been
+ *          already opened
+ *
+ *  @sa     UART_close
+ */
+extern UART_Handle UART_open(uint32_t idx, UART_Params *uartParams);
+
+/*!
+ *  @brief  Function to initialize the UART_Params struct to its defaults
+ *
+ *  Defaults values are:
+ *  readMode = UART_MODE_BLOCKING;
+ *  writeMode = UART_MODE_BLOCKING;
+ *  readTimeout = BIOS_WAIT_FOREVER;
+ *  writeTimeout = BIOS_WAIT_FOREVER;
+ *  readCallback = NULL;
+ *  writeCallback = NULL;
+ *  readReturnMode = UART_RETURN_NEWLINE;
+ *  writeDataMode = UART_DATA_TEXT;
+ *  readDataMode = UART_DATA_TEXT;
+ *  readEcho = UART_ECHO_ON;
+ *  baudRate = 115200;
+ *  stopBits = UART_STOP_ONE;
+ *  parityType = UART_PAR_NONE;
+ *
+ *  @param  uartParams  Parameter structure to initialize
+ */
+extern void UART_Params_init(UART_Params *uartParams);
+
+
+/*!
+ *  @brief  Function that writes data to a UART
+ *
+ *  This function initiates an operation to write data to a UART controller.
+ *
+ *  In UART_MODE_BLOCKING, UART_write will block task execution until all
+ *  the data in buffer has been written.
+ *
+ *  In UART_MODE_CALLBACK, UART_write does not block task execution an calls a
+ *  callback function specified by writeCallback.
+ *
+ *  @param  uartHnd     A UART_Handle
+ *
+ *  @param  buffer      A pointer to buffer containing data to be written
+ *
+ *  @param  size        The number of bytes in buffer that should be written
+ *                      onto the UART.
+ *
+ *  @return Returns the number of bytes that have been written to the UART,
+ *          UART_ERROR on an error.
+ */
+extern int32_t UART_write(UART_Handle uartHnd, const void *buffer, size_t size);
+
+/*!
+ *  @brief  Function that writes data to a UART
+ *
+ *  This function initiates an operation to write data to a UART controller.
+ *
+ *  UART_write will not return until all the data was written to the UART.
+ *
+ *  @param  uartHnd     A UART_Handle
+ *
+ *  @param  buffer      A pointer to buffer containing data to be written
+ *
+ *  @param  size        The number of bytes in buffer that should be written
+ *                      onto the UART.
+ *
+ *  @return Returns the number of bytes that have been written to the UART,
+ *          UART_ERROR on an error.
+ */
+extern int32_t UART_writePolling(UART_Handle uartHnd, const void *buffer,
+                             size_t size);
+
+/*!
+ *  @brief  Function that cancels a UART_write function call.
+ *
+ *  This function cancels an operation to write data to a UART controller
+ *  when in UART_MODE_CALLBACK.
+ *
+ *  @param  handle      A UART_Handle
+ */
+extern void UART_writeCancel(UART_Handle handle);
+
+/*!
+ *  @brief  Function that read data from a UART
+ *
+ *  This function initiates an operation to read data from a UART controller.
+ *
+ *  In UART_MODE_BLOCKING, UART_read will block task execution until all
+ *  the data in buffer has been read.
+ *
+ *  In UART_MODE_CALLBACK, UART_read does not block task execution an calls a
+ *  callback function specified by readCallback.
+ *
+ *  @param  handle      A UART_Handle
+ *
+ *  @param  buffer      A pointer to an empty buffer in which data should be
+ *                      written to
+ *
+ *  @param  size        The number of bytes to be written into buffer
+ *
+ *  @return Returns the number of bytes that have been read from the UART,
+ *          UART_ERROR on an error.
+ */
+extern int32_t UART_read(UART_Handle handle, void *buffer, size_t size);
+
+/*!
+ *  @brief  Function that reads data from a UART
+ *
+ *  This function initiates an operation to read data from a UART controller.
+ *
+ *  UART_readPolling will not return until size data was read to the UART.
+ *
+ *  @param  handle      A UART_Handle
+ *
+ *  @param  buffer      A pointer to an empty buffer in which data should be
+ *                      written to
+ *
+ *  @param  size        The number of bytes to be written into buffer
+ *
+ *  @return Returns the number of bytes that have been read from the UART,
+ *          UART_ERROR on an error.
+ */
+extern int32_t UART_readPolling(UART_Handle handle, void *buffer, size_t size);
+
+/*!
+ *  @brief  Function that cancels a UART_read function call.
+ *
+ *  This function cancels an operation to read data from a UART controller
+ *  when in UART_MODE_CALLBACK.
+ *
+ *  @param  handle      A UART_Handle
+ */
+extern void UART_readCancel(UART_Handle handle);
+
+/*!
+ *  @brief  Extended function that read data from a UART
+ *
+ *  This function initiates an operation to read data from a UART controller.
+ *
+ *  In UART_MODE_BLOCKING, UART_read2 will block task execution until all
+ *  the data in buffer has been read.
+ *
+ *  In UART_MODE_CALLBACK, UART_read2 does not block task execution an calls a
+ *  callback function specified by readCallback.
+ *
+ *  @param  handle      A UART_Handle
+ *
+ *  @param  uartTrans   A pointer to a UART_Transaction. All of the fields within
+ *                      transaction except UART_Transaction.count and
+ *                      UART_Transaction.status are WO (write-only) unless
+ *                      otherwise noted in the driver implementations. If a
+ *                      transaction timeout or error has occured,
+ *                      UART_Transaction.count will contain the number of bytes
+ *                      that were transferred. In the callback mode, the application
+ *                      allocates transaction memory and UART driver owns the pointer
+ *                      unitil it is returned to the application via the callback
+ *                      function, thus the memory should not be allocated on the
+ *                      stack, and dynamic free must occur in the callback (not
+ *                      immediately after calling read2/write2)
+ *
+ *  @return Returns UART_SUCCESS or UART_ERROR on an error.
+ */
+extern int32_t UART_read2(UART_Handle handle, UART_Transaction *uartTrans);
+
+/*!
+ *  @brief  Extended function that writes data to a UART
+ *
+ *  This function initiates an operation to write data to a UART controller.
+ *
+ *  In UART_MODE_BLOCKING, UART_write will block task execution until all
+ *  the data in buffer has been written.
+ *
+ *  In UART_MODE_CALLBACK, UART_write does not block task execution an calls a
+ *  callback function specified by writeCallback.
+ *
+ *  @param  handle      A UART_Handle
+ *
+ *  @param  uartTrans   A pointer to a UART_Transaction. All of the fields within
+ *                      transaction except UART_Transaction.count and
+ *                      UART_Transaction.status are WO (write-only) unless
+ *                      otherwise noted in the driver implementations. If a
+ *                      transaction timeout or error has occured,
+ *                      UART_Transaction.count will contain the number of bytes
+ *                      that were transferred. In the callback mode, the application
+ *                      allocates transaction memory and UART driver owns the pointer
+ *                      unitil it is returned to the application via the callback
+ *                      function, thus the memory should not be allocated on the
+ *                      stack, and dynamic free must occur in the callback (not
+ *                      immediately after calling read2/write2)
+ *
+ *  @return Returns UART_SUCCESS or UART_ERROR on an error.
+ */
+extern int32_t UART_write2(UART_Handle handle, UART_Transaction *uartTrans);
+
+/*!
+ *  @brief  Function to initialize the UART_Transaction struct to its defaults
+ *
+ *  @param  uartTrans   A pointer to a UART_Transaction to be initialized. 
+ *
+ *  @return    uartTrans initialized with default values such as:
+ *             uartTrans->buf = NULL;
+ *             uartTrans->timeout = UART_WAIT_FOREVER;
+ *             uartTrans->count = 0;
+ *             uartTrans->status = UART_TRANSFER_STATUS_SUCCESS;
+ */
+extern void UART_transactionInit(UART_Transaction *uartTrans);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* ti_drivers_UART__include */
+
+/* @} */
diff --git a/packages/ti/drv/uart/UART_stdio.h b/packages/ti/drv/uart/UART_stdio.h
new file mode 100644 (file)
index 0000000..e6cc3e9
--- /dev/null
@@ -0,0 +1,270 @@
+/**
+ * @file   UART_stdio.h
+ *
+ * @brief  This header file contains function prototypes which interface
+ *         interactively with the user through the serial console to perform
+ *         some utility operations.
+ */
+/*
+ * Copyright (c) 2014-2015, Texas Instruments Incorporated
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * *  Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *
+ * *  Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * *  Neither the name of Texas Instruments Incorporated nor the names of
+ *    its contributors may be used to endorse or promote products derived
+ *    from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef UARTSTDIO_H_
+#define UARTSTDIO_H_
+
+#include <stdint.h>
+#include <stdarg.h>
+
+#include <ti/drv/uart/UART.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/****************************************************************************
+**                    MACRO DEFINITIONS
+****************************************************************************/
+
+#ifndef E_PASS
+#define E_PASS    ((int32_t)(0))
+#endif
+#ifndef E_FAIL
+#define E_FAIL    (-((int32_t)1))
+#endif
+
+#define S_PASS                  (0)
+/****************************************************************************
+**                    FUNCTION PROTOTYPES
+****************************************************************************/
+
+/**
+ * @brief  This function writes data from a specified buffer onto the
+ *         transmitter FIFO of UART.
+ *
+ * @param  pTxBuffer        Pointer to a buffer in the transmitter.
+ * @param  numBytesToWrite  Number of bytes to be transmitted to the
+ *                          transmitter FIFO. The user has the freedom to not
+ *                          specify any valid value for this if he wants to
+ *                          print until the occurence of a NULL character.
+ *                          In this case, he has to pass a negative value as
+ *                          this parameter.
+ *
+ * @return  Number of bytes written to the transmitter FIFO.
+ *
+ * @note   1> Whenever a null character(\\0) is encountered in the
+ *            data to be transmitted, the transmission is stopped. \n
+ *         2> - Whenever the transmitter data has a new line character(\\n),
+ *            it is interpreted as a new line(\\n) + carraige return(\\r)
+ *            characters. This is because the serial console interprets a
+ *            new line character as it is and does not introduce a carraige
+ *            return. \n
+ *
+ *         Some example function calls of this function are: \n
+ *
+ *         UARTPuts(txArray, -2): This shall print the contents of txArray[]
+ *         until the occurence of a NULL character. \n
+ *
+ *         UARTPuts("Hello World", 8): This shall print the first 8 characters
+ *         of the string shown. \n
+ *
+ *         UARTPuts("Hello World", 20): This shall print the string shown until
+ *         the occurence of the NULL character. Here, the NULL character is
+ *         encountered earlier than the length of 20 bytes.\n
+ *
+ */
+uint32_t UART_puts(const char *pTxBuffer, int32_t numBytesToWrite);
+
+/**
+ * @brief  This function reads data from the receiver FIFO to a buffer
+ *         in the receiver.
+ *
+ * @param  pRxBuffer        Pointer to a buffer in the receiver.
+ * @param  numBytesToRead   The number of bytes the receiver buffer can hold.
+ *                          However, if the user wishes not to specify this
+ *                          parameter, he has freedom to do so. In that case,
+ *                          the user has to pass a negative value for this
+ *                          parameter.
+ *
+ * @return  Number of bytes read from the receiver FIFO.
+ *
+ * @note   The two exit points for this function are:
+ *         1> To enter an ESC character or a carraige return character('Enter'
+ *            key on the Keyboard).\n
+ *         2> Specify a limit to the number of bytes to be read. \n
+ *
+ *         Some example function calls of this function are:
+ *
+ *         UARTGets(rxBuffer, -2): This reads characters from
+ *         the receiver FIFO of UART until the occurence of a carriage return
+ *         ('Enter' key on the keyboard pressed) or an ESC character.
+ *
+ *         UARTGets(rxBuffer, 12): This reads characters until
+ *         12 characters have been read or until an occurence of a carriage
+ *         return or an ESC character, whichever occurs first.
+ */
+uint32_t UART_gets(char *pRxBuffer, int32_t numBytesToRead);
+
+
+/**
+ * Writes a string of characters to the UART output.
+ *
+ * @param pcBuf points to a buffer containing the string to transmit.
+ * @param ulLen is the length of the string to transmit.
+ *
+ * This function will transmit the string to the UART output.  The number of
+ * characters transmitted is determined by the \e ulLen parameter.  This
+ * function does no interpretation or translation of any characters.  Since
+ * the output is sent to a UART, any LF (/n) characters encountered will be
+ * replaced with a CRLF pair.
+ *
+ * Besides using the \e ulLen parameter to stop transmitting the string, if a
+ * null character (0) is encountered, then no more characters will be
+ * transmitted and the function will return.
+ *
+ * In non-buffered mode, this function is blocking and will not return until
+ * all the characters have been written to the output FIFO.  In buffered mode,
+ * the characters are written to the UART transmit buffer and the call returns
+ * immediately.  If insufficient space remains in the transmit buffer,
+ * additional characters are discarded.
+ *
+ * @return Returns the count of characters written.
+ */
+int32_t UART_dataWrite(const char *pcBuf, uint32_t ulLen);
+
+/**
+ * A simple UART based printf function supporting \%c, \%d, \%p, \%s, \%u,
+ * \%x, and \%X.
+ *
+ * @param pcString is the format string.
+ * @param ... are the optional arguments, which depend on the contents of the
+ * format string.
+ *
+ * This function is very similar to the C library <tt>fprintf()</tt> function.
+ * All of its output will be sent to the UART.  Only the following formatting
+ * characters are supported:
+ *
+ * - \%c to print a character
+ * - \%d to print a decimal value
+ * - \%s to print a string
+ * - \%u to print an unsigned decimal value
+ * - \%x to print a hexadecimal value using lower case letters
+ * - \%X to print a hexadecimal value using lower case letters (not upper case
+ * letters as would typically be used)
+ * - \%p to print a pointer as a hexadecimal value
+ * - \%\% to print out a \% character
+ *
+ * For \%s, \%d, \%u, \%p, \%x, and \%X, an optional number may reside
+ * between the \% and the format character, which specifies the minimum number
+ * of characters to use for that value; if preceded by a 0 then the extra
+ * characters will be filled with zeros instead of spaces.  For example,
+ * ``\%8d'' will use eight characters to print the decimal value with spaces
+ * added to reach eight; ``\%08d'' will use eight characters as well but will
+ * add zeroes instead of spaces.
+ *
+ * The type of the arguments after \e pcString must match the requirements of
+ * the format string.  For example, if an integer was passed where a string
+ * was expected, an error of some kind will most likely occur.
+ *
+ * @return None.
+ */
+void UART_printf(const char *pcString, ...);
+
+void UART_putc(uint8_t byteTx);
+
+
+uint8_t UART_getc(void);
+
+/**
+ * @brief   This function initializes the specified UART instance for use for
+ *          console operations , with a configuration specified by 'uartParams'
+ *
+ * @param   instance - uart instance ID.
+ *
+ * @param   uartParams - Configuration parameters.
+ *
+ * @return  None.
+ *
+ */
+void UART_stdioInit2(uint32_t instance,UART_Params *uartParams);
+
+/**
+ * @brief   This function initializes the specified UART instance for use for
+ *          console operations.
+ *
+ * @param   value - the UART instance number
+ * 
+ * @return  None.
+ *
+ */
+void UART_stdioInit(uint32_t value);
+
+
+/**
+ * @brief   This function shall read the formatted input from UART console.
+ *          Format specifier follows %[fill][width]specifier
+ *          Following formatting specifier are supported.
+ *          - %c to input a character.
+ *          - %d to input a decimal value.
+ *          - %s to input a string.
+ *          - %u to input an unsigned decimal value.
+ *          - %x, \%X to input a hexadecimal value using lower case letters.
+ *          - %p to input a pointer as a hexadecimal value.
+ *
+ * @param   pString  Pointer to the format string.
+ *
+ * @retval   S_PASS  Sucessfully executed.
+ * @retval   E_FAIL  If an error occurred.
+ */
+int32_t UART_scanFmt(const char *pString, ...);
+
+/**
+ * @brief   This function de-initializes the UART instance
+ *          that is opened for console operations.
+ *
+ * @return  None.
+ *
+ */
+void UART_stdioDeInit(void);
+
+/**
+ * @brief   This function prints the status on the UART instance
+ *          that is opened for console operations.
+ *
+ * @param   statusString  - string pointer.
+ *
+ * @return  None.
+ *
+ */
+void UART_printStatus(const char *statusString);
+
+#ifdef __cplusplus
+}
+#endif
+#endif
diff --git a/packages/ti/drv/uart/UART_ver.h b/packages/ti/drv/uart/UART_ver.h
new file mode 100644 (file)
index 0000000..cc7b7ee
--- /dev/null
@@ -0,0 +1,68 @@
+#ifndef _UARTVER_H
+#define _UARTVER_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ============================================================= */
+/**
+ *   @file  UART_ver.h
+ *
+ *   path  ti/drv/uart/UART_ver.h
+ *
+ *   @brief  uart Driver Version Definitions
+ *
+ *  ============================================================
+ *  Copyright (c) Texas Instruments Incorporated 2009-2019
+ * 
+ *  Redistribution and use in source and binary forms, with or without 
+ *  modification, are permitted provided that the following conditions 
+ *  are met:
+ *
+ *    Redistributions of source code must retain the above copyright 
+ *    notice, this list of conditions and the following disclaimer.
+ *
+ *    Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the 
+ *    documentation and/or other materials provided with the   
+ *    distribution.
+ *
+ *    Neither the name of Texas Instruments Incorporated nor the names of
+ *    its contributors may be used to endorse or promote products derived
+ *    from this software without specific prior written permission.
+ *
+ *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
+ *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 
+ *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ *  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 
+ *  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 
+ *  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ *  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ *  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 
+ *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
+ *  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+*/
+
+/**
+ * @brief   This is the uart Driver Version. Versions numbers are encoded in the following 
+ * format:
+ *  0xAABBCCDD -> Arch (AA); API Changes (BB); Major (CC); Minor (DD)
+ */
+#define UART_DRV_VERSION_ID                     (0x01000010)
+
+/**
+ * @brief   This is the version string which describes the UART driver along with the
+ * date and build information.
+ */
+#define UART_DRV_VERSION_STR                    "uart Driver Revision: 01.00.00.16"
+
+
+#ifdef __cplusplus
+}
+#endif
+  
+
+#endif  /* _UARTVER_H */
diff --git a/packages/ti/drv/uart/UART_ver.h.xdt b/packages/ti/drv/uart/UART_ver.h.xdt
new file mode 100644 (file)
index 0000000..e815d46
--- /dev/null
@@ -0,0 +1,100 @@
+%%{
+/*!
+ *  This template implements the UART_ver.h
+ */  
+  /* Versioning */
+  var ver = this;
+  var ver1 = [00,00,00,00];
+  var ver2 = [00,00,00,00];
+  
+  for each(i=0;i<ver.length;i++)
+  {
+      if(String(ver[i]).length < 2)
+      {
+        ver1[i]="0"+ver[i];
+      }
+      else
+      {
+        ver1[i] = ver[i];
+      }
+      
+      ver2[i] = Number(ver[i]).toString(16).toUpperCase();
+      
+      if(String(ver2[i]).length < 2)
+      {
+        ver2[i]="0"+ver2[i];
+      }
+  }
+  
+  var versionStr = "\""+"uart Driver Revision: "+ver1[0]+"."+ver1[1]+"."+ver1[2]+"."+ver1[3]+"\"";
+  var versionID = "(0x"+ver2[0]+ver2[1]+ver2[2]+ver2[3]+")";
+
+%%}
+#ifndef _UARTVER_H
+#define _UARTVER_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ============================================================= */
+/**
+ *   @file  UART_ver.h
+ *
+ *   path  ti/drv/uart/UART_ver.h
+ *
+ *   @brief  uart Driver Version Definitions
+ *
+ *  ============================================================
+ *  Copyright (c) Texas Instruments Incorporated 2009-2017
+ * 
+ *  Redistribution and use in source and binary forms, with or without 
+ *  modification, are permitted provided that the following conditions 
+ *  are met:
+ *
+ *    Redistributions of source code must retain the above copyright 
+ *    notice, this list of conditions and the following disclaimer.
+ *
+ *    Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the 
+ *    documentation and/or other materials provided with the   
+ *    distribution.
+ *
+ *    Neither the name of Texas Instruments Incorporated nor the names of
+ *    its contributors may be used to endorse or promote products derived
+ *    from this software without specific prior written permission.
+ *
+ *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
+ *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 
+ *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ *  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 
+ *  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 
+ *  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ *  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ *  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 
+ *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
+ *  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+*/
+
+/**
+ * @brief   This is the uart Driver Version. Versions numbers are encoded in the following 
+ * format:
+ *  0xAABBCCDD -> Arch (AA); API Changes (BB); Major (CC); Minor (DD)
+ */
+#define UART_DRV_VERSION_ID                     `versionID`
+
+/**
+ * @brief   This is the version string which describes the UART driver along with the
+ * date and build information.
+ */
+#define UART_DRV_VERSION_STR                    `versionStr`
+
+
+#ifdef __cplusplus
+}
+#endif
+  
+
+#endif  /* _UARTVER_H */
diff --git a/packages/ti/drv/uart/build/buildlib.xs b/packages/ti/drv/uart/build/buildlib.xs
new file mode 100644 (file)
index 0000000..848bd4b
--- /dev/null
@@ -0,0 +1,630 @@
+/******************************************************************************\r
+ * FILE PURPOSE: Build Library Utilities\r
+ ******************************************************************************\r
+ * FILE NAME: buildlib.xs\r
+ *\r
+ * DESCRIPTION: \r
+ *  This file contains common routines that are used by the various LLD\r
+ *  components.\r
+ *\r
+ * Copyright (C) 2014-2015, Texas Instruments, Inc.\r
+ *****************************************************************************/\r
+\r
+/**************************************************************************\r
+ * FUNCTION NAME : listAllFiles\r
+ **************************************************************************\r
+ * DESCRIPTION   :\r
+ *  Utility function which lists all files with a specific extension \r
+ *  present in a directory and any directory inside it.\r
+ **************************************************************************/\r
+function listAllFiles(ext, dir, recurse)\r
+{     \r
+    var srcFile = [];\r
+    var d;\r
+\r
+    /* If recurse parameter is not specified we default to recursive search. */\r
+    if (recurse == null)\r
+        recurse = true;\r
+\r
+    if (dir == undefined) \r
+          d = ".";\r
+    else \r
+      d = dir;\r
+\r
+    /* Get access to the current directory. */\r
+    var file = new java.io.File(d);\r
+\r
+    /* Check if the file exists and it is a directory. */\r
+    if (file.exists() && file.isDirectory()) \r
+    {\r
+        /* Get a list of all files in the specific directory. */\r
+        var fileList = file.listFiles();\r
+        for (var i = 0; i < fileList.length; i++) \r
+        {\r
+            /* Dont add the generated directory 'package' and any of its files \r
+             * to the list here. */\r
+            if (fileList[i].getName().matches("package") == false)\r
+            {\r
+                /* Check if the detected file is a directory */\r
+                if (fileList[i].isDirectory())\r
+                {\r
+                    /* We will recurse into the subdirectory only if required to do so. */\r
+                    if (recurse == true)\r
+                    {\r
+                        /* Generate the directory Name in which we will recurse. */ \r
+                        var directoryName = d + "/" + fileList[i].getName();\r
+\r
+                        /* Get a list of all files in this directory */\r
+                        var fileListing = listAllFiles (ext, directoryName, recurse);\r
+                        if (fileListing != null)\r
+                        {\r
+                            /* Return a list of all file names in the directory. */\r
+                            for (var j = 0 ; j < fileListing.length; j++) \r
+                                srcFile[srcFile.length++] = fileListing[j];\r
+                        }\r
+                    }\r
+                }\r
+                else\r
+                {\r
+                    /* This was a file. Check if the file name matches the extension */\r
+                    if (fileList[i].getName().endsWith(ext) == true)\r
+                        srcFile[srcFile.length++] = d + "/" + fileList[i].getName();\r
+                }\r
+            }\r
+        }\r
+\r
+        return srcFile;\r
+    }\r
+    return null;\r
+}\r
+\r
+\r
+function createMake(makefile)\r
+{\r
+    /* Create the main make file */\r
+    var fileModule = xdc.module('xdc.services.io.File');\r
+    if(makefile==undefined)\r
+    {\r
+      try{\r
+          makefile = fileModule.open("makefile", "w");\r
+         } catch (ex)\r
+         {\r
+           print("makefile cannot be written to. Please check Writing Permissions.");\r
+           java.lang.System.exit(1);\r
+         }   \r
+    \r
+      Pkg.makePrologue += "\ninclude makefile\n"; \r
+         \r
+      Pkg.makeEpilogue += "\nclean::\n\t-$(RM)  makefile\n";\r
+      makefile.writeLine("#*******************************************************************************");\r
+      makefile.writeLine("#* FILE PURPOSE: Top level makefile for Creating Component Libraries");\r
+      makefile.writeLine("#*******************************************************************************");\r
+      makefile.writeLine("#* FILE NAME: makefile");\r
+      makefile.writeLine("#*");\r
+      makefile.writeLine("#* DESCRIPTION: Defines Compiler tools paths, libraries , Build Options ");\r
+      makefile.writeLine("#*");\r
+      makefile.writeLine("#*");\r
+      makefile.writeLine("#*******************************************************************************");\r
+      makefile.writeLine("#*");\r
+      makefile.writeLine("# (Mandatory) Specify where various tools are installed.");\r
+\r
+      var file = xdc.module('xdc.services.io.File');\r
+    \r
+      \r
+      makefile.writeLine("\n# Output for prebuilt generated libraries");\r
+      makefile.writeLine("export LIBDIR ?= ./lib");\r
+      /* use sectti.exe from path */\r
+      makefile.writeLine("export SECTTI ?= sectti");\r
+\r
+      /* Create INCDIR from XDCPATH */\r
+    \r
+      /* copy the environment array from the current environment */\r
+      var env   = java.lang.System.getenv();\r
+      var getxdcpath=String(java.lang.System.getenv("XDCPATH"));\r
+      getxdcpath= getxdcpath.replace(/\\/g,"/");\r
+      var keys  = env.keySet().toArray();\r
+      var key;\r
+      var stat={};\r
+      var env_j=[];\r
+      var listxdcpath = new Array();\r
+      for (var i = 0; i < keys.length; i++) {\r
+           key = String(keys[i]);\r
+           if((key.match("INSTALL_PATH")) || (key.match("INSTALLDIR")))\r
+           {\r
+             var keyPath=String(env.get(key));\r
+             keyPath=keyPath.replace(/\\/g,"/");\r
+             var file = xdc.module('xdc.services.io.File');\r
+             keyPath=file.getDOSPath(keyPath);\r
+             if(getxdcpath.toString().match(keyPath))\r
+             {\r
+                 listxdcpath.push({keyname: key,keypath: keyPath});\r
+                 while(getxdcpath.toString().match(keyPath))\r
+                 {\r
+                   getxdcpath=getxdcpath.toString().replace(keyPath,"$("+key+")");\r
+                 }\r
+             }\r
+           }\r
+    \r
+     }\r
+       var pkgroot="..";\r
+       for (var i = Pkg.name.split('.').length; i > 1; i--) {\r
+              pkgroot+="/..";\r
+          }\r
+        \r
+      makefile.writeLine("\n# ROOT Directory");        \r
+      makefile.writeLine("export ROOTDIR := "+pkgroot);\r
+    \r
+      makefile.writeLine("\n# INCLUDE Directory");\r
+      makefile.writeLine("export INCDIR := "+getxdcpath+";$(ROOTDIR)");       \r
+    \r
+      makefile.writeLine("\n# Common Macros used in make");  \r
+      makefile.writeLine("\nifndef RM");     \r
+      makefile.writeLine("export RM = rm -f");\r
+      makefile.writeLine("endif");        \r
+    \r
+      makefile.writeLine("\nifndef CP");     \r
+      makefile.writeLine("export CP = cp -p");    \r
+      makefile.writeLine("endif");    \r
+        \r
+      makefile.writeLine("\nexport MKDIR = mkdir -p");\r
+    \r
+      makefile.writeLine("\nifndef RMDIR");         \r
+      makefile.writeLine("export RMDIR = rm -rf");\r
+      makefile.writeLine("endif");        \r
+    \r
+      makefile.writeLine("\nifndef SED"); \r
+      makefile.writeLine("export SED = sed");    \r
+      makefile.writeLine("endif");    \r
+    \r
+      makefile.writeLine("\nifndef MAKE"); \r
+      makefile.writeLine("export MAKE = make");    \r
+      makefile.writeLine("endif");        \r
+\r
+      makefile.writeLine("\n# PHONY Targets");                \r
+      makefile.writeLine(".PHONY: all clean cleanall ");    \r
+      \r
+      makefile.writeLine("\n# FORCE Targets");                \r
+      makefile.writeLine("FORCE: ");          \r
+      \r
+      makefile.writeLine("\n# all rule");                \r
+      makefile.writeLine("all: .executables");           \r
+      makefile.writeLine(".executables: .libraries");\r
+      makefile.writeLine(".libraries:");\r
+      \r
+      makefile.writeLine("\n# Clean Rule");          \r
+      makefile.writeLine("clean:: clean_package");                  \r
+      makefile.writeLine("# Clean Top Level Object Directory ");          \r
+      makefile.writeLine("clean_package :\n\t$(RMDIR) $(LIBDIR)/*/");      \r
+      makefile.writeLine("\t$(RMDIR) package/cfg");            \r
+   }\r
+   else\r
+   {\r
+     try{\r
+          makefile = fileModule.open("makefile", "a");\r
+         } catch (ex)\r
+         {\r
+           print("makefile cannot be written to. Please check Writing Permissions.");\r
+           java.lang.System.exit(1);\r
+         }  \r
+    \r
+    }\r
+\r
+ return makefile;\r
+}\r
+\r
+function createLibMake(device, objExtDir, makelibname,targetname, objectPath, useProfiling)\r
+{\r
+   var tooldir;\r
+   var cmdprefix;\r
+   var targetDir;\r
+   var stringname=String(targetname).replace("(xdc.bld.ITarget.Module)","");\r
+   var benchSuffix = "";\r
+\r
+   if (useProfiling == true) {\r
+     benchSuffix = "_bench";\r
+   }\r
+  \r
+   switch(stringname)\r
+   {\r
+    case String(C66LE):\r
+      tooldir="C6X_GEN_INSTALL_PATH";\r
+      cmdprefix="";\r
+      targetDir="c66/release";\r
+      targetname=C66LE;\r
+      break;\r
+    case String(C66BE):\r
+      tooldir="C6X_GEN_INSTALL_PATH";\r
+      cmdprefix="";\r
+      targetDir="c66/release";\r
+      targetname=C66BE;\r
+      break;\r
+    case String(A15LE):\r
+      tooldir="TOOLCHAIN_PATH_A15"; \r
+      cmdprefix="CROSS_TOOL_PRFX";\r
+      targetDir="a15/release";\r
+      targetname=A15LE;\r
+      break;\r
+    case String(A9LE):\r
+      tooldir="TOOLCHAIN_PATH_A9";\r
+      cmdprefix="CROSS_TOOL_PRFX";\r
+      targetDir="a9/release";\r
+      targetname=A9LE;\r
+      break;\r
+    case String(A8LE):\r
+      tooldir="TOOLCHAIN_PATH_A8";\r
+      cmdprefix="CROSS_TOOL_PRFX";\r
+      targetDir="a8/release";\r
+      targetname=A8LE;\r
+      break;\r
+    case String(M4LE):\r
+      tooldir="TOOLCHAIN_PATH_M4";\r
+      cmdprefix="";\r
+      targetDir="m4/release";\r
+      targetname=M4LE;\r
+      break;\r
+   }\r
+   \r
+    var fileModule = xdc.module('xdc.services.io.File');\r
+    try{\r
+     var dstFile = new java.io.File(makelibname);\r
+     dstFile.getParentFile().mkdirs();    \r
+     libmakefile = fileModule.open(makelibname, "w");\r
+     /* Add to Archive list */\r
+    } catch (ex)\r
+    {\r
+     print(makelibname+" cannot be written to. Please check Writing Permissions.");\r
+     java.lang.System.exit(1);\r
+    }   \r
+    libmakefile.writeLine("#*******************************************************************************");\r
+    libmakefile.writeLine("#* FILE PURPOSE: Lower level makefile for Creating Component Libraries");\r
+    libmakefile.writeLine("#*******************************************************************************");\r
+    libmakefile.writeLine("#* FILE NAME: "+makelibname);\r
+    libmakefile.writeLine("#*");\r
+    libmakefile.writeLine("#* DESCRIPTION: Defines Source Files, Compilers flags and build rules");\r
+    libmakefile.writeLine("#*");\r
+    libmakefile.writeLine("#*");\r
+    libmakefile.writeLine("#*******************************************************************************");\r
+    libmakefile.writeLine("#");\r
+    libmakefile.writeLine("");\r
+    libmakefile.writeLine("#");\r
+    libmakefile.writeLine("# Macro definitions referenced below");\r
+    libmakefile.writeLine("#");\r
+    libmakefile.writeLine("empty =");\r
+    libmakefile.writeLine("space =$(empty) $(empty)");\r
+    \r
+    if ((targetname.name == "A15F") || (targetname.name == "A9F") || (targetname.name == "A8F"))\r
+    {\r
+    \r
+        if(stringname.match("gnu.targets"))\r
+        {\r
+            libmakefile.writeLine("CC = $("+tooldir+")/bin/$("+cmdprefix+")gcc");\r
+            libmakefile.writeLine("AC = $("+tooldir+")/bin/$("+cmdprefix+")as");    \r
+            libmakefile.writeLine("ARIN = $("+tooldir+")/bin/$("+cmdprefix+")ar");    \r
+            libmakefile.writeLine("LD = $("+tooldir+")/bin/$("+cmdprefix+")gcc");   \r
+        }\r
+        else\r
+        {\r
+            print("Error: Non-GNU targets are not currently supported ");\r
+            java.lang.System.exit(1);\r
+\r
+        }\r
+       \r
+        libmakefile.writeLine("INCS = -I. -I$(strip $(subst ;, -I,$(subst $(space),\\$(space),$(INCDIR)))) -I$("+tooldir+")/include");\r
+        libmakefile.writeLine("OBJEXT = o"+targetname.suffix); \r
+        libmakefile.writeLine("AOBJEXT = s"+targetname.suffix);     \r
+        if (useProfiling == true){\r
+            libmakefile.writeLine("CFLAGS_INTERNAL = " +targetname.ccOpts.prefix+" "+targetname.cc.opts+" -finstrument-functions -gdwarf-3 -g -D_ENABLE_BM");\r
+        }else{\r
+            libmakefile.writeLine("CFLAGS_INTERNAL = " +targetname.ccOpts.prefix+" "+targetname.cc.opts);\r
+        }\r
+        libmakefile.writeLine("ASFLAGS_INTERNAL = " +targetname.asmOpts.prefix+" "+targetname.asm.opts);\r
+        libmakefile.writeLine("ARFLAGS_INTERNAL = " +targetname.ar.opts);\r
+        libmakefile.writeLine("LNKFLAGS_INTERNAL = " +targetname.lnk.opts);\r
+        libmakefile.writeLine("INTERNALDEFS = -MD -MF $@.dep");\r
+        libmakefile.writeLine("INTERNALLINKDEFS = -o $@ -m $@.map");  /* TBD */\r
+        libmakefile.writeLine("OBJDIR =  ./obj/obj_" +targetname.suffix +"/" + device.toString() + "/" + targetDir +"/obj" + "/" + objExtDir + benchSuffix); \r
+    \r
+    }\r
+    else\r
+    {\r
+  \r
+        if(stringname.match("ti.targets"))\r
+        {\r
+\r
+            var rtslibtemp = targetname.lnkOpts.suffix.toString().split("/");\r
+            var rtslib;\r
+            for(n=0;n<rtslibtemp.length;n++)\r
+            {\r
+                if(rtslibtemp[n].match(".lib"))\r
+                { \r
+                    rtslib=rtslibtemp[n];\r
+                }\r
+            }\r
+\r
+            libmakefile.writeLine("CC = $("+tooldir+")/bin/"+targetname.cc.cmd);\r
+            libmakefile.writeLine("AC = $("+tooldir+")/bin/"+targetname.asm.cmd);    \r
+            libmakefile.writeLine("ARIN = $("+tooldir+")/bin/"+targetname.ar.cmd);    \r
+            libmakefile.writeLine("LD = $("+tooldir+")/bin/"+targetname.lnk.cmd);   \r
+            libmakefile.writeLine("RTSLIB = -l $("+tooldir+")/lib/"+rtslib);        \r
+        }\r
+        else\r
+        {\r
+            print("Error: Non-TI targets are not currently supported ");\r
+            java.lang.System.exit(1);\r
+\r
+        }\r
+       \r
+        libmakefile.writeLine("INCS = -I. -I$(strip $(subst ;, -I,$(subst $(space),\\$(space),$(INCDIR)))) -I$("+tooldir+")/include");\r
+        libmakefile.writeLine("OBJEXT = o"+targetname.suffix); \r
+        libmakefile.writeLine("AOBJEXT = s"+targetname.suffix);     \r
+        if (useProfiling == true){\r
+            libmakefile.writeLine("CFLAGS_INTERNAL = " +targetname.ccOpts.prefix+" "+targetname.cc.opts+" --entry_parm=address --exit_hook=ti_utils_exit --exit_parm=address --entry_hook=ti_utils_entry -g -D_ENABLE_BM");\r
+        }else{\r
+            libmakefile.writeLine("CFLAGS_INTERNAL = " +targetname.ccOpts.prefix+" "+targetname.cc.opts);\r
+        }\r
+        libmakefile.writeLine("ASFLAGS_INTERNAL = " +targetname.asmOpts.prefix+" "+targetname.asm.opts);\r
+        libmakefile.writeLine("ARFLAGS_INTERNAL = " +targetname.ar.opts);\r
+        libmakefile.writeLine("LNKFLAGS_INTERNAL = " +targetname.lnk.opts);\r
+        /* libmakefile.writeLine("INTERNALDEFS = -D"+stringname.replace(/\./g,"_")+" -Dxdc_target_types__=ti/targets/std.h -DMAKEFILE_BUILD -eo.$(OBJEXT) -ea.$(AOBJEXT) -fr=$(@D) -fs=$(@D) -ppa -ppd=$@.dep");*/\r
+        libmakefile.writeLine("INTERNALDEFS = -D"+stringname.replace(/\./g,"_")+"  -DMAKEFILE_BUILD -eo.$(OBJEXT) -ea.$(AOBJEXT) -fr=$(@D) -fs=$(@D) -ppa -ppd=$@.dep");\r
+        libmakefile.writeLine("INTERNALLINKDEFS = -o $@ -m $@.map");\r
+        libmakefile.writeLine("OBJDIR =  ./obj/obj_" +targetname.suffix +"/" + device.toString() + "/" + targetDir +"/obj" + "/" + objExtDir + benchSuffix); \r
+    }\r
+   \r
+ return libmakefile;\r
+\r
+}\r
+\r
+function makeAddObjects(srcString, makefilename, srcfiles, flags,fileExt, targetName, objDir)\r
+{\r
+  var  sourcestring = (srcString + fileExt).toString().toUpperCase();\r
+  var  compileflagstring = sourcestring + "FLAGS";\r
+  var  objectliststring = sourcestring + "OBJS";\r
+  /* List all the source files */\r
+  makefilename.writeLine("\n#List the "+srcString+" Files");  \r
+  makefilename.writeLine(sourcestring + "= \\");\r
+  for(var i=0;i<srcfiles.length-1;i++)\r
+  {\r
+    makefilename.writeLine("    "+srcfiles[i]+"\\");\r
+  }\r
+    makefilename.writeLine("    "+srcfiles[i]+"\n");\r
+    \r
+ /* Flags for the source files */\r
+ makefilename.writeLine("# FLAGS for the "+srcString+" Files"); \r
+ var compileflags="";\r
+ if(fileExt == "asm" && flags.aopts != undefined)\r
+ {\r
+   compileflags+=" "+flags.aopts;\r
+ }\r
+ else if((fileExt == "c" || fileExt == "sa")&& flags.copts != undefined)\r
+ {\r
+   compileflags+=" "+flags.copts;\r
+ } \r
+\r
+ if(flags.incs != undefined)\r
+ {\r
+   compileflags+=" "+flags.incs;\r
+ }\r
+\r
+\r
+ makefilename.writeLine(compileflagstring+" = "+compileflags +" \n");     \r
+ makefilename.writeLine("# Make Rule for the "+srcString+" Files");  \r
\r
+ makefilename.writeLine(objectliststring +" = $(patsubst %."+fileExt+", "+objDir+"/%.$(OBJEXT), $(" + sourcestring + "))"); \r
+ makefilename.writeLine("\n$("+objectliststring+"): "+objDir+"/%.$(OBJEXT): %."+fileExt);   \r
+ if(fileExt == "c")\r
+ { \r
+   makefilename.writeLine("\t-@echo cl"+targetName.suffix +" $< ...");     \r
+ }\r
+ else\r
+ {\r
+   makefilename.writeLine("\t-@echo asm"+targetName.suffix +" $< ...");      \r
+ }\r
+ makefilename.writeLine("\tif [ ! -d $(@D) ]; then $(MKDIR) $(@D) ; fi;");           \r
\r
+ if(fileExt == "c")\r
+ {\r
+   if ((targetName.name == "A15F") || (targetName.name == "A9F") || (targetName.name == "A8F"))\r
+   {\r
+    makefilename.writeLine("\t$(RM) $@.dep");\r
+    makefilename.writeLine("\t$(CC) $(CFLAGS_INTERNAL) $("+compileflagstring+") $(INTERNALDEFS) $(INCS) $< -o $@");\r
+   /* \r
+    TBD\r
+   */\r
+   }\r
+   else\r
+   {\r
+    makefilename.writeLine("\t$(RM) $@.dep");\r
+    makefilename.writeLine("\t$(CC) $(CFLAGS_INTERNAL) $("+compileflagstring+") $(INTERNALDEFS) $(INCS) -fc $< ");\r
+    makefilename.writeLine("\t-@$(CP) $@.dep $@.pp; \\");\r
+    makefilename.writeLine("         $(SED) -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\\\$$//' \\");\r
+    makefilename.writeLine("             -e '/^$$/ d' -e 's/$$/ :/' < $@.pp >> $@.dep; \\");\r
+    makefilename.writeLine("         $(RM) $@.pp ");\r
+   }\r
+ }\r
+ else if(fileExt == "asm")\r
+ {\r
+   makefilename.writeLine("\t$(AC) $(ASFLAGS_INTERNAL) $("+compileflagstring+") $(INTERNALDEFS) $(INCS) -fa $< ");\r
+ }\r
+ else if(fileExt == "sa")\r
+ {\r
+   makefilename.writeLine("\t$(AC) $(ASFLAGS_INTERNAL) $("+compileflagstring+") $(INTERNALDEFS) $(INCS) $< ");\r
+ }\r
\r
+ makefilename.writeLine("\n#Create Empty rule for dependency");\r
+ makefilename.writeLine("$("+objectliststring+"):"+makefilename.$private.fd);\r
+ makefilename.writeLine(makefilename.$private.fd+":");\r
+ makefilename.writeLine("\n#Include Depedency for "+srcString+" Files");\r
+ makefilename.writeLine("ifneq (clean,$(MAKECMDGOALS))");\r
+ makefilename.writeLine(" -include $("+objectliststring+":%.$(OBJEXT)=%.$(OBJEXT).dep)");\r
+ makefilename.writeLine("endif");\r
\r
+}\r
+\r
+/**************************************************************************\r
+ * FUNCTION NAME : buildLibrary\r
+ **************************************************************************\r
+ * DESCRIPTION   :\r
+ *  Utility function which will build a specific library\r
+ **************************************************************************/\r
+var makefilelocal;\r
+function buildLibrary (socName, isDmaSoc, isSoc, libOptions, libName, target, libFiles, useProfiling) \r
+{\r
+    var targetDir;\r
+    var objExtDir;\r
+    \r
+    if (useProfiling == true)\r
+    {\r
+        libName += ".profiling"\r
+    }\r
+\r
+    if (target.name == "A15F")\r
+    {\r
+        targetDir = "a15/release";\r
+    }\r
+       else if (target.name == "A9F")\r
+    {\r
+        targetDir = "a9/release";\r
+    }\r
+       else if (target.name == "A8F")\r
+    {\r
+        targetDir = "a8/release";\r
+    }\r
+    else if (target.name == "M4")\r
+    {\r
+        targetDir = "m4/release";\r
+    }\r
+    else\r
+    {\r
+        targetDir = "c66/release";\r
+    }\r
+    \r
+    /* Derive the operating system and soc names */\r
+    if (isDmaSoc == "true") {\r
+        var libNameExp = libName+".dma";\r
+        targetDir = socName+"/"+targetDir;\r
+        objExtDir ="dma";\r
+    }\r
+    else if (isSoc == "true") {\r
+        var libNameExp = libName;\r
+        targetDir = socName+"/"+targetDir;\r
+        objExtDir = "soc";\r
+    }\r
+    else  {\r
+        var libNameExp = libName;\r
+        objExtDir = "all";\r
+    }\r
+\r
+    var lldFullLibraryPath = "./lib/" + targetDir +"/" + libNameExp;\r
+    var lldFullBuildPath = "./build/" + targetDir +"/" + libNameExp;\r
+    var lldFullLibraryPathMake = "$(LIBDIR)/" + targetDir +"/" + libNameExp;\r
+\r
+    /* Create Main make file in the root of package folder */\r
+    makefilelocal = createMake(makefilelocal);\r
+\r
+    /* Write the rule to make library in main makefile */\r
+    lib = lldFullBuildPath+".a"+target.suffix;\r
+    libMake = lldFullLibraryPathMake+".a"+target.suffix;\r
+    var objectPath= "./package/"+lldFullBuildPath;\r
+  \r
+    makefilelocal.writeLine("\n\n# Make rule to create "+libMake+" library");\r
+    makefilelocal.writeLine(".libraries: "+ libMake);\r
+    makefilelocal.writeLine(libMake+": FORCE\n\t$(MAKE) -f "+lib+".mk $@");                                 \r
+\r
+    /* Create Library make file in the lib folder */\r
+    var makefilelib= createLibMake(socName, objExtDir, lib+".mk",target,objectPath, useProfiling);  \r
+\r
+    /* Rule to clean library in main makefile */\r
+    makefilelocal.writeLine("# Rule to clean "+libMake+" library");                                              \r
+    makefilelocal.writeLine("clean ::\n\t$(RM) "+ libMake);                                          \r
+    librule="\n\n"+libMake+" :";\r
+\r
+    /* Add files to be compiled */\r
+    /* Separate out the C and assembly files */\r
+    var cfiles= new Array();\r
+    var afiles= new Array();\r
+    var safiles= new Array();\r
+    for each(var srcFile in libFiles)\r
+    {\r
+        var srcFile=String(srcFile);\r
+        var dot = srcFile.lastIndexOf(".");\r
+        var extension = srcFile.substr(dot,srcFile.length);      \r
+        if(extension == ".c")\r
+        {\r
+            cfiles.push(srcFile);\r
+        }\r
+        else if(extension == ".sa")\r
+        {\r
+            safiles.push(srcFile);\r
+        }\r
+        else if(extension == ".asm")\r
+        {\r
+            afiles.push(srcFile);\r
+        }\r
+        else\r
+        {\r
+            print("ERROR: Unsupported file extension");\r
+            java.lang.System.exit(1);\r
+        }\r
+    }\r
+    if(cfiles.length > 0)\r
+    {                                                \r
+      makeAddObjects("COMMONSRC",makefilelib,cfiles,libOptions,"c",target, "$(OBJDIR)");\r
+      librule += " $(COMMONSRCCOBJS)";                   \r
+    }\r
+    if(afiles.length > 0)\r
+    {                                                \r
+      makeAddObjects("COMMONSRC",makefilelib,afiles,libOptions,"asm",target, "$(OBJDIR)");\r
+      librule += " $(COMMONSRCASMOBJS)";                   \r
+    }\r
+    if(safiles.length > 0)\r
+    {                                                \r
+      makeAddObjects("COMMONSRC",makefilelib,safiles,libOptions,"sa",target, "$(OBJDIR)");\r
+      librule += " $(COMMONSRCSAOBJS)";                   \r
+    }\r
+\r
+    makefilelib.writeLine(librule);\r
+    makefilelib.writeLine("\t@echo archiving $? into $@ ...");\r
+    makefilelib.writeLine("\tif [ ! -d $(LIBDIR)/"+targetDir+" ]; then $(MKDIR) $(LIBDIR)/"+targetDir+" ; fi;"); \r
+       makefilelib.writeLine("\t$(ARIN) $(ARFLAGS_INTERNAL) $@ $?");\r
+       makefilelib.close();   \r
+\r
+    /* Create the Epilogue; which executes after all the builds are completed. \r
+     * This is used to generate the benchmark information for the built library. \r
+     * Also add the benchmarking information file to the package. */\r
+    /* Put the temp file in object directory since javascript doesn't have a built in tmpname, \r
+     * and don't want --jobs=# with # > 1 to result in collisions */\r
+    var libFullName = lldFullLibraryPath + ".a" + target.suffix;\r
+    var tempFile = libFullName + ".xml";\r
+    Pkg.makeEpilogue += ".libraries: " + libFullName +  "_size.txt\n";\r
+    Pkg.makeEpilogue += libFullName +  "_size.txt: " + libFullName + "\n";\r
+    if ( java.lang.String(target.name).contains('66') )\r
+    {    \r
+        Pkg.makeEpilogue += "\n\t $(C6X_GEN_INSTALL_PATH)/bin/ofd6x -x " + libFullName + " > " + tempFile;\r
+        Pkg.makeEpilogue += "\n\t $(SECTTI) " + tempFile + " > " + libFullName +  "_size.txt";\r
+        Pkg.makeEpilogue += "\n\t $(RM) " + tempFile + "\n\n";\r
+    }   \r
+    else if (target.name == "M4")\r
+    {\r
+        Pkg.makeEpilogue += "\n\t $(TOOLCHAIN_PATH_M4)/bin/armofd -x " + libFullName + " > " + tempFile;\r
+        Pkg.makeEpilogue += "\n\t $(SECTTI) " + tempFile + " > " + libFullName +  "_size.txt";\r
+        Pkg.makeEpilogue += "\n\t $(RM) " + tempFile + "\n\n";\r
+    }\r
+    else\r
+    {\r
+        Pkg.makeEpilogue += "\n\t $(TOOLCHAIN_PATH_A15)/bin/$(CROSS_TOOL_PRFX)size " + libFullName + " > " + libFullName + "_size.txt";\r
+    }                \r
+    Pkg.otherFiles[Pkg.otherFiles.length++] = lldFullLibraryPath + ".a" + target.suffix + "_size.txt";\r
+    Pkg.otherFiles[Pkg.otherFiles.length++] = lldFullBuildPath + ".a" + target.suffix + ".mk";\r
+    Pkg.otherFiles[Pkg.otherFiles.length++] = lldFullLibraryPath + ".a" + target.suffix;\r
+\r
+    /* We need to clean after ourselves; extend the 'clean' target to take care of this. */\r
+    Pkg.makeEpilogue += "\nclean::\n";\r
+    Pkg.makeEpilogue += "\t$(RM) " + lldFullBuildPath + ".a" + target.suffix + "_size.txt\n"; \r
+    Pkg.makeEpilogue += "\t$(RMDIR) " + "$(LIBDIR)/" + targetDir + "/ \n\n";\r
+\r
+    return lib;\r
+}\r
+\r
+\r
+\r
diff --git a/packages/ti/drv/uart/build/makefile.mk b/packages/ti/drv/uart/build/makefile.mk
new file mode 100755 (executable)
index 0000000..45dcb4f
--- /dev/null
@@ -0,0 +1,75 @@
+#
+# Copyright (c) 2016 - 2019, Texas Instruments Incorporated
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# *  Redistributions of source code must retain the above copyright
+#    notice, this list of conditions and the following disclaimer.
+#
+# *  Redistributions in binary form must reproduce the above copyright
+#    notice, this list of conditions and the following disclaimer in the
+#    documentation and/or other materials provided with the distribution.
+#
+# *  Neither the name of Texas Instruments Incorporated nor the names of
+#    its contributors may be used to endorse or promote products derived
+#    from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+# EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+
+include $(PDK_INSTALL_PATH)/ti/build/Rules.make
+include $(PDK_UART_COMP_PATH)/src/src_files_common.mk
+
+MODULE_NAME = uart
+
+ifeq ($(SOC),$(filter $(SOC), am571x am572x am574x dra72x dra75x dra78x k2h k2k k2l k2e k2g c6678 c6657 am437x am335x omapl137 omapl138 am65xx j721e))
+include $(PDK_UART_COMP_PATH)/src/src_files_uart_console.mk
+endif
+
+SRCDIR += soc/$(SOC)
+INCDIR += soc
+# Common source files across all platforms and cores
+SRCS_COMMON += UART_soc.c
+
+# List all the external components/interfaces, whose interface header files
+#  need to be included for this component
+INCLUDE_EXTERNAL_INTERFACES = pdk edma
+
+PACKAGE_SRCS_COMMON += soc/$(SOC) soc/UART_soc.h
+
+CFLAGS_LOCAL_COMMON = $(PDK_CFLAGS)
+
+# For all FW supporting devices source files in library and package
+ifeq ($(SOC),$(filter $(SOC), am335x))
+  SRCDIR += src/v2
+  INCDIR += src/v2
+  SRCS_COMMON += UART_v2.c
+  PACKAGE_SRCS_COMMON += src/v2
+  CFLAGS_LOCAL_COMMON += -DPRU_ICSS_FW
+endif
+
+# Include common make files
+ifeq ($(MAKERULEDIR), )
+#Makerule path not defined, define this and assume relative path from ROOTDIR
+  MAKERULEDIR := $(ROOTDIR)/ti/build/makerules
+  export MAKERULEDIR
+endif
+include $(MAKERULEDIR)/common.mk
+
+# OBJs and libraries are built by using rule defined in rules_<target>.mk
+#     and need not be explicitly specified here
+
+# Nothing beyond this point
diff --git a/packages/ti/drv/uart/build/makefile_console.mk b/packages/ti/drv/uart/build/makefile_console.mk
new file mode 100644 (file)
index 0000000..a9022fa
--- /dev/null
@@ -0,0 +1,59 @@
+#
+# Copyright (c) 2016, Texas Instruments Incorporated
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# *  Redistributions of source code must retain the above copyright
+#    notice, this list of conditions and the following disclaimer.
+#
+# *  Redistributions in binary form must reproduce the above copyright
+#    notice, this list of conditions and the following disclaimer in the
+#    documentation and/or other materials provided with the distribution.
+#
+# *  Neither the name of Texas Instruments Incorporated nor the names of
+#    its contributors may be used to endorse or promote products derived
+#    from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+# EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+
+include $(PDK_INSTALL_PATH)/ti/build/Rules.make
+
+MODULE_NAME = uart_console
+
+SRCDIR = . src
+INCDIR = . src
+
+include $(PDK_UART_COMP_PATH)/src/src_files_uart_console.mk
+
+# List all the external components/interfaces, whose interface header files
+#  need to be included for this component
+INCLUDE_EXTERNAL_INTERFACES = pdk edma
+
+CFLAGS_LOCAL_COMMON = $(PDK_CFLAGS)
+
+# Include common make files
+ifeq ($(MAKERULEDIR), )
+#Makerule path not defined, define this and assume relative path from ROOTDIR
+  MAKERULEDIR := $(ROOTDIR)/ti/build/makerules
+  export MAKERULEDIR
+endif
+include $(MAKERULEDIR)/common.mk
+
+# OBJs and libraries are built by using rule defined in rules_<target>.mk
+#     and need not be explicitly specified here
+
+# Nothing beyond this point
diff --git a/packages/ti/drv/uart/build/makefile_dma.mk b/packages/ti/drv/uart/build/makefile_dma.mk
new file mode 100644 (file)
index 0000000..22c74b1
--- /dev/null
@@ -0,0 +1,87 @@
+#
+# Copyright (c) 2017, Texas Instruments Incorporated
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# *  Redistributions of source code must retain the above copyright
+#    notice, this list of conditions and the following disclaimer.
+#
+# *  Redistributions in binary form must reproduce the above copyright
+#    notice, this list of conditions and the following disclaimer in the
+#    documentation and/or other materials provided with the distribution.
+#
+# *  Neither the name of Texas Instruments Incorporated nor the names of
+#    its contributors may be used to endorse or promote products derived
+#    from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+# EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+
+include $(PDK_INSTALL_PATH)/ti/build/Rules.make
+include $(PDK_UART_COMP_PATH)/src/src_files_common.mk
+
+MODULE_NAME = uart_dma
+
+ifeq ($(SOC),$(filter $(SOC), am571x am572x am574x dra72x dra75x dra78x k2h k2k k2l k2e k2g c6678 c6657 am437x am335x omapl137 omapl138 am65xx j721e))
+include $(PDK_UART_COMP_PATH)/src/src_files_uart_console.mk
+endif
+
+SRCDIR += soc/$(SOC)
+ifeq ($(SOC),$(filter $(SOC), k2h k2k k2l k2e k2g c6678 c6657 omapl137 omapl138))
+    SRCDIR += soc/dma/v0
+else
+ifeq ($(SOC),$(filter $(SOC), am571x am572x am574x dra72x dra75x dra78x am437x am335x))
+    SRCDIR += soc/dma/v1
+else
+    SRCDIR += soc/dma/v2
+endif
+endif
+INCDIR += soc
+# Common source files across all platforms and cores
+SRCS_COMMON += UART_soc.c UART_dma.c
+
+# List all the external components/interfaces, whose interface header files
+#  need to be included for this component
+INCLUDE_EXTERNAL_INTERFACES = pdk
+ifeq ($(SOC),$(filter $(SOC), am571x am572x am574x dra72x dra75x dra78x k2h k2k k2l k2e k2g c6678 c6657 am437x am335x omapl137 omapl138))
+INCLUDE_EXTERNAL_INTERFACES += edma
+endif
+
+PACKAGE_SRCS_COMMON += soc/$(SOC)
+ifeq ($(SOC),$(filter $(SOC), k2h k2k k2l k2e k2g c6678 c6657 omapl137 omapl138))
+    PACKAGE_SRCS_COMMON += soc/dma/v0
+else
+ifeq ($(SOC),$(filter $(SOC), am571x am572x am574x dra72x dra75x dra78x am437x am335x))
+    PACKAGE_SRCS_COMMON += soc/dma/v1
+else
+    PACKAGE_SRCS_COMMON += soc/dma/v2
+endif
+endif
+
+CFLAGS_LOCAL_COMMON = $(PDK_CFLAGS) -DUART_DMA_ENABLE
+
+# Include common make files
+ifeq ($(MAKERULEDIR), )
+#Makerule path not defined, define this and assume relative path from ROOTDIR
+  MAKERULEDIR := $(ROOTDIR)/ti/build/makerules
+  export MAKERULEDIR
+endif
+include $(MAKERULEDIR)/common.mk
+
+# OBJs and libraries are built by using rule defined in rules_<target>.mk
+#     and need not be explicitly specified here
+
+# Nothing beyond this point
diff --git a/packages/ti/drv/uart/build/makefile_dma_profile.mk b/packages/ti/drv/uart/build/makefile_dma_profile.mk
new file mode 100644 (file)
index 0000000..2c2c6ef
--- /dev/null
@@ -0,0 +1,93 @@
+#
+# Copyright (c) 2017 - 2018, Texas Instruments Incorporated
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# *  Redistributions of source code must retain the above copyright
+#    notice, this list of conditions and the following disclaimer.
+#
+# *  Redistributions in binary form must reproduce the above copyright
+#    notice, this list of conditions and the following disclaimer in the
+#    documentation and/or other materials provided with the distribution.
+#
+# *  Neither the name of Texas Instruments Incorporated nor the names of
+#    its contributors may be used to endorse or promote products derived
+#    from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+# EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+
+include $(PDK_INSTALL_PATH)/ti/build/Rules.make
+include $(PDK_UART_COMP_PATH)/src/src_files_common.mk
+
+MODULE_NAME = uart_dma_profile
+
+ifeq ($(SOC),$(filter $(SOC), am571x am572x am574x dra72x dra75x dra78x k2h k2k k2l k2e k2g c6678 c6657 am437x am335x omapl137 omapl138 am65xx j721e))
+include $(PDK_UART_COMP_PATH)/src/src_files_uart_console.mk
+endif
+
+SRCDIR += soc/$(SOC)
+ifeq ($(SOC),$(filter $(SOC), k2h k2k k2l k2e k2g c6678 c6657 omapl137 omapl138))
+    SRCDIR += soc/dma/v0
+else
+ifeq ($(SOC),$(filter $(SOC), am571x am572x am574x dra72x dra75x dra78x am437x am335x))
+    SRCDIR += soc/dma/v1
+else
+    SRCDIR += soc/dma/v2
+endif
+endif
+INCDIR += soc
+# Common source files across all platforms and cores
+SRCS_COMMON += UART_soc.c UART_dma.c
+
+# List all the external components/interfaces, whose interface header files
+#  need to be included for this component
+INCLUDE_EXTERNAL_INTERFACES = pdk
+ifeq ($(SOC),$(filter $(SOC), am571x am572x am574x dra72x dra75x dra78x k2h k2k k2l k2e k2g c6678 c6657 am437x am335x omapl137 omapl138))
+INCLUDE_EXTERNAL_INTERFACES += edma
+else
+INCLUDE_EXTERNAL_INTERFACES += udma
+endif
+
+PACKAGE_SRCS_COMMON += soc/$(SOC)
+ifeq ($(SOC),$(filter $(SOC), k2h k2k k2l k2e k2g c6678 c6657 omapl137 omapl138))
+    PACKAGE_SRCS_COMMON += soc/dma/v0
+else
+ifeq ($(SOC),$(filter $(SOC), am571x am572x am574x dra72x dra75x dra78x am437x am335x))
+    PACKAGE_SRCS_COMMON += soc/dma/v1
+else
+    PACKAGE_SRCS_COMMON += soc/dma/v2
+endif
+endif
+
+ifeq ($(CORE),$(filter $(CORE), mpu1_0 a15_0 a9host a8host))
+CFLAGS_LOCAL_COMMON = $(PDK_CFLAGS) -finstrument-functions -gdwarf-3 -g -D_ENABLE_BM -DUART_DMA_ENABLE
+else
+CFLAGS_LOCAL_COMMON = $(PDK_CFLAGS) --entry_parm=address --exit_hook=ti_utils_exit --exit_parm=address --entry_hook=ti_utils_entry -g -D_ENABLE_BM  -DUART_DMA_ENABLE
+endif
+
+# Include common make files
+ifeq ($(MAKERULEDIR), )
+#Makerule path not defined, define this and assume relative path from ROOTDIR
+  MAKERULEDIR := $(ROOTDIR)/ti/build/makerules
+  export MAKERULEDIR
+endif
+include $(MAKERULEDIR)/common.mk
+
+# OBJs and libraries are built by using rule defined in rules_<target>.mk
+#     and need not be explicitly specified here
+
+# Nothing beyond this point
diff --git a/packages/ti/drv/uart/build/makefile_icss_uart.mk b/packages/ti/drv/uart/build/makefile_icss_uart.mk
new file mode 100644 (file)
index 0000000..84e5aa8
--- /dev/null
@@ -0,0 +1,64 @@
+# Copyright (c) 2019, Texas Instruments Incorporated
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# *  Redistributions of source code must retain the above copyright
+#    notice, this list of conditions and the following disclaimer.
+#
+# *  Redistributions in binary form must reproduce the above copyright
+#    notice, this list of conditions and the following disclaimer in the
+#    documentation and/or other materials provided with the distribution.
+#
+# *  Neither the name of Texas Instruments Incorporated nor the names of
+#    its contributors may be used to endorse or promote products derived
+#    from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+# EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+
+include $(PDK_INSTALL_PATH)/ti/build/Rules.make
+
+MODULE_NAME = icss_uart
+
+SRCDIR += src/ $(PDK_CSL_COMP_PATH)/  $(PDK_INSTALL_PATH)/
+INCDIR += src/ $(PDK_CSL_COMP_PATH)/  $(PDK_INSTALL_PATH)/
+# Common source files across all platforms and cores
+SRCS_ASM_COMMON += PRU_SW_UART.asm
+
+LNKFLAGS_LOCAL_COMMON = --entry_point=UART_entry
+
+LNKCMD_FILE = $($(MODULE_NAME)_PATH)/src/AM335x_PRU.cmd
+
+PACKAGE_SRCS_COMMON += src/ build/makefile_icss_uart.mk
+
+# List all the external components/interfaces, whose interface header files
+#  need to be included for this component
+INCLUDE_EXTERNAL_INTERFACES =
+                      
+CFLAGS_LOCAL_COMMON = $(PDK_CFLAGS) -DPRU
+
+
+# Include common make files
+ifeq ($(MAKERULEDIR), )
+#Makerule path not defined, define this and assume relative path from ROOTDIR
+  MAKERULEDIR := $(ROOTDIR)/ti/build/makerules
+  export MAKERULEDIR
+endif
+include $(MAKERULEDIR)/common.mk
+
+# Nothing beyond this point
+
+
diff --git a/packages/ti/drv/uart/build/makefile_indp.mk b/packages/ti/drv/uart/build/makefile_indp.mk
new file mode 100644 (file)
index 0000000..84b2f7c
--- /dev/null
@@ -0,0 +1,56 @@
+#
+# Copyright (c) 2016, Texas Instruments Incorporated
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# *  Redistributions of source code must retain the above copyright
+#    notice, this list of conditions and the following disclaimer.
+#
+# *  Redistributions in binary form must reproduce the above copyright
+#    notice, this list of conditions and the following disclaimer in the
+#    documentation and/or other materials provided with the distribution.
+#
+# *  Neither the name of Texas Instruments Incorporated nor the names of
+#    its contributors may be used to endorse or promote products derived
+#    from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+# EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+
+include $(PDK_INSTALL_PATH)/ti/build/Rules.make
+include $(PDK_UART_COMP_PATH)/src/src_files_common.mk
+include $(PDK_UART_COMP_PATH)/src/src_files_uart_console.mk
+
+MODULE_NAME = uart_indp
+
+# List all the external components/interfaces, whose interface header files
+#  need to be included for this component
+INCLUDE_EXTERNAL_INTERFACES = pdk edma
+
+CFLAGS_LOCAL_COMMON = $(PDK_CFLAGS)
+
+# Include common make files
+ifeq ($(MAKERULEDIR), )
+#Makerule path not defined, define this and assume relative path from ROOTDIR
+  MAKERULEDIR := $(ROOTDIR)/ti/build/makerules
+  export MAKERULEDIR
+endif
+include $(MAKERULEDIR)/common.mk
+
+# OBJs and libraries are built by using rule defined in rules_<target>.mk
+#     and need not be explicitly specified here
+
+# Nothing beyond this point
diff --git a/packages/ti/drv/uart/build/makefile_profile.mk b/packages/ti/drv/uart/build/makefile_profile.mk
new file mode 100644 (file)
index 0000000..1473b11
--- /dev/null
@@ -0,0 +1,78 @@
+#
+# Copyright (c) 2017 - 2019, Texas Instruments Incorporated
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# *  Redistributions of source code must retain the above copyright
+#    notice, this list of conditions and the following disclaimer.
+#
+# *  Redistributions in binary form must reproduce the above copyright
+#    notice, this list of conditions and the following disclaimer in the
+#    documentation and/or other materials provided with the distribution.
+#
+# *  Neither the name of Texas Instruments Incorporated nor the names of
+#    its contributors may be used to endorse or promote products derived
+#    from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+# EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+
+include $(PDK_INSTALL_PATH)/ti/build/Rules.make
+include $(PDK_UART_COMP_PATH)/src/src_files_common.mk
+
+MODULE_NAME = uart_profile
+
+ifeq ($(SOC),$(filter $(SOC), dra72x dra75x dra78x am571x am572x am574x k2h k2k k2l k2e k2g c6678 c6657 am437x am335x omapl137 omapl138 am65xx j721e))
+include $(PDK_UART_COMP_PATH)/src/src_files_uart_console.mk
+endif
+
+SRCDIR += soc/$(SOC)
+INCDIR += soc
+# Common source files across all platforms and cores
+SRCS_COMMON += UART_soc.c
+
+# List all the external components/interfaces, whose interface header files
+#  need to be included for this component
+INCLUDE_EXTERNAL_INTERFACES = pdk edma
+
+PACKAGE_SRCS_COMMON += soc/$(SOC) soc/UART_soc.h
+
+ifeq ($(CORE),$(filter $(CORE), mpu1_0 a15_0 a9host a8host))
+CFLAGS_LOCAL_COMMON = $(PDK_CFLAGS) -finstrument-functions -gdwarf-3 -g -D_ENABLE_BM
+else
+CFLAGS_LOCAL_COMMON = $(PDK_CFLAGS) --entry_parm=address --exit_hook=ti_utils_exit --exit_parm=address --entry_hook=ti_utils_entry -g -D_ENABLE_BM
+endif
+
+ifeq ($(SOC),$(filter $(SOC), am335x))
+  SRCDIR += src/v2
+  INCDIR += src/v2
+  SRCS_COMMON += UART_v2.c
+  PACKAGE_SRCS_COMMON += src/v2
+  CFLAGS_LOCAL_COMMON += -DPRU_ICSS_FW
+endif
+
+# Include common make files
+ifeq ($(MAKERULEDIR), )
+#Makerule path not defined, define this and assume relative path from ROOTDIR
+  MAKERULEDIR := $(ROOTDIR)/ti/build/makerules
+  export MAKERULEDIR
+endif
+include $(MAKERULEDIR)/common.mk
+
+# OBJs and libraries are built by using rule defined in rules_<target>.mk
+#     and need not be explicitly specified here
+
+# Nothing beyond this point
diff --git a/packages/ti/drv/uart/build/makefile_profile_indp.mk b/packages/ti/drv/uart/build/makefile_profile_indp.mk
new file mode 100644 (file)
index 0000000..a60085f
--- /dev/null
@@ -0,0 +1,60 @@
+ #
+# Copyright (c) 2016 - 2018, Texas Instruments Incorporated
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# *  Redistributions of source code must retain the above copyright
+#    notice, this list of conditions and the following disclaimer.
+#
+# *  Redistributions in binary form must reproduce the above copyright
+#    notice, this list of conditions and the following disclaimer in the
+#    documentation and/or other materials provided with the distribution.
+#
+# *  Neither the name of Texas Instruments Incorporated nor the names of
+#    its contributors may be used to endorse or promote products derived
+#    from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+# EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+
+include $(PDK_INSTALL_PATH)/ti/build/Rules.make
+include $(PDK_UART_COMP_PATH)/src/src_files_common.mk
+include $(PDK_UART_COMP_PATH)/src/src_files_uart_console.mk
+
+MODULE_NAME = uart_profile_indp
+
+# List all the external components/interfaces, whose interface header files
+#  need to be included for this component
+INCLUDE_EXTERNAL_INTERFACES = pdk edma
+
+ifeq ($(CORE),$(filter $(CORE), mpu1_0 a15_0 a9host a8host))
+CFLAGS_LOCAL_COMMON = $(PDK_CFLAGS) -finstrument-functions -gdwarf-3 -g -D_ENABLE_BM
+else
+CFLAGS_LOCAL_COMMON = $(PDK_CFLAGS) --entry_parm=address --exit_hook=ti_utils_exit --exit_parm=address --entry_hook=ti_utils_entry -g -D_ENABLE_BM
+endif
+
+# Include common make files
+ifeq ($(MAKERULEDIR), )
+#Makerule path not defined, define this and assume relative path from ROOTDIR
+  MAKERULEDIR := $(ROOTDIR)/ti/build/makerules
+  export MAKERULEDIR
+endif
+include $(MAKERULEDIR)/common.mk
+
+# OBJs and libraries are built by using rule defined in rules_<target>.mk
+#     and need not be explicitly specified here
+
+# Nothing beyond this point
diff --git a/packages/ti/drv/uart/config.bld b/packages/ti/drv/uart/config.bld
new file mode 100755 (executable)
index 0000000..6a7312d
--- /dev/null
@@ -0,0 +1,420 @@
+/******************************************************************************
+ * FILE PURPOSE: Build configuration Script for the uart Driver
+ ******************************************************************************
+ * FILE NAME: config.bld
+ *
+ * DESCRIPTION:
+ *  This file contains the build configuration script for the uart driver
+ *  and is responsible for configuration of the paths for the various
+ *  tools required to build the driver.
+ *
+ * Copyright (C) 2016, Texas Instruments, Inc.
+ *****************************************************************************/
+
+/* Get the Tools Base directory from the Environment Variable. */
+var c66ToolsBaseDir = java.lang.System.getenv("C6X_GEN_INSTALL_PATH");
+var c674ToolsBaseDir = java.lang.System.getenv("C6X_GEN_INSTALL_PATH");
+var m4ToolsBaseDir  = java.lang.System.getenv("TOOLCHAIN_PATH_M4");
+var a15ToolsBaseDir = java.lang.System.getenv("TOOLCHAIN_PATH_A15");
+var a9ToolsBaseDir  = java.lang.System.getenv("TOOLCHAIN_PATH_A9");
+var arm9ToolsBaseDir  = java.lang.System.getenv("TOOLCHAIN_PATH_ARM9");
+var a8ToolsBaseDir  = java.lang.System.getenv("TOOLCHAIN_PATH_A8");
+
+/* Get the extended debug flags for C66x, 
+ * did not change the name for backwards compatibilty */
+var extDbgFlags = java.lang.System.getenv("EXTDBGFLAGS");
+
+/* Get the extended debug flags for A15 */
+var extDbgFlags_a15 = java.lang.System.getenv("EXTDBGFLAGS_A15");
+
+/* Get the extended debug flags for A8 */
+var extDbgFlags_a8 = java.lang.System.getenv("EXTDBGFLAGS_A8");
+
+/* Get the extended debug flags for A9 */
+var extDbgFlags_a9 = java.lang.System.getenv("EXTDBGFLAGS_A9");
+
+/* Get the extended debug flags for ARM9 */
+var extDbgFlags_arm9 = java.lang.System.getenv("EXTDBGFLAGS_ARM9");
+
+/* Get the extended debug flags for ARM9 */
+var extDbgFlags_c674x = java.lang.System.getenv("EXTDBGFLAGS_C674");
+
+/* Get the extended debug flags for M4 */
+var extDbgFlags_m4 = java.lang.System.getenv("EXTDBGFLAGS_M4");
+
+/* Get the base directory for the uart Socket Driver Package */
+var driverPath = new java.io.File(".//").getPath();
+
+/* Include Path */
+var lldIncludePath = " -I" + driverPath + "/src" + " -I" + driverPath;
+
+/* Configure the uart Socket Release Version Information */
+/* 3 steps: remove SPACE and TAB, convert to string and split to make array */
+var driverReleaseVersion = (""+Pkg.version.replace(/\s/g, "")).split(',');
+
+/* Print the Compiler Options */
+var pOpts = 1;
+
+/* C66 ELF compiler configuration for Little Endian Mode. */
+var C66LE           = xdc.useModule('ti.targets.elf.C66');
+C66LE.rootDir       = c66ToolsBaseDir;
+C66LE.ccOpts.prefix = "-mo -o3 -q -k -eo.o";
+if(extDbgFlags)     
+    C66LE.ccOpts.prefix = C66LE.ccOpts.prefix + " " + extDbgFlags; 
+
+/* C67 ELF compiler configuration for Little Endian Mode. */
+var C67LE           = xdc.useModule('ti.targets.elf.C67');
+C67LE.rootDir       = c66ToolsBaseDir;
+C67LE.ccOpts.prefix = "-mo -o3 -q -k -eo.o";
+if(extDbgFlags)     
+    C67LE.ccOpts.prefix = C67LE.ccOpts.prefix + " " + extDbgFlags; 
+       
+/* C66 ELF compiler configuration for Big Endian Mode. */
+var C66BE           = xdc.useModule('ti.targets.elf.C66_big_endian');
+C66BE.rootDir       = c66ToolsBaseDir;
+C66BE.ccOpts.prefix = "-mo -o3 -q -k -eo.o -DBIGENDIAN";
+if(extDbgFlags)     
+    C66BE.ccOpts.prefix = C66BE.ccOpts.prefix + " " + extDbgFlags;
+
+/* C674 ELF compiler configuration for Little Endian Mode. */
+var C674LE          = xdc.useModule('ti.targets.elf.C674');
+C674LE.rootDir       = c674ToolsBaseDir;
+C674LE.asmOpts.prefix = "--strip_coff_underscore";
+C674LE.ccOpts.prefix  = "--strip_coff_underscore -mo -o3 -q -k -eo.o " + "-D" + cslPartNumber;
+if(extDbgFlags)     
+    C674LE.ccOpts.prefix = C674LE.ccOpts.prefix + " " + extDbgFlags_c674x; 
+
+/* ARMv7 A15 compiler configuration */
+var A15LE            = xdc.useModule('gnu.targets.arm.A15F');
+A15LE.rootDir        = a15ToolsBaseDir;
+A15LE.ccOpts.prefix  = "-mno-unaligned-access -c -mtune=cortex-a15 -marm -DDRA7xx -gstrict-dwarf -Wall -D__ARMv7 -D_LITTLE_ENDIAN=1";
+if(extDbgFlags_a15)     
+    A15LE.ccOpts.prefix = A15LE.ccOpts.prefix + " " + extDbgFlags_a15; 
+    
+/* ARMv7 A9 compiler configuration */
+var A9LE            = xdc.useModule('gnu.targets.arm.A9F');
+A9LE.rootDir        = a9ToolsBaseDir;
+A9LE.ccOpts.prefix  = "-mno-unaligned-access -c -mtune=cortex-a9 -marm -DDRA7xx -DSOC_AM437X -gstrict-dwarf -Wall -D__ARMv7 -D_LITTLE_ENDIAN=1";
+if(extDbgFlags_a9)     
+    A9LE.ccOpts.prefix = A9LE.ccOpts.prefix + " " + extDbgFlags_a9; 
+
+/* ARMv5 ARM9 compiler configuration */
+var ARM9LE            = xdc.useModule('ti.targets.arm.elf.Arm9');
+ARM9LE.rootDir        = arm9ToolsBaseDir;
+ARM9LE.ccOpts.prefix  = "-mno-unaligned-access -c -marm -DDRA7xx -Dxdc_target_types__=gnu/targets/arm/std.h -Dxdc_target_name__=Arm9 -gstrict-dwarf -Wall -D__ARMv5 -D_LITTLE_ENDIAN=1";
+if(extDbgFlags_arm9)     
+    ARM9LE.ccOpts.prefix = ARM9LE.ccOpts.prefix + " " + extDbgFlags_arm9; 
+       
+/* ARMv7 A8 compiler configuration */
+var A8LE            = xdc.useModule('gnu.targets.arm.A8F');
+A8LE.rootDir        = a8ToolsBaseDir;
+A8LE.ccOpts.prefix  = "-mno-unaligned-access -c -mtune=cortex-a8 -marm -DDRA7xx -gstrict-dwarf -Wall -D__ARMv7 -D_LITTLE_ENDIAN=1";
+if(extDbgFlags_a8)     
+    A8LE.ccOpts.prefix = A8LE.ccOpts.prefix + " " + extDbgFlags_a8; 
+
+/* M4 ELF compiler configuration for Little Endian Mode. */
+var M4LE            = xdc.useModule('ti.targets.arm.elf.M4');
+M4LE.rootDir        = m4ToolsBaseDir;
+M4LE.ccOpts.prefix  = "-o4 -qq -pdsw255 -DMAKEFILE_BUILD";
+if(extDbgFlags_m4)
+    M4LE.ccOpts.prefix = M4LE.ccOpts.prefix + " " + extDbgFlags_m4; 
+
+/* soc name (am?) is inserted between first an second element of this
+   list to construct device file name for each device */
+var deviceConstruct = [ "soc/", "/UART_soc.c" ];
+
+/* soc name (am?) is inserted between first an second element of this
+   list to construct device file name for each device */
+var deviceDmaConstruct = [ "soc/", "/UART_soc_dma.c" ];
+
+/* Create the SoC List  */
+var socs = { 
+    /* device independent libraries */
+    all :
+    {
+        /* Build this library */
+        build: "true",
+        /* SoC lib enabled */
+        socDevLib: "false",
+        /* dma lib enabled */
+        dmaDevLib: "false",     
+        /* Library options */
+        copts: "",
+        /* target lists, kept blank now, would be updated based on argument lists */
+        targets: []
+    },
+    am335x :
+    {
+        /* this variable would be reinitialized to true, if XDCARGS contains am335x */
+        build: "false",
+        /* SoC lib enabled */
+        socDevLib: "true",
+        /* dma lib enabled */
+        dmaDevLib: "false",     
+        /* Library options */
+        copts: " -DSOC_AM335x",
+        /* target list */
+        targets: [ A8LE ]
+    },
+    am437x :
+    {
+        /* this variable would be reinitialized to true, if XDCARGS contains am437x */
+        build: "false",       
+        /* SoC lib enabled */
+        socDevLib: "true",
+        /* dma lib enabled */
+        dmaDevLib: "false",     
+        /* Library options */
+        copts: " -DSOC_AM437x",
+        /* target list */
+        targets: [ A9LE ]
+   },
+   am572x :
+    {
+        /* this variable would be reinitialized to true, if XDCARGS contains am572x */
+        build: "false", 
+       /* SoC lib enabled */
+       socDevLib: "true",
+       /* dma lib enabled */
+       dmaDevLib: "true",     
+       /* Library options */
+       copts: " -DSOC_AM572x",
+       /* target list */
+       targets: [ C66LE, M4LE, A15LE]
+    },
+   am574x :
+    {
+       /* this variable would be reinitialized to true, if XDCARGS contains am574x */
+       build: "false",
+       /* SoC lib enabled */
+       socDevLib: "true",
+       /* dma lib enabled */
+       dmaDevLib: "true",     
+       /* Library options */
+       copts: " -DSOC_AM574x",
+       /* target list */
+       targets: [ C66LE, M4LE, A15LE]
+    },
+    am574x :
+    {
+        /* this variable would be reinitialized to true, if XDCARGS contains am574x */
+        build: "false",
+       /* SoC lib enabled */
+       socDevLib: "true",
+       /* dma lib enabled */
+       dmaDevLib: "true",
+       /* Library options */
+       copts: " -DSOC_AM574x",
+       /* target list */
+       targets: [ C66LE, M4LE, A15LE]
+    },
+       dra75x :
+    {
+        /* this variable would be reinitialized to true, if XDCARGS contains dra75x */
+        build: "false", 
+       /* SoC lib enabled */
+       socDevLib: "true",
+       /* dma lib enabled */
+       dmaDevLib: "true",     
+       /* Library options */
+       copts: " -DSOC_DRA75x",
+       /* target list */
+       targets: [ C66LE, M4LE, A15LE]
+    },
+   am571x :
+    {
+        /* this variable would be reinitialized to true, if XDCARGS contains am571x */
+        build: "false",     
+       /* SoC lib enabled */
+       socDevLib: "true",
+       /* dma lib enabled */
+       dmaDevLib: "true",     
+       /* Library options */
+       copts: " -DSOC_AM571x",
+       /* target list */
+       targets: [ C66LE, M4LE, A15LE]
+    },    
+   k2h :
+    {
+        /* this variable would be reinitialized to true, if XDCARGS contains k2h */
+        build: "false",     
+       /* SoC lib enabled */
+       socDevLib: "true",
+       /* dma lib enabled */
+       dmaDevLib: "true",     
+       /* Library options */
+       copts: " -DSOC_K2H",
+       /* target list */
+       targets: [ C66LE, C66BE, A15LE]
+    },    
+   k2k :
+    {
+        /* this variable would be reinitialized to true, if XDCARGS contains k2k */
+        build: "false",     
+       /* SoC lib enabled */
+       socDevLib: "true",
+       /* dma lib enabled */
+       dmaDevLib: "true",     
+       /* Library options */
+       copts: " -DSOC_K2H",
+       /* target list */
+       targets: [ C66LE, C66BE, A15LE]
+    },   
+   k2e :
+    {
+        /* this variable would be reinitialized to true, if XDCARGS contains k2e */
+        build: "false",     
+       /* SoC lib enabled */
+       socDevLib: "true",
+       /* dma lib enabled */
+       dmaDevLib: "true",     
+       /* Library options */
+       copts: " -DSOC_K2E",
+       /* target list */
+       targets: [ C66LE, C66BE, A15LE]
+    },   
+   k2l :
+    {
+        /* this variable would be reinitialized to true, if XDCARGS contains k2l */
+        build: "false",     
+       /* SoC lib enabled */
+       socDevLib: "true",
+       /* dma lib enabled */
+       dmaDevLib: "true",     
+       /* Library options */
+       copts: " -DSOC_K2L",
+       /* target list */
+       targets: [ C66LE, C66BE, A15LE]
+    },
+   k2g :
+    {
+        /* this variable would be reinitialized to true, if XDCARGS contains k2g */
+        build: "false",     
+       /* SoC lib enabled */
+       socDevLib: "true",
+       /* dma lib enabled */
+       dmaDevLib: "true",     
+       /* Library options */
+       copts: " -DSOC_K2G",
+       /* target list */
+       targets: [ C66LE, C66BE, A15LE]
+    },
+       omapl137 :
+    {
+        /* this variable would be reinitialized to true, if XDCARGS contains omapl137 */
+        build: "false",     
+       /* SoC lib enabled */
+       socDevLib: "true",
+       /* dma lib enabled */
+       dmaDevLib: "true",     
+       /* Library options */
+       copts: " -DSOC_OMAPL137",
+       /* target list */
+       targets: [ C674LE, ARM9LE]
+    },
+       omapl138 :
+    {
+        /* this variable would be reinitialized to true, if XDCARGS contains omapl138 */
+        build: "false",     
+       /* SoC lib enabled */
+       socDevLib: "true",
+       /* dma lib enabled */
+       dmaDevLib: "true",     
+       /* Library options */
+       copts: " -DSOC_OMAPL138",
+       /* target list */
+       targets: [ C674LE, ARM9LE]
+    },
+   c6678 :
+    {
+        /* this variable would be reinitialized to true, if XDCARGS contains c6678 */
+        build: "false",     
+       /* SoC lib enabled */
+       socDevLib: "true",
+       /* dma lib enabled */
+       dmaDevLib: "true",     
+       /* Library options */
+       copts: " -DSOC_C6678",
+       /* target list */
+       targets: [ C66LE, C66BE]
+    }, 
+   c6657 :
+    {
+        /* this variable would be reinitialized to true, if XDCARGS contains c6657 */
+        build: "false",     
+       /* SoC lib enabled */
+       socDevLib: "true",
+       /* dma lib enabled */
+       dmaDevLib: "true",     
+       /* Library options */
+       copts: " -DSOC_C6657",
+       /* target list */
+       targets: [ C66LE, C66BE]
+    } 
+};
+
+/**************************************************************************
+ * FUNCTION NAME : merge
+ **************************************************************************
+ * DESCRIPTION   :
+ *  The function is used to merge two arrarys
+ **************************************************************************/
+function merge() {
+    var args = arguments;
+    var hash = {};
+    var arr = [];
+    for (var i = 0; i < args.length; i++) {
+       for (var j = 0; j < args[i].length; j++) {
+         if (hash[args[i][j]] !== true) {
+           arr[arr.length] = args[i][j];
+           hash[args[i][j]] = true;
+         }
+       }
+     }
+    return arr;
+}
+
+/* Grab input from XDCARGS */
+var buildArguments  = [];
+
+/* Construct the build arguments */
+for (var tmp=0; arguments[tmp] != undefined; tmp++)
+{
+
+    /* If no arguments are provided, override for building all */
+    if ( ( arguments.length == 1) && (arguments[tmp].equals("./config.bld")) )
+        buildArguments[buildArguments.length++] = "all";
+    else
+        buildArguments[buildArguments.length++] = arguments[tmp];
+}
+
+/* Build targets on this build */
+var build_targets = [];
+var soc_names = Object.keys(socs);
+
+for (var i=0; i < buildArguments.length; i++ ) {
+    /* Build it for all targets */
+    if (buildArguments[i] == "all") {
+        for (var j = 0; j < soc_names.length; j++)  {
+            build_targets = merge (build_targets.slice(0), socs[soc_names[j]].targets.slice(0));
+            /* Set build to "true" for that SoC */
+            socs[soc_names[j]].build = "true";
+        }
+    }
+    else {
+        /* Skip the first argument, which is ./config.bld to get to next SoCs */
+        if (i == 0) continue;          
+        /* Set that build to true if it is found in supported build socs */
+        for (j = 0; j < soc_names.length; j++) {
+            if (buildArguments[i] == soc_names[j]) {
+                socs[buildArguments[i]].build = "true";
+                build_targets = merge (build_targets.slice(0), socs[buildArguments[i]].targets.slice(0));
+                break;
+            }
+        }
+    }   
+}
+
+/* Update the Build target generated list */
+socs["all"].targets = build_targets; 
+Build.targets   = build_targets;
diff --git a/packages/ti/drv/uart/config_mk.bld b/packages/ti/drv/uart/config_mk.bld
new file mode 100644 (file)
index 0000000..fd2bd6e
--- /dev/null
@@ -0,0 +1,44 @@
+/******************************************************************************
+ * FILE PURPOSE: Build configuration Script for the uart Driver
+ ******************************************************************************
+ * FILE NAME: config.bld
+ *
+ * DESCRIPTION:
+ *  This file contains the build configuration script for the uart driver
+ *  and is responsible for configuration of the paths for the various
+ *  tools required to build the driver.
+ *
+ * Copyright (C) 2014-2016, Texas Instruments, Inc.
+ *****************************************************************************/
+/* Get the Tools Base directory from the Environment Variable. */
+var c66ToolsBaseDir = java.lang.System.getenv("C6X_GEN_INSTALL_PATH");
+var c674ToolsBaseDir = java.lang.System.getenv("C6X_GEN_INSTALL_PATH");
+var m4ToolsBaseDir = java.lang.System.getenv("TOOLCHAIN_PATH_M4");
+var a15ToolsBaseDir = java.lang.System.getenv("TOOLCHAIN_PATH_A15");
+var a9ToolsBaseDir = java.lang.System.getenv("TOOLCHAIN_PATH_A9");
+var arm9ToolsBaseDir = java.lang.System.getenv("TOOLCHAIN_PATH_ARM9");
+var a8ToolsBaseDir = java.lang.System.getenv("TOOLCHAIN_PATH_A8");
+
+
+/* Get the base directory for the uart Socket Driver Package */
+var driverPath = new java.io.File(".//").getPath();
+
+/* Include Path */
+var lldIncludePath = " -I" + driverPath + "/src" + " -I" + driverPath;
+
+/* Configure the uart Socket Release Version Information */
+/* 3 steps: remove SPACE and TAB, convert to string and split to make array */
+var driverReleaseVersion = (""+Pkg.version.replace(/\s/g, "")).split(',');
+
+/* Do not print the compiler options */
+var pOpts = 0;
+
+/* List of all devices that needs to be build via XDC
+ * As the build happens through makefile, there is nothing to build via XDC
+ * using the below for packaging infrastructure
+ */
+var socs = [];
+var devices = [];
+var build_devices = [];
+Build.targets = []
+
diff --git a/packages/ti/drv/uart/docs/Module.xs b/packages/ti/drv/uart/docs/Module.xs
new file mode 100755 (executable)
index 0000000..672e6c2
--- /dev/null
@@ -0,0 +1,63 @@
+/******************************************************************************\r
+ * FILE PURPOSE: UART Driver DOCS Module specification file.\r
+ ******************************************************************************\r
+ * FILE NAME: module.xs\r
+ *\r
+ * DESCRIPTION: \r
+ *  This file contains the module specification for the UART Driver Documentation .\r
+ *\r
+ * Copyright (C) 2008, Texas Instruments, Inc.\r
+ *****************************************************************************/\r
+\r
+/* Load the library utility. */\r
+var libUtility = xdc.loadCapsule ("../build/buildlib.xs");\r
+\r
+/**************************************************************************\r
+ * FUNCTION NAME : modBuild\r
+ **************************************************************************\r
+ * DESCRIPTION   :\r
+ *  The function is used to build the LLD documentation and add it to the\r
+ *  package.\r
+ **************************************************************************/\r
+function modBuild() \r
+{\r
+    /* Create the actual PROLOGUE Section for the Documentation.*/\r
+    Pkg.makePrologue += "release: uart_document_generation\n";\r
+    Pkg.makePrologue += "uart_document_generation:\n";\r
+    Pkg.makePrologue += "\t @echo ----------------------------\n";\r
+    Pkg.makePrologue += "\t @echo Generating UART Driver Documentation\n";\r
+    Pkg.makePrologue += "\t doxygen docs/Doxyfile\n";\r
+    Pkg.makePrologue += "\t @echo UART Driver Documentation Generated \n";\r
+    Pkg.makePrologue += "\t @echo ----------------------------\n";\r
+\r
+    /* Add the documentation file to the package. */\r
+    Pkg.otherFiles[Pkg.otherFiles.length++] = "docs/tifooter.htm";\r
+    Pkg.otherFiles[Pkg.otherFiles.length++] = "docs/tiheader.htm";\r
+    Pkg.otherFiles[Pkg.otherFiles.length++] = "docs/tilogo.gif";\r
+    Pkg.otherFiles[Pkg.otherFiles.length++] = "docs/titagline.gif";\r
+\r
+    /* Add the UART Design Document to the package */\r
+   /* Pkg.otherFiles[Pkg.otherFiles.length++] = "docs/UART_SDS.pdf";*/\r
+\r
+    /* Add the UART Software Manifest to the package */\r
+    Pkg.otherFiles[Pkg.otherFiles.length++] = "docs/UART_LLD_SoftwareManifest.html";\r
+\r
+    /* Add the HTML documentation to the package */\r
+    Pkg.otherFiles[Pkg.otherFiles.length++] = "docs/doxygen";\r
+\r
+    /* Add the release notes to the package */\r
+    Pkg.otherFiles[Pkg.otherFiles.length++] = "docs/ReleaseNotes_UART_LLD.pdf";\r
+\r
+    /* Generate the ECLIPSE Plugin Generation: Only for SETUP Releases. */\r
+    if (driverInstallType == "SETUP")\r
+    {\r
+        Pkg.makePrologue += "all: eclipse_plugin_generation\n";\r
+        Pkg.makePrologue += "eclipse_plugin_generation:\n";\r
+        Pkg.makePrologue += "\t @echo ----------------------------\n";\r
+        Pkg.makePrologue += "\t @echo UART Eclipse Plugin Generation\n";\r
+        Pkg.makePrologue += "\t xs xdc.tools.eclipsePluginGen -o . -x ./eclipseDocs/sample.xml -c ./eclipseDocs/toc_cdoc_sample.xml\n";\r
+        Pkg.makePrologue += "\t @echo UART Eclipse Plugin Generated \n";\r
+        Pkg.makePrologue += "\t @echo ----------------------------\n";\r
+    }\r
+}\r
+\r
diff --git a/packages/ti/drv/uart/docs/ReleaseNotes_UART_LLD.doc b/packages/ti/drv/uart/docs/ReleaseNotes_UART_LLD.doc
new file mode 100644 (file)
index 0000000..7f6e37d
Binary files /dev/null and b/packages/ti/drv/uart/docs/ReleaseNotes_UART_LLD.doc differ
diff --git a/packages/ti/drv/uart/docs/ReleaseNotes_UART_LLD.pdf b/packages/ti/drv/uart/docs/ReleaseNotes_UART_LLD.pdf
new file mode 100644 (file)
index 0000000..c79bfde
Binary files /dev/null and b/packages/ti/drv/uart/docs/ReleaseNotes_UART_LLD.pdf differ
diff --git a/packages/ti/drv/uart/docs/UART_FW_DESIGN_GUIDE.docx b/packages/ti/drv/uart/docs/UART_FW_DESIGN_GUIDE.docx
new file mode 100644 (file)
index 0000000..87b61f7
Binary files /dev/null and b/packages/ti/drv/uart/docs/UART_FW_DESIGN_GUIDE.docx differ
diff --git a/packages/ti/drv/uart/docs/UART_LLD_SoftwareManifest.html b/packages/ti/drv/uart/docs/UART_LLD_SoftwareManifest.html
new file mode 100755 (executable)
index 0000000..54d8c79
--- /dev/null
@@ -0,0 +1,328 @@
+<!--\r\r
+Texas Instruments Manifest Format 2.0\r\r
+-->\r\r
+\r\r
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">\r\r
+<html>\r\r
+\r\r
+<head>\r\r
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />\r\r
+<!-- @Start Style -->\r\r
+<!-- Default style in case someone doesnt have Internet Access -->\r\r
+<style type="text/css" id="internalStyle">\r\r
+       body, div, p {\r\r
+               font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif;\r\r
+               font-size: 13px;\r\r
+               line-height: 1.3;\r\r
+       }\r\r
+       body {\r\r
+               margin: 20px;   \r\r
+       }\r\r
+       h1 {\r\r
+               font-size: 150%;\r\r
+       }\r\r
+       h2 {\r\r
+               font-size: 120%;\r\r
+       }\r\r
+       h3 {\r\r
+               font-size: 100%;\r\r
+       }\r\r
+       img {\r\r
+               border: 0px;\r\r
+               vertical-align: middle;\r\r
+       }\r\r
+       table, th, td, tr {\r\r
+               border: 1px solid black;        \r\r
+               font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif;\r\r
+               font-size: 13px;\r\r
+               line-height: 1.3;\r\r
+               empty-cells: show;  \r\r
+               padding: 5px;\r\r
+       }\r\r
+       table {\r\r
+               border-collapse: collapse; \r\r
+               width: 100%;\r\r
+       }\r\r
+       tr {\r\r
+               page-break-inside: avoid;\r\r
+       }\r\r
+       #TIlogoLeft {\r\r
+               background-color: black; \r\r
+               padding: 0;\r\r
+               width: 20%;\r\r
+       }\r\r
+       #TIlogoRight {\r\r
+               background-color: red; \r\r
+               padding: 0;\r\r
+       }\r\r
+       #ProductName {\r\r
+               text-align: center;\r\r
+       }\r\r
+       #ReleaseDate {\r\r
+               text-align: center;\r\r
+       }\r\r
+       .LogoSection {\r\r
+               margin: 0;\r\r
+               padding: 0;\r\r
+       }\r\r
+       .HeaderSection {\r\r
+               margin: 25px 0 25px 0;\r\r
+               padding: 0;\r\r
+       }\r\r
+       .LegendSection {\r\r
+               margin: 25px 0 25px 0;\r\r
+       }\r\r
+       .ExportSection {\r\r
+               margin: 25px 0 25px 0;\r\r
+       }\r\r
+       .DisclaimerSection {\r\r
+               margin: 25px 0 25px 0;  \r\r
+       }\r\r
+       .CreditSection {\r\r
+               margin: 25px 0 25px 0;  \r\r
+       }\r\r
+       .LicenseSection {\r\r
+               margin: 25px 0 25px 0;  \r\r
+       }\r\r
+       .ManifestTable {\r\r
+               margin: 25px 0 25px 0;  \r\r
+       }\r\r
+</style> \r\r
+<!-- Override style from TI if they have Internet Access -->\r\r
+<link type="text/css" rel="stylesheet" href="timanifeststyle.css">\r\r
+<!-- @End Style -->\r\r
+<title>Texas Instruments Manifest</title>\r\r
+</head>\r\r
+\r\r
+<body><!-- Logo display, will need to fix up the URLs, this is just for testing.. Image alternate display not wporking well yet -->\r\r
+<div class="LogoSection">\r\r
+<table>\r\r
+  <tbody>\r\r
+    <tr>\r\r
+      <td id="TIlogoLeft">\r\r
+        <a href="http://www.ti.com/">\r\r
+          <!-- img src="tilogo.gif" alt="Texas Instruments Incorporated" -->\r\r
+                 <img alt="" src="data:image/gif;base64,R0lGODlh3gA2AKIAAAAAAP///7u7u29vbz8/PwYGBujo6BgYGCH5BAAAAAAALAAAAADeADYAAAP/CLrc/jDKSau9OOvNu/9gKI5kaZ5oqq5s675wLM90bd94ru987//AoHBILBqPyKRyyWw6n9CodHorDALYLIHKJVqz2q44eAUHtoDB4DBu48rgLQErcNtnX7NhMDcICIB3gix5ZmtqAAZZew8EAo+QkQIDNVZqiIM1cHGKZ4YPAmaiAWw0c1gFmZqjB3SbZ6kNe6WhsAeOlDV0qjSFAXUAp7lwuREFtVsFgMvLB7fNAM+BCs+lDLd8BNYOuxfV22PL0RiWlwO1u3kDqejAEsjR6GB86FsHoYwA6gxWnVgGEegUuIelWJk6jswAGlXQ36J1xBSoQwfulIEDr/6l+VeK/+AehrAGOHRnAWRBbbWegckXAV6wk4AeRQtDQBEaBYsYlMl2hUCsBt0iKgilT9EfAlfO7SmzdKkrkQUT/fqZSECqLCSlntH375IAA1tqGUilLIBSNVnU+NmJNBRVChlF1QwAdlRWBy5P3QymwCLBYhs73cTHYBq3X33nDQ2wcWuBgef0FRD4GK3jU3VCZZUJAIw1OGg0P+4bFiubOWoOsEP1+KvZn3wurDbZ6lfcuw3yYkFjRSeYzRe7ARAbW0K3PmGIMi0OFDG1Mmha+RnufAHn3xL9ha6uTZ/rXagZ1GKAtTsHeWb+FEQvHILuX4+mLzj2j2r4TrFesTwMbE5Cuv8JzbTSGuRV1xgfUJFC3WbA0JWFalcItpgf8YU2yT/qATaedent5cBb8zk0DzIitgfKbonRFV9Wp2xl3UXq5Ccibp05598BnRigiAIJmrZAexkJQIuBwzX4CB3SQbeYQkPVAUco63DI2HzsAdYAiAvEZdYlaVQ5wXs3+bQAjovEUoBRR9LVAFLaPXCcY/KMqVRasQB5kiJgLcYgTkJiuCWKC2ZpIY/z/LRhYefkBAGW1HTyRy2UjObLHxSAOZ948EUVGCSC3SLZbB7iZKOLc2GRRgMH/VhdHnJwFCgD8iEGx0VKvpqbO+hoaCppEg3UiTES1CTkhNaQ+Qs4LQGql07/lET4mIQ6SvTSVGZ9Bmhz/bkYzK+PFKtpje6wumRm1wrLZzSdQASoZvyswdmSuk7p616HfkjBTxZBQucFgqXCFKdn1NpiUlQJhs8kteBWG0AbATbXS2tBlaeoVkmJRova4KkGPmhMFdiSYmq8cbTRYhrlkiHaNufJ9mIgVqEXnAOJM5JE4sgjudQ8bF82x+cKBP4Iiedecyjgx2/WtMNjjhcL9h+S4xq9RYJgsbeeUbmdrPTSQbPccsyijEXOfI8xyuinVJH1wdkS/MQ2Bc5Iq08DyHYwGglvPyCilbz0fa8GLV7r9+Btb7CJ14Qnzg8HpdKoOOF5Py752JNXvrblNphzEHnmnF/a+ecTbA465qKPXnnppkuOeuqKr8465K+z7nrsfc9Ouyq23z5I7rrfwXvvbhSQAAA7" />\r\r
+        </a>\r\r
+      </td>\r\r
+      <td id="TILogoRight">\r\r
+        <!-- img src="titagline.gif" alt="Technology for Innovators(tm)"-->\r\r
+               <img alt="" src="data:image/gif;base64,R0lGODlhOgEaALMAAP8AAP////92dv+3t/+Njf/W1v/t7f8hIf/19f+jo//Hx/8/P/9cXP/j4//6+v/+/iH5BAAAAAAALAAAAAA6ARoAAAT/EMhJq7046827/2AojmRpnmiqrmzrvnAsz3Rt33iu73zv/8CgcEgsGo/IpHLJbDqft0NDMCBQodis1jcADBKE7nYcCpjPgU5AQBKkVYOHAeRudqtXsh60/vRHdSoBBCGBNAkLe4o4f2psgG8pjR6GM5OLmDB/DA0GBoQADAgICRIBBQUOYgwGCg2kEgudBgUHAIGcBg0MsZ0NCnMGYgsBtqEGAbCynrW3AQONgcIFBgiErK6wAAfUtLbCscWiowoAyLDczLZu0AIJCAYOoJn0G38ObAwPEvLEts/O1vUhsA8AAjGonEmA9W6hGAVpEjiQoKBAhT8HJSRkVyEQQAAJ//a5YeMPQIFyACqCnJjSIgFCB4oB+HOSokWOAB6wIWCxnk8MfYh5QsYg5sVHfQLVMSqhztJIxWIaC6QzJy8KfZgqrNT0zR+nUNl8fSMvZ6IDwJCJRfoI7IR4Cub9nDsha6RwR02xUZpGq1utUWUq9FKgYV6/abgOHjt45tquEgY0SDDHoJg+fxhXolKNrmfH/EoR5EdAKmjQfB1qvPmGIQIJ3g4gC2egVF7LqxtP8Ng2cViTKFUCIGbNFKEEmB/VbDlYdqLRn+du8oTg6jjbmfe+CbTM2+BcuySgbQVtQoOCt7s3U8wbsqGs3ZppZLnylwFe8Uql825ogANPckUnYDoOCogxQGXADajggjcw4AA8DSSyTQASMmjhhTQscBWGHHbo4YcghijiiCSWaOKJKKao4oostugiFBEAADs=" />\r\r
+      </td>\r\r
+    </tr>\r\r
+  </tbody>\r\r
+</table>\r\r
+</div><div class="HeaderSection">\r\r
+<h1 id="ProductName">\r\r
+<!-- @Start Product -->\r\r
+UART LLD Manifest\r\r
+<!-- @End Product -->\r\r
+</h1>\r\r
+\r\r
+<h2 id="ReleaseDate">\r\r
+<!-- @Start Date -->\r\r
+02-25-2016\r\r
+<!-- @End Date -->\r\r
+</h2>\r\r
+\r\r
+\r\r
+<h2 id="SRASID">\r\r
+<!-- @Start Date -->\r\r
+Manifest ID - SRAS00002582\r\r
+<!-- @End Date -->\r\r
+</h2>\r\r
+</div><div class="LegendSection">\r\r
+<h2>Legend</h2>\r\r
+<p>(explanation of the fields in the Manifest Table below)</p>\r\r
+<table>\r\r
+<tbody>\r\r
+<tr>\r\r
+<td>\r\r
+<b>Software Name </b>\r\r
+</td>\r\r
+<td>\r\r
+The name of the application or file\r\r
+</td>\r\r
+</tr>\r\r
+<tr>\r\r
+<td>\r\r
+<b>Version</b>\r\r
+</td>\r\r
+<td>\r\r
+Version of the application or file\r\r
+</td>\r\r
+</tr>\r\r
+<tr>\r\r
+<td>\r\r
+<b>License Type</b>\r\r
+</td>\r\r
+<td>\r\r
+Type of license(s) under which TI will be providing\r\r
+software to the licensee (e.g. BSD-3-Clause, GPL-2.0, TI TSPA License, TI\r\r
+Commercial License). The license could be under Commercial terms or Open Source. See Open Source Reference License Disclaimer in\r\r
+the Disclaimers Section. Whenever possible, TI will use an <a href="http://spdx.org/licenses/"> SPDX Short Identifier </a> for an Open Source\r\r
+License. TI Commercial license terms are not usually included in the manifest and are conveyed through a variety \r\r
+of means such as a clickwrap license upon install, \r\r
+a signed license agreement and so forth.\r\r
+</td>\r\r
+</tr>\r\r
+<tr>\r\r
+<td>\r\r
+<b>Location</b>\r\r
+</td>\r\r
+<td>\r\r
+The directory name and path on the media or a specific file where the Software is located. Typically fully qualified path names \r\r
+are not used and instead the relevant top level directory of the application is given. \r\r
+A notation often used in the manifests is [as installed]/directory/*. Note that the asterisk implies that all\r\r
+files under that directory are licensed as the License Type field denotes. Any exceptions to this will \r\r
+generally be denoted as [as installed]/directory/* except as noted below which means as shown in subsequent rows of \r\r
+the manifest.\r\r
+</td>\r\r
+</tr>\r\r
+<tr>\r\r
+<td>\r\r
+<b>Delivered As</b>\r\r
+</td>\r\r
+<td>\r\r
+This field will either be &#8220;Source&#8221;, &#8220;Binary&#8221; or &#8220;Source\r\r
+and Binary&#8221; and is the primary form the content of the Software is delivered\r\r
+in. If the Software is delivered in an archive format, this field\r\r
+applies to the contents of the archive. If the word Limited is used\r\r
+with Source, as in &#8220;Limited Source&#8221; or &#8220;Limited Source and Binary&#8221; then\r\r
+only portions of the Source for the application are provided.\r\r
+</td>\r\r
+</tr>\r\r
+<tr>\r\r
+<td>\r\r
+<b>Modified by TI</b>\r\r
+</td>\r\r
+<td>\r\r
+This field will either be &#8220;Yes&#8221; or &#8220;No&#8221;. A &#8220;Yes&#8221; means\r\r
+TI has made changes to the Software. A &#8220;No&#8221; means TI has not made any\r\r
+changes. Note: This field is not applicable for Software &#8220;Obtained\r\r
+from&#8221; TI.\r\r
+</td>\r\r
+</tr>\r\r
+<tr>\r\r
+<td>\r\r
+<b>Obtained from</b>\r\r
+</td>\r\r
+<td>\r\r
+This field specifies from where or from whom TI obtained\r\r
+the Software. It may be a URL to an Open Source site, a 3<sup>rd</sup>\r\r
+party licensor, or TI. See Links Disclaimer in the Disclaimers\r\r
+Section.\r\r
+</td>\r\r
+</tr>\r\r
+</tbody>\r\r
+</table>\r\r
+</div><div class="DisclaimerSection">\r\r
+<h2>Disclaimers</h2>\r\r
+<h3>Export Control Classification Number (ECCN)</h3>\r\r
+<p>Any use of ECCNs listed in the Manifest is at the user&#8217;s risk\r\r
+and without recourse to TI. Your\r\r
+company, as the exporter of record, is responsible for determining the\r\r
+correct classification of any item at\r\r
+the time of export. Any export classification by TI of Software is for\r\r
+TI&#8217;s internal use only and shall not be construed as a representation\r\r
+or warranty\r\r
+regarding the proper export classification for such Software or whether\r\r
+an export\r\r
+license or other documentation is required for exporting such Software</p>\r\r
+<h3>Links in the Manifest</h3>\r\r
+<p>Any\r\r
+links appearing on this Manifest\r\r
+(for example in the &#8220;Obtained from&#8221; field) were verified at the time\r\r
+the Manifest was created. TI makes no guarantee that any listed links\r\r
+will\r\r
+remain active in the future.</p>\r\r
+<h3>Open Source License References</h3>\r\r
+<p>Your company is responsible for confirming the\r\r
+applicable license terms for any open source Software\r\r
+listed in this Manifest that was not &#8220;Obtained from&#8221; TI. Any open\r\r
+source license\r\r
+specified in this Manifest for Software that was\r\r
+not &#8220;Obtained from&#8221; TI is for TI&#8217;s internal use only and shall not be\r\r
+construed as a representation or warranty regarding the proper open\r\r
+source license terms\r\r
+for such Software.</p>\r\r
+</div><div class="ExportSection">\r\r
+<h2>Export Information</h2>\r\r
+<p>ECCN for Software included in this release:</p>\r\r
+Publicly Available  - Open Source or TI TSPA License\r\r
+</div><div class="ManifestTable">\r\r
+<!-- h2>Manifest Table</h2 -->\r\r
\r
+ <table> \r
+ <tbody> \r
\r
+ <h2> \r
+  UART LLD Manifest Table \r
+ </h2> \r
\r
+  \r
+ <p> \r
\r
+ See the Legend above for a description of these columns. \r
\r
+ </p> \r
+  \r
+ <table id="targetpackages" name="targetpackages"> \r
+ <thead>  \r
+       <tr> \r
+               <td><b>Software Name</b></td> \r
+               <td><b>Version</b></td> \r
+               <td><b>License Type</b></td> \r
+               <td><b>Delivered As</b></td> \r
+               <td><b>Modified by TI</b></td> \r
+               <td></td> \r
+               <td></td> \r
+       </tr> \r
+ </thead>  \r
\r
\r
+ <tbody> \r
+       <tr> \r
+               <td id="name" name="name" rowspan="2"> \r
+ UART LLD \r
+ </td> \r
+               <td id="version" name="version" rowspan="2"> \r
+ 01.00.00 \r
+ </td> \r
+               <td id="license" name="license" rowspan="2"> \r
+ BSD-3-Clause \r
+ </td> \r
+               <td id="delivered" name="delivered" rowspan="2"> \r
+ Source and Binary \r
+ </td> \r
+               <td id="modified" name="modified" rowspan="2"> \r
+ N/A \r
+ </td> \r
+               <td><b>Location</b></td> \r
+               <td id="location" name="location"> \r
+ packages/ti/drv/uart \r
+ </td> \r
+       </tr> \r
+       <tr> \r
+               <td><b>Obtained from</b></td> \r
+               <td id="obtained" name="obtained"> \r
+ Texas Instruments Incorporated \r
+ </td> \r
+       </tr> \r
\r
+ </tbody> \r
+ </table> \r
+  \r
+ </p> \r
+ </p> \r
+ <p> \r
+\r\r
+</div><div class="CreditSection">\r\r
+<h2>Credits</h2>\r\r
+<BR> <BR><BR><BR><BR>\r\r
+</div><div class="LicenseSection">\r\r
+<h2>Licenses</h2>\r\r
+<BR><h3><b> UART LLD Licenses </b></h3><BR> <BR><BR>/* Copyright (c) 2013 Texas Instruments Inc - http://www.ti.com */<BR><BR>/*<BR>*  Redistribution and use in source and binary forms, with or without<BR>*  modification, are permitted provided that the following conditions<BR>*  are met:<BR>*<BR>*    Redistributions of source code must retain the above copyright<BR>*    notice, this list of conditions and the following disclaimer.<BR>*<BR>*    Redistributions in binary form must reproduce the above copyright<BR>*    notice, this list of conditions and the following disclaimer in the<BR>*    documentation and/or other materials provided with the<BR>*    distribution.<BR>*<BR>*    Neither the name of Texas Instruments Incorporated nor the names of<BR>*    its contributors may be used to endorse or promote products derived<BR>*    from this software without specific prior written permission.<BR>*<BR>*  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS<BR>*  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT<BR>*  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR<BR>*  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT<BR>*  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,<BR>*  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT<BR>*  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,<BR>*  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY<BR>*  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT<BR>*  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE<BR>*  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.<BR>*<BR>*/<BR><BR><BR>\r\r
+</div>\r\r
+\r\r
+</body></html>
\ No newline at end of file
diff --git a/packages/ti/drv/uart/docs/UART_userGuide.doc b/packages/ti/drv/uart/docs/UART_userGuide.doc
new file mode 100644 (file)
index 0000000..eb5b334
Binary files /dev/null and b/packages/ti/drv/uart/docs/UART_userGuide.doc differ
diff --git a/packages/ti/drv/uart/docs/doxyfile.xdt b/packages/ti/drv/uart/docs/doxyfile.xdt
new file mode 100755 (executable)
index 0000000..75b1e90
--- /dev/null
@@ -0,0 +1,269 @@
+%%{\r
+/*!\r
+ *  This template implements the Doxyfile\r
+ */  \r
+  /* Versioning */\r
+  var ver = this;\r
+  var packageVersion = ver[0]+"."+ver[1]+"."+ver[2]+"."+ver[3];\r
+\r
+%%}\r
+\r
+# Doxyfile 1.5.6\r
+\r
+#---------------------------------------------------------------------------\r
+# Project related configuration options\r
+#---------------------------------------------------------------------------\r
+DOXYFILE_ENCODING      = UTF-8\r
+PROJECT_NAME           = "UART Low Level Driver"\r
+PROJECT_NUMBER         = `packageVersion`\r
+OUTPUT_DIRECTORY       = ./docs/doxygen\r
+CREATE_SUBDIRS         = NO\r
+OUTPUT_LANGUAGE        = English\r
+BRIEF_MEMBER_DESC      = YES\r
+REPEAT_BRIEF           = YES\r
+ABBREVIATE_BRIEF       = "The $name class" \\r
+                         "The $name widget" \\r
+                         "The $name file" \\r
+                         is \\r
+                         provides \\r
+                         specifies \\r
+                         contains \\r
+                         represents \\r
+                         a \\r
+                         an \\r
+                         the\r
+ALWAYS_DETAILED_SEC    = NO\r
+INLINE_INHERITED_MEMB  = NO\r
+FULL_PATH_NAMES        = NO\r
+STRIP_FROM_PATH        = \r
+STRIP_FROM_INC_PATH    = \r
+SHORT_NAMES            = NO\r
+JAVADOC_AUTOBRIEF      = NO\r
+QT_AUTOBRIEF           = NO\r
+MULTILINE_CPP_IS_BRIEF = NO\r
+DETAILS_AT_TOP         = NO\r
+INHERIT_DOCS           = YES\r
+SEPARATE_MEMBER_PAGES  = NO\r
+TAB_SIZE               = 8\r
+ALIASES                = \r
+OPTIMIZE_OUTPUT_FOR_C  = YES\r
+OPTIMIZE_OUTPUT_JAVA   = NO\r
+OPTIMIZE_FOR_FORTRAN   = NO\r
+OPTIMIZE_OUTPUT_VHDL   = NO\r
+BUILTIN_STL_SUPPORT    = NO\r
+CPP_CLI_SUPPORT        = NO\r
+SIP_SUPPORT            = NO\r
+IDL_PROPERTY_SUPPORT   = YES\r
+DISTRIBUTE_GROUP_DOC   = NO\r
+SUBGROUPING            = YES\r
+TYPEDEF_HIDES_STRUCT   = NO\r
+#---------------------------------------------------------------------------\r
+# Build related configuration options\r
+#---------------------------------------------------------------------------\r
+EXTRACT_ALL            = NO\r
+EXTRACT_PRIVATE        = NO\r
+EXTRACT_STATIC         = YES\r
+EXTRACT_LOCAL_CLASSES  = YES\r
+EXTRACT_LOCAL_METHODS  = NO\r
+EXTRACT_ANON_NSPACES   = NO\r
+HIDE_UNDOC_MEMBERS     = YES\r
+HIDE_UNDOC_CLASSES     = YES\r
+HIDE_FRIEND_COMPOUNDS  = NO\r
+HIDE_IN_BODY_DOCS      = NO\r
+INTERNAL_DOCS          = NO\r
+CASE_SENSE_NAMES       = NO\r
+HIDE_SCOPE_NAMES       = NO\r
+SHOW_INCLUDE_FILES     = YES\r
+INLINE_INFO            = YES\r
+SORT_MEMBER_DOCS       = YES\r
+SORT_BRIEF_DOCS        = NO\r
+SORT_GROUP_NAMES       = NO\r
+SORT_BY_SCOPE_NAME     = NO\r
+GENERATE_TODOLIST      = YES\r
+GENERATE_TESTLIST      = YES\r
+GENERATE_BUGLIST       = YES\r
+GENERATE_DEPRECATEDLIST= YES\r
+ENABLED_SECTIONS       = \r
+MAX_INITIALIZER_LINES  = 30\r
+SHOW_USED_FILES        = YES\r
+SHOW_FILES             = YES\r
+SHOW_NAMESPACES        = YES\r
+FILE_VERSION_FILTER    = \r
+#---------------------------------------------------------------------------\r
+# configuration options related to warning and progress messages\r
+#---------------------------------------------------------------------------\r
+QUIET                  = NO\r
+WARNINGS               = YES\r
+WARN_IF_UNDOCUMENTED   = YES\r
+WARN_IF_DOC_ERROR      = YES\r
+WARN_NO_PARAMDOC       = NO\r
+WARN_FORMAT            = "$file:$line: $text"\r
+WARN_LOGFILE           = \r
+#---------------------------------------------------------------------------\r
+# configuration options related to the input files\r
+#---------------------------------------------------------------------------\r
+INPUT                  = \r
+INPUT_ENCODING         = UTF-8\r
+FILE_PATTERNS          = *.h\r
+RECURSIVE              = NO\r
+EXCLUDE                = YES \\r
+                         ./example \\r
+                         ./test \\r
+                         ./package \\r
+                         ./packages\r
+EXCLUDE_SYMLINKS       = NO\r
+EXCLUDE_PATTERNS       = cslr_*.h\r
+EXCLUDE_SYMBOLS        = \r
+EXAMPLE_PATH           = \r
+EXAMPLE_PATTERNS       = *\r
+EXAMPLE_RECURSIVE      = NO\r
+IMAGE_PATH             = \r
+INPUT_FILTER           = \r
+FILTER_PATTERNS        = \r
+FILTER_SOURCE_FILES    = NO\r
+#---------------------------------------------------------------------------\r
+# configuration options related to source browsing\r
+#---------------------------------------------------------------------------\r
+SOURCE_BROWSER         = NO\r
+INLINE_SOURCES         = NO\r
+STRIP_CODE_COMMENTS    = YES\r
+REFERENCED_BY_RELATION = NO\r
+REFERENCES_RELATION    = NO\r
+REFERENCES_LINK_SOURCE = YES\r
+USE_HTAGS              = NO\r
+VERBATIM_HEADERS       = NO\r
+#---------------------------------------------------------------------------\r
+# configuration options related to the alphabetical class index\r
+#---------------------------------------------------------------------------\r
+ALPHABETICAL_INDEX     = NO\r
+COLS_IN_ALPHA_INDEX    = 5\r
+IGNORE_PREFIX          = \r
+#---------------------------------------------------------------------------\r
+# configuration options related to the HTML output\r
+#---------------------------------------------------------------------------\r
+GENERATE_HTML          = YES\r
+HTML_OUTPUT            = html\r
+HTML_FILE_EXTENSION    = .html\r
+HTML_HEADER            = ./docs/tiheader.htm\r
+HTML_FOOTER            = ./docs/tifooter.htm\r
+HTML_STYLESHEET        = \r
+GENERATE_HTMLHELP      = YES\r
+GENERATE_DOCSET        = NO\r
+DOCSET_FEEDNAME        = "Doxygen generated docs"\r
+DOCSET_BUNDLE_ID       = org.doxygen.Project\r
+HTML_DYNAMIC_SECTIONS  = NO\r
+CHM_FILE               = ..\..\uartlldDocs.chm\r
+HHC_LOCATION           = hhc.exe\r
+GENERATE_CHI           = NO\r
+CHM_INDEX_ENCODING     = \r
+BINARY_TOC             = NO\r
+TOC_EXPAND             = NO\r
+DISABLE_INDEX          = NO\r
+ENUM_VALUES_PER_LINE   = 4\r
+GENERATE_TREEVIEW      = NONE\r
+TREEVIEW_WIDTH         = 250\r
+FORMULA_FONTSIZE       = 10\r
+#---------------------------------------------------------------------------\r
+# configuration options related to the LaTeX output\r
+#---------------------------------------------------------------------------\r
+GENERATE_LATEX         = NO\r
+LATEX_OUTPUT           = latex\r
+LATEX_CMD_NAME         = latex\r
+MAKEINDEX_CMD_NAME     = makeindex\r
+COMPACT_LATEX          = NO\r
+PAPER_TYPE             = a4wide\r
+EXTRA_PACKAGES         = \r
+LATEX_HEADER           = \r
+PDF_HYPERLINKS         = YES\r
+USE_PDFLATEX           = YES\r
+LATEX_BATCHMODE        = NO\r
+LATEX_HIDE_INDICES     = NO\r
+#---------------------------------------------------------------------------\r
+# configuration options related to the RTF output\r
+#---------------------------------------------------------------------------\r
+GENERATE_RTF           = NO\r
+RTF_OUTPUT             = rtf\r
+COMPACT_RTF            = NO\r
+RTF_HYPERLINKS         = NO\r
+RTF_STYLESHEET_FILE    = \r
+RTF_EXTENSIONS_FILE    = \r
+#---------------------------------------------------------------------------\r
+# configuration options related to the man page output\r
+#---------------------------------------------------------------------------\r
+GENERATE_MAN           = NO\r
+MAN_OUTPUT             = man\r
+MAN_EXTENSION          = .3\r
+MAN_LINKS              = NO\r
+#---------------------------------------------------------------------------\r
+# configuration options related to the XML output\r
+#---------------------------------------------------------------------------\r
+GENERATE_XML           = NO\r
+XML_OUTPUT             = xml\r
+XML_SCHEMA             = \r
+XML_DTD                = \r
+XML_PROGRAMLISTING     = YES\r
+#---------------------------------------------------------------------------\r
+# configuration options for the AutoGen Definitions output\r
+#---------------------------------------------------------------------------\r
+GENERATE_AUTOGEN_DEF   = NO\r
+#---------------------------------------------------------------------------\r
+# configuration options related to the Perl module output\r
+#---------------------------------------------------------------------------\r
+GENERATE_PERLMOD       = NO\r
+PERLMOD_LATEX          = NO\r
+PERLMOD_PRETTY         = YES\r
+PERLMOD_MAKEVAR_PREFIX = \r
+#---------------------------------------------------------------------------\r
+# Configuration options related to the preprocessor   \r
+#---------------------------------------------------------------------------\r
+ENABLE_PREPROCESSING   = YES\r
+MACRO_EXPANSION        = NO\r
+EXPAND_ONLY_PREDEF     = NO\r
+SEARCH_INCLUDES        = YES\r
+INCLUDE_PATH           = \r
+INCLUDE_FILE_PATTERNS  = \r
+PREDEFINED             = \r
+EXPAND_AS_DEFINED      = \r
+SKIP_FUNCTION_MACROS   = YES\r
+#---------------------------------------------------------------------------\r
+# Configuration::additions related to external references   \r
+#---------------------------------------------------------------------------\r
+TAGFILES               = \r
+GENERATE_TAGFILE       = \r
+ALLEXTERNALS           = NO\r
+EXTERNAL_GROUPS        = YES\r
+PERL_PATH              = /usr/bin/perl\r
+#---------------------------------------------------------------------------\r
+# Configuration options related to the dot tool   \r
+#---------------------------------------------------------------------------\r
+CLASS_DIAGRAMS         = NO\r
+MSCGEN_PATH            = \r
+HIDE_UNDOC_RELATIONS   = YES\r
+HAVE_DOT               = NO\r
+DOT_FONTPATH           = \r
+CLASS_GRAPH            = YES\r
+COLLABORATION_GRAPH    = YES\r
+GROUP_GRAPHS           = YES\r
+UML_LOOK               = NO\r
+TEMPLATE_RELATIONS     = NO\r
+INCLUDE_GRAPH          = YES\r
+INCLUDED_BY_GRAPH      = YES\r
+CALL_GRAPH             = NO\r
+CALLER_GRAPH           = NO\r
+GRAPHICAL_HIERARCHY    = YES\r
+DIRECTORY_GRAPH        = YES\r
+DOT_IMAGE_FORMAT       = png\r
+DOT_PATH               = \r
+DOTFILE_DIRS           = \r
+DOT_GRAPH_MAX_NODES    = 50\r
+MAX_DOT_GRAPH_DEPTH    = 1000\r
+DOT_TRANSPARENT        = YES\r
+DOT_MULTI_TARGETS      = NO\r
+GENERATE_LEGEND        = YES\r
+DOT_CLEANUP            = YES\r
+#---------------------------------------------------------------------------\r
+# Configuration::additions related to the search engine   \r
+#---------------------------------------------------------------------------\r
+SEARCHENGINE           = NO\r
+\r
+\r
diff --git a/packages/ti/drv/uart/docs/tifooter.htm b/packages/ti/drv/uart/docs/tifooter.htm
new file mode 100755 (executable)
index 0000000..c35c513
--- /dev/null
@@ -0,0 +1,4 @@
+<hr size="1"><small>\r
+Copyright  $year, Texas Instruments Incorporated</small>\r
+</body>\r
+</html>\r
diff --git a/packages/ti/drv/uart/docs/tiheader.htm b/packages/ti/drv/uart/docs/tiheader.htm
new file mode 100755 (executable)
index 0000000..c38e6fb
--- /dev/null
@@ -0,0 +1,12 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">\r
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">\r
+<title>$title</title>\r
+<link href="$relpath$doxygen.css" rel="stylesheet" type="text/css">\r
+<link href="$relpath$tabs.css" rel="stylesheet" type="text/css">\r
+</head><body>\r
+<table width=100%>\r
+<tr>\r
+  <td bgcolor="black" width="1"><a href="http://www.ti.com"><img border=0 src="../../tilogo.gif"></a></td>\r
+  <td bgcolor="red"><img src="../../titagline.gif"></td>\r
+</tr>\r
+</table>\r
diff --git a/packages/ti/drv/uart/docs/tilogo.gif b/packages/ti/drv/uart/docs/tilogo.gif
new file mode 100755 (executable)
index 0000000..f2fab2d
Binary files /dev/null and b/packages/ti/drv/uart/docs/tilogo.gif differ
diff --git a/packages/ti/drv/uart/docs/titagline.gif b/packages/ti/drv/uart/docs/titagline.gif
new file mode 100755 (executable)
index 0000000..743a024
Binary files /dev/null and b/packages/ti/drv/uart/docs/titagline.gif differ
diff --git a/packages/ti/drv/uart/example/Module.xs b/packages/ti/drv/uart/example/Module.xs
new file mode 100755 (executable)
index 0000000..f569c85
--- /dev/null
@@ -0,0 +1,58 @@
+/******************************************************************************\r
+ * FILE PURPOSE: CPPI LLD example files.\r
+ ******************************************************************************\r
+ * FILE NAME: module.xs\r
+ *\r
+ * DESCRIPTION: \r
+ *  This file contains the module specification for CPPI LLD example files.\r
+ *\r
+ * Copyright (C) 2009, Texas Instruments, Inc.\r
+ *****************************************************************************/\r
+\r
+/* Load the library utility. */\r
+var libUtility = xdc.loadCapsule ("../build/buildlib.xs");\r
+\r
+/**************************************************************************\r
+ * FUNCTION NAME : modBuild\r
+ **************************************************************************\r
+ * DESCRIPTION   :\r
+ *  The function is used to add all the source files in the example \r
+ *  directory into the package.\r
+ **************************************************************************/\r
+function modBuild() \r
+{\r
+    /* Add all the .c files to the release package. */\r
+    var exampleFiles = libUtility.listAllFiles (".c", "example", true);\r
+    for (var k = 0 ; k < exampleFiles.length; k++)\r
+        Pkg.otherFiles[Pkg.otherFiles.length++] = exampleFiles[k];\r
+\r
+    /* Add all the .h files to the release package. */\r
+    var exampleFiles = libUtility.listAllFiles (".h", "example", true);\r
+    for (var k = 0 ; k < exampleFiles.length; k++)\r
+        Pkg.otherFiles[Pkg.otherFiles.length++] = exampleFiles[k];\r
+\r
+    /* Add all the .cmd files to the release package. */\r
+    var exampleFiles = libUtility.listAllFiles (".cmd", "example", true);\r
+    for (var k = 0 ; k < exampleFiles.length; k++)\r
+        Pkg.otherFiles[Pkg.otherFiles.length++] = exampleFiles[k];\r
+\r
+    /* Add all the .cfg files to the release package. */\r
+    var exampleFiles = libUtility.listAllFiles (".cfg", "example", true);\r
+    for (var k = 0 ; k < exampleFiles.length; k++)\r
+        Pkg.otherFiles[Pkg.otherFiles.length++] = exampleFiles[k];\r
+\r
+    /* Add all the make files to the release package. */\r
+    var exampleFiles = libUtility.listAllFiles ("makefile", "example", true);\r
+    for (var k = 0 ; k < exampleFiles.length; k++)\r
+        Pkg.otherFiles[Pkg.otherFiles.length++] = exampleFiles[k];\r
+    /* Add the .txt to the package */\r
+    var exampleFiles = libUtility.listAllFiles (".txt", "example", true);\r
+    for (var k = 0 ; k < exampleFiles.length; k++)\r
+        Pkg.otherFiles[Pkg.otherFiles.length++] = exampleFiles[k];\r
+\r
+    /* Add all the .mk files to the release package. */\r
+    var mkFiles = libUtility.listAllFiles (".mk", "example", true);\r
+    for (var k = 0 ; k < mkFiles.length; k++)\r
+        Pkg.otherFiles[Pkg.otherFiles.length++] = mkFiles[k];\r
+\r
+}\r
diff --git a/packages/ti/drv/uart/example/UART_BasicExample_Intr_ExampleProject/makefile b/packages/ti/drv/uart/example/UART_BasicExample_Intr_ExampleProject/makefile
new file mode 100644 (file)
index 0000000..e0ae89d
--- /dev/null
@@ -0,0 +1,47 @@
+# Makefile for UART sample app
+include $(PDK_INSTALL_PATH)/ti/build/Rules.make
+
+APP_NAME = drv_uart_intr_mode_app
+
+#Name of the directory created under packages/ti/binary/
+APP_NAME = UART_BasicExample_Intr_ExampleProject
+# Name of the binary if different from the default (APP_NAME)_$(BOARD_$(CORE)_<build_profile>
+LOCAL_APP_NAME =  UART_BasicExample_Intr_$(BOARD)_$(CORE)Example_Project
+
+
+ifeq ($(SOC),$(filter $(SOC), tda2xx tda2px dra75x dra78x tda2ex tda3xx))
+SRCDIR = . src
+INCDIR = . src
+# Common source files across all platforms and cores
+SRCS_COMMON += uart_intr_test.c
+endif
+
+# List all the external components/interfaces, whose interface header files
+#  need to be included for this component
+INCLUDE_EXTERNAL_INTERFACES = bios xdc pdk
+
+# List all the components required by the application
+COMP_LIST_COMMON = uart osal_tirtos csl
+
+ifeq ($(SOC),$(filter $(SOC), am65xx))
+COMP_LIST_COMMON += sciclient
+endif
+
+# Enable XDC build for application by providing XDC CFG File per core
+XDC_CFG_FILE_$(CORE) = uartSample.cfg
+
+PACKAGE_SRCS_COMMON = .
+CFLAGS_LOCAL_COMMON = $(PDK_CFLAGS)
+
+# Include common make files
+ifeq ($(MAKERULEDIR), )
+#Makerule path not defined, define this and assume relative path from ROOTDIR
+  MAKERULEDIR := $(ROOTDIR)/ti/build/makerules
+  export MAKERULEDIR
+endif
+include $(MAKERULEDIR)/common.mk
+
+# OBJs and libraries are built by using rule defined in rules_<target>.mk
+#     and need not be explicitly specified here
+
+# Nothing beyond this point
diff --git a/packages/ti/drv/uart/example/UART_BasicExample_Intr_ExampleProject/src/uart_intr_test.c b/packages/ti/drv/uart/example/UART_BasicExample_Intr_ExampleProject/src/uart_intr_test.c
new file mode 100644 (file)
index 0000000..d406296
--- /dev/null
@@ -0,0 +1,188 @@
+/*
+ * Copyright (C) 2015-2016 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+/**
+ *  \file  uart_test.c
+ *
+ *  \brief  Example application main file. This application will demonstrate
+ *          UART RTOS driver for interrupt mode.
+ *   This file performs as mentioned below:
+ *
+ *      1. Configure UART using structure UART_Params where user can configure
+ *         readmode writemode etc. different parameters.
+ *      2. First call UART_init()
+ *      3. Call UART_open with UART_Params structure to get UART instance handle.
+ *      4. Then user is expected to input some data(can be upto max 1000 chars)
+ *         and it is printed back on console using UART RTOS API's
+ *         UART_read() and UART_write() respectively.
+ *   Note
+ *      1. The sample application is written for TDAXX EVM, DRA75X EVM and AM57XX.
+ *      2. The UART instance used is UART1 for TDA2XX,AM57XX,DRA75X and
+ *         UART3 for TDA3XX,DRA78X
+ *
+**/
+
+/* ========================================================================== */
+/*                             Include Files                                  */
+/* ========================================================================== */
+/* XDCtools Header files */
+#include <xdc/std.h>
+#include <xdc/cfg/global.h>
+#include <xdc/runtime/Error.h>
+#include <xdc/runtime/System.h>
+
+/* BIOS Header files */
+#include <ti/sysbios/BIOS.h>
+#include <ti/sysbios/knl/Task.h>
+
+#include "stdio.h"
+#include "stdint.h"
+#include "stdlib.h"
+#include "string.h"
+
+/* UART Header files */
+#include <ti/drv/uart/UART.h>
+#include <ti/drv/uart/src/UART_osal.h>
+#include <ti/csl/hw_types.h>
+#include <ti/csl/soc.h>
+
+/* ========================================================================== */
+/*                           Macros & Typedefs                                */
+/* ========================================================================== */
+#if defined (SOC_TDA2XX) || defined (SOC_TDA2PX) || defined (SOC_DRA75x) || defined (SOC_AM572x) || defined (SOC_TDA2EX) || defined (SOC_AM571x)
+#define UART_INSTANCE 0
+#define XBAR_INST CSL_XBAR_INST_IPU1_IRQ_44
+#define XBAR_IRQ CSL_XBAR_UART1_IRQ
+#endif
+#if defined (SOC_TDA3XX) || defined (SOC_DRA78x)
+#define UART_INSTANCE 2
+#endif
+
+/* ========================================================================== */
+/*                          Internal Function Declarations                    */
+/* ========================================================================== */
+/* None */
+
+/* ========================================================================== */
+/*                            Global Variables                                */
+/* ========================================================================== */
+UART_Handle uart_handle;
+
+/* UART parameters structure polled mode*/
+const UART_Params user_params = {
+    UART_MODE_BLOCKING,     /* readMode */
+    UART_MODE_BLOCKING,     /* writeMode */
+    SemaphoreP_WAIT_FOREVER,/* readTimeout */
+    SemaphoreP_WAIT_FOREVER,/* writeTimeout */
+    NULL,                  /* readCallback */
+    NULL,                 /* writeCallback */
+    UART_RETURN_NEWLINE,  /* readReturnMode */
+    UART_DATA_TEXT,       /* readDataMode */
+    UART_DATA_TEXT,       /* writeDataMode */
+    UART_ECHO_ON,         /* readEcho */
+    115200,               /* baudRate */
+    UART_LEN_8,           /* dataLength */
+    UART_STOP_ONE,        /* stopBits */
+    UART_PAR_NONE         /* parityType */
+};
+
+/* ========================================================================== */
+/*                          Function Definitions                              */
+/* ========================================================================== */
+void padConfig_prcmEnable()
+{
+#if defined (SOC_AM572x) || defined (SOC_AM571x)
+    /*Pad configurations */
+    HW_WR_REG32(CSL_MPU_CORE_PAD_IO_REGISTERS_REGS+CSL_CONTROL_CORE_PAD_IO_PAD_UART1_RXD,0x00040000);
+    HW_WR_REG32(CSL_MPU_CORE_PAD_IO_REGISTERS_REGS+CSL_CONTROL_CORE_PAD_IO_PAD_UART1_TXD,0x00000000);
+#endif
+#if defined (SOC_TDA2XX) || defined (SOC_TDA2PX) || defined (SOC_TDA2EX) || defined (SOC_DRA75x)
+    /*Pad configurations */
+    HW_WR_REG32(SOC_CORE_PAD_IO_REGISTERS_BASE+CTRL_CORE_PAD_UART1_RXD,0x00040000);
+    HW_WR_REG32(SOC_CORE_PAD_IO_REGISTERS_BASE+CTRL_CORE_PAD_UART1_TXD,0x00000000);
+#endif
+#if defined (SOC_TDA3XX) || defined (SOC_DRA78x)
+    /*Pad configurations */
+    HW_WR_REG32(SOC_CORE_PAD_IO_REGISTERS_BASE+CTRL_CORE_PAD_IO_SPI1_SCLK,0x00040001);
+    HW_WR_REG32(SOC_CORE_PAD_IO_REGISTERS_BASE+CTRL_CORE_PAD_IO_SPI1_CS0,0x00000001);
+#endif
+}
+
+void uart_test(UArg arg0, UArg arg1)
+{
+    UART_Params      params;
+    int32_t count;
+    char input = '\n';
+    char buffPointer[1000];
+    char echoPrompt[] = "\nuart driver example test:\nEnter some data or press the esc \n";
+    char echoPrompt1[] = "Data received is\n";
+
+    padConfig_prcmEnable();
+#if defined (SOC_TDA2XX) || defined (SOC_TDA2PX) || defined (SOC_DRA75x) || defined (SOC_AM572x) || defined (SOC_TDA2EX) || defined (SOC_AM571x)
+    CSL_xbarIrqConfigure(CSL_XBAR_IRQ_CPU_ID_IPU1,XBAR_INST,XBAR_IRQ);
+#endif
+
+    UART_init();
+    params = user_params;
+    uart_handle = UART_open(UART_INSTANCE, &params);
+
+    UART_write(uart_handle,echoPrompt,sizeof(echoPrompt));
+
+    while(1)
+       {
+        count=UART_read(uart_handle,buffPointer,1000);
+        UART_write(uart_handle,&input,1U);
+        UART_write(uart_handle,echoPrompt1,sizeof(echoPrompt1));
+        UART_write(uart_handle,buffPointer,count);
+        UART_write(uart_handle,echoPrompt,sizeof(echoPrompt));
+       }
+}
+
+int main(void)
+{
+    Task_Handle task;
+    Error_Block eb;
+
+    Error_init(&eb);
+
+    task = Task_create(uart_test, NULL, &eb);
+    if (task == NULL) {
+        System_printf("Task_create() failed!\n");
+        BIOS_exit(0);
+    }
+
+    /* Start BIOS */
+    BIOS_start();
+    return (0);
+}
+/********************************* End of file ******************************/
diff --git a/packages/ti/drv/uart/example/UART_BasicExample_Intr_ExampleProject/uartSample.cfg b/packages/ti/drv/uart/example/UART_BasicExample_Intr_ExampleProject/uartSample.cfg
new file mode 100644 (file)
index 0000000..6bac0c0
--- /dev/null
@@ -0,0 +1,31 @@
+/* ========================================================================== */
+/*                      CFG script for the UART sample                        */
+/* ========================================================================== */
+
+/* use modules */
+var Main      = xdc.useModule('xdc.runtime.Main');
+var System    = xdc.useModule('xdc.runtime.System');
+
+var BIOS      = xdc.useModule('ti.sysbios.BIOS');
+var Task      = xdc.useModule('ti.sysbios.knl.Task');
+var Mailbox   = xdc.useModule('ti.sysbios.knl.Mailbox');
+var Semaphore = xdc.useModule('ti.sysbios.knl.Semaphore');
+var Timer     = xdc.useModule('ti.sysbios.hal.Timer');
+
+var core = java.lang.System.getenv("CORE");
+
+if (core == "c66x")
+{
+    var EventCombiner = xdc.useModule('ti.sysbios.family.c64p.EventCombiner');
+}
+
+/*
+ * The BIOS module will create the default heap for the system.
+ * Specify the size of this default heap.
+ */
+BIOS.heapSize = 0xA0000;
+
+/*
+ * Create and install logger for the whole system
+ */
+BIOS.libType = BIOS.LibType_Custom;
diff --git a/packages/ti/drv/uart/example/UART_BasicExample_Polling_ExampleProject/makefile b/packages/ti/drv/uart/example/UART_BasicExample_Polling_ExampleProject/makefile
new file mode 100644 (file)
index 0000000..65e83de
--- /dev/null
@@ -0,0 +1,40 @@
+# Makefile for UART sample app
+include $(PDK_INSTALL_PATH)/ti/build/Rules.make
+
+#Name of the directory created under packages/ti/binary/
+APP_NAME = UART_BasicExample_Polling_ExampleProject
+# Name of the binary if different from the default (APP_NAME)_$(BOARD_$(CORE)_<build_profile>
+LOCAL_APP_NAME =  UART_BasicExample_Polling_$(BOARD)_$(CORE)Example_Project
+
+ifeq ($(SOC),$(filter $(SOC), tda2xx tda2px dra75x dra78x tda2ex tda3xx))
+SRCDIR = . src
+INCDIR = . src
+# Common source files across all platforms and cores
+SRCS_COMMON += uart_polling_test.c
+endif
+
+# List all the external components/interfaces, whose interface header files
+#  need to be included for this component
+INCLUDE_EXTERNAL_INTERFACES = bios xdc pdk
+
+# List all the components required by the application
+COMP_LIST_COMMON = uart osal_tirtos csl
+
+# Enable XDC build for application by providing XDC CFG File per core
+XDC_CFG_FILE_$(CORE) = uartSample.cfg
+
+PACKAGE_SRCS_COMMON = .
+CFLAGS_LOCAL_COMMON = $(PDK_CFLAGS)
+
+# Include common make files
+ifeq ($(MAKERULEDIR), )
+#Makerule path not defined, define this and assume relative path from ROOTDIR
+  MAKERULEDIR := $(ROOTDIR)/ti/build/makerules
+  export MAKERULEDIR
+endif
+include $(MAKERULEDIR)/common.mk
+
+# OBJs and libraries are built by using rule defined in rules_<target>.mk
+#     and need not be explicitly specified here
+
+# Nothing beyond this point
diff --git a/packages/ti/drv/uart/example/UART_BasicExample_Polling_ExampleProject/src/uart_polling_test.c b/packages/ti/drv/uart/example/UART_BasicExample_Polling_ExampleProject/src/uart_polling_test.c
new file mode 100644 (file)
index 0000000..8714f91
--- /dev/null
@@ -0,0 +1,183 @@
+/*
+ * Copyright (C) 2015-2016 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+/**
+ *  \file  uart_test.c
+ *
+ *  \brief  Example application main file. This application will demonstrate
+ *          UART RTOS driver for polling mode.
+ *   This file performs as mentioned below:
+ *
+ *      1. Configure UART using structure UART_Params where user can configure
+ *         readmode writemode etc. different parameters.
+ *      2. First call UART_init()
+ *      3. Call UART_open with UART_Params structure to get UART instance handle.
+ *      4. Then user is expected to input some data(can be upto max 1000 chars)
+ *         and it is printed back on console using UART RTOS API's
+ *         UART_readPolling() and UART_write() respectively.
+ *   Note
+ *      1. The sample application is written for TDAXX EVM, DRA75X EVM and AM57XX.
+ *      2. The UART instance used is UART1 for TDA2XX,AM57XX,DRA75X and
+ *         UART3 for TDA3XX,DRA78X.
+ *
+**/
+
+/* ========================================================================== */
+/*                             Include Files                                  */
+/* ========================================================================== */
+/* XDCtools Header files */
+#include <xdc/std.h>
+#include <xdc/cfg/global.h>
+#include <xdc/runtime/Error.h>
+#include <xdc/runtime/System.h>
+
+/* BIOS Header files */
+#include <ti/sysbios/BIOS.h>
+#include <ti/sysbios/knl/Task.h>
+
+#include "stdio.h"
+#include "stdint.h"
+#include "stdlib.h"
+#include "string.h"
+
+/* UART Header files */
+#include <ti/drv/uart/UART.h>
+#include <ti/drv/uart/src/UART_osal.h>
+#include <ti/csl/hw_types.h>
+#include <ti/csl/soc.h>
+
+/* ========================================================================== */
+/*                           Macros & Typedefs                                */
+/* ========================================================================== */
+#if defined (SOC_TDA2XX) || defined (SOC_TDA2PX) || defined (SOC_DRA75x) || defined (SOC_AM572x) || defined (SOC_TDA2EX) || defined (SOC_AM571x)
+#define UART_INSTANCE 0
+#endif
+#if defined (SOC_TDA3XX) || defined (SOC_DRA78x)
+#define UART_INSTANCE 2
+#endif
+
+/* ========================================================================== */
+/*                          Internal Function Declarations                    */
+/* ========================================================================== */
+/* None */
+
+/* ========================================================================== */
+/*                            Global Variables                                */
+/* ========================================================================== */
+UART_Handle uart_handle;
+
+/* UART parameters structure polled mode*/
+const UART_Params user_params = {
+    UART_MODE_BLOCKING,     /* readMode */
+    UART_MODE_BLOCKING,     /* writeMode */
+    0U,                     /* readTimeout */
+    0U,                     /* writeTimeout */
+    NULL,                  /* readCallback */
+    NULL,                 /* writeCallback */
+    UART_RETURN_NEWLINE,  /* readReturnMode */
+    UART_DATA_TEXT,       /* readDataMode */
+    UART_DATA_TEXT,       /* writeDataMode */
+    UART_ECHO_ON,         /* readEcho */
+    115200,               /* baudRate */
+    UART_LEN_8,           /* dataLength */
+    UART_STOP_ONE,        /* stopBits */
+    UART_PAR_NONE         /* parityType */
+};
+
+/* ========================================================================== */
+/*                          Function Definitions                              */
+/* ========================================================================== */
+void padConfig_prcmEnable()
+{
+#if defined (SOC_AM572x) || defined (SOC_AM571x)
+    /*Pad configurations */
+    HW_WR_REG32(CSL_MPU_CORE_PAD_IO_REGISTERS_REGS+CSL_CONTROL_CORE_PAD_IO_PAD_UART1_RXD,0x00040000);
+    HW_WR_REG32(CSL_MPU_CORE_PAD_IO_REGISTERS_REGS+CSL_CONTROL_CORE_PAD_IO_PAD_UART1_TXD,0x00000000);
+#endif
+#if defined (SOC_TDA2XX) || defined (SOC_TDA2PX) || defined (SOC_TDA2EX) || defined (SOC_DRA75x)
+    /*Pad configurations */
+    HW_WR_REG32(SOC_CORE_PAD_IO_REGISTERS_BASE+CTRL_CORE_PAD_UART1_RXD,0x00040000);
+    HW_WR_REG32(SOC_CORE_PAD_IO_REGISTERS_BASE+CTRL_CORE_PAD_UART1_TXD,0x00000000);
+#endif
+#if defined (SOC_TDA3XX) || defined (SOC_DRA78x)
+    /*Pad configurations */
+    HW_WR_REG32(SOC_CORE_PAD_IO_REGISTERS_BASE+CTRL_CORE_PAD_IO_SPI1_SCLK,0x00040001);
+    HW_WR_REG32(SOC_CORE_PAD_IO_REGISTERS_BASE+CTRL_CORE_PAD_IO_SPI1_CS0,0x00000001);
+#endif
+}
+
+void uart_test(UArg arg0, UArg arg1)
+{
+    UART_Params      params;
+    int32_t count;
+    char input = '\n';
+    char buffPointer[1000];
+    char echoPrompt[] = "\nuart driver example test:\nEnter some data or press the esc \n";
+    char echoPrompt1[] = "Data received is\n";
+
+    padConfig_prcmEnable();
+
+    UART_init();
+    params = user_params;
+    uart_handle = UART_open(UART_INSTANCE, &params);
+
+    UART_write(uart_handle,echoPrompt,sizeof(echoPrompt));
+
+    while(1)
+       {
+        count=UART_readPolling(uart_handle,buffPointer,1000);
+        UART_write(uart_handle,&input,1U);
+        UART_write(uart_handle,echoPrompt1,sizeof(echoPrompt1));
+        UART_write(uart_handle,buffPointer,count);
+        UART_write(uart_handle,echoPrompt,sizeof(echoPrompt));
+       }
+}
+
+int main(void)
+{
+    Task_Handle task;
+    Error_Block eb;
+
+    Error_init(&eb);
+
+    task = Task_create(uart_test, NULL, &eb);
+    if (task == NULL) {
+        System_printf("Task_create() failed!\n");
+        BIOS_exit(0);
+    }
+
+    /* Start BIOS */
+    BIOS_start();
+    return (0);
+}
+/********************************* End of file ******************************/
diff --git a/packages/ti/drv/uart/example/UART_BasicExample_Polling_ExampleProject/uartSample.cfg b/packages/ti/drv/uart/example/UART_BasicExample_Polling_ExampleProject/uartSample.cfg
new file mode 100644 (file)
index 0000000..6bac0c0
--- /dev/null
@@ -0,0 +1,31 @@
+/* ========================================================================== */
+/*                      CFG script for the UART sample                        */
+/* ========================================================================== */
+
+/* use modules */
+var Main      = xdc.useModule('xdc.runtime.Main');
+var System    = xdc.useModule('xdc.runtime.System');
+
+var BIOS      = xdc.useModule('ti.sysbios.BIOS');
+var Task      = xdc.useModule('ti.sysbios.knl.Task');
+var Mailbox   = xdc.useModule('ti.sysbios.knl.Mailbox');
+var Semaphore = xdc.useModule('ti.sysbios.knl.Semaphore');
+var Timer     = xdc.useModule('ti.sysbios.hal.Timer');
+
+var core = java.lang.System.getenv("CORE");
+
+if (core == "c66x")
+{
+    var EventCombiner = xdc.useModule('ti.sysbios.family.c64p.EventCombiner');
+}
+
+/*
+ * The BIOS module will create the default heap for the system.
+ * Specify the size of this default heap.
+ */
+BIOS.heapSize = 0xA0000;
+
+/*
+ * Create and install logger for the whole system
+ */
+BIOS.libType = BIOS.LibType_Custom;
diff --git a/packages/ti/drv/uart/example/firmware_example/am335x/armv7/bios/UART_FwExample_bbbAM335x_armExampleProject.txt b/packages/ti/drv/uart/example/firmware_example/am335x/armv7/bios/UART_FwExample_bbbAM335x_armExampleProject.txt
new file mode 100644 (file)
index 0000000..9420ddf
--- /dev/null
@@ -0,0 +1,5 @@
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/uart/example/firmware_example/src/main_uart_example.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/uart/example/firmware_example/am335x/armv7/bios/am335x_app_bbbam335x.cfg"
+-ccs.setCompilerOptions "-c -mcpu=cortex-a8 -mtune=cortex-a8 -march=armv7-a -marm -mfloat-abi=hard  -DSOC_AM335X -DbbbAM335x -DBUILDCFG_MOD_UART -DPRU_ICSS_FW -g -gstrict-dwarf -Wall -MMD -MP -I${PDK_INSTALL_PATH}/ti/drv/uart -I${PDK_INSTALL_PATH} -I${PDK_INSTALL_PATH}/ti/starterware/include/am335x"  -rtsc.enableRtsc
+-ccs.setLinkerOptions " -lgcc -lrdimon -lm -lnosys -nostartfiles -static ${PDK_INSTALL_PATH}/ti/drv/uart/firmware/icss_uart/bin/am335x/a8host/REV1/icss_uart_PRU0.bin ${PDK_INSTALL_PATH}/ti/drv/uart/firmware/icss_uart/bin/am335x/a8host/REV1/icss_uart_PRU1.bin -Wl,-T,${PDK_INSTALL_PATH}/ti/build/pruss/lnk_a8_a9_a15_REV1.cmd -Wl,--gc-sections "
+-rtsc.setConfiguroOptions "-b ${PDK_INSTALL_PATH}/ti/build/am335x/config_am335x_a8.bld -DBOARD=bbbAM335x"
diff --git a/packages/ti/drv/uart/example/firmware_example/am335x/armv7/bios/am335x_app_bbbam335x.cfg b/packages/ti/drv/uart/example/firmware_example/am335x/armv7/bios/am335x_app_bbbam335x.cfg
new file mode 100644 (file)
index 0000000..adaf434
--- /dev/null
@@ -0,0 +1,216 @@
+/**
+ *  \file   am335x_app_bbbam335x.cfg
+ *
+ *  \brief  Sysbios config file for UART example test project on AM335x BeagleBone.
+ *
+ */
+
+/*
+ * Copyright (C) 2019 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+/* ================ General configuration ================ */ 
+var Defaults = xdc.useModule('xdc.runtime.Defaults');
+var Diags = xdc.useModule('xdc.runtime.Diags');
+var Error = xdc.useModule('xdc.runtime.Error');
+var Main = xdc.useModule('xdc.runtime.Main');
+var Memory = xdc.useModule('xdc.runtime.Memory')
+var SysMin = xdc.useModule('xdc.runtime.SysMin');
+var System = xdc.useModule('xdc.runtime.System');
+var Text = xdc.useModule('xdc.runtime.Text');
+var Clock = xdc.useModule('ti.sysbios.knl.Clock');
+var Swi = xdc.useModule('ti.sysbios.knl.Swi');
+var Task = xdc.useModule('ti.sysbios.knl.Task');
+var Semaphore = xdc.useModule('ti.sysbios.knl.Semaphore');
+var Hwi = xdc.useModule('ti.sysbios.hal.Hwi');
+var Timer = xdc.useModule('ti.sysbios.hal.Timer');
+var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
+var SemihostSupport = xdc.useModule('ti.sysbios.rts.gnu.SemiHostSupport');
+
+/* 
+ * Program.argSize sets the size of the .args section. 
+ * The examples don't use command line args so argSize is set to 0.
+ */
+Program.argSize = 0x0;
+
+/* System stack size (used by ISRs and Swis) */
+Program.stack = 0x4000;
+
+/*
+ * Uncomment this line to globally disable Asserts.
+ * All modules inherit the default from the 'Defaults' module.  You
+ * can override these defaults on a per-module basis using Module.common$. 
+ * Disabling Asserts will save code space and improve runtime performance.
+Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF;
+ */
+Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF;
+
+
+/*
+ * Uncomment this line to keep module names from being loaded on the target.
+ * The module name strings are placed in the .const section. Setting this
+ * parameter to false will save space in the .const section.  Error and
+ * Assert messages will contain an "unknown module" prefix instead
+ * of the actual module name.
+Defaults.common$.namedModule = false;
+ */
+Defaults.common$.namedModule = false;
+
+/*
+ * Minimize exit handler array in System.  The System module includes
+ * an array of functions that are registered with System_atexit() to be
+ * called by System_exit().
+ */
+System.maxAtexitHandlers = 4;
+
+/* 
+ * Uncomment this line to disable the Error print function.  
+ * We lose error information when this is disabled since the errors are
+ * not printed.  Disabling the raiseHook will save some code space if
+ * your app is not using System_printf() since the Error_print() function
+ * calls System_printf().
+Error.raiseHook = null;
+ */
+Error.raiseHook = null;
+/* 
+ * Uncomment this line to keep Error, Assert, and Log strings from being
+ * loaded on the target.  These strings are placed in the .const section.
+ * Setting this parameter to false will save space in the .const section.
+ * Error, Assert and Log message will print raw ids and args instead of
+ * a formatted message.
+Text.isLoaded = false;
+ */
+Text.isLoaded = false;
+/*
+ * Uncomment this line to disable the output of characters by SysMin
+ * when the program exits.  SysMin writes characters to a circular buffer.
+ * This buffer can be viewed using the SysMin Output view in ROV.
+ */
+SysMin.flushAtExit = false;
+
+
+/* ================ BIOS configuration ================ */
+
+var BIOS = xdc.useModule('ti.sysbios.BIOS');
+BIOS.libType = BIOS.LibType_Custom;
+BIOS.customCCOpts = BIOS.customCCOpts.replace(" -g ","");
+BIOS.assertsEnabled = false;
+BIOS.logsEnabled = false;
+BIOS.swiEnabled = false;
+
+/*
+ * The BIOS module will create the default heap for the system.
+ * Specify the size of this default heap.
+ */
+BIOS.heapSize = 0x8000;
+
+Swi.common$.namedInstance = true;
+Program.sectionsExclude = ".*";
+
+Clock.tickPeriod = 1000;
+Hwi.dispatcherSwiSupport = true;
+Hwi.dispatcherTaskSupport = true;
+Hwi.dispatcherAutoNestingSupport = true;
+
+Task.enableIdleTask = false;
+Task.initStackFlag = false;
+Task.checkStackFlag = false;
+
+/* ================ Driver configuration ================ */
+
+/* Load the OSAL package */
+var osType = "tirtos";
+var Osal = xdc.useModule('ti.osal.Settings');
+Osal.osType = osType;
+
+/*use CSL package*/
+var socType           = "am335x";
+var Csl = xdc.loadPackage('ti.csl');
+Csl.Settings.deviceType = socType;
+
+/* Load the board package */
+var Board = xdc.loadPackage('ti.board');
+Board.Settings.boardName = "bbbAM335x"; // NOTE: Board_init() doesn't configure PRU-ICSS or UART1 module on BBB
+
+/* Load the uart package */
+var UartPackage = xdc.loadPackage('ti.drv.uart');
+//UartPackage.Settings.enableProfiling = true;
+UartPackage.Settings.socType = socType;
+UartPackage.Settings.enableSwIp = true;
+
+
+/* ================ Cache and MMU configuration ================ */
+
+var Cache = xdc.useModule('ti.sysbios.family.arm.a8.Cache');
+Cache.enableCache = true; 
+
+var Mmu = xdc.useModule('ti.sysbios.family.arm.a8.Mmu');
+Mmu.enableMMU = true;
+
+/* Force peripheral section to be NON cacheable strongly-ordered memory */
+var peripheralAttrs = {
+    type : Mmu.FirstLevelDesc_SECTION, // SECTION descriptor
+    tex: 0,
+    bufferable : false,                // bufferable
+    cacheable  : false,                // cacheable
+    shareable  : false,                // shareable
+    noexecute  : true,                 // not executable
+    domain     : 0,
+    imp        : 1,
+    accPerm    : 3,
+};
+
+/* Define the base address of the 1 Meg page the peripheral resides in. */
+var peripheralBaseAddr = 0x44e00400;;
+
+/* Configure the corresponding MMU page descriptor accordingly */
+Mmu.setFirstLevelDescMeta(peripheralBaseAddr,
+                          peripheralBaseAddr,
+                          peripheralAttrs);
+
+
+/* Define the base address of the 1 Meg page the peripheral resides in. */
+var peripheralBaseAddr = 0x481a6000;
+
+/* Configure the corresponding MMU page descriptor accordingly */
+Mmu.setFirstLevelDescMeta(peripheralBaseAddr,
+                          peripheralBaseAddr,
+                          peripheralAttrs);
+
+
+/* Define the base address of the 1 Meg page the peripheral resides in. */
+var peripheralBaseAddr = 0x4a300000;
+
+/* Configure the corresponding MMU page descriptor accordingly */
+Mmu.setFirstLevelDescMeta(peripheralBaseAddr,
+                          peripheralBaseAddr,
+                          peripheralAttrs);
diff --git a/packages/ti/drv/uart/example/firmware_example/src/main_uart_example.c b/packages/ti/drv/uart/example/firmware_example/src/main_uart_example.c
new file mode 100644 (file)
index 0000000..46eda28
--- /dev/null
@@ -0,0 +1,182 @@
+
+/**
+ * @file   main_uart_example.c
+ *
+ * @brief  This file tests the UART driver APIs with all the suported
+ *         input parameters values
+ */
+/*
+ * Copyright (c) 2014 - 2019, Texas Instruments Incorporated
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * *  Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *
+ * *  Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * *  Neither the name of Texas Instruments Incorporated nor the names of
+ *    its contributors may be used to endorse or promote products derived
+ *    from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <stdio.h>
+#include <stdbool.h>
+#include <stdlib.h>
+#include <string.h>
+
+/* XDCtools Header files */
+#include <xdc/std.h>
+#include <xdc/cfg/global.h>
+#include <xdc/runtime/Error.h>
+#include <xdc/runtime/System.h>
+
+/* BIOS Header files */
+#include <ti/sysbios/BIOS.h>
+#include <ti/sysbios/knl/Task.h>
+
+/* CSL Header files */
+#include <ti/csl/csl_chip.h>
+
+/* UART Header files */
+#include <ti/drv/uart/UART.h>
+#include <ti/drv/uart/UART_stdio.h>
+#include <ti/drv/uart/soc/UART_soc.h>
+
+/* Board Header files */
+#include <ti/board/board.h>
+#include <ti/starterware/include/prcm.h>
+
+// Test UART instance
+#define UART_TEST_INSTANCE      ( 9U )
+
+// Length of the input in number of characters
+#define INPUT_LENGTH            ( 16U )
+
+char echoPrompt[]="\nuart driver and utils example test cases :\nEnter 150 characters or press the esc \n";
+char echoPrompt1[]="DATA RECEIVED IS\n ";
+
+bool Board_initUART(void)
+{
+    Board_initCfg boardCfg;
+    Board_STATUS  boardStatus;
+    int32_t status;
+    bool ret = true;
+
+    /* 
+       Initialize the UART PRU FW configuration.
+       Place before Board_init() to allow configuration to include BOARD_INIT_UART_STDIO.
+    */
+    UART_socInitFwCfg();
+    
+    boardCfg = BOARD_INIT_PLL | BOARD_INIT_MODULE_CLOCK | BOARD_INIT_DDR | BOARD_INIT_ICSS_PINMUX;
+    //boardCfg |= BOARD_INIT_UART_STDIO;
+    //boardCfg |= BOARD_INIT_PINMUX_CONFIG;
+    boardStatus = Board_init(boardCfg);
+    if (boardStatus != BOARD_SOK)
+    {
+        ret = false;
+    }
+    
+    if (ret == true)
+    {
+        // Enable PRU-ICSS module
+        status = PRCMModuleEnable(CHIPDB_MOD_ID_PRU_ICSS, 1U, 0U);
+        if (status != S_PASS)
+        {
+            ret = false;
+        }
+    }
+    
+    if (ret == true)
+    {
+        // Enable UART1 HW module
+        status = PRCMModuleEnable(CHIPDB_MOD_ID_UART, 1U, 0U);
+        if (status != S_PASS)
+        {
+            ret = false;
+        }
+    }
+
+    return ret;
+}
+
+Void uart_test(UArg arg0, UArg arg1)
+{
+    uint32_t uartInst;
+    char input = '\n';
+    char *buffPointer;
+
+    // get UART instance ID
+    uartInst = (uint32_t)arg0;
+    
+    UART_stdioInit(uartInst);    
+    
+    buffPointer = (char *)malloc(INPUT_LENGTH);
+    memset(buffPointer, 0, INPUT_LENGTH);
+
+    UART_puts("\nuart driver and utils example test cases :\nEnter 16 characters or press the esc \n",sizeof("uart driver and utils example test cases : please enter 16 characters or press the esc or carriage return\n"));
+
+    while (1) 
+    {
+        memset(buffPointer,0,INPUT_LENGTH);
+        UART_gets(buffPointer, INPUT_LENGTH);
+        UART_puts(&input,1);
+        UART_printf("Data received is\n");
+        UART_puts(buffPointer, INPUT_LENGTH);
+        UART_printStatus("\nTest Passed\n");
+        UART_puts("\nuart driver and utils example test cases :\nEnter 16 characters or press the esc \n",sizeof("uart driver and utils example test cases : please enter 16 characters or press the esc or carriage return\n"));
+    }
+} /* uart_test */
+
+/*
+ *  ======== main ========
+ */
+int main(void)
+{
+    Task_Handle task;
+    Task_Params taskParams;
+    Error_Block eb;
+
+    if (Board_initUART() == false)
+    {
+        System_printf("\nBoard_initUART failed!\n");
+        BIOS_exit(0);
+    }
+
+    Error_init(&eb);
+    
+    // Initialize task params
+    Task_Params_init(&taskParams);
+    taskParams.arg0 = (UArg)UART_TEST_INSTANCE;
+    taskParams.arg1 = (UArg)0;
+    taskParams.stackSize = 1024*8;
+
+    // Create task
+    task = Task_create(uart_test, &taskParams, &eb);
+    if (task == NULL) {
+        System_printf("Task_create() failed!\n");
+        BIOS_exit(0);
+    }
+
+    /* Start BIOS */
+    BIOS_start();
+    return (0);
+} /* main */
diff --git a/packages/ti/drv/uart/example/sample/am335x/armv7/bios/UART_BasicExample_bbbAM335x_armExampleProject.txt b/packages/ti/drv/uart/example/sample/am335x/armv7/bios/UART_BasicExample_bbbAM335x_armExampleProject.txt
new file mode 100644 (file)
index 0000000..9c4f624
--- /dev/null
@@ -0,0 +1,5 @@
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/uart/example/sample/src/main_uart_example.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/uart/example/sample/am335x/armv7/bios/am335x_app_bbbam335x.cfg"
+-ccs.setCompilerOptions "-c -mcpu=cortex-a8 -mtune=cortex-a8 -march=armv7-a -marm -mfloat-abi=hard  -DSOC_AM335X -DbbbAM335x -DBUILDCFG_MOD_UART -g -gstrict-dwarf -Wall -MMD -MP -I${PDK_INSTALL_PATH}/ti/drv/uart "  -rtsc.enableRtsc
+-ccs.setLinkerOptions " -lgcc -lrdimon -lm -lnosys -nostartfiles -static -Wl,--gc-sections "
+
diff --git a/packages/ti/drv/uart/example/sample/am335x/armv7/bios/UART_BasicExample_evmAM335x_armExampleProject.txt b/packages/ti/drv/uart/example/sample/am335x/armv7/bios/UART_BasicExample_evmAM335x_armExampleProject.txt
new file mode 100644 (file)
index 0000000..2066e89
--- /dev/null
@@ -0,0 +1,5 @@
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/uart/example/sample/src/main_uart_example.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/uart/example/sample/am335x/armv7/bios/am335x_app_evmam335x.cfg"
+-ccs.setCompilerOptions "-c -mcpu=cortex-a8 -mtune=cortex-a8 -march=armv7-a -marm -mfloat-abi=hard  -DSOC_AM335X -DevmAM335x -DBUILDCFG_MOD_UART -g -gstrict-dwarf -Wall -MMD -MP -I${PDK_INSTALL_PATH}/ti/drv/uart "  -rtsc.enableRtsc
+-ccs.setLinkerOptions " -lgcc -lrdimon -lm -lnosys -nostartfiles -static -Wl,--gc-sections "
+
diff --git a/packages/ti/drv/uart/example/sample/am335x/armv7/bios/UART_BasicExample_iceAMIC110_armExampleProject.txt b/packages/ti/drv/uart/example/sample/am335x/armv7/bios/UART_BasicExample_iceAMIC110_armExampleProject.txt
new file mode 100644 (file)
index 0000000..87c91c0
--- /dev/null
@@ -0,0 +1,5 @@
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/uart/example/sample/src/main_uart_example.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/uart/example/sample/am335x/armv7/bios/am335x_app_iceamic110.cfg"
+-ccs.setCompilerOptions "-c -mcpu=cortex-a8 -mtune=cortex-a8 -march=armv7-a -marm -mfloat-abi=hard  -DSOC_AM335X -DiceAMIC110 -DBUILDCFG_MOD_UART -g -gstrict-dwarf -Wall -MMD -MP -I${PDK_INSTALL_PATH}/ti/drv/uart "  -rtsc.enableRtsc
+-ccs.setLinkerOptions " -lgcc -lrdimon -lm -lnosys -nostartfiles -static -Wl,--gc-sections "
+
diff --git a/packages/ti/drv/uart/example/sample/am335x/armv7/bios/UART_BasicExample_icev2AM335x_armExampleProject.txt b/packages/ti/drv/uart/example/sample/am335x/armv7/bios/UART_BasicExample_icev2AM335x_armExampleProject.txt
new file mode 100644 (file)
index 0000000..57de82a
--- /dev/null
@@ -0,0 +1,5 @@
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/uart/example/sample/src/main_uart_example.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/uart/example/sample/am335x/armv7/bios/am335x_app_icev2am335x.cfg"
+-ccs.setCompilerOptions "-c -mcpu=cortex-a8 -mtune=cortex-a8 -march=armv7-a -marm -mfloat-abi=hard  -DSOC_AM335X -Dicev2AM335x -DBUILDCFG_MOD_UART -g -gstrict-dwarf -Wall -MMD -MP -I${PDK_INSTALL_PATH}/ti/drv/uart "  -rtsc.enableRtsc
+-ccs.setLinkerOptions " -lgcc -lrdimon -lm -lnosys -nostartfiles -static -Wl,--gc-sections "
+
diff --git a/packages/ti/drv/uart/example/sample/am335x/armv7/bios/UART_BasicExample_skAM335x_armExampleProject.txt b/packages/ti/drv/uart/example/sample/am335x/armv7/bios/UART_BasicExample_skAM335x_armExampleProject.txt
new file mode 100644 (file)
index 0000000..1800ff5
--- /dev/null
@@ -0,0 +1,5 @@
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/uart/example/sample/src/main_uart_example.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/uart/example/sample/am335x/armv7/bios/am335x_app_skam335x.cfg"
+-ccs.setCompilerOptions "-c -mcpu=cortex-a8 -mtune=cortex-a8 -march=armv7-a -marm -mfloat-abi=hard  -DSOC_AM335X -DskAM335x -DBUILDCFG_MOD_UART -g -gstrict-dwarf -Wall -MMD -MP -I${PDK_INSTALL_PATH}/ti/drv/uart "  -rtsc.enableRtsc
+-ccs.setLinkerOptions " -lgcc -lrdimon -lm -lnosys -nostartfiles -static -Wl,--gc-sections "
+
diff --git a/packages/ti/drv/uart/example/sample/am335x/armv7/bios/am335x_app_bbbam335x.cfg b/packages/ti/drv/uart/example/sample/am335x/armv7/bios/am335x_app_bbbam335x.cfg
new file mode 100644 (file)
index 0000000..c8b52ec
--- /dev/null
@@ -0,0 +1,207 @@
+/**
+ *  \file   am335x_app_bbbam335x.cfg
+ *
+ *  \brief  Sysbios config file for UART example project on AM335x BeagleBone.
+ *
+ */
+
+/*
+ * Copyright (C) 2015 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+/* ================ General configuration ================ */ 
+var Defaults = xdc.useModule('xdc.runtime.Defaults');
+var Diags = xdc.useModule('xdc.runtime.Diags');
+var Error = xdc.useModule('xdc.runtime.Error');
+var Main = xdc.useModule('xdc.runtime.Main');
+var Memory = xdc.useModule('xdc.runtime.Memory')
+var SysMin = xdc.useModule('xdc.runtime.SysMin');
+var System = xdc.useModule('xdc.runtime.System');
+var Text = xdc.useModule('xdc.runtime.Text');
+var Clock = xdc.useModule('ti.sysbios.knl.Clock');
+var Swi = xdc.useModule('ti.sysbios.knl.Swi');
+var Task = xdc.useModule('ti.sysbios.knl.Task');
+var Semaphore = xdc.useModule('ti.sysbios.knl.Semaphore');
+var Hwi = xdc.useModule('ti.sysbios.hal.Hwi');
+var Timer = xdc.useModule('ti.sysbios.hal.Timer');
+var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
+var SemihostSupport = xdc.useModule('ti.sysbios.rts.gnu.SemiHostSupport');
+
+/* 
+ * Program.argSize sets the size of the .args section. 
+ * The examples don't use command line args so argSize is set to 0.
+ */
+Program.argSize = 0x0;
+
+/* System stack size (used by ISRs and Swis) */
+Program.stack = 0x4000;
+
+/*
+ * Uncomment this line to globally disable Asserts.
+ * All modules inherit the default from the 'Defaults' module.  You
+ * can override these defaults on a per-module basis using Module.common$. 
+ * Disabling Asserts will save code space and improve runtime performance.
+Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF;
+ */
+Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF;
+
+
+/*
+ * Uncomment this line to keep module names from being loaded on the target.
+ * The module name strings are placed in the .const section. Setting this
+ * parameter to false will save space in the .const section.  Error and
+ * Assert messages will contain an "unknown module" prefix instead
+ * of the actual module name.
+Defaults.common$.namedModule = false;
+ */
+Defaults.common$.namedModule = false;
+
+/*
+ * Minimize exit handler array in System.  The System module includes
+ * an array of functions that are registered with System_atexit() to be
+ * called by System_exit().
+ */
+System.maxAtexitHandlers = 4;
+
+/* 
+ * Uncomment this line to disable the Error print function.  
+ * We lose error information when this is disabled since the errors are
+ * not printed.  Disabling the raiseHook will save some code space if
+ * your app is not using System_printf() since the Error_print() function
+ * calls System_printf().
+Error.raiseHook = null;
+ */
+Error.raiseHook = null;
+/* 
+ * Uncomment this line to keep Error, Assert, and Log strings from being
+ * loaded on the target.  These strings are placed in the .const section.
+ * Setting this parameter to false will save space in the .const section.
+ * Error, Assert and Log message will print raw ids and args instead of
+ * a formatted message.
+Text.isLoaded = false;
+ */
+Text.isLoaded = false;
+/*
+ * Uncomment this line to disable the output of characters by SysMin
+ * when the program exits.  SysMin writes characters to a circular buffer.
+ * This buffer can be viewed using the SysMin Output view in ROV.
+ */
+SysMin.flushAtExit = false;
+
+
+/* ================ BIOS configuration ================ */
+
+var BIOS = xdc.useModule('ti.sysbios.BIOS');
+BIOS.libType = BIOS.LibType_Custom;
+BIOS.customCCOpts = BIOS.customCCOpts.replace(" -g ","");
+BIOS.assertsEnabled = false;
+BIOS.logsEnabled = false;
+BIOS.swiEnabled = false;
+
+/*
+ * The BIOS module will create the default heap for the system.
+ * Specify the size of this default heap.
+ */
+BIOS.heapSize = 32000;
+
+Swi.common$.namedInstance = true;
+Program.sectionsExclude = ".*";
+
+Clock.tickPeriod = 1000;
+Hwi.dispatcherSwiSupport = true;
+Hwi.dispatcherTaskSupport = true;
+Hwi.dispatcherAutoNestingSupport = true;
+
+Task.enableIdleTask = false;
+Task.initStackFlag = false;
+Task.checkStackFlag = false;
+
+/* ================ Driver configuration ================ */
+
+/* Load the OSAL package */
+var osType           = "tirtos";
+var Osal             = xdc.loadPackage('ti.osal');
+Osal.Settings.osType = osType;
+
+/*use CSL package*/
+var socType           = "am335x";
+var Csl = xdc.loadPackage('ti.csl');
+Csl.Settings.deviceType = socType;
+
+/* Load the uart package */
+var Uart              = xdc.loadPackage('ti.drv.uart');
+Uart.Settings.socType = socType;
+
+/* Load the spi package */
+var socType          = "am335x";
+var I2C             = xdc.loadPackage('ti.drv.i2c');
+I2C.Settings.socType = socType;
+
+/* Load the board package */
+var Board = xdc.loadPackage('ti.board');
+Board.Settings.boardName = "bbbAM335x";
+
+
+/* ================ Cache and MMU configuration ================ */
+
+var Cache = xdc.useModule('ti.sysbios.family.arm.a8.Cache');
+Cache.enableCache = true; 
+
+var Mmu = xdc.useModule('ti.sysbios.family.arm.a8.Mmu');
+Mmu.enableMMU = true;
+
+/* Force peripheral section to be NON cacheable strongly-ordered memory */
+var peripheralAttrs = {
+    type : Mmu.FirstLevelDesc_SECTION, // SECTION descriptor
+    tex: 0,
+    bufferable : false,                // bufferable
+    cacheable  : false,                // cacheable
+    shareable  : false,                // shareable
+    noexecute  : true,                 // not executable
+};
+
+/* Define the base address of the 1 Meg page the peripheral resides in. */
+var peripheralBaseAddr = 0x44e00400;;
+
+/* Configure the corresponding MMU page descriptor accordingly */
+Mmu.setFirstLevelDescMeta(peripheralBaseAddr,
+                          peripheralBaseAddr,
+                          peripheralAttrs);
+
+                          
+/* Define the base address of the 1 Meg page the peripheral resides in. */
+var peripheralBaseAddr = 0x481a6000;
+
+/* Configure the corresponding MMU page descriptor accordingly */
+Mmu.setFirstLevelDescMeta(peripheralBaseAddr,
+                          peripheralBaseAddr,
+                          peripheralAttrs);                          
diff --git a/packages/ti/drv/uart/example/sample/am335x/armv7/bios/am335x_app_evmam335x.cfg b/packages/ti/drv/uart/example/sample/am335x/armv7/bios/am335x_app_evmam335x.cfg
new file mode 100644 (file)
index 0000000..3b1246b
--- /dev/null
@@ -0,0 +1,207 @@
+/**
+ *  \file   am335x_app_evmam335x.cfg
+ *
+ *  \brief  Sysbios config file for UART example project on AM335x GP EVM.
+ *
+ */
+
+/*
+ * Copyright (C) 2015 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+/* ================ General configuration ================ */ 
+var Defaults = xdc.useModule('xdc.runtime.Defaults');
+var Diags = xdc.useModule('xdc.runtime.Diags');
+var Error = xdc.useModule('xdc.runtime.Error');
+var Main = xdc.useModule('xdc.runtime.Main');
+var Memory = xdc.useModule('xdc.runtime.Memory')
+var SysMin = xdc.useModule('xdc.runtime.SysMin');
+var System = xdc.useModule('xdc.runtime.System');
+var Text = xdc.useModule('xdc.runtime.Text');
+var Clock = xdc.useModule('ti.sysbios.knl.Clock');
+var Swi = xdc.useModule('ti.sysbios.knl.Swi');
+var Task = xdc.useModule('ti.sysbios.knl.Task');
+var Semaphore = xdc.useModule('ti.sysbios.knl.Semaphore');
+var Hwi = xdc.useModule('ti.sysbios.hal.Hwi');
+var Timer = xdc.useModule('ti.sysbios.hal.Timer');
+var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
+var SemihostSupport = xdc.useModule('ti.sysbios.rts.gnu.SemiHostSupport');
+
+/* 
+ * Program.argSize sets the size of the .args section. 
+ * The examples don't use command line args so argSize is set to 0.
+ */
+Program.argSize = 0x0;
+
+/* System stack size (used by ISRs and Swis) */
+Program.stack = 0x4000;
+
+/*
+ * Uncomment this line to globally disable Asserts.
+ * All modules inherit the default from the 'Defaults' module.  You
+ * can override these defaults on a per-module basis using Module.common$. 
+ * Disabling Asserts will save code space and improve runtime performance.
+Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF;
+ */
+Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF;
+
+
+/*
+ * Uncomment this line to keep module names from being loaded on the target.
+ * The module name strings are placed in the .const section. Setting this
+ * parameter to false will save space in the .const section.  Error and
+ * Assert messages will contain an "unknown module" prefix instead
+ * of the actual module name.
+Defaults.common$.namedModule = false;
+ */
+Defaults.common$.namedModule = false;
+
+/*
+ * Minimize exit handler array in System.  The System module includes
+ * an array of functions that are registered with System_atexit() to be
+ * called by System_exit().
+ */
+System.maxAtexitHandlers = 4;
+
+/* 
+ * Uncomment this line to disable the Error print function.  
+ * We lose error information when this is disabled since the errors are
+ * not printed.  Disabling the raiseHook will save some code space if
+ * your app is not using System_printf() since the Error_print() function
+ * calls System_printf().
+Error.raiseHook = null;
+ */
+Error.raiseHook = null;
+/* 
+ * Uncomment this line to keep Error, Assert, and Log strings from being
+ * loaded on the target.  These strings are placed in the .const section.
+ * Setting this parameter to false will save space in the .const section.
+ * Error, Assert and Log message will print raw ids and args instead of
+ * a formatted message.
+Text.isLoaded = false;
+ */
+Text.isLoaded = false;
+/*
+ * Uncomment this line to disable the output of characters by SysMin
+ * when the program exits.  SysMin writes characters to a circular buffer.
+ * This buffer can be viewed using the SysMin Output view in ROV.
+ */
+SysMin.flushAtExit = false;
+
+
+/* ================ BIOS configuration ================ */
+
+var BIOS = xdc.useModule('ti.sysbios.BIOS');
+BIOS.libType = BIOS.LibType_Custom;
+BIOS.customCCOpts = BIOS.customCCOpts.replace(" -g ","");
+BIOS.assertsEnabled = false;
+BIOS.logsEnabled = false;
+BIOS.swiEnabled = false;
+
+/*
+ * The BIOS module will create the default heap for the system.
+ * Specify the size of this default heap.
+ */
+BIOS.heapSize = 32000;
+
+Swi.common$.namedInstance = true;
+Program.sectionsExclude = ".*";
+
+Clock.tickPeriod = 1000;
+Hwi.dispatcherSwiSupport = true;
+Hwi.dispatcherTaskSupport = true;
+Hwi.dispatcherAutoNestingSupport = true;
+
+Task.enableIdleTask = false;
+Task.initStackFlag = false;
+Task.checkStackFlag = false;
+
+/* ================ Driver configuration ================ */
+
+/* Load the OSAL package */
+var osType           = "tirtos";
+var Osal             = xdc.loadPackage('ti.osal');
+Osal.Settings.osType = osType;
+
+/*use CSL package*/
+var socType           = "am335x";
+var Csl = xdc.loadPackage('ti.csl');
+Csl.Settings.deviceType = socType;
+
+/* Load the uart package */
+var Uart              = xdc.loadPackage('ti.drv.uart');
+Uart.Settings.socType = socType;
+
+/* Load the spi package */
+var socType          = "am335x";
+var I2C             = xdc.loadPackage('ti.drv.i2c');
+I2C.Settings.socType = socType;
+
+/* Load the board package */
+var Board = xdc.loadPackage('ti.board');
+Board.Settings.boardName = "evmAM335x";
+
+
+/* ================ Cache and MMU configuration ================ */
+
+var Cache = xdc.useModule('ti.sysbios.family.arm.a8.Cache');
+Cache.enableCache = true; 
+
+var Mmu = xdc.useModule('ti.sysbios.family.arm.a8.Mmu');
+Mmu.enableMMU = true;
+
+/* Force peripheral section to be NON cacheable strongly-ordered memory */
+var peripheralAttrs = {
+    type : Mmu.FirstLevelDesc_SECTION, // SECTION descriptor
+    tex: 0,
+    bufferable : false,                // bufferable
+    cacheable  : false,                // cacheable
+    shareable  : false,                // shareable
+    noexecute  : true,                 // not executable
+};
+
+/* Define the base address of the 1 Meg page the peripheral resides in. */
+var peripheralBaseAddr = 0x44e00400;;
+
+/* Configure the corresponding MMU page descriptor accordingly */
+Mmu.setFirstLevelDescMeta(peripheralBaseAddr,
+                          peripheralBaseAddr,
+                          peripheralAttrs);
+
+                          
+/* Define the base address of the 1 Meg page the peripheral resides in. */
+var peripheralBaseAddr = 0x481a6000;
+
+/* Configure the corresponding MMU page descriptor accordingly */
+Mmu.setFirstLevelDescMeta(peripheralBaseAddr,
+                          peripheralBaseAddr,
+                          peripheralAttrs);                          
diff --git a/packages/ti/drv/uart/example/sample/am335x/armv7/bios/am335x_app_iceamic110.cfg b/packages/ti/drv/uart/example/sample/am335x/armv7/bios/am335x_app_iceamic110.cfg
new file mode 100644 (file)
index 0000000..072411f
--- /dev/null
@@ -0,0 +1,207 @@
+/**
+ *  \file   am335x_app_iceamic110.cfg
+ *
+ *  \brief  Sysbios config file for UART example project on AM335x ICEV2 EVM.
+ *
+ */
+
+/*
+ * Copyright (C) 2017 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+/* ================ General configuration ================ */ 
+var Defaults = xdc.useModule('xdc.runtime.Defaults');
+var Diags = xdc.useModule('xdc.runtime.Diags');
+var Error = xdc.useModule('xdc.runtime.Error');
+var Main = xdc.useModule('xdc.runtime.Main');
+var Memory = xdc.useModule('xdc.runtime.Memory')
+var SysMin = xdc.useModule('xdc.runtime.SysMin');
+var System = xdc.useModule('xdc.runtime.System');
+var Text = xdc.useModule('xdc.runtime.Text');
+var Clock = xdc.useModule('ti.sysbios.knl.Clock');
+var Swi = xdc.useModule('ti.sysbios.knl.Swi');
+var Task = xdc.useModule('ti.sysbios.knl.Task');
+var Semaphore = xdc.useModule('ti.sysbios.knl.Semaphore');
+var Hwi = xdc.useModule('ti.sysbios.hal.Hwi');
+var Timer = xdc.useModule('ti.sysbios.hal.Timer');
+var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
+var SemihostSupport = xdc.useModule('ti.sysbios.rts.gnu.SemiHostSupport');
+
+/* 
+ * Program.argSize sets the size of the .args section. 
+ * The examples don't use command line args so argSize is set to 0.
+ */
+Program.argSize = 0x0;
+
+/* System stack size (used by ISRs and Swis) */
+Program.stack = 0x4000;
+
+/*
+ * Uncomment this line to globally disable Asserts.
+ * All modules inherit the default from the 'Defaults' module.  You
+ * can override these defaults on a per-module basis using Module.common$. 
+ * Disabling Asserts will save code space and improve runtime performance.
+Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF;
+ */
+Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF;
+
+
+/*
+ * Uncomment this line to keep module names from being loaded on the target.
+ * The module name strings are placed in the .const section. Setting this
+ * parameter to false will save space in the .const section.  Error and
+ * Assert messages will contain an "unknown module" prefix instead
+ * of the actual module name.
+Defaults.common$.namedModule = false;
+ */
+Defaults.common$.namedModule = false;
+
+/*
+ * Minimize exit handler array in System.  The System module includes
+ * an array of functions that are registered with System_atexit() to be
+ * called by System_exit().
+ */
+System.maxAtexitHandlers = 4;
+
+/* 
+ * Uncomment this line to disable the Error print function.  
+ * We lose error information when this is disabled since the errors are
+ * not printed.  Disabling the raiseHook will save some code space if
+ * your app is not using System_printf() since the Error_print() function
+ * calls System_printf().
+Error.raiseHook = null;
+ */
+Error.raiseHook = null;
+/* 
+ * Uncomment this line to keep Error, Assert, and Log strings from being
+ * loaded on the target.  These strings are placed in the .const section.
+ * Setting this parameter to false will save space in the .const section.
+ * Error, Assert and Log message will print raw ids and args instead of
+ * a formatted message.
+Text.isLoaded = false;
+ */
+Text.isLoaded = false;
+/*
+ * Uncomment this line to disable the output of characters by SysMin
+ * when the program exits.  SysMin writes characters to a circular buffer.
+ * This buffer can be viewed using the SysMin Output view in ROV.
+ */
+SysMin.flushAtExit = false;
+
+
+/* ================ BIOS configuration ================ */
+
+var BIOS = xdc.useModule('ti.sysbios.BIOS');
+BIOS.libType = BIOS.LibType_Custom;
+BIOS.customCCOpts = BIOS.customCCOpts.replace(" -g ","");
+BIOS.assertsEnabled = false;
+BIOS.logsEnabled = false;
+BIOS.swiEnabled = false;
+
+/*
+ * The BIOS module will create the default heap for the system.
+ * Specify the size of this default heap.
+ */
+BIOS.heapSize = 32000;
+
+Swi.common$.namedInstance = true;
+Program.sectionsExclude = ".*";
+
+Clock.tickPeriod = 1000;
+Hwi.dispatcherSwiSupport = true;
+Hwi.dispatcherTaskSupport = true;
+Hwi.dispatcherAutoNestingSupport = true;
+
+Task.enableIdleTask = false;
+Task.initStackFlag = false;
+Task.checkStackFlag = false;
+
+/* ================ Driver configuration ================ */
+
+/* Load the OSAL package */
+var osType           = "tirtos";
+var Osal             = xdc.loadPackage('ti.osal');
+Osal.Settings.osType = osType;
+
+/*use CSL package*/
+var socType           = "am335x";
+var Csl = xdc.loadPackage('ti.csl');
+Csl.Settings.deviceType = socType;
+
+/* Load the uart package */
+var Uart              = xdc.loadPackage('ti.drv.uart');
+Uart.Settings.socType = socType;
+
+/* Load the spi package */
+var socType          = "am335x";
+var I2C             = xdc.loadPackage('ti.drv.i2c');
+I2C.Settings.socType = socType;
+
+/* Load the board package */
+var Board = xdc.loadPackage('ti.board');
+Board.Settings.boardName = "iceAMIC110";
+
+
+/* ================ Cache and MMU configuration ================ */
+
+var Cache = xdc.useModule('ti.sysbios.family.arm.a8.Cache');
+Cache.enableCache = true; 
+
+var Mmu = xdc.useModule('ti.sysbios.family.arm.a8.Mmu');
+Mmu.enableMMU = true;
+
+/* Force peripheral section to be NON cacheable strongly-ordered memory */
+var peripheralAttrs = {
+    type : Mmu.FirstLevelDesc_SECTION, // SECTION descriptor
+    tex: 0,
+    bufferable : false,                // bufferable
+    cacheable  : false,                // cacheable
+    shareable  : false,                // shareable
+    noexecute  : true,                 // not executable
+};
+
+/* Define the base address of the 1 Meg page the peripheral resides in. */
+var peripheralBaseAddr = 0x44e00400;;
+
+/* Configure the corresponding MMU page descriptor accordingly */
+Mmu.setFirstLevelDescMeta(peripheralBaseAddr,
+                          peripheralBaseAddr,
+                          peripheralAttrs);
+
+                          
+/* Define the base address of the 1 Meg page the peripheral resides in. */
+var peripheralBaseAddr = 0x481a6000;
+
+/* Configure the corresponding MMU page descriptor accordingly */
+Mmu.setFirstLevelDescMeta(peripheralBaseAddr,
+                          peripheralBaseAddr,
+                          peripheralAttrs);                          
diff --git a/packages/ti/drv/uart/example/sample/am335x/armv7/bios/am335x_app_icev2am335x.cfg b/packages/ti/drv/uart/example/sample/am335x/armv7/bios/am335x_app_icev2am335x.cfg
new file mode 100644 (file)
index 0000000..c894853
--- /dev/null
@@ -0,0 +1,207 @@
+/**
+ *  \file   am335x_app_icev2am335x.cfg
+ *
+ *  \brief  Sysbios config file for UART example project on AM335x ICEV2 EVM.
+ *
+ */
+
+/*
+ * Copyright (C) 2015 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+/* ================ General configuration ================ */ 
+var Defaults = xdc.useModule('xdc.runtime.Defaults');
+var Diags = xdc.useModule('xdc.runtime.Diags');
+var Error = xdc.useModule('xdc.runtime.Error');
+var Main = xdc.useModule('xdc.runtime.Main');
+var Memory = xdc.useModule('xdc.runtime.Memory')
+var SysMin = xdc.useModule('xdc.runtime.SysMin');
+var System = xdc.useModule('xdc.runtime.System');
+var Text = xdc.useModule('xdc.runtime.Text');
+var Clock = xdc.useModule('ti.sysbios.knl.Clock');
+var Swi = xdc.useModule('ti.sysbios.knl.Swi');
+var Task = xdc.useModule('ti.sysbios.knl.Task');
+var Semaphore = xdc.useModule('ti.sysbios.knl.Semaphore');
+var Hwi = xdc.useModule('ti.sysbios.hal.Hwi');
+var Timer = xdc.useModule('ti.sysbios.hal.Timer');
+var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
+var SemihostSupport = xdc.useModule('ti.sysbios.rts.gnu.SemiHostSupport');
+
+/* 
+ * Program.argSize sets the size of the .args section. 
+ * The examples don't use command line args so argSize is set to 0.
+ */
+Program.argSize = 0x0;
+
+/* System stack size (used by ISRs and Swis) */
+Program.stack = 0x4000;
+
+/*
+ * Uncomment this line to globally disable Asserts.
+ * All modules inherit the default from the 'Defaults' module.  You
+ * can override these defaults on a per-module basis using Module.common$. 
+ * Disabling Asserts will save code space and improve runtime performance.
+Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF;
+ */
+Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF;
+
+
+/*
+ * Uncomment this line to keep module names from being loaded on the target.
+ * The module name strings are placed in the .const section. Setting this
+ * parameter to false will save space in the .const section.  Error and
+ * Assert messages will contain an "unknown module" prefix instead
+ * of the actual module name.
+Defaults.common$.namedModule = false;
+ */
+Defaults.common$.namedModule = false;
+
+/*
+ * Minimize exit handler array in System.  The System module includes
+ * an array of functions that are registered with System_atexit() to be
+ * called by System_exit().
+ */
+System.maxAtexitHandlers = 4;
+
+/* 
+ * Uncomment this line to disable the Error print function.  
+ * We lose error information when this is disabled since the errors are
+ * not printed.  Disabling the raiseHook will save some code space if
+ * your app is not using System_printf() since the Error_print() function
+ * calls System_printf().
+Error.raiseHook = null;
+ */
+Error.raiseHook = null;
+/* 
+ * Uncomment this line to keep Error, Assert, and Log strings from being
+ * loaded on the target.  These strings are placed in the .const section.
+ * Setting this parameter to false will save space in the .const section.
+ * Error, Assert and Log message will print raw ids and args instead of
+ * a formatted message.
+Text.isLoaded = false;
+ */
+Text.isLoaded = false;
+/*
+ * Uncomment this line to disable the output of characters by SysMin
+ * when the program exits.  SysMin writes characters to a circular buffer.
+ * This buffer can be viewed using the SysMin Output view in ROV.
+ */
+SysMin.flushAtExit = false;
+
+
+/* ================ BIOS configuration ================ */
+
+var BIOS = xdc.useModule('ti.sysbios.BIOS');
+BIOS.libType = BIOS.LibType_Custom;
+BIOS.customCCOpts = BIOS.customCCOpts.replace(" -g ","");
+BIOS.assertsEnabled = false;
+BIOS.logsEnabled = false;
+BIOS.swiEnabled = false;
+
+/*
+ * The BIOS module will create the default heap for the system.
+ * Specify the size of this default heap.
+ */
+BIOS.heapSize = 32000;
+
+Swi.common$.namedInstance = true;
+Program.sectionsExclude = ".*";
+
+Clock.tickPeriod = 1000;
+Hwi.dispatcherSwiSupport = true;
+Hwi.dispatcherTaskSupport = true;
+Hwi.dispatcherAutoNestingSupport = true;
+
+Task.enableIdleTask = false;
+Task.initStackFlag = false;
+Task.checkStackFlag = false;
+
+/* ================ Driver configuration ================ */
+
+/* Load the OSAL package */
+var osType           = "tirtos";
+var Osal             = xdc.loadPackage('ti.osal');
+Osal.Settings.osType = osType;
+
+/*use CSL package*/
+var socType           = "am335x";
+var Csl = xdc.loadPackage('ti.csl');
+Csl.Settings.deviceType = socType;
+
+/* Load the uart package */
+var Uart              = xdc.loadPackage('ti.drv.uart');
+Uart.Settings.socType = socType;
+
+/* Load the spi package */
+var socType          = "am335x";
+var I2C             = xdc.loadPackage('ti.drv.i2c');
+I2C.Settings.socType = socType;
+
+/* Load the board package */
+var Board = xdc.loadPackage('ti.board');
+Board.Settings.boardName = "icev2AM335x";
+
+
+/* ================ Cache and MMU configuration ================ */
+
+var Cache = xdc.useModule('ti.sysbios.family.arm.a8.Cache');
+Cache.enableCache = true; 
+
+var Mmu = xdc.useModule('ti.sysbios.family.arm.a8.Mmu');
+Mmu.enableMMU = true;
+
+/* Force peripheral section to be NON cacheable strongly-ordered memory */
+var peripheralAttrs = {
+    type : Mmu.FirstLevelDesc_SECTION, // SECTION descriptor
+    tex: 0,
+    bufferable : false,                // bufferable
+    cacheable  : false,                // cacheable
+    shareable  : false,                // shareable
+    noexecute  : true,                 // not executable
+};
+
+/* Define the base address of the 1 Meg page the peripheral resides in. */
+var peripheralBaseAddr = 0x44e00400;;
+
+/* Configure the corresponding MMU page descriptor accordingly */
+Mmu.setFirstLevelDescMeta(peripheralBaseAddr,
+                          peripheralBaseAddr,
+                          peripheralAttrs);
+
+                          
+/* Define the base address of the 1 Meg page the peripheral resides in. */
+var peripheralBaseAddr = 0x481a6000;
+
+/* Configure the corresponding MMU page descriptor accordingly */
+Mmu.setFirstLevelDescMeta(peripheralBaseAddr,
+                          peripheralBaseAddr,
+                          peripheralAttrs);                          
diff --git a/packages/ti/drv/uart/example/sample/am335x/armv7/bios/am335x_app_skam335x.cfg b/packages/ti/drv/uart/example/sample/am335x/armv7/bios/am335x_app_skam335x.cfg
new file mode 100644 (file)
index 0000000..c04c770
--- /dev/null
@@ -0,0 +1,207 @@
+/**
+ *  \file   am335x_app_skam335x.cfg
+ *
+ *  \brief  Sysbios config file for UART example project on AM335x SK EVM.
+ *
+ */
+
+/*
+ * Copyright (C) 2015 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+/* ================ General configuration ================ */ 
+var Defaults = xdc.useModule('xdc.runtime.Defaults');
+var Diags = xdc.useModule('xdc.runtime.Diags');
+var Error = xdc.useModule('xdc.runtime.Error');
+var Main = xdc.useModule('xdc.runtime.Main');
+var Memory = xdc.useModule('xdc.runtime.Memory')
+var SysMin = xdc.useModule('xdc.runtime.SysMin');
+var System = xdc.useModule('xdc.runtime.System');
+var Text = xdc.useModule('xdc.runtime.Text');
+var Clock = xdc.useModule('ti.sysbios.knl.Clock');
+var Swi = xdc.useModule('ti.sysbios.knl.Swi');
+var Task = xdc.useModule('ti.sysbios.knl.Task');
+var Semaphore = xdc.useModule('ti.sysbios.knl.Semaphore');
+var Hwi = xdc.useModule('ti.sysbios.hal.Hwi');
+var Timer = xdc.useModule('ti.sysbios.hal.Timer');
+var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
+var SemihostSupport = xdc.useModule('ti.sysbios.rts.gnu.SemiHostSupport');
+
+/* 
+ * Program.argSize sets the size of the .args section. 
+ * The examples don't use command line args so argSize is set to 0.
+ */
+Program.argSize = 0x0;
+
+/* System stack size (used by ISRs and Swis) */
+Program.stack = 0x4000;
+
+/*
+ * Uncomment this line to globally disable Asserts.
+ * All modules inherit the default from the 'Defaults' module.  You
+ * can override these defaults on a per-module basis using Module.common$. 
+ * Disabling Asserts will save code space and improve runtime performance.
+Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF;
+ */
+Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF;
+
+
+/*
+ * Uncomment this line to keep module names from being loaded on the target.
+ * The module name strings are placed in the .const section. Setting this
+ * parameter to false will save space in the .const section.  Error and
+ * Assert messages will contain an "unknown module" prefix instead
+ * of the actual module name.
+Defaults.common$.namedModule = false;
+ */
+Defaults.common$.namedModule = false;
+
+/*
+ * Minimize exit handler array in System.  The System module includes
+ * an array of functions that are registered with System_atexit() to be
+ * called by System_exit().
+ */
+System.maxAtexitHandlers = 4;
+
+/* 
+ * Uncomment this line to disable the Error print function.  
+ * We lose error information when this is disabled since the errors are
+ * not printed.  Disabling the raiseHook will save some code space if
+ * your app is not using System_printf() since the Error_print() function
+ * calls System_printf().
+Error.raiseHook = null;
+ */
+Error.raiseHook = null;
+/* 
+ * Uncomment this line to keep Error, Assert, and Log strings from being
+ * loaded on the target.  These strings are placed in the .const section.
+ * Setting this parameter to false will save space in the .const section.
+ * Error, Assert and Log message will print raw ids and args instead of
+ * a formatted message.
+Text.isLoaded = false;
+ */
+Text.isLoaded = false;
+/*
+ * Uncomment this line to disable the output of characters by SysMin
+ * when the program exits.  SysMin writes characters to a circular buffer.
+ * This buffer can be viewed using the SysMin Output view in ROV.
+ */
+SysMin.flushAtExit = false;
+
+
+/* ================ BIOS configuration ================ */
+
+var BIOS = xdc.useModule('ti.sysbios.BIOS');
+BIOS.libType = BIOS.LibType_Custom;
+BIOS.customCCOpts = BIOS.customCCOpts.replace(" -g ","");
+BIOS.assertsEnabled = false;
+BIOS.logsEnabled = false;
+BIOS.swiEnabled = false;
+
+/*
+ * The BIOS module will create the default heap for the system.
+ * Specify the size of this default heap.
+ */
+BIOS.heapSize = 32000;
+
+Swi.common$.namedInstance = true;
+Program.sectionsExclude = ".*";
+
+Clock.tickPeriod = 1000;
+Hwi.dispatcherSwiSupport = true;
+Hwi.dispatcherTaskSupport = true;
+Hwi.dispatcherAutoNestingSupport = true;
+
+Task.enableIdleTask = false;
+Task.initStackFlag = false;
+Task.checkStackFlag = false;
+
+/* ================ Driver configuration ================ */
+
+/* Load the OSAL package */
+var osType           = "tirtos";
+var Osal             = xdc.loadPackage('ti.osal');
+Osal.Settings.osType = osType;
+
+/*use CSL package*/
+var socType           = "am335x";
+var Csl = xdc.loadPackage('ti.csl');
+Csl.Settings.deviceType = socType;
+
+/* Load the uart package */
+var Uart              = xdc.loadPackage('ti.drv.uart');
+Uart.Settings.socType = socType;
+
+/* Load the spi package */
+var socType          = "am335x";
+var I2C             = xdc.loadPackage('ti.drv.i2c');
+I2C.Settings.socType = socType;
+
+/* Load the board package */
+var Board = xdc.loadPackage('ti.board');
+Board.Settings.boardName = "skAM335x";
+
+
+/* ================ Cache and MMU configuration ================ */
+
+var Cache = xdc.useModule('ti.sysbios.family.arm.a8.Cache');
+Cache.enableCache = true; 
+
+var Mmu = xdc.useModule('ti.sysbios.family.arm.a8.Mmu');
+Mmu.enableMMU = true;
+
+/* Force peripheral section to be NON cacheable strongly-ordered memory */
+var peripheralAttrs = {
+    type : Mmu.FirstLevelDesc_SECTION, // SECTION descriptor
+    tex: 0,
+    bufferable : false,                // bufferable
+    cacheable  : false,                // cacheable
+    shareable  : false,                // shareable
+    noexecute  : true,                 // not executable
+};
+
+/* Define the base address of the 1 Meg page the peripheral resides in. */
+var peripheralBaseAddr = 0x44e00400;;
+
+/* Configure the corresponding MMU page descriptor accordingly */
+Mmu.setFirstLevelDescMeta(peripheralBaseAddr,
+                          peripheralBaseAddr,
+                          peripheralAttrs);
+
+                          
+/* Define the base address of the 1 Meg page the peripheral resides in. */
+var peripheralBaseAddr = 0x481a6000;
+
+/* Configure the corresponding MMU page descriptor accordingly */
+Mmu.setFirstLevelDescMeta(peripheralBaseAddr,
+                          peripheralBaseAddr,
+                          peripheralAttrs);                          
diff --git a/packages/ti/drv/uart/example/sample/am437x/armv7/bios/UART_BasicExample_evmAM437x_armExampleProject.txt b/packages/ti/drv/uart/example/sample/am437x/armv7/bios/UART_BasicExample_evmAM437x_armExampleProject.txt
new file mode 100644 (file)
index 0000000..18a4d1d
--- /dev/null
@@ -0,0 +1,5 @@
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/uart/example/sample/src/main_uart_example.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/uart/example/sample/am437x/armv7/bios/am437x_app_evmam437x.cfg"
+-ccs.setCompilerOptions "-c -mcpu=cortex-a9 -mtune=cortex-a9 -march=armv7-a -marm -mfloat-abi=hard  -DSOC_AM437X -DevmAM437x -DBUILDCFG_MOD_UART -g -gstrict-dwarf -Wall -MMD -MP -I${PDK_INSTALL_PATH}/ti/drv/uart "  -rtsc.enableRtsc
+-ccs.setLinkerOptions " -lgcc -lrdimon -lm -lnosys -nostartfiles -static -Wl,--gc-sections "
+
diff --git a/packages/ti/drv/uart/example/sample/am437x/armv7/bios/UART_BasicExample_idkAM437x_armExampleProject.txt b/packages/ti/drv/uart/example/sample/am437x/armv7/bios/UART_BasicExample_idkAM437x_armExampleProject.txt
new file mode 100644 (file)
index 0000000..fba646e
--- /dev/null
@@ -0,0 +1,5 @@
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/uart/example/sample/src/main_uart_example.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/uart/example/sample/am437x/armv7/bios/am437x_app_idkam437x.cfg"
+-ccs.setCompilerOptions "-c -mcpu=cortex-a9 -mtune=cortex-a9 -march=armv7-a -marm -mfloat-abi=hard  -DSOC_AM437X -DidkAM437x -DBUILDCFG_MOD_UART -g -gstrict-dwarf -Wall -MMD -MP -I${PDK_INSTALL_PATH}/ti/drv/uart "  -rtsc.enableRtsc
+-ccs.setLinkerOptions " -lgcc -lrdimon -lm -lnosys -nostartfiles -static -Wl,--gc-sections "
+
diff --git a/packages/ti/drv/uart/example/sample/am437x/armv7/bios/UART_BasicExample_skAM437x_armExampleProject.txt b/packages/ti/drv/uart/example/sample/am437x/armv7/bios/UART_BasicExample_skAM437x_armExampleProject.txt
new file mode 100644 (file)
index 0000000..e374ef8
--- /dev/null
@@ -0,0 +1,5 @@
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/uart/example/sample/src/main_uart_example.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/uart/example/sample/am437x/armv7/bios/am437x_app_skam437x.cfg"
+-ccs.setCompilerOptions "-c -mcpu=cortex-a9 -mtune=cortex-a9 -march=armv7-a -marm -mfloat-abi=hard  -DSOC_AM437X -DskAM437x -DBUILDCFG_MOD_UART -g -gstrict-dwarf -Wall -MMD -MP -I${PDK_INSTALL_PATH}/ti/drv/uart "  -rtsc.enableRtsc
+-ccs.setLinkerOptions " -lgcc -lrdimon -lm -lnosys -nostartfiles -static -Wl,--gc-sections "
+
diff --git a/packages/ti/drv/uart/example/sample/am437x/armv7/bios/am437x_app_evmam437x.cfg b/packages/ti/drv/uart/example/sample/am437x/armv7/bios/am437x_app_evmam437x.cfg
new file mode 100644 (file)
index 0000000..31e6e75
--- /dev/null
@@ -0,0 +1,205 @@
+/**
+ *  \file   am437x_app_evmam437x.cfg
+ *
+ *  \brief  Sysbios config file for UART example project on AM437x GP EVM.
+ *
+ */
+
+/*
+ * Copyright (C) 2015 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+/* ================ General configuration ================ */
+var Defaults = xdc.useModule('xdc.runtime.Defaults');
+var Diags = xdc.useModule('xdc.runtime.Diags');
+var Error = xdc.useModule('xdc.runtime.Error');
+var Main = xdc.useModule('xdc.runtime.Main');
+var Memory = xdc.useModule('xdc.runtime.Memory')
+var SysMin = xdc.useModule('xdc.runtime.SysMin');
+var System = xdc.useModule('xdc.runtime.System');
+var Text = xdc.useModule('xdc.runtime.Text');
+var Clock = xdc.useModule('ti.sysbios.knl.Clock');
+var Swi = xdc.useModule('ti.sysbios.knl.Swi');
+var Task = xdc.useModule('ti.sysbios.knl.Task');
+var Semaphore = xdc.useModule('ti.sysbios.knl.Semaphore');
+var Hwi = xdc.useModule('ti.sysbios.hal.Hwi');
+var Timer = xdc.useModule('ti.sysbios.hal.Timer');
+var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
+var SemihostSupport = xdc.useModule('ti.sysbios.rts.gnu.SemiHostSupport');
+
+/* 
+ * Program.argSize sets the size of the .args section. 
+ * The examples don't use command line args so argSize is set to 0.
+ */
+Program.argSize = 0x0;
+
+/* System stack size (used by ISRs and Swis) */
+Program.stack = 0x4000;
+
+/*
+ * Uncomment this line to globally disable Asserts.
+ * All modules inherit the default from the 'Defaults' module.  You
+ * can override these defaults on a per-module basis using Module.common$. 
+ * Disabling Asserts will save code space and improve runtime performance.
+Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF;
+ */
+Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF;
+
+
+/*
+ * Uncomment this line to keep module names from being loaded on the target.
+ * The module name strings are placed in the .const section. Setting this
+ * parameter to false will save space in the .const section.  Error and
+ * Assert messages will contain an "unknown module" prefix instead
+ * of the actual module name.
+Defaults.common$.namedModule = false;
+ */
+Defaults.common$.namedModule = false;
+
+/*
+ * Minimize exit handler array in System.  The System module includes
+ * an array of functions that are registered with System_atexit() to be
+ * called by System_exit().
+ */
+System.maxAtexitHandlers = 4;
+
+/* 
+ * Uncomment this line to disable the Error print function.  
+ * We lose error information when this is disabled since the errors are
+ * not printed.  Disabling the raiseHook will save some code space if
+ * your app is not using System_printf() since the Error_print() function
+ * calls System_printf().
+Error.raiseHook = null;
+ */
+Error.raiseHook = null;
+/* 
+ * Uncomment this line to keep Error, Assert, and Log strings from being
+ * loaded on the target.  These strings are placed in the .const section.
+ * Setting this parameter to false will save space in the .const section.
+ * Error, Assert and Log message will print raw ids and args instead of
+ * a formatted message.
+Text.isLoaded = false;
+ */
+Text.isLoaded = false;
+/*
+ * Uncomment this line to disable the output of characters by SysMin
+ * when the program exits.  SysMin writes characters to a circular buffer.
+ * This buffer can be viewed using the SysMin Output view in ROV.
+ */
+SysMin.flushAtExit = false;
+
+
+/* ================ BIOS configuration ================ */
+
+var BIOS = xdc.useModule('ti.sysbios.BIOS');
+BIOS.libType = BIOS.LibType_Custom;
+BIOS.customCCOpts = BIOS.customCCOpts.replace(" -g ","");
+BIOS.assertsEnabled = false;
+BIOS.logsEnabled = false;
+BIOS.swiEnabled = false;
+
+/*
+ * The BIOS module will create the default heap for the system.
+ * Specify the size of this default heap.
+ */
+BIOS.heapSize = 32000;
+
+Swi.common$.namedInstance = true;
+Program.sectionsExclude = ".*";
+
+Clock.tickPeriod = 1000;
+Hwi.dispatcherSwiSupport = false;
+Hwi.dispatcherTaskSupport = true;
+Hwi.dispatcherAutoNestingSupport = true;
+Hwi.initStackFlag = false;
+Hwi.checkStackFlag = false;
+
+Task.enableIdleTask = false;
+Task.initStackFlag = false;
+Task.checkStackFlag = false;
+BIOS.cpuFreq.lo = 600000000;
+
+
+/* ================ Driver configuration ================ */
+
+/* Load the OSAL package */
+var osType           = "tirtos";
+var Osal             = xdc.loadPackage('ti.osal');
+Osal.Settings.osType = osType;
+
+/*use CSL package*/
+var socType           = "am437x";
+var Csl = xdc.loadPackage('ti.csl');
+Csl.Settings.deviceType = socType;
+
+/* Load the uart package */
+var Uart              = xdc.loadPackage('ti.drv.uart');
+Uart.Settings.socType = socType;
+
+/* Load the I2C package */
+var socType           = "am437x";
+var I2C = xdc.loadPackage('ti.drv.i2c');
+I2C.Settings.socType = socType;
+
+/* Load the board package */
+var Board = xdc.loadPackage('ti.board');
+Board.Settings.boardName = "evmAM437x";
+
+
+/* ================ Cache and MMU configuration ================ */
+
+var Cache = xdc.useModule('ti.sysbios.family.arm.a9.Cache');
+Cache.enableCache = true;
+Cache.configureL2Sram = false;//DDR build
+
+var Mmu = xdc.useModule('ti.sysbios.family.arm.a8.Mmu');
+Mmu.enableMMU = true;
+
+
+/* Force peripheral section to be NON cacheable strongly-ordered memory */
+var peripheralAttrs = {
+    type : Mmu.FirstLevelDesc_SECTION, // SECTION descriptor
+    tex: 0,
+    bufferable : false,                // bufferable
+    cacheable  : false,                // cacheable
+    shareable  : false,                // shareable
+    noexecute  : true,                 // not executable
+};
+
+/* Define the base address of the 1 Meg page the peripheral resides in. */
+var peripheralBaseAddr = 0x44DF2800;
+
+/* Configure the corresponding MMU page descriptor accordingly */
+Mmu.setFirstLevelDescMeta(peripheralBaseAddr,
+                          peripheralBaseAddr,
+                          peripheralAttrs);
+
diff --git a/packages/ti/drv/uart/example/sample/am437x/armv7/bios/am437x_app_idkam437x.cfg b/packages/ti/drv/uart/example/sample/am437x/armv7/bios/am437x_app_idkam437x.cfg
new file mode 100644 (file)
index 0000000..c8ff18a
--- /dev/null
@@ -0,0 +1,205 @@
+/**
+ *  \file   am437x_app_idkam437x.cfg
+ *
+ *  \brief  Sysbios config file for UART example project on AM437x IDK EVM.
+ *
+ */
+
+/*
+ * Copyright (C) 2015 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+/* ================ General configuration ================ */
+var Defaults = xdc.useModule('xdc.runtime.Defaults');
+var Diags = xdc.useModule('xdc.runtime.Diags');
+var Error = xdc.useModule('xdc.runtime.Error');
+var Main = xdc.useModule('xdc.runtime.Main');
+var Memory = xdc.useModule('xdc.runtime.Memory')
+var SysMin = xdc.useModule('xdc.runtime.SysMin');
+var System = xdc.useModule('xdc.runtime.System');
+var Text = xdc.useModule('xdc.runtime.Text');
+var Clock = xdc.useModule('ti.sysbios.knl.Clock');
+var Swi = xdc.useModule('ti.sysbios.knl.Swi');
+var Task = xdc.useModule('ti.sysbios.knl.Task');
+var Semaphore = xdc.useModule('ti.sysbios.knl.Semaphore');
+var Hwi = xdc.useModule('ti.sysbios.hal.Hwi');
+var Timer = xdc.useModule('ti.sysbios.hal.Timer');
+var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
+var SemihostSupport = xdc.useModule('ti.sysbios.rts.gnu.SemiHostSupport');
+
+/* 
+ * Program.argSize sets the size of the .args section. 
+ * The examples don't use command line args so argSize is set to 0.
+ */
+Program.argSize = 0x0;
+
+/* System stack size (used by ISRs and Swis) */
+Program.stack = 0x4000;
+
+/*
+ * Uncomment this line to globally disable Asserts.
+ * All modules inherit the default from the 'Defaults' module.  You
+ * can override these defaults on a per-module basis using Module.common$. 
+ * Disabling Asserts will save code space and improve runtime performance.
+Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF;
+ */
+Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF;
+
+
+/*
+ * Uncomment this line to keep module names from being loaded on the target.
+ * The module name strings are placed in the .const section. Setting this
+ * parameter to false will save space in the .const section.  Error and
+ * Assert messages will contain an "unknown module" prefix instead
+ * of the actual module name.
+Defaults.common$.namedModule = false;
+ */
+Defaults.common$.namedModule = false;
+
+/*
+ * Minimize exit handler array in System.  The System module includes
+ * an array of functions that are registered with System_atexit() to be
+ * called by System_exit().
+ */
+System.maxAtexitHandlers = 4;
+
+/* 
+ * Uncomment this line to disable the Error print function.  
+ * We lose error information when this is disabled since the errors are
+ * not printed.  Disabling the raiseHook will save some code space if
+ * your app is not using System_printf() since the Error_print() function
+ * calls System_printf().
+Error.raiseHook = null;
+ */
+Error.raiseHook = null;
+/* 
+ * Uncomment this line to keep Error, Assert, and Log strings from being
+ * loaded on the target.  These strings are placed in the .const section.
+ * Setting this parameter to false will save space in the .const section.
+ * Error, Assert and Log message will print raw ids and args instead of
+ * a formatted message.
+Text.isLoaded = false;
+ */
+Text.isLoaded = false;
+/*
+ * Uncomment this line to disable the output of characters by SysMin
+ * when the program exits.  SysMin writes characters to a circular buffer.
+ * This buffer can be viewed using the SysMin Output view in ROV.
+ */
+SysMin.flushAtExit = false;
+
+
+/* ================ BIOS configuration ================ */
+
+var BIOS = xdc.useModule('ti.sysbios.BIOS');
+BIOS.libType = BIOS.LibType_Custom;
+BIOS.customCCOpts = BIOS.customCCOpts.replace(" -g ","");
+BIOS.assertsEnabled = false;
+BIOS.logsEnabled = false;
+BIOS.swiEnabled = false;
+
+/*
+ * The BIOS module will create the default heap for the system.
+ * Specify the size of this default heap.
+ */
+BIOS.heapSize = 32000;
+
+Swi.common$.namedInstance = true;
+Program.sectionsExclude = ".*";
+
+Clock.tickPeriod = 1000;
+Hwi.dispatcherSwiSupport = false;
+Hwi.dispatcherTaskSupport = true;
+Hwi.dispatcherAutoNestingSupport = true;
+Hwi.initStackFlag = false;
+Hwi.checkStackFlag = false;
+
+Task.enableIdleTask = false;
+Task.initStackFlag = false;
+Task.checkStackFlag = false;
+BIOS.cpuFreq.lo = 600000000;
+
+
+/* ================ Driver configuration ================ */
+
+/* Load the OSAL package */
+var osType           = "tirtos";
+var Osal             = xdc.loadPackage('ti.osal');
+Osal.Settings.osType = osType;
+
+/*use CSL package*/
+var socType           = "am437x";
+var Csl = xdc.loadPackage('ti.csl');
+Csl.Settings.deviceType = socType;
+
+/* Load the uart package */
+var Uart              = xdc.loadPackage('ti.drv.uart');
+Uart.Settings.socType = socType;
+
+/* Load the I2C package */
+var socType           = "am437x";
+var I2C = xdc.loadPackage('ti.drv.i2c');
+I2C.Settings.socType = socType;
+
+/* Load the board package */
+var Board = xdc.loadPackage('ti.board');
+Board.Settings.boardName = "idkAM437x";
+
+
+/* ================ Cache and MMU configuration ================ */
+
+var Cache = xdc.useModule('ti.sysbios.family.arm.a9.Cache');
+Cache.enableCache = true;
+Cache.configureL2Sram = false;//DDR build
+
+var Mmu = xdc.useModule('ti.sysbios.family.arm.a8.Mmu');
+Mmu.enableMMU = true;
+
+
+/* Force peripheral section to be NON cacheable strongly-ordered memory */
+var peripheralAttrs = {
+    type : Mmu.FirstLevelDesc_SECTION, // SECTION descriptor
+    tex: 0,
+    bufferable : false,                // bufferable
+    cacheable  : false,                // cacheable
+    shareable  : false,                // shareable
+    noexecute  : true,                 // not executable
+};
+
+/* Define the base address of the 1 Meg page the peripheral resides in. */
+var peripheralBaseAddr = 0x44DF2800;
+
+/* Configure the corresponding MMU page descriptor accordingly */
+Mmu.setFirstLevelDescMeta(peripheralBaseAddr,
+                          peripheralBaseAddr,
+                          peripheralAttrs);
+
diff --git a/packages/ti/drv/uart/example/sample/am437x/armv7/bios/am437x_app_skam437x.cfg b/packages/ti/drv/uart/example/sample/am