Other Parts Discussed in Thread: OMAP-L138, OMAP-L137
Hello,
I'm using a LOGIC PD L138 eXperimenter board with the following versions
on the ARM side of the OMAP-L138:
- CCS Version 4.2.1.00004
- SYS/BIOS 6.30.03.46
On the DSP side I'm using the (slightly modified) led_dip project/image contained in the 1017292B_OMAP-L138_GEL_BSL_Files_v2.3.zip from LOGIC PD.
I'm using a (also modified) spiflash project/image to program the SPI1 flash on the experimenter board. The programmed image is the output (*.h) generated with "AISgen for D800K006 Bootloader Version 1.7c".
At the end of the ARMs boot process, the following sequence is applied to release the DSP from reset:
SYSCFG_KICK0 = KICK0_ENABLE;
SYSCFG_KICK1 = KICK1_ENABLE;
SYSCFG_HOST1CFG = 0x11800000; // DSP boot address
SYSCFG_KICK0 = KICK0_DISABLE;
SYSCFG_KICK1 = KICK1_DISABLE;
while( PSC0_PTSTAT );
PSC0_MDCTL15 |= 0x0000100; // DSP release reset
Both images (DSP and ARM) are running when I'm booting from SPI1 flash.
However, what I observed is, that the Module Status Register of the DSP is indicating 0x00001D03 (ARM status is indicating 0x00001F03).
This means according SPRUGM7D on page 137 of 273: LRSTDONE for the DSP is 0: Local reset is not done.
Q1: What needs to be done resp. why does the DSP could not finish its local reset?
Below is the output for debug purposes, may be it helps.
Note, that the original gel file (downloaded from the following link) contains a bug, i.e. it does not print out all data, so I fixed it.
http://processors.wiki.ti.com/index.php/OMAP-L1x_Debug_Gel_Files
Gel Output of Run_All() function:
ARM9_0: GEL Output: ---------------------------------------------
ARM9_0: GEL Output: | Device Information |
ARM9_0: GEL Output: ---------------------------------------------
ARM9_0: GEL Output: DEV_INFO_00 = 0x1B7D102F
ARM9_0: GEL Output: DEV_INFO_01 = 0x00000000
ARM9_0: GEL Output: DEV_INFO_02 = 0x0000000C
ARM9_0: GEL Output: DEV_INFO_03 = 0x00000032
ARM9_0: GEL Output: DEV_INFO_04 = 0x00000000
ARM9_0: GEL Output: DEV_INFO_05 = 0x000003E0
ARM9_0: GEL Output: DEV_INFO_06 = 0x00000080
ARM9_0: GEL Output: DEV_INFO_07-DEV_INFO_08-DEV_INFO_09-DEV_INFO_10-DEV_INFO_11-DEV_INFO_12 = 0-0-5523007-12-52-26
ARM9_0: GEL Output: DEV_INFO_13,DEV_INFO_14,DEV_INFO_15,DEV_INFO_16 = 2,0,0,15161
ARM9_0: GEL Output: -----
ARM9_0: GEL Output: DEV_INFO_17 = 0x00030003
ARM9_0: GEL Output: DEV_INFO_18 = 0x00000000
ARM9_0: GEL Output: DEV_INFO_19 =ARM9_0: GEL Output: 0ARM9_0: GEL Output: 0ARM9_0: GEL Output: 0ARM9_0: GEL Output: 0ARM9_0: GEL Output: 0ARM9_0: GEL Output:
ARM9_0: GEL Output: -----
ARM9_0: GEL Output: DEV_INFO_20 = 0x30303864
ARM9_0: GEL Output: DEV_INFO_21 = 0x3630306B
ARM9_0: GEL Output: DEV_INFO_22 = 0x30303864
ARM9_0: GEL Output: DEV_INFO_23 = 0x3630306B
ARM9_0: GEL Output: -----
ARM9_0: GEL Output: DEV_INFO_24 = 0x0C01A034
ARM9_0: GEL Output: DEV_INFO_25 = 0x0054463F
ARM9_0: GEL Output: DEV_INFO_06 = 0x00000080
ARM9_0: GEL Output: DEV_INFO_26 = 0x76720002
ARM9_0: GEL Output:
ARM9_0: GEL Output: ---------------------------------------------
ARM9_0: GEL Output: | BOOTROM Info |
ARM9_0: GEL Output: ---------------------------------------------
ARM9_0: GEL Output: ROM ID: d800k006
ARM9_0: GEL Output: Silicon Revision 2.0
ARM9_0: GEL Output: Boot Mode: SPI1 Flash
ARM9_0: GEL Output:
ROM Status Code: 0x00000050
Description:ARM9_0: GEL Output: Error code not recognized
ARM9_0: GEL Output:
Program Counter (PC) = 0xFFFF1EEC
ARM9_0: GEL Output:
ARM9_0: GEL Output: ---------------------------------------------
ARM9_0: GEL Output: | Clock Information |
ARM9_0: GEL Output: ---------------------------------------------
ARM9_0: GEL Output:
ARM9_0: GEL Output: PLLs configured to utilize crystal.
ARM9_0: GEL Output: ASYNC3 = PLL0_SYSCLK2
ARM9_0: GEL Output:
ARM9_0: GEL Output: NOTE: All clock frequencies in following PLL sections are based
ARM9_0: GEL Output: off OSCIN = 24 MHz. If that value does not match your hardware
ARM9_0: GEL Output: you should change the #define in the top of the gel file, save it,
ARM9_0: GEL Output: and then reload.
ARM9_0: GEL Output:
ARM9_0: GEL Output: ---------------------------------------------
ARM9_0: GEL Output: | PLL0 Information |
ARM9_0: GEL Output: ---------------------------------------------
ARM9_0: GEL Output:
ARM9_0: GEL Output: PLL0_PREDIV = 12 MHz
ARM9_0: GEL Output: PLL0_PLLOUT = 300 MHz
ARM9_0: GEL Output: PLL0_PLLOUT_POSTDIV = 300 MHz
ARM9_0: GEL Output: PLL0_PLLEN = 300 MHz
ARM9_0: GEL Output: PLL0_SYSCLK1 = 300 MHz
ARM9_0: GEL Output: PLL0_SYSCLK2 = 150 MHz
ARM9_0: GEL Output: PLL0_SYSCLK3 = 25 MHz
ARM9_0: GEL Output: PLL0_SYSCLK4 = 75 MHz
ARM9_0: GEL Output: PLL0_SYSCLK5 = 300 MHz
ARM9_0: GEL Output: PLL0_SYSCLK6 = 300 MHz
ARM9_0: GEL Output: PLL0_SYSCLK7 = 50 MHz
ARM9_0: GEL Output:
ARM9_0: GEL Output: ---------------------------------------------
ARM9_0: GEL Output: | PLL1 Information |
ARM9_0: GEL Output: ---------------------------------------------
ARM9_0: GEL Output:
ARM9_0: GEL Output: PLL1_PLLOUT = 600 MHz
ARM9_0: GEL Output: PLL1_PLLOUT_POSTDIV = 150 MHz
ARM9_0: GEL Output: PLL1_PLLEN = 150 MHz
ARM9_0: GEL Output: PLL1_SYSCLK1 = 150 MHz
ARM9_0: GEL Output: PLL1_SYSCLK2 = 150 MHz
ARM9_0: GEL Output: PLL1_SYSCLK3 = 75 MHz
ARM9_0: GEL Output:
ARM9_0: GEL Output: ---------------------------------------------
ARM9_0: GEL Output: | PSC0 Information |
ARM9_0: GEL Output: ---------------------------------------------
ARM9_0: GEL Output:
ARM9_0: GEL Output: State Decoder:
ARM9_0: GEL Output: 0 = SwRstDisable (reset asserted, clock off)
ARM9_0: GEL Output: 1 = SyncReset (reset assered, clock on)
ARM9_0: GEL Output: 2 = Disable (reset de-asserted, clock off)
ARM9_0: GEL Output: 3 = Enable (reset de-asserted, clock on)
ARM9_0: GEL Output: >3 = Transition in progress
ARM9_0: GEL Output:
ARM9_0: GEL Output: Module 0: EDMA3CC (0) STATE = 0
ARM9_0: GEL Output: Module 1: EDMA3 TC0 STATE = 0
ARM9_0: GEL Output: Module 2: EDMA3 TC1 STATE = 0
ARM9_0: GEL Output: Module 3: EMIFA (BR7) STATE = 0
ARM9_0: GEL Output: Module 4: SPI 0 STATE = 0
ARM9_0: GEL Output: Module 5: MMC/SD 0 STATE = 0
ARM9_0: GEL Output: Module 6: AINTC STATE = 3
ARM9_0: GEL Output: Module 7: ARM RAM/ROM STATE = 3
ARM9_0: GEL Output: Module 9: UART 0 STATE = 0
ARM9_0: GEL Output: Module 10: SCR 0 (BR0/1/2/8) STATE = 3
ARM9_0: GEL Output: Module 11: SCR 1 (BR4) STATE = 3
ARM9_0: GEL Output: Module 12: SCR 2 (BR3/5/6) STATE = 3
ARM9_0: GEL Output: Module 13: PRUSS STATE = 0
ARM9_0: GEL Output: Module 14: ARM STATE = 3
ARM9_0: GEL Output: Module 15: DSP STATE = 3
ARM9_0: GEL Output:
ARM9_0: GEL Output: ---------------------------------------------
ARM9_0: GEL Output: | PSC1 Information |
ARM9_0: GEL Output: ---------------------------------------------
ARM9_0: GEL Output:
ARM9_0: GEL Output: State Decoder:
ARM9_0: GEL Output: 0 = SwRstDisable (reset asserted, clock off)
ARM9_0: GEL Output: 1 = SyncReset (reset assered, clock on)
ARM9_0: GEL Output: 2 = Disable (reset de-asserted, clock off)
ARM9_0: GEL Output: 3 = Enable (reset de-asserted, clock on)
ARM9_0: GEL Output: >3 = Transition in progress
ARM9_0: GEL Output:
ARM9_0: GEL Output: Module 0: EDMA3CC (1) STATE = 0
ARM9_0: GEL Output: Module 1: USB0 (2.0) STATE = 3
ARM9_0: GEL Output: Module 2: USB1 (1.1) STATE = 0
ARM9_0: GEL Output: Module 3: GPIO STATE = 3
ARM9_0: GEL Output: Module 4: UHPI STATE = 0
ARM9_0: GEL Output: Module 5: EMAC STATE = 0
ARM9_0: GEL Output: Module 6: DDR2 and SCR F3 STATE = 3
ARM9_0: GEL Output: Module 7: MCASP0 + FIFO STATE = 0
ARM9_0: GEL Output: Module 8: SATA STATE = 0
ARM9_0: GEL Output: Module 9: VPIF STATE = 0
ARM9_0: GEL Output: Module 10: SPI 1 STATE = 3
ARM9_0: GEL Output: Module 11: I2C 1 STATE = 0
ARM9_0: GEL Output: Module 12: UART 1 STATE = 0
ARM9_0: GEL Output: Module 13: UART 2 STATE = 3
ARM9_0: GEL Output: Module 14: MCBSP0 + FIFO STATE = 0
ARM9_0: GEL Output: Module 15: MCBSP1 + FIFO STATE = 0
ARM9_0: GEL Output: Module 16: LCDC STATE = 0
ARM9_0: GEL Output: Module 17: eHRPWM (all) STATE = 0
ARM9_0: GEL Output: Module 18: MMC/SD 1 STATE = 0
ARM9_0: GEL Output: Module 19: UPP STATE = 0
ARM9_0: GEL Output: Module 20: eCAP (all) STATE = 0
ARM9_0: GEL Output: Module 21: EDMA3 TC2 STATE = 0
ARM9_0: GEL Output: Module 24: SCR-F0 Br-F0 STATE = 3
ARM9_0: GEL Output: Module 25: SCR-F1 Br-F1 STATE = 3
ARM9_0: GEL Output: Module 26: SCR-F2 Br-F2 STATE = 3
ARM9_0: GEL Output: Module 27: SCR-F6 Br-F3 STATE = 3
ARM9_0: GEL Output: Module 28: SCR-F7 Br-F4 STATE = 3
ARM9_0: GEL Output: Module 29: SCR-F8 Br-F5 STATE = 3
ARM9_0: GEL Output: Module 30: Br-F7 (DDR Contr) STATE = 3
ARM9_0: GEL Output: Module 31: L3 RAM, SCR-F4, Br-F6 STATE = 3
Thanks,
Frank