diff --git a/content/documentation/Accessories/Cases/Model_A_Acrylic_Open_Enclosure.adoc b/content/documentation/Accessories/Cases/Model_A_Acrylic_Open_Enclosure.md similarity index 56% rename from content/documentation/Accessories/Cases/Model_A_Acrylic_Open_Enclosure.adoc rename to content/documentation/Accessories/Cases/Model_A_Acrylic_Open_Enclosure.md index f4b24856..c593d2bb 100644 --- a/content/documentation/Accessories/Cases/Model_A_Acrylic_Open_Enclosure.adoc +++ b/content/documentation/Accessories/Cases/Model_A_Acrylic_Open_Enclosure.md @@ -9,25 +9,24 @@ menu: weight: --- -The *"Model A" Acrylic Open Enclosure* is a case for "Model A" sized single-board computers (Pine A64, ROCKPro64, Quartz64 Model A) sold by PINE64, available from https://pine64.com/product/pine-a64-rockpro64-acrylic-open-enclosure/[the official store]. +The **"Model A" Acrylic Open Enclosure** is a case for "Model A" sized single-board computers (Pine A64, ROCKPro64, Quartz64 Model A) sold by PINE64, available from [the official store](https://pine64.com/product/pine-a64-rockpro64-acrylic-open-enclosure/). {{< figure src="/documentation/images/Model_a_acrylic_case_with_pine_a64.jpg" title="A Pine A64 mounted in the "Model A" Acrylic Open Enclosure. The text on the top is "PINE64" nowadays." >}} -== Installation +## Installation -Please refer to https://files.pine64.org/doc/guide/PINE64_Acrylic_Open_Enclosure_Installation_Guide.pdf[the official instructions] for assembling the case. +Please refer to [the official instructions](https://files.pine64.org/doc/guide/PINE64_Acrylic_Open_Enclosure_Installation_Guide.pdf) for assembling the case. For the Quartz64 Model A, you may need to file down the inner corner of one of the mounting posts for the little mic connector on the bottom of the board to clear it. -== Mods +## Mods -=== 3D-Printable Top With Fan and PCIe Cutout +### 3D-Printable Top With Fan and PCIe Cutout -{{< figure src="/documentation/images/Model_a_top_render.png" title="Non-artist's impression of the replacement top plate" >}} +{{< figure src="/documentation/images/Model_a_top_render.png" title="Non-artist’s impression of the replacement top plate" >}} -User:CounterPillow has created an alternate 3D-printable top plate which allows for the mounting of a 40mmx40mmx10mm fan, as well as allowing for PCIe cards to be mounted while the case is assembled. The STL and STEP files are available under https://wiki.pine64.org/wiki/File:Model_A_acrylic_case_top_plate_with_fan_cutout.zip[] free of charge, licensed as CC-BY 4.0. +User:CounterPillow has created an alternate 3D-printable top plate which allows for the mounting of a 40mmx40mmx10mm fan, as well as allowing for PCIe cards to be mounted while the case is assembled. The STL and STEP files are available under [https://wiki.pine64.org/wiki/File:Model_A_acrylic_case_top_plate_with_fan_cutout.zip](https://wiki.pine64.org/wiki/File:Model_A_acrylic_case_top_plate_with_fan_cutout.zip) free of charge, licensed as CC-BY 4.0. -A fan is mounted to it using self-tapping fan screws usually shipped with computer fans; put the fan on the underside of the plate, and screw in the self-tapping screws from the top side. You can either have the fan exhaust air through the top, or blow it onto the SoC's heatsink. The latter configuration appears to work better, but precise measurements haven't been made yet. - -Recommended printing material is PETG for its structural rigidity. However, PLA will likely work fine as well, and is easier to print. A 0.6mm nozzle was used for test prints, but any nozzle should work. Depending on the layer height you choose, your print may come out slightly thicker or thinner; this is no problem though. It's recommended to enable the advanced "Detect Thin Walls" option in slic3r to get a cleaner g-code result around the fan holes. +A fan is mounted to it using self-tapping fan screws usually shipped with computer fans; put the fan on the underside of the plate, and screw in the self-tapping screws from the top side. You can either have the fan exhaust air through the top, or blow it onto the SoC’s heatsink. The latter configuration appears to work better, but precise measurements haven’t been made yet. +Recommended printing material is PETG for its structural rigidity. However, PLA will likely work fine as well, and is easier to print. A 0.6mm nozzle was used for test prints, but any nozzle should work. Depending on the layer height you choose, your print may come out slightly thicker or thinner; this is no problem though. It’s recommended to enable the advanced "Detect Thin Walls" option in slic3r to get a cleaner g-code result around the fan holes. diff --git a/content/documentation/Accessories/Wifi_remote_i2c.adoc b/content/documentation/Accessories/Wifi_remote_i2c.md similarity index 68% rename from content/documentation/Accessories/Wifi_remote_i2c.adoc rename to content/documentation/Accessories/Wifi_remote_i2c.md index d8e7d6dd..f955c58f 100644 --- a/content/documentation/Accessories/Wifi_remote_i2c.adoc +++ b/content/documentation/Accessories/Wifi_remote_i2c.md @@ -11,14 +11,14 @@ menu: {{< figure src="/documentation/images/PMWF01A_Description.jpg" title="PMWF01A: Wifi Remote I2c Module" >}} -== Quick Start Guide +## Quick Start Guide -=== Hardware Setup +### Hardware Setup {{< figure src="/documentation/images/PMWF01A_Wifi_Remote_IO_Rev3-1.jpg" title="Hardware Setup" >}} * Make sure that the driver for USB/UART Programming/Console Adapter (PMPROG01) is properly install and the PC is detected it as Comm Port. -* The USB/UART Bridge is base on http://www.silabs.com/products/interface/usb-bridges/classic-usb-bridges/Pages/usb-to-uart-bridge.aspx[Silicon Lab CP2012 chipset]. -* USB/UART Programming/Console Adapter (PMPROG01) driver can be https://www.silabs.com/products/mcu/Pages/USBtoUARTBridgeVCPDrivers.aspx[Download here] +* The USB/UART Bridge is base on [Silicon Lab CP2012 chipset](http://www.silabs.com/products/interface/usb-bridges/classic-usb-bridges/Pages/usb-to-uart-bridge.aspx). +* USB/UART Programming/Console Adapter (PMPROG01) driver can be [Download here](https://www.silabs.com/products/mcu/Pages/USBtoUARTBridgeVCPDrivers.aspx) * Connect the USB/UART Programming/Console Adapter (PMPROG01) to the Wifi Remote I2c Device. * You can power-up the WiFI Remote I2c module through the USB Bus for configuration and programming. @@ -26,38 +26,37 @@ menu: Place the jumper J2 on USB/UART Programming/Console Adapter (PMPROG01) to 5V output selection. -=== Setting Configuration +### Setting Configuration {{< figure src="/documentation/images/Wr_Termite2.JPG" title="Termite Setup Screen" >}} {{< figure src="/documentation/images/Wr_cfghelp_scr.JPG" title="Help Command" >}} * For windows system, you can use terminal emulator program Termite to configure the device. -* Termite can be downloaded at http://www.compuphase.com/software_termite.htm[CompuPhase Website ] +* Termite can be downloaded at [CompuPhase Website ](http://www.compuphase.com/software_termite.htm) * Make sure the 'Port' setting is refer to the USB/UART Programming/Console Adapter (PMPROG01)'s Virtual Comm Port. * Follow the setting according to the setup screen capture. (57600Baud 8-N-1) * Once Termite configuration is done, press 'OK' to save the setting. * On the Wifi Remote I2c Device, Press the configuration button to allow the device to go into configuration mode. {{< figure src="/documentation/images/Wr_Config_Mode_Sw.jpg" >}} Press Config Mode button to go into configuration mode - * Type 'help' to show the command available for configuration. * Type 'show' to list out current configuration. -* We will use PineA64 as our Wifi Remote I2c module's server. -* To Set the PineA64's IP address in to the device, enter (we will be using IP address 192.168.0.230 as example) +* We will use PineA64 as our Wifi Remote I2c module’s server. +* To Set the PineA64’s IP address in to the device, enter (we will be using IP address 192.168.0.230 as example) server 192.168.0.230 * To configure the Wifi AP SSID and Password, (eg SSID=TestingWifi and Password=12345 ) wifi TestingWifi 12345 * The SSID and password are case sensitive. Please make sure it is input correctly. * Once configuration is done, type 'exit' to exit configuration mode and allow the device to reboot. -* Please make sure your network is has DHCP server. The WiFi Remote i2c module will be running on DHCP mode and will requesting a IP address from your network's DHCP server. +* Please make sure your network is has DHCP server. The WiFi Remote i2c module will be running on DHCP mode and will requesting a IP address from your network’s DHCP server. * After reboot, the Red LED indicator will start to blink in fast blinking mode. * Once the WiFi Remote I2c module connected to the WiFi Access Point, the LED indicator will go into slow blinking mode. * The hardware configuration is done. * The next step will be configure the PineWifiServer into your PineA64 board. -=== Setup the PineWifiServer +### Setup the PineWifiServer -* link:/documentation/Accessories/Wifi_remote_i2c#download[Download the PineWifiServer from the Download Section] +* [Download the PineWifiServer from the Download Section](/documentation/Accessories/Wifi_remote_i2c#download) * Copy PineWifiServer xxxxxxxx.gz into your PineA64 with linux on it. (where xxxxxxxx is the version number) * Unzip the file using gunzip. * Add Execution flag on both of the file by @@ -75,9 +74,9 @@ Press Config Mode button to go into configuration mode * To exit the console, type 'exit'. * Please take note that you are only allow one login simultaneously. The second telnet login will be rejected. -=== Running the WifiAppDemo +### Running the WifiAppDemo -* link:/documentation/Accessories/Wifi_remote_i2c#download[Download the PineWifiServer from the Download Section] +* [Download the PineWifiServer from the Download Section](/documentation/Accessories/Wifi_remote_i2c#download) * Copy WifiAppDemo xxxxxxxx.gz into your same PineA64 board that currently running with PineWifiServer. (where xxxxxxxx is the version number) * Unzip both of the file using gunzip. * Add Execution flag on both of the file by @@ -93,9 +92,9 @@ Press Config Mode button to go into configuration mode Example of screen shot with WifiAppDemo polling multiple Wifi Remote I2c with Ambient Light Sensor and Humidity/Temperature Sensor connected on it. The speed for each round of polling is 1 second per poll. -== Firmware Upgrade +## Firmware Upgrade -=== Hardware Setup +### Hardware Setup {{< figure src="/documentation/images/Wr_Programming_Mode_Jumper.jpg" width="100" >}} Short Jumper S2 on the WiFI Remote I2c module (before power up the board) to allow the board to go in to firmware programming mode. @@ -103,18 +102,18 @@ Short Jumper S2 on the WiFI Remote I2c module (before power up the board) to all {{< figure src="/documentation/images/PMWF01A_Wifi_Remote_IO_Rev3-1.jpg" title="Hardware Setup" >}} * Make sure that the driver for USB/UART Programming/Console Adapter (PMPROG01) is properly install and the PC is detected it as Comm Port. -* The USB/UART Bridge is base on http://www.silabs.com/products/interface/usb-bridges/classic-usb-bridges/Pages/usb-to-uart-bridge.aspx[Silicon Lab CP2012 chipset]. -* USB/UART Programming/Console Adapter (PMPROG01) driver can be https://www.silabs.com/products/mcu/Pages/USBtoUARTBridgeVCPDrivers.aspx[Download here] +* The USB/UART Bridge is base on [Silicon Lab CP2012 chipset](http://www.silabs.com/products/interface/usb-bridges/classic-usb-bridges/Pages/usb-to-uart-bridge.aspx). +* USB/UART Programming/Console Adapter (PMPROG01) driver can be [Download here](https://www.silabs.com/products/mcu/Pages/USBtoUARTBridgeVCPDrivers.aspx) * Connect the USB/UART Programming/Console Adapter (PMPROG01) to the Wifi Remote I2c Device. * You can power-up the WiFI Remote I2c module through the USB Bus for configuration and programming. {{< figure src="/documentation/images/Wr_USB_Adpt_5v.jpg" width="100" >}} Place the jumper J2 on USB/UART Programming/Console Adapter (PMPROG01) to 5V output selection. -=== Software Setup +### Software Setup -* Download the firmware from the link:/documentation/Accessories/Wifi_remote_i2c#download[download section] and unzip the file. -* Download the windows Python base Flash Download Tools by Espressif from http://espressif.com/en/products/hardware/esp8266ex/resources[Espressif website]. +* Download the firmware from the [download section](/documentation/Accessories/Wifi_remote_i2c#download) and unzip the file. +* Download the windows Python base Flash Download Tools by Espressif from [Espressif website](http://espressif.com/en/products/hardware/esp8266ex/resources). * Setup the ESP Flash Download tools according to the screen short. {{< figure src="/documentation/images/Esp_prog_tool.JPG" width="400" >}} @@ -123,7 +122,7 @@ Place the jumper J2 on USB/UART Programming/Console Adapter (PMPROG01) to 5V out * Once the ESP Flash Download tool and hardware is setup properly, press the 'Start' button to start the firmware uploading process. * After uploading is done, power off and on again the WiFi Remote I2c module to restart the system. -== Technical Specification +## Technical Specification * Dimension: 47.00mm x 34.00mm * Input Voltage: 5V @@ -132,28 +131,27 @@ Place the jumper J2 on USB/UART Programming/Console Adapter (PMPROG01) to 5V out * Output power of PA for 802.11b: 19.5dBm-21.5dBm * Recieived Sensitivity at DSSS, 1Mbps: -98dBm -== I/O Pin Out +## I/O Pin Out {{< figure src="/documentation/images/IO_Pin.JPG" >}} -== Download - -=== Program/Driver -* http://www.compuphase.com/software_termite.htm[Termite a simple RS232 terminal] -* http://espressif.com/en/products/hardware/esp8266ex/resources[Flash Download Tools v2.4] Under Tools Section -* https://www.silabs.com/products/mcu/Pages/USBtoUARTBridgeVCPDrivers.aspx[Silicon Lab CP2102 Virtual COM Port Driver] -* http://files.pine64.org/doc/POT/WifiAppDemo.gz[WifiAppDemo.gz] -* http://files.pine64.org/doc/POT/PineWifiServer.gz[PineWifiServer.gz] -* http://files.pine64.org/doc/POT/PMWF01A%20Firmware.zip[PMWF01A Firmware] -* http://files.pine64.org/doc/POT/PMWF01A%20Firmware%20Source.zip[PMWF01A Firmware Source] -* http://files.pine64.org/doc/POT/PineWifiRemoteI2c%20Server%20Source.tar.gz[PineWifiRemoteI2c Server Source.tar.gz] - -=== Datasheet/Related Information - -* http://www.te.com/commerce/DocumentDelivery/DDEController?Action=srchrtrv&DocNm=PCJ_series_relay_data_sheet_E&DocType=DS&DocLang=EN[TE PCJ-105D3M Relay Datasheet] -* https://drive.google.com/file/d/0B0cEs0lxTtL3SDdCcWd0LVI2bk0/view?usp=sharing[ESP8266 Datasheet] -* http://bbs.espressif.com/[ESP8266 forum] -* http://espressif.com/en/products/hardware/esp8266ex/resources[ESP8266 Flash Download Tools, Please refer to the Tools section] -* http://espressif.com/en/products/hardware/esp8266ex/resources[ESP8266 Resources] -* https://www.silabs.com/Support%20Documents/TechnicalDocs/CP2102-9.pdf[CP2102 Datasheet] - +## Download + +### Program/Driver +* [Termite a simple RS232 terminal](http://www.compuphase.com/software_termite.htm) +* [Flash Download Tools v2.4](http://espressif.com/en/products/hardware/esp8266ex/resources) Under Tools Section +* [Silicon Lab CP2102 Virtual COM Port Driver](https://www.silabs.com/products/mcu/Pages/USBtoUARTBridgeVCPDrivers.aspx) +* [WifiAppDemo.gz](http://files.pine64.org/doc/POT/WifiAppDemo.gz) +* [PineWifiServer.gz](http://files.pine64.org/doc/POT/PineWifiServer.gz) +* [PMWF01A Firmware](http://files.pine64.org/doc/POT/PMWF01A%20Firmware.zip) +* [PMWF01A Firmware Source](http://files.pine64.org/doc/POT/PMWF01A%20Firmware%20Source.zip) +* [PineWifiRemoteI2c Server Source.tar.gz](http://files.pine64.org/doc/POT/PineWifiRemoteI2c%20Server%20Source.tar.gz) + +### Datasheet/Related Information + +* [TE PCJ-105D3M Relay Datasheet](http://www.te.com/commerce/DocumentDelivery/DDEController?Action=srchrtrv&DocNm=PCJ_series_relay_data_sheet_E&DocType=DS&DocLang=EN) +* [ESP8266 Datasheet](https://drive.google.com/file/d/0B0cEs0lxTtL3SDdCcWd0LVI2bk0/view?usp=sharing) +* [ESP8266 forum](http://bbs.espressif.com/) +* [ESP8266 Flash Download Tools, Please refer to the Tools section](http://espressif.com/en/products/hardware/esp8266ex/resources) +* [ESP8266 Resources](http://espressif.com/en/products/hardware/esp8266ex/resources) +* [CP2102 Datasheet](https://www.silabs.com/Support%20Documents/TechnicalDocs/CP2102-9.pdf) diff --git a/content/documentation/Clusterboard/Accessories.adoc b/content/documentation/Clusterboard/Accessories.adoc deleted file mode 100644 index 226277e6..00000000 --- a/content/documentation/Clusterboard/Accessories.adoc +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: "Accessories" -draft: false -menu: - docs: - title: - parent: "Clusterboard" - identifier: "Clusterboard/Accessories" - weight: ---- - -* To operate this board you will need a power supply, Pine advises a "5V 15A power supply with 6.3mm OD/3.0mm ID barrel type DC Jack" which is also available in the store (https://pine64.com/product/clusterboard-eu-power-supply/[EU] / https://pine64.com/product/clusterboard-us-power-supply/[US] versions). There are other ways to power this board, but they are not described here yet. -* The board works best when it is protected by a (mITX)case, and has some airflow provided by a fan. -* Each SOPINE module can use cooling, both by a casefan, and by using heatsinks on the individual modules. At least the A64 could use some cooling. -* The first slot can use a eMMC module, which are in the store in https://pine64.com/product/16gb-emmc-module/[16GB] / https://pine64.com/product/32gb-emmc-module/[32GB] / https://pine64.com/product/64gb-emmc-module/[64GB] / https://pine64.com/product/128gb-emmc-module/[128GB] sizes. The modules can be used as a USB stick using a https://pine64.com/product/usb-adapter-for-emmc-module/[USB adapter]. (The eMMC is also readable with the Hardkernel https://www.hardkernel.com/shop/emmc-module-reader-board-for-os-upgrade/[eMMC to microSD] converter.) -* Two AA batteries, to allow the SOPINE nodes to retain the RTC (Real Time Clock) time and date information when the power is disconnected. - diff --git a/content/documentation/Clusterboard/Accessories.md b/content/documentation/Clusterboard/Accessories.md new file mode 100644 index 00000000..f5f08056 --- /dev/null +++ b/content/documentation/Clusterboard/Accessories.md @@ -0,0 +1,16 @@ +--- +title: "Accessories" +draft: false +menu: + docs: + title: + parent: "Clusterboard" + identifier: "Clusterboard/Accessories" + weight: +--- + +* To operate this board you will need a power supply, Pine advises a "5V 15A power supply with 6.3mm OD/3.0mm ID barrel type DC Jack" which is also available in the store ([EU](https://pine64.com/product/clusterboard-eu-power-supply/) / [US](https://pine64.com/product/clusterboard-us-power-supply/) versions). There are other ways to power this board, but they are not described here yet. +* The board works best when it is protected by a (mITX)case, and has some airflow provided by a fan. +* Each SOPINE module can use cooling, both by a casefan, and by using heatsinks on the individual modules. At least the A64 could use some cooling. +* The first slot can use a eMMC module, which are in the store in [16GB](https://pine64.com/product/16gb-emmc-module/) / [32GB](https://pine64.com/product/32gb-emmc-module/) / [64GB](https://pine64.com/product/64gb-emmc-module/) / [128GB](https://pine64.com/product/128gb-emmc-module/) sizes. The modules can be used as a USB stick using a [USB adapter](https://pine64.com/product/usb-adapter-for-emmc-module/). (The eMMC is also readable with the Hardkernel [eMMC to microSD](https://www.hardkernel.com/shop/emmc-module-reader-board-for-os-upgrade/) converter.) +* Two AA batteries, to allow the SOPINE nodes to retain the RTC (Real Time Clock) time and date information when the power is disconnected. diff --git a/content/documentation/Clusterboard/Installation.adoc b/content/documentation/Clusterboard/Installation.md similarity index 57% rename from content/documentation/Clusterboard/Installation.adoc rename to content/documentation/Clusterboard/Installation.md index 98fbd2c7..5610cbfb 100644 --- a/content/documentation/Clusterboard/Installation.adoc +++ b/content/documentation/Clusterboard/Installation.md @@ -13,11 +13,13 @@ To install a cluster it is important to know the IP addresses of each module, so Each module may be plugged into the Clusterboard individually or consecutively, which makes it easy to assign a hostname to each module separately. It is also possible to manually edit the hostname in the OS image of each module before the first boot. -TIP: The board has no hotplug functionality, so make sure you only plug/unplug the modules while the power is disconnected from the clusterboard. +**💡 TIP**\ +The board has no hotplug functionality, so make sure you only plug/unplug the modules while the power is disconnected from the clusterboard. -TIP: No management features are available on the switch ship, so there is no VLAN support. +**💡 TIP**\ +No management features are available on the switch ship, so there is no VLAN support. -== Serial console +## Serial console To boot use the serial console connect the pins to UART0 on the GPIO header and connect using baud 115200 @@ -25,7 +27,7 @@ To boot use the serial console connect the pins to UART0 on the GPIO header and * Pin 7: RTX * Pin 8: TXD -The pinouts are available in https://forum.pine64.org/showthread.php?tid=8058[this forum thread]. - -TIP: Do not connect the GND connector until the power is on as it can provide power and prevent the board from booting. +The pinouts are available in [this forum thread](https://forum.pine64.org/showthread.php?tid=8058). +**💡 TIP**\ +Do not connect the GND connector until the power is on as it can provide power and prevent the board from booting. diff --git a/content/documentation/Clusterboard/_index.adoc b/content/documentation/Clusterboard/_index.md similarity index 51% rename from content/documentation/Clusterboard/_index.adoc rename to content/documentation/Clusterboard/_index.md index 6cd7066f..36536256 100644 --- a/content/documentation/Clusterboard/_index.adoc +++ b/content/documentation/Clusterboard/_index.md @@ -11,7 +11,6 @@ menu: {{< figure src="/documentation/Clusterboard/images/Clusterboard_rev_2.2.jpg" title="Front view of the Clusterboard (revision 2.2)" width="400" >}} -The *Clusterboard* is a PINE64 board that makes it possible to set up a compact cluster of headless ARM-based single-board computers. It can hold up to a total of seven link:/documentation/SOPINE[SOPINE] or link:/documentation/SOEDGE[SOEDGE] modules. The Clusterboard is an open-hardware project, but please note that it does not mean this project is "OSH" compliant. - -Although there is a separate page that describes SOPINE modules, this page will describe both the Clusterboard and, to a certain extent, the SOPINE modules. There is a user guide for the Clusterboard in https://forum.pine64.org/showthread.php?tid=7077[this forum thread]. +The **Clusterboard** is a PINE64 board that makes it possible to set up a compact cluster of headless ARM-based single-board computers. It can hold up to a total of seven [SOPINE](/documentation/SOPINE) or [SOEDGE](/documentation/SOEDGE) modules. The Clusterboard is an open-hardware project, but please note that it does not mean this project is "OSH" compliant. +Although there is a separate page that describes SOPINE modules, this page will describe both the Clusterboard and, to a certain extent, the SOPINE modules. There is a user guide for the Clusterboard in [this forum thread](https://forum.pine64.org/showthread.php?tid=7077). diff --git a/content/documentation/General/Android_SDK_for_RK3566.adoc b/content/documentation/General/Android_SDK_for_RK3566.md similarity index 58% rename from content/documentation/General/Android_SDK_for_RK3566.adoc rename to content/documentation/General/Android_SDK_for_RK3566.md index 5591b172..d69cf476 100644 --- a/content/documentation/General/Android_SDK_for_RK3566.adoc +++ b/content/documentation/General/Android_SDK_for_RK3566.md @@ -11,40 +11,40 @@ menu: Two Android SDKs are available from Pine64 for RK3566 devices: -== QUARTZ64_SDK_android11 +## QUARTZ64_SDK_android11 -=== Android 11 SDK +### Android 11 SDK For Quartz64 model A SBC and SOQuartz -* http://files.pine64.org/SDK/Quartz64/QUARTZ64_SDK_android11.tar.gz[Direct Download from pine64.org] -** MD5 (TAR-GZip file): 77c2ff57ea3372fb04da7fb49e17d12b -** File Size: 79.00GB -** Just the boot blobs (<1MB): https://wiki.pine64.org/wiki/File:Rk35-blobs.tar.gz -** Android build version: +* [Direct Download from pine64.org](http://files.pine64.org/SDK/Quartz64/QUARTZ64_SDK_android11.tar.gz) + * MD5 (TAR-GZip file): 77c2ff57ea3372fb04da7fb49e17d12b + * File Size: 79.00GB + * Just the boot blobs (<1MB): https://wiki.pine64.org/wiki/File:Rk35-blobs.tar.gz + * Android build version: -== QUARTZ64-model-A_eink.android11_SDK +## QUARTZ64-model-A_eink.android11_SDK -=== Android 11 eink SDK +### Android 11 eink SDK For PineNote and Quart64 model A SBC -* http://files.pine64.org/SDK/Quartz64/QUARTZ64-model-A_eink.android11_SDK.tar.gz[Direct Download from pine64.org] -** MD5 (TAR-GZip file): 293a550584298de4fb95ceae18103672 -** File Size: 72.88GB -** Just the boot blobs (<1MB): https://wiki.pine64.org/wiki/File:Rk35-blobs.tar.gz -** Android build version: +* [Direct Download from pine64.org](http://files.pine64.org/SDK/Quartz64/QUARTZ64-model-A_eink.android11_SDK.tar.gz) + * MD5 (TAR-GZip file): 293a550584298de4fb95ceae18103672 + * File Size: 72.88GB + * Just the boot blobs (<1MB): https://wiki.pine64.org/wiki/File:Rk35-blobs.tar.gz + * Android build version: -== Compiling +## Compiling -=== Build machine +### Build machine * 64 bit Linux (Manjaro tested) * At least 16G RAM * At least 250G free storage, preferably SSD based * Use a POSIX compliant shell such as bash, not zsh (in Manjaro "chsh -s /bin/bash username") -==== Manjaro packages +#### Manjaro packages The following packages are needed (install with "sudo pacman -S packagename"):- @@ -61,17 +61,17 @@ The following packages are needed (install with "sudo pacman -S packagename"):- Once this is done run * pip install pyelftools -** sudo isn't needed + * sudo isn’t needed You will also need libncurses.so.5. The easiest way to install this appears to be using an Arch AUR package. * Enable AUR * pamac install ncurses5-compat-libs -** don't use sudo + * don’t use sudo -=== Patches +### Patches -==== QUARTZ64-model-A_eink.android11_SDK +#### QUARTZ64-model-A_eink.android11_SDK For QUARTZ64-model-A_eink.android11_SDK the following files will need to be updated:- @@ -80,14 +80,13 @@ For QUARTZ64-model-A_eink.android11_SDK the following files will need to be upda * rk3566_ebook/u-boot/scripts/dtc/dtc-lexer.l * rk3566_ebook/u-boot/scripts/dtc/dtc-lexer.lex.c * rk3566_ebook/u-boot/scripts/dtc/dtc-lexer.lex.c_shipped -* Download link https://wiki.pine64.org/images/c/ca/QUARTZ64-model-A_eink.android11_SDK.patches.04112021.tar[QUARTZ64-model-A_eink.android11_SDK.patches.04112021.tar] +* Download link [QUARTZ64-model-A_eink.android11_SDK.patches.04112021.tar](https://wiki.pine64.org/images/c/ca/QUARTZ64-model-A_eink.android11_SDK.patches.04112021.tar) * Only the PineNote target has been tested at this time. -=== Compilation process +### Compilation process * cd rk3566 (for non eink) * cd rk3566_ebook (for eink) * source build/envsetup.sh * lunch * ./build.sh -UCKAu - diff --git a/content/documentation/General/Mali_driver.adoc b/content/documentation/General/Mali_driver.md similarity index 68% rename from content/documentation/General/Mali_driver.adoc rename to content/documentation/General/Mali_driver.md index 4823032d..f470ea0f 100644 --- a/content/documentation/General/Mali_driver.adoc +++ b/content/documentation/General/Mali_driver.md @@ -13,17 +13,17 @@ Here is the good DRM powerpoint presentation by Free Electron: https://free-elec Here is the DRM video presentation by Free Electron: https://www.youtube.com/watch?v=LbDOCJcDRoo -== Wayland MALI Driver +## Wayland MALI Driver -* http://files.pine64.org/doc/MALI/mali400-r6p2-01rel0-km-003.tar.7z[MALI-400 R6P2 Kernel Mode Setting binary download] (1.86MB, MD5 _523276872A9A11D1831ACE42F95DBBB1_) -* http://files.pine64.org/doc/MALI/mali400-r6p2-01rel0-um009-wayland.tar.bz2[MALI-400 R6P2 WAYLAND 64-bit binary driver and binary download] (179KB, MD5 _1698E8C54BDC6FE0804699F545FFE793_) +* [MALI-400 R6P2 Kernel Mode Setting binary download](http://files.pine64.org/doc/MALI/mali400-r6p2-01rel0-km-003.tar.7z) (1.86MB, MD5 _523276872A9A11D1831ACE42F95DBBB1_) +* [MALI-400 R6P2 WAYLAND 64-bit binary driver and binary download](http://files.pine64.org/doc/MALI/mali400-r6p2-01rel0-um009-wayland.tar.bz2) (179KB, MD5 _1698E8C54BDC6FE0804699F545FFE793_) -== X11 MALI Driver +## X11 MALI Driver -* http://files.pine64.org/doc/MALI/MALI%20EULA.pdf[MALI EULA document] -* http://files.pine64.org/doc/MALI/x11_pine.tar.bz2[MALI-400 64-bit binary driver and binary download] from _pine64.org_ (1.7MB, MD5 _4F56AE6FB793E7D946867942AF58FEAC_) +* [MALI EULA document](http://files.pine64.org/doc/MALI/MALI%20EULA.pdf) +* [MALI-400 64-bit binary driver and binary download](http://files.pine64.org/doc/MALI/x11_pine.tar.bz2) from _pine64.org_ (1.7MB, MD5 _4F56AE6FB793E7D946867942AF58FEAC_) -== X11 Notice +## X11 Notice Attached are the implemented driver and library. diff --git a/content/documentation/Introduction/How_to_contribute.adoc b/content/documentation/Introduction/How_to_contribute.md similarity index 56% rename from content/documentation/Introduction/How_to_contribute.adoc rename to content/documentation/Introduction/How_to_contribute.md index dc0f2664..4c501107 100644 --- a/content/documentation/Introduction/How_to_contribute.adoc +++ b/content/documentation/Introduction/How_to_contribute.md @@ -11,51 +11,52 @@ menu: The following article contains a selection of common ways to contribute to the community projects. -== Reporting issues +## Reporting issues Reporting issues is a great way to contribute (if done correctly). The software projects are using bug trackers to keep track of bugs and to link patches or changes with these bug reports. -See the article link:/documentation/Introduction/Where_to_report_bugs[where to report bugs] to find out where you can report bugs. +See the article [where to report bugs](/documentation/Introduction/Where_to_report_bugs) to find out where you can report bugs. -== Contributing code +## Contributing code By contributing code, for example as documented in the following project pages (alphabetical order): -* elementary: https://elementary.io/get-involved[Get Involved] and the https://github.com/orgs/elementary/projects/108[ARM project on GitHub] -* KDE: see https://community.kde.org/Get_Involved[Get Involved] and https://community.kde.org/Help:Contribute[Help:Contribute] +* elementary: [Get Involved](https://elementary.io/get-involved) and the [ARM project on GitHub](https://github.com/orgs/elementary/projects/108) +* KDE: see [Get Involved](https://community.kde.org/Get_Involved) and [Help:Contribute](https://community.kde.org/Help:Contribute) * Plasma Mobile: https://plasma-mobile.org/get-source/ (see the "Contributing" section) -== Donating to community projects and developers +## Donating to community projects and developers Many community projects and developers are working on the software on their free time. Donating to community projects and developers is a great way to support these projects and developers developing the software for the devices. The following list is an exemplary selection to which projects and developers can be donated to (in alphabetical order): -TIP: The following list is not a comprehensive list and solely a selection of different community projects and developers, which can be supported. Any FOSS development effort is valuable and should be rewarded, please support your favorite developer(s) or project(s) even if not mentioned on the list Your name or project not on the list? +**💡 TIP**\ +The following list is not a comprehensive list and solely a selection of different community projects and developers, which can be supported. Any FOSS development effort is valuable and should be rewarded, please support your favorite developer(s) or project(s) even if not mentioned on the list Your name or project not on the list? -=== Community projects +### Community projects * Armbian: https://www.armbian.com/donate/ * elementary: https://elementary.io/get-involved * KDE: https://kde.org/community/donations/ * LibreELEC: https://libreelec.tv/sponsor/ -* Manjaro ARM: https://opencollective.com/manjaro-arm/donate[Open Collective], https://en.liberapay.com/Manjaro-ARM/[Liberapay], https://www.patreon.com/manjaroarm[Patreon] (see https://manjaro.org/donate/ for an overview) -* Mobian: https://liberapay.com/mobian/donate[Liberapay] +* Manjaro ARM: [Open Collective](https://opencollective.com/manjaro-arm/donate), [Liberapay](https://en.liberapay.com/Manjaro-ARM/), [Patreon](https://www.patreon.com/manjaroarm) (see https://manjaro.org/donate/ for an overview) +* Mobian: [Liberapay](https://liberapay.com/mobian/donate) * postmarketOS: https://postmarketos.org/donate/ * UBports: https://ubports.com/donate and many more! -=== Developers +### Developers -* Danct12: https://ko-fi.com/danct12[Ko-fi], https://liberapay.com/Danct12[Liberapay], https://patreon.com/Danct12[Patreon] +* Danct12: [Ko-fi](https://ko-fi.com/danct12), [Liberapay](https://liberapay.com/Danct12), [Patreon](https://patreon.com/Danct12) * megi: https://xnux.eu/contribute.html#toc-donations and many more! -== Help with the documentation +## Help with the documentation All projects typically require help with the documentation. That can include the wikis of the projects, help pages, tutorials, manuals and technical or informative drawings. -== Other ways to contribute +## Other ways to contribute Other ways to contribute to the projects might include: @@ -66,6 +67,6 @@ Other ways to contribute to the projects might include: and many more! -== By being a positive member of the community +## By being a positive member of the community -By being a positive member of the community you can help answering common questions and help people find the correct places for their inquiries. \ No newline at end of file +By being a positive member of the community you can help answering common questions and help people find the correct places for their inquiries. diff --git a/content/documentation/Introduction/Where_to_report_bugs.adoc b/content/documentation/Introduction/Where_to_report_bugs.md similarity index 70% rename from content/documentation/Introduction/Where_to_report_bugs.adoc rename to content/documentation/Introduction/Where_to_report_bugs.md index 0145164b..1d446e7a 100644 --- a/content/documentation/Introduction/Where_to_report_bugs.adoc +++ b/content/documentation/Introduction/Where_to_report_bugs.md @@ -11,15 +11,15 @@ menu: Reporting bugs is a great way to contribute and to help bringing order at managing and solving issues. -== Overview +## Overview -Issues should *only* be reported in the correct *bug trackers*, not in the community chats. The following list is a selection of common bug trackers. +Issues should **only** be reported in the correct **bug trackers**, not in the community chats. The following list is a selection of common bug trackers. -== PinePhone and PinePhone Pro +## PinePhone and PinePhone Pro Issues with the PinePhone and the PinePhone Pro can be reported on the following bug trackers (selection). -=== Operating Systems and Distributions +### Operating Systems and Distributions * Arch Linux ARM (DanctNIX): https://github.com/dreemurrs-embedded/Pine64-Arch/issues?q=is%3Aissue * Fedora: https://github.com/nikhiljha/pp-fedora-sdsetup/issues?q=is%3Aissue @@ -36,8 +36,8 @@ Issues with the PinePhone and the PinePhone Pro can be reported on the following * OpenMandriva Lx: - * openSUSE: https://gitlab.com/slem.os/slem.os/-/issues?sort=created_date&state=all * postmarketOS: -** PinePhone: https://gitlab.com/postmarketOS/pmaports/-/issues?sort=created_date&state=opened&label_name%5B%5D=device-pine64-pinephone -** PinePhone Pro: https://gitlab.com/postmarketOS/pmaports/-/issues?sort=created_date&state=opened&label_name%5B%5D=device-pine64-pinephonepro + * PinePhone: https://gitlab.com/postmarketOS/pmaports/-/issues?sort=created_date&state=opened&label_name%5B%5D=device-pine64-pinephone + * PinePhone Pro: https://gitlab.com/postmarketOS/pmaports/-/issues?sort=created_date&state=opened&label_name%5B%5D=device-pine64-pinephonepro * PureOS: unmaintained * Sailfish OS: https://github.com/sailfish-on-dontbeevil * SkiffOS: https://github.com/skiffos/SkiffOS/issues?q=is%3Aissue @@ -45,14 +45,14 @@ Issues with the PinePhone and the PinePhone Pro can be reported on the following * Swmo: https://todo.sr.ht/~mil/sxmo-tickets * Ubuntu Touch: https://gitlab.com/ubports/community-ports/pinephone/-/issues?sort=created_date&state=all -=== User Interfaces +### User Interfaces * Plasma Mobile: https://invent.kde.org/plasma/plasma-mobile/-/issues -** Plasma Mobile applications: https://invent.kde.org/groups/plasma-mobile/-/issues + * Plasma Mobile applications: https://invent.kde.org/groups/plasma-mobile/-/issues * Phosh: https://gitlab.gnome.org/World/Phosh/phosh/-/issues?scope=all&state=all -** Phosh projects: https://gitlab.gnome.org/World/Phosh + * Phosh projects: https://gitlab.gnome.org/World/Phosh -=== Bootloaders and Firmwares +### Bootloaders and Firmwares * U-Boot: TBD * Tow-Boot: https://github.com/Tow-Boot/Tow-Boot/issues?q @@ -60,22 +60,22 @@ Issues with the PinePhone and the PinePhone Pro can be reported on the following * Crust: https://github.com/crust-firmware/crust/issues?q=is%3Aissue * Pinephone Modem SDK: https://github.com/Biktorgj/pinephone_modem_sdk/issues?q=is%3Aissue -=== Hardware Issues +### Hardware Issues -The page link:/documentation/PinePhone/Hardware_fixes_and_mods/Hardware_issues[Hardware issues] can be used to track known problems with the hardware (and how to fix them). If you're not exactly sure how to describe the issue, try the discussion tab for that page, or other community resources. +The page [Hardware issues](/documentation/PinePhone/Hardware_fixes_and_mods/Hardware_issues) can be used to track known problems with the hardware (and how to fix them). If you’re not exactly sure how to describe the issue, try the discussion tab for that page, or other community resources. -=== Accessories +### Accessories TBD -== PineTime +## PineTime * InfiniTime: https://github.com/InfiniTimeOrg/InfiniTime/issues?q=is%3Aissue -== PineTab +## PineTab * Arch Linux ARM: https://github.com/dreemurrs-embedded/Pine64-Arch/issues?q=is%3Aissue+label%3A%22device%3A+pinetab%22 * Manjaro ARM: https://gitlab.manjaro.org/manjaro-arm/issues * Mobian: https://gitlab.com/mobian1/issues * postmarketOS: https://gitlab.com/postmarketOS/pmaports/-/issues?sort=created_date&state=opened&label_name%5B%5D=device-pine64-pinetab -* Ubuntu Touch: https://gitlab.com/ubports/community-ports/pinephone/-/issues?sort=created_date&state=all \ No newline at end of file +* Ubuntu Touch: https://gitlab.com/ubports/community-ports/pinephone/-/issues?sort=created_date&state=all diff --git a/content/documentation/Oz64/Features.adoc b/content/documentation/Oz64/Features.md similarity index 82% rename from content/documentation/Oz64/Features.adoc rename to content/documentation/Oz64/Features.md index 0f5b02c2..0ca6db95 100644 --- a/content/documentation/Oz64/Features.adoc +++ b/content/documentation/Oz64/Features.md @@ -9,42 +9,41 @@ menu: weight: 1 --- -== Board dimension +## Board dimension -Board Dimensions: 85mm x 56mm x 18.8mm, see the https://files.pine64.org/doc/rock64/rock64%20board%20dimension.pdf[model-B board dimension drawing] +Board Dimensions: 85mm x 56mm x 18.8mm, see the [model-B board dimension drawing](https://files.pine64.org/doc/rock64/rock64%20board%20dimension.pdf) {{< figure src="/documentation/Oz64/images/Oz64_3D_model.png" title="The Oz64 3D model" width="300" >}} -== Network +## Network * 2.4 GHz 1T1R Wi-Fi 6 * Bluetooth 5.2 * 10/100 Mbit/s Ethernet with optional PoE capability -== Storage +## Storage * On-board eMMC module socket * MicroSD, supports SDHC and SDXC -== Expansion ports +## Expansion ports * USB 2.0 Host port * 26 GPIO pins, including SPI, I^2^C and UART functionality * 2x Dual-lane MiPi CSI port * Optional dual-lane MiPi DSI port -== Input power +## Input power Input Power: +5V @2A with 3.5mm/1.35mm Type H Barrel type DC connector (@1.5A will work if there is no heavy load on the USB 2.0 port) +## SoC and Memory Specification -== SoC and Memory Specification - -Based on the https://en.sophgo.com/sophon-u/product/introduce/sg200x.html[Sophgo SG-200x] +Based on the [Sophgo SG-200x](https://en.sophgo.com/sophon-u/product/introduce/sg200x.html) {{< figure src="/documentation/Oz64/images/SG2000_Block_Diagram.png" title="SG2000 block diagram" width="300" >}} -=== CPU Architecture +### CPU Architecture T-Head C906 1GHz MHz 64-bit RISC-V CPU: @@ -60,7 +59,7 @@ T-Head C906 1GHz MHz 64-bit RISC-V CPU: * Supports BHT (8K) and BTB * Compatible with RISC-V PMP, 8 configurable areas * Supports hardware performance monitor (HPM) units -* See https://www.t-head.cn/product/c906?lang=en[here] +* See [here](https://www.t-head.cn/product/c906?lang=en) T-Head C906 700Mhz MHz 64-bit RISC-V CPU: @@ -75,12 +74,11 @@ T-Head C906 700Mhz MHz 64-bit RISC-V CPU: * Supports BHT (8K) and BTB * Compatible with RISC-V PMP, 8 configurable areas * Supports hardware performance monitor (HPM) units -* See https://www.t-head.cn/product/c906?lang=en[here] - +* See [here](https://www.t-head.cn/product/c906?lang=en) ARM Cortex-A53 1GHz 64-bit RISC CPU: -* https://www.arm.com/products/processors/cortex-a/cortex-a53-processor.php[Quad-core Cortex-A53 up to 1.0GHz CPU] +* [Quad-core Cortex-A53 up to 1.0GHz CPU](https://www.arm.com/products/processors/cortex-a/cortex-a53-processor.php) * Full implementation of the ARM architecture v8-A instruction set * ARM Neon Advanced SIMD (single instruction, multiple data) support for accelerated media and signal processing computation * ARMv8 Cryptography Extensions @@ -95,5 +93,5 @@ ARM Cortex-A53 1GHz 64-bit RISC CPU: * Integrated 8K SRAM -=== System Memory +### System Memory * SIP DRAM 512MB diff --git a/content/documentation/Oz64/_index.adoc b/content/documentation/Oz64/_index.md similarity index 58% rename from content/documentation/Oz64/_index.adoc rename to content/documentation/Oz64/_index.md index ddddcea2..e9414f3f 100644 --- a/content/documentation/Oz64/_index.adoc +++ b/content/documentation/Oz64/_index.md @@ -9,8 +9,8 @@ menu: weight: --- -The *Oz64* is a low cost single-board computer based on the Sophgo SG2000 SoC with dual T-Head C906 64-bit RISC-V cores, an ARM Cortex A53 64-bit RISC CPU core and an 8051 8-bit core supported by 512 MB of embedded DRAM memory, with WiFi and Bluetooth radio interfaces. +The **Oz64** is a low cost single-board computer based on the Sophgo SG2000 SoC with dual T-Head C906 64-bit RISC-V cores, an ARM Cortex A53 64-bit RISC CPU core and an 8051 8-bit core supported by 512 MB of embedded DRAM memory, with WiFi and Bluetooth radio interfaces. The Oz64 SBC comes in a model-B form-factor, has a microSD card slot, an eMMC plugin connector, an USB 2.0 Type-A host port, and many other peripheral interfaces for makers to integrate with sensors and other devices. -{{< figure src="/devices/images/oz64.jpg" title="The Oz64" width="300" >}} \ No newline at end of file +{{< figure src="/devices/images/oz64.jpg" title="The Oz64" width="300" >}} diff --git a/content/documentation/PINE_H64_Model_A/Board_Features.adoc b/content/documentation/PINE_H64_Model_A/Board_Features.md similarity index 72% rename from content/documentation/PINE_H64_Model_A/Board_Features.adoc rename to content/documentation/PINE_H64_Model_A/Board_Features.md index f04002a9..1339983f 100644 --- a/content/documentation/PINE_H64_Model_A/Board_Features.adoc +++ b/content/documentation/PINE_H64_Model_A/Board_Features.md @@ -9,46 +9,46 @@ menu: weight: 1 --- -== Dimensions +## Dimensions Board dimensions: 133mm x 80mm x 19mm -== Power +## Power Input power: DC 5V @ 3A, 3.5mm OD/ 1.35mm ID DC jack connector, Euler connector -== Video +## Video * Digital Video 4KP60 (Type A - full) -== Audio +## Audio * 3.5mm stereo earphone/microphone plug -== Network +## Network * 10/100/1000Mbps Ethernet * WiFi 802.11 b/g/n/ac with Bluetooth 4.0/4.1 (optional) -== Storage +## Storage * microSD - bootable, support SDHC and SDXC, storage up to 256GB * USB - 1 USB3.0 Host port and 2 USB2.0 Host port -== Expansion Ports +## Expansion Ports * RTC - Real Time Clock Battery Connector * Wifi/BT Module Header - SDIO 3.0 and UART * 2x20 pins "Pi2" GPIO Header * mini PCIe connector -== SoC and memory specifications +## SoC and memory specifications -The PINE H64 Model A is based on the **Allwinner H6**. +The PINE H64 Model A is based on the ***Allwinner H6***. -=== CPU Architecture +### CPU Architecture -* Quad-core ARM Cortex-A53 Processor@1488Mhz footnote:[see https://www.arm.com/products/processors/cortex-a/cortex-a53-processor.php[Cortex-A53 on arm.com]] +* Quad-core ARM Cortex-A53 Processor@1488Mhz footnote:[see [Cortex-A53 on arm.com](https://www.arm.com/products/processors/cortex-a/cortex-a53-processor.php)] * A power-efficient ARM v8 architecture * 64 and 32bit execution states for scalable high performance * Trustzone technology supported @@ -58,15 +58,15 @@ The PINE H64 Model A is based on the **Allwinner H6**. * 32KB L1 Instruction cache and 32KB L1 Data cache * 512KB L2 cache -=== GPU Architecture +### GPU Architecture -* ARM Mali T-720MP2 Dual-core GPU footnote:[see https://developer.arm.com/products/graphics-and-multimedia/mali-gpus/mali-t720-gpu[Mali-T720 on arm.com]] +* ARM Mali T-720MP2 Dual-core GPU footnote:[see [Mali-T720 on arm.com](https://developer.arm.com/products/graphics-and-multimedia/mali-gpus/mali-t720-gpu)] * Supports OpenGL ES 3.1/3.0/2.0/1.1, OpenCL 1.2/1.1 * Supports ATSC (Adaptive Scalable Texture Compression) * Supports FAST(4x)FSAA, IO Coherency * Floating point operation greater than 70 GFLOPS -=== System Memory +### System Memory * RAM Memory Variants: 1GB, 2GB, and 3GB LPDDR3. -* Storage Memory: PINE H64 boards have a built-in 128Mb SPI Flash memory and can use bootable eMMC modules, bootable microSD cards or USB-attached storage. \ No newline at end of file +* Storage Memory: PINE H64 boards have a built-in 128Mb SPI Flash memory and can use bootable eMMC modules, bootable microSD cards or USB-attached storage. diff --git a/content/documentation/PINE_H64_Model_A/Further_information/Mali-T720_driver.adoc b/content/documentation/PINE_H64_Model_A/Further_information/Mali-T720_driver.adoc deleted file mode 100644 index 9b231b90..00000000 --- a/content/documentation/PINE_H64_Model_A/Further_information/Mali-T720_driver.adoc +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: "Mali-T720 driver" -draft: false -menu: - docs: - title: - parent: "PINE_H64_Model_A/Further_information" - identifier: "PINE_H64_Model_A/Further_information/Mali-T720_driver" - weight: 3 ---- - -A good DRM PowerPoint presentation by Free Electron https://free-electrons.com/pub/conferences/2017/kr/ripard-drm/ripard-drm.pdf[here] and the DRM video presentation by Free Electron https://www.youtube.com/watch?v=LbDOCJcDRoo[here]. - -32-bit Wayland MALI Driver: - -* https://files.pine64.org/doc/MALI/MALI%20EULA.pdf[MALI EULA document] -* https://files.pine64.org/os/sdk/H64-ver1.1/mali-t720-r18p0-01rel0-um-016-linux-opengles-release-wayland-server-gbm-composer-arm32-glibc.tar.bz2[MALI-T720 32-bit server binary driver and binary download] (3.4 MB MD5 _F2186A4CAE505A76E0758735886FE682_) -* https://files.pine64.org/os/sdk/H64-ver1.1/mali-t720-r18p0-01rel0-um-016-linux-opengles-release-wayland-client-gbm-composer-arm32-glibc.tar.bz2[MALI-T720 32-bit client binary driver and binary download] (3.4 MB MD5 _F316A78AFABE87E69C8F816D18F15D68_) - diff --git a/content/documentation/PINE_H64_Model_A/Further_information/Mali-T720_driver.md b/content/documentation/PINE_H64_Model_A/Further_information/Mali-T720_driver.md new file mode 100644 index 00000000..0269007b --- /dev/null +++ b/content/documentation/PINE_H64_Model_A/Further_information/Mali-T720_driver.md @@ -0,0 +1,18 @@ +--- +title: "Mali-T720 driver" +draft: false +menu: + docs: + title: + parent: "PINE_H64_Model_A/Further_information" + identifier: "PINE_H64_Model_A/Further_information/Mali-T720_driver" + weight: 3 +--- + +A good DRM PowerPoint presentation by Free Electron [here](https://free-electrons.com/pub/conferences/2017/kr/ripard-drm/ripard-drm.pdf) and the DRM video presentation by Free Electron [here](https://www.youtube.com/watch?v=LbDOCJcDRoo). + +32-bit Wayland MALI Driver: + +* [MALI EULA document](https://files.pine64.org/doc/MALI/MALI%20EULA.pdf) +* [MALI-T720 32-bit server binary driver and binary download](https://files.pine64.org/os/sdk/H64-ver1.1/mali-t720-r18p0-01rel0-um-016-linux-opengles-release-wayland-server-gbm-composer-arm32-glibc.tar.bz2) (3.4 MB MD5 _F2186A4CAE505A76E0758735886FE682_) +* [MALI-T720 32-bit client binary driver and binary download](https://files.pine64.org/os/sdk/H64-ver1.1/mali-t720-r18p0-01rel0-um-016-linux-opengles-release-wayland-client-gbm-composer-arm32-glibc.tar.bz2) (3.4 MB MD5 _F316A78AFABE87E69C8F816D18F15D68_) diff --git a/content/documentation/PINE_H64_Model_A/Software/Linux_BSP_SDK.adoc b/content/documentation/PINE_H64_Model_A/Software/Linux_BSP_SDK.adoc deleted file mode 100644 index 22d24528..00000000 --- a/content/documentation/PINE_H64_Model_A/Software/Linux_BSP_SDK.adoc +++ /dev/null @@ -1,30 +0,0 @@ ---- -title: "Linux BSP SDK" -draft: false -menu: - docs: - title: - parent: "PINE_H64_Model_A/Software" - identifier: "PINE_H64_Model_A/Software/Linux_BSP_SDK" - weight: 99 ---- - -The Linux BSP Kernel version 4.9 - -Download: - -* https://github.com/Allwinner-Homlet/H6-BSP4.9-tools[H6 BSP 4.9 Tools] -* https://github.com/Allwinner-Homlet/H6-BSP4.9-brandy[H6 BSP 4.9 "Brandy" Github] -* https://github.com/Allwinner-Homlet/H6-BSP4.9-linux[H6 BSP 4.9 Linux Github] - -== Linux BSP Kernel ver 3.10 Lichee ver 1.1 -* https://files.pine64.org/os/sdk/H64-ver1.1/H6-lichee-v1.1.tar.gz[Direct Download from pine64.org] -** MD5 (TAR-GZip file): AE6CA68A230923031680BCFABDD7FC89 -** File Size: 2.76GB - -== Linux BSP Kernel ver 3.10 Lichee ver 1.0 - -* https://files.pine64.org/os/sdk/H64-ver1.0/H6-BSP-1.0.tgz[Direct Download from pine64.org] -** MD5 (TAR-GZip file): 2D90557E63946A7DA64CD133EE57F206 -** File Size: 2.40GB - diff --git a/content/documentation/PINE_H64_Model_A/Software/Linux_BSP_SDK.md b/content/documentation/PINE_H64_Model_A/Software/Linux_BSP_SDK.md new file mode 100644 index 00000000..1da1bfba --- /dev/null +++ b/content/documentation/PINE_H64_Model_A/Software/Linux_BSP_SDK.md @@ -0,0 +1,29 @@ +--- +title: "Linux BSP SDK" +draft: false +menu: + docs: + title: + parent: "PINE_H64_Model_A/Software" + identifier: "PINE_H64_Model_A/Software/Linux_BSP_SDK" + weight: 99 +--- + +The Linux BSP Kernel version 4.9 + +Download: + +* [H6 BSP 4.9 Tools](https://github.com/Allwinner-Homlet/H6-BSP4.9-tools) +* [H6 BSP 4.9 "Brandy" Github](https://github.com/Allwinner-Homlet/H6-BSP4.9-brandy) +* [H6 BSP 4.9 Linux Github](https://github.com/Allwinner-Homlet/H6-BSP4.9-linux) + +## Linux BSP Kernel ver 3.10 Lichee ver 1.1 +* [Direct Download from pine64.org](https://files.pine64.org/os/sdk/H64-ver1.1/H6-lichee-v1.1.tar.gz) + * MD5 (TAR-GZip file): AE6CA68A230923031680BCFABDD7FC89 + * File Size: 2.76GB + +## Linux BSP Kernel ver 3.10 Lichee ver 1.0 + +* [Direct Download from pine64.org](https://files.pine64.org/os/sdk/H64-ver1.0/H6-BSP-1.0.tgz) + * MD5 (TAR-GZip file): 2D90557E63946A7DA64CD133EE57F206 + * File Size: 2.40GB diff --git a/content/documentation/PINE_H64_Model_A/_index.adoc b/content/documentation/PINE_H64_Model_A/_index.md similarity index 55% rename from content/documentation/PINE_H64_Model_A/_index.adoc rename to content/documentation/PINE_H64_Model_A/_index.md index 61600aa8..7134579e 100644 --- a/content/documentation/PINE_H64_Model_A/_index.adoc +++ b/content/documentation/PINE_H64_Model_A/_index.md @@ -11,4 +11,4 @@ menu: {{< figure src="images/pineh64modela.jpg" title="The PINE H64 Model A" width="400" >}} -The *PINE H64 Model A* is a discontinued Single Board Computer by _PINE64_. It is powered by an Allwinner "H6" Quad-Core ARM Cortex A53 64-Bit Processor with a MALI T-722 GPU. \ No newline at end of file +The **PINE H64 Model A** is a discontinued Single Board Computer by _PINE64_. It is powered by an Allwinner "H6" Quad-Core ARM Cortex A53 64-Bit Processor with a MALI T-722 GPU. diff --git a/content/documentation/PINE_H64_Model_B/Board_Features.adoc b/content/documentation/PINE_H64_Model_B/Board_Features.md similarity index 72% rename from content/documentation/PINE_H64_Model_B/Board_Features.adoc rename to content/documentation/PINE_H64_Model_B/Board_Features.md index 05de4b63..f722468e 100644 --- a/content/documentation/PINE_H64_Model_B/Board_Features.adoc +++ b/content/documentation/PINE_H64_Model_B/Board_Features.md @@ -9,52 +9,52 @@ menu: weight: 1 --- -== Dimensions +## Dimensions Board dimensions: 85mm x 56mm x 18.8mm -== Power +## Power Input power: DC 5V @ 3A, 3.5mm OD/ 1.35mm ID DC jack connector -== Video +## Video * Digital Video 4KP60 (Type A - full) -== Audio +## Audio * 3.5mm stereo earphone/microphone plug -== Network +## Network * 10/100/1000Mbps Ethernet * WiFi 802.11 b/g/n/ac with Bluetooth 4.0/4.1 * MHF1 RF coaxial connector for external BT/wifi antenna -== Storage +## Storage * microSD - bootable, support SDHC and SDXC, storage up to 256GB * USB - 1 USB3.0 Host port and 2 USB2.0 Host port -== Expansion Ports +## Expansion Ports * RTC - Real Time Clock Battery Connector * Wifi/BT Module Header - SDIO 3.0 and UART * 2x20 pins "Pi2" GPIO Header * 3x3 pins "EXT" Header giving console, power switch and reset switch access -== Console +## Console -* The console UART is available on the 6-pin header connector between the HDMI and headphone jacks. The pins are on the front row, closer to the board's edge: TX, RX, GND, from left (HDMI) to right (headphone). +* The console UART is available on the 6-pin header connector between the HDMI and headphone jacks. The pins are on the front row, closer to the board’s edge: TX, RX, GND, from left (HDMI) to right (headphone). * The default standard is 8,n,1 at 115200bps. -== SoC and memory specifications +## SoC and memory specifications -The PINE H64 Model B is based on the **Allwinner H6**. +The PINE H64 Model B is based on the ***Allwinner H6***. -=== CPU Architecture +### CPU Architecture -* Quad-core ARM Cortex-A53 Processor@1488Mhz footnote:[see https://www.arm.com/products/processors/cortex-a/cortex-a53-processor.php[Cortex-A53 on arm.com]] +* Quad-core ARM Cortex-A53 Processor@1488Mhz footnote:[see [Cortex-A53 on arm.com](https://www.arm.com/products/processors/cortex-a/cortex-a53-processor.php)] * A power-efficient ARM v8 architecture * 64 and 32bit execution states for scalable high performance * Trustzone technology supported @@ -64,15 +64,15 @@ The PINE H64 Model B is based on the **Allwinner H6**. * 32KB L1 Instruction cache and 32KB L1 Data cache * 512KB L2 cache -=== GPU Architecture +### GPU Architecture -* ARM Mali T-720MP2 Dual-core GPU footnote:[see https://developer.arm.com/products/graphics-and-multimedia/mali-gpus/mali-t720-gpu[Mali-T720 on arm.com]] +* ARM Mali T-720MP2 Dual-core GPU footnote:[see [Mali-T720 on arm.com](https://developer.arm.com/products/graphics-and-multimedia/mali-gpus/mali-t720-gpu)] * Supports OpenGL ES 3.1/3.0/2.0/1.1, OpenCL 1.2/1.1 * Supports ATSC (Adaptive Scalable Texture Compression) * Supports FAST (4x) FSAA, IO Coherency * Floating point operation greater than 70 GFLOPS -=== System Memory +### System Memory * RAM Memory Variants: 1GB, 2GB, and 3GB LPDDR3. -* Storage Memory: PINE H64 boards have a built-in 128Mb SPI Flash memory and can use bootable eMMC modules, bootable microSD cards or USB-attached storage. \ No newline at end of file +* Storage Memory: PINE H64 boards have a built-in 128Mb SPI Flash memory and can use bootable eMMC modules, bootable microSD cards or USB-attached storage. diff --git a/content/documentation/PINE_H64_Model_B/Further_information/Mali-T720_driver.adoc b/content/documentation/PINE_H64_Model_B/Further_information/Mali-T720_driver.adoc deleted file mode 100644 index 03d6ab6f..00000000 --- a/content/documentation/PINE_H64_Model_B/Further_information/Mali-T720_driver.adoc +++ /dev/null @@ -1,25 +0,0 @@ ---- -title: "Mali-T720 driver" -draft: false -menu: - docs: - title: - parent: "PINE_H64_Model_B/Further_information" - identifier: "PINE_H64_Model_B/Further_information/Mali-T720_driver" - weight: 3 ---- - -A good DRM PowerPoint presentation by Free Electron https://free-electrons.com/pub/conferences/2017/kr/ripard-drm/ripard-drm.pdf[here] and the DRM video presentation by Free Electron https://www.youtube.com/watch?v=LbDOCJcDRoo[here]. - -32-bit Wayland MALI Driver: - -* https://files.pine64.org/doc/MALI/MALI%20EULA.pdf[MALI EULA document] -* https://files.pine64.org/SDK/PINE-H64/mali-t720-r18p0-01rel0-um-016-linux-opengles-release-wayland-server-gbm-composer-arm32-glibc.tar.bz2[MALI-T720 32-bit server binary driver and binary download] from _pine64.org_ (3.4MB, MD5 _F2186A4CAE505A76E0758735886FE682_) -* https://files.pine64.org/SDK/PINE-H64/mali-t720-r18p0-01rel0-um-016-linux-opengles-release-wayland-client-gbm-composer-arm32-glibc.tar.bz2[MALI-T720 32-bit client binary driver and binary download] from _pine64.org_ (3.4MB, MD5 _F316A78AFABE87E69C8F816D18F15D68_) - -64-bit Wayland MALI Driver: - -* https://files.pine64.org/doc/MALI/MALI%20EULA.pdf[MALI EULA document] -* https://files.pine64.org/SDK/PINE-H64/mali-t720-r18p0-01rel0-um-018-linux-opengles-release-wayland-server-gbm-composer-arm64-glibc.tar.bz2[MALI-T720 64-bit server binary driver and binary download] from _pine64.org_ (5.0MB, MD5 _13CC8DCB7CF068D80DFC16281E95E9D7_) -* https://files.pine64.org/SDK/PINE-H64/mali-t720-r18p0-01rel0-um-018-linux-opengles-release-wayland-client-gbm-composer-arm64-glibc.tar.bz2[MALI-T720 64-bit client binary driver and binary download] from _pine64.org_ (5.0MB, MD5 _951BAD6ED66D4CB904CFE0D65F2855E8_) - diff --git a/content/documentation/PINE_H64_Model_B/Further_information/Mali-T720_driver.md b/content/documentation/PINE_H64_Model_B/Further_information/Mali-T720_driver.md new file mode 100644 index 00000000..3d5cf164 --- /dev/null +++ b/content/documentation/PINE_H64_Model_B/Further_information/Mali-T720_driver.md @@ -0,0 +1,24 @@ +--- +title: "Mali-T720 driver" +draft: false +menu: + docs: + title: + parent: "PINE_H64_Model_B/Further_information" + identifier: "PINE_H64_Model_B/Further_information/Mali-T720_driver" + weight: 3 +--- + +A good DRM PowerPoint presentation by Free Electron [here](https://free-electrons.com/pub/conferences/2017/kr/ripard-drm/ripard-drm.pdf) and the DRM video presentation by Free Electron [here](https://www.youtube.com/watch?v=LbDOCJcDRoo). + +32-bit Wayland MALI Driver: + +* [MALI EULA document](https://files.pine64.org/doc/MALI/MALI%20EULA.pdf) +* [MALI-T720 32-bit server binary driver and binary download](https://files.pine64.org/SDK/PINE-H64/mali-t720-r18p0-01rel0-um-016-linux-opengles-release-wayland-server-gbm-composer-arm32-glibc.tar.bz2) from _pine64.org_ (3.4MB, MD5 _F2186A4CAE505A76E0758735886FE682_) +* [MALI-T720 32-bit client binary driver and binary download](https://files.pine64.org/SDK/PINE-H64/mali-t720-r18p0-01rel0-um-016-linux-opengles-release-wayland-client-gbm-composer-arm32-glibc.tar.bz2) from _pine64.org_ (3.4MB, MD5 _F316A78AFABE87E69C8F816D18F15D68_) + +64-bit Wayland MALI Driver: + +* [MALI EULA document](https://files.pine64.org/doc/MALI/MALI%20EULA.pdf) +* [MALI-T720 64-bit server binary driver and binary download](https://files.pine64.org/SDK/PINE-H64/mali-t720-r18p0-01rel0-um-018-linux-opengles-release-wayland-server-gbm-composer-arm64-glibc.tar.bz2) from _pine64.org_ (5.0MB, MD5 _13CC8DCB7CF068D80DFC16281E95E9D7_) +* [MALI-T720 64-bit client binary driver and binary download](https://files.pine64.org/SDK/PINE-H64/mali-t720-r18p0-01rel0-um-018-linux-opengles-release-wayland-client-gbm-composer-arm64-glibc.tar.bz2) from _pine64.org_ (5.0MB, MD5 _951BAD6ED66D4CB904CFE0D65F2855E8_) diff --git a/content/documentation/PINE_H64_Model_B/Software/Android_SDK.adoc b/content/documentation/PINE_H64_Model_B/Software/Android_SDK.md similarity index 53% rename from content/documentation/PINE_H64_Model_B/Software/Android_SDK.adoc rename to content/documentation/PINE_H64_Model_B/Software/Android_SDK.md index 2eff6cb6..298415b7 100644 --- a/content/documentation/PINE_H64_Model_B/Software/Android_SDK.adoc +++ b/content/documentation/PINE_H64_Model_B/Software/Android_SDK.md @@ -11,5 +11,4 @@ menu: Android Pie 9.0 SDK version 1.0 -* https://files.pine64.org/SDK/PINE-H64/PINE%20H64B%20android%209.0.tar.xz[Direct download] from _pine64.org_ (29.14GB, MD5 of the TAR-XZ file _734B4DBB03CAF82A4E955F7E83DE0C65_) - +* [Direct download](https://files.pine64.org/SDK/PINE-H64/PINE%20H64B%20android%209.0.tar.xz) from _pine64.org_ (29.14GB, MD5 of the TAR-XZ file _734B4DBB03CAF82A4E955F7E83DE0C65_) diff --git a/content/documentation/PINE_H64_Model_B/Software/Linux_BSP_SDK.adoc b/content/documentation/PINE_H64_Model_B/Software/Linux_BSP_SDK.md similarity index 53% rename from content/documentation/PINE_H64_Model_B/Software/Linux_BSP_SDK.adoc rename to content/documentation/PINE_H64_Model_B/Software/Linux_BSP_SDK.md index 715d3325..8fdb0dfc 100644 --- a/content/documentation/PINE_H64_Model_B/Software/Linux_BSP_SDK.adoc +++ b/content/documentation/PINE_H64_Model_B/Software/Linux_BSP_SDK.md @@ -13,5 +13,4 @@ Linux BSP Kernel 4.9 Download: -* https://files.pine64.org/SDK/PINE-H64/PINE%20H64B%20BSP%204.9%20lichee.tar.xz[Direct download] from _pine64.org_ (5.04GB, MD5 of the TAR-XZ file _06B675B1C217D4CC6A21FF320DA250C1_) - +* [Direct download](https://files.pine64.org/SDK/PINE-H64/PINE%20H64B%20BSP%204.9%20lichee.tar.xz) from _pine64.org_ (5.04GB, MD5 of the TAR-XZ file _06B675B1C217D4CC6A21FF320DA250C1_) diff --git a/content/documentation/PINE_H64_Model_B/_index.adoc b/content/documentation/PINE_H64_Model_B/_index.adoc deleted file mode 100644 index 4ae0f04b..00000000 --- a/content/documentation/PINE_H64_Model_B/_index.adoc +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: "PINE H64 Model B" -draft: false -menu: - docs: - title: - parent: "" - identifier: "PINE_H64_Model_B" - weight: ---- - -{{< figure src="images/pineh64modelb.png" title="The PINE H64 Model B" width="400" >}} - -The *PINE H64 Model B* is a Single Board Computer by _PINE64_. It is powered by an Allwinner "H6" Quad-Core ARM Cortex A53 64-Bit Processor with a MALI T-722 GPU. The PINE H64 is equipped with up to 3GB of LPDDR3 PC-1600 system memory and 128Mbit of SPI boot Flash. There is also an optional eMMC module (up to 128GB) and a microSD slot for booting. The board is equipped with an onboard 802.11n Wifi/BT chipset, one USB 3.0 host port, two USB 2.0 host ports, Gigabit Ethernet, a PI-2 GPIO bus, an Euler GPIO bus as well as many other peripheral device interfaces such as UART, SPI, and I^2^C. \ No newline at end of file diff --git a/content/documentation/PINE_H64_Model_B/_index.md b/content/documentation/PINE_H64_Model_B/_index.md new file mode 100644 index 00000000..e9e90464 --- /dev/null +++ b/content/documentation/PINE_H64_Model_B/_index.md @@ -0,0 +1,14 @@ +--- +title: "PINE H64 Model B" +draft: false +menu: + docs: + title: + parent: "" + identifier: "PINE_H64_Model_B" + weight: +--- + +{{< figure src="images/pineh64modelb.png" title="The PINE H64 Model B" width="400" >}} + +The **PINE H64 Model B** is a Single Board Computer by _PINE64_. It is powered by an Allwinner "H6" Quad-Core ARM Cortex A53 64-Bit Processor with a MALI T-722 GPU. The PINE H64 is equipped with up to 3GB of LPDDR3 PC-1600 system memory and 128Mbit of SPI boot Flash. There is also an optional eMMC module (up to 128GB) and a microSD slot for booting. The board is equipped with an onboard 802.11n Wifi/BT chipset, one USB 3.0 host port, two USB 2.0 host ports, Gigabit Ethernet, a PI-2 GPIO bus, an Euler GPIO bus as well as many other peripheral device interfaces such as UART, SPI, and I^2^C. diff --git a/content/documentation/Phone_Accessories/Fingerprint_reader.adoc b/content/documentation/Phone_Accessories/Fingerprint_reader.adoc deleted file mode 100644 index e5d35dfe..00000000 --- a/content/documentation/Phone_Accessories/Fingerprint_reader.adoc +++ /dev/null @@ -1,37 +0,0 @@ ---- -title: "Fingerprint Reader Add-on" -draft: false -menu: - docs: - title: - parent: "Phone_Accessories" - identifier: "Phone_Accessories/Fingerprint_reader" - weight: 5 ---- - -Store page: https://pine64.com/product/pinephone-pinephone-pro-fingerprint-reader-add-on-case/[pine64.com] - -{{< figure src="/documentation/images/PinePhone-FP-Addon.jpg" width="250" >}} - -Uses the pogo pins to interface a high quality fingerprint sensor, which uses open firmware for it's i2c bridge, and can also be used for gesture navigation thanks to it's ability to detect directional swipes. - -IMPORTANT: No PinePhone operating system has added support for the fingerprint reader yet. - -== Credits - -Credit goes to the user _zschroeder6212_, who carried the PinePhone Fingerprint Cover project from an idea to a real product. Their progress can be followed on GitHub under https://github.com/zschroeder6212. - -== Schematics and Datasheet - -Schematic: - -* https://files.pine64.org/doc/PinePhone/Schematic_fingerprint%20driver%20board%20V3_2021-01-24.pdf[PinePhone Finger Print Back Cover Schematic ver 3.0 20210124] - -Datasheet: - -* https://files.pine64.org/doc/datasheet/pinephone/Datasheet_PixelAuth_PIA_Module_P2SDS-NABL2-S05_V7.0.0.5.pdf[P2SD Personal Identity Authentication Module Datasheet] -* https://files.pine64.org/doc/datasheet/pinephone/ATmel%20ATTiny%20Microcontroller%20Datasheet.pdf[ATmel ATtiny Microcontroller Datasheet] - -I2C to SPI firmware: - -* https://github.com/zschroeder6212/tiny-i2c-spi[zschroeder6212's tiny-i2c-spi Github page] diff --git a/content/documentation/Phone_Accessories/Fingerprint_reader.md b/content/documentation/Phone_Accessories/Fingerprint_reader.md new file mode 100644 index 00000000..c122ab14 --- /dev/null +++ b/content/documentation/Phone_Accessories/Fingerprint_reader.md @@ -0,0 +1,38 @@ +--- +title: "Fingerprint Reader Add-on" +draft: false +menu: + docs: + title: + parent: "Phone_Accessories" + identifier: "Phone_Accessories/Fingerprint_reader" + weight: 5 +--- + +Store page: [pine64.com](https://pine64.com/product/pinephone-pinephone-pro-fingerprint-reader-add-on-case/) + +{{< figure src="/documentation/images/PinePhone-FP-Addon.jpg" width="250" >}} + +Uses the pogo pins to interface a high quality fingerprint sensor, which uses open firmware for it’s i2c bridge, and can also be used for gesture navigation thanks to it’s ability to detect directional swipes. + +**❗ IMPORTANT**\ +No PinePhone operating system has added support for the fingerprint reader yet. + +## Credits + +Credit goes to the user _zschroeder6212_, who carried the PinePhone Fingerprint Cover project from an idea to a real product. Their progress can be followed on GitHub under https://github.com/zschroeder6212. + +## Schematics and Datasheet + +Schematic: + +* [PinePhone Finger Print Back Cover Schematic ver 3.0 20210124](https://files.pine64.org/doc/PinePhone/Schematic_fingerprint%20driver%20board%20V3_2021-01-24.pdf) + +Datasheet: + +* [P2SD Personal Identity Authentication Module Datasheet](https://files.pine64.org/doc/datasheet/pinephone/Datasheet_PixelAuth_PIA_Module_P2SDS-NABL2-S05_V7.0.0.5.pdf) +* [ATmel ATtiny Microcontroller Datasheet](https://files.pine64.org/doc/datasheet/pinephone/ATmel%20ATTiny%20Microcontroller%20Datasheet.pdf) + +I2C to SPI firmware: + +* [zschroeder6212’s tiny-i2c-spi Github page](https://github.com/zschroeder6212/tiny-i2c-spi) diff --git a/content/documentation/Phone_Accessories/LoRa.adoc b/content/documentation/Phone_Accessories/LoRa.adoc deleted file mode 100644 index 6b2177be..00000000 --- a/content/documentation/Phone_Accessories/LoRa.adoc +++ /dev/null @@ -1,33 +0,0 @@ ---- -title: "LoRa Add-on" -draft: false -menu: - docs: - title: - parent: "Phone_Accessories" - identifier: "Phone_Accessories/LoRa" - weight: 4 ---- - -Store page: https://pine64.com/product/pinephone-pinephone-pro-pindio-lora-add-on-case/[pine64.com] - -{{< figure src="/documentation/images/PP_LoRa.jpg" width="250" >}} - -Uses the pogo pins to interface a Semtech SX1262 LoRa module with the PinePhone (Pro). - -IMPORTANT: Software for receiving and sending LoRa messages with this back cover does exist, however no PinePhone operating system has added support for it yet. - -== Schematics and Datasheet - -Schematic: - -* https://files.pine64.org/doc/PinePhone/Pinephone%20LoRa%20Back%20Cover%20Panel%20Schematic-v1.0-20210425.pdf[PinePhone LoRa Back Cover Schematic ver 1.0 20210425] - -Datasheet: - -* https://files.pine64.org/doc/datasheet/pinephone/DS_SX1261-2_V1.1-1307803.pdf[SX1262 Long Range, Low Power, sub-GHz RF Transceiver Datasheet] -* https://files.pine64.org/doc/datasheet/pinephone/ATmel%20ATTiny%20Microcontroller%20Datasheet.pdf[ATmel ATtiny Microcontroller Datasheet] - -I2C to SPI firmware: - -* https://github.com/zschroeder6212/tiny-i2c-spi[zschroeder6212's tiny-i2c-spi Github page] diff --git a/content/documentation/Phone_Accessories/LoRa.md b/content/documentation/Phone_Accessories/LoRa.md new file mode 100644 index 00000000..62feefdc --- /dev/null +++ b/content/documentation/Phone_Accessories/LoRa.md @@ -0,0 +1,34 @@ +--- +title: "LoRa Add-on" +draft: false +menu: + docs: + title: + parent: "Phone_Accessories" + identifier: "Phone_Accessories/LoRa" + weight: 4 +--- + +Store page: [pine64.com](https://pine64.com/product/pinephone-pinephone-pro-pindio-lora-add-on-case/) + +{{< figure src="/documentation/images/PP_LoRa.jpg" width="250" >}} + +Uses the pogo pins to interface a Semtech SX1262 LoRa module with the PinePhone (Pro). + +**❗ IMPORTANT**\ +Software for receiving and sending LoRa messages with this back cover does exist, however no PinePhone operating system has added support for it yet. + +## Schematics and Datasheet + +Schematic: + +* [PinePhone LoRa Back Cover Schematic ver 1.0 20210425](https://files.pine64.org/doc/PinePhone/Pinephone%20LoRa%20Back%20Cover%20Panel%20Schematic-v1.0-20210425.pdf) + +Datasheet: + +* [SX1262 Long Range, Low Power, sub-GHz RF Transceiver Datasheet](https://files.pine64.org/doc/datasheet/pinephone/DS_SX1261-2_V1.1-1307803.pdf) +* [ATmel ATtiny Microcontroller Datasheet](https://files.pine64.org/doc/datasheet/pinephone/ATmel%20ATTiny%20Microcontroller%20Datasheet.pdf) + +I2C to SPI firmware: + +* [zschroeder6212’s tiny-i2c-spi Github page](https://github.com/zschroeder6212/tiny-i2c-spi) diff --git a/content/documentation/Phone_Accessories/Qi_wireless_charging.adoc b/content/documentation/Phone_Accessories/Qi_wireless_charging.md similarity index 71% rename from content/documentation/Phone_Accessories/Qi_wireless_charging.adoc rename to content/documentation/Phone_Accessories/Qi_wireless_charging.md index 471060c8..98bbbe17 100644 --- a/content/documentation/Phone_Accessories/Qi_wireless_charging.adoc +++ b/content/documentation/Phone_Accessories/Qi_wireless_charging.md @@ -9,7 +9,6 @@ menu: weight: 6 --- -[WARNING] ==== Possible safety hazard: If the wireless charging chip fails for some reason, do not plug the phone in to charge via USB-C. Take the back case off first. It is possible that power gets fed into the chip, causing it to overheat, possibly causing damage to the phone and creating a fire-hazard. @@ -22,12 +21,12 @@ Until the cause of this is determined, it is recommended NOT to use the wireless Uses the pogo pins to supply Qi Wireless and Wireless Power Consortium compatible charging. No software required. -== Schematics and Datasheet +## Schematics and Datasheet Schematic: -* https://files.pine64.org/doc/PinePhone/PinePhone%20Q-Wireless%20Charger%20Back%20Cover%20Schematic-20210508.pdf[PinePhone Wireless Charger Back Cover Schematic ver 1.0 20210508] +* [PinePhone Wireless Charger Back Cover Schematic ver 1.0 20210508](https://files.pine64.org/doc/PinePhone/PinePhone%20Q-Wireless%20Charger%20Back%20Cover%20Schematic-20210508.pdf) Datasheet: -* https://files.pine64.org/doc/datasheet/pinephone/HL6111RFNWP5_V1p0_20190121.pdf[HL6111RFNWP5 5W WPC Wireless Power Receiver Datasheet] +* [HL6111RFNWP5 5W WPC Wireless Power Receiver Datasheet](https://files.pine64.org/doc/datasheet/pinephone/HL6111RFNWP5_V1p0_20190121.pdf) diff --git a/content/documentation/PineBuds_Pro/Community_projects/Silicone_case.adoc b/content/documentation/PineBuds_Pro/Community_projects/Silicone_case.adoc deleted file mode 100644 index 031903f8..00000000 --- a/content/documentation/PineBuds_Pro/Community_projects/Silicone_case.adoc +++ /dev/null @@ -1,23 +0,0 @@ ---- -title: "Silicone case" -draft: false -menu: - docs: - title: - parent: "PineBuds_Pro/Community_projects" - identifier: "PineBuds_Pro/Community_projects/Silicone_case" - weight: ---- - -This page is about the community project to bring a silicone case to the link:/documentation/PineBuds_Pro[PineBuds Pro]. - -== Introduction - -The idea is to create a silicone case like https://www.amazon.com/dp/B0BGNBFY6Z[this] for PineBuds Pro. - -== Concept - -* "Design a mold, use a hobby 3D printer to manufacture it, then fill with silicone." (https://matrix.to/#/!OGWEsuBXqiRfaqvtfm:matrix.org/$8FgCtx9jh2ZLnDFNvf2yN5nKMzv4V7XAn-zwuWKxfSM?via=matrix.org&via=tchncs.de&via=envs.net[source]) -* "You can find a local hackspace or makerspace. Or you can use one of the many services available via the Internet who can print a model for you. Just design, upload, and pay." (https://matrix.to/#/!OGWEsuBXqiRfaqvtfm:matrix.org/$TD5kfUkVLfx9Sbx5t0Z2oCsUTvmS0FPrwQn0Xrr5YiQ?via=matrix.org&via=tchncs.de&via=envs.net[source]) -* "The only one I know of is "https://www.pcbway.com/rapid-prototyping/injection-molding/"" (https://matrix.to/#/!jnYVOKPfUvfPXbQIpt:matrix.org/$sJ_QPEsqeSsJ8hRjgoZhZ9QwxpnslvOuBpT7SkSffAE?via=matrix.org&via=tchncs.de&via=matrix.ravenfieldsystems.com[source]) - diff --git a/content/documentation/PineBuds_Pro/Community_projects/Silicone_case.md b/content/documentation/PineBuds_Pro/Community_projects/Silicone_case.md new file mode 100644 index 00000000..5f82d3aa --- /dev/null +++ b/content/documentation/PineBuds_Pro/Community_projects/Silicone_case.md @@ -0,0 +1,22 @@ +--- +title: "Silicone case" +draft: false +menu: + docs: + title: + parent: "PineBuds_Pro/Community_projects" + identifier: "PineBuds_Pro/Community_projects/Silicone_case" + weight: +--- + +This page is about the community project to bring a silicone case to the [PineBuds Pro](/documentation/PineBuds_Pro). + +## Introduction + +The idea is to create a silicone case like [this](https://www.amazon.com/dp/B0BGNBFY6Z) for PineBuds Pro. + +## Concept + +* "Design a mold, use a hobby 3D printer to manufacture it, then fill with silicone." ([source](https://matrix.to/#/!OGWEsuBXqiRfaqvtfm:matrix.org/$8FgCtx9jh2ZLnDFNvf2yN5nKMzv4V7XAn-zwuWKxfSM?via=matrix.org&via=tchncs.de&via=envs.net)) +* "You can find a local hackspace or makerspace. Or you can use one of the many services available via the Internet who can print a model for you. Just design, upload, and pay." ([source](https://matrix.to/#/!OGWEsuBXqiRfaqvtfm:matrix.org/$TD5kfUkVLfx9Sbx5t0Z2oCsUTvmS0FPrwQn0Xrr5YiQ?via=matrix.org&via=tchncs.de&via=envs.net)) +* "The only one I know of is "https://www.pcbway.com/rapid-prototyping/injection-molding/"" ([source](https://matrix.to/#/!jnYVOKPfUvfPXbQIpt:matrix.org/$sJ_QPEsqeSsJ8hRjgoZhZ9QwxpnslvOuBpT7SkSffAE?via=matrix.org&via=tchncs.de&via=matrix.ravenfieldsystems.com)) diff --git a/content/documentation/PineBuds_Pro/Community_projects/Straps.adoc b/content/documentation/PineBuds_Pro/Community_projects/Straps.md similarity index 67% rename from content/documentation/PineBuds_Pro/Community_projects/Straps.adoc rename to content/documentation/PineBuds_Pro/Community_projects/Straps.md index 6273e1e0..991b7c85 100644 --- a/content/documentation/PineBuds_Pro/Community_projects/Straps.adoc +++ b/content/documentation/PineBuds_Pro/Community_projects/Straps.md @@ -9,13 +9,12 @@ menu: weight: --- -This page is about the community project to add straps to the link:/documentation/PineBuds_Pro[PineBuds Pro]. +This page is about the community project to add straps to the [PineBuds Pro](/documentation/PineBuds_Pro). -== Strap for buds +## Strap for buds -Although PineBuds Pro, "true wireless", earbuds are comfortably light and stay in ears better than wired ones (when nothing tug them from your ear), they can still did it, for example, during sports. Because they are completely non-wired, it also means that they will then drop directly to the ground and may break. That's why it might make sense to use a strap https://www.amazon.com/Woocon-Silicone-Anti-slip-Accessories-Compatible/dp/B093DKHBVK[like this] in sports. We are trying make strap for PineBuds Pro. +Although PineBuds Pro, "true wireless", earbuds are comfortably light and stay in ears better than wired ones (when nothing tug them from your ear), they can still did it, for example, during sports. Because they are completely non-wired, it also means that they will then drop directly to the ground and may break. That’s why it might make sense to use a strap [like this](https://www.amazon.com/Woocon-Silicone-Anti-slip-Accessories-Compatible/dp/B093DKHBVK) in sports. We are trying make strap for PineBuds Pro. -== Strap with 3.5mm AUX connector +## Strap with 3.5mm AUX connector Each bud has pins through which is UART connection. When we find or make a strap for PineBuds Pro we can add wiring inside it and put PCB in the middle that receives analog signal with the 3.5mm AUX connector and feeds it to the buds. - diff --git a/content/documentation/PineBuds_Pro/Community_projects/Wireless_charging.adoc b/content/documentation/PineBuds_Pro/Community_projects/Wireless_charging.adoc deleted file mode 100644 index 49c0a477..00000000 --- a/content/documentation/PineBuds_Pro/Community_projects/Wireless_charging.adoc +++ /dev/null @@ -1,43 +0,0 @@ ---- -title: "Wireless charging" -draft: false -menu: - docs: - title: - parent: "PineBuds_Pro/Community_projects" - identifier: "PineBuds_Pro/Community_projects/Wireless_charging" - weight: ---- - -This page is about the community project to bring wireless charging to the link:/documentation/PineBuds_Pro[PineBuds Pro]. - -== Wireless charging - -The PineBuds Pro don't have wireless charging by default, but you can add it. However, you need to know how to disassemble the charging case and solder bunch of SMT components to the PCB. - -Pine originally planned to have wireless charging for the PineBuds Pro, but apparently for cost reasons they decided to cancel it. However, they left footprints on the PCB for wireless charging component. They also designed COPO CP2021 component to be used. You also need a bunch of other components, such as resistors and of course https://en.wikipedia.org/wiki/Electromagnetic_coil[electromagnetic coil]. The places intended for the components, the footprints, are made for https://en.wikipedia.org/wiki/Surface-mount_technology[SMT (also called SMD)] components. That means you need https://en.wikipedia.org/wiki/Soldering_station#Hot_air_soldering_stations[a hot air soldering station] and experience. - -== Required tools - -* Picks/thin cards -* Screwdriver -* Hot air soldering station -* Tweezers -* Solder -* Flux -* Glue - -== Required components - -* COPO CP2021 -* WIP - -== Steps - -. First open the lid and then try to press the case from the front edge with a plectrum or a thin card. There are two clips on each side. Soon the case will snap open. -. Carefully unscrew and remove the PCB from the case. -. Solder the necessary components to their respective footprints, use the PineBuds Pro Charging Case Schematic/COPO CP2021 2.5W Qi Wire Power Receiver Datasheet (below). -. Screw the PCB back into the place. -. There is plenty of space, glue the coil to the bottom of the case. -. Close the charging case. - diff --git a/content/documentation/PineBuds_Pro/Community_projects/Wireless_charging.md b/content/documentation/PineBuds_Pro/Community_projects/Wireless_charging.md new file mode 100644 index 00000000..d11708f6 --- /dev/null +++ b/content/documentation/PineBuds_Pro/Community_projects/Wireless_charging.md @@ -0,0 +1,42 @@ +--- +title: "Wireless charging" +draft: false +menu: + docs: + title: + parent: "PineBuds_Pro/Community_projects" + identifier: "PineBuds_Pro/Community_projects/Wireless_charging" + weight: +--- + +This page is about the community project to bring wireless charging to the [PineBuds Pro](/documentation/PineBuds_Pro). + +## Wireless charging + +The PineBuds Pro don’t have wireless charging by default, but you can add it. However, you need to know how to disassemble the charging case and solder bunch of SMT components to the PCB. + +Pine originally planned to have wireless charging for the PineBuds Pro, but apparently for cost reasons they decided to cancel it. However, they left footprints on the PCB for wireless charging component. They also designed COPO CP2021 component to be used. You also need a bunch of other components, such as resistors and of course [electromagnetic coil](https://en.wikipedia.org/wiki/Electromagnetic_coil). The places intended for the components, the footprints, are made for [SMT (also called SMD)](https://en.wikipedia.org/wiki/Surface-mount_technology) components. That means you need [a hot air soldering station](https://en.wikipedia.org/wiki/Soldering_station#Hot_air_soldering_stations) and experience. + +## Required tools + +* Picks/thin cards +* Screwdriver +* Hot air soldering station +* Tweezers +* Solder +* Flux +* Glue + +## Required components + +* COPO CP2021 +* WIP + +## Steps + +1. First open the lid and then try to press the case from the front edge with a plectrum or a thin card. There are two clips on each side. Soon the case will snap open. +2. Carefully unscrew and remove the PCB from the case. +3. Solder the necessary components to their respective footprints, use the PineBuds Pro Charging Case Schematic/COPO CP2021 2.5W Qi Wire Power Receiver Datasheet (below). +4. Screw the PCB back into the place. +5. There is plenty of space, glue the coil to the bottom of the case. +6. Close the charging case. diff --git a/content/documentation/PineBuds_Pro/Community_projects/_index.adoc b/content/documentation/PineBuds_Pro/Community_projects/_index.adoc deleted file mode 100644 index 891586bd..00000000 --- a/content/documentation/PineBuds_Pro/Community_projects/_index.adoc +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: "Community projects" -draft: false -menu: - docs: - title: - parent: "PineBuds_Pro" - identifier: "PineBuds_Pro/Community_projects" - weight: 3 ---- - -The following community projects are currently being worked on: - -* link:/documentation/PineBuds_Pro/Community_projects/Wireless_charging[Wireless charging], bringing wireless charging to the PineBuds Pro case using vacant contacts -* link:/documentation/PineBuds_Pro/Community_projects/Silicone_case[Silicone case], a transparent silicone case with an improved grip to the case -* link:/documentation/PineBuds_Pro/Community_projects/Straps[Straps], to add straps to the PineBuds Pro - diff --git a/content/documentation/PineBuds_Pro/Community_projects/_index.md b/content/documentation/PineBuds_Pro/Community_projects/_index.md new file mode 100644 index 00000000..cb2d1a81 --- /dev/null +++ b/content/documentation/PineBuds_Pro/Community_projects/_index.md @@ -0,0 +1,16 @@ +--- +title: "Community projects" +draft: false +menu: + docs: + title: + parent: "PineBuds_Pro" + identifier: "PineBuds_Pro/Community_projects" + weight: 3 +--- + +The following community projects are currently being worked on: + +* [Wireless charging](/documentation/PineBuds_Pro/Community_projects/Wireless_charging), bringing wireless charging to the PineBuds Pro case using vacant contacts +* [Silicone case](/documentation/PineBuds_Pro/Community_projects/Silicone_case), a transparent silicone case with an improved grip to the case +* [Straps](/documentation/PineBuds_Pro/Community_projects/Straps), to add straps to the PineBuds Pro diff --git a/content/documentation/PineBuds_Pro/Features.adoc b/content/documentation/PineBuds_Pro/Features.md similarity index 83% rename from content/documentation/PineBuds_Pro/Features.adoc rename to content/documentation/PineBuds_Pro/Features.md index 5560e7eb..8e9fec33 100644 --- a/content/documentation/PineBuds_Pro/Features.adoc +++ b/content/documentation/PineBuds_Pro/Features.md @@ -9,13 +9,13 @@ menu: weight: 1 --- -The PineBuds Pro's buds are based on the http://www.bestechnic.com/home/product/index/cate_id/6[BES 2300YP]. +The PineBuds Pro’s buds are based on the [BES 2300YP](http://www.bestechnic.com/home/product/index/cate_id/6). {{< figure src="/documentation/images/BES2300YP_Block_Diagram.jpg" width="430" >}} CPU Features: -* https://developer.arm.com/Processors/Cortex-M4[Dual-core ARM Cortex-M4F Processor Processor up to 300MHz CPU] +* [Dual-core ARM Cortex-M4F Processor Processor up to 300MHz CPU](https://developer.arm.com/Processors/Cortex-M4) * CMOS Single-chip Fully-integrated RF, PMU, Audio CODEC and Cortex-M4F CPU Memory Features: @@ -44,8 +44,8 @@ Audio Features: * HiFi Stereo Audio ADC: 100dB SNR * Sample rates from 8 kHz to 384 kHz * Support dual/single Mic noise suppression -** -45dB attenuation nominal 50-200Hz -** -55dB max attenuation @150Hz + * -45dB attenuation nominal 50-200Hz + * -55dB max attenuation @150Hz * Support ambient awareness * Support talk through * 24-bit audio processing @@ -57,17 +57,17 @@ PMU Features * DCXO with internal oscillator circuit * Internal temperature sensor -== Buttons/touch sensors +## Buttons/touch sensors -=== Buds +### Buds One capacitive touch sensor is located on the outward facing surface of each bud near the logo. -=== Charging case +### Charging case Charging case have a reset button in center under the lid which is hooked to ThinkPlus Semi SY8821 integrated circuit and that button reset it from the safety off mode. -== Specifications +## Specifications Dimensions: @@ -112,7 +112,6 @@ Ports charging case: * 4 pogo pins * USB type-C port 5V 500mA +## Power -== Power - -The charging case's input power is DC 5V @ 0.5A USB Type-C. \ No newline at end of file +The charging case’s input power is DC 5V @ 0.5A USB Type-C. diff --git a/content/documentation/PineBuds_Pro/Further_information/Cleaning.adoc b/content/documentation/PineBuds_Pro/Further_information/Cleaning.md similarity index 100% rename from content/documentation/PineBuds_Pro/Further_information/Cleaning.adoc rename to content/documentation/PineBuds_Pro/Further_information/Cleaning.md diff --git a/content/documentation/PineBuds_Pro/Further_information/Disassembly_and_assembly.adoc b/content/documentation/PineBuds_Pro/Further_information/Disassembly_and_assembly.adoc deleted file mode 100644 index 5a12563d..00000000 --- a/content/documentation/PineBuds_Pro/Further_information/Disassembly_and_assembly.adoc +++ /dev/null @@ -1,25 +0,0 @@ ---- -title: "Disassembly and assembly" -draft: false -menu: - docs: - title: - parent: "PineBuds_Pro/Further_information" - identifier: "PineBuds_Pro/Further_information/Disassembly_and_assembly" - weight: 3 ---- - -Disassembling the charging case: - -. First open the lid and then try to press the case from the front edge with a plectrum or a thin card. There are two clips on each side. Soon the case will snap open. -. Carefully unscrew and remove the PCB from the case. - -Assembling the charging case: - -. Screw the PCB back into the place. -. There is plenty of space, glue the coil to the bottom of the case. -. Close the charging case. - -== External resources - -* A video regarding the assembly and disassembly of the PineBuds Pro can be watched from _Linux Lounge_ https://www.youtube.com/watch?v=xXxRGXWvdVw[here]. diff --git a/content/documentation/PineBuds_Pro/Further_information/Disassembly_and_assembly.md b/content/documentation/PineBuds_Pro/Further_information/Disassembly_and_assembly.md new file mode 100644 index 00000000..43b6fd0c --- /dev/null +++ b/content/documentation/PineBuds_Pro/Further_information/Disassembly_and_assembly.md @@ -0,0 +1,25 @@ +--- +title: "Disassembly and assembly" +draft: false +menu: + docs: + title: + parent: "PineBuds_Pro/Further_information" + identifier: "PineBuds_Pro/Further_information/Disassembly_and_assembly" + weight: 3 +--- + +Disassembling the charging case: + +1. First open the lid and then try to press the case from the front edge with a plectrum or a thin card. There are two clips on each side. Soon the case will snap open. +2. Carefully unscrew and remove the PCB from the case. + +Assembling the charging case: + +1. Screw the PCB back into the place. +2. There is plenty of space, glue the coil to the bottom of the case. +3. Close the charging case. + +## External resources + +* A video regarding the assembly and disassembly of the PineBuds Pro can be watched from _Linux Lounge_ [here](https://www.youtube.com/watch?v=xXxRGXWvdVw). diff --git a/content/documentation/PineBuds_Pro/Software.adoc b/content/documentation/PineBuds_Pro/Software.adoc deleted file mode 100644 index 1a72178b..00000000 --- a/content/documentation/PineBuds_Pro/Software.adoc +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: "Software" -draft: false -menu: - docs: - title: - parent: "PineBuds_Pro" - identifier: "PineBuds_Pro/Software" - weight: 2 ---- - -== Firmwares - -* https://github.com/pine64/OpenPineBuds[OpenPineBuds] -* https://github.com/hall/little-buddy[Little Buddy] - -== Firmware images - -Flash back factory default firmware using Windows based utility: - -* https://files.pine64.org/os/PineBudsPro/PineBuds%20Pro%20programmer%20user%20manual.pdf[PineBuds Pro Windows based programmer utility user manual] -* https://files.pine64.org/os/PineBudsPro/PineBuds%20Pro%20programmer%20v1.48.zip[PineBuds Pro Windows based programmer utility] -* https://files.pine64.org/os/PineBudsPro/AC08_20221102.bin[PineBuds Pro factory default firmware build] -* https://files.pine64.org/os/PineBudsPro/ota_boot_rel_8054309a08.bin[PineBuds Pro factory default OTA build] - -== SDK - -* https://files.pine64.org/SDK/PineBudsPro/PineBudsPro_SDK-20221128.7z[PineBuds Pro "Little Whale" SDK date:20221128] - diff --git a/content/documentation/PineBuds_Pro/Software.md b/content/documentation/PineBuds_Pro/Software.md new file mode 100644 index 00000000..144900e4 --- /dev/null +++ b/content/documentation/PineBuds_Pro/Software.md @@ -0,0 +1,28 @@ +--- +title: "Software" +draft: false +menu: + docs: + title: + parent: "PineBuds_Pro" + identifier: "PineBuds_Pro/Software" + weight: 2 +--- + +## Firmwares + +* [OpenPineBuds](https://github.com/pine64/OpenPineBuds) +* [Little Buddy](https://github.com/hall/little-buddy) + +## Firmware images + +Flash back factory default firmware using Windows based utility: + +* [PineBuds Pro Windows based programmer utility user manual](https://files.pine64.org/os/PineBudsPro/PineBuds%20Pro%20programmer%20user%20manual.pdf) +* [PineBuds Pro Windows based programmer utility](https://files.pine64.org/os/PineBudsPro/PineBuds%20Pro%20programmer%20v1.48.zip) +* [PineBuds Pro factory default firmware build](https://files.pine64.org/os/PineBudsPro/AC08_20221102.bin) +* [PineBuds Pro factory default OTA build](https://files.pine64.org/os/PineBudsPro/ota_boot_rel_8054309a08.bin) + +## SDK + +* [PineBuds Pro "Little Whale" SDK date:20221128](https://files.pine64.org/SDK/PineBudsPro/PineBudsPro_SDK-20221128.7z) diff --git a/content/documentation/PineBuds_Pro/_index.adoc b/content/documentation/PineBuds_Pro/_index.adoc deleted file mode 100644 index 54d39729..00000000 --- a/content/documentation/PineBuds_Pro/_index.adoc +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: "PineBuds Pro" -draft: false -menu: - docs: - title: - parent: "" - identifier: "PineBuds_Pro" - weight: 1 ---- - -{{< figure src="images/pinebudspro.jpg" title="The PineBuds Pro" width="400" >}} - -The *PineBuds Pro* are open firmware capable ANC wireless earbuds. Some of the notable features include their light weight, 3 Microphones, ANC (Active Noise Cancellation), ENC (Environment Noise Cancellation) and high fidelity 6mm speaker. It is a fully community-driven side-project which anyone can contribute to, allowing you to keep control of your device even though hardware is proprietary. - diff --git a/content/documentation/PineBuds_Pro/_index.md b/content/documentation/PineBuds_Pro/_index.md new file mode 100644 index 00000000..ad30c5d2 --- /dev/null +++ b/content/documentation/PineBuds_Pro/_index.md @@ -0,0 +1,14 @@ +--- +title: "PineBuds Pro" +draft: false +menu: + docs: + title: + parent: "" + identifier: "PineBuds_Pro" + weight: 1 +--- + +{{< figure src="images/pinebudspro.jpg" title="The PineBuds Pro" width="400" >}} + +The **PineBuds Pro** are open firmware capable ANC wireless earbuds. Some of the notable features include their light weight, 3 Microphones, ANC (Active Noise Cancellation), ENC (Environment Noise Cancellation) and high fidelity 6mm speaker. It is a fully community-driven side-project which anyone can contribute to, allowing you to keep control of your device even though hardware is proprietary. diff --git a/content/documentation/PineCone/Challenge.adoc b/content/documentation/PineCone/Challenge.md similarity index 63% rename from content/documentation/PineCone/Challenge.adoc rename to content/documentation/PineCone/Challenge.md index 6cdb63da..4c670d76 100644 --- a/content/documentation/PineCone/Challenge.adoc +++ b/content/documentation/PineCone/Challenge.md @@ -9,5 +9,4 @@ menu: weight: 1 --- -The goal of the challenge is to achieve a blob-free BL602 for the open source community to achieve a blob-free FOSS Bluetooth and WiFi on PINE64 devices, see https://www.pine64.org/2020/10/28/nutcracker-challenge-blob-free-wifi-ble/[Nutcracker Challenge: Blob-Free WiFi & BLE]. - +The goal of the challenge is to achieve a blob-free BL602 for the open source community to achieve a blob-free FOSS Bluetooth and WiFi on PINE64 devices, see [Nutcracker Challenge: Blob-Free WiFi & BLE](https://www.pine64.org/2020/10/28/nutcracker-challenge-blob-free-wifi-ble/). diff --git a/content/documentation/PineCone/Further_information/Articles_and_blogs.adoc b/content/documentation/PineCone/Further_information/Articles_and_blogs.adoc deleted file mode 100644 index d341424a..00000000 --- a/content/documentation/PineCone/Further_information/Articles_and_blogs.adoc +++ /dev/null @@ -1,68 +0,0 @@ ---- -title: "Articles and blogs" -draft: false -menu: - docs: - title: - parent: "PineCone/Further_information" - identifier: "PineCone/Further_information/Articles_and_blogs" - weight: ---- - -* https://lupyuen.github.io/articles/pinecone[Quick Peek of PineCone BL602 RISC-V Evaluation Board by Lup Yuen] -* https://maero.dk/bl602-firmware-image-format/[Documenting the BouffaloLab BL602 firmware image format by MK] -* https://lupyuen.github.io/articles/openocd[Connect PineCone BL602 to OpenOCD by Lup Yuen] -* https://lupyuen.github.io/articles/debug[Debug Rust on PineCone BL602 with VSCode and GDB by Lup Yuen] -* https://lupyuen.github.io/articles/mynewt[Porting Mynewt to PineCone BL602 by Lup Yuen] -* https://lupyuen.github.io/articles/flash[Flashing Firmware to PineCone BL602 by Lup Yuen] -* https://lupyuen.github.io/articles/led[Control PineCone BL602 RGB LED with GPIO and PWM by Lup Yuen] -* https://lupyuen.github.io/articles/gpio[Mynewt GPIO ported to PineCone BL602 RISC-V Board by Lup Yuen] -* https://lupyuen.github.io/articles/i2c[PineCone BL602 talks to I2C Sensors by Lup Yuen] -* https://lupyuen.github.io/articles/spi[PineCone BL602 talks SPI too! by Lup Yuen] -* https://lupyuen.github.io/articles/display[PineCone BL602 Blasting Pixels to ST7789 Display with LVGL Library by Lup Yuen] -* https://lupyuen.github.io/articles/uart[PineCone BL602 Talks UART to Grove E-Ink Display by Lup Yuen] -* https://lupyuen.github.io/articles/book[The RISC-V BL602 Book by Lup Yuen] -* https://lupyuen.github.io/articles/lora[Connect PineCone BL602 to LoRa Transceiver by Lup Yuen] -* https://lupyuen.github.io/articles/wisblock[RAKwireless WisBlock talks LoRa with PineCone BL602 RISC-V Board by Lup Yuen] -* https://lupyuen.github.io/articles/lora2[PineCone BL602 RISC-V Board Receives LoRa Packets by Lup Yuen] -* https://lupyuen.github.io/articles/rust[Run Rust RISC-V Firmware with BL602 IoT SDK by Lup Yuen] -* https://lupyuen.github.io/articles/lorawan[PineCone BL602 Talks LoRaWAN by Lup Yuen] -* https://lupyuen.github.io/articles/lisp[uLisp and Blockly on PineCone BL602 RISC-V Board by Lup Yuen] -* https://lupyuen.github.io/articles/wasm[Simulate RISC-V BL602 with WebAssembly, uLisp and Blockly by Lup Yuen] -* https://lupyuen.github.io/articles/boot[BL602 Bootloader by Lup Yuen] -* https://lupyuen.github.io/articles/tflite[Machine Learning on RISC-V BL602 with TensorFlow Lite by Lup Yuen] -* https://lupyuen.github.io/articles/wifi[Reverse Engineering WiFi on RISC-V BL602 by Lup Yuen] -* https://lupyuen.github.io/articles/adc[Rust on RISC-V BL602: Is It Sunny? by Lup Yuen] -* https://lupyuen.github.io/articles/rustsim[Rust on RISC-V BL602: Simulated with WebAssembly by Lup Yuen] -* https://lupyuen.github.io/articles/pinedio[PineDio Stack BL604 RISC-V Board: Testing The Prototype by Lup Yuen] -* https://lupyuen.github.io/articles/rhai[Rust on RISC-V BL602: Rhai Scripting by Lup Yuen] -* https://lupyuen.github.io/articles/lorawan2[LoRaWAN on PineDio Stack BL604 RISC-V Board by Lup Yuen] -* https://lupyuen.github.io/articles/ttn[The Things Network on PineDio Stack BL604 RISC-V Board by Lup Yuen] -* https://lupyuen.github.io/articles/cbor[Encode Sensor Data with CBOR on BL602 by Lup Yuen] -* https://lupyuen.github.io/articles/roblox[IoT Digital Twin with Roblox and The Things Network by Lup Yuen] -* https://lupyuen.github.io/articles/tsen[Internal Temperature Sensor on BL602 by Lup Yuen] -* https://lupyuen.github.io/articles/payload[CBOR Payload Formatter for The Things Network by Lup Yuen] -* https://lupyuen.github.io/articles/prometheus[Monitor IoT Devices in The Things Network with Prometheus and Grafana by Lup Yuen] -* https://lupyuen.github.io/articles/nuttx[Apache NuttX OS on RISC-V BL602 and BL604 by Lup Yuen] -* https://lupyuen.github.io/articles/spi2[SPI on Apache NuttX OS by Lup Yuen] -* https://lupyuen.github.io/articles/sx1262[LoRa SX1262 on Apache NuttX OS by Lup Yuen] -* https://lupyuen.github.io/articles/lorawan3[LoRaWAN on Apache NuttX OS by Lup Yuen] -* https://lupyuen.github.io/articles/rust2[Rust on Apache NuttX OS by Lup Yuen] -* https://lupyuen.github.io/articles/auto[Auto Flash and Test NuttX on RISC-V BL602 by Lup Yuen] -* https://lupyuen.github.io/articles/loader[BL602 EFlash Loader: Reverse Engineered with Ghidra by Lup Yuen] -* https://lupyuen.github.io/articles/ikea[Connect IKEA Air Quality Sensor to Apache NuttX OS by Lup Yuen] -* https://lupyuen.github.io/articles/bme280[Apache NuttX Driver for BME280 Sensor: Ported from Zephyr OS by Lup Yuen] -* https://lupyuen.github.io/articles/rusti2c[Rust talks I2C on Apache NuttX RTOS by Lup Yuen] -* https://lupyuen.github.io/articles/st7789[ST7789 Display with LVGL Graphics on Apache NuttX RTOS by Lup Yuen] -* https://lupyuen.github.io/articles/pinedio2[PineDio Stack BL604 runs Apache NuttX RTOS by Lup Yuen] -* https://lupyuen.github.io/articles/touch[NuttX Touch Panel Driver for PineDio Stack BL604 by Lup Yuen] -* https://www.robertlipe.com/buttons-on-bl602-nuttx/[Buttons on BL602 NuttX] -* https://lupyuen.github.io/articles/expander[NuttX GPIO Expander for PineDio Stack BL604 by Lup Yuen] -* https://lupyuen.github.io/articles/auto2[(Mostly) Automated Testing of Apache NuttX RTOS on PineDio Stack BL604 RISC-V Board by Lup Yuen] -* https://lupyuen.github.io/articles/zig[Zig on RISC-V BL602: Quick Peek with Apache NuttX RTOS by Lup Yuen] -* https://lupyuen.github.io/articles/iot[Build an IoT App with Zig and LoRaWAN by Lup Yuen] -* https://lupyuen.github.io/articles/lvgl[Build an LVGL Touchscreen App with Zig by Lup Yuen] -* https://lupyuen.github.io/articles/sensor[Read NuttX Sensor Data with Zig by Lup Yuen] -* https://lupyuen.github.io/articles/visual[Visual Programming with Zig and NuttX Sensors by Lup Yuen] -* https://youtu.be/1O5Eb8bKxXA[Visual Programming with Zig and Apache NuttX Sensors (Video)] - diff --git a/content/documentation/PineCone/Further_information/Articles_and_blogs.md b/content/documentation/PineCone/Further_information/Articles_and_blogs.md new file mode 100644 index 00000000..56cdb750 --- /dev/null +++ b/content/documentation/PineCone/Further_information/Articles_and_blogs.md @@ -0,0 +1,67 @@ +--- +title: "Articles and blogs" +draft: false +menu: + docs: + title: + parent: "PineCone/Further_information" + identifier: "PineCone/Further_information/Articles_and_blogs" + weight: +--- + +* [Quick Peek of PineCone BL602 RISC-V Evaluation Board by Lup Yuen](https://lupyuen.github.io/articles/pinecone) +* [Documenting the BouffaloLab BL602 firmware image format by MK](https://maero.dk/bl602-firmware-image-format/) +* [Connect PineCone BL602 to OpenOCD by Lup Yuen](https://lupyuen.github.io/articles/openocd) +* [Debug Rust on PineCone BL602 with VSCode and GDB by Lup Yuen](https://lupyuen.github.io/articles/debug) +* [Porting Mynewt to PineCone BL602 by Lup Yuen](https://lupyuen.github.io/articles/mynewt) +* [Flashing Firmware to PineCone BL602 by Lup Yuen](https://lupyuen.github.io/articles/flash) +* [Control PineCone BL602 RGB LED with GPIO and PWM by Lup Yuen](https://lupyuen.github.io/articles/led) +* [Mynewt GPIO ported to PineCone BL602 RISC-V Board by Lup Yuen](https://lupyuen.github.io/articles/gpio) +* [PineCone BL602 talks to I2C Sensors by Lup Yuen](https://lupyuen.github.io/articles/i2c) +* [PineCone BL602 talks SPI too! by Lup Yuen](https://lupyuen.github.io/articles/spi) +* [PineCone BL602 Blasting Pixels to ST7789 Display with LVGL Library by Lup Yuen](https://lupyuen.github.io/articles/display) +* [PineCone BL602 Talks UART to Grove E-Ink Display by Lup Yuen](https://lupyuen.github.io/articles/uart) +* [The RISC-V BL602 Book by Lup Yuen](https://lupyuen.github.io/articles/book) +* [Connect PineCone BL602 to LoRa Transceiver by Lup Yuen](https://lupyuen.github.io/articles/lora) +* [RAKwireless WisBlock talks LoRa with PineCone BL602 RISC-V Board by Lup Yuen](https://lupyuen.github.io/articles/wisblock) +* [PineCone BL602 RISC-V Board Receives LoRa Packets by Lup Yuen](https://lupyuen.github.io/articles/lora2) +* [Run Rust RISC-V Firmware with BL602 IoT SDK by Lup Yuen](https://lupyuen.github.io/articles/rust) +* [PineCone BL602 Talks LoRaWAN by Lup Yuen](https://lupyuen.github.io/articles/lorawan) +* [uLisp and Blockly on PineCone BL602 RISC-V Board by Lup Yuen](https://lupyuen.github.io/articles/lisp) +* [Simulate RISC-V BL602 with WebAssembly, uLisp and Blockly by Lup Yuen](https://lupyuen.github.io/articles/wasm) +* [BL602 Bootloader by Lup Yuen](https://lupyuen.github.io/articles/boot) +* [Machine Learning on RISC-V BL602 with TensorFlow Lite by Lup Yuen](https://lupyuen.github.io/articles/tflite) +* [Reverse Engineering WiFi on RISC-V BL602 by Lup Yuen](https://lupyuen.github.io/articles/wifi) +* [Rust on RISC-V BL602: Is It Sunny? by Lup Yuen](https://lupyuen.github.io/articles/adc) +* [Rust on RISC-V BL602: Simulated with WebAssembly by Lup Yuen](https://lupyuen.github.io/articles/rustsim) +* [PineDio Stack BL604 RISC-V Board: Testing The Prototype by Lup Yuen](https://lupyuen.github.io/articles/pinedio) +* [Rust on RISC-V BL602: Rhai Scripting by Lup Yuen](https://lupyuen.github.io/articles/rhai) +* [LoRaWAN on PineDio Stack BL604 RISC-V Board by Lup Yuen](https://lupyuen.github.io/articles/lorawan2) +* [The Things Network on PineDio Stack BL604 RISC-V Board by Lup Yuen](https://lupyuen.github.io/articles/ttn) +* [Encode Sensor Data with CBOR on BL602 by Lup Yuen](https://lupyuen.github.io/articles/cbor) +* [IoT Digital Twin with Roblox and The Things Network by Lup Yuen](https://lupyuen.github.io/articles/roblox) +* [Internal Temperature Sensor on BL602 by Lup Yuen](https://lupyuen.github.io/articles/tsen) +* [CBOR Payload Formatter for The Things Network by Lup Yuen](https://lupyuen.github.io/articles/payload) +* [Monitor IoT Devices in The Things Network with Prometheus and Grafana by Lup Yuen](https://lupyuen.github.io/articles/prometheus) +* [Apache NuttX OS on RISC-V BL602 and BL604 by Lup Yuen](https://lupyuen.github.io/articles/nuttx) +* [SPI on Apache NuttX OS by Lup Yuen](https://lupyuen.github.io/articles/spi2) +* [LoRa SX1262 on Apache NuttX OS by Lup Yuen](https://lupyuen.github.io/articles/sx1262) +* [LoRaWAN on Apache NuttX OS by Lup Yuen](https://lupyuen.github.io/articles/lorawan3) +* [Rust on Apache NuttX OS by Lup Yuen](https://lupyuen.github.io/articles/rust2) +* [Auto Flash and Test NuttX on RISC-V BL602 by Lup Yuen](https://lupyuen.github.io/articles/auto) +* [BL602 EFlash Loader: Reverse Engineered with Ghidra by Lup Yuen](https://lupyuen.github.io/articles/loader) +* [Connect IKEA Air Quality Sensor to Apache NuttX OS by Lup Yuen](https://lupyuen.github.io/articles/ikea) +* [Apache NuttX Driver for BME280 Sensor: Ported from Zephyr OS by Lup Yuen](https://lupyuen.github.io/articles/bme280) +* [Rust talks I2C on Apache NuttX RTOS by Lup Yuen](https://lupyuen.github.io/articles/rusti2c) +* [ST7789 Display with LVGL Graphics on Apache NuttX RTOS by Lup Yuen](https://lupyuen.github.io/articles/st7789) +* [PineDio Stack BL604 runs Apache NuttX RTOS by Lup Yuen](https://lupyuen.github.io/articles/pinedio2) +* [NuttX Touch Panel Driver for PineDio Stack BL604 by Lup Yuen](https://lupyuen.github.io/articles/touch) +* [Buttons on BL602 NuttX](https://www.robertlipe.com/buttons-on-bl602-nuttx/) +* [NuttX GPIO Expander for PineDio Stack BL604 by Lup Yuen](https://lupyuen.github.io/articles/expander) +* [(Mostly) Automated Testing of Apache NuttX RTOS on PineDio Stack BL604 RISC-V Board by Lup Yuen](https://lupyuen.github.io/articles/auto2) +* [Zig on RISC-V BL602: Quick Peek with Apache NuttX RTOS by Lup Yuen](https://lupyuen.github.io/articles/zig) +* [Build an IoT App with Zig and LoRaWAN by Lup Yuen](https://lupyuen.github.io/articles/iot) +* [Build an LVGL Touchscreen App with Zig by Lup Yuen](https://lupyuen.github.io/articles/lvgl) +* [Read NuttX Sensor Data with Zig by Lup Yuen](https://lupyuen.github.io/articles/sensor) +* [Visual Programming with Zig and NuttX Sensors by Lup Yuen](https://lupyuen.github.io/articles/visual) +* [Visual Programming with Zig and Apache NuttX Sensors (Video)](https://youtu.be/1O5Eb8bKxXA) diff --git a/content/documentation/PineCone/Further_information/BL602_specifications.adoc b/content/documentation/PineCone/Further_information/BL602_specifications.md similarity index 93% rename from content/documentation/PineCone/Further_information/BL602_specifications.adoc rename to content/documentation/PineCone/Further_information/BL602_specifications.md index 6f01ac40..cf2c8027 100644 --- a/content/documentation/PineCone/Further_information/BL602_specifications.adoc +++ b/content/documentation/PineCone/Further_information/BL602_specifications.md @@ -14,7 +14,7 @@ menu: CPU: * 32-bit RV32IMAFC RISC-V "SiFive E24 Core" -* https://www.sifive.com/cores/e24[SiFive E24 Core information] +* [SiFive E24 Core information](https://www.sifive.com/cores/e24) Memory: @@ -51,4 +51,3 @@ Package Type: JTAG support: * See below for BL602 impact - diff --git a/content/documentation/PineCone/Further_information/Development_efforts.adoc b/content/documentation/PineCone/Further_information/Development_efforts.adoc deleted file mode 100644 index c1359414..00000000 --- a/content/documentation/PineCone/Further_information/Development_efforts.adoc +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: "Development efforts" -draft: false -menu: - docs: - title: - parent: "PineCone/Further_information" - identifier: "PineCone/Further_information/Development_efforts" - weight: ---- - -* https://github.com/pine64/bl_iot_sdk[PineCone BL602 GitHub Page (PINE64 fork)] has compilers, linkers, and all the code to build on Windows, Linux (x86_64), and MacOS. -* https://github.com/bouffalolab/bl_iot_sdk[Bouffalo Lab GitHub Page] -* https://github.com/renzenicolai/bl602-docs/[BL602 Developer organize documentation GitHub Page] -* https://github.com/renzenicolai/bl602tool[BL602 Developer organize tool GitHub Page] -* https://github.com/stschake/bl60x-flash[Programming tool for Bouffalo Labs BL602/BL604 chips] -* https://github.com/pine64/bl602-re[BL602 reverse engineering working group] -* https://github.com/pine64/bl602-sdio-linux[Linux kernel module] -* https://github.com/tchebb/bl602-docs[BL602 Documentation] -* https://github.com/spacemeowx2/blflash[BL602 serial flasher] -* https://github.com/mkroman/awesome-bouffalo#feature-matrix[Awesome Bouffalo] - diff --git a/content/documentation/PineCone/Further_information/Development_efforts.md b/content/documentation/PineCone/Further_information/Development_efforts.md new file mode 100644 index 00000000..49f9e654 --- /dev/null +++ b/content/documentation/PineCone/Further_information/Development_efforts.md @@ -0,0 +1,21 @@ +--- +title: "Development efforts" +draft: false +menu: + docs: + title: + parent: "PineCone/Further_information" + identifier: "PineCone/Further_information/Development_efforts" + weight: +--- + +* [PineCone BL602 GitHub Page (PINE64 fork)](https://github.com/pine64/bl_iot_sdk) has compilers, linkers, and all the code to build on Windows, Linux (x86_64), and MacOS. +* [Bouffalo Lab GitHub Page](https://github.com/bouffalolab/bl_iot_sdk) +* [BL602 Developer organize documentation GitHub Page](https://github.com/renzenicolai/bl602-docs/) +* [BL602 Developer organize tool GitHub Page](https://github.com/renzenicolai/bl602tool) +* [Programming tool for Bouffalo Labs BL602/BL604 chips](https://github.com/stschake/bl60x-flash) +* [BL602 reverse engineering working group](https://github.com/pine64/bl602-re) +* [Linux kernel module](https://github.com/pine64/bl602-sdio-linux) +* [BL602 Documentation](https://github.com/tchebb/bl602-docs) +* [BL602 serial flasher](https://github.com/spacemeowx2/blflash) +* [Awesome Bouffalo](https://github.com/mkroman/awesome-bouffalo#feature-matrix) diff --git a/content/documentation/PineCone/Further_information/Pinenut-12S_Module_information.adoc b/content/documentation/PineCone/Further_information/Pinenut-12S_Module_information.md similarity index 75% rename from content/documentation/PineCone/Further_information/Pinenut-12S_Module_information.adoc rename to content/documentation/PineCone/Further_information/Pinenut-12S_Module_information.md index 3f24f126..8761877e 100644 --- a/content/documentation/PineCone/Further_information/Pinenut-12S_Module_information.adoc +++ b/content/documentation/PineCone/Further_information/Pinenut-12S_Module_information.md @@ -12,7 +12,6 @@ menu: {{< figure src="/documentation/images/NUT-12S_module-front.jpg" width="200" >}} {{< figure src="/documentation/images/NUT-12S_module-back.jpg" width="200" >}} -GPIO definition: https://files.pine64.org/doc/Pinenut/NUT-12S%20GPIO%20Definition%20ver%201.0.pdf[Pinenut-12S GPIO Definition ver 1.0] +GPIO definition: [Pinenut-12S GPIO Definition ver 1.0](https://files.pine64.org/doc/Pinenut/NUT-12S%20GPIO%20Definition%20ver%201.0.pdf) The onboard LED is connected to IO0 - diff --git a/content/documentation/PineCone/Loading_code.adoc b/content/documentation/PineCone/Loading_code.adoc deleted file mode 100644 index 8bdb6e3d..00000000 --- a/content/documentation/PineCone/Loading_code.adoc +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: "Loading code" -draft: false -menu: - docs: - title: - parent: "PineCone" - identifier: "PineCone/Loading_code" - weight: 4 ---- - -To load code, you must move the jumper to the position closest to the edge, press reset, load the code, move the jumper back toward the center of the board, and press reset again. - -There are currently a number of loaders in progress, each with differing degrees of completeness and success on various operating systems. - -* In the build tree, there is BLFlashCube for Windows, which is a proprietary GUI for flashing images. Linux and macOS binaries are available via https://dev.bouffalolab.com/download[Bouffalo Lab's developer portal]. -* https://github.com/stschake/bl60x-flash[bl60x-flash] is in Python and has been reported successful on MacOS catalina (10.15.6) by Punnerud and madushan1000. -* https://github.com/bouffalolab/BLOpenFlasher[BLOpenFlasher] is a WIP, written in go, by Bouffalo Labs to provide source for a flash utility. -* https://github.com/renzenicolai/bl602tool[bl602tool] is a Python utility in development. -* https://pypi.org/project/bflb-mcu-tool/[Bouffalo's MCU tool] (Mar 2021) Python image tool replaced both of the above. Now combined with eflash loader, deals with partitions, DTS, signing, fuses etc. -* https://github.com/spacemeowx2/blflash[blflash serial flasher] BL602 serial flasher, inspired by BLOpenFlasher - diff --git a/content/documentation/PineCone/Loading_code.md b/content/documentation/PineCone/Loading_code.md new file mode 100644 index 00000000..1a79f8a7 --- /dev/null +++ b/content/documentation/PineCone/Loading_code.md @@ -0,0 +1,21 @@ +--- +title: "Loading code" +draft: false +menu: + docs: + title: + parent: "PineCone" + identifier: "PineCone/Loading_code" + weight: 4 +--- + +To load code, you must move the jumper to the position closest to the edge, press reset, load the code, move the jumper back toward the center of the board, and press reset again. + +There are currently a number of loaders in progress, each with differing degrees of completeness and success on various operating systems. + +* In the build tree, there is BLFlashCube for Windows, which is a proprietary GUI for flashing images. Linux and macOS binaries are available via [Bouffalo Lab’s developer portal](https://dev.bouffalolab.com/download). +* [bl60x-flash](https://github.com/stschake/bl60x-flash) is in Python and has been reported successful on MacOS catalina (10.15.6) by Punnerud and madushan1000. +* [BLOpenFlasher](https://github.com/bouffalolab/BLOpenFlasher) is a WIP, written in go, by Bouffalo Labs to provide source for a flash utility. +* [bl602tool](https://github.com/renzenicolai/bl602tool) is a Python utility in development. +* [Bouffalo’s MCU tool](https://pypi.org/project/bflb-mcu-tool/) (Mar 2021) Python image tool replaced both of the above. Now combined with eflash loader, deals with partitions, DTS, signing, fuses etc. +* [blflash serial flasher](https://github.com/spacemeowx2/blflash) BL602 serial flasher, inspired by BLOpenFlasher diff --git a/content/documentation/PineCone/Misc_notes.adoc b/content/documentation/PineCone/Misc_notes.md similarity index 99% rename from content/documentation/PineCone/Misc_notes.adoc rename to content/documentation/PineCone/Misc_notes.md index 888cbffb..60ad5878 100644 --- a/content/documentation/PineCone/Misc_notes.adoc +++ b/content/documentation/PineCone/Misc_notes.md @@ -14,4 +14,3 @@ Planned to be available in at least three form factors: * NUT-01S -> ESP-01S * NUT-12S -> ESP-12S * NUT-15 -> RTL8723/AMPAK - diff --git a/content/documentation/PineCone/_index.adoc b/content/documentation/PineCone/_index.adoc deleted file mode 100644 index 06b85635..00000000 --- a/content/documentation/PineCone/_index.adoc +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: "PineCone" -draft: false -menu: - docs: - title: - parent: "" - identifier: "PineCone" - weight: ---- - -{{< figure src="/documentation/images/Pine64_BL602_EVB_photo-3-small.jpg" width="602" >}} - -The *PineCone* is a BL602 evaluation board, which was developed with the goal to challenge the open source community to achieve blob-free and free and open source WiFi and Bluetooth, see the https://www.pine64.org/2020/10/28/nutcracker-challenge-blob-free-wifi-ble/[Nutcracker Challenge]. - diff --git a/content/documentation/PineCone/_index.md b/content/documentation/PineCone/_index.md new file mode 100644 index 00000000..45c1e2f7 --- /dev/null +++ b/content/documentation/PineCone/_index.md @@ -0,0 +1,14 @@ +--- +title: "PineCone" +draft: false +menu: + docs: + title: + parent: "" + identifier: "PineCone" + weight: +--- + +{{< figure src="/documentation/images/Pine64_BL602_EVB_photo-3-small.jpg" width="602" >}} + +The **PineCone** is a BL602 evaluation board, which was developed with the goal to challenge the open source community to achieve blob-free and free and open source WiFi and Bluetooth, see the [Nutcracker Challenge](https://www.pine64.org/2020/10/28/nutcracker-challenge-blob-free-wifi-ble/). diff --git a/content/documentation/PineCube/Cases.adoc b/content/documentation/PineCube/Cases.adoc deleted file mode 100644 index f14cc3ed..00000000 --- a/content/documentation/PineCube/Cases.adoc +++ /dev/null @@ -1,23 +0,0 @@ ---- -title: "Cases" -draft: false -menu: - docs: - title: - parent: "PineCube" - identifier: "PineCube/Cases" - weight: 3 ---- - -{{< figure src="/documentation/PineCube/images/PineCube_Case-1.jpg" >}} -{{< figure src="/documentation/PineCube/images/PineCube_Case-2.jpg" >}} - -Model: - -* https://files.pine64.org/doc/PineCube/PineCube%20Case%203D.zip[PineCube (proprietary) 3D file] - -User models: - -* https://drive.google.com/file/d/1MDNxnPL2kuYGC4Y4qf9J6YPYZF15KnN7/view?usp=sharing[Quick and dirty STL conversion (beta) by doodlebro. Prints and fits at 0.25mm layer height.] -* https://drive.google.com/drive/folders/1ddisX1V2qibqFuQG74-7w9SgdOE1idTN?usp=sharing[New model with removable front cover and mounting plate with hole for strong magnet and adjustable rotation angle.] See README for more details. Available FreeCAD source models, STL, G-code and 3mf data. https://www.printables.com/cs/model/296091-pinecube-box[Also available at printables.com] - diff --git a/content/documentation/PineCube/Cases.md b/content/documentation/PineCube/Cases.md new file mode 100644 index 00000000..3809cf11 --- /dev/null +++ b/content/documentation/PineCube/Cases.md @@ -0,0 +1,22 @@ +--- +title: "Cases" +draft: false +menu: + docs: + title: + parent: "PineCube" + identifier: "PineCube/Cases" + weight: 3 +--- + +{{< figure src="/documentation/PineCube/images/PineCube_Case-1.jpg" >}} +{{< figure src="/documentation/PineCube/images/PineCube_Case-2.jpg" >}} + +Model: + +* [PineCube (proprietary) 3D file](https://files.pine64.org/doc/PineCube/PineCube%20Case%203D.zip) + +User models: + +* [Quick and dirty STL conversion (beta) by doodlebro. Prints and fits at 0.25mm layer height.](https://drive.google.com/file/d/1MDNxnPL2kuYGC4Y4qf9J6YPYZF15KnN7/view?usp=sharing) +* [New model with removable front cover and mounting plate with hole for strong magnet and adjustable rotation angle.](https://drive.google.com/drive/folders/1ddisX1V2qibqFuQG74-7w9SgdOE1idTN?usp=sharing) See README for more details. Available FreeCAD source models, STL, G-code and 3mf data. [Also available at printables.com](https://www.printables.com/cs/model/296091-pinecube-box) diff --git a/content/documentation/PineCube/Pinout.adoc b/content/documentation/PineCube/Pinout.md similarity index 67% rename from content/documentation/PineCube/Pinout.adoc rename to content/documentation/PineCube/Pinout.md index a8c782a3..403dc070 100644 --- a/content/documentation/PineCube/Pinout.adoc +++ b/content/documentation/PineCube/Pinout.md @@ -11,5 +11,4 @@ menu: {{< figure src="/documentation/PineCube/images/PineCube_GPIO_Pinout.png" width="700" >}} -Note: Pin1 is marked on the board by a white dot on the PCB. See the https://wiki.pine64.org/wiki/File:PineCube_GPIO.pdf[PDF] and https://pine64.gami.ee/pinecube/gpio-pinout.html[HTML] for details. - +Note: Pin1 is marked on the board by a white dot on the PCB. See the [PDF](https://wiki.pine64.org/wiki/File:PineCube_GPIO.pdf) and [HTML](https://pine64.gami.ee/pinecube/gpio-pinout.html) for details. diff --git a/content/documentation/PineCube/Projects/Recorder_for_loud_noises.adoc b/content/documentation/PineCube/Projects/Recorder_for_loud_noises.md similarity index 90% rename from content/documentation/PineCube/Projects/Recorder_for_loud_noises.adoc rename to content/documentation/PineCube/Projects/Recorder_for_loud_noises.md index c9570df2..95abbc09 100644 --- a/content/documentation/PineCube/Projects/Recorder_for_loud_noises.adoc +++ b/content/documentation/PineCube/Projects/Recorder_for_loud_noises.md @@ -9,9 +9,9 @@ menu: weight: --- -The PineCube can be used as a recorder for loud noises. If you have a kernel that has the sound support (see the Sound Control section) then you can use it to make recordings when there is a noise above a certain threshold. The following script is a very simple example that uses the _alsa-utils_ and the _sox_ command to do this. You can use the *noise-stats.txt* file and some noise testing to figure out a good threshold for your camera. +The PineCube can be used as a recorder for loud noises. If you have a kernel that has the sound support (see the Sound Control section) then you can use it to make recordings when there is a noise above a certain threshold. The following script is a very simple example that uses the _alsa-utils_ and the _sox_ command to do this. You can use the **noise-stats.txt** file and some noise testing to figure out a good threshold for your camera. ----- +``` #!/bin/bash # Directory where the sound recordings should go @@ -33,4 +33,4 @@ The PineCube can be used as a recorder for loud noises. If you have a kernel tha rm -f /tmp/sample.wav echo "$ts $stats" >> noise-stats.txt done ----- \ No newline at end of file +``` diff --git a/content/documentation/PineCube/Projects/Security_camera_with_Motion.adoc b/content/documentation/PineCube/Projects/Security_camera_with_Motion.adoc deleted file mode 100644 index 2ff904cd..00000000 --- a/content/documentation/PineCube/Projects/Security_camera_with_Motion.adoc +++ /dev/null @@ -1,40 +0,0 @@ ---- -title: "Security camera with Motion" -draft: false -menu: - docs: - title: - parent: "PineCube/Projects" - identifier: "PineCube/Projects/Security_camera_with_Motion" - weight: ---- - -It's possible to use the PineCube as an inside or outside security camera using https://motion-project.github.io/index.html[motion]. For outside, you'll need an enclosure with a transparent dome to protect from the weather. One suggestion is to mount the camera with the lens as close as possible to the dome to avoid reflection. - -The Motion package can be installed in a variety of Linux flavors. There's a package in the standard Ubuntu and Debian repositories and works with Armbian. It provides a very simple web interface for live viewing of the camera feed and also has motion trigger capabilities to store either still pictures or in later versions videos. Note that it is also possible to build hooks to automatically process or upload those recordings. - -To get things working quickly with motion you can set the following in the /etc/motion/motion.conf and start it with "sudo /etc/init.d/motion start" - - v4l2_palette 14 # UYVY8 - width 640 - height 480 - framerate 15 - -This mode and resolution works fine with Motion and works well with video motion capture (Motion version >= 4.2.2). However, if you want different modes and resolutions you'll need to set the camera to those modes with the media-ctl tool that comes with the v4l-utils package. That will need to be set before the motion service starts. A simple method to ensure that it gets set before motion starts every time, even across reboots, is to make a small modification to the /lib/systemd/system/motion.service - ----- -[Service] -Type=simple -User=motion -ExecStartPre=/usr/bin/media-ctl --set-v4l2 '"ov5640 1-003c":0[fmt:UYVY8_2X8/1280x720@1/15]' # <=- Add this line here with the mode that the camera will use -ExecStart=/usr/bin/motion ----- - -Note that you must modify /etc/motion/motion.conf to match the v4l2_palette, width, height and framerate to match the mode you set with media-ctl. See the https://motion-project.github.io/motion_config.html#v4l2_palette[Motion documentation] to match the v4l2_palette to the mode. Here are a list of modes that have been tried so far. - ----- -UYVY8_2X8/640x480@1/30 -UYVY8_2X8/640x480@1/15 -UYVY8_2X8/1280x720@1/15 # This one seems to be fine for live viewing, but causes performance problems when using Motion to capture videos -JPEG_1X8/1280x720@1/15 ----- \ No newline at end of file diff --git a/content/documentation/PineCube/Projects/Security_camera_with_Motion.md b/content/documentation/PineCube/Projects/Security_camera_with_Motion.md new file mode 100644 index 00000000..776b2baa --- /dev/null +++ b/content/documentation/PineCube/Projects/Security_camera_with_Motion.md @@ -0,0 +1,40 @@ +--- +title: "Security camera with Motion" +draft: false +menu: + docs: + title: + parent: "PineCube/Projects" + identifier: "PineCube/Projects/Security_camera_with_Motion" + weight: +--- + +It’s possible to use the PineCube as an inside or outside security camera using [motion](https://motion-project.github.io/index.html). For outside, you’ll need an enclosure with a transparent dome to protect from the weather. One suggestion is to mount the camera with the lens as close as possible to the dome to avoid reflection. + +The Motion package can be installed in a variety of Linux flavors. There’s a package in the standard Ubuntu and Debian repositories and works with Armbian. It provides a very simple web interface for live viewing of the camera feed and also has motion trigger capabilities to store either still pictures or in later versions videos. Note that it is also possible to build hooks to automatically process or upload those recordings. + +To get things working quickly with motion you can set the following in the /etc/motion/motion.conf and start it with "sudo /etc/init.d/motion start" + + v4l2_palette 14 # UYVY8 + width 640 + height 480 + framerate 15 + +This mode and resolution works fine with Motion and works well with video motion capture (Motion version >= 4.2.2). However, if you want different modes and resolutions you’ll need to set the camera to those modes with the media-ctl tool that comes with the v4l-utils package. That will need to be set before the motion service starts. A simple method to ensure that it gets set before motion starts every time, even across reboots, is to make a small modification to the /lib/systemd/system/motion.service + +``` +[Service] +Type=simple +User=motion +ExecStartPre=/usr/bin/media-ctl --set-v4l2 '"ov5640 1-003c":0[fmt:UYVY8_2X8/1280x720@1/15]' # <=- Add this line here with the mode that the camera will use +ExecStart=/usr/bin/motion +``` + +Note that you must modify /etc/motion/motion.conf to match the v4l2_palette, width, height and framerate to match the mode you set with media-ctl. See the [Motion documentation](https://motion-project.github.io/motion_config.html#v4l2_palette) to match the v4l2_palette to the mode. Here are a list of modes that have been tried so far. + +``` +UYVY8_2X8/640x480@1/30 +UYVY8_2X8/640x480@1/15 +UYVY8_2X8/1280x720@1/15 # This one seems to be fine for live viewing, but causes performance problems when using Motion to capture videos +JPEG_1X8/1280x720@1/15 +``` diff --git a/content/documentation/PineCube/Projects/_index.adoc b/content/documentation/PineCube/Projects/_index.adoc deleted file mode 100644 index b2b28680..00000000 --- a/content/documentation/PineCube/Projects/_index.adoc +++ /dev/null @@ -1,23 +0,0 @@ ---- -title: "Projects" -draft: false -menu: - docs: - title: - parent: "PineCube" - identifier: "PineCube/Projects" - weight: 80 ---- - -The following projects are documented here: - -* link:/documentation/PineCube/Projects/Streaming_the_camera_to_the_network[Streaming the camera to the network] -* link:/documentation/PineCube/Projects/Security_camera_with_Motion[Security camera with Motion] -* link:/documentation/PineCube/Projects/WiFi_AP[WiFi access point] -* link:/documentation/PineCube/Projects/Webcam[Webcam] -* link:/documentation/PineCube/Projects/Recorder_for_loud_noises[Recorder for loud noises] - -Further projects: - -* _OpenWrt_ from _juansef_ - https://github.com/juanesf/openwrt[GitHub], https://forum.pine64.org/showthread.php?tid=13158&pid=98379[Pine64 Forum thread] - diff --git a/content/documentation/PineCube/Projects/_index.md b/content/documentation/PineCube/Projects/_index.md new file mode 100644 index 00000000..9587f081 --- /dev/null +++ b/content/documentation/PineCube/Projects/_index.md @@ -0,0 +1,22 @@ +--- +title: "Projects" +draft: false +menu: + docs: + title: + parent: "PineCube" + identifier: "PineCube/Projects" + weight: 80 +--- + +The following projects are documented here: + +* [Streaming the camera to the network](/documentation/PineCube/Projects/Streaming_the_camera_to_the_network) +* [Security camera with Motion](/documentation/PineCube/Projects/Security_camera_with_Motion) +* [WiFi access point](/documentation/PineCube/Projects/WiFi_AP) +* [Webcam](/documentation/PineCube/Projects/Webcam) +* [Recorder for loud noises](/documentation/PineCube/Projects/Recorder_for_loud_noises) + +Further projects: + +* _OpenWrt_ from _juansef_ - [GitHub](https://github.com/juanesf/openwrt), [Pine64 Forum thread](https://forum.pine64.org/showthread.php?tid=13158&pid=98379) diff --git a/content/documentation/PineCube/Software/Buildroot.adoc b/content/documentation/PineCube/Software/Buildroot.adoc deleted file mode 100644 index d23a40b1..00000000 --- a/content/documentation/PineCube/Software/Buildroot.adoc +++ /dev/null @@ -1,20 +0,0 @@ ---- -title: "Buildroot" -draft: false -menu: - docs: - title: - parent: "PineCube/Software" - identifier: "PineCube/Software/Buildroot" - weight: ---- - - -PineCube is supported in Buildroot since version 2023.11. See the file https://git.busybox.net/buildroot/tree/board/pine64/pinecube/readme.txt?h=next[board/pine64/pinecube/readme.txt] in the Buildroot repository for details how to build it. - -There is also available Buildroot fork by https://elimo.io[Elimo Engineering], you can find the repository on https://github.com/elimo-engineering/buildroot[Elimo's GitHub account] and build instructions in the https://github.com/elimo-engineering/buildroot/tree/pine64/pinecube/board/pine64/pinecube[board support directory] readme. - -The most important thing that this provides is support for the S3's DDR3 in u-boot. Unfortunately mainline u-boot does not have that yet, but the u-boot patches from https://github.com/danielfullmer/pinecube-nixos[Daniel Fullmer's NixOS repo] were easy enough to use on buildroot. - -This should get you a functional system that boots to a console on UART0. It's pretty fast too, getting there in 1.5 seconds from u-boot to login prompt. - diff --git a/content/documentation/PineCube/Software/Buildroot.md b/content/documentation/PineCube/Software/Buildroot.md new file mode 100644 index 00000000..690ff14b --- /dev/null +++ b/content/documentation/PineCube/Software/Buildroot.md @@ -0,0 +1,19 @@ +--- +title: "Buildroot" +draft: false +menu: + docs: + title: + parent: "PineCube/Software" + identifier: "PineCube/Software/Buildroot" + weight: +--- + + +PineCube is supported in Buildroot since version 2023.11. See the file [board/pine64/pinecube/readme.txt](https://git.busybox.net/buildroot/tree/board/pine64/pinecube/readme.txt?h=next) in the Buildroot repository for details how to build it. + +There is also available Buildroot fork by [Elimo Engineering](https://elimo.io), you can find the repository on [Elimo’s GitHub account](https://github.com/elimo-engineering/buildroot) and build instructions in the [board support directory](https://github.com/elimo-engineering/buildroot/tree/pine64/pinecube/board/pine64/pinecube) readme. + +The most important thing that this provides is support for the S3’s DDR3 in u-boot. Unfortunately mainline u-boot does not have that yet, but the u-boot patches from [Daniel Fullmer’s NixOS repo](https://github.com/danielfullmer/pinecube-nixos) were easy enough to use on buildroot. + +This should get you a functional system that boots to a console on UART0. It’s pretty fast too, getting there in 1.5 seconds from u-boot to login prompt. diff --git a/content/documentation/PineCube/Software/Releases.adoc b/content/documentation/PineCube/Software/Releases.adoc deleted file mode 100644 index 0f8a2434..00000000 --- a/content/documentation/PineCube/Software/Releases.adoc +++ /dev/null @@ -1,32 +0,0 @@ ---- -title: "Releases" -draft: false -menu: - docs: - title: - parent: "PineCube/Software" - identifier: "PineCube/Software/Releases" - weight: 1 ---- - -== Armbian - -{{< figure src="/documentation/images/armbian.png" width="100" >}} - -*Armbian* is a Linux distribution designed for ARM boards. They are usually Debian or Ubuntu flavored. - -Download: - -* https://www.armbian.com/pinecube/ - -Notes: - -* See link:/documentation/PineCube/Software/Armbian_notes[Armbian notes] - -== NixOS - -{{< figure src="/documentation/images/NixOS.webp" width="100" >}} - -*NixOS* is a Linux distribution built on top of the Nix package manager using declarative configuration to allow reliable system upgrades. - -* https://github.com/danielfullmer/pinecube-nixos[danielfullmer's Github] \ No newline at end of file diff --git a/content/documentation/PineCube/Software/Releases.md b/content/documentation/PineCube/Software/Releases.md new file mode 100644 index 00000000..8990d46b --- /dev/null +++ b/content/documentation/PineCube/Software/Releases.md @@ -0,0 +1,32 @@ +--- +title: "Releases" +draft: false +menu: + docs: + title: + parent: "PineCube/Software" + identifier: "PineCube/Software/Releases" + weight: 1 +--- + +## Armbian + +{{< figure src="/documentation/images/armbian.png" width="100" >}} + +**Armbian** is a Linux distribution designed for ARM boards. They are usually Debian or Ubuntu flavored. + +Download: + +* https://www.armbian.com/pinecube/ + +Notes: + +* See [Armbian notes](/documentation/PineCube/Software/Armbian_notes) + +## NixOS + +{{< figure src="/documentation/images/NixOS.webp" width="100" >}} + +**NixOS** is a Linux distribution built on top of the Nix package manager using declarative configuration to allow reliable system upgrades. + +* [danielfullmer’s Github](https://github.com/danielfullmer/pinecube-nixos) diff --git a/content/documentation/PineCube/Software/SDK.adoc b/content/documentation/PineCube/Software/SDK.adoc deleted file mode 100644 index 83c8565f..00000000 --- a/content/documentation/PineCube/Software/SDK.adoc +++ /dev/null @@ -1,116 +0,0 @@ ---- -title: "SDK" -draft: false -menu: - docs: - title: - parent: "PineCube/Software" - identifier: "PineCube/Software/SDK" - weight: ---- - -Stock Linux: - -* https://files.pine64.org/SDK/PineCube/PineCube%20Stock%20BSP-SDK%20ver1.0.7z[Direct Download from pine64.org] (MD5 (7zip file): efac108dc98efa0a1f5e77660ba375f8, file size: 3.50GB) - -Compilation: - -You can either setup a machine for the build environment, or use a Vagrant virtual machine provided by https://elimo.io[Elimo Engineering] - -== Compile on a dedicated machine - -Recommended system requirements: - -* OS: (L)Ubuntu 16.04 -* CPU: 64-bit based -* Memory: 8 GB or higher -* Disk: 15 GB free hard disk space - -Install required packages: - - sudo apt-get install p7zip-full git make u-boot-tools libxml2-utils bison build-essential gcc-arm-linux-gnueabi g++-arm-linux-gnueabi zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32z1-dev - -Install older Make 3.82 and Java JDK 6: - - pushd /tmp - wget https://ftp.gnu.org/gnu/make/make-3.82.tar.gz - tar xfv make-3.82.tar.gz - cd make-3.82 - ./configure - make - sudo apt purge -y make - sudo ./make install - cd .. - # Please, download jdk-6u45-linux-x64.bin from https://www.oracle.com/java/technologies/javase-java-archive-javase6-downloads.html (requires free login) - chmod +x jdk-6u45-linux-x64.bin - ./jdk-6u45-linux-x64.bin - sudo mkdir /opt/java/ - sudo mv jdk1.6.0_45/ /opt/java/ - sudo update-alternatives --install /usr/bin/javac javac /opt/java/jdk1.6.0_45/bin/javac 1 - sudo update-alternatives --install /usr/bin/java java /opt/java/jdk1.6.0_45/bin/java 1 - sudo update-alternatives --install /usr/bin/javaws javaws /opt/java/jdk1.6.0_45/bin/javaws 1 - sudo update-alternatives --config javac - sudo update-alternatives --config java - sudo update-alternatives --config javaws - popd - -PineCubes SPI Flash support patch: - - From 9316112c37ee86645fd691c6d3352183b95177d8 Mon Sep 17 00:00:00 2001 - From: Marek Kraus - Date: Fri, 8 Jul 2022 21:01:47 +0200 - Subject: [PATCH] Add support for xt25f128 SPI Flash - - --- - drivers/mtd/devices/m25p80.c | 1 + - 1 file changed, 1 insertion(+) - - diff --git a/drivers/mtd/devices/m25p80.c b/drivers/mtd/devices/m25p80.c - index 31e5795..0f46a4c 100755 - --- a/drivers/mtd/devices/m25p80.c - +++ b/drivers/mtd/devices/m25p80.c - @@ -803,6 +803,7 @@ static const struct spi_device_id m25p_ids[] = { - { "w25x64", INFO(0xef3017, 0, 64 * 1024, 128, SECT_4K) }, - { "w25q64", INFO(0xef4017, 0, 64 * 1024, 128, SECT_4K) }, - { "W25q128", INFO(0xef4018, 0, 64 * 1024, 256, 0) }, - + { "xt25f128", INFO(0x0b4018, 0, 64 * 1024, 256, SECT_4K) }, - - - /* Catalyst / On Semiconductor -- non-JEDEC */ - -- - 2.7.4 - -Unpack SDK and then compile and pack the image: - - 7z x 'PineCube Stock BSP-SDK ver1.0.7z' - mv 'PineCube Stock BSP-SDK ver1.0' pinecube-sdk - cd pinecube-sdk/camdroid - # apply SPI Flash patch above or edit m25p80.c file - source build/envsetup.sh - lunch # select [1] here - mklichee - extract-bsp - make -j3 - pack - -== Compile using Vagrant - -You can avoid setting up your machine and just use Vagrant to spin up a development environment in a VM. - -Just clone the https://github.com/elimo-engineering/pinecube-sdk-vagrant[Elimo Engineering repo] and follow the instructions in the https://github.com/elimo-engineering/pinecube-sdk-vagrant/blob/main/README.md[readme file] - -After spinning up the VM, you just need to run the build: - - cd pinecube-sdk/camdroid - # apply SPI Flash patch above or edit m25p80.c file - source build/envsetup.sh - lunch # select [1] here - mklichee - extract-bsp - make -j3 - pack - -== Flashing the image - -See link:/documentation/Unsorted/PhoenixCard[PhoenixCard] for a manual on how to flash Allwinners BSP images. - diff --git a/content/documentation/PineCube/Software/SDK.md b/content/documentation/PineCube/Software/SDK.md new file mode 100644 index 00000000..b5a4ec92 --- /dev/null +++ b/content/documentation/PineCube/Software/SDK.md @@ -0,0 +1,115 @@ +--- +title: "SDK" +draft: false +menu: + docs: + title: + parent: "PineCube/Software" + identifier: "PineCube/Software/SDK" + weight: +--- + +Stock Linux: + +* [Direct Download from pine64.org](https://files.pine64.org/SDK/PineCube/PineCube%20Stock%20BSP-SDK%20ver1.0.7z) (MD5 (7zip file): efac108dc98efa0a1f5e77660ba375f8, file size: 3.50GB) + +Compilation: + +You can either setup a machine for the build environment, or use a Vagrant virtual machine provided by [Elimo Engineering](https://elimo.io) + +## Compile on a dedicated machine + +Recommended system requirements: + +* OS: (L)Ubuntu 16.04 +* CPU: 64-bit based +* Memory: 8 GB or higher +* Disk: 15 GB free hard disk space + +Install required packages: + + sudo apt-get install p7zip-full git make u-boot-tools libxml2-utils bison build-essential gcc-arm-linux-gnueabi g++-arm-linux-gnueabi zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32z1-dev + +Install older Make 3.82 and Java JDK 6: + + pushd /tmp + wget https://ftp.gnu.org/gnu/make/make-3.82.tar.gz + tar xfv make-3.82.tar.gz + cd make-3.82 + ./configure + make + sudo apt purge -y make + sudo ./make install + cd .. + # Please, download jdk-6u45-linux-x64.bin from https://www.oracle.com/java/technologies/javase-java-archive-javase6-downloads.html (requires free login) + chmod +x jdk-6u45-linux-x64.bin + ./jdk-6u45-linux-x64.bin + sudo mkdir /opt/java/ + sudo mv jdk1.6.0_45/ /opt/java/ + sudo update-alternatives --install /usr/bin/javac javac /opt/java/jdk1.6.0_45/bin/javac 1 + sudo update-alternatives --install /usr/bin/java java /opt/java/jdk1.6.0_45/bin/java 1 + sudo update-alternatives --install /usr/bin/javaws javaws /opt/java/jdk1.6.0_45/bin/javaws 1 + sudo update-alternatives --config javac + sudo update-alternatives --config java + sudo update-alternatives --config javaws + popd + +PineCubes SPI Flash support patch: + + From 9316112c37ee86645fd691c6d3352183b95177d8 Mon Sep 17 00:00:00 2001 + From: Marek Kraus + Date: Fri, 8 Jul 2022 21:01:47 +0200 + Subject: [PATCH] Add support for xt25f128 SPI Flash + + --- + drivers/mtd/devices/m25p80.c | 1 + + 1 file changed, 1 insertion(+) + + diff --git a/drivers/mtd/devices/m25p80.c b/drivers/mtd/devices/m25p80.c + index 31e5795..0f46a4c 100755 + --- a/drivers/mtd/devices/m25p80.c + +++ b/drivers/mtd/devices/m25p80.c + @@ -803,6 +803,7 @@ static const struct spi_device_id m25p_ids[] = { + { "w25x64", INFO(0xef3017, 0, 64 * 1024, 128, SECT_4K) }, + { "w25q64", INFO(0xef4017, 0, 64 * 1024, 128, SECT_4K) }, + { "W25q128", INFO(0xef4018, 0, 64 * 1024, 256, 0) }, + + { "xt25f128", INFO(0x0b4018, 0, 64 * 1024, 256, SECT_4K) }, + + + /* Catalyst / On Semiconductor -- non-JEDEC */ + + 7.4 + +Unpack SDK and then compile and pack the image: + + 7z x 'PineCube Stock BSP-SDK ver1.0.7z' + mv 'PineCube Stock BSP-SDK ver1.0' pinecube-sdk + cd pinecube-sdk/camdroid + # apply SPI Flash patch above or edit m25p80.c file + source build/envsetup.sh + lunch # select [1] here + mklichee + extract-bsp + make -j3 + pack + +## Compile using Vagrant + +You can avoid setting up your machine and just use Vagrant to spin up a development environment in a VM. + +Just clone the [Elimo Engineering repo](https://github.com/elimo-engineering/pinecube-sdk-vagrant) and follow the instructions in the [readme file](https://github.com/elimo-engineering/pinecube-sdk-vagrant/blob/main/README.md) + +After spinning up the VM, you just need to run the build: + + cd pinecube-sdk/camdroid + # apply SPI Flash patch above or edit m25p80.c file + source build/envsetup.sh + lunch # select [1] here + mklichee + extract-bsp + make -j3 + pack + +## Flashing the image + +See [PhoenixCard](/documentation/Unsorted/PhoenixCard) for a manual on how to flash Allwinners BSP images. diff --git a/content/documentation/PineCube/Tuning/Sound_controls.adoc b/content/documentation/PineCube/Tuning/Sound_controls.md similarity index 63% rename from content/documentation/PineCube/Tuning/Sound_controls.adoc rename to content/documentation/PineCube/Tuning/Sound_controls.md index 2d6b1ad6..06d75641 100644 --- a/content/documentation/PineCube/Tuning/Sound_controls.adoc +++ b/content/documentation/PineCube/Tuning/Sound_controls.md @@ -9,7 +9,6 @@ menu: weight: --- -Note that sound is only currently available with special patches on top of a 5.13.13 or higher kernel with Armbian or NixOS. Once you have a kernel that supports sound you can install alsa-utils to get the alsamixer tool. The following mixer settings have been found to work with both playback and record. Note that you'll need to press F5 to get the capture controls and space bar to turn on/off capture for a device. The speaker dangles on a wire from the device. The microphone is located about 1cm below the lens on the front facing circuit board. +Note that sound is only currently available with special patches on top of a 5.13.13 or higher kernel with Armbian or NixOS. Once you have a kernel that supports sound you can install alsa-utils to get the alsamixer tool. The following mixer settings have been found to work with both playback and record. Note that you’ll need to press F5 to get the capture controls and space bar to turn on/off capture for a device. The speaker dangles on a wire from the device. The microphone is located about 1cm below the lens on the front facing circuit board. {{< figure src="/documentation/PineCube/images/Pinecube_sound_mixer.png" width="800" >}} - diff --git a/content/documentation/PineCube/_index.adoc b/content/documentation/PineCube/_index.adoc deleted file mode 100644 index a2d2c64d..00000000 --- a/content/documentation/PineCube/_index.adoc +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: "PineCube" -draft: false -menu: - docs: - title: - parent: "" - identifier: "PineCube" - weight: ---- - -{{< figure src="/documentation/PineCube/images/PineCube.jpg" title="The PineCube" width="400" >}} - -The *PineCube* is a small, low-powered, open source IP camera. Whether you’re a parent looking for a FOSS baby-camera, a privacy oriented shop keeper, home owner looking for a security camera, or perhaps a tinkerer needing a camera for your drone – the CUBE can be the device for you. It features an 5MPx Omnivision sensor and IR LEDs for night vision, as well as Power Over Ethernet, as well as a microphone. - diff --git a/content/documentation/PineCube/_index.md b/content/documentation/PineCube/_index.md new file mode 100644 index 00000000..8464e664 --- /dev/null +++ b/content/documentation/PineCube/_index.md @@ -0,0 +1,14 @@ +--- +title: "PineCube" +draft: false +menu: + docs: + title: + parent: "" + identifier: "PineCube" + weight: +--- + +{{< figure src="/documentation/PineCube/images/PineCube.jpg" title="The PineCube" width="400" >}} + +The **PineCube** is a small, low-powered, open source IP camera. Whether you’re a parent looking for a FOSS baby-camera, a privacy oriented shop keeper, home owner looking for a security camera, or perhaps a tinkerer needing a camera for your drone – the CUBE can be the device for you. It features an 5MPx Omnivision sensor and IR LEDs for night vision, as well as Power Over Ethernet, as well as a microphone. diff --git a/content/documentation/PineNote/Development_efforts.adoc b/content/documentation/PineNote/Development_efforts.adoc deleted file mode 100644 index 426bacb4..00000000 --- a/content/documentation/PineNote/Development_efforts.adoc +++ /dev/null @@ -1,98 +0,0 @@ ---- -title: "Development efforts" -draft: false -menu: - docs: - title: - parent: "PineNote" - identifier: "PineNote/Development_efforts" - weight: 3 ---- - -The following page discusses the development efforts for the PineNote: - -* link:/documentation/PineNote/Development[PineNote Development] for general information regarding how to flash the device and other development information. - -== Software - -* link:/documentation/PineNote/Development/Flashing[PineNote Development/Flashing] for general flashing instructions of data to the PineNote -* link:/documentation/PineNote/Development/TODOs[PineNote Development/TODOs] - -=== Linux Kernel - -* link:/documentation/General/RK3566_EBC_reverse-engineering[RK3566 EBC Reverse-Engineering] for the EBC (eInk Panel) driver. -* link:/documentation/PineNote/Development/Building_kernel[PineNote Development/Building Kernel] -* BSP Linux SDK version 4.19 for the PineNote and link:/documentation/Quartz64[Quartz64 Model A]: -** http://files.pine64.org/SDK/Quartz64/QUARTZ64-model-A_BSP%20Linux.tar.gz[Direct download] from _pine64.org_ (32.67GB, MD5 of the TAR-GZip file _24554419aec29700add97167a3a4c9ed_) -** https://tmp.mwfc.info/pinenote/QUARTZ64-model-A_BSP%20Linux.tar.gz[Mirror by mwfc] -** An unofficial torrent download provided by a community member of the BSP Linux and Android SDKs can be found https://cdn.discordapp.com/attachments/870707390998282292/907726420204208148/pinenote.torrent[here] (100GB). - -=== User Space - -* link:/documentation/PineNote/Development/Booting_Linux[PineNote Development/Booting Linux] - -For tweaks and tricks see: - -* link:/documentation/PineNote/Development/Software_tweaks[PineNote Development/Software Tweaks] - -For app development see: - -* link:/documentation/PineNote/Development/Apps[PineNote Development/Apps] - -=== Android - -Android 11 e-ink SDK for the PineNote and Quartz64 Model A. This is the Android SDK build for 10.3" eink panels on Quartz64 Model A. - -Download: - -* http://files.pine64.org/SDK/Quartz64/QUARTZ64-model-A_eink.android11_SDK.tar.gz[Direct download] from _pine64.org_ (72.88GB, MD5 of the TAR-GZip file _293a550584298de4fb95ceae18103672_) -* https://tmp.mwfc.info/pinenote/QUARTZ64-model-A_eink.android11_SDK.tar.gz[Mirror by mwfc] -* An unofficial torrent download provided by a community member of the BSP Linux and Android SDKs can be found https://cdn.discordapp.com/attachments/870707390998282292/907726420204208148/pinenote.torrent[here] (100GB). -* Just the boot blobs (<1MB): https://wiki.pine64.org/wiki/File:Rk35-blobs.tar.gz - -Notes: - -* View link:/documentation/General/Android_SDK_for_RK3566[Android SDK for RK3566] for more information how to compile an image for the PineNote using this SDK - -=== Related - -* link:/documentation/Quartz64/Development[Development] for the mainlining status of various functions on the Rockchip RK3566 SoC. - -== Hardware - -This section includes discussions and their results regarding hardware changes and debugging of the PineNote. - -=== Resolved issues - -The following topics have resolved: - -* link:/documentation/PineNote/Further_information/Closed_Case_UART[PineNote/Hardware Changes/Closed Case UART] -* *Could the USB-C port support USB 3.1 5Gbps?* Yes and no. The RK3566 only has a host-mode 5Gbps controller, meaning it can only negotiate such a high data rate with a device such as a flash drive. When the RK3566 is acting as a device, it only supports 480Mbps transfer rates. The hardware required to switch between these modes would raise the PineNote's price unreasonably. Therefore, the USB-C port will remain at USB 2.0 speeds for Host and Device mode. -* *Could the USB-C port output DisplayPort?* Yes and no. The hardware required to support such a feature would raise the PineNote's price unreasonably. Therefore, DisplayPort output will not be possible through the USB-C port. -* *Where is the microSD card slot?* The case design of the PineNote is fixed, making physical changes like adding a microSD card slot would raise the cost unreasonably. -* *How will I install software to the PineNote?* This is a hardware and software question. If the software on your PineNote is completely broken and cannot boot to a recoverable state, a Hall (magnet) sensor was fitted to the PineTab motherboard as U9009. This sensor is attached to SARADC_VIN0_KEY/RECOVERY on the RK3566. With the device powered off, and screen face down, holding a magnet over U9009 and plugging in a USB-C cable causes the device to boot into http://opensource.rock-chips.com/wiki_Rockusb["rockusb"] flash mode. With proper flashing software and drivers, it should be possible to load a new operating system using rockusb if the system is soft-bricked. Of course, software vendors will need to be more careful with flashing firmware and providing useful "recovery" options on this device due to this process's relative difficulty to other PINE64 devices. - -=== Unresolved issues - -The following concerns have been brought up as open, unanswered topics: - -* Does https://en.wikipedia.org/wiki/USB-C#Audio_Adapter_Accessory_Mode_2[Audio Adapter Accessory Mode] work? It appears that the Headphone output of the audio codec was routed to the USB-C audio+USB switch, but it's unclear whether CC lines are hooked up correctly for detection of such a device. The PineNote hardware team will be testing this functionality soon (as of August 19, 2021). Note that Audio Accessory mode is detectable by reading the I2C registers of the WUSB3801Q. So connecting ASEL to a GPIO would be enough to get this working if it is not working already. -* Why is the Headphone output of the audio codec routed to the speakers? HPL_OUT is routed from the RK817 PMIC and audio codec to U9010 (the USB-C switch) and U6 (the audio amplifier). SPK_OUT is unused. It seems like SPK_OUT should be routed to U6 and HPL_OUT to U9010. -* Nitpick: The cold white charging LED bleeds through the gap between the rear case and the device's face. It does not bleed onto the screen, but it is jarring in low-light conditions or when the screen is amber. Could be resolved in software by turning off the charge LED when the screen is on. -* Is there any way to indicate when the device is in rockusb mode, such as connecting a certain magic pin to the power LED? -* The modem/4G connector (J6010) has its I2C and UART pins unconnected. Could those be connected to the SoC? - -=== UART Dongle - -The USB UART dongle delivered with the PineNote allows you to have access to a serial port via USB-C Debug Accessory Mode (_DAM_) without having to open up the device. -The factory firmware runs at a baud rate of 1500000bps, 8 data bits 1 stop bit, no parity and no flow control. The USB-C male end should go into the PineNote and the female end can be connected with a standard USB-C cable to your computer. - -It is relatively easy to build your own UART interface with a USB-C breakout board (for example https://www.ebay.com/itm/275407037613), two resistors and a 3.3V USB serial adapter. It is basically just two 1K pull up resistors (R3, R4), the data sheet values of 10K isn't whats on the real hardware, see the https://files.pine64.org/doc/PineNote/PineNote_USB-C_Console_UART_breakout_board_schematic_v1.0_20210903.pdf[schematic]. The pull ups enable the serial output on SBU1 and SBU2 you can use with any 3.3V USB serial adapter. - -The UART dongle is not necessary to flash the PineNote, but is essential if something goes wrong to fix it without having to open the case. - -You can flash premade images with the following links: - -* https://github.com/m-weigand/pinenote_uboot_patching_dorians_backup (Note: this creates a U-Boot image to flash, do not worry about idblock.bin on the instructions for the next link) -* https://github.com/m-weigand/pinenote-debian-recipes/releases/ - diff --git a/content/documentation/PineNote/Development_efforts.md b/content/documentation/PineNote/Development_efforts.md new file mode 100644 index 00000000..96bfabc1 --- /dev/null +++ b/content/documentation/PineNote/Development_efforts.md @@ -0,0 +1,97 @@ +--- +title: "Development efforts" +draft: false +menu: + docs: + title: + parent: "PineNote" + identifier: "PineNote/Development_efforts" + weight: 3 +--- + +The following page discusses the development efforts for the PineNote: + +* [PineNote Development](/documentation/PineNote/Development) for general information regarding how to flash the device and other development information. + +## Software + +* [PineNote Development/Flashing](/documentation/PineNote/Development/Flashing) for general flashing instructions of data to the PineNote +* [PineNote Development/TODOs](/documentation/PineNote/Development/TODOs) + +### Linux Kernel + +* [RK3566 EBC Reverse-Engineering](/documentation/General/RK3566_EBC_reverse-engineering) for the EBC (eInk Panel) driver. +* [PineNote Development/Building Kernel](/documentation/PineNote/Development/Building_kernel) +* BSP Linux SDK version 4.19 for the PineNote and [Quartz64 Model A](/documentation/Quartz64): + * [Direct download](http://files.pine64.org/SDK/Quartz64/QUARTZ64-model-A_BSP%20Linux.tar.gz) from _pine64.org_ (32.67GB, MD5 of the TAR-GZip file _24554419aec29700add97167a3a4c9ed_) + * [Mirror by mwfc](https://tmp.mwfc.info/pinenote/QUARTZ64-model-A_BSP%20Linux.tar.gz) + * An unofficial torrent download provided by a community member of the BSP Linux and Android SDKs can be found [here](https://cdn.discordapp.com/attachments/870707390998282292/907726420204208148/pinenote.torrent) (100GB). + +### User Space + +* [PineNote Development/Booting Linux](/documentation/PineNote/Development/Booting_Linux) + +For tweaks and tricks see: + +* [PineNote Development/Software Tweaks](/documentation/PineNote/Development/Software_tweaks) + +For app development see: + +* [PineNote Development/Apps](/documentation/PineNote/Development/Apps) + +### Android + +Android 11 e-ink SDK for the PineNote and Quartz64 Model A. This is the Android SDK build for 10.3" eink panels on Quartz64 Model A. + +Download: + +* [Direct download](http://files.pine64.org/SDK/Quartz64/QUARTZ64-model-A_eink.android11_SDK.tar.gz) from _pine64.org_ (72.88GB, MD5 of the TAR-GZip file _293a550584298de4fb95ceae18103672_) +* [Mirror by mwfc](https://tmp.mwfc.info/pinenote/QUARTZ64-model-A_eink.android11_SDK.tar.gz) +* An unofficial torrent download provided by a community member of the BSP Linux and Android SDKs can be found [here](https://cdn.discordapp.com/attachments/870707390998282292/907726420204208148/pinenote.torrent) (100GB). +* Just the boot blobs (<1MB): https://wiki.pine64.org/wiki/File:Rk35-blobs.tar.gz + +Notes: + +* View [Android SDK for RK3566](/documentation/General/Android_SDK_for_RK3566) for more information how to compile an image for the PineNote using this SDK + +### Related + +* [Development](/documentation/Quartz64/Development) for the mainlining status of various functions on the Rockchip RK3566 SoC. + +## Hardware + +This section includes discussions and their results regarding hardware changes and debugging of the PineNote. + +### Resolved issues + +The following topics have resolved: + +* [PineNote/Hardware Changes/Closed Case UART](/documentation/PineNote/Further_information/Closed_Case_UART) +* **Could the USB-C port support USB 3.1 5Gbps?** Yes and no. The RK3566 only has a host-mode 5Gbps controller, meaning it can only negotiate such a high data rate with a device such as a flash drive. When the RK3566 is acting as a device, it only supports 480Mbps transfer rates. The hardware required to switch between these modes would raise the PineNote’s price unreasonably. Therefore, the USB-C port will remain at USB 2.0 speeds for Host and Device mode. +* **Could the USB-C port output DisplayPort?** Yes and no. The hardware required to support such a feature would raise the PineNote’s price unreasonably. Therefore, DisplayPort output will not be possible through the USB-C port. +* **Where is the microSD card slot?** The case design of the PineNote is fixed, making physical changes like adding a microSD card slot would raise the cost unreasonably. +* **How will I install software to the PineNote?** This is a hardware and software question. If the software on your PineNote is completely broken and cannot boot to a recoverable state, a Hall (magnet) sensor was fitted to the PineTab motherboard as U9009. This sensor is attached to SARADC_VIN0_KEY/RECOVERY on the RK3566. With the device powered off, and screen face down, holding a magnet over U9009 and plugging in a USB-C cable causes the device to boot into ["rockusb"](http://opensource.rock-chips.com/wiki_Rockusb) flash mode. With proper flashing software and drivers, it should be possible to load a new operating system using rockusb if the system is soft-bricked. Of course, software vendors will need to be more careful with flashing firmware and providing useful "recovery" options on this device due to this process’s relative difficulty to other PINE64 devices. + +### Unresolved issues + +The following concerns have been brought up as open, unanswered topics: + +* Does [Audio Adapter Accessory Mode](https://en.wikipedia.org/wiki/USB-C#Audio_Adapter_Accessory_Mode_2) work? It appears that the Headphone output of the audio codec was routed to the USB-C audio+USB switch, but it’s unclear whether CC lines are hooked up correctly for detection of such a device. The PineNote hardware team will be testing this functionality soon (as of August 19, 2021). Note that Audio Accessory mode is detectable by reading the I2C registers of the WUSB3801Q. So connecting ASEL to a GPIO would be enough to get this working if it is not working already. +* Why is the Headphone output of the audio codec routed to the speakers? HPL_OUT is routed from the RK817 PMIC and audio codec to U9010 (the USB-C switch) and U6 (the audio amplifier). SPK_OUT is unused. It seems like SPK_OUT should be routed to U6 and HPL_OUT to U9010. +* Nitpick: The cold white charging LED bleeds through the gap between the rear case and the device’s face. It does not bleed onto the screen, but it is jarring in low-light conditions or when the screen is amber. Could be resolved in software by turning off the charge LED when the screen is on. +* Is there any way to indicate when the device is in rockusb mode, such as connecting a certain magic pin to the power LED? +* The modem/4G connector (J6010) has its I2C and UART pins unconnected. Could those be connected to the SoC? + +### UART Dongle + +The USB UART dongle delivered with the PineNote allows you to have access to a serial port via USB-C Debug Accessory Mode (_DAM_) without having to open up the device. +The factory firmware runs at a baud rate of 1500000bps, 8 data bits 1 stop bit, no parity and no flow control. The USB-C male end should go into the PineNote and the female end can be connected with a standard USB-C cable to your computer. + +It is relatively easy to build your own UART interface with a USB-C breakout board (for example https://www.ebay.com/itm/275407037613), two resistors and a 3.3V USB serial adapter. It is basically just two 1K pull up resistors (R3, R4), the data sheet values of 10K isn’t whats on the real hardware, see the [schematic](https://files.pine64.org/doc/PineNote/PineNote_USB-C_Console_UART_breakout_board_schematic_v1.0_20210903.pdf). The pull ups enable the serial output on SBU1 and SBU2 you can use with any 3.3V USB serial adapter. + +The UART dongle is not necessary to flash the PineNote, but is essential if something goes wrong to fix it without having to open the case. + +You can flash premade images with the following links: + +* https://github.com/m-weigand/pinenote_uboot_patching_dorians_backup (Note: this creates a U-Boot image to flash, do not worry about idblock.bin on the instructions for the next link) +* https://github.com/m-weigand/pinenote-debian-recipes/releases/ diff --git a/content/documentation/PineNote/Further_information/Closed_Case_UART.adoc b/content/documentation/PineNote/Further_information/Closed_Case_UART.md similarity index 52% rename from content/documentation/PineNote/Further_information/Closed_Case_UART.adoc rename to content/documentation/PineNote/Further_information/Closed_Case_UART.md index 8e51eca3..17dd249b 100644 --- a/content/documentation/PineNote/Further_information/Closed_Case_UART.adoc +++ b/content/documentation/PineNote/Further_information/Closed_Case_UART.md @@ -13,41 +13,38 @@ Closed case debugging was brought up during a week of community schematic review Dates on this page are relative to UTC-5. -== Background +## Background -When debugging bootloader and kernel initialization on a new hardware platform, a hardware UART is indispensable. The PineNote 1.1 required taking the device apart to access a hardware UART broken out on the motherboard. This did not seem tenable long-term, as developers usually don't like taking their devices apart to debug bootloaders. Therefore, it is important to provide resources to debug the PineNote's boot process such as a hardware UART. +When debugging bootloader and kernel initialization on a new hardware platform, a hardware UART is indispensable. The PineNote 1.1 required taking the device apart to access a hardware UART broken out on the motherboard. This did not seem tenable long-term, as developers usually don’t like taking their devices apart to debug bootloaders. Therefore, it is important to provide resources to debug the PineNote’s boot process such as a hardware UART. -Recent PINE64 devices have included a hardware UART connected to their 3.5mm TRRS jacks through a hardware switch. However, the PineNote doesn't have an audio jack. It also doesn't have a convenient place to put a hardware switch which is accessible without taking the device apart. The case only has the affordance for a single USB-C port. +Recent PINE64 devices have included a hardware UART connected to their 3.5mm TRRS jacks through a hardware switch. However, the PineNote doesn’t have an audio jack. It also doesn’t have a convenient place to put a hardware switch which is accessible without taking the device apart. The case only has the affordance for a single USB-C port. -== Discussion +## Discussion -=== August 15, 2021 +### August 15, 2021 -We decided to ask the PineNote product team to explore USB-C Debug Accessory Mode, where the product changes the USB-C port's personality when both CC1 and CC2 are pulled high. In normal usage, either CC1 or CC2 will be floating since these are the connector rotation pins. When both are detected, there is a very good chance that a debug harness is connected. +We decided to ask the PineNote product team to explore USB-C Debug Accessory Mode, where the product changes the USB-C port’s personality when both CC1 and CC2 are pulled high. In normal usage, either CC1 or CC2 will be floating since these are the connector rotation pins. When both are detected, there is a very good chance that a debug harness is connected. -This decision requires the PineNote motherboard to be able to detect an AND condition between CC1 and CC2 and connect one of the SOC's UARTs to pins on the USB-C connector. In all other cases, the UART should be disconnected. It also requires the PINE64 Store ship a simple one-sided (no magical flipping here, sorry) connector board which breaks out USB 2.0 and UART. +This decision requires the PineNote motherboard to be able to detect an AND condition between CC1 and CC2 and connect one of the SOC’s UARTs to pins on the USB-C connector. In all other cases, the UART should be disconnected. It also requires the PINE64 Store ship a simple one-sided (no magical flipping here, sorry) connector board which breaks out USB 2.0 and UART. -// IRC logs of this discussion can be found at link:/documentation/PineNote/Hardware_Changes/2021-08-15[PineNote/Hardware Changes/Closed Case UART/2021-08-15]. +### August 16-18, 2021 -=== August 16-18, 2021 +There were concerns that cheap USB-C cables have both CC1 and CC2 shorted together to save a wire. This may cause the PineNote to output 3.3v UART to a device that isn’t expecting it, assuming the two are plugged together with a nonstandard cable. This seems unfounded (or not enough of a problem to worry about on a large scale), since the USB-C specification states in section B.2.3.1, "The general concept for setting up a valid connection between a DTS and TS is based on being able to detect the typical USB Type-C termination resistances. However, detecting a Debug Accessory Mode connection requires that both CC pins must detect a pull-up (Rp) or pull-down (Rd) termination. A USB Type-C Cable does not pass both CC wires so a receptacle to receptacle Debug Accessory Mode connection cannot be detected." -There were concerns that cheap USB-C cables have both CC1 and CC2 shorted together to save a wire. This may cause the PineNote to output 3.3v UART to a device that isn't expecting it, assuming the two are plugged together with a nonstandard cable. This seems unfounded (or not enough of a problem to worry about on a large scale), since the USB-C specification states in section B.2.3.1, "The general concept for setting up a valid connection between a DTS and TS is based on being able to detect the typical USB Type-C termination resistances. However, detecting a Debug Accessory Mode connection requires that both CC pins must detect a pull-up (Rp) or pull-down (Rd) termination. A USB Type-C Cable does not pass both CC wires so a receptacle to receptacle Debug Accessory Mode connection cannot be detected." - -There were concerns that checking CC1 and CC2 being pulled high was not strictly to USB-C standard, as detecting them being pulled low is mentioned in the standard. However, detecting a pull-up condition is all that is required. According to the USB-C spec, 'B.2.4.1.5.1 ("UnattachedDeb.SRC Requirements"), a Debug and Test System (DTS) that is a power source must pull CC1/CC2 up, while the Target System (TS) in Unattached.SNK is supposed to pull them low.' In English, this means that we'd only need to detect a pull-up condition on CC1 and CC2, meaning a logical AND between them is a sane solution. +There were concerns that checking CC1 and CC2 being pulled high was not strictly to USB-C standard, as detecting them being pulled low is mentioned in the standard. However, detecting a pull-up condition is all that is required. According to the USB-C spec, 'B.2.4.1.5.1 ("UnattachedDeb.SRC Requirements"), a Debug and Test System (DTS) that is a power source must pull CC1/CC2 up, while the Target System (TS) in Unattached.SNK is supposed to pull them low.' In English, this means that we’d only need to detect a pull-up condition on CC1 and CC2, meaning a logical AND between them is a sane solution. It should be possible to make the UART connection and breakout cable magically flippable by connecting the UART multiple times to the USB-C port. -== Resolution +## Resolution {{< figure src="/documentation/images/PineNote_USB-C_DAM_Schematic_Addition.png" title="This proposed circuitry is added to the PineNote v1.1 schematic" >}} -On August 19, 2021, TL posted the results of the hardware team's efforts. This includes link::File:PineNote USB-C DAM Schematic Addition.png[], shown on this page, as well as the following additional documentation: +On August 19, 2021, TL posted the results of the hardware team’s efforts. This includes link::File:PineNote USB-C DAM Schematic Addition.png[], shown on this page, as well as the following additional documentation: -* https://wiki.pine64.org/wiki/File:NS5S1153-D.PDF[Datasheet for ON Semiconductor NS5S1153 USB-C USB 2.0 and Audio Switch.] +* [Datasheet for ON Semiconductor NS5S1153 USB-C USB 2.0 and Audio Switch.](https://wiki.pine64.org/wiki/File:NS5S1153-D.PDF) Additionally, the hardware team proposed designing a breakout board with pull-up resistors on CC1 and CC2 and the appropriate UART signals routed to headers on the board. Then a developer can bring their own USB TTL adapter. They almost definitely have at least one, or could access one for a low price. -dsimic commented that this proposed layout meant that a Google-designed SuzyQable would *not* work for debugging the PineNote. This was deemed acceptable, as long as it is clear to developers that the combination of PineNote and SuzyQable will not result in any useful debugging abilities. +dsimic commented that this proposed layout meant that a Google-designed SuzyQable would **not** work for debugging the PineNote. This was deemed acceptable, as long as it is clear to developers that the combination of PineNote and SuzyQable will not result in any useful debugging abilities. Caleb commented that the Google Pixel series of devices bring out UART over the SB1 and SB2 pins on the USB-C connector. It was surmised that copying this layout would allow reusing hardware that developers already have, however there are no harnesses on the market that directly break out this interface. Instead, it seems that most developers use a USB-C breakout board and stuff wires in the appropriate place when needed[https://github.com/Peter-Easton/android-debug-cable-howto]. A similar approach could be taken with the proposed PineNote solution if someone did not wish to purchase the breakout board. - diff --git a/content/documentation/PineNote/Further_information/Closed_Case_UART_2021-08-15.adoc b/content/documentation/PineNote/Further_information/Closed_Case_UART_2021-08-15.adoc deleted file mode 100644 index bb80ce71..00000000 --- a/content/documentation/PineNote/Further_information/Closed_Case_UART_2021-08-15.adoc +++ /dev/null @@ -1,575 +0,0 @@ ---- -title: "Closed case UART/2021-08-15" -draft: true # Page is not releasd -menu: - docs: - title: - parent: "PineNote/Further_information" - identifier: "PineNote/Further_information/Closed_Case_UART_2021-08-15" - weight: 6 ---- - -Times are in UTC-5 - -Logs collected from #pinedev on irc.pine64.org - -*Sunday, August 15, 2021* - -7:42:56 PM <@UniversalSuperBox> Anyone know of an existing standard to route 115200 baud serial over USB-C? - -7:43:18 PM looks like mostly binary garbage, rather than assembly - -7:44:09 PM UniversalSuperBox: I don't - -7:44:18 PM <@MartijnBraam> putting the uart on one of the usb-c pairs? :D - -7:44:29 PM <@MartijnBraam> or the google pixel standard - -7:44:47 PM <@konradybcio> or a separate usb for uart, honeycomb style :D - -7:45:08 PM or a magnetic switch :) - -7:46:03 PM or a glass mercury switch - -7:46:09 PM <@UniversalSuperBox> Modifying the case is not an option. - -7:46:34 PM <@MartijnBraam> your hacking it into a product? - -7:46:37 PM there's some "Debug Accessory Mode" for Type-C - -7:46:41 PM <@UniversalSuperBox> No, the PineNote. - -7:47:09 PM <@MartijnBraam> https://wiki.postmarketos.org/wiki/Serial_debugging:Cable_schematics - -7:47:35 PM https://en.wikipedia.org/wiki/USB-C#Debug_Accessory_Mode - -7:48:01 PM "In this mode, all digital circuits are disconnected from the connector, and the 14 bold pins can be used to expose debug related signals (e.g. JTAG interface)." - -7:48:17 PM so, it should be possible to route the serial port - -7:48:19 PM <@MartijnBraam> that's probably the best mode - -7:48:46 PM or even to route microSD lines :) - -7:48:56 PM or both! :) - -7:49:08 PM woo-hoo! :) - -7:49:19 PM <@MartijnBraam> jumpdrive for pinenote :P - -7:49:28 PM <@UniversalSuperBox> microSD was my thought too. - -7:49:47 PM problem solved... maybe :) - -7:50:00 PM <@UniversalSuperBox> There is almost definitely a confounding factor that we don't see yet. - -7:50:17 PM <@UniversalSuperBox> I've been trying to lower expectations all afternoon, so I'm a bit burnt. - -7:51:10 PM there surely needs to be some logic on the host side that allows the "DAM" to work - -7:51:13 PM <@UniversalSuperBox> Probably requires a USB-C controller on the motherboard or something. - -7:51:26 PM <@MartijnBraam> probably - -7:51:29 PM <@UniversalSuperBox> And the anx is basically not an option except for the PinePhone, they can't be bought. - -7:52:03 PM <@MartijnBraam> can't the rk3599 detect the debug attachment condition and toggle a gpio to control a simple mux? - -7:52:23 PM <@UniversalSuperBox> Doesn't help for debugging a bootloader, does it? - -7:52:33 PM <@MartijnBraam> hmm true - -7:53:03 PM <@MartijnBraam> the resistors on the connector could be measured with a MCU hooked into it :P - -8:13:52 PM with some additional logic, this IC might do the trick: https://www.ti.com/lit/ds/symlink/hd3ss3212.pdf - -8:15:58 PM <@UniversalSuperBox> Finding an existing device with such a function would be more useful than finding the building blocks to create it ourselves. - -8:16:06 PM <@UniversalSuperBox> Great artists copy, as it were. - -8:16:34 PM I agree, but I haven't been able to find such device yet - -8:17:31 PM <@UniversalSuperBox> I'm not sure if SuzyQable is such a use or not - -8:22:43 PM <@UniversalSuperBox> Reading the spec, I'm becoming less and less hopeful that the closed-case debugging feature can be enabled through mostly passive components. - -8:23:19 PM <@UniversalSuperBox> - -8:31:29 PM if all that fails, having an internal microSD card slot and both Linux and Windows applications that can use maskrom mode to flash OS images is still an acceptable solution, IMHO - -8:37:33 PM <@UniversalSuperBox> Yes, the SuzyQable is DAM, assuming the offhand comment at https://chromium.googlesource.com/chromiumos/platform/ec/+/HEAD/docs/usb-c.md is true - -8:37:41 PM <@UniversalSuperBox> > Debug accessory mode, e.g. Case Closed Debugging (CCD) - -8:41:45 PM the PineNote already uses this IC for CC control: https://cdn.datasheetspdf.com/pdf-down/W/U/S/WUSB3801-WillSEMI.pdf - -8:42:17 PM which means that it could be replaced with a similar IC that does that and has additional capability to detect DAM - -8:42:28 PM TI seems to have such ICs - -8:42:46 PM (I know, building blocks again, but do we have anything better?) - -8:43:48 PM <@smaeul> dsimic: that chip already has the ability to detect DAM - -8:43:59 PM <@smaeul> the WUSB3801 - -8:44:04 PM I was going to write exactly that :) - -8:44:12 PM page 13 in the datasheet - -8:46:33 PM <@UniversalSuperBox> Many hands make light work — thanks so much for looking at it folks - -8:46:50 PM hm, but it can't drive an output high/low, which means that a driver would need to select the switch position - -8:46:58 PM not an option while booting - -8:47:31 PM some TI ICs can drive a DEBUG output upon detecting DAM - -8:47:49 PM that DEBUG output can go to HD3SS3212 - -8:49:07 PM https://datasheet.lcsc.com/szlcsc/2002291210_Texas-Instruments-Texas-Instruments-TPS25810RVCR_C473913.pdf - -8:49:08 PM <@smaeul> HD3SS3212 is way overkill. that's for SuperSpeed lines - -8:49:33 PM I'm not saying that it must be HD3SS3212, I'm just giving possible examples - -8:50:02 PM <@UniversalSuperBox> Small note that the current parts were selected for availability as much as they were for ergonomics. - -8:50:25 PM <@tl_lim> just looking for a way that bring up console UART thru USB-C port so that developer no need to open up the PineNote back cover - -8:50:34 PM if we agree upon a solution, finding actually available parts is the next step :) - -8:51:02 PM <@tl_lim> Lets not goes wild. - -8:51:06 PM <@UniversalSuperBox> UART is the only thing we feel we really need, microSD is a bonus. We've only got a week to make schematic changes, and big changes are still a bad idea. - -8:51:44 PM <@UniversalSuperBox> It'd be lame, but could we bring 3.3v uart out over SB1 and SB2? - -8:52:13 PM <@UniversalSuperBox> Or would USB-IF scream? - -8:52:32 PM <@MartijnBraam> just add another magnet :P - -8:52:59 PM <@tl_lim> Just a console break-up board - -8:53:26 PM <@tl_lim> the trigger UART console signal out from USB-C port - -8:53:32 PM <@UniversalSuperBox> If you put the PineNote near a CT scanner, it shorts out because all the reed switches trigger - -8:53:54 PM <@tl_lim> s/the/that - -8:54:07 PM it shors out and the UART gets routed out :) - -8:54:17 PM * shorts - -8:54:23 PM <@UniversalSuperBox> Task failed successfully - -8:54:24 PM <@UniversalSuperBox> anyway - -8:54:48 PM <@tl_lim> any simple proposal welcome. - -8:55:06 PM would drilling a hole in the case be an option? - -8:55:09 PM <@smaeul> I think we are talking about the same thing: use a cable/breakout board to trigger DAM, which switches some pins to carry the UART - -8:55:33 PM <@tl_lim> DAM is too much - -8:55:45 PM what other options are there? - -8:55:53 PM <@tl_lim> just need two signals, T😆and RxD - -8:56:14 PM <@MartijnBraam> No headphone jack on the pinenote? - -8:56:20 PM <@tl_lim> no - -8:56:24 PM <@smaeul> but how do you know when to enable UART vs normal USB ? - -8:57:05 PM <@tl_lim> the UART signal only output when this break-out board plug into teh USB-C connector - -8:57:17 PM <@tl_lim> s/output/available - -8:58:02 PM <@tl_lim> normal USB-C cable plug in to USB-C connector, then normal USB behavior - -8:58:06 PM <@UniversalSuperBox> What you're describing is DAM. Has the team already replied that it isn't possible? - -8:59:03 PM <@tl_lim> brb in 30m mins, I wil keep wtach the chat. Just need to have a conference call. - -9:04:20 PM <@tl_lim> back now - -9:05:25 PM <@tl_lim> check out this: https://github.com/ddvk/remarkable2-recovery - -9:06:41 PM that still requires additional logic on the host side - -9:08:17 PM <@UniversalSuperBox> Mhmm, that's using both the USB-C port and the pogo pins on the reMarkable for recovery. Seems like they exposed the iMX's recovery pins on B8 (SBU2) of the USB-C cable. So that step is the same as our magnetic switch. - -9:08:24 PM <@UniversalSuperBox> Then UART comes out the pogo pins, which we don't have. - -9:08:40 PM <@UniversalSuperBox> (along with the iMX flash mode) - -9:09:44 PM how about this: we must have additional logic on the host side (i.e. some board changes), so the primary question should be whether we want to take the route of doing it in the standard way (i.e. DAM), or we want to invent and implement some non-standard way? - -9:10:25 PM yeah, they use pogo pins, which the PineNote doesn't have - -9:10:37 PM <@UniversalSuperBox> I've done more careful reading of the USB-C spec: https://www.usb.org/document-library/usb-type-cr-cable-and-connector-specification-revision-21 - -9:10:40 PM <@smaeul> the willsemi chip looks extremely similar to this chip (same pinout), except the FUSB303B also uses the "ROLE" pin as a debug mode output: https://www.onsemi.com/pdf/datasheet/fusb303b-d.pdf - -9:10:43 PM <@UniversalSuperBox> See appendix B - -9:11:26 PM I can't access the spec - -9:11:28 PM <@tl_lim> purchase TI chip is a nightmere at current severe chip shortage situation. - -9:11:44 PM there might be other ICs that do the same - -9:12:23 PM UniversalSuperBox: could you, please, send the spec? - -9:13:17 PM ah, got it - -9:13:55 PM <@smaeul> tl_lim: any idea about the ON semi chip? it would be pretty close to drop-in compatible. - -9:14:43 PM https://usercontent.irccloud-cdn.com/file/PGeULRZK/USB%20Type-C%20Spec%20R2.1%20-%20May%202021.pdf - -9:14:44 PM <@tl_lim> That is possible, due to mux chip can be simply has other alternative chip or even using MOSFET - -9:15:38 PM <@smaeul> yes, it looks like 3-way (USB 2.0, Audio, UART) switch chips are available - -9:15:40 PM <@tl_lim> PineNote only use USB 2.0 signals - -9:17:19 PM <@UniversalSuperBox> Or audio - -9:17:39 PM <@UniversalSuperBox> But with a three-way switch, our own adapter board would break out UART. - -9:17:41 PM <@Icenowy> are you trying to use Debug Accessory mode? - -9:17:57 PM <@tl_lim> hi icenoway - -9:18:11 PM <@UniversalSuperBox> We're trying to get closed-case UART on a device with only a USB-C port. If that involves DAM, that's what we should use. (re @Icenowy: are you trying to use Debug Accessory mode?) - -9:18:13 PM <@tl_lim> how to implement UART way? - -9:18:27 PM <@Icenowy> well I think DAM too - -9:18:46 PM <@Icenowy> but I have no idea what can implement it - -9:19:41 PM well, we found a few ICs that can do that, or at least should do that, according to the datasheets - -9:19:50 PM <@tl_lim> interest to know more USB-C UART implementation - -9:20:07 PM how about this: we must have additional logic on the host side (i.e. some board changes), so the primary question should be whether we want to take the route of doing it in the standard way (i.e. DAM), or we want to invent and implement some non-standard way? - -9:21:07 PM <@tl_lim> this is just for console UART, don't mind standard or non-standard way - -9:21:26 PM but we need board changes anyway - -9:21:30 PM <@Icenowy> I think there could be some hardware that already utilizes DAM - -9:21:36 PM <@smaeul> dsimic: for sure the standard way is safest, so we should do that if at all possible - -9:21:38 PM <@Icenowy> e.g. Google Pixels w/o 3.5mm ? - -9:21:49 PM smaeul: I agree 100% - -9:22:04 PM <@tl_lim> I may not - -9:22:07 PM <@UniversalSuperBox> The most well-known DAM device is the Chrome OS SuzyQable. that's used on the Pixel 2 and up, and Chromebooks after the Pixelbook - -9:22:24 PM <@Icenowy> well yes, use the standard way can prevent incompatibility with 3rd party Type-C peripherals (re @p64protocolbot: <@smaeul> dsimic: for sure the standard way is safest, so we should do that if at all possible) - -9:22:27 PM <@tl_lim> as stated, I just look for a simple way to bring up UART signal. - -9:23:15 PM <@Icenowy> it could be problematic to try to do things unstandardly (re @tl_lim: as stated, I just look for a simple way to bring up UART signal.) - -9:23:17 PM <@tl_lim> I want to minimize the change as little as possible - -9:23:22 PM <@Icenowy> considering compatibility - -9:23:37 PM I also want to make as few board changes as possible - -9:24:26 PM <@Icenowy> add a switch like what PineTab does? - -9:24:31 PM <@smaeul> UniversalSuperBox: SuzyQable would require a USB<->UART adapter inside the device - -9:24:34 PM <@UniversalSuperBox> Case changes are not possible - -9:24:49 PM <@tl_lim> if the DMA way is simple, I will consider. If not a good way and then developer just need to open the back case. - -9:25:27 PM using DMA would require to add one IC and replace another, basically - -9:25:45 PM <@tl_lim> if TI chip, then NO - -9:25:46 PM (if we can find the right ICs that are currently available) - -9:26:16 PM * DAM - -9:26:16 PM <@Diego> ¿is it posible to out uart in usb-c audio adapter mode? - -9:26:51 PM <@UniversalSuperBox> It is non-standard so it poses at least a minimal risk to anything plugged in to the PineNote. (re @Diego: ¿is it posible to out uart in usb-c audio adapter mode?) - -9:26:55 PM <@smaeul> Diego: that's the same thing as DAM, just with resistors pulled the other way - -9:26:58 PM that would also require some IC to do the switch, and would also be non-standard - -9:27:55 PM <@smaeul> I happen to be looking at ON semi's website at the moment, so there may be other options, but DAM would be doable by replacing the Type-C chip with this: https://www.onsemi.com/pdf/datasheet/fusb303b-d.pdf and the 2-way mux with a 3-way mux like this: https://www.onsemi.com/pdf/datasheet/fsa1153-d.pdf - -9:28:02 PM <@tl_lim> when thinking on UART console thru USB-C, there is assumption is not a standard - -9:28:36 PM <@tl_lim> FUSB303B is a nightmere chip to purchase. - -9:28:55 PM <@smaeul> ok, good to know - -9:29:26 PM <@tl_lim> I have no interest PineNote delay for few months due to we try to do UART thru USB-C. - -9:30:13 PM <@tl_lim> BTW, Pinecil currently using FUSB303 - -9:30:44 PM what's VCC_HALL_3V3 in the schematic? - -9:30:52 PM <@Icenowy> I think it's 302? - -9:30:57 PM <@Icenowy> for Pinecil - -9:31:01 PM <@Icenowy> (and PBP - -9:31:25 PM <@tl_lim> sorry 302, my bad - -9:33:48 PM well, here's a crazy option, if all else fails... add a magnetic switch that cuts off both VDD and VUSD from WUSB3801 and connects RX and TX to the CC1 and CC2 pins - -9:34:21 PM it might even work :) - -9:34:48 PM <@smaeul> it would be better to use the SBU pins -- they are already brought to the mainboard but unused - -9:34:53 PM <@UniversalSuperBox> Nah, if we were going to do something dumb, we could route it over SBU - -9:35:13 PM <@UniversalSuperBox> But even that could end up blowing out a poorly designed device on the other end, or the PineNote itself. - -9:35:22 PM <@UniversalSuperBox> If we're going to dumb options, let's not do it at all - -9:35:38 PM I'm glad that my crazy option is considered dumb :) - -9:35:50 PM <@tl_lim> Just FYI, FUSB303 totally no stock : - -9:36:28 PM I agree, either in the standard way or not at all - -9:36:36 PM <@UniversalSuperBox> Oh, sorry. I should be more careful with my words dsimic - -9:37:03 PM oh no, I'm really happy that it was called dumb :) - -9:37:10 PM <@tl_lim> PineNote just only USB 2, teh USB 3 signal is not use - -9:37:55 PM yeah, but we can't connect something randomly to the unused pins - -9:38:04 PM <@UniversalSuperBox> But the moment some terrible USB hub starts sending 5V over the USB 3.0 pins for "device detection" we kill the RK3566 - -9:38:12 PM <@tl_lim> we just need a simple way the console break out board can trigger mux circuit and output the UART signals - -9:38:55 PM <@UniversalSuperBox> Well, the standard way to do that would be DAM. If both CC1 and CC2 are pulled high (or low), all of the USB-C pins switch to a vendor-specified pinout. - -9:39:12 PM yeah, DAM it is - -9:39:18 PM <@UniversalSuperBox> It's not possible to have CC1 and CC2 pulled during normal use because standard USB-C cables only have one of the two connected. - -9:40:09 PM <@tl_lim> may be using the DAM way to trigger the mux and teh UART sign output from 2 USB 3.0 pin which current not been used - -9:40:17 PM <@smaeul> assuming DAM is not possible, something simpler to control MOSFETs between UART and SBU would work, as long as it didn't trigger accidentally - -9:40:29 PM tl_lim: yes, we could do that with DAM - -9:40:29 PM <@UniversalSuperBox> If that detection of both CC1 and CC2 can be done on an external mux circuit, it seems shaky but usable. - -9:41:03 PM <@tl_lim> prefer to use USB 3 signal due to not in use at PineNote - -9:41:15 PM <@UniversalSuperBox> When DAM is detected, the USB-C port disconnects all standard USB-C signals and connects any signals you want to the specified pins. - -9:41:40 PM it's up to the vendor to use the pins in any way in DAM, but we must not have the UART connected at all when DAM isn't detected - -9:41:42 PM <@UniversalSuperBox> Just like when audio mode is detected, everything is disconnected and the audio stuff is connected. - -9:42:03 PM but we can keep USB 2.0 signals conected in DAM, right? - -9:42:07 PM <@tl_lim> no need to disconnect, just route uart signal to two unused usb3 pins - -9:42:12 PM that's our OEM spec :) - -9:42:26 PM * connected - -9:42:53 PM we're free to connect anything anywhere in DAM, so we can leave the USB 2.0 pins connected, but actually not use them - -9:43:03 PM <@tl_lim> when both CC1 and CC2 detected high - -9:43:17 PM i.e. in the DAM - -9:43:40 PM but we must not have the UART connected at all to the USB pins when DAM isn't detected - -9:43:49 PM <@tl_lim> just 74125 will do - -9:43:52 PM switching UART should be very simple - -9:44:25 PM so we just need an IC that detects DAM, or a way to implemenent that "by hand" - -9:44:39 PM problem solved, right? :) - -9:44:48 PM <@tl_lim> when both cc1 and cc2 not in logic hi, the gate is floating. - -9:45:35 PM but the existing WUSB3801 must not be affected - -9:45:40 PM <@tl_lim> I try to use USB 3 signal due to not use and less compatibility issue - -9:46:14 PM using USB 3.0 pins is fine, but the UART must be disconnected from them when DAM isn't detected - -9:46:24 PM and the USB 2.0 bus an remain connected in DAM - -9:46:28 PM * can - -9:46:41 PM that's our vendor DAM layout : - -9:46:43 PM :) - -9:47:01 PM <@UniversalSuperBox> But would we hit an issue where the existing WUSB3801 would get confused in that state? - -9:47:03 PM does everyone agree on that? - -9:47:06 PM <@tl_lim> no need to flip, the UART console break out board only works one way which component layer face up - -9:47:16 PM <@tl_lim> there is no WUSB3801 - -9:47:22 PM <@UniversalSuperBox> oh, what was it called - -9:47:39 PM there is WUSB3801 in the PineNote already - -9:47:45 PM U9008 - -9:47:49 PM <@tl_lim> code name: Dalton Operation 😊 - -9:48:16 PM anyway, the existing WUSB3801 must not be affected - -9:48:46 PM by the additional CC/DAM detection logic - -9:48:59 PM <@UniversalSuperBox> Yeah, I'm not crazy. The schematic has a WUSB3801 on it. - -9:49:01 PM <@smaeul> The WUSB3801 detects DAM already, so it should be fine as long as our "CC high" detection logic doesn't mess up Rp/Rn detection - -9:49:09 PM right - -9:49:46 PM <@tl_lim> just a simple AND logic on cc1/cc2 and 74125 type for Tx and Rx. - -9:50:15 PM <@UniversalSuperBox> I would guess that WUSB3801 powers VCC_HALL_3V3 so that in a no-battery case, plugging in power with the magnet switch triggered would still cause the RK3566 to go into maskrom flash mode. - -9:50:36 PM VCC_HALL_3V3 is a regulated supply, AFAICT - -9:50:54 PM <@UniversalSuperBox> (to answer the earlier question) - -9:51:05 PM <@smaeul> yeah, it's the other way around. VCCHALL3V3 powers the WUSB3801 - -9:51:33 PM <@UniversalSuperBox> k - -9:52:50 PM <@UniversalSuperBox> > just a simple AND logic on cc1/cc2 and 74125 type for Tx and Rx. - -9:52:58 PM <@UniversalSuperBox> ^ Will this work? - -9:53:27 PM 74152 should work for the UART - -9:53:35 PM * 74125 - -9:54:01 PM <@tl_lim> for MOSFET - -9:54:28 PM <@tl_lim> just give teh design engiener an idea and they figure out 😊 - -9:54:31 PM but for the AND logic on CC1 and CC2, I'm not 100% sure how to do that without affecting the WUSB3801 (U9008) - -9:55:09 PM but the board designer should be able to figure that out :) - -9:56:10 PM <@tl_lim> the worst case is OTG and uart console cannot works at same time, and I don't think this is a big issue - -9:56:21 PM <@UniversalSuperBox> That would honestly be my expected state - -9:57:25 PM <@tl_lim> I just hate to ask developers using tool to open the PineNote backcase when need to access to the console UART. Just think a simple way - -9:57:31 PM <@UniversalSuperBox> and if you really want to ruin your engineers' day, tell them to disconnect all the USB pins and route the microSD pins when CC1 and CC2 are both connected 😈 - -9:58:16 PM <@UniversalSuperBox> But y'know, whatever keeps the cost acceptable works. - -9:58:56 PM when the console cable is connected, nothing else works - -9:59:05 PM that's the expected behavior - -9:59:17 PM I mean, nothing else on the USB connector works :) - -9:59:17 PM <@tl_lim> appreciate and thanks on brainstorming. - -9:59:40 PM <@UniversalSuperBox> It is indeed expected that when CC1 and CC2 are shorted, USB stops working. To the spec, that is an acceptable outcome. - -9:59:51 PM <@UniversalSuperBox> Sorry, s/shorted/pulled high or low/ - -10:00:14 PM <@tl_lim> then I just need to create a small breakout board and give away on the first batch PineNote - -10:00:46 PM also, when the serial console cable is connected, our vendor-defined DAM pinout becomes effective - -10:00:59 PM + some board changes - -10:01:04 PM <@UniversalSuperBox> Right. Having UART on it is most important. Having microSD and USB 2.0 as well would be really cool, but not a requirement. - -10:01:26 PM <@UniversalSuperBox> Depending on how debug you want the debug cable to be :) - -10:01:26 PM we could have microSD as well - -10:01:34 PM <@UniversalSuperBox> could, not needed - -10:01:41 PM yeah - -10:01:53 PM can an internal microSD slot be added? - -10:02:08 PM <@UniversalSuperBox> That's an idea that's been floated. At least a header on the board. - -10:02:37 PM <@tl_lim> microSD needs more pins. - -10:02:54 PM can we pull that idea low or high, so it isn't floating? :) - -10:05:11 PM hmm, just a second, please... - -10:05:42 PM <@tl_lim> I just focus on UART console route out possibility - -10:06:44 PM <@tl_lim> BTW, just lets you knows a lot of cheap USB-C cable in market short cc1 and cc2 together to save a wire. - -10:07:04 PM https://en.wikipedia.org/wiki/USB-C#Debug_Accessory_Mode ... yeah, we can use USB 3.0 pins for UART, and we're left with eight more unused pins to play with - -10:07:56 PM <@tl_lim> who provid ethe cable? - -10:08:19 PM we can have microSD as well, there are enough free pins :) - -10:08:45 PM <@smaeul> ...if you modify the cable connecting the mainboard to the USB board, and the USB board - -10:09:06 PM <@tl_lim> too much job - -10:09:27 PM those cables are costly to modify - -10:09:40 PM <@smaeul> exactly, please consider the scope of what you're asking for, not just if it's possible - -10:09:50 PM of course - -10:09:54 PM <@UniversalSuperBox> Will an internally-mounted breakout cable for microSD be available in the store @tl_lim? - -10:09:58 PM so, UART it is :) - -10:10:22 PM <@tl_lim> just UART - -10:10:44 PM <@UniversalSuperBox> NOT usb-c, only an internal ribbon cable to a microSD card slot (re @UniversalSuperBox: Will an internally-mounted breakout cable for microSD be available in the store @tl_lim?) - -10:10:48 PM <@tl_lim> the people can use a USB-C breakout board that alreasdy available in market - -10:11:35 PM <@UniversalSuperBox> Yes - -10:11:44 PM I don't think that the microSD lines are routed at all on the board - -10:11:56 PM <@tl_lim> currently not - -10:12:08 PM <@UniversalSuperBox> But that's something pgwipeout made clear we should really do - -10:12:22 PM then we'd have no use of a ribbon cable for microSD, without a board redesign - -10:12:30 PM <@tl_lim> the product board will have microSD signal bring to a flex connector - -10:12:40 PM ah, that's fine - -10:13:02 PM <@UniversalSuperBox> Were there any other signals coming out to flex connectors on the final revision? (re @tl_lim: the product board will have microSD signal bring to a flex connector) - -10:14:36 PM <@tl_lim> other will be easter egg hunting games - diff --git a/content/documentation/PineNote/Further_information/Closed_Case_UART_2021-08-15.md b/content/documentation/PineNote/Further_information/Closed_Case_UART_2021-08-15.md new file mode 100644 index 00000000..fb895616 --- /dev/null +++ b/content/documentation/PineNote/Further_information/Closed_Case_UART_2021-08-15.md @@ -0,0 +1,574 @@ +--- +title: "Closed case UART/2021-08-15" +draft: true # Page is not releasd +menu: + docs: + title: + parent: "PineNote/Further_information" + identifier: "PineNote/Further_information/Closed_Case_UART_2021-08-15" + weight: 6 +--- + +Times are in UTC-5 + +Logs collected from #pinedev on irc.pine64.org + +**Sunday, August 15, 2021** + +7:42:56 PM <@UniversalSuperBox> Anyone know of an existing standard to route 115200 baud serial over USB-C? + +7:43:18 PM <megi> looks like mostly binary garbage, rather than assembly + +7:44:09 PM <dsimic> UniversalSuperBox: I don’t + +7:44:18 PM <@MartijnBraam> putting the uart on one of the usb-c pairs? :D + +7:44:29 PM <@MartijnBraam> or the google pixel standard + +7:44:47 PM <@konradybcio> or a separate usb for uart, honeycomb style :D + +7:45:08 PM <dsimic> or a magnetic switch :) + +7:46:03 PM <megi> or a glass mercury switch + +7:46:09 PM <@UniversalSuperBox> Modifying the case is not an option. + +7:46:34 PM <@MartijnBraam> your hacking it into a product? + +7:46:37 PM <dsimic> there’s some "Debug Accessory Mode" for Type-C + +7:46:41 PM <@UniversalSuperBox> No, the PineNote. + +7:47:09 PM <@MartijnBraam> https://wiki.postmarketos.org/wiki/Serial_debugging:Cable_schematics + +7:47:35 PM <dsimic> https://en.wikipedia.org/wiki/USB-C#Debug_Accessory_Mode + +7:48:01 PM <dsimic> "In this mode, all digital circuits are disconnected from the connector, and the 14 bold pins can be used to expose debug related signals (e.g. JTAG interface)." + +7:48:17 PM <dsimic> so, it should be possible to route the serial port + +7:48:19 PM <@MartijnBraam> that’s probably the best mode + +7:48:46 PM <dsimic> or even to route microSD lines :) + +7:48:56 PM <dsimic> or both! :) + +7:49:08 PM <dsimic> woo-hoo! :) + +7:49:19 PM <@MartijnBraam> jumpdrive for pinenote :P + +7:49:28 PM <@UniversalSuperBox> microSD was my thought too. + +7:49:47 PM <dsimic> problem solved... maybe :) + +7:50:00 PM <@UniversalSuperBox> There is almost definitely a confounding factor that we don’t see yet. + +7:50:17 PM <@UniversalSuperBox> I’ve been trying to lower expectations all afternoon, so I’m a bit burnt. + +7:51:10 PM <dsimic> there surely needs to be some logic on the host side that allows the "DAM" to work + +7:51:13 PM <@UniversalSuperBox> Probably requires a USB-C controller on the motherboard or something. + +7:51:26 PM <@MartijnBraam> probably + +7:51:29 PM <@UniversalSuperBox> And the anx is basically not an option except for the PinePhone, they can’t be bought. + +7:52:03 PM <@MartijnBraam> can’t the rk3599 detect the debug attachment condition and toggle a gpio to control a simple mux? + +7:52:23 PM <@UniversalSuperBox> Doesn’t help for debugging a bootloader, does it? + +7:52:33 PM <@MartijnBraam> hmm true + +7:53:03 PM <@MartijnBraam> the resistors on the connector could be measured with a MCU hooked into it :P + +8:13:52 PM <dsimic> with some additional logic, this IC might do the trick: https://www.ti.com/lit/ds/symlink/hd3ss3212.pdf + +8:15:58 PM <@UniversalSuperBox> Finding an existing device with such a function would be more useful than finding the building blocks to create it ourselves. + +8:16:06 PM <@UniversalSuperBox> Great artists copy, as it were. + +8:16:34 PM <dsimic> I agree, but I haven’t been able to find such device yet + +8:17:31 PM <@UniversalSuperBox> I’m not sure if SuzyQable is such a use or not + +8:22:43 PM <@UniversalSuperBox> Reading the spec, I’m becoming less and less hopeful that the closed-case debugging feature can be enabled through mostly passive components. + +8:23:19 PM <@UniversalSuperBox> + +8:31:29 PM <dsimic> if all that fails, having an internal microSD card slot and both Linux and Windows applications that can use maskrom mode to flash OS images is still an acceptable solution, IMHO + +8:37:33 PM <@UniversalSuperBox> Yes, the SuzyQable is DAM, assuming the offhand comment at https://chromium.googlesource.com/chromiumos/platform/ec/+/HEAD/docs/usb-c.md is true + +8:37:41 PM <@UniversalSuperBox> > Debug accessory mode, e.g. Case Closed Debugging (CCD) + +8:41:45 PM <dsimic> the PineNote already uses this IC for CC control: https://cdn.datasheetspdf.com/pdf-down/W/U/S/WUSB3801-WillSEMI.pdf + +8:42:17 PM <dsimic> which means that it could be replaced with a similar IC that does that and has additional capability to detect DAM + +8:42:28 PM <dsimic> TI seems to have such ICs + +8:42:46 PM <dsimic> (I know, building blocks again, but do we have anything better?) + +8:43:48 PM <@smaeul> dsimic: that chip already has the ability to detect DAM + +8:43:59 PM <@smaeul> the WUSB3801 + +8:44:04 PM <dsimic> I was going to write exactly that :) + +8:44:12 PM <dsimic> page 13 in the datasheet + +8:46:33 PM <@UniversalSuperBox> Many hands make light work — thanks so much for looking at it folks + +8:46:50 PM <dsimic> hm, but it can’t drive an output high/low, which means that a driver would need to select the switch position + +8:46:58 PM <dsimic> not an option while booting + +8:47:31 PM <dsimic> some TI ICs can drive a DEBUG output upon detecting DAM + +8:47:49 PM <dsimic> that DEBUG output can go to HD3SS3212 + +8:49:07 PM <dsimic> https://datasheet.lcsc.com/szlcsc/2002291210_Texas-Instruments-Texas-Instruments-TPS25810RVCR_C473913.pdf + +8:49:08 PM <@smaeul> HD3SS3212 is way overkill. that’s for SuperSpeed lines + +8:49:33 PM <dsimic> I’m not saying that it must be HD3SS3212, I’m just giving possible examples + +8:50:02 PM <@UniversalSuperBox> Small note that the current parts were selected for availability as much as they were for ergonomics. + +8:50:25 PM <@tl_lim> just looking for a way that bring up console UART thru USB-C port so that developer no need to open up the PineNote back cover + +8:50:34 PM <dsimic> if we agree upon a solution, finding actually available parts is the next step :) + +8:51:02 PM <@tl_lim> Lets not goes wild. + +8:51:06 PM <@UniversalSuperBox> UART is the only thing we feel we really need, microSD is a bonus. We’ve only got a week to make schematic changes, and big changes are still a bad idea. + +8:51:44 PM <@UniversalSuperBox> It’d be lame, but could we bring 3.3v uart out over SB1 and SB2? + +8:52:13 PM <@UniversalSuperBox> Or would USB-IF scream? + +8:52:32 PM <@MartijnBraam> just add another magnet :P + +8:52:59 PM <@tl_lim> Just a console break-up board + +8:53:26 PM <@tl_lim> the trigger UART console signal out from USB-C port + +8:53:32 PM <@UniversalSuperBox> If you put the PineNote near a CT scanner, it shorts out because all the reed switches trigger + +8:53:54 PM <@tl_lim> s/the/that + +8:54:07 PM <dsimic> it shors out and the UART gets routed out :) + +8:54:17 PM <dsimic> * shorts + +8:54:23 PM <@UniversalSuperBox> Task failed successfully + +8:54:24 PM <@UniversalSuperBox> anyway + +8:54:48 PM <@tl_lim> any simple proposal welcome. + +8:55:06 PM <dsimic> would drilling a hole in the case be an option? + +8:55:09 PM <@smaeul> I think we are talking about the same thing: use a cable/breakout board to trigger DAM, which switches some pins to carry the UART + +8:55:33 PM <@tl_lim> DAM is too much + +8:55:45 PM <dsimic> what other options are there? + +8:55:53 PM <@tl_lim> just need two signals, T😆and RxD + +8:56:14 PM <@MartijnBraam> No headphone jack on the pinenote? + +8:56:20 PM <@tl_lim> no + +8:56:24 PM <@smaeul> but how do you know when to enable UART vs normal USB ? + +8:57:05 PM <@tl_lim> the UART signal only output when this break-out board plug into teh USB-C connector + +8:57:17 PM <@tl_lim> s/output/available + +8:58:02 PM <@tl_lim> normal USB-C cable plug in to USB-C connector, then normal USB behavior + +8:58:06 PM <@UniversalSuperBox> What you’re describing is DAM. Has the team already replied that it isn’t possible? + +8:59:03 PM <@tl_lim> brb in 30m mins, I wil keep wtach the chat. Just need to have a conference call. + +9:04:20 PM <@tl_lim> back now + +9:05:25 PM <@tl_lim> check out this: https://github.com/ddvk/remarkable2-recovery + +9:06:41 PM <dsimic> that still requires additional logic on the host side + +9:08:17 PM <@UniversalSuperBox> Mhmm, that’s using both the USB-C port and the pogo pins on the reMarkable for recovery. Seems like they exposed the iMX’s recovery pins on B8 (SBU2) of the USB-C cable. So that step is the same as our magnetic switch. + +9:08:24 PM <@UniversalSuperBox> Then UART comes out the pogo pins, which we don’t have. + +9:08:40 PM <@UniversalSuperBox> (along with the iMX flash mode) + +9:09:44 PM <dsimic> how about this: we must have additional logic on the host side (i.e. some board changes), so the primary question should be whether we want to take the route of doing it in the standard way (i.e. DAM), or we want to invent and implement some non-standard way? + +9:10:25 PM <dsimic> yeah, they use pogo pins, which the PineNote doesn’t have + +9:10:37 PM <@UniversalSuperBox> I’ve done more careful reading of the USB-C spec: https://www.usb.org/document-library/usb-type-cr-cable-and-connector-specification-revision-21 + +9:10:40 PM <@smaeul> the willsemi chip looks extremely similar to this chip (same pinout), except the FUSB303B also uses the "ROLE" pin as a debug mode output: https://www.onsemi.com/pdf/datasheet/fusb303b-d.pdf + +9:10:43 PM <@UniversalSuperBox> See appendix B + +9:11:26 PM <dsimic> I can’t access the spec + +9:11:28 PM <@tl_lim> purchase TI chip is a nightmere at current severe chip shortage situation. + +9:11:44 PM <dsimic> there might be other ICs that do the same + +9:12:23 PM <dsimic> UniversalSuperBox: could you, please, send the spec? + +9:13:17 PM <dsimic> ah, got it + +9:13:55 PM <@smaeul> tl_lim: any idea about the ON semi chip? it would be pretty close to drop-in compatible. + +9:14:43 PM <UnivrslSuprBox> https://usercontent.irccloud-cdn.com/file/PGeULRZK/USB%20Type-C%20Spec%20R2.1%20-%20May%202021.pdf + +9:14:44 PM <@tl_lim> That is possible, due to mux chip can be simply has other alternative chip or even using MOSFET + +9:15:38 PM <@smaeul> yes, it looks like 3-way (USB 2.0, Audio, UART) switch chips are available + +9:15:40 PM <@tl_lim> PineNote only use USB 2.0 signals + +9:17:19 PM <@UniversalSuperBox> Or audio + +9:17:39 PM <@UniversalSuperBox> But with a three-way switch, our own adapter board would break out UART. + +9:17:41 PM <@Icenowy> are you trying to use Debug Accessory mode? + +9:17:57 PM <@tl_lim> hi icenoway + +9:18:11 PM <@UniversalSuperBox> We’re trying to get closed-case UART on a device with only a USB-C port. If that involves DAM, that’s what we should use. (re @Icenowy: are you trying to use Debug Accessory mode?) + +9:18:13 PM <@tl_lim> how to implement UART way? + +9:18:27 PM <@Icenowy> well I think DAM too + +9:18:46 PM <@Icenowy> but I have no idea what can implement it + +9:19:41 PM <dsimic> well, we found a few ICs that can do that, or at least should do that, according to the datasheets + +9:19:50 PM <@tl_lim> interest to know more USB-C UART implementation + +9:20:07 PM <dsimic> how about this: we must have additional logic on the host side (i.e. some board changes), so the primary question should be whether we want to take the route of doing it in the standard way (i.e. DAM), or we want to invent and implement some non-standard way? + +9:21:07 PM <@tl_lim> this is just for console UART, don’t mind standard or non-standard way + +9:21:26 PM <dsimic> but we need board changes anyway + +9:21:30 PM <@Icenowy> I think there could be some hardware that already utilizes DAM + +9:21:36 PM <@smaeul> dsimic: for sure the standard way is safest, so we should do that if at all possible + +9:21:38 PM <@Icenowy> e.g. Google Pixels w/o 3.5mm ? + +9:21:49 PM <dsimic> smaeul: I agree 100% + +9:22:04 PM <@tl_lim> I may not + +9:22:07 PM <@UniversalSuperBox> The most well-known DAM device is the Chrome OS SuzyQable. that’s used on the Pixel 2 and up, and Chromebooks after the Pixelbook + +9:22:24 PM <@Icenowy> well yes, use the standard way can prevent incompatibility with 3rd party Type-C peripherals (re @p64protocolbot: <@smaeul> dsimic: for sure the standard way is safest, so we should do that if at all possible) + +9:22:27 PM <@tl_lim> as stated, I just look for a simple way to bring up UART signal. + +9:23:15 PM <@Icenowy> it could be problematic to try to do things unstandardly (re @tl_lim: as stated, I just look for a simple way to bring up UART signal.) + +9:23:17 PM <@tl_lim> I want to minimize the change as little as possible + +9:23:22 PM <@Icenowy> considering compatibility + +9:23:37 PM <dsimic> I also want to make as few board changes as possible + +9:24:26 PM <@Icenowy> add a switch like what PineTab does? + +9:24:31 PM <@smaeul> UniversalSuperBox: SuzyQable would require a USB<->UART adapter inside the device + +9:24:34 PM <@UniversalSuperBox> Case changes are not possible + +9:24:49 PM <@tl_lim> if the DMA way is simple, I will consider. If not a good way and then developer just need to open the back case. + +9:25:27 PM <dsimic> using DMA would require to add one IC and replace another, basically + +9:25:45 PM <@tl_lim> if TI chip, then NO + +9:25:46 PM <dsimic> (if we can find the right ICs that are currently available) + +9:26:16 PM <dsimic> * DAM + +9:26:16 PM <@Diego> ¿is it posible to out uart in usb-c audio adapter mode? + +9:26:51 PM <@UniversalSuperBox> It is non-standard so it poses at least a minimal risk to anything plugged in to the PineNote. (re @Diego: ¿is it posible to out uart in usb-c audio adapter mode?) + +9:26:55 PM <@smaeul> Diego: that’s the same thing as DAM, just with resistors pulled the other way + +9:26:58 PM <dsimic> that would also require some IC to do the switch, and would also be non-standard + +9:27:55 PM <@smaeul> I happen to be looking at ON semi’s website at the moment, so there may be other options, but DAM would be doable by replacing the Type-C chip with this: https://www.onsemi.com/pdf/datasheet/fusb303b-d.pdf and the 2-way mux with a 3-way mux like this: https://www.onsemi.com/pdf/datasheet/fsa1153-d.pdf + +9:28:02 PM <@tl_lim> when thinking on UART console thru USB-C, there is assumption is not a standard + +9:28:36 PM <@tl_lim> FUSB303B is a nightmere chip to purchase. + +9:28:55 PM <@smaeul> ok, good to know + +9:29:26 PM <@tl_lim> I have no interest PineNote delay for few months due to we try to do UART thru USB-C. + +9:30:13 PM <@tl_lim> BTW, Pinecil currently using FUSB303 + +9:30:44 PM <dsimic> what’s VCC_HALL_3V3 in the schematic? + +9:30:52 PM <@Icenowy> I think it’s 302? + +9:30:57 PM <@Icenowy> for Pinecil + +9:31:01 PM <@Icenowy> (and PBP + +9:31:25 PM <@tl_lim> sorry 302, my bad + +9:33:48 PM <dsimic> well, here’s a crazy option, if all else fails... add a magnetic switch that cuts off both VDD and VUSD from WUSB3801 and connects RX and TX to the CC1 and CC2 pins + +9:34:21 PM <dsimic> it might even work :) + +9:34:48 PM <@smaeul> it would be better to use the SBU pins -- they are already brought to the mainboard but unused + +9:34:53 PM <@UniversalSuperBox> Nah, if we were going to do something dumb, we could route it over SBU + +9:35:13 PM <@UniversalSuperBox> But even that could end up blowing out a poorly designed device on the other end, or the PineNote itself. + +9:35:22 PM <@UniversalSuperBox> If we’re going to dumb options, let’s not do it at all + +9:35:38 PM <dsimic> I’m glad that my crazy option is considered dumb :) + +9:35:50 PM <@tl_lim> Just FYI, FUSB303 totally no stock : + +9:36:28 PM <dsimic> I agree, either in the standard way or not at all + +9:36:36 PM <@UniversalSuperBox> Oh, sorry. I should be more careful with my words dsimic + +9:37:03 PM <dsimic> oh no, I’m really happy that it was called dumb :) + +9:37:10 PM <@tl_lim> PineNote just only USB 2, teh USB 3 signal is not use + +9:37:55 PM <dsimic> yeah, but we can’t connect something randomly to the unused pins + +9:38:04 PM <@UniversalSuperBox> But the moment some terrible USB hub starts sending 5V over the USB 3.0 pins for "device detection" we kill the RK3566 + +9:38:12 PM <@tl_lim> we just need a simple way the console break out board can trigger mux circuit and output the UART signals + +9:38:55 PM <@UniversalSuperBox> Well, the standard way to do that would be DAM. If both CC1 and CC2 are pulled high (or low), all of the USB-C pins switch to a vendor-specified pinout. + +9:39:12 PM <dsimic> yeah, DAM it is + +9:39:18 PM <@UniversalSuperBox> It’s not possible to have CC1 and CC2 pulled during normal use because standard USB-C cables only have one of the two connected. + +9:40:09 PM <@tl_lim> may be using the DAM way to trigger the mux and teh UART sign output from 2 USB 3.0 pin which current not been used + +9:40:17 PM <@smaeul> assuming DAM is not possible, something simpler to control MOSFETs between UART and SBU would work, as long as it didn’t trigger accidentally + +9:40:29 PM <dsimic> tl_lim: yes, we could do that with DAM + +9:40:29 PM <@UniversalSuperBox> If that detection of both CC1 and CC2 can be done on an external mux circuit, it seems shaky but usable. + +9:41:03 PM <@tl_lim> prefer to use USB 3 signal due to not in use at PineNote + +9:41:15 PM <@UniversalSuperBox> When DAM is detected, the USB-C port disconnects all standard USB-C signals and connects any signals you want to the specified pins. + +9:41:40 PM <dsimic> it’s up to the vendor to use the pins in any way in DAM, but we must not have the UART connected at all when DAM isn’t detected + +9:41:42 PM <@UniversalSuperBox> Just like when audio mode is detected, everything is disconnected and the audio stuff is connected. + +9:42:03 PM <dsimic> but we can keep USB 2.0 signals conected in DAM, right? + +9:42:07 PM <@tl_lim> no need to disconnect, just route uart signal to two unused usb3 pins + +9:42:12 PM <dsimic> that’s our OEM spec :) + +9:42:26 PM <dsimic> * connected + +9:42:53 PM <dsimic> we’re free to connect anything anywhere in DAM, so we can leave the USB 2.0 pins connected, but actually not use them + +9:43:03 PM <@tl_lim> when both CC1 and CC2 detected high + +9:43:17 PM <dsimic> i.e. in the DAM + +9:43:40 PM <dsimic> but we must not have the UART connected at all to the USB pins when DAM isn’t detected + +9:43:49 PM <@tl_lim> just 74125 will do + +9:43:52 PM <dsimic> switching UART should be very simple + +9:44:25 PM <dsimic> so we just need an IC that detects DAM, or a way to implemenent that "by hand" + +9:44:39 PM <dsimic> problem solved, right? :) + +9:44:48 PM <@tl_lim> when both cc1 and cc2 not in logic hi, the gate is floating. + +9:45:35 PM <dsimic> but the existing WUSB3801 must not be affected + +9:45:40 PM <@tl_lim> I try to use USB 3 signal due to not use and less compatibility issue + +9:46:14 PM <dsimic> using USB 3.0 pins is fine, but the UART must be disconnected from them when DAM isn’t detected + +9:46:24 PM <dsimic> and the USB 2.0 bus an remain connected in DAM + +9:46:28 PM <dsimic> * can + +9:46:41 PM <dsimic> that’s our vendor DAM layout : + +9:46:43 PM <dsimic> :) + +9:47:01 PM <@UniversalSuperBox> But would we hit an issue where the existing WUSB3801 would get confused in that state? + +9:47:03 PM <dsimic> does everyone agree on that? + +9:47:06 PM <@tl_lim> no need to flip, the UART console break out board only works one way which component layer face up + +9:47:16 PM <@tl_lim> there is no WUSB3801 + +9:47:22 PM <@UniversalSuperBox> oh, what was it called + +9:47:39 PM <dsimic> there is WUSB3801 in the PineNote already + +9:47:45 PM <dsimic> U9008 + +9:47:49 PM <@tl_lim> code name: Dalton Operation 😊 + +9:48:16 PM <dsimic> anyway, the existing WUSB3801 must not be affected + +9:48:46 PM <dsimic> by the additional CC/DAM detection logic + +9:48:59 PM <@UniversalSuperBox> Yeah, I’m not crazy. The schematic has a WUSB3801 on it. + +9:49:01 PM <@smaeul> The WUSB3801 detects DAM already, so it should be fine as long as our "CC high" detection logic doesn’t mess up Rp/Rn detection + +9:49:09 PM <dsimic> right + +9:49:46 PM <@tl_lim> just a simple AND logic on cc1/cc2 and 74125 type for Tx and Rx. + +9:50:15 PM <@UniversalSuperBox> I would guess that WUSB3801 powers VCC_HALL_3V3 so that in a no-battery case, plugging in power with the magnet switch triggered would still cause the RK3566 to go into maskrom flash mode. + +9:50:36 PM <dsimic> VCC_HALL_3V3 is a regulated supply, AFAICT + +9:50:54 PM <@UniversalSuperBox> (to answer the earlier question) + +9:51:05 PM <@smaeul> yeah, it’s the other way around. VCCHALL3V3 powers the WUSB3801 + +9:51:33 PM <@UniversalSuperBox> k + +9:52:50 PM <@UniversalSuperBox> > just a simple AND logic on cc1/cc2 and 74125 type for Tx and Rx. + +9:52:58 PM <@UniversalSuperBox> ^ Will this work? + +9:53:27 PM <dsimic> 74152 should work for the UART + +9:53:35 PM <dsimic> * 74125 + +9:54:01 PM <@tl_lim> for MOSFET + +9:54:28 PM <@tl_lim> just give teh design engiener an idea and they figure out 😊 + +9:54:31 PM <dsimic> but for the AND logic on CC1 and CC2, I’m not 100% sure how to do that without affecting the WUSB3801 (U9008) + +9:55:09 PM <dsimic> but the board designer should be able to figure that out :) + +9:56:10 PM <@tl_lim> the worst case is OTG and uart console cannot works at same time, and I don’t think this is a big issue + +9:56:21 PM <@UniversalSuperBox> That would honestly be my expected state + +9:57:25 PM <@tl_lim> I just hate to ask developers using tool to open the PineNote backcase when need to access to the console UART. Just think a simple way + +9:57:31 PM <@UniversalSuperBox> and if you really want to ruin your engineers' day, tell them to disconnect all the USB pins and route the microSD pins when CC1 and CC2 are both connected 😈 + +9:58:16 PM <@UniversalSuperBox> But y’know, whatever keeps the cost acceptable works. + +9:58:56 PM <dsimic> when the console cable is connected, nothing else works + +9:59:05 PM <dsimic> that’s the expected behavior + +9:59:17 PM <dsimic> I mean, nothing else on the USB connector works :) + +9:59:17 PM <@tl_lim> appreciate and thanks on brainstorming. + +9:59:40 PM <@UniversalSuperBox> It is indeed expected that when CC1 and CC2 are shorted, USB stops working. To the spec, that is an acceptable outcome. + +9:59:51 PM <@UniversalSuperBox> Sorry, s/shorted/pulled high or low/ + +10:00:14 PM <@tl_lim> then I just need to create a small breakout board and give away on the first batch PineNote + +10:00:46 PM <dsimic> also, when the serial console cable is connected, our vendor-defined DAM pinout becomes effective + +10:00:59 PM <dsimic> + some board changes + +10:01:04 PM <@UniversalSuperBox> Right. Having UART on it is most important. Having microSD and USB 2.0 as well would be really cool, but not a requirement. + +10:01:26 PM <@UniversalSuperBox> Depending on how debug you want the debug cable to be :) + +10:01:26 PM <dsimic> we could have microSD as well + +10:01:34 PM <@UniversalSuperBox> could, not needed + +10:01:41 PM <dsimic> yeah + +10:01:53 PM <dsimic> can an internal microSD slot be added? + +10:02:08 PM <@UniversalSuperBox> That’s an idea that’s been floated. At least a header on the board. + +10:02:37 PM <@tl_lim> microSD needs more pins. + +10:02:54 PM <dsimic> can we pull that idea low or high, so it isn’t floating? :) + +10:05:11 PM <dsimic> hmm, just a second, please... + +10:05:42 PM <@tl_lim> I just focus on UART console route out possibility + +10:06:44 PM <@tl_lim> BTW, just lets you knows a lot of cheap USB-C cable in market short cc1 and cc2 together to save a wire. + +10:07:04 PM <dsimic> https://en.wikipedia.org/wiki/USB-C#Debug_Accessory_Mode ... yeah, we can use USB 3.0 pins for UART, and we’re left with eight more unused pins to play with + +10:07:56 PM <@tl_lim> who provid ethe cable? + +10:08:19 PM <dsimic> we can have microSD as well, there are enough free pins :) + +10:08:45 PM <@smaeul> ...if you modify the cable connecting the mainboard to the USB board, and the USB board + +10:09:06 PM <@tl_lim> too much job + +10:09:27 PM <dsimic> those cables are costly to modify + +10:09:40 PM <@smaeul> exactly, please consider the scope of what you’re asking for, not just if it’s possible + +10:09:50 PM <dsimic> of course + +10:09:54 PM <@UniversalSuperBox> Will an internally-mounted breakout cable for microSD be available in the store @tl_lim? + +10:09:58 PM <dsimic> so, UART it is :) + +10:10:22 PM <@tl_lim> just UART + +10:10:44 PM <@UniversalSuperBox> NOT usb-c, only an internal ribbon cable to a microSD card slot (re @UniversalSuperBox: Will an internally-mounted breakout cable for microSD be available in the store @tl_lim?) + +10:10:48 PM <@tl_lim> the people can use a USB-C breakout board that alreasdy available in market + +10:11:35 PM <@UniversalSuperBox> Yes + +10:11:44 PM <dsimic> I don’t think that the microSD lines are routed at all on the board + +10:11:56 PM <@tl_lim> currently not + +10:12:08 PM <@UniversalSuperBox> But that’s something pgwipeout made clear we should really do + +10:12:22 PM <dsimic> then we’d have no use of a ribbon cable for microSD, without a board redesign + +10:12:30 PM <@tl_lim> the product board will have microSD signal bring to a flex connector + +10:12:40 PM <dsimic> ah, that’s fine + +10:13:02 PM <@UniversalSuperBox> Were there any other signals coming out to flex connectors on the final revision? (re @tl_lim: the product board will have microSD signal bring to a flex connector) + +10:14:36 PM <@tl_lim> other will be easter egg hunting games diff --git a/content/documentation/PineNote/Further_information/Press.adoc b/content/documentation/PineNote/Further_information/Press.md similarity index 98% rename from content/documentation/PineNote/Further_information/Press.adoc rename to content/documentation/PineNote/Further_information/Press.md index 43a93bda..d4bf7bab 100644 --- a/content/documentation/PineNote/Further_information/Press.adoc +++ b/content/documentation/PineNote/Further_information/Press.md @@ -11,7 +11,7 @@ menu: Vector images and pictures for the PineNote you can freely use for projects and press inquiries. Attribute the author if attribution is required via the license (such as CC BY and CC0). -== Backgrounds +## Backgrounds Background ideas: @@ -19,4 +19,3 @@ Background ideas: {{< figure src="/documentation/images/Pinenotebg2.png" title="Author: Funeral, License: CC0" width="400" >}} {{< figure src="/documentation/images/Pinenotebg3.png" title="Author: Funeral, License: CC0" width="400" >}} {{< figure src="/documentation/images/Pinenotebg4.png" title="Author: Funeral, License: CC0" width="400" >}} - diff --git a/content/documentation/PineNote/Further_information/SoC_and_memory_specifications.adoc b/content/documentation/PineNote/Further_information/SoC_and_memory_specifications.md similarity index 63% rename from content/documentation/PineNote/Further_information/SoC_and_memory_specifications.adoc rename to content/documentation/PineNote/Further_information/SoC_and_memory_specifications.md index 6d90dd47..83c12a1c 100644 --- a/content/documentation/PineNote/Further_information/SoC_and_memory_specifications.adoc +++ b/content/documentation/PineNote/Further_information/SoC_and_memory_specifications.md @@ -9,23 +9,23 @@ menu: weight: 2 --- -The PineNote is based on the https://www.rock-chips.com/a/en/products/RK35_Series/2021/0113/1274.html[Rockchip RK3566]. +The PineNote is based on the [Rockchip RK3566](https://www.rock-chips.com/a/en/products/RK35_Series/2021/0113/1274.html). -== CPU Architecture +## CPU Architecture -* https://developer.arm.com/ip-products/processors/cortex-a/cortex-a55[Quad-core ARM Cortex-A55@1.8GHz] +* [Quad-core ARM Cortex-A55@1.8GHz](https://developer.arm.com/ip-products/processors/cortex-a/cortex-a55) * AArch32 for full backwards compatibility with ARMv7 * ARM Neon Advanced SIMD (single instruction, multiple data) support for accelerated media and signal processing computation * Includes VFP hardware to support single and double-precision operations * ARMv8 Cryptography Extensions * Integrated 32KB L1 instruction cache and 32KB L1 data cache per core * 512KB unified system L3 cache -* https://developer.arm.com/ip-products/security-ip/trustzone[TrustZone] technology support -* https://www.cnx-software.com/2020/12/01/rockchip-rk3568-processor-to-power-edge-computing-and-nvr-applications[22nm process, believed to be FD-SOI] +* [TrustZone](https://developer.arm.com/ip-products/security-ip/trustzone) technology support +* [22nm process, believed to be FD-SOI](https://www.cnx-software.com/2020/12/01/rockchip-rk3568-processor-to-power-edge-computing-and-nvr-applications) -== GPU (Graphics Processing Unit) Capabilities +## GPU (Graphics Processing Unit) Capabilities -* https://developer.arm.com/ip-products/graphics-and-multimedia/mali-gpus/mali-g52-gpu[Mali-G52 2EE Bifrost GPU@800MHz] +* [Mali-G52 2EE Bifrost GPU@800MHz](https://developer.arm.com/ip-products/graphics-and-multimedia/mali-gpus/mali-g52-gpu) * 4x Multi-Sampling Anti-Aliasing (MSAA) with minimal performance drop * 128KB L2 Cache configurations * Supports OpenGL ES 1.1, 2.0, and 3.2 @@ -34,14 +34,13 @@ The PineNote is based on the https://www.rock-chips.com/a/en/products/RK35_Serie * Supports 1600 Mpix/s fill rate when at 800MHz clock frequency * Supports 38.4 GLOP/s when at 800MHz clock frequency -== NPU (Neural Processing Unit) Capabilities +## NPU (Neural Processing Unit) Capabilities * Neural network acceleration engine with processing performance of up to 0.8 TOPS * Supports integer 8 and integer 16 convolution operations * Supports the following deep learning frameworks: TensorFlow, TF-lite, Pytorch, Caffe, ONNX, MXNet, Keras, Darknet -== System Memory +## System Memory * RAM Memory: 4GB LPDDR4. * Flash Memory: 128GB eMMC - diff --git a/content/documentation/PineNote/Further_information/Specification.adoc b/content/documentation/PineNote/Further_information/Specification.md similarity index 90% rename from content/documentation/PineNote/Further_information/Specification.adoc rename to content/documentation/PineNote/Further_information/Specification.md index c7cf30f8..1f749d5f 100644 --- a/content/documentation/PineNote/Further_information/Specification.adoc +++ b/content/documentation/PineNote/Further_information/Specification.md @@ -12,19 +12,19 @@ menu: {{< figure src="/documentation/images/PineNote_Pen_function.jpg" width="300" >}} {{< figure src="/documentation/images/PineNote_Cover-1.jpg" width="300" >}} -== General Information +## General Information * Dimensions: 191.1x232.5x7.4mm * Weight: 438g -== Core +## Core * CPU: RK3566 1.8GHz 64-bit quad-core A55 * GPU: MALI G52 2EE * System memory: 4GB LPDDR4 * Flash: 128GB eMMC -== E-ink Display +## E-ink Display * Size: 10.3" * Resolution: 1404x1872 @@ -34,27 +34,26 @@ menu: * Capacitive multi-touch panel * EMR pen digitizer -== Network +## Network * WiFi: 2.4/5GHz 802.11a/b/g/n/ac * Bluetooth: 5.0 -== Audio +## Audio * Built in stereo speakers * 4 x DMIC microphone -== Sensor +## Sensor * G-Sensor for portrait and landscape sensing -== Power +## Power * 4000mAH LiPo battery * DC 5V @ 3A USB-C connector -== Accessories +## Accessories * Optional EMR pen with magnetic attachment (included in the first production batch) * Optional Cover (included in the first production batch) - diff --git a/content/documentation/PineNote/Getting_started.adoc b/content/documentation/PineNote/Getting_started.md similarity index 75% rename from content/documentation/PineNote/Getting_started.adoc rename to content/documentation/PineNote/Getting_started.md index 57e1cfb9..4c942317 100644 --- a/content/documentation/PineNote/Getting_started.adoc +++ b/content/documentation/PineNote/Getting_started.md @@ -13,16 +13,16 @@ menu: This page is a work in progress. Its goals are to help users get their devices up and running while minimizing redundancy with other pages (for example documentation, development), and to synthesize information provided in existing guides. Sections below represent a rough outline and will need to be expanded with details and further instructions. -== Who can contribute? +## Who can contribute? Anyone! Generally, the PineNote is in a very early state, and at least an intermediate level of linux knowledge is probably necessary to be able to do anything at this moment. That said, there are multiple efforts happening at once, and there are a number of ways a person of any skill level can help: -. Join in the ongoing documentation effort -. Help mainline the kernel by testing, fixing bugs. +1. Join in the ongoing documentation effort +2. Help mainline the kernel by testing, fixing bugs. -== Out of the box +## Out of the box -=== Information on software shipped with the Pinenote +### Information on software shipped with the Pinenote As of July 2022, the Pinenote ships with a modified version of android. Under this OS, users interested only in reading ebooks and possibly leaking data to unknown parties may find the device more than satisfactory (read: use caution when handling ultra personal or sensitive data). All hardware items are functional with this OS, though the ability to tune and tweak may be limited by the proprietary nature of some drivers (e.g., the driver for the e-ink display). Ongoing support for this OS is absent, though further community development is possible and hoped for by more than a few users already. Apps preloaded with this OS include: @@ -36,9 +36,9 @@ Apps preloaded with this OS include: Additional apps may be added via the included browser; for example, F-droid can be installed and then used to install further android apps. -The main bar drawn along the screen's top edge features buttons for accessing the following, from left-to-right: +The main bar drawn along the screen’s top edge features buttons for accessing the following, from left-to-right: -* Home (house icon; opens additional bar along the screen's left edge for accessing notes and file management apps) +* Home (house icon; opens additional bar along the screen’s left edge for accessing notes and file management apps) * Refresh screen * Installed Apps (four squares) * Active Apps (bulleted list of three lines) @@ -47,9 +47,9 @@ The main bar drawn along the screen's top edge features buttons for accessing th * Wifi Menu * Bluetooth Stylus Menu (pairing included stylus allows use of hardware buttons on the stylus) -When hidden by an open app, this bar can be made to reappear by swiping downward anywhere along the screen's top edge. +When hidden by an open app, this bar can be made to reappear by swiping downward anywhere along the screen’s top edge. -=== Accessories included in the box +### Accessories included in the box As of July 2022, the Pinenote ships with the following items in the box: @@ -59,34 +59,33 @@ As of July 2022, the Pinenote ships with the following items in the box: * USB-c to micro-b cable (for stylus) * UART dongle -== Linux installation pages +## Linux installation pages -=== Building the Kernel +### Building the Kernel -link:/documentation/PineNote/Development/Building_kernel[PineNote Development/Building Kernel] +[PineNote Development/Building Kernel](/documentation/PineNote/Development/Building_kernel) -=== Booting Linux +### Booting Linux -link:/documentation/PineNote/Development/Booting_Linux[PineNote Development/Booting Linux] +[PineNote Development/Booting Linux](/documentation/PineNote/Development/Booting_Linux) Additional useful references: * https://github.com/DorianRudolph/pinenotes * https://musings.martyn.berlin/dual-booting-the-pinenote-with-android-and-debian -=== OS installation +### OS installation -See link:/documentation/PineNote/Releases[Releases] +See [Releases](/documentation/PineNote/Releases) -=== Configuring OS and apps +### Configuring OS and apps -link:/documentation/PineNote/Development/Apps[PineNote Development/Apps] +[PineNote Development/Apps](/documentation/PineNote/Development/Apps) -== Links to dotfiles, configuration examples, etc. +## Links to dotfiles, configuration examples, etc. * Sway config, Mesa for hardware-acceleration using GPU, KO reader: https://github.com/0cc4m/pinenote-misc * Setting up X: https://musings.martyn.berlin/setting-up-x-on-the-pinenote-in-debian-with-touchscreen-onboard-keyboard-and * Gnome extension: https://github.com/m-weigand/mw_pinenote_misc/tree/main/gnome_extension * Vim config: https://github.com/m-weigand/mw_pinenote_misc/tree/main/vim * Xournal++, nwg and libinput tweaks: https://gitlab.com/hrdl/pinenote-shared/ - diff --git a/content/documentation/PineNote/Introduction.adoc b/content/documentation/PineNote/Introduction.adoc deleted file mode 100644 index f3f976e7..00000000 --- a/content/documentation/PineNote/Introduction.adoc +++ /dev/null @@ -1,24 +0,0 @@ ---- -title: "Introduction" -draft: false -menu: - docs: - title: - parent: "PineNote" - identifier: "PineNote/Introduction" - weight: 1 ---- - -== State of the software - -The PineNote is based on the in 2021 released Rockchip RK3566 SoC. The upstreaming status of the SoC functionality can be found on the link:/documentation/Quartz64/Development#upstreaming_status[Quartz64 development] documentation page of the Quartz64 single-board computer using the same SoC. In the link:/documentation/PineNote/Development/#mainline_development[PineNote development] documentation page you'll find the items specific for the PineNote. - -The early adopter's batch of the PineNote is aimed solely at early adopters - more specifically, the units are solely intended to find their way into the hands of users with extensive Linux experience. If you’re looking to buy a PineNote in the first batch, you must expect to write software for it, not to write notes on it. The software shipping from the factory for the first batch will not be suitable for taking notes, reading e-books, or writing your dissertation. It may not even boot to a graphical environment. - -An early version of a GNOME-based Debian image is available for link:/documentation/PineNote/Releases[testing], but should not be expected to meet general-user readiness. - -== Help and support - -Still have any questions regarding software, shipping, or ordering after reading the documentation? Please don't hesitate to contact the community in the bridged community channels for detailed answers or simply to chat with friendly people in the community! See link:/community/[the community page]. - -Please keep in mind that PINE64 is not like a regular company (see the https://www.pine64.org/philosophy/[PINE64 philosophy]) and that support resources are limited - the best way to get support quickly is to ask in the community chat. Please only contact the PINE64 support directly if questions couldn't be solved via the community chat or the documentation. \ No newline at end of file diff --git a/content/documentation/PineNote/Introduction.md b/content/documentation/PineNote/Introduction.md new file mode 100644 index 00000000..9b88bf35 --- /dev/null +++ b/content/documentation/PineNote/Introduction.md @@ -0,0 +1,24 @@ +--- +title: "Introduction" +draft: false +menu: + docs: + title: + parent: "PineNote" + identifier: "PineNote/Introduction" + weight: 1 +--- + +## State of the software + +The PineNote is based on the in 2021 released Rockchip RK3566 SoC. The upstreaming status of the SoC functionality can be found on the [Quartz64 development](/documentation/Quartz64/Development#upstreaming_status) documentation page of the Quartz64 single-board computer using the same SoC. In the [PineNote development](/documentation/PineNote/Development/#mainline_development) documentation page you’ll find the items specific for the PineNote. + +The early adopter’s batch of the PineNote is aimed solely at early adopters - more specifically, the units are solely intended to find their way into the hands of users with extensive Linux experience. If you’re looking to buy a PineNote in the first batch, you must expect to write software for it, not to write notes on it. The software shipping from the factory for the first batch will not be suitable for taking notes, reading e-books, or writing your dissertation. It may not even boot to a graphical environment. + +An early version of a GNOME-based Debian image is available for [testing](/documentation/PineNote/Releases), but should not be expected to meet general-user readiness. + +## Help and support + +Still have any questions regarding software, shipping, or ordering after reading the documentation? Please don’t hesitate to contact the community in the bridged community channels for detailed answers or simply to chat with friendly people in the community! See [the community page](/community/). + +Please keep in mind that PINE64 is not like a regular company (see the [PINE64 philosophy](https://www.pine64.org/philosophy/)) and that support resources are limited - the best way to get support quickly is to ask in the community chat. Please only contact the PINE64 support directly if questions couldn’t be solved via the community chat or the documentation. diff --git a/content/documentation/PineNote/_index.adoc b/content/documentation/PineNote/_index.adoc deleted file mode 100644 index f5fd37f7..00000000 --- a/content/documentation/PineNote/_index.adoc +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: "PineNote" -draft: false -menu: - docs: - title: - parent: "" - identifier: "PineNote" - weight: ---- - -{{< figure src="/documentation/images/PineNote-1.jpg" title="The PineNote" width="400" >}} - -The *PineNote* is the first hybrid notepad computer device combination of notebook, tablet and e-reader using an e-ink panel. It is derived from the Quartz64 model A SBC and powered by a Rockchip RK3566 quad-core ARM Cortex A55 64-bit processor with a MALI G-52 GPU. - diff --git a/content/documentation/PineNote/_index.md b/content/documentation/PineNote/_index.md new file mode 100644 index 00000000..f0228295 --- /dev/null +++ b/content/documentation/PineNote/_index.md @@ -0,0 +1,14 @@ +--- +title: "PineNote" +draft: false +menu: + docs: + title: + parent: "" + identifier: "PineNote" + weight: +--- + +{{< figure src="/documentation/images/PineNote-1.jpg" title="The PineNote" width="400" >}} + +The **PineNote** is the first hybrid notepad computer device combination of notebook, tablet and e-reader using an e-ink panel. It is derived from the Quartz64 model A SBC and powered by a Rockchip RK3566 quad-core ARM Cortex A55 64-bit processor with a MALI G-52 GPU. diff --git a/content/documentation/PinePhone/Camera.adoc b/content/documentation/PinePhone/Camera.md similarity index 70% rename from content/documentation/PinePhone/Camera.adoc rename to content/documentation/PinePhone/Camera.md index 4a3378eb..1753449a 100644 --- a/content/documentation/PinePhone/Camera.adoc +++ b/content/documentation/PinePhone/Camera.md @@ -11,7 +11,6 @@ menu: The PinePhone has two cameras, OmniVision OV5640 with 5MP (up to 2592 x 1944 pixels) as rear camera and GalaxyCore GC2145 with 2MP (up to 1600 x 1200 pixels) as front camera. -{{< figure src="/documentation/images/Rose.jpg" title="Example picture taken on the PinePhone's rear camera by Martijn Braam using his app _Megapixels_." width="400" >}} - -Further details regarding the camera and the Megapixels camera app can be found on https://blog.brixit.nl/tag/phones/[Martijn's blog]. +{{< figure src="/documentation/images/Rose.jpg" title="Example picture taken on the PinePhone’s rear camera by Martijn Braam using his app _Megapixels_." width="400" >}} +Further details regarding the camera and the Megapixels camera app can be found on [Martijn’s blog](https://blog.brixit.nl/tag/phones/). diff --git a/content/documentation/PinePhone/Further_information/Accessibility.adoc b/content/documentation/PinePhone/Further_information/Accessibility.adoc deleted file mode 100644 index 8d0f6518..00000000 --- a/content/documentation/PinePhone/Further_information/Accessibility.adoc +++ /dev/null @@ -1,55 +0,0 @@ ---- -title: "Accessibility" -draft: false -menu: - docs: - title: - parent: "PinePhone/Further_information" - identifier: "PinePhone/Further_information/Accessibility" - weight: ---- - -Although most accessibility support for the link:/documentation/PinePhone[PinePhone] and link:/documentation/PinePhone_Pro[PinePhone Pro] is implemented in software, the underlying hardware is still relevant. This page discusses some issues and options. - -== Input - -=== Braille - -Various portable devices, such as Apple's iPhone, support braille input. -This uses multi-touch capability on the device's capacitative touch screen. -The gating factors for this input mode are the dimensions of the screen -and the number of contact points that can be distinguished. - -The PinePhone screen has 1440 × 720 pixel resolution and measures 5.95" diagonally. -Assuming that the pixels are square, the screen dimensions should be about 2.68" by 5.37". -This should provide plenty of room for four fingertips on each of the long sides. -Indeed, there is a bit of space left over for control functions, etc. - -=== Keyboard - -The PinePhone can support either Bluetooth or USB keyboards. -So, a device such as the -https://www.jellycomb.com/Foldable-Bluetooth-Keyboard-B003-p798959.html[Jelly Comb Foldable Bluetooth Keyboard B003] -might be a reasonable input device. - -=== Speech - -The PinePhone should be able to accept speech input using either Bluetooth or its built-in microphone. -According to -https://www.seeedstudio.com/blog/2020/01/23/offline-speech-recognition-on-raspberry-pi-4-with-respeaker[this page], -Mozilla's DeepSpeech ASR (automatic speech recognition) engine works pretty well on a Raspberry Pi 4, -using only a single core. -Assuming that the PinePhone's more limited (2 or 3 GB) RAM isn't a constraint, -the phone should be able to produce similar results. - -== Output - -=== Speech - -The PinePhone's processor should have plenty of capacity to generate clear speech. -This can be output using either the 3.5 mm audio jack or a Bluetooth connection. - -== See also - -* https://wiki.postmarketos.org/wiki/Accessibility[postmarketOS wiki: Accessibility] - diff --git a/content/documentation/PinePhone/Further_information/Accessibility.md b/content/documentation/PinePhone/Further_information/Accessibility.md new file mode 100644 index 00000000..38b1aa1b --- /dev/null +++ b/content/documentation/PinePhone/Further_information/Accessibility.md @@ -0,0 +1,54 @@ +--- +title: "Accessibility" +draft: false +menu: + docs: + title: + parent: "PinePhone/Further_information" + identifier: "PinePhone/Further_information/Accessibility" + weight: +--- + +Although most accessibility support for the [PinePhone](/documentation/PinePhone) and [PinePhone Pro](/documentation/PinePhone_Pro) is implemented in software, the underlying hardware is still relevant. This page discusses some issues and options. + +## Input + +### Braille + +Various portable devices, such as Apple’s iPhone, support braille input. +This uses multi-touch capability on the device’s capacitative touch screen. +The gating factors for this input mode are the dimensions of the screen +and the number of contact points that can be distinguished. + +The PinePhone screen has 1440 × 720 pixel resolution and measures 5.95" diagonally. +Assuming that the pixels are square, the screen dimensions should be about 2.68" by 5.37". +This should provide plenty of room for four fingertips on each of the long sides. +Indeed, there is a bit of space left over for control functions, etc. + +### Keyboard + +The PinePhone can support either Bluetooth or USB keyboards. +So, a device such as the +[Jelly Comb Foldable Bluetooth Keyboard B003](https://www.jellycomb.com/Foldable-Bluetooth-Keyboard-B003-p798959.html) +might be a reasonable input device. + +### Speech + +The PinePhone should be able to accept speech input using either Bluetooth or its built-in microphone. +According to +[this page](https://www.seeedstudio.com/blog/2020/01/23/offline-speech-recognition-on-raspberry-pi-4-with-respeaker), +Mozilla’s DeepSpeech ASR (automatic speech recognition) engine works pretty well on a Raspberry Pi 4, +using only a single core. +Assuming that the PinePhone’s more limited (2 or 3 GB) RAM isn’t a constraint, +the phone should be able to produce similar results. + +## Output + +### Speech + +The PinePhone’s processor should have plenty of capacity to generate clear speech. +This can be output using either the 3.5 mm audio jack or a Bluetooth connection. + +## See also + +* [postmarketOS wiki: Accessibility](https://wiki.postmarketos.org/wiki/Accessibility) diff --git a/content/documentation/PinePhone/Further_information/Press.adoc b/content/documentation/PinePhone/Further_information/Press.md similarity index 91% rename from content/documentation/PinePhone/Further_information/Press.adoc rename to content/documentation/PinePhone/Further_information/Press.md index c98cf117..a1c222bb 100644 --- a/content/documentation/PinePhone/Further_information/Press.adoc +++ b/content/documentation/PinePhone/Further_information/Press.md @@ -9,9 +9,9 @@ menu: weight: --- -Vector images and pictures of the link:/documentation/PinePhone[PinePhone] and link:/documentation/PinePhone_Pro[PinePhone Pro] you can freely use for projects and press inquiries. Attribute the author if attribution is required via the license (such as CC BY). +Vector images and pictures of the [PinePhone](/documentation/PinePhone) and [PinePhone Pro](/documentation/PinePhone_Pro) you can freely use for projects and press inquiries. Attribute the author if attribution is required via the license (such as CC BY). -== PinePhone Pro +## PinePhone Pro {{< figure src="/documentation/images/Pinephone_airplane.png" title="Author: Funeral, License: CC0" >}} {{< figure src="/documentation/images/pinephone_unbranded.png" title="Author: Funeral, License: CC0" >}} @@ -25,12 +25,12 @@ Vector images and pictures of the link:/documentation/PinePhone[PinePhone] and l {{< figure src="/documentation/images/Pinephone_double2.png" title="Author: Funeral, License: CC0" >}} {{< figure src="/documentation/images/Pinephone_features.png" title="Author: Funeral, License: CC0" >}} -== PinePhone +## PinePhone {{< figure src="/documentation/images/PinePhone_Beta_Edition.png" title="Beta Edition. Author: Funeral, License: CC0" >}} {{< figure src="/documentation/images/pinephone_unbranded.png" title="Author: Funeral, License: CC0" >}} -== 3D model +## 3D model The 3D model can be used for a wide variety of purposes, for example for product renderings: @@ -49,14 +49,14 @@ Old template: {{< figure src="/documentation/images/Pinephone_rendering_blank.png" title="Author: Funeral, License: CC0" >}} -== Lockscreen template +## Lockscreen template For renderings you can use and modify this template: {{< figure src="/documentation/images/Phosh_lockscreen.png" title="Version with black background. Author: Funeral, License: CC0." >}} {{< figure src="/documentation/images/Phosh_lockscreen_blank.png" title="Version with no background. Author: Funeral, License: CC0." >}} -== Manual and Instructions +## Manual and Instructions {{< figure src="/documentation/images/PinePhoneSides.svg" title="Author: Jedi2light, License: CC BY 4.0" >}} @@ -79,4 +79,3 @@ For renderings you can use and modify this template: {{< figure src="/documentation/images/Pinephone_pogo.png" title="Author: Funeral, License: CC0" >}} {{< figure src="/documentation/images/PinePhone_Serial_Cable.png" title="Author: Funeral, License: CC0" >}} - diff --git a/content/documentation/PinePhone/Further_information/Safety.adoc b/content/documentation/PinePhone/Further_information/Safety.adoc deleted file mode 100644 index ae2bb6ce..00000000 --- a/content/documentation/PinePhone/Further_information/Safety.adoc +++ /dev/null @@ -1,27 +0,0 @@ ---- -title: "Safety" -draft: false -menu: - docs: - title: - parent: "PinePhone/Further_information" - identifier: "PinePhone/Further_information/Safety" - weight: ---- - -== General recommendations - -Due to the greater control the user is having over the device and its software comes also greater responsibility. It is necessary to verify the configuration of the device to make sure that responsible settings are used. The different operating systems may come with non-sane default settings, including SSH with weak password authentication being enabled by default and exposed to the public Internet, the absence of a firewall, default passwords, unencrypted files, too high temperature zones and emergency shutoff values or an enabled root account. The usage of public resources to verify such settings (such as the in case of GNU/Linux, the Arch Linux https://wiki.archlinux.org/title/security[security] wiki page, or the https://wiki.archlinux.org/title/general_recommendations[general recommendations]) as well as the corresponding operating system's or distribution's resources are strongly recommended. - -== Charging safety - -The PinePhone supports up to 5V 3A (15W) Quick Charge, it follows the USB Power Delivery specification. Only compatible phone chargers may be used, charging the phone with incompatible chargers (for example laptop chargers with a higher voltage) is prohibited. Charging the phone releases heat, general safety recommendations must be followed, see the section _Thermal safety_. - -== Thermal safety - -With the Allwinner A64 being an older generation SoC with a large 40nm chip, the phone produces quite some heat with medium or higher use and especially also during charging or when using USB accessories, like a docking station. Measurements to prevent damage to the phone and to its surroundings need to be taken by the user. This includes especially a proper handling of the phone: do not charge the phone in a way where heat builds up around the phone without being able to escape. Especially don't charge your phone under a pillow, blankets, in pockets or bags. Charging the phone produces heat and charging the phone in a way, where the excessive heat can't dispose around the phone poses an immediate fire risk. - -The user might notice that the phone gets warm under usage, compared to phones with more up-to-date hardware. Under normal circumstances these temperatures don't pose a risk while being in the levels within the safe operating temperatures (which lay far beyond the point where components can be too hot to touch). Higher temperatures might especially be experienced on the top side of the screen and on the inside of the phone at the RF shield of the modem. The higher temperature of the RF shield of the modem is commonly caused by the SoC on the opposite side of the mainboard, the RF shield of the modem is used to disperse heat of the SoC. In newer mainboard revisions starting from 1.2a there are also thermal pads on the back cover and between the SoC's RF shield and the screen, dispersing heat on the screen and on the back cover. In the past there has been safety issues regarding thermal safety functions, causing temperature reads to not properly work over an extended period of time, which was causing heat damage in some cases (see the documentation of that issue by the developer Megous http://xnux.eu/log/#018[here] and http://xnux.eu/log/#017[here]). While the developers are working hard to prevent such issues, they can't be excluded under all circumstances. The users are expected to monitor their phones' thermal safety at every point at this state of the software. - -It is highly recommend to update the phone on a regular basis to always get the latest improvements. The default settings to throttle the performance and to shut down the phone when reaching critical temperatures might be set to a too high point depending on the specific usage and usage length. Under GNU/Linux the phone's thermal management behavior can be modified via the Thermal Sysfs driver to achieve lower temperatures and preventing the screen and other components to potentially take damage, see link:/documentation/PinePhone/Software_tricks/Thermal_tweaks[Thermal tweaks] for the details. - diff --git a/content/documentation/PinePhone/Further_information/Safety.md b/content/documentation/PinePhone/Further_information/Safety.md new file mode 100644 index 00000000..9fe2716d --- /dev/null +++ b/content/documentation/PinePhone/Further_information/Safety.md @@ -0,0 +1,26 @@ +--- +title: "Safety" +draft: false +menu: + docs: + title: + parent: "PinePhone/Further_information" + identifier: "PinePhone/Further_information/Safety" + weight: +--- + +## General recommendations + +Due to the greater control the user is having over the device and its software comes also greater responsibility. It is necessary to verify the configuration of the device to make sure that responsible settings are used. The different operating systems may come with non-sane default settings, including SSH with weak password authentication being enabled by default and exposed to the public Internet, the absence of a firewall, default passwords, unencrypted files, too high temperature zones and emergency shutoff values or an enabled root account. The usage of public resources to verify such settings (such as the in case of GNU/Linux, the Arch Linux [security](https://wiki.archlinux.org/title/security) wiki page, or the [general recommendations](https://wiki.archlinux.org/title/general_recommendations)) as well as the corresponding operating system’s or distribution’s resources are strongly recommended. + +## Charging safety + +The PinePhone supports up to 5V 3A (15W) Quick Charge, it follows the USB Power Delivery specification. Only compatible phone chargers may be used, charging the phone with incompatible chargers (for example laptop chargers with a higher voltage) is prohibited. Charging the phone releases heat, general safety recommendations must be followed, see the section _Thermal safety_. + +## Thermal safety + +With the Allwinner A64 being an older generation SoC with a large 40nm chip, the phone produces quite some heat with medium or higher use and especially also during charging or when using USB accessories, like a docking station. Measurements to prevent damage to the phone and to its surroundings need to be taken by the user. This includes especially a proper handling of the phone: do not charge the phone in a way where heat builds up around the phone without being able to escape. Especially don’t charge your phone under a pillow, blankets, in pockets or bags. Charging the phone produces heat and charging the phone in a way, where the excessive heat can’t dispose around the phone poses an immediate fire risk. + +The user might notice that the phone gets warm under usage, compared to phones with more up-to-date hardware. Under normal circumstances these temperatures don’t pose a risk while being in the levels within the safe operating temperatures (which lay far beyond the point where components can be too hot to touch). Higher temperatures might especially be experienced on the top side of the screen and on the inside of the phone at the RF shield of the modem. The higher temperature of the RF shield of the modem is commonly caused by the SoC on the opposite side of the mainboard, the RF shield of the modem is used to disperse heat of the SoC. In newer mainboard revisions starting from 1.2a there are also thermal pads on the back cover and between the SoC’s RF shield and the screen, dispersing heat on the screen and on the back cover. In the past there has been safety issues regarding thermal safety functions, causing temperature reads to not properly work over an extended period of time, which was causing heat damage in some cases (see the documentation of that issue by the developer Megous [here](http://xnux.eu/log/#018) and [here](http://xnux.eu/log/#017)). While the developers are working hard to prevent such issues, they can’t be excluded under all circumstances. The users are expected to monitor their phones' thermal safety at every point at this state of the software. + +It is highly recommend to update the phone on a regular basis to always get the latest improvements. The default settings to throttle the performance and to shut down the phone when reaching critical temperatures might be set to a too high point depending on the specific usage and usage length. Under GNU/Linux the phone’s thermal management behavior can be modified via the Thermal Sysfs driver to achieve lower temperatures and preventing the screen and other components to potentially take damage, see [Thermal tweaks](/documentation/PinePhone/Software_tricks/Thermal_tweaks) for the details. diff --git a/content/documentation/PinePhone/Further_information/Sensors_and_navigation.adoc b/content/documentation/PinePhone/Further_information/Sensors_and_navigation.md similarity index 75% rename from content/documentation/PinePhone/Further_information/Sensors_and_navigation.adoc rename to content/documentation/PinePhone/Further_information/Sensors_and_navigation.md index d4433c36..31eeedf3 100644 --- a/content/documentation/PinePhone/Further_information/Sensors_and_navigation.adoc +++ b/content/documentation/PinePhone/Further_information/Sensors_and_navigation.md @@ -11,7 +11,7 @@ menu: {{% docs/construction %}} -== Overview +## Overview The PinePhone contains various components that enable or aid orientation and navigation tasks. @@ -21,13 +21,11 @@ The PinePhone contains various components that enable or aid orientation and nav {{< figure src="/documentation/images/Pp_sensors_block.png" title="PinePhone navigation sensors" width="500" >}} -== Hardware +## Hardware -=== Quectel EG25G Modem / GNSS Receiver +### Quectel EG25G Modem / GNSS Receiver -[TODO: add interfaces, constraints, antenna location] - -=== Invensense/TDK MPU6050 IMU +### Invensense/TDK MPU6050 IMU Key features: @@ -35,7 +33,7 @@ Key features: * Digital-output triple-axis accelerometer with a programmable full scale range of ±2g, ±4g, ±8g and ±16g * 400 kHz Fast Mode I2C for communicating with all registers -=== ST LIS3MDL Magnetometer/Compass +### ST LIS3MDL Magnetometer/Compass Key features: @@ -43,7 +41,7 @@ Key features: * 16-bit data output * ... -=== VTC AF8133J Magnetometer/Compass +### VTC AF8133J Magnetometer/Compass Key features: @@ -51,26 +49,25 @@ Key features: * 400Hz max. update rate * 16-bit data output -=== Sensor reference frames +### Sensor reference frames -The sensors are mounted on the PinePhone's mainboard in different positions and orientations. For the purpose of orientation and navigation it is important to know the relationship between the sensor coordinate frames and the body frame of the phone. +The sensors are mounted on the PinePhone’s mainboard in different positions and orientations. For the purpose of orientation and navigation it is important to know the relationship between the sensor coordinate frames and the body frame of the phone. {{< figure src="/documentation/images/pp_coordinates.png" title="PinePhone sensor coordinates systems (red) and body coordinate system (cyan)" width="500" >}} -As a basis for software development, a common body coordinate system has to be established along with it's relation to a world coordinate system. "iio-sensor-proxy expects the (sensor) readings to match those defined in the Linux IIO documentation, the Windows Integrating Motion and Orientation Sensors whitepaper, and the Android sensor documentation"[ref]. To transform the sensor coordinate systems into body coordinates, 'mount matrices' have to be defined. +As a basis for software development, a common body coordinate system has to be established along with it’s relation to a world coordinate system. "iio-sensor-proxy expects the (sensor) readings to match those defined in the Linux IIO documentation, the Windows Integrating Motion and Orientation Sensors whitepaper, and the Android sensor documentation"[ref]. To transform the sensor coordinate systems into body coordinates, 'mount matrices' have to be defined. TODO: explain body reference choices, north-east-down world coordinates -== Software +## Software -=== Drivers +### Drivers TODO: i2cdev, linux-iio, support matrix * EG25G: provides either UART or USB based interfaces for NMEA data -** /dev/ttyUSB2: AT command interface -** /dev/ttyUSB1: default NMEA data output - + * /dev/ttyUSB2: AT command interface + * /dev/ttyUSB1: default NMEA data output * MPU6050:inv_mpu6050, inv_mpu6050_i2c, industrialio iio:device2: mpu6050 (buffer capable) @@ -137,10 +134,9 @@ TODO: i2cdev, linux-iio, support matrix attr 0: data_available value: 0 attr 1: watermark value: 1 Current trigger: trigger1(mpu6050-dev2) - * LIS3MDL: st_sensors, st_sensors_i2c, st_magn, st_magn_i2c, industrialio - + iio:device1: lis3mdl (buffer capable) 4 channels found: magn_x: (input, index: 0, format: le:S16/16>>0) @@ -168,7 +164,7 @@ TODO: i2cdev, linux-iio, support matrix attr 1: watermark value: 1 Current trigger: trigger0(lis3mdl-trigger) -=== Userspace services +### Userspace services TODO: ... @@ -178,43 +174,40 @@ TODO: ... * iio-sensor-proxy * geoclue -=== Tools/Utilities +### Tools/Utilities TODO: minicom, gpsmon, monitor-sensor, iio-utils... -=== Applications +### Applications TODO: pure-maps, navit, ... -== Development +## Development TODO: Open issues, tasks, projects -=== Open issues +### Open issues * AGPS integration -** how to enable/disable the service? -** update triggers? -*** network connectivity? -*** agps data valid? - + * how to enable/disable the service? + * update triggers? + * network connectivity? + * agps data valid? * Raw magnetometer handling -** Issue: Support polling/non-compensated magnetometers in iio-sensor-proxy -*** https://gitlab.freedesktop.org/hadess/iio-sensor-proxy/-/issues/310 -*** https://gitlab.freedesktop.org/hadess/iio-sensor-proxy/-/merge_requests/316 (needs more work) -** Issue: raw magnetometer calibration implementation -**** https://appelsiini.net/2018/calibrate-magnetometer/ - + * Issue: Support polling/non-compensated magnetometers in iio-sensor-proxy + * https://gitlab.freedesktop.org/hadess/iio-sensor-proxy/-/issues/310 + * https://gitlab.freedesktop.org/hadess/iio-sensor-proxy/-/merge_requests/316 (needs more work) + * Issue: raw magnetometer calibration implementation + * https://appelsiini.net/2018/calibrate-magnetometer/ * GPS/Compass App -** TODO: specification + * TODO: specification -=== Frameworks/APIs/... +### Frameworks/APIs/... * Modem Manager location API -** https://www.freedesktop.org/software/ModemManager/api/latest/gdbus-org.freedesktop.ModemManager1.Modem.Location.html + * https://www.freedesktop.org/software/ModemManager/api/latest/gdbus-org.freedesktop.ModemManager1.Modem.Location.html * oFono location API (experimental?) -** https://git.kernel.org/pub/scm/network/ofono/ofono.git/tree/doc/location-reporting-api.txt + * https://git.kernel.org/pub/scm/network/ofono/ofono.git/tree/doc/location-reporting-api.txt * geoclue API -** https://www.freedesktop.org/software/geoclue/docs/gdbus-org.freedesktop.GeoClue2.Location.html -** https://www.freedesktop.org/software/geoclue/docs/libgeoclue/GClueLocation.html - + * https://www.freedesktop.org/software/geoclue/docs/gdbus-org.freedesktop.GeoClue2.Location.html + * https://www.freedesktop.org/software/geoclue/docs/libgeoclue/GClueLocation.html diff --git a/content/documentation/PinePhone/Further_information/Ubuntu_Touch_design.adoc b/content/documentation/PinePhone/Further_information/Ubuntu_Touch_design.md similarity index 59% rename from content/documentation/PinePhone/Further_information/Ubuntu_Touch_design.adoc rename to content/documentation/PinePhone/Further_information/Ubuntu_Touch_design.md index b4caf8a1..56551a58 100644 --- a/content/documentation/PinePhone/Further_information/Ubuntu_Touch_design.adoc +++ b/content/documentation/PinePhone/Further_information/Ubuntu_Touch_design.md @@ -9,7 +9,7 @@ menu: weight: --- -== Why this page +## Why this page Preamble by the author: @@ -23,46 +23,46 @@ UniversalSuperBox was willing to provide us with some answers, and as always, pr As I think it would be sad to leave such valuable info in the backlog of the chat, I would like to post it here as well, and try to make the most sense out of them. I hope many will add their conclusions, so we all learn. Later on, I hope we can look into other differences of the UBports system, and look into the specific solutions other operation systems found for some common problems. -== Chat log +## Chat log So first, UniversalSuperBox chat log: - UniversalSuperBox: abcde, there are 10 partitions on the device. Loader, scr, persist, boot_a, boot_b, recovery_a, recovery_b, cache, system, data. - UniversalSuperBox: loader is the u-boot bootloader. It's not at sector 16 like on most OSes so that a full GPT table can be available at any time. - UniversalSuperBox: scr stores the boot.scr script which allows the system to boot at all - UniversalSuperBox: persist is a 5M-ish partition for storing things that need to persist between reboots. Right now that's exclusively the reboot-recovery file which tells the bootscript to boot to the recovery partition (later we'll probably put the selected boot slot there) - UniversalSuperBox: boot stores the kernel, dtb, initramfs, and kernel modules. There is an A and B boot partition. This is for A/B slot booting someday. - UniversalSuperBox: recovery stores the Jumpdrive-based recovery image which is used for updating the system and recovering when things go sideways. - UniversalSuperBox: There is an A and B slot. - UniversalSuperBox: https://github.com/ubports/jumpdrive - UniversalSuperBox: cache and system are the same size. System is where the root filesystem is stored. It is mounted as / in a booted system. - UniversalSuperBox: Cache stores update files which are applied to the system partition by recovery on an update. - UniversalSuperBox: Cache and system are the same size so that cache can be system_a and system can be system_b someday - UniversalSuperBox: Data stores all of the writable data on the system. + UniversalSuperBox: abcde, there are 10 partitions on the device. Loader, scr, persist, boot_a, boot_b, recovery_a, recovery_b, cache, system, data. + UniversalSuperBox: loader is the u-boot bootloader. It's not at sector 16 like on most OSes so that a full GPT table can be available at any time. + UniversalSuperBox: scr stores the boot.scr script which allows the system to boot at all + UniversalSuperBox: persist is a 5M-ish partition for storing things that need to persist between reboots. Right now that's exclusively the reboot-recovery file which tells the bootscript to boot to the recovery partition (later we'll probably put the selected boot slot there) + UniversalSuperBox: boot stores the kernel, dtb, initramfs, and kernel modules. There is an A and B boot partition. This is for A/B slot booting someday. + UniversalSuperBox: recovery stores the Jumpdrive-based recovery image which is used for updating the system and recovering when things go sideways. + UniversalSuperBox: There is an A and B slot. + UniversalSuperBox: https://github.com/ubports/jumpdrive + UniversalSuperBox: cache and system are the same size. System is where the root filesystem is stored. It is mounted as / in a booted system. + UniversalSuperBox: Cache stores update files which are applied to the system partition by recovery on an update. + UniversalSuperBox: Cache and system are the same size so that cache can be system_a and system can be system_b someday + UniversalSuperBox: Data stores all of the writable data on the system. Unaddressed part: - UniversalSuperBox: The system is set up on boot by the initramfs at https://github.com/ubports/initramfs-tools-ubuntu-touch/tree/xenial_-_edge_-_pine. - UniversalSuperBox: Specifically, look at the halium script in the scripts folder - UniversalSuperBox: I know it's called halium. It is not exclusively for halium. - UniversalSuperBox: The kernel, initramfs, and such are all pulled together by the scripts inside https://gitlab.com/ubports/community-ports/pinephone - UniversalSuperBox: As well as u-boot and the rest - UniversalSuperBox: They are all placed into a device image (.tar.xz) which is applied by the system-image upgrader after the ubports image is applied. - UniversalSuperBox: All of that logic is inside a script in the jumpdrive repo - UniversalSuperBox: But you can find the other constituent parts of a single image (or a delta) at https://system-image.ubports.com/16.04/arm64/mainline/devel/pinephone/index.json - UniversalSuperBox: The system-image client is also https://github.com/ubports/system-image - UniversalSuperBox: And the server files are built by https://github.com/ubports/system-image-server - UniversalSuperBox: There are several problems that make me cautious to release a stable image right now. The most important one is https://bugreports.qt.io/browse/QTBUG-85802 - UniversalSuperBox: Which causes the browser to crash for seemingly no reason and it's really annoying. There are also issues with keeping time which are unacceptable and must be fixed. - UniversalSuperBox: There is ongoing work to enable the camera and GPS is working at least somewhat some of the time now. All in devel. - -== Analysis + UniversalSuperBox: The system is set up on boot by the initramfs at https://github.com/ubports/initramfs-tools-ubuntu-touch/tree/xenial_-_edge_-_pine. + UniversalSuperBox: Specifically, look at the halium script in the scripts folder + UniversalSuperBox: I know it's called halium. It is not exclusively for halium. + UniversalSuperBox: The kernel, initramfs, and such are all pulled together by the scripts inside https://gitlab.com/ubports/community-ports/pinephone + UniversalSuperBox: As well as u-boot and the rest + UniversalSuperBox: They are all placed into a device image (.tar.xz) which is applied by the system-image upgrader after the ubports image is applied. + UniversalSuperBox: All of that logic is inside a script in the jumpdrive repo + UniversalSuperBox: But you can find the other constituent parts of a single image (or a delta) at https://system-image.ubports.com/16.04/arm64/mainline/devel/pinephone/index.json + UniversalSuperBox: The system-image client is also https://github.com/ubports/system-image + UniversalSuperBox: And the server files are built by https://github.com/ubports/system-image-server + UniversalSuperBox: There are several problems that make me cautious to release a stable image right now. The most important one is https://bugreports.qt.io/browse/QTBUG-85802 + UniversalSuperBox: Which causes the browser to crash for seemingly no reason and it's really annoying. There are also issues with keeping time which are unacceptable and must be fixed. + UniversalSuperBox: There is ongoing work to enable the camera and GPS is working at least somewhat some of the time now. All in devel. + +## Analysis So we can at first learn some basics, the existence of 10 partitions on the flashable image. This explains the need for the bmaptools use, as if you need to separate things so well, normally you actually have to -time consuming- write the whole image if using dd and then resize the rest to gain usable free space, and bmaptools can write partitions where they are needed, and just mark the empty parts as free. This is why bmaptools is so much faster, and it even uses some checks to secure the image and the flashing process. Dd only provides blind block copying, no regard for tests etc. My conclusion about finding out about bmaptools was that it might be a good idea to move away drom dd wherever we can. That is a lot of info in such a short line -Then there is a list of all the partitions: "Loader, scr, persist, boot_a, boot_b, recovery_a, recovery_b, cache, system, data." Each of the names provides an indication about its function, but let's try to make a nice list out of it here on the documentation: +Then there is a list of all the partitions: "Loader, scr, persist, boot_a, boot_b, recovery_a, recovery_b, cache, system, data." Each of the names provides an indication about its function, but let’s try to make a nice list out of it here on the documentation: -=== UBports Partition list +### UBports Partition list #loader #scr @@ -77,11 +77,11 @@ Then there is a list of all the partitions: "Loader, scr, persist, boot_a, boot_ It is immediately clear that this is a well thought out system, protecting against a lot of possible mishaps. Some sound like they should clearly be usable to a lot of other distributions. But the next info clears up what each partition does, so lets try to add that to the list. -=== UBports Partitions and their functions +### UBports Partitions and their functions -* loader: loader is the u-boot bootloader. It's not at sector 16 like on most operating systems so that a full GPT table can be available at any time. +* loader: loader is the u-boot bootloader. It’s not at sector 16 like on most operating systems so that a full GPT table can be available at any time. * scr: scr stores the boot.scr script which allows the system to boot at all -* persist: persist is a 5M-ish partition for storing things that need to persist between reboots. Right now that's exclusively the reboot-recovery file which tells the bootscript to boot to the recovery partition (later we'll probably put the selected boot slot there) +* persist: persist is a 5M-ish partition for storing things that need to persist between reboots. Right now that’s exclusively the reboot-recovery file which tells the bootscript to boot to the recovery partition (later we’ll probably put the selected boot slot there) * boot_a: boot stores the kernel, dtb, initramfs, and kernel modules. There is an A and B boot partition. This is for A/B slot booting someday. * boot_b: * recovery_a: recovery stores the Jumpdrive-based recovery image which is used for updating the system and recovering when things go sideways. There is an A and B slot. https://github.com/ubports/jumpdrive @@ -93,4 +93,3 @@ It is immediately clear that this is a well thought out system, protecting again We can see immediately that all the partitions have a distinct use case, and from their existence alone we can deduce a lot. there seems to be only one partition that is used for the user to store the data in. It is the last of them, called data, and is expanded after writing the image, to fill the rest of the available space. This is left alone during upgrades, so we can place our personal stuff in there, and backup just our that. Also there is a lot of talk about A and B partitions. They ensure that even if things go horribly wrong, there are ways to get back in a usable state. - diff --git a/content/documentation/PinePhone/Hardware_fixes_and_mods/Hardware_issues.adoc b/content/documentation/PinePhone/Hardware_fixes_and_mods/Hardware_issues.md similarity index 57% rename from content/documentation/PinePhone/Hardware_fixes_and_mods/Hardware_issues.adoc rename to content/documentation/PinePhone/Hardware_fixes_and_mods/Hardware_issues.md index 56945d5a..7762c388 100644 --- a/content/documentation/PinePhone/Hardware_fixes_and_mods/Hardware_issues.adoc +++ b/content/documentation/PinePhone/Hardware_fixes_and_mods/Hardware_issues.md @@ -12,36 +12,35 @@ menu: {{% docs/construction %}} -== Main Board +## Main Board -=== Sim Reader +### Sim Reader The sim reader may fail to read a sim card (reporting 'sim-missing' in mmcli), possibly due to deformed pins (if you put your sim adapter in without a sim), or due to a warped sim card adapter. A possible solution is to bend the pins back (using a plastic spudger), and/or use a different sim card adapter (which your carrier may provide to you). -== USB-C Side Board +## USB-C Side Board -All USB-C Side Board issues can be fixed by replacing the https://pine64.com/product/pinephone-usb-c-side-board/[USB-C Side Board] +All USB-C Side Board issues can be fixed by replacing the [USB-C Side Board](https://pine64.com/product/pinephone-usb-c-side-board/) -=== Internal Microphone +### Internal Microphone The microphone may stop working or occasionally stop working or give off static when power is plugged in. -One possible fix is to User:Earboxer/Shim_U101|shim U101 (as seen on the https://files.pine64.org/doc/PinePhone/PinePhone%20USB-C%20small%20board%20bottom%20placement%20v1.0%2020190730.pdf[back side of the USB-C Side Board]) with a piece of paper or cardboard. +One possible fix is to User:Earboxer/Shim_U101|shim U101 (as seen on the [back side of the USB-C Side Board](https://files.pine64.org/doc/PinePhone/PinePhone%20USB-C%20small%20board%20bottom%20placement%20v1.0%2020190730.pdf)) with a piece of paper or cardboard. -=== Bottom Speaker +### Bottom Speaker The bottom speaker may stop working, especially if you have recently mishandled the USB-C Side Board, stressing the point of connection between the circuit board and the circuit flex. This can be fixed by touching up the solder between the two. -== Uncategorized Issues +## Uncategorized Issues Place new issues here. -== See Also - -* link:/documentation/PinePhone/Hardware_fixes_and_mods[PinePhone] -* link:/documentation/PinePhone/Revisions/PinePhone_v1.2[PinePhone v1.2] -* link:/documentation/PinePhone/Revisions/PinePhone_v1.2a/#known_issues[PinePhone v1.2a] -* link:/documentation/PinePhone/Revisions/PinePhone_v1.2b/#known_issues[PinePhone v1.2b] +## See Also +* [PinePhone](/documentation/PinePhone/Hardware_fixes_and_mods) +* [PinePhone v1.2](/documentation/PinePhone/Revisions/PinePhone_v1.2) +* [PinePhone v1.2a](/documentation/PinePhone/Revisions/PinePhone_v1.2a/#known_issues) +* [PinePhone v1.2b](/documentation/PinePhone/Revisions/PinePhone_v1.2b/#known_issues) diff --git a/content/documentation/PinePhone/Hardware_fixes_and_mods/Modifications_and_repairs.adoc b/content/documentation/PinePhone/Hardware_fixes_and_mods/Modifications_and_repairs.adoc deleted file mode 100644 index b262b2b1..00000000 --- a/content/documentation/PinePhone/Hardware_fixes_and_mods/Modifications_and_repairs.adoc +++ /dev/null @@ -1,77 +0,0 @@ ---- -title: "Modifications and repairs" -draft: false -hidden: true -menu: - docs: - title: - parent: "PinePhone/Hardware_fixes_and_mods" - identifier: "PinePhone/Hardware_fixes_and_mods/Modifications_and_repairs" - weight: ---- - -== Replacing the mainboard - -The mainboard can be replaced if it is faulty. The replacement board does not have an operating system pre-installed, to test if everything is working after swapping the mainboard a flashed microSD card is required. - -TIP: Replacement boards come with an empty eMMC, which means that trying to boot from them looks like the board is faulty (no LEDs, no screen, no reaction of the phone). Please boot an operating System from a microSD card. - -Prior to replacing your PinePhone’s mainboard please read the steps outlined in bullet points below and watch the attached video. - -. You’ll need a small Phillips screwdriver and a prying tool to swap out the mainboard. -. Remove the PinePhone’s back cover. See your quick start guide for details. -. Remove the battery as well as any inserted SD and SIM cards. -. Unscrew all 15 Phillips head screws around the midframe of the phone. -. Gently pry up the midframe using a guitar pick or credit card corner. It is easiest to separate the midframe at one of the bottom edges. Work your way around all the sides of the phone until the midframe separates from the phone’s body. -. Detach all ribbon cables and "Lego" connectors. List of things to detach: 1) two "Lego" connects at the bottom of the mainboard. 2) u.FL antenna connect and touchscreen digitizer on PCD left side. 3) LCD ribbon cable top of mainboard, next to audio and UART jack. -. Pry the mainboard up gently from the left-hand side. -. Remove front and main cameras and reset them into the new mainboard. -. Check that the rubber proximity sensor housing is in the chassis, not stuck to the removed mainboard. -. Place the new mainboard in the chassis, hooking in on the plastic tabs on left side and pressing down firmly on opposite side, and follow the steps (7-2) in reverse. When reattaching the midframe take care that no cables are out of place or trapped, as they may be damaged when tightening screws. - -After swapping the mainboard the phone won't boot as there is no OS on the replacement board's eMMC preinstalled. To boot an OS insert a flashed SD card. - -A video tutorial by _Martijn Braam_ can be found here (or alternatively a video tutorial by user _brigadan_ with additional notes about the camera swap and proximity sensor isolator https://www.youtube.com/watch?v=J3AJEF7akkw[here]): - -{{< figure src="/documentation/images/Pinephone_martijn_pcb_replacement.png" width="600" >}} - -=== Flashing the ANX firmware - -==== Method 1 - -After swapping the mainboard the ANX7688 chip has to be flashed for full USB functionality. - -Under GNU/Linux this can be done by downloading the latest ANX7688 firmware image on the phone: - - wget https://xff.cz/git/linux-firmware/plain/anx7688-fw.bin - -and executing as root ("sudo su") on the phone: - - cp anx7688-fw.bin /lib/firmware/ - echo 1 > /sys/class/typec/port0/device/flash_eeprom - -==== Method 2 - -Booting a factory test image will automatically flash the ANX7688 chip. See link:/documentation/PinePhone/Software/Releases/#hardware_test_build[Factory Test OS] for such an image. - -== Replacing the screen - -Before attempting to replace the screen be sure to review the section on link:/documentation/PinePhone/Hardware_fixes_and_mods/Modifications_and_repairs/#replacing_the_mainboard[replacing the mainboard] since that will get you most of the way there. Be aware that the replacement screen is actually the entire front frame of the phone and there are components that will need to be swapped from your old screen. - -* Make sure you have a precision screwdriver set that has the correct size Philips tip. The screws are very small and the heads can easily be stripped if the screwdriver is not correct - if you feel your screwdriver slipping, stop what you are doing and try one that is a better fit. A magnetized screwdriver will help in not losing screws, as will a magnetic parts holder to keep them in while working. -* There are a number of components and cables as well as the insulator sheet under the battery that are glued in place. A hair dryer will loosen the glue and make them much easier to remove. You may want to order extra cables along with the screen just in case. -* The vibration motor, which is part of the USB-C board assembly and glued into place, will come apart easily and be damaged if you pry it up in the wrong place. Make sure you pry from underneath the complete part, not midway on its housing. The ribbon cable attaching this to the USB-C board is small, thin, and fragile so be careful with that as well. -* The new screen comes with new side switches and insulator sheet but there are a number of parts that need to be transferred from the old screen, like the thin coax cable running up the side, the phone ear speaker, proximity sensor gasket, and a gold-colored mesh glued in place that needs to be transferred to a flexible circuit included on the new screen. If you don't swap over the proximity sensor rubber gasket the screen will immediately turn off after logging in. Be careful when routing the coax cable that it goes around the screw holes or you may drive a screw right through the cable. - -Take your time, use the right tools, be careful and you should be rewarded with success. - -== Spare parts not available in the Pine Store - -* Earpiece dimensions: 12x6x2 mm. Compatible with Xiaomi Mi2 / Mi3 (but not Mi4!) and others, see https://forum.pine64.org/showthread.php?tid=12046&pid=85698#pid85698[here] -* Loudspeaker dimensions: 15x11x3 mm. Compatible with Nokia N91, Lenovo A536 (requires soldering) and others, see https://forum.pine64.org/showthread.php?tid=12046&pid=85698#pid85698[here] -* Proximity sensor rubber isolator - -== Other hardware issues - -See also link:/documentation/PinePhone/Hardware_fixes_and_mods/Hardware_issues[Hardware issues] for more issues and how-to's. - diff --git a/content/documentation/PinePhone/Hardware_fixes_and_mods/Modifications_and_repairs.md b/content/documentation/PinePhone/Hardware_fixes_and_mods/Modifications_and_repairs.md new file mode 100644 index 00000000..d8fbe5a4 --- /dev/null +++ b/content/documentation/PinePhone/Hardware_fixes_and_mods/Modifications_and_repairs.md @@ -0,0 +1,77 @@ +--- +title: "Modifications and repairs" +draft: false +hidden: true +menu: + docs: + title: + parent: "PinePhone/Hardware_fixes_and_mods" + identifier: "PinePhone/Hardware_fixes_and_mods/Modifications_and_repairs" + weight: +--- + +## Replacing the mainboard + +The mainboard can be replaced if it is faulty. The replacement board does not have an operating system pre-installed, to test if everything is working after swapping the mainboard a flashed microSD card is required. + +**💡 TIP**\ +Replacement boards come with an empty eMMC, which means that trying to boot from them looks like the board is faulty (no LEDs, no screen, no reaction of the phone). Please boot an operating System from a microSD card. + +Prior to replacing your PinePhone’s mainboard please read the steps outlined in bullet points below and watch the attached video. + +1. You’ll need a small Phillips screwdriver and a prying tool to swap out the mainboard. +2. Remove the PinePhone’s back cover. See your quick start guide for details. +3. Remove the battery as well as any inserted SD and SIM cards. +4. Unscrew all 15 Phillips head screws around the midframe of the phone. +5. Gently pry up the midframe using a guitar pick or credit card corner. It is easiest to separate the midframe at one of the bottom edges. Work your way around all the sides of the phone until the midframe separates from the phone’s body. +6. Detach all ribbon cables and "Lego" connectors. List of things to detach: 1) two "Lego" connects at the bottom of the mainboard. 2) u.FL antenna connect and touchscreen digitizer on PCD left side. 3) LCD ribbon cable top of mainboard, next to audio and UART jack. +7. Pry the mainboard up gently from the left-hand side. +8. Remove front and main cameras and reset them into the new mainboard. +9. Check that the rubber proximity sensor housing is in the chassis, not stuck to the removed mainboard. +10. Place the new mainboard in the chassis, hooking in on the plastic tabs on left side and pressing down firmly on opposite side, and follow the steps (7-2) in reverse. When reattaching the midframe take care that no cables are out of place or trapped, as they may be damaged when tightening screws. + +After swapping the mainboard the phone won’t boot as there is no OS on the replacement board’s eMMC preinstalled. To boot an OS insert a flashed SD card. + +A video tutorial by _Martijn Braam_ can be found here (or alternatively a video tutorial by user _brigadan_ with additional notes about the camera swap and proximity sensor isolator [here](https://www.youtube.com/watch?v=J3AJEF7akkw)): + +{{< figure src="/documentation/images/Pinephone_martijn_pcb_replacement.png" width="600" >}} + +### Flashing the ANX firmware + +#### Method 1 + +After swapping the mainboard the ANX7688 chip has to be flashed for full USB functionality. + +Under GNU/Linux this can be done by downloading the latest ANX7688 firmware image on the phone: + + wget https://xff.cz/git/linux-firmware/plain/anx7688-fw.bin + +and executing as root ("sudo su") on the phone: + + cp anx7688-fw.bin /lib/firmware/ + echo 1 > /sys/class/typec/port0/device/flash_eeprom + +#### Method 2 + +Booting a factory test image will automatically flash the ANX7688 chip. See [Factory Test OS](/documentation/PinePhone/Software/Releases/#hardware_test_build) for such an image. + +## Replacing the screen + +Before attempting to replace the screen be sure to review the section on [replacing the mainboard](/documentation/PinePhone/Hardware_fixes_and_mods/Modifications_and_repairs/#replacing_the_mainboard) since that will get you most of the way there. Be aware that the replacement screen is actually the entire front frame of the phone and there are components that will need to be swapped from your old screen. + +* Make sure you have a precision screwdriver set that has the correct size Philips tip. The screws are very small and the heads can easily be stripped if the screwdriver is not correct - if you feel your screwdriver slipping, stop what you are doing and try one that is a better fit. A magnetized screwdriver will help in not losing screws, as will a magnetic parts holder to keep them in while working. +* There are a number of components and cables as well as the insulator sheet under the battery that are glued in place. A hair dryer will loosen the glue and make them much easier to remove. You may want to order extra cables along with the screen just in case. +* The vibration motor, which is part of the USB-C board assembly and glued into place, will come apart easily and be damaged if you pry it up in the wrong place. Make sure you pry from underneath the complete part, not midway on its housing. The ribbon cable attaching this to the USB-C board is small, thin, and fragile so be careful with that as well. +* The new screen comes with new side switches and insulator sheet but there are a number of parts that need to be transferred from the old screen, like the thin coax cable running up the side, the phone ear speaker, proximity sensor gasket, and a gold-colored mesh glued in place that needs to be transferred to a flexible circuit included on the new screen. If you don’t swap over the proximity sensor rubber gasket the screen will immediately turn off after logging in. Be careful when routing the coax cable that it goes around the screw holes or you may drive a screw right through the cable. + +Take your time, use the right tools, be careful and you should be rewarded with success. + +## Spare parts not available in the Pine Store + +* Earpiece dimensions: 12x6x2 mm. Compatible with Xiaomi Mi2 / Mi3 (but not Mi4!) and others, see [here](https://forum.pine64.org/showthread.php?tid=12046&pid=85698#pid85698) +* Loudspeaker dimensions: 15x11x3 mm. Compatible with Nokia N91, Lenovo A536 (requires soldering) and others, see [here](https://forum.pine64.org/showthread.php?tid=12046&pid=85698#pid85698) +* Proximity sensor rubber isolator + +## Other hardware issues + +See also [Hardware issues](/documentation/PinePhone/Hardware_fixes_and_mods/Hardware_issues) for more issues and how-to’s. diff --git a/content/documentation/PinePhone/Hardware_fixes_and_mods/PinePhone_1.1_VBUS_power_usage_Hardware_Fix.adoc b/content/documentation/PinePhone/Hardware_fixes_and_mods/PinePhone_1.1_VBUS_power_usage_Hardware_Fix.md similarity index 64% rename from content/documentation/PinePhone/Hardware_fixes_and_mods/PinePhone_1.1_VBUS_power_usage_Hardware_Fix.adoc rename to content/documentation/PinePhone/Hardware_fixes_and_mods/PinePhone_1.1_VBUS_power_usage_Hardware_Fix.md index 14eaf595..ba4d076a 100644 --- a/content/documentation/PinePhone/Hardware_fixes_and_mods/PinePhone_1.1_VBUS_power_usage_Hardware_Fix.adoc +++ b/content/documentation/PinePhone/Hardware_fixes_and_mods/PinePhone_1.1_VBUS_power_usage_Hardware_Fix.md @@ -10,31 +10,31 @@ menu: weight: --- -This page details a hardware fix for an issue that affects some early link:/documentation/PinePhone/Revisions[v1.1 Braveheart] units (fixed since link:/documentation/PinePhone/Revisions/PinePhone_v1.2[1.2 community edition] included). +This page details a hardware fix for an issue that affects some early [v1.1 Braveheart](/documentation/PinePhone/Revisions) units (fixed since [1.2 community edition](/documentation/PinePhone/Revisions/PinePhone_v1.2) included). The issue was _PinePhone_v1.1_-_Braveheart#Excess_power_usage_while_driving_VBUS_ by megi. TODO: Add more pictures and schematics, better reference the fix origin and tradeofs, remove TODOs/FIXMEs. -== Affected Units +## Affected Units -. link:/documentation/PinePhone/Revisions/PinePhone_v1.1_-_Braveheart[PinePhone v1.1 - Braveheart] +1. [PinePhone v1.1 - Braveheart](/documentation/PinePhone/Revisions/PinePhone_v1.1_-_Braveheart) -FIXME: confirm link:/documentation/PinePhone/Revisions/Project_Dont_be_evil["Project Don't Be Evil" devkit] and link:/documentation/PinePhone/Revisions/PinePhone_v1.0_-Dev[PinePhone v1.0 - Developer batch] are unaffected. +FIXME: confirm ["Project Don’t Be Evil" devkit](/documentation/PinePhone/Revisions/Project_Dont_be_evil) and [PinePhone v1.0 - Developer batch](/documentation/PinePhone/Revisions/PinePhone_v1.0_-Dev) are unaffected. -== Disclaimer +## Disclaimer -Though easier to perform than the link:/documentation/PinePhone/Hardware_fixes_and_mods/PinePhone_1.2_VCONN_Hardware_Fix[PinePhone 1.2 VCONN hardware fix], this fix requires desoldering relatively small Surface Mount Technology (SMT) components, therefore some experience with soldering is recommended. +Though easier to perform than the [PinePhone 1.2 VCONN hardware fix](/documentation/PinePhone/Hardware_fixes_and_mods/PinePhone_1.2_VCONN_Hardware_Fix), this fix requires desoldering relatively small Surface Mount Technology (SMT) components, therefore some experience with soldering is recommended. -== Issue description +## Issue description TODO: pictures The AXP803 cannot detect when the USB port is powered by the battery. Therefore, the Power Management IC (PMIC) continues draining current from it. This is especially problematic since this USB port is powered from the battery with the USB OTG boost regulator. One of the symptoms is the battery discharging rather quickly even when the phone is powered off. -== Workaround +## Workaround -HW workaround is desoldering the U1301 regulator (TODO: describe its role) and shorting pads for R1309 on the PCB (this is a "0 ohm" resistor on the schematic, so it's completely fine). +HW workaround is desoldering the U1301 regulator (TODO: describe its role) and shorting pads for R1309 on the PCB (this is a "0 ohm" resistor on the schematic, so it’s completely fine). Shorting the pads is easy to do with some solder (while carefully avoiding to short it with nearby resistors). @@ -44,16 +44,15 @@ Please be careful not to overheat nearby components trough the PCB traces when a Feel free to add your experiences and tips here. -=== Tradeoffs +### Tradeoffs TODO: Unknown to the author -== Proper fix +## Proper fix TODO -== Sources and tutorials - -* https://xnux.eu/devices/pp-pmic-fix.jpg[Tutorial from megi] -* https://xnux.eu/devices/feature/anx7688.html[Description from megi] at the end of the page +## Sources and tutorials +* [Tutorial from megi](https://xnux.eu/devices/pp-pmic-fix.jpg) +* [Description from megi](https://xnux.eu/devices/feature/anx7688.html) at the end of the page diff --git a/content/documentation/PinePhone/Hardware_fixes_and_mods/PinePhone_1.2_VCONN_Hardware_Fix.adoc b/content/documentation/PinePhone/Hardware_fixes_and_mods/PinePhone_1.2_VCONN_Hardware_Fix.adoc deleted file mode 100644 index 2f86c865..00000000 --- a/content/documentation/PinePhone/Hardware_fixes_and_mods/PinePhone_1.2_VCONN_Hardware_Fix.adoc +++ /dev/null @@ -1,65 +0,0 @@ ---- -title: "PinePhone 1.2 VCONN Hardware Fix" -draft: false -hidden: true -menu: - docs: - title: - parent: "PinePhone/Hardware_fixes_and_mods" - identifier: "PinePhone/Hardware_fixes_and_mods/PinePhone_1.2_VCONN_Hardware_Fix" - weight: ---- - -This page details a hardware fix for an issue that was found on early PinePhone hardware revisions (see link:/documentation/PinePhone/Revisions/[PinePhone] for an overview of the different revisions) and has been fixed since the 1.2a hardware revision. - -The issue was _PinePhone_v1.1_-_Braveheart#USB-C_CC_pins_are_pulled_to_the_GND_by_AW3512_.28VCONN_switches.29_when_VCONN_is_off_ by megi. - -== Affected Units - -. Requires confirmation: link:/documentation/PinePhone/Revisions/Project_Dont_be_evil["Project Don't Be Evil" devkit] -. Requires confirmation: link:/documentation/PinePhone/Revisions/PinePhone_v1.0_-Dev[PinePhone v1.0 - Developer batch] -. link:/documentation/PinePhone/Revisions/PinePhone_v1.1_-_Braveheart[PinePhone v1.1 - Braveheart] -. link:/documentation/PinePhone/Revisions/PinePhone_v1.2[PinePhone v1.2 - UBports Community Edition] - -== Disclaimer - -This fix requires desoldering tiny (1 mm per 1 mm, from the datasheet) BGA components, therefore some experience with soldering is highly recommended. - -== Issue description - -{{< figure src="/documentation/images/Martjin_VCONN_switches_1.1.jpg" title="Close-up picture of the two identical switches the issue originates from, with the ANX USB controller in the frame" >}} - -{{< figure src="/documentation/images/Schematic_VCONN_switches.png" title="Excerpt from the PinePhone schematic showing the two components." >}} - -The USB standard https://microchipdeveloper.com/usb:tc-pins[specifies] that both halves (top and bottom) of the USB-C port contains one "CC" pin (CC1 and CC2, respectively). A regular cable will connect a CC pin from one end to the other end. This allows detecting which way the cable is plugged. Some active USB-C cables exist (both "e-marked" and "managed active cables"); they contain a chip, which needs to be powered. This is done by having one of the cable end connect its CC pins to 5V and VCONN, and requires switches to plug the right CC pin to the right voltage. - -The issue arises due to the switches that were chosen up to v1.2a (the a revision excluded) of the PCB assembly: the https://www.awinic.com/cn/index/pageview/catid/122/id/2.html[infamous AW3512], labelled U1305 and U1309 on the schematic. Instead of leaving the output pin "dangling" with a high impedance when disabled, the switch pull the output down. This feature is intended for discharging a capacitor, hence its "Quick output discharge" name. This is an excerpt from the datasheet: - -"The AW3512/AW35122 includes the Quick Output Discharge (QOD) feature, in order to discharge the application capacitor connected on OUT pin. When EN pin is set to low level (disable state), a discharge resistance with a typical value of 276Ω (AW35122: 75Ω) is connected between the output and ground, pull down the output and prevent it from floating when the device is disabled." - -This issue prevents cable plug/orientation detection and USB-PD communication. ANX always sees cable as plugged even if none is plugged. There's no SW workaround for automatic detection of cable plug or power role. - -In SW this could theoretically be worked around by manual selection of PinePhone's data and power role by the user, but hasn't been attempted, and might damage hardware if done incorrectly. - -== Workaround - -{{< figure src="/documentation/images/Pinephone_v1.1_VCONN_fix_diagram.svg" width="130])]" >}} - -Hardware workaround is desoldering U1305 and U1309 switches (BGA like packages). This will void the VCONN control, but it will release the CC pins for their proper connection detection and negotiation roles. - -=== Tradeoffs - -Voiding the VCONN control might (TODO: gather more data) prevent some accessories from working, notably those using an active cable. - -== Proper fix - -HW fix is to replace AW3512 with a variant of the chip that preserves the EN signal polarity and that doesn't have the "quick discharge function" that ties the output to the GND via a 75 Ohm resistor when the switch is OFF. mozzwald used NCP334FCT2G as a replacement. PCBA revision 1.2a onwards incorporate that fix. - -== Sources and tutorials - -* https://xnux.eu/devices/pp-usbc-fix.jpg[megi's writeup] -* https://xnux.eu/devices/feature/anx7688.html[another writeup from megi] with a few words on firmware -* https://www.youtube.com/watch?v=xf8OJtjNWUM[Video: "The right way"] with a hot air gun/reflow station, by mozzwald -* https://www.youtube.com/watch?v=ZqOb45N2sMc[Video: "The equally stupid way"], workaround video by Dalton, using a soldering iron. Less chances to permanently damage the board than the next if you are handy with a soldering iron, but still high. -* https://www.youtube.com/watch?v=j3jc7Mvn9Eo[Video: "The stupid way"] workaround video by Lukasz, with pliers. Slightly damages the circuit board, preventing you from soldering the replacement chips at a later point. You might be fine with this. - diff --git a/content/documentation/PinePhone/Hardware_fixes_and_mods/PinePhone_1.2_VCONN_Hardware_Fix.md b/content/documentation/PinePhone/Hardware_fixes_and_mods/PinePhone_1.2_VCONN_Hardware_Fix.md new file mode 100644 index 00000000..bbd20c08 --- /dev/null +++ b/content/documentation/PinePhone/Hardware_fixes_and_mods/PinePhone_1.2_VCONN_Hardware_Fix.md @@ -0,0 +1,64 @@ +--- +title: "PinePhone 1.2 VCONN Hardware Fix" +draft: false +hidden: true +menu: + docs: + title: + parent: "PinePhone/Hardware_fixes_and_mods" + identifier: "PinePhone/Hardware_fixes_and_mods/PinePhone_1.2_VCONN_Hardware_Fix" + weight: +--- + +This page details a hardware fix for an issue that was found on early PinePhone hardware revisions (see [PinePhone](/documentation/PinePhone/Revisions/) for an overview of the different revisions) and has been fixed since the 1.2a hardware revision. + +The issue was _PinePhone_v1.1_-_Braveheart#USB-C_CC_pins_are_pulled_to_the_GND_by_AW3512_.28VCONN_switches.29_when_VCONN_is_off_ by megi. + +## Affected Units + +1. Requires confirmation: ["Project Don’t Be Evil" devkit](/documentation/PinePhone/Revisions/Project_Dont_be_evil) +2. Requires confirmation: [PinePhone v1.0 - Developer batch](/documentation/PinePhone/Revisions/PinePhone_v1.0_-Dev) +3. [PinePhone v1.1 - Braveheart](/documentation/PinePhone/Revisions/PinePhone_v1.1_-_Braveheart) +4. [PinePhone v1.2 - UBports Community Edition](/documentation/PinePhone/Revisions/PinePhone_v1.2) + +## Disclaimer + +This fix requires desoldering tiny (1 mm per 1 mm, from the datasheet) BGA components, therefore some experience with soldering is highly recommended. + +## Issue description + +{{< figure src="/documentation/images/Martjin_VCONN_switches_1.1.jpg" title="Close-up picture of the two identical switches the issue originates from, with the ANX USB controller in the frame" >}} + +{{< figure src="/documentation/images/Schematic_VCONN_switches.png" title="Excerpt from the PinePhone schematic showing the two components." >}} + +The USB standard [specifies](https://microchipdeveloper.com/usb:tc-pins) that both halves (top and bottom) of the USB-C port contains one "CC" pin (CC1 and CC2, respectively). A regular cable will connect a CC pin from one end to the other end. This allows detecting which way the cable is plugged. Some active USB-C cables exist (both "e-marked" and "managed active cables"); they contain a chip, which needs to be powered. This is done by having one of the cable end connect its CC pins to 5V and VCONN, and requires switches to plug the right CC pin to the right voltage. + +The issue arises due to the switches that were chosen up to v1.2a (the a revision excluded) of the PCB assembly: the [infamous AW3512](https://www.awinic.com/cn/index/pageview/catid/122/id/2.html), labelled U1305 and U1309 on the schematic. Instead of leaving the output pin "dangling" with a high impedance when disabled, the switch pull the output down. This feature is intended for discharging a capacitor, hence its "Quick output discharge" name. This is an excerpt from the datasheet: + +"The AW3512/AW35122 includes the Quick Output Discharge (QOD) feature, in order to discharge the application capacitor connected on OUT pin. When EN pin is set to low level (disable state), a discharge resistance with a typical value of 276Ω (AW35122: 75Ω) is connected between the output and ground, pull down the output and prevent it from floating when the device is disabled." + +This issue prevents cable plug/orientation detection and USB-PD communication. ANX always sees cable as plugged even if none is plugged. There’s no SW workaround for automatic detection of cable plug or power role. + +In SW this could theoretically be worked around by manual selection of PinePhone’s data and power role by the user, but hasn’t been attempted, and might damage hardware if done incorrectly. + +## Workaround + +{{< figure src="/documentation/images/Pinephone_v1.1_VCONN_fix_diagram.svg" width="130])]" >}} + +Hardware workaround is desoldering U1305 and U1309 switches (BGA like packages). This will void the VCONN control, but it will release the CC pins for their proper connection detection and negotiation roles. + +### Tradeoffs + +Voiding the VCONN control might (TODO: gather more data) prevent some accessories from working, notably those using an active cable. + +## Proper fix + +HW fix is to replace AW3512 with a variant of the chip that preserves the EN signal polarity and that doesn’t have the "quick discharge function" that ties the output to the GND via a 75 Ohm resistor when the switch is OFF. mozzwald used NCP334FCT2G as a replacement. PCBA revision 1.2a onwards incorporate that fix. + +## Sources and tutorials + +* [megi’s writeup](https://xnux.eu/devices/pp-usbc-fix.jpg) +* [another writeup from megi](https://xnux.eu/devices/feature/anx7688.html) with a few words on firmware +* [Video: "The right way"](https://www.youtube.com/watch?v=xf8OJtjNWUM) with a hot air gun/reflow station, by mozzwald +* [Video: "The equally stupid way"](https://www.youtube.com/watch?v=ZqOb45N2sMc), workaround video by Dalton, using a soldering iron. Less chances to permanently damage the board than the next if you are handy with a soldering iron, but still high. +* [Video: "The stupid way"](https://www.youtube.com/watch?v=j3jc7Mvn9Eo) workaround video by Lukasz, with pliers. Slightly damages the circuit board, preventing you from soldering the replacement chips at a later point. You might be fine with this. diff --git a/content/documentation/PinePhone/Hardware_fixes_and_mods/PinePhone_1.2b_R1318_backlight_Hardware_Fix.adoc b/content/documentation/PinePhone/Hardware_fixes_and_mods/PinePhone_1.2b_R1318_backlight_Hardware_Fix.md similarity index 70% rename from content/documentation/PinePhone/Hardware_fixes_and_mods/PinePhone_1.2b_R1318_backlight_Hardware_Fix.adoc rename to content/documentation/PinePhone/Hardware_fixes_and_mods/PinePhone_1.2b_R1318_backlight_Hardware_Fix.md index 17b9bcc5..f7cc50a1 100644 --- a/content/documentation/PinePhone/Hardware_fixes_and_mods/PinePhone_1.2b_R1318_backlight_Hardware_Fix.adoc +++ b/content/documentation/PinePhone/Hardware_fixes_and_mods/PinePhone_1.2b_R1318_backlight_Hardware_Fix.md @@ -10,29 +10,29 @@ menu: weight: --- -This page details a hardware fix for an issue that was found on early link:/documentation/PinePhone[PinePhone] hardware revisions (see link:/documentation/PinePhone/Revisions/[PinePhone] for an overview of the different revisions) and has been fixed since the 1.2b hardware revision. +This page details a hardware fix for an issue that was found on early [PinePhone](/documentation/PinePhone) hardware revisions (see [PinePhone](/documentation/PinePhone/Revisions/) for an overview of the different revisions) and has been fixed since the 1.2b hardware revision. -== Affected Units +## Affected Units -. PinePhone v1.2 - UBports Community Edition -. PinePhone v1.2a - postmarketOS Community Edition +1. PinePhone v1.2 - UBports Community Edition +2. PinePhone v1.2a - postmarketOS Community Edition -== Disclaimer +## Disclaimer This fix requires desoldering a tiny resistor, therefore some experience with soldering is highly recommended. -== Issue description +## Issue description When connecting a VBUS powered device to the affected devices, like USB-C docks or hubs, the brightness changes significantly. The cause of the issue was a VBUS_CTRL signal provided by ANX7688 to control VBUS power direction. The signal is connected to AXP803 to tell it to not trying to charge from VBUS when the VBUS is generated from the battery. The signal is connected to the PL9 pin of the SoC, withut there being a reason for that. VBUS_CTRL is a 3.3V signal and the PL port is a 1.8V port. The issue was introduced in the 1.2 board revision. -== Fix +## Fix The fix of the issue is to remove the R1318 resistor. A detailed instruction will follow here. -{{< figure src="/documentation/images/Pinephone-pcb-r1318.png" title="R1318 location on the board" width="400" >}} -== Sources and tutorials +{{< figure src="/documentation/images/Pinephone-pcb-r1318.png" title="R1318 location on the board" width="400" >}} -* https://xnux.eu/log/#022[Megi's blog: Backlight changes when swithcing between USB-C power modes] +## Sources and tutorials +* [Megi’s blog: Backlight changes when swithcing between USB-C power modes](https://xnux.eu/log/#022) diff --git a/content/documentation/PinePhone/Installation/Boot_priority.adoc b/content/documentation/PinePhone/Installation/Boot_priority.adoc deleted file mode 100644 index af1ffd03..00000000 --- a/content/documentation/PinePhone/Installation/Boot_priority.adoc +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: "Boot priority" -draft: false -weight: -menu: - docs: - title: - parent: "PinePhone/Installation" - identifier: "PinePhone/Installation/Boot_priority" - weight: 1 ---- - -The PinePhone always boots from the microSD card first. It is therefore recommended to have a microSD card handy. It is *not* possible to lock themself out of the phone when the installation on the internal storage (the eMMC) fails, as a correctly flashed microSD card will always boot. Note: Booting from USB is not supported by the hardware, a live USB stick will not boot. - -The phone will also try to boot from microSD cards, which were previously flashed with an OS and formatted later, causing the phone to fail to boot. See link:/documentation/PinePhone/Installation/Reuse_microSD_card[reuse microSD card] on how to format the microSD card properly, including wiping the residues of u-boot. \ No newline at end of file diff --git a/content/documentation/PinePhone/Installation/Boot_priority.md b/content/documentation/PinePhone/Installation/Boot_priority.md new file mode 100644 index 00000000..18fb2fa8 --- /dev/null +++ b/content/documentation/PinePhone/Installation/Boot_priority.md @@ -0,0 +1,15 @@ +--- +title: "Boot priority" +draft: false +weight: +menu: + docs: + title: + parent: "PinePhone/Installation" + identifier: "PinePhone/Installation/Boot_priority" + weight: 1 +--- + +The PinePhone always boots from the microSD card first. It is therefore recommended to have a microSD card handy. It is **not** possible to lock themself out of the phone when the installation on the internal storage (the eMMC) fails, as a correctly flashed microSD card will always boot. Note: Booting from USB is not supported by the hardware, a live USB stick will not boot. + +The phone will also try to boot from microSD cards, which were previously flashed with an OS and formatted later, causing the phone to fail to boot. See [reuse microSD card](/documentation/PinePhone/Installation/Reuse_microSD_card) on how to format the microSD card properly, including wiping the residues of u-boot. diff --git a/content/documentation/PinePhone/Installation/_index.adoc b/content/documentation/PinePhone/Installation/_index.adoc deleted file mode 100644 index f048acc5..00000000 --- a/content/documentation/PinePhone/Installation/_index.adoc +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: "Installation" -draft: false -weight: 3 -menu: - docs: - title: - parent: "PinePhone" - identifier: "PinePhone/Installation" - weight: 3 -aliases: - - /documentation/PinePhone/Installation_instructions ---- - -To learn more about the pboot priority on the PinePhone, click on link:/documentation/PinePhone/Installation/Boot_priority[boot priority]. - -The installation instructions can be found here: - -* link:/documentation/PinePhone/Installation/Installation_to_the_microSD_card[Installation to the microSD card] -* link:/documentation/PinePhone/Installation/Installation_to_the_eMMC[Installation to the eMMC] - -The releases for the PinePhone can be found under link:/documentation/PinePhone/Software/Releases[Releases]. \ No newline at end of file diff --git a/content/documentation/PinePhone/Installation/_index.md b/content/documentation/PinePhone/Installation/_index.md new file mode 100644 index 00000000..4c0722de --- /dev/null +++ b/content/documentation/PinePhone/Installation/_index.md @@ -0,0 +1,22 @@ +--- +title: "Installation" +draft: false +weight: 3 +menu: + docs: + title: + parent: "PinePhone" + identifier: "PinePhone/Installation" + weight: 3 +aliases: + - /documentation/PinePhone/Installation_instructions +--- + +To learn more about the pboot priority on the PinePhone, click on [boot priority](/documentation/PinePhone/Installation/Boot_priority). + +The installation instructions can be found here: + +* [Installation to the microSD card](/documentation/PinePhone/Installation/Installation_to_the_microSD_card) +* [Installation to the eMMC](/documentation/PinePhone/Installation/Installation_to_the_eMMC) + +The releases for the PinePhone can be found under [Releases](/documentation/PinePhone/Software/Releases). diff --git a/content/documentation/PinePhone/Introduction.adoc b/content/documentation/PinePhone/Introduction.adoc deleted file mode 100644 index 97a91bde..00000000 --- a/content/documentation/PinePhone/Introduction.adoc +++ /dev/null @@ -1,28 +0,0 @@ ---- -title: "Introduction" -draft: false -weight: 1 -menu: - docs: - title: - parent: "PinePhone" - identifier: "PinePhone/Introduction" - weight: 1 ---- - -The PinePhone is not a regular phone and you might not get the latest and greatest hardware and this years' newest innovation. You will get a device with good mainline support with a great community behind it. - -== State of the software - -First things first, the PinePhone is aimed solely at early adopters - more specifically, the units are solely intended to find their way into the hands of users with extensive operating system experience. - -Bear in mind that the software for these smartphones is very early, with most of the software being in alpha or beta state. That's especially also the case for scalability of applications, their availability and practicability, any hardware function implementations and the firmware. The software is provided as is. There is no warranty for the software, not even for merchantability or fitness for a particular purpose. - -If you have any questions regarding the current state of the software or of specific features working, please don't hesitate to ask in the community chat (see link:/documentation[Main Page])! - -== Help and support - -Still have any questions regarding software, shipping, or ordering after reading this wiki? Please don't hesitate to contact the community in the bridged community channels for detailed answers or simply to chat with friendly people in the community! See link:/documentation[Main Page]. - -Please keep in mind that PINE64 is not like a regular company (see the https://www.pine64.org/philosophy/[PINE64 philosophy]) and that support resources are limited - the best way to get support quickly is to ask in the community chat! Please only contact the PINE64 support directly if questions couldn't be solved via the community chat or this wiki. - diff --git a/content/documentation/PinePhone/Introduction.md b/content/documentation/PinePhone/Introduction.md new file mode 100644 index 00000000..8afd7da1 --- /dev/null +++ b/content/documentation/PinePhone/Introduction.md @@ -0,0 +1,27 @@ +--- +title: "Introduction" +draft: false +weight: 1 +menu: + docs: + title: + parent: "PinePhone" + identifier: "PinePhone/Introduction" + weight: 1 +--- + +The PinePhone is not a regular phone and you might not get the latest and greatest hardware and this years' newest innovation. You will get a device with good mainline support with a great community behind it. + +## State of the software + +First things first, the PinePhone is aimed solely at early adopters - more specifically, the units are solely intended to find their way into the hands of users with extensive operating system experience. + +Bear in mind that the software for these smartphones is very early, with most of the software being in alpha or beta state. That’s especially also the case for scalability of applications, their availability and practicability, any hardware function implementations and the firmware. The software is provided as is. There is no warranty for the software, not even for merchantability or fitness for a particular purpose. + +If you have any questions regarding the current state of the software or of specific features working, please don’t hesitate to ask in the community chat (see [Main Page](/documentation))! + +## Help and support + +Still have any questions regarding software, shipping, or ordering after reading this wiki? Please don’t hesitate to contact the community in the bridged community channels for detailed answers or simply to chat with friendly people in the community! See [Main Page](/documentation). + +Please keep in mind that PINE64 is not like a regular company (see the [PINE64 philosophy](https://www.pine64.org/philosophy/)) and that support resources are limited - the best way to get support quickly is to ask in the community chat! Please only contact the PINE64 support directly if questions couldn’t be solved via the community chat or this wiki. diff --git a/content/documentation/PinePhone/Revisions/PinePhone_v1.0_-Dev.adoc b/content/documentation/PinePhone/Revisions/PinePhone_v1.0_-Dev.adoc deleted file mode 100644 index ce9343e1..00000000 --- a/content/documentation/PinePhone/Revisions/PinePhone_v1.0_-Dev.adoc +++ /dev/null @@ -1,28 +0,0 @@ ---- -title: "PinePhone v1.0 - Dev" -draft: false -hidden: true -menu: - docs: - title: - parent: "PinePhone/Revisions" - identifier: "PinePhone/Revisions/PinePhone_v1.0_-Dev" - weight: ---- - -The PinePhone v1.0 is the developer hardware revision of the link:/documentation/PinePhone[PinePhone]. - -This page contains resources which are exclusive to the 1.0 revision of the PinePhone. For other revisions, or for resources related to all PinePhone revisions, see link:/documentation/PinePhone/Revisions/[PinePhone]. - -== Schematic - -* https://wiki.pine64.org/images/3/30/PinePhone_Schematic_v1.0_20190708.pdf[PinePhone v1.0 Schematic 20190708] -* https://wiki.pine64.org/images/4/41/PinePhone_mainboard_v1.0_component_placement_top.pdf[Pinephone V1.0 Mainboard Top Layer Silkscreen] -* https://wiki.pine64.org/images/0/09/PinePhone_mainboard_v1.0_component_placement_bottom.pdf[Pinephone V1.0 Mainboard Bottom Layer Silkscreen] -* https://wiki.pine64.org/images/d/df/PinePhone_daughterboard_v1.0_component_placement_top.pdf[Pinephone V1.0 Daughterboard Top Layer Silkscreen] -* https://wiki.pine64.org/images/9/9f/PinePhone_daughterboard_v1.0_component_placement_bottom.pdf[Pinephone V1.0 Daughterboard Bottom Layer Silkscreen] - -== Known issues - -See link:/documentation/PinePhone/Revisions/PinePhone_v1.1_-_Braveheart/#known_issues[the known issues with v1.1 (Braveheart)], which are all carried forward from v1.0. - diff --git a/content/documentation/PinePhone/Revisions/PinePhone_v1.0_-Dev.md b/content/documentation/PinePhone/Revisions/PinePhone_v1.0_-Dev.md new file mode 100644 index 00000000..84db30d6 --- /dev/null +++ b/content/documentation/PinePhone/Revisions/PinePhone_v1.0_-Dev.md @@ -0,0 +1,27 @@ +--- +title: "PinePhone v1.0 - Dev" +draft: false +hidden: true +menu: + docs: + title: + parent: "PinePhone/Revisions" + identifier: "PinePhone/Revisions/PinePhone_v1.0_-Dev" + weight: +--- + +The PinePhone v1.0 is the developer hardware revision of the [PinePhone](/documentation/PinePhone). + +This page contains resources which are exclusive to the 1.0 revision of the PinePhone. For other revisions, or for resources related to all PinePhone revisions, see [PinePhone](/documentation/PinePhone/Revisions/). + +## Schematic + +* [PinePhone v1.0 Schematic 20190708](https://wiki.pine64.org/images/3/30/PinePhone_Schematic_v1.0_20190708.pdf) +* [Pinephone V1.0 Mainboard Top Layer Silkscreen](https://wiki.pine64.org/images/4/41/PinePhone_mainboard_v1.0_component_placement_top.pdf) +* [Pinephone V1.0 Mainboard Bottom Layer Silkscreen](https://wiki.pine64.org/images/0/09/PinePhone_mainboard_v1.0_component_placement_bottom.pdf) +* [Pinephone V1.0 Daughterboard Top Layer Silkscreen](https://wiki.pine64.org/images/d/df/PinePhone_daughterboard_v1.0_component_placement_top.pdf) +* [Pinephone V1.0 Daughterboard Bottom Layer Silkscreen](https://wiki.pine64.org/images/9/9f/PinePhone_daughterboard_v1.0_component_placement_bottom.pdf) + +## Known issues + +See [the known issues with v1.1 (Braveheart)](/documentation/PinePhone/Revisions/PinePhone_v1.1_-_Braveheart/#known_issues), which are all carried forward from v1.0. diff --git a/content/documentation/PinePhone/Revisions/PinePhone_v1.1_-_Braveheart.adoc b/content/documentation/PinePhone/Revisions/PinePhone_v1.1_-_Braveheart.adoc deleted file mode 100644 index 76683e12..00000000 --- a/content/documentation/PinePhone/Revisions/PinePhone_v1.1_-_Braveheart.adoc +++ /dev/null @@ -1,177 +0,0 @@ ---- -title: "PinePhone v1.1 - Braveheart" -draft: false -hidden: true -menu: - docs: - title: - parent: "PinePhone/Revisions" - identifier: "PinePhone/Revisions/PinePhone_v1.1_-_Braveheart" - weight: ---- - -The PinePhone v1.1 "Braveheart" is a hardware revision of the link:/documentation/PinePhone[PinePhone] that shipped in January 2020. - -This page contains resources which are exclusive to the 1.1 revision of the PinePhone. For newer revisions or for resources related to other PinePhone revisions see link:/documentation/PinePhone/Revisions/[PinePhone]. - -== Schematic - -http://files.pine64.org/doc/PinePhone/PinePhone_Schematic_v1.1_20191031.pdf[Hardware schematic] - -== Changes from 1.0 - -Braveheart is slightly different from the 1.0 revision of the Pinephone. These differences should not require creating different images. - -. Added CPU shielding and cover plate -. Swap PC3 to FLASH_EN and PD24 to FLASH_TRIGOUT, where previously they were reversed -. Add pulldown resistor on PD24 (FLASH_TRIGOUT) so the flash LED does not light on boot -. Connect WiFi enable to VD33 -. Set the EG25G's PWRKEY on by default (see resistor R1526) -. Add R630 resistor location, populate with 0K by default. Allows adjusting to different battery thermistors in case this is not possible in software. -. Add voltage shift to Pogo pins I2C-CLK, I2C-DATA, and INT. The Pogo Pin specified voltage is 3.3v while the A64's I2C is 2.8V. -. A64 LINEOUTN is disconnected from the speaker amplifier, making the speaker output single-ended instead of differential - -== DIY Hardware fixes - -Some of the known issues can be fixed with more or less involved hardware modifications: - -* VCONN mod: USB-C CC pins are pulled to GND, link:/documentation/PinePhone/Hardware_fixes_and_mods/PinePhone_1.2_VCONN_Hardware_Fix[removing small switches] can make USB-OTG work. A proper fix is to replace those with another component. -* PMIC mod / link:/documentation/PinePhone/Hardware_fixes_and_mods/PinePhone_1.1_VBUS_power_usage_Hardware_Fix[PinePhone 1.1 VBUS power usage hardware fix] to lower power consumption, especially when the phone is powered off. - -== Known issues - -This section lists problems known on the 1.1 revision hardware, possibly because they carried over from the 1.0 revision. Most of these were fixed in the 1.2 revision mainboard. - -=== Need a way to distinguish v1.1 from v1.2 from U-Boot SPL - -_Resolved in v1.2 by PL6 being connected directly to the modem, instead of through the level shifter, so it is pulled low at boot._ - -To load the correct device tree, there needs to be some hardware feature that can distinguish the two versions. This can be as simple as an I/O pin that is pulled differently by default between v1.1 and v1.2. Reading the pin in SPL will tell us which device tree to use. - -=== WiFi module cannot be disabled or reset in software - -_Resolved in v1.2 by connecting PL2 to the WiFi module's WiFi reset pin._ - -Neither the **WL-REG-ON** nor **WL-PMU-EN** signal is connected to anything, and the WiFi module's **CHIP_EN** pin is connected (through the privacy switch) to a regulator that cannot be turned off (easily, if at all). So while the privacy switch works, there's no way to disable the WiFi module in software. This will lead to excess power consumption when WiFi is turned off. - -=== Magnetometer's IRQ signal is routed to the wrong pin - -_Resolved in v1.2 by connecting the magnetometer's **DRDY** pin to PB1._ - -It needs to go to DRDY, not to INT. The kernel driver expects the trigger events to be fired when DRDY changes, and does not even configure the interrupts to be enabled on the INT pin. - -Software workaround is to disable magnetometer interrupt in the devicetree, and use a hrtimer or some other software triggering mechanism for IIO devices. - -=== Speaker output could be differential - -_Resolved in v1.2 by connecting **LINEOUTP** to the speaker amplifier's **INP** input._ - -Using a differential connection to the speaker amplifier would significantly lower the noise floor of the speaker, and would allow doubling the max volume. - -=== Modem AP_READY signal is not connected - -_Resolved in v1.2 by connecting PH7 to **AP_READY** instead of **WAKEUP_IN**._ - -The https://www.quectel.com/UploadImage/Downlad/Quectel_EC2x&EG9x_Power_Management_Application_Note_V1.0.pdf[modem's power management documentation] describes how to implement modem power saving. The modem can wake up the host using either the Ring Indicator pin (section 4.5) or USB remote wakeup (section 4.3). Either way, it suggests the **AP_READY** signal needs to be connected. The modem needs that signal to know when the host is asleep (and the modem needs to queue its messages and wake it up), and when the host has finished waking up (and is ready to receive the queued messages). - -=== Modem RI signal routing prevents wakeup - -_Resolved in v1.2 by connecting **RI** to PL6._ - -The EG25G's Ring Indicator (RI) pin is currently routed to GPIO pin PB2. The A64 needs to receive interrupts via this pin while suspended, so the modem can wake up the A64 (for incoming calls and text messages). The only GPIO bank that can receive interrupts while the A64 is suspended is Port L (on **R_PIO**). - -*Note*: Port L is powered by VCC-PL, and runs at 1v8, so it should _not_ have a level shift to DCDC1/3v3 between the AP and the modem, like DTR currently has. The way DTR is currently connected is a bug. - -=== Excess power usage while driving VBUS - -_Resolved in v1.2 by connecting PL9 and **VBUS_CTRL** on the ANX7688 to **N_VBUSEN** on the PMIC._ A crude hardware workaround is also possible, see _PinePhone 1.1 VBUS power usage Hardware Fix_. - -The **N_VBUSEN/DRIVEVBUS** input on the AXP803 PMIC, labeled **USB-DRVVBUS** on the schematic, is not connected to the USB OTG boost regulator enable input, because R1300 is marked "NC". This prevents the AXP803 from automatically detecting when the USB port is being powered from the battery. Thus, the PMIC continues to draw power from the USB port, and this doubles the drain on the battery (since the whole phone is being powered by the USB OTG boost regulator). This could be fixed by populating R1300. - -The ANX7688's VBUS_CTRL pin should also be connected to the DRVVBUS signal to perform role switching in hardware without needing OS interaction. In that case PD6 becomes an input. Otherwise, we would need to hook up the VBUS status change interrupt from the ANX7688 to control the USB PHY driver. - -=== ANX7688 power supply situation is problematic - -_Resolved in v1.2 by powering always-on 3v3 from DCDC1, video-related 3v3 from DLDO1, 1v8 from GPIO-LDO1, and 1v0 controlled by PD11._ - -ANX7688 has four power inputs: 3v3, 1v8, 1v0, and HDMI_VT (which is also 3v3). - -* The main 3v3 input, to AVDD33, should always be on according to the datasheet. For this reason, it should be connected to an always-on regulator, such as DCDC1, so DLDO1 can be turned off when the screen is off. It has extremely low power consumption. -* HDMI_VT is only needed during video transmission, and should remain connected to DLDO1. -* The only other 3v3 consumer is the VCONN_EN pull-ups. These could be pulled to GPIO1-LDO (1.8V) instead; the pins are open drain. -* The DVDD18 input should also always be on according to the datasheet. It has extremely low power consumption. I recommend connecting it and the PL11 pull-up to VCC-PL, so GPIO1-LDO can be turned off. -* The remaining 1v8 inputs only need to be enabled when a USB cable is connected (supply or OTG). They are connected to their own regulator (GPIO1-LDO), so that is fine. (Note that the next issue suggests removing the pull-ups for POWER_EN and RESET_N.) -* The 1v0 input is only needed when a USB cable is connected (supply or OTG). It is currently controlled by DLDO1, but I think controlling it with GPIO1-LDO would be an improvement. That way DLDO1 only needs to be enabled when transmitting video, not always when a cable is connected. - -=== Modem PWR_KEY signal resistor population - -_Resolved in v1.2 by separating the modem **PWRKEY** (PB3) and **STATUS** (PH9) signals._ - -On the dev phone (1.0) this signal was connected to PB3. This allows for turning on/off the modem via GPIO from a kernel driver. If proper power down is to be implemented in the kernel for the modem, to allow safe shutdown of the modem before turning off the 4g-pwr-bat, kernel has to be able to signal to the modem to shut down and wait 30s. This is not possible on braveheart. Without this signal, kernel can't do anything to shut down the modem, and would have to rely on userspace to properly manage the modem power up/down sequence. Relying on userspace risks users shutting down the modem without proper wait time of 30s, risking modem damage (flash data corruption). - -It would be nice to also have access to the STATUS signal from the modem, so that the driver can detect whether the modem is on or off (userspace might have turned modem off already via AT commands). Given that PWR_KEY pulse will either turn the modem on or off, based on the current status, it's necessary to know the current status before sending the pulse. - -There's a STATUS signal routed to PWR_KEY on BraveHeart, that keeps the PWRKEY deasserted when the modem is on and it's not possible to pull it up from PB3, even if R1516 would be optionally mounted. - -So after powerup you can't change PWR_KEY signal anymore from PB3 even if R1516 is mounted, and it's not possible to turn off the modem via PB3. - -=== Modem has access to sensors on I2C1 - -_Resolved in v1.2 by disconnecting the modem's I2C port._ - -The modem is a master on the I2C1 bus. A malicious firmware on the modem would be able to read the phone's gravity/light/proximity sensors and prevent the main Linux OS from reading them. The https://www.quectel.com/UploadImage/Downlad/Quectel_WCDMA<E_Audio_Design_Note_V1.1.pdf[modem's audio design note] describes the **AT+QIIC** command which can be used to read and write registers on I2C devices. - -According to the modem documentation, its I2C interface is only used for direct connection to a standalone audio codec. On the PinePhone, since the modem's audio is routed through the A64 SoC, the modem's I2C interface has no legitimate use. - -The modem's I2C interface should be left floating. U1503 pins A1, A2, B1, and B2 can be disconnected, and R1527/R1528 can be removed. - -=== Allow access the modem debug UART - -_Not resolved in v1.2 -- would have required moving several other GPIOs._ - -Instead of the modem's I2C pins, which aren't very useful (see above), it would be great to have access to the modem's debug UART, for debugging/updating the modem. This could be on UART3 (PD0-PD1, no flow control), while the main modem UART is on UART4 (PD2-PD5, with flow control). - -=== Modem UART flow control is broken - -_Not resolved in v1.2 -- assumption is that USB will be used for high-bandwidth modem I/O._ - -BB-TX and BB-RX are connected to UART3 (PD0/PD1). BB-RTS and BB-CTS are connected to UART4 (PD4/PD5). To use hardware flow control, TX/RX would need to be connected to UART4, swapping PD0/PD1 with the motor control and rear camera reset GPIOs at PD2/PD3. This would need a device tree change. - -Hardware flow control can be disabled with the **AT+IFC** command, and USB can also be used for commands instead of the UART. So the impact of this problem is unclear. - -=== ANX7688 power/reset control pulled the wrong way - -_Not resolved in v1.2 -- this has minimal impact._ - -Both **ANX_POWER_EN** and **ANX_RESET_N** have pull-ups when they should not. Both signals need to be pulled low by default. They only need to be brought high (turning the chip on) when a USB cable is attached; and they should only be brought high after the 1v8 and 1v0 regulators are turned on. **ANX_POWER_EN** needs an external pull-down. **ANX_RESET_N** has an internal pull-down. - -=== VCONN_EN signals are possibly inverted - -_Further investigation determined that the hardware is correct as-is in v1.1, so no change was made._ - -I don't have a datasheet for the AW3512 chips, but I assume the enable input is active-high. VCONN1_EN and VCONN2_EN are open-drain. When they are open, it appears that VCONN should be enabled. But right now, when they are open, VCONN is disabled, because the AW3512 EN pin will be pulled low by the FET. - -=== Cameras have the same default I2C address - -_Resolved in software by reprogramming the one of the cameras' I2C addresses at boot._ - -This makes it hard to keep both of them powered at the same time and switch quickly between them (on the per-frame basis) without having to re-initialize the sensors on each switch, which takes some time. - -=== USB-C CC pins are pulled to the GND by AW3512 (VCONN switches) when VCONN is off - -This issue prevents cable plug/orientation detection and USB-PD communication. ANX always sees cable as plugged even if none is plugged. There's no SW workaround for automatic detection of cable plug or power role. - -In SW this can only be worked around by manual selection of PinePhone's data and power role by the user. - -HW workaround is desoldering U1305 and U1309 switches (BGA like packages). This will void the VCONN control, but it will release the CC pins for their proper connection detection and negotiation roles. I confirmed that desoldering fixes the issue. (Howto: https://megous.com/dl/tmp/pp-usbc-fix.jpg) - -HW fix is to replace AW3512 with a variant of the chip that preserves the EN signal polarity and that doesn't have the "quick discharge function" that ties the output to the GND via a 75 Ohm resistor when the switch is OFF. mozzwald used NCP334FCT2G as a replacement. - -This issue is also present on the PinePhone 1.2 (CE) version and was fixed with revision 1.2a. See the link:/documentation/PinePhone/Hardware_fixes_and_mods/PinePhone_1.2_VCONN_Hardware_Fix[workaround] for affected revisions. - -=== Pogo Pins supply 5v0, not 3v3 - -_No hardware change suggested, to maintain accessory compatibility._ - -This is possibly just a documentation issue. The wiki claimed they provide a "3.3v power source", and on this page, "The Pogo Pin specified voltage is 3.3v". But according to the schematic, they are connected to **USB-5V**, the output of the 5V boost regulator. - diff --git a/content/documentation/PinePhone/Revisions/PinePhone_v1.1_-_Braveheart.md b/content/documentation/PinePhone/Revisions/PinePhone_v1.1_-_Braveheart.md new file mode 100644 index 00000000..40ecc283 --- /dev/null +++ b/content/documentation/PinePhone/Revisions/PinePhone_v1.1_-_Braveheart.md @@ -0,0 +1,176 @@ +--- +title: "PinePhone v1.1 - Braveheart" +draft: false +hidden: true +menu: + docs: + title: + parent: "PinePhone/Revisions" + identifier: "PinePhone/Revisions/PinePhone_v1.1_-_Braveheart" + weight: +--- + +The PinePhone v1.1 "Braveheart" is a hardware revision of the [PinePhone](/documentation/PinePhone) that shipped in January 2020. + +This page contains resources which are exclusive to the 1.1 revision of the PinePhone. For newer revisions or for resources related to other PinePhone revisions see [PinePhone](/documentation/PinePhone/Revisions/). + +## Schematic + +[Hardware schematic](http://files.pine64.org/doc/PinePhone/PinePhone_Schematic_v1.1_20191031.pdf) + +## Changes from 1.0 + +Braveheart is slightly different from the 1.0 revision of the Pinephone. These differences should not require creating different images. + +1. Added CPU shielding and cover plate +2. Swap PC3 to FLASH_EN and PD24 to FLASH_TRIGOUT, where previously they were reversed +3. Add pulldown resistor on PD24 (FLASH_TRIGOUT) so the flash LED does not light on boot +4. Connect WiFi enable to VD33 +5. Set the EG25G’s PWRKEY on by default (see resistor R1526) +6. Add R630 resistor location, populate with 0K by default. Allows adjusting to different battery thermistors in case this is not possible in software. +7. Add voltage shift to Pogo pins I2C-CLK, I2C-DATA, and INT. The Pogo Pin specified voltage is 3.3v while the A64’s I2C is 2.8V. +8. A64 LINEOUTN is disconnected from the speaker amplifier, making the speaker output single-ended instead of differential + +## DIY Hardware fixes + +Some of the known issues can be fixed with more or less involved hardware modifications: + +* VCONN mod: USB-C CC pins are pulled to GND, [removing small switches](/documentation/PinePhone/Hardware_fixes_and_mods/PinePhone_1.2_VCONN_Hardware_Fix) can make USB-OTG work. A proper fix is to replace those with another component. +* PMIC mod / [PinePhone 1.1 VBUS power usage hardware fix](/documentation/PinePhone/Hardware_fixes_and_mods/PinePhone_1.1_VBUS_power_usage_Hardware_Fix) to lower power consumption, especially when the phone is powered off. + +## Known issues + +This section lists problems known on the 1.1 revision hardware, possibly because they carried over from the 1.0 revision. Most of these were fixed in the 1.2 revision mainboard. + +### Need a way to distinguish v1.1 from v1.2 from U-Boot SPL + +_Resolved in v1.2 by PL6 being connected directly to the modem, instead of through the level shifter, so it is pulled low at boot._ + +To load the correct device tree, there needs to be some hardware feature that can distinguish the two versions. This can be as simple as an I/O pin that is pulled differently by default between v1.1 and v1.2. Reading the pin in SPL will tell us which device tree to use. + +### WiFi module cannot be disabled or reset in software + +_Resolved in v1.2 by connecting PL2 to the WiFi module’s WiFi reset pin._ + +Neither the ***WL-REG-ON*** nor ***WL-PMU-EN*** signal is connected to anything, and the WiFi module’s ***CHIP_EN*** pin is connected (through the privacy switch) to a regulator that cannot be turned off (easily, if at all). So while the privacy switch works, there’s no way to disable the WiFi module in software. This will lead to excess power consumption when WiFi is turned off. + +### Magnetometer's IRQ signal is routed to the wrong pin + +_Resolved in v1.2 by connecting the magnetometer’s ***DRDY*** pin to PB1._ + +It needs to go to DRDY, not to INT. The kernel driver expects the trigger events to be fired when DRDY changes, and does not even configure the interrupts to be enabled on the INT pin. + +Software workaround is to disable magnetometer interrupt in the devicetree, and use a hrtimer or some other software triggering mechanism for IIO devices. + +### Speaker output could be differential + +_Resolved in v1.2 by connecting ***LINEOUTP*** to the speaker amplifier’s ***INP*** input._ + +Using a differential connection to the speaker amplifier would significantly lower the noise floor of the speaker, and would allow doubling the max volume. + +### Modem AP_READY signal is not connected + +_Resolved in v1.2 by connecting PH7 to ***AP_READY*** instead of ***WAKEUP_IN***._ + +The [modem’s power management documentation](https://www.quectel.com/UploadImage/Downlad/Quectel_EC2x&EG9x_Power_Management_Application_Note_V1.0.pdf) describes how to implement modem power saving. The modem can wake up the host using either the Ring Indicator pin (section 4.5) or USB remote wakeup (section 4.3). Either way, it suggests the ***AP_READY*** signal needs to be connected. The modem needs that signal to know when the host is asleep (and the modem needs to queue its messages and wake it up), and when the host has finished waking up (and is ready to receive the queued messages). + +### Modem RI signal routing prevents wakeup + +_Resolved in v1.2 by connecting ***RI*** to PL6._ + +The EG25G’s Ring Indicator (RI) pin is currently routed to GPIO pin PB2. The A64 needs to receive interrupts via this pin while suspended, so the modem can wake up the A64 (for incoming calls and text messages). The only GPIO bank that can receive interrupts while the A64 is suspended is Port L (on ***R_PIO***). + +**Note**: Port L is powered by VCC-PL, and runs at 1v8, so it should _not_ have a level shift to DCDC1/3v3 between the AP and the modem, like DTR currently has. The way DTR is currently connected is a bug. + +### Excess power usage while driving VBUS + +_Resolved in v1.2 by connecting PL9 and ***VBUS_CTRL*** on the ANX7688 to ***N_VBUSEN*** on the PMIC._ A crude hardware workaround is also possible, see _PinePhone 1.1 VBUS power usage Hardware Fix_. + +The ***N_VBUSEN/DRIVEVBUS*** input on the AXP803 PMIC, labeled ***USB-DRVVBUS*** on the schematic, is not connected to the USB OTG boost regulator enable input, because R1300 is marked "NC". This prevents the AXP803 from automatically detecting when the USB port is being powered from the battery. Thus, the PMIC continues to draw power from the USB port, and this doubles the drain on the battery (since the whole phone is being powered by the USB OTG boost regulator). This could be fixed by populating R1300. + +The ANX7688’s VBUS_CTRL pin should also be connected to the DRVVBUS signal to perform role switching in hardware without needing OS interaction. In that case PD6 becomes an input. Otherwise, we would need to hook up the VBUS status change interrupt from the ANX7688 to control the USB PHY driver. + +### ANX7688 power supply situation is problematic + +_Resolved in v1.2 by powering always-on 3v3 from DCDC1, video-related 3v3 from DLDO1, 1v8 from GPIO-LDO1, and 1v0 controlled by PD11._ + +ANX7688 has four power inputs: 3v3, 1v8, 1v0, and HDMI_VT (which is also 3v3). + +* The main 3v3 input, to AVDD33, should always be on according to the datasheet. For this reason, it should be connected to an always-on regulator, such as DCDC1, so DLDO1 can be turned off when the screen is off. It has extremely low power consumption. +* HDMI_VT is only needed during video transmission, and should remain connected to DLDO1. +* The only other 3v3 consumer is the VCONN_EN pull-ups. These could be pulled to GPIO1-LDO (1.8V) instead; the pins are open drain. +* The DVDD18 input should also always be on according to the datasheet. It has extremely low power consumption. I recommend connecting it and the PL11 pull-up to VCC-PL, so GPIO1-LDO can be turned off. +* The remaining 1v8 inputs only need to be enabled when a USB cable is connected (supply or OTG). They are connected to their own regulator (GPIO1-LDO), so that is fine. (Note that the next issue suggests removing the pull-ups for POWER_EN and RESET_N.) +* The 1v0 input is only needed when a USB cable is connected (supply or OTG). It is currently controlled by DLDO1, but I think controlling it with GPIO1-LDO would be an improvement. That way DLDO1 only needs to be enabled when transmitting video, not always when a cable is connected. + +### Modem PWR_KEY signal resistor population + +_Resolved in v1.2 by separating the modem ***PWRKEY*** (PB3) and ***STATUS*** (PH9) signals._ + +On the dev phone (1.0) this signal was connected to PB3. This allows for turning on/off the modem via GPIO from a kernel driver. If proper power down is to be implemented in the kernel for the modem, to allow safe shutdown of the modem before turning off the 4g-pwr-bat, kernel has to be able to signal to the modem to shut down and wait 30s. This is not possible on braveheart. Without this signal, kernel can’t do anything to shut down the modem, and would have to rely on userspace to properly manage the modem power up/down sequence. Relying on userspace risks users shutting down the modem without proper wait time of 30s, risking modem damage (flash data corruption). + +It would be nice to also have access to the STATUS signal from the modem, so that the driver can detect whether the modem is on or off (userspace might have turned modem off already via AT commands). Given that PWR_KEY pulse will either turn the modem on or off, based on the current status, it’s necessary to know the current status before sending the pulse. + +There’s a STATUS signal routed to PWR_KEY on BraveHeart, that keeps the PWRKEY deasserted when the modem is on and it’s not possible to pull it up from PB3, even if R1516 would be optionally mounted. + +So after powerup you can’t change PWR_KEY signal anymore from PB3 even if R1516 is mounted, and it’s not possible to turn off the modem via PB3. + +### Modem has access to sensors on I2C1 + +_Resolved in v1.2 by disconnecting the modem’s I2C port._ + +The modem is a master on the I2C1 bus. A malicious firmware on the modem would be able to read the phone’s gravity/light/proximity sensors and prevent the main Linux OS from reading them. The [modem’s audio design note](https://www.quectel.com/UploadImage/Downlad/Quectel_WCDMA<E_Audio_Design_Note_V1.1.pdf) describes the ***AT+QIIC*** command which can be used to read and write registers on I2C devices. + +According to the modem documentation, its I2C interface is only used for direct connection to a standalone audio codec. On the PinePhone, since the modem’s audio is routed through the A64 SoC, the modem’s I2C interface has no legitimate use. + +The modem’s I2C interface should be left floating. U1503 pins A1, A2, B1, and B2 can be disconnected, and R1527/R1528 can be removed. + +### Allow access the modem debug UART + +_Not resolved in v1.2 -- would have required moving several other GPIOs._ + +Instead of the modem’s I2C pins, which aren’t very useful (see above), it would be great to have access to the modem’s debug UART, for debugging/updating the modem. This could be on UART3 (PD0-PD1, no flow control), while the main modem UART is on UART4 (PD2-PD5, with flow control). + +### Modem UART flow control is broken + +_Not resolved in v1.2 -- assumption is that USB will be used for high-bandwidth modem I/O._ + +BB-TX and BB-RX are connected to UART3 (PD0/PD1). BB-RTS and BB-CTS are connected to UART4 (PD4/PD5). To use hardware flow control, TX/RX would need to be connected to UART4, swapping PD0/PD1 with the motor control and rear camera reset GPIOs at PD2/PD3. This would need a device tree change. + +Hardware flow control can be disabled with the ***AT+IFC*** command, and USB can also be used for commands instead of the UART. So the impact of this problem is unclear. + +### ANX7688 power/reset control pulled the wrong way + +_Not resolved in v1.2 -- this has minimal impact._ + +Both ***ANX_POWER_EN*** and ***ANX_RESET_N*** have pull-ups when they should not. Both signals need to be pulled low by default. They only need to be brought high (turning the chip on) when a USB cable is attached; and they should only be brought high after the 1v8 and 1v0 regulators are turned on. ***ANX_POWER_EN*** needs an external pull-down. ***ANX_RESET_N*** has an internal pull-down. + +### VCONN_EN signals are possibly inverted + +_Further investigation determined that the hardware is correct as-is in v1.1, so no change was made._ + +I don’t have a datasheet for the AW3512 chips, but I assume the enable input is active-high. VCONN1_EN and VCONN2_EN are open-drain. When they are open, it appears that VCONN should be enabled. But right now, when they are open, VCONN is disabled, because the AW3512 EN pin will be pulled low by the FET. + +### Cameras have the same default I2C address + +_Resolved in software by reprogramming the one of the cameras' I2C addresses at boot._ + +This makes it hard to keep both of them powered at the same time and switch quickly between them (on the per-frame basis) without having to re-initialize the sensors on each switch, which takes some time. + +### USB-C CC pins are pulled to the GND by AW3512 (VCONN switches) when VCONN is off + +This issue prevents cable plug/orientation detection and USB-PD communication. ANX always sees cable as plugged even if none is plugged. There’s no SW workaround for automatic detection of cable plug or power role. + +In SW this can only be worked around by manual selection of PinePhone’s data and power role by the user. + +HW workaround is desoldering U1305 and U1309 switches (BGA like packages). This will void the VCONN control, but it will release the CC pins for their proper connection detection and negotiation roles. I confirmed that desoldering fixes the issue. (Howto: https://megous.com/dl/tmp/pp-usbc-fix.jpg) + +HW fix is to replace AW3512 with a variant of the chip that preserves the EN signal polarity and that doesn’t have the "quick discharge function" that ties the output to the GND via a 75 Ohm resistor when the switch is OFF. mozzwald used NCP334FCT2G as a replacement. + +This issue is also present on the PinePhone 1.2 (CE) version and was fixed with revision 1.2a. See the [workaround](/documentation/PinePhone/Hardware_fixes_and_mods/PinePhone_1.2_VCONN_Hardware_Fix) for affected revisions. + +### Pogo Pins supply 5v0, not 3v3 + +_No hardware change suggested, to maintain accessory compatibility._ + +This is possibly just a documentation issue. The wiki claimed they provide a "3.3v power source", and on this page, "The Pogo Pin specified voltage is 3.3v". But according to the schematic, they are connected to ***USB-5V***, the output of the 5V boost regulator. diff --git a/content/documentation/PinePhone/Revisions/PinePhone_v1.2.adoc b/content/documentation/PinePhone/Revisions/PinePhone_v1.2.adoc deleted file mode 100644 index d202cdab..00000000 --- a/content/documentation/PinePhone/Revisions/PinePhone_v1.2.adoc +++ /dev/null @@ -1,62 +0,0 @@ ---- -title: "PinePhone v1.2" -draft: false -hidden: true -menu: - docs: - title: - parent: "PinePhone/Revisions" - identifier: "PinePhone/Revisions/PinePhone_v1.2" - weight: ---- - -The PinePhone v1.2 is a hardware revision of the link:/documentation/PinePhone[PinePhone] that was shipped in 2020 as UBports Community Edition. - -This page contains information and resources which are specific to the UBports Community Edition (v1.2 PCB) revision of the PinePhone. For other revisions or for resources related to all PinePhone revisions, see link:/documentation/PinePhone/Revisions/[PinePhone]. - -== Schematics - -* http://files.pine64.org/doc/PinePhone/PinePhone%20v1.2%20Released%20Schematic.pdf[Hardware schematic v1.2] (2020-03-10, for the UBports Community Edition) - -== Changes from v1.1 - -The v1.2 mainboard revision changes the routing of several GPIOs to fix bugs and to improve power management. Therefore, it needs an updated device tree. The state of PL6 at boot can be used to distinguish between v1.1 (it can be pulled high) and v1.2 (it will remain low). - -. The WiFi module's **CHIP_EN** input (connected to the privacy switch) is now pulled down, so the WiFi will turn off reliably when the switch is off. -. PL2 is now connected to the WiFi module's reset pin, allowing the WiFi to be turned off or reset in software. -. The magnetometer's **DRDY** pin is now connected to PB1, allowing interrupt-driven periodic sensor readings. -. **LINEOUTP** is again connected to the speaker amplifier's INP input (like in v1.0), increasing the SNR of the rear speaker. -. PH7 is now connected to the modem's **AP_READY** input (instead of **WAKEUP_IN**), allowing the modem to buffer URCs (interrupts) while the phone is asleep. -. The modem's **RI** output and **DTR** input had their GPIOs swapped between PL6 and PB2, so the **RI** signal can be detected without powering the main pin controller. -. Both PL9 and **VBUS_CTRL** (from the ANX7688) are now connected to **N_VBUSEN** on the PMIC. This causes the PMIC to automatically stop drawing power from the USB port when supplying power to a USB-OTG peripheral. It also allows the ANX7688 to automatically control the direction of current flowing through the USB port. -. As part of the previous change, the ANX7688's reset input was moved to PD6; this pin previously controlled the USB OTG power. -. Some of the regulators supplying the ANX7688 were rearranged, to reduce power consumption when the USB port is not connected and not being used to transmit video. -. As part of the previous change, PD11 now controls the ANX7688's 1v0 digital power domain. -. The modem's **STATUS** output is now connected to PH9, allowing the modem on/off state to be visible in software (note: this only works while the modem is powered). Since it is no longer connected to PB3, reading **STATUS** no longer turns the modem on. -. The modem no longer has access to the I2C bus containing the sensors. -. **HBIAS** is now connected to the headphone jack. - -== Known issues - -=== Backlight - -Backlight LED current regulation depends on gpio0-ldo voltage stability due to feedback voltage from current sensing resistor being modified via SoC's PWM pin and pullup resistor to gpio0-ldo. gpio0-ldo also powers the CTP controller and light/proximity sensor, among other things. When backlight brightness is very low and the CTP controller actively communicates on the I2C bus the backlight blinks heavily. It's not a very good idea to tie boost converter's current regulating feedback circuit to the potential source of noise, especially since the noise will have much larger effect when the backlight LED current is low. It's possible this can be mitigated if C1110 can be raised to 22-47uF range, or by changing the resistor values in the feedback circuit. - -PWM duty cycle for the lowest brightness of the backlight is also not very predictable, varying from 7-20% (tested with a small sample size of 2 devices). Therefore it's not possible to come up with a single device tree brightness settings that will work for everyone, requiring per-device calibration. - -On PinePhone 1.0, this was not the case, PWM signal was directly fed to the CE pin of the regulator, and lowest brightness setting seems more stable. On the other hand, the lowest achievable brightness was brighter than on 1.1+. - -Additionally there is also another backlight issue, where the brightness is lower when connecting a VBUS powered device, https://xnux.eu/log/#022. See link:/documentation/PinePhone/Hardware_fixes_and_mods/PinePhone_1.2b_R1318_backlight_Hardware_Fix[PinePhone 1.2b R1318 backlight hardware fix]. - -=== USB - -The USB-C CC pins are pulled to the GND by AW3512 (VCONN switches) when VCONN is off. This issue prevents cable plug/orientation detection and USB-PD communication. ANX always sees cable as plugged even if none is plugged. There's no SW workaround for automatic detection of cable plug or power role. - -The issue was was fixed with revision 1.2a. See link:/documentation/PinePhone/Hardware_fixes_and_mods/PinePhone_1.2_VCONN_Hardware_Fix[PinePhone 1.2 VCONN hardware fix] for details and an instruction about how to do the hardware fix. - -In SW this can only be worked around by manual selection of PinePhone's data and power role by the user. - -Hardware workaround is to desolder U1305 and U1309 switches (BGA like packages). This will void the VCONN control, but it will release the CC pins for their proper connection detection and negotiation roles (see https://xnux.eu/devices/pp-usbc-fix.jpg). - -Hardware fix is to replace AW3512 with a variant of the chip that preserves the EN signal polarity and that doesn't have the "quick discharge function" that ties the output to the GND via a 75 Ohm resistor when the switch is OFF. User _mozzwald_ used NCP334FCT2G as a replacement. - diff --git a/content/documentation/PinePhone/Revisions/PinePhone_v1.2.md b/content/documentation/PinePhone/Revisions/PinePhone_v1.2.md new file mode 100644 index 00000000..2eafa159 --- /dev/null +++ b/content/documentation/PinePhone/Revisions/PinePhone_v1.2.md @@ -0,0 +1,61 @@ +--- +title: "PinePhone v1.2" +draft: false +hidden: true +menu: + docs: + title: + parent: "PinePhone/Revisions" + identifier: "PinePhone/Revisions/PinePhone_v1.2" + weight: +--- + +The PinePhone v1.2 is a hardware revision of the [PinePhone](/documentation/PinePhone) that was shipped in 2020 as UBports Community Edition. + +This page contains information and resources which are specific to the UBports Community Edition (v1.2 PCB) revision of the PinePhone. For other revisions or for resources related to all PinePhone revisions, see [PinePhone](/documentation/PinePhone/Revisions/). + +## Schematics + +* [Hardware schematic v1.2](http://files.pine64.org/doc/PinePhone/PinePhone%20v1.2%20Released%20Schematic.pdf) (2020-03-10, for the UBports Community Edition) + +## Changes from v1.1 + +The v1.2 mainboard revision changes the routing of several GPIOs to fix bugs and to improve power management. Therefore, it needs an updated device tree. The state of PL6 at boot can be used to distinguish between v1.1 (it can be pulled high) and v1.2 (it will remain low). + +1. The WiFi module’s ***CHIP_EN*** input (connected to the privacy switch) is now pulled down, so the WiFi will turn off reliably when the switch is off. +2. PL2 is now connected to the WiFi module’s reset pin, allowing the WiFi to be turned off or reset in software. +3. The magnetometer’s ***DRDY*** pin is now connected to PB1, allowing interrupt-driven periodic sensor readings. +4. ***LINEOUTP*** is again connected to the speaker amplifier’s INP input (like in v1.0), increasing the SNR of the rear speaker. +5. PH7 is now connected to the modem’s ***AP_READY*** input (instead of ***WAKEUP_IN***), allowing the modem to buffer URCs (interrupts) while the phone is asleep. +6. The modem’s ***RI*** output and ***DTR*** input had their GPIOs swapped between PL6 and PB2, so the ***RI*** signal can be detected without powering the main pin controller. +7. Both PL9 and ***VBUS_CTRL*** (from the ANX7688) are now connected to ***N_VBUSEN*** on the PMIC. This causes the PMIC to automatically stop drawing power from the USB port when supplying power to a USB-OTG peripheral. It also allows the ANX7688 to automatically control the direction of current flowing through the USB port. +8. As part of the previous change, the ANX7688’s reset input was moved to PD6; this pin previously controlled the USB OTG power. +9. Some of the regulators supplying the ANX7688 were rearranged, to reduce power consumption when the USB port is not connected and not being used to transmit video. +10. As part of the previous change, PD11 now controls the ANX7688’s 1v0 digital power domain. +11. The modem’s ***STATUS*** output is now connected to PH9, allowing the modem on/off state to be visible in software (note: this only works while the modem is powered). Since it is no longer connected to PB3, reading ***STATUS*** no longer turns the modem on. +12. The modem no longer has access to the I2C bus containing the sensors. +13. ***HBIAS*** is now connected to the headphone jack. + +## Known issues + +### Backlight + +Backlight LED current regulation depends on gpio0-ldo voltage stability due to feedback voltage from current sensing resistor being modified via SoC’s PWM pin and pullup resistor to gpio0-ldo. gpio0-ldo also powers the CTP controller and light/proximity sensor, among other things. When backlight brightness is very low and the CTP controller actively communicates on the I2C bus the backlight blinks heavily. It’s not a very good idea to tie boost converter’s current regulating feedback circuit to the potential source of noise, especially since the noise will have much larger effect when the backlight LED current is low. It’s possible this can be mitigated if C1110 can be raised to 22-47uF range, or by changing the resistor values in the feedback circuit. + +PWM duty cycle for the lowest brightness of the backlight is also not very predictable, varying from 7-20% (tested with a small sample size of 2 devices). Therefore it’s not possible to come up with a single device tree brightness settings that will work for everyone, requiring per-device calibration. + +On PinePhone 1.0, this was not the case, PWM signal was directly fed to the CE pin of the regulator, and lowest brightness setting seems more stable. On the other hand, the lowest achievable brightness was brighter than on 1.1+. + +Additionally there is also another backlight issue, where the brightness is lower when connecting a VBUS powered device, https://xnux.eu/log/#022. See [PinePhone 1.2b R1318 backlight hardware fix](/documentation/PinePhone/Hardware_fixes_and_mods/PinePhone_1.2b_R1318_backlight_Hardware_Fix). + +### USB + +The USB-C CC pins are pulled to the GND by AW3512 (VCONN switches) when VCONN is off. This issue prevents cable plug/orientation detection and USB-PD communication. ANX always sees cable as plugged even if none is plugged. There’s no SW workaround for automatic detection of cable plug or power role. + +The issue was was fixed with revision 1.2a. See [PinePhone 1.2 VCONN hardware fix](/documentation/PinePhone/Hardware_fixes_and_mods/PinePhone_1.2_VCONN_Hardware_Fix) for details and an instruction about how to do the hardware fix. + +In SW this can only be worked around by manual selection of PinePhone’s data and power role by the user. + +Hardware workaround is to desolder U1305 and U1309 switches (BGA like packages). This will void the VCONN control, but it will release the CC pins for their proper connection detection and negotiation roles (see https://xnux.eu/devices/pp-usbc-fix.jpg). + +Hardware fix is to replace AW3512 with a variant of the chip that preserves the EN signal polarity and that doesn’t have the "quick discharge function" that ties the output to the GND via a 75 Ohm resistor when the switch is OFF. User _mozzwald_ used NCP334FCT2G as a replacement. diff --git a/content/documentation/PinePhone/Revisions/PinePhone_v1.2a.adoc b/content/documentation/PinePhone/Revisions/PinePhone_v1.2a.adoc deleted file mode 100644 index 0f3d2f4c..00000000 --- a/content/documentation/PinePhone/Revisions/PinePhone_v1.2a.adoc +++ /dev/null @@ -1,31 +0,0 @@ ---- -title: "PinePhone v1.2a" -draft: false -hidden: true -menu: - docs: - title: - parent: "PinePhone/Revisions" - identifier: "PinePhone/Revisions/PinePhone_v1.2a" - weight: ---- - -The PinePhone v1.2a is a hardware revision of the link:/documentation/PinePhone[PinePhone] that started shipping in Q3 2020. - -This page contains information and resources which are specific to the v1.2a revision of the PinePhone. For other revisions or for resources related to all PinePhone revisions, see link:/documentation/PinePhone/Revisions[PinePhone]. - -== Schematics - -* http://files.pine64.org/doc/PinePhone/PinePhone%20v1.2a%20Released%20Schematic.pdf[Hardware schematic v1.2a] (2020-06-08, for the postmarketOS Community Edition) - -== Changes from v1.2 - -* A thermal pad was added to the SoC alongside a graphene foil covering the metal shielding of the mainboard which is in direct contact with the LCD backplane to help dissipate heat. Another graphene foil sticker was added to the rear cover of the device to help disperse thermals from the back of the modem. -* Fixed a rectangular dead spot of the touchscreen under the speaker grill -* Antenna changes -* USB-C CC fix for video out and OTG functionality - -== Known issues - -The backlight issue of v1.2 is still present, see link:/documentation/PinePhone/Revisions/PinePhone_v1.2#backlight[PinePhone v1.2]. There is also another backlight issue, where the brightness is lower when connecting a VBUS powered device, https://xnux.eu/log/#022. See link:/documentation/PinePhone/Hardware_fixes_and_mods/PinePhone_1.2b_R1318_backlight_Hardware_Fix[PinePhone 1.2b R1318 backlight hardware fix]. - diff --git a/content/documentation/PinePhone/Revisions/PinePhone_v1.2a.md b/content/documentation/PinePhone/Revisions/PinePhone_v1.2a.md new file mode 100644 index 00000000..d24dc0b4 --- /dev/null +++ b/content/documentation/PinePhone/Revisions/PinePhone_v1.2a.md @@ -0,0 +1,30 @@ +--- +title: "PinePhone v1.2a" +draft: false +hidden: true +menu: + docs: + title: + parent: "PinePhone/Revisions" + identifier: "PinePhone/Revisions/PinePhone_v1.2a" + weight: +--- + +The PinePhone v1.2a is a hardware revision of the [PinePhone](/documentation/PinePhone) that started shipping in Q3 2020. + +This page contains information and resources which are specific to the v1.2a revision of the PinePhone. For other revisions or for resources related to all PinePhone revisions, see [PinePhone](/documentation/PinePhone/Revisions). + +## Schematics + +* [Hardware schematic v1.2a](http://files.pine64.org/doc/PinePhone/PinePhone%20v1.2a%20Released%20Schematic.pdf) (2020-06-08, for the postmarketOS Community Edition) + +## Changes from v1.2 + +* A thermal pad was added to the SoC alongside a graphene foil covering the metal shielding of the mainboard which is in direct contact with the LCD backplane to help dissipate heat. Another graphene foil sticker was added to the rear cover of the device to help disperse thermals from the back of the modem. +* Fixed a rectangular dead spot of the touchscreen under the speaker grill +* Antenna changes +* USB-C CC fix for video out and OTG functionality + +## Known issues + +The backlight issue of v1.2 is still present, see [PinePhone v1.2](/documentation/PinePhone/Revisions/PinePhone_v1.2#backlight). There is also another backlight issue, where the brightness is lower when connecting a VBUS powered device, https://xnux.eu/log/#022. See [PinePhone 1.2b R1318 backlight hardware fix](/documentation/PinePhone/Hardware_fixes_and_mods/PinePhone_1.2b_R1318_backlight_Hardware_Fix). diff --git a/content/documentation/PinePhone/Revisions/PinePhone_v1.2b.adoc b/content/documentation/PinePhone/Revisions/PinePhone_v1.2b.adoc deleted file mode 100644 index e0fa4d61..00000000 --- a/content/documentation/PinePhone/Revisions/PinePhone_v1.2b.adoc +++ /dev/null @@ -1,33 +0,0 @@ ---- -title: "PinePhone v1.2b" -draft: false -hidden: true -menu: - docs: - title: - parent: "PinePhone/Revisions" - identifier: "PinePhone/Revisions/PinePhone_v1.2b" - weight: ---- - -The PinePhone v1.2b is a hardware revision of the link:/documentation/PinePhone[PinePhone] that started shipping in Q4 2020. - -This page contains information and resources which are specific to the v1.2b revision of the PinePhone. For other revisions or for resources related to all PinePhone revisions, see link:/documentation/PinePhone/Revisions/[PinePhone]. - -== Schematics - -* https://files.pine64.org/doc/PinePhone/PinePhone%20v1.2b%20Released%20Schematic.pdf[Hardware schematic v1.2b] (for the Manjaro Community Edition) - -== Changes from v1.2a - -* A bug was fixed, where connecting a VBUS powered device lowered the screen brightness (resistor R1318 changed to NC). - -== Changes with the Beta Edition - -* Due to the global pandemic early 2021 and the component shortage as a result, the magnetometer in the Beta Edition had to be replaced from an LIS3MDL to an AF8133J. - -== Known issues - -* HDMI hotplug detection is not reliable due to a HW bug in level shifting circuitry for the hot plug detect (HPD) signal between HDMI bridge and A64 SoC, see https://xnux.eu/log/#045[megi's blog post]. -* It is not known if three issues of previous revisions are still present and if yes to which degree, or if they have been fixed by removing resistor R1318, see link:/documentation/PinePhone/Revisions/PinePhone_v1.2#backlight[PinePhone v1.2] for some details. Please edit this page once this has been confirmed. Mind that there is currently a likely software-related bug present, which also causes the screen to flicker. The bug usually happens after abruptly shutting down the phone previously (for example by forcing it off), in contrast to powering it off. - diff --git a/content/documentation/PinePhone/Revisions/PinePhone_v1.2b.md b/content/documentation/PinePhone/Revisions/PinePhone_v1.2b.md new file mode 100644 index 00000000..9d81fb80 --- /dev/null +++ b/content/documentation/PinePhone/Revisions/PinePhone_v1.2b.md @@ -0,0 +1,32 @@ +--- +title: "PinePhone v1.2b" +draft: false +hidden: true +menu: + docs: + title: + parent: "PinePhone/Revisions" + identifier: "PinePhone/Revisions/PinePhone_v1.2b" + weight: +--- + +The PinePhone v1.2b is a hardware revision of the [PinePhone](/documentation/PinePhone) that started shipping in Q4 2020. + +This page contains information and resources which are specific to the v1.2b revision of the PinePhone. For other revisions or for resources related to all PinePhone revisions, see [PinePhone](/documentation/PinePhone/Revisions/). + +## Schematics + +* [Hardware schematic v1.2b](https://files.pine64.org/doc/PinePhone/PinePhone%20v1.2b%20Released%20Schematic.pdf) (for the Manjaro Community Edition) + +## Changes from v1.2a + +* A bug was fixed, where connecting a VBUS powered device lowered the screen brightness (resistor R1318 changed to NC). + +## Changes with the Beta Edition + +* Due to the global pandemic early 2021 and the component shortage as a result, the magnetometer in the Beta Edition had to be replaced from an LIS3MDL to an AF8133J. + +## Known issues + +* HDMI hotplug detection is not reliable due to a HW bug in level shifting circuitry for the hot plug detect (HPD) signal between HDMI bridge and A64 SoC, see [megi’s blog post](https://xnux.eu/log/#045). +* It is not known if three issues of previous revisions are still present and if yes to which degree, or if they have been fixed by removing resistor R1318, see [PinePhone v1.2](/documentation/PinePhone/Revisions/PinePhone_v1.2#backlight) for some details. Please edit this page once this has been confirmed. Mind that there is currently a likely software-related bug present, which also causes the screen to flicker. The bug usually happens after abruptly shutting down the phone previously (for example by forcing it off), in contrast to powering it off. diff --git a/content/documentation/PinePhone/Revisions/Project_Anakin.adoc b/content/documentation/PinePhone/Revisions/Project_Anakin.adoc deleted file mode 100644 index 7db878bb..00000000 --- a/content/documentation/PinePhone/Revisions/Project_Anakin.adoc +++ /dev/null @@ -1,191 +0,0 @@ ---- -title: "Project Anakin" -draft: false -hidden: true -menu: - docs: - title: - parent: "PinePhone/Revisions" - identifier: "PinePhone/Revisions/Project_Anakin" - weight: ---- - -== The Project "Anakin" - Phase 1 of PINE64 Smartphone "PinePhone" Development Kit - -Project Anakin is a marsh-up kit for the PINE64 Smartphone dubbed "PinePhone". It is used in the early stages of development as a starting point for affiliated projects. - -PinePhone development has been broken down into three distinct phases: - -* First phase - Project Anakin -* Second phase - purpose-built development kit code named "Don't be evil". It will be introduced at FOSDEM 2019 -* Lastly, the third phase which is the PinePhone itself - scheduled to be released in Q3 2019 (pending on software development). - -The Anakin kit consists of following components: - -* SoPine Module -* SoPine Model A baseboard -* Pine A64 Wifi/BT module -* 16GB eMMC module -* 5 Mega Piixel CMOS Camera Sensor -* 7" Touch Screen LCD Panel -* Playbox Enclosure -* Lithium Ion Battery case (note: battery not included, can accommodate 1-3 pieces of 18650 size Lithium Ion batter. In general, one is good enough) -* Quectel EC20 R2.1 LTE Module (note: The SIM tray design not distinguish polarity well and all reverse slot in) - -{{< figure src="/documentation/images/Anakin_kit_1.jpg" >}} -{{< figure src="/documentation/images/Anakin_kit_2.jpg" >}} -{{< figure src="/documentation/images/Anakin_kit_4.jpg" >}} -{{< figure src="/documentation/images/Anakin_kit_3.jpg" >}} - -== Accessories Step-by-Step Guides - -Under link:/documentation/Accessories/Accessories_Step_by_Step_Guides['Guides for PINE A64(+) accessories'] you can find instructions and guides concerning: - -* Playbox Enclosure -* Bluetooth and WiFi module -* 7" Touch Screen LCD Panel - -== SoC and Memory Specification - -* Based on Allwinner A64/R18 -* R18 and A64 are identical SoC but R18 committed for 10 years supply by vendor. - -=== CPU Architecture - -* https://www.arm.com/products/processors/cortex-a/cortex-a53-processor.php[Quad-core ARM Cortex-A53 Processor@1152Mhz] -* A power-efficient ARM v8 architecture -* 64 and 32bit execution states for scalable high performance -* Support NEON Advanced SIMD (Single Instruction Multiple Data) instruction for acceleration of media and signal processing function -* Support Large Physical Address Extensions(LPAE) -* VFPv4 Floating Point Unit -* 32KB L1 Instruction cache and 32KB L1 Data cache -* 512KB L2 cache - -=== GPU Architecture - -* https://www.arm.com/products/multimedia/mali-gpu/ultra-low-power/mali-400.php[ARM Mali400MP2 Dual-core GPU] -* Support OpenGL ES 2.0 and OpenVG 1.1 standard - -=== System Memory - -* RAM Memory Variants: 2GB LPDDR3. -* Storage Memory: SPI Flash and optional eMMC module from 16GB up to 64GB - -== Project Anakin, SOPine Module and Baseboard Information, Schematics, and Certifications - -* Model "A" Baseoard Dimensions: 133mm x 80mm x 19mm -* Input Power: DC 5V @ 2A, 3.7V Li-Ion battery connector, 3.5OD/1.35ID Barrel DC Jack connector, Euler connector -* https://wiki.pine64.org/images/7/7d/Pine64_Board_Connector.png[PINE A64 Connector Layout @courtesy of norm24] -* https://wiki.pine64.org/images/d/da/Pine64_Connector.JPG[PINE A64 Connector List] -* https://files.pine64.org/doc/SOPINE-A64/SOPINE-A64-Pin-Assignments-ver-1.0.pdf[SOPine Module Pin Assignment ver 1.0] -* https://files.pine64.org/doc/Pine%20A64%20Schematic/Pine%20A64%20Pin%20Assignment%20160119.pdf[PINE A64 Pi-2/Eular/Ext Bus/Wifi Bus Connector Pin Assignment (Updated 15/Feb/2016)] -* https://synfare.com/599N105E/hwdocs/pine64/index.html[Good documentation about PINE A64, A64+, and A64-LTS GPIO pins article] - -SOPine Module Schematic: - -* https://files.pine64.org/doc/SOPINE-A64/SOPINE-A64-Schematic-ver-0.9.pdf[SOPine Module Schematic] - -SOPine Model "A" Baseboard Schematic and PCB Board Resource: - -* *SOPine model "A" Baseboard is an hardware open source project but is not "OSH" compliant* -* https://files.pine64.org/doc/SOPINE-A64/SOPine%20Baseboard%20Model%20A%20Rev%20B20170207.DSN[SOPine Model "A" Baseboard Schematic capture Rev B DSN source file] -* https://files.pine64.org/doc/SOPINE-A64/SOPine%20Baseboard%20Model%20A%20Rev%20B20170207.pdf[SOPine Model "A" Baseboard Schematic Rev B PDF file] -* https://files.pine64.org/doc/SOPINE-A64/SOPine%20Model%20A%20baseboard%20PCB%20layout%20PCB%20Job.tar[SOPine Model "A" Baseboard PCB Job source file] -* https://files.pine64.org/doc/SOPINE-A64/SOPine%20Model%20A%20basedboard%20GERBER.tar[SOPine Model "A" Baseboard PCB Gerber file] -* https://files.pine64.org/doc/SOPINE-A64/SOPine%20Model%20A%20baseboard%20PCB%20layout%20PDF.tar[SOPine Model "A" Baseboard PCB Layout PDF file] - -SOPine (together with model "A" baseboard) Certification: - -* https://files.pine64.org/doc/cert/SOPine%20FCC%20certification%20VOC20170428.pdf[SOPine with model "A" baseboard FCC Certificate] -* https://files.pine64.org/doc/cert/SOPine%20CE%20certification%20VOC20170428.pdf[SOPine with model "A" baseboard CE Certificate] -* https://files.pine64.org/doc/cert/SOPine%20ROHS%20certification%20VOC20170322.pdf[SOPine with model "A" baseboard RoHS Certificate] - -=== Datasheets for Components and Peripherals - -Allwinner A64/R18 SoC information: - -* *R18 and A64 are identical SoC but R18 committed for 10 years supply by vendor.* -* https://files.pine64.org/doc/datasheet/pine64/A64%20brief%20v1.0%2020150323.pdf[Allwinner A64 SoC Brief Introduction] -* https://files.pine64.org/doc/datasheet/pine64/Allwinner-R18-Brief%20Sheet.pdf[Allwinner R18 SoC Brief Introduction] -* https://files.pine64.org/doc/datasheet/pine64/A64_Datasheet_V1.1.pdf[Allwinner A64/R18 SoC Data Sheet V1.1 (Official Released Version)] -* https://files.pine64.org/doc/datasheet/pine64/Allwinner_A64_User_Manual_V1.0.pdf[Allwinner A64/R18 SoC User Manual V1.0 (Official Release Version)] - -X-Powers AXP803 PMU (Power Management Unit) information: - -* https://files.pine64.org/doc/datasheet/pine64/AXP803_Datasheet_V1.0.pdf[AXP803 PMIC Datasheet] - -LPDDR3 information: - -* https://files.pine64.org/doc/datasheet/pine64/AWL3A1632_mobile_lpddr3_1600Mbps.pdf[Allwinner LPDDR3 Datasheet] -* https://files.pine64.org/doc/datasheet/pine64/FORESEE%20178ball%2012x11.5%20LPDDR3%2016G%20Spec%20V1.0-1228.pdf[Foresee LPDDR3 Datasheet] -* https://files.pine64.org/doc/datasheet/pine64/K4E6E304EE-EGCE.pdf[Samsung LPDDR3 Datasheet] -* https://files.pine64.org/doc/datasheet/pine64/LPDDR3%20178ball%208Gb_H9CCNNN8JTALAR_Rev1.0.pdf[Hynix LPDDR3 Datasheet] - -eMMC information: - -* https://files.pine64.org/doc/rock64/PINE64_eMMC_Module_20170719.pdf[PINE64 eMMC module schematic] -* https://files.pine64.org/doc/rock64/usb%20emmc%20module%20adapter%20v2.pdf[PINE64 USB adapter for eMMC module V2 schematic] -* https://files.pine64.org/doc/rock64/USB%20adapter%20for%20eMMC%20module%20PCB.tar[PINE64 USB adapter for eMMC module PCB in JPEG] -* https://files.pine64.org/doc/datasheet/pine64/SDINADF4-16-128GB-H%20data%20sheet%20v1.13.pdf[SanDisk eMMC Datasheet] -* https://files.pine64.org/doc/datasheet/pine64/H26M64003DQR%20Datasheet.pdf[Hynix eMMC Datasheet] -* https://files.pine64.org/doc/datasheet/pine64/FORESEE_eMMC_NCEMBSF9-xxG%20SPEC%20A0%2020150730.pdf[Foresee eMMC Datasheet] - -SPI NOR Flash information: - -* https://files.pine64.org/doc/datasheet/pine64/w25q128jv%20spi%20revc%2011162016.pdf[WinBond 128Mb SPI Flash Datasheet] -* https://files.pine64.org/doc/datasheet/pine64/GD25Q128C-Rev2.5.pdf[GigaDevice 128Mb SPI Flash Datasheet] - -=== Project Anakin module/component related information - -5MPixel Rear CMOS Camera module information: - -* https://files.pine64.org/doc/datasheet/pine64/YL-PINE64-4EC.pdf[PINE64 YL-PINE64-4EC 5M Pixel CMOS Image Sensor Module (Description in Chinese)] -* https://files.pine64.org/doc/datasheet/pine64/S5K4EC%205M%208%205X8%205%20PLCC%20%20Data%20Sheet_V1.0.pdf[S5K4EC 5MP CMOS Image Sensor SoC Module Datasheet] -* https://files.pine64.org/doc/datasheet/pine64/S5K4ECGX_EVT1_DataSheet_R005_20100816.pdf[S5K4EC 5MP CMOS Image Sensor SoC Chip Datasheet] -* https://files.pine64.org/doc/datasheet/pine64/s5k4ec.c[S5K4EC 5MP CMOS Image Sensor Driver Source Code in C language] - -LCD Touch Screen Panel information: - -* https://files.pine64.org/doc/datasheet/pine64/FY07024DI26A30-D_feiyang_LCD_panel.pdf[7.0" 1200x600 TFT-LCD Panel Specification] -* https://files.pine64.org/doc/datasheet/pine64/HK70DR2459-PG-V01.pdf[Touch Panel Specification] -* https://files.pine64.org/doc/datasheet/pine64/GT911%20Capacitive%20Touch%20Controller%20Datasheet.pdf[GOODiX GT911 5-Point Capacitive Touch Controller Datasheet] - -Ethernet PHY information: - -* https://files.pine64.org/doc/datasheet/pine64/rtl8211e(g)-vb(vl)-cg_datasheet_1.6.pdf[Realtek RTL8211 10/100/1000M Ethernet Transceiver for PINE A64+ Board] -* https://files.pine64.org/doc/datasheet/pine64/rtl8201cp.pdf[Realtek RTL8201 10/100M Ethernet Transceiver for PINE A64 Board] - -Wifi/BT module information: - -* https://files.pine64.org/doc/datasheet/pine64/RTL8723BS.pdf[Realtek RTL8723BS WiFi with BT SDIO] - -Enclosure information: - -* https://files.pine64.org/doc/datasheet/case/playbox_enclosure_20160426.stp[Playbox Enclosure 3D file] - -Connector information: - -* https://files.pine64.org/doc/datasheet/pine64/ePH.pdf[2.0mm PH Type connector specification use in Lithium Battery (VBAT) port and RTC Battery port] -* https://files.pine64.org/doc/datasheet/pine64/0.5FPC%20Front%20Open%20Connector%20H=1.5.pdf[0.5mm Pitch cover type FPC connector specification use in DSI port, TP port and CSI port] - -{{< figure src="/documentation/images/QUECTEL_EC20_Dongle-small.jpg" title="right" >}} - -LTE module information: - -* Note: The current Project Anakin kit deploy on using Quectel EC20_R2.1 which belongs to EC25 family. Actual production will use EC25 and EG25-G (still preliminary) module pending on region. -* https://files.pine64.org/doc/datasheet/project_anakin/LTE_module/Quectel_EC20_R2.1_LTE_Specification_V1.1.pdf[Quectel EC20 R2.1 LTE Module Specification] -* https://files.pine64.org/doc/datasheet/project_anakin/LTE_module/Quectel_EC25_LTE_Specification_V1.4.pdf[Quectel EC25 LTE Module Specification] -* https://files.pine64.org/doc/datasheet/project_anakin/LTE_module/Quectel_EG25-G_LTE_Specification_V1.1_Preliminary_20180522%20(002).pdf[Quectel EG25-G LTE Module Specification] -* https://files.pine64.org/doc/datasheet/project_anakin/LTE_module/Quectel_EC25&EC21_QuecCell_AT_Commands_Manual_V1.1.pdf[Quectel EC25 LTE Module AT Cammands Set Manual] -* https://files.pine64.org/doc/datasheet/project_anakin/LTE_module/Quectel_EC25_Hardware_Design_V1.3.pdf[Quectel EC25 LTE Module Hardware Design Guide] -* https://files.pine64.org/doc/datasheet/project_anakin/LTE_module/Quectel_EC25_Reference_Design_Rev.D_20161111.pdf[Quectel EC25 LTE Module Reference Design Guide] - -== Other Resources - -* https://linux-sunxi.org/Pine64#Manufacturer_images[Linux Sunxi Wiki page on PINE A64] -* https://github.com/apritzel/pine64[Linux Image created by Andre Przywara] -* https://github.com/longsleep/build-pine64-image[PINE64 Linux build scripts, tools and instructions by Longsleep] -* https://www.stdin.xyz/downloads/people/longsleep/pine64-images/[PINE64 Linux image by Longsleep] -* https://softwarebakery.com/shrinking-images-on-linux[Shrinking images on Linux by FrozenCow] -* https://osmocom.org/projects/quectel-modems/wiki/EC25/24[Quectel EC-25 LTE module open source information] - diff --git a/content/documentation/PinePhone/Revisions/Project_Anakin.md b/content/documentation/PinePhone/Revisions/Project_Anakin.md new file mode 100644 index 00000000..41bea5ca --- /dev/null +++ b/content/documentation/PinePhone/Revisions/Project_Anakin.md @@ -0,0 +1,190 @@ +--- +title: "Project Anakin" +draft: false +hidden: true +menu: + docs: + title: + parent: "PinePhone/Revisions" + identifier: "PinePhone/Revisions/Project_Anakin" + weight: +--- + +## The Project "Anakin" - Phase 1 of PINE64 Smartphone "PinePhone" Development Kit + +Project Anakin is a marsh-up kit for the PINE64 Smartphone dubbed "PinePhone". It is used in the early stages of development as a starting point for affiliated projects. + +PinePhone development has been broken down into three distinct phases: + +* First phase - Project Anakin +* Second phase - purpose-built development kit code named "Don’t be evil". It will be introduced at FOSDEM 2019 +* Lastly, the third phase which is the PinePhone itself - scheduled to be released in Q3 2019 (pending on software development). + +The Anakin kit consists of following components: + +* SoPine Module +* SoPine Model A baseboard +* Pine A64 Wifi/BT module +* 16GB eMMC module +* 5 Mega Piixel CMOS Camera Sensor +* 7" Touch Screen LCD Panel +* Playbox Enclosure +* Lithium Ion Battery case (note: battery not included, can accommodate 1-3 pieces of 18650 size Lithium Ion batter. In general, one is good enough) +* Quectel EC20 R2.1 LTE Module (note: The SIM tray design not distinguish polarity well and all reverse slot in) + +{{< figure src="/documentation/images/Anakin_kit_1.jpg" >}} +{{< figure src="/documentation/images/Anakin_kit_2.jpg" >}} +{{< figure src="/documentation/images/Anakin_kit_4.jpg" >}} +{{< figure src="/documentation/images/Anakin_kit_3.jpg" >}} + +## Accessories Step-by-Step Guides + +Under ['Guides for PINE A64(+) accessories'](/documentation/Accessories/Accessories_Step_by_Step_Guides) you can find instructions and guides concerning: + +* Playbox Enclosure +* Bluetooth and WiFi module +* 7" Touch Screen LCD Panel + +## SoC and Memory Specification + +* Based on Allwinner A64/R18 +* R18 and A64 are identical SoC but R18 committed for 10 years supply by vendor. + +### CPU Architecture + +* [Quad-core ARM Cortex-A53 Processor@1152Mhz](https://www.arm.com/products/processors/cortex-a/cortex-a53-processor.php) +* A power-efficient ARM v8 architecture +* 64 and 32bit execution states for scalable high performance +* Support NEON Advanced SIMD (Single Instruction Multiple Data) instruction for acceleration of media and signal processing function +* Support Large Physical Address Extensions(LPAE) +* VFPv4 Floating Point Unit +* 32KB L1 Instruction cache and 32KB L1 Data cache +* 512KB L2 cache + +### GPU Architecture + +* [ARM Mali400MP2 Dual-core GPU](https://www.arm.com/products/multimedia/mali-gpu/ultra-low-power/mali-400.php) +* Support OpenGL ES 2.0 and OpenVG 1.1 standard + +### System Memory + +* RAM Memory Variants: 2GB LPDDR3. +* Storage Memory: SPI Flash and optional eMMC module from 16GB up to 64GB + +## Project Anakin, SOPine Module and Baseboard Information, Schematics, and Certifications + +* Model "A" Baseoard Dimensions: 133mm x 80mm x 19mm +* Input Power: DC 5V @ 2A, 3.7V Li-Ion battery connector, 3.5OD/1.35ID Barrel DC Jack connector, Euler connector +* [PINE A64 Connector Layout @courtesy of norm24](https://wiki.pine64.org/images/7/7d/Pine64_Board_Connector.png) +* [PINE A64 Connector List](https://wiki.pine64.org/images/d/da/Pine64_Connector.JPG) +* [SOPine Module Pin Assignment ver 1.0](https://files.pine64.org/doc/SOPINE-A64/SOPINE-A64-Pin-Assignments-ver-1.0.pdf) +* [PINE A64 Pi-2/Eular/Ext Bus/Wifi Bus Connector Pin Assignment (Updated 15/Feb/2016)](https://files.pine64.org/doc/Pine%20A64%20Schematic/Pine%20A64%20Pin%20Assignment%20160119.pdf) +* [Good documentation about PINE A64, A64+, and A64-LTS GPIO pins article](https://synfare.com/599N105E/hwdocs/pine64/index.html) + +SOPine Module Schematic: + +* [SOPine Module Schematic](https://files.pine64.org/doc/SOPINE-A64/SOPINE-A64-Schematic-ver-0.9.pdf) + +SOPine Model "A" Baseboard Schematic and PCB Board Resource: + +* **SOPine model "A" Baseboard is an hardware open source project but is not "OSH" compliant** +* [SOPine Model "A" Baseboard Schematic capture Rev B DSN source file](https://files.pine64.org/doc/SOPINE-A64/SOPine%20Baseboard%20Model%20A%20Rev%20B20170207.DSN) +* [SOPine Model "A" Baseboard Schematic Rev B PDF file](https://files.pine64.org/doc/SOPINE-A64/SOPine%20Baseboard%20Model%20A%20Rev%20B20170207.pdf) +* [SOPine Model "A" Baseboard PCB Job source file](https://files.pine64.org/doc/SOPINE-A64/SOPine%20Model%20A%20baseboard%20PCB%20layout%20PCB%20Job.tar) +* [SOPine Model "A" Baseboard PCB Gerber file](https://files.pine64.org/doc/SOPINE-A64/SOPine%20Model%20A%20basedboard%20GERBER.tar) +* [SOPine Model "A" Baseboard PCB Layout PDF file](https://files.pine64.org/doc/SOPINE-A64/SOPine%20Model%20A%20baseboard%20PCB%20layout%20PDF.tar) + +SOPine (together with model "A" baseboard) Certification: + +* [SOPine with model "A" baseboard FCC Certificate](https://files.pine64.org/doc/cert/SOPine%20FCC%20certification%20VOC20170428.pdf) +* [SOPine with model "A" baseboard CE Certificate](https://files.pine64.org/doc/cert/SOPine%20CE%20certification%20VOC20170428.pdf) +* [SOPine with model "A" baseboard RoHS Certificate](https://files.pine64.org/doc/cert/SOPine%20ROHS%20certification%20VOC20170322.pdf) + +### Datasheets for Components and Peripherals + +Allwinner A64/R18 SoC information: + +* **R18 and A64 are identical SoC but R18 committed for 10 years supply by vendor.** +* [Allwinner A64 SoC Brief Introduction](https://files.pine64.org/doc/datasheet/pine64/A64%20brief%20v1.0%2020150323.pdf) +* [Allwinner R18 SoC Brief Introduction](https://files.pine64.org/doc/datasheet/pine64/Allwinner-R18-Brief%20Sheet.pdf) +* [Allwinner A64/R18 SoC Data Sheet V1.1 (Official Released Version)](https://files.pine64.org/doc/datasheet/pine64/A64_Datasheet_V1.1.pdf) +* [Allwinner A64/R18 SoC User Manual V1.0 (Official Release Version)](https://files.pine64.org/doc/datasheet/pine64/Allwinner_A64_User_Manual_V1.0.pdf) + +X-Powers AXP803 PMU (Power Management Unit) information: + +* [AXP803 PMIC Datasheet](https://files.pine64.org/doc/datasheet/pine64/AXP803_Datasheet_V1.0.pdf) + +LPDDR3 information: + +* [Allwinner LPDDR3 Datasheet](https://files.pine64.org/doc/datasheet/pine64/AWL3A1632_mobile_lpddr3_1600Mbps.pdf) +* [Foresee LPDDR3 Datasheet](https://files.pine64.org/doc/datasheet/pine64/FORESEE%20178ball%2012x11.5%20LPDDR3%2016G%20Spec%20V1.0-1228.pdf) +* [Samsung LPDDR3 Datasheet](https://files.pine64.org/doc/datasheet/pine64/K4E6E304EE-EGCE.pdf) +* [Hynix LPDDR3 Datasheet](https://files.pine64.org/doc/datasheet/pine64/LPDDR3%20178ball%208Gb_H9CCNNN8JTALAR_Rev1.0.pdf) + +eMMC information: + +* [PINE64 eMMC module schematic](https://files.pine64.org/doc/rock64/PINE64_eMMC_Module_20170719.pdf) +* [PINE64 USB adapter for eMMC module V2 schematic](https://files.pine64.org/doc/rock64/usb%20emmc%20module%20adapter%20v2.pdf) +* [PINE64 USB adapter for eMMC module PCB in JPEG](https://files.pine64.org/doc/rock64/USB%20adapter%20for%20eMMC%20module%20PCB.tar) +* [SanDisk eMMC Datasheet](https://files.pine64.org/doc/datasheet/pine64/SDINADF4-16-128GB-H%20data%20sheet%20v1.13.pdf) +* [Hynix eMMC Datasheet](https://files.pine64.org/doc/datasheet/pine64/H26M64003DQR%20Datasheet.pdf) +* [Foresee eMMC Datasheet](https://files.pine64.org/doc/datasheet/pine64/FORESEE_eMMC_NCEMBSF9-xxG%20SPEC%20A0%2020150730.pdf) + +SPI NOR Flash information: + +* [WinBond 128Mb SPI Flash Datasheet](https://files.pine64.org/doc/datasheet/pine64/w25q128jv%20spi%20revc%2011162016.pdf) +* [GigaDevice 128Mb SPI Flash Datasheet](https://files.pine64.org/doc/datasheet/pine64/GD25Q128C-Rev2.5.pdf) + +### Project Anakin module/component related information + +5MPixel Rear CMOS Camera module information: + +* [PINE64 YL-PINE64-4EC 5M Pixel CMOS Image Sensor Module (Description in Chinese)](https://files.pine64.org/doc/datasheet/pine64/YL-PINE64-4EC.pdf) +* [S5K4EC 5MP CMOS Image Sensor SoC Module Datasheet](https://files.pine64.org/doc/datasheet/pine64/S5K4EC%205M%208%205X8%205%20PLCC%20%20Data%20Sheet_V1.0.pdf) +* [S5K4EC 5MP CMOS Image Sensor SoC Chip Datasheet](https://files.pine64.org/doc/datasheet/pine64/S5K4ECGX_EVT1_DataSheet_R005_20100816.pdf) +* [S5K4EC 5MP CMOS Image Sensor Driver Source Code in C language](https://files.pine64.org/doc/datasheet/pine64/s5k4ec.c) + +LCD Touch Screen Panel information: + +* [7.0" 1200x600 TFT-LCD Panel Specification](https://files.pine64.org/doc/datasheet/pine64/FY07024DI26A30-D_feiyang_LCD_panel.pdf) +* [Touch Panel Specification](https://files.pine64.org/doc/datasheet/pine64/HK70DR2459-PG-V01.pdf) +* [GOODiX GT911 5-Point Capacitive Touch Controller Datasheet](https://files.pine64.org/doc/datasheet/pine64/GT911%20Capacitive%20Touch%20Controller%20Datasheet.pdf) + +Ethernet PHY information: + +* [Realtek RTL8211 10/100/1000M Ethernet Transceiver for PINE A64+ Board](https://files.pine64.org/doc/datasheet/pine64/rtl8211e(g)-vb(vl)-cg_datasheet_1.6.pdf) +* [Realtek RTL8201 10/100M Ethernet Transceiver for PINE A64 Board](https://files.pine64.org/doc/datasheet/pine64/rtl8201cp.pdf) + +Wifi/BT module information: + +* [Realtek RTL8723BS WiFi with BT SDIO](https://files.pine64.org/doc/datasheet/pine64/RTL8723BS.pdf) + +Enclosure information: + +* [Playbox Enclosure 3D file](https://files.pine64.org/doc/datasheet/case/playbox_enclosure_20160426.stp) + +Connector information: + +* [2.0mm PH Type connector specification use in Lithium Battery (VBAT) port and RTC Battery port](https://files.pine64.org/doc/datasheet/pine64/ePH.pdf) +* [0.5mm Pitch cover type FPC connector specification use in DSI port, TP port and CSI port](https://files.pine64.org/doc/datasheet/pine64/0.5FPC%20Front%20Open%20Connector%20H=1.5.pdf) + +{{< figure src="/documentation/images/QUECTEL_EC20_Dongle-small.jpg" title="right" >}} + +LTE module information: + +* Note: The current Project Anakin kit deploy on using Quectel EC20_R2.1 which belongs to EC25 family. Actual production will use EC25 and EG25-G (still preliminary) module pending on region. +* [Quectel EC20 R2.1 LTE Module Specification](https://files.pine64.org/doc/datasheet/project_anakin/LTE_module/Quectel_EC20_R2.1_LTE_Specification_V1.1.pdf) +* [Quectel EC25 LTE Module Specification](https://files.pine64.org/doc/datasheet/project_anakin/LTE_module/Quectel_EC25_LTE_Specification_V1.4.pdf) +* [Quectel EG25-G LTE Module Specification](https://files.pine64.org/doc/datasheet/project_anakin/LTE_module/Quectel_EG25-G_LTE_Specification_V1.1_Preliminary_20180522%20(002).pdf) +* [Quectel EC25 LTE Module AT Cammands Set Manual](https://files.pine64.org/doc/datasheet/project_anakin/LTE_module/Quectel_EC25&EC21_QuecCell_AT_Commands_Manual_V1.1.pdf) +* [Quectel EC25 LTE Module Hardware Design Guide](https://files.pine64.org/doc/datasheet/project_anakin/LTE_module/Quectel_EC25_Hardware_Design_V1.3.pdf) +* [Quectel EC25 LTE Module Reference Design Guide](https://files.pine64.org/doc/datasheet/project_anakin/LTE_module/Quectel_EC25_Reference_Design_Rev.D_20161111.pdf) + +## Other Resources + +* [Linux Sunxi Wiki page on PINE A64](https://linux-sunxi.org/Pine64#Manufacturer_images) +* [Linux Image created by Andre Przywara](https://github.com/apritzel/pine64) +* [PINE64 Linux build scripts, tools and instructions by Longsleep](https://github.com/longsleep/build-pine64-image) +* [PINE64 Linux image by Longsleep](https://www.stdin.xyz/downloads/people/longsleep/pine64-images/) +* [Shrinking images on Linux by FrozenCow](https://softwarebakery.com/shrinking-images-on-linux) +* [Quectel EC-25 LTE module open source information](https://osmocom.org/projects/quectel-modems/wiki/EC25/24) diff --git a/content/documentation/PinePhone/Revisions/_index.adoc b/content/documentation/PinePhone/Revisions/_index.adoc deleted file mode 100644 index 39b7997c..00000000 --- a/content/documentation/PinePhone/Revisions/_index.adoc +++ /dev/null @@ -1,23 +0,0 @@ ---- -title: "Hardware revisions" -draft: false -menu: - docs: - title: - parent: "PinePhone" - identifier: "PinePhone/Revisions" - weight: 98 ---- - -{{< figure src="/documentation/images/Pinephone_revisions.png" title="The history of the PinePhone CEs" width="400" >}} - -The following are all hardware revisions of the PinePhone that have existed, ordered by the time of their releases: - -* link:/documentation/PinePhone/Revisions/Project_Anakin[Project Anakin] - Development kit -* link:/documentation/PinePhone/Revisions/Project_Dont_be_evil[Project Don't be evil] - Development kit -* link:/documentation/PinePhone/Revisions/PinePhone_v1.0_-Dev[PinePhone v1.0] - Developer Edition -* link:/documentation/PinePhone/Revisions/PinePhone_v1.1_-_Braveheart[PinePhone v1.1] - Braveheart Edition -* link:/documentation/PinePhone/Revisions/PinePhone_v1.2[PinePhone v1.2] - Ubports Community Edition -* link:/documentation/PinePhone/Revisions/PinePhone_v1.2a[PinePhone v1.2a] - postmarketOS Community Edition -* link:/documentation/PinePhone/Revisions/PinePhone_v1.2b[PinePhone v1.2b] - Manjaro Community Edition, KDE Community Edition, Mobian Community Edition and Beta Edition - diff --git a/content/documentation/PinePhone/Revisions/_index.md b/content/documentation/PinePhone/Revisions/_index.md new file mode 100644 index 00000000..cde1f572 --- /dev/null +++ b/content/documentation/PinePhone/Revisions/_index.md @@ -0,0 +1,22 @@ +--- +title: "Hardware revisions" +draft: false +menu: + docs: + title: + parent: "PinePhone" + identifier: "PinePhone/Revisions" + weight: 98 +--- + +{{< figure src="/documentation/images/Pinephone_revisions.png" title="The history of the PinePhone CEs" width="400" >}} + +The following are all hardware revisions of the PinePhone that have existed, ordered by the time of their releases: + +* [Project Anakin](/documentation/PinePhone/Revisions/Project_Anakin) - Development kit +* [Project Don’t be evil](/documentation/PinePhone/Revisions/Project_Dont_be_evil) - Development kit +* [PinePhone v1.0](/documentation/PinePhone/Revisions/PinePhone_v1.0_-Dev) - Developer Edition +* [PinePhone v1.1](/documentation/PinePhone/Revisions/PinePhone_v1.1_-_Braveheart) - Braveheart Edition +* [PinePhone v1.2](/documentation/PinePhone/Revisions/PinePhone_v1.2) - Ubports Community Edition +* [PinePhone v1.2a](/documentation/PinePhone/Revisions/PinePhone_v1.2a) - postmarketOS Community Edition +* [PinePhone v1.2b](/documentation/PinePhone/Revisions/PinePhone_v1.2b) - Manjaro Community Edition, KDE Community Edition, Mobian Community Edition and Beta Edition diff --git a/content/documentation/PinePhone/Software/_index.adoc b/content/documentation/PinePhone/Software/_index.adoc deleted file mode 100644 index cbd3ac9c..00000000 --- a/content/documentation/PinePhone/Software/_index.adoc +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: "Software" -draft: false -weight: 4 -menu: - docs: - title: - parent: "PinePhone" - identifier: "PinePhone/Software" - weight: 4 ---- - -The PinePhone will automatically boot from microSD if a bootable card is inserted. Although it is technically possible to use any ARM distribution (because the PinePhone uses the mainline kernel), there are a few that are designed specifically for mobile use on devices like the PinePhone. - -== Software releases - -The link:/documentation/PinePhone/Software/Releases[Releases] page has a complete list of currently supported phone-optimized Operating System images that work with the PinePhone as well as other related software information. As soon as more patches get mainlined and distributions ship with the updated kernel, they will also be able to run unmodified on the device. To update any installed operating system please see link:/documentation/PinePhone/Software/Updating_instructions[Update instructions]. \ No newline at end of file diff --git a/content/documentation/PinePhone/Software/_index.md b/content/documentation/PinePhone/Software/_index.md new file mode 100644 index 00000000..9f359783 --- /dev/null +++ b/content/documentation/PinePhone/Software/_index.md @@ -0,0 +1,17 @@ +--- +title: "Software" +draft: false +weight: 4 +menu: + docs: + title: + parent: "PinePhone" + identifier: "PinePhone/Software" + weight: 4 +--- + +The PinePhone will automatically boot from microSD if a bootable card is inserted. Although it is technically possible to use any ARM distribution (because the PinePhone uses the mainline kernel), there are a few that are designed specifically for mobile use on devices like the PinePhone. + +## Software releases + +The [Releases](/documentation/PinePhone/Software/Releases) page has a complete list of currently supported phone-optimized Operating System images that work with the PinePhone as well as other related software information. As soon as more patches get mainlined and distributions ship with the updated kernel, they will also be able to run unmodified on the device. To update any installed operating system please see [Update instructions](/documentation/PinePhone/Software/Updating_instructions). diff --git a/content/documentation/PinePhone/_index.adoc b/content/documentation/PinePhone/_index.adoc deleted file mode 100644 index 499117a1..00000000 --- a/content/documentation/PinePhone/_index.adoc +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: "PinePhone" -draft: false -menu: - docs: - title: - parent: "" - identifier: "PinePhone" - weight: ---- - -{{< figure src="/documentation/images/PinePhone_Beta_Edition.png" title="Rendering of the PinePhone Beta Edition" width="400" >}} - -The *PinePhone* is a smartphone created by PINE64. It is capable of running mainline Linux and is supported by many partner projects. - -The Braveheart Edition of the PinePhone was the first publicly available version of the phone. It shipped without a fully functional operating system and was geared specifically towards early adopters. The Braveheart Edition's successors were the Community Editions, which featured a branded backcover and box of selected community projects. The Community Editions became available in June 2020. The Beta Edition featuring Manjaro with Plasma Mobile is the latest edition, it became available in March 2021. - diff --git a/content/documentation/PinePhone/_index.md b/content/documentation/PinePhone/_index.md new file mode 100644 index 00000000..97a883f8 --- /dev/null +++ b/content/documentation/PinePhone/_index.md @@ -0,0 +1,16 @@ +--- +title: "PinePhone" +draft: false +menu: + docs: + title: + parent: "" + identifier: "PinePhone" + weight: +--- + +{{< figure src="/documentation/images/PinePhone_Beta_Edition.png" title="Rendering of the PinePhone Beta Edition" width="400" >}} + +The **PinePhone** is a smartphone created by PINE64. It is capable of running mainline Linux and is supported by many partner projects. + +The Braveheart Edition of the PinePhone was the first publicly available version of the phone. It shipped without a fully functional operating system and was geared specifically towards early adopters. The Braveheart Edition’s successors were the Community Editions, which featured a branded backcover and box of selected community projects. The Community Editions became available in June 2020. The Beta Edition featuring Manjaro with Plasma Mobile is the latest edition, it became available in March 2021. diff --git a/content/documentation/PinePhone_Pro/Factory_tests/Factory_test_battery_charging.adoc b/content/documentation/PinePhone_Pro/Factory_tests/Factory_test_battery_charging.md similarity index 81% rename from content/documentation/PinePhone_Pro/Factory_tests/Factory_test_battery_charging.adoc rename to content/documentation/PinePhone_Pro/Factory_tests/Factory_test_battery_charging.md index a30cdfc6..d27aa974 100644 --- a/content/documentation/PinePhone_Pro/Factory_tests/Factory_test_battery_charging.adoc +++ b/content/documentation/PinePhone_Pro/Factory_tests/Factory_test_battery_charging.md @@ -15,7 +15,7 @@ Please note that this Android build solely for PinePhone Pro hardware checking p Download: -* http://files.pine64.org/os/PinePhonePro/pinephone_pro_dd_android9_QC_Test_SDboot_20220215-8GB.img.gz[Direct download] from _pine64.org_ (722MB, for 8GB microSD cards or bigger, MD5 of the GZip file _214e063c8205c1a98d44b2015a21bb5d_) +* [Direct download](http://files.pine64.org/os/PinePhonePro/pinephone_pro_dd_android9_QC_Test_SDboot_20220215-8GB.img.gz) from _pine64.org_ (722MB, for 8GB microSD cards or bigger, MD5 of the GZip file _214e063c8205c1a98d44b2015a21bb5d_) Instructions: @@ -23,4 +23,3 @@ Instructions: * Insert battery, press RE button (bypass SPI and eMMC boot) while plug in USB-C power. After 3 seconds release RE button. * When power up, below battery icon screen show up and battery will start charging. * The battery icon display for few seconds and then LCD panel turn off while charging. To check charging status, just quick press power button (about 0.5 second) and battery icon will display progress. - diff --git a/content/documentation/PinePhone_Pro/Factory_tests/Factory_test_hardware_checking.adoc b/content/documentation/PinePhone_Pro/Factory_tests/Factory_test_hardware_checking.md similarity index 87% rename from content/documentation/PinePhone_Pro/Factory_tests/Factory_test_hardware_checking.adoc rename to content/documentation/PinePhone_Pro/Factory_tests/Factory_test_hardware_checking.md index 4a403e73..06653a0a 100644 --- a/content/documentation/PinePhone_Pro/Factory_tests/Factory_test_hardware_checking.adoc +++ b/content/documentation/PinePhone_Pro/Factory_tests/Factory_test_hardware_checking.md @@ -15,7 +15,7 @@ Please note that this Android build solely for PinePhone Pro hardware checking p Download: -* http://files.pine64.org/os/PinePhonePro/pinephone_pro_dd_android9_QC_Test_SDboot_20220215-8GB.img.gz[Direct download] from _pine64.org_ (722MB, for 8GB microSD cards or bigger, MD5 of the GZip file _214e063c8205c1a98d44b2015a21bb5d_) +* [Direct download](http://files.pine64.org/os/PinePhonePro/pinephone_pro_dd_android9_QC_Test_SDboot_20220215-8GB.img.gz) from _pine64.org_ (722MB, for 8GB microSD cards or bigger, MD5 of the GZip file _214e063c8205c1a98d44b2015a21bb5d_) Instructions: @@ -35,4 +35,3 @@ Notes: * For light sensing test, please have a light shine to the PinePhone Pro when performing the test. {{< figure src="/documentation/images/PPP_Abdroid_Test_Utility-4.jpg" width="300" >}} - diff --git a/content/documentation/PinePhone_Pro/Further_information/Press.adoc b/content/documentation/PinePhone_Pro/Further_information/Press.md similarity index 71% rename from content/documentation/PinePhone_Pro/Further_information/Press.adoc rename to content/documentation/PinePhone_Pro/Further_information/Press.md index 5059923d..fcf30ceb 100644 --- a/content/documentation/PinePhone_Pro/Further_information/Press.adoc +++ b/content/documentation/PinePhone_Pro/Further_information/Press.md @@ -9,5 +9,4 @@ menu: weight: --- -For an overview about media of the PinePhone Pro you can use for the news, blogs, or similar see link:/documentation/PinePhone/Further_information/Press[Press]. - +For an overview about media of the PinePhone Pro you can use for the news, blogs, or similar see [Press](/documentation/PinePhone/Further_information/Press). diff --git a/content/documentation/PinePhone_Pro/Introduction.adoc b/content/documentation/PinePhone_Pro/Introduction.md similarity index 60% rename from content/documentation/PinePhone_Pro/Introduction.adoc rename to content/documentation/PinePhone_Pro/Introduction.md index d0135cff..7ab22206 100644 --- a/content/documentation/PinePhone_Pro/Introduction.adoc +++ b/content/documentation/PinePhone_Pro/Introduction.md @@ -13,15 +13,15 @@ The PinePhone Pro is PINE64’s second smartphone and a successor to the origina {{< youtube id="wP2-6Z74W44" >}} -== Editions and revisions +## Editions and revisions Similarly to the original PinePhone, various PinePhone Pro editions are planned, the first of which is the Developer Edition (aimed at developers, as the name entails) followed by the Explorer Edition, which is aimed at early adopters. -* link:/documentation/PinePhone_Pro/Revisions/Developer_Edition[Developer Edition] +* [Developer Edition](/documentation/PinePhone_Pro/Revisions/Developer_Edition) * Explorer Edition -== Help and support +## Help and support -Still have any questions regarding software, shipping, or ordering after reading the documentation? Please don't hesitate to contact the community in the bridged community channels for detailed answers or simply to chat with friendly people in the community! See link:/documentation[Main Page]. +Still have any questions regarding software, shipping, or ordering after reading the documentation? Please don’t hesitate to contact the community in the bridged community channels for detailed answers or simply to chat with friendly people in the community! See [Main Page](/documentation). -Please keep in mind that PINE64 is not like a regular company (see the https://www.pine64.org/philosophy/[PINE64 philosophy]) and that support resources are limited - the best way to get support quickly is to ask in the community chat! Please only contact the PINE64 support directly if questions couldn't be solved via the community chat or the documentation. \ No newline at end of file +Please keep in mind that PINE64 is not like a regular company (see the [PINE64 philosophy](https://www.pine64.org/philosophy/)) and that support resources are limited - the best way to get support quickly is to ask in the community chat! Please only contact the PINE64 support directly if questions couldn’t be solved via the community chat or the documentation. diff --git a/content/documentation/PinePhone_Pro/Revisions/_index.adoc b/content/documentation/PinePhone_Pro/Revisions/_index.md similarity index 70% rename from content/documentation/PinePhone_Pro/Revisions/_index.adoc rename to content/documentation/PinePhone_Pro/Revisions/_index.md index 789770dc..5d0aebcd 100644 --- a/content/documentation/PinePhone_Pro/Revisions/_index.adoc +++ b/content/documentation/PinePhone_Pro/Revisions/_index.md @@ -9,5 +9,5 @@ menu: weight: 97 --- -* link:Developer_Edition[Developer Edition] -* Explorer Edition \ No newline at end of file +* [Developer Edition](Developer_Edition) +* Explorer Edition diff --git a/content/documentation/PinePhone_Pro/Software/Bootloaders.adoc b/content/documentation/PinePhone_Pro/Software/Bootloaders.md similarity index 73% rename from content/documentation/PinePhone_Pro/Software/Bootloaders.adoc rename to content/documentation/PinePhone_Pro/Software/Bootloaders.md index 2f6861ce..fc270fc4 100644 --- a/content/documentation/PinePhone_Pro/Software/Bootloaders.adoc +++ b/content/documentation/PinePhone_Pro/Software/Bootloaders.md @@ -11,20 +11,20 @@ menu: The following section contains notes regarding compatible bootloaders with the PinePhone Pro. -== rk2aw +## rk2aw -The rk2aw loader program is designed for modern Rockchip SoCs. It modifies the boot ROM bootloader load order from the original and rigid “SPI NOR flash -> eMMC -> SD card” to a more flexible “SD card -> eMMC -> SPI NOR flash”. Additionally, it enables robust A/B bootloader updates in SPI NOR flash, allowing users to choose fallback options via a pre-boot menu. For details see the https://xnux.eu/rk2aw/[rk2aw page]. +The rk2aw loader program is designed for modern Rockchip SoCs. It modifies the boot ROM bootloader load order from the original and rigid “SPI NOR flash -> eMMC -> SD card” to a more flexible “SD card -> eMMC -> SPI NOR flash”. Additionally, it enables robust A/B bootloader updates in SPI NOR flash, allowing users to choose fallback options via a pre-boot menu. For details see the [rk2aw page](https://xnux.eu/rk2aw/). -== U-Boot +## U-Boot U-Boot is an open-source bootloader commonly used in embedded operating systems and is often pre-installed on device images. -== Tow-Boot +## Tow-Boot _Tow-Boot_ is an opinionated distribution of _U-Boot_ and brings numerous advantages over stock _U-Boot_, such as the possibility to choose from booting the eMMC or microSD card using the volume buttons during boot, as well as a _USB Mass Storage mode_, where the device can be written to by connecting the device to a computer via USB. -The user can flash Tow-Boot to the PinePhone Pro using the https://tow-boot.org/devices/pine64-pinephonePro.html[instructions on the Tow-Boot website]. +The user can flash Tow-Boot to the PinePhone Pro using the [instructions on the Tow-Boot website](https://tow-boot.org/devices/pine64-pinephonePro.html). -== levinboot +## levinboot -The levinboot bootloader is another option for the PinePhone Pro. The project repository can be found https://gitlab.com/DeltaGem/levinboot/-/tree/master/[here]. (Pinephone Pro supporting fork is https://xff.cz/git/levinboot/[here].) \ No newline at end of file +The levinboot bootloader is another option for the PinePhone Pro. The project repository can be found [here](https://gitlab.com/DeltaGem/levinboot/-/tree/master/). (Pinephone Pro supporting fork is [here](https://xff.cz/git/levinboot/).) diff --git a/content/documentation/PinePhone_Pro/_index.adoc b/content/documentation/PinePhone_Pro/_index.adoc deleted file mode 100644 index f2ece24f..00000000 --- a/content/documentation/PinePhone_Pro/_index.adoc +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: "PinePhone Pro" -draft: false -menu: - docs: - title: - parent: - identifier: "PinePhone_Pro" - weight: ---- - -{{< figure src="/documentation/images/Pinephone_double.png" title="Rendering of the PinePhone Pro" width="400" >}} - -The *PinePhone Pro* is PINE64's flagship smartphone announced on October 15, 2021. It features 4GB of RAM, an 128GB eMMC and is using an Rockchip RK3399S SoC, which is a specialized version of the RK3399 made specifically for the PinePhone Pro. \ No newline at end of file diff --git a/content/documentation/PinePhone_Pro/_index.md b/content/documentation/PinePhone_Pro/_index.md new file mode 100644 index 00000000..a0b978d9 --- /dev/null +++ b/content/documentation/PinePhone_Pro/_index.md @@ -0,0 +1,14 @@ +--- +title: "PinePhone Pro" +draft: false +menu: + docs: + title: + parent: + identifier: "PinePhone_Pro" + weight: +--- + +{{< figure src="/documentation/images/Pinephone_double.png" title="Rendering of the PinePhone Pro" width="400" >}} + +The **PinePhone Pro** is PINE64’s flagship smartphone announced on October 15, 2021. It features 4GB of RAM, an 128GB eMMC and is using an Rockchip RK3399S SoC, which is a specialized version of the RK3399 made specifically for the PinePhone Pro. diff --git a/content/documentation/PinePower/_index.adoc b/content/documentation/PinePower/_index.adoc deleted file mode 100644 index af94772b..00000000 --- a/content/documentation/PinePower/_index.adoc +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: "PinePower" -draft: false -menu: - docs: - title: - parent: "" - identifier: "PinePower" - weight: ---- - -{{< figure src="/documentation/images/PinePower_Charger_65W.jpeg" title="PinePower 65W render" width="400" >}} - -The *PinePower* devices (the _PinePower_ and the _PinePower Desktop_) are power supplies, which pack plenty of power. They capable of powering or charging multiple PINE64 devices, such as the Pinebook Pro, PinePhone and the PineTime simultaneously. - diff --git a/content/documentation/PinePower/_index.md b/content/documentation/PinePower/_index.md new file mode 100644 index 00000000..09b7913e --- /dev/null +++ b/content/documentation/PinePower/_index.md @@ -0,0 +1,14 @@ +--- +title: "PinePower" +draft: false +menu: + docs: + title: + parent: "" + identifier: "PinePower" + weight: +--- + +{{< figure src="/documentation/images/PinePower_Charger_65W.jpeg" title="PinePower 65W render" width="400" >}} + +The **PinePower** devices (the _PinePower_ and the _PinePower Desktop_) are power supplies, which pack plenty of power. They capable of powering or charging multiple PINE64 devices, such as the Pinebook Pro, PinePhone and the PineTime simultaneously. diff --git a/content/documentation/PineTab-V/Features.adoc b/content/documentation/PineTab-V/Features.md similarity index 84% rename from content/documentation/PineTab-V/Features.adoc rename to content/documentation/PineTab-V/Features.md index 6e8abe19..16686c69 100644 --- a/content/documentation/PineTab-V/Features.adoc +++ b/content/documentation/PineTab-V/Features.md @@ -46,7 +46,7 @@ Sound: * Loudspeaker: Yes, stereo * 3.5mm jack with mic: Yes, stereo -* Sound IC: http://everest-semi.com/pdf/ES8316%20PB.pdf[ES8316] +* Sound IC: [ES8316](http://everest-semi.com/pdf/ES8316%20PB.pdf) Wireless: @@ -65,6 +65,6 @@ Battery: * Removable Li-Po 6000mAh battery * Charging: 15W – 5V 3A -* Model 30100140 from https://zgszjjy.com/[zgszjjy] -* Charge IC: https://www.ti.com/product/BQ25890H[BQ25890H] -* Fuel Guage: http://en.cellwise-semi.com/Public/assests/menu/20230314/64102656c943b.pdf[CW2015CHBD] \ No newline at end of file +* Model 30100140 from [zgszjjy](https://zgszjjy.com/) +* Charge IC: [BQ25890H](https://www.ti.com/product/BQ25890H) +* Fuel Guage: [CW2015CHBD](http://en.cellwise-semi.com/Public/assests/menu/20230314/64102656c943b.pdf) diff --git a/content/documentation/PineTab-V/_index.adoc b/content/documentation/PineTab-V/_index.md similarity index 85% rename from content/documentation/PineTab-V/_index.adoc rename to content/documentation/PineTab-V/_index.md index 5f405d3c..f08c5cd1 100644 --- a/content/documentation/PineTab-V/_index.adoc +++ b/content/documentation/PineTab-V/_index.md @@ -11,8 +11,8 @@ menu: {{< figure src="/documentation/PineTab-V/images/Pinetabv_1.jpg" title="The PineTab-V with the detachable keyboard attached" width="250" >}} -The _PineTab-V_ is _PINE64's_ first RISC-V tablet. It is based on the JH7110 64-bit RISC-V SoC. +The _PineTab-V_ is _PINE64’s_ first RISC-V tablet. It is based on the JH7110 64-bit RISC-V SoC. -== Introduction +## Introduction -In late 2022, PINE64 announced plans to help grow the RISC-V hardware ecosystem alongside the existing ARM-based device line-up. The PineTab-V is an experimental device, which ships without an OS and without any promises. The JH7110 RISC-V SoC, and the RISC-V architecture in more general, is currently best described as having limited Linux support. You can think of it as a convenient development platform targeted at those of you interested in bringing Linux support to JH7110 and, by extension, the entire RISC-V ecosystem. \ No newline at end of file +In late 2022, PINE64 announced plans to help grow the RISC-V hardware ecosystem alongside the existing ARM-based device line-up. The PineTab-V is an experimental device, which ships without an OS and without any promises. The JH7110 RISC-V SoC, and the RISC-V architecture in more general, is currently best described as having limited Linux support. You can think of it as a convenient development platform targeted at those of you interested in bringing Linux support to JH7110 and, by extension, the entire RISC-V ecosystem. diff --git a/content/documentation/PineTab/Revisions/Early_adopter_edition.adoc b/content/documentation/PineTab/Revisions/Early_adopter_edition.md similarity index 74% rename from content/documentation/PineTab/Revisions/Early_adopter_edition.adoc rename to content/documentation/PineTab/Revisions/Early_adopter_edition.md index dab18b28..fd97973d 100644 --- a/content/documentation/PineTab/Revisions/Early_adopter_edition.adoc +++ b/content/documentation/PineTab/Revisions/Early_adopter_edition.md @@ -13,7 +13,7 @@ menu: The _Early Adopter Edition_ was the first hardware revision of the PineTab which shipped to customers. Shipping began on September 6, 2020. -== Software +## Software The device shipped with a beta build of Ubuntu Touch by UBports. This build is available to download at https://ci.ubports.com/job/rootfs/job/rootfs-pinetab-systemimage/18/. It has the following problems which are software, not hardware, issues: @@ -29,49 +29,49 @@ The device shipped with a beta build of Ubuntu Touch by UBports. This build is a The first-time setup wizard advises the user to unplug the keyboard dock (avoiding the mouse issues) and update the system. Unfortunately, as of this update to this page (September 8, 2020) this will not fix any of the issues above. -=== 16GB/64GB storage software error +### 16GB/64GB storage software error The image installed on the device was sized for a 16GB (~14GiB) eMMC, but the PineTab shipped with a 64GB (~58GiB) eMMC chip installed. This means that the "Storage" page in the "About" section of Ubuntu Touch System Settings will show total storage as 14.0GiB until the partition table on the device is edited. -This is fixed by an update to Ubuntu Touch released to the Stable channel on September 15, 2020. The image's tag is "2020-09-12", visible in Settings -> About -> OS. +This is fixed by an update to Ubuntu Touch released to the Stable channel on September 15, 2020. The image’s tag is "2020-09-12", visible in Settings -> About -> OS. -=== Installing using apt +### Installing using apt -Installing software on the read-only root filesystem is unsupported on Ubuntu Touch. You should be able to find updates in System Settings -> Updates and new applications in the OpenStore. If you would like to install and use terminal software from the Ubuntu repositories, see https://docs.ubports.com/en/latest/userguide/dailyuse/libertine.html[Run desktop applications in the UBports Documentation] to set up a Libertine container. Unfortunately, graphical software does not yet work through Libertine. This issue is tracked as https://github.com/ubports/libertine/issues/68[ubports/libertine#68] +Installing software on the read-only root filesystem is unsupported on Ubuntu Touch. You should be able to find updates in System Settings -> Updates and new applications in the OpenStore. If you would like to install and use terminal software from the Ubuntu repositories, see [Run desktop applications in the UBports Documentation](https://docs.ubports.com/en/latest/userguide/dailyuse/libertine.html) to set up a Libertine container. Unfortunately, graphical software does not yet work through Libertine. This issue is tracked as [ubports/libertine#68](https://github.com/ubports/libertine/issues/68) -=== Enabling ssh +### Enabling ssh Naturally, you should be wary of enabling ssh for security reasons but everything is there. Almost. -Edit */etc/ssh/sshd_config* and change the following: +Edit **/etc/ssh/sshd_config** and change the following: - PasswordAuthentication yes - ChallengeResponseAuthentication yes + PasswordAuthentication yes + ChallengeResponseAuthentication yes Then run: - /etc/init.d/sshd start + /etc/init.d/sshd start Use user _phablet_ along with your password or PIN to log in. -== Wifi +## Wifi -=== Wifi disappears +### Wifi disappears If wifi stopped working, first try usual means: * switching wifi off and on again * reboot PineTab -If it still doesn't work, open terminal and type this: +If it still doesn’t work, open terminal and type this: - nmcli radio + nmcli radio -If output is two lines with red word *disabled* under word *WIFI* - rejoice, since this issue is known (although it's not yet investigated well enough to figure out when it happens, so clues to developers are likely welcome). To fix it, just type this in the terminal: +If output is two lines with red word **disabled** under word **WIFI** - rejoice, since this issue is known (although it’s not yet investigated well enough to figure out when it happens, so clues to developers are likely welcome). To fix it, just type this in the terminal: - nmcli radio wifi on + nmcli radio wifi on -=== Wi-Fi missing if started with keyboard attached +### Wi-Fi missing if started with keyboard attached Operating system: Ubuntu Touch (OS version: RC#6 (2020-W37)) @@ -81,9 +81,9 @@ Reason: the service urfkill is not running Fix: - sudo service urfkill restart + sudo service urfkill restart -=== Wifi radio reception is very weak +### Wifi radio reception is very weak This needs a tweak! How to open the PineTab? @@ -91,7 +91,7 @@ Tested with UT, Mobian and Archlinux: sitting right beside the router gives a co In the event that WiFi fails to connect using Ubuntu Touch, the USB port can be used with an appropriate dongle to connect for internet using ethernet cable. -== Keyboard +## Keyboard The keyboard attaches magnetically and will correctly link only one way: so screen faces the keyboard. @@ -100,4 +100,3 @@ The keyboard backlight automatically comes on when keyboard is attached, but the Holding down the Pine key for two seconds and holding it down reveals a popup window of keyboard shortcuts. To access the icon features on the function keys, hold down the Fn key and tap the appropriate key. Ex: F5 and F6 activate volume control (which also has a rocker button on the tablet edge). - diff --git a/content/documentation/PineTab/Revisions/_index.adoc b/content/documentation/PineTab/Revisions/_index.md similarity index 79% rename from content/documentation/PineTab/Revisions/_index.adoc rename to content/documentation/PineTab/Revisions/_index.md index 21c5a4fd..67cb7b1e 100644 --- a/content/documentation/PineTab/Revisions/_index.adoc +++ b/content/documentation/PineTab/Revisions/_index.md @@ -10,9 +10,8 @@ menu: --- * Developer Edition - development version sent to roughly 100 developers. Close to the Early Adopter Edition, but with a different display panel -* link:/documentation/PineTab/Revisions/Early_adopters[Early Adopter Edition] - the first hardware revision of the PineTab +* [Early Adopter Edition](/documentation/PineTab/Revisions/Early_adopters) - the first hardware revision of the PineTab {{< figure src="/documentation/images/PineTabBoard.jpeg" title="The insides of the PineTab" width="400" >}} {{< figure src="/documentation/images/PineTab_Board.jpg" title="Pinetab Board" >}} - diff --git a/content/documentation/PineTab/_index.adoc b/content/documentation/PineTab/_index.adoc deleted file mode 100644 index 310b47cc..00000000 --- a/content/documentation/PineTab/_index.adoc +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: "PineTab" -draft: false -menu: - docs: - title: - parent: "" - identifier: "PineTab" - weight: ---- - -{{< figure src="/documentation/images/Pinetab.jpg" title="The PineTab" width="400" >}} - -The *PineTab* is a 10" tablet created by PINE64. The PineTab is similar in both form, function and underlying ARM64 architecture to the original 11.6″ Pinebook. It is powered by the same quad-core ARM Cortex A53 64-Bit Processor used in our popular PINE A64 Single Board Computer. The optional keyboard and trackpad – which doubles-up as a screen cover – effectively converts the PineTab into a petite on-the-go laptop with a touch screen functionality. It runs numerous mainline Linux distributions as well as *BSD and Android.  - diff --git a/content/documentation/PineTab/_index.md b/content/documentation/PineTab/_index.md new file mode 100644 index 00000000..8eb0a898 --- /dev/null +++ b/content/documentation/PineTab/_index.md @@ -0,0 +1,14 @@ +--- +title: "PineTab" +draft: false +menu: + docs: + title: + parent: "" + identifier: "PineTab" + weight: +--- + +{{< figure src="/documentation/images/Pinetab.jpg" title="The PineTab" width="400" >}} + +The **PineTab** is a 10" tablet created by PINE64. The PineTab is similar in both form, function and underlying ARM64 architecture to the original 11.6″ Pinebook. It is powered by the same quad-core ARM Cortex A53 64-Bit Processor used in our popular PINE A64 Single Board Computer. The optional keyboard and trackpad – which doubles-up as a screen cover – effectively converts the PineTab into a petite on-the-go laptop with a touch screen functionality. It runs numerous mainline Linux distributions as well as *BSD and Android. diff --git a/content/documentation/PineTab2/Development/Known_issues.adoc b/content/documentation/PineTab2/Development/Known_issues.adoc deleted file mode 100644 index 011e7cbc..00000000 --- a/content/documentation/PineTab2/Development/Known_issues.adoc +++ /dev/null @@ -1,24 +0,0 @@ ---- -title: "Known issues" -draft: false -menu: - docs: - title: - parent: "PineTab2/Development" - identifier: "PineTab2/Development/Known_issues" - weight: ---- - -== Wi-Fi and Bluetooth - -* The https://gitlab.com/TuxThePenguin0/bes2600[BES2600 Wi-Fi driver] needs major cleanup and bugfixing (at the moment it often causes system crashes). This is a priority, but for now, you can USB tether a phone or use a supported WI-FI dongle. There are at least two code releases available, with two respective/non-interchangeable firmware versions. Kernel 6.9.2-danctnix1-1-pinetab2 has a somewhat working WiFi driver. -* The BES2600 Bluetooth driver needs to be implemented. -* Hardware bugs - the power and reset circuitry is not properly implemented in the circuitry, so hard reset of the chip (in the theoretical case it freezes) is impossible without power cycling the whole board. - -== Camera - -* The camera drivers needs to be ported (https://github.com/rockchip-linux/kernel/blob/develop-4.19/drivers/media/i2c/gc02m2.c[gc02m2], https://elixir.bootlin.com/linux/latest/source/drivers/media/i2c/ov5648.c[ov5648]), Rockchip CSI/ISP driver needs to be extended to handle 2 lanes. - -== Suspend - -* Suspend does not currently work reliably due to a driver issue. It is therefore disabled in the factory image. Caveat Emptor if you chose to unmask the feature prior to it being fixed. diff --git a/content/documentation/PineTab2/Development/Known_issues.md b/content/documentation/PineTab2/Development/Known_issues.md new file mode 100644 index 00000000..46c7b770 --- /dev/null +++ b/content/documentation/PineTab2/Development/Known_issues.md @@ -0,0 +1,24 @@ +--- +title: "Known issues" +draft: false +menu: + docs: + title: + parent: "PineTab2/Development" + identifier: "PineTab2/Development/Known_issues" + weight: +--- + +## Wi-Fi and Bluetooth + +* The [BES2600 Wi-Fi driver](https://gitlab.com/TuxThePenguin0/bes2600) needs major cleanup and bugfixing (at the moment it often causes system crashes). This is a priority, but for now, you can USB tether a phone or use a supported WI-FI dongle. There are at least two code releases available, with two respective/non-interchangeable firmware versions. Kernel 6.9.2-danctnix1-1-pinetab2 has a somewhat working WiFi driver. +* The BES2600 Bluetooth driver needs to be implemented. +* Hardware bugs - the power and reset circuitry is not properly implemented in the circuitry, so hard reset of the chip (in the theoretical case it freezes) is impossible without power cycling the whole board. + +## Camera + +* The camera drivers needs to be ported ([gc02m2](https://github.com/rockchip-linux/kernel/blob/develop-4.19/drivers/media/i2c/gc02m2.c), [ov5648](https://elixir.bootlin.com/linux/latest/source/drivers/media/i2c/ov5648.c)), Rockchip CSI/ISP driver needs to be extended to handle 2 lanes. + +## Suspend + +* Suspend does not currently work reliably due to a driver issue. It is therefore disabled in the factory image. Caveat Emptor if you chose to unmask the feature prior to it being fixed. diff --git a/content/documentation/PineTab2/Development/_index.adoc b/content/documentation/PineTab2/Development/_index.md similarity index 55% rename from content/documentation/PineTab2/Development/_index.adoc rename to content/documentation/PineTab2/Development/_index.md index acd580e7..52f838fc 100644 --- a/content/documentation/PineTab2/Development/_index.adoc +++ b/content/documentation/PineTab2/Development/_index.md @@ -9,6 +9,6 @@ menu: weight: --- -See the related page link:/documentation/Quartz64/Development/[Quartz64 development]. +See the related page [Quartz64 development](/documentation/Quartz64/Development/). -Linux mainline is already quite far along for the device, as the SoC is the same as is used in the Quartz64 line of devices. Some minor PineTab2-specific adjustments can be found https://github.com/TuxThePenguin0/linux/tree/device/pine64-pinetab2_stable[here]. \ No newline at end of file +Linux mainline is already quite far along for the device, as the SoC is the same as is used in the Quartz64 line of devices. Some minor PineTab2-specific adjustments can be found [here](https://github.com/TuxThePenguin0/linux/tree/device/pine64-pinetab2_stable). diff --git a/content/documentation/PineTab2/Further_information/Disassembly_guide.adoc b/content/documentation/PineTab2/Further_information/Disassembly_guide.md similarity index 66% rename from content/documentation/PineTab2/Further_information/Disassembly_guide.adoc rename to content/documentation/PineTab2/Further_information/Disassembly_guide.md index 4a9c0cbb..c667c1e4 100644 --- a/content/documentation/PineTab2/Further_information/Disassembly_guide.adoc +++ b/content/documentation/PineTab2/Further_information/Disassembly_guide.md @@ -11,5 +11,5 @@ menu: PineTab2 disassembly guide: -* https://wiki.pine64.org/wiki/File:PineTab2_display_panel_disassembly_guide.pdf[File:PineTab2 display panel disassembly guide.pdf] -* Note: this is a very delicate operation, especially around the corners of the screen. Several even experienced users damaged their screen when disassembling the device. \ No newline at end of file +* [File:PineTab2 display panel disassembly guide.pdf](https://wiki.pine64.org/wiki/File:PineTab2_display_panel_disassembly_guide.pdf) +* Note: this is a very delicate operation, especially around the corners of the screen. Several even experienced users damaged their screen when disassembling the device. diff --git a/content/documentation/PineTab2/_index.adoc b/content/documentation/PineTab2/_index.md similarity index 55% rename from content/documentation/PineTab2/_index.adoc rename to content/documentation/PineTab2/_index.md index 689ea84f..9d6dc859 100644 --- a/content/documentation/PineTab2/_index.adoc +++ b/content/documentation/PineTab2/_index.md @@ -11,8 +11,8 @@ menu: {{< figure src="/documentation/PineTab2/images/PineTab2_Front.jpg" title="The PineTab2 with the detachable keyboard attached" width="250" >}} -The *PineTab2* is PINE64's successor to the original link:/documentation/PineTab[PineTab] Linux tablet computer, featuring a faster processor and better availability. The tablet is available in two configurations, 4GB of RAM and 64GB of internal storage or 8GB of RAM and 128GB of internal storage. The tablet ships with a detachable keyboard that doubles as a protective cover. +The **PineTab2** is PINE64’s successor to the original [PineTab](/documentation/PineTab) Linux tablet computer, featuring a faster processor and better availability. The tablet is available in two configurations, 4GB of RAM and 64GB of internal storage or 8GB of RAM and 128GB of internal storage. The tablet ships with a detachable keyboard that doubles as a protective cover. The tablet is designed around the Rockchip RK3566 processor, which features 4 energy-efficient Cortex-A55 64-bit ARM cores and enjoys good mainline Linux support. -Pre-orders started on the 13th of April 2023, with pricing starting at USD 159 for the 4GB/64GB version and USD 209 for the 8GB/128GB version. The PineTab2 began shipping on June 2, 2023. \ No newline at end of file +Pre-orders started on the 13th of April 2023, with pricing starting at USD 159 for the 4GB/64GB version and USD 209 for the 8GB/128GB version. The PineTab2 began shipping on June 2, 2023. diff --git a/content/documentation/PineTime/Accessory/Cases.adoc b/content/documentation/PineTime/Accessory/Cases.adoc deleted file mode 100644 index 5b1c1654..00000000 --- a/content/documentation/PineTime/Accessory/Cases.adoc +++ /dev/null @@ -1,20 +0,0 @@ ---- -title: "Cases" -draft: false -menu: - docs: - title: - parent: "PineTime/Accessory" - identifier: "PineTime/Accessory/Cases" - weight: ---- - -There are no cases for PineTime yet, but some cases for Fitbit are suitable for it. Cases for Fitbit have one microphone hole, which is unnecessary for the PineTime, but otherwise they fit perfectly (such as the _Soft TPU case for Fitbit Versa 2/Versa Lite_). - -The community designed the following cases: - -* https://www.thingiverse.com/thing:4172849[PineTime Smart Watch case by dara0s at thingiverse] -* https://www.thingiverse.com/thing:6578148[PineTime Flexible Cover by AmbiSpace at thingiverse] -* https://www.thingiverse.com/thing:4651462[PineTime dev kit back fix by joaquimorg at thingiverse] -* https://www.thingiverse.com/thing:4763267[PineTime dev kit charging holder v4 by zevix81 at thingiverse] -* https://www.prusaprinters.org/prints/88913-pinetime-charger-case[PineTime Charger Travel Case by brett at PrusaPrinters] diff --git a/content/documentation/PineTime/Accessory/Cases.md b/content/documentation/PineTime/Accessory/Cases.md new file mode 100644 index 00000000..5fc6a9b9 --- /dev/null +++ b/content/documentation/PineTime/Accessory/Cases.md @@ -0,0 +1,20 @@ +--- +title: "Cases" +draft: false +menu: + docs: + title: + parent: "PineTime/Accessory" + identifier: "PineTime/Accessory/Cases" + weight: +--- + +There are no cases for PineTime yet, but some cases for Fitbit are suitable for it. Cases for Fitbit have one microphone hole, which is unnecessary for the PineTime, but otherwise they fit perfectly (such as the _Soft TPU case for Fitbit Versa 2/Versa Lite_). + +The community designed the following cases: + +* [PineTime Smart Watch case by dara0s at thingiverse](https://www.thingiverse.com/thing:4172849) +* [PineTime Flexible Cover by AmbiSpace at thingiverse](https://www.thingiverse.com/thing:6578148) +* [PineTime dev kit back fix by joaquimorg at thingiverse](https://www.thingiverse.com/thing:4651462) +* [PineTime dev kit charging holder v4 by zevix81 at thingiverse](https://www.thingiverse.com/thing:4763267) +* [PineTime Charger Travel Case by brett at PrusaPrinters](https://www.prusaprinters.org/prints/88913-pinetime-charger-case) diff --git a/content/documentation/PineTime/Accessory/Watch_band.adoc b/content/documentation/PineTime/Accessory/Watch_band.adoc deleted file mode 100644 index 5d4fa6e3..00000000 --- a/content/documentation/PineTime/Accessory/Watch_band.adoc +++ /dev/null @@ -1,21 +0,0 @@ ---- -title: "Watch band" -draft: false -menu: - docs: - title: - parent: "PineTime/Accessory" - identifier: "PineTime/Accessory/Watch_band" - weight: ---- - -The PineTime uses a standard 20mm watch band / strap. There is a https://forum.pine64.org/showthread.php?tid=9392&pid=81902[thread] in the forum discussing this. - -Due to the watches design. Retention for the spring bars are recessed into the watch. Not all 20mm bands / straps work. This is especially the case for Nato style bands / straps being too thick. - -Known working bands: - -* https://www.bisonstrap.com/products/bisonstrap-waterproof-sport-silicone-watch-bands-black?variant=40103305543773[BISONSTRAP 20mm Quick Release Silicone Watch Band] / https://www.amazon.com/dp/B08XTNKQSJ[Amazon US] -* DMVEIMAL 20mm Quick Release Watch Band Metal Strap / https://www.amazon.com/gp/product/B0BGJC8CXG[Amazon US] -* Morsey 20mm Quick Release Watch Band / https://www.amazon.com/dp/B08DD57SHV[Amazon US] - diff --git a/content/documentation/PineTime/Accessory/Watch_band.md b/content/documentation/PineTime/Accessory/Watch_band.md new file mode 100644 index 00000000..36a74d28 --- /dev/null +++ b/content/documentation/PineTime/Accessory/Watch_band.md @@ -0,0 +1,20 @@ +--- +title: "Watch band" +draft: false +menu: + docs: + title: + parent: "PineTime/Accessory" + identifier: "PineTime/Accessory/Watch_band" + weight: +--- + +The PineTime uses a standard 20mm watch band / strap. There is a [thread](https://forum.pine64.org/showthread.php?tid=9392&pid=81902) in the forum discussing this. + +Due to the watches design. Retention for the spring bars are recessed into the watch. Not all 20mm bands / straps work. This is especially the case for Nato style bands / straps being too thick. + +Known working bands: + +* [BISONSTRAP 20mm Quick Release Silicone Watch Band](https://www.bisonstrap.com/products/bisonstrap-waterproof-sport-silicone-watch-bands-black?variant=40103305543773) / [Amazon US](https://www.amazon.com/dp/B08XTNKQSJ) +* DMVEIMAL 20mm Quick Release Watch Band Metal Strap / [Amazon US](https://www.amazon.com/gp/product/B0BGJC8CXG) +* Morsey 20mm Quick Release Watch Band / [Amazon US](https://www.amazon.com/dp/B08DD57SHV) diff --git a/content/documentation/PineTime/Development/Compatibility.adoc b/content/documentation/PineTime/Development/Compatibility.md similarity index 69% rename from content/documentation/PineTime/Development/Compatibility.adoc rename to content/documentation/PineTime/Development/Compatibility.md index 207cc2db..167214f7 100644 --- a/content/documentation/PineTime/Development/Compatibility.adoc +++ b/content/documentation/PineTime/Development/Compatibility.md @@ -9,12 +9,12 @@ menu: weight: --- -== Compatibility with other projects +## Compatibility with other projects Different firmware running using different bootloaders and Bluetooth stacks on the nRF52832 have different requirements on how they should be initialised and what should be placed where in the internal flash. -To keep track of what, how and why things work like they do across the different projects, check out the link:/documentation/PineTime/Flashing/SD_MCUBoot[PineTime SoftDevice and MCUBoot compatibility] article. +To keep track of what, how and why things work like they do across the different projects, check out the [PineTime SoftDevice and MCUBoot compatibility](/documentation/PineTime/Flashing/SD_MCUBoot) article. -== Compatibility with companions apps and Bluetooth communication +## Compatibility with companions apps and Bluetooth communication -There are a lot of different firmware running on the Pinetime that implement different BLE APIs (for example for time synchronization and notifications). Companion apps must be able to differentiate between different firmware and forks of the same firmware. See link:/documentation/PineTime/Software/Bluetooth[Bluetooth]. +There are a lot of different firmware running on the Pinetime that implement different BLE APIs (for example for time synchronization and notifications). Companion apps must be able to differentiate between different firmware and forks of the same firmware. See [Bluetooth](/documentation/PineTime/Software/Bluetooth). diff --git a/content/documentation/PineTime/Development/Hardware_wishlist.adoc b/content/documentation/PineTime/Development/Hardware_wishlist.adoc deleted file mode 100644 index 5ef578ec..00000000 --- a/content/documentation/PineTime/Development/Hardware_wishlist.adoc +++ /dev/null @@ -1,89 +0,0 @@ ---- -title: "Hardware wishlist" -draft: false -menu: - docs: - title: - parent: "PineTime/Development" - identifier: "PineTime/Development/Hardware_wishlist" - weight: ---- - -This page contains a list of things people wish PineTime did differently - -== Hardware - -* Other display technology could be explored. -** E-ink -*** Still images require no power to maintain -**[//en.Wikipedia.org/wiki/Transflective_liquid-crystal_display A transflective LCD] -*** Increased readability in bright daylight -**[//en.wikipedia.org/wiki/OLED OLED] -*** Self-emissive display (pixels emit their own light) -*** Allows for lower power usage with mostly black screens -*** Allows for low power visual notifications (imagine an always-on small red square in the corner to indicate a notification) -* Touchscreen with configurable sensitivity -** Ideal for gloved fingers and water droplet resistance -** Preferably it should remain capacitive, as a resistive touchscreen would have too many trade-offs. -* A slightly bigger 256×256 pixel display -** This resolution is preferable for its binary alignment for low-level simplicity -** It has the property that its X and Y coordinates are each addressable with a single byte, with no bounds checking -** Its total number of pixels is a power of 2 (65536), and each pixel is addressable with exactly 2 bytes. -** The http://Pelulamu.net/ibniz[IBNIZ (Ideally Bare Numeric Impression giZmo) virtual machine], designed for minimalist demoscene graphics, has chosen 256×256 for its virtual display specifically for code efficiency. -*** If PineTime also chose 256×256 then it would be a target platform for unclipped IBNIZ demoscene programmes, which would be really fun to play around with on one's wrist! -* Full screen refresh is very slow -** A full 16-bit redraw on the display takes at worst 120ms, which is 8Hz -** Modest optimization is possible by adopting 12-bit color -** A smooth scrolling/usage/animation experience would be 30Hz minimum, preferably 60hz -** Display redraw is currently bottlenecked by the nRF52832 maximum SPI clock (8MHz). -** The nRF528(33/40) has one high speed SPI master which supports 32MHz, still well below the ST7789 maximum -** Parallel data transfer could be an option, but using more GPIOs (which don't look available) -* Some sort of scroll wheel (and possibly button combination) would be nice as an additional input method -* Changed GPIO assignment so more functionality is available (i.e. NFC and VSYNC) -* Wireless charging, or Qi Charging capability -* Different MCU with more RAM and ROM, higher clock -** nRF5840 update -*** 32MHz HS SPI, QuadSPI -*** CryptoCell + Secure Key Storage -*** More RAM, a coprocessor -*** The possibility to expose USB through power pins -** Ox64/BL808 -*** Open hardware RISC-V based MCU -*** Significant jump in performance -*** Significant jump in memory and storage, allowing for more features and better UI's -** Possibly a pre-certified MCU module with a ceramic antenna -* Version without sensors but maybe bigger battery -* Pins on the programmer connector to allow UART while developing (currently there is a TX test point on PCB). (Note: There's ARM SemiHosting, ITM and Segger RTT that fulfil this purpose for most) -* Connect SDO of ST7889 LCD controller to MCU -** Allows MCU to execute READ commands -** Possibility of leveraging ST7889 RAM to save MCU RAM? -* LCD must be centered on case. Currently is not and watchfaces seems different when clock is put on the other wrist. -* A NFC antenna around the case, connected to the NFC pins. -* Used sensors should be NDA-free and preferably also blob-free for easier development -** Possibly replace BMA421 accelerometer with a magnetometer + gyroscope + accelerometer combination -*** The BMA421 doesn't have a public datasheet -*** Special attention should be paid to advanced features, such as step counting integration or flick detection. -* PineTime SoC could support USB or have a FTDI chip with the relevant pins exposed -** It could allow flashing a sealed device, just like Arduinos work. -** Alternatively, an USB-C port could be added that provides these features. -* A bigger pulldown resistor for the power button -** 100k still leaks a noticeable amount of power when the button is always on. -* Ceramic Bluetooth antenna for better signal reception -* An external RTC circuit -** Allows the main MCU go to deep-sleep while retaining time. -** Allows time retention through MCU reset. -* Ultra low quiescent current PMIC -** In theory could provide a hard reset capability based on button press -** Better deep sleep/shipping/storage/off lifetime -*** A nano-power system timer IC could in theory provide a RTC, MOSFET-controlled deep sleep, watchdog timer and button-controlled reset -** Built-in "fuel gauge" for better estimation of battery capacity -* Improved haptic or audible feedback -** E.g. small Piezo buzzer -** Use case would be for very short beeps (think old-school casio watch) as notification. -** Of course developers can PWM other frequency to make it sing, but piezos tend to be shrill. -* A built-in microphone -** Would allow phone call functionality to be built into the watch. -** Could potentially allow for speech recognition for text input. -** Direct access to the external (flash) storage -** Only a small jump in price - diff --git a/content/documentation/PineTime/Development/Hardware_wishlist.md b/content/documentation/PineTime/Development/Hardware_wishlist.md new file mode 100644 index 00000000..e754f33f --- /dev/null +++ b/content/documentation/PineTime/Development/Hardware_wishlist.md @@ -0,0 +1,88 @@ +--- +title: "Hardware wishlist" +draft: false +menu: + docs: + title: + parent: "PineTime/Development" + identifier: "PineTime/Development/Hardware_wishlist" + weight: +--- + +This page contains a list of things people wish PineTime did differently + +## Hardware + +* Other display technology could be explored. + * E-ink + * Still images require no power to maintain + **[//en.Wikipedia.org/wiki/Transflective_liquid-crystal_display A transflective LCD] + * Increased readability in bright daylight + **[//en.wikipedia.org/wiki/OLED OLED] + * Self-emissive display (pixels emit their own light) + * Allows for lower power usage with mostly black screens + * Allows for low power visual notifications (imagine an always-on small red square in the corner to indicate a notification) +* Touchscreen with configurable sensitivity + * Ideal for gloved fingers and water droplet resistance + * Preferably it should remain capacitive, as a resistive touchscreen would have too many trade-offs. +* A slightly bigger 256×256 pixel display + * This resolution is preferable for its binary alignment for low-level simplicity + * It has the property that its X and Y coordinates are each addressable with a single byte, with no bounds checking + * Its total number of pixels is a power of 2 (65536), and each pixel is addressable with exactly 2 bytes. + * The [IBNIZ (Ideally Bare Numeric Impression giZmo) virtual machine](http://Pelulamu.net/ibniz), designed for minimalist demoscene graphics, has chosen 256×256 for its virtual display specifically for code efficiency. + * If PineTime also chose 256×256 then it would be a target platform for unclipped IBNIZ demoscene programmes, which would be really fun to play around with on one’s wrist! +* Full screen refresh is very slow + * A full 16-bit redraw on the display takes at worst 120ms, which is 8Hz + * Modest optimization is possible by adopting 12-bit color + * A smooth scrolling/usage/animation experience would be 30Hz minimum, preferably 60hz + * Display redraw is currently bottlenecked by the nRF52832 maximum SPI clock (8MHz). + * The nRF528(33/40) has one high speed SPI master which supports 32MHz, still well below the ST7789 maximum + * Parallel data transfer could be an option, but using more GPIOs (which don’t look available) +* Some sort of scroll wheel (and possibly button combination) would be nice as an additional input method +* Changed GPIO assignment so more functionality is available (i.e. NFC and VSYNC) +* Wireless charging, or Qi Charging capability +* Different MCU with more RAM and ROM, higher clock + * nRF5840 update + * 32MHz HS SPI, QuadSPI + * CryptoCell + Secure Key Storage + * More RAM, a coprocessor + * The possibility to expose USB through power pins + * Ox64/BL808 + * Open hardware RISC-V based MCU + * Significant jump in performance + * Significant jump in memory and storage, allowing for more features and better UI’s + * Possibly a pre-certified MCU module with a ceramic antenna +* Version without sensors but maybe bigger battery +* Pins on the programmer connector to allow UART while developing (currently there is a TX test point on PCB). (Note: There’s ARM SemiHosting, ITM and Segger RTT that fulfil this purpose for most) +* Connect SDO of ST7889 LCD controller to MCU + * Allows MCU to execute READ commands + * Possibility of leveraging ST7889 RAM to save MCU RAM? +* LCD must be centered on case. Currently is not and watchfaces seems different when clock is put on the other wrist. +* A NFC antenna around the case, connected to the NFC pins. +* Used sensors should be NDA-free and preferably also blob-free for easier development + * Possibly replace BMA421 accelerometer with a magnetometer + gyroscope + accelerometer combination + * The BMA421 doesn’t have a public datasheet + * Special attention should be paid to advanced features, such as step counting integration or flick detection. +* PineTime SoC could support USB or have a FTDI chip with the relevant pins exposed + * It could allow flashing a sealed device, just like Arduinos work. + * Alternatively, an USB-C port could be added that provides these features. +* A bigger pulldown resistor for the power button + * 100k still leaks a noticeable amount of power when the button is always on. +* Ceramic Bluetooth antenna for better signal reception +* An external RTC circuit + * Allows the main MCU go to deep-sleep while retaining time. + * Allows time retention through MCU reset. +* Ultra low quiescent current PMIC + * In theory could provide a hard reset capability based on button press + * Better deep sleep/shipping/storage/off lifetime + * A nano-power system timer IC could in theory provide a RTC, MOSFET-controlled deep sleep, watchdog timer and button-controlled reset + * Built-in "fuel gauge" for better estimation of battery capacity +* Improved haptic or audible feedback + * E.g. small Piezo buzzer + * Use case would be for very short beeps (think old-school casio watch) as notification. + * Of course developers can PWM other frequency to make it sing, but piezos tend to be shrill. +* A built-in microphone + * Would allow phone call functionality to be built into the watch. + * Could potentially allow for speech recognition for text input. + * Direct access to the external (flash) storage + * Only a small jump in price diff --git a/content/documentation/PineTime/Development/Reprogramming.adoc b/content/documentation/PineTime/Development/Reprogramming.adoc deleted file mode 100644 index 53946770..00000000 --- a/content/documentation/PineTime/Development/Reprogramming.adoc +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: "Reprogramming" -draft: false -menu: - docs: - title: - parent: "PineTime/Development" - identifier: "PineTime/Development/Reprogramming" - weight: ---- - -link:/documentation/PineTime/Further_information/Devkit_wiring[Wire it up] and then flash something. - -== Manuals - -* https://github.com/JF002/Pinetime[InfiniTime installation] -* https://github.com/najnesnaj/pinetime-zephyr[Zephyr installation] Beginner manual which explains how to install Zephyr (by najnesnaj). -* https://wasp-os.readthedocs.io/en/latest/[Wasp-OS installation] Full manual with install instructions and an application writer's guide. diff --git a/content/documentation/PineTime/Development/Reprogramming.md b/content/documentation/PineTime/Development/Reprogramming.md new file mode 100644 index 00000000..99aeefab --- /dev/null +++ b/content/documentation/PineTime/Development/Reprogramming.md @@ -0,0 +1,18 @@ +--- +title: "Reprogramming" +draft: false +menu: + docs: + title: + parent: "PineTime/Development" + identifier: "PineTime/Development/Reprogramming" + weight: +--- + +[Wire it up](/documentation/PineTime/Further_information/Devkit_wiring) and then flash something. + +## Manuals + +* [InfiniTime installation](https://github.com/JF002/Pinetime) +* [Zephyr installation](https://github.com/najnesnaj/pinetime-zephyr) Beginner manual which explains how to install Zephyr (by najnesnaj). +* [Wasp-OS installation](https://wasp-os.readthedocs.io/en/latest/) Full manual with install instructions and an application writer’s guide. diff --git a/content/documentation/PineTime/FAQ.adoc b/content/documentation/PineTime/FAQ.adoc deleted file mode 100644 index 540fb3a5..00000000 --- a/content/documentation/PineTime/FAQ.adoc +++ /dev/null @@ -1,191 +0,0 @@ ---- -title: "FAQ" -draft: false -menu: - docs: - title: - parent: "PineTime" - identifier: "PineTime/FAQ" - weight: 6 ---- - -== Does PineTime run Linux? - -No. https://forum.pine64.org/showthread.php?tid=8112[Please read this forum article] for information about Linux on PineTime. Also check out the article https://lupyuen.github.io/pinetime-rust-mynewt/articles/pinetime["PineTime doesn't run Linux... But that's OK!"] - -== Why are there two versions of the PineTime in the store? - -See the below question and answer. - -== Why can I only buy the closed version in a 3-pack, and the open version per one? - -TL:DR: The unsealed PineTime is for development, the sealed one is for production use, because of firmware uploads. That is also why they were initially sold three in a pack. - -In the current situation in development there are some reasons to want to be sure you only experiment with an open device. If you install the wrong firmware, your device could be bricked, until you find a way to open it, which will likely damage the device. -The idea is that if you want to develop an application for the PineTime, you will be testing it out first, and only after you know for sure your new firmware is well tested, you will install it on sealed devices. If you are in the beta stage, having more than one PineTime is probably a good idea. So to prevent people from locking themselves out at the first test, it was decided to sell the closed version only as a pack of 3. Development can be done on an open device, so any issues can be easily handled. - -== How long does it take to ship my PineTime? - -That depends on whether you chose for Standard or Express shipping. Standard shipping for the dev kit may take up to a few weeks. - -== How do I install new software on PineTime? - -If you have a Sealed PineTime, flash only tested PineTime Firmware to your PineTime. If you flash unknown PineTime Firmware, your sealed PineTime may be bricked relatively permanently. - -There is a lot of different software for flashing. Check out link:/documentation/PineTime/Development[Development] page for a list of companion software. - -Also see link:/documentation/PineTime/Software/Reprogramming/[this page to see various methods of reprogramming the devkit PineTime the wired way]. - -Remember to validate the firmware after flashing: Swipe up to show the menu, tap the checkmark icon, tap "Validate". - -== My PineTime arrived, now what? - -You should start by testing out all the features of the watch, to make sure everything works. Power it on and check the display. - -PineTime is shipped with InfiniTime firmware. Press the watch button to show the clock, then swipe up on the touchscreen to reveal the menu. - -You probably now wish to update the bootloader and firmware. - -== What's the OS that's preinstalled on the PineTime by default? - -PineTime ships with the open source https://github.com/JF002/InfiniTime[InfiniTime firmware]. - -To support firmware update and rollback, PineTime includes the open source https://lupyuen.github.io/pinetime-rust-mynewt/articles/mcuboot[MCUBoot Bootloader]. - -== Can we use this OS or its source code? - -Yes, https://github.com/JF002/InfiniTime[InfiniTime] and the https://lupyuen.github.io/pinetime-rust-mynewt/articles/mcuboot[MCUBoot Bootloader] are open source. - -== Why is the back exposed? Is it supposed to snap on? - -The back cover of the PineTime devkit is exposed so that you can flash and debug the device with the SWD pins. The main unit and cover does not snap (lock) together. If you want to attach the back cover anyway, you can use glue or tape. - -== What hardware should I use to flash code to the PineTime? - -There are several ways you can do this, check out link:/documentation/PineTime/Software/Reprogramming/[Reprogramming the PineTime] - -== How do I connect the PineTime to a programmer? - -Here's how: link:/documentation/PineTime/Further_information/Devkit_wiring[Devkit wiring] - -== How do I set the time on PineTime? - -In recent versions of the firmware, you can set it directly from settings. - -You can also use either GadgetBridge or the closed-source nRF Connect and Da Fit apps. See https://lupyuen.github.io/pinetime-rust-mynewt/articles/cloud#set-pinetime-date-and-time-with-nrf-connect["Set PineTime Date and Time with nRF Connect"] - -You can also set the time using your PinePhone or other Linux-based Bluetooth LE capable device with the Bluez software installed. Install the bluez package and make sure your PineTime is running and awake with InfiniTime 0.7.1 or later. - - $ bluetoothctl - [ bluetooth ]# scan on - ... - [NEW] Device D7:03:FB:6E:31:B2 Pinetime-JF - ... - [bluetooth]# pair D7:03:FB:6E:31:B2 - Attempting to pair with D7:03:FB:6E:31:B2 - ... - [NEW] Characteristic (Handle 0xfd80) - /org/bluez/hci0/dev_D7_03_FB_6E_31_B2/service0015/char0016 - 00002a2b-0000-1000-8000-00805f9b34fb - Current Time - ... - [Pinetime-JF]# menu gatt - ... - [Pinetime-JF]# select-attribute /org/bluez/hci0/dev_D7_03_FB_6E_31_B2/service0015/char0016 - [Pinetime-JF:/service0015/char0016]# read - Attempting to read /org/bluez/hci0/dev_D7_03_FB_6E_31_B2/service0015/char0016 - [CHG] Attribute /org/bluez/hci0/dev_D7_03_FB_6E_31_B2/service0015/char0016 Value: - b2 07 01 01 00 04 15 00 00 ......... - b2 07 01 01 00 04 15 00 00 ......... - [Pinetime-JF:/service0015/char0016]# write "0xe4 0x07 0x0c 0x1f 0x0e 0x02 0x00 0x00 0x00" - -Use the list-attributes command to find the correct path. Look for the characteristic named 'Current Time' - -This is the format for the current time as hex bytes: - - -== Is there a standard agreed method of pushing OTA updates so that one could seal the PineTime dev kit nicely? - -InfiniTime supports firmware updates over Bluetooth LE with the nRF Connect mobile app. See https://lupyuen.github.io/pinetime-rust-mynewt/articles/cloud#download-and-test-our-pinetime-firmware["Download and Test Our PineTime Firmware"] - -== My PineTime's screen shows garbage, how do I fix it? - -This is usually caused by unplugging the device after it has booted, it needs to be reinitialised. To do so just restart the watch by removing power to it. - -== I have experience developing on Arduino. How does the PineTime compare? - -To learn programming on PineTime, https://lupyuen.github.io/pinetime-rust-mynewt/articles/cloud[check out this article] - -Arduino provides the Arduino IDE (or you use the avr-gcc and avrdude command-line tools) which you can use to compile and upload code to an Arduino board. The PineTime and its ARM processor doesn't have this, so you'll have to familiarize yourself with tools like GCC for ARM, and OpenOCD. Some experience with Arduino does translate over to the PineTime, especially if you've worked with LCD's, or SPI. The PineTime is at least four times faster than an Arduino Uno (even faster at certain specific workloads due to hardware acceleration), and it has 32 times more RAM and 16 times more flash storage. - -https://github.com/lupyuen/[Lup Yuen Lee] (just call him Lup, rhymes with "Up") has written many articles on PineTime programming. https://lupyuen.github.io/[Check out the articles here] - -== Can I code firmware for PineTime without an actual PineTime? - -Yes, you may code PineTime Watch Faces and preview them in a web browser (thanks to WebAssembly). - -https://lupyuen.github.io/pinetime-rust-mynewt/articles/simulator[PineTime Simulator] - -Then flash your firmware remotely to a real PineTime via Telegram, and watch your firmware run in a live video stream. - -https://github.com/lupyuen/remote-pinetime-bot/blob/master/README.md[Remote PineTime] - -== What do I need for building PineTime firmware locally on my computer? - -Most flavours of PineTime firmware (InfiniTime, Hypnos, Klok, wasp-os) will build fine on Linux (x64, Arm32, Arm64) and macOS. Just follow the instructions provided. - -Download version 9-2020-q2-update of the https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads[Arm Embedded Toolchain arm-none-eabi-gcc]. Other versions of gcc may have problems building the firmware correctly. - -On Windows, install https://docs.microsoft.com/en-us/windows/wsl/about[Windows Subsystem for Linux (WSL)] and execute the build steps inside the WSL Terminal (instead of the Windows Command Prompt). USB Programmers (like ST-Link and JLink) are not supported in WSL, so use the Windows Command Prompt to flash your built firmware to PineTime. - -https://github.com/lupyuen/pinetime-rust-mynewt/blob/master/README.md[pinetime-rust-mynewt] firmware for PineTime supports building and flashing via the Windows Command Prompt (no need for MinGW and Docker). - -== Can I use Pinebook Pro for developing PineTime? - -Yes, use version 9-2020-q2-update of the https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads[Arm Embedded Toolchain arm-none-eabi-gcc]. Other versions of gcc may have problems building the firmware correctly. - -== What is ARM Semihosting? - -We use the SWD (Single Wire Debug) protocol created by ARM for flashing and debugging PineTime's nRF52832 microcontroller, which contains an ARM CPU. (SWD is derived from standard JTAG, but with fewer wires) With ARM CPUs you can trigger a software breakpoint, and allow the debugger (OpenOCD) to do something really nifty: Display a message, read console input, dump out a file, even read a file. That's called ARM Semihosting. http://www.keil.com/support/man/docs/armcc/armcc_pge1358787046598.htm[More about ARM Semihosting] - -== What is OpenOCD? - -OpenOCD is Open On-Chip Debugger. It's the software that drives your microcontroller debugger/flasher. We need it for running any kind of flashing and debugging with Pi or ST-Link. gdb talks to OpenOCD for debugging firmware. gdb also works with VSCode for debugging firmware visually. http://openocd.org/doc-release/html/About.html#What-is-OpenOCD_003f[More about OpenOCD] - -Please use https://xpack.github.io/openocd[xPack OpenOCD] with PineTime. Other versions of OpenOCD seem to have problems with PineTime. - -== How do I remove flash protection? - -PineTime watches shipped before 20 Sep 2020 have flash protection enabled. - -The flash protection can be removed using multiple different methods. If you don't have anything except the PineTime, not even a Raspberry Pi, then you have to order a programmer online: you can use a J-Link, CMSIS-DAP dongle and various other programmers. See link:/documentation/PineTime/Software/Reprogramming/[this page to see various methods of reprogramming the PineTime]. - -If your PineTime was shipped after 20 Sep 2020, you don't need to remove flash protection. They are shipped with flash protection disabled. You can flash and debug PineTime right away with ST-Link, JLink and Raspberry Pi. - -== Why can't you use ST-Link to remove nRF52 Flash Protection? - -Because ST-Link is a High Level Adapter. It doesn't really implement all SWD functions, just a subset (probably to keep the price low). More details in the section "Why Visual Studio Code with ST-Link (instead of nRFgo Studio with J-LINK)" in the article https://medium.com/@ly.lee/coding-nrf52-with-rust-and-apache-mynewt-on-visual-studio-code-9521bcba6004?source=friends_link&sk=bb4e2523b922d0870259ab3fa696c7da["Coding nRF52 with Rust and Apache Mynewt on Visual Studio Code"]. - -== Since we need a low level SWD adapter like Raspberry Pi anyway, can we do everything on a Pi instead of ST-Link + Windows? - -Yes, Raspberry Pi works for flashing and debugging PineTime, even for removing flash protection. We have a special version of OpenOCD called OpenOCD SPI that talks to PineTime's SWD port over SPI (without bit-banging). See https://github.com/lupyuen/pinetime-updater/blob/master/README.md[PineTime Updater] - -== Is there a 3D model of PineTime available somewhere? - -Not yet. Someone did design a cover you can snap on to keep the back shut. https://www.thingiverse.com/thing:4172849[More details] - -== Are there any alternatives to the wrist band provided with the PineTime? - -No, but PineTime accepts standard 20mm wrist band that is widely available by a third party. - -Note that some sellers have a different point of view on what standard is. So you should always check the fitting to make sure it looks like the one used by PineTime. - -== Troubleshooting PineTime's Bluetooth (InfiniTime firmware) - -Old (pre 1.4) InfiniTime firmware had an issue where Bluetooth connectivity sometimes gets lost/fails. - -The fix was to soft-reset the watch, by holding the PineTime button for ~8 seconds until the PineCone logo appears. - -== Does PineTime have an audible beeper or speaker? - -No, but in practice the vibration component is a substitute for use with alerts. \ No newline at end of file diff --git a/content/documentation/PineTime/FAQ.md b/content/documentation/PineTime/FAQ.md new file mode 100644 index 00000000..f6bfcaf2 --- /dev/null +++ b/content/documentation/PineTime/FAQ.md @@ -0,0 +1,194 @@ +--- +title: "FAQ" +draft: false +menu: + docs: + title: + parent: "PineTime" + identifier: "PineTime/FAQ" + weight: 6 +--- + +## Does PineTime run Linux? + +No. [Please read this forum article](https://forum.pine64.org/showthread.php?tid=8112) for information about Linux on PineTime. Also check out the article ["PineTime doesn’t run Linux... But that’s OK!"](https://lupyuen.github.io/pinetime-rust-mynewt/articles/pinetime) + +## Why are there two versions of the PineTime in the store? + +See the below question and answer. + +## Why can I only buy the closed version in a 3-pack, and the open version per one? + +TL:DR: The unsealed PineTime is for development, the sealed one is for production use, because of firmware uploads. That is also why they were initially sold three in a pack. + +In the current situation in development there are some reasons to want to be sure you only experiment with an open device. If you install the wrong firmware, your device could be bricked, until you find a way to open it, which will likely damage the device. +The idea is that if you want to develop an application for the PineTime, you will be testing it out first, and only after you know for sure your new firmware is well tested, you will install it on sealed devices. If you are in the beta stage, having more than one PineTime is probably a good idea. So to prevent people from locking themselves out at the first test, it was decided to sell the closed version only as a pack of 3. Development can be done on an open device, so any issues can be easily handled. + +## How long does it take to ship my PineTime? + +That depends on whether you chose for Standard or Express shipping. Standard shipping for the dev kit may take up to a few weeks. + +## How do I install new software on PineTime? + +If you have a Sealed PineTime, flash only tested PineTime Firmware to your PineTime. If you flash unknown PineTime Firmware, your sealed PineTime may be bricked relatively permanently. + +There is a lot of different software for flashing. Check out [Development](/documentation/PineTime/Development) page for a list of companion software. + +Also see [this page to see various methods of reprogramming the devkit PineTime the wired way](/documentation/PineTime/Software/Reprogramming/). + +Remember to validate the firmware after flashing: Swipe up to show the menu, tap the checkmark icon, tap "Validate". + +## My PineTime arrived, now what? + +You should start by testing out all the features of the watch, to make sure everything works. Power it on and check the display. + +PineTime is shipped with InfiniTime firmware. Press the watch button to show the clock, then swipe up on the touchscreen to reveal the menu. + +You probably now wish to update the bootloader and firmware. + +## What's the OS that's preinstalled on the PineTime by default? + +PineTime ships with the open source [InfiniTime firmware](https://github.com/JF002/InfiniTime). + +To support firmware update and rollback, PineTime includes the open source [MCUBoot Bootloader](https://lupyuen.github.io/pinetime-rust-mynewt/articles/mcuboot). + +## Can we use this OS or its source code? + +Yes, [InfiniTime](https://github.com/JF002/InfiniTime) and the [MCUBoot Bootloader](https://lupyuen.github.io/pinetime-rust-mynewt/articles/mcuboot) are open source. + +## Why is the back exposed? Is it supposed to snap on? + +The back cover of the PineTime devkit is exposed so that you can flash and debug the device with the SWD pins. The main unit and cover does not snap (lock) together. If you want to attach the back cover anyway, you can use glue or tape. + +## What hardware should I use to flash code to the PineTime? + +There are several ways you can do this, check out [Reprogramming the PineTime](/documentation/PineTime/Software/Reprogramming/) + +## How do I connect the PineTime to a programmer? + +Here’s how: [Devkit wiring](/documentation/PineTime/Further_information/Devkit_wiring) + +## How do I set the time on PineTime? + +In recent versions of the firmware, you can set it directly from settings. + +You can also use either GadgetBridge or the closed-source nRF Connect and Da Fit apps. See ["Set PineTime Date and Time with nRF Connect"](https://lupyuen.github.io/pinetime-rust-mynewt/articles/cloud#set-pinetime-date-and-time-with-nrf-connect) + +You can also set the time using your PinePhone or other Linux-based Bluetooth LE capable device with the Bluez software installed. Install the bluez package and make sure your PineTime is running and awake with InfiniTime 0.7.1 or later. + +```console +$ bluetoothctl +[ bluetooth ]# scan on +... +[NEW] Device D7:03:FB:6E:31:B2 Pinetime-JF +... +[bluetooth]# pair D7:03:FB:6E:31:B2 +Attempting to pair with D7:03:FB:6E:31:B2 +... +[NEW] Characteristic (Handle 0xfd80) + /org/bluez/hci0/dev_D7_03_FB_6E_31_B2/service0015/char0016 + 00002a2b-0000-1000-8000-00805f9b34fb + Current Time +... +[Pinetime-JF]# menu gatt +... +[Pinetime-JF]# select-attribute /org/bluez/hci0/dev_D7_03_FB_6E_31_B2/service0015/char0016 +[Pinetime-JF:/service0015/char0016]# read +Attempting to read /org/bluez/hci0/dev_D7_03_FB_6E_31_B2/service0015/char0016 +[CHG] Attribute /org/bluez/hci0/dev_D7_03_FB_6E_31_B2/service0015/char0016 Value: + b2 07 01 01 00 04 15 00 00 ......... + b2 07 01 01 00 04 15 00 00 ......... +[Pinetime-JF:/service0015/char0016]# write "0xe4 0x07 0x0c 0x1f 0x0e 0x02 0x00 0x00 0x00" +``` + +Use the list-attributes command to find the correct path. Look for the characteristic named 'Current Time' + +This is the format for the current time as hex bytes: + + + +## Is there a standard agreed method of pushing OTA updates so that one could seal the PineTime dev kit nicely? + +InfiniTime supports firmware updates over Bluetooth LE with the nRF Connect mobile app. See ["Download and Test Our PineTime Firmware"](https://lupyuen.github.io/pinetime-rust-mynewt/articles/cloud#download-and-test-our-pinetime-firmware) + +## My PineTime's screen shows garbage, how do I fix it? + +This is usually caused by unplugging the device after it has booted, it needs to be reinitialised. To do so just restart the watch by removing power to it. + +## I have experience developing on Arduino. How does the PineTime compare? + +To learn programming on PineTime, [check out this article](https://lupyuen.github.io/pinetime-rust-mynewt/articles/cloud) + +Arduino provides the Arduino IDE (or you use the avr-gcc and avrdude command-line tools) which you can use to compile and upload code to an Arduino board. The PineTime and its ARM processor doesn’t have this, so you’ll have to familiarize yourself with tools like GCC for ARM, and OpenOCD. Some experience with Arduino does translate over to the PineTime, especially if you’ve worked with LCD’s, or SPI. The PineTime is at least four times faster than an Arduino Uno (even faster at certain specific workloads due to hardware acceleration), and it has 32 times more RAM and 16 times more flash storage. + +[Lup Yuen Lee](https://github.com/lupyuen/) (just call him Lup, rhymes with "Up") has written many articles on PineTime programming. [Check out the articles here](https://lupyuen.github.io/) + +## Can I code firmware for PineTime without an actual PineTime? + +Yes, you may code PineTime Watch Faces and preview them in a web browser (thanks to WebAssembly). + +[PineTime Simulator](https://lupyuen.github.io/pinetime-rust-mynewt/articles/simulator) + +Then flash your firmware remotely to a real PineTime via Telegram, and watch your firmware run in a live video stream. + +[Remote PineTime](https://github.com/lupyuen/remote-pinetime-bot/blob/master/README.md) + +## What do I need for building PineTime firmware locally on my computer? + +Most flavours of PineTime firmware (InfiniTime, Hypnos, Klok, wasp-os) will build fine on Linux (x64, Arm32, Arm64) and macOS. Just follow the instructions provided. + +Download version 9-2020-q2-update of the [Arm Embedded Toolchain arm-none-eabi-gcc](https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads). Other versions of gcc may have problems building the firmware correctly. + +On Windows, install [Windows Subsystem for Linux (WSL)](https://docs.microsoft.com/en-us/windows/wsl/about) and execute the build steps inside the WSL Terminal (instead of the Windows Command Prompt). USB Programmers (like ST-Link and JLink) are not supported in WSL, so use the Windows Command Prompt to flash your built firmware to PineTime. + +[pinetime-rust-mynewt](https://github.com/lupyuen/pinetime-rust-mynewt/blob/master/README.md) firmware for PineTime supports building and flashing via the Windows Command Prompt (no need for MinGW and Docker). + +## Can I use Pinebook Pro for developing PineTime? + +Yes, use version 9-2020-q2-update of the [Arm Embedded Toolchain arm-none-eabi-gcc](https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads). Other versions of gcc may have problems building the firmware correctly. + +## What is ARM Semihosting? + +We use the SWD (Single Wire Debug) protocol created by ARM for flashing and debugging PineTime’s nRF52832 microcontroller, which contains an ARM CPU. (SWD is derived from standard JTAG, but with fewer wires) With ARM CPUs you can trigger a software breakpoint, and allow the debugger (OpenOCD) to do something really nifty: Display a message, read console input, dump out a file, even read a file. That’s called ARM Semihosting. [More about ARM Semihosting](http://www.keil.com/support/man/docs/armcc/armcc_pge1358787046598.htm) + +## What is OpenOCD? + +OpenOCD is Open On-Chip Debugger. It’s the software that drives your microcontroller debugger/flasher. We need it for running any kind of flashing and debugging with Pi or ST-Link. gdb talks to OpenOCD for debugging firmware. gdb also works with VSCode for debugging firmware visually. [More about OpenOCD](http://openocd.org/doc-release/html/About.html#What-is-OpenOCD_003f) + +Please use [xPack OpenOCD](https://xpack.github.io/openocd) with PineTime. Other versions of OpenOCD seem to have problems with PineTime. + +## How do I remove flash protection? + +PineTime watches shipped before 20 Sep 2020 have flash protection enabled. + +The flash protection can be removed using multiple different methods. If you don’t have anything except the PineTime, not even a Raspberry Pi, then you have to order a programmer online: you can use a J-Link, CMSIS-DAP dongle and various other programmers. See [this page to see various methods of reprogramming the PineTime](/documentation/PineTime/Software/Reprogramming/). + +If your PineTime was shipped after 20 Sep 2020, you don’t need to remove flash protection. They are shipped with flash protection disabled. You can flash and debug PineTime right away with ST-Link, JLink and Raspberry Pi. + +## Why can't you use ST-Link to remove nRF52 Flash Protection? + +Because ST-Link is a High Level Adapter. It doesn’t really implement all SWD functions, just a subset (probably to keep the price low). More details in the section "Why Visual Studio Code with ST-Link (instead of nRFgo Studio with J-LINK)" in the article ["Coding nRF52 with Rust and Apache Mynewt on Visual Studio Code"](https://medium.com/@ly.lee/coding-nrf52-with-rust-and-apache-mynewt-on-visual-studio-code-9521bcba6004?source=friends_link&sk=bb4e2523b922d0870259ab3fa696c7da). + +## Since we need a low level SWD adapter like Raspberry Pi anyway, can we do everything on a Pi instead of ST-Link + Windows? + +Yes, Raspberry Pi works for flashing and debugging PineTime, even for removing flash protection. We have a special version of OpenOCD called OpenOCD SPI that talks to PineTime’s SWD port over SPI (without bit-banging). See [PineTime Updater](https://github.com/lupyuen/pinetime-updater/blob/master/README.md) + +## Is there a 3D model of PineTime available somewhere? + +Not yet. Someone did design a cover you can snap on to keep the back shut. [More details](https://www.thingiverse.com/thing:4172849) + +## Are there any alternatives to the wrist band provided with the PineTime? + +No, but PineTime accepts standard 20mm wrist band that is widely available by a third party. + +Note that some sellers have a different point of view on what standard is. So you should always check the fitting to make sure it looks like the one used by PineTime. + +## Troubleshooting PineTime's Bluetooth (InfiniTime firmware) + +Old (pre 1.4) InfiniTime firmware had an issue where Bluetooth connectivity sometimes gets lost/fails. + +The fix was to soft-reset the watch, by holding the PineTime button for ~8 seconds until the PineCone logo appears. + +## Does PineTime have an audible beeper or speaker? + +No, but in practice the vibration component is a substitute for use with alerts. diff --git a/content/documentation/PineTime/Flashing/SD_MCUBoot.adoc b/content/documentation/PineTime/Flashing/SD_MCUBoot.md similarity index 51% rename from content/documentation/PineTime/Flashing/SD_MCUBoot.adoc rename to content/documentation/PineTime/Flashing/SD_MCUBoot.md index 0cee30db..603d8668 100644 --- a/content/documentation/PineTime/Flashing/SD_MCUBoot.adoc +++ b/content/documentation/PineTime/Flashing/SD_MCUBoot.md @@ -9,72 +9,63 @@ menu: weight: --- -== The Problem +## The Problem -- PineTime ships with the MCUBoot bootloader which boots to the link:/documentation/PineTime/Software/InfiniTime[InfiniTime] Firmware +* PineTime ships with the MCUBoot bootloader which boots to the [InfiniTime](/documentation/PineTime/Software/InfiniTime) Firmware +* This assumes that the firmware ([InfiniTime](/documentation/PineTime/Software/InfiniTime), Mynewt, Zephyr, ...) has its own Bluetooth LE (BLE) stack and can handle firmware updates (DFU) +* But some firmware (wasp-os, ATCwatch) require Nordic SoftDevice to be installed to support the BLE and DFU functions +* [InfiniTime](/documentation/PineTime/Software/InfiniTime) Firmware does not support flashing of SoftDevice as firmware update, because SoftDevice is usually flashed at address 0x1000 (plus a 4k MBR at 0 to switch between the bootloader and the softdevice), which is used by the MCUBoot Bootloader -- This assumes that the firmware (link:/documentation/PineTime/Software/InfiniTime[InfiniTime], Mynewt, Zephyr, ...) has its own Bluetooth LE (BLE) stack and can handle firmware updates (DFU) +## How do we allow SoftDevice-based firmware to be flashed to PineTime via DFU? -- But some firmware (wasp-os, ATCwatch) require Nordic SoftDevice to be installed to support the BLE and DFU functions +### Dual Bootloader Modes -- link:/documentation/PineTime/Software/InfiniTime[InfiniTime] Firmware does not support flashing of SoftDevice as firmware update, because SoftDevice is usually flashed at address 0x1000 (plus a 4k MBR at 0 to switch between the bootloader and the softdevice), which is used by the MCUBoot Bootloader +#### Process -== How do we allow SoftDevice-based firmware to be flashed to PineTime via DFU? - -=== Dual Bootloader Modes - -==== Process - -- PineTime will support 2 Bootloader Modes: https://github.com/JuulLabs-OSS/mcuboot/wiki[MCUBoot] and SoftDevice. Default is MCUBoot Mode. - -- The two bootloaders will not coexist, they will be mutually exclusive. This allows a different flash ROM map for each bootloader. +* PineTime will support 2 Bootloader Modes: [MCUBoot](https://github.com/JuulLabs-OSS/mcuboot/wiki) and SoftDevice. Default is MCUBoot Mode. +* The two bootloaders will not coexist, they will be mutually exclusive. This allows a different flash ROM map for each bootloader. To switch from MCUBoot Mode to SoftDevice Mode: -- We will use DFU to flash a SoftDevice Loader Firmware, which will boot and replace MCUBoot by SoftDevice - -- Thereafter, when PineTime boots, it will start SoftDevice and will be ready to accept SoftDevice-based firmware for DFU: wasp-os, ATCWatch +* We will use DFU to flash a SoftDevice Loader Firmware, which will boot and replace MCUBoot by SoftDevice +* Thereafter, when PineTime boots, it will start SoftDevice and will be ready to accept SoftDevice-based firmware for DFU: wasp-os, ATCWatch To switch from SoftDevice Mode to MCUBoot Mode: -- When we need to switch back to MCUBoot-based firmware (InfiniTime, Mynewt, Zephyr, ...), we will run an MCUBoot Loader (based on https://github.com/daniel-thompson/wasp-reloader +* When we need to switch back to MCUBoot-based firmware (InfiniTime, Mynewt, Zephyr, ...), we will run an MCUBoot Loader (based on https://github.com/daniel-thompson/wasp-reloader ) to replace SoftDevice by MCUBoot plus a Minimal DFU Firmware that accepts DFU commands +* After rebooting, MCUBoot starts the Minimal DFU Firmware, which will accept MCUBoot-based firmware for flashing +* The MCUBoot-based firmware replaces the Minimal DFU Firmware -- After rebooting, MCUBoot starts the Minimal DFU Firmware, which will accept MCUBoot-based firmware for flashing +#### Switching modes with Companion App -- The MCUBoot-based firmware replaces the Minimal DFU Firmware +* The PineTime Companion App (e.g. Gadgetbridge) will switch modes automatically depending on the firmware to be flashed. So PineTime Owners will never have to switch modes themselves. +* For SoftDevice-based firmware, the Companion App will also know which SoftDevice version is needed by the firmware, and load the right SoftDevice version. -==== Switching modes with Companion App +### Custom MBR -- The PineTime Companion App (e.g. Gadgetbridge) will switch modes automatically depending on the firmware to be flashed. So PineTime Owners will never have to switch modes themselves. +It’s possible to customise (SoftDevice’s) MBR so that it can coexist with MCUBoot. -- For SoftDevice-based firmware, the Companion App will also know which SoftDevice version is needed by the firmware, and load the right SoftDevice version. - -=== Custom MBR - -It's possible to customise (SoftDevice's) MBR so that it can coexist with MCUBoot. - -*Pros:* +**Pros:** * Seamless switching between the two different boot modes. Both MCUBoot and SD can be used. -*Cons:* +**Cons:** -* Technically more complex - documentation isn't the best, SoftDevice's future support for custom MBR might be unknown +* Technically more complex - documentation isn’t the best, SoftDevice’s future support for custom MBR might be unknown Should be explored further. -==== External resources about custom MBR +#### External resources about custom MBR * https://devzone.nordicsemi.com/f/nordic-q-a/27599/boot-sequence-for-nrf52832 * https://aykevl.nl/2018/01/mbr-softdevice-internals * https://forum.pine64.org/showthread.php?tid=9779&pid=65203#pid65203 -==== wasp-reloader +#### wasp-reloader wasp-reloader is a simple bare-metal C program that, in a fairly brutal fashion, can rewrite critical parts of the internal flash. It has fairly robust checksumming to avoid flashing problems and verifies that what it written is what is supposed to be written. Having said that more checks (no self-overwrite, battery level) would be nice. When complete it stops updating the watchdog in order to provoke get a clean reset. As a standalone app it can be loaded into the secondary slot using Infinitime DFU upgrade. Currently it has linker scripts for SD132 V6.1.1 and can flash any payload smaller than SD132. -To be used to install SoftDevice from mcuboot it would need linker scripts for mcuboot (to ensure the reloader sits high enough in flash to avoid a self-overwrite). To install mcuboot we need an Intel HEX file of the mcuboot payload *and* InfiniTime (we have to write it in one shot to keep BLE updates working after switching bootloaders). This may need custom linker scripts depending on how big the Infinitime binaries are. - +To be used to install SoftDevice from mcuboot it would need linker scripts for mcuboot (to ensure the reloader sits high enough in flash to avoid a self-overwrite). To install mcuboot we need an Intel HEX file of the mcuboot payload **and** InfiniTime (we have to write it in one shot to keep BLE updates working after switching bootloaders). This may need custom linker scripts depending on how big the Infinitime binaries are. diff --git a/content/documentation/PineTime/Further_information/Devkit_wiring.adoc b/content/documentation/PineTime/Further_information/Devkit_wiring.adoc deleted file mode 100644 index 6cb25b84..00000000 --- a/content/documentation/PineTime/Further_information/Devkit_wiring.adoc +++ /dev/null @@ -1,69 +0,0 @@ ---- -title: "PineTime Devkit Wiring" -draft: false -menu: - docs: - title: - parent: "PineTime/Further_information" - identifier: "PineTime/Further_information/Devkit_wiring" - weight: ---- - -This article will help you get up to scratch about how to connect your PineTime to your hardware debugger and what to keep in mind. - -The devkit comes with a set of wires you can use for connecting your programmer to the SWD pins. Most people use friction to make contact with the programming cable. Soldering the wires to the pinetime is not recommended, especially if you don't have a temperature-controlled iron and good confidence that you can do it - the thin PCB is fragile and easy to break. - -Current amount of *dead PineTimes* (or ruined bundled programming connectors) due to attempted soldering is *5* (update this number when suitable). - -Read this about the battery - -You have three choices: - -a) If you *have* a soldering iron and you're confident with using it, it is recommended that you remove the battery until you actually need it. Doing so avoids unnecessary charge cycles and strain on it. It can also potentially prevent issues with your watch not resetting properly or backfeeding power into your debugger-programmer. There's also the option that you just connect a microswitch between the battery's positive side and the PineTime, just make sure to isolate your connections so it doesn't short out against anything. - -b) If you *do not have* a soldering iron or you're not confident with using it, don't disconnect the battery if you ever plan on using it. Don't bend the wires too much as they're thin, you won't be able to reconnect it. Keep in mind that keeping it connected during development will probably reduce the lifetime of the battery. Small load on the 3.3V pin is probably fine, but it will drain the battery empty. Having the battery connected when it's not empty will also very likely backfeed power into your 3.3V pin - *Don't cause short circuits! Don't leave the wire dangling!* - -c) If you don't disconnect the battery, also don't connect the *3.3V* pin from the SWD cable when debugging or updating firmware. You only need to use the *GND, SWDIO and SWDCLK* pins. In that case the watch will run exclusively on battery, but there is no danger of backfeeding power. - -== SWD Pinout - -The devkits have exposed SWD pins for flashing and debugging. - -The pinout is: - -{{< figure src="/documentation/images/PineTime_SWD_location.jpg" width="400" >}} - -== Pogo Pins connection - -The https://pine64.com/product/pinetime-pogopin-jig/[PineTime Pogo Pins] are spring-loaded pins with diamond-shaped tips. - -{{< figure src="/documentation/images/PineTime_pogo_tip.jpg" width="400" >}} - -The Pogo Pins are meant to be connected temporarily to PineTime's SWD port for firmware flashing and simple firmware debugging. - -{{< figure src="/documentation/images/PineTime_pogo_stlink.jpg" width="400" >}} - -The other end of the Pogo Pins connects to ST-Link v2 or JLink for flashing and debugging. (ST-Link v2 is shown in the background) - -To connect PineTime Pogo Pins to PineTime's SWD Port: - -. To orientate the pins, stick a piece of *Sticky Tape* to the Pogo Pins as shown above. The Sticky Tape should point *away from PineTime's Battery*. Orientation is important. You may damage PineTime with the incorrect orientation! -. With the Battery at left and Sticky Tape pointing right, the SWD Pins will be arranged left to right as: *SWDIO, SWDCLK, 3.3V, GND* -. Connect the other end of the Pogo Pins to the Jumper Cable that's bundled with PineTime. Connect the Jumper Cable to ST-Link v2 or JLink: SWDIO, SWDCLK, 3.3V, GND. See link:/documentation/PineTime/Software/Reprogramming/[Reprogramming the PineTime] -. With the *Sticky Tape pointing right* (away from the Battery), tap and hold the Pogo Pins firmly on PineTime's SWD Port. *But not too hard* because the PCB or screen may break. Stabilise the Pogo Pins with your pinky finger as shown above. -. PineTime should light up and reboot when the Pogo Pins are connected. You may flash and debug PineTime now. See link:/documentation/PineTime/Software/Reprogramming/[Reprogramming the PineTime] - -The tips of the Pogo Pins will partially penetrate the SWD holes like this. Don't force them in! - -{{< figure src="/documentation/images/PineTime_pogo_swd.jpg" width="400" >}} - -== Soldered wires example - -Before attempting this, make sure you have a good soldering iron, some magnification and you haven't set your iron too high. If you haven't ever before soldered things this small, you really really do not want to start out on something this dense, small and thus fragile. - -{{< figure src="/documentation/images/PineTime_soldered_wires.jpg" width="400" >}} - -== Raspberry Pi connection - -See https://github.com/lupyuen/pinetime-updater/blob/master/README.md[PineTime Updater] - diff --git a/content/documentation/PineTime/Further_information/Devkit_wiring.md b/content/documentation/PineTime/Further_information/Devkit_wiring.md new file mode 100644 index 00000000..971f46ea --- /dev/null +++ b/content/documentation/PineTime/Further_information/Devkit_wiring.md @@ -0,0 +1,68 @@ +--- +title: "PineTime Devkit Wiring" +draft: false +menu: + docs: + title: + parent: "PineTime/Further_information" + identifier: "PineTime/Further_information/Devkit_wiring" + weight: +--- + +This article will help you get up to scratch about how to connect your PineTime to your hardware debugger and what to keep in mind. + +The devkit comes with a set of wires you can use for connecting your programmer to the SWD pins. Most people use friction to make contact with the programming cable. Soldering the wires to the pinetime is not recommended, especially if you don’t have a temperature-controlled iron and good confidence that you can do it - the thin PCB is fragile and easy to break. + +Current amount of **dead PineTimes** (or ruined bundled programming connectors) due to attempted soldering is **5** (update this number when suitable). + +Read this about the battery + +You have three choices: + +a) If you **have** a soldering iron and you’re confident with using it, it is recommended that you remove the battery until you actually need it. Doing so avoids unnecessary charge cycles and strain on it. It can also potentially prevent issues with your watch not resetting properly or backfeeding power into your debugger-programmer. There’s also the option that you just connect a microswitch between the battery’s positive side and the PineTime, just make sure to isolate your connections so it doesn’t short out against anything. + +b) If you **do not have** a soldering iron or you’re not confident with using it, don’t disconnect the battery if you ever plan on using it. Don’t bend the wires too much as they’re thin, you won’t be able to reconnect it. Keep in mind that keeping it connected during development will probably reduce the lifetime of the battery. Small load on the 3.3V pin is probably fine, but it will drain the battery empty. Having the battery connected when it’s not empty will also very likely backfeed power into your 3.3V pin - **Don’t cause short circuits! Don’t leave the wire dangling!** + +c) If you don’t disconnect the battery, also don’t connect the **3.3V** pin from the SWD cable when debugging or updating firmware. You only need to use the **GND, SWDIO and SWDCLK** pins. In that case the watch will run exclusively on battery, but there is no danger of backfeeding power. + +## SWD Pinout + +The devkits have exposed SWD pins for flashing and debugging. + +The pinout is: + +{{< figure src="/documentation/images/PineTime_SWD_location.jpg" width="400" >}} + +## Pogo Pins connection + +The [PineTime Pogo Pins](https://pine64.com/product/pinetime-pogopin-jig/) are spring-loaded pins with diamond-shaped tips. + +{{< figure src="/documentation/images/PineTime_pogo_tip.jpg" width="400" >}} + +The Pogo Pins are meant to be connected temporarily to PineTime’s SWD port for firmware flashing and simple firmware debugging. + +{{< figure src="/documentation/images/PineTime_pogo_stlink.jpg" width="400" >}} + +The other end of the Pogo Pins connects to ST-Link v2 or JLink for flashing and debugging. (ST-Link v2 is shown in the background) + +To connect PineTime Pogo Pins to PineTime’s SWD Port: + +1. To orientate the pins, stick a piece of **Sticky Tape** to the Pogo Pins as shown above. The Sticky Tape should point **away from PineTime’s Battery**. Orientation is important. You may damage PineTime with the incorrect orientation! +2. With the Battery at left and Sticky Tape pointing right, the SWD Pins will be arranged left to right as: **SWDIO, SWDCLK, 3.3V, GND** +3. Connect the other end of the Pogo Pins to the Jumper Cable that’s bundled with PineTime. Connect the Jumper Cable to ST-Link v2 or JLink: SWDIO, SWDCLK, 3.3V, GND. See [Reprogramming the PineTime](/documentation/PineTime/Software/Reprogramming/) +4. With the **Sticky Tape pointing right** (away from the Battery), tap and hold the Pogo Pins firmly on PineTime’s SWD Port. **But not too hard** because the PCB or screen may break. Stabilise the Pogo Pins with your pinky finger as shown above. +5. PineTime should light up and reboot when the Pogo Pins are connected. You may flash and debug PineTime now. See [Reprogramming the PineTime](/documentation/PineTime/Software/Reprogramming/) + +The tips of the Pogo Pins will partially penetrate the SWD holes like this. Don’t force them in! + +{{< figure src="/documentation/images/PineTime_pogo_swd.jpg" width="400" >}} + +## Soldered wires example + +Before attempting this, make sure you have a good soldering iron, some magnification and you haven’t set your iron too high. If you haven’t ever before soldered things this small, you really really do not want to start out on something this dense, small and thus fragile. + +{{< figure src="/documentation/images/PineTime_soldered_wires.jpg" width="400" >}} + +## Raspberry Pi connection + +See [PineTime Updater](https://github.com/lupyuen/pinetime-updater/blob/master/README.md) diff --git a/content/documentation/PineTime/Further_information/Equivalents.adoc b/content/documentation/PineTime/Further_information/Equivalents.md similarity index 84% rename from content/documentation/PineTime/Further_information/Equivalents.adoc rename to content/documentation/PineTime/Further_information/Equivalents.md index e696bb88..e9f9cc4c 100644 --- a/content/documentation/PineTime/Further_information/Equivalents.adoc +++ b/content/documentation/PineTime/Further_information/Equivalents.md @@ -13,13 +13,12 @@ This page contains a list of PineTime hardware equivalents or very close clones. Please add devices that use the same chipset to this list. -== Kalakate +## Kalakate Seems to be PineTime hardware, interesting GUI, seems DaFit-y * https://www.youtube.com/watch?v=1VdMxbOYxgA -== Colmi P8 - -A few firmware already support both the P8 and PineTime, the physical differences are minor - only a few MCU pins are mapped differently. There are a few open issues on InfiniTime's GitHub page to add support for this device. +## Colmi P8 +A few firmware already support both the P8 and PineTime, the physical differences are minor - only a few MCU pins are mapped differently. There are a few open issues on InfiniTime’s GitHub page to add support for this device. diff --git a/content/documentation/PineTime/Getting_started.adoc b/content/documentation/PineTime/Getting_started.adoc deleted file mode 100644 index aca23ed1..00000000 --- a/content/documentation/PineTime/Getting_started.adoc +++ /dev/null @@ -1,20 +0,0 @@ ---- -title: "Getting started" -draft: false -menu: - docs: - title: - parent: "PineTime" - identifier: "PineTime/Getting_started" - weight: 1 ---- - -Read these first: - -* link:/documentation/PineTime/Software/Upgrade_to_InfiniTime_1_0_0[Upgrading your new PineTime to InfiniTime 1.0.0] -* link:/documentation/PineTime/Further_information/Devkit_wiring[Devkit wiring] -* link:/documentation/PineTime/Software/Reprogramming/[Reprogramming the PineTime (development kit)] -* link:/documentation/PineTime/Software/Switching_between_InfiniTime_and_Wasp-os[Switching your PineTime between InfiniTime and Wasp-os] - -The frequently asked question can be found in the article link:/documentation/PineTime/FAQ[FAQ]. - diff --git a/content/documentation/PineTime/Getting_started.md b/content/documentation/PineTime/Getting_started.md new file mode 100644 index 00000000..c36af8a6 --- /dev/null +++ b/content/documentation/PineTime/Getting_started.md @@ -0,0 +1,19 @@ +--- +title: "Getting started" +draft: false +menu: + docs: + title: + parent: "PineTime" + identifier: "PineTime/Getting_started" + weight: 1 +--- + +Read these first: + +* [Upgrading your new PineTime to InfiniTime 1.0.0](/documentation/PineTime/Software/Upgrade_to_InfiniTime_1_0_0) +* [Devkit wiring](/documentation/PineTime/Further_information/Devkit_wiring) +* [Reprogramming the PineTime (development kit)](/documentation/PineTime/Software/Reprogramming/) +* [Switching your PineTime between InfiniTime and Wasp-os](/documentation/PineTime/Software/Switching_between_InfiniTime_and_Wasp-os) + +The frequently asked question can be found in the article [FAQ](/documentation/PineTime/FAQ). diff --git a/content/documentation/PineTime/Software/Bluetooth.adoc b/content/documentation/PineTime/Software/Bluetooth.md similarity index 84% rename from content/documentation/PineTime/Software/Bluetooth.adoc rename to content/documentation/PineTime/Software/Bluetooth.md index 2e73a244..4ae06905 100644 --- a/content/documentation/PineTime/Software/Bluetooth.adoc +++ b/content/documentation/PineTime/Software/Bluetooth.md @@ -11,16 +11,15 @@ menu: This page is under construction, but aims to get you more familiar with Bluetooth and how the PineTime utilizes it -== PineTime Bluetooth LE agreements +## PineTime Bluetooth LE agreements These are aimed for firmware developers primarily, and should describe how to design your firmware to be interoperable with the rest. -* link:/documentation/PineTime/Software/Firmware_versioning_for_companion_apps[Firmware versioning for companion apps] +* [Firmware versioning for companion apps](/documentation/PineTime/Software/Firmware_versioning_for_companion_apps) -== External references +## External references * Uncovering Privacy Leakage in BLE Network Traffic of Wearable Fitness Trackers - http://phpathak.com/files/hotmobile-fitness.pdf * Protecting Privacy of BLE Device Users - https://www.usenix.org/system/files/conference/usenixsecurity16/sec16_paper_fawaz.pdf * Bluetooth: With Low Energy Comes Low Security - https://www.usenix.org/conference/woot13/workshop-program/presentation/ryan * Introduction to Bluetooth Low Energy development - https://devzone.nordicsemi.com/nordic/short-range-guides/b/getting-started/posts/introduction-to-bluetooth-low-energy-and-ble-devel - diff --git a/content/documentation/PineTime/Software/Companion_apps.adoc b/content/documentation/PineTime/Software/Companion_apps.adoc deleted file mode 100644 index 411f3dd8..00000000 --- a/content/documentation/PineTime/Software/Companion_apps.adoc +++ /dev/null @@ -1,23 +0,0 @@ ---- -title: "Companion apps" -draft: false -menu: - docs: - title: - parent: "PineTime/Software" - identifier: "PineTime/Software/Companion_apps" - weight: ---- - -PineTime/InfiniTime needs a companion app to e.g. upload a firmware, get notifications from a phone, or just get the date/time. -Here are some companion apps: - -* https://www.gadgetbridge.org[Gadgetbridge] (Android >= 4.4) - Companion mobile app, supports updating firmware/bootloader, send notifications, etc. -* https://openrepos.net/content/piggz/amazfish[Amazfish] (SailfishOS and Linux) - Companion mobile and desktop app, supports updating firmware/bootloader, send notifications, etc. -* https://github.com/azymohliad/watchmate[Watchmate] (Linux) -* https://github.com/alexr4535/siglo[Siglo] (Linux) - Companion desktop app. -* https://github.com/ZephyrLabs/PinetimeFlasher[PinetimeFlasher] (Windows) - Companion desktop app, only supports flashing firmware. -* https://apps.apple.com/us/app/nrf-connect-for-mobile/id1054362403[nRFConnect] (iOS) - Only supports flashing firmware. The app is closed source and versions after 4.24.3 don't work for the PineTime anymore -* https://github.com/xan-m/InfiniLink[InfiniLink] (iOS) - Companion mobile app in development. Supports updating firmware/bootloader, setting date and time, Apple Music controls, and battery and heart rate data. -* https://gitea.elara.ws/Elara6331/itd[ITD] (Linux) - diff --git a/content/documentation/PineTime/Software/Companion_apps.md b/content/documentation/PineTime/Software/Companion_apps.md new file mode 100644 index 00000000..97a888f3 --- /dev/null +++ b/content/documentation/PineTime/Software/Companion_apps.md @@ -0,0 +1,22 @@ +--- +title: "Companion apps" +draft: false +menu: + docs: + title: + parent: "PineTime/Software" + identifier: "PineTime/Software/Companion_apps" + weight: +--- + +PineTime/InfiniTime needs a companion app to e.g. upload a firmware, get notifications from a phone, or just get the date/time. +Here are some companion apps: + +* [Gadgetbridge](https://www.gadgetbridge.org) (Android >= 4.4) - Companion mobile app, supports updating firmware/bootloader, send notifications, etc. +* [Amazfish](https://openrepos.net/content/piggz/amazfish) (SailfishOS and Linux) - Companion mobile and desktop app, supports updating firmware/bootloader, send notifications, etc. +* [Watchmate](https://github.com/azymohliad/watchmate) (Linux) +* [Siglo](https://github.com/alexr4535/siglo) (Linux) - Companion desktop app. +* [PinetimeFlasher](https://github.com/ZephyrLabs/PinetimeFlasher) (Windows) - Companion desktop app, only supports flashing firmware. +* [nRFConnect](https://apps.apple.com/us/app/nrf-connect-for-mobile/id1054362403) (iOS) - Only supports flashing firmware. The app is closed source and versions after 4.24.3 don’t work for the PineTime anymore +* [InfiniLink](https://github.com/xan-m/InfiniLink) (iOS) - Companion mobile app in development. Supports updating firmware/bootloader, setting date and time, Apple Music controls, and battery and heart rate data. +* [ITD](https://gitea.elara.ws/Elara6331/itd) (Linux) diff --git a/content/documentation/PineTime/Software/Default_OS.adoc b/content/documentation/PineTime/Software/Default_OS.adoc deleted file mode 100644 index bb950834..00000000 --- a/content/documentation/PineTime/Software/Default_OS.adoc +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: "Default OS" -draft: false -menu: - docs: - title: - parent: "PineTime/Software" - identifier: "PineTime/Software/Default_OS" - weight: ---- - -The current default operating system on the PineTime is called link:/documentation/PineTime/Software/InfiniTime[InfiniTime], you can find more information about the firmware on its GitHub page. First devkits shipped with a proprietary custom firmware. - -You can find a list of available firmware and other software here: link:/documentation/PineTime/Development[Development] - diff --git a/content/documentation/PineTime/Software/Default_OS.md b/content/documentation/PineTime/Software/Default_OS.md new file mode 100644 index 00000000..b5041c2d --- /dev/null +++ b/content/documentation/PineTime/Software/Default_OS.md @@ -0,0 +1,14 @@ +--- +title: "Default OS" +draft: false +menu: + docs: + title: + parent: "PineTime/Software" + identifier: "PineTime/Software/Default_OS" + weight: +--- + +The current default operating system on the PineTime is called [InfiniTime](/documentation/PineTime/Software/InfiniTime), you can find more information about the firmware on its GitHub page. First devkits shipped with a proprietary custom firmware. + +You can find a list of available firmware and other software here: [Development](/documentation/PineTime/Development) diff --git a/content/documentation/PineTime/Software/InfiniTime_weather.adoc b/content/documentation/PineTime/Software/InfiniTime_weather.md similarity index 67% rename from content/documentation/PineTime/Software/InfiniTime_weather.adoc rename to content/documentation/PineTime/Software/InfiniTime_weather.md index 13b18163..3b22d153 100644 --- a/content/documentation/PineTime/Software/InfiniTime_weather.adoc +++ b/content/documentation/PineTime/Software/InfiniTime_weather.md @@ -9,28 +9,27 @@ menu: weight: --- -Infinitime features a weather subsystem which stores weather data on the watch in a timeline which can be queried by apps or watchfaces. It can store many different types of data (see https://github.com/InfiniTimeOrg/InfiniTime/blob/main/src/components/ble/weather/WeatherData.h[here]) and each entry includes a timestamp and an expiry time. When entries expire they are removed from the timeline automatically. +Infinitime features a weather subsystem which stores weather data on the watch in a timeline which can be queried by apps or watchfaces. It can store many different types of data (see [here](https://github.com/InfiniTimeOrg/InfiniTime/blob/main/src/components/ble/weather/WeatherData.h)) and each entry includes a timestamp and an expiry time. When entries expire they are removed from the timeline automatically. -== Sending weather data to the watch == +## Sending weather data to the watch == -Weather data must be sent to the watch via a companion app. Currently, https://gitea.elara.ws/Elara6331/itd[ITD] and https://www.gadgetbridge.org[Gadgetbridge] have this functionality implemented. +Weather data must be sent to the watch via a companion app. Currently, [ITD](https://gitea.elara.ws/Elara6331/itd) and [Gadgetbridge](https://www.gadgetbridge.org) have this functionality implemented. -=== ITD === +### ITD === ITD is the easiest option as the feature simply needs enabling in the config file with a location specified. It uses data from MET.no and provides one hour of data at a time. -=== Gadgetbridge === -Gadgetbridge is slightly more difficult to set up as it requires a separate app to fetch the weather data. Details are available on the https://gadgetbridge.org/basics/features/weather/[Gadgetbridge website]. +### Gadgetbridge === +Gadgetbridge is slightly more difficult to set up as it requires a separate app to fetch the weather data. Details are available on the [Gadgetbridge website](https://gadgetbridge.org/basics/features/weather/). -== Displaying weather data == +## Displaying weather data == Currently there are 2 ways to display weather data on the watch, a debug app which is disabled by default, and the PineTimeStyle watchface. To enable it, press and hold on the watch face, tap the settings icon and enable weather. The easiest way to enable the debug app is to change the entry for the navigation app in DisplayApp.cpp to load the weather debug app instead: ----- +``` case Apps::Navigation: //currentScreen = std::make_unique(this, systemTask->nimble().navigation()); currentScreen = std::make_unique(this, systemTask->nimble().weather()); break; ----- - +``` diff --git a/content/documentation/PineTime/Watchfaces/PineTimeStyle.adoc b/content/documentation/PineTime/Watchfaces/PineTimeStyle.md similarity index 85% rename from content/documentation/PineTime/Watchfaces/PineTimeStyle.adoc rename to content/documentation/PineTime/Watchfaces/PineTimeStyle.md index fad24cb5..a9acd626 100644 --- a/content/documentation/PineTime/Watchfaces/PineTimeStyle.adoc +++ b/content/documentation/PineTime/Watchfaces/PineTimeStyle.md @@ -11,25 +11,25 @@ menu: PineTimeStyle is a watchface created for Infinitime and has been included since version 1.3 of Infinitime. -It is based on https://www.dantilden.com/projects/timestyle/[TimeStyle for Pebble by Dan Tilden] with permission. +It is based on [TimeStyle for Pebble by Dan Tilden](https://www.dantilden.com/projects/timestyle/) with permission. {{< figure src="/documentation/PineTime/images/InfiniSim_Watchface.png" title="PineTimeStyle Watchface" >}} -== Layout +## Layout The time is displayed on the left in either 12 or 24h format depending on the system setting. An indicator will appear in the bottom left corner if 12h is selected. -In the sidebar on the right there is a battery icon which displays the current charge level, and is replaced by a plug icon when charging. Below it is a bluetooth icon which appears only when bluetooth is connected, and a lower case *i* which indicates unread notifications are available, generally only if notifications are disabled via the quick settings screen. +In the sidebar on the right there is a battery icon which displays the current charge level, and is replaced by a plug icon when charging. Below it is a bluetooth icon which appears only when bluetooth is connected, and a lower case **i** which indicates unread notifications are available, generally only if notifications are disabled via the quick settings screen. The current date is displayed in the middle, and at the bottom there is a small gauge which displays the step count, the needle will rotate in a clockwise direction as the step count increases. The gauge scales automatically based on the configured step goal, and the outside of the gauge will turn white when the step goal is reached. -== Customisation +## Customisation Since version 1.4 of Infinitime, a color picker is available for PineTimeStyle. As of version 1.11, an addition page of customisation has been added which allows the user to customise the sidebar. These settings can be accessed by long pressing on the watchface which will display two buttons, one with a palette icon to access the color settings, one with a cog icon for the sidebar options. {{< figure src="/documentation/PineTime/images/InfiniSim_Settings.png" title="PineTimeStyle Settings Button" >}} -=== The color picker +### The color picker {{< figure src="/documentation/PineTime/images/InfiniSim_Color.png" title="PineTimeStyle Color Settings Interface" >}} @@ -37,7 +37,7 @@ There are 3 pairs of buttons with left and right arrows which scroll through 17 There is also a 'Rnd' button which randomises all colors, a 'Rst' button which resets the colors to standard teal and black, and a cross which closes the settings interface. It can also be closed using the physical button. -=== The sidebar settings +### The sidebar settings {{< figure src="/documentation/PineTime/images/InfiniSim_SidebarSettings.png" title="PineTimeStyle Sidebar Settings" >}} @@ -45,4 +45,4 @@ As of Infinitime version 1.13, there are 2 options available in the sidebar sett By pressing the 'Steps style' button you can toggle between 3 options, the original full gauge, a half size gauge plus seconds display, or a numerical step count display. The second button, Weather, enables or disables this function. When no weather data is available a ban icon will be displayed with 2 dashes below, and when weather data is available the current temperature plus an icon showing conditions based on the cloud cover and precipitation amount. -To learn more about the sending weather data to the watch, see link:/documentation/PineTime/Software/InfiniTime_weather[InfiniTime weather] \ No newline at end of file +To learn more about the sending weather data to the watch, see [InfiniTime weather](/documentation/PineTime/Software/InfiniTime_weather) diff --git a/content/documentation/PineTime/_index.adoc b/content/documentation/PineTime/_index.adoc deleted file mode 100644 index 661cbd2f..00000000 --- a/content/documentation/PineTime/_index.adoc +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: "PineTime" -draft: false -menu: - docs: - title: - parent: "" - identifier: "PineTime" - weight: ---- - -{{< figure src="/documentation/images/Pinetime.png" title="The PineTime" width="400" >}} - -The *PineTime* is a free and open source smartwatch capable of running custom-built open operating systems. Some of the notable features include a heart rate monitor, a week-long battery, and a capacitive touch IPS display that is legible in direct sunlight. It is a fully community driven side-project which anyone can contribute to, allowing you to keep control of your device. \ No newline at end of file diff --git a/content/documentation/PineTime/_index.md b/content/documentation/PineTime/_index.md new file mode 100644 index 00000000..f47898d5 --- /dev/null +++ b/content/documentation/PineTime/_index.md @@ -0,0 +1,14 @@ +--- +title: "PineTime" +draft: false +menu: + docs: + title: + parent: "" + identifier: "PineTime" + weight: +--- + +{{< figure src="/documentation/images/Pinetime.png" title="The PineTime" width="400" >}} + +The **PineTime** is a free and open source smartwatch capable of running custom-built open operating systems. Some of the notable features include a heart rate monitor, a week-long battery, and a capacitive touch IPS display that is legible in direct sunlight. It is a fully community driven side-project which anyone can contribute to, allowing you to keep control of your device. diff --git a/content/documentation/PineVox/_index.adoc b/content/documentation/PineVox/_index.md similarity index 54% rename from content/documentation/PineVox/_index.adoc rename to content/documentation/PineVox/_index.md index 1d6ea85a..1e7d0d10 100644 --- a/content/documentation/PineVox/_index.adoc +++ b/content/documentation/PineVox/_index.md @@ -11,4 +11,4 @@ menu: {{< figure src="/documentation/PineVox/images/pinevox.jpg" title="The PineVox" width="600" >}} -The *PineVox* is a BL606P-based home assistant smart speaker. Designed to help build a good community option for voice interactions with software such as _Home Assistant_. \ No newline at end of file +The **PineVox** is a BL606P-based home assistant smart speaker. Designed to help build a good community option for voice interactions with software such as _Home Assistant_. diff --git a/content/documentation/Pine_A64-LTS/Accessories.adoc b/content/documentation/Pine_A64-LTS/Accessories.md similarity index 60% rename from content/documentation/Pine_A64-LTS/Accessories.adoc rename to content/documentation/Pine_A64-LTS/Accessories.md index ce4114f2..c7af17b9 100644 --- a/content/documentation/Pine_A64-LTS/Accessories.adoc +++ b/content/documentation/Pine_A64-LTS/Accessories.md @@ -9,7 +9,7 @@ menu: weight: 3 --- -Please see link:/documentation/Accessories/Accessories_Step_by_Step_Guides[Accessories Step by Step Guides] for a list of guides for Pine A64 accessories; there you can find instructions and guides about the following: +Please see [Accessories Step by Step Guides](/documentation/Accessories/Accessories_Step_by_Step_Guides) for a list of guides for Pine A64 accessories; there you can find instructions and guides about the following: * Enclosures * Bluetooth and WiFi module @@ -17,4 +17,3 @@ Please see link:/documentation/Accessories/Accessories_Step_by_Step_Guides[Acces * Real Time Clock (RTC) battery holder * First and third party cases * Featured 3D printed cases (and more) - diff --git a/content/documentation/Pine_A64-LTS/Board_features.adoc b/content/documentation/Pine_A64-LTS/Board_features.md similarity index 90% rename from content/documentation/Pine_A64-LTS/Board_features.adoc rename to content/documentation/Pine_A64-LTS/Board_features.md index 6cf18cdf..0073f05f 100644 --- a/content/documentation/Pine_A64-LTS/Board_features.adoc +++ b/content/documentation/Pine_A64-LTS/Board_features.md @@ -12,29 +12,29 @@ menu: {{< figure src="/documentation/images/PINEA64_LTS_board_front.jpg" width="400" >}} {{< figure src="/documentation/images/PINEA64_LTS_board_back.jpg" width="400" >}} -== Layout +## Layout Model "A" Baseboard Dimensions: 133mm x 80mm x 19mm -== Video +## Video * Digital Video (Type A - full) -== Audio +## Audio * 3.5mm stereo earphone/microphone plug -== Network +## Network * 10/100/1000Mbps Ethernet(PINE A64+ version), 10/100Mbps Ethernet(PINE A64 version) * WiFi 802.11 b/g/n with Bluetooth 4.0 (optional) -== Storage +## Storage * microSD - bootable, support SDHC and SDXC, storage up to 256GB * USB - 2 USB2.0 Host port -== Expansion ports +## Expansion ports * DSI - Display Serial Interface, 4 lanes MiPi, up to 1080P * CSI - CMOS Camera Interface up to 5 mega pixel @@ -46,6 +46,6 @@ Model "A" Baseboard Dimensions: 133mm x 80mm x 19mm * 2x17 pins "Euler" GPIO Header * 2x5 pins "EXP" Console Header -== Power +## Power -Input Power: DC 5V @ 2A, 3.7V Li-Ion battery connector, 3.5OD/1.35ID Barrel DC Jack connector, Euler connector \ No newline at end of file +Input Power: DC 5V @ 2A, 3.7V Li-Ion battery connector, 3.5OD/1.35ID Barrel DC Jack connector, Euler connector diff --git a/content/documentation/Pine_A64-LTS/Further_information/Pine_A64_POT.adoc b/content/documentation/Pine_A64-LTS/Further_information/Pine_A64_POT.md similarity index 52% rename from content/documentation/Pine_A64-LTS/Further_information/Pine_A64_POT.adoc rename to content/documentation/Pine_A64-LTS/Further_information/Pine_A64_POT.md index fe2a8376..abf252ed 100644 --- a/content/documentation/Pine_A64-LTS/Further_information/Pine_A64_POT.adoc +++ b/content/documentation/Pine_A64-LTS/Further_information/Pine_A64_POT.md @@ -9,6 +9,5 @@ menu: weight: --- -* link:/documentation/Accessories/POT[PINE A64 Peripheral On Top (POT) and Related Devices] -* link:/documentation/Accessories/Wifi_remote_i2c[WiFi Remote I2c Quick Start Guide] - +* [PINE A64 Peripheral On Top (POT) and Related Devices](/documentation/Accessories/POT) +* [WiFi Remote I2c Quick Start Guide](/documentation/Accessories/Wifi_remote_i2c) diff --git a/content/documentation/Pine_A64-LTS/Further_information/SoC_and_Memory_Specification.adoc b/content/documentation/Pine_A64-LTS/Further_information/SoC_and_Memory_Specification.md similarity index 76% rename from content/documentation/Pine_A64-LTS/Further_information/SoC_and_Memory_Specification.adoc rename to content/documentation/Pine_A64-LTS/Further_information/SoC_and_Memory_Specification.md index 9cf6f900..41c71de9 100644 --- a/content/documentation/Pine_A64-LTS/Further_information/SoC_and_Memory_Specification.adoc +++ b/content/documentation/Pine_A64-LTS/Further_information/SoC_and_Memory_Specification.md @@ -11,9 +11,9 @@ menu: The PINE A64-LTS is based on the Allwinner A64/R18. The R18 and A64 are identical SoCs but the is R18 committed for a 10 years supply by the vendor. -== CPU Architecture +## CPU Architecture -* https://www.arm.com/products/processors/cortex-a/cortex-a53-processor.php[Quad-core ARM Cortex-A53 Processor@1152Mhz] +* [Quad-core ARM Cortex-A53 Processor@1152Mhz](https://www.arm.com/products/processors/cortex-a/cortex-a53-processor.php) * A power-efficient ARM v8 architecture * 64 and 32bit execution states for scalable high performance * Support NEON Advanced SIMD (Single Instruction Multiple Data) instruction for acceleration of media and signal processing function @@ -22,13 +22,12 @@ The PINE A64-LTS is based on the Allwinner A64/R18. The R18 and A64 are identica * 32KB L1 Instruction cache and 32KB L1 Data cache * 512KB L2 cache -== GPU Architecture +## GPU Architecture -* https://www.arm.com/products/multimedia/mali-gpu/ultra-low-power/mali-400.php[ARM Mali400MP2 Dual-core GPU] +* [ARM Mali400MP2 Dual-core GPU](https://www.arm.com/products/multimedia/mali-gpu/ultra-low-power/mali-400.php) * Support OpenGL ES 2.0 and OpenVG 1.1 standard -== System Memory +## System Memory * RAM Memory Variants: 2GB LPDDR3. * Storage Memory: 128Mb SPI Flash and optional eMMC module from 16GB up to 128GB - diff --git a/content/documentation/Pine_A64-LTS/Software.adoc b/content/documentation/Pine_A64-LTS/Software.adoc deleted file mode 100644 index a35e2795..00000000 --- a/content/documentation/Pine_A64-LTS/Software.adoc +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: "Software" -draft: false -menu: - docs: - title: - parent: "Pine_A64-LTS" - identifier: "Pine_A64-LTS/Software" - weight: ---- - -The SOPINE operating system images are compatible with PINE A64-LTS. Under link:/documentation/SOPINE/Software[Software] you will find a complete list of currently supported operating system images, which work with the PINE A64-LTS, as well as other related software. - -Below is a list of links to the build sources and environments for some operating system images. Some of them are labelled as *beta or nightly builds*, which means they are fit for testing purposes only. Those images should be used at your own risk and are not fit for regular use. - -* https://www.stdin.xyz/downloads/people/longsleep/pine64-images/[longsleep BSP Linux] -* https://github.com/ayufan-pine64/linux-build/releases/latest/[ayufan Linux] -* https://github.com/ayufan-pine64/android-7.1/releases/latest/[ayufan Android 7.1], https://github.com/ayufan-pine64/android-6.0/releases/latest/[Android 6.0], and https://github.com/ayufan-pine64/android-5.1/releases/latest/[Android 5.1] -* https://pine64suse.weebly.com/download.html[openSUSE] -* https://dl.armbian.com/pine64so/archive/[SOPINE Armbian] -* https://github.com/anarsoul/linux-build/releases/latest[Arch Linux XFCE] -* https://sourceforge.net/projects/openmediavault/files/Other%20armhf%20images/[OpenMediaVault] diff --git a/content/documentation/Pine_A64-LTS/Software.md b/content/documentation/Pine_A64-LTS/Software.md new file mode 100644 index 00000000..4a6a1081 --- /dev/null +++ b/content/documentation/Pine_A64-LTS/Software.md @@ -0,0 +1,22 @@ +--- +title: "Software" +draft: false +menu: + docs: + title: + parent: "Pine_A64-LTS" + identifier: "Pine_A64-LTS/Software" + weight: +--- + +The SOPINE operating system images are compatible with PINE A64-LTS. Under [Software](/documentation/SOPINE/Software) you will find a complete list of currently supported operating system images, which work with the PINE A64-LTS, as well as other related software. + +Below is a list of links to the build sources and environments for some operating system images. Some of them are labelled as **beta or nightly builds**, which means they are fit for testing purposes only. Those images should be used at your own risk and are not fit for regular use. + +* [longsleep BSP Linux](https://www.stdin.xyz/downloads/people/longsleep/pine64-images/) +* [ayufan Linux](https://github.com/ayufan-pine64/linux-build/releases/latest/) +* [ayufan Android 7.1](https://github.com/ayufan-pine64/android-7.1/releases/latest/), [Android 6.0](https://github.com/ayufan-pine64/android-6.0/releases/latest/), and [Android 5.1](https://github.com/ayufan-pine64/android-5.1/releases/latest/) +* [openSUSE](https://pine64suse.weebly.com/download.html) +* [SOPINE Armbian](https://dl.armbian.com/pine64so/archive/) +* [Arch Linux XFCE](https://github.com/anarsoul/linux-build/releases/latest) +* [OpenMediaVault](https://sourceforge.net/projects/openmediavault/files/Other%20armhf%20images/) diff --git a/content/documentation/Pine_A64-LTS/_index.adoc b/content/documentation/Pine_A64-LTS/_index.adoc deleted file mode 100644 index 0a1a0b24..00000000 --- a/content/documentation/Pine_A64-LTS/_index.adoc +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: "PINE A64-LTS" -draft: false -menu: - docs: - title: - parent: "" - identifier: "Pine_A64-LTS" - weight: ---- - -{{< figure src="/documentation/images/PINEA64_LTS_sideimg.jpg" title="The PINE A64-LTS" width="400" >}} - -The *PINE64-LTS* is the long term supply version of the PINE A64 (+), _PINE64's_ first single board computer, powered by Allwinner’s A64 quad-core ARM Cortex A53 64-Bit SoC. There are many operating systems available for the PINE A64-LTS created by the open source community and various partner projects. The PINE A64-LTS is guaranteed to be supplied until the year 2025 at the very least. - diff --git a/content/documentation/Pine_A64-LTS/_index.md b/content/documentation/Pine_A64-LTS/_index.md new file mode 100644 index 00000000..91ff783b --- /dev/null +++ b/content/documentation/Pine_A64-LTS/_index.md @@ -0,0 +1,14 @@ +--- +title: "PINE A64-LTS" +draft: false +menu: + docs: + title: + parent: "" + identifier: "Pine_A64-LTS" + weight: +--- + +{{< figure src="/documentation/images/PINEA64_LTS_sideimg.jpg" title="The PINE A64-LTS" width="400" >}} + +The **PINE64-LTS** is the long term supply version of the PINE A64 (+), _PINE64’s_ first single board computer, powered by Allwinner’s A64 quad-core ARM Cortex A53 64-Bit SoC. There are many operating systems available for the PINE A64-LTS created by the open source community and various partner projects. The PINE A64-LTS is guaranteed to be supplied until the year 2025 at the very least. diff --git a/content/documentation/Pine_A64/Further_information/Heat_sinks.adoc b/content/documentation/Pine_A64/Further_information/Heat_sinks.md similarity index 99% rename from content/documentation/Pine_A64/Further_information/Heat_sinks.adoc rename to content/documentation/Pine_A64/Further_information/Heat_sinks.md index 6d0afbce..9277e32d 100644 --- a/content/documentation/Pine_A64/Further_information/Heat_sinks.adoc +++ b/content/documentation/Pine_A64/Further_information/Heat_sinks.md @@ -12,4 +12,3 @@ menu: Overclocking requires heat sinks: {{< figure src="/documentation/Pine_A64/images/pine_a64_heatsink.png" title="Position of the heat sinks" width="500" >}} - diff --git a/content/documentation/Pine_A64/Further_information/Pine_A64_POT.adoc b/content/documentation/Pine_A64/Further_information/Pine_A64_POT.md similarity index 50% rename from content/documentation/Pine_A64/Further_information/Pine_A64_POT.adoc rename to content/documentation/Pine_A64/Further_information/Pine_A64_POT.md index 3254df51..9b2c9f5d 100644 --- a/content/documentation/Pine_A64/Further_information/Pine_A64_POT.adoc +++ b/content/documentation/Pine_A64/Further_information/Pine_A64_POT.md @@ -9,6 +9,5 @@ menu: weight: --- -* link:/documentation/Accessories/POT[PINE A64 Peripheral On Top (POT) and Related Devices] -* link:/documentation/Accessories/Wifi_remote_i2c[WiFi Remote I2c Quick Start Guide] - +* [PINE A64 Peripheral On Top (POT) and Related Devices](/documentation/Accessories/POT) +* [WiFi Remote I2c Quick Start Guide](/documentation/Accessories/Wifi_remote_i2c) diff --git a/content/documentation/Pine_A64/Further_information/SoC_and_Memory_Specification.adoc b/content/documentation/Pine_A64/Further_information/SoC_and_Memory_Specification.md similarity index 69% rename from content/documentation/Pine_A64/Further_information/SoC_and_Memory_Specification.adoc rename to content/documentation/Pine_A64/Further_information/SoC_and_Memory_Specification.md index dd58b2e0..c0301925 100644 --- a/content/documentation/Pine_A64/Further_information/SoC_and_Memory_Specification.adoc +++ b/content/documentation/Pine_A64/Further_information/SoC_and_Memory_Specification.md @@ -11,9 +11,9 @@ menu: The Pine A64 is based on the _Allwinner A64_. -== CPU Architecture +## CPU Architecture -* https://www.arm.com/products/processors/cortex-a/cortex-a53-processor.php[Quad-core ARM Cortex-A53 Processor@1152Mhz] +* [Quad-core ARM Cortex-A53 Processor@1152Mhz](https://www.arm.com/products/processors/cortex-a/cortex-a53-processor.php) * A power-efficient ARM v8 architecture * 64 and 32bit execution states for scalable high performance * Support NEON Advanced SIMD (Single Instruction Multiple Data) instruction for acceleration of media and signal processing function @@ -22,13 +22,12 @@ The Pine A64 is based on the _Allwinner A64_. * 32KB L1 Instruction cache and 32KB L1 Data cache * 512KB L2 cache -== GPU Architecture +## GPU Architecture -* https://www.arm.com/products/multimedia/mali-gpu/ultra-low-power/mali-400.php[ARM Mali400MP2 Dual-core GPU] +* [ARM Mali400MP2 Dual-core GPU](https://www.arm.com/products/multimedia/mali-gpu/ultra-low-power/mali-400.php) * Support OpenGL ES 2.0 and OpenVG 1.1 standard -== System Memory +## System Memory * RAM Memory Variants: 512MB, 1GB and 2GB DDR3. -* Storage Memory: PINE A64 boards _do not_ have built-in Flash memory but use *bootable microSD Cards* or USB attached storage. - +* Storage Memory: PINE A64 boards _do not_ have built-in Flash memory but use **bootable microSD Cards** or USB attached storage. diff --git a/content/documentation/Pine_A64/_index.adoc b/content/documentation/Pine_A64/_index.md similarity index 50% rename from content/documentation/Pine_A64/_index.adoc rename to content/documentation/Pine_A64/_index.md index b2633178..64ede1c0 100644 --- a/content/documentation/Pine_A64/_index.adoc +++ b/content/documentation/Pine_A64/_index.md @@ -11,6 +11,6 @@ menu: {{< figure src="/documentation/images/PINEA64_sideimg.jpg" title="The PINE A64" width="400" >}} -The *PINE A64* and the *PINE A64+* is _PINE64's_ first Single Board Computer powered by Allwinner’s A64 quad-core ARM Cortex A53 64-Bit SoC. There are many Operating Systems available for the PINE A64 created by the open source community and various partner projects. +The **PINE A64** and the **PINE A64+** is _PINE64’s_ first Single Board Computer powered by Allwinner’s A64 quad-core ARM Cortex A53 64-Bit SoC. There are many Operating Systems available for the PINE A64 created by the open source community and various partner projects. -Presently, most Linux distributions for the PINE A64 rely on mainline Linux. However, there also exist a variety of BSP-based distributions and legacy systems that users can download. \ No newline at end of file +Presently, most Linux distributions for the PINE A64 rely on mainline Linux. However, there also exist a variety of BSP-based distributions and legacy systems that users can download. diff --git a/content/documentation/Pinebook/Variants.adoc b/content/documentation/Pinebook/Variants.md similarity index 73% rename from content/documentation/Pinebook/Variants.adoc rename to content/documentation/Pinebook/Variants.md index e021fc37..c2824b29 100644 --- a/content/documentation/Pinebook/Variants.adoc +++ b/content/documentation/Pinebook/Variants.md @@ -15,5 +15,4 @@ The following variants exist of the Pinebook: * Pinebook 11.6″ 1080p * Pinebook 14″ -More information can be found on the https://linux-sunxi.org/Pine_Pinebook[sunxi wiki]. - +More information can be found on the [sunxi wiki](https://linux-sunxi.org/Pine_Pinebook). diff --git a/content/documentation/Pinebook/_index.adoc b/content/documentation/Pinebook/_index.adoc deleted file mode 100644 index 03e95ab8..00000000 --- a/content/documentation/Pinebook/_index.adoc +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: "Pinebook" -draft: false -menu: - docs: - title: - parent: "" - identifier: "Pinebook" - weight: ---- - -{{< figure src="images/pinebook.jpg" title="The Pinebook" width="400" >}} - -The *Pinebook* is an 11.6″ or 11.6″ with 1080P IPS panel or 14″ notebook powered by the same quad-core ARM Cortex A53 64-Bit Processor used in our popular PINE A64 Single Board Computer. It is very lightweight, hackable and comes equipped with a full-sized keyboard and large multi-touch trackpad. It runs numerous mainline Linux distributions as well as *BSD and Android. - diff --git a/content/documentation/Pinebook/_index.md b/content/documentation/Pinebook/_index.md new file mode 100644 index 00000000..435bca64 --- /dev/null +++ b/content/documentation/Pinebook/_index.md @@ -0,0 +1,14 @@ +--- +title: "Pinebook" +draft: false +menu: + docs: + title: + parent: "" + identifier: "Pinebook" + weight: +--- + +{{< figure src="images/pinebook.jpg" title="The Pinebook" width="400" >}} + +The **Pinebook** is an 11.6″ or 11.6″ with 1080P IPS panel or 14″ notebook powered by the same quad-core ARM Cortex A53 64-Bit Processor used in our popular PINE A64 Single Board Computer. It is very lightweight, hackable and comes equipped with a full-sized keyboard and large multi-touch trackpad. It runs numerous mainline Linux distributions as well as *BSD and Android. diff --git a/content/documentation/Pinebook_Pro/Dock.adoc b/content/documentation/Pinebook_Pro/Dock.md similarity index 57% rename from content/documentation/Pinebook_Pro/Dock.adoc rename to content/documentation/Pinebook_Pro/Dock.md index 406594e7..dae911bc 100644 --- a/content/documentation/Pinebook_Pro/Dock.adoc +++ b/content/documentation/Pinebook_Pro/Dock.md @@ -9,9 +9,9 @@ menu: weight: 3 --- -The *Pinebook Pro USB-C Docking Deck* can be used to extend the link:/documentation/Pinebook_Pro[Pinebook Pro] with additional functionality. It is custom designed for both, physical dimensions and ports, to compliment the Pinebook Pro laptop. It has been tested on several disparate platforms and seems to be fully compatible with Android, Windows, ChromeOS, and GNU/Linux. It may be compatible with Apple systems, but this has yet to be documented. +The **Pinebook Pro USB-C Docking Deck** can be used to extend the [Pinebook Pro](/documentation/Pinebook_Pro) with additional functionality. It is custom designed for both, physical dimensions and ports, to compliment the Pinebook Pro laptop. It has been tested on several disparate platforms and seems to be fully compatible with Android, Windows, ChromeOS, and GNU/Linux. It may be compatible with Apple systems, but this has yet to be documented. -== Ports +## Ports List of ports available on docking station: @@ -24,58 +24,58 @@ List of ports available on docking station: * Card readers: micro SD x 1 & SD x 1, supports: SD, SDHC and SDXC * Audio Jack: 3.5mm Earphone Jack with mic x1 -== Hardware Tests +## Hardware Tests -*Acer Aspire e15* +**Acer Aspire e15** Note that machine lacks USB-C video. Tested with both Windows 10 and Gentoo GNU/Linux. Every device functions properly with the exception of the microphone jack. In Linux, the jack will only function with its volume set at or above 98 in _alsamixer_. This is uncomfortably loud. 8/10 for compatibility. -*iPad Air (4th generation)* +**iPad Air (4th generation)** USB dock functions for fast charging and input from USB keyboard and mouse peripherals. Audio jack does not function under any tested circumstances. Bluetooth audio disabled when dock in use. Other devices not tested. 8/10 -*Samsung Chromebook Plus V2* +**Samsung Chromebook Plus V2** Everything functions perfectly, with the exception of Ethernet, which was not tested. 9/10. -*Google Pixel 4a* +**Google Pixel 4a** Note that the machine lacks USB-C video. Using android version 11. Video and Ethernet were not tested. Everything else functioned properly. 8/10. -*PineBook Pro* +**PineBook Pro** Using Manjaro ARM minimal with dwm. Video out, USB, and SD card readers all work. Did not test Ethernet or audio jack. 8/10. -Using devuan ARM & debian ARM, xfce4. Did not test Video out. USB and SD card readers work. Ethernet is working at full speed. The Docking Deck is able to negotiate USB-C 9V 1.6A and convert to 5V 2.5A for the PBP. No charging issues; the PBP makes some noise, but that isn't the docking deck's fault. Audio out is working. Note that adding another audio device obviates the need for the audio device default to be restored on reboot, which did not work on xfce4. 9/10. +Using devuan ARM & debian ARM, xfce4. Did not test Video out. USB and SD card readers work. Ethernet is working at full speed. The Docking Deck is able to negotiate USB-C 9V 1.6A and convert to 5V 2.5A for the PBP. No charging issues; the PBP makes some noise, but that isn’t the docking deck’s fault. Audio out is working. Note that adding another audio device obviates the need for the audio device default to be restored on reboot, which did not work on xfce4. 9/10. -*PinePhone Pro Explorer Edition* +**PinePhone Pro Explorer Edition** With Mobian: jack, Ethernet, SD-card readers, USB-A and -C, VGA fully works, HDMI lacks sound output. Video-out works fully on Mobian. 9/10 -== Known Bugs +## Known Bugs -=== Audio Volume on Linux +### Audio Volume on Linux Currently, the audio output from this dock -On some Linux systems, and possibly all of them, the volume range for headphones from audible to loud is from 64562-64575 to 65000. That's absolute, not percentages. This is an extremely tiny range -- completely impossible to navigate with percentages, and dangerous as well. For the time being, this audio output should be treated as unsafe for human health, as well as the health of your speakers. To ensure safe audio levels, users can switch to the digital output to lower the volume to a safe level. +On some Linux systems, and possibly all of them, the volume range for headphones from audible to loud is from 64562-64575 to 65000. That’s absolute, not percentages. This is an extremely tiny range -- completely impossible to navigate with percentages, and dangerous as well. For the time being, this audio output should be treated as unsafe for human health, as well as the health of your speakers. To ensure safe audio levels, users can switch to the digital output to lower the volume to a safe level. -=== Pinebook Pro does not charge when connected to USB-C dock +### Pinebook Pro does not charge when connected to USB-C dock It has been observed in the past that the Pinebook Pro is somewhat temperamental when used with the USB-C dock. Sometimes it will not charge when connected to its dock, even if the dock is powered from the official Pinepower power supply (i.e., even when it is provided with sufficient power). The more astute may have surmised that the Pinebook Pro was powering the dock, rather than being powered itself. The solution, luckily, is quite simple. The following command should always work: - echo "sink" | sudo tee /sys/class/typec/port0/power_role + echo "sink" | sudo tee /sys/class/typec/port0/power_role Please note: -. This command cannot be run with sudo, you must be the root user. -. If this command still fails with the message "bash: /sys/class/typec/port0/power_role: No such file or directory" Please ensure that the file actually exists. The most likely cultprits are that either /sys/class/typec does not exist or /sys/class/typec/port0 has a different name on your machine. +1. This command cannot be run with sudo, you must be the root user. +2. If this command still fails with the message "bash: /sys/class/typec/port0/power_role: No such file or directory" Please ensure that the file actually exists. The most likely cultprits are that either /sys/class/typec does not exist or /sys/class/typec/port0 has a different name on your machine. -=== Unable to output to external display +### Unable to output to external display Unplug the dock cable turn 180 degrees reinsert in new orientation. (Sometimes works for charging the laptop too.) -== Components +## Components List of chips used in the docking station: @@ -86,8 +86,7 @@ List of chips used in the docking station: * SD card reader chip - GL823K * Audio CODEC chip - HZD100 -== External Links - -* https://pine64.com/product/pinebook-pro-usb-c-docking-deck/[The Pinebook Pro Docking Deck at the Pine64 store] -* https://forum.pine64.org/forumdisplay.php?fid=116[The "Pinebook Pro Hardware and Accessories" section of the Pine64 forum] +## External Links +* [The Pinebook Pro Docking Deck at the Pine64 store](https://pine64.com/product/pinebook-pro-usb-c-docking-deck/) +* [The "Pinebook Pro Hardware and Accessories" section of the Pine64 forum](https://forum.pine64.org/forumdisplay.php?fid=116) diff --git a/content/documentation/Pinebook_Pro/Features/Additional_hardware.adoc b/content/documentation/Pinebook_Pro/Features/Additional_hardware.md similarity index 71% rename from content/documentation/Pinebook_Pro/Features/Additional_hardware.adoc rename to content/documentation/Pinebook_Pro/Features/Additional_hardware.md index 541e8252..6a438539 100644 --- a/content/documentation/Pinebook_Pro/Features/Additional_hardware.adoc +++ b/content/documentation/Pinebook_Pro/Features/Additional_hardware.md @@ -11,49 +11,48 @@ menu: Hardware that is not part of the SoC. -== Battery +## Battery * Lithium Polymer Battery (10,000 mAh; 9,600 mAh in later batches) * Monitored by CW2015 which only measures the current voltage; reported state (charging/discharging), capacity (State-Of-Charge), remaining runtime and current are (poor) estimates -== Display +## Display * 14.0" 1920x1080 IPS LCD panel -== Lid closed magnet +## Lid closed magnet There is a magnet to detect when the laptop lid is closed, so action can be taken like sleep. This meets up with the Hall sensor on the daughter / small board to detect lid closed. * The magnet is located on the LCD panel right side, around 1.5 inches up measure from bottom edge. -== Webcam +## Webcam * Internal USB attached Webcam -== Audio +## Audio * 3.5mm stereo earphone/microphone plug * Built-in microphone * Built-in stereo speakers: -** Oval in design -** 3 mm high x 20 mm x 30 mm + * Oval in design + * 3 mm high x 20 mm x 30 mm -== Network +## Network * WiFi: -** 802.11 b/g/n/ac -** Dual band: 2.4Ghz & 5Ghz -** Single antenna + * 802.11 b/g/n/ac + * Dual band: 2.4Ghz & 5Ghz + * Single antenna * Bluetooth 5.0 -== Optional NVMe adapter +## Optional NVMe adapter * PCIe 1.1, 2.5 GT/s per lane -** Note that due to errata, PCIe is limited to Gen1. See https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/arch/arm64/boot/dts/rockchip/rk3399.dtsi?id=712fa1777207c2f2703a6eb618a9699099cbe37b[this commit]. + * Note that due to errata, PCIe is limited to Gen1. See [this commit](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/arch/arm64/boot/dts/rockchip/rk3399.dtsi?id=712fa1777207c2f2703a6eb618a9699099cbe37b). * Four PCIe lanes, which can not be bifurcated, but can be used with one- or two-lane NVMe cards -* *M* keyed, though *M*+*B* keyed devices will work too +* **M** keyed, though **M**+**B** keyed devices will work too * Maximum length for M.2 card is 80mm (M.2 2280). The following sizes will also work: 2230, 2242, 2260 * Power: 2.5 W (continuous) * Does not support SATA M.2 cards * Does not support USB M.2 cards - diff --git a/content/documentation/Pinebook_Pro/Features/Bootable_storage.adoc b/content/documentation/Pinebook_Pro/Features/Bootable_storage.md similarity index 71% rename from content/documentation/Pinebook_Pro/Features/Bootable_storage.adoc rename to content/documentation/Pinebook_Pro/Features/Bootable_storage.md index 10e284fa..ede8fe1c 100644 --- a/content/documentation/Pinebook_Pro/Features/Bootable_storage.adoc +++ b/content/documentation/Pinebook_Pro/Features/Bootable_storage.md @@ -11,22 +11,22 @@ menu: {{< figure src="/documentation/images/Pbp_emmc_disable_sw.jpg" title="The PineBook Pro eMMC module and switch, shown in 'enabled' position" width="480" >}} -== Boot sequence details +## Boot sequence details -The RK3399's mask 32KB ROM boot code looks for the next stage of code at byte off-set 32768, (sector 64 if using 512 byte sectors). This is where U-Boot code would reside on any media that is bootable, link:/documentation/General/RK3399_boot_sequence[RK3399 boot sequence] +The RK3399’s mask 32KB ROM boot code looks for the next stage of code at byte off-set 32768, (sector 64 if using 512 byte sectors). This is where U-Boot code would reside on any media that is bootable, [RK3399 boot sequence](/documentation/General/RK3399_boot_sequence) -== Boot devices +## Boot devices The Pinebook Pro is capable of booting from eMMC, USB 2.0, USB 3.0, or an SD card. It cannot boot from USB-C. The boot order of the hard-coded ROM of its RK3399 SoC is: SPI NOR, eMMC, SD, USB OTG. -At this time, the Pinebook Pro ships with a Manjaro + KDE build with https://www.denx.de/wiki/U-Boot/[u-boot] on the eMMC. Its boot order is: SD, USB, then eMMC. +At this time, the Pinebook Pro ships with a Manjaro + KDE build with [u-boot](https://www.denx.de/wiki/U-Boot/) on the eMMC. Its boot order is: SD, USB, then eMMC. -(An update has been pushed for the older Debian + MATE build that improves compatibility with booting other operating systems from an SD card. In order to update, fully charge the battery, establish an internet connection, click the update icon in the toolbar, and then reboot your Pinebook Pro. Please see https://forum.pine64.org/showthread.php?tid=7830[this log] for details.) +(An update has been pushed for the older Debian + MATE build that improves compatibility with booting other operating systems from an SD card. In order to update, fully charge the battery, establish an internet connection, click the update icon in the toolbar, and then reboot your Pinebook Pro. Please see [this log](https://forum.pine64.org/showthread.php?tid=7830) for details.) Please note that PCIe, the interface used for NVMe SSD on the Pinebook Pro, is not bootable on the RK3399 and therefore is not a part of the boot hierarchy. It is possible to run the desired OS from NVMe by pointing extlinux on the eMMC to rootfs on the SSD. This requires uboot, the Kernel image, DTB, and extlinux.conf in a /boot partition on the eMMC. -== eMMC information +## eMMC information The eMMC appears to be hot-pluggable. This can be useful if trying to recover data or a broken install. Best practice is probably to turn the eMMC switch to off position before changing modules. Note that the enable/disable label on the silkscreen is incorrect on some board revisions (known bad on v2.1). @@ -41,8 +41,7 @@ The device number of "1" shown above may vary, depending on kernel. If the eMMC module is enabled after boot from an SD card, you can detect this change with the following commands as user "root": - echo fe330000.mmc >/sys/bus/platform/drivers/sdhci-arasan/unbind - echo fe330000.mmc >/sys/bus/platform/drivers/sdhci-arasan/bind - -(Note: with the device trees coming with older kernels (Linux < 5.11), the device name may be fe330000.sdhci instead of fe330000.mmc) + echo fe330000.mmc >/sys/bus/platform/drivers/sdhci-arasan/unbind + echo fe330000.mmc >/sys/bus/platform/drivers/sdhci-arasan/bind +(Note: with the device trees coming with older kernels (Linux < 5.11), the device name may be fe330000.sdhci instead of fe330000.mmc) diff --git a/content/documentation/Pinebook_Pro/Features/External_ports_list.adoc b/content/documentation/Pinebook_Pro/Features/External_ports_list.adoc deleted file mode 100644 index 56e60ae4..00000000 --- a/content/documentation/Pinebook_Pro/Features/External_ports_list.adoc +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: "External ports list" -draft: false -menu: - docs: - title: - parent: "Pinebook_Pro/Features" - identifier: "Pinebook_Pro/Features/External_ports_list" - weight: ---- - -Here are a list of the external ports. See link:/documentation/Pinebook_Pro/Further_information/Specifications/#expansion_ports[Technical Reference - Expansion Ports] for port specifications. - -* Left side -** Barrel jack for power, (with LED) -** USB 3, Type A -** USB 3, Type C -* Right side -** USB 2, Type A -** Standard headset jack -** MicroSD card slot - diff --git a/content/documentation/Pinebook_Pro/Features/External_ports_list.md b/content/documentation/Pinebook_Pro/Features/External_ports_list.md new file mode 100644 index 00000000..852280b9 --- /dev/null +++ b/content/documentation/Pinebook_Pro/Features/External_ports_list.md @@ -0,0 +1,21 @@ +--- +title: "External ports list" +draft: false +menu: + docs: + title: + parent: "Pinebook_Pro/Features" + identifier: "Pinebook_Pro/Features/External_ports_list" + weight: +--- + +Here are a list of the external ports. See [Technical Reference - Expansion Ports](/documentation/Pinebook_Pro/Further_information/Specifications/#expansion_ports) for port specifications. + +* Left side + * Barrel jack for power, (with LED) + * USB 3, Type A + * USB 3, Type C +* Right side + * USB 2, Type A + * Standard headset jack + * MicroSD card slot diff --git a/content/documentation/Pinebook_Pro/Features/LCD_panel.adoc b/content/documentation/Pinebook_Pro/Features/LCD_panel.md similarity index 93% rename from content/documentation/Pinebook_Pro/Features/LCD_panel.adoc rename to content/documentation/Pinebook_Pro/Features/LCD_panel.md index 8f69b5f5..f7e2b32d 100644 --- a/content/documentation/Pinebook_Pro/Features/LCD_panel.adoc +++ b/content/documentation/Pinebook_Pro/Features/LCD_panel.md @@ -18,4 +18,4 @@ menu: * 250 nit brightness * 63% sRGB coverage * 6-bit color -* 30-pin eDP connection \ No newline at end of file +* 30-pin eDP connection diff --git a/content/documentation/Pinebook_Pro/Features/LEDs.adoc b/content/documentation/Pinebook_Pro/Features/LEDs.adoc deleted file mode 100644 index b9dd7d11..00000000 --- a/content/documentation/Pinebook_Pro/Features/LEDs.adoc +++ /dev/null @@ -1,20 +0,0 @@ ---- -title: "LEDs" -draft: false -menu: - docs: - title: - parent: "Pinebook_Pro/Features" - identifier: "Pinebook_Pro/Features/LEDs" - weight: ---- - -In total, there are four LEDs on the Pinebook Pro, three of which are placed in the top-left side of the keyboard, and one near the barrel port: - -. The red LED next to the barrel port indicates charging, in three ways. First, it will illuminate steadily when either the barrel jack power supply or a USB Type-C charger is connected to the Pinebook Pro, and the charging is active (that means power is supplied to the battery and system in parallel, and if it's not enough the battery can still be discharging). Second, if the battery is at 100 %, the LED will remain turned off regardless of the connected power input (however, this is not possible for more than a split-second when the system is running). Third, this LED will flash at 0.5 Hz if there are any problems that prevent charging, such as the battery becoming too hot. To fully understand all the nuances, read the link:/documentation/Pinebook_Pro/Power_and_charging[Power and charging] article. -. The power indicator LED, above the keyboard, supports three different colors: green, amber and red. It is also capable of flashing to indicate eMMC activity, with proper software support. In the default Debian with MATE build, green LED means power and red means suspend (amber is unused). -. The green NumLock LED, above the keyboard. -. The green CapsLock LED, above the keyboard. - -The NumLock and CapsLock LEDs serve their usual purposes on a keyboard, but they also have a secondary function. When the privacy switches get activated they blink to confirm that the switch has been activated. - diff --git a/content/documentation/Pinebook_Pro/Features/LEDs.md b/content/documentation/Pinebook_Pro/Features/LEDs.md new file mode 100644 index 00000000..a3d3d44c --- /dev/null +++ b/content/documentation/Pinebook_Pro/Features/LEDs.md @@ -0,0 +1,19 @@ +--- +title: "LEDs" +draft: false +menu: + docs: + title: + parent: "Pinebook_Pro/Features" + identifier: "Pinebook_Pro/Features/LEDs" + weight: +--- + +In total, there are four LEDs on the Pinebook Pro, three of which are placed in the top-left side of the keyboard, and one near the barrel port: + +1. The red LED next to the barrel port indicates charging, in three ways. First, it will illuminate steadily when either the barrel jack power supply or a USB Type-C charger is connected to the Pinebook Pro, and the charging is active (that means power is supplied to the battery and system in parallel, and if it’s not enough the battery can still be discharging). Second, if the battery is at 100 %, the LED will remain turned off regardless of the connected power input (however, this is not possible for more than a split-second when the system is running). Third, this LED will flash at 0.5 Hz if there are any problems that prevent charging, such as the battery becoming too hot. To fully understand all the nuances, read the [Power and charging](/documentation/Pinebook_Pro/Power_and_charging) article. +2. The power indicator LED, above the keyboard, supports three different colors: green, amber and red. It is also capable of flashing to indicate eMMC activity, with proper software support. In the default Debian with MATE build, green LED means power and red means suspend (amber is unused). +3. The green NumLock LED, above the keyboard. +4. The green CapsLock LED, above the keyboard. + +The NumLock and CapsLock LEDs serve their usual purposes on a keyboard, but they also have a secondary function. When the privacy switches get activated they blink to confirm that the switch has been activated. diff --git a/content/documentation/Pinebook_Pro/Features/Power_supply.adoc b/content/documentation/Pinebook_Pro/Features/Power_supply.md similarity index 79% rename from content/documentation/Pinebook_Pro/Features/Power_supply.adoc rename to content/documentation/Pinebook_Pro/Features/Power_supply.md index 439d76c2..bbff83af 100644 --- a/content/documentation/Pinebook_Pro/Features/Power_supply.adoc +++ b/content/documentation/Pinebook_Pro/Features/Power_supply.md @@ -12,4 +12,4 @@ menu: * Input Power: 5V DC, 15W (current limit 3A) * Mechanical: 3.5mm OD / 1.35mm ID, Barrel jack * USB-C 5V, 12.5W (current limit is at 2.5A regardless of the USB PD negotiations result) -* Only use one power input at a time, barrel jack OR USB-C (note: some powerful Type-C adapters have rather limited current for 5 V operation, and e.g. 2 A won't be enough to run the system and charge the battery at the same time, so check the specs) \ No newline at end of file +* Only use one power input at a time, barrel jack OR USB-C (note: some powerful Type-C adapters have rather limited current for 5 V operation, and e.g. 2 A won’t be enough to run the system and charge the battery at the same time, so check the specs) diff --git a/content/documentation/Pinebook_Pro/Features/Webcam.adoc b/content/documentation/Pinebook_Pro/Features/Webcam.md similarity index 86% rename from content/documentation/Pinebook_Pro/Features/Webcam.adoc rename to content/documentation/Pinebook_Pro/Features/Webcam.md index 56746c31..4ab871d1 100644 --- a/content/documentation/Pinebook_Pro/Features/Webcam.adoc +++ b/content/documentation/Pinebook_Pro/Features/Webcam.md @@ -9,7 +9,8 @@ menu: weight: --- -TIP: You can use Cheese to test the Camera functionality +**💡 TIP**\ +You can use Cheese to test the Camera functionality Streaming video resolutions supported, (uncompressed): @@ -29,4 +30,3 @@ Still frame resolutions supported: * 800 x 600 * 1280 x 720 * 1600 x 1200 - diff --git a/content/documentation/Pinebook_Pro/Further_information/Case_dimensions_and_data.adoc b/content/documentation/Pinebook_Pro/Further_information/Case_dimensions_and_data.adoc deleted file mode 100644 index 6789f38a..00000000 --- a/content/documentation/Pinebook_Pro/Further_information/Case_dimensions_and_data.adoc +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: "Case dimensions and data" -draft: false -menu: - docs: - title: - parent: "Pinebook_Pro/Further_information" - identifier: "Pinebook_Pro/Further_information/Case_dimensions_and_data" - weight: ---- - -* Dimensions: 329 mm x 220 mm x 12 mm (W x D x H) -* Weight: 1.26 kg -* Screws on the bottom lid -** Philips-head type screws -** M2 flat-head machine screws -** 4 x short screw (used along the front edge): head diameter - 3.44 mm, thread diameter - 1.97 mm, thread length - 2.1 mm, overall length - 3.05 mm -** 6 x long screw (used elsewhere): head diameter - 3.44 mm, thread diameter - 1.97 mm, thread length - 4.41 mm, overall length - 5.85 mm -* Rubber feet -** 18 mm diameter -** 3 mm height -** Dome shaped \ No newline at end of file diff --git a/content/documentation/Pinebook_Pro/Further_information/Case_dimensions_and_data.md b/content/documentation/Pinebook_Pro/Further_information/Case_dimensions_and_data.md new file mode 100644 index 00000000..d00b518b --- /dev/null +++ b/content/documentation/Pinebook_Pro/Further_information/Case_dimensions_and_data.md @@ -0,0 +1,22 @@ +--- +title: "Case dimensions and data" +draft: false +menu: + docs: + title: + parent: "Pinebook_Pro/Further_information" + identifier: "Pinebook_Pro/Further_information/Case_dimensions_and_data" + weight: +--- + +* Dimensions: 329 mm x 220 mm x 12 mm (W x D x H) +* Weight: 1.26 kg +* Screws on the bottom lid + * Philips-head type screws + * M2 flat-head machine screws + * 4 x short screw (used along the front edge): head diameter - 3.44 mm, thread diameter - 1.97 mm, thread length - 2.1 mm, overall length - 3.05 mm + * 6 x long screw (used elsewhere): head diameter - 3.44 mm, thread diameter - 1.97 mm, thread length - 4.41 mm, overall length - 5.85 mm +* Rubber feet + * 18 mm diameter + * 3 mm height + * Dome shaped diff --git a/content/documentation/Pinebook_Pro/Guides/Disassembly_and_Reassembly.adoc b/content/documentation/Pinebook_Pro/Guides/Disassembly_and_Reassembly.md similarity index 81% rename from content/documentation/Pinebook_Pro/Guides/Disassembly_and_Reassembly.adoc rename to content/documentation/Pinebook_Pro/Guides/Disassembly_and_Reassembly.md index 5d4041f9..4986a163 100644 --- a/content/documentation/Pinebook_Pro/Guides/Disassembly_and_Reassembly.adoc +++ b/content/documentation/Pinebook_Pro/Guides/Disassembly_and_Reassembly.md @@ -14,10 +14,10 @@ menu: {{< figure src="/documentation/images/Hinges_cover_removed_1.jpeg" title="Hinge_area_of_the_Pinebook_Pro_lid_with the cover removed" width="300" >}} {{< figure src="/documentation/images/Hinges_cover_removed_2.jpeg" title="Close-up of a Pinebook Pro lid hinge" width="300" >}} -There are a few *mandatory* precautions to be taken: +There are a few **mandatory** precautions to be taken: * Do not open the laptop by lifting the lid while the Pinebook Pro bottom cover is removed - this can cause structural damage to the hinges and/or other plastic components of the chassis such as the IO port cut-outs. -* When removing the back cover plate, *do not, under any circumstances, slide your fingertips between the metal shell and the plastic frame!* The back cover plate edges are sharp, and when combined with the pressure and movement generated from, specifically, attempting to slide the tips of your fingers along the bottom edge of the plate along the lid-hinge, they *will* slice open the tips of your fingers like a knife. +* When removing the back cover plate, **do not, under any circumstances, slide your fingertips between the metal shell and the plastic frame!** The back cover plate edges are sharp, and when combined with the pressure and movement generated from, specifically, attempting to slide the tips of your fingers along the bottom edge of the plate along the lid-hinge, they **will** slice open the tips of your fingers like a knife. * When removing the back cover plate, use care to avoid damaging the speakers. They can be stuck to the back cover with double-sided tape, and the thin wires are very delicate. Newer Pinebook Pro laptops (as of the May 2021 batch, and perhaps earlier) seem to lack the double-sided tape to the rear cover, instead opting for tape or glue that makes them stick to the front cover. Nevertheless, be gentle when removing the back cover. {{< figure src="/documentation/images/PinebookProScrewGuide.png" title="Pinebook Pro external screws (this particular unit has suffered damage on screw (4)L)" width="400" >}} @@ -28,15 +28,14 @@ During reassembly, make sure that the back-screw standoffs are in place and seat The screws are small and should only be finger tight. Too much force will strip the threads. If after installing screws the back cover plate has not seated properly on one side (which may be caused by the aforementioned misseating of the speakers), open the display and hold the base on either side of the keyboard and gently flex the base with both hands in opposing directions. Once the side pops further in, then recheck the screws on that side. If it does not pop back in, re-open the machine and check for misseated components. -A basic 3D model to print replacement standoffs for the back cover screws is https://www.thingiverse.com/thing:4226648[available on Thingiverse], until the official drawings or 3D models are made available. +A basic 3D model to print replacement standoffs for the back cover screws is [available on Thingiverse](https://www.thingiverse.com/thing:4226648), until the official drawings or 3D models are made available. Many units come with the hinges too stiff from the factory. You can tell if it affects your device by carefully observing if operating the lid on a fully assembled notebook flexes the case. This repeated flexing can lead to plastic and metal fatigue and eventually broken parts. Consider carefully using a flat screwdriver or similar object to unbend the hinges a bit by wedging it into the slot (requires the display part to be fully detached from the main body). -== Display disassembly +## Display disassembly -It is not recommended to adjust the position of the lid when the bottom cover is removed, because the bottom cover provides structural strength, so the lid should be open fully as the first step, before starting any disassembly of the laptop. After opening the lid, remove the bottom cover by following the instruction found in the section above. Alternatively, you can keep the lid closed and remove the screws that hold the hinges to the main laptop body, as described in link:/documentation/Pinebook_Pro/Guides/Caring/[Pinebook Service Step by Step Guides]. +It is not recommended to adjust the position of the lid when the bottom cover is removed, because the bottom cover provides structural strength, so the lid should be open fully as the first step, before starting any disassembly of the laptop. After opening the lid, remove the bottom cover by following the instruction found in the section above. Alternatively, you can keep the lid closed and remove the screws that hold the hinges to the main laptop body, as described in [Pinebook Service Step by Step Guides](/documentation/Pinebook_Pro/Guides/Caring/). Parts of the hinge mechanism, as well as the screws that hold the hinges to the lid, are hidden behind an elongated plastic U-shaped cover that snaps in place using latches. Use a dedicated plastic prying tool or a guitar pick to gently pry the cover and remove it, starting from the outer edge. Once you pry the cover to a certain extent, it should be possible to remove it fully using only your hands. The U-shaped cover is rather sturdy, but still be careful not to break or bend it. -There are two small screws hidden underneath the two small rubber nubs on the upper part of the screen bezel, so first gently remove the nubs and then remove the screws. The screen bezel is held in place with a combination of latches and some adhesive tape, which is there to prevent dust ingress. The adhesive isn't very strong, and the bezel is capable of flexing back into shape after being twisted to a certain extent. There is more adhesive on the bottom part of the screen bezel, so be more careful while prying that section apart. Use the same prying tool that you used for the U-shaped cover, and work it around the outer edges of the screen bezel. - +There are two small screws hidden underneath the two small rubber nubs on the upper part of the screen bezel, so first gently remove the nubs and then remove the screws. The screen bezel is held in place with a combination of latches and some adhesive tape, which is there to prevent dust ingress. The adhesive isn’t very strong, and the bezel is capable of flexing back into shape after being twisted to a certain extent. There is more adhesive on the bottom part of the screen bezel, so be more careful while prying that section apart. Use the same prying tool that you used for the U-shaped cover, and work it around the outer edges of the screen bezel. diff --git a/content/documentation/Pinebook_Pro/Guides/Skinning_and_case_customization.adoc b/content/documentation/Pinebook_Pro/Guides/Skinning_and_case_customization.md similarity index 54% rename from content/documentation/Pinebook_Pro/Guides/Skinning_and_case_customization.adoc rename to content/documentation/Pinebook_Pro/Guides/Skinning_and_case_customization.md index dc44753c..f09c545f 100644 --- a/content/documentation/Pinebook_Pro/Guides/Skinning_and_case_customization.adoc +++ b/content/documentation/Pinebook_Pro/Guides/Skinning_and_case_customization.md @@ -11,7 +11,6 @@ menu: Template files for creating custom skins. Each includes template layers for art placement, and CUT lines: -* https://wiki.pine64.org/wiki/File:Pbp_template_case_bottom.pdf[Case Lid Template] -* https://wiki.pine64.org/wiki/File:Pbp_template_case_lid.pdf[Case Bottom Template] -* https://wiki.pine64.org/wiki/File:Pbp_template_case_palmrest.pdf[Case Palmrest Template] - +* [Case Lid Template](https://wiki.pine64.org/wiki/File:Pbp_template_case_bottom.pdf) +* [Case Bottom Template](https://wiki.pine64.org/wiki/File:Pbp_template_case_lid.pdf) +* [Case Palmrest Template](https://wiki.pine64.org/wiki/File:Pbp_template_case_palmrest.pdf) diff --git a/content/documentation/Pinebook_Pro/Guides/Using the optional NVMe adapter.adoc b/content/documentation/Pinebook_Pro/Guides/Using the optional NVMe adapter.adoc deleted file mode 100644 index 2b19210d..00000000 --- a/content/documentation/Pinebook_Pro/Guides/Using the optional NVMe adapter.adoc +++ /dev/null @@ -1,102 +0,0 @@ ---- -title: "Using the optional NVMe adapter" -draft: false -menu: - docs: - title: - parent: "Pinebook_Pro/Guides" - identifier: "Pinebook_Pro/Guides/Using the optional NVMe adapter" - weight: ---- - -The optional NVMe adapter allows the use of M.2 SSDs that support the NVMe standard (SATA is not supported). The adapter supports *M* and *M*+*B* keyed devices, in both 2242 and 2280 physical sizes, which are the most commonly available. In addition, 2230 and 2260 sizes are also supported, though NVMe devices that use those sizes are rare. - -Make sure to read the notes in link:/documentation/Pinebook_Pro/Accessory/Compatibility[Accessory compatibility] before selecting an M.2 SSD for your Pinebook Pro, because there are certain limitations. Once you have fitted and tested your NVMe drive, please consider adding a note to that page - -Please see link:/documentation/Pinebook_Pro/Troubleshooting#nvme_ssd_issues[a separate section] that describes reported issues with the NVMe drives in Pinebook Pro. - -== Installing the adapter - -The V2.1-2019-0809 SSD adapter that shipped with the initial Pinebook Pro batches had significant issues. A repair kit will be shipped to address those issues. -(If necessary, it can be modified to work. There is https://forum.pine64.org/showthread.php?tid=8322&pid=52700#pid52700[an unofficial tutorial on the forums] describing these modifications.) - -The updated SSD adapter, labeled V2-2019-1107, takes into account the prior problems with touchpad interference. New orders as of Feb. 22nd, 2020 will be the updated adapter. - -This is the link to the Pinebook Pro accessories in the store: https://pine64.com/?v=0446c16e2e66 - -Actual installation instructions are a work in progress. Unofficial instructions for installing V2-2019-1107 can be found https://eli.gladman.cc/blog/2020/06/23/pine-book-pro-nvme.html[here]. - -== Post NVMe install power limiting - -Some NVMe SSDs allow reducing the maximum amount of power. Doing so may reduce the speed, but it may be needed in the Pinebook Pro to both improve reliability on battery: Some NVME may be stable with default settings when runnning on AC power but cause frequent kernel panics (system freeze with power LED blinking red/green) when running on battery. Reducing NVME power drain solves this in some cases. And reducing power used gives better battery life. -Here are the commands to obtain and change the power settings. The package 'nvme-cli' is required to run these commands. The example shows how to find the available power states, and then sets it to the lowest, non-standby setting, (which is 3.8 watts for the device shown): - - $ sudo nvme id-ctrl /dev/nvme0 - NVME Identify Controller: - ... - ps 0 : mp:9.00W operational enlat:0 exlat:0 rrt:0 rrl:0 - rwt:0 rwl:0 idle_power:- active_power:- - ps 1 : mp:4.60W operational enlat:0 exlat:0 rrt:1 rrl:1 - rwt:1 rwl:1 idle_power:- active_power:- - ps 2 : mp:3.80W operational enlat:0 exlat:0 rrt:2 rrl:2 - rwt:2 rwl:2 idle_power:- active_power:- - ps 3 : mp:0.0450W non-operational enlat:2000 exlat:2000 rrt:3 rrl:3 - rwt:3 rwl:3 idle_power:- active_power:- - ps 4 : mp:0.0040W non-operational enlat:6000 exlat:8000 rrt:4 rrl:4 - rwt:4 rwl:4 idle_power:- active_power:- - - $ sudo nvme get-feature /dev/nvme0 -f 2 - get-feature:0x2 (Power Management), Current value:00000000 - $ sudo nvme set-feature /dev/nvme0 -f 2 -v 2 -s - set-feature:02 (Power Management), value:0x000002 - -Some NVMe SSDs don't appear to allow saving the setting with "-s" option. In those cases, leave off the "-s" and use a startup script to set the non-default power state at boot. If you want to test performance without saving the new power setting semi-permanantly, then leave off the "-s" option. - -On systemd based distributions like Manjaro, a non-default power state for an NVME can be set using a systemd service. This is useful in cases where the NVME drive does not save the power state and/or uses APST. An example systemd service, nvme-throttle.service, is shown below: - - [Unit] - Description=Throttles NVME to lesss power hungry mode - After=suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target - - [Service] - Type=oneshot - ExecStart=/usr/bin/nvme set-feature /dev/nvme0 -f 2 -v 1 - - [Install] - WantedBy=multi-user.target suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target - -Here the value after "-v" is the maximum power state that you want your SSD to use. This will be executed at system startup, and every time your system exits any suspend mode that might reset the SSD to default values. - -This file needs to be placed in the /etc/systemd/system directory. Afterwards, to activate the service, run: - - systemctl daemon-reload - systemctl enable --now nvme-throttle.service - -There is another power saving feature for NVMes, APST, (Autonomous Power State Transitions). This performs the power saving & transitions based on usage. To check if you have a NVMe SSD with this feature: - - $ sudo nvme get-feature -f 0x0c -H /dev/nvme0 - -Information for this feature, (on a Pinebook Pro), is a work in progress. It is enabled by default in latest Manjaro kernels and reported to work. -On some NVME SSDS (WD), APST is compatible with limiting NVME maximum power: APST will work and not exceed maximum power state defined using -previous method. - -== Using as data drive - -As long as the kernel in use has both the PCIe and NVMe drivers, you should be able to use a NVMe drive as a data drive. It can automatically mount when booting from either the eMMC or an SD card. This applies to Linux, FreeBSD, and Chromium, using the normal partitioning and file system creation tools. Android requires testing. - -== Using as OS root drive - -The SoC does not include the NVMe boot code, so the NVMe is not in the SoC's boot order. However, using the https://github.com/mrfixit2001/updates_repo/blob/v1.1/pinebook/filesystem/mrfixit_update.sh[U-Boot update script] from the mrfixit2001 Debian or https://pastebin.com/raw/EeK074XB[Arglebargle's modified script], and https://github.com/pcm720/rockchip-u-boot/releases[the modified u-boot images] provided by forum user pcm720, you can now add support to boot from an NVMe drive. Binary images are useable with SD, eMMC, and link:/documentation/Pinebook_Pro/Features/SPI[SPI flash]. For OS images using the mainline kernel, there are a few variants of U-Boot available that also support NVMe as the OS drive. Though these may require writing the U-Boot to the SPI flash for proper use of the NVMe as the OS drive. - -The current boot order, per last testing, for this modified U-Boot is: - -* MicroSD -* eMMC -* NVMe - -For more information, please refer to https://forum.pine64.org/showthread.php?tid=8439&pid=53764#pid53764[the forum post.] - -It is also possible to initially boot off an eMMC or SD card, then transfer to a root file system on the NVMe. Currently, it is necessary to have the U-Boot code on an eMMC or SD card. (A forum member https://forum.pine64.org/showthread.php?tid=8439[posted here] about using a modified version of U-Boot with NVMe drivers, that uses */boot* and */* off the NVMe drive. So this may change in the future.) - -Please see link:/documentation/Pinebook_Pro#bootable_storage[Bootable Storage]. - diff --git a/content/documentation/Pinebook_Pro/Guides/Using the optional NVMe adapter.md b/content/documentation/Pinebook_Pro/Guides/Using the optional NVMe adapter.md new file mode 100644 index 00000000..d2dc4f40 --- /dev/null +++ b/content/documentation/Pinebook_Pro/Guides/Using the optional NVMe adapter.md @@ -0,0 +1,107 @@ +--- +title: "Using the optional NVMe adapter" +draft: false +menu: + docs: + title: + parent: "Pinebook_Pro/Guides" + identifier: "Pinebook_Pro/Guides/Using the optional NVMe adapter" + weight: +--- + +The optional NVMe adapter allows the use of M.2 SSDs that support the NVMe standard (SATA is not supported). The adapter supports **M** and **M**+**B** keyed devices, in both 2242 and 2280 physical sizes, which are the most commonly available. In addition, 2230 and 2260 sizes are also supported, though NVMe devices that use those sizes are rare. + +Make sure to read the notes in [Accessory compatibility](/documentation/Pinebook_Pro/Accessory/Compatibility) before selecting an M.2 SSD for your Pinebook Pro, because there are certain limitations. Once you have fitted and tested your NVMe drive, please consider adding a note to that page + +Please see [a separate section](/documentation/Pinebook_Pro/Troubleshooting#nvme_ssd_issues) that describes reported issues with the NVMe drives in Pinebook Pro. + +## Installing the adapter + +The V2.1-2019-0809 SSD adapter that shipped with the initial Pinebook Pro batches had significant issues. A repair kit will be shipped to address those issues. +(If necessary, it can be modified to work. There is [an unofficial tutorial on the forums](https://forum.pine64.org/showthread.php?tid=8322&pid=52700#pid52700) describing these modifications.) + +The updated SSD adapter, labeled V2-2019-1107, takes into account the prior problems with touchpad interference. New orders as of Feb. 22nd, 2020 will be the updated adapter. + +This is the link to the Pinebook Pro accessories in the store: https://pine64.com/?v=0446c16e2e66 + +Actual installation instructions are a work in progress. Unofficial instructions for installing V2-2019-1107 can be found [here](https://eli.gladman.cc/blog/2020/06/23/pine-book-pro-nvme.html). + +## Post NVMe install power limiting + +Some NVMe SSDs allow reducing the maximum amount of power. Doing so may reduce the speed, but it may be needed in the Pinebook Pro to both improve reliability on battery: Some NVME may be stable with default settings when runnning on AC power but cause frequent kernel panics (system freeze with power LED blinking red/green) when running on battery. Reducing NVME power drain solves this in some cases. And reducing power used gives better battery life. +Here are the commands to obtain and change the power settings. The package 'nvme-cli' is required to run these commands. The example shows how to find the available power states, and then sets it to the lowest, non-standby setting, (which is 3.8 watts for the device shown): + +```console +$ sudo nvme id-ctrl /dev/nvme0 +NVME Identify Controller: +... +ps 0 : mp:9.00W operational enlat:0 exlat:0 rrt:0 rrl:0 + rwt:0 rwl:0 idle_power:- active_power:- +ps 1 : mp:4.60W operational enlat:0 exlat:0 rrt:1 rrl:1 + rwt:1 rwl:1 idle_power:- active_power:- +ps 2 : mp:3.80W operational enlat:0 exlat:0 rrt:2 rrl:2 + rwt:2 rwl:2 idle_power:- active_power:- +ps 3 : mp:0.0450W non-operational enlat:2000 exlat:2000 rrt:3 rrl:3 + rwt:3 rwl:3 idle_power:- active_power:- +ps 4 : mp:0.0040W non-operational enlat:6000 exlat:8000 rrt:4 rrl:4 + rwt:4 rwl:4 idle_power:- active_power:- +``` + +```console +$ sudo nvme get-feature /dev/nvme0 -f 2 +get-feature:0x2 (Power Management), Current value:00000000 +$ sudo nvme set-feature /dev/nvme0 -f 2 -v 2 -s +set-feature:02 (Power Management), value:0x000002 +``` + +Some NVMe SSDs don’t appear to allow saving the setting with "-s" option. In those cases, leave off the "-s" and use a startup script to set the non-default power state at boot. If you want to test performance without saving the new power setting semi-permanantly, then leave off the "-s" option. + +On systemd based distributions like Manjaro, a non-default power state for an NVME can be set using a systemd service. This is useful in cases where the NVME drive does not save the power state and/or uses APST. An example systemd service, nvme-throttle.service, is shown below: + + [Unit] + Description=Throttles NVME to lesss power hungry mode + After=suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target + + [Service] + Type=oneshot + ExecStart=/usr/bin/nvme set-feature /dev/nvme0 -f 2 -v 1 + + [Install] + WantedBy=multi-user.target suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target + +Here the value after "-v" is the maximum power state that you want your SSD to use. This will be executed at system startup, and every time your system exits any suspend mode that might reset the SSD to default values. + +This file needs to be placed in the /etc/systemd/system directory. Afterwards, to activate the service, run: + + systemctl daemon-reload + systemctl enable --now nvme-throttle.service + +There is another power saving feature for NVMes, APST, (Autonomous Power State Transitions). This performs the power saving & transitions based on usage. To check if you have a NVMe SSD with this feature: + +```console +$ sudo nvme get-feature -f 0x0c -H /dev/nvme0 +``` + +Information for this feature, (on a Pinebook Pro), is a work in progress. It is enabled by default in latest Manjaro kernels and reported to work. +On some NVME SSDS (WD), APST is compatible with limiting NVME maximum power: APST will work and not exceed maximum power state defined using +previous method. + +## Using as data drive + +As long as the kernel in use has both the PCIe and NVMe drivers, you should be able to use a NVMe drive as a data drive. It can automatically mount when booting from either the eMMC or an SD card. This applies to Linux, FreeBSD, and Chromium, using the normal partitioning and file system creation tools. Android requires testing. + +## Using as OS root drive + +The SoC does not include the NVMe boot code, so the NVMe is not in the SoC’s boot order. However, using the [U-Boot update script](https://github.com/mrfixit2001/updates_repo/blob/v1.1/pinebook/filesystem/mrfixit_update.sh) from the mrfixit2001 Debian or [Arglebargle’s modified script](https://pastebin.com/raw/EeK074XB), and [the modified u-boot images](https://github.com/pcm720/rockchip-u-boot/releases) provided by forum user pcm720, you can now add support to boot from an NVMe drive. Binary images are useable with SD, eMMC, and [SPI flash](/documentation/Pinebook_Pro/Features/SPI). For OS images using the mainline kernel, there are a few variants of U-Boot available that also support NVMe as the OS drive. Though these may require writing the U-Boot to the SPI flash for proper use of the NVMe as the OS drive. + +The current boot order, per last testing, for this modified U-Boot is: + +* MicroSD +* eMMC +* NVMe + +For more information, please refer to [the forum post.](https://forum.pine64.org/showthread.php?tid=8439&pid=53764#pid53764) + +It is also possible to initially boot off an eMMC or SD card, then transfer to a root file system on the NVMe. Currently, it is necessary to have the U-Boot code on an eMMC or SD card. (A forum member [posted here](https://forum.pine64.org/showthread.php?tid=8439) about using a modified version of U-Boot with NVMe drivers, that uses **/boot** and **/** off the NVMe drive. So this may change in the future.) + +Please see [Bootable Storage](/documentation/Pinebook_Pro#bootable_storage). diff --git a/content/documentation/Pinebook_Pro/Software/Notes.adoc b/content/documentation/Pinebook_Pro/Software/Notes.adoc deleted file mode 100644 index 9df93c36..00000000 --- a/content/documentation/Pinebook_Pro/Software/Notes.adoc +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: "Notes" -draft: true # Page not published -menu: - docs: - title: - parent: "Pinebook_Pro/Software" - identifier: "Pinebook_Pro/Software/Notes" - weight: ---- - -== Linux, the kernel, downstream source - -Although the current upstream version boots and works, the development of new features and other improvements is still ongoing. The results (including detailed changelogs) are published on https://github.com/megous/linux/tags[megi's tree]. - -== Hardware-accelerated video decoding - -Drivers for accelerated video decoding are available in the current kernels but to use the ''v4l2-request'' API with ''FFmpeg'' (and the apps that depend on it) one needs to build https://github.com/jernejsk/FFmpeg/branches[a fork]. With ''mpv'' built against it and the integrated ''yt-dlp'' support watching YouTube and similar sources is possible without stressing the CPU. \ No newline at end of file diff --git a/content/documentation/Pinebook_Pro/Software/Notes.md b/content/documentation/Pinebook_Pro/Software/Notes.md new file mode 100644 index 00000000..c7f451c5 --- /dev/null +++ b/content/documentation/Pinebook_Pro/Software/Notes.md @@ -0,0 +1,18 @@ +--- +title: "Notes" +draft: true # Page not published +menu: + docs: + title: + parent: "Pinebook_Pro/Software" + identifier: "Pinebook_Pro/Software/Notes" + weight: +--- + +## Linux, the kernel, downstream source + +Although the current upstream version boots and works, the development of new features and other improvements is still ongoing. The results (including detailed changelogs) are published on [megi’s tree](https://github.com/megous/linux/tags). + +## Hardware-accelerated video decoding + +Drivers for accelerated video decoding are available in the current kernels but to use the ''v4l2-request'' API with ''FFmpeg'' (and the apps that depend on it) one needs to build [a fork](https://github.com/jernejsk/FFmpeg/branches). With ''mpv'' built against it and the integrated ''yt-dlp'' support watching YouTube and similar sources is possible without stressing the CPU. diff --git a/content/documentation/Pinebook_Pro/Software/Quick_Start_Manjaro.adoc b/content/documentation/Pinebook_Pro/Software/Quick_Start_Manjaro.adoc deleted file mode 100644 index bcdcf823..00000000 --- a/content/documentation/Pinebook_Pro/Software/Quick_Start_Manjaro.adoc +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: "Quick Start Manjaro" -draft: false -menu: - docs: - title: - parent: "Pinebook_Pro/Software" - identifier: "Pinebook_Pro/Software/Quick_Start_Manjaro" - weight: 2 ---- - -When you first get your Pinebook Pro and boot it up for the first time, it'll come with Manjaro using the KDE desktop. The Pinebook Pro is officially supported by the Manjaro ARM project, and support can be found on the https://forum.manjaro.org/c/manjaro-arm/78[Manjaro ARM forums.] - -On first boot, it will ask for certain information such as your timezone location, keyboard layout, username, password, and hostname. Most of these should be self-explanatory. Note that the hostname it asks for should be thought of as the "codename" of your machine, and if you don't know what it's about, you can make something up (use a single word, all lower case, no punctuation, e.g. "pbpro"). - -After you're on the desktop, be sure to update it as soon as possible and reboot after updates are finished installing. If nothing appears when you click on the Networking icon in your system tray to connect to your Wi-Fi, ensure the Wi-Fi link:/documentation/Pinebook_Pro/Keyboard/#privacy_switches[privacy switch] is not disabled. \ No newline at end of file diff --git a/content/documentation/Pinebook_Pro/Software/Quick_Start_Manjaro.md b/content/documentation/Pinebook_Pro/Software/Quick_Start_Manjaro.md new file mode 100644 index 00000000..56be22eb --- /dev/null +++ b/content/documentation/Pinebook_Pro/Software/Quick_Start_Manjaro.md @@ -0,0 +1,16 @@ +--- +title: "Quick Start Manjaro" +draft: false +menu: + docs: + title: + parent: "Pinebook_Pro/Software" + identifier: "Pinebook_Pro/Software/Quick_Start_Manjaro" + weight: 2 +--- + +When you first get your Pinebook Pro and boot it up for the first time, it’ll come with Manjaro using the KDE desktop. The Pinebook Pro is officially supported by the Manjaro ARM project, and support can be found on the [Manjaro ARM forums.](https://forum.manjaro.org/c/manjaro-arm/78) + +On first boot, it will ask for certain information such as your timezone location, keyboard layout, username, password, and hostname. Most of these should be self-explanatory. Note that the hostname it asks for should be thought of as the "codename" of your machine, and if you don’t know what it’s about, you can make something up (use a single word, all lower case, no punctuation, e.g. "pbpro"). + +After you’re on the desktop, be sure to update it as soon as possible and reboot after updates are finished installing. If nothing appears when you click on the Networking icon in your system tray to connect to your Wi-Fi, ensure the Wi-Fi [privacy switch](/documentation/Pinebook_Pro/Keyboard/#privacy_switches) is not disabled. diff --git a/content/documentation/Pinebook_Pro/Versions.adoc b/content/documentation/Pinebook_Pro/Versions.md similarity index 99% rename from content/documentation/Pinebook_Pro/Versions.adoc rename to content/documentation/Pinebook_Pro/Versions.md index 43b986c2..d81407c8 100644 --- a/content/documentation/Pinebook_Pro/Versions.adoc +++ b/content/documentation/Pinebook_Pro/Versions.md @@ -10,4 +10,3 @@ menu: --- Pinebook Pro v1 and v2 were prototype models that did not make it to the public. The "first batch" (First 100 forum preorders) onward are v2.1. [https://forum.pine64.org/showthread.php?tid=8111] - diff --git a/content/documentation/Pinebook_Pro/_index.adoc b/content/documentation/Pinebook_Pro/_index.md similarity index 86% rename from content/documentation/Pinebook_Pro/_index.adoc rename to content/documentation/Pinebook_Pro/_index.md index 0c00af53..39fc62b2 100644 --- a/content/documentation/Pinebook_Pro/_index.adoc +++ b/content/documentation/Pinebook_Pro/_index.md @@ -11,8 +11,8 @@ menu: {{< figure src="/documentation/images/PBP.jpg" title="Pinebook Pro running Debian with MATE" width="400" >}} -The *Pinebook Pro* is a Linux and *BSD ARM laptop from PINE64. It is built to be a compelling alternative to mid-ranged Chromebooks that people convert into Linux laptops. +The **Pinebook Pro** is a Linux and *BSD ARM laptop from PINE64. It is built to be a compelling alternative to mid-ranged Chromebooks that people convert into Linux laptops. The Pinebook Pro features an IPS 1080p 14″ LCD panel, a premium magnesium alloy shell, high capacity eMMC storage, a 10,000 mAh (9,600 mAh in later batches) capacity battery, and the modularity that only an open source project can deliver with the dimensions of 329mm x 220mm x 12mm (WxDxH). Key features include the Rockchip RK3399 SoC, USB-C for data, video-out and power-in (2.5 A at 5 V), privacy switches for the microphone, BT/WiFi module, camera and expandable storage via NVMe (PCIe x4) with an optional adapter. -The Pinebook Pro is equipped with 4 GB of LPDDR4 system memory, up to 128 GB of eMMC flash storage, and 128 Mbit of SPI boot flash. The I/O includes: 1 x micro SD card reader (bootable), 1 x USB 2.0, 1 x USB 3.0, 1 x USB Type-C host with DP 1.2 and power-in, PCI Express x4 for an M.2 NVMe SSD drive (requires an optional adapter), and serial console UART (via the headphone jack by setting an internal switch). The keyboard and touchpad both use the USB 2.0 protocol. The LCD panel uses the eDP MiPi display protocol. \ No newline at end of file +The Pinebook Pro is equipped with 4 GB of LPDDR4 system memory, up to 128 GB of eMMC flash storage, and 128 Mbit of SPI boot flash. The I/O includes: 1 x micro SD card reader (bootable), 1 x USB 2.0, 1 x USB 3.0, 1 x USB Type-C host with DP 1.2 and power-in, PCI Express x4 for an M.2 NVMe SSD drive (requires an optional adapter), and serial console UART (via the headphone jack by setting an internal switch). The keyboard and touchpad both use the USB 2.0 protocol. The LCD panel uses the eDP MiPi display protocol. diff --git a/content/documentation/Pinecil/Authenticity.adoc b/content/documentation/Pinecil/Authenticity.md similarity index 62% rename from content/documentation/Pinecil/Authenticity.adoc rename to content/documentation/Pinecil/Authenticity.md index bbc1f0cb..b8c2cce1 100644 --- a/content/documentation/Pinecil/Authenticity.adoc +++ b/content/documentation/Pinecil/Authenticity.md @@ -11,12 +11,12 @@ menu: There are no PINE64 Pinecils sold on AliExpress. They are not made by PINE64. There are no authorized resellers on AliExpress. Some manufacturer has copied the PINE64 company name, trademark and Pinecone logo and is selling a product made to look like Pinecil through many store fronts, but it is not an authentic. They use a different type of box, i.e., a blue or red box. They are fake copies and do not go through the same quality control as PINE64. It is unclear what type of chips or poor quality cloned chips are used in them. They are not recommended. Genuine new PINE64 Pinecil only comes in a black handle color with a green silicone thumb grip. The original V1 always came in a black box. This model was discontinued and has not been made or sold by PINE64 or authorized resellers since July 2022. -The current official Pinecil (a.k.a. V2 model) comes in a white box (see link:/documentation/Pinecil/Further_information/Pictures[Pictures]), it has a black color handle with a green silicone thumb grip. If you receive anything that has the PINE64 brand name and Pinecone and does not look like described, it is a fake copy that was not made or authorized by PINE64 or the Pine Store Ltd (see Authenticity Checker below, all real PINE64 Pinecils purchased after Aug. 2, 2022 should pass the checker if they are genuine). +The current official Pinecil (a.k.a. V2 model) comes in a white box (see [Pictures](/documentation/Pinecil/Further_information/Pictures)), it has a black color handle with a green silicone thumb grip. If you receive anything that has the PINE64 brand name and Pinecone and does not look like described, it is a fake copy that was not made or authorized by PINE64 or the Pine Store Ltd (see Authenticity Checker below, all real PINE64 Pinecils purchased after Aug. 2, 2022 should pass the checker if they are genuine). -== Pinecil V2 Authenticity Checker +## Pinecil V2 Authenticity Checker Pinecil V2 comes with a unique internal ID/Serial number. This allows people to check if the Pinecil V2 is Authentic. -To be more sure, update to the newest stable Ralim's IronOS and check again, see link:/documentation/Pinecil/Firmware[Firmware]]. - -IMPORTANT: https://pinecil.pine64.org/[Authenticity Checker here.] +To be more sure, update to the newest stable Ralim’s IronOS and check again, see [Firmware](/documentation/Pinecil/Firmware)]. +**❗ IMPORTANT**\ +[Authenticity Checker here.](https://pinecil.pine64.org/) diff --git a/content/documentation/Pinecil/Breakout_board.adoc b/content/documentation/Pinecil/Breakout_board.md similarity index 63% rename from content/documentation/Pinecil/Breakout_board.adoc rename to content/documentation/Pinecil/Breakout_board.md index 8b295742..3e85868c 100644 --- a/content/documentation/Pinecil/Breakout_board.adoc +++ b/content/documentation/Pinecil/Breakout_board.md @@ -14,13 +14,12 @@ The Pinecil Break out board has these features: * Connect to JTAG port or ADC/DAC, I2C, UART, SPI * Independent power regulator circuit * Allows pass through power from USB-C charger to Pinecil. -* Get the https://pine64.com/product/pinecil-break-out-board/[Breakout Board here]. -* https://files.pine64.org/doc/Pinecil/Pinecil_Breakout_Board_Schematic_v1.0_20201005.pdf[Pinecil breakout board schematic ver 1.0 20201005] -* https://files.pine64.org/doc/Pinecil/Pinecil_Breakout_Board_PCB_layout_v1.0_20201005.pdf[Pinecil breakout board PCB layout ver 1.0] +* Get the [Breakout Board here](https://pine64.com/product/pinecil-break-out-board/). +* [Pinecil breakout board schematic ver 1.0 20201005](https://files.pine64.org/doc/Pinecil/Pinecil_Breakout_Board_Schematic_v1.0_20201005.pdf) +* [Pinecil breakout board PCB layout ver 1.0](https://files.pine64.org/doc/Pinecil/Pinecil_Breakout_Board_PCB_layout_v1.0_20201005.pdf) Photos: {{< figure src="/documentation/images/Pinecil_breakout_top.jpg" title="Top_view" >}} {{< figure src="/documentation/images/Pinecil_breakout_bottom.jpg" title="Bottom_view" >}} {{< figure src="/documentation/images/UART-pinecil-breakout-board-testing30.png" title=" UART Debugging" >}} - diff --git a/content/documentation/Pinecil/Cases,_stands_and_supplies.adoc b/content/documentation/Pinecil/Cases,_stands_and_supplies.adoc deleted file mode 100644 index 01c2f622..00000000 --- a/content/documentation/Pinecil/Cases,_stands_and_supplies.adoc +++ /dev/null @@ -1,41 +0,0 @@ ---- -title: "Cases, Stands, Supplies" -draft: true # NOT PUBLISHED -menu: - docs: - title: - parent: "Pinecil" - identifier: "Pinecil/Cases,_stands_and_supplies" - weight: ---- - -The article contains information about cases, holders/stands, 3D-models, and supplies for the link:/documentation/Pinecil[Pinecil] soldering iron. This is a small set of examples based on the many questions asked every week in the live Pinecil chat channel. There may be better althernatives depending on your part of the world, but this gives an idea of some possible options. - -== Cases and bags - -* https://a.co/d/hjFRpzK[EVA Shockproof Case] -* https://a.co/d/i6QoxKl[Aluminum hard case w/foam] (check size before ordering if multiple listed). -* https://a.co/d/gAYy8fG[Aluminum poker case w/foam] -* Soft Bag https://a.co/d/48PjOwZ[Molle IFAK/EDC]: look for bags that can fully open like a sandwich when unzipped which allows tools to be easily seen and retrieved. Bags that only partially unzip make it harder to find tools without dumping out the whole bag. - -== Holders and stands - -* https://a.co/ex0JeQw[Noah Metal Stand with Brass wool] -* https://a.co/bR0Xfpr[YiHua X-4 Stand] with Brass Wool & hard rosin in the bottom for tip cleaning -* https://www.hakko.com/english/products/hakko_kote_board.html#fh300-81[Hakko FH300-81] -* Pine Store https://pine64.com/product/pinecil-portable-mini-stand/[Portable Mini Stand] -* https://www.youtube.com/watch?v=WsqIPZchSEw[Helping hands], diy - -== 3D models - -* https://www.printables.com/model/410086-pinecil-v2-short-tips-case[Pinecil V2 + Short Tips] by Enrico Pulvirenti -* https://www.printables.com/model/441414-soldering-iron-stand-really-compact[Collapsible stand] by Kj_temmes -* https://www.printables.com/model/400459-pinecil-shell[Pinecil handle shell] by JeKo1987 -* https://www.thingiverse.com/thing:4727212[Pinecil compact case] by operator7g -* https://www.thingiverse.com/thing:5551739[Pinecil flip case] by ithan -* https://www.thingiverse.com/thing:5186002[Multipart Pinecil Case] by Pjotrke -* https://www.thingiverse.com/search?q=pinecil[Thingiverse search for 'Pinecil'] -* https://www.thingiverse.com/thing:4981053[Reuse the clear plastic box] that comes with the clear handle. -* https://www.thingiverse.com/thing:4734830[T12 tip adapter for outside tip holding] -* https://www.printables.com/model/97073-pinecil-mosfet-saver-for-t12-tips[T12 tip adaptor] to protect the internal Mosfet in Pinecil. -* https://github.com/kohkohwastaken/3D-Models/tree/main/Pine64[3D models of Pinecil] by kohkoh \ No newline at end of file diff --git a/content/documentation/Pinecil/Cases,_stands_and_supplies.md b/content/documentation/Pinecil/Cases,_stands_and_supplies.md new file mode 100644 index 00000000..33bc6b02 --- /dev/null +++ b/content/documentation/Pinecil/Cases,_stands_and_supplies.md @@ -0,0 +1,41 @@ +--- +title: "Cases, Stands, Supplies" +draft: true # NOT PUBLISHED +menu: + docs: + title: + parent: "Pinecil" + identifier: "Pinecil/Cases,_stands_and_supplies" + weight: +--- + +The article contains information about cases, holders/stands, 3D-models, and supplies for the [Pinecil](/documentation/Pinecil) soldering iron. This is a small set of examples based on the many questions asked every week in the live Pinecil chat channel. There may be better althernatives depending on your part of the world, but this gives an idea of some possible options. + +## Cases and bags + +* [EVA Shockproof Case](https://a.co/d/hjFRpzK) +* [Aluminum hard case w/foam](https://a.co/d/i6QoxKl) (check size before ordering if multiple listed). +* [Aluminum poker case w/foam](https://a.co/d/gAYy8fG) +* Soft Bag [Molle IFAK/EDC](https://a.co/d/48PjOwZ): look for bags that can fully open like a sandwich when unzipped which allows tools to be easily seen and retrieved. Bags that only partially unzip make it harder to find tools without dumping out the whole bag. + +## Holders and stands + +* [Noah Metal Stand with Brass wool](https://a.co/ex0JeQw) +* [YiHua X-4 Stand](https://a.co/bR0Xfpr) with Brass Wool & hard rosin in the bottom for tip cleaning +* [Hakko FH300-81](https://www.hakko.com/english/products/hakko_kote_board.html#fh300-81) +* Pine Store [Portable Mini Stand](https://pine64.com/product/pinecil-portable-mini-stand/) +* [Helping hands](https://www.youtube.com/watch?v=WsqIPZchSEw), diy + +## 3D models + +* [Pinecil V2 + Short Tips](https://www.printables.com/model/410086-pinecil-v2-short-tips-case) by Enrico Pulvirenti +* [Collapsible stand](https://www.printables.com/model/441414-soldering-iron-stand-really-compact) by Kj_temmes +* [Pinecil handle shell](https://www.printables.com/model/400459-pinecil-shell) by JeKo1987 +* [Pinecil compact case](https://www.thingiverse.com/thing:4727212) by operator7g +* [Pinecil flip case](https://www.thingiverse.com/thing:5551739) by ithan +* [Multipart Pinecil Case](https://www.thingiverse.com/thing:5186002) by Pjotrke +* [Thingiverse search for 'Pinecil'](https://www.thingiverse.com/search?q=pinecil) +* [Reuse the clear plastic box](https://www.thingiverse.com/thing:4981053) that comes with the clear handle. +* [T12 tip adapter for outside tip holding](https://www.thingiverse.com/thing:4734830) +* [T12 tip adaptor](https://www.printables.com/model/97073-pinecil-mosfet-saver-for-t12-tips) to protect the internal Mosfet in Pinecil. +* [3D models of Pinecil](https://github.com/kohkohwastaken/3D-Models/tree/main/Pine64) by kohkoh diff --git a/content/documentation/Pinecil/Features.adoc b/content/documentation/Pinecil/Features.adoc deleted file mode 100644 index e46cff56..00000000 --- a/content/documentation/Pinecil/Features.adoc +++ /dev/null @@ -1,36 +0,0 @@ ---- -title: "Features" -draft: false -menu: - docs: - title: - parent: "Pinecil" - identifier: "Pinecil/Features" - weight: 2 ---- - -* Portability and Temperature control -* Soldering tips: - -. Replaceable and low cost -. Many styles: https://pine64.com/product-category/pinecil/[currently sold] as 4-packs, one fine set, the other larger. -. Compatible with other ts100 tips. - -* Multiple power sources will work for more flexibility: - -. USB-C PD (power delivery), minimum 3 Amps, 12V. -. DC 5525 Barrel jack charger, minimum 3 Amps, 12V. -. Battery: connect to 18V-21V Lithium-ion tool batteries or 3S/4S/5S LiPo batteries. - -* Pinecil V2 has a BL706 chip, see link:/documentation/Pinecil/Further_information/History_of_hardware_changes/[history of changes below]. -** Board schematics are open. Software is open. Create your own! -** https://pine64.com/product/pinecil-break-out-board/[Pinecil breakout board] lets you use JTAG, GPIO, A2D, SPI, and more. - -Additional features (useful for devkit): - -* Programmable Risc-V BL706 embedded processor -* V2 model allows BLE Bluetooth control because of the switch to the Bouffalo BL706 MCU. -* 0.69" Monochrome Display that can render text or graphics -* Support for Idle detection, sleep mode of tip, automatic shut-down -* Programmable with https://github.com/bouffalolab/bl_mcu_sdk[tools from Bouffalo Labs], https://github.com/riscv-software-src/homebrew-riscv[HomeBrew] or https://wiki.debian.org/RISC-V#Cross_compilation[Linux RISC-V]. - diff --git a/content/documentation/Pinecil/Features.md b/content/documentation/Pinecil/Features.md new file mode 100644 index 00000000..99217890 --- /dev/null +++ b/content/documentation/Pinecil/Features.md @@ -0,0 +1,31 @@ +--- +title: "Features" +draft: false +menu: + docs: + title: + parent: "Pinecil" + identifier: "Pinecil/Features" + weight: 2 +--- + +* Portability and Temperature control +* Soldering tips: + 1. Replaceable and low cost + 2. Many styles: [currently sold](https://pine64.com/product-category/pinecil/) as 4-packs, one fine set, the other larger. + 3. Compatible with other ts100 tips. +* Multiple power sources will work for more flexibility: + 1. USB-C PD (power delivery), minimum 3 Amps, 12V. + 2. DC 5525 Barrel jack charger, minimum 3 Amps, 12V. + 3. Battery: connect to 18V-21V Lithium-ion tool batteries or 3S/4S/5S LiPo batteries. +* Pinecil V2 has a BL706 chip, see [history of changes below](/documentation/Pinecil/Further_information/History_of_hardware_changes/). + * Board schematics are open. Software is open. Create your own! + * [Pinecil breakout board](https://pine64.com/product/pinecil-break-out-board/) lets you use JTAG, GPIO, A2D, SPI, and more. + +Additional features (useful for devkit): + +* Programmable Risc-V BL706 embedded processor +* V2 model allows BLE Bluetooth control because of the switch to the Bouffalo BL706 MCU. +* 0.69" Monochrome Display that can render text or graphics +* Support for Idle detection, sleep mode of tip, automatic shut-down +* Programmable with [tools from Bouffalo Labs](https://github.com/bouffalolab/bl_mcu_sdk), [HomeBrew](https://github.com/riscv-software-src/homebrew-riscv) or [Linux RISC-V](https://wiki.debian.org/RISC-V#Cross_compilation). diff --git a/content/documentation/Pinecil/Further_information/History_of_hardware_changes.adoc b/content/documentation/Pinecil/Further_information/History_of_hardware_changes.adoc deleted file mode 100644 index 3de8f531..00000000 --- a/content/documentation/Pinecil/Further_information/History_of_hardware_changes.adoc +++ /dev/null @@ -1,24 +0,0 @@ ---- -title: "History of hardware changes" -draft: false -menu: - docs: - title: - parent: "Pinecil/Further_information" - identifier: "Pinecil/Further_information/History_of_hardware_changes" - weight: ---- - -*Pinecil V2* - -* On Aug. 2, 2022, Pinecil V2 was released with improved hardware & accessories. It retains the same ergonomics and design as the original Pinecil, and will work with any accessories you already have including existing handles, cases, and tips. It comes with a green color silicone grip versus the light blue finger grip from Pinecil V1. It also includes one of PINE64's newly designed shorter 6.2 ohm tips. By reducing the tip length and resistance from 8 to 6.2 ohms, it allows greater performance and and faster heating (short tips are potentially 64W @ 20V compared to 8ohm normal tips which allow a max of 50W to Pinecil). Pinecil V2 is _officially_ rated for 12V-24V. -* Key changes in V2: new processor (BL706), higher maximum input voltage (24V versus V1's 21V rating), support for measuring tip resistance, allows automatic detection of 6.2 vs 8 ohm tips. A notable improvement is the new BL706 RISC-V processor from Bouffalo. It is similar to the BL602 in the Pinenut. The BL706 features Bluetooth Low Energy (BLE / Zigbee); future IronOS firmware releases will expose features over BLE. This is not trivial work, but as people contribute to the opensource code of GitHub/IronOS, BLE options will expand. There is also tentative support for USB-PD3.1 EPR (28V, 140W chargers), Ralim's IronOS supports V2 running with USB-C EPR-28V. EPR/PD3.1 is not officially acknowledged yet by the Pine Store. Many brands of EPR USB-C chargers are confirmed by members to work on Pinecil V2 at 28V and this results in faster heating performance over PD 20V chargers https://www.youtube.com/watch?v=nTC-ah4f0hg[see short test here]. -* Things staying the same in V2: it still uses a RISC-V processor, but adds noticeable upgrades to the hardware. GPIO is broken out on USB-C for creating your own projects, same pinout as Pinecil V1, same great feel, including the rubber grip, works with all existing tips, same DC input + USB-C input connections, and compatibility with existing clear or black handles. -* In the V2 handle's side label, the 88W figure comes from a 6.5ohm tip calculation. The reason for using 6.5 instead of 6.2 for the new short tips calculation is due to tolerance during manufacturing, and leaving a conservative margin of error (actual tips appear to be 6.2 ohms). V2 set max voltage is listed as 24V because this was the value used during design and component selection. - -*Pinecil V1* - -* For the first manufacture batch (October 2020, order number 158xxx) of the Pinecil, the copper ring connecting the earth screw to the tip was omitted as the engineering team found the TS100 design lacking. For the second round onward, an improved design copper ring has been included as standard, and is also included with the replacement clear and black handles. For normal operation of the iron, omission of the ring does not impact it's operation. *If you are working with ESD components, you will need it in order to ground the iron tip via the earth screw at the back of the iron.* -* Programmable with https://doc.nucleisys.com/nuclei_sdk/design/soc/gd32vf103.html[tools from Gigadevice] -* The first batch of Pinecils were rated 12-24v @ 65W. After some heated discussion on the discussion group, it was decided that it would be downgraded to 12-21V @ 60W, due to concern over the connection of the DC jack to the USB-PD chip, which has a recommended maximum of 21v, and absolute maximum of 28v. - diff --git a/content/documentation/Pinecil/Further_information/History_of_hardware_changes.md b/content/documentation/Pinecil/Further_information/History_of_hardware_changes.md new file mode 100644 index 00000000..77aafbb9 --- /dev/null +++ b/content/documentation/Pinecil/Further_information/History_of_hardware_changes.md @@ -0,0 +1,23 @@ +--- +title: "History of hardware changes" +draft: false +menu: + docs: + title: + parent: "Pinecil/Further_information" + identifier: "Pinecil/Further_information/History_of_hardware_changes" + weight: +--- + +**Pinecil V2** + +* On Aug. 2, 2022, Pinecil V2 was released with improved hardware & accessories. It retains the same ergonomics and design as the original Pinecil, and will work with any accessories you already have including existing handles, cases, and tips. It comes with a green color silicone grip versus the light blue finger grip from Pinecil V1. It also includes one of PINE64’s newly designed shorter 6.2 ohm tips. By reducing the tip length and resistance from 8 to 6.2 ohms, it allows greater performance and and faster heating (short tips are potentially 64W @ 20V compared to 8ohm normal tips which allow a max of 50W to Pinecil). Pinecil V2 is _officially_ rated for 12V-24V. +* Key changes in V2: new processor (BL706), higher maximum input voltage (24V versus V1’s 21V rating), support for measuring tip resistance, allows automatic detection of 6.2 vs 8 ohm tips. A notable improvement is the new BL706 RISC-V processor from Bouffalo. It is similar to the BL602 in the Pinenut. The BL706 features Bluetooth Low Energy (BLE / Zigbee); future IronOS firmware releases will expose features over BLE. This is not trivial work, but as people contribute to the opensource code of GitHub/IronOS, BLE options will expand. There is also tentative support for USB-PD3.1 EPR (28V, 140W chargers), Ralim’s IronOS supports V2 running with USB-C EPR-28V. EPR/PD3.1 is not officially acknowledged yet by the Pine Store. Many brands of EPR USB-C chargers are confirmed by members to work on Pinecil V2 at 28V and this results in faster heating performance over PD 20V chargers [see short test here](https://www.youtube.com/watch?v=nTC-ah4f0hg). +* Things staying the same in V2: it still uses a RISC-V processor, but adds noticeable upgrades to the hardware. GPIO is broken out on USB-C for creating your own projects, same pinout as Pinecil V1, same great feel, including the rubber grip, works with all existing tips, same DC input + USB-C input connections, and compatibility with existing clear or black handles. +* In the V2 handle’s side label, the 88W figure comes from a 6.5ohm tip calculation. The reason for using 6.5 instead of 6.2 for the new short tips calculation is due to tolerance during manufacturing, and leaving a conservative margin of error (actual tips appear to be 6.2 ohms). V2 set max voltage is listed as 24V because this was the value used during design and component selection. + +**Pinecil V1** + +* For the first manufacture batch (October 2020, order number 158xxx) of the Pinecil, the copper ring connecting the earth screw to the tip was omitted as the engineering team found the TS100 design lacking. For the second round onward, an improved design copper ring has been included as standard, and is also included with the replacement clear and black handles. For normal operation of the iron, omission of the ring does not impact it’s operation. **If you are working with ESD components, you will need it in order to ground the iron tip via the earth screw at the back of the iron.** +* Programmable with [tools from Gigadevice](https://doc.nucleisys.com/nuclei_sdk/design/soc/gd32vf103.html) +* The first batch of Pinecils were rated 12-24v @ 65W. After some heated discussion on the discussion group, it was decided that it would be downgraded to 12-21V @ 60W, due to concern over the connection of the DC jack to the USB-PD chip, which has a recommended maximum of 21v, and absolute maximum of 28v. diff --git a/content/documentation/Pinecil/Further_information/Pictures.adoc b/content/documentation/Pinecil/Further_information/Pictures.md similarity index 97% rename from content/documentation/Pinecil/Further_information/Pictures.adoc rename to content/documentation/Pinecil/Further_information/Pictures.md index b951541a..886da049 100644 --- a/content/documentation/Pinecil/Further_information/Pictures.adoc +++ b/content/documentation/Pinecil/Further_information/Pictures.md @@ -37,4 +37,4 @@ PCB: Accessories: -{{< figure src="/documentation/images/Pinecil-Thumb-Screws.png" title="Thumb screws on V1 & V2 " >}} \ No newline at end of file +{{< figure src="/documentation/images/Pinecil-Thumb-Screws.png" title="Thumb screws on V1 & V2 " >}} diff --git a/content/documentation/Pinecil/Further_information/Pinecil_in_the_Media.adoc b/content/documentation/Pinecil/Further_information/Pinecil_in_the_Media.adoc deleted file mode 100644 index 05cd6145..00000000 --- a/content/documentation/Pinecil/Further_information/Pinecil_in_the_Media.adoc +++ /dev/null @@ -1,43 +0,0 @@ ---- -title: "Pinecil in the Media" -draft: false -menu: - docs: - title: - parent: "Pinecil/Further_information" - identifier: "Pinecil/Further_information/Pinecil_in_the_Media" - weight: ---- - -== Humor - -* https://www.reddit.com/r/PINE64official/comments/xk9vxu/most_interesting_man_in_the_world_i_dont_always/[Most interesting man] -* Science Pinecil - -{{< figure src="/documentation/images/Science-pinecil-v2-01.png" >}} - -== Videos - -* https://www.youtube.com/watch?v=0IZMUOik2dI[V2 review, Aditya Mukherjee] -* https://www.youtube.com/watch?v=YeKv0fwshFQ[V2 review, Platima Tinkers] -* https://youtu.be/k-wo_al9QJU?t=61[V1 review, Adrian's Basement] -* https://www.youtube.com/watch?v=eme_AUayLp8[V1 review, Adam Welch] -* https://www.youtube.com/watch?v=KQBL4aZkzo0[Custom made wood box] -* https://www.youtube.com/watch?v=LEKx0nGIrIA[Aluminum carry box] - -== Pinecil V2 Articles - -* https://thepotato.tech/posts/smarthome-soldering-iron-pinecil-homeassistant-esphome/[Smart Soldering Iron, Got Bluetooth?] -* https://hackaday.com/2023/01/31/all-about-usb-c-pinecil-soldering-iron[How Pinecil Integrates newest USB-C protocols] -* https://www.tomshardware.com/reviews/pinecil-v2[Tomshardware Review] -* https://www.cnx-software.com/2022/07/29/pinecil-v2-soldering-iron-gets-bl706-bluetooth-le-risc-v-mcu-usb-pd-epr-support/[CNX Software Review] - -== Pinecil V1 Reviews - -* https://hackspace.raspberrypi.com/articles/pinecil-soldering-iron-review[Hackspace Review] -* https://hackaday.com/2021/01/05/review-pine64-pinecil-soldering-iron/[Hackaday Review] - -== Pinecils in the Field - -* https://www.thedrive.com/the-war-zone/task-force-99-is-small-agile-and-laser-focused-on-its-own-backyard[Pinecils in the field] - diff --git a/content/documentation/Pinecil/Further_information/Pinecil_in_the_Media.md b/content/documentation/Pinecil/Further_information/Pinecil_in_the_Media.md new file mode 100644 index 00000000..b5e21878 --- /dev/null +++ b/content/documentation/Pinecil/Further_information/Pinecil_in_the_Media.md @@ -0,0 +1,42 @@ +--- +title: "Pinecil in the Media" +draft: false +menu: + docs: + title: + parent: "Pinecil/Further_information" + identifier: "Pinecil/Further_information/Pinecil_in_the_Media" + weight: +--- + +## Humor + +* [Most interesting man](https://www.reddit.com/r/PINE64official/comments/xk9vxu/most_interesting_man_in_the_world_i_dont_always/) +* Science Pinecil + +{{< figure src="/documentation/images/Science-pinecil-v2-01.png" >}} + +## Videos + +* [V2 review, Aditya Mukherjee](https://www.youtube.com/watch?v=0IZMUOik2dI) +* [V2 review, Platima Tinkers](https://www.youtube.com/watch?v=YeKv0fwshFQ) +* [V1 review, Adrian’s Basement](https://youtu.be/k-wo_al9QJU?t=61) +* [V1 review, Adam Welch](https://www.youtube.com/watch?v=eme_AUayLp8) +* [Custom made wood box](https://www.youtube.com/watch?v=KQBL4aZkzo0) +* [Aluminum carry box](https://www.youtube.com/watch?v=LEKx0nGIrIA) + +## Pinecil V2 Articles + +* [Smart Soldering Iron, Got Bluetooth?](https://thepotato.tech/posts/smarthome-soldering-iron-pinecil-homeassistant-esphome/) +* [How Pinecil Integrates newest USB-C protocols](https://hackaday.com/2023/01/31/all-about-usb-c-pinecil-soldering-iron) +* [Tomshardware Review](https://www.tomshardware.com/reviews/pinecil-v2) +* [CNX Software Review](https://www.cnx-software.com/2022/07/29/pinecil-v2-soldering-iron-gets-bl706-bluetooth-le-risc-v-mcu-usb-pd-epr-support/) + +## Pinecil V1 Reviews + +* [Hackspace Review](https://hackspace.raspberrypi.com/articles/pinecil-soldering-iron-review) +* [Hackaday Review](https://hackaday.com/2021/01/05/review-pine64-pinecil-soldering-iron/) + +## Pinecils in the Field + +* [Pinecils in the field](https://www.thedrive.com/the-war-zone/task-force-99-is-small-agile-and-laser-focused-on-its-own-backyard) diff --git a/content/documentation/Pinecil/Manuals.adoc b/content/documentation/Pinecil/Manuals.adoc deleted file mode 100644 index e7ce2bc6..00000000 --- a/content/documentation/Pinecil/Manuals.adoc +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: "Manuals" -draft: false -menu: - docs: - title: - parent: "Pinecil" - identifier: "Pinecil/Manuals" - weight: 4 ---- - -* https://wiki.pine64.org/wiki/File:USER_MANUAL_-_QUICK_START_PINECIL_multi_lang_EU+DE+FR.pdf[Pinecil V1 Quick Start Guide] -* Navigate the Pinecil menus: https://ralim.github.io/IronOS/GettingStarted/[Guide here]. diff --git a/content/documentation/Pinecil/Manuals.md b/content/documentation/Pinecil/Manuals.md new file mode 100644 index 00000000..bc5246b6 --- /dev/null +++ b/content/documentation/Pinecil/Manuals.md @@ -0,0 +1,13 @@ +--- +title: "Manuals" +draft: false +menu: + docs: + title: + parent: "Pinecil" + identifier: "Pinecil/Manuals" + weight: 4 +--- + +* [Pinecil V1 Quick Start Guide](https://wiki.pine64.org/wiki/File:USER_MANUAL_-_QUICK_START_PINECIL_multi_lang_EU+DE+FR.pdf) +* Navigate the Pinecil menus: [Guide here](https://ralim.github.io/IronOS/GettingStarted/). diff --git a/content/documentation/Pinecil/Modifications/Hall_effect_sensor.adoc b/content/documentation/Pinecil/Modifications/Hall_effect_sensor.adoc deleted file mode 100644 index 74f93013..00000000 --- a/content/documentation/Pinecil/Modifications/Hall_effect_sensor.adoc +++ /dev/null @@ -1,64 +0,0 @@ ---- -title: "Hall Effect Sensor" -draft: false -menu: - docs: - title: - parent: "Pinecil/Modifications" - identifier: "Pinecil/Modifications/Hall_effect_sensor" - weight: ---- - -Instructions to install a hall effect sensor (HES) on the link:/documentation/Pinecil[Pinecil] V1 and V2. - -The Hall Effect Sensor (HES) is an optional end user installed sensor that activates to put Pinecil to sleep when it enters a holder or stand. This requires a neodymium magnet attached to the stand. The closer the HES in the Pinecil is to the magnet, the more likely the HES will activate to enter sleep mode. This adds a feature to Pinecil that is often seen in high end pro irons. - -== Tools and Supplies - -. Order a Hall Effect Sensor https://www.lcsc.com/product-detail/Position-Sensor_SILICON-LABS-SI7210-B-00-IVR_C2654956.html[(SI7210-B-00 here)], also at Digikey and Mouser. -. Ordering 2-3 might be a good idea in case the first one is damaged during install (if all goes well, one could mail the extras to a friend or another Pine64 member in the community chat ;). -. Jeweler's magnifying glasses or magnifying lamp or a microscope is recommended as the https://madpcb.com/glossary/sot-23/[SOT23] chip is very small. -. Borrow a second soldering iron (this is when 2x Pinecils is a good idea). -. Get some https://a.co/d/0jU8zic[neodymium magnets], just two 8x2.7mm at 8:00PM and 12:00PM on the stand could be enough. Experimentation is needed. Start with just one small magnet and increase the number placed around the stand until 360° sleep is activated when the Pinecil hits the stand. -. Reference [[Pinecil:_How_to_Repair#Schematics_and_Board_Data | Schematics are here]] (search for U14). - -== Videos - -. Easy trick to https://www.youtube.com/watch?v=aK01V5DrrVk[Open Pinecil]. -. How to install https://www.youtube.com/watch?v=vU-fhELpI8Y[Hall Sensor video]. - -== Installation - -. Updating to the newest firmware before installing is recommended, see the link:/documentation/Pinecil#firmware_&_updates[Firmware article]. These instructions are for 2.18 or newer firmware. -. The HES is located at the very front of the Pinecil, tip end, see link:#images[PCB images here]. -. Once it is soldered, cleaned, and assembled, check the sleep menu, a new hall sensitivity option appears. -. See this article on how to set up the https://github.com/Ralim/IronOS/blob/dev/Documentation/HallSensor.md[sensitivity settings] on the firmware menu (Ralim's IronOS). -. Once you change the Sleep menu > Hall sensitivity to what you like, then scroll back to the main screen in order for the setting to be saved and persist on reboot. -. Note: IronOS firmware does not flash a setting change until one scrolls out of the sub-menu back to the main screen. This is to reduce the total number of flashes done as several settings might be changed in one section (number of flashes is not unlimited; most users will not encounter the maximum allowed flashes on normal use over years). - -== Hints - -. Try not to overheat the sensor while soldering as that could damage it and even cause a leg to fall off. -. This is a small SOT23 chip. Tacking one pin on the 2-pin side helps to hold it in place before soldering the rest of the sensor. -. It is recommended to solder this with an iron with a small tip instead of using hot air (depends on your experience with hot air). See photos below, use kapton tape to protect nearby components: the 3 via holes above the 3-pin side, and the NTC temperature sensor on the other side. If too much heat is applied, it could damage the pcb, and/or affect the I2C and cause screen corruption. -. Apply generous flux to the area. If lead solder is being used, it is recommended to remove some of the existing no-lead solder that is already on the U14 pads. -. After the HES is soldered, clean the area completely with 99% isopropyl alcohol (IPA) and a soft toothbrush or small paint brush and dry before link:/documentation/Pinecil/How_to_repair#assembly_steps[assembly]. Air/hair dryer could be used to blow out some of the wet IPA. Not cleaning it well enough could cause some I2C noise on the screen. Try to keep IPA/alcohol away from OLED screens. -. If the stand/holder is not metal, tape magnets near where the Pinecil enters the hole in the holder to test out good locations. Hot glue is another option. -. When closing the handle, inspect that the the seam line is fully snaped closed; avoid pressing the screen. - -== Images - -Before installation, location at U14: -{{< figure src="/documentation/Pinecil/images/hall_effect_1.jpg" >}} - -After installation: -{{< figure src="/documentation/Pinecil/images/hall_effect_2.jpg" >}} - -Only needs small amount of solder: -{{< figure src="/documentation/Pinecil/images/hall_effect_3.jpg" >}} - -Kapton tape/protect the 3 Via holes above 3-pin side,title="Kapton tape/protect the 3 Via holes above 3-pin side": -{{< figure src="/documentation/Pinecil/images/hall_effect_4.jpg" >}} - -Kapton tape/protect the NTC sensor on opposite side of V2 (V1 does not have this): -{{< figure src="/documentation/Pinecil/images/NTC-temp-Sensor.jpg" >}} \ No newline at end of file diff --git a/content/documentation/Pinecil/Modifications/Hall_effect_sensor.md b/content/documentation/Pinecil/Modifications/Hall_effect_sensor.md new file mode 100644 index 00000000..c6262a56 --- /dev/null +++ b/content/documentation/Pinecil/Modifications/Hall_effect_sensor.md @@ -0,0 +1,64 @@ +--- +title: "Hall Effect Sensor" +draft: false +menu: + docs: + title: + parent: "Pinecil/Modifications" + identifier: "Pinecil/Modifications/Hall_effect_sensor" + weight: +--- + +Instructions to install a hall effect sensor (HES) on the [Pinecil](/documentation/Pinecil) V1 and V2. + +The Hall Effect Sensor (HES) is an optional end user installed sensor that activates to put Pinecil to sleep when it enters a holder or stand. This requires a neodymium magnet attached to the stand. The closer the HES in the Pinecil is to the magnet, the more likely the HES will activate to enter sleep mode. This adds a feature to Pinecil that is often seen in high end pro irons. + +## Tools and Supplies + +1. Order a Hall Effect Sensor [(SI7210-B-00 here)](https://www.lcsc.com/product-detail/Position-Sensor_SILICON-LABS-SI7210-B-00-IVR_C2654956.html), also at Digikey and Mouser. +2. Ordering 2-3 might be a good idea in case the first one is damaged during install (if all goes well, one could mail the extras to a friend or another Pine64 member in the community chat ;). +3. Jeweler’s magnifying glasses or magnifying lamp or a microscope is recommended as the [SOT23](https://madpcb.com/glossary/sot-23/) chip is very small. +4. Borrow a second soldering iron (this is when 2x Pinecils is a good idea). +5. Get some [neodymium magnets](https://a.co/d/0jU8zic), just two 8x2.7mm at 8:00PM and 12:00PM on the stand could be enough. Experimentation is needed. Start with just one small magnet and increase the number placed around the stand until 360° sleep is activated when the Pinecil hits the stand. +6. Reference [[Pinecil:_How_to_Repair#Schematics_and_Board_Data | Schematics are here]] (search for U14). + +## Videos + +1. Easy trick to [Open Pinecil](https://www.youtube.com/watch?v=aK01V5DrrVk). +2. How to install [Hall Sensor video](https://www.youtube.com/watch?v=vU-fhELpI8Y). + +## Installation + +1. Updating to the newest firmware before installing is recommended, see the [Firmware article](/documentation/Pinecil#firmware_&_updates). These instructions are for 2.18 or newer firmware. +2. The HES is located at the very front of the Pinecil, tip end, see [PCB images here](#images). +3. Once it is soldered, cleaned, and assembled, check the sleep menu, a new hall sensitivity option appears. +4. See this article on how to set up the [sensitivity settings](https://github.com/Ralim/IronOS/blob/dev/Documentation/HallSensor.md) on the firmware menu (Ralim’s IronOS). +5. Once you change the Sleep menu > Hall sensitivity to what you like, then scroll back to the main screen in order for the setting to be saved and persist on reboot. +6. Note: IronOS firmware does not flash a setting change until one scrolls out of the sub-menu back to the main screen. This is to reduce the total number of flashes done as several settings might be changed in one section (number of flashes is not unlimited; most users will not encounter the maximum allowed flashes on normal use over years). + +## Hints + +1. Try not to overheat the sensor while soldering as that could damage it and even cause a leg to fall off. +2. This is a small SOT23 chip. Tacking one pin on the 2-pin side helps to hold it in place before soldering the rest of the sensor. +3. It is recommended to solder this with an iron with a small tip instead of using hot air (depends on your experience with hot air). See photos below, use kapton tape to protect nearby components: the 3 via holes above the 3-pin side, and the NTC temperature sensor on the other side. If too much heat is applied, it could damage the pcb, and/or affect the I2C and cause screen corruption. +4. Apply generous flux to the area. If lead solder is being used, it is recommended to remove some of the existing no-lead solder that is already on the U14 pads. +5. After the HES is soldered, clean the area completely with 99% isopropyl alcohol (IPA) and a soft toothbrush or small paint brush and dry before [assembly](/documentation/Pinecil/How_to_repair#assembly_steps). Air/hair dryer could be used to blow out some of the wet IPA. Not cleaning it well enough could cause some I2C noise on the screen. Try to keep IPA/alcohol away from OLED screens. +6. If the stand/holder is not metal, tape magnets near where the Pinecil enters the hole in the holder to test out good locations. Hot glue is another option. +7. When closing the handle, inspect that the the seam line is fully snaped closed; avoid pressing the screen. + +## Images + +Before installation, location at U14: +{{< figure src="/documentation/Pinecil/images/hall_effect_1.jpg" >}} + +After installation: +{{< figure src="/documentation/Pinecil/images/hall_effect_2.jpg" >}} + +Only needs small amount of solder: +{{< figure src="/documentation/Pinecil/images/hall_effect_3.jpg" >}} + +Kapton tape/protect the 3 Via holes above 3-pin side,title="Kapton tape/protect the 3 Via holes above 3-pin side": +{{< figure src="/documentation/Pinecil/images/hall_effect_4.jpg" >}} + +Kapton tape/protect the NTC sensor on opposite side of V2 (V1 does not have this): +{{< figure src="/documentation/Pinecil/images/NTC-temp-Sensor.jpg" >}} diff --git a/content/documentation/Pinecil/Modifications/Optional_advanced_modifications.adoc b/content/documentation/Pinecil/Modifications/Optional_advanced_modifications.adoc deleted file mode 100644 index d327ba46..00000000 --- a/content/documentation/Pinecil/Modifications/Optional_advanced_modifications.adoc +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: "Optional advanced modifications" -draft: false -menu: - docs: - title: - parent: "Pinecil/Modifications" - identifier: "Pinecil/Modifications/Optional_advanced_modifications" - weight: ---- - -. [[Pinecil_Hall_Effect_Sensor| Hall Effect Sensor]]: add a sensor that activates with a magnet to put the Pinecil to sleep when it enters a holder or stand. -. [[#Fasteners/Screws| Thumb Screws]]: switch tiny tip holder screw to an easy to use thumb screw. -. https://github.com/Herushan/Pinecil_LED_Ring/blob/main/Pinecil_LED_Ring_writeup.pdf[LED light ring install]: add a PCB light ring to Pinecil. https://www.youtube.com/watch?v=LMbjwjDbSew[Video of the process] -. https://forum.pine64.org/showthread.php?tid=16989[LED light install]: add two LEDs to Pinecil. -. https://www.reddit.com/r/PINE64official/comments/z489qt/customized_pinecil_v2/[RGB internal LED] - pink and blue LEDs. - diff --git a/content/documentation/Pinecil/Modifications/Optional_advanced_modifications.md b/content/documentation/Pinecil/Modifications/Optional_advanced_modifications.md new file mode 100644 index 00000000..db9fab71 --- /dev/null +++ b/content/documentation/Pinecil/Modifications/Optional_advanced_modifications.md @@ -0,0 +1,16 @@ +--- +title: "Optional advanced modifications" +draft: false +menu: + docs: + title: + parent: "Pinecil/Modifications" + identifier: "Pinecil/Modifications/Optional_advanced_modifications" + weight: +--- + +1. [[Pinecil_Hall_Effect_Sensor| Hall Effect Sensor]]: add a sensor that activates with a magnet to put the Pinecil to sleep when it enters a holder or stand. +2. [[#Fasteners/Screws| Thumb Screws]]: switch tiny tip holder screw to an easy to use thumb screw. +3. [LED light ring install](https://github.com/Herushan/Pinecil_LED_Ring/blob/main/Pinecil_LED_Ring_writeup.pdf): add a PCB light ring to Pinecil. [Video of the process](https://www.youtube.com/watch?v=LMbjwjDbSew) +4. [LED light install](https://forum.pine64.org/showthread.php?tid=16989): add two LEDs to Pinecil. +5. [RGB internal LED](https://www.reddit.com/r/PINE64official/comments/z489qt/customized_pinecil_v2/) - pink and blue LEDs. diff --git a/content/documentation/Pinecil/Purchase/Shipping_and_tracking.adoc b/content/documentation/Pinecil/Purchase/Shipping_and_tracking.adoc deleted file mode 100644 index 7bd5e75f..00000000 --- a/content/documentation/Pinecil/Purchase/Shipping_and_tracking.adoc +++ /dev/null @@ -1,50 +0,0 @@ ---- -title: "Shipping and Tracking" -draft: false -menu: - docs: - title: - parent: "Pinecil/Purchase" - identifier: "Pinecil/Purchase/Shipping_and_tracking" - weight: ---- - -This article applies only to the main Pine Store, https://pine64.com[pine64.com] items that ship from their Shenzhen, China facility, such as the Pinecil soldering iron and PinePower chargers. - -Not discussed in this article: big battery devices such as the Pinebook Pro, PineTab, PineNote, PinePhone and PinePhone Pro which all ship from Hong Kong (the PinePhone ships from Poland for EU orders). - -== How does it work? - -. *Order Email*: when the Pine Store receives an order, an initial email is sent out within one day. This email confirms your order was charged (check spam folders for 'Pine Store'). -. *Shipping Email*: after several more days, when the order is shipped, a *second* email is sent with a tracking number. This could take a week or two. Pine does shipments in *batches*, you get the tracking number faster or slower depending on when batch day is. In general, people report getting a shipping/tracking email within 5 days, just wait for this email (search emails for 'Pine Store'). -. If you don't get the first "order email" soon after placing the order, then contact the https://pine64.com/support/[Pine Store here] as your order may not have completed or been charged. - -== Courier options - -. Cheap shipping (~$12): could take 2-7 weeks or more, this sometimes gets delayed in the customs department in your home country due to backlogs (some had 7 weeks mainly because it was stuck in their country's customs department for many weeks before being cleared to leave customs, especially during height of COVID and reduced customs staffing). Currently, members report about 2-3 weeks, as always it can be held up in the customs department of your country if you are shipping it from outside of your country. -. Courier shipping: more expensive (~$25-$30), can take ~4-10 business days or more based on feedback from PINE64 members. -. https://pine64.com/shipping-policy/[Pine Store shipping policy] (30-day warranty starts when Pinecil is delivered). -. Note: resellers operate independently from the main Pine Store. They are in different countries and set all of their own procedures, shipping costs and options. Get all reseller shipping details for each store from their specific websites/chat tools/email. - -== Tracking - -* The tracking number issued in the shipping email may not work for a couple days, just check again. -* https://parcelsapp.com/ -* https://www.17track.net/ - -* If you see the message "outbound imports cancelled", just wait. It is a poorly worded message. Members experience that it updates after 1-3 days to show a hand off from China Post to a USA facility. The message would be more clear if it was "outbound imports transferred/complete". - -== Why doesn't Pine Store Ship to my country? - -. If Pine Store does not ship to your country currently, check out one of the many legit link:/documentation/Pinecil#where_to_buy_a_pinecil[resellers here]. -* Try emailing a few of the resellers, you might get lucky. -* Consider that resellers probably don't want to lose money sending a package that doesn't get there because then the customer asks for a refund. -. Keep in mind that the Pine Store is small with a limited number of staff. -* Some major couriers have temporarily stopped shipping to some countries. -* Customs paperwork for some countries is too difficult for a small business like Pine Store to manage. -* If Customs laws change in some countries, Pine Store may have to move from cheaper shipping options to more expensive courier options. -* Too many packages have gotten lost to some countries. Pinecil and other items have a low margin; lost packages have a great impact. Some resellers are more prepared to take the risks so that the Pine Store can stay focused on engineering new hardware. -. When possible, the Pine Store leaves open the more expensive courier option instead of stopping all shipping to a country. Some friends try to do a group purchase to spread out the shipping cost for each person. -. Pine Store is registered at Hong Kong/Singapore and is not a registered China company and therefore can not ship to China addresses (exports only) even though many Pine64 products like Pinecil are made and shipped from Shenzhen, China. -. Pine Store can not sell on AliExpress (see above). All AliExpress items using the PINE64 and Pinecone logos are fake copies (link:/documentation/Pinecil#authenticity[see authenticity here]). -. For some countries people reported using a package forwarding company (unsure if safe or reliable, *use at your own risk*). \ No newline at end of file diff --git a/content/documentation/Pinecil/Purchase/Shipping_and_tracking.md b/content/documentation/Pinecil/Purchase/Shipping_and_tracking.md new file mode 100644 index 00000000..0fd7bfd7 --- /dev/null +++ b/content/documentation/Pinecil/Purchase/Shipping_and_tracking.md @@ -0,0 +1,49 @@ +--- +title: "Shipping and Tracking" +draft: false +menu: + docs: + title: + parent: "Pinecil/Purchase" + identifier: "Pinecil/Purchase/Shipping_and_tracking" + weight: +--- + +This article applies only to the main Pine Store, [pine64.com](https://pine64.com) items that ship from their Shenzhen, China facility, such as the Pinecil soldering iron and PinePower chargers. + +Not discussed in this article: big battery devices such as the Pinebook Pro, PineTab, PineNote, PinePhone and PinePhone Pro which all ship from Hong Kong (the PinePhone ships from Poland for EU orders). + +## How does it work? + +1. **Order Email**: when the Pine Store receives an order, an initial email is sent out within one day. This email confirms your order was charged (check spam folders for 'Pine Store'). +2. **Shipping Email**: after several more days, when the order is shipped, a **second** email is sent with a tracking number. This could take a week or two. Pine does shipments in **batches**, you get the tracking number faster or slower depending on when batch day is. In general, people report getting a shipping/tracking email within 5 days, just wait for this email (search emails for 'Pine Store'). +3. If you don’t get the first "order email" soon after placing the order, then contact the [Pine Store here](https://pine64.com/support/) as your order may not have completed or been charged. + +## Courier options + +1. Cheap shipping (~$12): could take 2-7 weeks or more, this sometimes gets delayed in the customs department in your home country due to backlogs (some had 7 weeks mainly because it was stuck in their country’s customs department for many weeks before being cleared to leave customs, especially during height of COVID and reduced customs staffing). Currently, members report about 2-3 weeks, as always it can be held up in the customs department of your country if you are shipping it from outside of your country. +2. Courier shipping: more expensive (~$25-$30), can take ~4-10 business days or more based on feedback from PINE64 members. +3. [Pine Store shipping policy](https://pine64.com/shipping-policy/) (30-day warranty starts when Pinecil is delivered). +4. Note: resellers operate independently from the main Pine Store. They are in different countries and set all of their own procedures, shipping costs and options. Get all reseller shipping details for each store from their specific websites/chat tools/email. + +## Tracking + +* The tracking number issued in the shipping email may not work for a couple days, just check again. +* https://parcelsapp.com/ +* https://www.17track.net/ +* If you see the message "outbound imports cancelled", just wait. It is a poorly worded message. Members experience that it updates after 1-3 days to show a hand off from China Post to a USA facility. The message would be more clear if it was "outbound imports transferred/complete". + +## Why doesn't Pine Store Ship to my country? + +1. If Pine Store does not ship to your country currently, check out one of the many legit [resellers here](/documentation/Pinecil#where_to_buy_a_pinecil). + * Try emailing a few of the resellers, you might get lucky. + * Consider that resellers probably don’t want to lose money sending a package that doesn’t get there because then the customer asks for a refund. +2. Keep in mind that the Pine Store is small with a limited number of staff. + * Some major couriers have temporarily stopped shipping to some countries. + * Customs paperwork for some countries is too difficult for a small business like Pine Store to manage. + * If Customs laws change in some countries, Pine Store may have to move from cheaper shipping options to more expensive courier options. + * Too many packages have gotten lost to some countries. Pinecil and other items have a low margin; lost packages have a great impact. Some resellers are more prepared to take the risks so that the Pine Store can stay focused on engineering new hardware. +3. When possible, the Pine Store leaves open the more expensive courier option instead of stopping all shipping to a country. Some friends try to do a group purchase to spread out the shipping cost for each person. +4. Pine Store is registered at Hong Kong/Singapore and is not a registered China company and therefore can not ship to China addresses (exports only) even though many Pine64 products like Pinecil are made and shipped from Shenzhen, China. +5. Pine Store can not sell on AliExpress (see above). All AliExpress items using the PINE64 and Pinecone logos are fake copies ([see authenticity here](/documentation/Pinecil#authenticity)). +6. For some countries people reported using a package forwarding company (unsure if safe or reliable, **use at your own risk**). diff --git a/content/documentation/Pinecil/Purchase/Where_to_buy.adoc b/content/documentation/Pinecil/Purchase/Where_to_buy.adoc deleted file mode 100644 index ef8866bd..00000000 --- a/content/documentation/Pinecil/Purchase/Where_to_buy.adoc +++ /dev/null @@ -1,41 +0,0 @@ ---- -title: "Where to buy" -draft: false -menu: - docs: - title: - parent: "Pinecil/Purchase" - identifier: "Pinecil/Purchase/Where_to_buy" - weight: ---- - -*PINE64 Official Stores* - -* https://pine64.com/product-category/pinecil/[Main global PINE64 store] (ships from China, exports only, Global, VAT not included). -* https://www.amazon.com/dp/B096X6SG13/[Amazon-USA official pine64 store] (ships from USA, has Pinecil V2 - no tips/accessories) - -*PINE64 EU* - -* https://pine64eu.com/about/[PINE64 EU store] (ships from EU, VAT+ 2-year warranty included per EU laws) - -*Affiliates* - -* https://ameridroid.com/collections/pine[AmeriDroid] (offers pre-order, ships to USA/Global/Brazil) -* https://eleshop.eu/catalogsearch/result/?q=pine64[Eleshop.eu] (ships from EU, offers pre-order, 2-year warranty included per EU laws). In Netherlands, https://www.eleshop.nl/catalogsearch/result/?q=pine64[use this NL link]. -* https://droneit.se/shop/?filtering=1&filter_brand=pine64[Droneit] (ships from Sweden, sells all Pine tips/accessories). -* https://handheldlegend.com/collections/soldering-essentials[Handheld Legend] (ships from USA to worldwide). -* https://keycapsss.com/accessories/227/pinecil-v2-smart-mini-portable-soldering-iron[Keycapsss] (ships from Germany to EU/AUS/Global) -* https://testclips.co.uk/product-category/pinecil-pine64/[Testclips] (ships from GB) -* https://typeractive.xyz/products/pinecil[Typeractive] (ships from USA to 55 countries). -* https://www.ursele.com/contact[URS Electronics] (local in-store only sales in Portland, Oregon, USA) -* https://bitcompact.com/products/pinecil-v2[bitcompact] (ships from Canada) -* Reference: https://pine64.com/affiliates/ - -*Why buy from a legitimate seller?* - -The PINE64 Mission is to get hardware into the hands of open source developers and tinkerers. Buying authentic Pinecils supports that mission (see https://www.pine64.org/2019/08/19/its-time-to-start-giving-back/[this article]). - -In July 2022, all final stock sold out of Pinecil V1 (GD32VF103 mcu) at the Pine Store & all legit resellers. There are zero new authentic Pinecil V1 sold in the world after July 2022. Pinecil V1 was made in a black color with a light blue finger grip. PINE64 never made an all-blue Pinecil, and never used blue or red color boxes (those are fake copies with fake PINE64 logos and Pinecone). - -Starting Aug. 2, 2022, only the new Pinecil V2 model with the new BL706 Bluetooth Low Energy (BLE) MCU are made by PINE64 and sold at all authentic resellers. They are black with a green finger grip (see photos in link:/documentation/Pinecil/Further_information/Pictures/[the Picture section]). The new model has anti-counterfeiting features. Authentic Pinecil using the newest official https://ralim.github.io/IronOS/[GitHub IronOS firmware], will successfully pass the https://pinecil.pine64.org/[Authenticiy Checker website]. If a new Pinecil (post Aug. 1, 2022) does not have a BL706 chip, then it is a fake copy. If the AliExpress seller tries to show "CE certification" documents as some type of proof, those are all copied public info from the documentation page in the certifications section. PINE64 publishes those as they are the CE/FCC certifications for the stamps on the Pinecil. They are not proof of purchase from the Pine Store Ltd. - diff --git a/content/documentation/Pinecil/Purchase/Where_to_buy.md b/content/documentation/Pinecil/Purchase/Where_to_buy.md new file mode 100644 index 00000000..dfeba19b --- /dev/null +++ b/content/documentation/Pinecil/Purchase/Where_to_buy.md @@ -0,0 +1,40 @@ +--- +title: "Where to buy" +draft: false +menu: + docs: + title: + parent: "Pinecil/Purchase" + identifier: "Pinecil/Purchase/Where_to_buy" + weight: +--- + +**PINE64 Official Stores** + +* [Main global PINE64 store](https://pine64.com/product-category/pinecil/) (ships from China, exports only, Global, VAT not included). +* [Amazon-USA official pine64 store](https://www.amazon.com/dp/B096X6SG13/) (ships from USA, has Pinecil V2 - no tips/accessories) + +**PINE64 EU** + +* [PINE64 EU store](https://pine64eu.com/about/) (ships from EU, VAT+ 2-year warranty included per EU laws) + +**Affiliates** + +* [AmeriDroid](https://ameridroid.com/collections/pine) (offers pre-order, ships to USA/Global/Brazil) +* [Eleshop.eu](https://eleshop.eu/catalogsearch/result/?q=pine64) (ships from EU, offers pre-order, 2-year warranty included per EU laws). In Netherlands, [use this NL link](https://www.eleshop.nl/catalogsearch/result/?q=pine64). +* [Droneit](https://droneit.se/shop/?filtering=1&filter_brand=pine64) (ships from Sweden, sells all Pine tips/accessories). +* [Handheld Legend](https://handheldlegend.com/collections/soldering-essentials) (ships from USA to worldwide). +* [Keycapsss](https://keycapsss.com/accessories/227/pinecil-v2-smart-mini-portable-soldering-iron) (ships from Germany to EU/AUS/Global) +* [Testclips](https://testclips.co.uk/product-category/pinecil-pine64/) (ships from GB) +* [Typeractive](https://typeractive.xyz/products/pinecil) (ships from USA to 55 countries). +* [URS Electronics](https://www.ursele.com/contact) (local in-store only sales in Portland, Oregon, USA) +* [bitcompact](https://bitcompact.com/products/pinecil-v2) (ships from Canada) +* Reference: https://pine64.com/affiliates/ + +**Why buy from a legitimate seller?** + +The PINE64 Mission is to get hardware into the hands of open source developers and tinkerers. Buying authentic Pinecils supports that mission (see [this article](https://www.pine64.org/2019/08/19/its-time-to-start-giving-back/)). + +In July 2022, all final stock sold out of Pinecil V1 (GD32VF103 mcu) at the Pine Store & all legit resellers. There are zero new authentic Pinecil V1 sold in the world after July 2022. Pinecil V1 was made in a black color with a light blue finger grip. PINE64 never made an all-blue Pinecil, and never used blue or red color boxes (those are fake copies with fake PINE64 logos and Pinecone). + +Starting Aug. 2, 2022, only the new Pinecil V2 model with the new BL706 Bluetooth Low Energy (BLE) MCU are made by PINE64 and sold at all authentic resellers. They are black with a green finger grip (see photos in [the Picture section](/documentation/Pinecil/Further_information/Pictures/)). The new model has anti-counterfeiting features. Authentic Pinecil using the newest official [GitHub IronOS firmware](https://ralim.github.io/IronOS/), will successfully pass the [Authenticiy Checker website](https://pinecil.pine64.org/). If a new Pinecil (post Aug. 1, 2022) does not have a BL706 chip, then it is a fake copy. If the AliExpress seller tries to show "CE certification" documents as some type of proof, those are all copied public info from the documentation page in the certifications section. PINE64 publishes those as they are the CE/FCC certifications for the stamps on the Pinecil. They are not proof of purchase from the Pine Store Ltd. diff --git a/content/documentation/Pinecil/_index.adoc b/content/documentation/Pinecil/_index.md similarity index 53% rename from content/documentation/Pinecil/_index.adoc rename to content/documentation/Pinecil/_index.md index 99521aa1..62c4c520 100644 --- a/content/documentation/Pinecil/_index.adoc +++ b/content/documentation/Pinecil/_index.md @@ -9,7 +9,7 @@ menu: weight: --- -*Pinecil* is a portable soldering iron with computer controlled temperature, sleep modes, motion detection, and allows many options for power from AC supplies (USB-C, DC Barrel) to external tool/LiPo batteries. You may already have a power supply that works. It also has the intended use of being a RISC-V development device using a link:/documentation/Pinecil/Breakout_board/[breakout board]. The Pinecil has evolved over the years from a 60W device into the latest rendition, link:/documentation/Pinecil/Further_information/History_of_hardware_changes/[the V2], which supports 24V/88W and includes the new PINE64 designed link:/documentation/Pinecil/Tips#I._Short_tips[shorter tip]. +**Pinecil** is a portable soldering iron with computer controlled temperature, sleep modes, motion detection, and allows many options for power from AC supplies (USB-C, DC Barrel) to external tool/LiPo batteries. You may already have a power supply that works. It also has the intended use of being a RISC-V development device using a [breakout board](/documentation/Pinecil/Breakout_board/). The Pinecil has evolved over the years from a 60W device into the latest rendition, [the V2](/documentation/Pinecil/Further_information/History_of_hardware_changes/), which supports 24V/88W and includes the new PINE64 designed [shorter tip](/documentation/Pinecil/Tips#I._Short_tips). Note: Other irons only care if they can solder. The Pinecil is held to an additional standard; how well can it meet the needs of the open source community as a RISC-V development tool. It includes hardware features not found on other soldering irons such as BLE Bluetooth in the V2 in order to support FOSS community feature requests for both fun and science. @@ -17,4 +17,3 @@ Note: Other irons only care if they can solder. The Pinecil is held to an additi {{< figure src="/documentation/images/Pinecilv2-1.jpg" title="Pinecil_V2,_launched_Aug_2,_2022" width="300" >}} {{< figure src="/documentation/images/Pinecilv2-2-transparent-background.png" title=" Pinecil V2, side view" width="300" >}} - diff --git a/content/documentation/Pinedio/Other_end_nodes.adoc b/content/documentation/Pinedio/Other_end_nodes.md similarity index 98% rename from content/documentation/Pinedio/Other_end_nodes.adoc rename to content/documentation/Pinedio/Other_end_nodes.md index b9aa0b3b..537fc43a 100644 --- a/content/documentation/Pinedio/Other_end_nodes.adoc +++ b/content/documentation/Pinedio/Other_end_nodes.md @@ -19,9 +19,8 @@ There are several end-node units planned: All the end-nodes use the SX1262 chip. -== Pictures +## Pictures {{< figure src="/documentation/images/Blog-april-USB-LoRa-1024x655.jpg" >}} {{< figure src="/documentation/images/Blog-april-LoRa-something-839x1024.jpg" >}} {{< figure src="/documentation/images/Discord_20210421_lora_usb_closeup.jpg" >}} - diff --git a/content/documentation/Pinedio/_index.adoc b/content/documentation/Pinedio/_index.adoc deleted file mode 100644 index 7c1b3ab6..00000000 --- a/content/documentation/Pinedio/_index.adoc +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: "Pinedio" -draft: false -menu: - docs: - title: - parent: "" - identifier: "Pinedio" - weight: ---- - -The *Pinedio* is a device utilizing LoRa. LoRa is a long range, low power wireless platform that is being used by a lot of Internet of Things (IoT) products. Using LoRa and LoRaWAN, devices can communicate across the world using the internet, using various decentralised networks such as https://www.thethingsnetwork.org/[The Things Network] or https://www.helium.com/[Helium]. Since, PINE64 believes in openness, the LoRa gateway can connect to any network, per the developer implementation. If Helium Spots open up for PINE64 gateway and developers have implemented the hook for Helium, then this is good thing. The PINE64 LoRa gateway also open connect to The Things Network if developers implement support. The choice is yours! - diff --git a/content/documentation/Pinedio/_index.md b/content/documentation/Pinedio/_index.md new file mode 100644 index 00000000..d7a695e6 --- /dev/null +++ b/content/documentation/Pinedio/_index.md @@ -0,0 +1,12 @@ +--- +title: "Pinedio" +draft: false +menu: + docs: + title: + parent: "" + identifier: "Pinedio" + weight: +--- + +The **Pinedio** is a device utilizing LoRa. LoRa is a long range, low power wireless platform that is being used by a lot of Internet of Things (IoT) products. Using LoRa and LoRaWAN, devices can communicate across the world using the internet, using various decentralised networks such as [The Things Network](https://www.thethingsnetwork.org/) or [Helium](https://www.helium.com/). Since, PINE64 believes in openness, the LoRa gateway can connect to any network, per the developer implementation. If Helium Spots open up for PINE64 gateway and developers have implemented the hook for Helium, then this is good thing. The PINE64 LoRa gateway also open connect to The Things Network if developers implement support. The choice is yours! diff --git a/content/documentation/Quartz64/Accessories/Premium_aluminium_case.adoc b/content/documentation/Quartz64/Accessories/Premium_aluminium_case.md similarity index 88% rename from content/documentation/Quartz64/Accessories/Premium_aluminium_case.adoc rename to content/documentation/Quartz64/Accessories/Premium_aluminium_case.md index 676e31d8..4997d95a 100644 --- a/content/documentation/Quartz64/Accessories/Premium_aluminium_case.adoc +++ b/content/documentation/Quartz64/Accessories/Premium_aluminium_case.md @@ -9,7 +9,7 @@ menu: weight: --- -A nice aluminum case is available for the link:/documentation/Quartz64[Quartz64] on the PINE64 store listed as "ROCKPro64 PREMIUM ALUMINUM CASING". +A nice aluminum case is available for the [Quartz64](/documentation/Quartz64) on the PINE64 store listed as "ROCKPro64 PREMIUM ALUMINUM CASING". The Quartz64 model A can be made to fit this case, however some filing of one of the holes is necessary because one of the RockPro64 ports is a type-C, whereas on the Quartz64 model A all of the ports are type As. @@ -26,4 +26,3 @@ Fitment of the other end (no modification necessary):- {{< figure src="/documentation/images/quartz64a-rockpro64case-3.jpg" width="400" >}} Also note that the SoC in the Quartz64-A is slightly lower than the Rock64 Pro one (apparently about 0.6mm). This case includes an internal post which (using a thermal pad) touches the SoC to transfer heat from the SoC to the case. However it does not make good contact with the RK3566. The best solution is probably to source a thicker thermal pad. - diff --git a/content/documentation/Quartz64/_index.adoc b/content/documentation/Quartz64/_index.md similarity index 78% rename from content/documentation/Quartz64/_index.adoc rename to content/documentation/Quartz64/_index.md index eff94125..20a880cc 100644 --- a/content/documentation/Quartz64/_index.adoc +++ b/content/documentation/Quartz64/_index.md @@ -11,8 +11,8 @@ menu: {{< figure src="/documentation/images/Quartz64modelb.png" title="The Quartz64 Model B" width="400" >}} -The *Quartz64* is the most recent Single Board Computer offering from PINE64, with Model A initially released in June of 2021 and Model B in May of 2022. It is powered by a Rockchip RK3566 Quad-Core ARM Cortex A55 64-Bit Processor with a MALI G-52 GPU. +The **Quartz64** is the most recent Single Board Computer offering from PINE64, with Model A initially released in June of 2021 and Model B in May of 2022. It is powered by a Rockchip RK3566 Quad-Core ARM Cortex A55 64-Bit Processor with a MALI G-52 GPU. Key features include a PCIe x4 open-ended slot (model A) or M.2 slot (model B) using a single Gen2 lane electrically, and the use of LPDDR4 RAM. -The Quartz64 is available in two LPDDR4 system memory options: 4 GB and 8 GB. For booting, there is an eMMC module socket (supporting up to 128 GB) and microSD slot, as well as a footprint to solder on an SPI flash chip. The board is equipped with HDMI, 1x USB 3.0 Type-A host, 3x USB 2.0 host, Gigabit Ethernet, SATA (model A), GPIO Bus, MiPi DSI interface, e-ink interface (model A), eDP interface (model A), touch panel interface (model A), MiPi CSI interface, as well as many other device interfaces such as UART, SPI, I^2^C, for makers to integrate with sensors and other peripherals. Many different Operating Systems (OS) are freely available from the open source community, such as Linux (Ubuntu, Debian, Arch), BSD, and Android. \ No newline at end of file +The Quartz64 is available in two LPDDR4 system memory options: 4 GB and 8 GB. For booting, there is an eMMC module socket (supporting up to 128 GB) and microSD slot, as well as a footprint to solder on an SPI flash chip. The board is equipped with HDMI, 1x USB 3.0 Type-A host, 3x USB 2.0 host, Gigabit Ethernet, SATA (model A), GPIO Bus, MiPi DSI interface, e-ink interface (model A), eDP interface (model A), touch panel interface (model A), MiPi CSI interface, as well as many other device interfaces such as UART, SPI, I^2^C, for makers to integrate with sensors and other peripherals. Many different Operating Systems (OS) are freely available from the open source community, such as Linux (Ubuntu, Debian, Arch), BSD, and Android. diff --git a/content/documentation/QuartzPro64/Recovery.adoc b/content/documentation/QuartzPro64/Recovery.md similarity index 75% rename from content/documentation/QuartzPro64/Recovery.adoc rename to content/documentation/QuartzPro64/Recovery.md index 21d422bb..6ff2485c 100644 --- a/content/documentation/QuartzPro64/Recovery.adoc +++ b/content/documentation/QuartzPro64/Recovery.md @@ -9,9 +9,9 @@ menu: weight: --- -In the case you erase the eMMC and are unable to boot the board, you can use rkdeveloptool to recover the board. While you can use the https://gitlab.com/pine64-org/quartz-bsp/rkdeveloptool[Pine64 Fork], it is recommended to use https://gitlab.com/cypheon/rkdeveloptool/-/tree/main?ref_type=heads[cypheon's Fork] until some Pending PRs are merged in to https://gitlab.com/pine64-org/quartz-bsp/rkdeveloptool/-/merge_requests?scope=all&state=opened&author_username=cypheon[resolve issues] with larger files. This is important when working with the larger 64 GB eMMC on the QuartzPro64. +In the case you erase the eMMC and are unable to boot the board, you can use rkdeveloptool to recover the board. While you can use the [Pine64 Fork](https://gitlab.com/pine64-org/quartz-bsp/rkdeveloptool), it is recommended to use [cypheon’s Fork](https://gitlab.com/cypheon/rkdeveloptool/-/tree/main?ref_type=heads) until some Pending PRs are merged in to [resolve issues](https://gitlab.com/pine64-org/quartz-bsp/rkdeveloptool/-/merge_requests?scope=all&state=opened&author_username=cypheon) with larger files. This is important when working with the larger 64 GB eMMC on the QuartzPro64. -With rkdeveloptool installed, you will also need the rk3588_spl from rockchip to init the memory/flash when in maskrom mode. This can be downloaded from the https://github.com/rockchip-linux/rkbin/blob/master/bin/rk35/rk3588_spl_v1.12.bin[rockchip-linux/rkbin repo]. +With rkdeveloptool installed, you will also need the rk3588_spl from rockchip to init the memory/flash when in maskrom mode. This can be downloaded from the [rockchip-linux/rkbin repo](https://github.com/rockchip-linux/rkbin/blob/master/bin/rk35/rk3588_spl_v1.12.bin). Entering maskrom can be done in a variety of ways: @@ -19,16 +19,15 @@ Entering maskrom can be done in a variety of ways: * Enter rockusb mode, and execute "rkdeveloptool reboot-maskrom". * Bork your eMMC and SD devices (how? erase?), in which case bootup will fallback to maskrom. -== Dumping the eMMC +## Dumping the eMMC -Boot the device into maskrom mode, and then verify rkdeveloptool can see the board. **# rkdeveloptool list** +Boot the device into maskrom mode, and then verify rkdeveloptool can see the board. ***# rkdeveloptool list*** - DevNo=1 Vid=0x2207,Pid=0x350b,LocationID=503 Maskrom + DevNo=1 Vid=0x2207,Pid=0x350b,LocationID=503 Maskrom Once the board shows up, load the rk3588_spl you downloaded earlier, and verify that the eMMC can be seen. -[subs="quotes"] ----- +``` **# rkdeveloptool boot ./rk3588_spl_loader_v1.08.111.bin** Downloading bootloader succeeded. **# rkdeveloptool read-flash-info** @@ -41,32 +40,30 @@ Flash Info: ECC Bits: 0 Access Time: 40 Flash CS: Flash<0> ----- +``` You can now dump the eMMC using the read command. Note that first you have to calculate the eMMC size, which can be done using the output from the previous flash info command. You need to take the sector count, and times it by the sector size, to get the total number of bytes. So in the above example, 120832000*512 so the total flash size is 61865984000. Using the calculated size, you can now dump the eMMC. Please note this will take 1-2 minutes. -[subs="quotes"] ----- +``` **# rkdeveloptool read 0x0 61865984000 ./quartzpro64_emmc_dump.bin** Read LBA to file (0%) ... Read LBA to file (100%) ----- +``` You now have a full dump of the entire eMMC (SHA256 62cb4ae8d02aeacccf231fa1d00087cdc74b599790a274569305693aa205318d). Note that you can also use the list-partitions and read-partition commands to dump specific partitions, but this only shows GPT partitions on the eMMC. Because of this, it will NOT include the spl_loader found in the first 4MB of the eMMC! -== Flasing the eMMC +## Flasing the eMMC -Boot the device into maskrom mode, and then verify rkdeveloptool can see the board. **# rkdeveloptool list** +Boot the device into maskrom mode, and then verify rkdeveloptool can see the board. ***# rkdeveloptool list*** - DevNo=1 Vid=0x2207,Pid=0x350b,LocationID=503 Maskrom + DevNo=1 Vid=0x2207,Pid=0x350b,LocationID=503 Maskrom Once the board shows up, load the rk3588_spl you downloaded earlier, and verify that the eMMC can be seen. -[subs="quotes"] ----- +``` **# rkdeveloptool boot ./rk3588_spl_loader_v1.08.111.bin** Downloading bootloader succeeded. **# rkdeveloptool read-flash-info** @@ -79,11 +76,10 @@ Flash Info: ECC Bits: 0 Access Time: 40 Flash CS: Flash<0> ----- +``` You can now flash the device using either the write command, or write-partition command, depending on what you are trying to do. If you are looking to restore the entire eMMC from a backup you made, you would use the command below to accomplish this. -[subs="quotes"] ----- +``` **rkdeveloptool write 0 ./quartzpro64_emmc_dump.bin** ----- \ No newline at end of file +``` diff --git a/content/documentation/QuartzPro64/_index.adoc b/content/documentation/QuartzPro64/_index.md similarity index 61% rename from content/documentation/QuartzPro64/_index.adoc rename to content/documentation/QuartzPro64/_index.md index 128b1617..35012ef2 100644 --- a/content/documentation/QuartzPro64/_index.adoc +++ b/content/documentation/QuartzPro64/_index.md @@ -12,7 +12,6 @@ menu: {{< figure src="/documentation/images/Quartzpro64_whole_board_top_resized.jpeg" title="The QuartzPro64 development board, front side" height="250" >}} {{< figure src="/documentation/images/BoardBackSide.jpg" title="Back side of the board" height="250" >}} -A *QuartzPro64* page before a *QuartzPro64* release? It's more likely than you think! - -This page will be used for both documenting the current development efforts and the board in general, as we don't know yet how a generally available QuartzPro64 will look like so documenting the dev board is probably best left to the development page. +A **QuartzPro64** page before a **QuartzPro64** release? It’s more likely than you think! +This page will be used for both documenting the current development efforts and the board in general, as we don’t know yet how a generally available QuartzPro64 will look like so documenting the dev board is probably best left to the development page. diff --git a/content/documentation/ROCK64/Cases/Premium_aluminum_casing.adoc b/content/documentation/ROCK64/Cases/Premium_aluminum_casing.md similarity index 66% rename from content/documentation/ROCK64/Cases/Premium_aluminum_casing.adoc rename to content/documentation/ROCK64/Cases/Premium_aluminum_casing.md index 09c3927b..6288f291 100644 --- a/content/documentation/ROCK64/Cases/Premium_aluminum_casing.adoc +++ b/content/documentation/ROCK64/Cases/Premium_aluminum_casing.md @@ -11,33 +11,33 @@ menu: {{< figure src="/documentation/ROCK64/images/Rock64-Al-Case1-1.jpg" title="The case, fully assembled with a ROCK64 inside of it" >}} -The *ROCK64 Premium Aluminum Casing* is an aluminum case for the link:/documentation/ROCK64[ROCK64] single-board computer sold by Pine64 through their https://pine64.com/product/model-b-premium-aluminum-casing/?v=0446c16e2e66[official store]. It includes an integrated heat spreader with an included thermal pad that allows the SoC to sink its generated heat into the metal case. +The **ROCK64 Premium Aluminum Casing** is an aluminum case for the [ROCK64](/documentation/ROCK64) single-board computer sold by Pine64 through their [official store](https://pine64.com/product/model-b-premium-aluminum-casing/?v=0446c16e2e66). It includes an integrated heat spreader with an included thermal pad that allows the SoC to sink its generated heat into the metal case. -== Installation +## Installation Make sure the LED light guide and rubber plug are taken out of the case. Drop your ROCK64 into the bottom half of the case with the ports in the correct place. Tighten it with the four included round top screws, using a Phillips #00 screw driver. Install the light guide and the rubber plug by pushing them in from the outside. -Ideally, clean the SoC of any possible residue with some isopropyl alcohol. Next, remove the plastic foil protecting the thermal pad on the top half of the case, and slot the top half into place, making sure that the HDMI and audio jack ports fall into their respective place in the side section (see link:#hdmi_and_audio_jack_clearance_issues[HDMI and Audio Jack Clearance Issues] if they don't.) +Ideally, clean the SoC of any possible residue with some isopropyl alcohol. Next, remove the plastic foil protecting the thermal pad on the top half of the case, and slot the top half into place, making sure that the HDMI and audio jack ports fall into their respective place in the side section (see [HDMI and Audio Jack Clearance Issues](#hdmi_and_audio_jack_clearance_issues) if they don’t.) Once the top half is firmly in place, screw in the four flat top screws with a Phillips #00 screw driver. -== Performance +## Performance The built in heat spreader does do its job at sinking heat into the case. User:CounterPillow finds that during a lengthy kernel compilation at 22°C ambient temperature, the average SoC temperature measured around 60°C. The case during such sustained loads becomes warm to the touch, which means it is working as a heat sink. -== Tips and Tricks +## Tips and Tricks -=== HDMI and Audio Jack Clearance Issues +### HDMI and Audio Jack Clearance Issues Some cases may not allow the ROCK64 IO to snugly fit into its predestined cutout holes on its long side. If this is the case for you, try loosening the screws on the HDMI, power and audio jack port side, and only tightening the screws on the GPIO side to still make good ground contact. The HDMI and audio jacks should then fit into their holes snugly. If you wish to try, you can also try adjusting the screws holding in the posts on the bottom of the case. -=== Plastic Pegs for PWR and RST Buttons +### Plastic Pegs for PWR and RST Buttons {{< figure src="/documentation/ROCK64/images/Button_peg_cad.png" title="FreeCAD displaying the peg. Bottom part goes inside the case." >}} -If you are tired of using a pen or a toothpick to push the buttons, there are https://wiki.pine64.org/wiki/File:Button.zip[3d-printable plastic pegs you can download] and print yourself. Recommended material is PLA, excellent results can be obtained using a 0.25mm nozzle, though slightly larger sizes should work fine as well. +If you are tired of using a pen or a toothpick to push the buttons, there are [3d-printable plastic pegs you can download](https://wiki.pine64.org/wiki/File:Button.zip) and print yourself. Recommended material is PLA, excellent results can be obtained using a 0.25mm nozzle, though slightly larger sizes should work fine as well. To use the pegs, open your case and remove the ROCK64 from within. Be sure to pull out the light guide and rubber plug to remove it, or else it will catch on them. Once it is removed, turn your bottom half of the case such that the holes for PWR and RST are pointing towards the floor, and drop the pegs into the holes from inside the case, so that the lip prevents them from falling through. Hold them in position with your finger, turn the case the right side up again, and reinstall your ROCK64. @@ -47,11 +47,10 @@ You should now have buttons that can be pressed from outside the case without an If you do not own a 3d printer, contact User:CounterPillow. He may mail you some for free in an envelope. -=== Remove the black anodised layer from the heat pad +### Remove the black anodised layer from the heat pad Anodising has a significantly poorer thermal conductivity than aluminium, therefore grinding off the anodising before fitting the blue thermal pad should result in a lower CPU temperature. -=== Using the case with the PINE H64 - -Whilst the case is sold as a ROCK64 accessory, all the connectors and mounting screws on the link:/documentation/PINE_H64_Model_B[PINE H64] are in the same spots. The only difficulty is that the H6 CPU is closer to the "Pi2" connector and extends beyond the edge of the heat spreader by about 5mm. User:AlephNull used a piece of copper shim on top of the H6 (with a smear of thermal paste) to spread the heat back to the thermal pad. In this configuration, the CPU stabilised at about 76°C running 4 copies of a CPU stress test. Whilst a lower temperature might be nice, this is still well below the 125°C limit. +### Using the case with the PINE H64 +Whilst the case is sold as a ROCK64 accessory, all the connectors and mounting screws on the [PINE H64](/documentation/PINE_H64_Model_B) are in the same spots. The only difficulty is that the H6 CPU is closer to the "Pi2" connector and extends beyond the edge of the heat spreader by about 5mm. User:AlephNull used a piece of copper shim on top of the H6 (with a smear of thermal paste) to spread the heat back to the thermal pad. In this configuration, the CPU stabilised at about 76°C running 4 copies of a CPU stress test. Whilst a lower temperature might be nice, this is still well below the 125°C limit. diff --git a/content/documentation/ROCK64/Cases/_index.adoc b/content/documentation/ROCK64/Cases/_index.adoc deleted file mode 100644 index 64d8be61..00000000 --- a/content/documentation/ROCK64/Cases/_index.adoc +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: "Cases" -draft: false -menu: - docs: - title: - parent: "ROCK64" - identifier: "ROCK64/Cases" - weight: 5 ---- - -{{< figure src="/documentation/ROCK64/images/Rock64-Al-Case1-1.jpg" width="400" >}} - -The ROCK64 fits in three officially sold cases. - -* "Model B" Acrylic Open Enclosure, https://pine64.com/product/model-b-acrylic-open-enclosure/[Store] -* "Model B" Aluminum Waterproof Enclosure, https://pine64.com/product/model-b-aluminum-waterproof-enclosure/[Store] -* link:/documentation/ROCK64/Cases/Premium_aluminum_casing[Premium Aluminium Casing], https://pine64.com/product/model-b-premium-aluminum-casing/?v=0446c16e2e66[Store] \ No newline at end of file diff --git a/content/documentation/ROCK64/Cases/_index.md b/content/documentation/ROCK64/Cases/_index.md new file mode 100644 index 00000000..346248ae --- /dev/null +++ b/content/documentation/ROCK64/Cases/_index.md @@ -0,0 +1,18 @@ +--- +title: "Cases" +draft: false +menu: + docs: + title: + parent: "ROCK64" + identifier: "ROCK64/Cases" + weight: 5 +--- + +{{< figure src="/documentation/ROCK64/images/Rock64-Al-Case1-1.jpg" width="400" >}} + +The ROCK64 fits in three officially sold cases. + +* "Model B" Acrylic Open Enclosure, [Store](https://pine64.com/product/model-b-acrylic-open-enclosure/) +* "Model B" Aluminum Waterproof Enclosure, [Store](https://pine64.com/product/model-b-aluminum-waterproof-enclosure/) +* [Premium Aluminium Casing](/documentation/ROCK64/Cases/Premium_aluminum_casing), [Store](https://pine64.com/product/model-b-premium-aluminum-casing/?v=0446c16e2e66) diff --git a/content/documentation/ROCK64/Software/MAC_address.adoc b/content/documentation/ROCK64/Software/MAC_address.adoc deleted file mode 100644 index b88b1cdc..00000000 --- a/content/documentation/ROCK64/Software/MAC_address.adoc +++ /dev/null @@ -1,20 +0,0 @@ ---- -title: "MAC Address" -draft: false -menu: - docs: - title: - parent: "ROCK64/Software" - identifier: "ROCK64/Software/MAC_address" - weight: ---- - -To set the MAC address on ROCK64 with the "Android eMMC" image: - -. http://files.pine64.org/doc/rock64/tools/DriverAssitant_v4.5.zip[Windows ADB driver package] installation is required as prerequisite -. Download and unzip http://files.pine64.org/doc/rock64/tools/WNpctool_V1.1.2_1226.zip[WNpctool_V1.1.2_1226.zip]. Run WNpctool.exe "as Administrator" on Windows OS -. Press recovery button on ROCK64 and power ON the ROCK64. After 2 seconds release the recovery button -. Plug the USB Cable from Top USB2 slot of ROCK64 to PC USB slot (WNpctool will show "Found one loader" at the bottom) -. Fill in LANMAC: with small letter MacAddress (e.g. 01234567abcd) then press on Write button -. Unplug the USB Cable and reboot the ROCK64 and use DOS command "ping ..." and "arp -a" or https://www.softperfect.com/products/networkscanner/[netscan] to check the MAC address of the ROCK64 - diff --git a/content/documentation/ROCK64/Software/MAC_address.md b/content/documentation/ROCK64/Software/MAC_address.md new file mode 100644 index 00000000..0d6a6ec0 --- /dev/null +++ b/content/documentation/ROCK64/Software/MAC_address.md @@ -0,0 +1,19 @@ +--- +title: "MAC Address" +draft: false +menu: + docs: + title: + parent: "ROCK64/Software" + identifier: "ROCK64/Software/MAC_address" + weight: +--- + +To set the MAC address on ROCK64 with the "Android eMMC" image: + +1. [Windows ADB driver package](http://files.pine64.org/doc/rock64/tools/DriverAssitant_v4.5.zip) installation is required as prerequisite +2. Download and unzip [WNpctool_V1.1.2_1226.zip](http://files.pine64.org/doc/rock64/tools/WNpctool_V1.1.2_1226.zip). Run WNpctool.exe "as Administrator" on Windows OS +3. Press recovery button on ROCK64 and power ON the ROCK64. After 2 seconds release the recovery button +4. Plug the USB Cable from Top USB2 slot of ROCK64 to PC USB slot (WNpctool will show "Found one loader" at the bottom) +5. Fill in LANMAC: with small letter MacAddress (e.g. 01234567abcd) then press on Write button +6. Unplug the USB Cable and reboot the ROCK64 and use DOS command "ping ..." and "arp -a" or [netscan](https://www.softperfect.com/products/networkscanner/) to check the MAC address of the ROCK64 diff --git a/content/documentation/ROCK64/_index.adoc b/content/documentation/ROCK64/_index.adoc deleted file mode 100644 index 35d1c3c1..00000000 --- a/content/documentation/ROCK64/_index.adoc +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: "ROCK64" -draft: false -menu: - docs: - title: - parent: "" - identifier: "ROCK64" - weight: ---- - -{{< figure src="/documentation/ROCK64/images/Rock64.jpg" title="The ROCK64" width="400" >}} - -The *ROCK64* is a credit-card size 4K60P HDR Media Board Computer powered by Rockchip RK3328 Quad-Core ARM Cortex A53 64-Bit Processor and supports up to 4GB 1866MHz LPDDR3 memory. It provides an eMMC module socket, MicroSD Card slot, Pi-2 Bus, Pi-P5+ Bus, USB 3.0, and many other peripheral interfaces for makers to integrate with sensors and other devices. - -It supports many different open source operating systems, such as Android, Debian, and Yocto. \ No newline at end of file diff --git a/content/documentation/ROCK64/_index.md b/content/documentation/ROCK64/_index.md new file mode 100644 index 00000000..904f57af --- /dev/null +++ b/content/documentation/ROCK64/_index.md @@ -0,0 +1,16 @@ +--- +title: "ROCK64" +draft: false +menu: + docs: + title: + parent: "" + identifier: "ROCK64" + weight: +--- + +{{< figure src="/documentation/ROCK64/images/Rock64.jpg" title="The ROCK64" width="400" >}} + +The **ROCK64** is a credit-card size 4K60P HDR Media Board Computer powered by Rockchip RK3328 Quad-Core ARM Cortex A53 64-Bit Processor and supports up to 4GB 1866MHz LPDDR3 memory. It provides an eMMC module socket, MicroSD Card slot, Pi-2 Bus, Pi-P5+ Bus, USB 3.0, and many other peripheral interfaces for makers to integrate with sensors and other devices. + +It supports many different open source operating systems, such as Android, Debian, and Yocto. diff --git a/content/documentation/ROCKPro64/Hardware/3D_printable_ITX_mounting_brackets.adoc b/content/documentation/ROCKPro64/Hardware/3D_printable_ITX_mounting_brackets.md similarity index 99% rename from content/documentation/ROCKPro64/Hardware/3D_printable_ITX_mounting_brackets.adoc rename to content/documentation/ROCKPro64/Hardware/3D_printable_ITX_mounting_brackets.md index 050d4abb..8960be1c 100644 --- a/content/documentation/ROCKPro64/Hardware/3D_printable_ITX_mounting_brackets.adoc +++ b/content/documentation/ROCKPro64/Hardware/3D_printable_ITX_mounting_brackets.md @@ -18,4 +18,3 @@ Allows mounting a ROCKPro64-A or Quartz64-A board inside a regular PC case that * To allow enough clearance between the board and the bracket you either need to print four copies of the washer model or add nut(s) between the board and the bracket * If using nuts for the clearance between the board and the brackets, make sure it creates at least 3.2mm of spacing in between * Depending on the accuracy and calibration of a 3D printer, slight deviation can occur and you likely need to manually widen some of the holes to allow screws to fit - diff --git a/content/documentation/ROCKPro64/Hardware/Cases.adoc b/content/documentation/ROCKPro64/Hardware/Cases.md similarity index 56% rename from content/documentation/ROCKPro64/Hardware/Cases.adoc rename to content/documentation/ROCKPro64/Hardware/Cases.md index ddb4949b..4e026596 100644 --- a/content/documentation/ROCKPro64/Hardware/Cases.adoc +++ b/content/documentation/ROCKPro64/Hardware/Cases.md @@ -9,15 +9,15 @@ menu: weight: --- -== Acrylic Open Enclosure +## Acrylic Open Enclosure -* https://pine64.com/product/pine-a64-rockpro64-acrylic-open-enclosure[Acrylic enclosure] +* [Acrylic enclosure](https://pine64.com/product/pine-a64-rockpro64-acrylic-open-enclosure) -== NAS case +## NAS case {{< figure src="/documentation/images/NASCaseMain.png" title="Front View of the PINE64 NAS Case for the ROCKPro64" >}} -Please link:/documentation/Accessories/Cases/NASCase[follow this this link] for *detailed instructions on how to assemble the ROCKPro64 NAS Case*. +Please [follow this this link](/documentation/Accessories/Cases/NASCase) for **detailed instructions on how to assemble the ROCKPro64 NAS Case**. The NAS Case instructions also contains detailed information about: @@ -26,6 +26,5 @@ The NAS Case instructions also contains detailed information about: * What optional things you can consider purchasing for your NAS build * What OS Image we recommend you use for your NAS build * IO accessibility after installing the ROCKPro64 into the NAS Case -* https://files.pine64.org/doc/rockpro64/ROCKPro64%20NAS%20Case%20Exploded%20View%20Diagram.pdf[NAS Case Exploded View] -* https://files.pine64.org/doc/rockpro64/NAS%20Case%20Drawing.dwg[NAS Case Drawing] - +* [NAS Case Exploded View](https://files.pine64.org/doc/rockpro64/ROCKPro64%20NAS%20Case%20Exploded%20View%20Diagram.pdf) +* [NAS Case Drawing](https://files.pine64.org/doc/rockpro64/NAS%20Case%20Drawing.dwg) diff --git a/content/documentation/ROCKPro64/_index.adoc b/content/documentation/ROCKPro64/_index.md similarity index 51% rename from content/documentation/ROCKPro64/_index.adoc rename to content/documentation/ROCKPro64/_index.md index 22ffcce8..107f69ec 100644 --- a/content/documentation/ROCKPro64/_index.adoc +++ b/content/documentation/ROCKPro64/_index.md @@ -11,6 +11,6 @@ menu: {{< figure src="/documentation/images/rockpro64.svg" title="The ROCKPro64" width="400" >}} -The *ROCKPro64* is the most powerful single-board computer released by PINE64. It is powered by a Rockchip RK3399 hexa-core (dual ARM Cortex A72 and quad ARM Cortex A53) 64-bit processor with a Mali T-860 quad-core GPU. The key features include a PCI Express (PCIe) x4 open-ended slot, the use of LPDDR4 DRAM, and industry-standard heatsink mounting holes. +The **ROCKPro64** is the most powerful single-board computer released by PINE64. It is powered by a Rockchip RK3399 hexa-core (dual ARM Cortex A72 and quad ARM Cortex A53) 64-bit processor with a Mali T-860 quad-core GPU. The key features include a PCI Express (PCIe) x4 open-ended slot, the use of LPDDR4 DRAM, and industry-standard heatsink mounting holes. -The ROCKPro64 is equipped with 2 or 4 GB of LPDDR4 system memory, and 128 Mb of SPI boot flash. There is also an optional eMMC module (up to 128 GB) and microSD slot for booting. The board is equipped with 1x USB 3.0 Type-C host port with DP 1.2, 1x USB 3.0 Type-A host port, 2x USB 2.0 host port, Gigabit Ethernet, PI-2 GPIO bus, MiPi DSI interface, eDP interface, touch panel interface, stereo MiPi CSI interface, as well as many other device interfaces such as UART, SPI, I2C, for makers to integrate with sensors and other peripherals. Many different operating systems (OSes) are freely available from the open-source community, such as Linux (Ubuntu, Debian, Arch), BSD and Android. \ No newline at end of file +The ROCKPro64 is equipped with 2 or 4 GB of LPDDR4 system memory, and 128 Mb of SPI boot flash. There is also an optional eMMC module (up to 128 GB) and microSD slot for booting. The board is equipped with 1x USB 3.0 Type-C host port with DP 1.2, 1x USB 3.0 Type-A host port, 2x USB 2.0 host port, Gigabit Ethernet, PI-2 GPIO bus, MiPi DSI interface, eDP interface, touch panel interface, stereo MiPi CSI interface, as well as many other device interfaces such as UART, SPI, I<sup>2</sup>C, for makers to integrate with sensors and other peripherals. Many different operating systems (OSes) are freely available from the open-source community, such as Linux (Ubuntu, Debian, Arch), BSD and Android. diff --git a/content/documentation/RockBox/Development/Disassembly.adoc b/content/documentation/RockBox/Development/Disassembly.md similarity index 99% rename from content/documentation/RockBox/Development/Disassembly.adoc rename to content/documentation/RockBox/Development/Disassembly.md index 5f0aaed4..bc471b0d 100644 --- a/content/documentation/RockBox/Development/Disassembly.adoc +++ b/content/documentation/RockBox/Development/Disassembly.md @@ -10,4 +10,3 @@ menu: --- The device can be easily disassembled by removing the four rubber feet and by unscrewing the four screws underneath them. The board is held in place by additional two black screws. Note: The board is connected to the main body with a cable. - diff --git a/content/documentation/RockBox/Development/Mainline_Linux.adoc b/content/documentation/RockBox/Development/Mainline_Linux.md similarity index 78% rename from content/documentation/RockBox/Development/Mainline_Linux.adoc rename to content/documentation/RockBox/Development/Mainline_Linux.md index 8f21734e..8bcc1b0a 100644 --- a/content/documentation/RockBox/Development/Mainline_Linux.adoc +++ b/content/documentation/RockBox/Development/Mainline_Linux.md @@ -9,37 +9,37 @@ menu: weight: 1 --- -Mainline Linux works on the RockBox without patches. To create a compatible u-boot image, https://github.com/mrfixit2001/uboot_builder may be used. The _dtb_ has to be compiled from a recent _dts_, such as https://github.com/mrfixit2001/mainline-kernel/blob/master/arch/arm64/boot/dts/rockchip/rk3328-rockbox.dts[this], otherwise network and video won't work. +Mainline Linux works on the RockBox without patches. To create a compatible u-boot image, https://github.com/mrfixit2001/uboot_builder may be used. The _dtb_ has to be compiled from a recent _dts_, such as [this](https://github.com/mrfixit2001/mainline-kernel/blob/master/arch/arm64/boot/dts/rockchip/rk3328-rockbox.dts), otherwise network and video won’t work. -== Building the dtb +## Building the dtb The dtb can be compiled from a recent dts. To do that, download a kernel source and add a dts, or use a kernel source with an fitting dts. The second variant is showcased here: - git clone https://github.com/mrfixit2001/mainline-kernel.git + git clone https://github.com/mrfixit2001/mainline-kernel.git Then change the directory to the kernel sources: - cd mainline-kernel + cd mainline-kernel Then create a config (defaults can be accepted): - make ARCH=arm64 menuconfig + make ARCH=arm64 menuconfig Now compile the dts files: - make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j 12 dtbs + make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j 12 dtbs The compiled dtb file can now be copied from _/arch/arm64/boot/dts/rockchip/rk3328-rockbox.dtb_ into for example the EXTLINUX location. -== Configuring EXTLINUX +## Configuring EXTLINUX In the EXTLINUX location, the _/extlinux/extlinux.conf_ should be pointed to the correct kernel image and the correct dtb file. An example configuration (with serial output with 1500000 baud being enabled for the OS and with the root directory set to the second partition _mmcblk1p2_) can look like the following example: ----- +``` default ROCKBOX label ROCKBOX kernel /Image fdt /rk3328-rockbox.dtb append console=tty0 console=ttyS2,1500000n8 rw root=/dev/mmcblk1p2 rootwait rootfstype=ext4 panic=10 init=/sbin/init coherent_pool=1M ethaddr=${ethaddr} eth1addr=${eth1addr} serial=${serial#} cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory swapaccount=1 video=HDMI-A-1:1920x1080@60 loglevel=3 ----- +``` diff --git a/content/documentation/RockBox/External_resources.adoc b/content/documentation/RockBox/External_resources.adoc deleted file mode 100644 index d32acecb..00000000 --- a/content/documentation/RockBox/External_resources.adoc +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: "External resources" -draft: false -menu: - docs: - title: - parent: "RockBox" - identifier: "RockBox/External_resources" - weight: 6 ---- - -* https://www.retro-center.com/product/rockbox-r-cade/[Retro Center online store] -* https://www.retro-center.com/about-r-cade/[R-Cade software detail] -* http://www.networkedmediatank.com/forumdisplay.php?fid=154[Networked Media Tank forum section] -* https://forum.pine64.org/forumdisplay.php?fid=85&page=1[PINE64 forum] - diff --git a/content/documentation/RockBox/External_resources.md b/content/documentation/RockBox/External_resources.md new file mode 100644 index 00000000..daea6a50 --- /dev/null +++ b/content/documentation/RockBox/External_resources.md @@ -0,0 +1,15 @@ +--- +title: "External resources" +draft: false +menu: + docs: + title: + parent: "RockBox" + identifier: "RockBox/External_resources" + weight: 6 +--- + +* [Retro Center online store](https://www.retro-center.com/product/rockbox-r-cade/) +* [R-Cade software detail](https://www.retro-center.com/about-r-cade/) +* [Networked Media Tank forum section](http://www.networkedmediatank.com/forumdisplay.php?fid=154) +* [PINE64 forum](https://forum.pine64.org/forumdisplay.php?fid=85&page=1) diff --git a/content/documentation/RockBox/Software.adoc b/content/documentation/RockBox/Software.adoc deleted file mode 100644 index 3378eedf..00000000 --- a/content/documentation/RockBox/Software.adoc +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: "Software" -draft: false -menu: - docs: - title: - parent: "RockBox" - identifier: "RockBox/Software" - weight: 2 ---- - -* https://www.retro-center.com/about-r-cade/[Retro-Center's R-Cade: 100+ retro-gaming systems, a lightweight web browser, and 4k UHD media center] on the https://www.retro-center.com/product/rockbox-r-cade/[RockBox R-Cade] -* https://github.com/mrfixit2001/debian_builds/releases[Mrfixit2001's Debian Minimal Release] (note: can be updated to a more recent Debian using the regular updating tools, except for the kernel and u-boot) -* https://libreelec.tv/downloads/rockchip/[LibreELEC Rockchip] (note: select _https://releases.libreelec.tv/LibreELEC-RK3328.arm-9.2.6-rockbox.img.gz[LibreELEC-RK3328.arm-9.2.6-rockbox.img.gz]_) - diff --git a/content/documentation/RockBox/Software.md b/content/documentation/RockBox/Software.md new file mode 100644 index 00000000..43e4c8d9 --- /dev/null +++ b/content/documentation/RockBox/Software.md @@ -0,0 +1,14 @@ +--- +title: "Software" +draft: false +menu: + docs: + title: + parent: "RockBox" + identifier: "RockBox/Software" + weight: 2 +--- + +* [Retro-Center’s R-Cade: 100+ retro-gaming systems, a lightweight web browser, and 4k UHD media center](https://www.retro-center.com/about-r-cade/) on the [RockBox R-Cade](https://www.retro-center.com/product/rockbox-r-cade/) +* [Mrfixit2001’s Debian Minimal Release](https://github.com/mrfixit2001/debian_builds/releases) (note: can be updated to a more recent Debian using the regular updating tools, except for the kernel and u-boot) +* [LibreELEC Rockchip](https://libreelec.tv/downloads/rockchip/) (note: select _[LibreELEC-RK3328.arm-9.2.6-rockbox.img.gz](https://releases.libreelec.tv/LibreELEC-RK3328.arm-9.2.6-rockbox.img.gz)_) diff --git a/content/documentation/RockBox/_index.adoc b/content/documentation/RockBox/_index.adoc deleted file mode 100644 index a3ec039f..00000000 --- a/content/documentation/RockBox/_index.adoc +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: "RockBox" -draft: false -menu: - docs: - title: - parent: "" - identifier: "RockBox" - weight: ---- - -{{< figure src="images/rockbox.png" title="Rendering of the RockBox" width="400" >}} - -The *Popcorn Hour RockBox Basic* is a TV box from the Cloud Media company in partnership with _PINE64_ and the _PINE64_ community. It is running a Rockchip RK3328 SoC and is supporting multiple different operating systems. The device is similar to the link:/documentation/ROCK64[ROCK64] and runs some of its operating systems, it has a custom PCB and multiple hardware differences however. - diff --git a/content/documentation/RockBox/_index.md b/content/documentation/RockBox/_index.md new file mode 100644 index 00000000..f21e0d7e --- /dev/null +++ b/content/documentation/RockBox/_index.md @@ -0,0 +1,14 @@ +--- +title: "RockBox" +draft: false +menu: + docs: + title: + parent: "" + identifier: "RockBox" + weight: +--- + +{{< figure src="images/rockbox.png" title="Rendering of the RockBox" width="400" >}} + +The **Popcorn Hour RockBox Basic** is a TV box from the Cloud Media company in partnership with _PINE64_ and the _PINE64_ community. It is running a Rockchip RK3328 SoC and is supporting multiple different operating systems. The device is similar to the [ROCK64](/documentation/ROCK64) and runs some of its operating systems, it has a custom PCB and multiple hardware differences however. diff --git a/content/documentation/SOEDGE/Debugging.adoc b/content/documentation/SOEDGE/Debugging.md similarity index 96% rename from content/documentation/SOEDGE/Debugging.adoc rename to content/documentation/SOEDGE/Debugging.md index 160291f1..167bb4be 100644 --- a/content/documentation/SOEDGE/Debugging.adoc +++ b/content/documentation/SOEDGE/Debugging.md @@ -9,7 +9,7 @@ menu: weight: 2 --- -== Serial Console +## Serial Console System Serial is located on PI-5 bus (11x2 GPIO header). @@ -20,4 +20,3 @@ System Serial is located on PI-5 bus (11x2 GPIO header). {{< figure src="/documentation/SOEDGE/images/Soedge_serial_pins.jpg" width="400" >}} The default baudrate is 1500000, note that not all serial adapters support this high baudrate. - diff --git a/content/documentation/SOEDGE/Further_information/Specification.adoc b/content/documentation/SOEDGE/Further_information/Specification.md similarity index 71% rename from content/documentation/SOEDGE/Further_information/Specification.adoc rename to content/documentation/SOEDGE/Further_information/Specification.md index 49a9d978..70f21bb2 100644 --- a/content/documentation/SOEDGE/Further_information/Specification.adoc +++ b/content/documentation/SOEDGE/Further_information/Specification.md @@ -9,11 +9,11 @@ menu: weight: --- -Based on the https://www.rock-chips.com/a/en/products/RK18_Series/2019/0529/989.html[Rockchip RK1808]. +Based on the [Rockchip RK1808](https://www.rock-chips.com/a/en/products/RK18_Series/2019/0529/989.html). -== CPU Architecture +## CPU Architecture -* https://developer.arm.com/ip-products/processors/cortex-a/cortex-a35[Dual-core ARM Cortex-A35 Processor@1600-2000Mhz] +* [Dual-core ARM Cortex-A35 Processor@1600-2000Mhz](https://developer.arm.com/ip-products/processors/cortex-a/cortex-a35) * A power-efficient ARM 64-Bit Armv8-A architecture * AArch32 for full backward compatibility with Armv7 * Support NEON Advanced SIMD (Single Instruction Multiple Data) instruction for acceleration of media and signal processing function @@ -28,20 +28,19 @@ Based on the https://www.rock-chips.com/a/en/products/RK18_Series/2019/0529/989. * Hardware virtualization support * 128KB L2 cache -== Neural Process Unit NPU Capability +## Neural Process Unit NPU Capability {{< figure src="/documentation/images/Vivante_Acuity_SDK.jpg" width="400" >}} -* https://www.verisilicon.com/en/IPPortfolio/VivanteNPUIP[NPU IP from Verisilicon Vivante] +* [NPU IP from Verisilicon Vivante](https://www.verisilicon.com/en/IPPortfolio/VivanteNPUIP) * Support max 1920 Int8 MAC operation per cycle * Support max192 Int16 MAC operation per cycle * Support max 64 FP16 MAC operation per cycle * 512KB internal buffer * One isolated voltage domain to support DVFS -* https://github.com/VeriSilicon/acuity-models[Acuity models Github] +* [Acuity models Github](https://github.com/VeriSilicon/acuity-models) -== System Memory +## System Memory * RAM Memory Variants: 2GB DDR4. * Storage Memory: 128Mb SPI Flash and optional eMMC module from 16GB up to 128GB - diff --git a/content/documentation/SOEDGE/Releases.adoc b/content/documentation/SOEDGE/Releases.adoc deleted file mode 100644 index 9f0ba717..00000000 --- a/content/documentation/SOEDGE/Releases.adoc +++ /dev/null @@ -1,87 +0,0 @@ ---- -title: "Releases" -draft: false -menu: - docs: - title: - parent: "SOEDGE" - identifier: "SOEDGE/Releases" - weight: 1 ---- - -Releases for the SOEDGE. - -== Linux BSP - -=== Full BSP Linux image ver 1.1 - -Download: - -* https://files.pine64.org/os/SOEdge/stock/SOEdge_linux_v1.1.img.gz[SOEdge_linux_v1.1.img.gz] from _pine64.org_, MD5 (GZip file): 636ebeb66d6d0fc0929397d541b0ce83, size: 119MB - -Notes: - -* This is full image version can be applied to the model A baseboard -* DD image (for 8GB microSD card or eMMC Module and above) - -=== Neural AI Stick Linux image ver 1.1 - -Download: - -* https://files.pine64.org/os/SOEdge/stock/SOEdge_linux_usb_compute_stick.img.gz[SOEdge_linux_usb_compute_stick.img.gz] from _pine64.org_, MD5 (GZip file): 6fddf73a34ea2a1cb6f36be673567b5f, size: 47MB - -Notes: - -* This is USB 3.0 Neural AI Stick image version -* DD image (for 8GB eMMC Module and above) - -=== BSP Linux ver 1.1 Build from SDK - -Download: - -* http://files.pine64.org/os/SOEdge/stock/SOEdge_linux_v1.1.img.gz[SOEdge_linux_v1.1.img.gz] from _pine64.org_, MD5 (TAR-GZip file): a6629f997ae2cae7d9d5324c4e942deda9, size: 119MB - -Notes: - -* Please unzip first and then using Rockchip tool to flash in -* link:/documentation/Introduction/Getting_started#flashing_to_emmc_using_rockchip_tools_rock64_only[Guide to flashing eMMC using Rockchip Tools] - -=== BSP Linux ver 1.1 Build as USB Stick application from SDK - -Download: - -* http://files.pine64.org/os/SOEdge/stock/SOEdge_linux_usb_compute_stick.img.gz[SOEdge_linux_usb_compute_stick.img.gz] from _pine64.org_, MD5 (GZip file): af6ac45995f7ddd9343a7052efffaf30, size: 47MB - -Notes: - -* Please unzip first and then using Rockchip tool to flash in -* link:/documentation/Introduction/Getting_started#flashing_to_emmc_using_rockchip_tools_rock64_only[Guide to flashing eMMC using Rockchip Tools] - -=== BSP Linux ver 1.1 Build from SDK - -Download: - -* http://files.pine64.org/os/SOEdge/stock/SOEdge_linux_v1.1.img.gz[SOEdge_linux_v1.1.img.gz] from _pine64.org_, MD5 (TAR-GZip file): a6629f997ae2cae7d9d5324c4e942deda9, size: 119MB - -Notes: - -* Please unzip first and then using Rockchip tool to flash in -* link:/documentation/Introduction/Getting_started#flashing_to_emmc_using_rockchip_tools_rock64_only[Guide to flashing eMMC using Rockchip Tools] - -=== BSP Linux ver 1.1 Build as USB Stick application from SDK - -Download: - -* http://files.pine64.org/os/SOEdge/stock/SOEdge_linux_usb_compute_stick.img.gz[SOEdge_linux_usb_compute_stick.img.gz] from _pine64.org_, MD5 (GZip file): af6ac45995f7ddd9343a7052efffaf30, size: 47MB - -Notes: - -* Please unzip first and then using Rockchip tool to flash in -* link:/documentation/Introduction/Getting_started#flashing_to_emmc_using_rockchip_tools_rock64_only[Guide to flashing eMMC using Rockchip Tools] - -== Linux BSP SDK - -* http://files.pine64.org/SDK/SOEdge/rk1808_v1.1.7.tar.gz[Linux BSP Kernel ver 1.1.7] from _pine64.org_, MD5 (TAR-GZip file): 47a81a990a644539f3a0e84034654f78, size: 17.42GB -* https://files.pine64.org/SDK/SOEdge/SOEdge_RK-BSP_SDK_v1.1.tar.gz[Full BSP SDK ver 1.1] from _pine64.org_, MD5 (TAR-GZip file): a66c92e52824762d7c0a63400d6342ea, size: 13.55GB -* https://files.pine64.org/SDK/SOEdge/SOEdge_RK-BSP_USB_Dongle_SDK_v1.1.tar.gz[Neural AI Stick BSP SDK ver 1.1] from _pine64.org_, MD5 (TAR-GZip file): 46f12441e8c35c06184681f355c89651, size: 9.65GB - diff --git a/content/documentation/SOEDGE/Releases.md b/content/documentation/SOEDGE/Releases.md new file mode 100644 index 00000000..fe736d67 --- /dev/null +++ b/content/documentation/SOEDGE/Releases.md @@ -0,0 +1,86 @@ +--- +title: "Releases" +draft: false +menu: + docs: + title: + parent: "SOEDGE" + identifier: "SOEDGE/Releases" + weight: 1 +--- + +Releases for the SOEDGE. + +## Linux BSP + +### Full BSP Linux image ver 1.1 + +Download: + +* [SOEdge_linux_v1.1.img.gz](https://files.pine64.org/os/SOEdge/stock/SOEdge_linux_v1.1.img.gz) from _pine64.org_, MD5 (GZip file): 636ebeb66d6d0fc0929397d541b0ce83, size: 119MB + +Notes: + +* This is full image version can be applied to the model A baseboard +* DD image (for 8GB microSD card or eMMC Module and above) + +### Neural AI Stick Linux image ver 1.1 + +Download: + +* [SOEdge_linux_usb_compute_stick.img.gz](https://files.pine64.org/os/SOEdge/stock/SOEdge_linux_usb_compute_stick.img.gz) from _pine64.org_, MD5 (GZip file): 6fddf73a34ea2a1cb6f36be673567b5f, size: 47MB + +Notes: + +* This is USB 3.0 Neural AI Stick image version +* DD image (for 8GB eMMC Module and above) + +### BSP Linux ver 1.1 Build from SDK + +Download: + +* [SOEdge_linux_v1.1.img.gz](http://files.pine64.org/os/SOEdge/stock/SOEdge_linux_v1.1.img.gz) from _pine64.org_, MD5 (TAR-GZip file): a6629f997ae2cae7d9d5324c4e942deda9, size: 119MB + +Notes: + +* Please unzip first and then using Rockchip tool to flash in +* [Guide to flashing eMMC using Rockchip Tools](/documentation/Introduction/Getting_started#flashing_to_emmc_using_rockchip_tools_rock64_only) + +### BSP Linux ver 1.1 Build as USB Stick application from SDK + +Download: + +* [SOEdge_linux_usb_compute_stick.img.gz](http://files.pine64.org/os/SOEdge/stock/SOEdge_linux_usb_compute_stick.img.gz) from _pine64.org_, MD5 (GZip file): af6ac45995f7ddd9343a7052efffaf30, size: 47MB + +Notes: + +* Please unzip first and then using Rockchip tool to flash in +* [Guide to flashing eMMC using Rockchip Tools](/documentation/Introduction/Getting_started#flashing_to_emmc_using_rockchip_tools_rock64_only) + +### BSP Linux ver 1.1 Build from SDK + +Download: + +* [SOEdge_linux_v1.1.img.gz](http://files.pine64.org/os/SOEdge/stock/SOEdge_linux_v1.1.img.gz) from _pine64.org_, MD5 (TAR-GZip file): a6629f997ae2cae7d9d5324c4e942deda9, size: 119MB + +Notes: + +* Please unzip first and then using Rockchip tool to flash in +* [Guide to flashing eMMC using Rockchip Tools](/documentation/Introduction/Getting_started#flashing_to_emmc_using_rockchip_tools_rock64_only) + +### BSP Linux ver 1.1 Build as USB Stick application from SDK + +Download: + +* [SOEdge_linux_usb_compute_stick.img.gz](http://files.pine64.org/os/SOEdge/stock/SOEdge_linux_usb_compute_stick.img.gz) from _pine64.org_, MD5 (GZip file): af6ac45995f7ddd9343a7052efffaf30, size: 47MB + +Notes: + +* Please unzip first and then using Rockchip tool to flash in +* [Guide to flashing eMMC using Rockchip Tools](/documentation/Introduction/Getting_started#flashing_to_emmc_using_rockchip_tools_rock64_only) + +## Linux BSP SDK + +* [Linux BSP Kernel ver 1.1.7](http://files.pine64.org/SDK/SOEdge/rk1808_v1.1.7.tar.gz) from _pine64.org_, MD5 (TAR-GZip file): 47a81a990a644539f3a0e84034654f78, size: 17.42GB +* [Full BSP SDK ver 1.1](https://files.pine64.org/SDK/SOEdge/SOEdge_RK-BSP_SDK_v1.1.tar.gz) from _pine64.org_, MD5 (TAR-GZip file): a66c92e52824762d7c0a63400d6342ea, size: 13.55GB +* [Neural AI Stick BSP SDK ver 1.1](https://files.pine64.org/SDK/SOEdge/SOEdge_RK-BSP_USB_Dongle_SDK_v1.1.tar.gz) from _pine64.org_, MD5 (TAR-GZip file): 46f12441e8c35c06184681f355c89651, size: 9.65GB diff --git a/content/documentation/SOEDGE/_index.adoc b/content/documentation/SOEDGE/_index.adoc deleted file mode 100644 index c59bbc74..00000000 --- a/content/documentation/SOEDGE/_index.adoc +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: "SOEDGE" -draft: false -menu: - docs: - title: - parent: "" - identifier: "SOEDGE" - weight: ---- - -{{< figure src="images/SOEdge.png" title="The SOEDGE" width="400" >}} - -The *SOEDGE* is a 3TOPS compute module that can be paired with the link:/documentation/SOEDGE_Baseboard[SOEDGE Baseboard], the link:/documentation/Clusterboard[Clusterboard] or USB 3.0 and PCIe adapters for development. It can connect to a SBC, such as the ROCKPro64 or a regular PC. - diff --git a/content/documentation/SOEDGE/_index.md b/content/documentation/SOEDGE/_index.md new file mode 100644 index 00000000..b778d2ca --- /dev/null +++ b/content/documentation/SOEDGE/_index.md @@ -0,0 +1,14 @@ +--- +title: "SOEDGE" +draft: false +menu: + docs: + title: + parent: "" + identifier: "SOEDGE" + weight: +--- + +{{< figure src="images/SOEdge.png" title="The SOEDGE" width="400" >}} + +The **SOEDGE** is a 3TOPS compute module that can be paired with the [SOEDGE Baseboard](/documentation/SOEDGE_Baseboard), the [Clusterboard](/documentation/Clusterboard) or USB 3.0 and PCIe adapters for development. It can connect to a SBC, such as the ROCKPro64 or a regular PC. diff --git a/content/documentation/SOEDGE_Baseboard/Features/Expansion_ports.adoc b/content/documentation/SOEDGE_Baseboard/Features/Expansion_ports.md similarity index 63% rename from content/documentation/SOEDGE_Baseboard/Features/Expansion_ports.adoc rename to content/documentation/SOEDGE_Baseboard/Features/Expansion_ports.md index c9c12861..7ccc7b08 100644 --- a/content/documentation/SOEDGE_Baseboard/Features/Expansion_ports.adoc +++ b/content/documentation/SOEDGE_Baseboard/Features/Expansion_ports.md @@ -17,16 +17,16 @@ menu: * 2x20 pins "Pi2" GPIO Header * PCIe 2x open ended slot -== Schematics and certifications +## Schematics and certifications * Model "A" Baseboard Dimensions: 133mm x 80mm x 19mm * Input Power: DC 12V @ 3A 5.5OD/2.1ID Barrel DC Jack connector SOEDGE Model "A" Baseboard schematics and PCB board resources: -* https://files.pine64.org/doc/SOEdge/SOEDGE_MODEL_A_BASEBOARD_Schematic-20210223.pdf[SOEDGE Model "A" Baseboard Schematic 20210223 PDF file] -* https://files.pine64.org/doc/SOEdge/SOEDGE_MODEL_A_BASEBOARD_PCB-TOP-20210223.pdf[SOEDGE Model "A" Baseboard 20210223 PCB Component Placement Top PDF file] -* https://files.pine64.org/doc/SOEdge/SOEDGE_MODEL_A_BASEBOARD_PCB-BOT-20210223.pdf[SOEDGE Model "A" Baseboard 20210223 PCB Component Placement Bottom PDF file] +* [SOEDGE Model "A" Baseboard Schematic 20210223 PDF file](https://files.pine64.org/doc/SOEdge/SOEDGE_MODEL_A_BASEBOARD_Schematic-20210223.pdf) +* [SOEDGE Model "A" Baseboard 20210223 PCB Component Placement Top PDF file](https://files.pine64.org/doc/SOEdge/SOEDGE_MODEL_A_BASEBOARD_PCB-TOP-20210223.pdf) +* [SOEDGE Model "A" Baseboard 20210223 PCB Component Placement Bottom PDF file](https://files.pine64.org/doc/SOEdge/SOEDGE_MODEL_A_BASEBOARD_PCB-BOT-20210223.pdf) SOEDGE module together with the baseboard certification: @@ -35,5 +35,4 @@ SOEDGE module together with the baseboard certification: Ethernet PHY information: -* https://files.pine64.org/doc/datasheet/pine64/rtl8211e(g)-vb(vl)-cg_datasheet_1.6.pdf[Realtek RTL8211 10/100/1000M Ethernet Transceiver for SOEDGE model A baseboard] - +* [Realtek RTL8211 10/100/1000M Ethernet Transceiver for SOEDGE model A baseboard](https://files.pine64.org/doc/datasheet/pine64/rtl8211e(g)-vb(vl)-cg_datasheet_1.6.pdf) diff --git a/content/documentation/SOEDGE_Baseboard/Features/Network.adoc b/content/documentation/SOEDGE_Baseboard/Features/Network.md similarity index 99% rename from content/documentation/SOEDGE_Baseboard/Features/Network.adoc rename to content/documentation/SOEDGE_Baseboard/Features/Network.md index dc5e2e6d..89d2eebc 100644 --- a/content/documentation/SOEDGE_Baseboard/Features/Network.adoc +++ b/content/documentation/SOEDGE_Baseboard/Features/Network.md @@ -11,4 +11,3 @@ menu: * 10/100/1000Mbps Ethernet * WiFi 802.11 b/g/n with Bluetooth 4.0 (optional) - diff --git a/content/documentation/SOEDGE_Baseboard/Features/Storage.adoc b/content/documentation/SOEDGE_Baseboard/Features/Storage.md similarity index 99% rename from content/documentation/SOEDGE_Baseboard/Features/Storage.adoc rename to content/documentation/SOEDGE_Baseboard/Features/Storage.md index 3f045994..892925b9 100644 --- a/content/documentation/SOEDGE_Baseboard/Features/Storage.adoc +++ b/content/documentation/SOEDGE_Baseboard/Features/Storage.md @@ -11,4 +11,3 @@ menu: * microSD - bootable, support SDHC and SDXC, storage up to 256GB * USB - 2 USB2.0 Host port - diff --git a/content/documentation/SOEDGE_Baseboard/_index.adoc b/content/documentation/SOEDGE_Baseboard/_index.adoc deleted file mode 100644 index fd17848e..00000000 --- a/content/documentation/SOEDGE_Baseboard/_index.adoc +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: "SOEDGE Baseboard" -draft: false -menu: - docs: - title: - parent: "" - identifier: "SOEDGE_Baseboard" - weight: ---- - -{{< figure src="/documentation/images/SOEDGE_Baseboard.png" title="The SOEDGE Baseboard" width="400" >}} - -The *SOEDGE Baseboard* is a baseboard that hosts the link:/documentation/SOEDGE[SOEDGE] compute module and turns it into a full single board computer. Makers can use this baseboard as reference to develop their own PCBs and for software development during early stages for custom hardware or PCB development. - diff --git a/content/documentation/SOEDGE_Baseboard/_index.md b/content/documentation/SOEDGE_Baseboard/_index.md new file mode 100644 index 00000000..8fd7487d --- /dev/null +++ b/content/documentation/SOEDGE_Baseboard/_index.md @@ -0,0 +1,14 @@ +--- +title: "SOEDGE Baseboard" +draft: false +menu: + docs: + title: + parent: "" + identifier: "SOEDGE_Baseboard" + weight: +--- + +{{< figure src="/documentation/images/SOEDGE_Baseboard.png" title="The SOEDGE Baseboard" width="400" >}} + +The **SOEDGE Baseboard** is a baseboard that hosts the [SOEDGE](/documentation/SOEDGE) compute module and turns it into a full single board computer. Makers can use this baseboard as reference to develop their own PCBs and for software development during early stages for custom hardware or PCB development. diff --git a/content/documentation/SOPINE/Further_information/Specification.adoc b/content/documentation/SOPINE/Further_information/Specification.md similarity index 62% rename from content/documentation/SOPINE/Further_information/Specification.adoc rename to content/documentation/SOPINE/Further_information/Specification.md index 0ce1a44d..c183e8d0 100644 --- a/content/documentation/SOPINE/Further_information/Specification.adoc +++ b/content/documentation/SOPINE/Further_information/Specification.md @@ -11,9 +11,9 @@ menu: Based on the Allwinner A64 -== CPU Architecture +## CPU Architecture -* http://www.arm.com/products/processors/cortex-a/cortex-a53-processor.php[Quad-core ARM Cortex-A53 Processor@1152Mhz] +* [Quad-core ARM Cortex-A53 Processor@1152Mhz](http://www.arm.com/products/processors/cortex-a/cortex-a53-processor.php) * A power-efficient ARM v8 architecture * 64 and 32bit execution states for scalable high performance * Support NEON Advanced SIMD (Single Instruction Multiple Data) instruction for acceleration of media and signal processing function @@ -22,12 +22,11 @@ Based on the Allwinner A64 * 32KB L1 Instruction cache and 32KB L1 Data cache * 512KB L2 cache -== GPU Architecture +## GPU Architecture -* http://www.arm.com/products/multimedia/mali-gpu/ultra-low-power/mali-400.php[ARM Mali400MP2 Dual-core GPU] +* [ARM Mali400MP2 Dual-core GPU](http://www.arm.com/products/multimedia/mali-gpu/ultra-low-power/mali-400.php) * Supports OpenGL ES 2.0 and OpenVG 1.1 standard Five megapixel CMOS camera module information: -* http://files.pine64.org/doc/datasheet/pine64/YL-PINE64-4EC.pdf[PINE64 YL-PINE64-4EC 5M Pixel CMOS Image Sensor Module (Description in Chinese)] - +* [PINE64 YL-PINE64-4EC 5M Pixel CMOS Image Sensor Module (Description in Chinese)](http://files.pine64.org/doc/datasheet/pine64/YL-PINE64-4EC.pdf) diff --git a/content/documentation/SOPINE/_index.adoc b/content/documentation/SOPINE/_index.md similarity index 51% rename from content/documentation/SOPINE/_index.adoc rename to content/documentation/SOPINE/_index.md index 61d09b09..f4cac0cf 100644 --- a/content/documentation/SOPINE/_index.adoc +++ b/content/documentation/SOPINE/_index.md @@ -12,6 +12,6 @@ menu: {{< figure src="/documentation/images/SOPINE_front.jpg" width="400" >}} {{< figure src="/documentation/images/SOPINE_back.jpg" width="400" >}} -The *SOPINE* is a compute module powered by the same quad-core ARM Cortex A53 64-bit processor used in the PINE A64 with 2 GB of LPDDR3 RAM memory, power management unit, SPI flash and integrated bootable microSD slot. The module features a SODIMM-DDR3 form-factor and can be paired with either the link:/documentation/SOPINE_Baseboard[SOPINE Baseboard], the link:/documentation/Clusterboard[Clusterboard] or a custom host PCB for industrial or other embedded applications. +The **SOPINE** is a compute module powered by the same quad-core ARM Cortex A53 64-bit processor used in the PINE A64 with 2 GB of LPDDR3 RAM memory, power management unit, SPI flash and integrated bootable microSD slot. The module features a SODIMM-DDR3 form-factor and can be paired with either the [SOPINE Baseboard](/documentation/SOPINE_Baseboard), the [Clusterboard](/documentation/Clusterboard) or a custom host PCB for industrial or other embedded applications. -The SOPINE module has a five-year LTS (long-term supply) status, which means that it will be supplied to 2022 at the very least. There is a one-year warranty period for the SOPINE module. It is fully compatible with the PINE A64-LTS in terms of software support \ No newline at end of file +The SOPINE module has a five-year LTS (long-term supply) status, which means that it will be supplied to 2022 at the very least. There is a one-year warranty period for the SOPINE module. It is fully compatible with the PINE A64-LTS in terms of software support diff --git a/content/documentation/SOPINE_Baseboard/_index.adoc b/content/documentation/SOPINE_Baseboard/_index.adoc deleted file mode 100644 index ac1a9181..00000000 --- a/content/documentation/SOPINE_Baseboard/_index.adoc +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: "SOPINE Baseboard" -draft: false -menu: - docs: - title: - parent: "" - identifier: "SOPINE_Baseboard" - weight: ---- - -{{< figure src="/documentation/images/SOPINE_Baseboard_front.jpg" width="400" >}} - -The *SOPINE Baseboard Model A* is a baseboard that hosts the link:/documentation/SOPINE[SOPINE A64 Compute Module] and turns it into a full single board computer. Makers can use this baseboard as reference to develop their own PCBs and for software development during early stages for custom hardware or PCB development. - diff --git a/content/documentation/SOPINE_Baseboard/_index.md b/content/documentation/SOPINE_Baseboard/_index.md new file mode 100644 index 00000000..bcf29554 --- /dev/null +++ b/content/documentation/SOPINE_Baseboard/_index.md @@ -0,0 +1,14 @@ +--- +title: "SOPINE Baseboard" +draft: false +menu: + docs: + title: + parent: "" + identifier: "SOPINE_Baseboard" + weight: +--- + +{{< figure src="/documentation/images/SOPINE_Baseboard_front.jpg" width="400" >}} + +The **SOPINE Baseboard Model A** is a baseboard that hosts the [SOPINE A64 Compute Module](/documentation/SOPINE) and turns it into a full single board computer. Makers can use this baseboard as reference to develop their own PCBs and for software development during early stages for custom hardware or PCB development. diff --git a/content/documentation/SOQuartz/Baseboards/BLADE.adoc b/content/documentation/SOQuartz/Baseboards/BLADE.md similarity index 83% rename from content/documentation/SOQuartz/Baseboards/BLADE.adoc rename to content/documentation/SOQuartz/Baseboards/BLADE.md index b5d1800a..f62a5b1d 100644 --- a/content/documentation/SOQuartz/Baseboards/BLADE.adoc +++ b/content/documentation/SOQuartz/Baseboards/BLADE.md @@ -13,23 +13,22 @@ menu: * SOQuartz BLADE Baseboard Dimensions: 200mm x 40mm x 15mm * Input Power: -** DC 5V @ 3A 3.5OD/1.35ID (IEC 60130-10 Type H) Barrel DC Jack connector -** PoE + * DC 5V @ 3A 3.5OD/1.35ID (IEC 60130-10 Type H) Barrel DC Jack connector + * PoE -== Storage +## Storage * microSD - bootable, support SDHC and SDXC, storage up to 2TB * USB - USB2.0 Host port (with header for setting OTG ID pin) -== Expansion Ports +## Expansion Ports * 2x20 pins "Pi2" GPIO Header * M.2 slot * PWM fan header -== Jumpers +## Jumpers * OTG ID jumper * GPIO voltage, select 3.3V or 1.8V * PoE Enable - diff --git a/content/documentation/SOQuartz/Baseboards/Various_CM4_carrier_boards.adoc b/content/documentation/SOQuartz/Baseboards/Various_CM4_carrier_boards.md similarity index 84% rename from content/documentation/SOQuartz/Baseboards/Various_CM4_carrier_boards.adoc rename to content/documentation/SOQuartz/Baseboards/Various_CM4_carrier_boards.md index 7c8a382f..a9a47302 100644 --- a/content/documentation/SOQuartz/Baseboards/Various_CM4_carrier_boards.adoc +++ b/content/documentation/SOQuartz/Baseboards/Various_CM4_carrier_boards.md @@ -9,11 +9,10 @@ menu: weight: --- -* For CM4 carrier board comprehensive list, please visit https://pipci.jeffgeerling.com/boards_cm[Jeff Geerling collection] +* For CM4 carrier board comprehensive list, please visit [Jeff Geerling collection](https://pipci.jeffgeerling.com/boards_cm) {{< figure src="/documentation/SOQuartz/images/SOQuartz_with_DF_Robot_carrier_board.jpg" title="SOQuartz with DF Robot CM4 Carrier Board" width="400" >}} {{< figure src="/documentation/SOQuartz/images/SOQuartz_with_Waveshare_carrier_board.jpg" title="SOQuartz with Waveshare CM4 Carrier Board" width="400" >}} {{< figure src="/documentation/SOQuartz/images/SOQuartz_with_Waveshare_PoE_carrier_board.jpg" title="SOQuartz with Waveshare CM4 PoE Board" width="400" >}} - diff --git a/content/documentation/SOQuartz/Heatsinks.adoc b/content/documentation/SOQuartz/Heatsinks.adoc deleted file mode 100644 index 2692e476..00000000 --- a/content/documentation/SOQuartz/Heatsinks.adoc +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: "Heatsinks" -draft: false -menu: - docs: - title: - parent: "SOQuartz" - identifier: "SOQuartz/Heatsinks" - weight: 3 ---- - -The SOQuartz SoM does not have a lot of copper to sink heat into. Therefore, it's recommended you use a heatsink such as the https://www.waveshare.com/product/accessories/power-heat-sinks/heat-sinks/cm4-heatsink.htm[Waveshare CM4 Heatsink], the https://www.waveshare.com/product/accessories/power-heat-sinks/heat-sinks/cm4-heatsink-b.htm[other Waveshare CM4 Heatsink], or the https://pine64.com/product/small-fan-type-heatsink/[PINE64 Small Fan Type Heatsink]. Please be aware that the Waveshare heatsinks may interfere with any eMMC module, unless you use very thick (2-3 mm?) thermal pads. Local resellers may sell CM4 heatsinks or small stick-on heatsinks, so there's no need to order them from abroad unless it's cheaper. - -Alternatively, or in addition to this, a rectangle-shaped piece of 1 mm thick thermal pad can be sandwiched between the SoM and the carrier board. This allows the SoM to more efficiently sink heat into the larger mass of the base board. \ No newline at end of file diff --git a/content/documentation/SOQuartz/Heatsinks.md b/content/documentation/SOQuartz/Heatsinks.md new file mode 100644 index 00000000..2f680373 --- /dev/null +++ b/content/documentation/SOQuartz/Heatsinks.md @@ -0,0 +1,14 @@ +--- +title: "Heatsinks" +draft: false +menu: + docs: + title: + parent: "SOQuartz" + identifier: "SOQuartz/Heatsinks" + weight: 3 +--- + +The SOQuartz SoM does not have a lot of copper to sink heat into. Therefore, it’s recommended you use a heatsink such as the [Waveshare CM4 Heatsink](https://www.waveshare.com/product/accessories/power-heat-sinks/heat-sinks/cm4-heatsink.htm), the [other Waveshare CM4 Heatsink](https://www.waveshare.com/product/accessories/power-heat-sinks/heat-sinks/cm4-heatsink-b.htm), or the [PINE64 Small Fan Type Heatsink](https://pine64.com/product/small-fan-type-heatsink/). Please be aware that the Waveshare heatsinks may interfere with any eMMC module, unless you use very thick (2-3 mm?) thermal pads. Local resellers may sell CM4 heatsinks or small stick-on heatsinks, so there’s no need to order them from abroad unless it’s cheaper. + +Alternatively, or in addition to this, a rectangle-shaped piece of 1 mm thick thermal pad can be sandwiched between the SoM and the carrier board. This allows the SoM to more efficiently sink heat into the larger mass of the base board. diff --git a/content/documentation/SOQuartz/Software/Android_SDK.adoc b/content/documentation/SOQuartz/Software/Android_SDK.md similarity index 52% rename from content/documentation/SOQuartz/Software/Android_SDK.adoc rename to content/documentation/SOQuartz/Software/Android_SDK.md index daabae14..b7f4aebc 100644 --- a/content/documentation/SOQuartz/Software/Android_SDK.adoc +++ b/content/documentation/SOQuartz/Software/Android_SDK.md @@ -9,15 +9,14 @@ menu: weight: --- -== Android 11 SDK for Quartz64 model A SBC +## Android 11 SDK for Quartz64 model A SBC Download: -* http://files.pine64.org/SDK/Quartz64/QUARTZ64_SDK_android11.tar.gz[Direct Download from pine64.org] +* [Direct Download from pine64.org](http://files.pine64.org/SDK/Quartz64/QUARTZ64_SDK_android11.tar.gz) Notes: * MD5 (TAR-GZip file): 77c2ff57ea3372fb04da7fb49e17d12b * File size: 79.00 GB -* Just the boot blobs (<1MB): https://wiki.pine64.org/wiki/File:Rk35-blobs.tar.gz - +* Just the boot blobs (<1MB): https://wiki.pine64.org/wiki/File:Rk35-blobs.tar.gz diff --git a/content/documentation/SOQuartz/Software/BSP_Linux_SDK.adoc b/content/documentation/SOQuartz/Software/BSP_Linux_SDK.md similarity index 62% rename from content/documentation/SOQuartz/Software/BSP_Linux_SDK.adoc rename to content/documentation/SOQuartz/Software/BSP_Linux_SDK.md index 55f5de13..dc131141 100644 --- a/content/documentation/SOQuartz/Software/BSP_Linux_SDK.adoc +++ b/content/documentation/SOQuartz/Software/BSP_Linux_SDK.md @@ -9,14 +9,13 @@ menu: weight: --- -== BSP Linux SDK ver 4.19 for Quartz64 model A SBC +## BSP Linux SDK ver 4.19 for Quartz64 model A SBC Download: -* http://files.pine64.org/SDK/Quartz64/QUARTZ64-model-A_BSP%20Linux.tar.gz[Direct Download from pine64.org] +* [Direct Download from pine64.org](http://files.pine64.org/SDK/Quartz64/QUARTZ64-model-A_BSP%20Linux.tar.gz) Notes: * MD5 (TAR-GZip file): 24554419aec29700add97167a3a4c9ed * File size: 32.67 GB - diff --git a/content/documentation/SOQuartz/Software/Making_your_own.adoc b/content/documentation/SOQuartz/Software/Making_your_own.adoc deleted file mode 100644 index 77f91763..00000000 --- a/content/documentation/SOQuartz/Software/Making_your_own.adoc +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: "Making your own" -draft: false -menu: - docs: - title: - parent: "SOQuartz/Software" - identifier: "SOQuartz/Software/Making_your_own" - weight: ---- - -Making your own image/installation of Linux for SOQuartz is relatively easy, as all major components are mainlined. You will need: - -* A build of mainline U-Boot ≥ v2023.10. Flash this to sector 64 (sector size 512, so byte 32768) of your image for SD or eMMC. It's prudent to "protect" it by making a small (~16MiB) partition at this offset. -* A https://www.kernel.org/[mainline Linux kernel] ≥ v6.2. See link:/documentation/Quartz64/Development/#linux_kernel_config_options[Quartz64/Development#Linux Kernel Config Options] for the device specific kernel configuration options. -* The root filesystem of the distribution of your choice. This can be on the same filesystem as your kernel and device tree if using _extlinux.conf_. - -You can either boot the kernel through U-Boot's EFI booting, in which case it gets its device tree from U-Boot, or mark the partition containing your kernel and device tree with the legacy bootable flag and write an _extlinux/extlinux.conf_ as explained in the https://u-boot.readthedocs.io/en/latest/develop/distro.html#boot-configuration-files[U-Boot documentation]. \ No newline at end of file diff --git a/content/documentation/SOQuartz/Software/Making_your_own.md b/content/documentation/SOQuartz/Software/Making_your_own.md new file mode 100644 index 00000000..ac2d4898 --- /dev/null +++ b/content/documentation/SOQuartz/Software/Making_your_own.md @@ -0,0 +1,18 @@ +--- +title: "Making your own" +draft: false +menu: + docs: + title: + parent: "SOQuartz/Software" + identifier: "SOQuartz/Software/Making_your_own" + weight: +--- + +Making your own image/installation of Linux for SOQuartz is relatively easy, as all major components are mainlined. You will need: + +* A build of mainline U-Boot ≥ v2023.10. Flash this to sector 64 (sector size 512, so byte 32768) of your image for SD or eMMC. It’s prudent to "protect" it by making a small (~16MiB) partition at this offset. +* A [mainline Linux kernel](https://www.kernel.org/) ≥ v6.2. See [Quartz64/Development#Linux Kernel Config Options](/documentation/Quartz64/Development/#linux_kernel_config_options) for the device specific kernel configuration options. +* The root filesystem of the distribution of your choice. This can be on the same filesystem as your kernel and device tree if using _extlinux.conf_. + +You can either boot the kernel through U-Boot’s EFI booting, in which case it gets its device tree from U-Boot, or mark the partition containing your kernel and device tree with the legacy bootable flag and write an _extlinux/extlinux.conf_ as explained in the [U-Boot documentation](https://u-boot.readthedocs.io/en/latest/develop/distro.html#boot-configuration-files). diff --git a/content/documentation/SOQuartz/_index.adoc b/content/documentation/SOQuartz/_index.md similarity index 73% rename from content/documentation/SOQuartz/_index.adoc rename to content/documentation/SOQuartz/_index.md index 5adb3658..9a647219 100644 --- a/content/documentation/SOQuartz/_index.adoc +++ b/content/documentation/SOQuartz/_index.md @@ -11,5 +11,4 @@ menu: {{< figure src="/documentation/SOQuartz/images/SOQuartz_module-1s.jpg" title="The SOQuartz" width="400" >}} -The *SOQuartz* is a RK3566 based compute module and parts of Quartz64 series. - +The **SOQuartz** is a RK3566 based compute module and parts of Quartz64 series. diff --git a/content/documentation/STAR64/Board_features.adoc b/content/documentation/STAR64/Board_features.md similarity index 78% rename from content/documentation/STAR64/Board_features.adoc rename to content/documentation/STAR64/Board_features.md index a43ddd56..288b4598 100644 --- a/content/documentation/STAR64/Board_features.adoc +++ b/content/documentation/STAR64/Board_features.md @@ -9,23 +9,23 @@ menu: weight: 2 --- -== Video +## Video * Digital Video output up to 4K@30Hz * 4K HDR @ 60fps * H.264/AVC Base/Main/High/High10 profile @ level 5.1; up to 4K×2K @ 60fps * H.265/HEVC Main/Main10 profile @ level 5.1 High-tier; up to 4K×2K @ 60fps -== Audio +## Audio * 3.5mm audio Jack -== Network +## Network * Single or Dual 10/100/1000Mbps Ethernet * 2.4GHz/5Ghz MIMO WiFi 802.11 b/g/n/ac with Bluetooth 5.2 -== Storage +## Storage * on-board 128Mbit (16MByte) XSPI NOR flash memory - bootable * microSD - bootable, supports SDHC and SDXC and storage up to 256GB @@ -33,11 +33,10 @@ menu: * 1× USB3.0 Dedicated Host port * 3× USB2.0 Host port -== Expansion Ports +## Expansion Ports * PCIe 2.0 ×1 lane * 2×20 pins "Pi2" GPIO Header -** The JH7110 SoC supports full multiplexing of its GPIO pins. This means any non-power/ground pin can be configured to any function outlined in Table 4-2 of the SoC datasheet. + * The JH7110 SoC supports full multiplexing of its GPIO pins. This means any non-power/ground pin can be configured to any function outlined in Table 4-2 of the SoC datasheet. * 4 lane MiPi DSI port for LCD panel * 4 lane MiPi CSI port for camera module - diff --git a/content/documentation/STAR64/Development/Potential_issues.adoc b/content/documentation/STAR64/Development/Potential_issues.md similarity index 96% rename from content/documentation/STAR64/Development/Potential_issues.adoc rename to content/documentation/STAR64/Development/Potential_issues.md index fb3e0700..ac399568 100644 --- a/content/documentation/STAR64/Development/Potential_issues.adoc +++ b/content/documentation/STAR64/Development/Potential_issues.md @@ -11,7 +11,7 @@ menu: If you get the following error in U-Boot (or your 8 GB board is only detected as 4 GB) the possible cause is an empty or corrupted EEPROM: ----- +``` Not a StarFive EEPROM data format - magic error EEPROM dump: (0x100 bytes) 00: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF @@ -30,15 +30,15 @@ C0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF D0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF E0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF F0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ----- +``` To address this, execute the following commands from within U-Boot: ----- +``` mac initialize mac product_id mac write_eeprom ----- +``` Set ProductID to either: @@ -47,4 +47,4 @@ Set ProductID to either: You can replace the last 8 digits with a random number if you wish. -If these commands fail, please join the #star64 channel in the Pine64 community for more assistance. \ No newline at end of file +If these commands fail, please join the #star64 channel in the Pine64 community for more assistance. diff --git a/content/documentation/STAR64/Further_information/Specification.adoc b/content/documentation/STAR64/Further_information/Specification.md similarity index 80% rename from content/documentation/STAR64/Further_information/Specification.adoc rename to content/documentation/STAR64/Further_information/Specification.md index 5f622ff2..a39c2982 100644 --- a/content/documentation/STAR64/Further_information/Specification.adoc +++ b/content/documentation/STAR64/Further_information/Specification.md @@ -9,15 +9,15 @@ menu: weight: --- -* Based on https://www.starfivetech.com/en/site/soc[StarFive JH7110] +* Based on [StarFive JH7110](https://www.starfivetech.com/en/site/soc) {{< figure src="/documentation/images/StarFive.jpg" >}} {{< figure src="/documentation/images/JH7110_Block_Diagram.png" width="800" >}} -== CPU Architecture +## CPU Architecture {{< figure src="/documentation/images/SiFive.jpg" width="200" >}} -* https://www.sifive.com/cores/u74[Quad-core U74 up to 1.5GHz CPU] +* [Quad-core U74 up to 1.5GHz CPU](https://www.sifive.com/cores/u74) * Fully compliant with the RISC-V ISA specification * 64-bit RISC-V Application Core * 32KB L1 I-cache with ECC @@ -28,10 +28,10 @@ menu: * includes RV64IMAC S7 monitor core, 16 KB L1 I-Cache with ECC, 8 KB DTIM with ECC * 32-bit RISC-V CPU core (E24) for real time control, support RV32IMFC RISC-V ISA -== GPU Architecture +## GPU Architecture {{< figure src="/documentation/images/imgtech.png" width="200" >}} -* https://www.imaginationtech.com/product/img-bxe-4-32-mc4/[Imagination Technology BXE-4-32 up to 600Mhz GPU] +* [Imagination Technology BXE-4-32 up to 600Mhz GPU](https://www.imaginationtech.com/product/img-bxe-4-32-mc4/) * Support OpenCL 3.0 * Support OpenGL ES 3.2 * Support Vulkan 1.2 @@ -40,7 +40,6 @@ menu: * On fly frame buffer compression and decompression (TFBC) algorithm * Performance: 128 FP32 FLOPs/Clock, 256 FP16 FLOPs/Clock -== System Memory +## System Memory * LPDDR4 RAM Memory Variants: 2GB, 4GB and 8GB. - diff --git a/content/documentation/STAR64/LEDs.adoc b/content/documentation/STAR64/LEDs.md similarity index 94% rename from content/documentation/STAR64/LEDs.adoc rename to content/documentation/STAR64/LEDs.md index 723e18cf..bc0bb169 100644 --- a/content/documentation/STAR64/LEDs.adoc +++ b/content/documentation/STAR64/LEDs.md @@ -17,4 +17,4 @@ To list possible other triggers for the blue LED: cat /sys/devices/platform/leds/leds/blue-led/trigger -An example for a trigger is _activity_, where the the blue LED reflects the CPU activity. \ No newline at end of file +An example for a trigger is _activity_, where the the blue LED reflects the CPU activity. diff --git a/content/documentation/STAR64/Software.adoc b/content/documentation/STAR64/Software.adoc deleted file mode 100644 index 302e48b0..00000000 --- a/content/documentation/STAR64/Software.adoc +++ /dev/null @@ -1,40 +0,0 @@ ---- -title: "Software" -draft: false -menu: - docs: - title: - parent: "STAR64" - identifier: "STAR64/Software" - weight: 1 ---- - -The releases are still in *alpha* state and are only fit for testing purposes. - -== Apache NuttX RTOS - -link:https://www.hackster.io/lupyuen/rtos-on-a-risc-v-sbc-star64-jh7110-apache-nuttx-2a7429[Apache NuttX RTOS] - -== Armbian - -link:https://www.armbian.com/star64/[STAR64] on _armbian.com_. Read the https://forum.pine64.org/showthread.php?tid=18276[Armbian forum thread] on _forum.pine64.org_. - -== DietPi - -link:https://dietpi.com/#download[Star64 image] on _dietpi.com_, with Linux 6.1 based on link:https://github.com/starfive-tech/linux/tree/JH7110_VisionFive2_6.1.y_devel[StarFive VisionFive 2 kernel sources], rebased on latest link:https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/?h=linux-6.1.y[mainline kernel], with Star64 support from link:https://github.com/Fishwaldo/Star64_linux[Fishwaldo's kernel sources] and own configuration. The kernel sources can be found on the link:https://github.com/MichaIng/linux/tree/6.1-star64[DietPi Star64 repository on GitHub.com]. - -Download: - -* link:https://dietpi.com/downloads/images/testing/DietPi_Star64-RISC-V-Sid.img.xz[Direct image download] - -== Fishwaldo images - -A Set of Images built with Yocto for commandline, weston and plasma, see the link:https://github.com/Fishwaldo/meta-pine64[project on GitHub.com]. - -Notes: - -* Where possible, GPU/VPU acceleration is enabled. - -== NixOS - -link:https://sr.ht/~fgaz/nixos-star64/[NixOS], based on the link:https://github.com/NixOS/nixos-hardware/tree/master/pine64/star64[the nixos-hardware configuration] \ No newline at end of file diff --git a/content/documentation/STAR64/Software.md b/content/documentation/STAR64/Software.md new file mode 100644 index 00000000..6efdfe4d --- /dev/null +++ b/content/documentation/STAR64/Software.md @@ -0,0 +1,40 @@ +--- +title: "Software" +draft: false +menu: + docs: + title: + parent: "STAR64" + identifier: "STAR64/Software" + weight: 1 +--- + +The releases are still in **alpha** state and are only fit for testing purposes. + +## Apache NuttX RTOS + +[Apache NuttX RTOS](https://www.hackster.io/lupyuen/rtos-on-a-risc-v-sbc-star64-jh7110-apache-nuttx-2a7429) + +## Armbian + +[STAR64](https://www.armbian.com/star64/) on _armbian.com_. Read the [Armbian forum thread](https://forum.pine64.org/showthread.php?tid=18276) on _forum.pine64.org_. + +## DietPi + +[Star64 image](https://dietpi.com/#download) on _dietpi.com_, with Linux 6.1 based on [StarFive VisionFive 2 kernel sources](https://github.com/starfive-tech/linux/tree/JH7110_VisionFive2_6.1.y_devel), rebased on latest [mainline kernel](https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/?h=linux-6.1.y), with Star64 support from [Fishwaldo’s kernel sources](https://github.com/Fishwaldo/Star64_linux) and own configuration. The kernel sources can be found on the [DietPi Star64 repository on GitHub.com](https://github.com/MichaIng/linux/tree/6.1-star64). + +Download: + +* [Direct image download](https://dietpi.com/downloads/images/testing/DietPi_Star64-RISC-V-Sid.img.xz) + +## Fishwaldo images + +A Set of Images built with Yocto for commandline, weston and plasma, see the [project on GitHub.com](https://github.com/Fishwaldo/meta-pine64). + +Notes: + +* Where possible, GPU/VPU acceleration is enabled. + +## NixOS + +[NixOS](https://sr.ht/~fgaz/nixos-star64/), based on the [the nixos-hardware configuration](https://github.com/NixOS/nixos-hardware/tree/master/pine64/star64) diff --git a/content/documentation/STAR64/_index.adoc b/content/documentation/STAR64/_index.adoc deleted file mode 100644 index 146f3918..00000000 --- a/content/documentation/STAR64/_index.adoc +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: "STAR64" -draft: false -menu: - docs: - title: - parent: "" - identifier: "STAR64" - weight: ---- - -{{< figure src="images/Star64.jpg" title="The STAR64" width="400" >}} - -The *Star64* is a RISC-V based Single Board Computer powered by StarFive JH7110 Quad-Core SiFive U74 64-Bit CPU, Imagination Technology BX-4-32 GPU and supports up to 8GB 1866MHz LPDDR4 memory. It provides an eMMC module socket, MicroSD Card slot, PCI-e, Pi-2 Bus, USB 3.0, and many other peripheral interfaces for makers to integrate with sensors and other devices. \ No newline at end of file diff --git a/content/documentation/STAR64/_index.md b/content/documentation/STAR64/_index.md new file mode 100644 index 00000000..89931b19 --- /dev/null +++ b/content/documentation/STAR64/_index.md @@ -0,0 +1,14 @@ +--- +title: "STAR64" +draft: false +menu: + docs: + title: + parent: "" + identifier: "STAR64" + weight: +--- + +{{< figure src="images/Star64.jpg" title="The STAR64" width="400" >}} + +The **Star64** is a RISC-V based Single Board Computer powered by StarFive JH7110 Quad-Core SiFive U74 64-Bit CPU, Imagination Technology BX-4-32 GPU and supports up to 8GB 1866MHz LPDDR4 memory. It provides an eMMC module socket, MicroSD Card slot, PCI-e, Pi-2 Bus, USB 3.0, and many other peripheral interfaces for makers to integrate with sensors and other devices. diff --git a/content/documentation/Unsorted/PhoenixCard.adoc b/content/documentation/Unsorted/PhoenixCard.adoc deleted file mode 100644 index 992cacdc..00000000 --- a/content/documentation/Unsorted/PhoenixCard.adoc +++ /dev/null @@ -1,47 +0,0 @@ ---- -title: "PhoenixCard" -draft: false -menu: - docs: - title: - parent: "Unsorted" - identifier: "Unsorted/PhoenixCard" - weight: ---- - -== How to Create MicroSD Card Android Image for Pine A64 - -=== What do I need? - -. The PhoenixCard software from Allwinner. -. You can download it https://drive.google.com/file/d/0B0cEs0lxTtL3VmstaEFfbmU1NFk/view?usp=sharing[here] -. A firmware image (.img files) -. A SD-Card (best Class 10 with 8GB or more SD-Card) - backup everything first, the Card will be formatted! -. An external SD-Card Reader -. A Windows PC - -=== Step to create the SD-Card - -{{< figure src="/documentation/images/PCard_Main.jpg" width="750" >}} - -. Extract the PhonixCard-xx.rar file into an empty directory. -. Navigate into the directory where you installed PhoenixCard and start PhoenixCard.exe. -. Click *DiskCheck* and choose the drive with your SD-Card -. Click *Img File* and choose the file you want -. Write Mode must be set to *Startup* -. Press *Burn* -. Wait until the burning process is finished (you will see the progress in the progress bar and the notification window) - -=== Booting Up the SD-Card - -. Insert the SD-Card into the Pine64 and Power-up -. On the first time boot-up, it might take up to 5 minute for the system to get ready -. On the sub-sequence boot-up, it will only take about 40 to 60 second for the system to get ready - -== Related Reference - -* http://www.cnx-software.com/2015/01/06/easily-create-an-androidlinux-bootable-sd-card-for-allwinner-a80-devices-with-phoenixcard-tool/[Easily Create an Android Bootable SD Card for Allwinner A80 Devices with PhoenixCard Tool] -* http://www.ondaforum.com/topic/2022-boot-from-sd-card-or-flash-a-rom-with-phonixcard/[Boot from SD-Card or flash a ROM with PhonixCard] -* http://www.androidsoldier.com/2013/11/upgrading-method-android-tablet.html[How to upgrade tablet pc with Micro SD Card Tutorial] -* https://www.youtube.com/watch?v=eKo82AUgbFM[PhoenixCard Tutorial YouTube Video] - diff --git a/content/documentation/Unsorted/PhoenixCard.md b/content/documentation/Unsorted/PhoenixCard.md new file mode 100644 index 00000000..27d5e751 --- /dev/null +++ b/content/documentation/Unsorted/PhoenixCard.md @@ -0,0 +1,46 @@ +--- +title: "PhoenixCard" +draft: false +menu: + docs: + title: + parent: "Unsorted" + identifier: "Unsorted/PhoenixCard" + weight: +--- + +## How to Create MicroSD Card Android Image for Pine A64 + +### What do I need? + +1. The PhoenixCard software from Allwinner. +2. You can download it [here](https://drive.google.com/file/d/0B0cEs0lxTtL3VmstaEFfbmU1NFk/view?usp=sharing) +3. A firmware image (.img files) +4. A SD-Card (best Class 10 with 8GB or more SD-Card) - backup everything first, the Card will be formatted! +5. An external SD-Card Reader +6. A Windows PC + +### Step to create the SD-Card + +{{< figure src="/documentation/images/PCard_Main.jpg" width="750" >}} + +1. Extract the PhonixCard-xx.rar file into an empty directory. +2. Navigate into the directory where you installed PhoenixCard and start PhoenixCard.exe. +3. Click **DiskCheck** and choose the drive with your SD-Card +4. Click **Img File** and choose the file you want +5. Write Mode must be set to **Startup** +6. Press **Burn** +7. Wait until the burning process is finished (you will see the progress in the progress bar and the notification window) + +### Booting Up the SD-Card + +1. Insert the SD-Card into the Pine64 and Power-up +2. On the first time boot-up, it might take up to 5 minute for the system to get ready +3. On the sub-sequence boot-up, it will only take about 40 to 60 second for the system to get ready + +## Related Reference + +* [Easily Create an Android Bootable SD Card for Allwinner A80 Devices with PhoenixCard Tool](http://www.cnx-software.com/2015/01/06/easily-create-an-androidlinux-bootable-sd-card-for-allwinner-a80-devices-with-phoenixcard-tool/) +* [Boot from SD-Card or flash a ROM with PhonixCard](http://www.ondaforum.com/topic/2022-boot-from-sd-card-or-flash-a-rom-with-phonixcard/) +* [How to upgrade tablet pc with Micro SD Card Tutorial](http://www.androidsoldier.com/2013/11/upgrading-method-android-tablet.html) +* [PhoenixCard Tutorial YouTube Video](https://www.youtube.com/watch?v=eKo82AUgbFM)