Update Hardware SPI & UEXT page
This commit is contained in:
parent
7289d6931e
commit
a88f4186b8
8 changed files with 27 additions and 68 deletions
|
@ -76,7 +76,7 @@ This I2C device works with 3 pin bus (SDA, SCL, and GND), and also in band addre
|
|||
|
||||
### UEXT Header (P2)
|
||||
|
||||
The I2C Bus 7 can be found on the UEXT header (P2).
|
||||
The I2C Bus 7 can be found on the [UEXT header (P2)](/helios64/uext).
|
||||
|
||||

|
||||
|
||||
|
|
BIN
docs/helios64/img/spi/uext.jpg
Normal file
BIN
docs/helios64/img/spi/uext.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 61 KiB |
Binary file not shown.
Before Width: | Height: | Size: 13 KiB |
Binary file not shown.
Before Width: | Height: | Size: 82 KiB |
BIN
docs/helios64/img/uext/uext.jpg
Normal file
BIN
docs/helios64/img/uext/uext.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 61 KiB |
BIN
docs/helios64/img/uext/uext_pinout.jpg
Normal file
BIN
docs/helios64/img/uext/uext_pinout.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 13 KiB |
|
@ -1,28 +1,20 @@
|
|||
!!! notice
|
||||
***Preliminary Info***
|
||||
|
||||
RK3399 has SPI controller with following features:
|
||||
|
||||
- 6 on-chip SPI controllers
|
||||
RK3399 has 6x SPI controllers with the following features:
|
||||
|
||||
- Support master and slave mode, software-configurable
|
||||
|
||||
- DMA-based or interrupt-based operation
|
||||
|
||||
- Embedded two 32x16bits FIFO for TX and RX operation respectively
|
||||
|
||||
On Helios64 the bus are divided into three types: unused, system (internal bus) and user application (external)
|
||||
On Helios64, the buses are divided into three types: *Not Available*, *System* (internal bus) and *User* (external bus).
|
||||
|
||||
| Bus | Usage | Remarks |
|
||||
|-----|-------|-----------|
|
||||
| 0 | Not Used | |
|
||||
| 0 | Not Available | |
|
||||
| 1 | System | Bootable SPI Flash |
|
||||
| 2 | External | User Application |
|
||||
| 3 | Not Used | |
|
||||
| 4 | Not Used | |
|
||||
| 2 | User | User Application |
|
||||
| 3 | Not Available | |
|
||||
| 4 | Not Available | |
|
||||
| 5 | System | Reserved for Production use only |
|
||||
|
||||
|
||||
## Internal Bus
|
||||
|
||||
| Bus | Chip Select | Device | Remarks |
|
||||
|
@ -30,7 +22,6 @@ On Helios64 the bus are divided into three types: unused, system (internal bus)
|
|||
| 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)
|
||||
|
@ -38,15 +29,14 @@ as a Bootable SPI NOR Flash.
|
|||
|
||||
This flash contains
|
||||
|
||||
- preloader & bootloader
|
||||
- Preloader & bootloader
|
||||
|
||||
| Binaries | Offset | Remarks |
|
||||
|----------|--------|---------|
|
||||
| Preloader | 0x0040 | U-Boot TPL & SPL |
|
||||
| Bootloader | 0x4000 | U-Boot & ATF |
|
||||
|
||||
- electronic nameplate data in Security Register
|
||||
|
||||
- Electronic nameplate data in Security Register
|
||||
|
||||
## External Bus
|
||||
|
||||
|
@ -54,7 +44,9 @@ This flash contains
|
|||
|-----|-------------|---------|
|
||||
| 2 | 0 | User Application |
|
||||
|
||||
SPI Bus for user application is exposed on [UEXT Connector (P2)](/helios64/uext)
|
||||
SPI Bus for user application is exposed on [UEXT header (P2)](/helios64/uext)
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
|
@ -65,19 +57,4 @@ SPI Bus for user application is exposed on [UEXT Connector (P2)](/helios64/uext)
|
|||
| 9 | SCK |
|
||||
| 10 | SSEL |
|
||||
|
||||
The pin voltage level is 3.3V
|
||||
|
||||
|
||||
## Usage in Linux
|
||||
|
||||
### Enable SPIDEV in device tree
|
||||
|
||||
To make SPI device accessible by user space application, we need to create a device tree node.
|
||||
After the node has been created, user application can access the device at
|
||||
|
||||
`/dev/spidev5.0`
|
||||
|
||||
!!! note
|
||||
*To Be Updated*
|
||||
|
||||
|
||||
**Note:** The pin voltage level is 3.3V.
|
||||
|
|
|
@ -1,27 +1,16 @@
|
|||
## UEXT overview
|
||||
the development boards so customer can choose which feature he want to use.
|
||||
Helios64 has one UEXT (Universal-Extension-Connector) header which exposes 3 serial communication interfaces into a single header:
|
||||
|
||||
UEXT (Universal-Extension-Connector) is board to board connector which support 3 serial communication interface, such as I2C, SPI, RS232.
|
||||
The combination of theese feature is supported by every decent microcontroller, this will enable broad choice to connect modules.
|
||||
UEXT gives you freedom to choose module that you want to use.
|
||||
|
||||
!!! Notice
|
||||
As UEXT have RS232 and the Rx and Tx signals should be crossed we can say that UEXT on the board is with HOST; UEXT on the module is with SLAVE/DEVICE layout.
|
||||
* I2C
|
||||
* SPI
|
||||
* RS232 (UART)
|
||||
|
||||

|
||||
|
||||
## Pinout Table
|
||||
Helios64 provides UEXT on header P2 which following the UEXT standard, containing UEXT, SPI, and I2C connector.
|
||||
You can find the P2 header from the connector/interface list at [hardware overview](/helios64/hardware) page.
|
||||
|
||||
Please find this location of UEXT header:
|
||||

|
||||
|
||||

|
||||
|
||||
The pinout of the above P2 header is decribed by following figures:
|
||||
|
||||

|
||||
|
||||
Below is the detailed description of UEXT header pinout:
|
||||
Below is the full pinout of the UEXT header:
|
||||
|
||||
| PIN | Port | Remarks |
|
||||
|-----|------|-------------|
|
||||
|
@ -37,25 +26,18 @@ Below is the detailed description of UEXT header pinout:
|
|||
|10 | SSEL (SPI) | |
|
||||
|
||||
!!! Warning
|
||||
Please note the UEXT connector at Helios64 board doesn't provide the plastic covering, so be carefull with the header polarity!
|
||||
Make sure your device is correctly oriented before connecting!
|
||||
Be careful with the header polarity when connecting.
|
||||
|
||||
## SPI and I2C
|
||||
## SPI & I2C
|
||||
|
||||
The implementation of SPI and I2C in the UEXT connector is follow similar convention in the Helios64 board. Please refer to this page:
|
||||
Refer to the respective pages directly:
|
||||
|
||||
- [SPI](/helios64/hardware/)
|
||||
- [I2C](/helios64/I2C/)
|
||||
|
||||
## RS232 (UART)
|
||||
|
||||
## Exception
|
||||
The UART bus exposed on the UEXT header is the same than the RK3399 SoC serial console exposed on the USB Type-C. There is no dedicated UART bus on the UEXT connector. The intention is to allow user to connect to SoC serial console by another way than the USB-to-Serial bridge.
|
||||
|
||||
We have connected the UART bus from the RK3399 to the serial console in the USB-C, so there is no dedicated line of UART in the UEXT connector.
|
||||
The UART bus in this UEXT header is the parallel ones with the serial console.
|
||||
Therefore if you connect some module which might ***require dedicated serial UART line*** to the RK3399, this module ***will not function as expected***.
|
||||
|
||||
!!! Notes
|
||||
Please note also, that GPS modules in UEXT format also will not work due to similar reason.
|
||||
|
||||
## References
|
||||
https://www.olimex.com/Products/Modules/UEXT/
|
||||
!!! Important
|
||||
If you connect some modules which might require dedicated serial UART line to the SoC, this module will not operate properly.
|
||||
|
|
Loading…
Add table
Reference in a new issue