;-------------------------------------------------------------------------- ; ; ; PEEDI sample target configuration file ; ; Ronetix GmbH ; ; Supported devices : Freescale i.MX28 ; ; Revision : 1.2 ; ; Date : October 11, 2012 ; ; The file is delivered "AS IS" without warranty or condition of any ; kind, either express, implied or statutory. This includes without ; limitation any warranty or condition with respect to merchantability or ; fitness for any particular purpose, or against the infringements of ; intellectual property rights of others. ; ;-------------------------------------------------------------------------- ;-------------------------------------------------------------------------- ; The following section contains licenses that are required for PEEDI to ; operate. These licenses must be filled before using this file. ; The [LICENSE] section may contain license keys for one or more PEEDIs. ; ; Example: ; [LICENSE] ; KEY = UPDATE_24MAY2012, 1111-1111-1111-1 ; KEY = XXXXX, 2222-2222-2222-2 ; ; The [LICENSE] section may point to an external file which contains ; license keys for one or more PEEDIs. The external file must include ; the text [LICENSE] followed by all keys. ; ; Example: ; [LICENSE] ; FILE = tftp://192.168.3.1/license.txt ; or ; FILE=eep:license.txt ; or ; FILE = ftp://user:password@192.168.3.1/license.txt ; ; ; PEEDI is shipped with license keys stored in "eep:license.txt" and ; printed on a label on the bottom side of PEEDI. ; [LICENSE] FILE=eep:license.txt ;-------------------------------------------------------------------------- [DEBUGGER] PROTOCOL = gdb_remote ; gdb remote REMOTE_PORT = 2000 ; TCP/IP port [TARGET] PLATFORM = ARM [PLATFORM_ARM] JTAG_CHAIN = 4 ; list of IR lenghts of all TAP controller in JTAG chain JTAG_CLOCK = 1000, 20000 ; JTAG Clock in [kHz] - 5kHz jtag clock for init operations and 1MHz for normal work TRST_TYPE = PUSHPULL ; type of TRST output: OPENDRAIN or PUSHPULL RESET_TIME = 100 ; lenght of RESET pulse in ms; 0 means no RESET CORE0 = ARM926E ; TAP 0 is ARM926E CPU CORE0_STARTUP_MODE = RESET ; startup mode after reset: ; if RESET than no code is executed after reset ; if STOP,XX then the target executes code for XX period in ms. ; if RUN then the target executes code until stopped by the telnet "halt" command CORE0_BREAKMODE = soft ; default breakpoint mode for the debugger: ; soft - use software breakpoints ; hard - use hardware breakpoints CORE0_BREAK_PATTERN = 0xDFFFDFFF ; software breakpoint pattern ;CORE0_INIT = INIT_LINUX ; Linux kernel debug init section ;CORE0_INIT = INIT_DBG_NAND ; NAND programming init section when boot is set to DEBUG CORE0_INIT = INIT_NAND ; NAND programming init section when boot is set to NAND CORE0_FLASH0 = IMX28_NAND CORE0_ENDIAN = little CORE0_WORKSPACE = 0, 0x20000 ; workspace for flash programming CORE0_PATH = "tftp://192.168.3.1" CORE0_FILE = "test.bin", BIN, 0x20000000 CORE0_VECTOR_CATCH_MASK = 0x00 ;------------------------------------------------- ; In Linux the sys base address 0xFFFFE000 is mapped to 0xFEFFE000 ;------------------------------------------------- [INIT_LINUX] break add hard 0xC00087A0 ; kernel break address got by 'nm vmlinux | grep start_kernel' ;set r0 0x4 ; boot from NAND ;set r0 0x9 ; boot from SD card go wait 10000 stop break del all beep 100 100 [INIT_NAND] break add watch 0x800042D0 w 32 set cpsr 0xd3 go 0xFFFF0000 wait 10000 stop break del all ;ECC BCH controller mem write 0x8000C064 0x00040000 ; Set BCH ECC mode mem write 0x8000A004 0x00000101 mem write 0x8000A008 0x00000101 mem write 0x8000A008 0x40000000 ; Enable Clock wait 100 mem write 0x8000A008 0x80000000 ; Clear SFTRST mem write 0x8000A020 0x00000008 mem write 0x8000A004 0x00000101 mem write 0x8000A008 0x00000101 [INIT_DBG_NAND] break add hard 0xFFFE0B00 go ; start ROM loader wait 1000 stop ; wait to break in wait for debug break del all set r0 4 ; set NAND boot break add watch 0x800042D0 w 32 go wait 10000 ; let it init for NAND boot break del all ;ECC BCH controller mem write 0x8000C064 0x00040000 ; Set BCH ECC mode mem write 0x8000A004 0x00000101 mem write 0x8000A008 0x00000101 mem write 0x8000A008 0x40000000 ; Enable Clock wait 100 mem write 0x8000A008 0x80000000 ; Clear SFTRST mem write 0x8000A020 0x00000008 mem write 0x8000A004 0x00000101 mem write 0x8000A008 0x00000101 [IMX28_NAND] CHIP = NAND_FLASH CPU = IMX28 ADDR_BASE = 0 ; Chip Select FILE = "linux.sb", BIN, 0x100000 OOB_INFO = IMX28_BCH ;BAD_BLOCKS = 133, 484, 2259, 7465 ERASE_BAD_BLOCKS= YES FCB_DATA = 0x00000000,\ ; m_u32Checksum 0x20424346,\ ; m_u32FingerPrint 0x01000000,\ ; m_u32Version 0x06193C50,\ ; m_NANDTiming1 0x00000000,\ ; m_NANDTiming2 0x00000800,\ ; m_u32PageDataSize 0x00000840,\ ; m_u32TotalPageSize 0x00000040,\ ; m_u32SectorsPerBlock 0x00000000,\ ; m_u32NumberOfNANDs 0x00000000,\ ; m_u32TotalInternalDie 0x00000000,\ ; m_u32CellType 0x00000004,\ ; m_u32EccBlockNEccType 0x00000200,\ ; m_u32EccBlock0Size 0x00000200,\ ; m_u32EccBlockNSize 0x00000004,\ ; m_u32EccBlock0EccType 0x0000000A,\ ; m_u32MetadataBytes 0x00000003,\ ; m_u32NumEccBlocksPerPage 0x00000000,\ ; m_u32EccBlockNEccLevelSDK 0x00000000,\ ; m_u32EccBlock0SizeSDK 0x00000000,\ ; m_u32EccBlockNSizeSDK 0x00000000,\ ; m_u32EccBlock0EccLevelSDK 0x00000000,\ ; m_u32NumEccBlocksPerPageSDK 0x00000000,\ ; m_u32MetadataBytesSDK 0x00000000,\ ; m_u32EraseThreshold 0x00000000,\ ; m_u32BootPatch 0x00000000,\ ; m_u32PatchSectors 0x00000200,\ ; m_u32Firmware1_StartingSector 0x00001500,\ ; m_u32Firmware2_StartingSector 0x000004EE,\ ; m_u32SectorsInFirmware1 0x000004EE,\ ; m_u32SectorsInFirmware2 0x00000100,\ ; m_u32DBBTSearchAreaStartAddress 0x000007CF,\ ; m_u32BadBlockMarkerByte 0x00000000,\ ; m_u32BadBlockMarkerStartBit 0x00000800 ; m_u32BBMarkerPhysicalOffset [SERIAL] BAUD = 115200 STOP_BITS = 1 PARITY = NONE TCP_PORT = 0 ; enable CLI over RS232 ;TCP_PORT = 2023 ; enable serial over TCP/IP [TELNET] PROMPT = "imx28> " ; telnet prompt ;BACKSPACE = 127 ; comment out for autodetect [DISPLAY] BRIGHTNESS = 20 ; LED indicator brightness VOLUME = 25 ; beeper volume ; Scripts to be executed using front panel buttons ; If AUTORUN is specified, the given script will be executed every time ; a target is connected to PEEDI [ACTIONS] ; user defined scripts ;AUTORUN = 1 ; executed on every target connect 1 = prog [prog] flash erase flash prog