1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
.thumb
.section .boot2, "ax"
// Disable SSI
ldr r0, =SSI_SSIENR
ldr r1, =0
str r1, [r0]
// Set baud rate
ldr r0, =SSI_BAUDR
ldr r1, =4
str r1, [r0]
// Enter XIP
ldr r0, =SSI_CTRLR0
ldr r1, =(3 << 8) | (31 << 16)
str r1, [r0]
// CTRLR0
ldr r0, =SSI_SPI_CTRLR0
ldr r1, =(6 << 2) | (2 << 8) | (0x03 << 24)
str r1, [r0]
// Enable back SSI
ldr r0, =SSI_SSIENR
ldr r1, =1
str r1, [r0]
// Jump to crt0.S
ldr r0, =0x10000101
bx r0
.set SSI_BASE, 0x18000000
.set SSI_CTRLR0, SSI_BASE + 0x00
.set SSI_SSIENR, SSI_BASE + 0x08
.set SSI_BAUDR, SSI_BASE + 0x14
.set SSI_SPI_CTRLR0, SSI_BASE + 0xF4
|