Difference between revisions of "Project Don't be evil"

From PINE64
Jump to navigation Jump to search
(→‎UBPorts mainline build: - add a working link)
(44 intermediate revisions by 5 users not shown)
Line 4: Line 4:
PinePhone development has been broken down into three distinct phases:  
PinePhone development has been broken down into three distinct phases:  
* First phase - Project Anakin  
* First phase - Project Anakin  
* Second phase - purpose-built development kit code named "Don't be evil". It will be introduced at FOSDEM 2019  
* Second phase - purpose-built development kit code named "Don't be evil" and introduced at FOSDEM 2019  
* Latly, the third phase which is the PinePhone itself - scheduled to be released in Q3 2019 (pending on software development).
* Lastly, the third phase which is the PinePhone itself - scheduled to be prototype released in Q3 2019 and BTO batch released with mobile OS parents in Q4 2019 (pending on software development).


[[Image:Qee3ovj.jpg|500px|Image: 500 pixels]]
[[Image:Qee3ovj.jpg|500px|Image: 500 pixels]]
Line 11: Line 11:




You can also flash an OS image manually; please follow the instructions below.
= Project Don't be evil, Baseboard and SOPine Module Information, and Schematics =
 
* Baseboard Dimensions: 165mm x 76mm x 19.5mm
= Software and OS Image Downloads =
* Input Power: DC 5V @ 2A, 3.7V Li-Ion battery connector, USB type-C connector
 
* Baseboard Schematic:
 
** [http://files.pine64.org/doc/PinePhone/Pinephone-devkit%20Board%20Structure.pdf "Don't Be Evil" PinePhone Dev kit Baseboard Structure]
http://files.pine64.org/sw/pine64_installer/json/ubports.png
** [http://files.pine64.org/doc/PinePhone/Pinephone-devkit-SCH%20Ver%201.1.pdf "Don't Be Evil" PinePhone Dev kit Baseboard Ver 1.1 Schematic]
 
** [http://files.pine64.org/doc/PinePhone/Pinephone%20Dev%20Kit%20Ver%201.1_PCB.pdf "Don't Be Evil" PinePhone Dev kit Baseboard Ver 1.1 PCB Artwork]
== UBPorts mainline build ==
** [http://files.pine64.org/doc/PinePhone/Pinephone-devkit-SCH%20Ver%201.2.pdf "Don't Be Evil" PinePhone Dev kit Baseboard Ver 1.2 Schematic]
* Not Yet Ready *
** [http://files.pine64.org/doc/PinePhone/Pinephone%20Dev%20Kit%20Ver%201.2_PCB.pdf "Don't Be Evil" PinePhone Dev kit Baseboard Ver 1.2 PCB Artwork]
 
* SOPine Module Schematic:
 
** [http://files.pine64.org/doc/SOPINE-A64/SOPINE-A64-Schematic-ver-0.9.pdf SOPine Module Schematic]
http://files.pine64.org/sw/pine64_installer/json/plasma_mobile.png
** [http://files.pine64.org/doc/SOPINE-A64/SOPINE-A64-Pin-Assignments-ver-1.0.pdf SOPine Module Pin Assignment ver 1.0]
 
* Wifi/BT module information:
== KDE Plasma Mobile build ==
** [http://files.pine64.org/doc/Pine%20A64%20Schematic/A64-DB-WIFI-BT-REV%20B.pdf PINE A64 Wifi/BT Module Schematic]
* Not Yet Ready *
* [http://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)]
 
 
 
http://files.pine64.org/sw/pine64_installer/json/postmarketos.png
 
== Postmarket OS build ==
* Not Yet Ready *
 
 
http://files.pine64.org/sw/pine64_installer/json/sailfishos.png
 
== Sailfish OS build ==
* Not Yet Ready *
 
 
http://files.pine64.org/sw/pine64_installer/json/maemo_leste.png
 
== Maemo OS build ==
* Not Yet Ready *
 
 
 
= Mali-400 64-bit Driver =
 
== Mali-400 64-bit Driver [20171220] ==
* [[Mali_Driver|Mali 64-bit X11 and Wayland Driver Download]]
 
 
== Quick Links to Build Sources of OS Images ==
 
* [https://linux-sunxi.org/Linux_mainlining_effort#Status_Matrix A64 mainline status matrix chart]
 
'''Some these OS images labelled as <span style="color:#FF0000">beta or nightly builds</span> which means they are only fit for testing purposes
 
'''These images should be <span style="color:#FF0000">used at your own risk</span> and are not fit for normal use'''
 
* [https://github.com/anarsoul/linux-build/releases/latest Arch Linux XFCE]
* [https://www.stdin.xyz/downloads/people/longsleep/pine64-images/ longsleep BSP Linux]
* [https://github.com/ayufan-pine64/linux-build/releases/latest/ ayufan Linux]
 
 
 




Line 92: Line 50:
* RAM Memory Variants: 2GB LPDDR3.
* RAM Memory Variants: 2GB LPDDR3.
* Storage Memory: SPI Flash and optional eMMC module from 16GB up to 64GB
* Storage Memory: SPI Flash and optional eMMC module from 16GB up to 64GB
= Project Don't be evil, SOPine Module and Baseboard Information, and Schematics =
* Model "A" Baseoard Dimensions: 133mm x 80mm x 19mm
* Input Power: DC 5V @ 2A, 3.7V Li-Ion battery connector, USB type-C connector
* [http://files.pine64.org/doc/SOPINE-A64/SOPINE-A64-Pin-Assignments-ver-1.0.pdf SOPine Module Pin Assignment ver 1.0]
* [http://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)]
* SOPine Module Schematic:
** [http://files.pine64.org/doc/SOPINE-A64/SOPINE-A64-Schematic-ver-0.9.pdf SOPine Module Schematic]




Line 128: Line 77:
** [http://files.pine64.org/doc/datasheet/pine64/GD25Q128C-Rev2.5.pdf GigaDevice 128Mb SPI Flash Datasheet]
** [http://files.pine64.org/doc/datasheet/pine64/GD25Q128C-Rev2.5.pdf GigaDevice 128Mb SPI Flash Datasheet]
* '''Project Don't be evil module/component related information:'''
* '''Project Don't be evil module/component related information:'''
** 2MPixel front CMOS Camera module information:
*** [http://files.pine64.org/doc/datasheet/pinephone/GC20355Mp-module_for_pinephone_devkit.pdf 2MP CMOS Image Sensor Module Drawing]
*** [http://files.pine64.org/doc/datasheet/pinephone/GC2035%20Product%20Brief.pdf GalaxyCore GC2035 2MP CMOS Image Sensor Product Brief]
*** [http://files.pine64.org/doc/datasheet/pinephone/GC2035%20DataSheet.pdf GalaxyCore GC2035 2MP CMOS Image Sensor Datasheet]
** 5MPixel Rear CMOS Camera module information:
** 5MPixel Rear 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)]
*** [http://files.pine64.org/doc/datasheet/pinephone/ATK-OV5640-5Mp-module_for_pinephone_devkit.pdf 5MP CMOS Image Sensor Module Drawing]
*** [http://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]
*** [http://files.pine64.org/doc/datasheet/pinephone/OV5640_datasheet.pdf OmniVision OV5640 5MP CMOS Image Sensor Datasheet]
*** [http://files.pine64.org/doc/datasheet/pine64/S5K4ECGX_EVT1_DataSheet_R005_20100816.pdf S5K4EC 5MP CMOS Image Sensor SoC Chip Datasheet]
*** [http://www.arducam.com/downloads/modules/OV5640/OV5640_Software_app_note_parallel.pdf OmniVision OV5640 5MP CMOS Image Sensor Software Application Note]
*** [http://files.pine64.org/doc/datasheet/pine64/s5k4ec.c S5K4EC 5MP CMOS Image Sensor Driver Source Code in C language]
** 5MPixel Rear CMOS Camera module information:
** LCD Touch Screen Panel information:
** LCD Touch Screen Panel information:
 
*** [http://files.pine64.org/doc/datasheet/pinephone/XBD572-IPS-HI010A%20SPEC.pdf 5.7" 1440x720 IPS LCD Panel Specification]
*** [http://files.pine64.org/doc/datasheet/pinephone/JD9365D_DS_Preliminary_V0.01_20170427.pdf fiti JD9365D LCD Controller Datasheet]
*** [http://files.pine64.org/doc/datasheet/pinephone/XBD572-IPS-HI010A%20SPEC.pdf 5.7" Front Panel Touch Screen Specification]
*** [http://files.pine64.org/doc/datasheet/pinephone/FT6336GU_Upgrade_Spec_Ver1.0.pdf FocalTech FT6336GU Front Panel Touch Screen Specification]
** Lithium Battery information:
** Lithium Battery information:
 
*** [http://files.pine64.org/doc/datasheet/pinephone/ncr18650b.pdf Panasonic NCR18650B 3350mAH Lithium Ion Battery Specification]
** Ethernet PHY information:
** Ethernet PHY information:
*** [http://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]
*** [http://files.pine64.org/doc/datasheet/pine64/rtl8211e(g)-vb(vl)-cg_datasheet_1.6.pdf Realtek RTL8211 10/100/1000M Ethernet Transceiver]
*** [http://files.pine64.org/doc/datasheet/pine64/rtl8201cp.pdf Realtek RTL8201 10/100M Ethernet Transceiver for PINE A64 Board]
** Wifi/BT module information:
** Wifi/BT module information:
*** [http://files.pine64.org/doc/datasheet/pine64/RTL8723BS.pdf Realtek RTL8723BS WiFi with BT SDIO]
*** [http://files.pine64.org/doc/datasheet/pine64/RTL8723BS.pdf Realtek RTL8723BS WiFi with BT SDIO]
Line 149: Line 102:
*** [http://files.pine64.org/doc/datasheet/project_anakin/LTE_module/Quectel_EC25_Hardware_Design_V1.3.pdf Quectel EC25 LTE Module Hardware Design Guide]
*** [http://files.pine64.org/doc/datasheet/project_anakin/LTE_module/Quectel_EC25_Hardware_Design_V1.3.pdf Quectel EC25 LTE Module Hardware Design Guide]
*** [http://files.pine64.org/doc/datasheet/project_anakin/LTE_module/Quectel_EC25_Reference_Design_Rev.D_20161111.pdf Quectel EC25 LTE Module Reference Design Guide]
*** [http://files.pine64.org/doc/datasheet/project_anakin/LTE_module/Quectel_EC25_Reference_Design_Rev.D_20161111.pdf Quectel EC25 LTE Module Reference Design Guide]
** Sensors:
*** [https://www.st.com/en/mems-and-sensors/lis3mdl.html ST LIS3MDL 3-axis Magnetomater Datasheet]
*** [https://www.invensense.com/products/motion-tracking/6-axis/mpu-6050/ InvenSense MPU-6050 Six-Axis (Gyro + Accelerometer) MEMS Datasheet]
*** [http://www.sensortek.com.tw/en/product/Proximity_Sensor_with_ALS.html SensorTek STK3335 Ambient Light Sensor and Proximity Sensor]
= Software and OS Image Downloads =
http://files.pine64.org/sw/pine64_installer/json/postmarketos.png
== Postmarket OS Early Alpha test build [microSD Boot] ==
* Suitable for PinePhone "Don't Be Evil" Dev Kit version 1.1 and version 1.2
* There are two type of LCD panels. For long touch screen cable, please use the build with inverted wording.
* DD image (for 8GB micoSD card and above)
** [http://images.postmarketos.org/pinephone/ Direct download from postmarketOS image site]
** [https://wiki.postmarketos.org/wiki/Pine_Don%27t_be_evil_devkit_(pine-dontbeevil) postmarketOS PinePhone "Don't Be Evil" dev kit wiki site]
http://files.pine64.org/sw/pine64_installer/json/ubports.png
== UBPorts mainline build ==
* [https://ci.ubports.com/job/rootfs-pinephone/ UBPorts Jenkins for PinePhone]
The link above seems to be broken, if so try this:
[https://ci.ubports.com/job/rootfs/job/rootfs-pinephone/ Jenkins Project rootfs-pinephone]
http://files.pine64.org/sw/pine64_installer/json/plasma_mobile.png
== KDE Plasma Mobile build ==
* Not Yet Ready *
http://files.pine64.org/sw/pine64_installer/json/sailfishos.png
== Sailfish OS build ==
The Sailfish OS image is build on Gitlab CI, the latest image can be installed using our [https://raw.githubusercontent.com/sailfish-on-dontbeevil/flash-it/master/flash-it.sh flashing script] written in Bash.
The script downloads the image and bootloader from our CI, extracts everything and burns it onto the SD card.
'''Instructions:'''
1. Download the flashing script
2. Insert a microSD card in your device
3. Make the script executable: <code>chmod +x flash-it.sh</code>
4. Execute it: <code>./flash-it.sh</code>
5. Follow the instructions. Some commands in the script require root permissions (for example: mounting and flashing the SD card).
'''Note''': The script will format and flash the SD card, make sure that you don't have any important data on the SD card!
http://files.pine64.org/sw/pine64_installer/json/maemo_leste.png
== Maemo Leste build ==
* Works on dev kit versions 1.1 and 1.2
* DD image to a micro SD (8GB+) or eMMC
** [http://maedevu.maemo.org/images/pinephone-dontbeevil/ Maemo Leste test builds download]
http://files.pine64.org/sw/pine64_installer/json/nixos.png
== NixOS build ==
* Not Yet Ready *
http://files.pine64.org/sw/pine64_installer/json/luneos.jpg
== LuneOS build ==
* [http://build.webos-ports.org/luneos-testing/images/pinephone/ LuneOS test image for PinePhone and thanks to Tofe]
* Tofe recommends using bmaptool ; for example "bmaptool copy http://build.webos-ports.org/luneos-testing/images/pinephone/luneos-dev-image-pinephone-testing-0-15.rootfs.wic.gz /dev/mmcblk0"
http://files.pine64.org/sw/pine64_installer/json/nemo_mobile.png
== Nemo Mobile build ==
* Not Yet Ready *
= Mali-400 64-bit Driver =
== Mali-400 64-bit Driver [20171220] ==
* [[Mali_Driver|Mali 64-bit X11 and Wayland Driver Download]]
== Quick Links to Build Sources of OS Images ==
* [https://linux-sunxi.org/Linux_mainlining_effort#Status_Matrix A64 mainline status matrix chart]
'''Some these OS images labelled as <span style="color:#FF0000">beta or nightly builds</span> which means they are only fit for testing purposes
'''These images should be <span style="color:#FF0000">used at your own risk</span> and are not fit for normal use'''
* [https://github.com/anarsoul/linux-build/releases/latest Arch Linux XFCE]
* [https://www.stdin.xyz/downloads/people/longsleep/pine64-images/ longsleep BSP Linux]
* [https://github.com/ayufan-pine64/linux-build/releases/latest/ ayufan Linux]
= Errata for ver1.1 and ver1.2 board =
'''1. Please DON'T insert micro SIM card to dev kit board micro SIM card slot, the SIM data, VPP, and GND signal have been misplaced. A miciPCIe adapter with sim card holder 9shown as below photo) will be provide to developers to correct this mistake.'''
[[File:MiniPCIe_with_sim_slot_adapter.png]]
'''2. The PinePhone dev kit doesn't charge due to VBUS on SOPine module is not connected. Please connect R9688 solder pads with 0 ohm resistor or using thin wire bridge up the solder pads. Location shows as below:'''
[[File:PinePhone_VBUS_charging_small.png]]
'''3. The SOPINE's SPI NOR flash storage and the devkit's camera flash (heh) share the same GPIO pins. The flash storage may not be used.'''
[[File:SOPINE-SPI-Flash.png]] [[File:Pinephone-1.1-flash-schematic.png]]
'''4. On the camera flash GPIO conflict, the new assignment of GPIO PB3 pin for SGM3140 FLASH_EN and GPIP PD7 for FLASH_TRIGOUT. Please note that PD7 is also LCD_ID pin which may not be used.'''
[[File:GPIO_PB3_location.jpg]]
GPIO PB3 location
[[File:U54_SGM3140_FLASH_EN pin location.jpg]]
U54 SGM3140 FLASH_EN pin location
[[File:Flash_GPIO_Reassigned.jpg]]
Flash GPIOs Reassigned wiring





Revision as of 23:07, 7 November 2019

The Project "Don't be evil" - Phase 2 of PINE64 Smartphone "PinePhone" Development Kit

Project Don't be evil is an actual smartphone developer 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" and introduced at FOSDEM 2019
  • Lastly, the third phase which is the PinePhone itself - scheduled to be prototype released in Q3 2019 and BTO batch released with mobile OS parents in Q4 2019 (pending on software development).

Image: 500 pixels Image: 500 pixels


Project Don't be evil, Baseboard and SOPine Module Information, and Schematics


SoC and Memory Specification

  • Based on Allwinner A64/R18
    • R18 and A64 are identical SoC but R18 committed for 10 years supply by vendor.

Allwinner A64.jpg Allwinner R18.png

CPU Architecture

  • 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

System Memory

  • RAM Memory Variants: 2GB LPDDR3.
  • Storage Memory: SPI Flash and optional eMMC module from 16GB up to 64GB


Datasheets for Components and Peripherals



Software and OS Image Downloads

postmarketos.png

Postmarket OS Early Alpha test build [microSD Boot]


ubports.png

UBPorts mainline build

The link above seems to be broken, if so try this: Jenkins Project rootfs-pinephone

plasma_mobile.png

KDE Plasma Mobile build

  • Not Yet Ready *


sailfishos.png

Sailfish OS build

The Sailfish OS image is build on Gitlab CI, the latest image can be installed using our flashing script written in Bash.

The script downloads the image and bootloader from our CI, extracts everything and burns it onto the SD card.

Instructions:

1. Download the flashing script

2. Insert a microSD card in your device

3. Make the script executable: chmod +x flash-it.sh

4. Execute it: ./flash-it.sh

5. Follow the instructions. Some commands in the script require root permissions (for example: mounting and flashing the SD card).

Note: The script will format and flash the SD card, make sure that you don't have any important data on the SD card!


maemo_leste.png

Maemo Leste build

nixos.png

NixOS build

  • Not Yet Ready *


luneos.jpg

LuneOS build


nemo_mobile.png

Nemo Mobile build

  • Not Yet Ready *

Mali-400 64-bit Driver

Mali-400 64-bit Driver [20171220]


Quick Links to Build Sources of OS Images

Some these OS images labelled as beta or nightly builds which means they are only fit for testing purposes

These images should be used at your own risk and are not fit for normal use


Errata for ver1.1 and ver1.2 board

1. Please DON'T insert micro SIM card to dev kit board micro SIM card slot, the SIM data, VPP, and GND signal have been misplaced. A miciPCIe adapter with sim card holder 9shown as below photo) will be provide to developers to correct this mistake.

MiniPCIe with sim slot adapter.png


2. The PinePhone dev kit doesn't charge due to VBUS on SOPine module is not connected. Please connect R9688 solder pads with 0 ohm resistor or using thin wire bridge up the solder pads. Location shows as below:

PinePhone VBUS charging small.png


3. The SOPINE's SPI NOR flash storage and the devkit's camera flash (heh) share the same GPIO pins. The flash storage may not be used.

SOPINE-SPI-Flash.png Pinephone-1.1-flash-schematic.png


4. On the camera flash GPIO conflict, the new assignment of GPIO PB3 pin for SGM3140 FLASH_EN and GPIP PD7 for FLASH_TRIGOUT. Please note that PD7 is also LCD_ID pin which may not be used.

GPIO PB3 location.jpg GPIO PB3 location

U54 SGM3140 FLASH EN pin location.jpg U54 SGM3140 FLASH_EN pin location

Flash GPIO Reassigned.jpg Flash GPIOs Reassigned wiring


Other Resources