diff --git a/README.md b/README.md index 6d2e179..d5dd580 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,13 @@ $ pip3 install mkdocs $ 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 $ git clone https://github.com/g-provost/lightgallery-markdown.git @@ -32,12 +38,6 @@ $ cd lightgallery-markdown $ python3 setup.py install ``` -4. Install git-revision plugin - -```bash -pip3 install mkdocs-git-revision-date-plugin -``` - 5. Download and serve wiki ```bash diff --git a/docs/css/extra.css b/docs/css/extra.css new file mode 100644 index 0000000..b9edcab --- /dev/null +++ b/docs/css/extra.css @@ -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; +} diff --git a/docs/download.md b/docs/download.md new file mode 100644 index 0000000..ec31c6b --- /dev/null +++ b/docs/download.md @@ -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)
+ *MD5SUM : 2e09c44a57075f4b9c6960db55eac54c
+ Build date : 03/03/2020
+ Size : 272 MB
* + [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)
+ *MD5SUM : a66d7d3fbaf57630f15dfc50d767291f
+ Build date : 03/03/2020
+ Size : 263 MB
* + [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)
+ *MD5SUM : adf539231ed556cf01c7f8fdc1214220
+ Build date : 03/03/2020
+ Size : 207 MB
* + [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**
Armbian 20.02.3 Debian 10 Buster (Kernel 4.19.107)
Build date : 03/03/2019
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**
Armbian 20.02.3 Debian 9 Stretch (Kernel 4.14.172)
Build date : 03/03/2019
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**
Armbian 20.02.3 Ubuntu 18.04 Bionic (Kernel 4.19.107)
Build date : 03/03/2019
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**
Armbian 19.11.3 Debian 10 Buster (Kernel 4.19.84)
Build date : 19/11/2019
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**
Armbian 19.11.3 Debian 9 Stretch (Kernel 4.14.154)
Build date : 19/11/2019
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**
Armbian 19.11.3 Ubuntu 18.04 Bionic (Kernel 4.19.84)
Build date : 19/11/2019
Size : 192 MB|[Download](https://dl.armbian.com/helios4/archive/Armbian_19.11.3_Helios4_bionic_current_4.19.84.7z)|7d0f80524bf2d24a3de403a6233a655b diff --git a/docs/helios4/download.md b/docs/helios4/download.md deleted file mode 100644 index e5f4d4b..0000000 --- a/docs/helios4/download.md +++ /dev/null @@ -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)
-*MD5SUM : 2e09c44a57075f4b9c6960db55eac54c
-Build date : 03/03/2020
-Size : 272 MB
* -[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)
-*MD5SUM : a66d7d3fbaf57630f15dfc50d767291f
-Build date : 03/03/2020
-Size : 263 MB
* -[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)
-*MD5SUM : adf539231ed556cf01c7f8fdc1214220
-Build date : 03/03/2020
-Size : 207 MB
* -[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**
Armbian 20.02.3 Debian 10 Buster (Kernel 4.19.107)
Build date : 03/03/2019
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**
Armbian 20.02.3 Debian 9 Stretch (Kernel 4.14.172)
Build date : 03/03/2019
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**
Armbian 20.02.3 Ubuntu 18.04 Bionic (Kernel 4.19.107)
Build date : 03/03/2019
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**
Armbian 19.11.3 Debian 10 Buster (Kernel 4.19.84)
Build date : 19/11/2019
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**
Armbian 19.11.3 Debian 9 Stretch (Kernel 4.14.154)
Build date : 19/11/2019
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**
Armbian 19.11.3 Ubuntu 18.04 Bionic (Kernel 4.19.84)
Build date : 19/11/2019
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**
Armbian 5.91 Debian 10 Buster (Kernel 4.19.63)
Build date : 02/08/2019
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**
Armbian 5.91 Debian 9 Stretch (Kernel 4.14.135)
Build date : 02/08/2019
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**
Armbian 5.91 Ubuntu 18.04 Bionic (Kernel 4.19.63)
Build date : 02/08/2019
Size : 192 MB|[Download](https://cdn.kobol.io/files/Armbian_5.91_Helios4_Ubuntu_bionic_next_4.19.63.7z)|62983d7519f15e67355d6dd5e60ee353 diff --git a/docs/helios4/intro.md b/docs/helios4/intro.md index c3d5488..83cd1d1 100644 --- a/docs/helios4/intro.md +++ b/docs/helios4/intro.md @@ -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). - +![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. diff --git a/docs/helios4/omv.md b/docs/helios4/omv.md index 123e71c..5d95696 100644 --- a/docs/helios4/omv.md +++ b/docs/helios4/omv.md @@ -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/). - -!!! 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. +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/). ## What is OpenMediaVault? diff --git a/docs/helios64/button.md b/docs/helios64/button.md new file mode 100644 index 0000000..95a4546 --- /dev/null +++ b/docs/helios64/button.md @@ -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. diff --git a/docs/helios64/ethernet.md b/docs/helios64/ethernet.md new file mode 100644 index 0000000..3a274cf --- /dev/null +++ b/docs/helios64/ethernet.md @@ -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 | diff --git a/docs/helios64/front-panel.md b/docs/helios64/front-panel.md new file mode 100644 index 0000000..e339c09 --- /dev/null +++ b/docs/helios64/front-panel.md @@ -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. diff --git a/docs/helios64/gpio.md b/docs/helios64/gpio.md new file mode 100644 index 0000000..37516d9 --- /dev/null +++ b/docs/helios64/gpio.md @@ -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 | diff --git a/docs/helios64/hardware.md b/docs/helios64/hardware.md index 6f25c1d..f2e1734 100644 --- a/docs/helios64/hardware.md +++ b/docs/helios64/hardware.md @@ -1,3 +1,5 @@ +# Helios64 Overview + ## Block Diagram ### Helios64 Board @@ -5,3 +7,50 @@ ### RK3399 System-On-Chip ![!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
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
(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:
- DisplayPort Mode
- DAS Mode
- Host Mode
- 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
(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. diff --git a/docs/helios64/i2c.md b/docs/helios64/i2c.md new file mode 100644 index 0000000..1428ff9 --- /dev/null +++ b/docs/helios64/i2c.md @@ -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. diff --git a/docs/helios64/img/button/button.jpg b/docs/helios64/img/button/button.jpg new file mode 100644 index 0000000..bd50a9c Binary files /dev/null and b/docs/helios64/img/button/button.jpg differ diff --git a/docs/helios64/img/ethernet/eth_1gbe_diagram.jpg b/docs/helios64/img/ethernet/eth_1gbe_diagram.jpg new file mode 100644 index 0000000..1fc70c4 Binary files /dev/null and b/docs/helios64/img/ethernet/eth_1gbe_diagram.jpg differ diff --git a/docs/helios64/img/ethernet/eth_2-5gbe_diagram.jpg b/docs/helios64/img/ethernet/eth_2-5gbe_diagram.jpg new file mode 100644 index 0000000..fee7025 Binary files /dev/null and b/docs/helios64/img/ethernet/eth_2-5gbe_diagram.jpg differ diff --git a/docs/helios64/img/ethernet/ethernet.jpg b/docs/helios64/img/ethernet/ethernet.jpg new file mode 100644 index 0000000..4c7724f Binary files /dev/null and b/docs/helios64/img/ethernet/ethernet.jpg differ diff --git a/docs/helios64/img/front-panel/fp_button_wiring.jpg b/docs/helios64/img/front-panel/fp_button_wiring.jpg new file mode 100644 index 0000000..bf5e695 Binary files /dev/null and b/docs/helios64/img/front-panel/fp_button_wiring.jpg differ diff --git a/docs/helios64/img/front-panel/fp_header.jpg b/docs/helios64/img/front-panel/fp_header.jpg new file mode 100644 index 0000000..0990f64 Binary files /dev/null and b/docs/helios64/img/front-panel/fp_header.jpg differ diff --git a/docs/helios64/img/front-panel/fp_header_pinout.jpg b/docs/helios64/img/front-panel/fp_header_pinout.jpg new file mode 100644 index 0000000..dd0d999 Binary files /dev/null and b/docs/helios64/img/front-panel/fp_header_pinout.jpg differ diff --git a/docs/helios64/img/front-panel/fp_labels.jpg b/docs/helios64/img/front-panel/fp_labels.jpg new file mode 100644 index 0000000..1baa73c Binary files /dev/null and b/docs/helios64/img/front-panel/fp_labels.jpg differ diff --git a/docs/helios64/img/front-panel/fp_led_wiring.jpg b/docs/helios64/img/front-panel/fp_led_wiring.jpg new file mode 100644 index 0000000..eb54306 Binary files /dev/null and b/docs/helios64/img/front-panel/fp_led_wiring.jpg differ diff --git a/docs/helios64/img/front-panel/fp_pcb_render.jpg b/docs/helios64/img/front-panel/fp_pcb_render.jpg new file mode 100644 index 0000000..2c5fcec Binary files /dev/null and b/docs/helios64/img/front-panel/fp_pcb_render.jpg differ diff --git a/docs/helios64/img/front-panel/fp_pcb_silkscreen.jpg b/docs/helios64/img/front-panel/fp_pcb_silkscreen.jpg new file mode 100644 index 0000000..a482235 Binary files /dev/null and b/docs/helios64/img/front-panel/fp_pcb_silkscreen.jpg differ diff --git a/docs/helios64/img/front-panel/fp_pcb_wiring.jpg b/docs/helios64/img/front-panel/fp_pcb_wiring.jpg new file mode 100644 index 0000000..b3b5d38 Binary files /dev/null and b/docs/helios64/img/front-panel/fp_pcb_wiring.jpg differ diff --git a/docs/helios64/img/gpio/gpio.jpg b/docs/helios64/img/gpio/gpio.jpg new file mode 100644 index 0000000..91ae6e9 Binary files /dev/null and b/docs/helios64/img/gpio/gpio.jpg differ diff --git a/docs/helios64/img/gpio/gpio_pinout.jpg b/docs/helios64/img/gpio/gpio_pinout.jpg new file mode 100644 index 0000000..164365b Binary files /dev/null and b/docs/helios64/img/gpio/gpio_pinout.jpg differ diff --git a/docs/helios64/img/hardware/helios64_board_labeled.jpg b/docs/helios64/img/hardware/helios64_board_labeled.jpg new file mode 100644 index 0000000..80fd2bf Binary files /dev/null and b/docs/helios64/img/hardware/helios64_board_labeled.jpg differ diff --git a/docs/helios64/img/i2c/i2c.jpg b/docs/helios64/img/i2c/i2c.jpg new file mode 100644 index 0000000..dc4d386 Binary files /dev/null and b/docs/helios64/img/i2c/i2c.jpg differ diff --git a/docs/helios64/img/i2c/i2c_pinout.jpg b/docs/helios64/img/i2c/i2c_pinout.jpg new file mode 100644 index 0000000..7bed8fa Binary files /dev/null and b/docs/helios64/img/i2c/i2c_pinout.jpg differ diff --git a/docs/helios64/img/i2c/uext.jpg b/docs/helios64/img/i2c/uext.jpg new file mode 100644 index 0000000..bc382db Binary files /dev/null and b/docs/helios64/img/i2c/uext.jpg differ diff --git a/docs/helios64/img/i2c/uext_pinout.jpg b/docs/helios64/img/i2c/uext_pinout.jpg new file mode 100644 index 0000000..805f50f Binary files /dev/null and b/docs/helios64/img/i2c/uext_pinout.jpg differ diff --git a/docs/helios64/img/jumper/p10-11-jumper.jpg b/docs/helios64/img/jumper/p10-11-jumper.jpg new file mode 100644 index 0000000..75aea47 Binary files /dev/null and b/docs/helios64/img/jumper/p10-11-jumper.jpg differ diff --git a/docs/helios64/img/jumper/p13-jumper.jpg b/docs/helios64/img/jumper/p13-jumper.jpg new file mode 100644 index 0000000..86f1038 Binary files /dev/null and b/docs/helios64/img/jumper/p13-jumper.jpg differ diff --git a/docs/helios64/img/jumper/p14-15-jumper.jpg b/docs/helios64/img/jumper/p14-15-jumper.jpg new file mode 100644 index 0000000..faceb31 Binary files /dev/null and b/docs/helios64/img/jumper/p14-15-jumper.jpg differ diff --git a/docs/helios64/img/jumper/p9-jumper.jpg b/docs/helios64/img/jumper/p9-jumper.jpg new file mode 100644 index 0000000..21311e6 Binary files /dev/null and b/docs/helios64/img/jumper/p9-jumper.jpg differ diff --git a/docs/helios64/img/led/board-led.jpg b/docs/helios64/img/led/board-led.jpg new file mode 100644 index 0000000..fb0f81b Binary files /dev/null and b/docs/helios64/img/led/board-led.jpg differ diff --git a/docs/helios64/img/m2/m2.jpg b/docs/helios64/img/m2/m2.jpg new file mode 100644 index 0000000..9824586 Binary files /dev/null and b/docs/helios64/img/m2/m2.jpg differ diff --git a/docs/helios64/img/m2/m2_form_factor.jpg b/docs/helios64/img/m2/m2_form_factor.jpg new file mode 100644 index 0000000..e232d0c Binary files /dev/null and b/docs/helios64/img/m2/m2_form_factor.jpg differ diff --git a/docs/helios64/img/m2/m2_keying.jpg b/docs/helios64/img/m2/m2_keying.jpg new file mode 100644 index 0000000..5b02a52 Binary files /dev/null and b/docs/helios64/img/m2/m2_keying.jpg differ diff --git a/docs/helios4/img/os/debian10.png b/docs/helios64/img/os/debian10.png similarity index 100% rename from docs/helios4/img/os/debian10.png rename to docs/helios64/img/os/debian10.png diff --git a/docs/helios4/img/os/debian9.png b/docs/helios64/img/os/debian9.png similarity index 100% rename from docs/helios4/img/os/debian9.png rename to docs/helios64/img/os/debian9.png diff --git a/docs/helios4/img/os/omv.png b/docs/helios64/img/os/omv.png similarity index 100% rename from docs/helios4/img/os/omv.png rename to docs/helios64/img/os/omv.png diff --git a/docs/helios4/img/os/syncloud.png b/docs/helios64/img/os/syncloud.png similarity index 100% rename from docs/helios4/img/os/syncloud.png rename to docs/helios64/img/os/syncloud.png diff --git a/docs/helios4/img/os/ubuntu.png b/docs/helios64/img/os/ubuntu.png similarity index 100% rename from docs/helios4/img/os/ubuntu.png rename to docs/helios64/img/os/ubuntu.png diff --git a/docs/helios64/img/pmic/rk808d-diagram.png b/docs/helios64/img/pmic/rk808d-diagram.png new file mode 100644 index 0000000..88f757c Binary files /dev/null and b/docs/helios64/img/pmic/rk808d-diagram.png differ diff --git a/docs/helios64/img/pwm/fan_connector.png b/docs/helios64/img/pwm/fan_connector.png new file mode 100644 index 0000000..00990ed Binary files /dev/null and b/docs/helios64/img/pwm/fan_connector.png differ diff --git a/docs/helios64/img/pwm/fan_control_schematic.png b/docs/helios64/img/pwm/fan_control_schematic.png new file mode 100644 index 0000000..b7b42ca Binary files /dev/null and b/docs/helios64/img/pwm/fan_control_schematic.png differ diff --git a/docs/helios64/img/pwm/fan_type_a_curve.jpg b/docs/helios64/img/pwm/fan_type_a_curve.jpg new file mode 100644 index 0000000..b8baa00 Binary files /dev/null and b/docs/helios64/img/pwm/fan_type_a_curve.jpg differ diff --git a/docs/helios64/img/pwm/fan_type_b_curve.jpg b/docs/helios64/img/pwm/fan_type_b_curve.jpg new file mode 100644 index 0000000..89cbf68 Binary files /dev/null and b/docs/helios64/img/pwm/fan_type_b_curve.jpg differ diff --git a/docs/helios64/img/pwm/fan_type_c_curve.jpg b/docs/helios64/img/pwm/fan_type_c_curve.jpg new file mode 100644 index 0000000..c542b8e Binary files /dev/null and b/docs/helios64/img/pwm/fan_type_c_curve.jpg differ diff --git a/docs/helios64/img/pwm/pwm_duty_cycle_graph.png b/docs/helios64/img/pwm/pwm_duty_cycle_graph.png new file mode 100644 index 0000000..c53ea8b Binary files /dev/null and b/docs/helios64/img/pwm/pwm_duty_cycle_graph.png differ diff --git a/docs/helios64/img/rtc/rtc_battery.jpg b/docs/helios64/img/rtc/rtc_battery.jpg new file mode 100644 index 0000000..fb9fa29 Binary files /dev/null and b/docs/helios64/img/rtc/rtc_battery.jpg differ diff --git a/docs/helios64/img/rtc/rtc_diagram.jpg b/docs/helios64/img/rtc/rtc_diagram.jpg new file mode 100644 index 0000000..058ff36 Binary files /dev/null and b/docs/helios64/img/rtc/rtc_diagram.jpg differ diff --git a/docs/helios64/img/sata/hdd_harness.png b/docs/helios64/img/sata/hdd_harness.png new file mode 100644 index 0000000..e8fe9c8 Binary files /dev/null and b/docs/helios64/img/sata/hdd_harness.png differ diff --git a/docs/helios64/img/sata/j7.jpg b/docs/helios64/img/sata/j7.jpg new file mode 100644 index 0000000..076f6d7 Binary files /dev/null and b/docs/helios64/img/sata/j7.jpg differ diff --git a/docs/helios64/img/sata/j7_pinout.jpg b/docs/helios64/img/sata/j7_pinout.jpg new file mode 100644 index 0000000..4cb0ed6 Binary files /dev/null and b/docs/helios64/img/sata/j7_pinout.jpg differ diff --git a/docs/helios64/img/sata/sata.jpg b/docs/helios64/img/sata/sata.jpg new file mode 100644 index 0000000..4ff20c1 Binary files /dev/null and b/docs/helios64/img/sata/sata.jpg differ diff --git a/docs/helios64/img/sata/sata_diagram.jpg b/docs/helios64/img/sata/sata_diagram.jpg new file mode 100644 index 0000000..cfd2d3d Binary files /dev/null and b/docs/helios64/img/sata/sata_diagram.jpg differ diff --git a/docs/helios64/img/spi/spi_on_uext.png b/docs/helios64/img/spi/spi_on_uext.png new file mode 100755 index 0000000..369a3dc Binary files /dev/null and b/docs/helios64/img/spi/spi_on_uext.png differ diff --git a/docs/helios64/img/spi/uext.jpg b/docs/helios64/img/spi/uext.jpg new file mode 100644 index 0000000..bc382db Binary files /dev/null and b/docs/helios64/img/spi/uext.jpg differ diff --git a/docs/helios64/img/uext/uext.jpg b/docs/helios64/img/uext/uext.jpg new file mode 100644 index 0000000..bc382db Binary files /dev/null and b/docs/helios64/img/uext/uext.jpg differ diff --git a/docs/helios64/img/uext/uext_pinout.jpg b/docs/helios64/img/uext/uext_pinout.jpg new file mode 100644 index 0000000..6105c04 Binary files /dev/null and b/docs/helios64/img/uext/uext_pinout.jpg differ diff --git a/docs/helios64/img/ups/battery.jpg b/docs/helios64/img/ups/battery.jpg new file mode 100644 index 0000000..1b0df39 Binary files /dev/null and b/docs/helios64/img/ups/battery.jpg differ diff --git a/docs/helios64/img/ups/j9.jpg b/docs/helios64/img/ups/j9.jpg new file mode 100644 index 0000000..55cf27c Binary files /dev/null and b/docs/helios64/img/ups/j9.jpg differ diff --git a/docs/helios64/img/ups/j9_pinout.jpg b/docs/helios64/img/ups/j9_pinout.jpg new file mode 100644 index 0000000..3600520 Binary files /dev/null and b/docs/helios64/img/ups/j9_pinout.jpg differ diff --git a/docs/helios64/img/usb/typec_dp.jpg b/docs/helios64/img/usb/typec_dp.jpg new file mode 100644 index 0000000..545b799 Binary files /dev/null and b/docs/helios64/img/usb/typec_dp.jpg differ diff --git a/docs/helios64/img/usb/typec_hdmi.jpg b/docs/helios64/img/usb/typec_hdmi.jpg new file mode 100644 index 0000000..ce8c4f5 Binary files /dev/null and b/docs/helios64/img/usb/typec_hdmi.jpg differ diff --git a/docs/helios64/img/usb/typec_hdmi_dongle.jpg b/docs/helios64/img/usb/typec_hdmi_dongle.jpg new file mode 100644 index 0000000..5b0aff9 Binary files /dev/null and b/docs/helios64/img/usb/typec_hdmi_dongle.jpg differ diff --git a/docs/helios64/img/usb/typec_typea_female.jpg b/docs/helios64/img/usb/typec_typea_female.jpg new file mode 100644 index 0000000..21c4b75 Binary files /dev/null and b/docs/helios64/img/usb/typec_typea_female.jpg differ diff --git a/docs/helios64/img/usb/typec_typea_male.jpg b/docs/helios64/img/usb/typec_typea_male.jpg new file mode 100644 index 0000000..8c4b08c Binary files /dev/null and b/docs/helios64/img/usb/typec_typea_male.jpg differ diff --git a/docs/helios64/img/usb/usb_diagram.png b/docs/helios64/img/usb/usb_diagram.png new file mode 100644 index 0000000..6eb45cc Binary files /dev/null and b/docs/helios64/img/usb/usb_diagram.png differ diff --git a/docs/helios64/img/usb/usb_mux.png b/docs/helios64/img/usb/usb_mux.png new file mode 100644 index 0000000..0d1c5e1 Binary files /dev/null and b/docs/helios64/img/usb/usb_mux.png differ diff --git a/docs/helios64/img/usb/usb_ports.jpg b/docs/helios64/img/usb/usb_ports.jpg new file mode 100644 index 0000000..1513294 Binary files /dev/null and b/docs/helios64/img/usb/usb_ports.jpg differ diff --git a/docs/helios64/intro.md b/docs/helios64/intro.md index c6602e9..c1173b5 100644 --- a/docs/helios64/intro.md +++ b/docs/helios64/intro.md @@ -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) - ## Mechanical - |**Mechanical Specifications**|| |------------|-----------| |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 |Software Partners|- Armbian: Debian and Ubuntu for ARM board
- OpenMediaVault: Linux NAS turn-key solution
- Syncloud: Cloud services at your premises
- Nextcloud: The File Hosting Solutions| - -**More info coming soon...** - ![Helios64 Heatsink](/helios64/img/intro/helios64-heatsink.jpg) diff --git a/docs/helios64/jumper.md b/docs/helios64/jumper.md new file mode 100644 index 0000000..8d4f114 --- /dev/null +++ b/docs/helios64/jumper.md @@ -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. diff --git a/docs/helios64/led.md b/docs/helios64/led.md new file mode 100644 index 0000000..90431f0 --- /dev/null +++ b/docs/helios64/led.md @@ -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 diff --git a/docs/helios64/m2.md b/docs/helios64/m2.md new file mode 100644 index 0000000..8123007 --- /dev/null +++ b/docs/helios64/m2.md @@ -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. diff --git a/docs/helios64/pmic.md b/docs/helios64/pmic.md new file mode 100644 index 0000000..9ffb59f --- /dev/null +++ b/docs/helios64/pmic.md @@ -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) diff --git a/docs/helios64/pwm.md b/docs/helios64/pwm.md new file mode 100644 index 0000000..7e101b3 --- /dev/null +++ b/docs/helios64/pwm.md @@ -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 that’s 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 | diff --git a/docs/helios64/rtc.md b/docs/helios64/rtc.md new file mode 100644 index 0000000..3c98724 --- /dev/null +++ b/docs/helios64/rtc.md @@ -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. diff --git a/docs/helios64/sata.md b/docs/helios64/sata.md new file mode 100644 index 0000000..fee2981 --- /dev/null +++ b/docs/helios64/sata.md @@ -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) diff --git a/docs/helios64/spi.md b/docs/helios64/spi.md new file mode 100644 index 0000000..03482d5 --- /dev/null +++ b/docs/helios64/spi.md @@ -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. diff --git a/docs/helios64/uext.md b/docs/helios64/uext.md new file mode 100644 index 0000000..835c526 --- /dev/null +++ b/docs/helios64/uext.md @@ -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. diff --git a/docs/helios64/ups.md b/docs/helios64/ups.md new file mode 100644 index 0000000..da23904 --- /dev/null +++ b/docs/helios64/ups.md @@ -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. diff --git a/docs/helios64/usb.md b/docs/helios64/usb.md new file mode 100644 index 0000000..e79c4d1 --- /dev/null +++ b/docs/helios64/usb.md @@ -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. diff --git a/docs/img/download/debian10.png b/docs/img/download/debian10.png new file mode 100644 index 0000000..891382b Binary files /dev/null and b/docs/img/download/debian10.png differ diff --git a/docs/img/download/debian9.png b/docs/img/download/debian9.png new file mode 100644 index 0000000..ed519f6 Binary files /dev/null and b/docs/img/download/debian9.png differ diff --git a/docs/img/download/ubuntu.png b/docs/img/download/ubuntu.png new file mode 100644 index 0000000..e045175 Binary files /dev/null and b/docs/img/download/ubuntu.png differ diff --git a/docs/img/kobol_logo.png b/docs/img/kobol_logo.png deleted file mode 100644 index 59172de..0000000 Binary files a/docs/img/kobol_logo.png and /dev/null differ diff --git a/docs/img/kobol_logo.svg b/docs/img/kobol_logo.svg new file mode 100644 index 0000000..c9d6750 --- /dev/null +++ b/docs/img/kobol_logo.svg @@ -0,0 +1,121 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/img/sd.png b/docs/img/sd.png deleted file mode 100644 index a5f2334..0000000 Binary files a/docs/img/sd.png and /dev/null differ diff --git a/docs/index.md b/docs/index.md index 74a355a..6474549 100644 --- a/docs/index.md +++ b/docs/index.md @@ -15,7 +15,7 @@ Here our existing projects : * Launch Year : 2020 * Availability : In-Production -**Go to [Helios64 section](/helios64/intro) for more info.** +Go to [Helios64 section](/helios64/intro) for more info. ## Helios4 @@ -24,4 +24,4 @@ Here our existing projects : * Launch Year : 2017 * Availability : End-of-Life -**Go to [Helios4 section](/helios4/intro) for more info.** +Go to [Helios4 section](/helios4/intro) for more info. diff --git a/mkdocs.yml b/mkdocs.yml index 4fad38b..626c2cb 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -16,33 +16,37 @@ copyright: 'Copyright © Kobol Innovations Pte. Ltd. 2020' theme: name: 'material' language: 'en' - favicon: './img/favicon.png' - logo: './img/kobol_logo.png' + favicon: 'img/favicon.png' + logo: 'img/kobol_logo.svg' + icon: + repo: 'fontawesome/brands/git-alt' custom_dir: 'theme' + features: + - tabs palette: - primary: 'teal' + primary: 'white' accent: 'pink' font: text: 'Roboto' code: 'Roboto Mono' +extra_css: + - css/extra.css # Options extra: social: - - type: 'home' + - icon: 'fontawesome/solid/home' link: 'https://kobol.io' - - type: 'github' + - icon: 'fontawesome/brands/github' link: 'https://github.com/helios-4' - - type: 'facebook' + - icon: 'fontawesome/brands/facebook' link: 'https://facebook.com/kobol.io' - - type: 'twitter' + - icon: 'fontawesome/brands/twitter' link: 'https://twitter.com/kobol_io' - - type: 'rss-square' + - icon: 'fontawesome/solid/rss-square' link: 'https://blog.kobol.io' disqus: 'kobol-wiki' - sd_release: - latest: '03/03/2020' # Google Analytics google_analytics: @@ -52,7 +56,7 @@ google_analytics: # Plugins plugins: - search - - git-revision-date + - git-revision-date-localized # Extensions markdown_extensions: @@ -62,39 +66,58 @@ markdown_extensions: guess_lang: False - toc: permalink: True + - pymdownx.tabbed - lightgallery # Page naming nav: -- Welcome: 'index.md' +- Home: + - Introduction: 'index.md' + - Download: 'download.md' + - About: 'about.md' - Helios64: - Introduction: 'helios64/intro.md' - 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: - Introduction: 'helios4/intro.md' - Kit Assembly: 'helios4/kit.md' - - Download: 'helios4/download.md' + - Download: '/download/#helios4' - Install: 'helios4/install.md' - O/S: - - Arch Linux : 'helios4/arch.md' - - Armbian : 'helios4/armbian.md' - - FreeBSD : 'helios4/freebsd.md' - - Syncloud : 'helios4/syncloud.md' - - U-Boot (bootloader) : 'helios4/uboot.md' + - Arch Linux: 'helios4/arch.md' + - Armbian: 'helios4/armbian.md' + - FreeBSD: 'helios4/freebsd.md' + - Syncloud: 'helios4/syncloud.md' + - U-Boot (bootloader): 'helios4/uboot.md' - Software: - - Mdadm (RAID) : 'helios4/mdadm.md' - - NextCloud : 'helios4/nextcloud.md' - - OpenMediaVault : 'helios4/omv.md' + - Mdadm (RAID): 'helios4/mdadm.md' + - NextCloud: 'helios4/nextcloud.md' + - OpenMediaVault: 'helios4/omv.md' - Hardware: - - Overview : 'helios4/hardware.md' - - CESA (HW Crypto) : 'helios4/cesa.md' - - GPIO : 'helios4/gpio.md' - - I2C (OLED) : 'helios4/i2c.md' - - LED : 'helios4/led.md' - - PWM (Fan) : 'helios4/pwm.md' - - SDIO (SD Card) : 'helios4/sdcard.md' - - SPI (NOR Flash) : 'helios4/spi.md' - - Wake-on-LAN : 'helios4/wol.md' + - Overview: 'helios4/hardware.md' + - CESA (HW Crypto): 'helios4/cesa.md' + - GPIO: 'helios4/gpio.md' + - I2C (OLED): 'helios4/i2c.md' + - LED: 'helios4/led.md' + - PWM (Fan): 'helios4/pwm.md' + - SDIO (SD Card): 'helios4/sdcard.md' + - SPI (NOR Flash): 'helios4/spi.md' + - Wake-on-LAN: 'helios4/wol.md' - Documents: 'helios4/docs.md' -- About: 'about.md' diff --git a/theme/partials/download.html b/theme/partials/download.html new file mode 100644 index 0000000..55f7460 --- /dev/null +++ b/theme/partials/download.html @@ -0,0 +1,15 @@ +{% import "partials/language.html" as lang with context %} + + +
+ {% set icon = "fontawesome/solid/sd-card" %} + {% include ".icons/" ~ icon ~ ".svg" %} +
+
+ Download +
+
diff --git a/theme/partials/header.html b/theme/partials/header.html index cf43ed4..a733197 100644 --- a/theme/partials/header.html +++ b/theme/partials/header.html @@ -1,108 +1,67 @@ - -
-
diff --git a/theme/partials/nav.html b/theme/partials/nav.html index b116be7..ea95f6e 100644 --- a/theme/partials/nav.html +++ b/theme/partials/nav.html @@ -1,5 +1,5 @@ -