Merge pull request #3 from aprayoga/page-update

Page update from aprayoga
This commit is contained in:
nurix87 2020-03-19 16:14:31 +07:00 committed by GitHub
commit 4b24703948
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
19 changed files with 254 additions and 155 deletions

View file

@ -1,20 +1,21 @@
## M2 Connector (P2)
There is at least two type of batteries which is installed in Helios64 board: There are two types of batteries on Helios64 board:
- Li-Ion - Li-Ion
- Coin-type Battery (CR 1225) - Coin-type Battery (CR 1225)
### Li-Ion Battery ## Li-Ion Battery
The Li-Ion battery is actually installed in to Helios64 caseing, but the battery is connected to the board in following connector: The Li-Ion battery is actually installed in to Helios64 casing, but the battery is connected to the board in following connector:
![LBattery](/helios64/img/hardware/lbat.jpg) ![LBattery](/helios64/img/hardware/lbat.jpg)
The actual cell of the this Li-Ion battery is the panasonic NCR18650BD, we use 2 cell in serial configuration. The actual cell of the this Li-Ion battery is the panasonic NCR18650BD, we use 2 cell in 2S1P configuration.
So the Li-Ion battery is rated at 2980mAh, 8.4Volt. So the Li-Ion battery is rated at 2980mAh, 8.4Volt.
The time estimation to full charge this battery is 8.5 Hours. The time estimation to fully charge this battery is 8.5 Hours.
#### Pinout of the BATT Header ### Pinout of the BATT Header
![LBattery](/helios64/img/hardware/batt-pinout.png) ![LBattery](/helios64/img/hardware/batt-pinout.png)
@ -28,7 +29,7 @@ The time estimation to full charge this battery is 8.5 Hours.
| 6 |Battery - | 6 |Battery -
### Coin Cell Battery ## Coin Cell Battery
The Location of coin-type battery is shown by this figure: The Location of coin-type battery is shown by this figure:
![CBattery](/helios64/img/hardware/cbat.jpg) ![CBattery](/helios64/img/hardware/cbat.jpg)
@ -38,11 +39,11 @@ In above figure the positive (+) polarity is heading downward to the CPU heatsin
This battery is used only for keep the RTC (Real Time Clock) running. This battery is used only for keep the RTC (Real Time Clock) running.
### Notes related to battery ## Notes related to battery
**To Be Confirmed** !!! note
We have NOT confirmed the operaiton of the RTC without CR1225 Coin Cell Battery, even in the situation with the Li-Ion connected we have NOT the operation of RTC. To be confirmed whether RTC is still running with Li-Ion battery only.
The Li-Ion battery design is not for powering device when the main AC supply is disconnected, but as the device support to perform graceful shutdown or hibernate. The Li-Ion battery is not designed to make Helios64 as portable device that can be used without AC power line, but designed as backup power to perform graceful shutdown or hibernate in case of loss of AC power line.
Therfore if you found this device can actually turned on for a while when you push the power button, in the situation the Li-Ion battery is connected (when the main AC power disconnected), this is totally normal situation. Therefore it is normal if Helios64 turned on for a while when you press power button without AC power line.

View file

@ -0,0 +1,29 @@
Helios64 supports at least **3 (TBD)** boot modes that can be chosen by using the jumper configuration.
The default Boot device order for Helios64 is the SPI Flash Memory, eMMC, then micro-SD Card.
The SoC will access this order sequentially to find the bootloader in all possible storage medium.
To change the boot order if the bootloader are present in all possible volatile storage, we can use the combination of P10 and P11 jumpers.
(Please see above figure for the connector/interface list.)
Following jumper are available in the Helios64 board to configure the boot modes:
- P11 jumper can be used disable SPI Flash, when this jumper is shorted/close it means disable boot from the SPI Flash, and the board will search the next boot device (which is eMMC).
- P10 jumper is available to disable eMMC boot, when this jumper is closed Helios64 wil skip looking for bootloader from the eMMC and will continue with the micro-SD card,
So you can select to search for bootloader starting from the SPI Flash Storage, eMMC, untill micro-SD card.
Following table may simplified boot ordering by jumper config by assuming the bootloaders are present in every storage device:
![Boot modes](/helios64/img/bootmode/bootmode_jumper.png)
P11 State|P10 State|Boot Order|Notes
-----|---------------|--------------|-------
0|0|SPI Flash|-
1|0|eMMC|-
1|1|micro-SD Card|-
!!! note
Please note, in case of bootloader is not present in the storage devices. The SoC will search to the next possible boot device.
All the ready-to-use images we provide are for the **SD Card** boot mode.
Please refer to [U-boot](/helios4/uboot) section to know how to use the other modes.

42
docs/helios64/button.md Normal file
View file

@ -0,0 +1,42 @@
## Onboard Button
![!Button location](img/button/button_location.jpg)
### Power Button
Helios64 board provides a POWER push button (PWR BTN) to power on/off the system.
This button is connected to PMIC RK808-D.
Short press (~1 second) will turn on the system when the current state is power off. On Linux, this will inform kernel to perform gracefull shutdown.
Long press (~4 seconds **TBC**) will signals PMIC to cut off the power in case of system not responding (Force power off).
This button also routed to Front Panel, so user don't need to open the case to power on/off the system.
### Reset Button
Helios64 board provides a RESET push button (RST BTN) to hard reset the board.
This button also routed to Front Panel, so user don't need to open the case to hard reset the system.
### Recovery Button
User can enter recovery mode by pressing this button during boot up (bootloader stage). U-Boot will read this button and switch the USB type C into USB Mass Storage device with eMMC as the storage.
User then can use Balena Etcher or dd to write OS image into eMMC.
On Linux, this button behave as user button and when pressed will emit **BTN_0** keycode.
This button also routed to Front Panel, so user don't need to open the case to enter Recovery Mode.
## Front Panel Button
For button location on front panel please refer to [Front Panel](/helios64/front-panel/#the-front-panel-description).
### USR2 Button
There is additional user button on Front Panel board located on [P2](/helios64/front-panel/#wiring-diagram). On Linux, this button when pressed will emit **BTN_1** keycode.
## References
[input-event-codes.h](https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/plain/include/uapi/linux/input-event-codes.h)

View file

@ -1,15 +1,25 @@
## PWM Fan ## PWM Introduction
Please kindly review the [pwm pages](/helios4/pwm) from the Helios4 device. Please kindly review the [pwm pages](/helios4/pwm) from the Helios4 device.
Basically the PWM mechanisms of Helios64 board is same with Helios4. Basically the PWM mechanism of Helios64 board is same with Helios4.
---TBU--- ## Fan Control Schematic
### Fan Specification in Helios64 ![!Fan Control Schematic](img/fan/fan_control_schematic.png)
**Remarks**
| Description | Header P7 | Header P6 | Remarks |
|-----------|---------|-----------|---------|
| PWM pin | PWM0 | PWM1 | 5V tolerant |
| SENSE pin | GPIO4_C5 | GPIO4_C7 | no kernel module/userspace apps that make use of this pin yet |
| PWM Frequency | 25 kHz | 25 kHz | defined in device tree |
## Fan Specification in Helios64
Coming Soon. Coming Soon.
### Use Case in Linux ## Use Case in Linux
Coming Soon. Coming Soon.

View file

@ -1,4 +1,4 @@
## Front Panel (P3) ## Front Panel Pinout
Helios64 provides 24 front panel pinout on header P3. Helios64 provides 24 front panel pinout on header P3.
User can connect the front panel PCB into the P3 in the Helios64 board by using provided ribbon cable. User can connect the front panel PCB into the P3 in the Helios64 board by using provided ribbon cable.
@ -10,8 +10,6 @@ Below Graphics and Table describe the layout of the front panel header.
This header are actually located at: This header are actually located at:
![P3 Location](/helios64/img/front-panel/fp-header-zoom.jpg) ![P3 Location](/helios64/img/front-panel/fp-header-zoom.jpg)
### Front Panel Pinout Table
| PIN | Port | Remarks | | PIN | Port | Remarks |
|-----|------|-------------| |-----|------|-------------|
| 1 | HDD LED - High Side (HS) | | | 1 | HDD LED - High Side (HS) | |
@ -39,7 +37,7 @@ This header are actually located at:
| 23 | SATA 4 Error - HS | | | 23 | SATA 4 Error - HS | |
| 24 | GND | Ground | | 24 | GND | Ground |
### Wiring Diagram ## Wiring Diagram
This Figures describe the PCB layout from the left hand side (RHS) and right hand side (LHS) view respectively. This Figures describe the PCB layout from the left hand side (RHS) and right hand side (LHS) view respectively.
The vertical mounting of this double-sided PCB will make the front panel have two LED indicators (red and green) for Sys and HDD 1 untill HDD 5 Activity Status(or Error Status). The vertical mounting of this double-sided PCB will make the front panel have two LED indicators (red and green) for Sys and HDD 1 untill HDD 5 Activity Status(or Error Status).
@ -63,10 +61,10 @@ The connection between P3 from the Helios64 board to P1 on the front panel PCB b
### The Front Panel Description ## The Front Panel Description
Below graphics show the front panel descriptions: Below graphics show the front panel descriptions:
![Front Panel Label](/helios64/img/front-panel/front-panel-labeled.jpg) ![Front Panel Label](/helios64/img/front-panel/front-panel-labeled.jpg)
The USB 3.0 Cable are actually already mounted to the front panel PCB and the Helios64 Caseing, you only need to connect the usb male connector at the location illustrated in above figure. The USB 3.0 Cable are actually already mounted to the front panel PCB and the Helios64 casing, you only need to connect the usb male connector at the location illustrated in above figure.

View file

@ -1,11 +1,13 @@
## User Accessible GPIOs (P5) ## User Accessible GPIOs (P5)
Helios64 provides 22 GPIOs on header P5 which can be used for user application. Helios64 provides 22 GPIOs on header P5 which can be used for user application.
Those GPIOs are provided via an 16-bit IO Expander [PCA9655E](http://www.onsemi.com/PowerSolutions/product.do?id=PCA9655E) connected to I2C bus 0. Those GPIOs are provided via an 16-bit IO Expander [PCA9655E](http://www.onsemi.com/PowerSolutions/product.do?id=PCA9655E) connected to I2C bus 2.
Unlike Helios4 whereas some pin of IO expander is used for system usage, on Helios64 all 16 GPIOs can be used for user application.
![P5 Pinout](/helios64/img/hardware/gpio.jpg) ![P5 Pinout](/helios64/img/hardware/gpio.jpg)
### Pinout Table ## Pinout Table
| PIN | Port | Remarks | | PIN | Port | Remarks |
|-----|------|-------------| |-----|------|-------------|

View file

@ -12,87 +12,39 @@ This block diagram is cited from the RK3399 website documentation. [1](http://op
![!Board Legend](/helios64/img/hardware/helios64_board_labeled.jpg) ![!Board Legend](/helios64/img/hardware/helios64_board_labeled.jpg)
Name |Peripheral Type|Connector Type|Details | Name | Peripheral Type | Connector Type | Details |
-----|---------------|--------------|------- |-----|---------------|--------------|-------|
P8|SATA Cont. Mem. Flash Enable Jumper|2x1 Pin Header|Sata Controller Flash Memory Enable | P8 | [SATA Cont. Mem. Flash Enable Jumper](/helios64/jumper/#sata-controller-flash-mux-p8) | 2x1 Pin Header | Sata Controller Flash Memory Enable |
P9|eFuse Dis. Jumper|Not Populated|**TBD** eFuse Power Supply | P9 | [eFuse Dis. Jumper](/helios64/jumper/#efuse-power-enable-p9) | Not Populated | eFuse Power Supply |
P10|eMMC Dis. Jumper|2x1 Pin Male Header|Disable eMMC boot | P10 | [eMMC Dis. Jumper](/helios64/jumper/#boot-mode-p10-p11) | 2x1 Pin Male Header | Disable eMMC boot |
P11|SPI Flash Dis. Jumper|2x1 Pin Male Header|Disable SPI Flash | P11 | [SPI Flash Dis. Jumper](/helios64/jumper/#boot-mode-p10-p11) | 2x1 Pin Male Header | Disable SPI Flash |
P13|HS Select Jumper|2x1 Pin Male Header|USB-C HS Select (Close = Type C HS, Open = Console) | P13 | [HS Select Jumper](/helios64/jumper/#hs-select-p13) | 2x1 Pin Male Header | USB-C HS Select (Close = Type C HS, Open = Console) |
P14|ATX Priority Jumper|2x1 Pin Male Header|ATX Supply Priority | P14 | [ATX Priority Jumper](/helios64/jumper/#power-supply-priority-jumper-p14-p15) | 2x1 Pin Male Header | ATX Supply Priority |
P15|ACDC Priority Jumper|2x1 Pin Male Header|ACDC(AC Adapter) Supply Priority | P15 | [ACDC Priority Jumper](/helios64/jumper/#power-supply-priority-jumper-p14-p15) | 2x1 Pin Male Header | ACDC(AC Adapter) Supply Priority |
USB 3.0 |USB3 Host|USB 3.0 Host| USB 3.0 Port Header | USB 3.0 | [USB3 Host](/helios64/usb/#usb-on-helios64) | USB 3.0 Host | USB 3.0 Port Header |
SATA1|SATA|SATA 3.0|Port 0 (SATA1) | SATA1 | SATA | SATA 3.0 | Port 0 (SATA1) |
SATA2|SATA|SATA 3.0|Port 1 (SATA2) | SATA2 | SATA | SATA 3.0 | Port 1 (SATA2) |
SATA3|SATA|SATA 3.0|Port 2 (SATA3) | SATA3 | SATA | SATA 3.0 | Port 2 (SATA3) |
SATA4|SATA|SATA 3.0|Port 3 (SATA4) | SATA4 | SATA | SATA 3.0 | Port 3 (SATA4) |
SATA5|SATA|SATA 3.0|Port 4 (SATA5) | SATA5 | SATA | SATA 3.0 | Port 4 (SATA5) |
HDD_PWR|HDD Power Conn.|8 Pin ATX 12V|Rated for 5x HDD | HDD_PWR | HDD Power Conn. | 8 Pin ATX 12V | Rated for 5x HDD |
BATT|Battery Power Conn.|6 Pin ATX 12V|Battery Backup | BATT | [Battery Power Conn.](/helios64/battery/#li-ion-battery) | 6 Pin ATX 12V | Battery Backup |
ATX_4P|ATX Power Supply Conn.|4 Pin ATX 12V|4 Pin ATX Power Connector | ATX_4P | ATX Power Supply Conn. | 4 Pin ATX 12V | 4 Pin ATX Power Connector |
1Gbps ETH|LAN1|RJ45|Gigabit Ethernet | 1Gbps ETH | LAN1 | RJ45 | Gigabit Ethernet |
2.5Gbps ETH|LAN2|RJ45|2.5 Gigabit Ethernet|USB 3.0 Host|Dual Port USB3.0|Type A | 2.5Gbps ETH | LAN2 | RJ45 | 2.5 Gigabit Ethernet |
MICRO SD|microSD|Push-Push card connector|Support SDHC and SDXC | MICRO SD | microSD | Push-Push card connector | Support SDHC and SDXC |
USB-C|USB Type-C Dual Role|USB Type-C Connector|Via onboard FTDI USB-to-UART0 bridge | USB-C| [USB Type-C Dual Role](/helios64/usb/#usb-type-c-functionality-on-helios64) | USB Type-C Connector | Via onboard FTDI USB-to-UART0 bridge |
PWR CON|DC Connector|Kycon 4-Pin Mini-DIN|DC input 12V / 8A | PWR CON | DC Connector | Kycon 4-Pin Mini-DIN | DC input 12V / 8A |
FAN1|Fan Connector|4x1 Pin Male Header|PWM and RPM support | FAN1 | [Fan Connector](/helios64/fan/) | 4x1 Pin Male Header | PWM and RPM support |
FAN2|Fan Connector|4x1 Pin Male Header|PWM and RPM support | FAN2 | [Fan Connector](/helios64/fan/) | 4x1 Pin Male Header | PWM and RPM support |
P1|I2C Header|4x1 Pin Male Header|I2C Bus 1 | P1 | [I2C Header](/helios64/i2c/#i2c-at-p1-header) | 4x1 Pin Male Header | I2C Bus 1 |
P2|UEXT Header|2x5 Pin Male Header|Universal EXTension Support [2] | P2 | [UEXT Header](/helios64/uext/) | 2x5 Pin Male Header | Universal EXTension Support [2] |
P3|Front Panel Header|12x2 Pin Male Header|PWM and RPM support | P3 | [Front Panel Header](/helios64/front-panel/) | 12x2 Pin Male Header | PWM and RPM support |
P4|Buzzer Header|2x1 Pin Header|Buzzer Speaker Support | P4 | Buzzer Header | 2x1 Pin Header | Buzzer Speaker Support |
P5|GPIO Pin Header|7x2 Pin Male Header|GPIO configurable as input or output<br>Via IO Expander on I2C Bus 0 | P5 | [GPIO Pin Header](/helios64/gpio/) | 7x2 Pin Male Header | GPIO configurable as input or output<br>Via IO Expander on I2C Bus 0 |
PWR BTN|Power Button|Push Button|Power Button | PWR BTN | [Power Button](/helios64/button/#power-button) | Push Button | Power Button |
RECOVERY|Recovery Button|Push Button|Boot mode selector :<br> SPI,MMC,UART,SATA | RECOVERY | [Recovery Button](/helios64/button/#recovery-button) | Push Button | |
RST BTN|Reset Button|Push Button|Reset Button | RST BTN | [Reset Button](/helios64/button/#reset-button) | Push Button | Reset Button |
## Boot Modes
Helios64 supports at least **3 (TBD)** boot modes that can be chosen by using the jumper configuration.
The default Boot device order for Helios64 is the SPI Flash Memory, eMMC, then micro-SD Card.
The SoC will access this order sequentially to find the bootloader in all possible storage medium.
To change the boot order if the bootloader are present in all possible volatile storage, we can use the combination of P10 and P11 jumpers.
(Please see above figure for the connector/interface list.)
Following jumper are available in the Helios64 board to configure the boot modes:
- P11 jumper can be used disable SPI Flash, when this jumper is shorted/close it means disable boot from the SPI Flash, and the board will search the next boot device (which is eMMC).
- P10 jumper is available to disable eMMC boot, when this jumper is closed Helios64 wil skip looking for bootloader from the eMMC and will continue with the micro-SD card,
So you can select to search for bootloader starting from the SPI Flash Storage, eMMC, untill micro-SD card.
Following table may simplified boot ordering by jumper config by assuming the bootloaders are present in every storage device:
P11 State|P10 State|Boot Order|Notes
-----|---------------|--------------|-------
0|0|SPI Flash|-
1|0|eMMC|-
1|1|micro-SD Card|-
!!! note
Please note, in case of bootloader is not present in the storage devices. The SoC will search to the next possible boot device.
## Jumpers
- P13 jumper is the HS select, when this jumper closed the High Speed USB (USB 2.0) connection to the SoC will be establised, while the serial console is disconnected, so you can use flashing technology such as rockusb and maskrom in the USB type-C port.
[comment]: <> (its also called as HS select, when this jumper is closed the micro USB-C connector become type-C HS (open = console), your USB-C cable will connected to the serial console of the Helios64 board by default. By closing this connection the USB-C connection will become the HS mode, the eMMC will be detected as the USB Mass storage in your PC, in this configuration can directly flash the Armbian image to it.)
![Dipswitch modes](/helios64/img/hardware/p11-13-jumper.png)
All the ready-to-use images we provide are for the **SD Card** boot mode.
Please refer to [U-boot](/helios4/uboot) section to know how to use the other modes.
## Reset Button
Helios64 board provides a RESET push button (RST BTN) to hard reset the board.
## I2C Interface
Helios64 board exposes the SoC I2C Bus 1, on header **P1**. Below is the header pin-out.
![I2C Pinout](/helios64/img/hardware/i2c_pinout.png)
## Power Consumption ## Power Consumption

View file

@ -1,4 +1,4 @@
### I2C Overview ## I2C Overview
Helios64 support I2C bus for the low-speed communication between devices like microcontrollers, EEPROMs, A/D and D/A converters, I/O interface and other similar peripherals in embedded systems. Helios64 support I2C bus for the low-speed communication between devices like microcontrollers, EEPROMs, A/D and D/A converters, I/O interface and other similar peripherals in embedded systems.
In order to communicate with each I2C slave device you will need an address and communication scenario. In order to communicate with each I2C slave device you will need an address and communication scenario.
@ -17,7 +17,7 @@ Slave Address | R/W Bit | Description
111 11XX | X | Reserved for future purposes 111 11XX | X | Reserved for future purposes
### I2C bus on Helios64 / RK3399 ## I2C bus on Helios64 / RK3399
The I2C controller on RK3399 support following features: The I2C controller on RK3399 support following features:
@ -29,7 +29,7 @@ The I2C controller on RK3399 support following features:
- Data on the I2C-bus can be transferred at rates of up to 100 kbit/s in the Standardmode, up to 400 kbit/s in the Fast-mode or up to 1 Mbit/s in Fast-mode Plus. - Data on the I2C-bus can be transferred at rates of up to 100 kbit/s in the Standardmode, up to 400 kbit/s in the Fast-mode or up to 1 Mbit/s in Fast-mode Plus.
### Internal Bus (system reserved, NOT for user application) ## Internal Bus (system reserved, NOT for user application)
In the implementation, we divide the I2C controller into 2 category. In the implementation, we divide the I2C controller into 2 category.
The first implementation is for system (internal bus) and the other one is for user application (external). The first implementation is for system (internal bus) and the other one is for user application (external).
@ -62,7 +62,7 @@ Above bus number and also including bus number 1,3,5 are reserved for system use
!!! Warning !!! Warning
This bus number and address should not be accessed directly by user. Incorrect configuration can damaged the board! This bus number and address should not be accessed directly by user. Incorrect configuration can damaged the board!
### External Bus ## External Bus
Helios64 exposed Bus number 7 and 8 of the I2C in **P2** and **P1** pinout, respectively. Helios64 exposed Bus number 7 and 8 of the I2C in **P2** and **P1** pinout, respectively.
This I2C bus can be connected to the external devices. This I2C bus can be connected to the external devices.
@ -72,7 +72,7 @@ For the [UEXT](/helios64/img/hardware/UEXT_pinout.png) (pin header number *5* an
All the I2C bus in the board are using voltage level of 3.3V, please notice Helios64 is integrated with level translator and pull up resistor. All the I2C bus in the board are using voltage level of 3.3V, please notice Helios64 is integrated with level translator and pull up resistor.
#### I2C at P1 Header ### I2C at P1 Header
Helios64 board exposes the SoC I2C Bus 1, on header **P1**. Below is the header pin-out. Helios64 board exposes the SoC I2C Bus 1, on header **P1**. Below is the header pin-out.
@ -81,7 +81,7 @@ Helios64 board exposes the SoC I2C Bus 1, on header **P1**. Below is the header
This I2C device working with 3 pin bus (SDA, SCK, and GND), and also in band addressing. This I2C device working with 3 pin bus (SDA, SCK, and GND), and also in band addressing.
We can use a 7 bit addressing to distinguish every device, but some address is reserved for the internal communication of the Helios64 board. We can use a 7 bit addressing to distinguish every device, but some address is reserved for the internal communication of the Helios64 board.
#### I2C at UEXT ### I2C at UEXT
The I2C header bus also can be found at UEXT connector (can be found at **P2** header at the the board [overview](/helios64/hardware/overview) page) on the header number 5 and 6. The I2C header bus also can be found at UEXT connector (can be found at **P2** header at the the board [overview](/helios64/hardware/overview) page) on the header number 5 and 6.
Below is the detail description of the UEXT connector: Below is the detail description of the UEXT connector:
@ -101,9 +101,9 @@ Pin No | Description
9|SCK (SPI) 9|SCK (SPI)
10|SSEL (SPI) 10|SSEL (SPI)
### Usage under Linux ## Usage under Linux
#### External bus block device under linux ### External bus block device under linux
Below table describe the external bus of I2C under Linux, Below table describe the external bus of I2C under Linux,
@ -113,7 +113,7 @@ Bus number | Device Block | Description |
8 | /dev/i2c-8 | | 8 | /dev/i2c-8 | |
#### Checking the I2C Communication under linux ### Checking the I2C Communication under linux
In order to communicate with the I2C devices, first we need to identify the I2C bus. In order to communicate with the I2C devices, first we need to identify the I2C bus.
By performing scan you can see wether system detect the devices. By performing scan you can see wether system detect the devices.
@ -142,9 +142,9 @@ root@helios64:~# i2cdetect -y 8
70: -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- --
``` ```
Here we can see there is a device detected at the address 0x3c. We can conclude is our OLED screen, unless you have connected more than just one I2C device on the **P1** header. Here we can see there is a device detected at the address 0x3c. If you have connected more than just one I2C device on the **P1** header, there will be more device with different address detected on the bus.
#### Application example ### Application example
We have demonstrated the use of I2C bus of our board in the OLED application, as shown in the [I2C(OLED)](/helios4/i2c/) page you can communicate to the external device by using the external I2C bus. We have demonstrated the use of I2C bus of our board in the OLED application, as shown in the [I2C(OLED)](/helios4/i2c/) page you can communicate to the external device by using the external I2C bus.

Binary file not shown.

After

Width:  |  Height:  |  Size: 174 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 166 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 174 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 174 KiB

37
docs/helios64/jumper.md Normal file
View file

@ -0,0 +1,37 @@
## Boot Mode (P10 & P11)
![Bootmode location](/helios64/img/jumper/p11-12-jumper.png)
Refer to [Boot Mode](/helios64/boot_mode)
## HS Select (P13)
![HS Select location](/helios64/img/jumper/p13-jumper.png)
When this jumper closed the High Speed USB (USB 2.0) connection to the SoC will be establised, while the serial console is disconnected, so you can use flashing technology such as rockusb and maskrom in the USB type-C port.
[comment]: <> (its also called as HS select, when this jumper is closed the micro USB-C connector become type-C HS (open = console), your USB-C cable will connected to the serial console of the Helios64 board by default. By closing this connection the USB-C connection will become the HS mode, the eMMC will be detected as the USB Mass storage in your PC, in this configuration can directly flash the Armbian image to it.)
## Power Supply Priority Jumper (P14 & P15)
| P15 | P14 | Description |
|-----|-----|-------------|
| Open | Open | O-Ring Connection |
| Open | Close | Set ATX Priority |
| Close | Open | Set AC Adapter Priority |
| Close | Close | Self Locking Priority |
## SATA Controller Flash MUX (P8)
Production usage only.
## eFuse Power Enable (P9)
Short this jumper using tweezer to burn the efuse data on maskrom mode.
!!! warning
Wrong efuse data can brick Helios64. Do NOT short this jumper on normal use!

View file

@ -4,7 +4,7 @@
The onboard LEDs location are shown in above figure The onboard LEDs location are shown in above figure
## LED indicators ### LED indicators
LED Name|Color|Description LED Name|Color|Description
---|---|--- ---|---|---
@ -17,3 +17,7 @@ LED6|green|System Status
LED7|red|System Error LED7|red|System Error
LED8|orange|Battery Charge LED8|orange|Battery Charge
## Front Panel LEDs
Please refer to [Front Panel](/helios64/front-panel/#the-front-panel-description)

View file

@ -1,17 +1,17 @@
## M2 Connector (P2) M.2, formerly known as the Next Generation Form Factor (NGFF), is a specification for internally mounted computer expansion cards and associated connectors.
M.2, formerly known as the Next Generation Form Factor (NGFF), is a specification for internally mounted computer expansion cards and associated connectors. M.2 replaces the mSATA standard, which uses the PCI Express Mini Card physical card layout and connectors. M.2 replaces the mSATA standard, which uses the PCI Express Mini Card physical card layout and connectors.
Supported bus in the Helios64 M.2 interface is SATA and USB 2.0. Supported bus in the Helios64 M.2 interface is SATA and USB 2.0.
!!! Warning! !!! Warning
PCIe SSD is not supported. PCIe SSD is not supported.
---TBU--- ---TBU---
## Location ## Location
Helios64 support M.2 device on header P2 which is located next to SATA 1 connector. Helios64 support M.2 device on header P2 which is located next to SATA 1 connector.
You can refer to the connector/interface list at [hardware overview](/helios64/hardware) page. You can refer to the connector/interface list at [hardware overview](/helios64/hardware#connector-interface-list) page.
The location of the M.2 socket is shown in below figure: The location of the M.2 socket is shown in below figure:
![M2 Pinout](/helios64/img/m2/m2-zoom-w-symbol.jpg) ![M2 Pinout](/helios64/img/m2/m2-zoom-w-symbol.jpg)
@ -25,6 +25,6 @@ The M.2 devices installed in Helios64 is configured as sharing devices with SATA
Therefore if you install M.2 SATA module, you will not be able to access the SATA Port 1. Therefore if you install M.2 SATA module, you will not be able to access the SATA Port 1.
In another case, if you use the M.2 USB module, the SATA Port 1 still accessible from the system. In another case, if you use the M.2 USB module, the SATA Port 1 still accessible from the system.
The USB bus is connected to the EHCI Host 0. The USB bus is connected to the [OHCI/EHCI Host 0](/helios64/usb/#usb-on-helios64).
The M.2 socket in the Helios64 board does NOT support the USB modem, because the USB modem require the SIM Card connection and another signal. The M.2 socket in the Helios64 board may NOT support USB modem (WWAN), because the USB modem requires the SIM Card connection and another signal.

View file

@ -1,20 +1,15 @@
## UEXT Connector (P2) ## UEXT overview
### UEXT overview
the development boards so customer can choose which feature he want to use. the development boards so customer can choose which feature he want to use.
UEXT (Universal-Extension-Connector) is board to bard connector which support 3 serial communication interface, such as I2C, SPI, RS232. 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. 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. UEXT gives you freedom to choose module that you want to use.
!!! Notice !!! 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. 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.
---TBU---
## Pinout Table
### Pinout Table
Helios64 provides UEXT on header P2 which following the UEXT standard, containing UEXT, SPI, and I2C connector. 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. You can find the P2 header from the connector/interface list at [hardware overview](/helios64/hardware) page.
@ -30,31 +25,30 @@ Below is the detailed description of UEXT header pinout:
| PIN | Port | Remarks | | PIN | Port | Remarks |
|-----|------|-------------| |-----|------|-------------|
|1 |3.3V| | 1 | 3.3V | |
|2 |GND| | 2 | GND | |
|3 |TXD (UART)| | 3 | TXD (UART) | |
|4 |RXD (UART)| | 4 | RXD (UART) | |
|5 |SCL (I2C)| | 5 | SCL (I2C) | |
|6 |SDA (I2C)| | 6 | SDA (I2C) | |
|7 |MISO (SPI)| | 7 | MISO (SPI) | |
|8 |MOSI (SPI)| | 8 | MOSI (SPI) | |
|9 |SCK (SPI)| | 9 | SCK (SPI) | |
|10 |SSEL (SPI)| |10 | SSEL (SPI) | |
!!! Warning !!! Warning
Please note the UEXT connector at Helios64 board doesn't provide the plastic covering, so be carefull with the header polarity! 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! Make sure your device is correctly oriented before connecting!
### SPI and I2C ## SPI and I2C
The implementation of SPI and I2C in the UEXT connector is follow similar convention in the Helios64 board. Please reffer to this page: The implementation of SPI and I2C in the UEXT connector is follow similar convention in the Helios64 board. Please refer to this page:
- [SPI](/helios64/hardware/) - [SPI](/helios64/hardware/)
- [I2C](/helios64/I2C/) - [I2C](/helios64/I2C/)
---**TBU**---
### Exception ## Exception
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. 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. The UART bus in this UEXT header is the parallel ones with the serial console.
@ -62,3 +56,6 @@ Therefore if you connect some module which might ***require dedicated serial UAR
!!! Notes !!! Notes
Please note also, that GPS modules in UEXT format also will not work due to similar reason. 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/

View file

@ -465,6 +465,30 @@ sdb 1:0:0:0 disk ATA TOSHIBA MQ04ABF1 0J sata
sdc 2:0:0:0 disk Linux File-Stor Gadget 0404 usb sdc 2:0:0:0 disk Linux File-Stor Gadget 0404 usb
``` ```
## Benchmark
Simple test to measure Helios64 throughput when being used as DAS.
Helios64 configured as DAS with various disks configuration and then connected to a PC running Ubuntu 18.04.
For raw device access, following command is used:
`sudo dd if=/dev/sdc of=/dev/null bs=10M iflag=direct status=progress`
For access on top of EXT4 filesystem, following command is used:
`dd if=/media/kobol/67d5fe3b-2d54-4770-9317-e30f1fd7c2e9/dd_test_data.dat of=/dev/null bs=10M iflag=direct status=progress`
*dd_test_data.dat* file size is 20GB.
### Result
Read transfer rate in MB/s
| Configuration | Raw Device | EXT4 FS |
|---------------|------------|---------|
| 1 SATA | 316 | 313 |
| 5 Disks as RAID6 | 318 | 322 |
| 4 Disks as RAID10 | 321 | 311 |
## References ## References
[1] https://www.kernel.org/doc/html/v5.4/usb/mass-storage.html [1] https://www.kernel.org/doc/html/v5.4/usb/mass-storage.html

View file

@ -77,14 +77,17 @@ nav:
- Hardware: - Hardware:
- Overview : 'helios64/hardware.md' - Overview : 'helios64/hardware.md'
- Battery : 'helios64/battery.md' - Battery : 'helios64/battery.md'
- Front Panel : 'helios64/front-panel.md' - Boot Mode : 'helios64/boot_mode.md'
- GPIO : 'helios64/gpio.md' - Button : 'helios64/button.md'
- Front Panel (P3): 'helios64/front-panel.md'
- GPIO (P5): 'helios64/gpio.md'
- I2C : 'helios64/i2c.md' - I2C : 'helios64/i2c.md'
- Jumper: 'helios64/jumper.md'
- LED : 'helios64/led.md' - LED : 'helios64/led.md'
- M.2 : 'helios64/m2.md' - M2 Connector (J2): 'helios64/m2.md'
- PWM Fan : 'helios64/fan.md' - PWM Fan : 'helios64/fan.md'
- SPI : 'helios64/spi.md' - SPI : 'helios64/spi.md'
- UEXT : 'helios64/uext.md' - UEXT Connector (P2): 'helios64/uext.md'
- USB : 'helios64/usb.md' - USB : 'helios64/usb.md'
- Helios4: - Helios4:
- Introduction: 'helios4/intro.md' - Introduction: 'helios4/intro.md'