2020-04-16 16:38:20 +08:00
RK3399 has 6x SPI controllers with the following features:
2020-03-10 16:18:51 +07:00
- Support master and slave mode, software-configurable
- DMA-based or interrupt-based operation
- Embedded two 32x16bits FIFO for TX and RX operation respectively
2020-04-16 16:38:20 +08:00
On Helios64, the buses are divided into three types: *Not Available* , *System* (internal bus) and *User* (external bus).
2020-03-10 16:18:51 +07:00
| Bus | Usage | Remarks |
|-----|-------|-----------|
2020-04-16 16:38:20 +08:00
| 0 | Not Available | |
2020-03-10 16:18:51 +07:00
| 1 | System | Bootable SPI Flash |
2020-04-16 16:38:20 +08:00
| 2 | User | User Application |
| 3 | Not Available | |
| 4 | Not Available | |
2020-03-10 16:18:51 +07:00
| 5 | System | Reserved for Production use only |
## Internal Bus
| Bus | Chip Select | Device | Remarks |
|-----|-------------|---------|---------|
| 1 | 0 | W25Q128JV | Bootable SPI Flash |
| 5 | 0 | W25X20CL | SATA Controller ROM |
### Bootable SPI Flash
Helios64 is equipped with [Winbond W25Q128JV 3V 128M-Bit Serial Flash Memory ](https://www.winbond.com/hq/product/code-storage-flash-memory/serial-nor-flash/?__locale=en&partNo=W25Q128JV )
as a Bootable SPI NOR Flash.
This flash contains
2020-04-16 16:38:20 +08:00
- Preloader & bootloader
2020-03-10 16:18:51 +07:00
| Binaries | Offset | Remarks |
|----------|--------|---------|
| Preloader | 0x0040 | U-Boot TPL & SPL |
| Bootloader | 0x4000 | U-Boot & ATF |
2020-04-16 16:38:20 +08:00
- Electronic nameplate data in Security Register
2020-03-10 16:18:51 +07:00
## External Bus
| Bus | Chip Select | Remarks |
|-----|-------------|---------|
| 2 | 0 | User Application |
2020-04-16 16:38:20 +08:00
SPI Bus for user application is exposed on [UEXT header (P2) ](/helios64/uext )

2020-03-10 16:18:51 +07:00

| Pin | Signal Name |
|-----|-------------|
| 7 | MISO |
| 8 | MOSI |
| 9 | SCK |
| 10 | SSEL |
2020-04-16 16:38:20 +08:00
**Note:** The pin voltage level is 3.3V.