35 lines
		
	
	
		
			974 B
		
	
	
	
		
			INI
		
	
	
	
	
	
		
		
			
		
	
	
			35 lines
		
	
	
		
			974 B
		
	
	
	
		
			INI
		
	
	
	
	
	
|  | adapter_khz     10000 | ||
|  | 
 | ||
|  | interface ftdi | ||
|  | ftdi_device_desc "Dual RS232-HS" | ||
|  | ftdi_vid_pid 0x0403 0x6010 | ||
|  | 
 | ||
|  | ftdi_layout_init 0x0008 0x001b | ||
|  | ftdi_layout_signal nSRST -oe 0x0020 -data 0x0020 | ||
|  | 
 | ||
|  | #Reset Stretcher logic on FE310 is ~1 second long | ||
|  | #This doesn't apply if you use | ||
|  | # ftdi_set_signal, but still good to document | ||
|  | #adapter_nsrst_delay 1500 | ||
|  | 
 | ||
|  | set _CHIPNAME riscv | ||
|  | jtag newtap $_CHIPNAME cpu -irlen 5 -expected-id 0x10e31913 | ||
|  | 
 | ||
|  | set _TARGETNAME $_CHIPNAME.cpu | ||
|  | target create $_TARGETNAME riscv -chain-position $_TARGETNAME | ||
|  | $_TARGETNAME configure -work-area-phys 0x80000000 -work-area-size 10000 -work-area-backup 1 | ||
|  | 
 | ||
|  | #flash bank onboard_spi_flash fespi 0x20000000 0 0 0 $_TARGETNAME | ||
|  | init | ||
|  | #reset -- This type of reset is not implemented yet | ||
|  | if {[ info exists pulse_srst]} { | ||
|  |   ftdi_set_signal nSRST 0 | ||
|  |   ftdi_set_signal nSRST z | ||
|  |   #Wait for the reset stretcher | ||
|  |   #It will work without this, but | ||
|  |   #will incur lots of delays for later commands. | ||
|  |   sleep 1500 | ||
|  | }	 | ||
|  | halt | ||
|  | #flash protect 0 64 last off |