diff --git a/docs/helios64/i2c.md b/docs/helios64/i2c.md index 2f1ad5e..1428ff9 100644 --- a/docs/helios64/i2c.md +++ b/docs/helios64/i2c.md @@ -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) diff --git a/docs/helios64/img/spi/uext.jpg b/docs/helios64/img/spi/uext.jpg new file mode 100644 index 0000000..bc382db Binary files /dev/null and b/docs/helios64/img/spi/uext.jpg differ diff --git a/docs/helios64/img/uext/UEXT_pinout.png b/docs/helios64/img/uext/UEXT_pinout.png deleted file mode 100644 index b912867..0000000 Binary files a/docs/helios64/img/uext/UEXT_pinout.png and /dev/null differ diff --git a/docs/helios64/img/uext/UEXT_zoom.jpg b/docs/helios64/img/uext/UEXT_zoom.jpg deleted file mode 100644 index 318534b..0000000 Binary files a/docs/helios64/img/uext/UEXT_zoom.jpg and /dev/null differ diff --git a/docs/helios64/img/uext/uext.jpg b/docs/helios64/img/uext/uext.jpg new file mode 100644 index 0000000..bc382db Binary files /dev/null and b/docs/helios64/img/uext/uext.jpg differ diff --git a/docs/helios64/img/uext/uext_pinout.jpg b/docs/helios64/img/uext/uext_pinout.jpg new file mode 100644 index 0000000..6105c04 Binary files /dev/null and b/docs/helios64/img/uext/uext_pinout.jpg differ diff --git a/docs/helios64/spi.md b/docs/helios64/spi.md index 5953a35..03482d5 100644 --- a/docs/helios64/spi.md +++ b/docs/helios64/spi.md @@ -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. diff --git a/docs/helios64/uext.md b/docs/helios64/uext.md index e258dac..835c526 100644 --- a/docs/helios64/uext.md +++ b/docs/helios64/uext.md @@ -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.