93 lines
2.5 KiB
Plaintext
93 lines
2.5 KiB
Plaintext
; --------------------------------------------------------------------------------
|
|
; @Title: i.MX28 SPI FLASH Programming Script
|
|
; @Description:
|
|
; SPI FLASH(SPANSION,FL128 ) is connected to the SSP2_SS0
|
|
;
|
|
; Internal SRAM : 0x001000
|
|
; SSP2_TX : 0x80014090
|
|
; SSP2_RX : 0x80014090
|
|
; SSP2_CTRL : 0x80014000
|
|
; SSP2_SSn : 0
|
|
;
|
|
; @Author: jjeong
|
|
; @Copyright: (C) 1989-2022 Lauterbach GmbH, licensed for use with TRACE32(R) only
|
|
; @Chip: IMX287
|
|
; @Keywords: SPANSION FL128 Flash SPI
|
|
; --------------------------------------------------------------------------------
|
|
; $Id: imx28-spi64.cmm 10516 2022-02-02 11:39:30Z bschroefel $
|
|
|
|
LOCAL &arg1
|
|
ENTRY &arg1
|
|
&arg1=STRing.UPpeR("&arg1") // for example "PREPAREONLY"
|
|
|
|
|
|
|
|
SYStem.RESet
|
|
SYStem.CPU IMX287
|
|
SYStem.JtagClock RTCK
|
|
|
|
SYStem.Option EnReset OFF
|
|
SYStem.Up
|
|
|
|
PER.Set.simple C15:0x1 %Long 0x51078 ;MMU disable
|
|
|
|
|
|
Data.Set ASD:0x800401D0 %LE %Long 0x4157
|
|
|
|
Data.Set ASD:0x800401B0 %LE %Long 0x1d525513
|
|
Data.Set ASD:0x800400B0 %LE %Long 0x5
|
|
|
|
//pin configuration
|
|
Data.Set ASD:0x80018140 %LE %Long 0xff000000
|
|
Data.Set ASD:0x80018150 %LE %Long 0xff0f00
|
|
|
|
Data.Set ASD:0x80018390 %LE %Long 0x44440555
|
|
Data.Set ASD:0x800183A0 %LE %Long 0x00445444
|
|
Data.Set ASD:0x800183B0 %LE %Long 0x04444
|
|
|
|
Data.Set ASD:0x80018600 %LE %Long 0x01000000
|
|
Data.Set ASD:0x80018610 %LE %Long 0x0
|
|
Data.Set ASD:0x80018620 %LE %Long 0x0f07FF
|
|
Data.Set ASD:0x80018640 %LE %Long 0x101DF
|
|
|
|
//SSP2 configuration
|
|
Data.Set ASD:0x80014008 %LE %Long 0xc0000000 ; reset
|
|
Data.Set ASD:0x80014030 %LE %Long 0x1 ; xfer_size = 1
|
|
Data.Set ASD:0x80014080 %LE %Long 0x670
|
|
Data.Set ASD:0x80014088 %LE %Long 0x00200000
|
|
Data.Set ASD:0x80014070 %LE %Long 0xFFFF0202
|
|
Data.Set ASD:0x80014004 %LE %Long 0x27000000 ; ssp2_ss0
|
|
Data.In 0x80014090 /Long ; dummy reading to make high of CS
|
|
|
|
Break.RESet
|
|
|
|
FLASHFILE.RESet
|
|
|
|
//FLASHFILE.config <SSP tx> <SSP rx> <SSP ctrl> <#SSP2_SSn>
|
|
FLASHFILE.CONFIG 0x80014090 0x80014090 0x80014000 0x0
|
|
|
|
// FLASHFILE.TARGET <code range> <data range> <Algorithm file>
|
|
FLASHFILE.TARGET 0x001000++0x1FFF 0x00003000++0x41FF ~~/demo/arm/flash/byte/spi64_imx28.bin /KEEP
|
|
|
|
//Read FLASH Manufacture and Device ID
|
|
FLASHFILE.GETID
|
|
|
|
//End of the test prepareonly
|
|
IF "&arg1"=="PREPAREONLY"
|
|
ENDDO
|
|
|
|
|
|
//Dump window for Serial FLASH
|
|
FLASHFILE.DUMP 0x0
|
|
|
|
; FLASHFILE.UNLOCK 0x0--0xFFFFF
|
|
|
|
//Erase Serial FLASH
|
|
; FLASHFILE.ERASE 0x0--0xFFFFF
|
|
|
|
//Write Serial FLASH
|
|
; FLASHFILE.LOAD * 0x0
|
|
|
|
|
|
ENDDO
|