Helios64 Hardware Detailed Info (#27)

* Add detailed hardware info for Helios64
    - Button
    - Ethernet
    - Front Panel
    - GPIO
    - I2C
    - Jumper
    - LED
    - M.2
    - PMIC
    - PWM Fan
    - RTC
    - SATA
    - SPI
    - UEXT
    - UPS
    - USB

* Cosmetic upgrade and adapt to latest mkdocs-material version

Co-authored-by: nurix <nurix@pnsnc.local>
Co-authored-by: Aditya Prayoga <aditya@kobol.io>
This commit is contained in:
Gauthier Provost 2020-04-20 16:06:24 +08:00 committed by GitHub
parent d67bc27932
commit 5ba93f2c13
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
96 changed files with 1268 additions and 241 deletions

View file

@ -22,7 +22,13 @@ $ pip3 install mkdocs
$ pip3 install mkdocs-material $ pip3 install mkdocs-material
``` ```
3. Install Lightgallery Extension 3. Install git-revision plugin
```bash
pip3 install mkdocs-git-revision-date-localized-plugin
```
4. Install Lightgallery Extension
```bash ```bash
$ git clone https://github.com/g-provost/lightgallery-markdown.git $ git clone https://github.com/g-provost/lightgallery-markdown.git
@ -32,12 +38,6 @@ $ cd lightgallery-markdown
$ python3 setup.py install $ python3 setup.py install
``` ```
4. Install git-revision plugin
```bash
pip3 install mkdocs-git-revision-date-plugin
```
5. Download and serve wiki 5. Download and serve wiki
```bash ```bash

42
docs/css/extra.css Normal file
View file

@ -0,0 +1,42 @@
.md-header-nav__download {
display: block;
width: 7rem;
max-width: 7rem;
margin-left: 1rem;
}
.md-nav--primary .md-nav__item .md-nav__item--active > .md-nav__link {
color: var(--md-accent-fg-color);
font-weight: bold;
}
.md-nav__item .md-nav__link--active {
color: var(--md-accent-fg-color);
font-weight: bold;
}
.md-tabs__link:hover {
color: var(--md-accent-fg-color);
}
.md-tabs__link--active {
color: var(--md-accent-fg-color);
font-weight: bold;
}
.md-typeset a {
color: var(--md-accent-fg-color);
}
.md-typeset a:focus, .md-typeset a:hover {
color: var(--md-accent-fg-color);
font-weight: bold;
}
.md-header-nav__button.md-logo img, .md-header-nav__button.md-logo svg {
display: block;
width: 100%;
height: 1.2rem;
fill: currentColor;
}

74
docs/download.md Normal file
View file

@ -0,0 +1,74 @@
disqus:
All images are generated by [Armbian](https://www.armbian.com/helios4/) build framework.
## Helios64
### Latest OS Images
=== "Debian 10 (Buster)"
*Coming Soon*
=== "Ubuntu 20.04 (Focal)"
*Coming Soon*
## Helios4
### Latest OS Images
=== "Debian 10 (Buster)"
[![Debian Stretch](/img/download/debian10.png)](https://dl.armbian.com/helios4/archive/Armbian_20.02.3_Helios4_buster_current_4.19.107.7z)<br>
*MD5SUM : 2e09c44a57075f4b9c6960db55eac54c<br>
Build date : 03/03/2020<br>
Size : 272 MB<br>*
[Direct Download](https://dl.armbian.com/helios4/archive/Armbian_20.02.3_Helios4_buster_current_4.19.107.7z)
=== "Debian 9 (Stretch)"
[![Debian Stretch](/img/download/debian9.png)](https://dl.armbian.com/helios4/archive/Armbian_20.02.3_Helios4_stretch_legacy_4.14.172.7z)<br>
*MD5SUM : a66d7d3fbaf57630f15dfc50d767291f<br>
Build date : 03/03/2020<br>
Size : 263 MB<br>*
[Direct Download](https://dl.armbian.com/helios4/archive/Armbian_20.02.3_Helios4_stretch_legacy_4.14.172.7z)
=== "Ubuntu 18.04 (Bionic)"
[![Ubuntu Bionic](/img/download/ubuntu.png)](https://dl.armbian.com/helios4/archive/Armbian_20.02.3_Helios4_bionic_current_4.19.107.7z)<br>
*MD5SUM : adf539231ed556cf01c7f8fdc1214220<br>
Build date : 03/03/2020<br>
Size : 207 MB<br>*
[Direct Download](https://dl.armbian.com/helios4/archive/Armbian_20.02.3_Helios4_bionic_current_4.19.107.7z)
### Known Limitations
- SDcard High Speed timing have compatibility issue with some brands.
**Temporary workaround :** Disable UHS option/support.
*Can be manually enable, refer to the following [page](/helios4/sdcard).*
- During SATA heavy load, accessing SPI NOR Flash will generate ATA errors.
**Temporary workaround :** Disable SPI NOR flash.
*Can be manually enable, refer to the following [page](/helios4/spi).*
### Image List
!!! note
7Z archives can be uncompressed with 7-Zip on Windows, Keka on OS X and 7z on Linux (apt-get install p7zip-full).
Filename | Download | MD5
---------|----------|----
**Armbian_20.02.3_Helios4_buster_current_4.19.107.7z**<br>Armbian 20.02.3 Debian 10 Buster (Kernel 4.19.107)<br>Build date : 03/03/2019<br>Size : 272 MB|[Download](https://dl.armbian.com/helios4/archive/Armbian_20.02.3_Helios4_buster_current_4.19.107.7z)|2e09c44a57075f4b9c6960db55eac54c
**Armbian_20.02.3_Helios4_stretch_legacy_4.14.172.7z**<br>Armbian 20.02.3 Debian 9 Stretch (Kernel 4.14.172)<br>Build date : 03/03/2019<br>Size : 263 MB|[Download](https://dl.armbian.com/helios4/archive/Armbian_20.02.3_Helios4_stretch_legacy_4.14.172.7z)|a66d7d3fbaf57630f15dfc50d767291f
**Armbian_20.02.3_Helios4_bionic_current_4.19.107.7z**<br>Armbian 20.02.3 Ubuntu 18.04 Bionic (Kernel 4.19.107)<br>Build date : 03/03/2019<br>Size : 207 MB|[Download](https://dl.armbian.com/helios4/archive/Armbian_20.02.3_Helios4_bionic_current_4.19.107.7z)|adf539231ed556cf01c7f8fdc1214220
**Armbian_19.11.3_Helios4_buster_current_4.19.84.7z**<br>Armbian 19.11.3 Debian 10 Buster (Kernel 4.19.84)<br>Build date : 19/11/2019<br>Size : 274 MB|[Download](https://dl.armbian.com/helios4/archive/Armbian_19.11.3_Helios4_buster_current_4.19.84.7z)|cdb4463097190de35a2e58b1b12223f9
**Armbian_19.11.3_Helios4_stretch_legacy_4.14.154.7z**<br>Armbian 19.11.3 Debian 9 Stretch (Kernel 4.14.154)<br>Build date : 19/11/2019<br>Size : 258 MB|[Download](https://dl.armbian.com/helios4/archive/Armbian_19.11.3_Helios4_stretch_legacy_4.14.154.7z)|cb7124089b8e1ff6feed32a5c5b768af
**Armbian_19.11.3_Helios4_bionic_current_4.19.84.7z**<br>Armbian 19.11.3 Ubuntu 18.04 Bionic (Kernel 4.19.84)<br>Build date : 19/11/2019<br>Size : 192 MB|[Download](https://dl.armbian.com/helios4/archive/Armbian_19.11.3_Helios4_bionic_current_4.19.84.7z)|7d0f80524bf2d24a3de403a6233a655b

View file

@ -1,68 +0,0 @@
disqus:
## Latest OS Images
All the following images are generated by [Armbian](https://www.armbian.com/helios4/) build framework.
### Armbian Buster (Debian 10)
[![Debian Stretch](/helios4/img/os/debian10.png)](https://dl.armbian.com/helios4/archive/Armbian_20.02.3_Helios4_buster_current_4.19.107.7z)<br>
*MD5SUM : 2e09c44a57075f4b9c6960db55eac54c<br>
Build date : 03/03/2020<br>
Size : 272 MB<br>*
[Direct Download](https://dl.armbian.com/helios4/archive/Armbian_20.02.3_Helios4_buster_current_4.19.107.7z)
!!! important
OMV5 (OpenMediaVault 5) for Debian 10 Buster is still in beta and unstable. If you wand to use OMV, then you should use Debian 9 Stretch with OMV 4 for now.
### Armbian Stretch (Debian 9)
[![Debian Stretch](/helios4/img/os/debian9.png)](https://dl.armbian.com/helios4/archive/Armbian_20.02.3_Helios4_stretch_legacy_4.14.172.7z)<br>
*MD5SUM : a66d7d3fbaf57630f15dfc50d767291f<br>
Build date : 03/03/2020<br>
Size : 263 MB<br>*
[Direct Download](https://dl.armbian.com/helios4/archive/Armbian_20.02.3_Helios4_stretch_legacy_4.14.172.7z)
!!! note
OMV4 (OpenMediaVault 4) can be installed with the **armbian-config** tool as explained [here](/helios4/omv/#install-openmediavault).
### Armbian Bionic (Ubuntu 18.04)
[![Ubuntu Bionic](/helios4/img/os/ubuntu.png)](https://dl.armbian.com/helios4/archive/Armbian_20.02.3_Helios4_bionic_current_4.19.107.7z)<br>
*MD5SUM : adf539231ed556cf01c7f8fdc1214220<br>
Build date : 03/03/2020<br>
Size : 207 MB<br>*
[Direct Download](https://dl.armbian.com/helios4/archive/Armbian_20.02.3_Helios4_bionic_current_4.19.107.7z)
## Known Limitations
- SDcard High Speed timing have compatibility issue with some brands.
**Temporary workaround :** Disable UHS option/support.
*Can be manually enable, refer to the following [page](/helios4/sdcard).*
- During SATA heavy load, accessing SPI NOR Flash will generate ATA errors.
**Temporary workaround :** Disable SPI NOR flash.
*Can be manually enable, refer to the following [page](/helios4/spi).*
## Image List
!!! note
7Z archives can be uncompressed with 7-Zip on Windows, Keka on OS X and 7z on Linux (apt-get install p7zip-full).
Filename | Download | MD5
---------|----------|----
**Armbian_20.02.3_Helios4_buster_current_4.19.107.7z**<br>Armbian 20.02.3 Debian 10 Buster (Kernel 4.19.107)<br>Build date : 03/03/2019<br>Size : 272 MB|[Download](https://dl.armbian.com/helios4/archive/Armbian_20.02.3_Helios4_buster_current_4.19.107.7z)|2e09c44a57075f4b9c6960db55eac54c
**Armbian_20.02.3_Helios4_stretch_legacy_4.14.172.7z**<br>Armbian 20.02.3 Debian 9 Stretch (Kernel 4.14.172)<br>Build date : 03/03/2019<br>Size : 263 MB|[Download](https://dl.armbian.com/helios4/archive/Armbian_20.02.3_Helios4_stretch_legacy_4.14.172.7z)|a66d7d3fbaf57630f15dfc50d767291f
**Armbian_20.02.3_Helios4_bionic_current_4.19.107.7z**<br>Armbian 20.02.3 Ubuntu 18.04 Bionic (Kernel 4.19.107)<br>Build date : 03/03/2019<br>Size : 207 MB|[Download](https://dl.armbian.com/helios4/archive/Armbian_20.02.3_Helios4_bionic_current_4.19.107.7z)|adf539231ed556cf01c7f8fdc1214220
**Armbian_19.11.3_Helios4_buster_current_4.19.84.7z**<br>Armbian 19.11.3 Debian 10 Buster (Kernel 4.19.84)<br>Build date : 19/11/2019<br>Size : 274 MB|[Download](https://dl.armbian.com/helios4/archive/Armbian_19.11.3_Helios4_buster_current_4.19.84.7z)|cdb4463097190de35a2e58b1b12223f9
**Armbian_19.11.3_Helios4_stretch_legacy_4.14.154.7z**<br>Armbian 19.11.3 Debian 9 Stretch (Kernel 4.14.154)<br>Build date : 19/11/2019<br>Size : 258 MB|[Download](https://dl.armbian.com/helios4/archive/Armbian_19.11.3_Helios4_stretch_legacy_4.14.154.7z)|cb7124089b8e1ff6feed32a5c5b768af
**Armbian_19.11.3_Helios4_bionic_current_4.19.84.7z**<br>Armbian 19.11.3 Ubuntu 18.04 Bionic (Kernel 4.19.84)<br>Build date : 19/11/2019<br>Size : 192 MB|[Download](https://dl.armbian.com/helios4/archive/Armbian_19.11.3_Helios4_bionic_current_4.19.84.7z)|7d0f80524bf2d24a3de403a6233a655b
**Armbian_5.91_Helios4_Debian_buster_next_4.19.63.7z**<br>Armbian 5.91 Debian 10 Buster (Kernel 4.19.63)<br>Build date : 02/08/2019<br>Size : 261 MB|[Download](https://cdn.kobol.io/files/Armbian_5.91_Helios4_Debian_buster_next_4.19.63.7z)|9c48344c208dfa50b5868debe6fae629
**Armbian_5.91_Helios4_Debian_stretch_default_4.14.135.7z**<br>Armbian 5.91 Debian 9 Stretch (Kernel 4.14.135)<br>Build date : 02/08/2019<br>Size : 252 MB|[Download](https://cdn.kobol.io/files/Armbian_5.91_Helios4_Debian_stretch_default_4.14.135.7z)|e8416b359a7620bb01b5a13c6a10612f
**Armbian_5.91_Helios4_Ubuntu_bionic_next_4.19.63.7z**<br>Armbian 5.91 Ubuntu 18.04 Bionic (Kernel 4.19.63)<br>Build date : 02/08/2019<br>Size : 192 MB|[Download](https://cdn.kobol.io/files/Armbian_5.91_Helios4_Ubuntu_bionic_next_4.19.63.7z)|62983d7519f15e67355d6dd5e60ee353

View file

@ -4,7 +4,7 @@ disqus:
Helios4 is a powerful ARM based board specially designed for Network Attached Storage. It harnesses its processing capabilities from the **ARMADA 38x-MicroSoM** from [SolidRun](https://wiki.solid-run.com/doku.php?id=products:a38x:microsom). Helios4 is a powerful ARM based board specially designed for Network Attached Storage. It harnesses its processing capabilities from the **ARMADA 38x-MicroSoM** from [SolidRun](https://wiki.solid-run.com/doku.php?id=products:a38x:microsom).
<img style="float: right;" src="/helios4/img/intro/helios4.jpg"> ![Helios64](/helios4/img/intro/helios4.jpg)
The **Marvell ARMADA® 388** is a robust and energy-efficient System on Chip (SoC) with a collection of high speed interfaces especially suited for headless data processing, networking and storage. This Dual-core ARM Cortex A9 CPU clocked at 1.6 Ghz, paired with 2GB of ECC memory, integrates a Cryptographic and XOR DMA engines to provide the best level of performance and reliability for NAS functionalities. The **Marvell ARMADA® 388** is a robust and energy-efficient System on Chip (SoC) with a collection of high speed interfaces especially suited for headless data processing, networking and storage. This Dual-core ARM Cortex A9 CPU clocked at 1.6 Ghz, paired with 2GB of ECC memory, integrates a Cryptographic and XOR DMA engines to provide the best level of performance and reliability for NAS functionalities.

View file

@ -1,10 +1,4 @@
This is a basic guide to help you setting up Helios4 NAS with [OpenMediaVault](https://www.openmediavault.org/) (**OMV**). OMV offers a large collection of features that we don't cover here. We invite you to look online for the existing OMV guides or go on the [OMV forum](https://forum.openmediavault.org/index.php/Board/29-Guides/). This is a basic guide to help you setting up Helios4 NAS with [OpenMediaVault](https://www.openmediavault.org/) (**OMV**). OMV offers a large collection of features that we don't cover here. We invite you to look online for the existing OMV guides or go on the [OMV forum](https://forum.openmediavault.org/index.php?board/29-guides/).
!!! info
The following guide was written for OMV3 (Erasmus), but it still works with OMV4 (Arrakis) since the interface is the same.
!!! important
As of July 2019, OMV5 (Usul) is still in Beta and Unstable, therefore we strongly recommend using OMV4 (Arrakis) for now. In order to install OMV4, you need to be running Debian 9 Stretch.
## What is OpenMediaVault? ## What is OpenMediaVault?

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

@ -0,0 +1,26 @@
# On-board Button
![Button Location](img/button/button.jpg)
!!! note
All the above on-board buttons are also exposed on the [Front Panel](/helios64/front-panel).
### Power Button
Helios64 board provides a POWER push button (SW1) to power ON/OFF the system. This button is connected to Power Management IC (PMIC) RK808-D. The following actions can be performed:
* **Power ON** : Short press (~1 second) will turn on the system when the current state is power off.
* **Power OFF** : Short press (~1 second) will inform system to perform graceful shutdown when the system is on.
* **Force Power OFF** : Long press (~4 seconds) will signals PMIC to cut off the power in case of system not responding.
### Reset Button
Helios64 board provides a RESET push button (SW3) to hard reset the system.
### Recovery Button
Helios64 board provides a RECOVERY push button (SW2) to allow user to easily flash over USB the on-board eMMC storage. This can be useful if you want to do a fresh install or if you want to repair a system that doesn't boot anymore.
User can enter recovery mode by pressing this button during boot up (bootloader stage). U-Boot will read the button state and switch the USB type-C port into USB Mass Storage device to expose eMMC flash as storage device. User can then use flash tools to write new OS image into eMMC flash.
Under Linux, this button behaves as user button and when pressed will emit **BTN_0** keycode (refer to [Linux Input Codes](https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/plain/include/uapi/linux/input-event-codes.h)). Therefore this button can also be used to trigger other actions than recovery.

36
docs/helios64/ethernet.md Normal file
View file

@ -0,0 +1,36 @@
![Ethernet Location](/helios64/img/ethernet/ethernet.jpg)
Helios64 has 2x BASE-T Ethernet interfaces :
* LAN 1 : 1000BASE-T (1 Gbit/s)
* LAN 2 : 2.5GBASE-T (2.5 Gbit/s)
LAN 1 is the native Gigabit Ethernet interface from SoC RK3399. The interfaces is exposed through the Ethernet transceiver RTL8211F connected to RK3399 via RGMII.
![Ethernet 1GbE Diagram](/helios64/img/ethernet/helios64_1gbe_diagram.jpg)
LAN2 is the Multigigabit (2.5Gb) Ethernet interface provided through Realtek RTL8156 controller which is an USB3.0 to LAN bridge. The controller is connected to RK3399 via [VL815 USB 3.0 Hub](/helios64/usb/#usb-on-helios64).
![Ethernet 2.5GbE Diagram](/helios64/img/ethernet/helios64_2-5gbe_diagram.jpg)
## Features
Both Ethernet interfaces supports the following features :
* Transfer Rate Auto-Negotiation
* Full-duplex and Half-duplex operation
* IEEE 802.3az Energy Efficient Ethernet
* IEEE 802.1Q VLAN tagging
* Wake-on-LAN (WOL)
* Crossover Detection & Auto-Correction
* Automatic Polarity Correction
## About MAC address
Each Helios64 unit comes with a unique MAC address for each Ethernet interfaces. These MAC addresses, allocated and programmed during manufacturing process, comes from a MAC Address Block assigned to Kobol Innovations Pte. Ltd. by the IEEE Registration Authority.
The following MAC Address Block Medium (MA-M) has been allocated to us :
| 28-bit Base Value | EUI-48 Address Block |
|-------------------|----------------------|
| 64-62-66-D | 0-00-00 through F-FF-FF |

View file

@ -0,0 +1,75 @@
Helios64 provides an external front panel interface via a 24-Pin header (P3) in order to expose system buttons and LEDs.
![P3 Location](/helios64/img/front-panel/fp_header.jpg)
## Pinout
![P3 Pinout](/helios64/img/front-panel/fp_header_pinout.jpg)
| PIN | Port | Direction |
|-----|------|-----------|
| 1 | SATA Consolidated Activity LED |
| 2 | Power On LED |
| 3 | Ground |
| 4 | Ground |
| 5 | RESET Button |
| 6 | POWER Button |
| 7 | USR1 Button |
| 8 | USR2 Button |
| 9 | Network Activity LED |
| 10 | USB Activity LED |
| 11 | 3V3 |
| 12 | System On LED |
| 13 | System Error LED |
| 14 | SATA 0 Activity LED |
| 15 | SATA 0 Error LED |
| 16 | SATA 1 Activity LED |
| 17 | SATA 1 Error LED |
| 18 | SATA 2 Activity LED |
| 19 | SATA 2 Error LED |
| 20 | SATA 3 Activity LED |
| 21 | SATA 3 Error LED |
| 22 | SATA 4 Activity LED |
| 23 | SATA 4 Error LED |
| 24 | Ground |
### Wiring Example
**LED wiring:**
![P3 LED Wiring](/helios64/img/front-panel/fp_led_wiring.jpg)
*LED output pins are Active High.*
**Button wiring:**
![P3 Button Wiring](/helios64/img/front-panel/fp_button_wiring.jpg)
*Button input pins are Active Low.*
## Helios64 Enclosure
The official Helios64 enclosure comes with a specially designed front panel that connects to the 24-Pin header (P3) and USB 3.0 Port (J1). This front panel exposes all the LEDS and Buttons required to operate the Helios64 NAS along with an USB 3.0 port for data loading / offloading.
![Front Panel Label](/helios64/img/front-panel/fp_labels.jpg)
### PCB Details
![Front Panel PCB RHS](/helios64/img/front-panel/fp_pcb_render.jpg)
* All switches are push buttons.
* All Error LEDs are red while Status / Activity LEDs are blue.
* USB 3.0 Port is provided by a USB 3.0 Type A Female to Male extension cable.
![Front Panel PCB LHS](/helios64/img/front-panel/fp_pcb_silkscreen.jpg)
### PCB Wiring
The Helios64 Front Panel is already mounted with the USB 3.0 extension cable and with a ribbon cable + header snapped to the ICD connector (P1).
The wiring between Helios64 main board and the front panel is illustrated in figure below:
![Front Panel Connection](/helios64/img/front-panel/fp_pcb_wiring.jpg)
!!! Warning
Please be careful with the 24-Pin header polarity. Make sure that Pin 1 of main board P3 header is connected to the Pin 1 of front panel P1 ICD connector.

30
docs/helios64/gpio.md Normal file
View file

@ -0,0 +1,30 @@
Helios64 provides 16 GPIOs via a 20-Pin header (P5). 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.
![P5 Location](/helios64/img/gpio/gpio.jpg)
## Pinout
![P5 Pinout](/helios64/img/gpio/gpio_pinout.jpg)
| PIN | Port | Remarks |
|-----|------|-------------|
| 1 | - | 3.3V Supply |
| 2 | - | 5V Supply |
| 3 | - | GND |
| 4 | EXP_P0_0 | |
| 5 | EXP_P0_1 | |
| 6 | EXP_P0_2 | |
| 7 | EXP_P0_3 | |
| 8 | EXP_P0_4 | |
| 9 | EXP_P0_5 | |
| 10 | EXP_P0_6 | |
| 11 | EXP_P0_7 | |
| 12 | EXP_P1_0 | |
| 13 | EXP_P1_1 | |
| 14 | EXP_P1_2 | |
| 15 | EXP_P1_3 | |
| 16 | EXP_P1_4 | |
| 17 | EXP_P1_5 | |
| 18 | EXP_P1_6 | |
| 19 | EXP_P1_7 | |
| 20 | - | GND |

View file

@ -1,3 +1,5 @@
# Helios64 Overview
## Block Diagram ## Block Diagram
### Helios64 Board ### Helios64 Board
@ -5,3 +7,50 @@
### RK3399 System-On-Chip ### RK3399 System-On-Chip
![!Block Diagram](/helios64/img/hardware/rk3399_block_diagram.png) ![!Block Diagram](/helios64/img/hardware/rk3399_block_diagram.png)
This block diagram is cited from the RK3399 website documentation. [1](http://opensource.rock-chips.com/wiki_File:RK3399_Block_Diagram.png)
## Connector / Interface List
![!Board Legend](/helios64/img/hardware/helios64_board_labeled.jpg)
| Name | Peripheral Type | Connector Type | Details |
|-----|---------------|--------------|-------|
| J1 | [USB 3.0](/helios64/usb/) | USB 3.0 Type-A | USB 3.0 Port 3 |
| J2 | [M.2](/helios64/m2/) | M.2 Key-B | M.2 Slot for SATA SSD<br> or USB 2.0 Device |
| J3 | [SATA](/helios64/sata/) | SATA 3.0 | Port 0 (SATA1) |
| J4 | [SATA](/helios64/sata/) | SATA 3.0 | Port 1 (SATA2) |
| J5 | [SATA](/helios64/sata/) | SATA 3.0 | Port 2 (SATA3) |
| J6 | [SATA](/helios64/sata/) | SATA 3.0 | Port 3 (SATA4) |
| J8 | [SATA](/helios64/sata/) | SATA 3.0 | Port 4 (SATA5) |
| J7 | [HDD Power](/helios64/sata/#hdd-power) | 8 Pin Mini-Fit Jr | HDD Power 5V + 12V<br>(supports 5x HDD) |
| J9 | [UPS Battery](/helios64/ups/) | 6 Pin Mini-Fit Jr | UPS Battery Power |
| J10 | ATX PSU | 4 Pin Mini-Fit Jr | DC input 12V |
| J11 | [LAN1](/helios64/ethernet/) | RJ45 | Gigabit Ethernet |
| J12 | [LAN2](/helios64/ethernet/) | RJ45 | 2.5 Gigabit Ethernet |
| J13 | [USB 3.0 (x2)](/helios64/usb/) | Dual USB 3.0 Type-A | USB 3.0 Port 1 and 2 |
| J14 | microSD | Push-Push card connector | Support SDHC and SDXC |
| J15| [USB Type-C](/helios64/usb/#type-c-functionality-on-helios64) | USB Type-C Connector | Supports following:<br>- DisplayPort Mode<br>- DAS Mode<br>- Host Mode<br>- Serial Console |
| J16| AC Adapter | Kycon 4-Pin Mini-DIN | DC input 12V |
| P1 | [I2C](/helios64/i2c/) | 4x1 Pin Header | I2C Bus |
| P2 | [UEXT](/helios64/uext/) | 2x5 Pin Header | Universal EXTension<br>(I2C, SPI and UART)|
| P3 | [Front Panel](/helios64/front-panel/) | 12x2 Pin Header | Front Panel Extension |
| P4 | Buzzer | 2x1 Pin Header | Buzzer Alarm Speaker |
| P5 | [GPIO](/helios64/gpio/) | 7x2 Pin Header | User Configurable GPIO |
| P6 | [PWM Fan](/helios64/pwm/) | 4x1 Pin Header | Fan 1 with PWM support |
| P7 | [PWM Fan](/helios64/pwm/) | 4x1 Pin Header | Fan 2 with PWM support |
| P8 | [SATA Ctrl. Programming](/helios64/jumper/#sata-controller-flash-p8) | 2x1 Pin Header | SATA Controller Flash Enable |
| P9 | [eFuse Programming](/helios64/jumper/#efuse-power-enable-p9) | 2x1 Pin Header | eFuse Power Supply Enable |
| P10 | [eMMC Flash Disable](/helios64/jumper/#boot-mode-p10-p11) | 2x1 Pin Header | Disable eMMC |
| P11 | [SPI Flash Disable](/helios64/jumper/#boot-mode-p10-p11) | 2x1 Pin Header | Disable SPI Flash |
| P12 | Battery Configuration | 2x1 Pin Header | *unpopulated* |
| P13 | [USB Console/Recovery Mode](/helios64/jumper/#usb-consolerecovery-mode-p13) | 2x1 Pin Male Header | USB-C HS Mode |
| P14 | [ATX Priority Jumper](/helios64/jumper/#dc-in-priority-p14-p15) | 2x1 Pin Male Header | ATX Supply Priority |
| P15 | [ACDC Priority Jumper](/helios64/jumper/#dc-in-priority-p14-p15) | 2x1 Pin Male Header | AC Adapter Supply Priority |
| SW1 | [Power Button](/helios64/button/#power-button) | Push Button | Power Button |
| SW2 | [Recovery Button](/helios64/button/#recovery-button) | Push Button | Recovery Button |
| SW3 | [Reset Button](/helios64/button/#reset-button) | Push Button | Reset Button |
## Power Management
Coming Soon.

135
docs/helios64/i2c.md Normal file
View file

@ -0,0 +1,135 @@
Helios64 supports I2C bus for low-speed communication between devices like microcontrollers, EEPROMs, A/D and D/A converters, I/O interfaces and other similar peripherals. In order to communicate with each I2C slave device you will need an address and communication scenario.
## I2C bus on Helios64 / RK3399
The I2C controller on RK3399 supports following features:
- 9 on-chip I2C controllers
- Multi-master I2C operation
- Support 7bits and 10bits address mode
- Serial 8bits oriented and bidirectional data transfers can be made
- Software programmable clock frequency
- 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
**Note:** In the implementation we divided the I2C controller into 2 categories:
* Internal Bus, reserved for the system
* Externel Bus, allocated for user application
## Internal Bus
!!! Warning
Theses buses and addresses should not be accessed directly by user. Incorrect configuration can damage the board.
Bus 0:
Slave | Address | Description|
------- | ------ |------ |
RK808-D | 0x1b | |
SYR837 | 0x40 | |
SYR838 | 0x41 | |
Bus 2:
Slave | Address | Description|
------- | ------ |------ |
NCT75 | 0x4c | |
PCA9655 | 0x21 | |
Bus 4:
Slave | Address | Description|
------- | ------ |------ |
FUSB302 | 0x22 | |
Above list also includes buses number 1,3,5 which are reserved for system use, therefore not accessible to the user.
## External Bus
Helios64 exposes Bus number 7 and 8 respectively on **P2** and **P1** headers.
All the I2C buses on the board are using voltage level of 3.3V. Note that Helios64 is integrated with level translator and pull up resistor.
Please take caution of the reserved address when you use the I2C interface, below is the reserved address list:
Slave Address | R/W Bit | Description
--------------|---------|-------------------
000 0000 | 0 | General call address
000 0000 | 1 | START byte(1)
000 0001 | X | CBUS address(2)
000 0010 | X | Reserved for different bus format (3)
000 0011 | X | Reserved for future purposes
000 01XX | X | Hs-mode master code
111 10XX | X | 10-bit slave addressing
111 11XX | X | Reserved for future purposes
### I2C Header (P1)
Helios64 board exposes I2C Bus 8 on header P1.
![P1 Location](/helios64/img/i2c/i2c.jpg)
This I2C device works with 3 pin bus (SDA, SCL, and GND), and also in band addressing. Below is the header pin-out:
![I2C Pinout](/helios64/img/i2c/i2c_pinout.jpg)
### UEXT Header (P2)
The I2C Bus 7 can be found on the [UEXT header (P2)](/helios64/uext).
![P2 Location](/helios64/img/i2c/uext.jpg)
![I2C at UEXT](/helios64/img/i2c/uext_pinout.jpg)
Below is the full pinout of the UEXT header:
Pin No | Description
--------|-------------
1|3.3V
2|GND
3|TXD (UART)
4|RXD (UART)
5|SCL (I2C)
6|SDA (I2C)
7|MISO (SPI)
8|MOSI (SPI)
9|SCK (SPI)
10|SSEL (SPI)
## Usage under Linux
Below table list the I2C external bus device name as detected under Linux:
Bus number | Device Block | Description |
-----------|--------------|--------------|
7 | /dev/i2c-7 | |
8 | /dev/i2c-8 | |
### Checking the I2C Communication under linux
In order to communicate with the I2C devices, first we need to identify the I2C bus. By performing scan you can see whether the system can detect device.
1. Install the Linux i2c tools.
```
$ sudo apt-get install i2c-tools
```
2. Use **i2cdetect** tool to scan I2C Bus 8.
```
root@helios64:~# i2cdetect -y 8
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- 3c -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
```
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 devices with different addresses detected on the bus.

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 152 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 415 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 122 KiB

BIN
docs/helios64/img/m2/m2.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

View file

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View file

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View file

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

View file

Before

Width:  |  Height:  |  Size: 6.1 KiB

After

Width:  |  Height:  |  Size: 6.1 KiB

View file

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 160 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

View file

@ -54,10 +54,8 @@ Helios64 is our latest design for the ultimate ARM powered NAS. Compared to the
![Helios64 Top View](/helios64/img/intro/helios64-top-view.jpg) ![Helios64 Top View](/helios64/img/intro/helios64-top-view.jpg)
## Mechanical ## Mechanical
|**Mechanical Specifications**|| |**Mechanical Specifications**||
|------------|-----------| |------------|-----------|
|Board Dimension|120mm x 120mm| |Board Dimension|120mm x 120mm|
@ -75,7 +73,4 @@ Helios64 is our latest design for the ultimate ARM powered NAS. Compared to the
|U-Boot Version|2019.11 |U-Boot Version|2019.11
|Software Partners|- Armbian: Debian and Ubuntu for ARM board<br>- OpenMediaVault: Linux NAS turn-key solution<br>- Syncloud: Cloud services at your premises<br>- Nextcloud: The File Hosting Solutions| |Software Partners|- Armbian: Debian and Ubuntu for ARM board<br>- OpenMediaVault: Linux NAS turn-key solution<br>- Syncloud: Cloud services at your premises<br>- Nextcloud: The File Hosting Solutions|
**More info coming soon...**
![Helios64 Heatsink](/helios64/img/intro/helios64-heatsink.jpg) ![Helios64 Heatsink](/helios64/img/intro/helios64-heatsink.jpg)

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

@ -0,0 +1,65 @@
## Boot Mode (P10 & P11)
Helios64 SoC supports 3 boot modes that can be chosen by jumper configuration.
The default boot device order is:
1. SPI Flash
2. eMMC Flash
3. micro-SD Card
The SoC will access sequentially the above devices until it finds a bootloader code. To change the boot order if a bootloader code is present on more then one device, we can use the combination of P10 and P11 jumpers to force SoC to skip devices.
![P10 P11 location](/helios64/img/jumper/p10-11-jumper.jpg)
- P11 jumper can be used to disable SPI Flash, when this jumper is shorted SoC will skip looking for bootloader on SPI Flash and will continue with the EMMC Flash.
- P10 jumper can be used to disable eMMC Flash, when this jumper is shorted SoC will skip looking for bootloader on eMMC Flash and will continue with the micro-SD card.
The following logic table gives a simplified view of boot order configuration by jumper, assuming bootloader code is present on each device:
| P11 State | P10 State | Boot Order | Notes |
|-----------|-----------|------------|-------|
| 0 | 0 | SPI Flash | - |
| 1 | 0 | eMMC Flash | - |
| 1 | 1 | micro-SD Card | - |
## USB Console/Recovery Mode (P13)
This jumper controls a 2:1 MUX switching the USB2.0 lanes of the Type-C port (J15) between the SoC Type-C interface and the USB-to-Serial bridge. For more details refer to the [USB Type-C section](/helios64/usb/#usb-on-helios64).
![P13 location](/helios64/img/jumper/p13-jumper.jpg)
* When the jumper is opened the Type-C port (J15) can be used to connect to the serial console of the Helios64.
* When closed and system in recovery mode, the Type-C port (J15) can be used to flash directly the eMMC over USB.
## DC-IN Priority (P14 & P15)
Helios64 supports 2x different DC-IN 12V inputs :
* AC Adapter (J16)
* ATX PSU (J10)
You can plug both DC-IN inputs in order to have a failover setup that automatically switch to the other input if the first one fails. Jumpers P14 and P15 can be used to configure input priority.
![P14 P15 location](/helios64/img/jumper/p14-15-jumper.jpg)
| 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 (P8)
Reserved for production.
## eFuse Power Enable (P9)
![P9 location](/helios64/img/jumper/p9-jumper.jpg)
When shorted this jumper will allow user to burn efuse data in order to configure secure boot.
!!! warning
Wrong efuse data can bricked Helios64 which cannot be repaired. Do **NOT** short this jumper if you don't know what you are doing.

18
docs/helios64/led.md Normal file
View file

@ -0,0 +1,18 @@
# On-Board LED
![LED location](/helios64/img/led/board-led.jpg)
!!! info
The bottom side of the board shows LED labels.
LED Name|Color|Description
---|---|---
LED1|green|System Rail Power
LED2|green|Periph. Rail Power
LED3|green|HDD Rail Power
LED4|blue|System ON
LED5|blue|HDD Activity
LED6|green|System Status/Heartbeat
LED7|red|System Error
LED8|green|M.2 Activity
LED9|orange|Battery Status

32
docs/helios64/m2.md Normal file
View file

@ -0,0 +1,32 @@
M.2 formerly known as the Next Generation Form Factor (NGFF) is a specification for internally mounted computer expansion cards and associated connectors. The M.2 replaces the mSATA standard.
Helios64 provides an M.2 interface (J2) to connect the following expansion cards:
* M.2 SATA SSD
* M.2 USB2.0 modules (e.g NPU extension).
![M.2 Location](/helios64/img/m2/m2.jpg)
!!! Important
PCIe SSD is not supported.
## Form Factor and Keying
The M.2 connector (J2) is Key-B which is compatible with most of M.2 SATA SSD of Key-B or Key-M+B Key form factors.
![M.2 Keying](/helios64/img/m2/m2_keying.jpg)
The board provides mounting holes for 2260 and 2280 cards.
![M.2 Form Factor](/helios64/img/m2/m2_form_factor.jpg)
## Usage
The M.2 interface on Helios64 only supports SATA 3.0 and USB 2.0 buses.
The M.2 SATA bus is shared with SATA Port 1. Therefore if you install an M.2 SATA SSD card, SATA Port 1 (J3) will automatically get disabled. But if you use the M.2 interface for USB modules, the SATA Port 1 (J3) is still enabled and accessible by the system.
For more details refer to [SATA page](/helios64/sata/).
!!! Note
The M.2 interface on Helios64 may NOT support USB modem (WWAN) because USB modem often requires external SIM Card connection and other signals.

29
docs/helios64/pmic.md Normal file
View file

@ -0,0 +1,29 @@
# Power Management IC (PMIC)
The Rockchip RK808-D is a specially designed Power Management IC (PMIC) for the RK3399 System-on-Chip (SoC). The highly integrated device includes 4x buck DC-DC converters, 8x high performance LDOs, 2x low RDS switches, I2C interface, programmable power sequencing and an Real time clock (RTC).
## Features
* Input voltage range: 2.7V to 5.5V
* 2MHz Switching Frequency for bucks
* Current mode architecture for best transient performance
* Internal compensation and soft start
* I2C Programmable output levels and power sequencing
* Real time clock (RTC)
* High efficiency architecture
* Integrated Vout Discharge Circuit for BUCK and LDO
* Power:
+ CH1: Synchronous Buck regulator, 5A max
+ CH2: Synchronous Buck regulator, 5A max
+ CH3: Synchronous Buck regulator, 3A max
+ CH4: Synchronous Buck regulator, 2.5A max
+ CH6,CH7,CH9,CH11: Linear regulators, 150mA max
+ CH8: Low noise and high PSRR linear regulator,100mA max
+ CH10,CH12,CH13: Linear regulators, 300mA max
+ CH14: Low RDS switch, 0.2ohm@Vgs=3v
+ CH15: Low RDS switch, 0.2ohm@Vgs=3v
* Flexible Power Sequence control
## Block Diagram
![RK808-D Diagram](/helios64/img/pmic/rk808d-diagram.png)

47
docs/helios64/pwm.md Normal file
View file

@ -0,0 +1,47 @@
## PWM Introduction
PWM, or pulse width modulation is a technique which allows us to adjust the average value of the voltage thats going to the electronic device by varying duty cycle of the power at a fast rate.
The term *duty cycle* describes the proportion of 'on' time to the regular interval or 'period' of time; a low duty cycle corresponds to low power, because the power is off for most of the time. Duty cycle is expressed in percent, 100% being fully on. When a digital signal is on half of the time and off the other half of the time, the digital signal has a duty cycle of 50% and resembles a "square" wave. When a digital signal spends more time in the on state than the off state, it has a duty cycle of >50%. When a digital signal spends more time in the off state than the on state, it has a duty cycle of <50%. Here is a pictorial that illustrates these three scenarios:
![PWM duty cycle](/helios64/img/pwm/pwm_duty_cycle_graph.png)
## PWM Fan Implementation
### Type-A
![Type A Curve](/helios64/img/pwm/fan_type_a_curve.jpg)
### Type-B
![Type B Curve](/helios64/img/pwm/fan_type_b_curve.jpg)
### Type-C
![Type C Curve](/helios64/img/pwm/fan_type_c_curve.jpg)
## PWM Fan Schematic
![!Fan Control Schematic](img/pwm/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 |
## PWM Fan Connector
![Fan Connector](/helios4/img/pwm/fan_connector.png)
Connector Pinout
| Pin | Function | Wire Color |
|-----|----------|------------|
| 1 | GND | Black |
| 2 | 12V | Red |
| 3 | Sense | Yellow |
| 4 | Control | Blue |

16
docs/helios64/rtc.md Normal file
View file

@ -0,0 +1,16 @@
# Real Time Clock (RTC)
Helios64 has an on-board RTC clock which is provided by the Power Management IC (PMIC) RK808-D. The RTC functions provided by the PMIC include second/minute/hour/day/month/year information, alarm wake up as well as time calibration.
![RTC](/helios64/img/rtc/rtc_diagram.jpg)
The SoC receive clock signal from the PMIC RTC and in the meantime access the PMIC RTC functions over I2C bus.
## RTC Battery
To save time information and allow the RTC to keep running while system is powered off, the PMIC RTC relies on a dedicated coin battery located at BAT1. The battery holder (BAT1) accepts CR1225 battery model.
![RTC Battery](/helios64/img/rtc/rtc_battery.jpg)
!!! Note
The polarity of the battery holder is indicated on the PCB with **'+'** signs.

62
docs/helios64/sata.md Normal file
View file

@ -0,0 +1,62 @@
# Serial ATA (SATA)
Helios64 uses the JMicron JMB585 Serial ATA (SATA) controller to provide 5x SATA 3.0 ports.
![SATA ports location](/helios64/img/sata/sata.jpg)
The SATA Controller is connected to RK3399 SoC via 2x lanes PCIe 2.0 offering 10GT/s (8Gbps) of bandwidth.
## SATA Controller Features
- 5 SATA ports,
- Command-based and FIS-based for Port Multiplier,
- Compliance with SATA Specification Revision 3.2,
- AHCI mode and IDE programming interface,
- Native Command Queue (NCQ),
- SATA link power saving mode (partial and slumber),
- SATA plug-in detection capable,
- Drive power control and staggered spin-up,
- SATA Partial / Slumber power management state.
## SATA Controller Diagram
![SATA Diagram](/helios64/img/sata/sata_diagram.jpg)
The above diagram shows the 2:1 MUX between SATA Port 1 and the M.2 connector. The M.2 SATA bus is shared with SATA Port 1, therefore if you install an M.2 SATA SSD card, SATA Port 1 (J3) will automatically get disabled.
## HDD Power
Helios64 provides on-board HDD power to supply up to 5x HDDs via header J7.
![J7 Location](/helios64/img/sata/j7.jpg)
The power delivery of the HDDs is devided into two group:
* HDD Rail A (Max. 3x Drives)
* HDD Rail B (Max. 2x Drives)
Helios64 implements a power staggering approach where *HDD Rail A* will be powered up first, then few seconds later *HDD Rail B* will be powered up. This power control scenario is performed to reduce the inrush current during disk spin-up.
### J7 Pinout
![J7 Location](/helios64/img/sata/j7_pinout.jpg)
| Pin | Signal Name |
|-----|-------------|
| 1 | 12V HDD Rail A |
| 2 | 12V HDD Rail B |
| 3 | 5V HDD Rail A |
| 4 | 5V HDD Rail B |
| 5 | GND |
| 6 | GND |
| 7 | GND |
| 8 | GND |
## HDD/SSD Harness
As part of Helios64 official enclosure, an HDD/SSD harness is provided to connected both SATA + Power signals between Helios64 board and the 5x HDD slots.
**Below the wiring diagram:**
![!HDD Harness](/helios64/img/sata/hdd_harness.png)

60
docs/helios64/spi.md Normal file
View file

@ -0,0 +1,60 @@
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 buses are divided into three types: *Not Available*, *System* (internal bus) and *User* (external bus).
| Bus | Usage | Remarks |
|-----|-------|-----------|
| 0 | Not Available | |
| 1 | System | Bootable SPI Flash |
| 2 | User | User Application |
| 3 | Not Available | |
| 4 | Not Available | |
| 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
- Preloader & bootloader
| Binaries | Offset | Remarks |
|----------|--------|---------|
| Preloader | 0x0040 | U-Boot TPL & SPL |
| Bootloader | 0x4000 | U-Boot & ATF |
- Electronic nameplate data in Security Register
## External Bus
| Bus | Chip Select | Remarks |
|-----|-------------|---------|
| 2 | 0 | User Application |
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)
| Pin | Signal Name |
|-----|-------------|
| 7 | MISO |
| 8 | MOSI |
| 9 | SCK |
| 10 | SSEL |
**Note:** The pin voltage level is 3.3V.

43
docs/helios64/uext.md Normal file
View file

@ -0,0 +1,43 @@
Helios64 has one UEXT (Universal-Extension-Connector) header which exposes 3 serial communication interfaces into a single header:
* I2C
* SPI
* RS232 (UART)
![P2 Location](/helios64/img/uext/uext.jpg)
## Pinout Table
![P2 Pinout](/helios64/img/uext/uext_pinout.jpg)
Below is the full pinout of the UEXT header:
| PIN | Port | Remarks |
|-----|------|-------------|
| 1 | 3.3V | |
| 2 | GND | |
| 3 | TXD (UART) | |
| 4 | RXD (UART) | |
| 5 | SCL (I2C) | |
| 6 | SDA (I2C) | |
| 7 | MISO (SPI) | |
| 8 | MOSI (SPI) | |
| 9 | SCK (SPI) | |
|10 | SSEL (SPI) | |
!!! Warning
Be careful with the header polarity when connecting.
## SPI & I2C
Refer to the respective pages directly:
- [SPI](/helios64/hardware/)
- [I2C](/helios64/I2C/)
## RS232 (UART)
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.
!!! Important
If you connect some modules which might require dedicated serial UART line to the SoC, this module will not operate properly.

47
docs/helios64/ups.md Normal file
View file

@ -0,0 +1,47 @@
# UPS (Uninterruptible Power Supply)
Helios64 provides a built-in UPS feature to protect your data from unexpected power loss. The feature requires an additional Li-Ion Battery to be connected to header J9 .
![J9 Location](/helios64/img/ups/j9.jpg)
## Feature
When system detects AC power loss, the system will switch instantly to battery mode. The system is able to fully run (including HDDs) on battery for up to 15 min. During that time, if AC power comes back, system will switch back to AC power mode. Else, if AC power is not resuming and battery voltage reach a certain low threshold, the system will automatically trigger graceful shutdown or hibernation (system-to-disk).
## Li-Ion Battery
As part of Helios64 accessories, we provide a specially designed Li-Ion Battery for the UPS feature.
![Li-Ion Battery](/helios64/img/ups/battery.jpg)
The actual cells of the this battery pack is the *Panasonic NCR18650BD*, we use 2x cells in 2S1P configuration. The battery pack is equipped with a thermistor to monitor the cell temperature.
The battery pack is rated 7.4V 3200mAh (23.68Wh) with max continuous discharge of 10A.
!!! Info
It's possible for users to build their own battery if they respect the same above specification and pinout.
## J9 Header Pinout
![j9 Pinout](/helios64/img/ups/j9_pinout.jpg)
|Pin |Name |
|----|----------|
| 1 |Thermistor |
| 2 |Battery + |
| 3 |Battery + |
| 4 |GND |
| 5 |Battery - |
| 6 |Battery - |
## Charge Management
Battery charge is fully managed by hardware, no software required. Charging function still operates when system is powered off. Helios64 board provides a visual charging indicator on LED9.
|LED State | Description |
|-----------|-------------|
| On |Charging |
| Off | Charge complete |
| Blinking | Fault / Battery Absent |
**Note:** The estimated time to fully charge the empty battery is around 4 hours.

107
docs/helios64/usb.md Normal file
View file

@ -0,0 +1,107 @@
![USB Location](/helios64/img/usb/usb_ports.jpg)
## USB Controller Types
There are 3 types of USB controller available on RK3399 SoC. Each type has 2 controllers, so in total there are 6 USB controllers. Below a description of each controller type.
### Generic OHCI USB 1.1 Controller
This controller is Host only controller that is compatible with USB 1.1.
Supported speeds:
- Full Speed (12 Mbps)
- Low Speed (1.5 Mbps)
### Generic EHCI USB 2.0 Controller
This controller is Host only controller that is compatible with USB 2.0. The controller shared port with
*Generic OHCI USB 1.1 Controller* therefore any USB 1.1 device connected to the port, will be automatically routed to *Generic OHCI USB 1.1 Controller*.
Supported speed:
- High Speed (480 Mbps)
### Synopsys DesignWare USB 3.0 Dual-Role Device Controller
This controller support On-The-Go / Dual Role which means it can be configured as Host or as Device.
Supported speeds:
- Super Speed (5 Gbps)
- High Speed (480 Mbps)
- Full Speed (12 Mbps)
- Low Speed (1.5 Mbps)
This controller is connected to RK3399 Type-C PHY.
## USB on Helios64
![USB Connection](/helios64/img/usb/usb_diagram.png)
* The first USB 3.0 Dual-Role Device Controller is connected to USB Type-C connector (J15) and configured as OTG with help of [FUSB302](https://www.onsemi.com/products/interfaces/usb-type-c/fusb302).
* The second USB 3.0 Dual-Role Device Controller is connected to USB Hub 3.1 Gen 1 and configured as Host only.
* One of EHCI Controller (and OHCI Controller) is connected to M.2 socket.
### Power Budget
Each external USB port is protected by a Power Distribution switch with following current limit.
| Port | Voltage | Maximum Current | Remarks |
|------------|-------|------------------|---------|
| USB 3.0 Upper Back Panel | 5V | 900 mA | |
| USB 3.0 Lower Back Panel | 5V | 900 mA | |
| USB 3.0 Front Panel | 5V | 900 mA | |
| Type-C | 5V | 1200 mA | PDO source only |
## Type-C Functionality on Helios64
To minimize number of interfaces and cables, Helios64 combined 4 functions into the USB Type-C interface :
* Serial Console
* Display Port
* Host Mode
* Device Mode (aka DAS mode)
![USB Mux](/helios64/img/usb/usb_mux.png)
Helios64 uses an High Speed multiplexer on USB 2.0 signal. By default the USB 2.0 signal is routed to USB Serial Console.
The multiplexer can be override using [jumper P13](/helios64/jumper/#usb-consolerecovery-mode-p13) or by software via GPIO.
### Serial Console
Serial Console of Helios64 is connected to FT232 USB Serial converter and the USB 2.0 signal of the FT232 is connected to USB 2.0 signals of USB Type-C Port.
### Display Port
Using USB Type-C to DisplayPort cable, Helios64 can be connected to monitor to display Linux Desktop or others GUI applications.
![Type-c to DisplayPort](/helios64/img/usb/typec_dp.jpg)
Using USB Type-C to HDMI cable/dongle, Helios64 can be connected to a TV and used as a media center.
![Type-c to HDMI female](/helios64/img/usb/typec_hdmi_dongle.jpg)
*USB Type-C to HDMI dongle*
![Type-c to HDMI male](/helios64/img/usb/typec_hdmi.jpg)
*USB Type-C to HDMI cable*
!!! note
- DisplayPort Alternate Mode is NOT supported on U-Boot.
- USB Type-C to HDMI cable might not work if it used DisplayPort dual mode (DP++).
### Host Mode
Using OTG cable (Type-C to Type A female) such as,
![Type-C to Type-A female](/helios64/img/usb/typec_typea_female.jpg)
Helios64 can act as USB host and can be connected to various USB devices.
### Device Mode
Using Type-C to Type A male cable such as,
![Type-C to Type-A male](/helios64/img/usb/typec_typea_male.jpg)
Helios64 can be used as Direct Attached Storage (DAS) with the required software configuration. It can also be used as "USB eMMC reader/writer" during system recovery mode.

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

121
docs/img/kobol_logo.svg Normal file
View file

@ -0,0 +1,121 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="63.616604mm"
height="11.359514mm"
viewBox="0 0 63.616604 11.359514"
version="1.1"
id="svg883"
inkscape:version="0.92.4 (fd57863, 2020-04-02)"
sodipodi:docname="kobol_logo.svg">
<defs
id="defs877" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.979899"
inkscape:cx="44.271925"
inkscape:cy="-16.29927"
inkscape:document-units="mm"
inkscape:current-layer="g5731-1"
showgrid="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:showpageshadow="true"
inkscape:window-width="1738"
inkscape:window-height="495"
inkscape:window-x="144"
inkscape:window-y="859"
inkscape:window-maximized="0" />
<metadata
id="metadata880">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-203.3133,-26.267848)">
<g
transform="translate(57.41175,82.014584)"
id="g5731-1"
style="fill:#000000">
<g
id="g5839"
inkscape:export-xdpi="670.76837"
inkscape:export-ydpi="670.76837"
transform="translate(128.45352,-78.23115)">
<path
id="path5664"
transform="scale(0.26458333)"
d="m 70.425781,84.980469 a 4.4800001,4.4800001 0 0 0 -4.480469,4.480469 v 38.453122 h 8.958985 v -10.30468 h 15.605469 l 10.304684,10.30468 h 12.54297 L 98.574219,113.20312 113.35742,98.494141 H 100.81445 L 90.509766,108.79883 H 74.904297 V 89.460938 a 4.4800001,4.4800001 0 0 0 -4.478516,-4.480469 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:74.66666412px;line-height:1.25;font-family:moonhouse;-inkscape-font-specification:'moonhouse, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#333333;fill-opacity:1;stroke:none;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
d="m 34.111453,33.843739 q -0.809978,0 -1.521178,-0.296332 -0.7112,-0.316089 -1.2446,-0.829734 -0.513644,-0.5334 -0.829733,-1.244599 -0.296334,-0.7112 -0.296334,-1.521178 0,-0.809978 0.296334,-1.521178 0.316089,-0.7112 0.829733,-1.224844 0.5334,-0.5334 1.2446,-0.829734 0.7112,-0.316088 1.521178,-0.316088 h 6.539089 q 0.809976,0 1.521176,0.316088 0.7112,0.296334 1.224847,0.829734 0.5334,0.513644 0.829733,1.224844 0.316087,0.7112 0.316087,1.521178 0,0.809978 -0.316087,1.521178 -0.296333,0.711199 -0.829733,1.244599 -0.513647,0.513645 -1.224847,0.829734 -0.7112,0.296332 -1.521176,0.296332 z m 0,-5.413021 q -0.632178,0 -1.086556,0.454378 -0.434622,0.434622 -0.434622,1.0668 0,0.632178 0.434622,1.086555 0.454378,0.434623 1.086556,0.434623 h 6.539089 q 0.632176,0 1.0668,-0.434623 0.454376,-0.454377 0.454376,-1.086555 0,-0.632178 -0.454376,-1.0668 -0.434624,-0.454378 -1.0668,-0.454378 z"
style="line-height:1.25;letter-spacing:0px;word-spacing:0px;fill:#333333;fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path5666"
inkscape:connector-curvature="0" />
<path
id="path5668"
transform="scale(0.26458333)"
d="m 176.1543,84.980469 a 4.4799988,4.4799988 0 0 0 -4.48047,4.480469 v 23.742182 c 0,2.04089 0.37443,3.958 1.12109,5.75 0.79645,1.792 1.84055,3.36108 3.13477,4.70508 1.344,1.29423 2.91308,2.33832 4.70508,3.13477 1.792,0.74666 3.70715,1.12109 5.74804,1.12109 h 23.07227 c 2.04089,0 3.958,-0.37443 5.75,-1.12109 1.792,-0.79645 3.33468,-1.84054 4.6289,-3.13477 1.344,-1.344 2.39006,-2.91308 3.13672,-4.70508 0.79645,-1.79199 1.19336,-3.70911 1.19336,-5.75 0,-2.04088 -0.39691,-3.95604 -1.19336,-5.74804 -0.74666,-1.792 -1.79272,-3.33469 -3.13672,-4.62891 -1.29422,-1.344 -2.8369,-2.39005 -4.6289,-3.136717 -1.792,-0.796442 -3.70911,-1.195312 -5.75,-1.195312 h -23.44531 v 8.960939 h 23.44531 c 1.59289,0 2.93809,0.57191 4.0332,1.7168 1.14489,1.09511 1.7168,2.43836 1.7168,4.03124 0,1.59289 -0.57191,2.96254 -1.7168,4.10743 -1.09511,1.09511 -2.44031,1.64257 -4.0332,1.64257 h -23.07227 c -1.59289,0 -2.96058,-0.54746 -4.10547,-1.64257 -1.09511,-1.14489 -1.64257,-2.51454 -1.64257,-4.10743 V 89.460938 a 4.4799988,4.4799988 0 0 0 -4.48047,-4.480469 z"
style="line-height:1.25;letter-spacing:0px;word-spacing:0px;fill:#333333;fill-opacity:1;stroke:none;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
d="m 63.706201,33.843739 q -0.809977,0 -1.521177,-0.296332 -0.7112,-0.316089 -1.2446,-0.829734 -0.513646,-0.5334 -0.829734,-1.244599 -0.296333,-0.7112 -0.296333,-1.521178 0,-0.809978 0.296333,-1.521178 0.316088,-0.7112 0.829734,-1.224844 0.5334,-0.5334 1.2446,-0.829734 0.7112,-0.316088 1.521177,-0.316088 h 6.539089 q 0.809977,0 1.521177,0.316088 0.7112,0.296334 1.224844,0.829734 0.5334,0.513644 0.829733,1.224844 0.31609,0.7112 0.31609,1.521178 0,0.809978 -0.31609,1.521178 -0.296333,0.711199 -0.829733,1.244599 -0.513644,0.513645 -1.224844,0.829734 -0.7112,0.296332 -1.521177,0.296332 z m 0,-5.413021 q -0.632177,0 -1.086557,0.454378 -0.43462,0.434622 -0.43462,1.0668 0,0.632178 0.43462,1.086555 0.45438,0.434623 1.086557,0.434623 h 6.539089 q 0.632177,0 1.0668,-0.434623 0.454377,-0.454377 0.454377,-1.086555 0,-0.632178 -0.454377,-1.0668 -0.434623,-0.454378 -1.0668,-0.454378 z"
style="line-height:1.25;letter-spacing:0px;word-spacing:0px;fill:#333333;fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path5670"
inkscape:connector-curvature="0" />
<path
id="path5672"
transform="scale(0.26458333)"
d="m 289.57617,84.980469 a 4.4800024,4.4800024 0 0 0 -4.48047,4.480469 v 38.453122 h 8.96094 V 89.460938 a 4.4800024,4.4800024 0 0 0 -4.48047,-4.480469 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:74.66666412px;line-height:1.25;font-family:moonhouse;-inkscape-font-specification:'moonhouse, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#333333;fill-opacity:1;stroke:none;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
inkscape:connector-curvature="0" />
</g>
<g
inkscape:export-ydpi="670.76837"
inkscape:export-xdpi="670.76837"
transform="matrix(0.26458333,0,0,0.26458333,218.92754,-87.34966)"
id="g880">
<g
aria-label="R"
transform="matrix(0.49298455,0,0,0.49298455,-151.58913,-237.05935)"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;line-height:1.25;font-family:iconmind;-inkscape-font-specification:iconmind;letter-spacing:0px;word-spacing:0px;fill:#333333;fill-opacity:1;stroke:none"
id="flowRoot861">
<path
d="m 227.51562,732.43359 q 0.50782,0.17188 0.98438,0.73438 0.48437,0.5625 0.96875,1.54687 l 1.60156,3.1875 H 229.375 l -1.49219,-2.99218 q -0.57812,-1.17188 -1.125,-1.55469 -0.53906,-0.38281 -1.47656,-0.38281 h -1.71875 v 4.92968 h -1.57813 v -11.66406 h 3.5625 q 2,0 2.98438,0.83594 0.98437,0.83594 0.98437,2.52344 0,1.10156 -0.51562,1.82812 -0.50781,0.72656 -1.48438,1.00781 z m -3.95312,-4.89843 v 4.14062 h 1.98437 q 1.14063,0 1.71875,-0.52344 0.58594,-0.53125 0.58594,-1.55468 0,-1.02344 -0.58594,-1.53907 -0.57812,-0.52343 -1.71875,-0.52343 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans'"
id="path863" />
</g>
<path
style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.30632305;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:9.99885654;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke"
d="m -35.716214,123.83926 a 4.182426,4.2419715 0 0 1 -4.182426,4.24197 4.182426,4.2419715 0 0 1 -4.182426,-4.24197 4.182426,4.2419715 0 0 1 4.182426,-4.24198 4.182426,4.2419715 0 0 1 4.182426,4.24198 z"
id="path869" />
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 407 B

View file

@ -15,7 +15,7 @@ Here our existing projects :
* Launch Year : 2020 * Launch Year : 2020
* Availability : In-Production * Availability : In-Production
**Go to [Helios64 section](/helios64/intro) for more info.** Go to [Helios64 section](/helios64/intro) for more info.
## Helios4 ## Helios4
@ -24,4 +24,4 @@ Here our existing projects :
* Launch Year : 2017 * Launch Year : 2017
* Availability : End-of-Life * Availability : End-of-Life
**Go to [Helios4 section](/helios4/intro) for more info.** Go to [Helios4 section](/helios4/intro) for more info.

View file

@ -16,33 +16,37 @@ copyright: 'Copyright &copy; Kobol Innovations Pte. Ltd. 2020'
theme: theme:
name: 'material' name: 'material'
language: 'en' language: 'en'
favicon: './img/favicon.png' favicon: 'img/favicon.png'
logo: './img/kobol_logo.png' logo: 'img/kobol_logo.svg'
icon:
repo: 'fontawesome/brands/git-alt'
custom_dir: 'theme' custom_dir: 'theme'
features:
- tabs
palette: palette:
primary: 'teal' primary: 'white'
accent: 'pink' accent: 'pink'
font: font:
text: 'Roboto' text: 'Roboto'
code: 'Roboto Mono' code: 'Roboto Mono'
extra_css:
- css/extra.css
# Options # Options
extra: extra:
social: social:
- type: 'home' - icon: 'fontawesome/solid/home'
link: 'https://kobol.io' link: 'https://kobol.io'
- type: 'github' - icon: 'fontawesome/brands/github'
link: 'https://github.com/helios-4' link: 'https://github.com/helios-4'
- type: 'facebook' - icon: 'fontawesome/brands/facebook'
link: 'https://facebook.com/kobol.io' link: 'https://facebook.com/kobol.io'
- type: 'twitter' - icon: 'fontawesome/brands/twitter'
link: 'https://twitter.com/kobol_io' link: 'https://twitter.com/kobol_io'
- type: 'rss-square' - icon: 'fontawesome/solid/rss-square'
link: 'https://blog.kobol.io' link: 'https://blog.kobol.io'
disqus: 'kobol-wiki' disqus: 'kobol-wiki'
sd_release:
latest: '03/03/2020'
# Google Analytics # Google Analytics
google_analytics: google_analytics:
@ -52,7 +56,7 @@ google_analytics:
# Plugins # Plugins
plugins: plugins:
- search - search
- git-revision-date - git-revision-date-localized
# Extensions # Extensions
markdown_extensions: markdown_extensions:
@ -62,39 +66,58 @@ markdown_extensions:
guess_lang: False guess_lang: False
- toc: - toc:
permalink: True permalink: True
- pymdownx.tabbed
- lightgallery - lightgallery
# Page naming # Page naming
nav: nav:
- Welcome: 'index.md' - Home:
- Introduction: 'index.md'
- Download: 'download.md'
- About: 'about.md'
- Helios64: - Helios64:
- Introduction: 'helios64/intro.md' - Introduction: 'helios64/intro.md'
- Hardware: - Hardware:
- Overview : 'helios64/hardware.md' - Overview: 'helios64/hardware.md'
- Button: 'helios64/button.md'
- Ethernet: 'helios64/ethernet.md'
- Front Panel: 'helios64/front-panel.md'
- GPIO: 'helios64/gpio.md'
- I2C: 'helios64/i2c.md'
- Jumper: 'helios64/jumper.md'
- LED: 'helios64/led.md'
- M.2: 'helios64/m2.md'
- PMIC: 'helios64/pmic.md'
- PWM Fan: 'helios64/pwm.md'
- RTC: 'helios64/rtc.md'
- SATA: 'helios64/sata.md'
- SPI: 'helios64/spi.md'
- UEXT: 'helios64/uext.md'
- UPS: 'helios64/ups.md'
- USB: 'helios64/usb.md'
- Helios4: - Helios4:
- Introduction: 'helios4/intro.md' - Introduction: 'helios4/intro.md'
- Kit Assembly: 'helios4/kit.md' - Kit Assembly: 'helios4/kit.md'
- Download: 'helios4/download.md' - Download: '/download/#helios4'
- Install: 'helios4/install.md' - Install: 'helios4/install.md'
- O/S: - O/S:
- Arch Linux : 'helios4/arch.md' - Arch Linux: 'helios4/arch.md'
- Armbian : 'helios4/armbian.md' - Armbian: 'helios4/armbian.md'
- FreeBSD : 'helios4/freebsd.md' - FreeBSD: 'helios4/freebsd.md'
- Syncloud : 'helios4/syncloud.md' - Syncloud: 'helios4/syncloud.md'
- U-Boot (bootloader) : 'helios4/uboot.md' - U-Boot (bootloader): 'helios4/uboot.md'
- Software: - Software:
- Mdadm (RAID) : 'helios4/mdadm.md' - Mdadm (RAID): 'helios4/mdadm.md'
- NextCloud : 'helios4/nextcloud.md' - NextCloud: 'helios4/nextcloud.md'
- OpenMediaVault : 'helios4/omv.md' - OpenMediaVault: 'helios4/omv.md'
- Hardware: - Hardware:
- Overview : 'helios4/hardware.md' - Overview: 'helios4/hardware.md'
- CESA (HW Crypto) : 'helios4/cesa.md' - CESA (HW Crypto): 'helios4/cesa.md'
- GPIO : 'helios4/gpio.md' - GPIO: 'helios4/gpio.md'
- I2C (OLED) : 'helios4/i2c.md' - I2C (OLED): 'helios4/i2c.md'
- LED : 'helios4/led.md' - LED: 'helios4/led.md'
- PWM (Fan) : 'helios4/pwm.md' - PWM (Fan): 'helios4/pwm.md'
- SDIO (SD Card) : 'helios4/sdcard.md' - SDIO (SD Card): 'helios4/sdcard.md'
- SPI (NOR Flash) : 'helios4/spi.md' - SPI (NOR Flash): 'helios4/spi.md'
- Wake-on-LAN : 'helios4/wol.md' - Wake-on-LAN: 'helios4/wol.md'
- Documents: 'helios4/docs.md' - Documents: 'helios4/docs.md'
- About: 'about.md'

View file

@ -0,0 +1,15 @@
{% import "partials/language.html" as lang with context %}
<a
href="/download/"
title="Download"
class="md-source"
>
<div class="md-source__icon md-icon">
{% set icon = "fontawesome/solid/sd-card" %}
{% include ".icons/" ~ icon ~ ".svg" %}
</div>
<div class="md-source__repository">
Download
</div>
</a>

View file

@ -1,108 +1,67 @@
<!--
Copyright (c) 2016-2019 Martin Donath <martin.donath@squidfunk.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
deal in the Software without restriction, including without limitation the
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
sell copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
IN THE SOFTWARE.
-->
<!-- Application header --> <!-- Application header -->
<header class="md-header" data-md-component="header"> <header class="md-header" data-md-component="header">
<!-- Top-level navigation --> <!-- Top-level navigation -->
<nav class="md-header-nav md-grid"> <nav class="md-header-nav md-grid" aria-label="{{ lang.t('header.title') }}">
<div class="md-flex">
<!-- Link to home --> <!-- Link to home -->
<div class="md-flex__cell md-flex__cell--shrink"> <a
<a href="{{ config.site_url | default(nav.homepage.url, true) | url }}" href="{{ config.site_url | default(nav.homepage.url, true) | url }}"
title="{{ config.site_name }}" title="{{ config.site_name }}"
class="md-header-nav__button md-logo"> class="md-header-nav__button md-logo"
{% if config.theme.logo.icon %} aria-label="{{ config.site_name }}"
<i class="md-icon">{{ config.theme.logo.icon }}</i> >
{% else %} {% include "partials/logo.html" %}
<img src="{{ config.theme.logo | url }}" width="128" height="24" />
{% endif %}
</a> </a>
</div>
<!-- Button to toggle drawer --> <!-- Button to open drawer -->
<div class="md-flex__cell md-flex__cell--shrink"> <label class="md-header-nav__button md-icon" for="__drawer">
<label class="md-icon md-icon--menu md-header-nav__button" {% include ".icons/material/menu" ~ ".svg" %}
for="__drawer"></label> </label>
</div>
<!-- Header title --> <!-- Header title -->
<div class="md-flex__cell md-flex__cell--stretch"> <div class="md-header-nav__title" data-md-component="header-title">
<div class="md-flex__ellipsis md-header-nav__title"
data-md-component="title">
{% if config.site_name == page.title %} {% if config.site_name == page.title %}
<div class="md-header-nav__ellipsis md-ellipsis">
{{ config.site_name }} {{ config.site_name }}
</div>
{% else %} {% else %}
<span class="md-header-nav__topic"> <div class="md-header-nav__ellipsis">
<span class="md-header-nav__topic md-ellipsis">
{{ config.site_name }} {{ config.site_name }}
</span> </span>
<span class="md-header-nav__topic"> <span class="md-header-nav__topic md-ellipsis">
{% if page and page.meta and page.meta.title %} {% if page and page.meta and page.meta.title %}
{{ page.meta.title }} {{ page.meta.title }}
{% else %} {% else %}
{{ page.title }} {{ page.title }}
{% endif %} {% endif %}
</span> </span>
{% endif %}
</div> </div>
{% endif %}
</div> </div>
<!-- Button to open search dialogue --> <!-- Button to open search dialogue -->
<div class="md-flex__cell md-flex__cell--shrink">
{% if "search" in config["plugins"] %} {% if "search" in config["plugins"] %}
<label class="md-icon md-icon--search md-header-nav__button" <label class="md-header-nav__button md-icon" for="__search">
for="__search"></label> {% include ".icons/material/magnify.svg" %}
</label>
<!-- Search interface --> <!-- Search interface -->
{% include "partials/search.html" %} {% include "partials/search.html" %}
{% endif %} {% endif %}
<!-- Download Section -->
<div class="md-header-nav__download">
{% include "partials/download.html" %}
</div> </div>
<!-- Repository containing source --> <!-- Repository containing source -->
{% if config.repo_url %} {% if config.repo_url %}
<div class="md-flex__cell md-flex__cell--shrink">
<div class="md-header-nav__source"> <div class="md-header-nav__source">
{% include "partials/source.html" %} {% include "partials/source.html" %}
</div> </div>
</div>
{% endif %} {% endif %}
<div class="md-flex__cell md-flex__cell--shrink">
<div class="md-header-nav__source">
<a href="/helios4/download" title="Go to Download" class="md-source">
<div class="md-source__icon" style="vertical-align:middle; display:inline-block; height:100%">
<img src="/img/sd.png" style="position:relative; left:10px;">
</div>
<div class="md-source__repository">
Download IMG
<ul class="md-source__facts">
<li class="md-source__fact">Latest build : {{ config.extra.sd_release.latest }}</li>
</ul>
</div>
</a>
</div>
</div>
</div>
</nav> </nav>
</header> </header>

View file

@ -1,5 +1,5 @@
<!-- <!--
Copyright (c) 2016-2019 Martin Donath <martin.donath@squidfunk.com> Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to of this software and associated documentation files (the "Software"), to
@ -21,21 +21,30 @@
--> -->
<!-- Main navigation --> <!-- Main navigation -->
<nav class="md-nav md-nav--primary" data-md-level="0"> <nav
class="md-nav md-nav--primary"
aria-label="{{ lang.t('nav.title') }}"
data-md-level="0"
>
<!-- Site title --> <!-- Site title -->
<label class="md-nav__title md-nav__title--site" for="__drawer"> <label class="md-nav__title" for="__drawer">
<a href="{{ config.site_url | default(nav.homepage.url, true) | url }}" <a
title="{{ config.site_name }}" class="md-nav__button md-logo"> href="{{ config.site_url | default(nav.homepage.url, true) | url }}"
{% if config.theme.logo.icon %} title="{{ config.site_name }}"
<i class="md-icon">{{ config.theme.logo.icon }}</i> class="md-nav__button md-logo"
{% else %} aria-label="{{ config.site_name }}"
<img src="{{ config.theme.logo | url }}" width="64" height="12" /> >
{% endif %} {% include "partials/logo.html" %}
</a> </a>
{{ config.site_name }} {{ config.site_name }}
</label> </label>
<!-- Download Section -->
<div class="md-nav__source">
{% include "partials/download.html" %}
</div>
<!-- Repository containing source --> <!-- Repository containing source -->
{% if config.repo_url %} {% if config.repo_url %}
<div class="md-nav__source"> <div class="md-nav__source">
@ -43,20 +52,6 @@
</div> </div>
{% endif %} {% endif %}
<div class="md-nav__source">
<a href="/helios4/download" title="Go to Download" class="md-source">
<div class="md-source__icon">
<img src="/img/sd.png" style="position:relative; left:8px; top:8px">
</div>
<div class="md-source__repository">
Download IMG
<ul class="md-source__facts">
<li class="md-source__fact">Latest build : {{ config.extra.sd_release.latest }}</li>
</ul>
</div>
</a>
</div>
<!-- Render item list --> <!-- Render item list -->
<ul class="md-nav__list" data-md-scrollfix> <ul class="md-nav__list" data-md-scrollfix>
{% for nav_item in nav %} {% for nav_item in nav %}