PinePhonev1x » History » Version 47
Denis 'GNUtoo' Carikli, 09/13/2021 03:59 PM
Add note about the lack of RING on AT.
1 | 24 | Denis 'GNUtoo' Carikli | h1. PinePhone |
---|---|---|---|
2 | 1 | Denis 'GNUtoo' Carikli | |
3 | 30 | dl lud | The prototype version of PinePhone is already in the hands of developers and a new batch is shipping in January 2020[12], hardware won't change much from now on. |
4 | 27 | Denis 'GNUtoo' Carikli | |
5 | 28 | dl lud | |_. Feature |_. Hardware |_. Comments |_. TODO | |
6 | 42 | dl lud | | System on a chip | Allwinner A64 Quad Core[9] | * The bootloader should be fully free software[7] including ARM Trusted Firmware[8]. |
7 | * The code should be upstream already[7]. | TODO: |
||
8 | * Look at the code. | |
||
9 | 23 | Denis 'GNUtoo' Carikli | | GPU | Mali 400 MP2 GPU[1] | * A "pipe" driver is in Linux since 5.2 |
10 | 42 | dl lud | * Has (very early) support in Mesa. | TODO: |
11 | * Regularly check kernel and Mesa status. | |
||
12 | 1 | Denis 'GNUtoo' Carikli | | Modem |/2. Quectel EG-25G[1] with[2] worldwide bands[4] | * The EG-25G is an international version of the EC25. |
13 | 39 | dl lud | * Runs GNU/Linux[18]. |
14 | * USB connection for data and I2S connection for audio[18]. |
||
15 | 29 | dl lud | * Audio connected to both PCM interfaces on the A64[14]. |
16 | * PCM audio still experimental: sending to the modem works fine, receiving produces mangled samples[14]. | TODO: |
||
17 | 47 | Denis 'GNUtoo' Carikli | * How supported is the AT support? AT looks unusable[20]. |
18 | 1 | Denis 'GNUtoo' Carikli | * How supported is the QMI the protocol? |
19 | * What's the similarity with the EC-25? | |
||
20 | 26 | Andrés D | | GNSS[1]: GPS, GPS-A, GLONASS[4] | | |
21 | 42 | dl lud | | WiFi |/2. RTL8723cs[3] | * Requires a nonfree loadable firmware[3]. |
22 | 39 | dl lud | * Connected via SDIO[18]. | | |
23 | | Bluetooth: 4.0, A2DP[1] | * Requires a nonfree firmware[3]. |
||
24 | * Connected via UART[18]. | TODO: |
||
25 | * Check if it really requires that firmware or if it has some ROM code that could be used? | |
||
26 | 28 | dl lud | | USB – C[1] (Power, Data and Video Out) | |* USB 2.0[9] |
27 | 1 | Denis 'GNUtoo' Carikli | * Serial console is only available in the headphone connector (activated by the 6th contact on the dipswitch[10])| | |
28 | 39 | dl lud | | RAM | 2GB of LPDDR3 RAM | * Initialized by u-boot SPL[18]. | TODO: |
29 | 19 | Denis 'GNUtoo' Carikli | * Check if it meets [[HardwareRequirements|Android 9 requirements]] | |
30 | 39 | dl lud | | Main Camera | Single OmniVision OV6540, 5MP, 1/4″, LED Flash[1] | * Mainline driver[5] |
31 | * No firmware required[5] |
||
32 | * There's an optional non-free firmware for the auto-focus[18]. | | |
||
33 | | Selfie Camera | Single GC2035[1], 2MP, f/2.8, 1/5″ | | | |
||
34 | 44 | dl lud | | Storage | Bootable microSD slot[1] |
35 | 16GB eMMC[1] | * Boot order: microSD -> eMMC[6]| | |
||
36 | 26 | Andrés D | | Sensors accelerator, gyro, proximity, compass, barometer, ambient light[1] | | | TODO: |
37 | 42 | dl lud | * Which chips are used? | |
38 | 28 | dl lud | | LCD panel and touchscreen | 5.95″ LCD 1440×720 |
39 | 42 | dl lud | 18:9 aspect ratio (hardened glass) | Probably works with free software[11]. | | |
40 | 36 | dl lud | | Power Management IC (PMIC) | AXP803[13] | | | |
41 | | Power Management coprocessor | AR100[15] | * The proprietary firmware can be replaced with Crust[16]. |
||
42 | 38 | dl lud | * Allows deep power-saving modes and later wake-up. |
43 | 30 | dl lud | * Use case: receive signal from modem to wake-up device[17]. | | |
44 | |||
45 | 45 | Denis 'GNUtoo' Carikli | h2. Downstream reference code |
46 | 1 | Denis 'GNUtoo' Carikli | |
47 | 45 | Denis 'GNUtoo' Carikli | *Downstream arm-trusted-firmware*: https://gitlab.com/pine64-org/arm-trusted-firmware |
48 | *Downstream Linux*: https://gitlab.com/pine64-org/linux |
||
49 | *Downstream u-boot*: https://gitlab.com/pine64-org/u-boot |
||
50 | *Downstream utguard*: https://gitlab.com/pine64-org/mali-utgard-driver |
||
51 | 1 | Denis 'GNUtoo' Carikli | |
52 | 45 | Denis 'GNUtoo' Carikli | Other projects: |
53 | * They is a fork of Linux's sunxi-next through MoeIcenowy, downstream projects such as UBports and postmarketOs gather efforts there for future upstreaming. |
||
54 | |||
55 | h2. Upstream status |
||
56 | |||
57 | h3. Linux |
||
58 | |||
59 | Current Linux upstreaming path looks like this: pine64 -> sunxi-next -> linux-next -> torvalds |
||
60 | 1 | Denis 'GNUtoo' Carikli | Patches relevant to all A64 devices should be directly sent to sunxi-next. |
61 | Patches only relevant to PinePhone should be sent to pine64. |
||
62 | |||
63 | 45 | Denis 'GNUtoo' Carikli | Status: |
64 | * "The DTS":https://gitlab.com/pine64-org/linux/-/raw/pine64-kernel-5.4.y/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dts needs to be cleaned up, the reference to non-upstream drivers (like the LCD panel) removed, and sent upstream. The patch adding the DTS has a signed-off-by. Sending it upstream could enable to fully upstream the u-boot port. |
||
65 | * The panel driver is not upstream |
||
66 | * The Modem PCM audio is not upstream |
||
67 | * The SOC (and devices?) power management is not upstream |
||
68 | 46 | Denis 'GNUtoo' Carikli | * The "fix for the A64 timer":https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c950ca8c35eeb32224a63adc47e12f9e226da241 "is in Linux 5.1":https://linux-sunxi.org/Linux_mainlining_effort#Merged_into_5.1 and seem to be good enough to make it reliable including for userspace. The result is just a timer that is a bit less precise and slower. |
69 | 45 | Denis 'GNUtoo' Carikli | |
70 | h3. U-boot |
||
71 | |||
72 | The "u-boot patch that adds the pinephone":https://gitlab.com/pine64-org/u-boot/-/commit/f405aa95e7717b4772e6a9cc75e859be075dda54 consist of just a DTS and a defconfig file. |
||
73 | * The dts probably needs to be upstreamed in Linux first. |
||
74 | * The patch has no signed-off-by but the configuration can be re-done |
||
75 | * The dts comes from Linux which patch has proper signed-off-by and attribution |
||
76 | 40 | dl lud | |
77 | h2. Hardware kill switches |
||
78 | |||
79 | The PinePhone has 6 hardware switches[19] that allow turning on/off different hardware components: modem, WiFi/Bluetooth, microphone, rear camera, front camera and headphones. Unfortunately these are located under the back cover, which needs to be taken out to operate them. |
||
80 | 41 | dl lud | |
81 | h2. Schematics |
||
82 | |||
83 | "PinePhone Brave Heart Schematic":http://files.pine64.org/doc/PinePhone/PinePhone_Schematic_v1.1_20191031.pdf |
||
84 | "PinePhone Brave Heart Changes (vs prototype units)":http://files.pine64.org/doc/PinePhone/PinePhone_BraveHeart_edition_version_1.1_change_list.pdf |
||
85 | "PinePhone Exploded Diagram of Brave Heart edition PinePhones":http://files.pine64.org/doc/PinePhone/PinePhone_Exploded_Diagram_ver_1.0.pdf |
||
86 | 3 | Denis 'GNUtoo' Carikli | |
87 | 32 | dl lud | h2. References |
88 | 1 | Denis 'GNUtoo' Carikli | |
89 | 28 | dl lud | fn1. Some specifications are available at the "device page":https://www.pine64.org/pinephone/ and "wiki page":https://wiki.pine64.org/index.php/PinePhone. |
90 | 4 | Denis 'GNUtoo' Carikli | |
91 | 34 | dl lud | fn2. PinePhone discussion in Replicant's mailing list: https://lists.osuosl.org/pipermail/replicant/2019-July/001997.html |
92 | 18 | Denis 'GNUtoo' Carikli | |
93 | 34 | dl lud | fn3. From #replicant channel on Freenode: <pre><MoeIcenowy> The Wi-Fi changed to RTL8723CS (this chip also does BT), which needs non-free firmware to be feed</pre> |
94 | 1 | Denis 'GNUtoo' Carikli | |
95 | 34 | dl lud | fn4. From #replicant channel on Freenode: <pre><MoeIcenowy> The GNSS should be also done by EG25-G</pre> |
96 | 1 | Denis 'GNUtoo' Carikli | |
97 | 34 | dl lud | fn5. From #replicant channel on Freenode: <pre><MoeIcenowy> The OV5640 camera doesn't need firmware and its driver is mainlined</pre> |
98 | 1 | Denis 'GNUtoo' Carikli | |
99 | 34 | dl lud | fn6. From #replicant channel on Freenode: <pre><MoeIcenowy> The boot order is strictly MicroSD->eMMC, which is set in the A64's boot ROM</pre> |
100 | 1 | Denis 'GNUtoo' Carikli | |
101 | fn7. From #replicant channel on Freenode: <pre><MoeIcenowy> The bootloader (U-Boot SPL + ATF + U-Boot) is free software, all mainlined now (and the downstream dirty U-Boot cannot boot upstream Linux kernel)</pre> |
||
102 | 47 | Denis 'GNUtoo' Carikli | need |
103 | 25 | Andrés D | fn8. From #replicant channel on Freenode: <pre><MoeIcenowy> https://github.com/ARM-software/arm-trusted-firmware</pre> |
104 | 1 | Denis 'GNUtoo' Carikli | |
105 | fn9. Allwinner A64 Datasheet: http://files.pine64.org/doc/datasheet/pine64/A64_Datasheet_V1.1.pdf |
||
106 | 25 | Andrés D | |
107 | 27 | Denis 'GNUtoo' Carikli | fn10. PostmarketOS Pinephone page: https://wiki.postmarketos.org/wiki/PINE64_PinePhone_(pine64-pinephone)#Serial_console |
108 | 35 | dl lud | |
109 | fn11. From #replicant channel on Freenode: <pre> |
||
110 | 27 | Denis 'GNUtoo' Carikli | 01:48 <adjtm> GNUtoo, lukasz confirmed me that the lcd doesn't require proprietary firmware to be uploaded |
111 | 01:49 <adjtm> the conversation between pine64 staff about the lcd that someone posted on irc was probably before deciding in |
||
112 | 1 | Denis 'GNUtoo' Carikli | the last lcd</pre> |
113 | |||
114 | 28 | dl lud | fn12. PINE64 December 2019 Update: https://www.pine64.org/2019/12/05/december-update-thank-you-for-2019/ |
115 | 1 | Denis 'GNUtoo' Carikli | |
116 | fn13. From Xalius on "PINE64 IRC":https://forum.pine64.org/showthread.php?tid=892. Details at: https://linux-sunxi.org/AXP803 |
||
117 | 29 | dl lud | |
118 | 1 | Denis 'GNUtoo' Carikli | fn14. From Xalius. |
119 | 36 | dl lud | |
120 | fn15. https://linux-sunxi.org/AR100 |
||
121 | |||
122 | fn16. https://github.com/crust-firmware/crust |
||
123 | |||
124 | 39 | dl lud | fn17. From Xalius. |
125 | |||
126 | 40 | dl lud | fn18. PinePhone Misconceptions: https://www.pine64.org/2020/01/24/setting-the-record-straight-pinephone-misconceptions/ |
127 | 1 | Denis 'GNUtoo' Carikli | |
128 | fn19. PinePhone at PINE64 wiki: https://wiki.pine64.org/index.php/PinePhone#Killswitch_configuration |
||
129 | 47 | Denis 'GNUtoo' Carikli | |
130 | fn20. According to Pavel Machek, "there is no RING indication on the AT side":https://pavelmachek.livejournal.com/143504.html ("archive":https://web.archive.org/web/20210913155020/https://pavelmachek.livejournal.com/143504.html) so we might be required to use QMI. QMI is probably a better long term solution anyway. |