Update Hardware SPI & UEXT page

This commit is contained in:
Gauthier Provost 2020-04-16 16:38:20 +08:00
parent 7289d6931e
commit a88f4186b8
8 changed files with 27 additions and 68 deletions

View file

@ -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).
![P2 Location](/helios64/img/i2c/uext.jpg)

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View file

@ -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)
![P2 Location](/helios64/img/spi/uext.jpg)
![!UEXT](/helios64/img/spi/spi_on_uext.png)
@ -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.

View file

@ -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)
![P2 Location](/helios64/img/uext/uext.jpg)
## 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:
![P2 Pinout](/helios64/img/uext/uext_pinout.jpg)
![P2 Location](/helios64/img/uext/UEXT_zoom.jpg)
The pinout of the above P2 header is decribed by following figures:
![P2 Pinout](/helios64/img/uext/UEXT_pinout.png)
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.