Files
Gen4_R-Car_Trace32/2_Trunk/demo/arm/flash/imx28-spi64.cmm
2025-10-14 09:52:32 +09:00

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