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

Signed-off-by: Jacob Stiffler <j-stiffler@ti.com>
393 files changed:
packages/ti/drv/mmcsd/.gitignore [new file with mode: 0644]
packages/ti/drv/mmcsd/MMCSD.h [new file with mode: 0644]
packages/ti/drv/mmcsd/MMCSDver.h [new file with mode: 0644]
packages/ti/drv/mmcsd/MMCSDver.h.xdt [new file with mode: 0644]
packages/ti/drv/mmcsd/Settings.xdc.xdt [new file with mode: 0644]
packages/ti/drv/mmcsd/build/buildlib.xs [new file with mode: 0644]
packages/ti/drv/mmcsd/build/makefile.mk [new file with mode: 0644]
packages/ti/drv/mmcsd/build/makefile_dma.mk [new file with mode: 0644]
packages/ti/drv/mmcsd/build/makefile_dma_profile.mk [new file with mode: 0644]
packages/ti/drv/mmcsd/build/makefile_indp.mk [new file with mode: 0644]
packages/ti/drv/mmcsd/build/makefile_profile.mk [new file with mode: 0644]
packages/ti/drv/mmcsd/build/makefile_profile_indp.mk [new file with mode: 0644]
packages/ti/drv/mmcsd/config.bld [new file with mode: 0644]
packages/ti/drv/mmcsd/config_mk.bld [new file with mode: 0644]
packages/ti/drv/mmcsd/docs/MMCSD_LLD_SoftwareManifest.doc [new file with mode: 0644]
packages/ti/drv/mmcsd/docs/MMCSD_LLD_SoftwareManifest.pdf [new file with mode: 0644]
packages/ti/drv/mmcsd/docs/MMCSD_LLD_UserGuide.pdf [new file with mode: 0644]
packages/ti/drv/mmcsd/docs/Module.xs [new file with mode: 0644]
packages/ti/drv/mmcsd/docs/ReleaseNotes_MMCSD_LLD.doc [new file with mode: 0644]
packages/ti/drv/mmcsd/docs/ReleaseNotes_MMCSD_LLD.pdf [new file with mode: 0644]
packages/ti/drv/mmcsd/docs/doxyfile.xdt [new file with mode: 0644]
packages/ti/drv/mmcsd/docs/tifooter.htm [new file with mode: 0644]
packages/ti/drv/mmcsd/docs/tiheader.htm [new file with mode: 0644]
packages/ti/drv/mmcsd/docs/tilogo.gif [new file with mode: 0644]
packages/ti/drv/mmcsd/docs/titagline.gif [new file with mode: 0644]
packages/ti/drv/mmcsd/example/Module.xs [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am335x/armv7/bios/MMCSD_FatfsConsole_bbbAM335x_DMA_armExampleProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am335x/armv7/bios/MMCSD_FatfsConsole_bbbAM335x_armExampleProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am335x/armv7/bios/MMCSD_FatfsConsole_evmAM335x_DMA_armExampleProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am335x/armv7/bios/MMCSD_FatfsConsole_evmAM335x_armExampleProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am335x/armv7/bios/MMCSD_FatfsConsole_icev2AM335x_DMA_armExampleProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am335x/armv7/bios/MMCSD_FatfsConsole_icev2AM335x_armExampleProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am335x/armv7/bios/MMCSD_FatfsConsole_skAM335x_DMA_armExampleProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am335x/armv7/bios/MMCSD_FatfsConsole_skAM335x_armExampleProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am335x/armv7/bios/mmcsd_bbbam335x.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am335x/armv7/bios/mmcsd_evm.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am335x/armv7/bios/mmcsd_icev2.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am335x/armv7/bios/mmcsd_skam335x.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am335x/armv7/bios/mmcsddma_bbbam335x.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am335x/armv7/bios/mmcsddma_evm.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am335x/armv7/bios/mmcsddma_icev2.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am335x/armv7/bios/mmcsddma_skam335x.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am437x/armv7/bios/MMCSD_FatfsConsole_evmAM437x_DMA_armExampleProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am437x/armv7/bios/MMCSD_FatfsConsole_evmAM437x_armExampleProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am437x/armv7/bios/MMCSD_FatfsConsole_idkAM437x_DMA_armExampleProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am437x/armv7/bios/MMCSD_FatfsConsole_idkAM437x_armExampleProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am437x/armv7/bios/MMCSD_FatfsConsole_skAM437x_DMA_armExampleProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am437x/armv7/bios/MMCSD_FatfsConsole_skAM437x_armExampleProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am437x/armv7/bios/mmcsd_evm.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am437x/armv7/bios/mmcsd_idk.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am437x/armv7/bios/mmcsd_skam437x.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am437x/armv7/bios/mmcsddma_evm.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am437x/armv7/bios/mmcsddma_idk.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am437x/armv7/bios/mmcsddma_skam437x.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am571x/armv7/bios/MMCSD_FatfsConsole_idkAM571x_DMA_armExampleProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am571x/armv7/bios/MMCSD_FatfsConsole_idkAM571x_armExampleProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am571x/armv7/bios/mmcsd_idk.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am571x/armv7/bios/mmcsddma_idk.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am571x/c66/bios/MMCSD_FatfsConsole_idkAM571x_DMA_c66xExampleProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am571x/c66/bios/MMCSD_FatfsConsole_idkAM571x_c66xExampleProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am571x/c66/bios/mmcsd_idk.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am571x/c66/bios/mmcsddma_idk.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am571x/m4/bios/MMCSD_FatfsConsole_idkAM571x_DMA_m4ExampleProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am571x/m4/bios/MMCSD_FatfsConsole_idkAM571x_m4ExampleProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am571x/m4/bios/mmcsd_m4_dma_idkAM571x.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am571x/m4/bios/mmcsd_m4_idkAM571x.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am572x/armv7/bios/MMCSD_FatfsConsole_evmAM572x_DMA_armExampleProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am572x/armv7/bios/MMCSD_FatfsConsole_evmAM572x_armExampleProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am572x/armv7/bios/MMCSD_FatfsConsole_idkAM572x_DMA_armExampleProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am572x/armv7/bios/MMCSD_FatfsConsole_idkAM572x_armExampleProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am572x/armv7/bios/mmcsd_evm.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am572x/armv7/bios/mmcsd_idk.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am572x/armv7/bios/mmcsddma_evm.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am572x/armv7/bios/mmcsddma_idk.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am572x/c66/bios/MMCSD_FatfsConsole_evmAM572x_DMA_c66xExampleProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am572x/c66/bios/MMCSD_FatfsConsole_evmAM572x_c66xExampleProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am572x/c66/bios/MMCSD_FatfsConsole_idkAM572x_DMA_c66xExampleProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am572x/c66/bios/MMCSD_FatfsConsole_idkAM572x_c66xExampleProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am572x/c66/bios/mmcsd_evm.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am572x/c66/bios/mmcsd_idk.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am572x/c66/bios/mmcsddma_evm.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am572x/c66/bios/mmcsddma_idk.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am572x/m4/bios/MMCSD_FatfsConsole_evmAM572x_DMA_m4ExampleProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am572x/m4/bios/MMCSD_FatfsConsole_evmAM572x_m4ExampleProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am572x/m4/bios/MMCSD_FatfsConsole_idkAM572x_DMA_m4ExampleProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am572x/m4/bios/MMCSD_FatfsConsole_idkAM572x_m4ExampleProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am572x/m4/bios/mmcsd_m4_dma_evmAM572x.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am572x/m4/bios/mmcsd_m4_dma_idkAM572x.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am572x/m4/bios/mmcsd_m4_evmAM572x.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am572x/m4/bios/mmcsd_m4_idkAM572x.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am574x/armv7/bios/MMCSD_FatfsConsole_idkAM574x_DMA_armExampleProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am574x/armv7/bios/MMCSD_FatfsConsole_idkAM574x_armExampleProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am574x/armv7/bios/mmcsd_idk.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am574x/armv7/bios/mmcsddma_idk.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am574x/c66/bios/MMCSD_FatfsConsole_idkAM574x_DMA_c66xExampleProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am574x/c66/bios/MMCSD_FatfsConsole_idkAM574x_c66xExampleProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am574x/c66/bios/mmcsd_idk.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am574x/c66/bios/mmcsddma_idk.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am574x/m4/bios/MMCSD_FatfsConsole_idkAM574x_DMA_m4ExampleProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am574x/m4/bios/MMCSD_FatfsConsole_idkAM574x_m4ExampleProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am574x/m4/bios/mmcsd_m4_dma_idkAM574x.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/am574x/m4/bios/mmcsd_m4_idkAM574x.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/k2g/armv7/bios/MMCSD_FatfsConsole_evmK2G_DMA_armExampleProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/k2g/armv7/bios/MMCSD_FatfsConsole_evmK2G_armExampleProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/k2g/armv7/bios/mmcsd_evm.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/k2g/armv7/bios/mmcsddma_evm.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/k2g/c66/bios/MMCSD_FatfsConsole_evmK2G_DMA_c66xExampleProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/k2g/c66/bios/MMCSD_FatfsConsole_evmK2G_c66xExampleProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/k2g/c66/bios/mmcsd_evm.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/k2g/c66/bios/mmcsddma_evm.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/omapl137/armv5/bios/MMCSD_FatfsConsole_evmOMAPL137_DMA_armExampleProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/omapl137/armv5/bios/MMCSD_FatfsConsole_evmOMAPL137_armExampleProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/omapl137/c674/bios/MMCSD_FatfsConsole_evmOMAPL137_DMA_c674xExampleProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/omapl137/c674/bios/MMCSD_FatfsConsole_evmOMAPL137_c674xExampleProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/omapl138/armv5/bios/MMCSD_FatfsConsole_lcdkOMAPL138_DMA_armExampleProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/omapl138/armv5/bios/MMCSD_FatfsConsole_lcdkOMAPL138_armExampleProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/omapl138/c674/bios/MMCSD_FatfsConsole_lcdkOMAPL138_DMA_c674xExampleProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/omapl138/c674/bios/MMCSD_FatfsConsole_lcdkOMAPL138_c674xExampleProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/src/MMCSD_log.c [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/src/MMCSD_log.h [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/src/fs_shell_app_utils.c [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/src/fs_shell_app_utils.h [new file with mode: 0644]
packages/ti/drv/mmcsd/example/fatfs_console/src/main_fatfs_console.c [new file with mode: 0644]
packages/ti/drv/mmcsd/makefile [new file with mode: 0644]
packages/ti/drv/mmcsd/mmcsd_component.mk [new file with mode: 0644]
packages/ti/drv/mmcsd/package.bld [new file with mode: 0644]
packages/ti/drv/mmcsd/package.xdc [new file with mode: 0644]
packages/ti/drv/mmcsd/package.xs [new file with mode: 0644]
packages/ti/drv/mmcsd/soc/MMCSD_soc.h [new file with mode: 0644]
packages/ti/drv/mmcsd/soc/MMCSD_v0.h [new file with mode: 0644]
packages/ti/drv/mmcsd/soc/MMCSD_v1.h [new file with mode: 0644]
packages/ti/drv/mmcsd/soc/MMCSD_v2.h [new file with mode: 0644]
packages/ti/drv/mmcsd/soc/Module.xs [new file with mode: 0644]
packages/ti/drv/mmcsd/soc/am335x/MMCSD_soc.c [new file with mode: 0644]
packages/ti/drv/mmcsd/soc/am437x/MMCSD_soc.c [new file with mode: 0644]
packages/ti/drv/mmcsd/soc/am57xx/MMCSD_soc.c [new file with mode: 0644]
packages/ti/drv/mmcsd/soc/am65xx/MMCSD_soc.c [new file with mode: 0644]
packages/ti/drv/mmcsd/soc/dra72x/MMCSD_soc.c [new file with mode: 0644]
packages/ti/drv/mmcsd/soc/dra75x/MMCSD_soc.c [new file with mode: 0644]
packages/ti/drv/mmcsd/soc/dra78x/MMCSD_soc.c [new file with mode: 0644]
packages/ti/drv/mmcsd/soc/j721e/MMCSD_soc.c [new file with mode: 0755]
packages/ti/drv/mmcsd/soc/k2g/MMCSD_soc.c [new file with mode: 0644]
packages/ti/drv/mmcsd/soc/omapl137/MMCSD_soc.c [new file with mode: 0644]
packages/ti/drv/mmcsd/soc/omapl138/MMCSD_soc.c [new file with mode: 0644]
packages/ti/drv/mmcsd/src/MMCSD_drv.c [new file with mode: 0644]
packages/ti/drv/mmcsd/src/MMCSD_drv_log.h [new file with mode: 0644]
packages/ti/drv/mmcsd/src/MMCSD_osal.h [new file with mode: 0644]
packages/ti/drv/mmcsd/src/Module.xs [new file with mode: 0644]
packages/ti/drv/mmcsd/src/src_files_common.mk [new file with mode: 0644]
packages/ti/drv/mmcsd/src/v0/MMCSD_v0.c [new file with mode: 0644]
packages/ti/drv/mmcsd/src/v0/MMCSD_v0_lld.h [new file with mode: 0644]
packages/ti/drv/mmcsd/src/v1/MMCSD_v1.c [new file with mode: 0644]
packages/ti/drv/mmcsd/src/v1/MMCSD_v1_lld.c [new file with mode: 0644]
packages/ti/drv/mmcsd/src/v1/MMCSD_v1_lld.h [new file with mode: 0644]
packages/ti/drv/mmcsd/src/v2/MMCSD_v2.c [new file with mode: 0755]
packages/ti/drv/mmcsd/src/v2/MMCSD_v2_lld.h [new file with mode: 0644]
packages/ti/drv/mmcsd/test/MMCSD_Baremetal_DMA_TestApp/makefile [new file with mode: 0644]
packages/ti/drv/mmcsd/test/MMCSD_Baremetal_DMA_TestProject/makefile [new file with mode: 0644]
packages/ti/drv/mmcsd/test/MMCSD_Baremetal_EMMC_DMA_TestApp/makefile [new file with mode: 0644]
packages/ti/drv/mmcsd/test/MMCSD_Baremetal_EMMC_DMA_TestProject/makefile [new file with mode: 0644]
packages/ti/drv/mmcsd/test/MMCSD_Baremetal_EMMC_TestApp/makefile [new file with mode: 0644]
packages/ti/drv/mmcsd/test/MMCSD_Baremetal_EMMC_TestProject/makefile [new file with mode: 0644]
packages/ti/drv/mmcsd/test/MMCSD_Baremetal_Regression_TestApp/makefile [new file with mode: 0644]
packages/ti/drv/mmcsd/test/MMCSD_Baremetal_TestApp/makefile [new file with mode: 0644]
packages/ti/drv/mmcsd/test/MMCSD_Baremetal_TestProject/makefile [new file with mode: 0644]
packages/ti/drv/mmcsd/test/MMCSD_DMA_TestApp/makefile [new file with mode: 0644]
packages/ti/drv/mmcsd/test/MMCSD_DMA_TestProject/makefile [new file with mode: 0644]
packages/ti/drv/mmcsd/test/MMCSD_EMMC_DMA_TestApp/makefile [new file with mode: 0644]
packages/ti/drv/mmcsd/test/MMCSD_EMMC_DMA_TestProject/makefile [new file with mode: 0644]
packages/ti/drv/mmcsd/test/MMCSD_EMMC_Regression_TestApp/makefile [new file with mode: 0644]
packages/ti/drv/mmcsd/test/MMCSD_EMMC_TestApp/makefile [new file with mode: 0644]
packages/ti/drv/mmcsd/test/MMCSD_EMMC_TestProject/makefile [new file with mode: 0644]
packages/ti/drv/mmcsd/test/MMCSD_Regression_TestApp/makefile [new file with mode: 0644]
packages/ti/drv/mmcsd/test/MMCSD_TestApp/makefile [new file with mode: 0644]
packages/ti/drv/mmcsd/test/MMCSD_TestProject/makefile [new file with mode: 0644]
packages/ti/drv/mmcsd/test/Module.xs [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am335x/armv7/bios/MMCSD_bbbAM335x_DMA_armTestproject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am335x/armv7/bios/MMCSD_bbbAM335x_EMMC_DMA_armTestproject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am335x/armv7/bios/MMCSD_bbbAM335x_EMMC_armTestproject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am335x/armv7/bios/MMCSD_bbbAM335x_armTestproject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am335x/armv7/bios/MMCSD_evmAM335x_DMA_armTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am335x/armv7/bios/MMCSD_evmAM335x_armTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am335x/armv7/bios/MMCSD_icev2AM335x_DMA_armTestproject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am335x/armv7/bios/MMCSD_icev2AM335x_armTestproject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am335x/armv7/bios/MMCSD_skAM335x_DMA_armTestproject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am335x/armv7/bios/MMCSD_skAM335x_armTestproject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am335x/armv7/bios/mmcsd_bbbam335x.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am335x/armv7/bios/mmcsd_emmc_bbbam335x.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am335x/armv7/bios/mmcsd_evm.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am335x/armv7/bios/mmcsd_icev2.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am335x/armv7/bios/mmcsd_skam335x.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am335x/armv7/bios/mmcsddma_bbbam335x.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am335x/armv7/bios/mmcsddma_emmc_bbbam335x.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am335x/armv7/bios/mmcsddma_evm.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am335x/armv7/bios/mmcsddma_icev2.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am335x/armv7/bios/mmcsddma_skam335x.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am437x/armv7/bios/MMCSD_evmAM437x_DMA_armTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am437x/armv7/bios/MMCSD_evmAM437x_EMMC_DMA_armTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am437x/armv7/bios/MMCSD_evmAM437x_EMMC_armTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am437x/armv7/bios/MMCSD_evmAM437x_armTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am437x/armv7/bios/MMCSD_idkAM437x_DMA_armTestproject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am437x/armv7/bios/MMCSD_idkAM437x_armTestproject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am437x/armv7/bios/MMCSD_skAM437x_DMA_armTestproject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am437x/armv7/bios/MMCSD_skAM437x_armTestproject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am437x/armv7/bios/mmcsd_emmc_evm.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am437x/armv7/bios/mmcsd_evm.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am437x/armv7/bios/mmcsd_idk.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am437x/armv7/bios/mmcsd_skam437x.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am437x/armv7/bios/mmcsddma_emmc_evm.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am437x/armv7/bios/mmcsddma_evm.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am437x/armv7/bios/mmcsddma_idk.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am437x/armv7/bios/mmcsddma_skam437x.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am571x/armv7/bios/MMCSD_idkAM571x_DMA_armTestproject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am571x/armv7/bios/MMCSD_idkAM571x_EMMC_DMA_armTestproject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am571x/armv7/bios/MMCSD_idkAM571x_EMMC_armTestproject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am571x/armv7/bios/MMCSD_idkAM571x_armTestproject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am571x/armv7/bios/mmcsd_emmc_idk.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am571x/armv7/bios/mmcsd_idk.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am571x/armv7/bios/mmcsddma_emmc_idk.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am571x/armv7/bios/mmcsddma_idk.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am571x/c66/bios/MMCSD_idkAM571X_EMMC_DMA_c66xTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am571x/c66/bios/MMCSD_idkAM571x_DMA_c66xTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am571x/c66/bios/MMCSD_idkAM571x_EMMC_c66xTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am571x/c66/bios/MMCSD_idkAM571x_c66xTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am571x/c66/bios/mmcsd_emmc_idk.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am571x/c66/bios/mmcsd_idk.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am571x/c66/bios/mmcsddma_emmc_idk.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am571x/c66/bios/mmcsddma_idk.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am571x/m4/bios/MMCSD_idkAM571x_DMA_m4Testproject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am571x/m4/bios/MMCSD_idkAM571x_EMMC_DMA_m4Testproject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am571x/m4/bios/MMCSD_idkAM571x_EMMC_m4Testproject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am571x/m4/bios/MMCSD_idkAM571x_m4Testproject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am571x/m4/bios/mmcsd_m4_dma_idkAM571x.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am571x/m4/bios/mmcsd_m4_idkAM571x.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am572x/armv7/bios/MMCSD_evmAM572x_DMA_SMP_armTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am572x/armv7/bios/MMCSD_evmAM572x_DMA_armTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am572x/armv7/bios/MMCSD_evmAM572x_EMMC_DMA_armTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am572x/armv7/bios/MMCSD_evmAM572x_EMMC_armTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am572x/armv7/bios/MMCSD_evmAM572x_SMP_armTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am572x/armv7/bios/MMCSD_evmAM572x_armTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am572x/armv7/bios/MMCSD_idkAM572x_DMA_armTestproject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am572x/armv7/bios/MMCSD_idkAM572x_EMMC_DMA_armTestproject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am572x/armv7/bios/MMCSD_idkAM572x_EMMC_armTestproject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am572x/armv7/bios/MMCSD_idkAM572x_armTestproject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am572x/armv7/bios/mmcsd_emmc_evm.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am572x/armv7/bios/mmcsd_emmc_idk.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am572x/armv7/bios/mmcsd_evm.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am572x/armv7/bios/mmcsd_idk.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am572x/armv7/bios/mmcsddma_emmc_evm.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am572x/armv7/bios/mmcsddma_emmc_idk.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am572x/armv7/bios/mmcsddma_evm.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am572x/armv7/bios/mmcsddma_idk.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am572x/c66/bios/MMCSD_evmAM572x_DMA_c66xTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am572x/c66/bios/MMCSD_evmAM572x_EMMC_DMA_c66xTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am572x/c66/bios/MMCSD_evmAM572x_EMMC_c66xTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am572x/c66/bios/MMCSD_evmAM572x_c66xTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am572x/c66/bios/MMCSD_idkAM572X_DMA_c66xTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am572x/c66/bios/MMCSD_idkAM572X_EMMC_DMA_c66xTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am572x/c66/bios/MMCSD_idkAM572x_EMMC_c66xTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am572x/c66/bios/MMCSD_idkAM572x_c66xTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am572x/c66/bios/mmcsd_emmc_evm.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am572x/c66/bios/mmcsd_emmc_idk.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am572x/c66/bios/mmcsd_evm.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am572x/c66/bios/mmcsd_idk.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am572x/c66/bios/mmcsddma_emmc_evm.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am572x/c66/bios/mmcsddma_emmc_idk.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am572x/c66/bios/mmcsddma_evm.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am572x/c66/bios/mmcsddma_idk.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am572x/m4/bios/MMCSD_evmAM572x_DMA_m4TestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am572x/m4/bios/MMCSD_evmAM572x_EMMC_DMA_m4TestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am572x/m4/bios/MMCSD_evmAM572x_EMMC_m4TestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am572x/m4/bios/MMCSD_evmAM572x_m4TestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am572x/m4/bios/MMCSD_idkAM572x_DMA_m4Testproject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am572x/m4/bios/MMCSD_idkAM572x_EMMC_DMA_m4Testproject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am572x/m4/bios/MMCSD_idkAM572x_EMMC_m4Testproject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am572x/m4/bios/MMCSD_idkAM572x_m4Testproject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am572x/m4/bios/mmcsd_m4_dma_evmAM572x.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am572x/m4/bios/mmcsd_m4_dma_idkAM572x.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am572x/m4/bios/mmcsd_m4_evmAM572x.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am572x/m4/bios/mmcsd_m4_idkAM572x.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am574x/armv7/bios/MMCSD_idkAM574x_DMA_armTestproject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am574x/armv7/bios/MMCSD_idkAM574x_EMMC_DMA_armTestproject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am574x/armv7/bios/MMCSD_idkAM574x_EMMC_armTestproject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am574x/armv7/bios/MMCSD_idkAM574x_armTestproject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am574x/armv7/bios/mmcsd_emmc_idk.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am574x/armv7/bios/mmcsd_idk.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am574x/armv7/bios/mmcsddma_emmc_idk.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am574x/armv7/bios/mmcsddma_idk.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am574x/c66/bios/MMCSD_idkAM574X_DMA_c66xTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am574x/c66/bios/MMCSD_idkAM574X_EMMC_DMA_c66xTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am574x/c66/bios/MMCSD_idkAM574x_EMMC_c66xTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am574x/c66/bios/MMCSD_idkAM574x_c66xTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am574x/c66/bios/mmcsd_emmc_idk.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am574x/c66/bios/mmcsd_idk.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am574x/c66/bios/mmcsddma_emmc_idk.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am574x/c66/bios/mmcsddma_idk.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am574x/m4/bios/MMCSD_idkAM574x_DMA_m4Testproject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am574x/m4/bios/MMCSD_idkAM574x_EMMC_DMA_m4Testproject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am574x/m4/bios/MMCSD_idkAM574x_EMMC_m4Testproject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am574x/m4/bios/MMCSD_idkAM574x_m4Testproject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am574x/m4/bios/mmcsd_m4_dma_idkAM574x.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am574x/m4/bios/mmcsd_m4_idkAM574x.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am65xx/a53/mmcsdUnitTest_a53.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am65xx/r5/mmcsdUnitTest_r5.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/am65xx/r5/mpu.xs [new file with mode: 0644]
packages/ti/drv/mmcsd/test/dra7xx/armv7/bios/MMCSD_evmDRA72x_DMA_armTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/dra7xx/armv7/bios/MMCSD_evmDRA72x_EMMC_DMA_armTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/dra7xx/armv7/bios/MMCSD_evmDRA72x_EMMC_armTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/dra7xx/armv7/bios/MMCSD_evmDRA72x_armTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/dra7xx/armv7/bios/MMCSD_evmDRA75x_DMA_armTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/dra7xx/armv7/bios/MMCSD_evmDRA75x_EMMC_DMA_armTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/dra7xx/armv7/bios/MMCSD_evmDRA75x_EMMC_armTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/dra7xx/armv7/bios/MMCSD_evmDRA75x_armTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/dra7xx/armv7/bios/mmcsd_emmc_evm.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/dra7xx/armv7/bios/mmcsd_evm.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/dra7xx/armv7/bios/mmcsddma_emmc_evm.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/dra7xx/armv7/bios/mmcsddma_evm.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/dra7xx/c66/bios/MMCSD_evmDRA72x_DMA_c66xTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/dra7xx/c66/bios/MMCSD_evmDRA72x_EMMC_DMA_c66xTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/dra7xx/c66/bios/MMCSD_evmDRA72x_EMMC_c66xTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/dra7xx/c66/bios/MMCSD_evmDRA72x_c66xTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/dra7xx/c66/bios/MMCSD_evmDRA75x_DMA_c66xTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/dra7xx/c66/bios/MMCSD_evmDRA75x_EMMC_DMA_c66xTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/dra7xx/c66/bios/MMCSD_evmDRA75x_EMMC_c66xTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/dra7xx/c66/bios/MMCSD_evmDRA75x_c66xTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/dra7xx/c66/bios/MMCSD_evmDRA78x_DMA_c66xTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/dra7xx/c66/bios/MMCSD_evmDRA78x_c66xTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/dra7xx/c66/bios/mmcsd_emmc_evm.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/dra7xx/c66/bios/mmcsd_evm.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/dra7xx/c66/bios/mmcsddma_emmc_evm.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/dra7xx/c66/bios/mmcsddma_evm.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/dra7xx/m4/bios/MMCSD_evmDRA72x_DMA_m4TestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/dra7xx/m4/bios/MMCSD_evmDRA72x_EMMC_DMA_m4TestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/dra7xx/m4/bios/MMCSD_evmDRA72x_EMMC_m4TestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/dra7xx/m4/bios/MMCSD_evmDRA72x_m4TestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/dra7xx/m4/bios/MMCSD_evmDRA75x_DMA_m4TestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/dra7xx/m4/bios/MMCSD_evmDRA75x_EMMC_DMA_m4TestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/dra7xx/m4/bios/MMCSD_evmDRA75x_EMMC_m4TestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/dra7xx/m4/bios/MMCSD_evmDRA75x_m4TestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/dra7xx/m4/bios/MMCSD_evmDRA78x_DMA_m4TestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/dra7xx/m4/bios/MMCSD_evmDRA78x_m4TestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/dra7xx/m4/bios/mmcsd_m4.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/dra7xx/m4/bios/mmcsd_m4_dma.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/k2g/armv7/bios/MMCSD_evmK2G_DMA_armTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/k2g/armv7/bios/MMCSD_evmK2G_EMMC_DMA_armTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/k2g/armv7/bios/MMCSD_evmK2G_EMMC_armTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/k2g/armv7/bios/MMCSD_evmK2G_armTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/k2g/armv7/bios/MMCSD_iceK2G_DMA_armTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/k2g/armv7/bios/MMCSD_iceK2G_armTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/k2g/armv7/bios/mmcsd_emmc_evm.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/k2g/armv7/bios/mmcsd_evm.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/k2g/armv7/bios/mmcsd_ice.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/k2g/armv7/bios/mmcsddma_emmc_evm.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/k2g/armv7/bios/mmcsddma_evm.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/k2g/armv7/bios/mmcsddma_ice.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/k2g/c66/bios/MMCSD_evmK2G_DMA_c66xTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/k2g/c66/bios/MMCSD_evmK2G_EMMC_DMA_c66xTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/k2g/c66/bios/MMCSD_evmK2G_EMMC_c66xTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/k2g/c66/bios/MMCSD_evmK2G_c66xTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/k2g/c66/bios/MMCSD_iceK2G_DMA_c66xTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/k2g/c66/bios/MMCSD_iceK2G_c66xTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/k2g/c66/bios/mmcsd_emmc_evm.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/k2g/c66/bios/mmcsd_evm.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/k2g/c66/bios/mmcsd_ice.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/k2g/c66/bios/mmcsddma_emmc_evm.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/k2g/c66/bios/mmcsddma_evm.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/k2g/c66/bios/mmcsddma_ice.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/omapl137/armv5/bios/MMCSD_evmOMAPL137_DMA_armTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/omapl137/armv5/bios/MMCSD_evmOMAPL137_MMC_DMA_armTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/omapl137/armv5/bios/MMCSD_evmOMAPL137_MMC_armTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/omapl137/armv5/bios/MMCSD_evmOMAPL137_armTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/omapl137/armv5/bios/mmcsd_test.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/omapl137/armv5/bios/mmcsddma_test.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/omapl137/c674/bios/MMCSD_evmOMAPL137_DMA_c674xTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/omapl137/c674/bios/MMCSD_evmOMAPL137_MMC_DMA_c674xTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/omapl137/c674/bios/MMCSD_evmOMAPL137_MMC_c674xTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/omapl137/c674/bios/MMCSD_evmOMAPL137_c674xTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/omapl137/c674/bios/mmcsd_test.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/omapl137/c674/bios/mmcsddma_test.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/omapl138/armv5/bios/MMCSD_lcdkOMAPL138_DMA_armTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/omapl138/armv5/bios/MMCSD_lcdkOMAPL138_armTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/omapl138/armv5/bios/mmcsd_test.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/omapl138/armv5/bios/mmcsddma_test.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/omapl138/c674/bios/MMCSD_lcdkOMAPL138_DMA_c674xTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/omapl138/c674/bios/MMCSD_lcdkOMAPL138_c674xTestProject.txt [new file with mode: 0644]
packages/ti/drv/mmcsd/test/omapl138/c674/bios/mmcsd_test.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/omapl138/c674/bios/mmcsddma_test.cfg [new file with mode: 0644]
packages/ti/drv/mmcsd/test/src/MMCSD_log.c [new file with mode: 0644]
packages/ti/drv/mmcsd/test/src/MMCSD_log.h [new file with mode: 0644]
packages/ti/drv/mmcsd/test/src/main.c [new file with mode: 0755]
packages/ti/drv/mmcsd/test/src/main_emmc.c [new file with mode: 0755]
packages/ti/drv/mmcsd/test/src/profiling.c [new file with mode: 0644]
packages/ti/drv/mmcsd/test/src/profiling.h [new file with mode: 0644]

diff --git a/packages/ti/drv/mmcsd/.gitignore b/packages/ti/drv/mmcsd/.gitignore
new file mode 100644 (file)
index 0000000..d05b5c7
--- /dev/null
@@ -0,0 +1,28 @@
+*.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/idkAM57x/*/*/bios/src
+example/fatfs_console/*/*/bios/src
+test/*/*/bios/src
+mmcsdver.h
+lib/
+package.mak
+package/
+packages/
+*.o
+*.dep
diff --git a/packages/ti/drv/mmcsd/MMCSD.h b/packages/ti/drv/mmcsd/MMCSD.h
new file mode 100644 (file)
index 0000000..9f75385
--- /dev/null
@@ -0,0 +1,445 @@
+/*
+ * Copyright (C) 2014-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.
+ *
+ */
+ /**
+ *  \defgroup DRV_MMCSD_MODULE MMCSD Driver
+ *
+ *  @{
+ */
+ /**
+ *  \ingroup DRV_MMCSD_MODULE
+ *  \defgroup DRV_MMCSD_API_MODULE MMCSD Driver API
+ *            MMCSD driver interface
+ *
+ *  @{
+ */
+/** ============================================================================
+ *  @file       MMCSD.h
+ *
+ *  @brief      MMCSD driver interface
+ *
+ *  The SD header file should be included in an application as follows:
+ *  @code
+ *  #include <ti/drv/mmcsd/MMCSD.h>
+ *  @endcode
+ *
+ *  ============================================================================
+ */
+
+#ifndef MMCSD_H
+#define MMCSD_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdint.h>
+#include <stddef.h>
+
+/*@{*/
+
+/**
+ *  @def  MMCSD_OK
+ *        MMCSD return code -- Function executed successfully
+ */
+#define MMCSD_OK                                    (0)
+
+/**
+ *  @def  MMCSD_CMD_RESERVED
+ *        MMCSD driver implementations should offset command codes with
+ *        MMCSD_CMD_RESERVED growing positively
+ */
+#define MMCSD_CMD_RESERVED                           (32U)
+
+/**
+ *  @def  MMCSD_ERR
+ *        MMCSD return code -- Function executed failed
+ */
+#define MMCSD_ERR                                   (-(1))
+
+/**
+ *  @def  MMCSD_UNDEFINEDCMD
+ *        MMCSD_control() returns MMCSD_UNDEFINEDCMD if the control code is not
+ *        recognized by the driver implementation.
+ */
+#define MMCSD_UNDEFINEDCMD                          (-(2))
+
+
+/**
+ *  @def  MMCSD_ERR_1P8V_SWITCH_CARD_NOT_RESPONDING
+ *        MMCSD_Open() returns this if a 1.8V switch was attempted by the controller
+ *        with the consent of the card (S18A=1), but the card stopped responding thereafter.
+ */
+#define MMCSD_ERR_1P8V_SWITCH_CARD_NOT_RESPONDING   (-(3))
+
+/**
+ *  @def  MMCSD_ERR_1P8V_SWITCH_MMCIO_SWITCH_FAILURE
+ *        MMCSD_Open() returns this if changing the MMC controller's voltage to 1.8V stopped
+ *        the controller working with CMD and DAT lines always powered low. In other words, the 1.8V
+ *        switch was not succesful as far as the controller is concerned.
+ */
+#define MMCSD_ERR_1P8V_SWITCH_MMCIO_SWITCH_FAILURE  (-(4))
+
+/**
+ *  @def  MMCSD_ERR_1P8V_SWITCH_CARD_CMD11_FAILURE
+ *        MMCSD_Open() returns this if the card indicated that a switch is possible via ACMD41 (S18A=1)
+ *        but stopped responding to CMD11. It could be that some cards may not support CMD11 switch eventhough
+ *        they advertise it
+ */
+#define MMCSD_ERR_1P8V_SWITCH_CARD_CMD11_FAILURE    (-(5))
+
+/**
+ *  @def  MMCSD_ERR_1P8V_SWITCH_CARD_CMD11_FAILURE
+ *        MMCSD_Control(SET_BUS_FREQ) returns this if a switch to a frequency/mode is not supported by the card.
+ *        The busFreq should be selected among four types 25MBPS,50MBPS,SDR50/DDR50 (100MBps), SDR104 (200MBPs).
+ */
+#define MMCSD_ERR_INVALID_FREQ                       (-(6))
+
+/**
+ *  @def  MMCSD_ERR_FREQ_SWITCH_UNSUCCESSFUL
+ *        MMCSD_Control(SET_BUS_FREQ) returns this if a switch to a frequency switch was attempted but failed.
+ */
+#define MMCSD_ERR_FREQ_SWITCH_UNSUCCESSFUL           (-(7))
+
+/**
+ *  @def  MMCSD_ERR_VOLTAGE_SWITCH_FAILURE
+ *        The user defined function MMCSD_voltageSwitchFxn() returns this if a switch to a desired voltage
+ *        was attempted but failed.
+ */
+#define MMCSD_ERR_VOLTAGE_SWITCH_FAILURE             (-(8))
+
+/**
+ *  @def  MMCSD_ERR_SET_SOC_INTERRUPT_PATH
+ *        Error encountered in setting SOC interrupt path
+ *        was attempted but failed.
+ */
+#define MMCSD_ERR_SET_SOC_INTERRUPT_PATH             (-(9))
+
+/**
+ *  @def  MMCSD_ERR_REL_SOC_INTERRUPT_PATH
+ *        Error encountered in setting SOC interrupt path
+ *        was attempted but failed.
+ */
+#define MMCSD_ERR_REL_SOC_INTERRUPT_PATH             (-(10))
+/**
+ *  @def  MMCSD_ERR_REL_SOC_INTERRUPT_PATH
+ *        Error encountered in setting SOC interrupt path
+ *        was attempted but failed.
+ */
+
+#define MMCSD_ERR_TUNING_CMD_ERROR             (-(11))
+
+/*@}*/
+/** @} */
+
+/*!
+ *  @brief      Return status of MMCSD.
+ */
+typedef int32_t                MMCSD_Error;
+
+/*!
+ *  @brief      A handle that is returned from a MMCSD_open() call.
+ */
+typedef void                  *MMCSD_Handle;
+
+/*!
+ *  @brief      A handle that is returned from a MMCSD_open() call.
+ */
+typedef void                  *MMCSD_Params;
+
+/*!
+ *  @brief  MMCSD callback function
+ *
+ *  User definable callback function prototype. The MMCSD driver will call the
+ *  defined function and pass in the I2C driver's handle, the pointer to the I2C
+ *  transaction that just completed, and the return value of I2C_transfer.
+ *
+ *  @param  MMCSD_Handle          MMCSD_Handle
+
+ *  @param  bool                Results of the I2C transaction
+ */
+typedef void (*MMCSD_CardDetectCallbackFxn)(MMCSD_Handle handle, uint32_t temp);
+
+/*!
+ *  @brief  SD Parameters
+ *
+ *  SD parameters are used to with the MMCSD_open() call. Default values for
+ *  these parameters are set using MMCSD_Params_init().
+ *
+ *  @sa     MMCSD_Params_init()
+ */
+typedef struct MMCSD_ConfigParams_s {
+    void             *custom;     /*!< Custom argument used by driver
+                                       implementation */
+    MMCSD_CardDetectCallbackFxn cardDetectCallback; /*! Card detect callback */
+} MMCSD_ConfigParams;
+
+/*!
+ *  @brief      A function pointer to a driver specific implementation of
+ *              MMCSD_close().
+ */
+typedef MMCSD_Error (*MMCSD_CloseFxn)    (MMCSD_Handle handle);
+
+/*!
+ *  @brief      A function pointer to a driver specific implementation of
+ *              MMCSD_control().
+ */
+typedef MMCSD_Error (*MMCSD_ControlFxn)  (MMCSD_Handle handle,
+                                          uint32_t cmd,
+                                          const void *arg);
+
+/*!
+ *  @brief      A function pointer to a driver specific implementation of
+ *              MMCSD_init().
+ */
+typedef MMCSD_Error (*MMCSD_InitFxn)     (MMCSD_Handle handle);
+
+/*!
+ *  @brief      A function pointer to a driver specific implementation of
+ *              MMCSD_open().
+ */
+typedef MMCSD_Error (*MMCSD_OpenFxn) (MMCSD_Handle handle,
+                                      MMCSD_Params params);
+
+/*!
+ *  @brief      A function pointer to a driver specific implementation of
+ *              MMCSD_write().
+ */
+typedef MMCSD_Error (*MMCSD_WriteFxn) (MMCSD_Handle handle,
+                                       uint8_t *buf,
+                                       uint32_t block,
+                                       uint32_t numBlks);
+
+/*!
+ *  @brief      A function pointer to a driver specific implementation of
+ *              MMCSD_read().
+ */
+typedef MMCSD_Error (*MMCSD_ReadFxn) (MMCSD_Handle handle,
+                                      uint8_t *buf,
+                                      uint32_t block,
+                                      uint32_t numBlks);
+
+/*!
+ *  @brief      The definition of a SD function table that contains the
+ *              required set of functions to control a specific SD driver
+ *              implementation.
+ */
+typedef struct MMCSD_FxnTable_s {
+    /*! Function to close the specified peripheral */
+    MMCSD_CloseFxn             closeFxn;
+
+    /*! Function to implementation specific control function */
+    MMCSD_ControlFxn           controlFxn;
+
+    /*! Function to initialize the given data object */
+    MMCSD_InitFxn              initFxn;
+
+    /*! Function to open the specified peripheral */
+    MMCSD_OpenFxn              openFxn;
+
+    /*! Function to initiate a MMC data write */
+    MMCSD_WriteFxn             writeFxn;
+
+    /*! Function to initiate a MMC data read */
+    MMCSD_ReadFxn              readFxn;
+} MMCSD_FxnTable;
+
+/* SD function table pointer */
+extern const MMCSD_FxnTable MMCSD_fxnTable;
+
+/*!
+ *  @brief  SD Global configuration
+ *
+ *  The MMCSD_Config structure contains a set of pointers used to characterize
+ *  the SD driver implementation.
+ *
+ *  This structure needs to be defined before calling MMCSD_init() and it must
+ *  not be changed thereafter.
+ *
+ *  @sa     MMCSD_init()
+ */
+typedef struct MMCSD_Config_s {
+    /*! Pointer to a table of driver-specific implementations of SD APIs */
+    MMCSD_FxnTable const *fxnTablePtr;
+
+    /*! Pointer to a driver specific data object */
+    void                 *object;
+
+    /*! Pointer to a driver specific hardware attributes structure */
+    void           const *hwAttrs;
+} MMCSD_Config;
+
+/*!
+ *  @brief  Parameters of the media attached to the controller
+ *
+ *  The MMCSD_mediaParams structure contains the characteristics of the
+ *  media (SD/eMMC/MMC) attached to the controller
+ *
+ */
+
+typedef struct MMCSD_mediaParams_s {
+    /*! Size of the block in bytes */
+    uint32_t blockSize;
+    
+    /*! Number of blocks present */
+    uint64_t blockCount;
+
+    /*! Size of the media (SD/eMMC/MMC) in bytes */
+    uint64_t size;
+
+} MMCSD_mediaParams;
+
+
+#define MMCSD_MAX_CONFIG_CNT       (5U) 
+typedef MMCSD_Config MMCSD_Config_list[MMCSD_MAX_CONFIG_CNT];
+
+extern const MMCSD_Config_list MMCSD_config;
+
+/*!
+ *  @brief  Function to close a SD peripheral specified by the SD handle
+ *
+ *  @pre    MMCSD_open() had to be called first.
+ *
+ *  @param  handle  A MMCSD_Handle returned from MMCSD_open
+ *
+ *  @sa     MMCSD_open()
+ */
+extern MMCSD_Error MMCSD_close(MMCSD_Handle handle);
+
+/*!
+ *  @brief  Function performs implementation specific features on a given
+ *          MMCSD_Handle.
+ *
+ *  @pre    MMCSD_open() has to be called first.
+ *
+ *  @param  handle      A SD handle returned from MMCSD_open()
+ *
+ *  @param  cmd         A command value defined by the driver specific
+ *                      implementation
+ *
+ *  @param  arg         An optional R/W (read/write) argument that is
+ *                      accompanied with cmd
+ *
+ *  @return Implementation specific return codes. Negative values indicate
+ *          unsuccessful operations.
+ *
+ *  @sa     MMCSD_open()
+ */
+extern MMCSD_Error MMCSD_control(MMCSD_Handle handle, uint32_t cmd, void *arg);
+
+/*!
+ *  @brief  Function to initializes the SD module
+ *
+ *  @pre    The MMCSD_config structure must exist and be persistent before this
+ *          function can be called. This function must also be called before
+ *          any other SD driver APIs. This function call does not modify any
+ *          peripheral registers.
+ */
+extern MMCSD_Error MMCSD_init(void);
+
+/*!
+ *  @brief  Function to initialize a given SD peripheral specified by the
+ *          particular index value. The parameter specifies which mode the SD
+ *          will operate.
+ *
+ *  @pre    SD controller has been initialized
+ *
+ *  @param  index         Logical peripheral number for the SD indexed into
+ *                        the MMCSD_config table
+ *
+ *  @param  params        Pointer to an parameter block, if NULL it will use
+ *                        default values. All the fields in this structure are
+ *                        RO (read-only).
+ *  @param  handle        A pointer to the MMCSD_Handle
+ *
+ *  @return A MMCSD_Handle on success or a NULL on an error or if it has been
+ *          opened already.
+ *
+ *  @sa     MMCSD_init()
+ *  @sa     MMCSD_close()
+ */
+extern MMCSD_Error MMCSD_open(uint32_t index,
+                              MMCSD_Params params,
+                              MMCSD_Handle *handle);
+
+/*!
+ *  @brief  Function to initialize the MMCSD_Params struct to its defaults
+ *
+ *  @param  params      An pointer to MMCSD_Params structure for
+ *                      initialization
+ *
+ */
+extern MMCSD_Error MMCSD_Params_init(MMCSD_Params params);
+
+/*!
+ *  @brief  Function that handles the SD write for SYS/BIOS
+ *
+ *  @param  handle      A MMCSD_Handle
+ *  @param  buf         A pointer to buffer
+ *  @param  block       Start block to write.
+ *  @param  numBlks     Number of blocks to be read.
+ *
+ *  @return true on successful write
+ *          false on an error, such as a SD bus fault
+ *
+ *  @sa     MMCSD_open
+ */
+extern MMCSD_Error MMCSD_write(MMCSD_Handle handle,
+                               uint8_t *buf,
+                               uint32_t block,
+                               uint32_t numBlks);
+
+/*!
+ *  @brief  Function that handles the SD read for SYS/BIOS
+ *
+ *  @param  handle      A MMCSD_Handle
+ *  @param  buf         A pointer to buffer
+ *  @param  block       Start block to read.
+ *  @param  numBlks     Number of blocks to be read.
+ *
+ *  @return true on successful read
+ *          false on an error, such as a SD bus fault
+ *
+ *  @sa     MMCSD_open
+ */
+extern MMCSD_Error MMCSD_read(MMCSD_Handle handle,
+                              uint8_t *buf,
+                              uint32_t block,
+                              uint32_t numBlks);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _MMCSD_H_ */
+/* @} */
diff --git a/packages/ti/drv/mmcsd/MMCSDver.h b/packages/ti/drv/mmcsd/MMCSDver.h
new file mode 100644 (file)
index 0000000..0cc21d1
--- /dev/null
@@ -0,0 +1,68 @@
+#ifndef _MMCSDVER_H
+#define _MMCSDVER_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ============================================================= */
+/**
+ *   @file  MMCSDver.h
+ *
+ *   path  ti/drv/mmcsd/MMCSDver.h
+ *
+ *   @brief  mmcsd 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 mmcsd Driver Version. Versions numbers are encoded in the
+ * following format:
+ *  0xAABBCCDD -> Arch (AA); API Changes (BB); Major (CC); Minor (DD)
+ */
+#define MMCSD_DRV_VERSION_ID                     (0x01000011)
+
+/**
+ * @brief   This is the version string which describes the SPI driver along with
+ * the date and build information.
+ */
+#define MMCSD_DRV_VERSION_STR                    "MMCSD Driver Revision: 01.00.00.17"
+
+
+#ifdef __cplusplus
+}
+#endif
+
+
+#endif  /* _MMCSDVER_H */
diff --git a/packages/ti/drv/mmcsd/MMCSDver.h.xdt b/packages/ti/drv/mmcsd/MMCSDver.h.xdt
new file mode 100644 (file)
index 0000000..28dea2d
--- /dev/null
@@ -0,0 +1,100 @@
+%%{
+/*!
+ *  This template implements the SPIver.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 = "\""+"spi Driver Revision: "+ver1[0]+"."+ver1[1]+"."+ver1[2]+"."+ver1[3]+"\"";
+  var versionID = "(0x"+ver2[0]+ver2[1]+ver2[2]+ver2[3]+")";
+
+%%}
+#ifndef _MMCSDVER_H
+#define _MMCSDVER_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ============================================================= */
+/**
+ *   @file  MMCSDver.h
+ *
+ *   path  ti/drv/mmcsd/MMCSDver.h
+ *
+ *   @brief  mmcsd Driver Version Definitions
+ *
+ *  ============================================================
+ *  Copyright (c) Texas Instruments Incorporated 2009-2016
+ *
+ *  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 mmcsd Driver Version. Versions numbers are encoded in the
+ * following format:
+ *  0xAABBCCDD -> Arch (AA); API Changes (BB); Major (CC); Minor (DD)
+ */
+#define MMCSD_DRV_VERSION_ID                     `versionID`
+
+/**
+ * @brief   This is the version string which describes the SPI driver along with
+ * the date and build information.
+ */
+#define MMCSD_DRV_VERSION_STR                    `versionStr`
+
+
+#ifdef __cplusplus
+}
+#endif
+
+
+#endif  /* _MMCSDVER_H */
diff --git a/packages/ti/drv/mmcsd/Settings.xdc.xdt b/packages/ti/drv/mmcsd/Settings.xdc.xdt
new file mode 100644 (file)
index 0000000..84218dc
--- /dev/null
@@ -0,0 +1,66 @@
+\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 mmcsdVersionString = `packageVersion`;\r
+    /*! This variable is to control the SoC type selection.\r
+     * By default this variable is set to NULL.\r
+     * \r
+     * To use LLD for the selected device, add the following lines to config\r
+     * file and set the deviceType correctly:\r
+        *\r
+     *      var mmcsdSettings = xdc.useModule ('ti.drv.mmcsd.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 mmcsdSettings = xdc.useModule ('ti.drv.mmcsd.Settings');\r
+     *      mmcsdSettings.useDma = "true";\r
+     * \r
+     */\r
+    metaonly config string useDma = "false";   \r
+\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
+}\r
+\r
diff --git a/packages/ti/drv/mmcsd/build/buildlib.xs b/packages/ti/drv/mmcsd/build/buildlib.xs
new file mode 100644 (file)
index 0000000..c3b1ff4
--- /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/mmcsd/build/makefile.mk b/packages/ti/drv/mmcsd/build/makefile.mk
new file mode 100644 (file)
index 0000000..3e231b6
--- /dev/null
@@ -0,0 +1,75 @@
+#
+# 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_MMCSD_COMP_PATH)/src/src_files_common.mk
+
+MODULE_NAME = mmcsd
+
+ifeq ($(SOC),$(filter $(SOC), dra72x dra75x dra78x k2g am437x am335x omapl137 omapl138 am65xx j721e))
+SOC_DIR=$(SOC)
+else ifeq ($(SOC),$(filter $(SOC), am571x am572x am574x))
+SOC_DIR=am57xx
+endif
+
+ifeq ($(SOC),$(filter $(SOC), dra72x dra75x dra78x am571x am572x am574x k2g am437x am335x omapl137 omapl138 am65xx j721e))
+SRCDIR += soc/$(SOC_DIR)
+INCDIR += soc
+SRCS_COMMON += MMCSD_soc.c
+endif
+
+# List all the external components/interfaces, whose interface header files
+#  need to be included for this component
+INCLUDE_EXTERNAL_INTERFACES = pdk
+
+ifneq ($(SOC),$(filter $(SOC), am65xx j721e))
+INCLUDE_EXTERNAL_INTERFACES += edma
+endif
+
+ifeq ($(SOC),$(filter $(SOC), dra72x dra75x dra78x am571x am572x am574x k2g am437x am335x omapl137 omapl138 am65xx j721e))
+PACKAGE_SRCS_COMMON += soc/$(SOC_DIR)
+endif
+
+CFLAGS_LOCAL_COMMON = $(PDK_CFLAGS)
+ifeq ($(BOARD), j721e_sim)
+CFLAGS_LOCAL_COMMON += $(CFLAGS_GLOBAL_j721e_sim)
+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
+
+# Nothing beyond this point
diff --git a/packages/ti/drv/mmcsd/build/makefile_dma.mk b/packages/ti/drv/mmcsd/build/makefile_dma.mk
new file mode 100644 (file)
index 0000000..9ff819e
--- /dev/null
@@ -0,0 +1,77 @@
+#
+# 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_MMCSD_COMP_PATH)/src/src_files_common.mk
+
+MODULE_NAME = mmcsd_dma
+
+ifeq ($(SOC),$(filter $(SOC), dra72x dra75x dra78x k2g am437x am335x am65xx j721e))
+SOC_DIR=$(SOC)
+else ifeq ($(SOC),$(filter $(SOC), am571x am572x am574x))
+SOC_DIR=am57xx
+endif
+
+ifeq ($(SOC),$(filter $(SOC), dra72x dra75x dra78x am571x am572x am574x k2g am437x am335x am65xx j721e))
+SRCDIR += soc/$(SOC_DIR)
+INCDIR += soc
+SRCS_COMMON += MMCSD_soc.c
+endif
+
+# List all the external components/interfaces, whose interface header files
+#  need to be included for this component
+INCLUDE_EXTERNAL_INTERFACES = pdk
+
+ifneq ($(SOC),$(filter $(SOC), am65xx j721e))
+INCLUDE_EXTERNAL_INTERFACES += edma
+endif
+                      
+ifeq ($(SOC),$(filter $(SOC), dra72x dra75x dra78x am571x am572x am574x k2g am437x am335x am65xx j721e))
+PACKAGE_SRCS_COMMON += soc/$(SOC_DIR)
+endif
+
+
+ifeq ($(SOC),$(filter $(SOC), am65xx j721e))
+CFLAGS_LOCAL_COMMON = $(PDK_CFLAGS)
+else
+CFLAGS_LOCAL_COMMON = $(PDK_CFLAGS) -DMMCSD_EDMA_ENABLED
+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
+
+# Nothing beyond this point
diff --git a/packages/ti/drv/mmcsd/build/makefile_dma_profile.mk b/packages/ti/drv/mmcsd/build/makefile_dma_profile.mk
new file mode 100644 (file)
index 0000000..3623227
--- /dev/null
@@ -0,0 +1,78 @@
+#
+# 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_MMCSD_COMP_PATH)/src/src_files_common.mk
+
+MODULE_NAME = mmcsd_dma_profile
+
+ifeq ($(SOC),$(filter $(SOC), dra72x dra75x dra78x k2g am437x am335x am65xx j721e))
+SOC_DIR=$(SOC)
+else ifeq ($(SOC),$(filter $(SOC), am571x am572x am574x))
+SOC_DIR=am57xx
+endif
+
+ifeq ($(SOC),$(filter $(SOC), dra72x dra75x dra78x am571x am572x am574x k2g am437x am335x am65xx j721e))
+SRCDIR += soc/$(SOC_DIR)
+INCDIR += soc
+SRCS_COMMON += MMCSD_soc.c
+endif
+
+# List all the external components/interfaces, whose interface header files
+#  need to be included for this component
+INCLUDE_EXTERNAL_INTERFACES = pdk 
+
+ifneq ($(SOC),$(filter $(SOC), am65xx j721e))
+INCLUDE_EXTERNAL_INTERFACES += edma
+endif
+                      
+ifeq ($(SOC),$(filter $(SOC), am571x am572x am574x dra72x dra75x dra78x k2g am437x am335x am65xx j721e))
+PACKAGE_SRCS_COMMON += soc/$(SOC_DIR)
+endif
+
+ifeq ($(BUILDTYPE),$(filter $(BUILDTYPE), profile profiledma))
+  ifeq ($(CORE),$(filter $(CORE), a15_0 a9host a8host mpu1_0))
+    CFLAGS_LOCAL_COMMON = $(PDK_CFLAGS) -finstrument-functions -gdwarf-3 -g -D_ENABLE_BM -DMMCSD_EDMA_ENABLED
+  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 -DMMCSD_EDMA_ENABLED
+  endif
+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
+
+# Nothing beyond this point
diff --git a/packages/ti/drv/mmcsd/build/makefile_indp.mk b/packages/ti/drv/mmcsd/build/makefile_indp.mk
new file mode 100644 (file)
index 0000000..1ebd917
--- /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_MMCSD_COMP_PATH)/src/src_files_common.mk
+
+MODULE_NAME = mmcsd_indp
+
+# List all the external components/interfaces, whose interface header files
+#  need to be included for this component
+INCLUDE_EXTERNAL_INTERFACES = pdk
+
+ifneq ($(SOC),$(filter $(SOC), am65xx j721e))
+INCLUDE_EXTERNAL_INTERFACES += edma
+endif
+
+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
+
+# Nothing beyond this point
diff --git a/packages/ti/drv/mmcsd/build/makefile_profile.mk b/packages/ti/drv/mmcsd/build/makefile_profile.mk
new file mode 100644 (file)
index 0000000..c4e17d6
--- /dev/null
@@ -0,0 +1,78 @@
+#
+# 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_MMCSD_COMP_PATH)/src/src_files_common.mk
+
+MODULE_NAME = mmcsd_profile
+
+ifeq ($(SOC),$(filter $(SOC), k2g dra72x dra75x dra78x am437x am335x omapl137 omapl138 am65xx j721e))
+SOC_DIR=$(SOC)
+else ifeq ($(SOC),$(filter $(SOC), am571x am572x am574x))
+SOC_DIR=am57xx
+endif
+
+ifeq ($(SOC),$(filter $(SOC), dra72x dra75x dra78x am571x am572x am574x k2g am437x am335x omapl137 omapl138 am65xx j721e))
+SRCDIR += soc/$(SOC_DIR)
+INCDIR += soc
+SRCS_COMMON += MMCSD_soc.c
+endif
+
+# List all the external components/interfaces, whose interface header files
+#  need to be included for this component
+INCLUDE_EXTERNAL_INTERFACES = pdk
+
+ifneq ($(SOC),$(filter $(SOC), am65xx j721e))
+INCLUDE_EXTERNAL_INTERFACES += edma
+endif
+                      
+ifeq ($(SOC),$(filter $(SOC), am571x am572x am574x dra72x dra75x dra78x k2g am437x am335x am65xx j721e))
+PACKAGE_SRCS_COMMON += soc/$(SOC_DIR)
+endif
+
+ifeq ($(BUILDTYPE),$(filter $(BUILDTYPE), profile profiledma))
+  ifeq ($(CORE),$(filter $(CORE), a15_0 a9host a8host mpu1_0))
+    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
+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
+
+# Nothing beyond this point
diff --git a/packages/ti/drv/mmcsd/build/makefile_profile_indp.mk b/packages/ti/drv/mmcsd/build/makefile_profile_indp.mk
new file mode 100644 (file)
index 0000000..68e7268
--- /dev/null
@@ -0,0 +1,62 @@
+#
+# 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_MMCSD_COMP_PATH)/src/src_files_common.mk
+
+MODULE_NAME = mmcsd_profile_indp
+
+# List all the external components/interfaces, whose interface header files
+#  need to be included for this component
+INCLUDE_EXTERNAL_INTERFACES = pdk 
+
+ifneq ($(SOC),$(filter $(SOC), am65xx j721e))
+INCLUDE_EXTERNAL_INTERFACES += edma
+endif
+
+ifeq ($(BUILDTYPE),$(filter $(BUILDTYPE), profile profiledma))
+  ifeq ($(CORE),$(filter $(CORE), a15_0 a9host a8host mpu1_0))
+    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
+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
+
+# Nothing beyond this point
diff --git a/packages/ti/drv/mmcsd/config.bld b/packages/ti/drv/mmcsd/config.bld
new file mode 100644 (file)
index 0000000..b955a95
--- /dev/null
@@ -0,0 +1,315 @@
+/******************************************************************************\r
+ * FILE PURPOSE: Build configuration Script for the mmcsd Driver\r
+ ******************************************************************************\r
+ * FILE NAME: config.bld\r
+ *\r
+ * DESCRIPTION: \r
+ *  This file contains the build configuration script for the mmcsd driver\r
+ *  and is responsible for configuration of the paths for the various \r
+ *  tools required to build the driver.\r
+ *\r
+ * Copyright (C) 2017, Texas Instruments, Inc.\r
+ *****************************************************************************/\r
+\r
+/* Get the Tools Base directory from the Environment Variable. */\r
+var c66ToolsBaseDir = java.lang.System.getenv("C6X_GEN_INSTALL_PATH");\r
+var c674ToolsBaseDir = java.lang.System.getenv("C6X_GEN_INSTALL_PATH");\r
+var m4ToolsBaseDir  = java.lang.System.getenv("TOOLCHAIN_PATH_M4");\r
+var a15ToolsBaseDir = java.lang.System.getenv("TOOLCHAIN_PATH_A15");\r
+var a9ToolsBaseDir  = java.lang.System.getenv("TOOLCHAIN_PATH_A9");\r
+var arm9ToolsBaseDir  = java.lang.System.getenv("TOOLCHAIN_PATH_ARM9");\r
+var a8ToolsBaseDir  = java.lang.System.getenv("TOOLCHAIN_PATH_A8");\r
+\r
+/* Get the extended debug flags for C66x, \r
+ * did not change the name for backwards compatibilty */\r
+var extDbgFlags = java.lang.System.getenv("EXTDBGFLAGS");\r
+\r
+/* Get the extended debug flags for A15 */\r
+var extDbgFlags_a15 = java.lang.System.getenv("EXTDBGFLAGS_A15");\r
+\r
+/* Get the extended debug flags for A8 */\r
+var extDbgFlags_a8 = java.lang.System.getenv("EXTDBGFLAGS_A8");\r
+\r
+/* Get the extended debug flags for A9 */\r
+var extDbgFlags_a9 = java.lang.System.getenv("EXTDBGFLAGS_A9");\r
+\r
+/* Get the extended debug flags for ARM9 */\r
+var extDbgFlags_arm9 = java.lang.System.getenv("EXTDBGFLAGS_ARM9");\r
+\r
+/* Get the extended debug flags for M4 */\r
+var extDbgFlags_m4 = java.lang.System.getenv("EXTDBGFLAGS_M4");\r
+\r
+/* Get the base directory for the uart Socket Driver Package */\r
+var driverPath = new java.io.File(".//").getPath();\r
+\r
+/* Include Path */\r
+var lldIncludePath = " -I" + driverPath + "/src" + " -I" + driverPath;\r
+\r
+/* Configure the mmcsd Socket Release Version Information */\r
+/* 3 steps: remove SPACE and TAB, convert to string and split to make array */\r
+var driverReleaseVersion = (""+Pkg.version.replace(/\s/g, "")).split(',');\r
+\r
+/* Print the Compiler Options */\r
+var pOpts = 1;\r
+\r
+/* C66 ELF compiler configuration for Little Endian Mode. */\r
+var C66LE           = xdc.useModule('ti.targets.elf.C66');\r
+C66LE.rootDir       = c66ToolsBaseDir;\r
+C66LE.ccOpts.prefix = "-mo -o3 -q -k -eo.o";\r
+if(extDbgFlags)     \r
+    C66LE.ccOpts.prefix = C66LE.ccOpts.prefix + " " + extDbgFlags; \r
+\r
+/* C66 ELF compiler configuration for Big Endian Mode. */\r
+var C66BE           = xdc.useModule('ti.targets.elf.C66_big_endian');\r
+C66BE.rootDir       = c66ToolsBaseDir;\r
+C66BE.ccOpts.prefix = "-mo -o3 -q -k -eo.o -DBIGENDIAN";\r
+if(extDbgFlags)     \r
+    C66BE.ccOpts.prefix = C66BE.ccOpts.prefix + " " + extDbgFlags;\r
+\r
+/* C674 ELF compiler configuration for Little Endian Mode. */\r
+var C674LE            = xdc.useModule('ti.targets.elf.C674');\r
+C674LE.rootDir        = c674ToolsBaseDir;\r
+C674LE.asmOpts.prefix = "--strip_coff_underscore";\r
+C674LE.ccOpts.prefix  = "--strip_coff_underscore -mo -o3 -q -k -eo.o " + "-D" + cslPartNumber;\r
+if(extDbgFlags)\r
+    C674LE.ccOpts.prefix = C674LE.ccOpts.prefix + " " + extDbgFlags;\r
+\r
+/* ARMv7 A15 compiler configuration */\r
+var A15LE            = xdc.useModule('gnu.targets.arm.A15F');\r
+A15LE.rootDir        = a15ToolsBaseDir;\r
+A15LE.ccOpts.prefix  = "-mno-unaligned-access -c -mtune=cortex-a15 -marm -DDRA7xx -gstrict-dwarf -Wall -D__ARMv7 -D_LITTLE_ENDIAN=1";\r
+if(extDbgFlags_a15)     \r
+    A15LE.ccOpts.prefix = A15LE.ccOpts.prefix + " " + extDbgFlags_a15; \r
+    \r
+/* ARMv7 A9 compiler configuration */\r
+var A9LE            = xdc.useModule('gnu.targets.arm.A9F');\r
+A9LE.rootDir        = a9ToolsBaseDir;\r
+A9LE.ccOpts.prefix  = "-mno-unaligned-access -c -mtune=cortex-a9 -marm -DDRA7xx -gstrict-dwarf -Wall -D__ARMv7 -D_LITTLE_ENDIAN=1";\r
+if(extDbgFlags_a9)     \r
+    A9LE.ccOpts.prefix = A9LE.ccOpts.prefix + " " + extDbgFlags_a9;\r
+\r
+/* ARMv7 A8 compiler configuration */\r
+var A8LE            = xdc.useModule('gnu.targets.arm.A8F');\r
+A8LE.rootDir        = a8ToolsBaseDir;\r
+A8LE.ccOpts.prefix  = "-mno-unaligned-access -c -mtune=cortex-a8 -marm -DDRA7xx -gstrict-dwarf -Wall -D__ARMv7 -D_LITTLE_ENDIAN=1";\r
+if(extDbgFlags_a8)     \r
+    A8LE.ccOpts.prefix = A8LE.ccOpts.prefix + " " + extDbgFlags_a8; \r
+\r
+/* ARMv5 ARM9 compiler configuration */\r
+var ARM9LE            = xdc.useModule('ti.targets.arm.elf.Arm9');\r
+ARM9LE.rootDir        = arm9ToolsBaseDir;\r
+ARM9LE.ccOpts.prefix  = "-mno-unaligned-access -c -mtune=arm926ej-s -msoft-float -mfloat-abi=soft -march=armv5te -marm -DDRA7xx -Dxdc_target_types__=gnu/targets/arm/std.h -Dxdc_target_name__=Arm9 -gstrict-dwarf -Wall -D__ARMv5 -D_LITTLE_ENDIAN=1";\r
+if(extDbgFlags_arm9)\r
+    ARM9LE.ccOpts.prefix = ARM9LE.ccOpts.prefix + " " + extDbgFlags_arm9; \r
+\r
+/* M4 ELF compiler configuration for Little Endian Mode. */\r
+var M4LE            = xdc.useModule('ti.targets.arm.elf.M4');\r
+M4LE.rootDir        = m4ToolsBaseDir;\r
+M4LE.ccOpts.prefix  = "-o4 -qq -pdsw255 -DMAKEFILE_BUILD";\r
+if(extDbgFlags_m4)\r
+    M4LE.ccOpts.prefix = M4LE.ccOpts.prefix + " " + extDbgFlags_m4; \r
+\r
+/* soc name (am?) is inserted between first an second element of this\r
+   list to construct device file name for each device */\r
+var deviceConstruct = [ "soc/", "/MMCSD_soc.c" ];\r
+\r
+/* soc name (am?) is inserted between first an second element of this\r
+   list to construct device file name for each device */\r
+var deviceDmaConstruct = [ "soc/", "/MMCSDDMA_soc.c" ];\r
+\r
+/* Create the SoC List  */\r
+var socs = { \r
+    /* device independent libraries */\r
+    all :\r
+    {\r
+        /* Build this library */\r
+        build: "true",\r
+        /* SoC lib enabled */\r
+        socDevLib: "false",\r
+        /* dma lib enabled */\r
+        dmaDevLib: "false",     \r
+        /* Library options */\r
+        copts: "",\r
+        /* target lists, kept blank now, would be updated based on argument lists */\r
+        targets: []\r
+    },\r
+    am335x :\r
+    {\r
+        /* this variable would be reinitialized to true, if XDCARGS contains am335x */\r
+        build: "false",\r
+        /* SoC lib enabled */\r
+        socDevLib: "true",\r
+        /* dma lib enabled */\r
+        dmaDevLib: "false",     \r
+        /* Library options */\r
+        copts: " -DSOC_AM335x",\r
+        /* target list */\r
+        targets: [ A8LE ]\r
+    },\r
+    am437x :\r
+    {\r
+        /* this variable would be reinitialized to true, if XDCARGS contains am437x */\r
+        build: "false",       \r
+        /* SoC lib enabled */\r
+        socDevLib: "true",\r
+        /* dma lib enabled */\r
+        dmaDevLib: "false",     \r
+        /* Library options */\r
+        copts: " -DSOC_AM437x",\r
+        /* target list */\r
+        targets: [ A9LE ]\r
+   },\r
+   am572x :\r
+    {\r
+        /* this variable would be reinitialized to true, if XDCARGS contains am572x */\r
+        build: "false", \r
+       /* SoC lib enabled */\r
+       socDevLib: "true",\r
+       /* dma lib enabled */\r
+       dmaDevLib: "true",     \r
+       /* Library options */\r
+       copts: " -DSOC_AM572x",\r
+       /* target list */\r
+       targets: [ C66LE, M4LE, A15LE]\r
+    },\r
+   am574x :\r
+    {\r
+        /* this variable would be reinitialized to true, if XDCARGS contains am574x */\r
+        build: "false",\r
+       /* SoC lib enabled */\r
+       socDevLib: "true",\r
+       /* dma lib enabled */\r
+       dmaDevLib: "true",\r
+       /* Library options */\r
+       copts: " -DSOC_AM574x",\r
+       /* target list */\r
+       targets: [ C66LE, M4LE, A15LE]\r
+    },\r
+    dra75x :\r
+    {\r
+        /* this variable would be reinitialized to true, if XDCARGS contains dra75x */\r
+        build: "false", \r
+       /* SoC lib enabled */\r
+       socDevLib: "true",\r
+       /* dma lib enabled */\r
+       dmaDevLib: "true",     \r
+       /* Library options */\r
+       copts: " -DSOC_DRA75x",\r
+       /* target list */\r
+       targets: [ C66LE, M4LE, A15LE]\r
+    },\r
+   am571x :\r
+    {\r
+        /* this variable would be reinitialized to true, if XDCARGS contains am571x */\r
+        build: "false",     \r
+       /* SoC lib enabled */\r
+       socDevLib: "true",\r
+       /* dma lib enabled */\r
+       dmaDevLib: "true",     \r
+       /* Library options */\r
+       copts: " -DSOC_AM571x",\r
+       /* target list */\r
+       targets: [ C66LE, M4LE, A15LE]\r
+    },\r
+         k2g :\r
+    {\r
+        /* this variable would be reinitialized to true, if XDCARGS contains k2g */\r
+        build: "false", \r
+       /* SoC lib enabled */\r
+       socDevLib: "true",\r
+       /* dma lib enabled */\r
+       dmaDevLib: "true",     \r
+       /* Library options */\r
+       copts: " -DSOC_K2G",\r
+       /* target list */\r
+       targets: [ C66LE, A15LE]\r
+    }\r
+       omapl137 :\r
+    {\r
+        /* this variable would be reinitialized to true, if XDCARGS contains omapl137 */\r
+        build: "false",\r
+       /* SoC lib enabled */\r
+       socDevLib: "true",\r
+       /* Library options */\r
+       copts: " -DSOC_OMAPL137",\r
+       /* target list */\r
+       targets: [ C674LE, ARM9LE]\r
+    },\r
+       omapl138 :\r
+    {\r
+        /* this variable would be reinitialized to true, if XDCARGS contains omapl138 */\r
+        build: "false",\r
+       /* SoC lib enabled */\r
+       socDevLib: "true",\r
+       /* Library options */\r
+       copts: " -DSOC_OMAPL138",\r
+       /* target list */\r
+       targets: [ C674LE, ARM9LE]\r
+     }\r
+};\r
+\r
+/**************************************************************************\r
+ * FUNCTION NAME : merge\r
+ **************************************************************************\r
+ * DESCRIPTION   :\r
+ *  The function is used to merge two arrarys\r
+ **************************************************************************/\r
+function merge() {\r
+    var args = arguments;\r
+    var hash = {};\r
+    var arr = [];\r
+    for (var i = 0; i < args.length; i++) {\r
+       for (var j = 0; j < args[i].length; j++) {\r
+         if (hash[args[i][j]] !== true) {\r
+           arr[arr.length] = args[i][j];\r
+           hash[args[i][j]] = true;\r
+         }\r
+       }\r
+     }\r
+    return arr;\r
+}\r
+\r
+/* Grab input from XDCARGS */\r
+var buildArguments  = [];\r
+\r
+/* Construct the build arguments */\r
+for (var tmp=0; arguments[tmp] != undefined; tmp++)\r
+{\r
+\r
+    /* If no arguments are provided, override for building all */\r
+    if ( ( arguments.length == 1) && (arguments[tmp].equals("./config.bld")) )\r
+        buildArguments[buildArguments.length++] = "all";\r
+    else\r
+        buildArguments[buildArguments.length++] = arguments[tmp];\r
+}\r
+\r
+/* Build targets on this build */\r
+var build_targets = [];\r
+var soc_names = Object.keys(socs);\r
+\r
+for (var i=0; i < buildArguments.length; i++ ) {\r
+    /* Build it for all targets */\r
+    if (buildArguments[i] == "all") {\r
+        for (var j = 0; j < soc_names.length; j++)  {\r
+            build_targets = merge (build_targets.slice(0), socs[soc_names[j]].targets.slice(0));\r
+            /* Set build to "true" for that SoC */\r
+            socs[soc_names[j]].build = "true";\r
+        }\r
+    }\r
+    else {\r
+        /* Skip the first argument, which is ./config.bld to get to next SoCs */\r
+        if (i == 0) continue;          \r
+        /* Set that build to true if it is found in supported build socs */\r
+        for (j = 0; j < soc_names.length; j++) {\r
+            if (buildArguments[i] == soc_names[j]) {\r
+                socs[buildArguments[i]].build = "true";\r
+                build_targets = merge (build_targets.slice(0), socs[buildArguments[i]].targets.slice(0));\r
+                break;\r
+            }\r
+        }\r
+    }   \r
+}\r
+\r
+/* Update the Build target generated list */\r
+socs["all"].targets = build_targets; \r
+Build.targets   = build_targets;\r
diff --git a/packages/ti/drv/mmcsd/config_mk.bld b/packages/ti/drv/mmcsd/config_mk.bld
new file mode 100644 (file)
index 0000000..348a778
--- /dev/null
@@ -0,0 +1,44 @@
+/******************************************************************************\r
+ * FILE PURPOSE: Build configuration Script for the mmcsd Driver\r
+ ******************************************************************************\r
+ * FILE NAME: config.bld\r
+ *\r
+ * DESCRIPTION: \r
+ *  This file contains the build configuration script for the mmcsd driver\r
+ *  and is responsible for configuration of the paths for the various \r
+ *  tools required to build the driver.\r
+ *\r
+ * Copyright (C) 2014-2017, Texas Instruments, Inc.\r
+ *****************************************************************************/\r
+\r
+/* Get the Tools Base directory from the Environment Variable. */\r
+var c66ToolsBaseDir = java.lang.System.getenv("C6X_GEN_INSTALL_PATH");\r
+var c674ToolsBaseDir = java.lang.System.getenv("C6X_GEN_INSTALL_PATH");\r
+var m4ToolsBaseDir  = java.lang.System.getenv("TOOLCHAIN_PATH_M4");\r
+var a15ToolsBaseDir = java.lang.System.getenv("TOOLCHAIN_PATH_A15");\r
+var a9ToolsBaseDir  = java.lang.System.getenv("TOOLCHAIN_PATH_A9");\r
+var arm9ToolsBaseDir  = java.lang.System.getenv("TOOLCHAIN_PATH_ARM9");\r
+var a8ToolsBaseDir  = java.lang.System.getenv("TOOLCHAIN_PATH_A8");\r
+\r
+/* Get the base directory for the uart Socket Driver Package */\r
+var driverPath = new java.io.File(".//").getPath();\r
+\r
+/* Include Path */\r
+var lldIncludePath = " -I" + driverPath + "/src" + " -I" + driverPath;\r
+\r
+/* Configure the mmcsd Socket Release Version Information */\r
+/* 3 steps: remove SPACE and TAB, convert to string and split to make array */\r
+var driverReleaseVersion = (""+Pkg.version.replace(/\s/g, "")).split(',');\r
+\r
+/* Do not Print the Compiler Options */\r
+var pOpts = 0;\r
+\r
+/* List of all devices that needs to be build via XDC\r
+ * As the build happens through makefile, there is nothing to build via XDC\r
+ * using the below for packaging infrastructure\r
+ */\r
+var socs = [];\r
+var devices = [];\r
+var build_devices = [];\r
+Build.targets = []\r
+\r
diff --git a/packages/ti/drv/mmcsd/docs/MMCSD_LLD_SoftwareManifest.doc b/packages/ti/drv/mmcsd/docs/MMCSD_LLD_SoftwareManifest.doc
new file mode 100644 (file)
index 0000000..3b7591f
Binary files /dev/null and b/packages/ti/drv/mmcsd/docs/MMCSD_LLD_SoftwareManifest.doc differ
diff --git a/packages/ti/drv/mmcsd/docs/MMCSD_LLD_SoftwareManifest.pdf b/packages/ti/drv/mmcsd/docs/MMCSD_LLD_SoftwareManifest.pdf
new file mode 100644 (file)
index 0000000..ed75eaa
Binary files /dev/null and b/packages/ti/drv/mmcsd/docs/MMCSD_LLD_SoftwareManifest.pdf differ
diff --git a/packages/ti/drv/mmcsd/docs/MMCSD_LLD_UserGuide.pdf b/packages/ti/drv/mmcsd/docs/MMCSD_LLD_UserGuide.pdf
new file mode 100644 (file)
index 0000000..2e5343d
Binary files /dev/null and b/packages/ti/drv/mmcsd/docs/MMCSD_LLD_UserGuide.pdf differ
diff --git a/packages/ti/drv/mmcsd/docs/Module.xs b/packages/ti/drv/mmcsd/docs/Module.xs
new file mode 100644 (file)
index 0000000..82d73cd
--- /dev/null
@@ -0,0 +1,60 @@
+/******************************************************************************
+ * FILE PURPOSE: MMCSD Driver DOCS Module specification file.
+ ******************************************************************************
+ * FILE NAME: module.xs
+ *
+ * DESCRIPTION: 
+ *  This file contains the module specification for the MMCSD Driver Documentation .
+ *
+ * Copyright (C) 2008, Texas Instruments, Inc.
+ *****************************************************************************/
+
+/* Load the library utility. */
+var libUtility = xdc.loadCapsule ("../build/buildlib.xs");
+
+/**************************************************************************
+ * FUNCTION NAME : modBuild
+ **************************************************************************
+ * DESCRIPTION   :
+ *  The function is used to build the LLD documentation and add it to the
+ *  package.
+ **************************************************************************/
+function modBuild() 
+{
+    /* Create the actual PROLOGUE Section for the Documentation.*/
+    Pkg.makePrologue += "release: mmcsd_document_generation\n";
+    Pkg.makePrologue += "mmcsd_document_generation:\n";
+    Pkg.makePrologue += "\t @echo ----------------------------\n";
+    Pkg.makePrologue += "\t @echo Generating MMCSD Driver Documentation\n";
+    Pkg.makePrologue += "\t doxygen docs/Doxyfile\n";
+    Pkg.makePrologue += "\t @echo MMCSD Driver Documentation Generated \n";
+    Pkg.makePrologue += "\t @echo ----------------------------\n";
+
+    /* Add the documentation file to the package. */
+    Pkg.otherFiles[Pkg.otherFiles.length++] = "docs/tifooter.htm";
+    Pkg.otherFiles[Pkg.otherFiles.length++] = "docs/tiheader.htm";
+    Pkg.otherFiles[Pkg.otherFiles.length++] = "docs/tilogo.gif";
+    Pkg.otherFiles[Pkg.otherFiles.length++] = "docs/titagline.gif";
+
+    /* Add the MMCSD Software Manifest to the package */
+    Pkg.otherFiles[Pkg.otherFiles.length++] = "docs/MMCSD_LLD_SoftwareManifest.pdf";
+
+    /* Add the HTML documentation to the package */
+    Pkg.otherFiles[Pkg.otherFiles.length++] = "docs/doxygen";
+
+    /* Add the release notes to the package */
+    Pkg.otherFiles[Pkg.otherFiles.length++] = "docs/ReleaseNotes_MMCSD_LLD.pdf";
+
+    /* Generate the ECLIPSE Plugin Generation: Only for SETUP Releases. */
+    if (driverInstallType == "SETUP")
+    {
+        Pkg.makePrologue += "all: eclipse_plugin_generation\n";
+        Pkg.makePrologue += "eclipse_plugin_generation:\n";
+        Pkg.makePrologue += "\t @echo ----------------------------\n";
+        Pkg.makePrologue += "\t @echo MMCSD Eclipse Plugin Generation\n";
+        Pkg.makePrologue += "\t xs xdc.tools.eclipsePluginGen -o . -x ./eclipseDocs/sample.xml -c ./eclipseDocs/toc_cdoc_sample.xml\n";
+        Pkg.makePrologue += "\t @echo MMCSD Eclipse Plugin Generated \n";
+        Pkg.makePrologue += "\t @echo ----------------------------\n";
+    }
+}
+
diff --git a/packages/ti/drv/mmcsd/docs/ReleaseNotes_MMCSD_LLD.doc b/packages/ti/drv/mmcsd/docs/ReleaseNotes_MMCSD_LLD.doc
new file mode 100644 (file)
index 0000000..3713b7f
Binary files /dev/null and b/packages/ti/drv/mmcsd/docs/ReleaseNotes_MMCSD_LLD.doc differ
diff --git a/packages/ti/drv/mmcsd/docs/ReleaseNotes_MMCSD_LLD.pdf b/packages/ti/drv/mmcsd/docs/ReleaseNotes_MMCSD_LLD.pdf
new file mode 100644 (file)
index 0000000..c9c3055
Binary files /dev/null and b/packages/ti/drv/mmcsd/docs/ReleaseNotes_MMCSD_LLD.pdf differ
diff --git a/packages/ti/drv/mmcsd/docs/doxyfile.xdt b/packages/ti/drv/mmcsd/docs/doxyfile.xdt
new file mode 100644 (file)
index 0000000..a944c6b
--- /dev/null
@@ -0,0 +1,268 @@
+%%{\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           = "MMCSD Low Level Driver"
+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
+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               = ..\..\mmcsdlldDocs.chm
+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/mmcsd/docs/tifooter.htm b/packages/ti/drv/mmcsd/docs/tifooter.htm
new file mode 100644 (file)
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/mmcsd/docs/tiheader.htm b/packages/ti/drv/mmcsd/docs/tiheader.htm
new file mode 100644 (file)
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/mmcsd/docs/tilogo.gif b/packages/ti/drv/mmcsd/docs/tilogo.gif
new file mode 100644 (file)
index 0000000..f2fab2d
Binary files /dev/null and b/packages/ti/drv/mmcsd/docs/tilogo.gif differ
diff --git a/packages/ti/drv/mmcsd/docs/titagline.gif b/packages/ti/drv/mmcsd/docs/titagline.gif
new file mode 100644 (file)
index 0000000..743a024
Binary files /dev/null and b/packages/ti/drv/mmcsd/docs/titagline.gif differ
diff --git a/packages/ti/drv/mmcsd/example/Module.xs b/packages/ti/drv/mmcsd/example/Module.xs
new file mode 100644 (file)
index 0000000..9379774
--- /dev/null
@@ -0,0 +1,57 @@
+/******************************************************************************
+ * FILE PURPOSE: MMCSD LLD example files.
+ ******************************************************************************
+ * FILE NAME: module.xs
+ *
+ * DESCRIPTION: 
+ *  This file contains the module specification for MMCSD LLD example files.
+ *
+ * Copyright (C) 2009, Texas Instruments, Inc.
+ *****************************************************************************/
+
+/* Load the library utility. */
+var libUtility = xdc.loadCapsule ("../build/buildlib.xs");
+
+/**************************************************************************
+ * FUNCTION NAME : modBuild
+ **************************************************************************
+ * DESCRIPTION   :
+ *  The function is used to add all the source files in the example 
+ *  directory into the package.
+ **************************************************************************/
+function modBuild() 
+{
+    /* Add all the .c files to the release package. */
+    var exampleFiles = libUtility.listAllFiles (".c", "example", true);
+    for (var k = 0 ; k < exampleFiles.length; k++)
+        Pkg.otherFiles[Pkg.otherFiles.length++] = exampleFiles[k];
+
+    /* Add all the .h files to the release package. */
+    var exampleFiles = libUtility.listAllFiles (".h", "example", true);
+    for (var k = 0 ; k < exampleFiles.length; k++)
+        Pkg.otherFiles[Pkg.otherFiles.length++] = exampleFiles[k];
+
+    /* Add all the .cmd files to the release package. */
+    var exampleFiles = libUtility.listAllFiles (".cmd", "example", true);
+    for (var k = 0 ; k < exampleFiles.length; k++)
+        Pkg.otherFiles[Pkg.otherFiles.length++] = exampleFiles[k];
+
+    /* Add all the .cfg files to the release package. */
+    var exampleFiles = libUtility.listAllFiles (".cfg", "example", true);
+    for (var k = 0 ; k < exampleFiles.length; k++)
+        Pkg.otherFiles[Pkg.otherFiles.length++] = exampleFiles[k];
+
+    /* Add all the make files to the release package. */
+    var exampleFiles = libUtility.listAllFiles ("makefile", "example", true);
+    for (var k = 0 ; k < exampleFiles.length; k++)
+        Pkg.otherFiles[Pkg.otherFiles.length++] = exampleFiles[k];
+    /* Add the .txt to the package */
+    var exampleFiles = libUtility.listAllFiles (".txt", "example", true);
+    for (var k = 0 ; k < exampleFiles.length; k++)
+        Pkg.otherFiles[Pkg.otherFiles.length++] = exampleFiles[k];
+
+    /* Add all the .mk files to the release package. */
+    var mkFiles = libUtility.listAllFiles (".mk", "example", true);
+    for (var k = 0 ; k < mkFiles.length; k++)
+        Pkg.otherFiles[Pkg.otherFiles.length++] = mkFiles[k];
+}
diff --git a/packages/ti/drv/mmcsd/example/fatfs_console/am335x/armv7/bios/MMCSD_FatfsConsole_bbbAM335x_DMA_armExampleProject.txt b/packages/ti/drv/mmcsd/example/fatfs_console/am335x/armv7/bios/MMCSD_FatfsConsole_bbbAM335x_DMA_armExampleProject.txt
new file mode 100644 (file)
index 0000000..255ca66
--- /dev/null
@@ -0,0 +1,7 @@
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/mmcsd/example/fatfs_console/src/fs_shell_app_utils.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/mmcsd/example/fatfs_console/src/main_fatfs_console.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/uart/soc/am335x/UART_soc.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/gpio/soc/am335x/GPIO_soc.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/mmcsd/example/fatfs_console/am335x/armv7/bios/mmcsddma_bbbam335x.cfg"
+-ccs.setCompilerOptions "-c -mcpu=cortex-a8 -mtune=cortex-a8 -march=armv7-a -marm -mfloat-abi=hard  -DMMCSD_EDMA_ENABLED -DSOC_AM335x -DbbbAM335x -g -gstrict-dwarf -Wall -MMD -MP -I${PDK_INSTALL_PATH}/ti/drv/mmcsd "  -rtsc.enableRtsc
+-ccs.setLinkerOptions " -lrdimon -lgcc -lm -lnosys -nostartfiles -static -Wl,--gc-sections  "
diff --git a/packages/ti/drv/mmcsd/example/fatfs_console/am335x/armv7/bios/MMCSD_FatfsConsole_bbbAM335x_armExampleProject.txt b/packages/ti/drv/mmcsd/example/fatfs_console/am335x/armv7/bios/MMCSD_FatfsConsole_bbbAM335x_armExampleProject.txt
new file mode 100644 (file)
index 0000000..0bc68b3
--- /dev/null
@@ -0,0 +1,7 @@
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/mmcsd/example/fatfs_console/src/fs_shell_app_utils.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/mmcsd/example/fatfs_console/src/main_fatfs_console.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/uart/soc/am335x/UART_soc.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/gpio/soc/am335x/GPIO_soc.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/mmcsd/example/fatfs_console/am335x/armv7/bios/mmcsd_bbbam335x.cfg"
+-ccs.setCompilerOptions "-c -mcpu=cortex-a8 -mtune=cortex-a8 -march=armv7-a -marm -mfloat-abi=hard  -DSOC_AM335x -DbbbAM335x -g -gstrict-dwarf -Wall -MMD -MP -I${PDK_INSTALL_PATH}/ti/drv/mmcsd "  -rtsc.enableRtsc
+-ccs.setLinkerOptions " -lrdimon -lgcc -lm -lnosys -nostartfiles -static -Wl,--gc-sections  "
diff --git a/packages/ti/drv/mmcsd/example/fatfs_console/am335x/armv7/bios/MMCSD_FatfsConsole_evmAM335x_DMA_armExampleProject.txt b/packages/ti/drv/mmcsd/example/fatfs_console/am335x/armv7/bios/MMCSD_FatfsConsole_evmAM335x_DMA_armExampleProject.txt
new file mode 100644 (file)
index 0000000..abfcdc5
--- /dev/null
@@ -0,0 +1,7 @@
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/mmcsd/example/fatfs_console/src/fs_shell_app_utils.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/mmcsd/example/fatfs_console/src/main_fatfs_console.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/uart/soc/am335x/UART_soc.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/gpio/soc/am335x/GPIO_soc.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/mmcsd/example/fatfs_console/am335x/armv7/bios/mmcsddma_evm.cfg"
+-ccs.setCompilerOptions "-c -mcpu=cortex-a8 -mtune=cortex-a8 -march=armv7-a -marm -mfloat-abi=hard  -DMMCSD_EDMA_ENABLED -DSOC_AM335x -DevmAM335x -g -gstrict-dwarf -Wall -MMD -MP -I${PDK_INSTALL_PATH}/ti/drv/mmcsd "  -rtsc.enableRtsc
+-ccs.setLinkerOptions " -lrdimon -lgcc -lm -lnosys -nostartfiles -static -Wl,--gc-sections  "
diff --git a/packages/ti/drv/mmcsd/example/fatfs_console/am335x/armv7/bios/MMCSD_FatfsConsole_evmAM335x_armExampleProject.txt b/packages/ti/drv/mmcsd/example/fatfs_console/am335x/armv7/bios/MMCSD_FatfsConsole_evmAM335x_armExampleProject.txt
new file mode 100644 (file)
index 0000000..97e5c51
--- /dev/null
@@ -0,0 +1,7 @@
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/mmcsd/example/fatfs_console/src/fs_shell_app_utils.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/mmcsd/example/fatfs_console/src/main_fatfs_console.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/uart/soc/am335x/UART_soc.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/gpio/soc/am335x/GPIO_soc.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/mmcsd/example/fatfs_console/am335x/armv7/bios/mmcsd_evm.cfg"
+-ccs.setCompilerOptions "-c -mcpu=cortex-a8 -mtune=cortex-a8 -march=armv7-a -marm -mfloat-abi=hard  -DSOC_AM335x -DevmAM335x -g -gstrict-dwarf -Wall -MMD -MP -I${PDK_INSTALL_PATH}/ti/drv/mmcsd "  -rtsc.enableRtsc
+-ccs.setLinkerOptions " -lrdimon -lgcc -lm -lnosys -nostartfiles -static -Wl,--gc-sections  "
diff --git a/packages/ti/drv/mmcsd/example/fatfs_console/am335x/armv7/bios/MMCSD_FatfsConsole_icev2AM335x_DMA_armExampleProject.txt b/packages/ti/drv/mmcsd/example/fatfs_console/am335x/armv7/bios/MMCSD_FatfsConsole_icev2AM335x_DMA_armExampleProject.txt
new file mode 100644 (file)
index 0000000..986d66d
--- /dev/null
@@ -0,0 +1,7 @@
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/mmcsd/example/fatfs_console/src/fs_shell_app_utils.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/mmcsd/example/fatfs_console/src/main_fatfs_console.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/uart/soc/am335x/UART_soc.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/gpio/soc/am335x/GPIO_soc.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/mmcsd/example/fatfs_console/am335x/armv7/bios/mmcsddma_icev2.cfg"
+-ccs.setCompilerOptions "-c -mcpu=cortex-a8 -mtune=cortex-a8 -march=armv7-a -marm -mfloat-abi=hard  -DMMCSD_EDMA_ENABLED -DSOC_AM335x -DevmAM335x -g -gstrict-dwarf -Wall -MMD -MP -I${PDK_INSTALL_PATH}/ti/drv/mmcsd "  -rtsc.enableRtsc
+-ccs.setLinkerOptions " -lrdimon -lgcc -lm -lnosys -nostartfiles -static -Wl,--gc-sections  "
diff --git a/packages/ti/drv/mmcsd/example/fatfs_console/am335x/armv7/bios/MMCSD_FatfsConsole_icev2AM335x_armExampleProject.txt b/packages/ti/drv/mmcsd/example/fatfs_console/am335x/armv7/bios/MMCSD_FatfsConsole_icev2AM335x_armExampleProject.txt
new file mode 100644 (file)
index 0000000..2cb2fb2
--- /dev/null
@@ -0,0 +1,7 @@
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/mmcsd/example/fatfs_console/src/fs_shell_app_utils.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/mmcsd/example/fatfs_console/src/main_fatfs_console.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/uart/soc/am335x/UART_soc.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/gpio/soc/am335x/GPIO_soc.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/mmcsd/example/fatfs_console/am335x/armv7/bios/mmcsd_icev2.cfg"
+-ccs.setCompilerOptions "-c -mcpu=cortex-a8 -mtune=cortex-a8 -march=armv7-a -marm -mfloat-abi=hard  -DSOC_AM335x -DevmAM335x -g -gstrict-dwarf -Wall -MMD -MP -I${PDK_INSTALL_PATH}/ti/drv/mmcsd "  -rtsc.enableRtsc
+-ccs.setLinkerOptions " -lrdimon -lgcc -lm -lnosys -nostartfiles -static -Wl,--gc-sections  "
diff --git a/packages/ti/drv/mmcsd/example/fatfs_console/am335x/armv7/bios/MMCSD_FatfsConsole_skAM335x_DMA_armExampleProject.txt b/packages/ti/drv/mmcsd/example/fatfs_console/am335x/armv7/bios/MMCSD_FatfsConsole_skAM335x_DMA_armExampleProject.txt
new file mode 100644 (file)
index 0000000..ead2456
--- /dev/null
@@ -0,0 +1,7 @@
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/mmcsd/example/fatfs_console/src/fs_shell_app_utils.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/mmcsd/example/fatfs_console/src/main_fatfs_console.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/uart/soc/am335x/UART_soc.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/gpio/soc/am335x/GPIO_soc.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/mmcsd/example/fatfs_console/am335x/armv7/bios/mmcsddma_skam335x.cfg"
+-ccs.setCompilerOptions "-c -mcpu=cortex-a8 -mtune=cortex-a8 -march=armv7-a -marm -mfloat-abi=hard  -DMMCSD_EDMA_ENABLED -DSOC_AM335x -DskAM335x -g -gstrict-dwarf -Wall -MMD -MP -I${PDK_INSTALL_PATH}/ti/drv/mmcsd "  -rtsc.enableRtsc
+-ccs.setLinkerOptions " -lrdimon -lgcc -lm -lnosys -nostartfiles -static -Wl,--gc-sections  "
diff --git a/packages/ti/drv/mmcsd/example/fatfs_console/am335x/armv7/bios/MMCSD_FatfsConsole_skAM335x_armExampleProject.txt b/packages/ti/drv/mmcsd/example/fatfs_console/am335x/armv7/bios/MMCSD_FatfsConsole_skAM335x_armExampleProject.txt
new file mode 100644 (file)
index 0000000..7b8ef10
--- /dev/null
@@ -0,0 +1,7 @@
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/mmcsd/example/fatfs_console/src/fs_shell_app_utils.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/mmcsd/example/fatfs_console/src/main_fatfs_console.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/uart/soc/am335x/UART_soc.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/gpio/soc/am335x/GPIO_soc.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/mmcsd/example/fatfs_console/am335x/armv7/bios/mmcsd_skam335x.cfg"
+-ccs.setCompilerOptions "-c -mcpu=cortex-a8 -mtune=cortex-a8 -march=armv7-a -marm -mfloat-abi=hard  -DSOC_AM335x -DskAM335x -g -gstrict-dwarf -Wall -MMD -MP -I${PDK_INSTALL_PATH}/ti/drv/mmcsd "  -rtsc.enableRtsc
+-ccs.setLinkerOptions " -lrdimon -lgcc -lm -lnosys -nostartfiles -static -Wl,--gc-sections  "
diff --git a/packages/ti/drv/mmcsd/example/fatfs_console/am335x/armv7/bios/mmcsd_bbbam335x.cfg b/packages/ti/drv/mmcsd/example/fatfs_console/am335x/armv7/bios/mmcsd_bbbam335x.cfg
new file mode 100644 (file)
index 0000000..f9b6140
--- /dev/null
@@ -0,0 +1,214 @@
+/**
+ *  \file   mmcsd_bbbam335x.cfg
+ *
+ *  \brief  Sysbios config file for mmcsd 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 ================ */
+var socType          = "am335x";
+/*use CSL package*/
+var Csl = xdc.loadPackage('ti.csl');
+Csl.Settings.deviceType = socType;
+
+/* Load the Osal package */
+var osType           = "tirtos";
+var Osal             = xdc.loadPackage('ti.osal');
+Osal.Settings.osType = osType;
+Osal.Settings.socType = socType;
+/* Load the spi package */
+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";
+
+/* Load the uart package */
+var UartPackage = xdc.loadPackage('ti.drv.uart');
+
+/* Load the MMCSD package */
+var Mmcsd             = xdc.loadPackage('ti.drv.mmcsd');
+Mmcsd.Settings.socType = socType;
+
+/* Load the fatfs package */
+var Fatfs = xdc.loadPackage('ti.fs.fatfs');
+
+/* Load the GPIO package */
+var GPIO = xdc.loadPackage('ti.drv.gpio');
+
+/* ================ 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/mmcsd/example/fatfs_console/am335x/armv7/bios/mmcsd_evm.cfg b/packages/ti/drv/mmcsd/example/fatfs_console/am335x/armv7/bios/mmcsd_evm.cfg
new file mode 100644 (file)
index 0000000..f1fb63f
--- /dev/null
@@ -0,0 +1,214 @@
+/**
+ *  \file   mmcsd_evm.cfg
+ *
+ *  \brief  Sysbios config file for mmcsd 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 ================ */
+var socType          = "am335x";
+/*use CSL package*/
+var Csl = xdc.loadPackage('ti.csl');
+Csl.Settings.deviceType = socType;
+
+/* Load the Osal package */
+var osType           = "tirtos";
+var Osal             = xdc.loadPackage('ti.osal');
+Osal.Settings.osType = osType;
+Osal.Settings.socType = socType;
+/* Load the spi package */
+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";
+
+/* Load the uart package */
+var UartPackage = xdc.loadPackage('ti.drv.uart');
+
+/* Load the MMCSD package */
+var Mmcsd             = xdc.loadPackage('ti.drv.mmcsd');
+Mmcsd.Settings.socType = socType;
+
+/* Load the fatfs package */
+var Fatfs = xdc.loadPackage('ti.fs.fatfs');
+
+/* Load the GPIO package */
+var GPIO = xdc.loadPackage('ti.drv.gpio');
+
+/* ================ 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/mmcsd/example/fatfs_console/am335x/armv7/bios/mmcsd_icev2.cfg b/packages/ti/drv/mmcsd/example/fatfs_console/am335x/armv7/bios/mmcsd_icev2.cfg
new file mode 100644 (file)
index 0000000..2eb1e39
--- /dev/null
@@ -0,0 +1,214 @@
+/**
+ *  \file   mmcsd_icev2.cfg
+ *
+ *  \brief  Sysbios config file for mmcsd 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 ================ */
+var socType          = "am335x";
+/*use CSL package*/
+var Csl = xdc.loadPackage('ti.csl');
+Csl.Settings.deviceType = socType;
+
+/* Load the Osal package */
+var osType           = "tirtos";
+var Osal             = xdc.loadPackage('ti.osal');
+Osal.Settings.osType = osType;
+Osal.Settings.socType = socType;
+/* Load the spi package */
+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";
+
+/* Load the uart package */
+var UartPackage = xdc.loadPackage('ti.drv.uart');
+
+/* Load the MMCSD package */
+var Mmcsd             = xdc.loadPackage('ti.drv.mmcsd');
+Mmcsd.Settings.socType = socType;
+
+/* Load the fatfs package */
+var Fatfs = xdc.loadPackage('ti.fs.fatfs');
+
+/* Load the GPIO package */
+var GPIO = xdc.loadPackage('ti.drv.gpio');
+
+/* ================ 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/mmcsd/example/fatfs_console/am335x/armv7/bios/mmcsd_skam335x.cfg b/packages/ti/drv/mmcsd/example/fatfs_console/am335x/armv7/bios/mmcsd_skam335x.cfg
new file mode 100644 (file)
index 0000000..139f4e6
--- /dev/null
@@ -0,0 +1,214 @@
+/**
+ *  \file   mmcsd_skam335x.cfg
+ *
+ *  \brief  Sysbios config file for mmcsd 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 ================ */
+var socType          = "am335x";
+/*use CSL package*/
+var Csl = xdc.loadPackage('ti.csl');
+Csl.Settings.deviceType = socType;
+
+/* Load the Osal package */
+var osType           = "tirtos";
+var Osal             = xdc.loadPackage('ti.osal');
+Osal.Settings.osType = osType;
+Osal.Settings.socType = socType;
+/* Load the spi package */
+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";
+
+/* Load the uart package */
+var UartPackage = xdc.loadPackage('ti.drv.uart');
+
+/* Load the MMCSD package */
+var Mmcsd             = xdc.loadPackage('ti.drv.mmcsd');
+Mmcsd.Settings.socType = socType;
+
+/* Load the fatfs package */
+var Fatfs = xdc.loadPackage('ti.fs.fatfs');
+
+/* Load the GPIO package */
+var GPIO = xdc.loadPackage('ti.drv.gpio');
+
+/* ================ 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/mmcsd/example/fatfs_console/am335x/armv7/bios/mmcsddma_bbbam335x.cfg b/packages/ti/drv/mmcsd/example/fatfs_console/am335x/armv7/bios/mmcsddma_bbbam335x.cfg
new file mode 100644 (file)
index 0000000..4d2cbf4
--- /dev/null
@@ -0,0 +1,231 @@
+/**
+ *  \file   mmcsddma_bbbam335x.cfg
+ *
+ *  \brief  Sysbios config file for MMCSD DMA example project on AM335x
+ *          BegleBone.
+ *
+ */
+
+/*
+ * 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 EDMA package */
+var Edma               = xdc.loadPackage ("ti.sdo.edma3.drv.sample");
+var drv                        = xdc.loadPackage ("ti.sdo.edma3.drv");
+var rm                 = xdc.loadPackage ("ti.sdo.edma3.rm");
+
+var socType          = "am335x";
+/*use CSL package*/
+var Csl = xdc.loadPackage('ti.csl');
+Csl.Settings.deviceType = socType;
+
+/* Load the Osal package */
+var osType           = "tirtos";
+var Osal             = xdc.loadPackage('ti.osal');
+Osal.Settings.osType = osType;
+Osal.Settings.socType = socType;
+/* Load the spi package */
+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";
+
+/* Load the GPIO package */
+var GPIO = xdc.loadPackage('ti.drv.gpio');
+
+/* Load the uart package */
+var UartPackage = xdc.loadPackage('ti.drv.uart');
+
+/* Load the MMCSD package */
+var Mmcsd             = xdc.loadPackage('ti.drv.mmcsd');
+Mmcsd.Settings.useDma = "true";
+Mmcsd.Settings.socType = socType;
+
+/* Load the fatfs package */
+var Fatfs = xdc.loadPackage('ti.fs.fatfs');
+
+
+/* ================ 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);
+
+                          
+/* Define the base address of the 1 Meg page the peripheral resides in. */
+var peripheralBaseAddr = 0x49000000;
+
+/* Configure the corresponding MMU page descriptor accordingly */
+Mmu.setFirstLevelDescMeta(peripheralBaseAddr,
+                          peripheralBaseAddr,
+                          peripheralAttrs);
+                                                                               
diff --git a/packages/ti/drv/mmcsd/example/fatfs_console/am335x/armv7/bios/mmcsddma_evm.cfg b/packages/ti/drv/mmcsd/example/fatfs_console/am335x/armv7/bios/mmcsddma_evm.cfg
new file mode 100644 (file)
index 0000000..6fa9f82
--- /dev/null
@@ -0,0 +1,230 @@
+/**
+ *  \file   mmcsddma_evm.cfg
+ *
+ *  \brief  Sysbios config file for MMCSD DMA 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 EDMA package */
+var Edma               = xdc.loadPackage ("ti.sdo.edma3.drv.sample");
+var drv                        = xdc.loadPackage ("ti.sdo.edma3.drv");
+var rm                 = xdc.loadPackage ("ti.sdo.edma3.rm");
+var socType          = "am335x";
+/*use CSL package*/
+var Csl = xdc.loadPackage('ti.csl');
+Csl.Settings.deviceType = socType;
+
+/* Load the Osal package */
+var osType           = "tirtos";
+var Osal             = xdc.loadPackage('ti.osal');
+Osal.Settings.osType = osType;
+Osal.Settings.socType = socType;
+/* Load the spi package */
+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";
+
+/* Load the GPIO package */
+var GPIO = xdc.loadPackage('ti.drv.gpio');
+
+/* Load the uart package */
+var UartPackage = xdc.loadPackage('ti.drv.uart');
+
+/* Load the MMCSD package */
+var Mmcsd             = xdc.loadPackage('ti.drv.mmcsd');
+Mmcsd.Settings.socType = socType;
+Mmcsd.Settings.useDma = "true";
+
+/* Load the fatfs package */
+var Fatfs = xdc.loadPackage('ti.fs.fatfs');
+
+
+/* ================ 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);
+
+                          
+/* Define the base address of the 1 Meg page the peripheral resides in. */
+var peripheralBaseAddr = 0x49000000;
+
+/* Configure the corresponding MMU page descriptor accordingly */
+Mmu.setFirstLevelDescMeta(peripheralBaseAddr,
+                          peripheralBaseAddr,
+                          peripheralAttrs);
+                                                                               
diff --git a/packages/ti/drv/mmcsd/example/fatfs_console/am335x/armv7/bios/mmcsddma_icev2.cfg b/packages/ti/drv/mmcsd/example/fatfs_console/am335x/armv7/bios/mmcsddma_icev2.cfg
new file mode 100644 (file)
index 0000000..d5d262e
--- /dev/null
@@ -0,0 +1,231 @@
+/**
+ *  \file   mmcsddma_icev2.cfg
+ *
+ *  \brief  Sysbios config file for MMCSD DMA 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 EDMA package */
+var Edma               = xdc.loadPackage ("ti.sdo.edma3.drv.sample");
+var drv                        = xdc.loadPackage ("ti.sdo.edma3.drv");
+var rm                 = xdc.loadPackage ("ti.sdo.edma3.rm");
+
+var socType          = "am335x";
+/*use CSL package*/
+var Csl = xdc.loadPackage('ti.csl');
+Csl.Settings.deviceType = socType;
+
+/* Load the Osal package */
+var osType           = "tirtos";
+var Osal             = xdc.loadPackage('ti.osal');
+Osal.Settings.osType = osType;
+Osal.Settings.socType = socType;
+/* Load the spi package */
+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";
+
+/* Load the GPIO package */
+var GPIO = xdc.loadPackage('ti.drv.gpio');
+
+/* Load the uart package */
+var UartPackage = xdc.loadPackage('ti.drv.uart');
+
+/* Load the MMCSD package */
+var Mmcsd             = xdc.loadPackage('ti.drv.mmcsd');
+Mmcsd.Settings.socType = socType;
+Mmcsd.Settings.useDma = "true";
+
+/* Load the fatfs package */
+var Fatfs = xdc.loadPackage('ti.fs.fatfs');
+
+
+/* ================ 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);
+
+                          
+/* Define the base address of the 1 Meg page the peripheral resides in. */
+var peripheralBaseAddr = 0x49000000;
+
+/* Configure the corresponding MMU page descriptor accordingly */
+Mmu.setFirstLevelDescMeta(peripheralBaseAddr,
+                          peripheralBaseAddr,
+                          peripheralAttrs);
+                                                                               
diff --git a/packages/ti/drv/mmcsd/example/fatfs_console/am335x/armv7/bios/mmcsddma_skam335x.cfg b/packages/ti/drv/mmcsd/example/fatfs_console/am335x/armv7/bios/mmcsddma_skam335x.cfg
new file mode 100644 (file)
index 0000000..1b9c575
--- /dev/null
@@ -0,0 +1,231 @@
+/**
+ *  \file   mmcsddma_skam335x.cfg
+ *
+ *  \brief  Sysbios config file for MMCSD DMA 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 EDMA package */
+var Edma               = xdc.loadPackage ("ti.sdo.edma3.drv.sample");
+var drv                        = xdc.loadPackage ("ti.sdo.edma3.drv");
+var rm                 = xdc.loadPackage ("ti.sdo.edma3.rm");
+
+var socType           = "am335x";
+/*use CSL package*/
+var Csl = xdc.loadPackage('ti.csl');
+Csl.Settings.deviceType = socType;
+
+/* Load the Osal package */
+var osType           = "tirtos";
+var Osal             = xdc.loadPackage('ti.osal');
+Osal.Settings.osType = osType;
+Osal.Settings.socType = socType;
+/* Load the spi package */
+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";
+
+/* Load the GPIO package */
+var GPIO = xdc.loadPackage('ti.drv.gpio');
+
+/* Load the uart package */
+var UartPackage = xdc.loadPackage('ti.drv.uart');
+
+/* Load the MMCSD package */
+var Mmcsd             = xdc.loadPackage('ti.drv.mmcsd');
+Mmcsd.Settings.socType = socType;
+Mmcsd.Settings.useDma = "true";
+
+/* Load the fatfs package */
+var Fatfs = xdc.loadPackage('ti.fs.fatfs');
+
+
+/* ================ 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);
+
+                          
+/* Define the base address of the 1 Meg page the peripheral resides in. */
+var peripheralBaseAddr = 0x49000000;
+
+/* Configure the corresponding MMU page descriptor accordingly */
+Mmu.setFirstLevelDescMeta(peripheralBaseAddr,
+                          peripheralBaseAddr,
+                          peripheralAttrs);
+                                                                               
diff --git a/packages/ti/drv/mmcsd/example/fatfs_console/am437x/armv7/bios/MMCSD_FatfsConsole_evmAM437x_DMA_armExampleProject.txt b/packages/ti/drv/mmcsd/example/fatfs_console/am437x/armv7/bios/MMCSD_FatfsConsole_evmAM437x_DMA_armExampleProject.txt
new file mode 100644 (file)
index 0000000..98ca4d1
--- /dev/null
@@ -0,0 +1,7 @@
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/mmcsd/example/fatfs_console/src/fs_shell_app_utils.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/mmcsd/example/fatfs_console/src/main_fatfs_console.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/uart/soc/am437x/UART_soc.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/gpio/soc/am437x/GPIO_soc.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/mmcsd/example/fatfs_console/am437x/armv7/bios/mmcsddma_evm.cfg"
+-ccs.setCompilerOptions "-c -mcpu=cortex-a9 -mtune=cortex-a9 -march=armv7-a -marm -mfloat-abi=hard -DMMCSD_EDMA_ENABLED -DSOC_AM437x -DevmAM437x -g -gstrict-dwarf -Wall -MMD -MP -I${PDK_INSTALL_PATH}/ti/drv/mmcsd "  -rtsc.enableRtsc
+-ccs.setLinkerOptions " -lrdimon -lgcc -lm -lnosys -nostartfiles -static -Wl,--gc-sections "
diff --git a/packages/ti/drv/mmcsd/example/fatfs_console/am437x/armv7/bios/MMCSD_FatfsConsole_evmAM437x_armExampleProject.txt b/packages/ti/drv/mmcsd/example/fatfs_console/am437x/armv7/bios/MMCSD_FatfsConsole_evmAM437x_armExampleProject.txt
new file mode 100644 (file)
index 0000000..fa48b4f
--- /dev/null
@@ -0,0 +1,7 @@
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/mmcsd/example/fatfs_console/src/fs_shell_app_utils.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/mmcsd/example/fatfs_console/src/main_fatfs_console.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/uart/soc/am437x/UART_soc.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/gpio/soc/am437x/GPIO_soc.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/mmcsd/example/fatfs_console/am437x/armv7/bios/mmcsd_evm.cfg"
+-ccs.setCompilerOptions "-c -mcpu=cortex-a9 -mtune=cortex-a9 -march=armv7-a -marm -mfloat-abi=hard -DSOC_AM437x -DevmAM437x -g -gstrict-dwarf -Wall -MMD -MP -I${PDK_INSTALL_PATH}/ti/drv/mmcsd "  -rtsc.enableRtsc
+-ccs.setLinkerOptions " -lrdimon -lgcc -lm -lnosys -nostartfiles -static -Wl,--gc-sections "
diff --git a/packages/ti/drv/mmcsd/example/fatfs_console/am437x/armv7/bios/MMCSD_FatfsConsole_idkAM437x_DMA_armExampleProject.txt b/packages/ti/drv/mmcsd/example/fatfs_console/am437x/armv7/bios/MMCSD_FatfsConsole_idkAM437x_DMA_armExampleProject.txt
new file mode 100644 (file)
index 0000000..698fe0d
--- /dev/null
@@ -0,0 +1,7 @@
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/mmcsd/example/fatfs_console/src/fs_shell_app_utils.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/mmcsd/example/fatfs_console/src/main_fatfs_console.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/uart/soc/am437x/UART_soc.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/gpio/soc/am437x/GPIO_soc.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/mmcsd/example/fatfs_console/am437x/armv7/bios/mmcsddma_idk.cfg"
+-ccs.setCompilerOptions "-c -mcpu=cortex-a9 -mtune=cortex-a9 -march=armv7-a -marm -mfloat-abi=hard -DMMCSD_EDMA_ENABLED -DSOC_AM437x -DidkAM437x -g -gstrict-dwarf -Wall -MMD -MP -I${PDK_INSTALL_PATH}/ti/drv/mmcsd "  -rtsc.enableRtsc
+-ccs.setLinkerOptions " -lrdimon -lgcc -lm -lnosys -nostartfiles -static -Wl,--gc-sections "
diff --git a/packages/ti/drv/mmcsd/example/fatfs_console/am437x/armv7/bios/MMCSD_FatfsConsole_idkAM437x_armExampleProject.txt b/packages/ti/drv/mmcsd/example/fatfs_console/am437x/armv7/bios/MMCSD_FatfsConsole_idkAM437x_armExampleProject.txt
new file mode 100644 (file)
index 0000000..f610c43
--- /dev/null
@@ -0,0 +1,7 @@
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/mmcsd/example/fatfs_console/src/fs_shell_app_utils.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/mmcsd/example/fatfs_console/src/main_fatfs_console.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/uart/soc/am437x/UART_soc.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/gpio/soc/am437x/GPIO_soc.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/mmcsd/example/fatfs_console/am437x/armv7/bios/mmcsd_idk.cfg"
+-ccs.setCompilerOptions "-c -mcpu=cortex-a9 -mtune=cortex-a9 -march=armv7-a -marm -mfloat-abi=hard -DSOC_AM437x -DidkAM437x -g -gstrict-dwarf -Wall -MMD -MP -I${PDK_INSTALL_PATH}/ti/drv/mmcsd "  -rtsc.enableRtsc
+-ccs.setLinkerOptions " -lrdimon -lgcc -lm -lnosys -nostartfiles -static -Wl,--gc-sections "
diff --git a/packages/ti/drv/mmcsd/example/fatfs_console/am437x/armv7/bios/MMCSD_FatfsConsole_skAM437x_DMA_armExampleProject.txt b/packages/ti/drv/mmcsd/example/fatfs_console/am437x/armv7/bios/MMCSD_FatfsConsole_skAM437x_DMA_armExampleProject.txt
new file mode 100644 (file)
index 0000000..a51f151
--- /dev/null
@@ -0,0 +1,7 @@
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/mmcsd/example/fatfs_console/src/fs_shell_app_utils.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/mmcsd/example/fatfs_console/src/main_fatfs_console.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/uart/soc/am437x/UART_soc.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/gpio/soc/am437x/GPIO_soc.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/mmcsd/example/fatfs_console/am437x/armv7/bios/mmcsddma_skam437x.cfg"
+-ccs.setCompilerOptions "-c -mcpu=cortex-a9 -mtune=cortex-a9 -march=armv7-a -marm -mfloat-abi=hard -DMMCSD_EDMA_ENABLED -DSOC_AM437x -DskAM437x -g -gstrict-dwarf -Wall -MMD -MP -I${PDK_INSTALL_PATH}/ti/drv/mmcsd "  -rtsc.enableRtsc
+-ccs.setLinkerOptions " -lrdimon -lgcc -lm -lnosys -nostartfiles -static -Wl,--gc-sections "
diff --git a/packages/ti/drv/mmcsd/example/fatfs_console/am437x/armv7/bios/MMCSD_FatfsConsole_skAM437x_armExampleProject.txt b/packages/ti/drv/mmcsd/example/fatfs_console/am437x/armv7/bios/MMCSD_FatfsConsole_skAM437x_armExampleProject.txt
new file mode 100644 (file)
index 0000000..4c6471c
--- /dev/null
@@ -0,0 +1,7 @@
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/mmcsd/example/fatfs_console/src/fs_shell_app_utils.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/mmcsd/example/fatfs_console/src/main_fatfs_console.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/uart/soc/am437x/UART_soc.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/gpio/soc/am437x/GPIO_soc.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/mmcsd/example/fatfs_console/am437x/armv7/bios/mmcsd_skam437x.cfg"
+-ccs.setCompilerOptions "-c -mcpu=cortex-a9 -mtune=cortex-a9 -march=armv7-a -marm -mfloat-abi=hard -DSOC_AM437x -DskAM437x -g -gstrict-dwarf -Wall -MMD -MP -I${PDK_INSTALL_PATH}/ti/drv/mmcsd "  -rtsc.enableRtsc
+-ccs.setLinkerOptions " -lrdimon -lgcc -lm -lnosys -nostartfiles -static -Wl,--gc-sections "
diff --git a/packages/ti/drv/mmcsd/example/fatfs_console/am437x/armv7/bios/mmcsd_evm.cfg b/packages/ti/drv/mmcsd/example/fatfs_console/am437x/armv7/bios/mmcsd_evm.cfg
new file mode 100644 (file)
index 0000000..821d783
--- /dev/null
@@ -0,0 +1,218 @@
+/**
+ *  \file   mmcsd_evm.cfg
+ *
+ *  \brief  Sysbios config file for MMCSD 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 ================ */
+var socType           = "am437x";
+/*use CSL package*/
+var Csl = xdc.loadPackage('ti.csl');
+Csl.Settings.deviceType = socType;
+
+
+/* Load the Osal package */
+var osType           = "tirtos";
+var Osal             = xdc.loadPackage('ti.osal');
+Osal.Settings.osType = osType;
+Osal.Settings.socType = socType;
+/* Load the mmcsd package */
+var Mmcsd             = xdc.loadPackage('ti.drv.mmcsd');
+Mmcsd.Settings.socType = socType;
+
+/* Load the I2C package required by board */
+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";
+
+/* Load the fatfs package */
+var Fatfs = xdc.loadPackage('ti.fs.fatfs');
+
+/* Load the GPIO package */
+var GPIO = xdc.loadPackage('ti.drv.gpio');
+
+var UARTPackage = xdc.loadPackage('ti.drv.uart');
+
+
+/* ================ 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);
+                          
+var peripheralBaseAddr = 0x44e0b000;
+
+/* Configure the corresponding MMU page descriptor accordingly */
+Mmu.setFirstLevelDescMeta(peripheralBaseAddr,
+                          peripheralBaseAddr,
+                          peripheralAttrs);
+
diff --git a/packages/ti/drv/mmcsd/example/fatfs_console/am437x/armv7/bios/mmcsd_idk.cfg b/packages/ti/drv/mmcsd/example/fatfs_console/am437x/armv7/bios/mmcsd_idk.cfg
new file mode 100644 (file)
index 0000000..0fb43fa
--- /dev/null
@@ -0,0 +1,224 @@
+/**
+ *  \file   mmcsd_idk.cfg
+ *
+ *  \brief  Sysbios config file for MMCSD 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 ================ */
+var socType           = "am437x";
+/*use CSL package*/
+var Csl = xdc.loadPackage('ti.csl');
+Csl.Settings.deviceType = socType;
+
+
+/* Load the Osal package */
+var osType           = "tirtos";
+var Osal             = xdc.loadPackage('ti.osal');
+Osal.Settings.osType = osType;
+Osal.Settings.socType = socType;
+/* Load the I2C package */
+var I2C = xdc.loadPackage('ti.drv.i2c');
+I2C.Settings.socType  = socType;
+
+/* Load the mmcsd package */
+var Mmcsd             = xdc.loadPackage('ti.drv.mmcsd');
+Mmcsd.Settings.socType = socType;
+
+/* Load the I2C package required by board */
+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";
+
+
+/* Load the fatfs package */
+var Fatfs = xdc.loadPackage('ti.fs.fatfs');
+
+/* Load the GPIO package */
+var GPIO = xdc.loadPackage('ti.drv.gpio');
+
+var UARTPackage = xdc.loadPackage('ti.drv.uart');
+
+
+/* ================ 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);
+                          
+var peripheralBaseAddr = 0x44e0b000;
+
+/* Configure the corresponding MMU page descriptor accordingly */
+Mmu.setFirstLevelDescMeta(peripheralBaseAddr,
+                          peripheralBaseAddr,
+                          peripheralAttrs);
+
diff --git a/packages/ti/drv/mmcsd/example/fatfs_console/am437x/armv7/bios/mmcsd_skam437x.cfg b/packages/ti/drv/mmcsd/example/fatfs_console/am437x/armv7/bios/mmcsd_skam437x.cfg
new file mode 100644 (file)
index 0000000..29fd69a
--- /dev/null
@@ -0,0 +1,226 @@
+/**
+ *  \file   mmcsd_skam437x.cfg
+ *
+ *  \brief  Sysbios config file for MMCSD example project on AM437x 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 = 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 ================ */
+var socType           = "am437x";
+/*use CSL package*/
+var Csl = xdc.loadPackage('ti.csl');
+Csl.Settings.deviceType = socType;
+
+
+/* Load the Osal package */
+var osType           = "tirtos";
+var Osal             = xdc.loadPackage('ti.osal');
+Osal.Settings.osType = osType;
+Osal.Settings.socType = socType;
+/* Load the I2C package */
+
+var I2C = xdc.loadPackage('ti.drv.i2c');
+I2C.Settings.socType  = socType;
+
+/* Load the mmcsd package */
+var socType           = "am437x";
+var Mmcsd             = xdc.loadPackage('ti.drv.mmcsd');
+Mmcsd.Settings.socType = socType;
+
+
+/* Load the i2c package */
+var I2C               = xdc.loadPackage('ti.drv.i2c');
+I2C.Settings.socType  = socType;
+
+/* Load the board package */
+var Board = xdc.loadPackage('ti.board');
+Board.Settings.boardName = "skAM437x";
+
+
+/* Load the fatfs package */
+var Fatfs = xdc.loadPackage('ti.fs.fatfs');
+
+/* Load the GPIO package */
+var GPIO = xdc.loadPackage('ti.drv.gpio');
+
+var UARTPackage = xdc.loadPackage('ti.drv.uart');
+
+
+/* ================ 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);
+                          
+var peripheralBaseAddr = 0x44e0b000;
+
+/* Configure the corresponding MMU page descriptor accordingly */
+Mmu.setFirstLevelDescMeta(peripheralBaseAddr,
+                          peripheralBaseAddr,
+                          peripheralAttrs);
+
diff --git a/packages/ti/drv/mmcsd/example/fatfs_console/am437x/armv7/bios/mmcsddma_evm.cfg b/packages/ti/drv/mmcsd/example/fatfs_console/am437x/armv7/bios/mmcsddma_evm.cfg
new file mode 100644 (file)
index 0000000..6a236fb
--- /dev/null
@@ -0,0 +1,237 @@
+/**
+ *  \file   mmcsddma_evm.cfg
+ *
+ *  \brief  Sysbios config file for MMCSD DMA 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.logsEnabled = false;
+BIOS.swiEnabled = false;
+BIOS.assertsEnabled = 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 ================ */
+
+var Edma               = xdc.loadPackage ("ti.sdo.edma3.drv.sample");
+var drv                        = xdc.loadPackage ("ti.sdo.edma3.drv");
+var rm                 = xdc.loadPackage ("ti.sdo.edma3.rm");
+
+var socType           = "am437x";
+
+/*use CSL package*/
+var Csl = xdc.loadPackage('ti.csl');
+Csl.Settings.deviceType = socType;
+
+
+/* Load the Osal package */
+var osType           = "tirtos";
+var Osal             = xdc.loadPackage('ti.osal');
+Osal.Settings.osType = osType;
+Osal.Settings.socType = socType;
+/* Load the I2C package */
+var I2C = xdc.loadPackage('ti.drv.i2c');
+I2C.Settings.socType  = socType;
+
+/* Load the mmcsd package */
+var Mmcsd             = xdc.loadPackage('ti.drv.mmcsd');
+Mmcsd.Settings.socType = socType;
+Mmcsd.Settings.useDma = "true";
+
+/* Load the I2C package required by board */
+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";
+
+
+/* Load the fatfs package */
+var Fatfs = xdc.loadPackage('ti.fs.fatfs');
+
+/* Load the GPIO package */
+var GPIO = xdc.loadPackage('ti.drv.gpio');
+
+var UARTPackage = xdc.loadPackage('ti.drv.uart');
+
+/* ================ 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);
+                          
+var peripheralBaseAddr = 0x44e0b000;
+
+/* 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 = 0x49000000;
+
+/* Configure the corresponding MMU page descriptor accordingly */
+Mmu.setFirstLevelDescMeta(peripheralBaseAddr,
+                          peripheralBaseAddr,
+                          peripheralAttrs);
diff --git a/packages/ti/drv/mmcsd/example/fatfs_console/am437x/armv7/bios/mmcsddma_idk.cfg b/packages/ti/drv/mmcsd/example/fatfs_console/am437x/armv7/bios/mmcsddma_idk.cfg
new file mode 100644 (file)
index 0000000..9a9d72a
--- /dev/null
@@ -0,0 +1,236 @@
+/**
+ *  \file   mmcsddma_idk.cfg
+ *
+ *  \brief  Sysbios config file for MMCSD DMA 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.logsEnabled = false;
+BIOS.swiEnabled = false;
+BIOS.assertsEnabled = 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 ================ */
+
+var Edma               = xdc.loadPackage ("ti.sdo.edma3.drv.sample");
+var drv                        = xdc.loadPackage ("ti.sdo.edma3.drv");
+var rm                 = xdc.loadPackage ("ti.sdo.edma3.rm");
+
+var socType           = "am437x";
+/*use CSL package*/
+var Csl = xdc.loadPackage('ti.csl');
+Csl.Settings.deviceType = socType;
+
+/* Load the Osal package */
+var osType           = "tirtos";
+var Osal             = xdc.loadPackage('ti.osal');
+Osal.Settings.osType = osType;
+Osal.Settings.socType = socType;
+/* Load the I2C package */
+
+var I2C = xdc.loadPackage('ti.drv.i2c');
+I2C.Settings.socType  = socType;
+
+/* Load the mmcsd package */
+var Mmcsd             = xdc.loadPackage('ti.drv.mmcsd');
+Mmcsd.Settings.socType = socType;
+Mmcsd.Settings.useDma = "true";
+
+/* Load the I2C package required by board */
+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";
+
+
+/* Load the fatfs package */
+var Fatfs = xdc.loadPackage('ti.fs.fatfs');
+
+/* Load the GPIO package */
+var GPIO = xdc.loadPackage('ti.drv.gpio');
+
+var UARTPackage = xdc.loadPackage('ti.drv.uart');
+
+/* ================ 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);
+                          
+var peripheralBaseAddr = 0x44e0b000;
+
+/* 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 = 0x49000000;
+
+/* Configure the corresponding MMU page descriptor accordingly */
+Mmu.setFirstLevelDescMeta(peripheralBaseAddr,
+                          peripheralBaseAddr,
+                          peripheralAttrs);
diff --git a/packages/ti/drv/mmcsd/example/fatfs_console/am437x/armv7/bios/mmcsddma_skam437x.cfg b/packages/ti/drv/mmcsd/example/fatfs_console/am437x/armv7/bios/mmcsddma_skam437x.cfg
new file mode 100644 (file)
index 0000000..b687118
--- /dev/null
@@ -0,0 +1,235 @@
+/**
+ *  \file   mmcsddma_skam437x.cfg
+ *
+ *  \brief  Sysbios config file for MMCSD DMA example project on AM437x 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.logsEnabled = false;
+BIOS.swiEnabled = false;
+BIOS.assertsEnabled = 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 ================ */
+
+var Edma               = xdc.loadPackage ("ti.sdo.edma3.drv.sample");
+var drv                        = xdc.loadPackage ("ti.sdo.edma3.drv");
+var rm                 = xdc.loadPackage ("ti.sdo.edma3.rm");
+
+var socType           = "am437x";
+/*use CSL package*/
+var Csl = xdc.loadPackage('ti.csl');
+Csl.Settings.deviceType = socType;
+
+/* Load the Osal package */
+var osType           = "tirtos";
+var Osal             = xdc.loadPackage('ti.osal');
+Osal.Settings.osType = osType;
+Osal.Settings.socType = socType;
+/* Load the I2C package */
+var I2C = xdc.loadPackage('ti.drv.i2c');
+I2C.Settings.socType  = socType;
+
+/* Load the mmcsd package */
+var Mmcsd             = xdc.loadPackage('ti.drv.mmcsd');
+Mmcsd.Settings.socType = socType;
+Mmcsd.Settings.useDma = "true";
+
+/* Load the I2C package required by board */
+var I2C               = xdc.loadPackage('ti.drv.i2c');
+I2C.Settings.socType  = socType;
+
+/* Load the board package */
+var Board = xdc.loadPackage('ti.board');
+Board.Settings.boardName = "skAM437x";
+
+
+/* Load the fatfs package */
+var Fatfs = xdc.loadPackage('ti.fs.fatfs');
+
+/* Load the GPIO package */
+var GPIO = xdc.loadPackage('ti.drv.gpio');
+
+var UARTPackage = xdc.loadPackage('ti.drv.uart');
+
+/* ================ 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);
+                          
+var peripheralBaseAddr = 0x44e0b000;
+
+/* 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 = 0x49000000;
+
+/* Configure the corresponding MMU page descriptor accordingly */
+Mmu.setFirstLevelDescMeta(peripheralBaseAddr,
+                          peripheralBaseAddr,
+                          peripheralAttrs);
diff --git a/packages/ti/drv/mmcsd/example/fatfs_console/am571x/armv7/bios/MMCSD_FatfsConsole_idkAM571x_DMA_armExampleProject.txt b/packages/ti/drv/mmcsd/example/fatfs_console/am571x/armv7/bios/MMCSD_FatfsConsole_idkAM571x_DMA_armExampleProject.txt
new file mode 100644 (file)
index 0000000..3014cc1
--- /dev/null
@@ -0,0 +1,7 @@
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/mmcsd/example/fatfs_console/src/fs_shell_app_utils.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/mmcsd/example/fatfs_console/src/main_fatfs_console.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/uart/soc/am571x/UART_soc.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/gpio/soc/am571x/GPIO_soc.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/mmcsd/example/fatfs_console/am571x/armv7/bios/mmcsddma_idk.cfg"
+-ccs.setCompilerOptions "-c -mcpu=cortex-a15 -mtune=cortex-a15 -marm -mfloat-abi=hard -DDRA7xx -DMMCSD_EDMA_ENABLED -DSOC_AM571x -DidkAM571x -g -gstrict-dwarf -Wall -MMD -MP -I${PDK_INSTALL_PATH}/ti/drv/mmcsd "  -rtsc.enableRtsc
+-ccs.setLinkerOptions " -lrdimon -lgcc -lm -lnosys -nostartfiles -static -Wl,--gc-sections "
diff --git a/packages/ti/drv/mmcsd/example/fatfs_console/am571x/armv7/bios/MMCSD_FatfsConsole_idkAM571x_armExampleProject.txt b/packages/ti/drv/mmcsd/example/fatfs_console/am571x/armv7/bios/MMCSD_FatfsConsole_idkAM571x_armExampleProject.txt
new file mode 100644 (file)
index 0000000..777b045
--- /dev/null
@@ -0,0 +1,7 @@
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/mmcsd/example/fatfs_console/src/fs_shell_app_utils.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/mmcsd/example/fatfs_console/src/main_fatfs_console.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/uart/soc/am571x/UART_soc.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/gpio/soc/am571x/GPIO_soc.c"
+-ccs.linkFile "PDK_INSTALL_PATH/ti/drv/mmcsd/example/fatfs_console/am571x/armv7/bios/mmcsd_idk.cfg"
+-ccs.setCompilerOptions "-c -mcpu=cortex-a15 -mtune=cortex-a15 -marm -mfloat-abi=hard -DDRA7xx -DSOC_AM571x -DidkAM571x -g -gstrict-dwarf -Wall -MMD -MP -I${PDK_INSTALL_PATH}/ti/drv/mmcsd "  -rtsc.enableRtsc
+-ccs.setLinkerOptions " -lrdimon -lgcc -lm -lnosys -nostartfiles -static -Wl,--gc-sections "
diff --git a/packages/ti/drv/mmcsd/example/fatfs_console/am571x/armv7/bios/mmcsd_idk.cfg b/packages/ti/drv/mmcsd/example/fatfs_console/am571x/armv7/bios/mmcsd_idk.cfg
new file mode 100644 (file)
index 0000000..53e4a48
--- /dev/null
@@ -0,0 +1,253 @@
+/**
+ *  \file   mmcsd_idk.cfg
+ *
+ *  \brief  Sysbios config file for mmcsd example project on AM571X IDK EVM.
+ *
+ */
+
+/*
+ * Copyright (C) 2015-2018 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 Log = xdc.useModule('xdc.runtime.Log');
+var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
+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 ti_sysbios_family_arm_gic_Hwi = xdc.useModule('ti.sysbios.family.arm.gic.Hwi');
+var IntXbar    = xdc.useModule('ti.sysbios.family.shared.vayu.IntXbar');
+
+
+/*
+ * 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 = 0x20000;
+
+/*
+ * 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;
+ */
+
+/*
+ * 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;
+ */
+
+/*
+ * 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;
+ */
+
+/*
+ * 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;
+ */
+
+/*
+ * 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;
+ */
+
+
+/* Circular buffer size for System_printf() */
+SysMin.bufSize = 0x200;
+System.SupportProxy = SysMin;
+
+/*
+ * Create and install logger for the whole system
+ */
+var loggerBufParams = new LoggerBuf.Params();
+loggerBufParams.numEntries = 16;
+var logger0 = LoggerBuf.create(loggerBufParams);
+Defaults.common$.logger = logger0;
+Main.common$.diags_INFO = Diags.ALWAYS_ON;
+
+
+if (Program.build.target.$name.match(/gnu/)) {
+    if (Program.build.target.$name.match(/A8F/) ||
+        Program.build.target.$name.match(/A9F/) ||
+        Program.build.target.$name.match(/A15F/)) {
+        var SemiHost = xdc.useModule('ti.sysbios.rts.gnu.SemiHostSupport');
+    }
+}
+
+/* ================ BIOS configuration ================ */
+
+var BIOS = xdc.useModule('ti.sysbios.BIOS');
+/*
+ * Build a custom SYS/BIOS library from sources.
+ */
+BIOS.libType = BIOS.LibType_Custom;
+/*
+ * The BIOS module will create the default heap for the system.
+ * Specify the size of this default heap.
+ */
+BIOS.heapSize = 0x10000;
+
+/* No runtime stack checking is performed */
+Task.checkStackFlag = false;
+
+
+/* Reduce the number of task priorities */
+Task.numPriorities = 4;
+
+/* ================ Driver configuration ================ */
+
+
+var socType           = "am571x";
+
+/* Load the CSL package */
+var Csl = xdc.loadPackage('ti.csl');
+Csl.Settings.deviceType = socType;
+
+
+/* Load the Osal package */
+var osType           = "tirtos";
+var Osal             = xdc.loadPackage('ti.osal');
+Osal.Settings.osType = osType;
+Osal.Settings.socType = socType;
+/* Load the mmcsd package */
+var Mmcsd             = xdc.loadPackage('ti.drv.mmcsd');
+Mmcsd.Settings.socType = socType;
+
+/* Load the fatfs package */
+var Fatfs = xdc.loadPackage('ti.fs.fatfs');
+
+/* Load the GPIO package */
+var GPIO = xdc.loadPackage('ti.drv.gpio');
+
+/* Load the UART package */
+var UART = xdc.loadPackage('ti.drv.uart');    
+
+/* Load the I2C package */
+var I2C = xdc.loadPackage('ti.drv.i2c');    
+I2C.Settings.socType = socType;
+
+/* Load the Board package and set the board name */
+var Board = xdc.loadPackage('ti.board');
+Board.Settings.boardName = "idkAM571x";
+
+/* ================ Cache and MMU configuration ================ */
+
+var Cache1  = xdc.useModule('ti.sysbios.family.arm.a15.Cache');
+var Mmu = xdc.useModule('ti.sysbios.family.arm.a15.Mmu');
+
+/* Enable the cache                                                           */
+Cache1.enableCache = true;
+
+/* Enable the MMU (Required for L1 data caching)                              */
+Mmu.enableMMU = true;
+
+/******************************************************************************
+ *
+ * SYS/BIOS assigns the following defaults to MAIR0 ATTR0, ATTR1 and ATTR2:
+ *
+ * ATTR0 -> 0x44 (mark memory region as non-cacheable normal memory)
+ * ATTR1 -> 0x04 (mark memory region as device memory, i.e. strongly
+ * ordered and non-cacheable)
+ * ATTR2 -> 0xFF (mark memory region as normal memory, RW cacheable and
+ * RW allocate)
+ ******************************************************************************
+ */
+
+
+// descriptor attribute structure
+var attrs0 = new Mmu.DescriptorAttrs();
+
+Mmu.initDescAttrsMeta(attrs0);
+attrs0.type = Mmu.DescriptorType_BLOCK;    // BLOCK descriptor
+attrs0.shareable = 2;                      // sharerable
+attrs0.attrIndx = 1;                       // Non-cache, device memory
+attrs0.noExecute = true;                   // Not executable
+
+// Set the descriptor for each entry in the address range
+for (var i=0x40600000; i < 0x60000000; i = i + 0x00200000) {
+    // Each 'BLOCK' descriptor entry spans a 2MB address range
+    Mmu.setSecondLevelDescMeta(i, i, attrs0);
+}
+
+// descriptor attribute structure
+var attrs1 = new Mmu.DescriptorAttrs();
+
+Mmu.initDescAttrsMeta(attrs1);
+attrs1.type = Mmu.DescriptorType_BLOCK;    // BLOCK descriptor
+attrs1.shareable = 2;                      // sharerable
+attrs1.attrIndx = 2;                       // Cached, normal memory
+
+// Set the descriptor for each entry in the address range
+for (var i=0x80000000; i < 0xA0000000; i = i + 0x00200000) {
+    // Each 'BLOCK' descriptor entry spans a 2MB address range
+    Mmu.setSecondLevelDescMeta(i, i, attrs1);
+}
+
+
+/* ================ Memory sections configuration ================ */
+Program.sectMap["BOARD_IO_DELAY_DATA"] = "OCMC_RAM1";
+Program.sectMap["BOARD_IO_DELAY_CODE"] = "OCMC_RAM1";
diff --git a/packages/ti/drv/mmcsd/example/fatfs_console/am571x/armv7/bios/mmcsddma_idk.cfg b/packages/ti/drv/mmcsd/example/fatfs_console/am571x/armv7/bios/mmcsddma_idk.cfg
new file mode 100644 (file)
index 0000000..1b3143f
--- /dev/null
@@ -0,0 +1,253 @@
+/**
+ *  \file   mmcsddma_idk.cfg
+ *
+ *  \brief  Sysbios config file for mmcsd dma example project on AM571X IDK EVM.
+ *
+ */
+
+/*
+ * Copyright (C) 2015-2018 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 Log = xdc.useModule('xdc.runtime.Log');
+var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
+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 ti_sysbios_family_arm_gic_Hwi = xdc.useModule('ti.sysbios.family.arm.gic.Hwi');
+var IntXbar    = xdc.useModule('ti.sysbios.family.shared.vayu.IntXbar');
+
+/*
+ * 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 = 0x20000;
+
+/*
+ * 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;
+ */
+
+/*
+ * 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;
+ */
+
+/*
+ * 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&n