https://linux-sunxi.org/api.php?action=feedcontributions&user=StandaSK&feedformat=atom
linux-sunxi.org - User contributions [en]
2024-03-29T10:16:33Z
User contributions
MediaWiki 1.35.8
https://linux-sunxi.org/index.php?title=Linux_mainlining_effort&diff=24464
Linux mainlining effort
2021-10-21T18:02:17Z
<p>StandaSK: Add 5.15, 5.16 sections</p>
<hr />
<div>The purpose of this page is to try and define sub-goals and milestones for the mainlining effort, containing goals and sub-goals with milestones for adding Allwinner support in the upstream mainline Linux Kernel.<br />
<br />
=Overview=<br />
The idea is to submit the code needed to run the Linux kernel on Allwinner SoCs upstream, ie. to the official Linux kernel.<br />
<br />
This can be achieved by following the concept outlined in the ''Your new ARM SoC Linux support check-list!'' article published by Thomas Petazzoni from Bootlin.<ref>http://www.elinux.org/images/a/ad/Arm-soc-checklist.pdf</ref><ref>[http://www.cnx-software.com/2013/01/16/your-new-arm-soc-linux-support-check-list-elce-2012/ Your New ARM SoC Linux Support Check-List – ELCE 2012]</ref><br />
<br />
Where relevant, I have attempted to include who is currently working on an item, mostly separate from any particular mainlining goal.<br />
<br />
=Status=<br />
<br />
The [[Mainline_Kernel_Howto|Mainline Kernel howto]] contains the currently used repositories for the mainlining process. The U-Boot repository and toolchain is described in the [[Mainline U-Boot|Mainline U-Boot howto]].<br />
<br />
The [[:Category:Mainline_Kernel | Mainline Kernel category ]] gives an overview of currently supported devices.<br />
<br />
== Status Matrix ==<br />
<br />
The goal of this matrix is to give an easy view of work on each SoC worked on by linux-sunxi.<br />
<br />
{| class="wikitable" style="text-align: center; width: 100%;"<br />
|-<br />
! style="width: 13%; text-align: left;" colspan="2" | Model<br />
! [[F1C100s|F1C-<br>100s]]<br />
! [[A10]]<br />
! [[A10s]]<br />
! [[A13]]<br>[[R8]]<br />
! [[A20]]<br>[[T2]]<br />
! [[A23]]<br />
! [[A31]]<br />
! [[A33]]<br>[[R16]]<br />
! [[A64]]<br />
! [[A80]]<br />
! [[A83T]]<br />
! [[A100]]<br />
! [[GR8]]<br />
! [[H3]]<br />
! [[H5]]<br />
! [[H6]]<br />
! [[H616]]<br />
! [[R40]]<br>[[T3]]<br />
! [[V3]]|[[V3s]]<br>[[S3]]|[[S3L]]<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | AC97<br />
| N/A<br />
| style="background: red;" | NO<br />
| N/A<br />
| N/A<br />
| style="background: red;" | NO<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| style="background: grey; color: white;" | ?<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| style="background: red;" | NO<br />
| N/A<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | [[Audio Codec]]<br />
| style="background: red;" | NO<br />
| style="background: lightgreen;" | 4.4<br />
| style="background: lightgreen;" | 4.4<br />
| style="background: lightgreen;" | 4.4<br />
| style="background: lightgreen;" | 4.4<br />
| style="background: lightgreen;" | 4.10<br />
| style="background: lightgreen;" | 4.10<br />
| style="background: lightgreen;" | 4.11<br />
| style="background: lightgreen;" | 5.0<br />
| N/A<br />
| N/A<br />
| style="background: grey; color: white;" | ?<br />
| style="background: lightgreen;" | 4.9<br />
| style="background: lightgreen;" | 4.10<br />
| style="background: lightgreen;" | 4.12<br />
| style="background: red;" | NO<br />
| style="background: grey; color: white;" | ?<br />
| style="background: red;" | NO<br />
| style="background: lightgreen;" | 4.13<br />
<br />
|-<br />
| style="text-align: left;" rowspan="3" | ADC<br />
| style="text-align: left;" | GPADC<br />
| style="background: red;" | NO<br />
| style="background: lightgreen;" | 4.12<br />
| style="background: lightgreen;" | 4.12<br />
| style="background: lightgreen;" | 4.12<br />
| style="background: lightgreen;" | 4.12<br />
| N/A<br />
| style="background: orange;" | [[Linux mainlining effort#Minor_drivers|WIP]]<br />
| N/A<br />
| N/A<br />
| style="background: red;" | NO<br />
| N/A<br />
| style="background: grey; color: white;" | ?<br />
| style="background: lightgreen;" | 4.12<br />
| N/A<br />
| N/A<br />
| N/A<br />
| style="background: grey; color: white;" | ?<br />
| style="background: red;" | NO<br />
| N/A<br />
<br />
|-<br />
| style="text-align: left;" | Thermal<br />
| style="background: red;" | NO<br />
| style="background: lightgreen;" | 3.16<br />
| style="background: lightgreen;" | 3.14<br />
| style="background: lightgreen;" | 3.14<br />
| style="background: lightgreen;" | 3.16<br />
| style="background: darkgreen;" | ?<br />
| style="background: orange;" | [[Linux_mainlining_effort#Minor_drivers|WIP]]<br />
| style="background: lightgreen;" | 4.12<br />
| style="background: lightgreen;" | 5.6<br />
| style="background: orange;" | [[Linux_mainlining_effort#Minor_drivers|WIP]]<br />
| style="background: lightgreen;" | 5.6<br />
| style="background: lightgreen;" | 5.10<br />
| style="background: lightgreen;" | 4.9<br />
| style="background: lightgreen;" | 5.6<br />
| style="background: lightgreen;" | 5.6<br />
| style="background: lightgreen;" | 5.6<br />
| style="background: grey; color: white;" | ?<br />
| style="background: lightgreen;" | 5.7<br />
| N/A<br />
<br />
|-<br />
| style="text-align: left;" | Touch<br />
| style="background: red;" | NO<br />
| style="background: lightgreen;" | 3.16<br />
| style="background: lightgreen;" | 3.14<br />
| style="background: lightgreen;" | 3.14<br />
| style="background: lightgreen;" | 3.16<br />
| N/A<br />
| style="background: lightgreen;" | 4.0<br />
| N/A<br />
| N/A<br />
| style="background: red;" | NO<br />
| N/A<br />
| style="background: grey; color: white;" | ?<br />
| style="background: lightgreen;" | 4.9<br />
| N/A<br />
| N/A<br />
| N/A<br />
| style="background: grey; color: white;" | ?<br />
| style="background: red;" | NO<br />
| N/A<br />
<br />
|-<br />
| rowspan="4" style="text-align: left;" | [[CSI|Camera]]<br />
<br />
| style="text-align: left;" | BT656<br />
| style="background: red;" | NO<br />
| style="background: lightgreen;" | 5.6<br />
| style="background: darkgreen;" | ?<br />
| style="background: darkgreen;" | ?<br />
| style="background: lightgreen;" | 5.4<br />
| style="background: darkgreen;" | ?<br />
| style="background: lightgreen;" | 5.0<br />
| style="background: darkgreen;" | ?<br />
| style="background: lightgreen;" | 5.1<br />
| style="background: darkgreen;" | ?<br />
| style="background: lightgreen;" | 5.3<br />
| style="background: grey; color: white;" | ?<br />
| style="background: darkgreen;" | ?<br />
| style="background: lightgreen;" | 5.0<br />
| style="background: lightgreen;" | 5.0<br />
| style="background: darkgreen;" | ?<br />
| style="background: grey; color: white;" | ?<br />
| style="background: lightgreen;" | 5.6<br />
| style="background: lightgreen;" | 5.0<br />
<br />
|-<br />
| style="text-align: left;" | ISP<br />
| N/A<br />
| style="background: red;" | NO<br />
| N/A<br />
| N/A<br />
| style="background: red;" | NO<br />
| N/A<br />
| style="background: red;" | NO<br />
| N/A<br />
| N/A<br />
| style="background: red;" | NO<br />
| style="background: red;" | NO<br />
| style="background: grey; color: white;" | ?<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| style="background: grey; color: white;" | ?<br />
| N/A<br />
| style="background: orange;" | [[Linux_mainlining_effort#Major_drivers|WIP]]<br />
<br />
|-<br />
| style="text-align: left;" | MIPI CSI-2<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| style="background: orange;" | [[Linux_mainlining_effort#Major_drivers|WIP]]<br />
| N/A<br />
| N/A<br />
| style="background: red;" | NO<br />
| style="background: orange;" | [[Linux_mainlining_effort#Major_drivers|WIP]]<br />
| style="background: grey; color: white;" | ?<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| style="background: grey; color: white;" | ?<br />
| N/A<br />
| style="background: orange;" | [[Linux_mainlining_effort#Major_drivers|WIP]]<br />
<br />
|-<br />
| style="text-align: left;" | Parallel<br />
| style="background: red;" | NO<br />
| style="background: lightgreen;" | 5.6<br />
| style="background: darkgreen;" | ?<br />
| style="background: darkgreen;" | ?<br />
| style="background: lightgreen;" | 5.4<br />
| style="background: darkgreen;" | ?<br />
| style="background: lightgreen;" | 5.0<br />
| style="background: darkgreen;" | ?<br />
| style="background: lightgreen;" | 5.1<br />
| style="background: darkgreen;" | ?<br />
| style="background: lightgreen;" | 5.3<br />
| style="background: grey; color: white;" | ?<br />
| style="background: darkgreen;" | ?<br />
| style="background: lightgreen;" | 5.0<br />
| style="background: lightgreen;" | 5.0<br />
| style="background: darkgreen;" | ?<br />
| style="background: grey; color: white;" | ?<br />
| style="background: lightgreen;" | 5.6<br />
| style="background: lightgreen;" | 5.0<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | Clocks<br />
| style="background: lightgreen;" | 5.0<br />
| style="background: lightgreen;" | 3.10<br />
| style="background: lightgreen;" | 3.11<br />
| style="background: lightgreen;" | 3.10<br />
| style="background: lightgreen;" | 3.12<br />
| style="background: lightgreen;" | 3.17<br />
| style="background: lightgreen;" | 3.12<br />
| style="background: lightgreen;" | 4.2<br />
| style="background: lightgreen;" | 4.10<br />
| style="background: lightgreen;" | 3.19<br />
| style="background: lightgreen;" | 4.13<br />
| style="background: lightgreen;" | 5.10<br />
| style="background: lightgreen;" | 4.9<br />
| style="background: lightgreen;" | 4.8<br />
| style="background: lightgreen;" | 4.12<br />
| style="background: lightgreen;" | 4.17<br />
| style="background: lightgreen;" | 5.12<br />
| style="background: lightgreen;" | 4.14<br />
| style="background: lightgreen;" | 4.11<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | CPUFreq (DVFS)<br />
| style="background: red;" | NO<br />
| style="background: lightgreen;" | 4.0<br />
| style="background: lightgreen;" | 4.0<br />
| style="background: lightgreen;" | 4.0<br />
| style="background: lightgreen;" | 4.0<br />
| style="background: red;" | NO<br />
| style="background: lightgreen;" | 4.2<br />
| style="background: lightgreen;" | 4.11<br />
| style="background: lightgreen;" | 5.6<br />
| style="background: red;" | NO<br />
| style="background: lightgreen;" | 4.17<br />
| style="background: orange;" | [[Linux_mainlining_effort#Minor_drivers|WIP]]<br />
| style="background: red;" | NO<br />
| style="background: lightgreen;" | 4.18<br />
| style="background: lightgreen;" | 5.9<br />
| style="background: lightgreen;" | 5.8<br />
| style="background: grey; color: white;" | ?<br />
| style="background: red;" | NO<br />
| style="background: red;" | NO<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | [[Cryptographic_Hardware_Accelerators|Crypto]]<br />
| N/A<br />
| style="background: lightgreen;" | 4.3<br />
| style="background: lightgreen;" | 4.13<br />
| style="background: lightgreen;" | 4.13<br />
| style="background: lightgreen;" | 4.3<br />
| style="background: darkgreen;" | ?<br />
| style="background: lightgreen;" | 4.3<br />
| style="background: lightgreen;" | 4.3<br />
| style="background: lightgreen;" | 5.5<br />
| style="background: lightgreen;" | 5.5<br />
| style="background: lightgreen;" | 5.5<br />
| style="background: grey; color: white;" | ?<br />
| style="background: lightgreen;" | 4.13<br />
| style="background: lightgreen;" | 5.5<br />
| style="background: lightgreen;" | 5.5<br />
| style="background: lightgreen;" | 5.5<br />
| style="background: grey; color: white;" | ?<br />
| style="background: lightgreen;" | 5.5<br />
| style="background: lightgreen;" | 5.10<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | Display (SimpleFB)<br />
| style="background: red;" | NO<br />
| style="background: lightgreen;" | 3.19<br />
| style="background: lightgreen;" | 3.19<br />
| style="background: lightgreen;" | 4.0<br />
| style="background: lightgreen;" | 3.19<br />
| style="background: lightgreen;" | 3.19<br />
| style="background: lightgreen;" | 3.19<br />
| style="background: lightgreen;" | 3.19<br />
| style="background: lightgreen;" | 4.17<br />
| style="background: red;" | NO<br />
| style="background: red;" | NO<br />
| style="background: grey; color: white;" | ?<br />
| style="background: lightgreen;" | 4.9<br />
| style="background: lightgreen" | 4.16<br />
| style="background: lightgreen" | 4.16<br />
| style="background: red;" | NO<br />
| style="background: grey; color: white;" | ?<br />
| style="background: red;" | NO<br />
| style="background: lightgreen;" | 5.10<br />
<br />
|-<br />
| rowspan="8" style="text-align: left;" | Display<br />
([https://dri.freedesktop.org/wiki/DRM/ DRM])<br />
<br />
| style="text-align: left;" | CVBS<br />
| style="background: red;" | NO<br />
| style="background: darkgreen;" | ?<br />
| style="background: lightgreen;" | 4.9 ?<br />
| style="background: lightgreen;" | 4.7<br />
| style="background: darkgreen;" | ?<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| style="background: grey; color: white;" | ?<br />
| style="background: lightgreen;" | 4.9<br />
| style="background: orange;" | [[Linux_mainlining_effort#Minor_drivers|WIP]]<br />
| style="background: orange;" | [[Linux_mainlining_effort#Minor_drivers|WIP]]<br />
| style="background: red;" | NO<br />
| style="background: grey; color: white;" | ?<br />
| style="background: red;" | NO<br />
| N/A<br />
<br />
|-<br />
| style="text-align: left;" | HDMI Audio<br />
| N/A<br />
| style="background: orange;" | [[Linux_mainlining_effort#Minor_drivers|WIP]]<br />
| style="background: red;" | NO<br />
| N/A<br />
| style="background: orange;" | [[Linux_mainlining_effort#Minor_drivers|WIP]]<br />
| N/A<br />
| style="background: orange;" | [[Linux_mainlining_effort#Minor_drivers|WIP]]<br />
| N/A<br />
| style="background: orange;" | [[Linux_mainlining_effort#Major_drivers|WIP]]<br />
| style="background: red;" | NO<br />
| style="background: red;" | NO<br />
| style="background: grey; color: white;" | ?<br />
| N/A<br />
| style="background: orange;" | [[Linux_mainlining_effort#Major_drivers|WIP]]<br />
| style="background: orange;" | [[Linux_mainlining_effort#Major_drivers|WIP]]<br />
| style="background: orange;" | [[Linux_mainlining_effort#Major_drivers|WIP]]<br />
| style="background: grey; color: white;" | ?<br />
| style="background: red;" | NO<br />
| N/A<br />
<br />
|-<br />
| style="text-align: left;" | HDMI CEC<br />
| N/A<br />
| style="background: lightgreen;" | 4.15<br />
| style="background: lightgreen;" | 4.14<br />
| N/A<br />
| style="background: lightgreen;" | 4.15<br />
| N/A<br />
| style="background: lightgreen;" | 4.15<br />
| N/A<br />
| style="background: lightgreen;" | 4.20<br />
| style="background: red;" | NO<br />
| style="background: lightgreen;" | 4.17<br />
| style="background: grey; color: white;" | ?<br />
| N/A<br />
| style="background: lightgreen;" | 4.17<br />
| style="background: lightgreen;" | 4.17<br />
| style="background: lightgreen;" | 5.2<br />
| style="background: grey; color: white;" | ?<br />
| style="background: lightgreen;" | 4.19<br />
| N/A<br />
<br />
|-<br />
| style="text-align: left;" | HDMI Video<br />
| N/A<br />
| style="background: lightgreen;" | 4.15<br />
| style="background: lightgreen;" | 4.13<br />
| N/A<br />
| style="background: lightgreen;" | 4.15<br />
| N/A<br />
| style="background: lightgreen;" | 4.15<br />
| N/A<br />
| style="background: lightgreen;" | 4.20<br />
| style="background: red;" | NO<br />
| style="background: lightgreen;" | 4.17<br />
| style="background: grey; color: white;" | ?<br />
| N/A<br />
| style="background: lightgreen;" | 4.17<br />
| style="background: lightgreen;" | 4.17<br />
| style="background: lightgreen;" | 5.0<br />
| style="background: grey; color: white;" | ?<br />
| style="background: lightgreen;" | 4.19<br />
| N/A<br />
<br />
|-<br />
| style="text-align: left;" | LVDS<br />
| N/A<br />
| style="background: darkgreen;" | ?<br />
| N/A<br />
| N/A<br />
| style="background: lightgreen;" | 5.7<br />
| style="background: darkgreen;" | ?<br />
| style="background: darkgreen;" | ?<br />
| style="background: darkgreen;" | ?<br />
| style="background: darkgreen;" | ?<br />
| style="background: darkgreen;" | ?<br />
| style="background: lightgreen;" | 4.16<br />
| style="background: grey; color: white;" | ?<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| style="background: darkgreen;" | ?<br />
| N/A<br />
<br />
|-<br />
| style="text-align: left;" | MIPI DSI<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| style="background: darkgreen;" | ?<br />
| style="background: red;" | NO<br />
| style="background: lightgreen;" | 4.18<br />
| style="background: lightgreen;" | 5.6<br />
| style="background: red;" | NO<br />
| style="background: red;" | NO<br />
| style="background: grey; color: white;" | ?<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| style="background: orange;" | [[Linux_mainlining_effort#Major_drivers|WIP]]<br />
| N/A<br />
<br />
|-<br />
| style="text-align: left;" | RGB<br />
| style="background: red;" | NO<br />
| style="background: lightgreen;" | 4.15<br />
| style="background: darkgreen;" | ?<br />
| style="background: lightgreen;" | 4.7<br />
| style="background: lightgreen;" | 4.15<br />
| style="background: lightgreen;" | 5.1<br />
| style="background: lightgreen;" | 4.10<br />
| style="background: lightgreen;" | 4.9<br />
| style="background: lightgreen;" | 5.3<br />
| style="background: lightgreen;" | 4.17<br />
| style="background: lightgreen;" | 4.16<br />
| style="background: grey; color: white;" | ?<br />
| style="background: lightgreen;" | 4.9<br />
| N/A<br />
| N/A<br />
| style="background: red;" | NO<br />
| N/A<br />
| style="background: red;" | NO<br />
| style="background: lightgreen;" | 4.13<br />
<br />
|-<br />
| style="text-align: left;" | VGA<br />
| N/A<br />
| style="background: red;" | NO<br />
| N/A<br />
| N/A<br />
| style="background: red;" | NO<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| style="background: grey; color: white;" | ?<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| style="background: red;" | NO<br />
| N/A<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | DMA<br />
| style="background: red;" | NO<br />
| style="background: lightgreen;" | 4.3<br />
| style="background: lightgreen;" | 4.3<br />
| style="background: lightgreen;" | 4.3<br />
| style="background: lightgreen;" | 4.3<br />
| style="background: lightgreen;" | 3.18<br />
| style="background: lightgreen;" | 3.17<br />
| style="background: lightgreen;" | 4.2<br />
| style="background: lightgreen;" | 4.15<br />
| style="background: darkgreen;" | ?<br />
| style="background: lightgreen;" | 4.9<br />
| style="background: orange;" | [[Linux_mainlining_effort#Major_drivers|WIP]]<br />
| style="background: lightgreen;" | 4.9<br />
| style="background: lightgreen;" | 4.2<br />
| style="background: lightgreen;" | 4.12<br />
| style="background: lightgreen;" | 5.3<br />
| style="background: grey; color: white;" | ?<br />
| style="background: lightgreen;" | 5.10<br />
| style="background: lightgreen;" | 4.13<br />
<br />
|-<br />
| style="text-align: left;" rowspan="2" | [[Ethernet]]<br />
| style="text-align: left;" | [[Ethernet#EMAC|EMAC]]<br />
| rowspan="2"| N/A<br />
| style="background: lightgreen;" | 3.11<br />
| style="background: lightgreen;" | 3.11<br />
| rowspan="2"| N/A<br />
| style="background: lightgreen;" | 3.11 <br />
| rowspan="2"| N/A<br />
| N/A<br />
| rowspan="2"| N/A<br />
| style="background: lightgreen;" rowspan="2" | 4.15<br />
| style="background: lightgreen;" rowspan="2" | 5.1<br />
| style="background: lightgreen;" rowspan="2" | 4.16<br />
| style="background: grey; color: white;" | ?<br />
| rowspan="2"| N/A<br />
| style="background: lightgreen;" rowspan="2" | 4.15<br />
| style="background: lightgreen;" rowspan="2" | 4.15<br />
| style="background: lightgreen;" rowspan="2" | 5.0<br />
| style="background: orange;" rowspan="2" | WIP<br />
| style="background: lightgreen;" rowspan="2" | 4.18<br />
| style="background: lightgreen;" rowspan="2" | 4.13<br />
<br />
|-<br />
| style="text-align: left;" | [[Ethernet#GMAC|GMAC]]<br />
<br />
| N/A<br />
| N/A<br />
| style="background: lightgreen;" | 3.15<br />
| style="background: lightgreen;" | 3.17<br />
| style="background: grey; color: white;" | ?<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | EMCE<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| style="background: orange;" | [[Linux_mainlining_effort#Major_drivers|WIP]]<br />
| style="background: grey; color: white;" | ?<br />
| N/A<br />
| N/A<br />
<br />
|-<br />
| style="text-align: left;" rowspan="2" | GPU(3D)<br />
| style="text-align: left;" | [[Mali]]<br />
| N/A<br />
| style="background: lightgreen;" | 5.2<br />
| style="background: grey; color: white;" | ?<br />
| style="background: grey; color: white;" | ?<br />
| style="background: lightgreen;" | 5.2<br />
| style="background: grey; color: white;" | ?<br />
| N/A<br />
| style="background: grey; color: white;" | ?<br />
| style="background: lightgreen;" | 5.2<br />
| N/A<br />
| N/A<br />
| N/A<br />
| style="background: grey; color: white;" | ?<br />
| style="background: lightgreen;" | 5.2<br />
| style="background: lightgreen;" | 5.2<br />
| style="background: lightgreen;" | 5.5<br />
| style="background: grey; color: white;" | ?<br />
| style="background: lightgreen;" | 5.10<br />
| N/A<br />
<br />
|-<br />
| style="text-align: left;" | [[PowerVR]]<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| style="background: red;" | NO<br />
| N/A<br />
| N/A<br />
| style="background: red;" | NO<br />
| style="background: red;" | NO<br />
| style="background: red;" | NO<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | HW Spinlocks<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| style="background: orange;" | [[Linux mainlining effort#Minor_drivers|WIP]]<br />
| style="background: red;" | NO<br />
| style="background: orange;" | [[Linux mainlining effort#Minor_drivers|WIP]]<br />
| style="background: grey; color: white;" | ?<br />
| N/A<br />
| style="background: orange;" | [[Linux mainlining effort#Minor_drivers|WIP]]<br />
| style="background: red;" | NO<br />
| style="background: red;" | NO<br />
| style="background: grey; color: white;" | ?<br />
| N/A<br />
| N/A<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | [[I2C]]<br />
| style="background: darkgreen;" | ?<br />
| style="background: lightgreen;" | 3.11<br />
| style="background: lightgreen;" | 3.12<br />
| style="background: lightgreen;" | 3.11<br />
| style="background: lightgreen;" | 3.13<br />
| style="background: lightgreen;" | 3.18<br />
| style="background: lightgreen;" | 3.15<br />
| style="background: lightgreen;" | 4.2<br />
| style="background: lightgreen;" | 4.10<br />
| style="background: lightgreen;" | 3.19<br />
| style="background: lightgreen;" | 4.16<br />
| style="background: lightgreen;" | 5.10<br />
| style="background: lightgreen;" | 4.9<br />
| style="background: lightgreen;" | 4.9<br />
| style="background: lightgreen;" | 4.12<br />
| style="background: lightgreen;" | 4.19<br />
| style="background: darkgreen; color: white;" | ?<br />
| style="background: lightgreen;" | 4.15<br />
| style="background: lightgreen;" | 4.11<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | I2S<br />
| style="background: red;" | NO<br />
| style="background: lightgreen;" | 4.8<br />
| style="background: darkgreen;" | ?<br />
| N/A<br />
| style="background: lightgreen;" | 4.8<br />
| style="background: darkgreen;" | ?<br />
| style="background: lightgreen;" | 4.13<br />
| style="background: lightgreen;" | 4.11<br />
| style="background: lightgreen;" | 4.17<br />
| style="background: red;" | NO<br />
| style="background: lightgreen;" | 4.16<br />
| style="background: grey; color: white;" | ?<br />
| style="background: lightgreen;" | 4.9<br />
| style="background: lightgreen;" | 4.14<br />
| style="background: red;" | NO<br />
| style="background: lightgreen;" | 5.11<br />
| style="background: grey; color: white;" | ?<br />
| style="background: red;" | NO<br />
| style="background: orange;" | [[Linux mainlining effort#Minor_drivers|WIP]]<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | IOMMU<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| style="background: grey; color: white;" | ?<br />
| N/A<br />
| N/A<br />
| N/A<br />
| style="background: lightgreen;" | 5.8<br />
| style="background: grey; color: white;" | ?<br />
| N/A<br />
| N/A<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | [[IR]]<br />
| style="background: red" | NO<br />
| style="background: lightgreen;" | 3.17<br />
| style="background: lightgreen;" | 4.0<br />
| style="background: lightgreen;" | 4.0<br />
| style="background: lightgreen;" | 3.17<br />
| N/A<br />
| style="background: lightgreen;" | 4.0<br />
| N/A<br />
| style="background: lightgreen;" | 5.4<br />
| style="background: lightgreen;" | 4.5<br />
| style="background: lightgreen;" | 4.20<br />
| style="background: grey; color: white;" | ?<br />
| style="background: lightgreen;" | 4.9<br />
| style="background: lightgreen;" | 4.6<br />
| style="background: lightgreen;" | 4.12<br />
| style="background: lightgreen;" | 5.4<br />
| style="background: darkgreen; color: white;" | ?<br />
| style="background: lightgreen;" | 5.10<br />
| N/A<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | Keypad<br />
| N/A<br />
| style="background: orange;" | WIP<br />
| N/A<br />
| N/A<br />
| style="background: orange;" | WIP<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| style="background: grey; color: white;" | ?<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| style="background: grey; color: white;" | ?<br />
| style="background: red;" | NO<br />
| N/A<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | LRADC<br />
| style="background: darkgreen;" | ?<br />
| style="background: lightgreen;" | 4.0<br />
| style="background: lightgreen;" | 4.0<br />
| style="background: lightgreen;" | 4.0<br />
| style="background: lightgreen;" | 4.0<br />
| style="background: lightgreen;" | 4.0<br />
| style="background: lightgreen;" | 4.0<br />
| style="background: lightgreen;" | 4.2<br />
| style="background: lightgreen;" | 5.3<br />
| style="background: darkgreen;" | ?<br />
| style="background: lightgreen;" | 5.2<br />
| style="background: grey; color: white;" | ?<br />
| style="background: lightgreen;" | 4.9<br />
| style="background: darkgreen;" | ?<br />
| style="background: darkgreen;" | ?<br />
| N/A<br />
| style="background: grey; color: white;" | ?<br />
| style="background: darkgreen;" | ?<br />
| style="background: lightgreen;" | 4.13<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | MsgBox<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| style="background: darkgreen;" | ?<br />
| style="background: darkgreen;" | ?<br />
| style="background: darkgreen;" | ?<br />
| style="background: lightgreen;" | 5.8<br />
| style="background: darkgreen;" | ?<br />
| style="background: lightgreen;" | 5.8<br />
| style="background: grey; color: white;" | ?<br />
| N/A<br />
| style="background: lightgreen;" | 5.8<br />
| style="background: lightgreen;" | 5.8<br />
| style="background: lightgreen;" | 5.8<br />
| style="background: grey; color: white;" | ?<br />
| N/A<br />
| N/A<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | [[NAND]]<br />
| N/A<br />
| style="background: darkgreen;" | ?<br />
| style="background: darkgreen;" | ?<br />
| style="background: lightgreen;" | 4.12 <ref name="mlc">While the NAND controller itself is supported, the NAND technology found on the vast majority of boards isn't. See [[MTD_Driver#Challenges|this page]] </ref><br />
| style="background: darkgreen;" | ?<br />
| style="background: lightgreen;" | 4.9 <ref name="mlc"/><br />
| style="background: darkgreen;" | ?<br />
| style="background: lightgreen;" | 4.9 <ref name="mlc" /><br />
| style="background: darkgreen;" | ?<br />
| style="background: darkgreen;" | ?<br />
| style="background: darkgreen;" | ?<br />
| style="background: grey; color: white;" | ?<br />
| style="background: lightgreen;" | 4.9 <ref name="mlc" /><br />
| style="background: darkgreen;" | ?<br />
| style="background: darkgreen;" | ?<br />
| style="background: red;" | NO<br />
| style="background: grey; color: white;" | ?<br />
| style="background: darkgreen;" | ?<br />
| N/A<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | PCIe<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| style="background: grey; color: white;" | ?<br />
| N/A<br />
| N/A<br />
| N/A<br />
| style="background: orange;" | [[Linux_mainlining_effort#Major_drivers|WIP]]<ref name="h6-pcie">Allwinner H6 has a quirky PCIe controller that doesn't map the PCIe address space properly to CPU,<br />
and accessing the PCIe config space, IO space or memory space needs to be wrapped. As Linux doesn't wrap PCIe memory space access, it's not possible to do a proper PCIe controller without using an hypervisor. The BSP kernel modifies the driver to wrap the access, so it's also not generic, and only devices with modified driver will work. https://forum.armbian.com/topic/13529-a-try-on-utilizing-h6-pcie-with-virtualization/</ref><br />
| N/A<br />
| N/A<br />
| N/A<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | Pinctrl<br />
| style="background: lightgreen;" | 5.0<br />
| style="background: lightgreen;" | 3.9<br />
| style="background: lightgreen;" | 3.9<br />
| style="background: lightgreen;" | 3.9<br />
| style="background: lightgreen;" | 3.12<br />
| style="background: lightgreen;" | 3.18<br />
| style="background: lightgreen;" | 3.12<br />
| style="background: lightgreen;" | 4.2<br />
| style="background: lightgreen;" | 4.6<br />
| style="background: lightgreen;" | 3.19<br />
| style="background: lightgreen;" | 4.4<br />
| style="background: lightgreen;" | 5.10<br />
| style="background: lightgreen;" | 4.9<br />
| style="background: lightgreen;" | 4.5<br />
| style="background: lightgreen;" | 4.12<br />
| style="background: lightgreen;" | 4.17<br />
| style="background: lightgreen;" | 5.12<br />
| style="background: lightgreen;" | 4.14<br />
| style="background: lightgreen;" | 4.11<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | [[PMU]]<br />
| style="background: grey; color: white;" | ?<br />
| style="background: grey; color: white;" | ?<br />
| style="background: grey; color: white;" | ?<br />
| style="background: grey; color: white;" | ?<br />
| style="background: grey; color: white;" | ?<br />
| style="background: grey; color: white;" | ?<br />
| style="background: grey; color: white;" | ?<br />
| style="background: grey; color: white;" | ?<br />
| style="background: lightgreen;" | 5.5<br />
| style="background: grey; color: white;" | ?<br />
| style="background: grey; color: white;" | ?<br />
| style="background: orange;" | [[Linux_mainlining_effort#Major_drivers|WIP]]<br />
| style="background: grey; color: white;" | ?<br />
| style="background: lightgreen;" | 5.6<br />
| style="background: lightgreen;" | 5.6<br />
| style="background: lightgreen;" | 5.6<br />
| style="background: darkgreen; color: white;" | ?<br />
| style="background: lightgreen;" | 5.6<br />
| style="background: grey; color: white;" | ?<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | [[PWM_Controller|PWM]]<br />
| style="background: red;" | NO<br />
| style="background: lightgreen;" | 4.0<br />
| style="background: lightgreen;" | 4.4<br />
| style="background: lightgreen;" | 4.4<br />
| style="background: lightgreen;" | 4.0<br />
| style="background: lightgreen;" | 4.4<br />
| style="background: red;" | NO<br />
| style="background: lightgreen;" | 4.4<br />
| style="background: lightgreen;" | 4.19<br />
| style="background: red;" | NO<br />
| style="background: lightgreen;" | 4.16<br />
| style="background: grey; color: white;" | ?<br />
| style="background: lightgreen;" | 4.9<br />
| style="background: lightgreen;" | 4.9<br />
| style="background: lightgreen;" | 4.12<br />
| style="background: lightgreen;" | 5.6<br />
| style="background: grey; color: white;" | ?<br />
| style="background: orange;" | [[Linux_mainlining_effort#Minor_drivers|WIP]]<br />
| style="background: lightgreen;" | 4.12<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | [[RSB]]<br />
| style="background: red;" | NO<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| style="background: lightgreen;" | 4.4<br />
| N/A<br />
| style="background: lightgreen;" | 4.4<br />
| style="background: lightgreen;" | 4.13<br />
| style="background: lightgreen;" | 4.3<br />
| style="background: lightgreen;" | 4.14<br />
| style="background: grey; color: white;" | ?<br />
| N/A<br />
| style="background: grey; color: white;" | ?<br />
| style="background: grey; color: white;" | ?<br />
| style="background: lightgreen;" | 5.12<br />
| style="background: darkgreen; color: white;" | ?<br />
| N/A<br />
| N/A<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | [[RTC]]<br />
| N/A<br />
| style="background: lightgreen;" | 3.14<br />
| N/A<br />
| N/A<br />
| style="background: lightgreen;" | 3.14<br />
| style="background: lightgreen;" | 3.18<br />
| style="background: lightgreen;" | 3.18<br />
| style="background: lightgreen;" | 4.2<br />
| style="background: lightgreen;" | 4.10<br />
| N/A<br />
| N/A<br />
| style="background: grey; color: white;" | ?<br />
| N/A<br />
| style="background: lightgreen;" | 4.5<br />
| style="background: lightgreen;" | 4.12<br />
| style="background: lightgreen;" | 5.4<br />
| style="background: orange;" | WIP<br />
| style="background: lightgreen;" | 5.0<br />
| style="background: lightgreen;" | 4.11<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | [[SATA]]<br />
| N/A<br />
| style="background: lightgreen;" | 3.15<br />
| N/A<br />
| N/A<br />
| style="background: lightgreen;" | 3.15<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| style="background: grey; color: white;" | ?<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| style="background: lightgreen;" | 4.20<br />
| N/A<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | SD/ [[eMMC|MMC]]<br />
| style="background: red;" | NO<br />
| style="background: lightgreen;" | 3.16<br />
| style="background: lightgreen;" | 3.16<br />
| style="background: lightgreen;" | 3.16<br />
| style="background: lightgreen;" | 3.16<br />
| style="background: lightgreen;" | 3.18<br />
| style="background: lightgreen;" | 3.16<br />
| style="background: lightgreen;" | 4.2<br />
| style="background: lightgreen;" | 4.11<br />
| style="background: lightgreen;" | 4.0<br />
| style="background: lightgreen;" | 4.14<br />
| style="background: lightgreen;" | 5.12<br />
| style="background: lightgreen;" | 4.9<br />
| style="background: lightgreen;" | 4.5<br />
| style="background: lightgreen;" | 4.12<br />
| style="background: lightgreen;" | 4.19<br />
| style="background: darkgreen; color: white;" | ?<br />
| style="background: lightgreen;" | 4.14<br />
| style="background: lightgreen;" | 4.11<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | SMP<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| style="background: lightgreen;" | PSCI<br />
| style="background: lightgreen;" | PSCI<br />
| style="background: lightgreen;" | PSCI<br />
| style="background: lightgreen;" | PSCI<br />
| style="background: lightgreen;" | PSCI<br />
| style="background: lightgreen;" | 4.17<br />
| style="background: lightgreen;" | 4.18<br />
| style="background: grey; color: white;" | ?<br />
| N/A<br />
| style="background: lightgreen;" | PSCI<br />
| style="background: lightgreen;" | PSCI<br />
| style="background: lightgreen" | PSCI<br />
| style="background: darkgreen; color: white;" | PSCI<br />
| style="background: lightgreen;" | PSCI<br />
| N/A<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | [[SPDIF]]<br />
| style="background: red;" | NO<br />
| style="background: lightgreen;" | 4.7<br />
| N/A<br />
| N/A<br />
| style="background: lightgreen;" | 4.7<br />
| N/A<br />
| style="background: lightgreen;" | 4.9<br />
| N/A<br />
| style="background: lightgreen;" | 4.17<br />
| style="background: darkgreen;" | ?<br />
| style="background: lightgreen;" | 4.13<br />
| style="background: grey; color: white;" | ?<br />
| style="background: lightgreen;" | 4.9<br />
| style="background: lightgreen;" | 4.11<br />
| style="background: lightgreen;" | 4.12<br />
| style="background: lightgreen;" | 5.4<br />
| style="background: grey; color: white;" | ?<br />
| style="background: darkgreen;" | ?<br />
| N/A<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | [[SPIdev|SPI]]<br />
| style="background: red;" | NO<br />
| style="background: lightgreen;" | 3.16<br />
| style="background: lightgreen;" | 3.15<br />
| style="background: lightgreen;" | 3.15<br />
| style="background: lightgreen;" | 3.15<br />
| style="background: darkgreen;" | ?<br />
| style="background: lightgreen;" | 3.15<br />
| style="background: darkgreen;" | ?<br />
| style="background: lightgreen;" | 4.15<br />
| style="background: darkgreen;" | ?<br />
| style="background: darkgreen;" | ?<br />
| style="background: grey; color: white;" | ?<br />
| style="background: lightgreen;" | 4.9<br />
| style="background: lightgreen;" | 4.10<br />
| style="background: lightgreen;" | 4.12<br />
| style="background: lightgreen;" | 5.7<br />
| style="background: darkgreen; color: white;" | ?<br />
| style="background: lightgreen;" | 5.6<br />
| style="background: lightgreen;" | 4.13<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | [[SRAM Controller|SRAM]]<br />
| style="background: lightgreen;" | 5.0<br />
| style="background: lightgreen;" | 4.2<br />
| style="background: lightgreen;" | 4.2<br />
| style="background: lightgreen;" | 4.2<br />
| style="background: lightgreen;" | 4.2<br />
| style="background: lightgreen;" | 4.19<br />
| style="background: red;" | NO<br />
| style="background: lightgreen;" | 4.19<br />
| style="background: lightgreen;" | 4.19<br />
| N/A<br />
| N/A<br />
| style="background: grey; color: white;" | ?<br />
| style="background: lightgreen;" | 4.2<br />
| style="background: lightgreen;" | 4.19<br />
| style="background: lightgreen;" | 5.0 <br />
| style="background: lightgreen;" | 5.1<br />
| style="background: grey; color: white;" | ? <br />
| style="background: lightgreen;" | 5.10<br />
| style="background: lightgreen;" | 5.10<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | [[USB]]<br />
| style="background: orange;" | [[Linux_mainlining_effort#Major_drivers|WIP]]<br />
| style="background: lightgreen;" | 3.15<br />
| style="background: lightgreen;" | 3.15<br />
| style="background: lightgreen;" | 3.15<br />
| style="background: lightgreen;" | 3.15<br />
| style="background: lightgreen;" | 4.3<br />
| style="background: lightgreen;" | 3.16<br />
| style="background: lightgreen;" | 4.3<br />
| style="background: lightgreen;" | 4.11<br />
| style="background: lightgreen;" | 4.2<br />
| style="background: lightgreen;" | 4.14<br />
| style="background: orange;" | [[Linux_mainlining_effort#Major_drivers|WIP]]<br />
| style="background: lightgreen;" | 4.9<br />
| style="background: lightgreen;" | 4.8<br />
| style="background: lightgreen;" | 4.12<br />
| style="background: lightgreen;" | 5.0<br />
| style="background: orange;" | WIP<br />
| style="background: lightgreen;" | 4.15<br />
| style="background: lightgreen;" | 4.11<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | [[USB_OTG_Controller_Register_guide#USB_OTG|USB OTG]]<br />
| style="background: orange;" | [[Linux_mainlining_effort#Major_drivers|WIP]]<br />
| style="background: lightgreen;" | 4.3<br />
| style="background: lightgreen;" | 4.3<br />
| style="background: lightgreen;" | 4.3<br />
| style="background: lightgreen;" | 4.3<br />
| style="background: lightgreen;" | 4.8<br />
| style="background: lightgreen;" | 4.3<br />
| style="background: lightgreen;" | 4.8<br />
| style="background: lightgreen;" | 4.11<br />
| style="background: red;" | NO<br />
| style="background: lightgreen;" | 5.2<br />
| style="background: orange;" | [[Linux_mainlining_effort#Major_drivers|WIP]]<br />
| style="background: lightgreen;" | 4.9<br />
| style="background: lightgreen;" | 4.12<br />
| style="background: lightgreen;" | 4.12<br />
| style="background: lightgreen;" | 5.0<br />
| style="background: grey; color: white;" | ?<br />
| style="background: red;" | NO<br />
| style="background: lightgreen;" | 4.11<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | USB3<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| style="background: red" | NO<br />
| N/A<br />
| style="background: grey; color: white;" | ?<br />
| N/A<br />
| N/A<br />
| N/A<br />
| style="background: lightgreen;" | 5.5<br />
| N/A<br />
| N/A<br />
| N/A<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | [[Video_Engine|VE]] | [[Sunxi-Cedrus]]<br />
| style="background: red;" | NO<br />
| style="background: lightgreen;" | 5.1<br />
| style="background: darkgreen;" | ?<br />
| style="background: lightgreen;" | 4.20<br />
| style="background: lightgreen;" | 4.20<br />
| style="background: darkgreen;" | ?<br />
| style="background: darkgreen;" | ?<br />
| style="background: lightgreen;" | 4.20<br />
| style="background: lightgreen;" | 5.0<br />
| style="background: red;" | NO<br />
| style="background: red;" | NO<br />
| style="background: grey; color: white;" | ?<br />
| style="background: darkgreen;" | ?<br />
| style="background: lightgreen;" | 4.20<br />
| style="background: lightgreen;" | 5.0<br />
| style="background: lightgreen;" | 5.2<br />
| style="background: grey; color: white;" | ? <br />
| style="background: lightgreen;" | 5.10<br />
| style="background: orange;" | [[Linux_mainlining_effort#Major_drivers|WIP]]<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | Watchdog<br />
| style="background: lightgreen;" | 5.0<br />
| style="background: lightgreen;" | 3.12<br />
| style="background: lightgreen;" | 3.12<br />
| style="background: lightgreen;" | 3.12<br />
| style="background: lightgreen;" | 3.12<br />
| style="background: lightgreen;" | 3.18<br />
| style="background: lightgreen;" | 3.18<br />
| style="background: lightgreen;" | 4.2<br />
| style="background: lightgreen;" | 4.17<br />
| style="background: lightgreen;" | 3.19<br />
| style="background: lightgreen;" | 4.6<br />
| style="background: orange;" | [[Linux_mainlining_effort#Major_drivers|WIP]]<br />
| style="background: lightgreen;" | 4.9<br />
| style="background: lightgreen;" | 4.5<br />
| style="background: lightgreen;" | 4.12<br />
| style="background: lightgreen;" | 5.3<br />
| style="background: darkgreen; color: white;" | ?<br />
| style="background: lightgreen;" | 4.15<br />
| style="background: lightgreen;" | 4.11<br />
<br />
|-<br />
! style="text-align: left;" colspan="2" | Model<br />
! [[F1C100s|F1C-<br>100s]]<br />
! [[A10]]<br />
! [[A10s]]<br />
! [[A13]]<br />
[[R8]]<br />
! [[A20]]<br>[[T2]]<br />
! [[A23]]<br />
! [[A31]]<br />
! [[A33]]<br />
[[R16]]<br />
! [[A64]]<br />
! [[A80]]<br />
! [[A83T]]<br />
| [[A100]]<br />
! [[GR8]]<br />
! [[H3]]<br />
! [[H5]]<br />
! [[H6]]<br />
! [[H616]]<br />
! [[R40]]<br />
[[T3]]<br />
! [[V3]]|[[V3s]]<br>[[S3]]|[[S3L]]<br />
<br />
|}<br />
<br />
<br />
{| class="wikitable" style="text-align: center;"<br />
|-<br />
! Legend<br />
|-<br />
| style="background: lightgreen;" | In Linux mainline since version x<br />
|-<br />
| style="background: darkgreen;" | Nobody works on it, but it should be compatible with already done drivers<br />
|-<br />
| style="background: orange;" | Somebody works on it<br />
|-<br />
| style="background: red;" | No support, nobody works on it<br />
|-<br />
| style="background: black; color: white;" | support impossible<br />
|-<br />
| style="background: grey; color: white;" | Status is unknown/to be completed<br />
|}<br />
<br />
== Work In Progress ==<br />
<br />
=== Core Stuff ===<br />
*[[V831]] / [[V833]] Clocks & Pinctrl / RTC / MMC / Watchdog / SPI - Icenowy Zheng [https://patchwork.kernel.org/project/linux-arm-kernel/cover/20201212040157.3639864-1-icenowy@aosc.io/ Support for Allwinner V831 SoC]<br />
<br />
*[[H616]] USB, RTC, PMIC, ... Andre Przywara [https://github.com/apritzel/linux/commits/h616-v6-WIP arm64: sunxi: Initial Allwinner H616 SoC support]<br />
<br />
*[[D1]] SoC and driver support - Samuel Holland: [https://github.com/smaeul/linux/commits/riscv/d1-wip development branch], [https://gist.github.com/smaeul/bf35d0e50ef08bbc8c3e71aec41dd723 boot log]<br />
<br />
*[[AR100]] firmware (WiP: Samuel Holland) [https://github.com/crust-firmware/crust ARISC firmware for sunxi SoCs ]<br />
<br />
* [[A13]] PSCI Suspend / Resume / CPUIdle (WiP: Antoine Tenart) [http://lists.denx.de/pipermail/u-boot/2016-September/265453.html patch-v1]<br />
<br />
=== Major drivers ===<br />
* [[A100]] DMA/PMU/Watchdog/USB2/USB OTG/MMC(eMMC, SD) Frank Lee [https://patchwork.kernel.org/project/linux-arm-kernel/cover/cover.1604988979.git.frank@allwinnertech.com/ Second step support for A100]<br />
<br />
* [[A83T]]/[[V3s]] MIPI CSI-2 Paul Kocialkowski [https://patchwork.kernel.org/project/linux-arm-kernel/list/?series=369649 Allwinner MIPI CSI-2 support for A31/V3s/A83T ]<br />
<br />
* [[V3s]] ISP (Image Signal Processor) Paul Kocialkowski [https://bootlin.com/blog/initial-allwinner-v3-isp-support-in-mainline-linux/ initial-allwinner-v3-isp-support-in-mainline-linux]<br />
<br />
* [[H6]] Hypervisor for PCIe [https://forum.armbian.com/topic/13529-a-try-on-utilizing-h6-pcie-with-virtualization/ A try on utilizing H6 PCIe with "Virtualization"]<br />
<br />
* [[A64]] / [[H3]] / [[H5]] / [[H6]] HDMI Audio - Clément Péron / Marcus Cooper / Jernej Škrabec [https://patchwork.kernel.org/cover/11510511/ Add Allwinner H3/H5/A64 HDMI audio]<br />
<br />
* [[R40]] MIPI-DSI WIP Jagan Teki [https://patchwork.kernel.org/cover/11314031/ drm/sun4i: Allwinner R40 MIPI-DSI support v3] <br />
<br />
* [[AC100]] Audio codec WiP Ondrej Jirman [https://megous.com/git/linux/commit/?h=orange-pi-5.5&id=170d38d650f67657600d4e0e868e0e7110b89ee1 digital part] [https://megous.com/git/linux/commit/?h=orange-pi-5.5&id=ee424255a6fb9280ac27c1953019b768ca973ca7 analog part]<br />
<br />
* [[F1C100s]] USB WIP George Hilliard [https://lore.kernel.org/patchwork/cover/1206936/ Support the Allwinner F1C100s USB stack]<br />
<br />
* [[V3s]] SRAM & Video Decoding Engine (Cedrus) WiP Martin Cerveny [https://patchwork.kernel.org/project/linux-arm-kernel/list/?series=347787 Enable video decoder] ([https://github.com/mcerveny/linux/commits/v3s_videocodec_v4 testing with attached LCD])<br />
* [[H6]] VP9 decoder (Hantro G2) WiP jernej [https://github.com/jernejsk/linux-1/commits/vp9 branch]<br />
<br />
=== Minor drivers ===<br />
<!-- Please move the newest entry to the top --><br />
* [[V3]] I2S Tobias Schramm [https://patchwork.kernel.org/project/linux-arm-kernel/list/?series=482161&archive=both&state=* Add missing peripherals to Allwinner V3s/V3 device trees]<br />
* [[H3]] / [[H5]] CVBS WIP Jernej Skrabec [https://github.com/LibreELEC/LibreELEC.tv/blob/master/projects/Allwinner/patches/linux/0036-wip-h3-h5-cvbs.patch Add H3/H5 TVE support]<br />
* [[A100]] CPUFreq (DVFS) Shuosheng Huang [https://patchwork.kernel.org/project/linux-arm-kernel/list/?series=396055&archive=both&state=* cpufreq: sun50i: add a100 cpufreq support]<br />
* [[A64]] hwspinlock WIP Nikolay Borisov [https://patchwork.kernel.org/cover/11373645/ Add support for hwspinlock on A64 SoC] <br />
* [[A83T]] / [[A64]] / [[H3]] hwspinlock WIP Corentin Labbe (montjoie) [https://lore.kernel.org/patchwork/patch/706512/ RFC,1/3][https://lore.kernel.org/patchwork/patch/706511/ RFC,2/3][https://lore.kernel.org/patchwork/patch/706513/ RFC,3/3]<br />
* [[A10]] / [[A20]] / [[A31]] HDMI Audio WIP Stefan Mavrodiev [https://lore.kernel.org/patchwork/cover/1177803/ Add support for sun4i HDMI audio]<br />
* [[A80]] Thermal sensor WIP Philipp Rossak (embed-3d): https://github.com/embed-3d/linux/branches/all<br />
* [[R40]] PWM (WIP Hao Zhang [https://www.spinics.net/lists/kernel/msg2731498.html patch-v2])<br />
* [[A20]] Keypad (WiP: Yassin Jaffer (ddc) [http://lists.infradead.org/pipermail/linux-arm-kernel/2015-September/370079.html patch])<br />
* sun8i-ce/sun8i-ss RSA/ECC WIP Corentin LABBE (no public patch yet)<br />
* EMCE WIP Corentin LABBE (no public patch yet) / Mripard https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux.git/log/?h=sunxi/h6-emmc-inline-encryption BUT proably not usable https://lore.kernel.org/linux-mmc/20210317171554.a4vgihqfjq2xa5cb@gilmour/<br />
<br />
=== Drivers that can still be improved/added ===<br />
<br />
Nobody works on these features. If you're interested, you can pick one of these add your name to them and move them to one of the sections above, to indicate you're working on the driver/feature.<br />
<br />
* [[A31]]/[[A31s]] PWM support ([https://patchwork.ozlabs.org/project/linux-pwm/list/?submitter=70938&state=*&archive=both patch-v4] abandoned by Siarhei Volkau)<br />
* sunxi-musb driver lacks DMA support (with current driver, USB gadgets are limited to PIO, limiting speed to 10MiB/s and causing large CPU)<br />
* DE2 driver has buggy layer support, see [https://patchwork.kernel.org/patch/11145803/]<br />
* DE1/DE2/DE3 writeback support<br />
* A64 audiocodec driver components (sun8i-codec and sun50i-codec-analog) lack support for jack detection<br />
<br />
== Planned for 5.16 ==<br />
<br />
== Merged into 5.15 ==<br />
<br />
== Merged into 5.14 ==<br />
*[[H616]]<br />
** PMIC - AXP305<br />
<br />
New Devices Supported<br />
* [[H616]]<br />
** [[Tanix TX6s]]<br />
** [[X96 Mate]]<br />
** [[Xunlong Orange Pi Zero2]]<br />
<br />
== Merged into 5.13 ==<br />
New Devices Supported<br />
* [[A10|A10]]<br />
** Topwise A721 Tablet<br />
<br />
== Merged into 5.12 ==<br />
*[[H616]]<br />
** Clocks<br />
** Pinctrl<br />
** MMC<br />
*[[H6]]<br />
** RSB<br />
*[[A100]]<br />
** MMC<br />
<br />
== Merged into 5.11 ==<br />
*[[H6]]<br />
** [[I2S]]<br />
* multiple SoCs<br />
** [[Cedrus]] VP8 decoding<br />
<br />
New Devices Supported<br />
*[[H3]]<br />
** [[FriendlyArm NanoPi R1]]<br />
** [[FriendlyArm ZeroPi]]<br />
*[[S3]]<br />
** [[Elimo Impetus]]<br />
** [[Elimo Initium]]<br />
<br />
== Merged into 5.10 (LTS) ==<br />
*[[A100]]<br />
** Clocks<br />
** Pinctrl<br />
** [[I2C]]<br />
** Thermal (THS)<br />
<br />
*[[R40]]<br />
** DMA<br />
** GPU [[Mali]]<br />
** [[IR]]<br />
** [[SRAM Controller|SRAM]]<br />
** [[Video_Engine]] | [[Sunxi-Cedrus]]<br />
<br />
*[[V3s]]<br />
** Crypto<br />
** Ethernet<br />
** SimpleFB<br />
** [[SRAM Controller|SRAM]]<br />
<br />
* sun8i-ce/sun8i-ss<br />
** support for PRNG<br />
** support for hashs<br />
** support for TRNG ([[H6]] only)<br />
<br />
New Devices Supported<br />
*[[A100]]<br />
** [[Perf1 board]]<br />
*[[S3l]]<br />
** [[PineCube]]<br />
<br />
== Merged into 5.9 ==<br />
* [[H5]]<br />
** DVFS<br />
<br />
New Devices Supported<br />
* A64<br />
** PinePhone v1.2<br />
<br />
== Merged into 5.8 ==<br />
* [[H6]]<br />
** DVFS<br />
** IOMMU<br />
<br />
* [[A64]] / [[A83T]] / [[H3]] / [[H5]] / [[H6]]<br />
** Message Box<br />
<br />
New Devices Supported<br />
* A20<br />
** [[Olimex_A20-OLinuXino-Lime|OLinuXino Lime (A20)]] eMMC<br />
<br />
== Merged into 5.7 ==<br />
*[[A20]]<br />
** LVDS<br />
<br />
*[[A83T]] and [[A64]]<br />
** Rotate driver<br />
<br />
*[[H6]]<br />
** [[SPIdev|SPI]]<br />
<br />
*[[R40]]<br />
** Thermal<br />
<br />
New Devices Supported<br />
*[[A13]]<br />
** [[PocketBook Touch Lux 3]]<br />
*[[A64]]<br />
** [[PineTab]]<br />
** [[PinePhone]] v1.0 & v1.1<br />
*[[A20]]<br />
** Linutronix Testbox v2<br />
<br />
== Merged into 5.6 ==<br />
* [[A10]]<br />
** CSI (BT656 and Parallel)<br />
<br />
*[[A64]]<br />
** MIPI DSI<br />
** DVFS<br />
<br />
*[[A64]] / [[A83T]] / [[H3]] / [[H5]] / [[H6]]<br />
** Thermal<br />
<br />
*[[H6]]<br />
** PWM<br />
<br />
*[[H3]] / [[H5]] / [[H6]] / [[R40]]<br />
**PMU<br />
<br />
*[[R40]]<br />
** CSI (BT656 and Parallel)<br />
** [[SPIdev|SPI]]<br />
<br />
New Devices Supported<br />
* [[H5]]<br />
** ALL-H3-IT H5 board<br />
** ALL-H5-CC H5 board<br />
* [[H6]]<br />
** [[PineH64]] Model B<br />
<br />
== Merged into 5.5 ==<br />
*[[H3]]<br />
** Deinterlace driver<br />
<br />
*[[H6]]<br />
**Crypto<br />
**GPU(3D) Mali<br />
**USB3 PHY (for boards not needing vbus switching)<br />
<br />
*[[A64]] / [[A80]] / [[A83T]] / [[H3]] / [[H5]] / [[R40]] <br />
**Crypto<br />
<br />
* multiple SoCs<br />
** [[Cedrus]] HEVC/H.265<br />
<br />
* [[Bluetooth#AMPAK|Broadcom-based (AMPAK modules) Bluetooth]] support on<br />
** Emlid Neutis<br />
<br />
New Devices Supported<br />
* [[H3]]<br />
** [[FriendlyARM_NanoPi_Duo2]]<br />
<br />
== Merged into 5.4 (LTS)==<br />
* [[A20]]<br />
** CSI (BT656 and Parallel)<br />
* [[A64]]<br />
** IR<br />
* [[H6]]<br />
** IR<br />
** RTC<br />
** SPDIF<br />
New Devices Supported<br />
* [[A64]]<br />
** [[Olimex A64-OLinuXino]] eMMC<br />
* [[H6]]<br />
** [[Tanix TX6]]<br />
* [[S3]]<br />
** [[Lichee Zero Plus]]<br />
<br />
== Merged into 5.3 ==<br />
* [[A64]]<br />
** LRADC<br />
** RGB LCD<br />
* [[A83T]]<br />
** CSI (BT656 and Parallel)<br />
* [[H6]]<br />
** DMA<br />
** Watchdog<br />
* multiple SoCs<br />
** [[Cedrus]] h264<br />
<br />
== Merged into 5.2 ==<br />
* [[A83T]]<br />
** LRADC<br />
** USB OTG<br />
<br />
* [[H6]]<br />
** [[Cedrus]]<br />
<br />
* multiple SoCs<br />
** [[Mali Open Source Driver|Lima]]<br />
** [[Mali Open Source Driver|Panfrost]]<br />
<br />
* [[Bluetooth#AMPAK|Broadcom-based (AMPAK modules) Bluetooth]] support on<br />
** Banana-Pi-M2-Zero<br />
<br />
New Devices Supported<br />
* [[H6]]<br />
** [[Beelink GS1]]<br />
** [[Xunlong Orange Pi 3]]<br />
<br />
== Merged into 5.1 ==<br />
* A10<br />
** Cedrus<br />
** PMU<br />
<br />
* A20<br />
** Audio Codec improvements<br />
<br />
* A23<br />
** Display pipeline<br />
** LCD enabled on Q8 A23 tablets<br />
<br />
* A64<br />
** [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c950ca8c35eeb32224a63adc47e12f9e226da241 ARM Architectural Timer errata workaround]<br />
** PMU<br />
** CSI (BT656 and Parallel)<br />
<br />
* A80<br />
** GMAC support<br />
<br />
* CSI in general<br />
** RGR565 support<br />
** JPEG pass-through support<br />
<br />
* [[Bluetooth#AMPAK|Broadcom-based (AMPAK modules) Bluetooth]] support on<br />
** [[Banana Pi M2+]]<br />
** [[Banana Pi M2 Ultra]]<br />
<br />
* [[LCD]] enabled on [[A13]] [[Q8]] tablets<br />
<br />
== Merged into 5.0 ==<br />
* A64<br />
** Cedrus<br />
** DTS changes for audio codec<br />
<br />
* F1C100s<br />
** initial F1C100s support<br />
<br />
* H6<br />
** Ethernet<br />
** DE3/HDMI support<br />
** USB 2.0<br />
<br />
* H3 / H5<br />
** CSI (BT656 and Parallel) Support<br />
<br />
* H5<br />
** Cedrus<br />
<br />
* R40<br />
** RTC<br />
<br />
* T3<br />
** initial T3 support<ref>https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b7badd1d7aa61087010803affa19bb83fb5a0af1</ref><br />
<br />
* V3s<br />
** CSI (BT656 and Parallel) Support<br />
<br />
* [[Bluetooth#AMPAK|Broadcom-based (AMPAK modules) Bluetooth]] support on<br />
** [[Sinovoip Banana Pi M2 Magic | Banana Pi M2 Magic]]<br />
** [[Banana Pi M3]]<br />
** [[Banana Pi M64]]<br />
** [[Cubietruck]]<br />
** [[Cubietech_Cubietruck_Plus|Cubietruck Plus]]<br />
<br />
New Devices Supported<br />
* [[Xunlong Orange Pi Lite 2]]<br />
* Mapleboard MP130<br />
* LicheePi Nano<br />
* Emlid Neutis N5<br />
<br />
== Merged into 4.20 ==<br />
<br />
* A13 / A20 / A33 / H3<br />
** Cedrus driver<br />
<br />
* A83T<br />
** IR receiver<br />
<br />
* A64<br />
** Cleanup for device tree files<br />
** HDMI support<br />
** Audio codec support (DTS changes will be merged in 5.0)<br />
<br />
* H3 / H5<br />
** SID<br />
<br />
* R40<br />
** SATA<br />
<br />
New Devices Supported<br />
* [[Pine64]] LTS<br />
* [[Xunlong Orange Pi One Plus]]<br />
* [[Xunlong Orange Pi Zero Plus 2]] (H3 variant)<br />
* [[Sinovoip Banana Pi M2+]] (H5 variant)<br />
<br />
== Merged into 4.19 (LTS)==<br />
<br />
* A10 / A13 / A20 / A23 / A33<br />
** SRAM controller / system control<br />
<br />
* A64<br />
** SRAM controller / system control<br />
** Display clocks and bus<br />
** RTC clock output<br />
** PWM<br />
** R_I2C<br />
<br />
* H3<br />
** SRAM controller / system control<br />
<br />
* H6<br />
** MMC<br />
** PMIC<br />
<br />
* R40<br />
** HDMI support<br />
<br />
Board Changes<br />
* SPI flash node for [[Orange Pi PC 2]] and [[Pine64#Variants | Pine64 SoPINE]]<br />
* Use lid switch as wake-up source for A64 based laptops<br />
* LEDs added for [[PineH64]]<br />
<br />
New Devices<br />
* [[Pine Pinebook]]<br />
* Amarula A64-Relic<br />
<br />
== Changes merged up to 4.18 ==<br />
Changes up to 4.18 can be found on [[Linux mainlining history]] page.<br />
<br />
=References=<br />
<references /><br />
<br />
= See also =<br />
* [[Mainline Kernel Howto]]<br />
* [[Possible setups for hacking on mainline]]<br />
* [[Linux Kernel]]<br />
**[[Toolchain]]<br />
<br />
=External Links=<br />
* [http://www.kernel.org kernel.org] - Official website for the Linux Kernel<br />
** [http://github.com/torvalds/linux http://github.com/torvalds/linux] - Linus Torvalds' GitHub account with the upstream Linux kernel<br />
* [http://www.kernel.org/doc/ Linux Kernel documentation index]<br />
* [http://www.kernel.org/doc/man-pages/ Linux Kernel man pages]<br />
* [http://kernelnewbies.org/ Kernel Newbies Site - Excellent source of information for people new to kernel]<br />
* [http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=summary Linus' kernel tree for 2.6]<br />
* [https://bugzilla.kernel.org/ Kernel bugzilla] - [https://bugzilla.kernel.org/show_bug.cgi?id=15790 Regressions for each of recent versions]<br />
* [http://www.fsfla.org/svnwiki/selibre/linux-libre/ Linux-libre project - Maintains and distributes fully free kernel]<br />
* [http://lingrok.org/ LinGrok, Linux kernel source code cross-reference]<br />
* [https://elixir.bootlin.com/linux/latest/source?a=arm Bootlin LXR (Linux Cross Reference)]<br />
* [http://lists.infradead.org/pipermail/linux-arm-kernel/ linux-arm-kernel - Mailing list archive]<br />
===How to upstream===<br />
* [http://www.elinux.org/images/a/ad/Arm-soc-checklist.pdf Your new ARM SoC Linux support check-list! by Thomas Petazzoni of Bootlin]<br />
*[http://www.cnx-software.com/2014/03/04/linux-kernel-upstreaming-how-to-linaro-connect-asia-2014/ Linux Kernel Upstreaming How-To (CNXSoft - Embedded Software Development)]<br />
**[http://www.youtube.com/watch?v=dY7fikYZ42c Matt Porter's YouTube video talk on “Upstreaming 101" (LCA14-111)]<br />
***[http://www.linaro.org/documents/download/65f888c674508efcf9bd5d90398a186a530d01c4c78db Matt Porter's presentation slides for “Upstreaming 101" (LCA14-111)]<br />
**[https://www.youtube.com/watch?v=FiQ5uV_Mm5c Matt Porter's YouTube video talk on “Upstreaming 201" (LCA14-112)]<br />
***[http://www.linaro.org/documents/download/7b9920fcc89589bad9063d87d9137f08530d020b71924 Matt Porter's presentation slides for “Upstreaming 201" (LCA14-112)]<br />
*[http://www.cnx-software.com/2011/08/19/how-to-write-and-submit-a-linux-kernel-patch/ How to Write and Submit a Linux Kernel Patch (CNXSoft - Embedded Software Development)]<br />
** [http://www.youtube.com/watch?v=LLBrBBImJt4 YouTube Video- Write and Submit your first Linux kernel Patch]<br />
** [http://www.cnx-software.com/pdf/kernel-tutorial/kernel_patch_tutorial.pdf Greg Kroah-Hartman Kernel Tutorial Write and Submit your first Linux Kernel Patch]<br />
*[http://www.linaro.org/connect-lca14/resources Linaro resources page from LCA (Linaro Connect Asia) 2014]<br />
<br />
=Notes=<br />
<references group=note /><br />
<br />
[[Category:Development]]</div>
StandaSK
https://linux-sunxi.org/index.php?title=PinePhone&diff=24150
PinePhone
2021-05-05T07:59:27Z
<p>StandaSK: </p>
<hr />
<div>{{Infobox Board<br />
| image = [[File:Pinephone-front.jpg|250px]]<br />
| manufacturer = [https://pine64.org Pine64]<br />
| dimensions = 160.5''mm'' x 76.6''mm'' x 9.2''mm''<br />
| release_date = 2019<br />
| website = [https://www.pine64.org/pinephone Device Product Page]<br />
| soc = [[A64]] @ 1.152 GHz<br />
| dram = 2GiB LPDDR3 @ ????MHz or 3GiB LPDDR3 @ ????MHz<br />
| nand = 16GB or 32GB<br />
| power = USB Type C (5V - 3A), 2750-3000mAh 3.7V Li-Ion battery<br />
| lcd = 1440x720 (5.95" 18:9)<br />
| touchscreen = 5-finger capacitive ([[Touchscreen#Goodix|Goodix device]])<br />
| video = DisplayPort over USB-C<br />
| audio = 3.5mm headphone plug, HDMI, internal speaker, internal microphone<br />
| network = WiFi 802.11 b/g/n ([[Wifi#Realtek|Realtek RTL8723CS]])<br />
| storage = µSD<br />
| usb = 1x USB2.0 OTG<br />
| camera = 2.0MP (????x????) front (GC2145), 5.0MP (????x????) rear (OV5640)<br />
| other = Accelerometer ([[Accelerometer#Device|Manufacturer device]]), GPS, Gyroscope, Proximity, Ambient Light, Magnetometer<br />
| headers = UART<br />
}}<br />
<br />
{{Remove_only_when_finished|This page needs to be properly filled according to the [[New_Device_howto |New Device Howto]] and the [[New_Device_page|New Device Page guide]].}}<br />
<br />
the pinephone is a cheap, generic, arm64 smartphone produced with the goal of supporting user-modifiable operating systems and hardware<br />
<br />
= Identification =<br />
{{Remove|This section explains how to most easily identify your device. For a development board, explain the name(s) printed on the board. For an android device, find out the strings as reported under settings.}}<br />
<br />
The PCB has the following silkscreened on it:<br />
<pre>AL_QZ01_MB_V10</pre><br />
<br />
= Sunxi support =<br />
<br />
== Current status ==<br />
<br />
Basic support in mainline trees, more features found in out-of-tree mainline Linux forks.<br />
<br />
== Images ==<br />
<br />
[http://images.postmarketos.org/pinephone/ Prebuilt postmarketOS images]<br />
[https://ci.ubports.com/job/rootfs/job/rootfs-pinephone/ Ubuntu Touch (UBports) images]<br />
<br />
== Manual build ==<br />
<br />
You can build things for yourself by following our [[Manual_build_howto | Manual build howto]] and by choosing from the configurations available below.<br />
<br />
=== Mainline U-Boot ===<br />
<br />
Use the ''pinephone_defconfig'' build target.<br />
<br />
=== Mainline Linux Kernel ===<br />
<br />
Use the ''sun50i-a64-pinephone-1.1.dtb'' or ''sun50i-a64-pinephone-1.2.dtb'' device-tree binary in the mainline kernel. Mainline U-Boot detects the model and selects the appropriate DTB automatically.<br />
<br />
A more sophisticated feature set is available in the [https://gitlab.com/pine64-org/linux/commits/pine64-kernel downstream forked kernel].<br />
<br />
= Tips, Tricks, Caveats =<br />
<br />
There are 6 dip switches if the back cover is removed, and they're labeled by a sticker:<br />
<br />
- Modem<br />
- Wifi/BT<br />
- Microphone (internal microphone, not headphones)<br />
- Rear Camera<br />
- Front Camera<br />
- Headphone (switches between headphones and UART)<br />
<br />
== FEL mode ==<br />
<br />
Use the fel-sdboot.sunxi file in sunxi-tools to enter FEL mode.<br />
<br />
= Adding a serial port =<br />
<br />
There is no need to add one as the UART is multiplexed with audio jack, see [http://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf] for the pinout.<br />
<br />
You'll also need to turn off the headphone dip switch in order to turn on UART.<br />
<br />
== Device disassembly ==<br />
<br />
1. With the phone facing you, pull off the back cover by pulling the tab on the bottom right, holding the phone in your other hand. then pry off the rest of the case.<br />
<br />
<gallery><br />
File:Pinephone prybackcover1.png<br />
File:Pinephone prybackcover2.png<br />
</gallery><br />
<br />
From here you can access the pogo pins and replace the battery.<br />
<br />
2. Then, with the phone facing the table, take the battery out using the indent below the battery. push the battery up against it's spring contacts, then out.<br />
<br />
<gallery><br />
File:Pinephone removebatt1.png<br />
File:Pinephone removebatt2.png<br />
</gallery><br />
<br />
From here you can change the SIM and MicroSD.<br />
<br />
3. Remove the screws with a small philips screwdriver. Remember the screw in the top right corner, which is covered by a paper tamper seal.<br />
<br />
<gallery><br />
File:Pinephone unscrew1.png<br />
File:Pinephone unscrew2.png<br />
</gallery><br />
<br />
4. Carefully remove the back assembly. there is ~1mm gap on the bottom, so you can just use your thumbnail or something to unsnap it, and then pry the rest of the back assembly.<br />
<br />
<gallery><br />
File:Pinephone prybackassembly1.png<br />
File:Pinephone prybackassembly3.png<br />
</gallery><br />
<br />
From here you can replace the individual components on the board.<br />
<br />
Note: When re-assembling, replace the screws and make sure the back cover and back assembly are fully snapped in place.<br />
<br />
= Pictures =<br />
<br />
{{Remove|Take some pictures of your device, [[Special:Upload | upload them]], and add them here. DO NOT UPLOAD PICTURES WHICH YOU PLUCKED OFF THE INTERNET.}}<br />
<br />
<gallery><br />
File:Pinephone-front.jpg<br />
File:New-Pinephone-back.jpg<br />
File:Pinephone_sidebuttons.jpg<br />
File:Pinephone_backcoveroff.jpg<br />
File:Pinephone_circutboard.png<br />
File:Device_board_back.jpg<br />
</gallery><br />
<br />
= See also =<br />
<br />
[[Pine Pinebook]]<br />
<br />
[[PineTab]]<br />
<br />
== Manufacturer images ==<br />
<br />
{{Remove|Optional. Add non-sunxi images in this section.}}<br />
<br />
[[Category:Devices]]<br />
[[Category:A64 Phones]]</div>
StandaSK
https://linux-sunxi.org/index.php?title=Linux_mainlining_effort&diff=24132
Linux mainlining effort
2021-04-26T09:42:20Z
<p>StandaSK: Add Planned for 5.13</p>
<hr />
<div>The purpose of this page is to try and define sub-goals and milestones for the mainlining effort, containing goals and sub-goals with milestones for adding Allwinner support in the upstream mainline Linux Kernel.<br />
<br />
=Overview=<br />
The idea is to submit the code needed to run the Linux kernel on Allwinner SoCs upstream, ie. to the official Linux kernel.<br />
<br />
This can be achieved by following the concept outlined in the ''Your new ARM SoC Linux support check-list!'' article published by Thomas Petazzoni from Bootlin.<ref>http://www.elinux.org/images/a/ad/Arm-soc-checklist.pdf</ref><ref>[http://www.cnx-software.com/2013/01/16/your-new-arm-soc-linux-support-check-list-elce-2012/ Your New ARM SoC Linux Support Check-List – ELCE 2012]</ref><br />
<br />
Where relevant, I have attempted to include who is currently working on an item, mostly separate from any particular mainlining goal.<br />
<br />
=Status=<br />
<br />
The [[Mainline_Kernel_Howto|Mainline Kernel howto]] contains the currently used repositories for the mainlining process. The U-Boot repository and toolchain is described in the [[Mainline U-Boot|Mainline U-Boot howto]].<br />
<br />
The [[:Category:Mainline_Kernel | Mainline Kernel category ]] gives an overview of currently supported devices.<br />
<br />
== Status Matrix ==<br />
<br />
The goal of this matrix is to give an easy view of work on each SoC worked on by linux-sunxi.<br />
<br />
{| class="wikitable" style="text-align: center; width: 100%;"<br />
|-<br />
! style="width: 13%; text-align: left;" colspan="2" | Model<br />
! [[F1C100s|F1C-<br>100s]]<br />
! [[A10]]<br />
! [[A10s]]<br />
! [[A13]]<br>[[R8]]<br />
! [[A20]]<br>[[T2]]<br />
! [[A23]]<br />
! [[A31]]<br />
! [[A33]]<br>[[R16]]<br />
! [[A64]]<br />
! [[A80]]<br />
! [[A83T]]<br />
! [[A100]]<br />
! [[GR8]]<br />
! [[H3]]<br />
! [[H5]]<br />
! [[H6]]<br />
! [[R40]]<br>[[T3]]<br />
! [[V3]]|[[V3s]]<br>[[S3]]|[[S3L]]<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | AC97<br />
| N/A<br />
| style="background: red;" | NO<br />
| N/A<br />
| N/A<br />
| style="background: red;" | NO<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| style="background: grey; color: white;" | ?<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| style="background: red;" | NO<br />
| N/A<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | [[Audio Codec]]<br />
| style="background: red;" | NO<br />
| style="background: lightgreen;" | 4.4<br />
| style="background: lightgreen;" | 4.4<br />
| style="background: lightgreen;" | 4.4<br />
| style="background: lightgreen;" | 4.4<br />
| style="background: lightgreen;" | 4.10<br />
| style="background: lightgreen;" | 4.10<br />
| style="background: lightgreen;" | 4.11<br />
| style="background: lightgreen;" | 5.0<br />
| N/A<br />
| N/A<br />
| style="background: grey; color: white;" | ?<br />
| style="background: lightgreen;" | 4.9<br />
| style="background: lightgreen;" | 4.10<br />
| style="background: lightgreen;" | 4.12<br />
| style="background: red;" | NO<br />
| style="background: red;" | NO<br />
| style="background: lightgreen;" | 4.13<br />
<br />
|-<br />
| style="text-align: left;" rowspan="3" | ADC<br />
| style="text-align: left;" | GPADC<br />
| style="background: red;" | NO<br />
| style="background: lightgreen;" | 4.12<br />
| style="background: lightgreen;" | 4.12<br />
| style="background: lightgreen;" | 4.12<br />
| style="background: lightgreen;" | 4.12<br />
| N/A<br />
| style="background: orange;" | [[Linux mainlining effort#Minor_drivers|WIP]]<br />
| N/A<br />
| N/A<br />
| style="background: red;" | NO<br />
| N/A<br />
| style="background: grey; color: white;" | ?<br />
| style="background: lightgreen;" | 4.12<br />
| N/A<br />
| N/A<br />
| N/A<br />
| style="background: red;" | NO<br />
| N/A<br />
<br />
|-<br />
| style="text-align: left;" | Thermal<br />
| style="background: red;" | NO<br />
| style="background: lightgreen;" | 3.16<br />
| style="background: lightgreen;" | 3.14<br />
| style="background: lightgreen;" | 3.14<br />
| style="background: lightgreen;" | 3.16<br />
| style="background: darkgreen;" | ?<br />
| style="background: orange;" | [[Linux_mainlining_effort#Minor_drivers|WIP]]<br />
| style="background: lightgreen;" | 4.12<br />
| style="background: lightgreen;" | 5.6<br />
| style="background: orange;" | [[Linux_mainlining_effort#Minor_drivers|WIP]]<br />
| style="background: lightgreen;" | 5.6<br />
| style="background: lightgreen;" | 5.10<br />
| style="background: lightgreen;" | 4.9<br />
| style="background: lightgreen;" | 5.6<br />
| style="background: lightgreen;" | 5.6<br />
| style="background: lightgreen;" | 5.6<br />
| style="background: lightgreen;" | 5.7<br />
| N/A<br />
<br />
|-<br />
| style="text-align: left;" | Touch<br />
| style="background: red;" | NO<br />
| style="background: lightgreen;" | 3.16<br />
| style="background: lightgreen;" | 3.14<br />
| style="background: lightgreen;" | 3.14<br />
| style="background: lightgreen;" | 3.16<br />
| N/A<br />
| style="background: lightgreen;" | 4.0<br />
| N/A<br />
| N/A<br />
| style="background: red;" | NO<br />
| N/A<br />
| style="background: grey; color: white;" | ?<br />
| style="background: lightgreen;" | 4.9<br />
| N/A<br />
| N/A<br />
| N/A<br />
| style="background: red;" | NO<br />
| N/A<br />
<br />
|-<br />
| rowspan="4" style="text-align: left;" | [[CSI|Camera]]<br />
<br />
| style="text-align: left;" | BT656<br />
| style="background: red;" | NO<br />
| style="background: lightgreen;" | 5.6<br />
| style="background: darkgreen;" | ?<br />
| style="background: darkgreen;" | ?<br />
| style="background: lightgreen;" | 5.4<br />
| style="background: darkgreen;" | ?<br />
| style="background: lightgreen;" | 5.0<br />
| style="background: darkgreen;" | ?<br />
| style="background: lightgreen;" | 5.1<br />
| style="background: darkgreen;" | ?<br />
| style="background: lightgreen;" | 5.3<br />
| style="background: grey; color: white;" | ?<br />
| style="background: darkgreen;" | ?<br />
| style="background: lightgreen;" | 5.0<br />
| style="background: lightgreen;" | 5.0<br />
| style="background: darkgreen;" | ?<br />
| style="background: lightgreen;" | 5.6<br />
| style="background: lightgreen;" | 5.0<br />
<br />
|-<br />
| style="text-align: left;" | ISP<br />
| N/A<br />
| style="background: red;" | NO<br />
| N/A<br />
| N/A<br />
| style="background: red;" | NO<br />
| N/A<br />
| style="background: red;" | NO<br />
| N/A<br />
| N/A<br />
| style="background: red;" | NO<br />
| style="background: red;" | NO<br />
| style="background: grey; color: white;" | ?<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| style="background: red;" | NO<br />
<br />
|-<br />
| style="text-align: left;" | MIPI CSI-2<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| style="background: orange;" | [[Linux_mainlining_effort#Major_drivers|WIP]]<br />
| N/A<br />
| N/A<br />
| style="background: red;" | NO<br />
| style="background: orange;" | [[Linux_mainlining_effort#Major_drivers|WIP]]<br />
| style="background: grey; color: white;" | ?<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| style="background: orange;" | [[Linux_mainlining_effort#Major_drivers|WIP]]<br />
<br />
|-<br />
| style="text-align: left;" | Parallel<br />
| style="background: red;" | NO<br />
| style="background: lightgreen;" | 5.6<br />
| style="background: darkgreen;" | ?<br />
| style="background: darkgreen;" | ?<br />
| style="background: lightgreen;" | 5.4<br />
| style="background: darkgreen;" | ?<br />
| style="background: lightgreen;" | 5.0<br />
| style="background: darkgreen;" | ?<br />
| style="background: lightgreen;" | 5.1<br />
| style="background: darkgreen;" | ?<br />
| style="background: lightgreen;" | 5.3<br />
| style="background: grey; color: white;" | ?<br />
| style="background: darkgreen;" | ?<br />
| style="background: lightgreen;" | 5.0<br />
| style="background: lightgreen;" | 5.0<br />
| style="background: darkgreen;" | ?<br />
| style="background: lightgreen;" | 5.6<br />
| style="background: lightgreen;" | 5.0<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | Clocks<br />
| style="background: lightgreen;" | 5.0<br />
| style="background: lightgreen;" | 3.10<br />
| style="background: lightgreen;" | 3.11<br />
| style="background: lightgreen;" | 3.10<br />
| style="background: lightgreen;" | 3.12<br />
| style="background: lightgreen;" | 3.17<br />
| style="background: lightgreen;" | 3.12<br />
| style="background: lightgreen;" | 4.2<br />
| style="background: lightgreen;" | 4.10<br />
| style="background: lightgreen;" | 3.19<br />
| style="background: lightgreen;" | 4.13<br />
| style="background: lightgreen;" | 5.10<br />
| style="background: lightgreen;" | 4.9<br />
| style="background: lightgreen;" | 4.8<br />
| style="background: lightgreen;" | 4.12<br />
| style="background: lightgreen;" | 4.17<br />
| style="background: lightgreen;" | 4.14<br />
| style="background: lightgreen;" | 4.11<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | CPUFreq (DVFS)<br />
| style="background: red;" | NO<br />
| style="background: lightgreen;" | 4.0<br />
| style="background: lightgreen;" | 4.0<br />
| style="background: lightgreen;" | 4.0<br />
| style="background: lightgreen;" | 4.0<br />
| style="background: red;" | NO<br />
| style="background: lightgreen;" | 4.2<br />
| style="background: lightgreen;" | 4.11<br />
| style="background: lightgreen;" | 5.6<br />
| style="background: red;" | NO<br />
| style="background: lightgreen;" | 4.17<br />
| style="background: orange;" | [[Linux_mainlining_effort#Minor_drivers|WIP]]<br />
| style="background: red;" | NO<br />
| style="background: lightgreen;" | 4.18<br />
| style="background: lightgreen;" | 5.9<br />
| style="background: lightgreen;" | 5.8<br />
| style="background: red;" | NO<br />
| style="background: red;" | NO<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | [[Cryptographic_Hardware_Accelerators|Crypto]]<br />
| N/A<br />
| style="background: lightgreen;" | 4.3<br />
| style="background: lightgreen;" | 4.13<br />
| style="background: lightgreen;" | 4.13<br />
| style="background: lightgreen;" | 4.3<br />
| style="background: darkgreen;" | ?<br />
| style="background: lightgreen;" | 4.3<br />
| style="background: lightgreen;" | 4.3<br />
| style="background: lightgreen;" | 5.5<br />
| style="background: lightgreen;" | 5.5<br />
| style="background: lightgreen;" | 5.5<br />
| style="background: grey; color: white;" | ?<br />
| style="background: lightgreen;" | 4.13<br />
| style="background: lightgreen;" | 5.5<br />
| style="background: lightgreen;" | 5.5<br />
| style="background: lightgreen;" | 5.5<br />
| style="background: lightgreen;" | 5.5<br />
| style="background: lightgreen;" | 5.10<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | Display (SimpleFB)<br />
| style="background: red;" | NO<br />
| style="background: lightgreen;" | 3.19<br />
| style="background: lightgreen;" | 3.19<br />
| style="background: lightgreen;" | 4.0<br />
| style="background: lightgreen;" | 3.19<br />
| style="background: lightgreen;" | 3.19<br />
| style="background: lightgreen;" | 3.19<br />
| style="background: lightgreen;" | 3.19<br />
| style="background: lightgreen;" | 4.17<br />
| style="background: red;" | NO<br />
| style="background: red;" | NO<br />
| style="background: grey; color: white;" | ?<br />
| style="background: lightgreen;" | 4.9<br />
| style="background: lightgreen" | 4.16<br />
| style="background: lightgreen" | 4.16<br />
| style="background: red;" | NO<br />
| style="background: red;" | NO<br />
| style="background: lightgreen;" | 5.10<br />
<br />
|-<br />
| rowspan="8" style="text-align: left;" | Display<br />
([https://dri.freedesktop.org/wiki/DRM/ DRM])<br />
<br />
| style="text-align: left;" | CVBS<br />
| style="background: red;" | NO<br />
| style="background: darkgreen;" | ?<br />
| style="background: lightgreen;" | 4.9 ?<br />
| style="background: lightgreen;" | 4.7<br />
| style="background: darkgreen;" | ?<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| style="background: grey; color: white;" | ?<br />
| style="background: lightgreen;" | 4.9<br />
| style="background: red;" | NO<br />
| style="background: red;" | NO<br />
| style="background: red;" | NO<br />
| style="background: red;" | NO<br />
| N/A<br />
<br />
|-<br />
| style="text-align: left;" | HDMI Audio<br />
| N/A<br />
| style="background: orange;" | [[Linux_mainlining_effort#Minor_drivers|WIP]]<br />
| style="background: red;" | NO<br />
| N/A<br />
| style="background: orange;" | [[Linux_mainlining_effort#Minor_drivers|WIP]]<br />
| N/A<br />
| style="background: orange;" | [[Linux_mainlining_effort#Minor_drivers|WIP]]<br />
| N/A<br />
| style="background: orange;" | [[Linux_mainlining_effort#Major_drivers|WIP]]<br />
| style="background: red;" | NO<br />
| style="background: red;" | NO<br />
| style="background: grey; color: white;" | ?<br />
| N/A<br />
| style="background: orange;" | [[Linux_mainlining_effort#Major_drivers|WIP]]<br />
| style="background: orange;" | [[Linux_mainlining_effort#Major_drivers|WIP]]<br />
| style="background: orange;" | [[Linux_mainlining_effort#Major_drivers|WIP]]<br />
| style="background: red;" | NO<br />
| N/A<br />
<br />
|-<br />
| style="text-align: left;" | HDMI CEC<br />
| N/A<br />
| style="background: lightgreen;" | 4.15<br />
| style="background: lightgreen;" | 4.14<br />
| N/A<br />
| style="background: lightgreen;" | 4.15<br />
| N/A<br />
| style="background: lightgreen;" | 4.15<br />
| N/A<br />
| style="background: lightgreen;" | 4.20<br />
| style="background: red;" | NO<br />
| style="background: lightgreen;" | 4.17<br />
| style="background: grey; color: white;" | ?<br />
| N/A<br />
| style="background: lightgreen;" | 4.17<br />
| style="background: lightgreen;" | 4.17<br />
| style="background: lightgreen;" | 5.2<br />
| style="background: lightgreen;" | 4.19<br />
| N/A<br />
<br />
|-<br />
| style="text-align: left;" | HDMI Video<br />
| N/A<br />
| style="background: lightgreen;" | 4.15<br />
| style="background: lightgreen;" | 4.13<br />
| N/A<br />
| style="background: lightgreen;" | 4.15<br />
| N/A<br />
| style="background: lightgreen;" | 4.15<br />
| N/A<br />
| style="background: lightgreen;" | 4.20<br />
| style="background: red;" | NO<br />
| style="background: lightgreen;" | 4.17<br />
| style="background: grey; color: white;" | ?<br />
| N/A<br />
| style="background: lightgreen;" | 4.17<br />
| style="background: lightgreen;" | 4.17<br />
| style="background: lightgreen;" | 5.0<br />
| style="background: lightgreen;" | 4.19<br />
| N/A<br />
<br />
|-<br />
| style="text-align: left;" | LVDS<br />
| N/A<br />
| style="background: darkgreen;" | ?<br />
| N/A<br />
| N/A<br />
| style="background: lightgreen;" | 5.7<br />
| style="background: darkgreen;" | ?<br />
| style="background: darkgreen;" | ?<br />
| style="background: darkgreen;" | ?<br />
| style="background: darkgreen;" | ?<br />
| style="background: darkgreen;" | ?<br />
| style="background: lightgreen;" | 4.16<br />
| style="background: grey; color: white;" | ?<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| style="background: darkgreen;" | ?<br />
| N/A<br />
<br />
|-<br />
| style="text-align: left;" | MIPI DSI<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| style="background: darkgreen;" | ?<br />
| style="background: red;" | NO<br />
| style="background: lightgreen;" | 4.18<br />
| style="background: lightgreen;" | 5.6<br />
| style="background: red;" | NO<br />
| style="background: red;" | NO<br />
| style="background: grey; color: white;" | ?<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| style="background: orange;" | [[Linux_mainlining_effort#Major_drivers|WIP]]<br />
| N/A<br />
<br />
|-<br />
| style="text-align: left;" | RGB<br />
| style="background: red;" | NO<br />
| style="background: lightgreen;" | 4.15<br />
| style="background: darkgreen;" | ?<br />
| style="background: lightgreen;" | 4.7<br />
| style="background: lightgreen;" | 4.15<br />
| style="background: lightgreen;" | 5.1<br />
| style="background: lightgreen;" | 4.10<br />
| style="background: lightgreen;" | 4.9<br />
| style="background: lightgreen;" | 5.3<br />
| style="background: lightgreen;" | 4.17<br />
| style="background: lightgreen;" | 4.16<br />
| style="background: grey; color: white;" | ?<br />
| style="background: lightgreen;" | 4.9<br />
| N/A<br />
| N/A<br />
| style="background: red;" | NO<br />
| style="background: red;" | NO<br />
| style="background: lightgreen;" | 4.13<br />
<br />
|-<br />
| style="text-align: left;" | VGA<br />
| N/A<br />
| style="background: red;" | NO<br />
| N/A<br />
| N/A<br />
| style="background: red;" | NO<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| style="background: grey; color: white;" | ?<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| style="background: red;" | NO<br />
| N/A<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | DMA<br />
| style="background: red;" | NO<br />
| style="background: lightgreen;" | 4.3<br />
| style="background: lightgreen;" | 4.3<br />
| style="background: lightgreen;" | 4.3<br />
| style="background: lightgreen;" | 4.3<br />
| style="background: lightgreen;" | 3.18<br />
| style="background: lightgreen;" | 3.17<br />
| style="background: lightgreen;" | 4.2<br />
| style="background: lightgreen;" | 4.15<br />
| style="background: darkgreen;" | ?<br />
| style="background: lightgreen;" | 4.9<br />
| style="background: orange;" | [[Linux_mainlining_effort#Major_drivers|WIP]]<br />
| style="background: lightgreen;" | 4.9<br />
| style="background: lightgreen;" | 4.2<br />
| style="background: lightgreen;" | 4.12<br />
| style="background: lightgreen;" | 5.3<br />
| style="background: lightgreen;" | 5.10<br />
| style="background: lightgreen;" | 4.13<br />
<br />
|-<br />
| style="text-align: left;" rowspan="2" | [[Ethernet]]<br />
| style="text-align: left;" | [[Ethernet#EMAC|EMAC]]<br />
| rowspan="2"| N/A<br />
| style="background: lightgreen;" | 3.11<br />
| style="background: lightgreen;" | 3.11<br />
| rowspan="2"| N/A<br />
| style="background: lightgreen;" | 3.11 <br />
| rowspan="2"| N/A<br />
| N/A<br />
| rowspan="2"| N/A<br />
| style="background: lightgreen;" rowspan="2" | 4.15<br />
| style="background: lightgreen;" rowspan="2" | 5.1<br />
| style="background: lightgreen;" rowspan="2" | 4.16<br />
| style="background: grey; color: white;" | ?<br />
| rowspan="2"| N/A<br />
| style="background: lightgreen;" rowspan="2" | 4.15<br />
| style="background: lightgreen;" rowspan="2" | 4.15<br />
| style="background: lightgreen;" rowspan="2" | 5.0<br />
| style="background: lightgreen;" rowspan="2" | 4.18<br />
| style="background: lightgreen;" rowspan="2" | 4.13<br />
<br />
|-<br />
| style="text-align: left;" | [[Ethernet#GMAC|GMAC]]<br />
<br />
| N/A<br />
| N/A<br />
| style="background: lightgreen;" | 3.15<br />
| style="background: lightgreen;" | 3.17<br />
| style="background: grey; color: white;" | ?<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | EMCE<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| style="background: orange;" | [[Linux_mainlining_effort#Major_drivers|WIP]]<br />
| N/A<br />
| N/A<br />
<br />
|-<br />
| style="text-align: left;" rowspan="2" | GPU(3D)<br />
| style="text-align: left;" | [[Mali]]<br />
| N/A<br />
| style="background: lightgreen;" | 5.2<br />
| style="background: grey; color: white;" | ?<br />
| style="background: grey; color: white;" | ?<br />
| style="background: lightgreen;" | 5.2<br />
| style="background: grey; color: white;" | ?<br />
| N/A<br />
| style="background: grey; color: white;" | ?<br />
| style="background: lightgreen;" | 5.2<br />
| N/A<br />
| N/A<br />
| N/A<br />
| style="background: grey; color: white;" | ?<br />
| style="background: lightgreen;" | 5.2<br />
| style="background: lightgreen;" | 5.2<br />
| style="background: lightgreen;" | 5.5<br />
| style="background: lightgreen;" | 5.10<br />
| N/A<br />
<br />
|-<br />
| style="text-align: left;" | [[PowerVR]]<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| style="background: red;" | NO<br />
| N/A<br />
| N/A<br />
| style="background: red;" | NO<br />
| style="background: red;" | NO<br />
| style="background: red;" | NO<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | HW Spinlocks<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| style="background: orange;" | [[Linux mainlining effort#Minor_drivers|WIP]]<br />
| style="background: red;" | NO<br />
| style="background: orange;" | [[Linux mainlining effort#Minor_drivers|WIP]]<br />
| style="background: grey; color: white;" | ?<br />
| N/A<br />
| style="background: orange;" | [[Linux mainlining effort#Minor_drivers|WIP]]<br />
| style="background: red;" | NO<br />
| style="background: red;" | NO<br />
| N/A<br />
| N/A<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | [[I2C]]<br />
| style="background: darkgreen;" | ?<br />
| style="background: lightgreen;" | 3.11<br />
| style="background: lightgreen;" | 3.12<br />
| style="background: lightgreen;" | 3.11<br />
| style="background: lightgreen;" | 3.13<br />
| style="background: lightgreen;" | 3.18<br />
| style="background: lightgreen;" | 3.15<br />
| style="background: lightgreen;" | 4.2<br />
| style="background: lightgreen;" | 4.10<br />
| style="background: lightgreen;" | 3.19<br />
| style="background: lightgreen;" | 4.16<br />
| style="background: lightgreen;" | 5.10<br />
| style="background: lightgreen;" | 4.9<br />
| style="background: lightgreen;" | 4.9<br />
| style="background: lightgreen;" | 4.12<br />
| style="background: lightgreen;" | 4.19<br />
| style="background: lightgreen;" | 4.15<br />
| style="background: lightgreen;" | 4.11<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | I2S<br />
| style="background: red;" | NO<br />
| style="background: lightgreen;" | 4.8<br />
| style="background: darkgreen;" | ?<br />
| N/A<br />
| style="background: lightgreen;" | 4.8<br />
| style="background: darkgreen;" | ?<br />
| style="background: lightgreen;" | 4.13<br />
| style="background: lightgreen;" | 4.11<br />
| style="background: lightgreen;" | 4.17<br />
| style="background: red;" | NO<br />
| style="background: lightgreen;" | 4.16<br />
| style="background: grey; color: white;" | ?<br />
| style="background: lightgreen;" | 4.9<br />
| style="background: lightgreen;" | 4.14<br />
| style="background: red;" | NO<br />
| style="background: lightgreen;" | 5.11<br />
| style="background: red;" | NO<br />
| N/A<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | IOMMU<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| style="background: grey; color: white;" | ?<br />
| N/A<br />
| N/A<br />
| N/A<br />
| style="background: lightgreen;" | 5.8<br />
| N/A<br />
| N/A<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | [[IR]]<br />
| style="background: red" | NO<br />
| style="background: lightgreen;" | 3.17<br />
| style="background: lightgreen;" | 4.0<br />
| style="background: lightgreen;" | 4.0<br />
| style="background: lightgreen;" | 3.17<br />
| N/A<br />
| style="background: lightgreen;" | 4.0<br />
| N/A<br />
| style="background: lightgreen;" | 5.4<br />
| style="background: lightgreen;" | 4.5<br />
| style="background: lightgreen;" | 4.20<br />
| style="background: grey; color: white;" | ?<br />
| style="background: lightgreen;" | 4.9<br />
| style="background: lightgreen;" | 4.6<br />
| style="background: lightgreen;" | 4.12<br />
| style="background: lightgreen;" | 5.4<br />
| style="background: lightgreen;" | 5.10<br />
| N/A<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | Keypad<br />
| N/A<br />
| style="background: orange;" | WIP<br />
| N/A<br />
| N/A<br />
| style="background: orange;" | WIP<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| style="background: grey; color: white;" | ?<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| style="background: red;" | NO<br />
| N/A<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | LRADC<br />
| style="background: darkgreen;" | ?<br />
| style="background: lightgreen;" | 4.0<br />
| style="background: lightgreen;" | 4.0<br />
| style="background: lightgreen;" | 4.0<br />
| style="background: lightgreen;" | 4.0<br />
| style="background: lightgreen;" | 4.0<br />
| style="background: lightgreen;" | 4.0<br />
| style="background: lightgreen;" | 4.2<br />
| style="background: lightgreen;" | 5.3<br />
| style="background: darkgreen;" | ?<br />
| style="background: lightgreen;" | 5.2<br />
| style="background: grey; color: white;" | ?<br />
| style="background: lightgreen;" | 4.9<br />
| style="background: darkgreen;" | ?<br />
| style="background: darkgreen;" | ?<br />
| N/A<br />
| style="background: darkgreen;" | ?<br />
| style="background: lightgreen;" | 4.13<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | MsgBox<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| style="background: darkgreen;" | ?<br />
| style="background: darkgreen;" | ?<br />
| style="background: darkgreen;" | ?<br />
| style="background: lightgreen;" | 5.8<br />
| style="background: darkgreen;" | ?<br />
| style="background: lightgreen;" | 5.8<br />
| style="background: grey; color: white;" | ?<br />
| N/A<br />
| style="background: lightgreen;" | 5.8<br />
| style="background: lightgreen;" | 5.8<br />
| style="background: lightgreen;" | 5.8<br />
| N/A<br />
| N/A<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | [[NAND]]<br />
| N/A<br />
| style="background: darkgreen;" | ?<br />
| style="background: darkgreen;" | ?<br />
| style="background: lightgreen;" | 4.12 <ref name="mlc">While the NAND controller itself is supported, the NAND technology found on the vast majority of boards isn't. See [[MTD_Driver#Challenges|this page]] </ref><br />
| style="background: darkgreen;" | ?<br />
| style="background: lightgreen;" | 4.9 <ref name="mlc"/><br />
| style="background: darkgreen;" | ?<br />
| style="background: lightgreen;" | 4.9 <ref name="mlc" /><br />
| style="background: darkgreen;" | ?<br />
| style="background: darkgreen;" | ?<br />
| style="background: darkgreen;" | ?<br />
| style="background: grey; color: white;" | ?<br />
| style="background: lightgreen;" | 4.9 <ref name="mlc" /><br />
| style="background: darkgreen;" | ?<br />
| style="background: darkgreen;" | ?<br />
| style="background: red;" | NO<br />
| style="background: darkgreen;" | ?<br />
| N/A<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | PCIe<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| style="background: grey; color: white;" | ?<br />
| N/A<br />
| N/A<br />
| N/A<br />
| style="background: orange;" | [[Linux_mainlining_effort#Major_drivers|WIP]]<ref name="h6-pcie">Allwinner H6 has a quirky PCIe controller that doesn't map the PCIe address space properly to CPU,<br />
and accessing the PCIe config space, IO space or memory space needs to be wrapped. As Linux doesn't wrap PCIe memory space access, it's not possible to do a proper PCIe controller without using an hypervisor. The BSP kernel modifies the driver to wrap the access, so it's also not generic, and only devices with modified driver will work. https://forum.armbian.com/topic/13529-a-try-on-utilizing-h6-pcie-with-virtualization/</ref><br />
| N/A<br />
| N/A<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | Pinctrl<br />
| style="background: lightgreen;" | 5.0<br />
| style="background: lightgreen;" | 3.9<br />
| style="background: lightgreen;" | 3.9<br />
| style="background: lightgreen;" | 3.9<br />
| style="background: lightgreen;" | 3.12<br />
| style="background: lightgreen;" | 3.18<br />
| style="background: lightgreen;" | 3.12<br />
| style="background: lightgreen;" | 4.2<br />
| style="background: lightgreen;" | 4.6<br />
| style="background: lightgreen;" | 3.19<br />
| style="background: lightgreen;" | 4.4<br />
| style="background: lightgreen;" | 5.10<br />
| style="background: lightgreen;" | 4.9<br />
| style="background: lightgreen;" | 4.5<br />
| style="background: lightgreen;" | 4.12<br />
| style="background: lightgreen;" | 4.17<br />
| style="background: lightgreen;" | 4.14<br />
| style="background: lightgreen;" | 4.11<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | [[PMU]]<br />
| style="background: grey; color: white;" | ?<br />
| style="background: grey; color: white;" | ?<br />
| style="background: grey; color: white;" | ?<br />
| style="background: grey; color: white;" | ?<br />
| style="background: grey; color: white;" | ?<br />
| style="background: grey; color: white;" | ?<br />
| style="background: grey; color: white;" | ?<br />
| style="background: grey; color: white;" | ?<br />
| style="background: lightgreen;" | 5.5<br />
| style="background: grey; color: white;" | ?<br />
| style="background: grey; color: white;" | ?<br />
| style="background: orange;" | [[Linux_mainlining_effort#Major_drivers|WIP]]<br />
| style="background: grey; color: white;" | ?<br />
| style="background: lightgreen;" | 5.6<br />
| style="background: lightgreen;" | 5.6<br />
| style="background: lightgreen;" | 5.6<br />
| style="background: lightgreen;" | 5.6<br />
| style="background: grey; color: white;" | ?<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | [[PWM_Controller|PWM]]<br />
| style="background: red;" | NO<br />
| style="background: lightgreen;" | 4.0<br />
| style="background: lightgreen;" | 4.4<br />
| style="background: lightgreen;" | 4.4<br />
| style="background: lightgreen;" | 4.0<br />
| style="background: lightgreen;" | 4.4<br />
| style="background: red;" | NO<br />
| style="background: lightgreen;" | 4.4<br />
| style="background: lightgreen;" | 4.19<br />
| style="background: red;" | NO<br />
| style="background: lightgreen;" | 4.16<br />
| style="background: grey; color: white;" | ?<br />
| style="background: lightgreen;" | 4.9<br />
| style="background: lightgreen;" | 4.9<br />
| style="background: lightgreen;" | 4.12<br />
| style="background: lightgreen;" | 5.6<br />
| style="background: orange;" | [[Linux_mainlining_effort#Minor_drivers|WIP]]<br />
| style="background: lightgreen;" | 4.12<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | [[RSB]]<br />
| style="background: red;" | NO<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| style="background: lightgreen;" | 4.4<br />
| N/A<br />
| style="background: lightgreen;" | 4.4<br />
| style="background: lightgreen;" | 4.13<br />
| style="background: lightgreen;" | 4.3<br />
| style="background: lightgreen;" | 4.14<br />
| style="background: grey; color: white;" | ?<br />
| N/A<br />
| style="background: grey; color: white;" | ?<br />
| style="background: grey; color: white;" | ?<br />
| style="background: orange;" | [[Linux_mainlining_effort#Minor_drivers|WIP]]<br />
| N/A<br />
| N/A<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | [[RTC]]<br />
| N/A<br />
| style="background: lightgreen;" | 3.14<br />
| N/A<br />
| N/A<br />
| style="background: lightgreen;" | 3.14<br />
| style="background: lightgreen;" | 3.18<br />
| style="background: lightgreen;" | 3.18<br />
| style="background: lightgreen;" | 4.2<br />
| style="background: lightgreen;" | 4.10<br />
| N/A<br />
| N/A<br />
| style="background: grey; color: white;" | ?<br />
| N/A<br />
| style="background: lightgreen;" | 4.5<br />
| style="background: lightgreen;" | 4.12<br />
| style="background: lightgreen;" | 5.4<br />
| style="background: lightgreen;" | 5.0<br />
| style="background: lightgreen;" | 4.11<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | [[SATA]]<br />
| N/A<br />
| style="background: lightgreen;" | 3.15<br />
| N/A<br />
| N/A<br />
| style="background: lightgreen;" | 3.15<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| style="background: grey; color: white;" | ?<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| style="background: lightgreen;" | 4.20<br />
| N/A<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | SD/ [[eMMC|MMC]]<br />
| style="background: red;" | NO<br />
| style="background: lightgreen;" | 3.16<br />
| style="background: lightgreen;" | 3.16<br />
| style="background: lightgreen;" | 3.16<br />
| style="background: lightgreen;" | 3.16<br />
| style="background: lightgreen;" | 3.18<br />
| style="background: lightgreen;" | 3.16<br />
| style="background: lightgreen;" | 4.2<br />
| style="background: lightgreen;" | 4.11<br />
| style="background: lightgreen;" | 4.0<br />
| style="background: lightgreen;" | 4.14<br />
| style="background: orange;" | [[Linux_mainlining_effort#Major_drivers|WIP]]<br />
| style="background: lightgreen;" | 4.9<br />
| style="background: lightgreen;" | 4.5<br />
| style="background: lightgreen;" | 4.12<br />
| style="background: lightgreen;" | 4.19<br />
| style="background: lightgreen;" | 4.14<br />
| style="background: lightgreen;" | 4.11<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | SMP<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| style="background: lightgreen;" | PSCI<br />
| style="background: lightgreen;" | PSCI<br />
| style="background: lightgreen;" | PSCI<br />
| style="background: lightgreen;" | PSCI<br />
| style="background: lightgreen;" | PSCI<br />
| style="background: lightgreen;" | 4.17<br />
| style="background: lightgreen;" | 4.18<br />
| style="background: grey; color: white;" | ?<br />
| N/A<br />
| style="background: lightgreen;" | PSCI<br />
| style="background: lightgreen;" | PSCI<br />
| style="background: lightgreen" | PSCI<br />
| style="background: lightgreen;" | PSCI<br />
| N/A<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | [[SPDIF]]<br />
| style="background: red;" | NO<br />
| style="background: lightgreen;" | 4.7<br />
| N/A<br />
| N/A<br />
| style="background: lightgreen;" | 4.7<br />
| N/A<br />
| style="background: lightgreen;" | 4.9<br />
| N/A<br />
| style="background: lightgreen;" | 4.17<br />
| style="background: darkgreen;" | ?<br />
| style="background: lightgreen;" | 4.13<br />
| style="background: grey; color: white;" | ?<br />
| style="background: lightgreen;" | 4.9<br />
| style="background: lightgreen;" | 4.11<br />
| style="background: lightgreen;" | 4.12<br />
| style="background: lightgreen;" | 5.4<br />
| style="background: darkgreen;" | ?<br />
| N/A<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | [[SPIdev|SPI]]<br />
| style="background: red;" | NO<br />
| style="background: lightgreen;" | 3.16<br />
| style="background: lightgreen;" | 3.15<br />
| style="background: lightgreen;" | 3.15<br />
| style="background: lightgreen;" | 3.15<br />
| style="background: darkgreen;" | ?<br />
| style="background: lightgreen;" | 3.15<br />
| style="background: darkgreen;" | ?<br />
| style="background: lightgreen;" | 4.15<br />
| style="background: darkgreen;" | ?<br />
| style="background: darkgreen;" | ?<br />
| style="background: grey; color: white;" | ?<br />
| style="background: lightgreen;" | 4.9<br />
| style="background: lightgreen;" | 4.10<br />
| style="background: lightgreen;" | 4.12<br />
| style="background: lightgreen;" | 5.7<br />
| style="background: lightgreen;" | 5.6<br />
| style="background: lightgreen;" | 4.13<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | [[SRAM Controller|SRAM]]<br />
| style="background: lightgreen;" | 5.0<br />
| style="background: lightgreen;" | 4.2<br />
| style="background: lightgreen;" | 4.2<br />
| style="background: lightgreen;" | 4.2<br />
| style="background: lightgreen;" | 4.2<br />
| style="background: lightgreen;" | 4.19<br />
| style="background: red;" | NO<br />
| style="background: lightgreen;" | 4.19<br />
| style="background: lightgreen;" | 4.19<br />
| N/A<br />
| N/A<br />
| style="background: grey; color: white;" | ?<br />
| style="background: lightgreen;" | 4.2<br />
| style="background: lightgreen;" | 4.19<br />
| style="background: lightgreen;" | 5.0 <br />
| style="background: lightgreen;" | 5.1 <br />
| style="background: lightgreen;" | 5.10<br />
| style="background: lightgreen;" | 5.10<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | [[USB]]<br />
| style="background: orange;" | [[Linux_mainlining_effort#Major_drivers|WIP]]<br />
| style="background: lightgreen;" | 3.15<br />
| style="background: lightgreen;" | 3.15<br />
| style="background: lightgreen;" | 3.15<br />
| style="background: lightgreen;" | 3.15<br />
| style="background: lightgreen;" | 4.3<br />
| style="background: lightgreen;" | 3.16<br />
| style="background: lightgreen;" | 4.3<br />
| style="background: lightgreen;" | 4.11<br />
| style="background: lightgreen;" | 4.2<br />
| style="background: lightgreen;" | 4.14<br />
| style="background: orange;" | [[Linux_mainlining_effort#Major_drivers|WIP]]<br />
| style="background: lightgreen;" | 4.9<br />
| style="background: lightgreen;" | 4.8<br />
| style="background: lightgreen;" | 4.12<br />
| style="background: lightgreen;" | 5.0<br />
| style="background: lightgreen;" | 4.15<br />
| style="background: lightgreen;" | 4.11<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | [[USB_OTG_Controller_Register_guide#USB_OTG|USB OTG]]<br />
| style="background: orange;" | [[Linux_mainlining_effort#Major_drivers|WIP]]<br />
| style="background: lightgreen;" | 4.3<br />
| style="background: lightgreen;" | 4.3<br />
| style="background: lightgreen;" | 4.3<br />
| style="background: lightgreen;" | 4.3<br />
| style="background: lightgreen;" | 4.8<br />
| style="background: lightgreen;" | 4.3<br />
| style="background: lightgreen;" | 4.8<br />
| style="background: lightgreen;" | 4.11<br />
| style="background: red;" | NO<br />
| style="background: lightgreen;" | 5.2<br />
| style="background: orange;" | [[Linux_mainlining_effort#Major_drivers|WIP]]<br />
| style="background: lightgreen;" | 4.9<br />
| style="background: lightgreen;" | 4.12<br />
| style="background: lightgreen;" | 4.12<br />
| style="background: lightgreen;" | 5.0<br />
| style="background: red;" | NO<br />
| style="background: lightgreen;" | 4.11<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | USB3<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| N/A<br />
| style="background: red" | NO<br />
| N/A<br />
| style="background: grey; color: white;" | ?<br />
| N/A<br />
| N/A<br />
| N/A<br />
| style="background: lightgreen;" | 5.5<br />
| N/A<br />
| N/A<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | [[Video_Engine|VE]] | [[Sunxi-Cedrus]]<br />
| style="background: red;" | NO<br />
| style="background: lightgreen;" | 5.1<br />
| style="background: darkgreen;" | ?<br />
| style="background: lightgreen;" | 4.20<br />
| style="background: lightgreen;" | 4.20<br />
| style="background: darkgreen;" | ?<br />
| style="background: darkgreen;" | ?<br />
| style="background: lightgreen;" | 4.20<br />
| style="background: lightgreen;" | 5.0<br />
| style="background: red;" | NO<br />
| style="background: red;" | NO<br />
| style="background: grey; color: white;" | ?<br />
| style="background: darkgreen;" | ?<br />
| style="background: lightgreen;" | 4.20<br />
| style="background: lightgreen;" | 5.0<br />
| style="background: lightgreen;" | 5.2 <br />
| style="background: lightgreen;" | 5.10<br />
| style="background: orange;" | [[Linux_mainlining_effort#Major_drivers|WIP]]<br />
<br />
|-<br />
| style="text-align: left;" colspan="2" | Watchdog<br />
| style="background: lightgreen;" | 5.0<br />
| style="background: lightgreen;" | 3.12<br />
| style="background: lightgreen;" | 3.12<br />
| style="background: lightgreen;" | 3.12<br />
| style="background: lightgreen;" | 3.12<br />
| style="background: lightgreen;" | 3.18<br />
| style="background: lightgreen;" | 3.18<br />
| style="background: lightgreen;" | 4.2<br />
| style="background: lightgreen;" | 4.17<br />
| style="background: lightgreen;" | 3.19<br />
| style="background: lightgreen;" | 4.6<br />
| style="background: orange;" | [[Linux_mainlining_effort#Major_drivers|WIP]]<br />
| style="background: lightgreen;" | 4.9<br />
| style="background: lightgreen;" | 4.5<br />
| style="background: lightgreen;" | 4.12<br />
| style="background: lightgreen;" | 5.3<br />
| style="background: lightgreen;" | 4.15<br />
| style="background: lightgreen;" | 4.11<br />
<br />
|-<br />
! style="text-align: left;" colspan="2" | Model<br />
! [[F1C100s|F1C-<br>100s]]<br />
! [[A10]]<br />
! [[A10s]]<br />
! [[A13]]<br />
[[R8]]<br />
! [[A20]]<br>[[T2]]<br />
! [[A23]]<br />
! [[A31]]<br />
! [[A33]]<br />
[[R16]]<br />
! [[A64]]<br />
! [[A80]]<br />
! [[A83T]]<br />
| [[A100]]<br />
! [[GR8]]<br />
! [[H3]]<br />
! [[H5]]<br />
! [[H6]]<br />
! [[R40]]<br />
[[T3]]<br />
! [[V3]]|[[V3s]]<br>[[S3]]|[[S3L]]<br />
<br />
|}<br />
<br />
<br />
{| class="wikitable" style="text-align: center;"<br />
|-<br />
! Legend<br />
|-<br />
| style="background: lightgreen;" | In Linux mainline since version x<br />
|-<br />
| style="background: darkgreen;" | Nobody works on it, but it should be compatible with already done drivers<br />
|-<br />
| style="background: orange;" | Somebody works on it<br />
|-<br />
| style="background: red;" | No support, nobody works on it<br />
|-<br />
| style="background: black; color: white;" | support impossible<br />
|-<br />
| style="background: grey; color: white;" | Status is unknown/to be completed<br />
|}<br />
<br />
== Work In Progress ==<br />
<br />
=== Core Stuff ===<br />
*[[V831]] / [[V833]] Clocks & Pinctrl / RTC / MMC / Watchdog / SPI - Icenowy Zheng [https://patchwork.kernel.org/project/linux-arm-kernel/cover/20201212040157.3639864-1-icenowy@aosc.io/ Support for Allwinner V831 SoC]<br />
<br />
*[[H616]] Clocks & Pinctrl Andre Przywara [https://patchwork.kernel.org/project/linux-arm-kernel/cover/20201202135409.13683-1-andre.przywara@arm.com/ arm64: sunxi: Initial Allwinner H616 SoC support]<br />
<br />
*[[AR100]] firmware (WiP: Samuel Holland) [https://github.com/crust-firmware/crust ARISC firmware for sunxi SoCs ]<br />
<br />
* [[A13]] PSCI Suspend / Resume / CPUIdle (WiP: Antoine Tenart) [http://lists.denx.de/pipermail/u-boot/2016-September/265453.html patch-v1]<br />
<br />
=== Major drivers ===<br />
* [[A100]] DMA/PMU/Watchdog/USB2/USB OTG/MMC(eMMC, SD) Frank Lee [https://patchwork.kernel.org/project/linux-arm-kernel/cover/cover.1604988979.git.frank@allwinnertech.com/ Second step support for A100]<br />
<br />
* [[A83T]]/[[V3s]] MIPI CSI-2 Paul Kocialkowski [https://patchwork.kernel.org/project/linux-arm-kernel/list/?series=369649 Allwinner MIPI CSI-2 support for A31/V3s/A83T ]<br />
<br />
* [[H6]] Hypervisor for PCIe [https://forum.armbian.com/topic/13529-a-try-on-utilizing-h6-pcie-with-virtualization/ A try on utilizing H6 PCIe with "Virtualization"]<br />
<br />
* [[A64]] / [[H3]] / [[H5]] / [[H6]] HDMI Audio - Clément Péron / Marcus Cooper / Jernej Škrabec [https://patchwork.kernel.org/cover/11510511/ Add Allwinner H3/H5/A64 HDMI audio]<br />
<br />
* [[R40]] MIPI-DSI WIP Jagan Teki [https://patchwork.kernel.org/cover/11314031/ drm/sun4i: Allwinner R40 MIPI-DSI support v3] <br />
<br />
* [[AC100]] Audio codec WiP Ondrej Jirman [https://megous.com/git/linux/commit/?h=orange-pi-5.5&id=170d38d650f67657600d4e0e868e0e7110b89ee1 digital part] [https://megous.com/git/linux/commit/?h=orange-pi-5.5&id=ee424255a6fb9280ac27c1953019b768ca973ca7 analog part]<br />
<br />
* [[F1C100s]] USB WIP George Hilliard [https://lore.kernel.org/patchwork/cover/1206936/ Support the Allwinner F1C100s USB stack]<br />
<br />
* [[V3s]] SRAM & Video Decoding Engine (Cedrus) WiP Martin Cerveny [https://patchwork.kernel.org/project/linux-arm-kernel/list/?series=347787 Enable video decoder] ([https://github.com/mcerveny/linux/commits/v3s_videocodec_v4 testing with attached LCD])<br />
<br />
=== Minor drivers ===<br />
<!-- Please move the newest entry to the top --><br />
* [[H6]] RSB Samuel Holland [https://patchwork.kernel.org/project/linux-arm-kernel/cover/20201213235506.25201-1-samuel@sholland.org/ Allwinner H6 RSB support]<br />
* [[A100]] CPUFreq (DVFS) Shuosheng Huang [https://patchwork.kernel.org/project/linux-arm-kernel/list/?series=396055&archive=both&state=* cpufreq: sun50i: add a100 cpufreq support]<br />
* [[A64]] hwspinlock WIP Nikolay Borisov [https://patchwork.kernel.org/cover/11373645/ Add support for hwspinlock on A64 SoC] <br />
* [[A83T]] / [[A64]] / [[H3]] hwspinlock WIP Corentin Labbe (montjoie) [https://lore.kernel.org/patchwork/patch/706512/ RFC,1/3][https://lore.kernel.org/patchwork/patch/706511/ RFC,2/3][https://lore.kernel.org/patchwork/patch/706513/ RFC,3/3]<br />
* [[A10]] / [[A20]] / [[A31]] HDMI Audio WIP Stefan Mavrodiev [https://lore.kernel.org/patchwork/cover/1177803/ Add support for sun4i HDMI audio]<br />
* [[A80]] Thermal sensor WIP Philipp Rossak (embed-3d): https://github.com/embed-3d/linux/branches/all<br />
* [[R40]] PWM (WIP Hao Zhang [https://www.spinics.net/lists/kernel/msg2731498.html patch-v2])<br />
* [[A20]] Keypad (WiP: Yassin Jaffer (ddc) [http://lists.infradead.org/pipermail/linux-arm-kernel/2015-September/370079.html patch])<br />
* sun8i-ce/sun8i-ss RSA/ECC WIP Corentin LABBE (no public patch yet)<br />
* EMCE WIP Corentin LABBE (no public patch yet) / Mripard https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux.git/log/?h=sunxi/h6-emmc-inline-encryption BUT proably not usable https://lore.kernel.org/linux-mmc/20210317171554.a4vgihqfjq2xa5cb@gilmour/<br />
=== Drivers that can still be improved/added ===<br />
<br />
Nobody works on these features. If you're interested, you can pick one of these add your name to them and move them to one of the sections above, to indicate you're working on the driver/feature.<br />
<br />
* [[A31]]/[[A31s]] PWM support ([https://patchwork.ozlabs.org/project/linux-pwm/list/?submitter=70938&state=*&archive=both patch-v4] abandoned by Siarhei Volkau)<br />
* sunxi-musb driver lacks DMA support (with current driver, USB gadgets are limited to PIO, limiting speed to 10MiB/s and causing large CPU)<br />
* DE2 driver has buggy layer support, see [https://patchwork.kernel.org/patch/11145803/]<br />
* DE1/DE2/DE3 writeback support<br />
* A64 audiocodec driver components (sun8i-codec and sun50i-codec-analog) lack support for jack detection<br />
<br />
== Planned for 5.13 ==<br />
<br />
== Merged into 5.12 ==<br />
*[[H616]]<br />
** Clocks<br />
** Pinctrl<br />
<br />
== Merged into 5.11 ==<br />
*[[H6]]<br />
** [[I2S]]<br />
* multiple SoCs<br />
** [[Cedrus]] VP8 decoding<br />
<br />
New Devices Supported<br />
*[[H3]]<br />
** [[FriendlyArm NanoPi R1]]<br />
** [[FriendlyArm ZeroPi]]<br />
*[[S3]]<br />
** [[Elimo Impetus]]<br />
** [[Elimo Initium]]<br />
<br />
== Merged into 5.10 ==<br />
*[[A100]]<br />
** Clocks<br />
** Pinctrl<br />
** [[I2C]]<br />
** Thermal (THS)<br />
<br />
*[[R40]]<br />
** DMA<br />
** GPU [[Mali]]<br />
** [[IR]]<br />
** [[SRAM Controller|SRAM]]<br />
** [[Video_Engine]] | [[Sunxi-Cedrus]]<br />
<br />
*[[V3s]]<br />
** Crypto<br />
** Ethernet<br />
** SimpleFB<br />
** [[SRAM Controller|SRAM]]<br />
<br />
* sun8i-ce/sun8i-ss<br />
** support for PRNG<br />
** support for hashs<br />
** support for TRNG ([[H6]] only)<br />
<br />
New Devices Supported<br />
*[[A100]]<br />
** [[Perf1 board]]<br />
*[[S3l]]<br />
** [[PineCube]]<br />
<br />
== Merged into 5.9 ==<br />
* [[H5]]<br />
** DVFS<br />
<br />
New Devices Supported<br />
* A64<br />
** PinePhone v1.2<br />
<br />
== Merged into 5.8 ==<br />
* [[H6]]<br />
** DVFS<br />
** IOMMU<br />
<br />
* [[A64]] / [[A83T]] / [[H3]] / [[H5]] / [[H6]]<br />
** Message Box<br />
<br />
New Devices Supported<br />
* A20<br />
** [[Olimex_A20-OLinuXino-Lime|OLinuXino Lime (A20)]] eMMC<br />
<br />
== Merged into 5.7 ==<br />
*[[A20]]<br />
** LVDS<br />
<br />
*[[A83T]] and [[A64]]<br />
** Rotate driver<br />
<br />
*[[H6]]<br />
** [[SPIdev|SPI]]<br />
<br />
*[[R40]]<br />
** Thermal<br />
<br />
New Devices Supported<br />
*[[A13]]<br />
** [[PocketBook Touch Lux 3]]<br />
*[[A64]]<br />
** [[PineTab]]<br />
** [[PinePhone]] v1.0 & v1.1<br />
*[[A20]]<br />
** Linutronix Testbox v2<br />
<br />
== Merged into 5.6 ==<br />
* [[A10]]<br />
** CSI (BT656 and Parallel)<br />
<br />
*[[A64]]<br />
** MIPI DSI<br />
** DVFS<br />
<br />
*[[A64]] / [[A83T]] / [[H3]] / [[H5]] / [[H6]]<br />
** Thermal<br />
<br />
*[[H6]]<br />
** PWM<br />
<br />
*[[H3]] / [[H5]] / [[H6]] / [[R40]]<br />
**PMU<br />
<br />
*[[R40]]<br />
** CSI (BT656 and Parallel)<br />
** [[SPIdev|SPI]]<br />
<br />
New Devices Supported<br />
* [[H5]]<br />
** ALL-H3-IT H5 board<br />
** ALL-H5-CC H5 board<br />
* [[H6]]<br />
** [[PineH64]] Model B<br />
<br />
== Merged into 5.5 ==<br />
*[[H3]]<br />
** Deinterlace driver<br />
<br />
*[[H6]]<br />
**Crypto<br />
**GPU(3D) Mali<br />
**USB3 PHY (for boards not needing vbus switching)<br />
<br />
*[[A64]] / [[A80]] / [[A83T]] / [[H3]] / [[H5]] / [[R40]] <br />
**Crypto<br />
<br />
* multiple SoCs<br />
** [[Cedrus]] HEVC/H.265<br />
<br />
* [[Bluetooth#AMPAK|Broadcom-based (AMPAK modules) Bluetooth]] support on<br />
** Emlid Neutis<br />
<br />
New Devices Supported<br />
* [[H3]]<br />
** [[FriendlyARM_NanoPi_Duo2]]<br />
<br />
== Merged into 5.4 (LTS)==<br />
* [[A20]]<br />
** CSI (BT656 and Parallel)<br />
* [[A64]]<br />
** IR<br />
* [[H6]]<br />
** IR<br />
** RTC<br />
** SPDIF<br />
New Devices Supported<br />
* [[A64]]<br />
** [[Olimex A64-OLinuXino]] eMMC<br />
* [[H6]]<br />
** [[Tanix TX6]]<br />
* [[S3]]<br />
** [[Lichee Zero Plus]]<br />
<br />
== Merged into 5.3 ==<br />
* [[A64]]<br />
** LRADC<br />
** RGB LCD<br />
* [[A83T]]<br />
** CSI (BT656 and Parallel)<br />
* [[H6]]<br />
** DMA<br />
** Watchdog<br />
* multiple SoCs<br />
** [[Cedrus]] h264<br />
<br />
== Merged into 5.2 ==<br />
* [[A83T]]<br />
** LRADC<br />
** USB OTG<br />
<br />
* [[H6]]<br />
** [[Cedrus]]<br />
<br />
* multiple SoCs<br />
** [[Mali Open Source Driver|Lima]]<br />
** [[Mali Open Source Driver|Panfrost]]<br />
<br />
* [[Bluetooth#AMPAK|Broadcom-based (AMPAK modules) Bluetooth]] support on<br />
** Banana-Pi-M2-Zero<br />
<br />
New Devices Supported<br />
* [[H6]]<br />
** [[Beelink GS1]]<br />
** [[Xunlong Orange Pi 3]]<br />
<br />
== Merged into 5.1 ==<br />
* A10<br />
** Cedrus<br />
** PMU<br />
<br />
* A20<br />
** Audio Codec improvements<br />
<br />
* A23<br />
** Display pipeline<br />
** LCD enabled on Q8 A23 tablets<br />
<br />
* A64<br />
** [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c950ca8c35eeb32224a63adc47e12f9e226da241 ARM Architectural Timer errata workaround]<br />
** PMU<br />
** CSI (BT656 and Parallel)<br />
<br />
* A80<br />
** GMAC support<br />
<br />
* CSI in general<br />
** RGR565 support<br />
** JPEG pass-through support<br />
<br />
* [[Bluetooth#AMPAK|Broadcom-based (AMPAK modules) Bluetooth]] support on<br />
** [[Banana Pi M2+]]<br />
** [[Banana Pi M2 Ultra]]<br />
<br />
* [[LCD]] enabled on [[A13]] [[Q8]] tablets<br />
<br />
== Merged into 5.0 ==<br />
* A64<br />
** Cedrus<br />
** DTS changes for audio codec<br />
<br />
* F1C100s<br />
** initial F1C100s support<br />
<br />
* H6<br />
** Ethernet<br />
** DE3/HDMI support<br />
** USB 2.0<br />
<br />
* H3 / H5<br />
** CSI (BT656 and Parallel) Support<br />
<br />
* H5<br />
** Cedrus<br />
<br />
* R40<br />
** RTC<br />
<br />
* T3<br />
** initial T3 support<ref>https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b7badd1d7aa61087010803affa19bb83fb5a0af1</ref><br />
<br />
* V3s<br />
** CSI (BT656 and Parallel) Support<br />
<br />
* [[Bluetooth#AMPAK|Broadcom-based (AMPAK modules) Bluetooth]] support on<br />
** [[Sinovoip Banana Pi M2 Magic | Banana Pi M2 Magic]]<br />
** [[Banana Pi M3]]<br />
** [[Banana Pi M64]]<br />
** [[Cubietruck]]<br />
** [[Cubietech_Cubietruck_Plus|Cubietruck Plus]]<br />
<br />
New Devices Supported<br />
* [[Xunlong Orange Pi Lite 2]]<br />
* Mapleboard MP130<br />
* LicheePi Nano<br />
* Emlid Neutis N5<br />
<br />
== Merged into 4.20 ==<br />
<br />
* A13 / A20 / A33 / H3<br />
** Cedrus driver<br />
<br />
* A83T<br />
** IR receiver<br />
<br />
* A64<br />
** Cleanup for device tree files<br />
** HDMI support<br />
** Audio codec support (DTS changes will be merged in 5.0)<br />
<br />
* H3 / H5<br />
** SID<br />
<br />
* R40<br />
** SATA<br />
<br />
New Devices Supported<br />
* [[Pine64]] LTS<br />
* [[Xunlong Orange Pi One Plus]]<br />
* [[Xunlong Orange Pi Zero Plus 2]] (H3 variant)<br />
* [[Sinovoip Banana Pi M2+]] (H5 variant)<br />
<br />
== Merged into 4.19 (LTS)==<br />
<br />
* A10 / A13 / A20 / A23 / A33<br />
** SRAM controller / system control<br />
<br />
* A64<br />
** SRAM controller / system control<br />
** Display clocks and bus<br />
** RTC clock output<br />
** PWM<br />
** R_I2C<br />
<br />
* H3<br />
** SRAM controller / system control<br />
<br />
* H6<br />
** MMC<br />
** PMIC<br />
<br />
* R40<br />
** HDMI support<br />
<br />
Board Changes<br />
* SPI flash node for [[Orange Pi PC 2]] and [[Pine64#Variants | Pine64 SoPINE]]<br />
* Use lid switch as wake-up source for A64 based laptops<br />
* LEDs added for [[PineH64]]<br />
<br />
New Devices<br />
* [[Pine Pinebook]]<br />
* Amarula A64-Relic<br />
<br />
== Changes merged up to 4.18 ==<br />
Changes up to 4.18 can be found on [[Linux mainlining history]] page.<br />
<br />
=References=<br />
<references /><br />
<br />
= See also =<br />
* [[Mainline Kernel Howto]]<br />
* [[Possible setups for hacking on mainline]]<br />
* [[Linux Kernel]]<br />
**[[Toolchain]]<br />
<br />
=External Links=<br />
* [http://www.kernel.org kernel.org] - Official website for the Linux Kernel<br />
** [http://github.com/torvalds/linux http://github.com/torvalds/linux] - Linus Torvalds' GitHub account with the upstream Linux kernel<br />
* [http://www.kernel.org/doc/ Linux Kernel documentation index]<br />
* [http://www.kernel.org/doc/man-pages/ Linux Kernel man pages]<br />
* [http://kernelnewbies.org/ Kernel Newbies Site - Excellent source of information for people new to kernel]<br />
* [http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=summary Linus' kernel tree for 2.6]<br />
* [https://bugzilla.kernel.org/ Kernel bugzilla] - [https://bugzilla.kernel.org/show_bug.cgi?id=15790 Regressions for each of recent versions]<br />
* [http://www.fsfla.org/svnwiki/selibre/linux-libre/ Linux-libre project - Maintains and distributes fully free kernel]<br />
* [http://lingrok.org/ LinGrok, Linux kernel source code cross-reference]<br />
* [https://elixir.bootlin.com/linux/latest/source?a=arm Bootlin LXR (Linux Cross Reference)]<br />
* [http://lists.infradead.org/pipermail/linux-arm-kernel/ linux-arm-kernel - Mailing list archive]<br />
===How to upstream===<br />
* [http://www.elinux.org/images/a/ad/Arm-soc-checklist.pdf Your new ARM SoC Linux support check-list! by Thomas Petazzoni of Bootlin]<br />
*[http://www.cnx-software.com/2014/03/04/linux-kernel-upstreaming-how-to-linaro-connect-asia-2014/ Linux Kernel Upstreaming How-To (CNXSoft - Embedded Software Development)]<br />
**[http://www.youtube.com/watch?v=dY7fikYZ42c Matt Porter's YouTube video talk on “Upstreaming 101" (LCA14-111)]<br />
***[http://www.linaro.org/documents/download/65f888c674508efcf9bd5d90398a186a530d01c4c78db Matt Porter's presentation slides for “Upstreaming 101" (LCA14-111)]<br />
**[https://www.youtube.com/watch?v=FiQ5uV_Mm5c Matt Porter's YouTube video talk on “Upstreaming 201" (LCA14-112)]<br />
***[http://www.linaro.org/documents/download/7b9920fcc89589bad9063d87d9137f08530d020b71924 Matt Porter's presentation slides for “Upstreaming 201" (LCA14-112)]<br />
*[http://www.cnx-software.com/2011/08/19/how-to-write-and-submit-a-linux-kernel-patch/ How to Write and Submit a Linux Kernel Patch (CNXSoft - Embedded Software Development)]<br />
** [http://www.youtube.com/watch?v=LLBrBBImJt4 YouTube Video- Write and Submit your first Linux kernel Patch]<br />
** [http://www.cnx-software.com/pdf/kernel-tutorial/kernel_patch_tutorial.pdf Greg Kroah-Hartman Kernel Tutorial Write and Submit your first Linux Kernel Patch]<br />
*[http://www.linaro.org/connect-lca14/resources Linaro resources page from LCA (Linaro Connect Asia) 2014]<br />
<br />
=Notes=<br />
<references group=note /><br />
<br />
[[Category:Development]]</div>
StandaSK
https://linux-sunxi.org/index.php?title=Nextbook_Ares_10a&diff=24041
Nextbook Ares 10a
2021-03-10T18:40:53Z
<p>StandaSK: Fix A64 link, add categories</p>
<hr />
<div>{{Infobox Board<br />
| image = [[File:Ares10a-Board.jpg|250px]]<br />
| manufacturer = [Nextbook]<br />
| release_date = {{Edit|2017}}<br />
| website = [Nextbook Website seemingly Dead]<br />
| soc = [[A64]] @ 1.3Ghz<br />
| dram = 1GiB DDR3(L) @ ??MHz<br />
| nand = 32GB (28.906 Gb actual)<br />
| power = DC 5V @ 2A, 4000mAh 3.8V Li-Ion battery<br />
| lcd = 1280 x 800; DPI: 160<br />
| touchscreen = 5-finger capacitive<br />
| video = Mali-400 MP; ARM; OpenGL ES-CM 1.1; OpenGL ES 2.0<br />
| audio = 3.5mm headphone plug, internal stereo speakers<br />
| network = WiFi RTL8723CS, Ethernet Realtek 8150 based adapters <br />
| storage = 32Gb Flash, 128Gb SD Slot<br />
| usb = 1 USB2.0 Host/OTG<br />
| camera = 1.9MP (1600x1200) front, 1.9MP (1600x1200) rear<br />
| other = Bosch 3-axis Accelerometer, GPS, Bluetooth<br />
| headers = UART(?), LCD<br />
}}<br />
<br />
{{Remove_only_when_finished|This page needs to be properly filled according to the [[New_Device_howto |New Device Howto]] and the [[New_Device_page|New Device Page guide]].}}<br />
= So Far =<br />
I've struggled to get this tablet going with lacking information around the innernet, however while writing this page, I'm finding more and more that this device is very close to the Pine64. Still searching! <br />
Specs found here: http://specdevice.com/showspec.php?id=4b25-967f-0033-c5870033c587<br />
= Identification = <br />
At the bottom of the board is printed <br />
'''AW02_V1.2'''<br />
'''2017/08/16'''<br />
<br />
Model Number: '''NX16A10132SPS'''<br />
Build Number: '''tulip_p3-user 7.1.1 N9F27C 20171123 test-keys'''<br />
<br />
= Sunxi support =<br />
Responds well to all Suxni-tool as far as I can tell.<br />
= FEL Mode =<br />
1.) Hold VolUp+PWR - few sec.<br />
2.) Release PWR - couple sec.<br />
3.) Press PWR - Repeatedly - couple sec.<br />
4.) Hold PWR - few sec.<br />
5.) Release PWR.<br />
6.) Release VolUp.<br />
(Note - VolUp is held until last step but the rest does not have to be exact.)<br />
<br />
[[Category:Devices]]<br />
[[Category:A64 Tablets]]</div>
StandaSK
https://linux-sunxi.org/index.php?title=Navon_iQ7_2018&diff=24032
Navon iQ7 2018
2021-02-28T17:45:44Z
<p>StandaSK: /* Pictures */ Finally took a picture of the back of the board, there seem to be some UART candidates thankfully</p>
<hr />
<div>{{Infobox Board<br />
| image = [[File:Navon_iQ7_2018_front.jpg|250px]]<br />
| manufacturer = [https://smartnavon.eu/ Navon]<br />
| dimensions = 115''mm'' x 10''mm'' x 190''mm''<br />
| release_date = 2018<br />
| soc = [[A64]] @ 1.152Ghz<br />
| dram = 1GiB LPDDR2 @ 533(?)MHz<br />
| nand = 8GB<br />
| power = microUSB, 2500mAh 3.7V Li-Ion battery<br />
| lcd = 600x1024 (7" ~17∶10)<br />
| touchscreen = 5-finger capacitive ([[GSL1680|Silead GSL1680]])<br />
| audio = 3.5mm TRRS headphone and microphone plug, internal speaker, internal microphone<br />
| network = WiFi 802.11 b/g/n ([[Wifi#Realtek|Realtek RTL8703BS]])<br />
| storage = µSD<br />
| usb = 1x USB 2.0 OTG<br />
| camera = 0.3MP (640x480) front (GalaxyCore GC0312), 2MP (1600x1200) rear (GalaxyCore GC2145)<br />
| other = Accelerometer ([[Accelerometer#Device|Manufacturer device]]), GPS, IRDA<br />
| headers = UART, JTAG, LCD, ...<br />
}}<br />
<br />
{{Remove_only_when_finished|This page needs to be properly filled according to the [[New_Device_howto |New Device Howto]] and the [[New_Device_page|New Device Page guide]].}}<br />
<br />
= Identification =<br />
On the back of the device, the following is printed:<br />
<pre>Navon<br />
iQ7 2018</pre><br />
<br />
The PCB has the following silkscreened on it:<br />
<pre>AL-A64-86VH-V1.0<br />
22DB_20180730</pre><br />
<br />
In android, under Settings->About Tablet, you will find:<br />
* Model Number: ''iQ7_2018''<br />
* Build Number: ''Navon_V1.0_20180114''<br />
<br />
= Sunxi support =<br />
<br />
== Current status ==<br />
<br />
{{Remove|Give a brief overview of the current status of support under sunxi here.}}<br />
<br />
== Images ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE specific sunxi ROM images here. E.g. a livesuit image or some other linux image which uses linux-sunxi code. Do not put non-sunxi images here, they should live under [[#See_also|See also]]. If no sunxi based images are available, this section can be removed.}}<br />
<br />
== HW-Pack ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE sunxi HW-pack specifics here. When empty, this section can be removed.}}<br />
<br />
== BSP ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE sunxi BSP specifics here. When empty, this section can be removed.}}<br />
<br />
== Manual build ==<br />
<br />
You can build things for yourself by following our [[Manual_build_howto | Manual build howto]] and by choosing from the configurations available below.<br />
<br />
=== U-Boot ===<br />
<br />
==== Mainline U-Boot ====<br />
<br />
Use the ''{{Edit|MANUFACTURER_DEVICE}}'' build target.<br />
<br />
=== Linux Kernel ===<br />
<br />
==== Mainline kernel ====<br />
<br />
Use the ''{{Edit|FAMILY-CHIP-DEVICE.dtb}}'' device-tree binary.<br />
<br />
= Tips, Tricks, Caveats =<br />
<br />
{{Remove|Add MANUFACTURER DEVICE specific tips, tricks, Caveats and nice to have changes here.}}<br />
<br />
== FEL mode ==<br />
<br />
It is possible to enter [[FEL|FEL mode]] using the Volume Down button with [[FEL#By_holding_a_standard_button|this method]] or through the [[FEL#Through_a_special_SD_card_image|special SD card image]].<br />
<br />
= Adding a serial port ('''voids warranty''') =<br />
<br />
[[File:device_uart.jpg|thumb|240px|{{Remove|DEVICE}} UART pads]]<br />
<br />
{{Remove|This section explains how to attach a serial port to the device. Make sure it refers to our [[UART|UART howto]]. For a development board, you can just mention how to find the header with the pins and include a picture, and you can remove the warranty voiding warning.}}<br />
<br />
== Device disassembly ==<br />
# Unscrew the two screws at the top of the device (the side with all the ports and buttons)<br />
# Use a [[Plastic tool]] to unclip the back cover<br />
<br />
== Locating the UART ==<br />
<br />
{{Remove|Describe how to find the RX,TX,GND signals here, and mention the [[UART|UART howto]].}}<br />
<br />
= Pictures =<br />
<br />
<gallery><br />
File:Navon_iQ7_2018_front.jpg<br />
File:Navon_iQ7_2018_back.jpg<br />
File:Navon_iQ7_2018_top.jpg<br />
File:Navon_iQ7_2018_back_removed.jpg<br />
File:Navon_iQ7_2018_board_front.jpeg<br />
File:Navon_iQ7_2018_board_back.jpg<br />
</gallery><br />
<br />
= Also known as =<br />
<br />
{{Remove|List rebadged devices here.}}<br />
<br />
= See also =<br />
<br />
{{Remove|Add some nice to have links here. This includes related devices, and external links.}}<br />
<br />
== Manufacturer images ==<br />
<br />
{{Remove|Optional. Add non-sunxi images in this section.}}<br />
<br />
[[Category:Devices]]<br />
[[Category:A64 Tablets]]<br />
[[Category:Devices with Wifi]]<br />
[[Category:Devices with Bluetooth]]</div>
StandaSK
https://linux-sunxi.org/index.php?title=File:Navon_iQ7_2018_board_back.jpg&diff=24031
File:Navon iQ7 2018 board back.jpg
2021-02-28T17:44:54Z
<p>StandaSK: </p>
<hr />
<div></div>
StandaSK
https://linux-sunxi.org/index.php?title=Navon_iQ7_2018&diff=24027
Navon iQ7 2018
2021-02-25T10:31:55Z
<p>StandaSK: Remove legacy sections (not useful for A64)</p>
<hr />
<div>{{Infobox Board<br />
| image = [[File:Navon_iQ7_2018_front.jpg|250px]]<br />
| manufacturer = [https://smartnavon.eu/ Navon]<br />
| dimensions = 115''mm'' x 10''mm'' x 190''mm''<br />
| release_date = 2018<br />
| soc = [[A64]] @ 1.152Ghz<br />
| dram = 1GiB LPDDR2 @ 533(?)MHz<br />
| nand = 8GB<br />
| power = microUSB, 2500mAh 3.7V Li-Ion battery<br />
| lcd = 600x1024 (7" ~17∶10)<br />
| touchscreen = 5-finger capacitive ([[GSL1680|Silead GSL1680]])<br />
| audio = 3.5mm TRRS headphone and microphone plug, internal speaker, internal microphone<br />
| network = WiFi 802.11 b/g/n ([[Wifi#Realtek|Realtek RTL8703BS]])<br />
| storage = µSD<br />
| usb = 1x USB 2.0 OTG<br />
| camera = 0.3MP (640x480) front (GalaxyCore GC0312), 2MP (1600x1200) rear (GalaxyCore GC2145)<br />
| other = Accelerometer ([[Accelerometer#Device|Manufacturer device]]), GPS, IRDA<br />
| headers = UART, JTAG, LCD, ...<br />
}}<br />
<br />
{{Remove_only_when_finished|This page needs to be properly filled according to the [[New_Device_howto |New Device Howto]] and the [[New_Device_page|New Device Page guide]].}}<br />
<br />
= Identification =<br />
On the back of the device, the following is printed:<br />
<pre>Navon<br />
iQ7 2018</pre><br />
<br />
The PCB has the following silkscreened on it:<br />
<pre>AL-A64-86VH-V1.0<br />
22DB_20180730</pre><br />
<br />
In android, under Settings->About Tablet, you will find:<br />
* Model Number: ''iQ7_2018''<br />
* Build Number: ''Navon_V1.0_20180114''<br />
<br />
= Sunxi support =<br />
<br />
== Current status ==<br />
<br />
{{Remove|Give a brief overview of the current status of support under sunxi here.}}<br />
<br />
== Images ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE specific sunxi ROM images here. E.g. a livesuit image or some other linux image which uses linux-sunxi code. Do not put non-sunxi images here, they should live under [[#See_also|See also]]. If no sunxi based images are available, this section can be removed.}}<br />
<br />
== HW-Pack ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE sunxi HW-pack specifics here. When empty, this section can be removed.}}<br />
<br />
== BSP ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE sunxi BSP specifics here. When empty, this section can be removed.}}<br />
<br />
== Manual build ==<br />
<br />
You can build things for yourself by following our [[Manual_build_howto | Manual build howto]] and by choosing from the configurations available below.<br />
<br />
=== U-Boot ===<br />
<br />
==== Mainline U-Boot ====<br />
<br />
Use the ''{{Edit|MANUFACTURER_DEVICE}}'' build target.<br />
<br />
=== Linux Kernel ===<br />
<br />
==== Mainline kernel ====<br />
<br />
Use the ''{{Edit|FAMILY-CHIP-DEVICE.dtb}}'' device-tree binary.<br />
<br />
= Tips, Tricks, Caveats =<br />
<br />
{{Remove|Add MANUFACTURER DEVICE specific tips, tricks, Caveats and nice to have changes here.}}<br />
<br />
== FEL mode ==<br />
<br />
It is possible to enter [[FEL|FEL mode]] using the Volume Down button with [[FEL#By_holding_a_standard_button|this method]] or through the [[FEL#Through_a_special_SD_card_image|special SD card image]].<br />
<br />
= Adding a serial port ('''voids warranty''') =<br />
<br />
[[File:device_uart.jpg|thumb|240px|{{Remove|DEVICE}} UART pads]]<br />
<br />
{{Remove|This section explains how to attach a serial port to the device. Make sure it refers to our [[UART|UART howto]]. For a development board, you can just mention how to find the header with the pins and include a picture, and you can remove the warranty voiding warning.}}<br />
<br />
== Device disassembly ==<br />
# Unscrew the two screws at the top of the device (the side with all the ports and buttons)<br />
# Use a [[Plastic tool]] to unclip the back cover<br />
<br />
== Locating the UART ==<br />
<br />
{{Remove|Describe how to find the RX,TX,GND signals here, and mention the [[UART|UART howto]].}}<br />
<br />
= Pictures =<br />
<br />
<gallery><br />
File:Navon_iQ7_2018_front.jpg<br />
File:Navon_iQ7_2018_back.jpg<br />
File:Navon_iQ7_2018_top.jpg<br />
File:Navon_iQ7_2018_back_removed.jpg<br />
File:Navon_iQ7_2018_board_front.jpeg<br />
File:Device_board_back.jpg<br />
</gallery><br />
<br />
= Also known as =<br />
<br />
{{Remove|List rebadged devices here.}}<br />
<br />
= See also =<br />
<br />
{{Remove|Add some nice to have links here. This includes related devices, and external links.}}<br />
<br />
== Manufacturer images ==<br />
<br />
{{Remove|Optional. Add non-sunxi images in this section.}}<br />
<br />
[[Category:Devices]]<br />
[[Category:A64 Tablets]]<br />
[[Category:Devices with Wifi]]<br />
[[Category:Devices with Bluetooth]]</div>
StandaSK
https://linux-sunxi.org/index.php?title=Pine_Pinebook&diff=23993
Pine Pinebook
2021-02-13T14:16:42Z
<p>StandaSK: Fix broken product page link</p>
<hr />
<div>{{Infobox Board<br />
| image = [[File:Pinebook_11_Inch_Small_Clip.png]]<br />
| manufacturer = [https://www.pine64.org/ Pine Microsystems Inc.]<br />
| dimensions = 329''mm'' x 220''mm'' x 23?''mm'' (14" model), 300''mm'' x 200''mm'' x 23?''mm'' (11" model)<br />
| release_date = tba<br />
| website = [https://www.pine64.org/pinebook/ Pinebook product page]<br />
| soc = [[A64]] @ 1152Mhz max. <br />
| dram = 2GiB DDR3L (Prototype) @ {{Edit|xxx}}MHz, 2GiB LPDDR3 (Production) [[DDR3#NCLD3B2512M32|Foresee NCLD3B2512M32]] @ 533 MHz<br />
| eMMC = 16GB (14" Prototype), 8GB (11" Prototype), 16GB module (Production)<br />
| power = DC 5V@3A 3.5mm/1.35mm barrel plug, 10Ah 3.7V 1S2P LiPo battery<br />
| lcd = 14" (HB140WX1-501) - 1366x768 (TN panel), 11" (N116BGE) - 1366x768 (TN panel), 11" (LC116LF3L01) - 1920x1080 (IPS)<br />
| video = HDMI (Type C - mini)<br />
| audio = 3.5mm headset plug (4pin), HDMI, internal stereo speakers, internal microphone(s)<br />
| network = WiFi 802.11 b/g/n + BT4.0 ([[Realtek RTL8723cs|RTL8723cs]])<br />
| storage = 16GB replaceable eMMC module (default) (HS-200), uSD slot (SDR25)<br />
| usb = 1 USB2.0 Host (USB-A) via internal 4 port hub (camera, HID), 1 USB2.0 OTG/Host (USB-A)<br />
| camera = 0.3MP (640x480) front USB camera (ZC-RZ3762 / BYD BF3703)<br />
| other = 8051 based (SinoWealth SH68F83) USB HID keyboard/touchpad bridge; weight 1260''g'' (14"), 1040''g'' (11")<br />
| headers = <br />
}}<br />
<br />
{{Remove_only_when_finished|This page needs to be properly filled according to the [[New_Device_howto |New Device Howto]] and the [[New_Device_page|New Device Page guide]].}}<br />
<br />
{{Remove|If a device is special, then feel free to provide a terse description of what makes this device so special. But terse, no novels, no marketing blurb.}}<br />
<br />
= Identification =<br />
{{Remove|This section explains how to most easily identify your device. For a development board, explain the name(s) printed on the board. For an android device, find out the strings as reported under settings.}}<br />
<br />
On the back of the device, the following is printed:<br />
<pre><br />
* Prototypes<br />
** Prototypes do not seem to have external markings besides Pine64 stickers...</pre><br />
<br />
The PCB has the following silkscreened on it:<br />
<pre><br />
* Prototypes<br />
** Mainboard (bottom): A114-A64_V1.1 2016-08-23<br />
** Daughterboard (top): A114-A64_USB_V1.1 2016-09-23<br />
</pre><br />
<br />
In android, under Settings->About Tablet, you will find:<br />
* Model Number: ''{{Edit|DEVICE}}''<br />
* Build Number: ''{{Edit|SOC_BOARD_DEVICE_*.*}}''<br />
<br />
== Different models ==<br />
So far there are two different models based on the same PCB<br />
<br />
* 14inch LCD<br />
* 11inch LCD<br />
<br />
= Sunxi support =<br />
<br />
== Current status ==<br />
<br />
{{Remove|Give a brief overview of the current status of support under sunxi here.}}<br />
<br />
== Images ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE specific sunxi ROM images here. E.g. a livesuit image or some other linux image which uses linux-sunxi code. Do not put non-sunxi images here, they should live under [[#See_also|See also]]. If no sunxi based images are available, this section can be removed.}}<br />
<br />
== HW-Pack ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE sunxi HW-pack specifics here. When empty, this section can be removed.}}<br />
<br />
== BSP ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE sunxi BSP specifics here. When empty, this section can be removed.}}<br />
<br />
== Manual build ==<br />
<br />
You can build things for yourself by following our [[Manual_build_howto | Manual build howto]] and by choosing from the configurations available below.<br />
<br />
=== U-Boot ===<br />
<br />
==== Sunxi/Legacy U-Boot ====<br />
<br />
Use the ''{{Edit|MANUFACTURER_DEVICE}}'' build target.<br />
<br />
==== Mainline U-Boot ====<br />
<br />
Use the ''{{Edit|MANUFACTURER_DEVICE}}'' build target.<br />
<br />
=== Linux Kernel ===<br />
<br />
==== Sunxi/Legacy Kernel ====<br />
<br />
Use the [https://github.com/linux-sunxi/sunxi-boards/blob/master/sys_config/SOC/MANUFACTURER_DEVICE.fex ''{{Edit|MANUFACTURER_DEVICE.fex}}''] file.<br />
<br />
==== Mainline kernel ====<br />
<br />
Use the ''{{Edit|FAMILY-CHIP-DEVICE.dtb}}'' device-tree binary.<br />
<br />
= Tips, Tricks, Caveats =<br />
<br />
{{Remove|Add MANUFACTURER DEVICE specific tips, tricks, Caveats and nice to have changes here.}}<br />
<br />
== FEL mode ==<br />
* Prototypes<br />
The FEL mode can be entered either via pulling the FEL tespad to GND while turning on the system (see below for Testpad location) or via a specially crafted boot0 on a microSD card.<br />
<br />
* Production Units<br />
The FEL mode can be entered either by using the FEL button on the PCB while turning on the unit or via a specially crafted boot0 on a microSD card.<br />
<br />
== Power Management ==<br />
<br />
The Pinebook is powered by a 3.5mm/1.35mm barrel plug, sleeve is GND, inner contact +5V. The maximum input current is 3A. The PCB contains an implementation of the standard AXP803 PMIC with a 10Ah LiPo battery attached. There is a secondary power path via the OTG-USB port... TODO: add more info, add current requirements for LCD/backlight and other components<br />
<br />
== Audio Paths ==<br />
<br />
The Pinebook utilizes the internal codec of the A64 with some extra hardware in the audio paths:<br />
<br />
* LINEOUT via amplifiers (1W/8R) (with GPIO controlled mute, PA-SHDN = PH7) to the internal speakers<br />
* HP-OUT is connected to the 4-pin 3.5mm headset jack<br />
* MIC1 & MIC2 are used in a multiplexed scheme for either headset jack or internal microphones (TODO/check new schematics)<br />
** MIC1 is connected to one of the internal microphones<br />
** MIC2 is multiplexed between the second internal microphone (MIC2-EN=L) or the headphone jack (MIC2-EN=H)<br />
** GPIO to control MIC2 multiplexer: MIC2-EN = PL11<br />
<br />
== Video Paths ==<br />
<br />
* HDMI ...<br />
* RGB-LCD --> ANX6345 eDP bridge --> LCD ...<br />
** LCD/backlight is controlled via GPIOs (LCD-EN=PH6, LCD-BL-EN=PD23, LCD-RST=PD24, LCD-HPD=PL7 ) and a PWM output (LCD-PWM=PD22/PWM0)<br />
** LCD open/close status is detected via a hall effect sensor connected to GPIO PH10 (sensor located between the uSD card slot and headphone jack)<br />
<br />
TODO: add more info<br />
<br />
== Wifi/BT ==<br />
<br />
The RTL8723cs SDIO module is similar to the RTL8723bs used for the Pine64 Wifi/BT module...<br />
TODO: wifi mainline driver source and BT firmware loader description...<br />
<br />
* GPIOs<br />
** WL-PMU-EN = PL2<br />
** WL-WAKE-AP = PL3<br />
** BT-RST-N = PL4<br />
** BT-WAKE-AP = PL5<br />
** AP-WAKE-BT = PL6<br />
<br />
== Extra internal headers, sensors ==<br />
* Keyboard controller is a [[:File:SH68F83V2.0.pdf|SH68F83]] low speed USB microcontroller with 8051 core<br />
* Touchpad is connected via i2c to keyboard controller<br />
<br />
=== Prototype ===<br />
* Capacitive touchpanel header (provides access to I2C/TWI0, GPIOs PH4&PH8)<br />
* Bosch BMA223 acceleration sensor (via I2C/TWI1, default address=0x18 and GPIO-IRQ PH5)<br />
* Free USB port on the internal hub? (seems routed to the sdcard daughterboard, production units may have testpads, TODO: confirm)<br />
=== Production ===<br />
* Free USB port on the internal hub is routed to daughterboard connector pins 7(DP) and 8(DM)<br />
<br />
TODO: add more info<br />
<br />
== ... ==<br />
<br />
= Adding a serial port =<br />
<br />
== Production Pinebook ==<br />
Production Pinebooks have the serial port multiplexed with the audio jack output.<br />
See here for the pinout:<br />
*[http://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf Pinebook Headphone Jack UART Connector Pinout]<br />
(Beware, for me it seems RX/TX are swapped, and the TIP is actually RX on my Pinebook!)<br />
<br />
For activating the serial/UART on the audio jack on the production pinebook there seem to be two variants:<br />
# Variant with a software controller GPIO, which can be activated using the "sudo pinebook_enable_uart.sh" command (and "sudo pinebook_enable_headphone.sh" to restore back to headphones output)<br />
# Variant with a hardware switch that needs to be toggled, and requires opening the back cover of the pinebook. Once opened, flip the switch located here:<br />
<gallery><br />
File:Pinebook_14_UART_serial_switch.jpg<br />
</gallery><br />
<br />
Once the audio jack is configured for outputting serial/uart data, you'll be able to see boot0, uboot, linux kernel logs, ... up until you'll eventually get a login prompt.<br />
Serial settings:<br />
<br />
115200, 8N1, no flow control<br />
<br />
In case of a software controlled GPIO, you might have to disable the service restoring audio output, if you want the UART to remain active:<br />
$> sudo systemctl disable pinebook-headphones<br />
<br />
== Prototype Pinebook ==<br />
The prototype Pinebook PCBs do not have a UART0 header, only testpads on the bottom side which requires removing the PCB and soldering some wires / breakout board to it. The production units are planned to have UART0 multiplexed on the headphone jack (TODO: describe trigger condition)<br />
<br />
== Opening the Pinebook ==<br />
<br />
Opening the Pinebook is easy:<br />
* Remove all the screws on the bottom. Make sure to note which screws go where since they have different lengths!<br />
* To pull off the cover, slide a plastic/metal lid/spudger in between the cover and the laptop body, to unclip it in several locations. Start at an easy spot and work your way around the whole cover.<br />
<br />
== Locating the UART ==<br />
<br />
The UART and FEL testpad locations for the prototype PCBs can bee seen in the picture, colors are as following: Green-TXD, Orange-RXD, Yellow-FEL, Black-GND. The A64 uses 3,3V CMOS signal levels, so make sure your UART adapter does not use 5V, see [[UART|UART howto]] for more information.<br />
<br />
<gallery><br />
File:pinebook_uart_fel.jpg<br />
</gallery><br />
<br />
= Pictures =<br />
<br />
{{Remove|Take some pictures of your device, [[Special:Upload | upload them]], and add them here. DO NOT UPLOAD PICTURES WHICH YOU PLUCKED OFF THE INTERNET.}}<br />
<br />
== Pinebook 11.6" ==<br />
<br />
<gallery><br />
File:Pinebook_11_Inch.jpg<br />
File:Pinebook_11_Inch_Side_View.jpg<br />
File:Pinebook_11_Bottom.jpg<br />
</gallery><br />
<br />
== Pinebook 11.6" 1080p ==<br />
<br />
<gallery><br />
File:Pinebook_11_1080p_front.jpg<br />
File:Pinebook_11_1080p_keyboard.jpg<br />
File:Pinebook_11_1080p_bottom.jpg<br />
File:Pinebook_11_1080p_inside_overview.jpg<br />
File:Pinebook_11_1080p_battery.jpg<br />
File:Pinebook_11_1080p_mainboard.jpg<br />
</gallery><br />
<br />
== Pinebook 14" ==<br />
<br />
<gallery><br />
File:Pinebook_14_Inch_with_Ethernet_Adapter.jpg<br />
File:Pinebook_14_Inch_Side_View.jpg<br />
File:Pinebook_14_Bottom.jpg<br />
File:Pinebook_14_inside.jpg<br />
</gallery><br />
<br />
== Accessories and pre-production units ==<br />
<br />
<gallery><br />
File:16GB_NCEMBSF9-16G_eMMC.jpg<br />
File:Pinebook_11inch.jpg<br />
File:Pinebook_11inch_left.jpg<br />
File:Pinebook_11inch_right.jpg<br />
File:Pinebook_prototype_open.jpg<br />
</gallery><br />
<br />
= See also =<br />
<br />
*[https://github.com/ayufan-pine64 Ayufan's GitHub with BSP based builds of Android and u-boot, Linux kernel for Pine64, Pinebook]<br />
*[http://wiki.pine64.org/index.php/Main_Page wiki.pine64.org Further info on the hardware and firmware]. <br />
*[http://forum.pine64.org/ forum.pine64.org Discussion on pine64]<br />
<br />
== Datasheets ==<br />
<br />
*[http://files.pine64.org/doc/pinebook/pinebook_mainboard_schematic_1.0.pdf Pinebook Logicboard Schematic V1.0 (prototypes)]<br />
*[http://files.pine64.org/doc/pinebook/pinebook_mainboard_schematic_3.0.pdf Pinebook Logicboard Schematic V3.0 (Production)]<br />
*[http://files.pine64.org/doc/pinebook/pinebook_smallboard_schematic_1.0.pdf Pinebook Daughterboard Schematic V1.0]<br />
*[http://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf Pinebook Headphone Jack UART Connector Pinout]<br />
<br />
== Manufacturer images ==<br />
<br />
[http://wiki.pine64.org/index.php/Pine_A64_Software_Release Pine A64 Android release and Linux BSP]<br />
<br />
[[Category:Devices]]</div>
StandaSK
https://linux-sunxi.org/index.php?title=Navon_iQ7_2018&diff=23986
Navon iQ7 2018
2021-02-10T18:21:04Z
<p>StandaSK: Remove some notes</p>
<hr />
<div>{{Infobox Board<br />
| image = [[File:Navon_iQ7_2018_front.jpg|250px]]<br />
| manufacturer = [https://smartnavon.eu/ Navon]<br />
| dimensions = 115''mm'' x 10''mm'' x 190''mm''<br />
| release_date = 2018<br />
| soc = [[A64]] @ 1.152Ghz<br />
| dram = 1GiB LPDDR2 @ 533(?)MHz<br />
| nand = 8GB<br />
| power = microUSB, 2500mAh 3.7V Li-Ion battery<br />
| lcd = 600x1024 (7" ~17∶10)<br />
| touchscreen = 5-finger capacitive ([[GSL1680|Silead GSL1680]])<br />
| audio = 3.5mm TRRS headphone and microphone plug, internal speaker, internal microphone<br />
| network = WiFi 802.11 b/g/n ([[Wifi#Realtek|Realtek RTL8703BS]])<br />
| storage = µSD<br />
| usb = 1x USB 2.0 OTG<br />
| camera = 0.3MP (640x480) front (GalaxyCore GC0312), 2MP (1600x1200) rear (GalaxyCore GC2145)<br />
| other = Accelerometer ([[Accelerometer#Device|Manufacturer device]]), GPS, IRDA<br />
| headers = UART, JTAG, LCD, ...<br />
}}<br />
<br />
{{Remove_only_when_finished|This page needs to be properly filled according to the [[New_Device_howto |New Device Howto]] and the [[New_Device_page|New Device Page guide]].}}<br />
<br />
= Identification =<br />
On the back of the device, the following is printed:<br />
<pre>Navon<br />
iQ7 2018</pre><br />
<br />
The PCB has the following silkscreened on it:<br />
<pre>AL-A64-86VH-V1.0<br />
22DB_20180730</pre><br />
<br />
In android, under Settings->About Tablet, you will find:<br />
* Model Number: ''iQ7_2018''<br />
* Build Number: ''Navon_V1.0_20180114''<br />
<br />
= Sunxi support =<br />
<br />
== Current status ==<br />
<br />
{{Remove|Give a brief overview of the current status of support under sunxi here.}}<br />
<br />
== Images ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE specific sunxi ROM images here. E.g. a livesuit image or some other linux image which uses linux-sunxi code. Do not put non-sunxi images here, they should live under [[#See_also|See also]]. If no sunxi based images are available, this section can be removed.}}<br />
<br />
== HW-Pack ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE sunxi HW-pack specifics here. When empty, this section can be removed.}}<br />
<br />
== BSP ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE sunxi BSP specifics here. When empty, this section can be removed.}}<br />
<br />
== Manual build ==<br />
<br />
You can build things for yourself by following our [[Manual_build_howto | Manual build howto]] and by choosing from the configurations available below.<br />
<br />
=== U-Boot ===<br />
<br />
==== Sunxi/Legacy U-Boot ====<br />
<br />
Use the ''{{Edit|MANUFACTURER_DEVICE}}'' build target.<br />
<br />
==== Mainline U-Boot ====<br />
<br />
Use the ''{{Edit|MANUFACTURER_DEVICE}}'' build target.<br />
<br />
=== Linux Kernel ===<br />
<br />
==== Sunxi/Legacy Kernel ====<br />
<br />
Use the [https://github.com/linux-sunxi/sunxi-boards/blob/master/sys_config/SOC/MANUFACTURER_DEVICE.fex ''{{Edit|MANUFACTURER_DEVICE.fex}}''] file.<br />
<br />
==== Mainline kernel ====<br />
<br />
Use the ''{{Edit|FAMILY-CHIP-DEVICE.dtb}}'' device-tree binary.<br />
<br />
= Tips, Tricks, Caveats =<br />
<br />
{{Remove|Add MANUFACTURER DEVICE specific tips, tricks, Caveats and nice to have changes here.}}<br />
<br />
== FEL mode ==<br />
<br />
It is possible to enter [[FEL|FEL mode]] using the Volume Down button with [[FEL#By_holding_a_standard_button|this method]] or through the [[FEL#Through_a_special_SD_card_image|special SD card image]].<br />
<br />
= Adding a serial port ('''voids warranty''') =<br />
<br />
[[File:device_uart.jpg|thumb|240px|{{Remove|DEVICE}} UART pads]]<br />
<br />
{{Remove|This section explains how to attach a serial port to the device. Make sure it refers to our [[UART|UART howto]]. For a development board, you can just mention how to find the header with the pins and include a picture, and you can remove the warranty voiding warning.}}<br />
<br />
== Device disassembly ==<br />
# Unscrew the two screws at the top of the device (the side with all the ports and buttons)<br />
# Use a [[Plastic tool]] to unclip the back cover<br />
<br />
== Locating the UART ==<br />
<br />
{{Remove|Describe how to find the RX,TX,GND signals here, and mention the [[UART|UART howto]].}}<br />
<br />
= Pictures =<br />
<br />
<gallery><br />
File:Navon_iQ7_2018_front.jpg<br />
File:Navon_iQ7_2018_back.jpg<br />
File:Navon_iQ7_2018_top.jpg<br />
File:Navon_iQ7_2018_back_removed.jpg<br />
File:Navon_iQ7_2018_board_front.jpeg<br />
File:Device_board_back.jpg<br />
</gallery><br />
<br />
= Also known as =<br />
<br />
{{Remove|List rebadged devices here.}}<br />
<br />
= See also =<br />
<br />
{{Remove|Add some nice to have links here. This includes related devices, and external links.}}<br />
<br />
== Manufacturer images ==<br />
<br />
{{Remove|Optional. Add non-sunxi images in this section.}}<br />
<br />
[[Category:Devices]]<br />
[[Category:A64 Tablets]]<br />
[[Category:Devices with Wifi]]<br />
[[Category:Devices with Bluetooth]]</div>
StandaSK
https://linux-sunxi.org/index.php?title=Navon_iQ7_2018&diff=23985
Navon iQ7 2018
2021-02-10T18:18:12Z
<p>StandaSK: /* FEL mode */</p>
<hr />
<div>{{Infobox Board<br />
| image = [[File:Navon_iQ7_2018_front.jpg|250px]]<br />
| manufacturer = [https://smartnavon.eu/ Navon]<br />
| dimensions = 115''mm'' x 10''mm'' x 190''mm''<br />
| release_date = 2018<br />
| soc = [[A64]] @ 1.152Ghz<br />
| dram = 1GiB LPDDR2 @ 533(?)MHz<br />
| nand = 8GB<br />
| power = microUSB, 2500mAh 3.7V Li-Ion battery<br />
| lcd = 600x1024 (7" ~17∶10)<br />
| touchscreen = 5-finger capacitive ([[GSL1680|Silead GSL1680]])<br />
| audio = 3.5mm TRRS headphone and microphone plug, internal speaker, internal microphone<br />
| network = WiFi 802.11 b/g/n ([[Wifi#Realtek|Realtek RTL8703BS]])<br />
| storage = µSD<br />
| usb = 1x USB 2.0 OTG<br />
| camera = 0.3MP (640x480) front (GalaxyCore GC0312), 2MP (1600x1200) rear (GalaxyCore GC2145)<br />
| other = Accelerometer ([[Accelerometer#Device|Manufacturer device]]), GPS, IRDA<br />
| headers = UART, JTAG, LCD, ...<br />
}}<br />
<br />
{{Remove_only_when_finished|This page needs to be properly filled according to the [[New_Device_howto |New Device Howto]] and the [[New_Device_page|New Device Page guide]].}}<br />
<br />
= Identification =<br />
On the back of the device, the following is printed:<br />
<pre>Navon<br />
iQ7 2018</pre><br />
<br />
The PCB has the following silkscreened on it:<br />
<pre>AL-A64-86VH-V1.0<br />
22DB_20180730</pre><br />
<br />
In android, under Settings->About Tablet, you will find:<br />
* Model Number: ''iQ7_2018''<br />
* Build Number: ''Navon_V1.0_20180114''<br />
<br />
= Sunxi support =<br />
<br />
== Current status ==<br />
<br />
{{Remove|Give a brief overview of the current status of support under sunxi here.}}<br />
<br />
== Images ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE specific sunxi ROM images here. E.g. a livesuit image or some other linux image which uses linux-sunxi code. Do not put non-sunxi images here, they should live under [[#See_also|See also]]. If no sunxi based images are available, this section can be removed.}}<br />
<br />
== HW-Pack ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE sunxi HW-pack specifics here. When empty, this section can be removed.}}<br />
<br />
== BSP ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE sunxi BSP specifics here. When empty, this section can be removed.}}<br />
<br />
== Manual build ==<br />
<br />
You can build things for yourself by following our [[Manual_build_howto | Manual build howto]] and by choosing from the configurations available below.<br />
<br />
=== U-Boot ===<br />
<br />
==== Sunxi/Legacy U-Boot ====<br />
<br />
Use the ''{{Edit|MANUFACTURER_DEVICE}}'' build target.<br />
<br />
==== Mainline U-Boot ====<br />
<br />
Use the ''{{Edit|MANUFACTURER_DEVICE}}'' build target.<br />
<br />
=== Linux Kernel ===<br />
<br />
==== Sunxi/Legacy Kernel ====<br />
<br />
Use the [https://github.com/linux-sunxi/sunxi-boards/blob/master/sys_config/SOC/MANUFACTURER_DEVICE.fex ''{{Edit|MANUFACTURER_DEVICE.fex}}''] file.<br />
<br />
==== Mainline kernel ====<br />
<br />
Use the ''{{Edit|FAMILY-CHIP-DEVICE.dtb}}'' device-tree binary.<br />
<br />
= Tips, Tricks, Caveats =<br />
<br />
{{Remove|Add MANUFACTURER DEVICE specific tips, tricks, Caveats and nice to have changes here.}}<br />
<br />
== FEL mode ==<br />
<br />
It is possible to enter [[FEL|FEL mode]] using the Volume Down button with [[FEL#By_holding_a_standard_button|this method]] or through the [[FEL#Through_a_special_SD_card_image|special SD card image]].<br />
<br />
== {{Edit|Device specific topic}} ==<br />
<br />
{{Remove|If there are no further device specific topics to add, remove these sections.}}<br />
<br />
== {{Edit|...}} ==<br />
<br />
= Adding a serial port ('''voids warranty''') =<br />
<br />
[[File:device_uart.jpg|thumb|240px|{{Remove|DEVICE}} UART pads]]<br />
<br />
{{Remove|This section explains how to attach a serial port to the device. Make sure it refers to our [[UART|UART howto]]. For a development board, you can just mention how to find the header with the pins and include a picture, and you can remove the warranty voiding warning.}}<br />
<br />
== Device disassembly ==<br />
# Unscrew the two screws at the top of the device (the side with all the ports and buttons)<br />
# Use a [[Plastic tool]] to unclip the back cover<br />
<br />
== Locating the UART ==<br />
<br />
{{Remove|Describe how to find the RX,TX,GND signals here, and mention the [[UART|UART howto]].}}<br />
<br />
= Pictures =<br />
<br />
<gallery><br />
File:Navon_iQ7_2018_front.jpg<br />
File:Navon_iQ7_2018_back.jpg<br />
File:Navon_iQ7_2018_top.jpg<br />
File:Navon_iQ7_2018_back_removed.jpg<br />
File:Navon_iQ7_2018_board_front.jpeg<br />
File:Device_board_back.jpg<br />
</gallery><br />
<br />
= Also known as =<br />
<br />
{{Remove|List rebadged devices here.}}<br />
<br />
= See also =<br />
<br />
{{Remove|Add some nice to have links here. This includes related devices, and external links.}}<br />
<br />
== Manufacturer images ==<br />
<br />
{{Remove|Optional. Add non-sunxi images in this section.}}<br />
<br />
[[Category:Devices]]<br />
[[Category:A64 Tablets]]<br />
[[Category:Devices with Wifi]]<br />
[[Category:Devices with Bluetooth]]</div>
StandaSK
https://linux-sunxi.org/index.php?title=Navon_iQ7_2018&diff=23984
Navon iQ7 2018
2021-02-09T18:56:23Z
<p>StandaSK: </p>
<hr />
<div>{{Infobox Board<br />
| image = [[File:Navon_iQ7_2018_front.jpg|250px]]<br />
| manufacturer = [https://smartnavon.eu/ Navon]<br />
| dimensions = 115''mm'' x 10''mm'' x 190''mm''<br />
| release_date = 2018<br />
| soc = [[A64]] @ 1.152Ghz<br />
| dram = 1GiB LPDDR2 @ 533(?)MHz<br />
| nand = 8GB<br />
| power = microUSB, 2500mAh 3.7V Li-Ion battery<br />
| lcd = 600x1024 (7" ~17∶10)<br />
| touchscreen = 5-finger capacitive ([[GSL1680|Silead GSL1680]])<br />
| audio = 3.5mm TRRS headphone and microphone plug, internal speaker, internal microphone<br />
| network = WiFi 802.11 b/g/n ([[Wifi#Realtek|Realtek RTL8703BS]])<br />
| storage = µSD<br />
| usb = 1x USB 2.0 OTG<br />
| camera = 0.3MP (640x480) front (GalaxyCore GC0312), 2MP (1600x1200) rear (GalaxyCore GC2145)<br />
| other = Accelerometer ([[Accelerometer#Device|Manufacturer device]]), GPS, IRDA<br />
| headers = UART, JTAG, LCD, ...<br />
}}<br />
<br />
{{Remove_only_when_finished|This page needs to be properly filled according to the [[New_Device_howto |New Device Howto]] and the [[New_Device_page|New Device Page guide]].}}<br />
<br />
= Identification =<br />
On the back of the device, the following is printed:<br />
<pre>Navon<br />
iQ7 2018</pre><br />
<br />
The PCB has the following silkscreened on it:<br />
<pre>AL-A64-86VH-V1.0<br />
22DB_20180730</pre><br />
<br />
In android, under Settings->About Tablet, you will find:<br />
* Model Number: ''iQ7_2018''<br />
* Build Number: ''Navon_V1.0_20180114''<br />
<br />
= Sunxi support =<br />
<br />
== Current status ==<br />
<br />
{{Remove|Give a brief overview of the current status of support under sunxi here.}}<br />
<br />
== Images ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE specific sunxi ROM images here. E.g. a livesuit image or some other linux image which uses linux-sunxi code. Do not put non-sunxi images here, they should live under [[#See_also|See also]]. If no sunxi based images are available, this section can be removed.}}<br />
<br />
== HW-Pack ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE sunxi HW-pack specifics here. When empty, this section can be removed.}}<br />
<br />
== BSP ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE sunxi BSP specifics here. When empty, this section can be removed.}}<br />
<br />
== Manual build ==<br />
<br />
You can build things for yourself by following our [[Manual_build_howto | Manual build howto]] and by choosing from the configurations available below.<br />
<br />
=== U-Boot ===<br />
<br />
==== Sunxi/Legacy U-Boot ====<br />
<br />
Use the ''{{Edit|MANUFACTURER_DEVICE}}'' build target.<br />
<br />
==== Mainline U-Boot ====<br />
<br />
Use the ''{{Edit|MANUFACTURER_DEVICE}}'' build target.<br />
<br />
=== Linux Kernel ===<br />
<br />
==== Sunxi/Legacy Kernel ====<br />
<br />
Use the [https://github.com/linux-sunxi/sunxi-boards/blob/master/sys_config/SOC/MANUFACTURER_DEVICE.fex ''{{Edit|MANUFACTURER_DEVICE.fex}}''] file.<br />
<br />
==== Mainline kernel ====<br />
<br />
Use the ''{{Edit|FAMILY-CHIP-DEVICE.dtb}}'' device-tree binary.<br />
<br />
= Tips, Tricks, Caveats =<br />
<br />
{{Remove|Add MANUFACTURER DEVICE specific tips, tricks, Caveats and nice to have changes here.}}<br />
<br />
== FEL mode ==<br />
<br />
The {{Edit|something}} button triggers [[FEL | FEL mode]].<br />
<br />
== {{Edit|Device specific topic}} ==<br />
<br />
{{Remove|If there are no further device specific topics to add, remove these sections.}}<br />
<br />
== {{Edit|...}} ==<br />
<br />
= Adding a serial port ('''voids warranty''') =<br />
<br />
[[File:device_uart.jpg|thumb|240px|{{Remove|DEVICE}} UART pads]]<br />
<br />
{{Remove|This section explains how to attach a serial port to the device. Make sure it refers to our [[UART|UART howto]]. For a development board, you can just mention how to find the header with the pins and include a picture, and you can remove the warranty voiding warning.}}<br />
<br />
== Device disassembly ==<br />
# Unscrew the two screws at the top of the device (the side with all the ports and buttons)<br />
# Use a [[Plastic tool]] to unclip the back cover<br />
<br />
== Locating the UART ==<br />
<br />
{{Remove|Describe how to find the RX,TX,GND signals here, and mention the [[UART|UART howto]].}}<br />
<br />
= Pictures =<br />
<br />
<gallery><br />
File:Navon_iQ7_2018_front.jpg<br />
File:Navon_iQ7_2018_back.jpg<br />
File:Navon_iQ7_2018_top.jpg<br />
File:Navon_iQ7_2018_back_removed.jpg<br />
File:Navon_iQ7_2018_board_front.jpeg<br />
File:Device_board_back.jpg<br />
</gallery><br />
<br />
= Also known as =<br />
<br />
{{Remove|List rebadged devices here.}}<br />
<br />
= See also =<br />
<br />
{{Remove|Add some nice to have links here. This includes related devices, and external links.}}<br />
<br />
== Manufacturer images ==<br />
<br />
{{Remove|Optional. Add non-sunxi images in this section.}}<br />
<br />
[[Category:Devices]]<br />
[[Category:A64 Tablets]]<br />
[[Category:Devices with Wifi]]<br />
[[Category:Devices with Bluetooth]]</div>
StandaSK
https://linux-sunxi.org/index.php?title=Navon_iQ7_2018&diff=23983
Navon iQ7 2018
2021-02-09T18:52:12Z
<p>StandaSK: </p>
<hr />
<div>{{Infobox Board<br />
| image = [[File:Navon_iQ7_2018_front.jpg|250px]]<br />
| manufacturer = [https://smartnavon.eu/ Navon]<br />
| dimensions = 115''mm'' x 10''mm'' x 190''mm''<br />
| release_date = 2018<br />
| soc = [[A64]] @ 1.152Ghz<br />
| dram = 1GiB LPDDR2 @ 533(?)MHz<br />
| nand = 8GB<br />
| power = microUSB, 2500mAh 3.7V Li-Ion battery<br />
| lcd = 600x1024 (7" ~17∶10)<br />
| touchscreen = 5-finger capacitive ([[GSL1680|Silead GSL1680]])<br />
| audio = 3.5mm TRRS headphone and microphone plug, internal speaker, internal microphone<br />
| network = WiFi 802.11 b/g/n ([[Wifi#Realtek|Realtek RTL8703BS]])<br />
| storage = µSD<br />
| usb = X USB2.0 Host, X USB2.0 OTG<br />
| camera = 0.3MP (640x480) front (GalaxyCore GC0312), 2MP (1600x1200) rear (GalaxyCore GC2145)<br />
| other = Accelerometer ([[Accelerometer#Device|Manufacturer device]]), GPS, IRDA<br />
| headers = UART, JTAG, LCD, ...<br />
}}<br />
<br />
{{Remove_only_when_finished|This page needs to be properly filled according to the [[New_Device_howto |New Device Howto]] and the [[New_Device_page|New Device Page guide]].}}<br />
<br />
= Identification =<br />
On the back of the device, the following is printed:<br />
<pre>Navon<br />
iQ7 2018</pre><br />
<br />
The PCB has the following silkscreened on it:<br />
<pre>AL-A64-86VH-V1.0<br />
22DB_20180730</pre><br />
<br />
In android, under Settings->About Tablet, you will find:<br />
* Model Number: ''iQ7_2018''<br />
* Build Number: ''Navon_V1.0_20180114''<br />
<br />
= Sunxi support =<br />
<br />
== Current status ==<br />
<br />
{{Remove|Give a brief overview of the current status of support under sunxi here.}}<br />
<br />
== Images ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE specific sunxi ROM images here. E.g. a livesuit image or some other linux image which uses linux-sunxi code. Do not put non-sunxi images here, they should live under [[#See_also|See also]]. If no sunxi based images are available, this section can be removed.}}<br />
<br />
== HW-Pack ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE sunxi HW-pack specifics here. When empty, this section can be removed.}}<br />
<br />
== BSP ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE sunxi BSP specifics here. When empty, this section can be removed.}}<br />
<br />
== Manual build ==<br />
<br />
You can build things for yourself by following our [[Manual_build_howto | Manual build howto]] and by choosing from the configurations available below.<br />
<br />
=== U-Boot ===<br />
<br />
==== Sunxi/Legacy U-Boot ====<br />
<br />
Use the ''{{Edit|MANUFACTURER_DEVICE}}'' build target.<br />
<br />
==== Mainline U-Boot ====<br />
<br />
Use the ''{{Edit|MANUFACTURER_DEVICE}}'' build target.<br />
<br />
=== Linux Kernel ===<br />
<br />
==== Sunxi/Legacy Kernel ====<br />
<br />
Use the [https://github.com/linux-sunxi/sunxi-boards/blob/master/sys_config/SOC/MANUFACTURER_DEVICE.fex ''{{Edit|MANUFACTURER_DEVICE.fex}}''] file.<br />
<br />
==== Mainline kernel ====<br />
<br />
Use the ''{{Edit|FAMILY-CHIP-DEVICE.dtb}}'' device-tree binary.<br />
<br />
= Tips, Tricks, Caveats =<br />
<br />
{{Remove|Add MANUFACTURER DEVICE specific tips, tricks, Caveats and nice to have changes here.}}<br />
<br />
== FEL mode ==<br />
<br />
The {{Edit|something}} button triggers [[FEL | FEL mode]].<br />
<br />
== {{Edit|Device specific topic}} ==<br />
<br />
{{Remove|If there are no further device specific topics to add, remove these sections.}}<br />
<br />
== {{Edit|...}} ==<br />
<br />
= Adding a serial port ('''voids warranty''') =<br />
<br />
[[File:device_uart.jpg|thumb|240px|{{Remove|DEVICE}} UART pads]]<br />
<br />
{{Remove|This section explains how to attach a serial port to the device. Make sure it refers to our [[UART|UART howto]]. For a development board, you can just mention how to find the header with the pins and include a picture, and you can remove the warranty voiding warning.}}<br />
<br />
== Device disassembly ==<br />
# Unscrew the two screws at the top of the device (the side with all the ports and buttons)<br />
# Use a [[Plastic tool]] to unclip the back cover<br />
<br />
== Locating the UART ==<br />
<br />
{{Remove|Describe how to find the RX,TX,GND signals here, and mention the [[UART|UART howto]].}}<br />
<br />
= Pictures =<br />
<br />
<gallery><br />
File:Navon_iQ7_2018_front.jpg<br />
File:Navon_iQ7_2018_back.jpg<br />
File:Navon_iQ7_2018_top.jpg<br />
File:Navon_iQ7_2018_back_removed.jpg<br />
File:Navon_iQ7_2018_board_front.jpeg<br />
File:Device_board_back.jpg<br />
</gallery><br />
<br />
= Also known as =<br />
<br />
{{Remove|List rebadged devices here.}}<br />
<br />
= See also =<br />
<br />
{{Remove|Add some nice to have links here. This includes related devices, and external links.}}<br />
<br />
== Manufacturer images ==<br />
<br />
{{Remove|Optional. Add non-sunxi images in this section.}}<br />
<br />
[[Category:Devices]]<br />
[[Category:A64 Tablets]]<br />
[[Category:Devices with Wifi]]<br />
[[Category:Devices with Bluetooth]]</div>
StandaSK
https://linux-sunxi.org/index.php?title=Navon_iQ7_2018&diff=23909
Navon iQ7 2018
2021-01-12T17:37:20Z
<p>StandaSK: Remove some notes</p>
<hr />
<div>{{Infobox Board<br />
| image = [[File:Navon_iQ7_2018_front.jpg|250px]]<br />
| manufacturer = [https://smartnavon.eu/ Navon]<br />
| dimensions = 115''mm'' x 10''mm'' x 190''mm''<br />
| release_date = 2018<br />
| soc = [[A64]] @ 1.152Ghz<br />
| dram = 1GiB LPDDR2 @ 533(?)MHz<br />
| nand = 8GB<br />
| power = microUSB, 2500mAh 3.7V Li-Ion battery<br />
| lcd = 600x1024 (7" ~17∶10)<br />
| touchscreen = 5-finger capacitive ([[GSL1680|Silead GSL1680]])<br />
| audio = 3.5mm headphone plug, 3.5mm microphone plug, internal speaker, internal microphone<br />
| network = WiFi 802.11 b/g/n ([[Wifi#Realtek|Realtek RTL8703BS]])<br />
| storage = µSD<br />
| usb = X USB2.0 Host, X USB2.0 OTG<br />
| camera = 0.3MP (640x480) front (GalaxyCore GC0312), 2MP (1600x1200) rear (GalaxyCore GC2145)<br />
| other = Accelerometer ([[Accelerometer#Device|Manufacturer device]]), GPS, IRDA<br />
| headers = UART, JTAG, LCD, ...<br />
}}<br />
<br />
{{Remove_only_when_finished|This page needs to be properly filled according to the [[New_Device_howto |New Device Howto]] and the [[New_Device_page|New Device Page guide]].}}<br />
<br />
= Identification =<br />
On the back of the device, the following is printed:<br />
<pre>Navon<br />
iQ7 2018</pre><br />
<br />
The PCB has the following silkscreened on it:<br />
<pre>AL-A64-86VH-V1.0<br />
22DB_20180730</pre><br />
<br />
In android, under Settings->About Tablet, you will find:<br />
* Model Number: ''iQ7_2018''<br />
* Build Number: ''Navon_V1.0_20180114''<br />
<br />
= Sunxi support =<br />
<br />
== Current status ==<br />
<br />
{{Remove|Give a brief overview of the current status of support under sunxi here.}}<br />
<br />
== Images ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE specific sunxi ROM images here. E.g. a livesuit image or some other linux image which uses linux-sunxi code. Do not put non-sunxi images here, they should live under [[#See_also|See also]]. If no sunxi based images are available, this section can be removed.}}<br />
<br />
== HW-Pack ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE sunxi HW-pack specifics here. When empty, this section can be removed.}}<br />
<br />
== BSP ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE sunxi BSP specifics here. When empty, this section can be removed.}}<br />
<br />
== Manual build ==<br />
<br />
You can build things for yourself by following our [[Manual_build_howto | Manual build howto]] and by choosing from the configurations available below.<br />
<br />
=== U-Boot ===<br />
<br />
==== Sunxi/Legacy U-Boot ====<br />
<br />
Use the ''{{Edit|MANUFACTURER_DEVICE}}'' build target.<br />
<br />
==== Mainline U-Boot ====<br />
<br />
Use the ''{{Edit|MANUFACTURER_DEVICE}}'' build target.<br />
<br />
=== Linux Kernel ===<br />
<br />
==== Sunxi/Legacy Kernel ====<br />
<br />
Use the [https://github.com/linux-sunxi/sunxi-boards/blob/master/sys_config/SOC/MANUFACTURER_DEVICE.fex ''{{Edit|MANUFACTURER_DEVICE.fex}}''] file.<br />
<br />
==== Mainline kernel ====<br />
<br />
Use the ''{{Edit|FAMILY-CHIP-DEVICE.dtb}}'' device-tree binary.<br />
<br />
= Tips, Tricks, Caveats =<br />
<br />
{{Remove|Add MANUFACTURER DEVICE specific tips, tricks, Caveats and nice to have changes here.}}<br />
<br />
== FEL mode ==<br />
<br />
The {{Edit|something}} button triggers [[FEL | FEL mode]].<br />
<br />
== {{Edit|Device specific topic}} ==<br />
<br />
{{Remove|If there are no further device specific topics to add, remove these sections.}}<br />
<br />
== {{Edit|...}} ==<br />
<br />
= Adding a serial port ('''voids warranty''') =<br />
<br />
[[File:device_uart.jpg|thumb|240px|{{Remove|DEVICE}} UART pads]]<br />
<br />
{{Remove|This section explains how to attach a serial port to the device. Make sure it refers to our [[UART|UART howto]]. For a development board, you can just mention how to find the header with the pins and include a picture, and you can remove the warranty voiding warning.}}<br />
<br />
== Device disassembly ==<br />
# Unscrew the two screws at the top of the device (the side with all the ports and buttons)<br />
# Use a [[Plastic tool]] to unclip the back cover<br />
<br />
== Locating the UART ==<br />
<br />
{{Remove|Describe how to find the RX,TX,GND signals here, and mention the [[UART|UART howto]].}}<br />
<br />
= Pictures =<br />
<br />
<gallery><br />
File:Navon_iQ7_2018_front.jpg<br />
File:Navon_iQ7_2018_back.jpg<br />
File:Navon_iQ7_2018_top.jpg<br />
File:Navon_iQ7_2018_back_removed.jpg<br />
File:Navon_iQ7_2018_board_front.jpeg<br />
File:Device_board_back.jpg<br />
</gallery><br />
<br />
= Also known as =<br />
<br />
{{Remove|List rebadged devices here.}}<br />
<br />
= See also =<br />
<br />
{{Remove|Add some nice to have links here. This includes related devices, and external links.}}<br />
<br />
== Manufacturer images ==<br />
<br />
{{Remove|Optional. Add non-sunxi images in this section.}}<br />
<br />
[[Category:Devices]]<br />
[[Category:A64 Tablets]]</div>
StandaSK
https://linux-sunxi.org/index.php?title=GSL1680&diff=23908
GSL1680
2021-01-11T10:52:05Z
<p>StandaSK: /* Linux driver */ Mention the mainline driver</p>
<hr />
<div>The '''GSL1680''' is a chip designed to add capacitive, multitactile capabilities to LCD screens. Is used in several devices.<br />
<br />
See also [[Touchscreen#Silead]]<br />
<br />
==GPIO==<br />
<br />
The chip has four main pins to communicate with a CPU:<br />
<br />
* SDA and SCL: these two pins conform an [http://en.wikipedia.org/wiki/I%C2%B2C I2C bus], allowing to exchange data between the chip and the main CPU.<br />
* IOCNTL: this pin, when active (logic 1) enables the chip, making it to answer to I2C commands and read the touch screen. When inactive (logic 0), the chip is in Low Power state.<br />
* INT: when there is data available (a press) or in other cases (not sure, not have enough documentation), this pin gets active to signal this to the CPU.<br />
<br />
==Linux driver==<br />
<br />
There is a driver in the [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/input/touchscreen/silead.c mainline kernel].<br />
<br />
Currently, there is no driver in sunxi-3.4, but the driver is available from multiple 3rd party locations:<br />
* [https://github.com/jwrdegoede/gslX68X gslX68X] - supports multiple different versions of silead chips, though you need device-specific firmware.<br />
* [https://github.com/jabjoe/sunxi-gslx680 gslx680-for-sunxi]<br />
* [http://code.google.com/p/yuandao-n90-window-dual-core-2/source/browse/drivers/input/touchscreen/gslx680_ts.c gslx680 from Yuandao N90 SDK] - original source code which was used for sunxi-3.4 port.<br />
<br />
Eventually the support for this device appeared as '''two''' different drivers in [[A23]] SDK:<br />
* [http://dl.linux-sunxi.org/SDK/A23-v1.0/unpacked/A23/lichee/linux-3.4/drivers/input/touchscreen/gslx680/ gslx680]<br />
* [http://dl.linux-sunxi.org/SDK/A23-v1.0/unpacked/A23/lichee/linux-3.4/drivers/input/touchscreen/gslx680new/ gslx680new]<br />
<br />
There is also an user-space driver (which uses the UFILE system to link to the INPUT subsystem) available at [https://github.com/rastersoft/gsl1680 https://github.com/rastersoft/gsl1680]. Since it works like a true INPUT driver, it is fully compatible with Xorg and any other program in Linux compatible with a mouse. This driver has the advantage of emulating the mouse wheel when moving two fingers over the screen, allowing to use standard applications. It also emulates Ctrl+MENU when touching with three fingers, which allows to integrate with [[Windowmanager|TabletWM]].<br />
<br />
==I2C communication==<br />
<br />
The communication between the chip and the CPU is done using an I2C bus. The GSL1680 always answers at the address 0x40. This allows to know if our device has a GSL1680 chip by using, under Linux, the command<br />
<br />
i2cdetect X<br />
<br />
with X a number between 0 and the number of I2C buses in our system. If there isn't a device at address 0x40 in any of the buses, the device doesn't have a GSL1680.<br />
<br />
The CPU can read or write in several eight-bit registers, allocated inside the GSL1680. Each time an I2C transmission starts, the first byte contains a register number, and the other bytes contain data to be stored in that register and the next ones. This is, if we send:<br />
<br />
START(W) 0x10 0x00 0x01 0xF5 0x41 0xFF STOP<br />
<br />
the chip will store a 0x00 value in register 0x10; a 0x01 value in register 0x11; a 0xF5 value in register 0x12, and so on.<br />
<br />
To read from the chip, just write a single byte with the register number to start to read, and then do as many reads as registers to read.<br />
<br />
The known registers are:<br />
<br />
* 0x00-0x7F: these registers are used to load portions of the firmware<br />
* 0x80: contains the number of touches in the screen. If zero, the user isn't touching the screen; if one, only one finger is on the screen; if two, there are two fingers; and so on.<br />
* 0x84-0x87: contains the coordinates for the first touch.<br />
* 0x88-0x8B: contains the coordinates for the second touch.<br />
* 0x8C-0xAB: contains the coordinates for the third, fourth, and so on (up to five in some devices, up to ten in other), touches, in the same format than the previous ones (four bytes for each touch).<br />
* 0xE0: STATUS register<br />
* 0xE4, 0xBC-0xBF: some kind of control registers. Needed for uploading the firmware and soft resetting the chip (there's not more data available about them).<br />
* 0xF0: PAGE register. Contains the memory page number currently mapped in the 0x00-0x7F registers.<br />
<br />
==Touch coordinates format==<br />
<br />
The four bytes of each group of coordinates contains the X and Y values, and also the finger.<br />
<br />
The first two bytes contains, in little endian format, the X coordinate in the 12 lower bits. The other two bytes contains, in little endian format, the Y coordinate in the 12 lower bits.<br />
<br />
The 4 upper bits in the Y coordinate contains the finger identifier that did the touch.<br />
<br />
Example:<br />
<br />
Let's say that the user touches the screen with one finger. The register 0x80 will contain 1, and registers 0x84 to 0x87 will contain the X and Y coordinates, and the finger identifier will be 1.<br />
<br />
Now the user, without removing the first finger, touches the screen with a second finger. The register 0x80 will contain 2. Registers 0x84 to 0x87 will contain the X and Y coordinates of the first touch and the finger identifier in them will be 1. Registers 0x88 to 0x8B will contain the X and Y coordinates of the second touch and the finger identifier in them will be 2.<br />
<br />
Now the user removes the first finger, keeping the second one. The register 0x80 will contain 1. Registers 0x84 to 0x87 will contain the X and Y coordinates, but the finger identifier will be 2, because that's the finger that remains in the screen.<br />
<br />
==Chip initialization==<br />
<br />
The driver shows a quite obscure initialization procedure:<br />
<br />
* Enable the chip (''set IOCTNL to 1'')<br />
* Reset the chip (''explained later'')<br />
* Upload the firmware (''explained later'')<br />
* Startup chip (''set STATUS register to 0'')<br />
* Reset the chip<br />
* Disable the chip (''set IOCTNL to 0'')<br />
* Wait 50 ms<br />
* Enable the chip (''set IOCTNL to 1'')<br />
* Wait 30 ms<br />
* Disable the chip (''set IOCTNL to 0'')<br />
* Wait 5 ms<br />
* Enable the chip (''set IOCTNL to 1'')<br />
* Wait 20 ms<br />
* Reset the chip<br />
* Startup chip (''set STATUS register to 0'')<br />
<br />
After this procedure, the chip will start to read touches and sending events.<br />
<br />
To reset the chip, as requested in the previous process, follow this procedure:<br />
<br />
* set the STATUS register to 0x88<br />
* wait 10 ms<br />
* set register 0xE4 to 0x04<br />
* wait 10 ms<br />
* set registers 0xBC-0xBF to 0x00<br />
* wait 10 ms.<br />
<br />
==Firmware==<br />
<br />
This chip needs a firmware to be loaded before it would be able to work. This firmware seems specific to each device model, so it is mandatory to find it in your device. In the [[XW711 | Szenio 1207]] tablet, these files are available in ''/system/etc''.<br />
<br />
Sometimes the firmware is included in the driver module file, for instance: ''/system/vendor/modules/gslx680.ko''.<br />
<br />
To extract the firmware you can use [https://gitorious.org/gslx680-for-sunxi/gslx680-for-sunxi/source/firmware/fw_extractor fw_extractor] or manually find it from the register sequence and dd it out.<br />
<br />
<br />
The user-space driver supports both a binary format or a plain-text format for the firmware. In the later case, it is divided in chunks, each of a maximum size of 128 bytes. Each chunk must be stored in a different page. Here is an example of one chunk:<br />
<br />
{0xf0,0x3},<br />
{0x00,0xa5a5ffc0},<br />
{0x04,0x00000000},<br />
{0x08,0xe810c4e1},<br />
{0x0c,0xd3dd7f4d},<br />
{0x10,0xd7c56634},<br />
{0x14,0xe3505a2a},<br />
{0x18,0x514d494f},<br />
{0x1c,0x5836e48b},<br />
{0x20,0x00000000},<br />
{0x24,0x00000000},<br />
{0x28,0x00000000},<br />
{0x2c,0x00000000},<br />
{0x30,0x00001000},<br />
{0x34,0x00000000},<br />
{0x38,0x00000000},<br />
{0x3c,0x00000000},<br />
{0x40,0x00000001},<br />
{0x44,0x00000000},<br />
{0x48,0x00000000},<br />
{0x4c,0x00000000},<br />
{0x50,0x00000000},<br />
{0x54,0x01020304},<br />
{0x58,0x05060708},<br />
{0x5c,0x090a0b0c},<br />
{0x60,0x0d0e0e0f},<br />
{0x64,0x10111213},<br />
{0x68,0x14151617},<br />
{0x6c,0x18191a1b},<br />
{0x70,0x1b1c1e1f},<br />
{0x74,0x00000000},<br />
{0x78,0x00010000},<br />
{0x7c,0x8c846af3},<br />
<br />
Each line contains a pair of elements. The first one is the register number where the data must be stored; the second one is the data itself.<br />
<br />
The first line has 0xF0 as register number. This is the PAGE register. This line specifies the page where this chunk must be stored. In this example it is the page number 0x03.<br />
<br />
The other 32 lines contains the firmware itself, preceded by the offset for each 4-byte value. In this example, our code must write 0xC0 into the register 0x00; 0xFF into the register 0x01; 0xA5 into the register 0x02 and 0x05 again into the register 0x03 (remember that the values in ARM are stored in little endian format). Since 0x03 is stored in the PAGE register, the register 0x00 maps to the position 0x180 in memory, register 0x01 to position 0x181, and so on.<br />
<br />
Since sending several bytes stores them in correlative registers, in theory the code has to set only 0x00 as the destination register, and send all the bytes of this chunk in one single transfer. Unfortunately, there is usually a limit in the size of a I2C transfer, so it is recommended to not build very large packets, sending each chunk in smaller parts.<br />
== Datasheet ==<br />
* [http://dl.linux-sunxi.org/touchscreen/GSL1680.pdf GSL1680, GSL1688 datasheet, rev A1.6 – Oct 2012]<br />
<br />
[[Category:Hardware]]</div>
StandaSK
https://linux-sunxi.org/index.php?title=Touchscreen&diff=23907
Touchscreen
2021-01-11T10:45:19Z
<p>StandaSK: /* Silead */ Add MSSL0017 variant</p>
<hr />
<div>This page collects all the information about the various touch screen controllers in use on sunxi hardware.<br />
<br />
= General information =<br />
<br />
In general touchscreens are configured by the ctp_para in the fex file. There's also support for resistive touch panels by setting rtp_para in the fex. An example for built in RTP (resistive touch panel) built in controller can be found in the [[Fex_Guide#.5Brtp_para.5D|Fex Guide]].<br />
<br />
An example (for ft5x) would be:<br />
<pre><br />
[ctp_para]<br />
ctp_used = 1 #enable or disable the touchscreen<br />
ctp_name = "ft5x_ts" #model of the touchscreen<br />
ctp_twi_id = 2 #I2C Interface<br />
ctp_twi_addr = 0x70 #I2C Address<br />
ctp_screen_max_x = 800 #X Settings<br />
ctp_screen_max_y = 480 #Y Settings<br />
ctp_revert_x_flag = 0 #Set this and ctp_revert_y_flag to 1 to flip x and y axis<br />
ctp_revert_y_flag = 0<br />
ctp_exchange_x_y_flag = 0 <br />
ctp_int_port = port:PH21<6><default><default><default> #INT port settings<br />
ctp_wakeup = port:PB13<1><default><default><1> #Wakeup port settings<br />
ctp_io_port = port:PH21<0><default><default><default> #IO Port Settings<br />
rst_port = port:PH20<1><default><default><default> #RST port settings<br />
</pre><br />
<br />
Example for built in RTP:<br />
<pre><br />
[rtp_para]<br />
rtp_used = 0<br />
rtp_screen_size = 7<br />
rtp_regidity_level = 7<br />
rtp_press_threshold_enable = 0<br />
rtp_press_threshold = 0x1f40<br />
rtp_sensitive_level = 0xf<br />
rtp_exchange_x_y_flag = 0<br />
</pre><br />
<br />
== Hardware ==<br />
In general a capacitive touchscreen hardware consists of 6 Pins:<br />
*RST - Reset Pin (Input), Used by the CPU to reset the touchscreen.<br />
*SDA - I2C SDA (IO)<br />
*SCL - I2C SDL (Input)<br />
*INT - Interrupt Pin (Output, can be input during startup), used by the Touchscreen to indicate to the CPU that there are new events<br />
*VCC - Power Supply<br />
*GND - GND<br />
<br />
Some touchscreen have wakeup pins to allow the touchscreen to go to sleep mode to save battery.<br />
<br />
Mainly the I2C pins are connected to any i2c port on the CPU and is used to communicate with the touchscreen.<br />
<br />
In the other way a resistive touchscreen has 4 wires. Details can be found in the user manuals for Allwinner chips, in the section TP (touch panel). The interesting thing is that sun4i, sun6i and sun7i have essentially the same RTP controllers so the sun4i_ts driver can work for all of them. Testing was done on an A20 platform and gave exceptionally good results.<br />
<br />
== Startup Procedure ==<br />
Usually any touchscreen has a startup procedure during which resets are sent to the touchscreen by the cpu to indicate this procedure. During the reset/startup procedure usually the touchscreen profile data is sent to the touchscreen. Also in some cases the I2C address is set by this rest procedure (for instance, GT911).<br />
<br />
The interrupt Pin can be part of the startup procedure for handshakes or indications. In some cases the interrupt pin is also used as input to read additional data from the cpu during reset.<br />
<br />
== Touchscreen profiles ==<br />
Some touchscreen (for instance, GT911) require a so call Touchscreen Profile/Configuration. This configuration is sent during or right after the reset procedure of the touchscreen and is usually written to the controller memory (in some cases selectable persistent in eeprom). The Profile/Config defines the parameters of the touchscreen (such as physical size, active area(s). also it can include touchscreen button areas, touchscreen mode and more.<br />
<br />
'''THIS CONFIGURATION MUST BE PROVIDED BY THE TOUCHSCREEN PRODUCER!'''<br />
<br />
Example:<br />
<pre><br />
#define CTP_CFG_GROUP1 {\<br />
0x00,0x58,0x02,0x00,0x04,0x05,0x30,0x08,0x03,0x9F,0x14,\<br />
0x0F,0x8C,0x64,0x03,0x05,0x00,0x00,0x00,0x00,0x00,0x00,\<br />
0x00,0x18,0x1A,0x1E,0x14,0x8C,0x28,0x0C,0x18,0x14,0xD1,\<br />
0x0B,0x00,0x00,0x01,0x9C,0x02,0x35,0x00,0x00,0x00,0x00,\<br />
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x14,0x64,0x94,0x85,\<br />
0x02,0x08,0x00,0x00,0xCD,0x07,0x16,0xBF,0x09,0x19,0xFC,\<br />
0x0C,0x1B,0xE7,0x0D,0x22,0x77,0x0E,0x2D,0x00,0x00,0x00,\<br />
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\<br />
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\<br />
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\<br />
0x00,0x00,0x02,0x04,0x06,0x08,0x0A,0x0C,0x0E,0x10,0x12,\<br />
0x14,0x16,0x18,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,\<br />
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,\<br />
0x02,0x04,0x06,0x08,0x0A,0x0C,0x0F,0x10,0x12,0x13,0x14,\<br />
0x16,0x18,0x1C,0x1D,0x1E,0x1F,0x20,0x21,0xFF,0xFF,0xFF,\<br />
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,\<br />
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7C,0x01\<br />
}<br />
</pre><br />
<br />
== Touchscreen modes ==<br />
There is 2 modes a touchscreen can work in:<br />
*Polling Mode<br />
*Interrupt Mode<br />
<br />
This mode is usually defined by the Touchscreen profile/config or the startup/reset procedure.<br />
<br />
The preferred mode a capacitive touchscreen should work in is always interrupt mode. In Interrupt mode every time an event on the touchscreen occurs the INT pin triggers and notifies the CPU. the cpu then read the new event from the touchscreen.<br />
<br />
In Polling mode the cpu periodically requests the touchscreen data from the touchscreen. This means that there will be a lot of communication on the i2c port since this has to happen once every few ms.<br />
<br />
As stated above whenever possible use interrupt mode!<br />
<br />
== Hardware Configuration and Fex ==<br />
<br />
It is very important to configure the FEX file correctly for your touchscreen. <br />
=== Step 1 ===<br />
In your hardware schematics identify the I2C pins of your touchscreen and see which I2C it is connected to and set the ''ctp_twi_id'' to the id of i2c port.<br />
Now you need to find our your i2c address of your touchscreen. this is something you can get out of the chip datasheet or your touchscreen manufacture.<br />
<br />
Remember that the address of the touchscreen might be changed when sending the profile/config or via the reset procedure.<br />
<br />
=== Step 2 ===<br />
In your schematics find out which GPIO Pin the INT Pin is connected to. <br />
<br />
Define:<br />
<pre>ctp_int_port = port:<text>PH21</text><6><default><default><default></pre><br />
<br />
please also note the ''<6>'' part in the line above. Verify that the Interrupt setting of your Int pin is Function number 6 of the mux setting or modify the ''<X>'' according.<br />
<br />
Note that on some touchscreens (ft5x) it is required to define another port called the IO port on the same port as the interrupt port:<br />
<pre>ctp_io_port = port: PH21<0><default><default><default></pre><br />
This setting will define the same port with mux setting 0 as output to allow the driver to switch to IO mode.<br />
<br />
=== Step 3 ===<br />
In your schematics find out which GPIO Pin the RST Pin is connected to.<br />
<br />
<pre>rst_port = port:PH20<1><default><default><default> #RST port settings</pre><br />
Note that <1> sets the port as an output.<br />
<br />
It might be required to define additional pins for your touchscreen<br />
<br />
== Software Calibration ==<br />
<br />
Calibration of a touchscreen device can be done with the [http://www.freedesktop.org/wiki/Software/xinput_calibrator/ xinput_calibrator]. The xinput_calibrator is very simple tool which enables you to go through standard calibration procedure (press a few points on the screen) and then produces a snippet for xorg.conf. <br />
<br />
There can be problems with produced configuration so it's good to test and see what's actually happening. Try to move your finger over the screen and see if there's some sings of miscalibration. Produced config actually scales values from touchscreen controller to map to the screen so it may happen that one axis works ok and another doesn't. Anyways, xinput_calibrator can give you good hint for start and you can tweak it further manually. Detailed list of options can be found in the [http://www.x.org/releases/X11R7.6/doc/man/man4/evdev.4.xhtml evdev manual page].<br />
<br />
= Manufacturers =<br />
== ChipOne ==<br />
<br />
* Mainline kernel driver: '''icn8138'''<br />
* WIP drivers:<br />
** '''icn85xx''' - [https://gitlab.com/SergK/icn85xx WIP branch] ([https://groups.google.com/forum/#!topic/linux-sunxi/vIROVNOR-fY announcement])<br />
<br />
== Elan ==<br />
<br />
[http://www.emc.com.tw/eng/index.asp Elan Microelectronics Corporation]<br />
<br />
=== EKT3632 ===<br />
<br />
== Focaltech ==<br />
<br />
[http://www.focaltech-systems.com/En/index.aspx Link]<br />
<br />
Support is available for [https://github.com/linux-sunxi/linux-sunxi/blob/sunxi-3.4/drivers/input/touchscreen/ft5x_ts.c sunxi-3.4].<br />
<br />
=== FT5301 ===<br />
Supported in sunxi-3.4<br />
=== FT5302 ===<br />
???<br />
=== FT5402DQT ===<br />
Supported in sunxi-3.4<br />
=== FT5x06 ===<br />
'''Supported''' in mainline kernel.<br />
<br />
* FT5206GE1<br />
* FT5306DE4<br />
* FT5406EE8<br />
<br />
You should need to add in dtb node for support(example for a Q8 tablet):<br />
&i2c1{<br />
clock-frequency = <400000>;<br />
polytouch: edt-ft5x06@38 {<br />
compatible = "edt,edt-ft5406", "edt,edt-ft5x06";<br />
reg = <0x38>;<br />
pinctrl-names = "default";<br />
pinctrl-0 = <&edt_ft5x06_pins>;<br />
interrupt-parent = <&pio>;<br />
interrupts = <6 11 IRQ_TYPE_EDGE_FALLING>; /*PG11 */<br />
wake-gpios = <&pio 1 3 GPIO_ACTIVE_HIGH>; /* PB3 */<br />
touchscreen-size-x = <800>;<br />
touchscreen-size-y = <480>;<br />
touchscreen-inverted-x;<br />
touchscreen-inverted-y;<br />
/* touchscreen-swapped-x-y;*/<br />
};<br />
};<br />
<br />
<br />
==== sunxi-3.4 ====<br />
Supported, but the driver does not load on [[A20]] without the following patch. See this [https://groups.google.com/forum/#!topic/linux-sunxi/3rOkL-MiA1g conversation] for more information. <br />
<pre>diff --git a/drivers/input/touchscreen/ft5x_ts.c b/drivers/input/touchscreen/ft5x_ts.c<br />
index 5d8dc97..3d88694 100644<br />
--- a/drivers/input/touchscreen/ft5x_ts.c<br />
+++ b/drivers/input/touchscreen/ft5x_ts.c<br />
@@ -1762,7 +1762,7 @@ ft5x_ts_probe(struct i2c_client *client, const struct i2c_device_id *id)<br />
pr_info("%s:ctp_ops.set_irq_mode err.\n", __func__);<br />
goto exit_set_irq_mode;<br />
}<br />
- err = request_irq(SW_INT_IRQNO_PIO, ft5x_ts_interrupt, IRQF_TRIGGER_FALLING | IRQF_SHARED, "ft5x_ts", ft5x_ts);<br />
+ err = request_irq(SW_INT_IRQNO_PIO, ft5x_ts_interrupt, IRQF_SHARED, "ft5x_ts", ft5x_ts);<br />
<br />
if (err < 0) {<br />
dev_err(&client->dev, "ft5x_ts_probe: request irq failed\n");</pre><br />
</pre><br />
<br />
This driver does not support transformations (e.g. x-revert), but generates events complying to the [https://github.com/linux-sunxi/linux-sunxi/blob/sunxi-3.4/Documentation/input/multi-touch-protocol.txt multi touch protocol].<br />
<br />
== Goodix ==<br />
<br />
[http://www.goodix.com/ Manufacturer's website]<br />
<br />
[https://drive.google.com/folderview?id=0BxCVOQS3ZymGfmJyY2RKbE5XbVlKNlktVTlwV0lxNEdxd2dzeWZER094cmJPVnMxN1F0Yzg&usp=sharing Datasheets] for various GT9xx devices.<br />
<br />
Driver for most of the '''Goodix 9xx''' chips (see below) is available in mainline. It is quite possible that all the 9xx-series chips are supported by this driver because they seem to have a common register layout. Goodix 8xx is currently unsupported by mainline.<br />
<br />
For older chips there are various driver sources targeting older kernel versions (linux-3.3 or linux-3.4) scattered around in different vendor-provided source trees or SDKs.<br />
<br />
=== GT801 ===<br />
No mainline support.<br />
Driver available in sunxi-3.4<br />
=== GT801 2+1 ===<br />
No mainline support. [http://thread.gmane.org/gmane.linux.kernel.input/42478/ RFC patch] that needs to be adapted to work alongside gt9xx chips.<br />
<br />
Driver available in sunxi-3.4<br />
<br />
=== GT811 ===<br />
No mainline support.<br />
Driver available in sunxi-3.4<br />
=== GT818 ===<br />
No mainline support.<br />
Driver available in sunxi-3.4<br />
=== GT828 ===<br />
No mainline support.<br />
No driver in sunxi-3.4, [https://github.com/reinforce/sunxi-patches/blob/master/3.4/0003-touchscreen-Add-gt82x.patch WIP patch]<br />
<br />
=== GT9xx ===<br />
<br />
Support for various Goodix GT9xx chips is available since Linux-4.1 via common '''<tt>[https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/input/touchscreen/goodix.c goodix]</tt>''' driver:<br />
* gt911<br />
* gt9110<br />
* gt912<br />
* gt927<br />
* gt9271<br />
* gt928<br />
* gt967<br />
<br />
For <tt>sunxi-3.4</tt>, there's [https://github.com/reinforce/gt9xx WIP driver].<br />
<br />
== Ilitek ==<br />
<br />
=== aimvf ===<br />
<br />
<br />
== Silead ==<br />
<br />
Supported in [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/input/touchscreen/silead.c mainline kernel] (gsl1680, gsl1688, gsl3670, gsl3675, gsl3692 and also MSSL1680, MSSL0001, MSSL0002, MSSL0017 variants).<br />
<br />
Please note that you need device-specific firmware stored under <tt>/lib/firmware/silead/</tt> which should be extracted from original software on the device.<br />
<br />
If you get lucky, you might find [https://github.com/onitake/gsl-firmware firmware supporting your device from this repository].<br />
<br />
* Datasheet for GSL1680 / GSL1688: [http://dl.linux-sunxi.org/touchscreen/GSL1680.pdf GSL1680, GSL1688 datasheet, rev A1.6 – Oct 2012]<br />
* Datasheet for GSL3680: http://dl.linux-sunxi.org/touchscreen/GSL3680_touch-screen-controller-ic-DataSheet_Chinese_RevA1.2.pdf<br />
<br />
See also:<br />
* [[GSL1680]] - capacitive, multitactile touchscreen controller<br />
<br />
== Solomon Systech Limited ==<br />
<br />
This [http://www.solomon-systech.com/ Hong Kong based company] creates various LCD/OLED driver and touchscreen chips.<br />
<br />
=== SSD2533 ===<br />
<br />
== TCM ==<br />
TrueCore Microelectronics<br />
=== tc1680 ===<br />
<br />
Chip marked tc1680j i2c@0x20<br />
The driver for tc1680 is named tc1126 , there's a driver for allwinner kernel 3.4 (lichee) that supports A23 A33 A31 ,Here's The driver:<br />
https://github.com/xchetah/tc1126-sunxi<br />
<br />
Mainline WIP driver ported from BSP :https://github.com/miky2k/tc1126<br />
<br />
See also:<br />
[[A33_Q7_V1.0]] tablet.<br />
<br />
== ZEITEC Semiconductor ==<br />
<br />
=== zet6221 ===<br />
* WiP and more info: https://github.com/jelly/linux-zet62xx <br />
* Datasheet: http://linux-sunxi.org/images/2/22/ZP-HW-PS-0003_ZET6221_Product_Spec_v1_2.pdf<br />
* Driver: https://github.com/wingrime/zet6221-ts-drv<br />
* WiP driver for all zet62xx chips with firmwares loading for linux-sunxi-3.4 legacy kernel: https://github.com/xchetah/zet6221-sunxi/<br />
<br />
=== zet6223 ===<br />
<br />
Supported in '''mainline''' Linux 4.11 ([https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/input/touchscreen/zet6223.c. '''zet6223.c''']). No firmware (blob) required.<br />
<br />
= See also =<br />
<br />
[[Category:Hardware]]</div>
StandaSK
https://linux-sunxi.org/index.php?title=Touchscreen&diff=23906
Touchscreen
2021-01-11T10:42:17Z
<p>StandaSK: /* Silead */ Add link to mainline driver</p>
<hr />
<div>This page collects all the information about the various touch screen controllers in use on sunxi hardware.<br />
<br />
= General information =<br />
<br />
In general touchscreens are configured by the ctp_para in the fex file. There's also support for resistive touch panels by setting rtp_para in the fex. An example for built in RTP (resistive touch panel) built in controller can be found in the [[Fex_Guide#.5Brtp_para.5D|Fex Guide]].<br />
<br />
An example (for ft5x) would be:<br />
<pre><br />
[ctp_para]<br />
ctp_used = 1 #enable or disable the touchscreen<br />
ctp_name = "ft5x_ts" #model of the touchscreen<br />
ctp_twi_id = 2 #I2C Interface<br />
ctp_twi_addr = 0x70 #I2C Address<br />
ctp_screen_max_x = 800 #X Settings<br />
ctp_screen_max_y = 480 #Y Settings<br />
ctp_revert_x_flag = 0 #Set this and ctp_revert_y_flag to 1 to flip x and y axis<br />
ctp_revert_y_flag = 0<br />
ctp_exchange_x_y_flag = 0 <br />
ctp_int_port = port:PH21<6><default><default><default> #INT port settings<br />
ctp_wakeup = port:PB13<1><default><default><1> #Wakeup port settings<br />
ctp_io_port = port:PH21<0><default><default><default> #IO Port Settings<br />
rst_port = port:PH20<1><default><default><default> #RST port settings<br />
</pre><br />
<br />
Example for built in RTP:<br />
<pre><br />
[rtp_para]<br />
rtp_used = 0<br />
rtp_screen_size = 7<br />
rtp_regidity_level = 7<br />
rtp_press_threshold_enable = 0<br />
rtp_press_threshold = 0x1f40<br />
rtp_sensitive_level = 0xf<br />
rtp_exchange_x_y_flag = 0<br />
</pre><br />
<br />
== Hardware ==<br />
In general a capacitive touchscreen hardware consists of 6 Pins:<br />
*RST - Reset Pin (Input), Used by the CPU to reset the touchscreen.<br />
*SDA - I2C SDA (IO)<br />
*SCL - I2C SDL (Input)<br />
*INT - Interrupt Pin (Output, can be input during startup), used by the Touchscreen to indicate to the CPU that there are new events<br />
*VCC - Power Supply<br />
*GND - GND<br />
<br />
Some touchscreen have wakeup pins to allow the touchscreen to go to sleep mode to save battery.<br />
<br />
Mainly the I2C pins are connected to any i2c port on the CPU and is used to communicate with the touchscreen.<br />
<br />
In the other way a resistive touchscreen has 4 wires. Details can be found in the user manuals for Allwinner chips, in the section TP (touch panel). The interesting thing is that sun4i, sun6i and sun7i have essentially the same RTP controllers so the sun4i_ts driver can work for all of them. Testing was done on an A20 platform and gave exceptionally good results.<br />
<br />
== Startup Procedure ==<br />
Usually any touchscreen has a startup procedure during which resets are sent to the touchscreen by the cpu to indicate this procedure. During the reset/startup procedure usually the touchscreen profile data is sent to the touchscreen. Also in some cases the I2C address is set by this rest procedure (for instance, GT911).<br />
<br />
The interrupt Pin can be part of the startup procedure for handshakes or indications. In some cases the interrupt pin is also used as input to read additional data from the cpu during reset.<br />
<br />
== Touchscreen profiles ==<br />
Some touchscreen (for instance, GT911) require a so call Touchscreen Profile/Configuration. This configuration is sent during or right after the reset procedure of the touchscreen and is usually written to the controller memory (in some cases selectable persistent in eeprom). The Profile/Config defines the parameters of the touchscreen (such as physical size, active area(s). also it can include touchscreen button areas, touchscreen mode and more.<br />
<br />
'''THIS CONFIGURATION MUST BE PROVIDED BY THE TOUCHSCREEN PRODUCER!'''<br />
<br />
Example:<br />
<pre><br />
#define CTP_CFG_GROUP1 {\<br />
0x00,0x58,0x02,0x00,0x04,0x05,0x30,0x08,0x03,0x9F,0x14,\<br />
0x0F,0x8C,0x64,0x03,0x05,0x00,0x00,0x00,0x00,0x00,0x00,\<br />
0x00,0x18,0x1A,0x1E,0x14,0x8C,0x28,0x0C,0x18,0x14,0xD1,\<br />
0x0B,0x00,0x00,0x01,0x9C,0x02,0x35,0x00,0x00,0x00,0x00,\<br />
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x14,0x64,0x94,0x85,\<br />
0x02,0x08,0x00,0x00,0xCD,0x07,0x16,0xBF,0x09,0x19,0xFC,\<br />
0x0C,0x1B,0xE7,0x0D,0x22,0x77,0x0E,0x2D,0x00,0x00,0x00,\<br />
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\<br />
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\<br />
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\<br />
0x00,0x00,0x02,0x04,0x06,0x08,0x0A,0x0C,0x0E,0x10,0x12,\<br />
0x14,0x16,0x18,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,\<br />
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,\<br />
0x02,0x04,0x06,0x08,0x0A,0x0C,0x0F,0x10,0x12,0x13,0x14,\<br />
0x16,0x18,0x1C,0x1D,0x1E,0x1F,0x20,0x21,0xFF,0xFF,0xFF,\<br />
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,\<br />
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7C,0x01\<br />
}<br />
</pre><br />
<br />
== Touchscreen modes ==<br />
There is 2 modes a touchscreen can work in:<br />
*Polling Mode<br />
*Interrupt Mode<br />
<br />
This mode is usually defined by the Touchscreen profile/config or the startup/reset procedure.<br />
<br />
The preferred mode a capacitive touchscreen should work in is always interrupt mode. In Interrupt mode every time an event on the touchscreen occurs the INT pin triggers and notifies the CPU. the cpu then read the new event from the touchscreen.<br />
<br />
In Polling mode the cpu periodically requests the touchscreen data from the touchscreen. This means that there will be a lot of communication on the i2c port since this has to happen once every few ms.<br />
<br />
As stated above whenever possible use interrupt mode!<br />
<br />
== Hardware Configuration and Fex ==<br />
<br />
It is very important to configure the FEX file correctly for your touchscreen. <br />
=== Step 1 ===<br />
In your hardware schematics identify the I2C pins of your touchscreen and see which I2C it is connected to and set the ''ctp_twi_id'' to the id of i2c port.<br />
Now you need to find our your i2c address of your touchscreen. this is something you can get out of the chip datasheet or your touchscreen manufacture.<br />
<br />
Remember that the address of the touchscreen might be changed when sending the profile/config or via the reset procedure.<br />
<br />
=== Step 2 ===<br />
In your schematics find out which GPIO Pin the INT Pin is connected to. <br />
<br />
Define:<br />
<pre>ctp_int_port = port:<text>PH21</text><6><default><default><default></pre><br />
<br />
please also note the ''<6>'' part in the line above. Verify that the Interrupt setting of your Int pin is Function number 6 of the mux setting or modify the ''<X>'' according.<br />
<br />
Note that on some touchscreens (ft5x) it is required to define another port called the IO port on the same port as the interrupt port:<br />
<pre>ctp_io_port = port: PH21<0><default><default><default></pre><br />
This setting will define the same port with mux setting 0 as output to allow the driver to switch to IO mode.<br />
<br />
=== Step 3 ===<br />
In your schematics find out which GPIO Pin the RST Pin is connected to.<br />
<br />
<pre>rst_port = port:PH20<1><default><default><default> #RST port settings</pre><br />
Note that <1> sets the port as an output.<br />
<br />
It might be required to define additional pins for your touchscreen<br />
<br />
== Software Calibration ==<br />
<br />
Calibration of a touchscreen device can be done with the [http://www.freedesktop.org/wiki/Software/xinput_calibrator/ xinput_calibrator]. The xinput_calibrator is very simple tool which enables you to go through standard calibration procedure (press a few points on the screen) and then produces a snippet for xorg.conf. <br />
<br />
There can be problems with produced configuration so it's good to test and see what's actually happening. Try to move your finger over the screen and see if there's some sings of miscalibration. Produced config actually scales values from touchscreen controller to map to the screen so it may happen that one axis works ok and another doesn't. Anyways, xinput_calibrator can give you good hint for start and you can tweak it further manually. Detailed list of options can be found in the [http://www.x.org/releases/X11R7.6/doc/man/man4/evdev.4.xhtml evdev manual page].<br />
<br />
= Manufacturers =<br />
== ChipOne ==<br />
<br />
* Mainline kernel driver: '''icn8138'''<br />
* WIP drivers:<br />
** '''icn85xx''' - [https://gitlab.com/SergK/icn85xx WIP branch] ([https://groups.google.com/forum/#!topic/linux-sunxi/vIROVNOR-fY announcement])<br />
<br />
== Elan ==<br />
<br />
[http://www.emc.com.tw/eng/index.asp Elan Microelectronics Corporation]<br />
<br />
=== EKT3632 ===<br />
<br />
== Focaltech ==<br />
<br />
[http://www.focaltech-systems.com/En/index.aspx Link]<br />
<br />
Support is available for [https://github.com/linux-sunxi/linux-sunxi/blob/sunxi-3.4/drivers/input/touchscreen/ft5x_ts.c sunxi-3.4].<br />
<br />
=== FT5301 ===<br />
Supported in sunxi-3.4<br />
=== FT5302 ===<br />
???<br />
=== FT5402DQT ===<br />
Supported in sunxi-3.4<br />
=== FT5x06 ===<br />
'''Supported''' in mainline kernel.<br />
<br />
* FT5206GE1<br />
* FT5306DE4<br />
* FT5406EE8<br />
<br />
You should need to add in dtb node for support(example for a Q8 tablet):<br />
&i2c1{<br />
clock-frequency = <400000>;<br />
polytouch: edt-ft5x06@38 {<br />
compatible = "edt,edt-ft5406", "edt,edt-ft5x06";<br />
reg = <0x38>;<br />
pinctrl-names = "default";<br />
pinctrl-0 = <&edt_ft5x06_pins>;<br />
interrupt-parent = <&pio>;<br />
interrupts = <6 11 IRQ_TYPE_EDGE_FALLING>; /*PG11 */<br />
wake-gpios = <&pio 1 3 GPIO_ACTIVE_HIGH>; /* PB3 */<br />
touchscreen-size-x = <800>;<br />
touchscreen-size-y = <480>;<br />
touchscreen-inverted-x;<br />
touchscreen-inverted-y;<br />
/* touchscreen-swapped-x-y;*/<br />
};<br />
};<br />
<br />
<br />
==== sunxi-3.4 ====<br />
Supported, but the driver does not load on [[A20]] without the following patch. See this [https://groups.google.com/forum/#!topic/linux-sunxi/3rOkL-MiA1g conversation] for more information. <br />
<pre>diff --git a/drivers/input/touchscreen/ft5x_ts.c b/drivers/input/touchscreen/ft5x_ts.c<br />
index 5d8dc97..3d88694 100644<br />
--- a/drivers/input/touchscreen/ft5x_ts.c<br />
+++ b/drivers/input/touchscreen/ft5x_ts.c<br />
@@ -1762,7 +1762,7 @@ ft5x_ts_probe(struct i2c_client *client, const struct i2c_device_id *id)<br />
pr_info("%s:ctp_ops.set_irq_mode err.\n", __func__);<br />
goto exit_set_irq_mode;<br />
}<br />
- err = request_irq(SW_INT_IRQNO_PIO, ft5x_ts_interrupt, IRQF_TRIGGER_FALLING | IRQF_SHARED, "ft5x_ts", ft5x_ts);<br />
+ err = request_irq(SW_INT_IRQNO_PIO, ft5x_ts_interrupt, IRQF_SHARED, "ft5x_ts", ft5x_ts);<br />
<br />
if (err < 0) {<br />
dev_err(&client->dev, "ft5x_ts_probe: request irq failed\n");</pre><br />
</pre><br />
<br />
This driver does not support transformations (e.g. x-revert), but generates events complying to the [https://github.com/linux-sunxi/linux-sunxi/blob/sunxi-3.4/Documentation/input/multi-touch-protocol.txt multi touch protocol].<br />
<br />
== Goodix ==<br />
<br />
[http://www.goodix.com/ Manufacturer's website]<br />
<br />
[https://drive.google.com/folderview?id=0BxCVOQS3ZymGfmJyY2RKbE5XbVlKNlktVTlwV0lxNEdxd2dzeWZER094cmJPVnMxN1F0Yzg&usp=sharing Datasheets] for various GT9xx devices.<br />
<br />
Driver for most of the '''Goodix 9xx''' chips (see below) is available in mainline. It is quite possible that all the 9xx-series chips are supported by this driver because they seem to have a common register layout. Goodix 8xx is currently unsupported by mainline.<br />
<br />
For older chips there are various driver sources targeting older kernel versions (linux-3.3 or linux-3.4) scattered around in different vendor-provided source trees or SDKs.<br />
<br />
=== GT801 ===<br />
No mainline support.<br />
Driver available in sunxi-3.4<br />
=== GT801 2+1 ===<br />
No mainline support. [http://thread.gmane.org/gmane.linux.kernel.input/42478/ RFC patch] that needs to be adapted to work alongside gt9xx chips.<br />
<br />
Driver available in sunxi-3.4<br />
<br />
=== GT811 ===<br />
No mainline support.<br />
Driver available in sunxi-3.4<br />
=== GT818 ===<br />
No mainline support.<br />
Driver available in sunxi-3.4<br />
=== GT828 ===<br />
No mainline support.<br />
No driver in sunxi-3.4, [https://github.com/reinforce/sunxi-patches/blob/master/3.4/0003-touchscreen-Add-gt82x.patch WIP patch]<br />
<br />
=== GT9xx ===<br />
<br />
Support for various Goodix GT9xx chips is available since Linux-4.1 via common '''<tt>[https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/input/touchscreen/goodix.c goodix]</tt>''' driver:<br />
* gt911<br />
* gt9110<br />
* gt912<br />
* gt927<br />
* gt9271<br />
* gt928<br />
* gt967<br />
<br />
For <tt>sunxi-3.4</tt>, there's [https://github.com/reinforce/gt9xx WIP driver].<br />
<br />
== Ilitek ==<br />
<br />
=== aimvf ===<br />
<br />
<br />
== Silead ==<br />
<br />
Supported in [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/input/touchscreen/silead.c mainline kernel] (gsl1680, gsl1688, gsl3670, gsl3675, gsl3692 and also MSSL1680, MSSL0001, MSSL0002 variants).<br />
<br />
Please note that you need device-specific firmware stored under <tt>/lib/firmware/silead/</tt> which should be extracted from original software on the device.<br />
<br />
If you get lucky, you might find [https://github.com/onitake/gsl-firmware firmware supporting your device from this repository].<br />
<br />
* Datasheet for GSL1680 / GSL1688: [http://dl.linux-sunxi.org/touchscreen/GSL1680.pdf GSL1680, GSL1688 datasheet, rev A1.6 – Oct 2012]<br />
* Datasheet for GSL3680: http://dl.linux-sunxi.org/touchscreen/GSL3680_touch-screen-controller-ic-DataSheet_Chinese_RevA1.2.pdf<br />
<br />
See also:<br />
* [[GSL1680]] - capacitive, multitactile touchscreen controller<br />
<br />
== Solomon Systech Limited ==<br />
<br />
This [http://www.solomon-systech.com/ Hong Kong based company] creates various LCD/OLED driver and touchscreen chips.<br />
<br />
=== SSD2533 ===<br />
<br />
== TCM ==<br />
TrueCore Microelectronics<br />
=== tc1680 ===<br />
<br />
Chip marked tc1680j i2c@0x20<br />
The driver for tc1680 is named tc1126 , there's a driver for allwinner kernel 3.4 (lichee) that supports A23 A33 A31 ,Here's The driver:<br />
https://github.com/xchetah/tc1126-sunxi<br />
<br />
Mainline WIP driver ported from BSP :https://github.com/miky2k/tc1126<br />
<br />
See also:<br />
[[A33_Q7_V1.0]] tablet.<br />
<br />
== ZEITEC Semiconductor ==<br />
<br />
=== zet6221 ===<br />
* WiP and more info: https://github.com/jelly/linux-zet62xx <br />
* Datasheet: http://linux-sunxi.org/images/2/22/ZP-HW-PS-0003_ZET6221_Product_Spec_v1_2.pdf<br />
* Driver: https://github.com/wingrime/zet6221-ts-drv<br />
* WiP driver for all zet62xx chips with firmwares loading for linux-sunxi-3.4 legacy kernel: https://github.com/xchetah/zet6221-sunxi/<br />
<br />
=== zet6223 ===<br />
<br />
Supported in '''mainline''' Linux 4.11 ([https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/input/touchscreen/zet6223.c. '''zet6223.c''']). No firmware (blob) required.<br />
<br />
= See also =<br />
<br />
[[Category:Hardware]]</div>
StandaSK
https://linux-sunxi.org/index.php?title=Wifi&diff=23894
Wifi
2021-01-09T21:00:11Z
<p>StandaSK: /* SDIO-based */ Fix driver name</p>
<hr />
<div>=Driver specific information=<br />
<br />
== Allwinner ==<br />
<br />
{| border=1<br />
!scope="col" | Device || Type || sdio id || sunxi-3.4 kernel || mainline kernel<br />
|-<br />
| XR819 || SDIO || [http://pastebin.com/b2NAcvgt 0020:2281] || xradio_wlan ||<br />
|}<br />
<br />
For [http://certifications.prod.wi-fi.org/pdf/certificate/public/download?cid=WFA61880 XR819] driver source was included in Allwinner H2 BSP.<br />
<br />
Firmware firmware blobs can be found from [https://github.com/armbian/firmware/tree/master/xr819 Armbian firmware repository].<br />
<br />
Also some documentation is available now:<br />
* [[File:XR819_Datasheet_V1.0-EN.pdf]]<br />
* [[File:XR819_Datasheet_V1.5-EN.pdf]]<br />
* [[File:XR819_Application_Guide_V1.0-CH.pdf]]<br />
<br />
May be related to ST cw1XX0 [https://irclog.whitequark.org/linux-sunxi/2016-12-27].<br />
<br />
Initial comparison between cw1200 (<tt>drivers/net/wireless/st/cw1200</tt>) and xradio driver shows that the source code for two drivers are really similar and the st1200 driver could be improved to support both devices.<br />
<br />
A working out-of-tree driver for mainline kernels is at [https://github.com/fifteenhex/xradio].<br />
<br />
== Ampak ==<br />
<br />
Ampak combines broadcom wifi and [[Bluetooth#AMPAK|bluetooth]] chips in single modules.<br />
<br />
=== Ampak Devices ===<br />
{| border=1<br />
!scope="col" | Device || Type || usb/sdio id || module || sunxi-3.4 kernel || mainline kernel<br />
|-<br />
| AP6181 || SDIO/UART || 02d0:a962 || See right || bcmdhd || brcmfmac<br />
|-<br />
| AP6210 || SDIO/UART || 02d0:a962 || See right || bcmdhd || brcmfmac<br />
|-<br />
| AP6212 || SDIO/UART || 02d0:a9a6 || See right || || brcmfmac<br />
|-<br />
| AP6330 || SDIO/UART || 02d0:4330 || See right || || brcmfmac<br />
|-<br />
| AP6335 || SDIO/UART || 02d0:4335 || See right || || brcmfmac<br />
|}<br />
<br />
== Broadcom ==<br />
<br />
=== Broadcom Devices ===<br />
{| border=1<br />
!scope="col" | Device || Type || usb id || module || sunxi-3.4 kernel || mainline kernel<br />
|-<br />
| || || || || ||<br />
|}<br />
<br />
== Espressif ==<br />
<br />
[http://www.espressif.com Espressif] is a fairly young Chinese company.<br />
=== Espressif Devices ===<br />
<br />
{| border=1<br />
!scope="col" | Device || Type || sdio id || module || sunxi-3.4 kernel || mainline kernel<br />
|-<br />
| ESP8089 || SDIO || 6666:1111 || || || out-of-tree driver exists<br />
|}<br />
<br />
=== ESP8089 ===<br />
Firstly, you should use Hans de Goede's [https://github.com/jwrdegoede/linux-sunxi/tree/sunxi-wip sunxi-wip kernel branch] containing various bits and pieces needed to make things work.<br />
<br />
Driver itself is currently in its own repository:<br />
<pre><br />
git clone https://github.com/jwrdegoede/esp8089.git<br />
git checkout -B cleanup origin/cleanup<br />
cd ../linux<br />
make -j4 ARCH=arm CROSS_COMPILE=arm-linux-gnu- modules M=../esp8089 CONFIG_ESP8089=m<br />
</pre><br />
Do not forget to copy <tt>firmware/*.bin</tt> to <tt>/lib/firmware/</tt> on the target system.<br />
<br />
== iNet ==<br />
<br />
=== iNet Devices ===<br />
{| border=1<br />
!scope="col" | Device || Type || usb id || module || sunxi-3.4 kernel || mainline kernel<br />
|-<br />
| iNet i10 || || || || ||<br />
|}<br />
<br />
== RDA ==<br />
<br />
[http://www.rdamicro.com/ RDA Microelectronics] is a relatively unknown and new chinese chipmaker.<br />
<br />
{| border=1<br />
!scope="col" | Device || Type || usb id / sdio id || module || sunxi-3.4 kernel || mainline kernel<br />
|-<br />
| RDA5990P || || || || || <br />
|-<br />
| RDA5991 || SDIO || 5449:0145 || || ||<br />
|}<br />
<br />
The [http://www.rdamicro.com/products/Detail_273.aspx RDA5990P] is a single chip solution which includes Wifi, Bluetooth and an FM radio. Some code for this wifi chip is available in [https://github.com/linuxium/3188-SRC-ORIG/tree/master/kernel/drivers/net/wireless/rda5990 a Rockchip RK3188 kernel tree], but nobody has tested or ported this code yet.<br />
<br />
Datasheets: [http://pkgbuild.com/~jelle/RDA5990P_RDA.pdf RDA5990P] [http://pkgbuild.com/~jelle/RDA5990_RDA.pdf RDA5990]<br />
<br />
== Realtek ==<br />
<br />
Most of the USB-based Realtek 8xxx are supported by the '''rtl8xxxu''' which is using the MAC80211 framework. Please always try this driver first, because it seems to be a lot more stable than "official" driver.<br />
=== USB-based ===<br />
{| border=1<br />
!scope="col" | Device || Type || USB id || mainline kernel || legacy (sunxi-3.4)<br />
|-<br />
| RTL8188CTV || USB || 0bda:8176 || <tt>'''rtl8xxxu'''</tt> / <tt>rtl8192cu</tt> || <tt>8192cu</tt><br />
|-<br />
| RTL8188CUS || USB || 0bda:8176 || <tt>'''rtl8xxxu'''</tt> / <tt>rtl8192cu</tt> || <tt>8192cu</tt><br />
|-<br />
| RTL8188ETV || USB || 0bda:0179 || <tt>rtl8188eu</tt> (staging) || <tt>8188eu</tt> (see below)<br />
|-<br />
| RTL8188EUS || USB || 0bda:8179 || <tt>rtl8188eu</tt> (staging) || <tt>8188eu</tt> (see below)<br />
|-<br />
| RTL8192CU || USB || 0bda:018a || <tt>rtl8192cu</tt> || <tt>8192cu</tt><br />
|- <br />
| RTL8723AU || USB || 0bda:0724 || <tt>'''rtl8xxxu'''</tt> / <tt>rtl8723au</tt> (staging) || <tt>8723au</tt><br />
|-<br />
|}<br />
<br />
=== SDIO-based ===<br />
{| border=1<br />
!scope="col" | Device || Type || SDIO id || mainline kernel || legacy (sunxi-3.4)<br />
|-<br />
| RTL8189ES || SDIO || ?? || out-of-tree driver (see below) || ??<br />
|-<br />
| RTL8189FTV || SDIO || <tt>024c:f179</tt> || out-of-tree driver (see below) || ??<br />
|-<br />
| RTL8723BS<br>RTL8703AS || SDIO || <br />
<tt><br />
024c:0523<br><br />
024c:0623<br><br />
024c:0626<br><br />
024c:b723</tt><br />
|| <tt>rtl8723bs</tt> (staging) || <tt>8723bs</tt><br />
|- <br />
| RTL8822BS || SDIO || ?? || out-of-tree driver [https://github.com/ChalesYu/rtl8822bs-aml link] || ??<br />
|}<br />
<br />
<br />
==== RTL8189ES / RTL8189ETV ====<br />
Driver has its own repository:<br />
<pre><br />
git clone https://github.com/jwrdegoede/rtl8189ES_linux.git<br />
cd rtl8189ES_linux.git<br />
make -j4 ARCH=arm CROSS_COMPILE=arm-linux-gnu- KSRC=../linux<br />
</pre><br />
<br />
<br />
==== RTL8189FTV ====<br />
Driver has its own repository:<br />
<pre><br />
git clone https://github.com/jwrdegoede/rtl8189ES_linux.git<br />
cd rtl8189ES_linux.git<br />
git checkout -B rtl8189fs origin/rtl8189fs<br />
make -j4 ARCH=arm CROSS_COMPILE=arm-linux-gnu- KSRC=../linux<br />
</pre><br />
<br />
=== Legacy sunxi-3.4 kernel support ===<br />
==== Driver refusing to load (rt5370sta/8188eu/8189es/8192cu) ====<br />
<div class="toccolours mw-collapsible mw-collapsed"><br />
Please note that sunxi-3.4 kernel is not supported and has been deprecated...<br />
<br />
<div class="mw-collapsible-content"><br />
When using the '''rt5370sta''', '''8188eu''', '''8189es''' or '''8192cu''' drivers, which are all for USB based realtek devices, it might occur that the driver refuses to load:<br />
<pre><br />
ERR: script_parser_fetch usb_wifi_usbc_num failed<br />
modprobe: can't load module 8188eu (kernel/drivers/net/wireless/rtl8188eu/8188eu.ko): Cannot allocate memory <br />
</pre><br />
<br />
This is because the usb_wifi_para section is missing from your script.bin:<br />
<br />
<pre><br />
[usb_wifi_para]<br />
usb_wifi_used = 1<br />
usb_wifi_usbc_num = 2<br />
</pre><br />
<br />
Where usb_wifi_usbc_num is the usbc to which your realtek usb wireless chip is attached.<br />
<br />
Edit the .fex file and create the script .bin as explained in our [[Manual_build_howto | Manual build howto]], and [[New_Device_howto#Step_6:_Add_support_to_sunxi-boards | send a patch to sunxi-boards in to our mailinglist.]]<br />
</div><br />
</div><br />
<br />
==== 8188eu driver on sunxi-3.4 ====<br />
<br />
<div class="toccolours mw-collapsible mw-collapsed"><br />
Please note that sunxi-3.4 kernel is not supported and has been deprecated...<br />
<br />
<div class="mw-collapsible-content"><br />
The sunxi-3.4 branch currently has [https://github.com/linux-sunxi/linux-sunxi/blob/sunxi-3.4/drivers/net/wireless/rtl8188eu/include/rtw_version.h v4.1.2_4787.20120803] available. There are newer versions available at https://github.com/lwfinger/rtl8188eu/ which are [https://github.com/lwfinger/rtl8188eu/blob/master/include/rtw_version.h v4.1.4_6773.20130222] and [https://github.com/lwfinger/rtl8188eu/blob/v4.1.8_9499/include/rtw_version.h v4.1.8_9499.20131104]. There's also a v4.1.8 file available at https://github.com/LazyZhu/myblog/raw/gh-pages/file/RTL8188EUS_RTL8189ES_linux_v4.1.8_9499.20131104.zip which is likely the original from Realtek.<br />
<br />
Here's how to compile the latest version from Realtek:<br />
<br />
Extract the driver/rtl8188EUS_rtl8189ES_linux_v4.1.8_9499.20131104.tar.gz from the RTL8188EUS_RTL8189ES_linux_v4.1.8_9499.20131104.zip file and extract it. These instructions assume your <code>linux-sunxi</code> directory is in the same directory as your <code>rtl8188EUS_rtl8189ES_linux_v4.1.8_9499.20131104</code> directory. It's also assumed that you've configured the kernel to include the 8188eu driver that's part of linux-sunxi.<br />
<br />
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -C ../linux-sunxi/ M=`pwd` modules<br />
<br />
copy the <code>8188eu.ko</code> file over to the device and then install it into your kernel with the following commands (on the device as root):<br />
<br />
modprobe -r 8188eu<br />
rm -rf /lib/modules/`uname -r`/kernel/drivers/net/wireless/rtl8188eu<br />
install -p -m 644 8188eu.ko /lib/modules/`uname -r`/kernel/drivers/net/wireless/<br />
/sbin/depmod<br />
modprobe 8188eu<br />
<br />
There are two changes you may want to make in <code>include/autoconf.h</code>:<br />
<br />
1. The default is to output a LOT of logging and you can disable that by commenting out the following line:<br />
#define CONFIG_DEBUG /* DBG_871X, etc... */<br />
<br />
2. The default is to disable the activity LED on the wifi device which you may want to see to know that it's working. You can change that by un-commenting the following line:<br />
//#define CONFIG_LED<br />
<br />
</div><br />
</div><br />
<br />
= Software Configuration =<br />
== Debian/ubuntu with NetworkManager==<br />
NetworkManager uses its own wpa_supplicant configuration. That is the reason why manually editing /etc/network/interfaces to use wpa_supplicant does not work together with NetworkManager.<br />
<br />
You have to disable all interfaces in /etc/network/interfaces e.g. by commenting out each line by inserting "#" as a first character. <br />
<br />
You even have to '''disable Ethernet section''' to use wifi in network manager. Here is an example<br />
# interfaces(5) file used by ifup(8) and ifdown(8)<br />
auto lo<br />
iface lo inet loopback<br />
<br />
#allow-hotplug eth0<br />
#iface eth0 inet dhcp<br />
<br />
#auto eth0<br />
#iface eth0 inet static<br />
#address 192.168.101.50<br />
#netmask 255.255.255.0<br />
#gateway 192.168.101.1<br />
#broadcast 192.168.101.255<br />
<br />
#auto wlan0<br />
#iface wlan0 inet dhcp<br />
# wpa-ssid YOUR-NETWORK-NAME<br />
# wpa-key-mgmt WPA-PSK<br />
# wpa-group TKIP CCMP<br />
# wpa-psk YOUR-NETWORK-KEY<br />
<br />
<br />
At your desktop there should emerge a network icon from NetworkManager in the task bar. You can edit the network setting with the gui dialogs.<br />
<br />
== Debian/ubuntu without NetworkManager==<br />
=== Setup with wpa_supplicant and without network manager ===<br />
<br />
There are many tutorials out there on how to do this. Here is [http://prupert.wordpress.com/2010/06/25/how-to-configure-wireless-wifi-networking-in-ubuntu-via-the-command-line-cli/ a good one].<br />
<br />
==== Disabling networkmanager. Fully. ====<br />
<br />
Even with the common trick of putting the following in /etc/NetworkManager/NetworkManager.conf<br />
<pre><br />
[ifupdown]<br />
managed=true<br />
</pre><br />
the despotic NetworkManager still will be messing up your careful setup from /etc/network/interfaces, and you might, once again, be left without wifi upon the next reboot.<br />
<br />
To stop NetworkManager from running altogether, you can run the following (as root):<br />
<br />
<pre><br />
echo "manual" > /etc/init/network-manager.override<br />
</pre><br />
<br />
Now, at least on ubuntu, your wifi driver, wpa_supplicant and ifupdown will not be smacked about anymore.<br />
<br />
==== Simple and dumb WPA setup ====<br />
<br />
Install the following packages, if they are not installed already:<br />
<br />
apt-get install wireless-tools wpasupplicant<br />
<br />
Edit /etc/network/interfaces and add the following:<br />
<br />
auto wlan0<br />
iface wlan0 inet dhcp<br />
wpa-ssid YourSSID<br />
wpa-psk YourWPASharedKey<br />
<br />
This is the most basic, but static, setup possible for wifi. If you need anything more, you need to read up on wpa_supplicant, or run through one of the tutorials referenced above.<br />
<br />
= Devices =<br />
<br />
The following devices all come with an built-in wifi chip.<br />
<br />
<categorytree mode=pages hideroot=on depth=1>Devices_with_Wifi</categorytree><br />
<br />
[[Category:Tutorial]]<br />
[[Category:Software]]</div>
StandaSK
https://linux-sunxi.org/index.php?title=KLIPAD_SMART_i746&diff=23893
KLIPAD SMART i746
2021-01-09T20:34:10Z
<p>StandaSK: </p>
<hr />
<div>{{Infobox Board<br />
| image = [[File:KLIPAD_I746_FRONT.jpeg|250px]]<br />
| manufacturer = Klipad [https://www.klipad.fr/]<br />
| dimensions = width''mm'' x breadth''mm'' x height''mm''<br />
| release_date = {{Edit|2018}}<br />
| website = klipad.fr [https://www.klipad-support.com/notices/notices-tablettes.html]<br />
| soc = [[A64]] @ 1.152Ghz<br />
| dram = 1GiB DDR3 @ {{Edit|xxx}}MHz<br />
| nand = 8GB<br />
| power = DC 5V @ 1.5A, 2500mAh 3.7V Li-Ion battery<br />
| lcd = WidthxHeight (7" X:Y)<br />
| touchscreen = X-finger capacitive ([[Touchscreen#Device|Manufacturer device]])<br />
| video = None<br />
| audio = 3.5mm headphone plug, internal speaker, internal microphone<br />
| network = WiFi 802.11 b/g/n ([[Wifi#Manufacturer|Realtech]])<br />
| storage = µSD<br />
| usb = 1 x USB2.0 OTG<br />
| camera = 2MP front, 0.3MP rear<br />
| other = Accelerometer ([[Accelerometer#Device|Manufacturer device]])<br />
| headers = <br />
}}<br />
<br />
{{Remove_only_when_finished|This page needs to be properly filled according to the [[New_Device_howto |New Device Howto]] and the [[New_Device_page|New Device Page guide]].}}<br />
<br />
{{Remove|If a device is special, then feel free to provide a terse description of what makes this device so special. But terse, no novels, no marketing blurb.}}<br />
<br />
= Identification =<br />
{{Remove|This section explains how to most easily identify your device. For a development board, explain the name(s) printed on the board. For an android device, find out the strings as reported under settings.}}<br />
<br />
On the back of the device, the following is printed:<br />
<pre>- KLIVER -<br />
Model: KL3839/I746</pre><br />
<br />
The PCB has the following silkscreened on it:<br />
<pre>YA7001B R600<br />
2018-02-06</pre><br />
<br />
In android, under Settings->About Tablet, you will find:<br />
* Model Number: ''{{Edit|DEVICE}}''<br />
* Build Number: ''{{Edit|SOC_BOARD_DEVICE_*.*}}''<br />
<br />
= Sunxi support =<br />
<br />
== Current status ==<br />
<br />
{{Remove|Give a brief overview of the current status of support under sunxi here.}}<br />
Nothing yet<br />
<br />
== Images ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE specific sunxi ROM images here. E.g. a livesuit image or some other linux image which uses linux-sunxi code. Do not put non-sunxi images here, they should live under [[#See_also|See also]]. If no sunxi based images are available, this section can be removed.}}<br />
<br />
== HW-Pack ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE sunxi HW-pack specifics here. When empty, this section can be removed.}}<br />
<br />
== BSP ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE sunxi BSP specifics here. When empty, this section can be removed.}}<br />
<br />
== Manual build ==<br />
<br />
You can build things for yourself by following our [[Manual_build_howto | Manual build howto]] and by choosing from the configurations available below.<br />
<br />
=== U-Boot ===<br />
<br />
==== Sunxi/Legacy U-Boot ====<br />
<br />
Use the ''{{Edit|MANUFACTURER_DEVICE}}'' build target.<br />
<br />
==== Mainline U-Boot ====<br />
<br />
Use the ''{{Edit|MANUFACTURER_DEVICE}}'' build target.<br />
<br />
=== Linux Kernel ===<br />
<br />
==== Sunxi/Legacy Kernel ====<br />
<br />
Use the [https://github.com/linux-sunxi/sunxi-boards/blob/master/sys_config/SOC/MANUFACTURER_DEVICE.fex ''{{Edit|MANUFACTURER_DEVICE.fex}}''] file.<br />
<br />
==== Mainline kernel ====<br />
<br />
Use the ''{{Edit|FAMILY-CHIP-DEVICE.dtb}}'' device-tree binary.<br />
<br />
= Tips, Tricks, Caveats =<br />
<br />
{{Remove|Add MANUFACTURER DEVICE specific tips, tricks, Caveats and nice to have changes here.}}<br />
<br />
== FEL mode ==<br />
<br />
The Volume+ and Power buttons trigger [[FEL | FEL mode]].<br />
Press and hold `Volume+` <br />
Press and hold `Power` for about 2 seconds <br />
Release `Power` and press it again 3 times immediately<br />
<br />
== {{Edit|Device specific topic}} ==<br />
<br />
{{Remove|If there are no further device specific topics to add, remove these sections.}}<br />
Delivered with a keyboard<br />
<br />
== {{Edit|...}} ==<br />
<br />
= Adding a serial port ('''voids warranty''') =<br />
<br />
[[File:device_uart.jpg|thumb|240px|{{Remove|DEVICE}} UART pads]]<br />
<br />
{{Remove|This section explains how to attach a serial port to the device. Make sure it refers to our [[UART|UART howto]]. For a development board, you can just mention how to find the header with the pins and include a picture, and you can remove the warranty voiding warning.}}<br />
Not found how to add a serial port on this device.<br />
<br />
== Device disassembly ==<br />
<br />
{{Remove|If necessary, provide a short description of how to open the device. Perhaps explain how the pins can be most easily popped. If pins do need to be popped, mention the [[Plastic_tool|Plastic tool howto]].}}<br />
Warning, plastic is not great. Almost every pins were broken after disassembly.<br />
Disassemble by pressing a pry tool between the screen and the back of the tablet.<br />
<br />
== Locating the UART ==<br />
<br />
{{Remove|Describe how to find the RX,TX,GND signals here, and mention the [[UART|UART howto]].}}<br />
Not found<br />
<br />
= Pictures =<br />
<br />
{{Remove|Take some pictures of your device, [[Special:Upload | upload them]], and add them here. DO NOT UPLOAD PICTURES WHICH YOU PLUCKED OFF THE INTERNET.}}<br />
<br />
<gallery><br />
File:Device_front.jpg<br />
File:Device_back.jpg<br />
File:Device_buttons_1.jpg<br />
File:Device_buttons_2.jpg<br />
File:Device_board_front.jpg<br />
File:Device_board_back.jpg<br />
</gallery><br />
<br />
= Also known as =<br />
<br />
{{Remove|List rebadged devices here.}}<br />
<br />
= See also =<br />
<br />
{{Remove|Add some nice to have links here. This includes related devices, and external links.}}<br />
<br />
== Manufacturer images ==<br />
<br />
{{Remove|Optional. Add non-sunxi images in this section.}}<br />
<br />
[[Category:Devices]]<br />
[[Category:A64 Tablets]]</div>
StandaSK
https://linux-sunxi.org/index.php?title=Navon_iQ7_2018&diff=23892
Navon iQ7 2018
2021-01-09T18:18:30Z
<p>StandaSK: /* DRAM */</p>
<hr />
<div>{{Infobox Board<br />
| image = [[File:Navon_iQ7_2018_front.jpg|250px]]<br />
| manufacturer = [https://smartnavon.eu/ Navon]<br />
| dimensions = 115''mm'' x 10''mm'' x 190''mm''<br />
| release_date = 2018<br />
| soc = [[A64]] @ 1.152Ghz<br />
| dram = 1GiB LPDDR2 @ 533(?)MHz<br />
| nand = 8GB<br />
| power = microUSB, 2500mAh 3.7V Li-Ion battery<br />
| lcd = 600x1024 (7" ~17∶10)<br />
| touchscreen = 5-finger capacitive ([[GSL1680|Silead GSL1680]])<br />
| audio = 3.5mm headphone plug, 3.5mm microphone plug, internal speaker, internal microphone<br />
| network = WiFi 802.11 b/g/n ([[Wifi#Realtek|Realtek RTL8703BS]])<br />
| storage = µSD<br />
| usb = X USB2.0 Host, X USB2.0 OTG<br />
| camera = 0.3MP (640x480) front (GalaxyCore GC0312), 2MP (1600x1200) rear (GalaxyCore GC2145)<br />
| other = Accelerometer ([[Accelerometer#Device|Manufacturer device]]), GPS, IRDA<br />
| headers = UART, JTAG, LCD, ...<br />
}}<br />
<br />
{{Remove_only_when_finished|This page needs to be properly filled according to the [[New_Device_howto |New Device Howto]] and the [[New_Device_page|New Device Page guide]].}}<br />
<br />
{{Remove|If a device is special, then feel free to provide a terse description of what makes this device so special. But terse, no novels, no marketing blurb.}}<br />
<br />
= Identification =<br />
On the back of the device, the following is printed:<br />
<pre>Navon<br />
iQ7 2018</pre><br />
<br />
The PCB has the following silkscreened on it:<br />
<pre>AL-A64-86VH-V1.0<br />
22DB_20180730</pre><br />
<br />
In android, under Settings->About Tablet, you will find:<br />
* Model Number: ''iQ7_2018''<br />
* Build Number: ''Navon_V1.0_20180114''<br />
<br />
= Sunxi support =<br />
<br />
== Current status ==<br />
<br />
{{Remove|Give a brief overview of the current status of support under sunxi here.}}<br />
<br />
== Images ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE specific sunxi ROM images here. E.g. a livesuit image or some other linux image which uses linux-sunxi code. Do not put non-sunxi images here, they should live under [[#See_also|See also]]. If no sunxi based images are available, this section can be removed.}}<br />
<br />
== HW-Pack ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE sunxi HW-pack specifics here. When empty, this section can be removed.}}<br />
<br />
== BSP ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE sunxi BSP specifics here. When empty, this section can be removed.}}<br />
<br />
== Manual build ==<br />
<br />
You can build things for yourself by following our [[Manual_build_howto | Manual build howto]] and by choosing from the configurations available below.<br />
<br />
=== U-Boot ===<br />
<br />
==== Sunxi/Legacy U-Boot ====<br />
<br />
Use the ''{{Edit|MANUFACTURER_DEVICE}}'' build target.<br />
<br />
==== Mainline U-Boot ====<br />
<br />
Use the ''{{Edit|MANUFACTURER_DEVICE}}'' build target.<br />
<br />
=== Linux Kernel ===<br />
<br />
==== Sunxi/Legacy Kernel ====<br />
<br />
Use the [https://github.com/linux-sunxi/sunxi-boards/blob/master/sys_config/SOC/MANUFACTURER_DEVICE.fex ''{{Edit|MANUFACTURER_DEVICE.fex}}''] file.<br />
<br />
==== Mainline kernel ====<br />
<br />
Use the ''{{Edit|FAMILY-CHIP-DEVICE.dtb}}'' device-tree binary.<br />
<br />
= Tips, Tricks, Caveats =<br />
<br />
{{Remove|Add MANUFACTURER DEVICE specific tips, tricks, Caveats and nice to have changes here.}}<br />
<br />
== FEL mode ==<br />
<br />
The {{Edit|something}} button triggers [[FEL | FEL mode]].<br />
<br />
== {{Edit|Device specific topic}} ==<br />
<br />
{{Remove|If there are no further device specific topics to add, remove these sections.}}<br />
<br />
== {{Edit|...}} ==<br />
<br />
= Adding a serial port ('''voids warranty''') =<br />
<br />
[[File:device_uart.jpg|thumb|240px|{{Remove|DEVICE}} UART pads]]<br />
<br />
{{Remove|This section explains how to attach a serial port to the device. Make sure it refers to our [[UART|UART howto]]. For a development board, you can just mention how to find the header with the pins and include a picture, and you can remove the warranty voiding warning.}}<br />
<br />
== Device disassembly ==<br />
# Unscrew the two screws at the top of the device (the side with all the ports and buttons)<br />
# Use a [[Plastic tool]] to unclip the back cover<br />
<br />
== Locating the UART ==<br />
<br />
{{Remove|Describe how to find the RX,TX,GND signals here, and mention the [[UART|UART howto]].}}<br />
<br />
= Pictures =<br />
<br />
{{Remove|Take some pictures of your device, [[Special:Upload | upload them]], and add them here. DO NOT UPLOAD PICTURES WHICH YOU PLUCKED OFF THE INTERNET.}}<br />
<br />
<gallery><br />
File:Navon_iQ7_2018_front.jpg<br />
File:Navon_iQ7_2018_back.jpg<br />
File:Navon_iQ7_2018_top.jpg<br />
File:Navon_iQ7_2018_back_removed.jpg<br />
File:Navon_iQ7_2018_board_front.jpeg<br />
File:Device_board_back.jpg<br />
</gallery><br />
<br />
= Also known as =<br />
<br />
{{Remove|List rebadged devices here.}}<br />
<br />
= See also =<br />
<br />
{{Remove|Add some nice to have links here. This includes related devices, and external links.}}<br />
<br />
== Manufacturer images ==<br />
<br />
{{Remove|Optional. Add non-sunxi images in this section.}}<br />
<br />
[[Category:Devices]]<br />
[[Category:A64 Tablets]]</div>
StandaSK
https://linux-sunxi.org/index.php?title=Navon_iQ7_2018&diff=23891
Navon iQ7 2018
2021-01-09T16:50:23Z
<p>StandaSK: /* Cameras */</p>
<hr />
<div>{{Infobox Board<br />
| image = [[File:Navon_iQ7_2018_front.jpg|250px]]<br />
| manufacturer = [https://smartnavon.eu/ Navon]<br />
| dimensions = 115''mm'' x 10''mm'' x 190''mm''<br />
| release_date = 2018<br />
| soc = [[A64]] @ 1.152Ghz<br />
| dram = 1GiB DDR3 @ {{Edit|xxx}}MHz<br />
| nand = 8GB<br />
| power = microUSB, 2500mAh 3.7V Li-Ion battery<br />
| lcd = 600x1024 (7" ~17∶10)<br />
| touchscreen = 5-finger capacitive ([[GSL1680|Silead GSL1680]])<br />
| audio = 3.5mm headphone plug, 3.5mm microphone plug, internal speaker, internal microphone<br />
| network = WiFi 802.11 b/g/n ([[Wifi#Realtek|Realtek RTL8703BS]])<br />
| storage = µSD<br />
| usb = X USB2.0 Host, X USB2.0 OTG<br />
| camera = 0.3MP (640x480) front (GalaxyCore GC0312), 2MP (1600x1200) rear (GalaxyCore GC2145)<br />
| other = Accelerometer ([[Accelerometer#Device|Manufacturer device]]), GPS, IRDA<br />
| headers = UART, JTAG, LCD, ...<br />
}}<br />
<br />
{{Remove_only_when_finished|This page needs to be properly filled according to the [[New_Device_howto |New Device Howto]] and the [[New_Device_page|New Device Page guide]].}}<br />
<br />
{{Remove|If a device is special, then feel free to provide a terse description of what makes this device so special. But terse, no novels, no marketing blurb.}}<br />
<br />
= Identification =<br />
On the back of the device, the following is printed:<br />
<pre>Navon<br />
iQ7 2018</pre><br />
<br />
The PCB has the following silkscreened on it:<br />
<pre>AL-A64-86VH-V1.0<br />
22DB_20180730</pre><br />
<br />
In android, under Settings->About Tablet, you will find:<br />
* Model Number: ''iQ7_2018''<br />
* Build Number: ''Navon_V1.0_20180114''<br />
<br />
= Sunxi support =<br />
<br />
== Current status ==<br />
<br />
{{Remove|Give a brief overview of the current status of support under sunxi here.}}<br />
<br />
== Images ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE specific sunxi ROM images here. E.g. a livesuit image or some other linux image which uses linux-sunxi code. Do not put non-sunxi images here, they should live under [[#See_also|See also]]. If no sunxi based images are available, this section can be removed.}}<br />
<br />
== HW-Pack ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE sunxi HW-pack specifics here. When empty, this section can be removed.}}<br />
<br />
== BSP ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE sunxi BSP specifics here. When empty, this section can be removed.}}<br />
<br />
== Manual build ==<br />
<br />
You can build things for yourself by following our [[Manual_build_howto | Manual build howto]] and by choosing from the configurations available below.<br />
<br />
=== U-Boot ===<br />
<br />
==== Sunxi/Legacy U-Boot ====<br />
<br />
Use the ''{{Edit|MANUFACTURER_DEVICE}}'' build target.<br />
<br />
==== Mainline U-Boot ====<br />
<br />
Use the ''{{Edit|MANUFACTURER_DEVICE}}'' build target.<br />
<br />
=== Linux Kernel ===<br />
<br />
==== Sunxi/Legacy Kernel ====<br />
<br />
Use the [https://github.com/linux-sunxi/sunxi-boards/blob/master/sys_config/SOC/MANUFACTURER_DEVICE.fex ''{{Edit|MANUFACTURER_DEVICE.fex}}''] file.<br />
<br />
==== Mainline kernel ====<br />
<br />
Use the ''{{Edit|FAMILY-CHIP-DEVICE.dtb}}'' device-tree binary.<br />
<br />
= Tips, Tricks, Caveats =<br />
<br />
{{Remove|Add MANUFACTURER DEVICE specific tips, tricks, Caveats and nice to have changes here.}}<br />
<br />
== FEL mode ==<br />
<br />
The {{Edit|something}} button triggers [[FEL | FEL mode]].<br />
<br />
== {{Edit|Device specific topic}} ==<br />
<br />
{{Remove|If there are no further device specific topics to add, remove these sections.}}<br />
<br />
== {{Edit|...}} ==<br />
<br />
= Adding a serial port ('''voids warranty''') =<br />
<br />
[[File:device_uart.jpg|thumb|240px|{{Remove|DEVICE}} UART pads]]<br />
<br />
{{Remove|This section explains how to attach a serial port to the device. Make sure it refers to our [[UART|UART howto]]. For a development board, you can just mention how to find the header with the pins and include a picture, and you can remove the warranty voiding warning.}}<br />
<br />
== Device disassembly ==<br />
# Unscrew the two screws at the top of the device (the side with all the ports and buttons)<br />
# Use a [[Plastic tool]] to unclip the back cover<br />
<br />
== Locating the UART ==<br />
<br />
{{Remove|Describe how to find the RX,TX,GND signals here, and mention the [[UART|UART howto]].}}<br />
<br />
= Pictures =<br />
<br />
{{Remove|Take some pictures of your device, [[Special:Upload | upload them]], and add them here. DO NOT UPLOAD PICTURES WHICH YOU PLUCKED OFF THE INTERNET.}}<br />
<br />
<gallery><br />
File:Navon_iQ7_2018_front.jpg<br />
File:Navon_iQ7_2018_back.jpg<br />
File:Navon_iQ7_2018_top.jpg<br />
File:Navon_iQ7_2018_back_removed.jpg<br />
File:Navon_iQ7_2018_board_front.jpeg<br />
File:Device_board_back.jpg<br />
</gallery><br />
<br />
= Also known as =<br />
<br />
{{Remove|List rebadged devices here.}}<br />
<br />
= See also =<br />
<br />
{{Remove|Add some nice to have links here. This includes related devices, and external links.}}<br />
<br />
== Manufacturer images ==<br />
<br />
{{Remove|Optional. Add non-sunxi images in this section.}}<br />
<br />
[[Category:Devices]]<br />
[[Category:A64 Tablets]]</div>
StandaSK
https://linux-sunxi.org/index.php?title=Navon_iQ7_2018&diff=23890
Navon iQ7 2018
2021-01-09T16:39:19Z
<p>StandaSK: /* Identification */ Remove note</p>
<hr />
<div>{{Infobox Board<br />
| image = [[File:Navon_iQ7_2018_front.jpg|250px]]<br />
| manufacturer = [https://smartnavon.eu/ Navon]<br />
| dimensions = 115''mm'' x 10''mm'' x 190''mm''<br />
| release_date = 2018<br />
| soc = [[A64]] @ 1.152Ghz<br />
| dram = 1GiB DDR3 @ {{Edit|xxx}}MHz<br />
| nand = 8GB<br />
| power = microUSB, 2500mAh 3.7V Li-Ion battery<br />
| lcd = 600x1024 (7" ~17∶10)<br />
| touchscreen = 5-finger capacitive ([[GSL1680|Silead GSL1680]])<br />
| audio = 3.5mm headphone plug, 3.5mm microphone plug, internal speaker, internal microphone<br />
| network = WiFi 802.11 b/g/n ([[Wifi#Realtek|Realtek RTL8703BS]])<br />
| storage = µSD<br />
| usb = X USB2.0 Host, X USB2.0 OTG<br />
| camera = 0.3MP (????x????) front, 2MP (????x????) rear<br />
| other = Accelerometer ([[Accelerometer#Device|Manufacturer device]]), GPS, IRDA<br />
| headers = UART, JTAG, LCD, ...<br />
}}<br />
<br />
{{Remove_only_when_finished|This page needs to be properly filled according to the [[New_Device_howto |New Device Howto]] and the [[New_Device_page|New Device Page guide]].}}<br />
<br />
{{Remove|If a device is special, then feel free to provide a terse description of what makes this device so special. But terse, no novels, no marketing blurb.}}<br />
<br />
= Identification =<br />
On the back of the device, the following is printed:<br />
<pre>Navon<br />
iQ7 2018</pre><br />
<br />
The PCB has the following silkscreened on it:<br />
<pre>AL-A64-86VH-V1.0<br />
22DB_20180730</pre><br />
<br />
In android, under Settings->About Tablet, you will find:<br />
* Model Number: ''iQ7_2018''<br />
* Build Number: ''Navon_V1.0_20180114''<br />
<br />
= Sunxi support =<br />
<br />
== Current status ==<br />
<br />
{{Remove|Give a brief overview of the current status of support under sunxi here.}}<br />
<br />
== Images ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE specific sunxi ROM images here. E.g. a livesuit image or some other linux image which uses linux-sunxi code. Do not put non-sunxi images here, they should live under [[#See_also|See also]]. If no sunxi based images are available, this section can be removed.}}<br />
<br />
== HW-Pack ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE sunxi HW-pack specifics here. When empty, this section can be removed.}}<br />
<br />
== BSP ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE sunxi BSP specifics here. When empty, this section can be removed.}}<br />
<br />
== Manual build ==<br />
<br />
You can build things for yourself by following our [[Manual_build_howto | Manual build howto]] and by choosing from the configurations available below.<br />
<br />
=== U-Boot ===<br />
<br />
==== Sunxi/Legacy U-Boot ====<br />
<br />
Use the ''{{Edit|MANUFACTURER_DEVICE}}'' build target.<br />
<br />
==== Mainline U-Boot ====<br />
<br />
Use the ''{{Edit|MANUFACTURER_DEVICE}}'' build target.<br />
<br />
=== Linux Kernel ===<br />
<br />
==== Sunxi/Legacy Kernel ====<br />
<br />
Use the [https://github.com/linux-sunxi/sunxi-boards/blob/master/sys_config/SOC/MANUFACTURER_DEVICE.fex ''{{Edit|MANUFACTURER_DEVICE.fex}}''] file.<br />
<br />
==== Mainline kernel ====<br />
<br />
Use the ''{{Edit|FAMILY-CHIP-DEVICE.dtb}}'' device-tree binary.<br />
<br />
= Tips, Tricks, Caveats =<br />
<br />
{{Remove|Add MANUFACTURER DEVICE specific tips, tricks, Caveats and nice to have changes here.}}<br />
<br />
== FEL mode ==<br />
<br />
The {{Edit|something}} button triggers [[FEL | FEL mode]].<br />
<br />
== {{Edit|Device specific topic}} ==<br />
<br />
{{Remove|If there are no further device specific topics to add, remove these sections.}}<br />
<br />
== {{Edit|...}} ==<br />
<br />
= Adding a serial port ('''voids warranty''') =<br />
<br />
[[File:device_uart.jpg|thumb|240px|{{Remove|DEVICE}} UART pads]]<br />
<br />
{{Remove|This section explains how to attach a serial port to the device. Make sure it refers to our [[UART|UART howto]]. For a development board, you can just mention how to find the header with the pins and include a picture, and you can remove the warranty voiding warning.}}<br />
<br />
== Device disassembly ==<br />
# Unscrew the two screws at the top of the device (the side with all the ports and buttons)<br />
# Use a [[Plastic tool]] to unclip the back cover<br />
<br />
== Locating the UART ==<br />
<br />
{{Remove|Describe how to find the RX,TX,GND signals here, and mention the [[UART|UART howto]].}}<br />
<br />
= Pictures =<br />
<br />
{{Remove|Take some pictures of your device, [[Special:Upload | upload them]], and add them here. DO NOT UPLOAD PICTURES WHICH YOU PLUCKED OFF THE INTERNET.}}<br />
<br />
<gallery><br />
File:Navon_iQ7_2018_front.jpg<br />
File:Navon_iQ7_2018_back.jpg<br />
File:Navon_iQ7_2018_top.jpg<br />
File:Navon_iQ7_2018_back_removed.jpg<br />
File:Navon_iQ7_2018_board_front.jpeg<br />
File:Device_board_back.jpg<br />
</gallery><br />
<br />
= Also known as =<br />
<br />
{{Remove|List rebadged devices here.}}<br />
<br />
= See also =<br />
<br />
{{Remove|Add some nice to have links here. This includes related devices, and external links.}}<br />
<br />
== Manufacturer images ==<br />
<br />
{{Remove|Optional. Add non-sunxi images in this section.}}<br />
<br />
[[Category:Devices]]<br />
[[Category:A64 Tablets]]</div>
StandaSK
https://linux-sunxi.org/index.php?title=Navon_iQ7_2018&diff=23889
Navon iQ7 2018
2021-01-09T16:38:14Z
<p>StandaSK: /* WiFi */</p>
<hr />
<div>{{Infobox Board<br />
| image = [[File:Navon_iQ7_2018_front.jpg|250px]]<br />
| manufacturer = [https://smartnavon.eu/ Navon]<br />
| dimensions = 115''mm'' x 10''mm'' x 190''mm''<br />
| release_date = 2018<br />
| soc = [[A64]] @ 1.152Ghz<br />
| dram = 1GiB DDR3 @ {{Edit|xxx}}MHz<br />
| nand = 8GB<br />
| power = microUSB, 2500mAh 3.7V Li-Ion battery<br />
| lcd = 600x1024 (7" ~17∶10)<br />
| touchscreen = 5-finger capacitive ([[GSL1680|Silead GSL1680]])<br />
| audio = 3.5mm headphone plug, 3.5mm microphone plug, internal speaker, internal microphone<br />
| network = WiFi 802.11 b/g/n ([[Wifi#Realtek|Realtek RTL8703BS]])<br />
| storage = µSD<br />
| usb = X USB2.0 Host, X USB2.0 OTG<br />
| camera = 0.3MP (????x????) front, 2MP (????x????) rear<br />
| other = Accelerometer ([[Accelerometer#Device|Manufacturer device]]), GPS, IRDA<br />
| headers = UART, JTAG, LCD, ...<br />
}}<br />
<br />
{{Remove_only_when_finished|This page needs to be properly filled according to the [[New_Device_howto |New Device Howto]] and the [[New_Device_page|New Device Page guide]].}}<br />
<br />
{{Remove|If a device is special, then feel free to provide a terse description of what makes this device so special. But terse, no novels, no marketing blurb.}}<br />
<br />
= Identification =<br />
{{Remove|This section explains how to most easily identify your device. For a development board, explain the name(s) printed on the board. For an android device, find out the strings as reported under settings.}}<br />
<br />
On the back of the device, the following is printed:<br />
<pre>Navon<br />
iQ7 2018</pre><br />
<br />
The PCB has the following silkscreened on it:<br />
<pre>AL-A64-86VH-V1.0<br />
22DB_20180730</pre><br />
<br />
In android, under Settings->About Tablet, you will find:<br />
* Model Number: ''iQ7_2018''<br />
* Build Number: ''Navon_V1.0_20180114''<br />
<br />
= Sunxi support =<br />
<br />
== Current status ==<br />
<br />
{{Remove|Give a brief overview of the current status of support under sunxi here.}}<br />
<br />
== Images ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE specific sunxi ROM images here. E.g. a livesuit image or some other linux image which uses linux-sunxi code. Do not put non-sunxi images here, they should live under [[#See_also|See also]]. If no sunxi based images are available, this section can be removed.}}<br />
<br />
== HW-Pack ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE sunxi HW-pack specifics here. When empty, this section can be removed.}}<br />
<br />
== BSP ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE sunxi BSP specifics here. When empty, this section can be removed.}}<br />
<br />
== Manual build ==<br />
<br />
You can build things for yourself by following our [[Manual_build_howto | Manual build howto]] and by choosing from the configurations available below.<br />
<br />
=== U-Boot ===<br />
<br />
==== Sunxi/Legacy U-Boot ====<br />
<br />
Use the ''{{Edit|MANUFACTURER_DEVICE}}'' build target.<br />
<br />
==== Mainline U-Boot ====<br />
<br />
Use the ''{{Edit|MANUFACTURER_DEVICE}}'' build target.<br />
<br />
=== Linux Kernel ===<br />
<br />
==== Sunxi/Legacy Kernel ====<br />
<br />
Use the [https://github.com/linux-sunxi/sunxi-boards/blob/master/sys_config/SOC/MANUFACTURER_DEVICE.fex ''{{Edit|MANUFACTURER_DEVICE.fex}}''] file.<br />
<br />
==== Mainline kernel ====<br />
<br />
Use the ''{{Edit|FAMILY-CHIP-DEVICE.dtb}}'' device-tree binary.<br />
<br />
= Tips, Tricks, Caveats =<br />
<br />
{{Remove|Add MANUFACTURER DEVICE specific tips, tricks, Caveats and nice to have changes here.}}<br />
<br />
== FEL mode ==<br />
<br />
The {{Edit|something}} button triggers [[FEL | FEL mode]].<br />
<br />
== {{Edit|Device specific topic}} ==<br />
<br />
{{Remove|If there are no further device specific topics to add, remove these sections.}}<br />
<br />
== {{Edit|...}} ==<br />
<br />
= Adding a serial port ('''voids warranty''') =<br />
<br />
[[File:device_uart.jpg|thumb|240px|{{Remove|DEVICE}} UART pads]]<br />
<br />
{{Remove|This section explains how to attach a serial port to the device. Make sure it refers to our [[UART|UART howto]]. For a development board, you can just mention how to find the header with the pins and include a picture, and you can remove the warranty voiding warning.}}<br />
<br />
== Device disassembly ==<br />
# Unscrew the two screws at the top of the device (the side with all the ports and buttons)<br />
# Use a [[Plastic tool]] to unclip the back cover<br />
<br />
== Locating the UART ==<br />
<br />
{{Remove|Describe how to find the RX,TX,GND signals here, and mention the [[UART|UART howto]].}}<br />
<br />
= Pictures =<br />
<br />
{{Remove|Take some pictures of your device, [[Special:Upload | upload them]], and add them here. DO NOT UPLOAD PICTURES WHICH YOU PLUCKED OFF THE INTERNET.}}<br />
<br />
<gallery><br />
File:Navon_iQ7_2018_front.jpg<br />
File:Navon_iQ7_2018_back.jpg<br />
File:Navon_iQ7_2018_top.jpg<br />
File:Navon_iQ7_2018_back_removed.jpg<br />
File:Navon_iQ7_2018_board_front.jpeg<br />
File:Device_board_back.jpg<br />
</gallery><br />
<br />
= Also known as =<br />
<br />
{{Remove|List rebadged devices here.}}<br />
<br />
= See also =<br />
<br />
{{Remove|Add some nice to have links here. This includes related devices, and external links.}}<br />
<br />
== Manufacturer images ==<br />
<br />
{{Remove|Optional. Add non-sunxi images in this section.}}<br />
<br />
[[Category:Devices]]<br />
[[Category:A64 Tablets]]</div>
StandaSK
https://linux-sunxi.org/index.php?title=Navon_iQ7_2018&diff=23888
Navon iQ7 2018
2021-01-09T16:32:41Z
<p>StandaSK: /* Touchscreen */</p>
<hr />
<div>{{Infobox Board<br />
| image = [[File:Navon_iQ7_2018_front.jpg|250px]]<br />
| manufacturer = [https://smartnavon.eu/ Navon]<br />
| dimensions = 115''mm'' x 10''mm'' x 190''mm''<br />
| release_date = 2018<br />
| soc = [[A64]] @ 1.152Ghz<br />
| dram = 1GiB DDR3 @ {{Edit|xxx}}MHz<br />
| nand = 8GB<br />
| power = microUSB, 2500mAh 3.7V Li-Ion battery<br />
| lcd = 600x1024 (7" ~17∶10)<br />
| touchscreen = 5-finger capacitive ([[GSL1680|Silead GSL1680]])<br />
| audio = 3.5mm headphone plug, 3.5mm microphone plug, internal speaker, internal microphone<br />
| network = WiFi 802.11 b/g/n ([[Wifi#Manufacturer|Manufacturer device]])<br />
| storage = µSD<br />
| usb = X USB2.0 Host, X USB2.0 OTG<br />
| camera = 0.3MP (????x????) front, 2MP (????x????) rear<br />
| other = Accelerometer ([[Accelerometer#Device|Manufacturer device]]), GPS, IRDA<br />
| headers = UART, JTAG, LCD, ...<br />
}}<br />
<br />
{{Remove_only_when_finished|This page needs to be properly filled according to the [[New_Device_howto |New Device Howto]] and the [[New_Device_page|New Device Page guide]].}}<br />
<br />
{{Remove|If a device is special, then feel free to provide a terse description of what makes this device so special. But terse, no novels, no marketing blurb.}}<br />
<br />
= Identification =<br />
{{Remove|This section explains how to most easily identify your device. For a development board, explain the name(s) printed on the board. For an android device, find out the strings as reported under settings.}}<br />
<br />
On the back of the device, the following is printed:<br />
<pre>Navon<br />
iQ7 2018</pre><br />
<br />
The PCB has the following silkscreened on it:<br />
<pre>AL-A64-86VH-V1.0<br />
22DB_20180730</pre><br />
<br />
In android, under Settings->About Tablet, you will find:<br />
* Model Number: ''iQ7_2018''<br />
* Build Number: ''Navon_V1.0_20180114''<br />
<br />
= Sunxi support =<br />
<br />
== Current status ==<br />
<br />
{{Remove|Give a brief overview of the current status of support under sunxi here.}}<br />
<br />
== Images ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE specific sunxi ROM images here. E.g. a livesuit image or some other linux image which uses linux-sunxi code. Do not put non-sunxi images here, they should live under [[#See_also|See also]]. If no sunxi based images are available, this section can be removed.}}<br />
<br />
== HW-Pack ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE sunxi HW-pack specifics here. When empty, this section can be removed.}}<br />
<br />
== BSP ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE sunxi BSP specifics here. When empty, this section can be removed.}}<br />
<br />
== Manual build ==<br />
<br />
You can build things for yourself by following our [[Manual_build_howto | Manual build howto]] and by choosing from the configurations available below.<br />
<br />
=== U-Boot ===<br />
<br />
==== Sunxi/Legacy U-Boot ====<br />
<br />
Use the ''{{Edit|MANUFACTURER_DEVICE}}'' build target.<br />
<br />
==== Mainline U-Boot ====<br />
<br />
Use the ''{{Edit|MANUFACTURER_DEVICE}}'' build target.<br />
<br />
=== Linux Kernel ===<br />
<br />
==== Sunxi/Legacy Kernel ====<br />
<br />
Use the [https://github.com/linux-sunxi/sunxi-boards/blob/master/sys_config/SOC/MANUFACTURER_DEVICE.fex ''{{Edit|MANUFACTURER_DEVICE.fex}}''] file.<br />
<br />
==== Mainline kernel ====<br />
<br />
Use the ''{{Edit|FAMILY-CHIP-DEVICE.dtb}}'' device-tree binary.<br />
<br />
= Tips, Tricks, Caveats =<br />
<br />
{{Remove|Add MANUFACTURER DEVICE specific tips, tricks, Caveats and nice to have changes here.}}<br />
<br />
== FEL mode ==<br />
<br />
The {{Edit|something}} button triggers [[FEL | FEL mode]].<br />
<br />
== {{Edit|Device specific topic}} ==<br />
<br />
{{Remove|If there are no further device specific topics to add, remove these sections.}}<br />
<br />
== {{Edit|...}} ==<br />
<br />
= Adding a serial port ('''voids warranty''') =<br />
<br />
[[File:device_uart.jpg|thumb|240px|{{Remove|DEVICE}} UART pads]]<br />
<br />
{{Remove|This section explains how to attach a serial port to the device. Make sure it refers to our [[UART|UART howto]]. For a development board, you can just mention how to find the header with the pins and include a picture, and you can remove the warranty voiding warning.}}<br />
<br />
== Device disassembly ==<br />
# Unscrew the two screws at the top of the device (the side with all the ports and buttons)<br />
# Use a [[Plastic tool]] to unclip the back cover<br />
<br />
== Locating the UART ==<br />
<br />
{{Remove|Describe how to find the RX,TX,GND signals here, and mention the [[UART|UART howto]].}}<br />
<br />
= Pictures =<br />
<br />
{{Remove|Take some pictures of your device, [[Special:Upload | upload them]], and add them here. DO NOT UPLOAD PICTURES WHICH YOU PLUCKED OFF THE INTERNET.}}<br />
<br />
<gallery><br />
File:Navon_iQ7_2018_front.jpg<br />
File:Navon_iQ7_2018_back.jpg<br />
File:Navon_iQ7_2018_top.jpg<br />
File:Navon_iQ7_2018_back_removed.jpg<br />
File:Navon_iQ7_2018_board_front.jpeg<br />
File:Device_board_back.jpg<br />
</gallery><br />
<br />
= Also known as =<br />
<br />
{{Remove|List rebadged devices here.}}<br />
<br />
= See also =<br />
<br />
{{Remove|Add some nice to have links here. This includes related devices, and external links.}}<br />
<br />
== Manufacturer images ==<br />
<br />
{{Remove|Optional. Add non-sunxi images in this section.}}<br />
<br />
[[Category:Devices]]<br />
[[Category:A64 Tablets]]</div>
StandaSK
https://linux-sunxi.org/index.php?title=Navon_iQ7_2018&diff=23887
Navon iQ7 2018
2021-01-09T16:26:55Z
<p>StandaSK: /* Identification */ Add PCB silkcreen info</p>
<hr />
<div>{{Infobox Board<br />
| image = [[File:Navon_iQ7_2018_front.jpg|250px]]<br />
| manufacturer = [https://smartnavon.eu/ Navon]<br />
| dimensions = 115''mm'' x 10''mm'' x 190''mm''<br />
| release_date = 2018<br />
| soc = [[A64]] @ 1.152Ghz<br />
| dram = 1GiB DDR3 @ {{Edit|xxx}}MHz<br />
| nand = 8GB<br />
| power = microUSB, 2500mAh 3.7V Li-Ion battery<br />
| lcd = 600x1024 (7" ~17∶10)<br />
| touchscreen = 5-finger capacitive ([[Touchscreen#Device|Manufacturer device]])<br />
| audio = 3.5mm headphone plug, 3.5mm microphone plug, internal speaker, internal microphone<br />
| network = WiFi 802.11 b/g/n ([[Wifi#Manufacturer|Manufacturer device]])<br />
| storage = µSD<br />
| usb = X USB2.0 Host, X USB2.0 OTG<br />
| camera = 0.3MP (????x????) front, 2MP (????x????) rear<br />
| other = Accelerometer ([[Accelerometer#Device|Manufacturer device]]), GPS, IRDA<br />
| headers = UART, JTAG, LCD, ...<br />
}}<br />
<br />
{{Remove_only_when_finished|This page needs to be properly filled according to the [[New_Device_howto |New Device Howto]] and the [[New_Device_page|New Device Page guide]].}}<br />
<br />
{{Remove|If a device is special, then feel free to provide a terse description of what makes this device so special. But terse, no novels, no marketing blurb.}}<br />
<br />
= Identification =<br />
{{Remove|This section explains how to most easily identify your device. For a development board, explain the name(s) printed on the board. For an android device, find out the strings as reported under settings.}}<br />
<br />
On the back of the device, the following is printed:<br />
<pre>Navon<br />
iQ7 2018</pre><br />
<br />
The PCB has the following silkscreened on it:<br />
<pre>AL-A64-86VH-V1.0<br />
22DB_20180730</pre><br />
<br />
In android, under Settings->About Tablet, you will find:<br />
* Model Number: ''iQ7_2018''<br />
* Build Number: ''Navon_V1.0_20180114''<br />
<br />
= Sunxi support =<br />
<br />
== Current status ==<br />
<br />
{{Remove|Give a brief overview of the current status of support under sunxi here.}}<br />
<br />
== Images ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE specific sunxi ROM images here. E.g. a livesuit image or some other linux image which uses linux-sunxi code. Do not put non-sunxi images here, they should live under [[#See_also|See also]]. If no sunxi based images are available, this section can be removed.}}<br />
<br />
== HW-Pack ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE sunxi HW-pack specifics here. When empty, this section can be removed.}}<br />
<br />
== BSP ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE sunxi BSP specifics here. When empty, this section can be removed.}}<br />
<br />
== Manual build ==<br />
<br />
You can build things for yourself by following our [[Manual_build_howto | Manual build howto]] and by choosing from the configurations available below.<br />
<br />
=== U-Boot ===<br />
<br />
==== Sunxi/Legacy U-Boot ====<br />
<br />
Use the ''{{Edit|MANUFACTURER_DEVICE}}'' build target.<br />
<br />
==== Mainline U-Boot ====<br />
<br />
Use the ''{{Edit|MANUFACTURER_DEVICE}}'' build target.<br />
<br />
=== Linux Kernel ===<br />
<br />
==== Sunxi/Legacy Kernel ====<br />
<br />
Use the [https://github.com/linux-sunxi/sunxi-boards/blob/master/sys_config/SOC/MANUFACTURER_DEVICE.fex ''{{Edit|MANUFACTURER_DEVICE.fex}}''] file.<br />
<br />
==== Mainline kernel ====<br />
<br />
Use the ''{{Edit|FAMILY-CHIP-DEVICE.dtb}}'' device-tree binary.<br />
<br />
= Tips, Tricks, Caveats =<br />
<br />
{{Remove|Add MANUFACTURER DEVICE specific tips, tricks, Caveats and nice to have changes here.}}<br />
<br />
== FEL mode ==<br />
<br />
The {{Edit|something}} button triggers [[FEL | FEL mode]].<br />
<br />
== {{Edit|Device specific topic}} ==<br />
<br />
{{Remove|If there are no further device specific topics to add, remove these sections.}}<br />
<br />
== {{Edit|...}} ==<br />
<br />
= Adding a serial port ('''voids warranty''') =<br />
<br />
[[File:device_uart.jpg|thumb|240px|{{Remove|DEVICE}} UART pads]]<br />
<br />
{{Remove|This section explains how to attach a serial port to the device. Make sure it refers to our [[UART|UART howto]]. For a development board, you can just mention how to find the header with the pins and include a picture, and you can remove the warranty voiding warning.}}<br />
<br />
== Device disassembly ==<br />
# Unscrew the two screws at the top of the device (the side with all the ports and buttons)<br />
# Use a [[Plastic tool]] to unclip the back cover<br />
<br />
== Locating the UART ==<br />
<br />
{{Remove|Describe how to find the RX,TX,GND signals here, and mention the [[UART|UART howto]].}}<br />
<br />
= Pictures =<br />
<br />
{{Remove|Take some pictures of your device, [[Special:Upload | upload them]], and add them here. DO NOT UPLOAD PICTURES WHICH YOU PLUCKED OFF THE INTERNET.}}<br />
<br />
<gallery><br />
File:Navon_iQ7_2018_front.jpg<br />
File:Navon_iQ7_2018_back.jpg<br />
File:Navon_iQ7_2018_top.jpg<br />
File:Navon_iQ7_2018_back_removed.jpg<br />
File:Navon_iQ7_2018_board_front.jpeg<br />
File:Device_board_back.jpg<br />
</gallery><br />
<br />
= Also known as =<br />
<br />
{{Remove|List rebadged devices here.}}<br />
<br />
= See also =<br />
<br />
{{Remove|Add some nice to have links here. This includes related devices, and external links.}}<br />
<br />
== Manufacturer images ==<br />
<br />
{{Remove|Optional. Add non-sunxi images in this section.}}<br />
<br />
[[Category:Devices]]<br />
[[Category:A64 Tablets]]</div>
StandaSK
https://linux-sunxi.org/index.php?title=Navon_iQ7_2018&diff=23886
Navon iQ7 2018
2021-01-09T16:25:19Z
<p>StandaSK: /* Pictures */ Add board front picture</p>
<hr />
<div>{{Infobox Board<br />
| image = [[File:Navon_iQ7_2018_front.jpg|250px]]<br />
| manufacturer = [https://smartnavon.eu/ Navon]<br />
| dimensions = 115''mm'' x 10''mm'' x 190''mm''<br />
| release_date = 2018<br />
| soc = [[A64]] @ 1.152Ghz<br />
| dram = 1GiB DDR3 @ {{Edit|xxx}}MHz<br />
| nand = 8GB<br />
| power = microUSB, 2500mAh 3.7V Li-Ion battery<br />
| lcd = 600x1024 (7" ~17∶10)<br />
| touchscreen = 5-finger capacitive ([[Touchscreen#Device|Manufacturer device]])<br />
| audio = 3.5mm headphone plug, 3.5mm microphone plug, internal speaker, internal microphone<br />
| network = WiFi 802.11 b/g/n ([[Wifi#Manufacturer|Manufacturer device]])<br />
| storage = µSD<br />
| usb = X USB2.0 Host, X USB2.0 OTG<br />
| camera = 0.3MP (????x????) front, 2MP (????x????) rear<br />
| other = Accelerometer ([[Accelerometer#Device|Manufacturer device]]), GPS, IRDA<br />
| headers = UART, JTAG, LCD, ...<br />
}}<br />
<br />
{{Remove_only_when_finished|This page needs to be properly filled according to the [[New_Device_howto |New Device Howto]] and the [[New_Device_page|New Device Page guide]].}}<br />
<br />
{{Remove|If a device is special, then feel free to provide a terse description of what makes this device so special. But terse, no novels, no marketing blurb.}}<br />
<br />
= Identification =<br />
{{Remove|This section explains how to most easily identify your device. For a development board, explain the name(s) printed on the board. For an android device, find out the strings as reported under settings.}}<br />
<br />
On the back of the device, the following is printed:<br />
<pre>Navon<br />
iQ7 2018</pre><br />
<br />
The PCB has the following silkscreened on it:<br />
<pre>LIA-BB-V6.66<br />
1970-01-01</pre><br />
<br />
In android, under Settings->About Tablet, you will find:<br />
* Model Number: ''iQ7_2018''<br />
* Build Number: ''Navon_V1.0_20180114''<br />
<br />
= Sunxi support =<br />
<br />
== Current status ==<br />
<br />
{{Remove|Give a brief overview of the current status of support under sunxi here.}}<br />
<br />
== Images ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE specific sunxi ROM images here. E.g. a livesuit image or some other linux image which uses linux-sunxi code. Do not put non-sunxi images here, they should live under [[#See_also|See also]]. If no sunxi based images are available, this section can be removed.}}<br />
<br />
== HW-Pack ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE sunxi HW-pack specifics here. When empty, this section can be removed.}}<br />
<br />
== BSP ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE sunxi BSP specifics here. When empty, this section can be removed.}}<br />
<br />
== Manual build ==<br />
<br />
You can build things for yourself by following our [[Manual_build_howto | Manual build howto]] and by choosing from the configurations available below.<br />
<br />
=== U-Boot ===<br />
<br />
==== Sunxi/Legacy U-Boot ====<br />
<br />
Use the ''{{Edit|MANUFACTURER_DEVICE}}'' build target.<br />
<br />
==== Mainline U-Boot ====<br />
<br />
Use the ''{{Edit|MANUFACTURER_DEVICE}}'' build target.<br />
<br />
=== Linux Kernel ===<br />
<br />
==== Sunxi/Legacy Kernel ====<br />
<br />
Use the [https://github.com/linux-sunxi/sunxi-boards/blob/master/sys_config/SOC/MANUFACTURER_DEVICE.fex ''{{Edit|MANUFACTURER_DEVICE.fex}}''] file.<br />
<br />
==== Mainline kernel ====<br />
<br />
Use the ''{{Edit|FAMILY-CHIP-DEVICE.dtb}}'' device-tree binary.<br />
<br />
= Tips, Tricks, Caveats =<br />
<br />
{{Remove|Add MANUFACTURER DEVICE specific tips, tricks, Caveats and nice to have changes here.}}<br />
<br />
== FEL mode ==<br />
<br />
The {{Edit|something}} button triggers [[FEL | FEL mode]].<br />
<br />
== {{Edit|Device specific topic}} ==<br />
<br />
{{Remove|If there are no further device specific topics to add, remove these sections.}}<br />
<br />
== {{Edit|...}} ==<br />
<br />
= Adding a serial port ('''voids warranty''') =<br />
<br />
[[File:device_uart.jpg|thumb|240px|{{Remove|DEVICE}} UART pads]]<br />
<br />
{{Remove|This section explains how to attach a serial port to the device. Make sure it refers to our [[UART|UART howto]]. For a development board, you can just mention how to find the header with the pins and include a picture, and you can remove the warranty voiding warning.}}<br />
<br />
== Device disassembly ==<br />
# Unscrew the two screws at the top of the device (the side with all the ports and buttons)<br />
# Use a [[Plastic tool]] to unclip the back cover<br />
<br />
== Locating the UART ==<br />
<br />
{{Remove|Describe how to find the RX,TX,GND signals here, and mention the [[UART|UART howto]].}}<br />
<br />
= Pictures =<br />
<br />
{{Remove|Take some pictures of your device, [[Special:Upload | upload them]], and add them here. DO NOT UPLOAD PICTURES WHICH YOU PLUCKED OFF THE INTERNET.}}<br />
<br />
<gallery><br />
File:Navon_iQ7_2018_front.jpg<br />
File:Navon_iQ7_2018_back.jpg<br />
File:Navon_iQ7_2018_top.jpg<br />
File:Navon_iQ7_2018_back_removed.jpg<br />
File:Navon_iQ7_2018_board_front.jpeg<br />
File:Device_board_back.jpg<br />
</gallery><br />
<br />
= Also known as =<br />
<br />
{{Remove|List rebadged devices here.}}<br />
<br />
= See also =<br />
<br />
{{Remove|Add some nice to have links here. This includes related devices, and external links.}}<br />
<br />
== Manufacturer images ==<br />
<br />
{{Remove|Optional. Add non-sunxi images in this section.}}<br />
<br />
[[Category:Devices]]<br />
[[Category:A64 Tablets]]</div>
StandaSK
https://linux-sunxi.org/index.php?title=File:Navon_iQ7_2018_board_front.jpeg&diff=23885
File:Navon iQ7 2018 board front.jpeg
2021-01-09T16:24:44Z
<p>StandaSK: </p>
<hr />
<div></div>
StandaSK
https://linux-sunxi.org/index.php?title=Fex_Guide&diff=23884
Fex Guide
2021-01-09T16:07:30Z
<p>StandaSK: /* FEX Description */</p>
<hr />
<div>== FEX Description ==<br />
A FEX file defines various aspects of how the SoC works. It configures the GPIO pins and sets up DRAM, Display, etc parameters. It is Allwinners predecessor for the devicetree.<br />
<br />
Each line consists of a '''key''' = '''value''' pair combination under a '''[sectionheader]'''. All three, '''[sectionheader]''', '''key''' and '''value''' are case-sensitive. For comments a semi-colon (''';''') is used and everything following a semi-colon is ignored. The chip does not parse a textual version of a fex file, it gets cleaned and compiled by a fex-compiler. A reverse engineered open source version exists in the [[Sunxi-tools#sunxi-fexc_and_wrappers|sunxi-tools repository]]. Also a de-compiler which takes a binary ''script.bin'' and creates a textual ''script.fex''. Usually, ''script.bin'' can be found on the nanda boot partition on A10 devices.<br />
<br />
{{note|The [[Mainline_Kernel_Howto|mainline]] Linux kernel makes no use of FEX / [[Script.bin|script.bin]], and relies on the [[Device_Tree|device tree]] model instead (''.dtb'' files).}}<br />
<br />
== Port Definitions ==<br />
Description of the GPIO configuration in the form:<br />
<br />
:port:<port><mux feature><pullup/down><drive capability><output level><br />
<br />
where:<br />
<br />
:'''<port>''' is the port to configure (ie. PH15)<br />
<br />
:'''<mux feature>''' is the function to configure the port for, mux 0 is as input, mux 1 as output and for 2-7 see [[A10/PIO]], [[A13/PIO]], or [[A20/PIO]] for details.<br />
<br />
:'''<pullup/down>''' is 0 = disabled; 1 = pullup enabled; 2 = pulldown enabled (only valid when port is an input)<br />
<br />
:'''<drive capability>''' defines the output drive in mA, values are 0-3 corresponding to 10mA, 20mA, 30mA and 40mA.<br />
<br />
:'''<output level>''' sets the initial output level for the port; 0 = low; 1 = high (only valid for outputs)<br />
<br />
The '''<pullup/down>''' <drive capability> and <output level> can be set to <default> which means don't change. Any trailing <default> options can be omitted.<br />
<br />
This can also be used to specify various pins on the AXP PMIC. The syntax is "power:portN".<br />
<br />
{| class="wikitable"<br />
|-<br />
! Port !! AXP20x !! AXP22x / AXP8xx !!<br />
|-<br />
| 0 || GPIO0 || GPIO0<br />
|-<br />
| 1 || GPIO1 || GPIO1<br />
|-<br />
| 2 || GPIO2 || DC1SW<br />
|-<br />
| 3 || GPIO3 || CHGLED<br />
|-<br />
| 4 || || N_VBUSEN<br />
|-<br />
| 5 || || WAKEUP (slave PMIC)<br />
|-<br />
| 6 || || SWOUT (slave PMIC)<br />
|}<br />
<br />
== application ==<br />
=== [product] ===<br />
Product version and description. It seems all fex files at this moment are at version 1.0 and use the default evaluation board name. It doesn't appear to be used internally, but requires further investigation.<br />
<br />
* '''version''': string indicating fex file version.<br />
* '''machine''': string indicating the board name. ''"A10-EVB-V1.2"'' appears to be a common one, seemingly to refer to the A10 Evaluation board v1.2.<br />
<pre class="brush: ini"><br />
[product]<br />
version = "1.0"<br />
machine = "A10-EVB-V1.2"<br />
</pre><br />
<br />
== system configuration == <br />
=== [target] ===<br />
<br />
{{note|blue module chip pin configuration, the black module internal control configuration}}<br />
<br />
Configuration items to configure the meaning of<br />
* '''boot_clock''': Initial boot frequency in MHz.<br />
* '''dcdc2_vol''': Dcdc2 output voltage in mV.<br />
* '''dcdc3_vol''': Dcdc3 output voltage in mV.<br />
* '''ldo2_vol''': Ldo2 output voltage in mV.<br />
* '''ldo3_vol''': Ldo3 output voltage in mV.<br />
* '''ldo4_vol''': Ldo4 output voltage in mV.<br />
* '''power_start''': 0 or 1.<br />
* '''storage_type''': 0 = nand, 1 = SDCard, 2 = SPI-nor<br />
<br />
Configuration example:<br />
<pre class="brush: ini"><br />
[target]<br />
boot_clock = 1008<br />
dcdc2_vol = 1400<br />
dcdc3_vol = 1250<br />
ldo2_vol = 3000<br />
ldo3_vol = 2800<br />
ldo4_vol = 2800<br />
pll4_freq = 960<br />
pll6_freq = 960<br />
power_start = 1<br />
storage_type = 0<br />
</pre><br />
<br />
=== [card_burn_para] ===<br />
Configuration example:<br />
<pre class="brush: ini"><br />
[card_burn_para]<br />
card_no = 0<br />
card_line = 4<br />
card_mode = 0<br />
sdc_d1 = port:PF00<2><1><default><default><br />
sdc_d0 = port:PF01<2><1><default><default><br />
sdc_clk = port:PF02<2><1><default><default><br />
sdc_cmd = port:PF03<2><1><default><default><br />
sdc_d3 = port:PF04<2><1><default><default><br />
sdc_d2 = port:PF05<2><1><default><default><br />
</pre><br />
<br />
=== [card_boot] ===<br />
<br />
* '''logical_start''': logical starting address when booting from SD-Card.<br />
* '''sprite_gpio0''':<br />
<br />
Configuration example:<br />
<pre class="brush: ini"><br />
[Card_boot]<br />
logical_start = 40960<br />
sprite_gpio0 =<br />
</pre><br />
<br />
=== [card_boot0_para] ===<br />
<br />
<br />
* '''card_ctrl''': card controller to be used<br />
* '''card_high_speed''': 0 for low speed, 1 for high-speed<br />
* '''card_line''': Number of card data lines<br />
* '''sdc_ cmd''': SD-Card command signals GPIO configuration<br />
* '''sdc_ clk''': SD-Card clock signal GPIO configuration<br />
* '''sdc_ d0''': SD-Card data 0 line signal GPIO configuration<br />
* '''sdc_ d1''': SD-Card data 1 line signal GPIO configuration<br />
* '''sdc_d2''': SD-Card data 2 line signal GPIO configuration<br />
* '''sdc_d3''': SD-Card data 3 line signal GPIO configuration<br />
<br />
Configuration example:<br />
<pre class="brush: ini"><br />
[card_boot0_para]<br />
card_ctrl = 0<br />
card_high_speed = 1<br />
card_line = 4<br />
sdc_d1 = port:PF00<2><1><default><default><br />
sdc_d0 = port:PF01<2><1><default><default><br />
sdc_clk = port:PF02<2><1><default><default><br />
sdc_cmd = port:PF03<2><1><default><default><br />
sdc_d3 = port:PF04<2><1><default><default><br />
sdc_d2 = port:PF05<2><1><default><default><br />
</pre><br />
<br />
=== [card_boot2_para] ===<br />
<br />
* '''card_ctrl''': card controller to be used<br />
* '''card_high_speed''': 0 for low speed, 1 for high-speed<br />
* '''card_line''': number of card data lines<br />
* '''sdc_ cmd''': SD-Card command signals GPIO configuration<br />
* '''sdc_ clk''': SD-Card clock signal GPIO configuration<br />
* '''sdc_ d0''': SD-Card data 0 line signal GPIO configuration<br />
* '''sdc_ d1''': SD-Card data 1 line signal GPIO configuration<br />
* '''sdc_d2''': SD-Card data 2 line signal GPIO configuration<br />
* '''sdc_d3''': SD-Card data 3 line signal GPIO configuration<br />
<br />
Configuration example:<br />
<pre class="brush: ini"><br />
[card_boot2_para]<br />
card_ctrl = 2<br />
card_high_speed = 1<br />
card_line = 4<br />
sdc_cmd = port:PC06<3><1><default><default><br />
sdc_clk = port:PC07<3><1><default><default><br />
sdc_d0 = port:PC08<3><1><default><default><br />
sdc_d1 = port:PC09<3><1><default><default><br />
sdc_d2 = port:PC10<3><1><default><default><br />
sdc_d3 = port:PC11<3><1><default><default><br />
</pre><br />
<br />
=== [twi_para] ===<br />
twi controller to enable during/for boot.<br />
<br />
* '''twi_port''': twi controller to configure<br />
* '''twi_scl''': twi Serial CLock line GPIO configuration<br />
* '''twi_sda''': = twi Serial DAta line GPIO configuration<br />
<br />
Configuration example:<br />
<pre class="brush: ini"><br />
[twi_para]<br />
twi_port = 0<br />
twi_scl = port:PB00<2><default><default><default><br />
twi_sda = port:PB01<2><default><default><default><br />
</pre><br />
<br />
=== [uart_para] ===<br />
Serial port to be enabled during/for boot.<br />
<br />
* '''uart_debug_port''': serial controller number<br />
* '''uart_debug_tx''': serial port TX line GPIO configuration<br />
* '''uart_debug_rx''': serial port RX line GPIO configuration<br />
<br />
Configuration example:<br />
<pre class="brush: ini"><br />
[uart_para]<br />
uart_debug_port = 0<br />
uart_debug_tx = port:PB22<2><br />
uart_debug_rx = port:PB23<2><br />
</pre><br />
<br />
=== [jtag_para] ===<br />
JTAG port to be enabled during/for boot.<br />
<br />
* '''jtag_enable''': 0 to disable JTAG, 1 to enable JTAG<br />
* '''jtag_ms''': JTAG Test Mode Select (TMS) GPIO configuration<br />
* '''jtag_ck''': JTAG Test Clock (TCK) GPIO configuration<br />
* '''jtag_do''': JTAG Test Data Output (TDO) GPIO configuration<br />
* '''jtag_di''': JTAG Test Data Input (TDI) GPIO configuration<br />
<br />
Configuration example:<br />
<pre class="brush: ini"><br />
[jtag_para]<br />
jtag_enable = 1<br />
jtag_ms = port:PB14<3><default><default><default><br />
jtag_ck = port:PB15<3>default><default><default><br />
jtag_do = port:PB16<3>default><default><default><br />
jtag_di = port:PB17<3>default><default><default><br />
</pre><br />
<br />
=== [system] ===<br />
* '''recovery_key''': recovery key GPIO configuration<br />
<br />
Configuration example:<br />
<pre class="brush: ini><br />
recovery_key = port:PH16<0><1><default><default><br />
</pre><br />
<br />
=== [gpio_para] ===<br />
* '''gpio_used''': 0 to disable; 1 to enable<br />
* '''gpio_num''': number mapped GPIO's<br />
* '''gpio_pin_1''': first GPIO pin<br />
<br />
Configuration example:<br />
<pre class="brush: ini><br />
gpio_used = 0<br />
gpio_num = 4<br />
gpio_pin_1 = port:PH10<1><default><default><0><br />
gpio_pin_2 = port:PH20<1><default><default><0><br />
gpio_pin_3 = port:PB03<0><default><default><default><br />
gpio_pin_4 = port:PH22<1><default><default><0><br />
</pre><br />
<br />
=== [gpio_init] ===<br />
* '''pin_1''': Initial pin 1 GPIO configuration<br />
<br />
Configuration example:<br />
<pre class="brush: ini><br />
pin_1 = port:PH10<1><default><default><0><br />
pin_2 = port:PH20<1><default><default><0><br />
</pre><br />
<br />
== SDRAM == <br />
=== [dram_para] === <br />
SD-Ram is usually configured via livesuit when flashing. Livesuit probes the hardware or knows about the hardware and its configuration and configures the SoC accordingly. This luxury is not available from Linux and thus sdram parameters have to be set up by hand.<br />
<br />
* '''dram_baseaddr''': DRAM physical start address, fixed at 0x40000000<br />
* '''dram_clk''': DRAM clock frequency in MHz; it must be an integer multiple of 24, minimally 120, maximally 480 MHz<br />
* '''dram_type''': DRAM type; Set to 2 for DDR2; 3 for DDR3<br />
* '''dram_rank_num''': DRAM chip select; 1 is a chip select; 2 election for two tablets<br />
* '''dram_chip_density''': monolithic DRAM capacity in Mbit<br />
* '''dram_io_width''': monolithic DRAM bus width in bits<br />
* '''dram_bus_width''': DRAM bus width in bits, such as two 16-bit DRAM banks make up a 32 bit bus width<br />
* '''dram_cas''': DRAM CAS latency<br />
* '''dram_zq''': DRAM controller internal parameters<br />
* '''dram_odt_en''': ODT 0 to disable; 1 to enable<br />
* '''dram_size''': DRAM total capacity in MB<br />
* '''dram_tpr0''': DRAM controller internal parameter<br />
* '''dram_tpr1''': DRAM controller internal parameter<br />
* '''dram_tpr2''': DRAM controller internal parameter<br />
* '''dram_tpr3''': DRAM controller internal parameter<br />
* '''dram_tpr4''': DRAM controller internal parameter<br />
* '''dram_tpr5''': DRAM controller internal parameter<br />
* '''dram_emr1''': DRAM controller internal parameter<br />
* '''dram_emr2''': DRAM controller internal parameter<br />
* '''dram_emr3''': DRAM controller internal parameter<br />
<br />
Configuration example:<br />
<pre class="brush: ini"><br />
[dram_para]<br />
dram_baseaddr = 0x40000000<br />
dram_clk = 360<br />
dram_type = 3<br />
dram_rank_num = 1<br />
dram_chip_density = 2048<br />
dram_io_width = 16<br />
dram_bus_width = 32<br />
dram_cas = 6<br />
dram_zq = 0x7b<br />
dram_odt_en = 0<br />
dram_size = 512<br />
dram_tpr0 = 0x30926692<br />
dram_tpr1 = 0x1090<br />
dram_tpr2 = 0x1a0c8<br />
dram_tpr3 = 0x0<br />
dram_tpr4 = 0x0<br />
dram_tpr5 = 0x0<br />
dram_emr1 = 0x0<br />
dram_emr2 = 0x0<br />
dram_emr3 = 0x0<br />
</pre><br />
<br />
== mali configuration == <br />
[[Mali400|Mali]] is the name of the GPU on the A10, A10s, A13, A20, A23, and A33 SoC's<br />
<br />
=== [mali_para] ===<br />
<br />
* '''mali_used''': 0 to disable; 1 to enable Mali module<br />
* '''mali_clkdiv''': Mali clock divisor. Clock is obtained by devising PLL4 with ''mali_clkdiv''<br />
<br />
Configuration example:<br />
<pre class="brush: ini"><br />
[mali_para]<br />
mali_used = 1<br />
mali_clkdiv = 3<br />
</pre><br />
<br />
=== [g2d_para] ===<br />
G2D is the 2D graphic display engine on the Allwinner SoC<br />
<br />
* '''g2d_used''': 0 to disable; 1 to enable the g2d module<br />
* '''g2d_size''': memory size for g2d<br />
<br />
<pre class="brush: ini"><br />
g2d_used = 1<br />
g2d_size = 0x1000000<br />
</pre><br />
<br />
== ethernet MAC configuration == <br />
=== [emac_para] === <br />
Ethernet configuration for the integrated ethernet IP. It still requires an external PHY<br />
<br />
* '''emac_used''': 0 to disable; 1 to enable the ethernet MAC<br />
* '''emac_rxd0''': RX data line 0 GPIO configuration<br />
* '''emac_rxd1''': RX data line 1 GPIO configuration<br />
* '''emac_rxd2''': RX data line 2 GPIO configuration<br />
* '''emac_rxd3''': RX data line 3 GPIO configuration<br />
* '''emac_txd0''': TX data line 0 GPIO configuration<br />
* '''emac_txd1''': TX data line 1 GPIO configuration<br />
* '''emac_txd2''': TX data line 2 GPIO configuration<br />
* '''emac_txd3''': TX data line 3 GPIO configuration<br />
* '''emac_rxclk''': RX clock GPIO configuration<br />
* '''emac_rxerr''': RX error GPIO configuration<br />
* '''emac_rxdV''': RX enabled GPIO configuration<br />
* '''emac_mdc''': MII clock GPIO configuration<br />
* '''emac_mdio''': MII data I/O GPIO configuration<br />
* '''emac_txen''': TX enabled GPIO configuration<br />
* '''emac_txclk''': TX clock GPIO configuration<br />
* '''emac_crs''': Carrier Status of GPIO configuration<br />
* '''emac_col''': Collision Detection GPIO configuration<br />
* '''emac_reset''': PHY reset signal GPIO configuration<br />
* '''emac_power''': <br />
* '''emac_link''': <br />
<br />
Configuration example:<br />
<pre class="brush: ini"><br />
[Emac_para]<br />
emac_used = 1<br />
emac_rxd3 = port:PA00<2><default><default><default><br />
emac_rxd2 = port:PA01<2><default><default><default><br />
emac_rxd1 = port:PA02<2><default><default><default><br />
emac_rxd0 = port:PA03<2><default><default><default><br />
emac_txd3 = port:PA04<2><default><default><default><br />
emac_txd2 = port:PA05<2><default><default><default><br />
emac_txd1 = port:PA06<2><default><default><default><br />
emac_txd0 = port:PA07<2><default><default><default><br />
emac_rxclk = port:PA08<2><default><default><default><br />
emac_rxerr = port:PA09<2><default><default><default><br />
emac_rxdV = port:PA10<2><default><default><default><br />
emac_mdc = port:PA11<2><default><default><default><br />
emac_mdio = port:PA12<2><default><default><default><br />
emac_txen = port:PA13<2><default><default><default><br />
emac_txclk = port:PA14<2><default><default><default><br />
emac_crs = port:PA15<2><default><default><default><br />
emac_col = port:PA16<2><default><default><default><br />
emac_reset = port:PA17<1><default><default><default><br />
</pre><br />
<br />
== i2c configuration ==<br />
=== [twi0_para] === <br />
Two Wire Interface (i²c) configuration for TWI port 0<br />
<br />
* '''twi0_used''': 0 to disable; 1 to enable<br />
* '''twi0_scl''': TWI Serial CLock GPIO configuration<br />
* '''twi0_sda''': TWI Serial Data GPIO configuration<br />
<br />
Configuration example:<br />
<pre class="brush: ini"><br />
[twi0_para]<br />
twi0_used = 1<br />
twi0_scl = port:PB00<2><default><default><default><br />
twi0_sda = port:PB01<2><default><default><default><br />
</pre><br />
<br />
=== [twi1_para] === <br />
Two Wire Interface (i²c) configuration for TWI port 1<br />
<br />
* '''twi1_used''': 0 to disable; 1 to enable<br />
* '''twi1_scl''': TWI Serial CLock GPIO configuration<br />
* '''twi1_sda''': TWI Serial Data GPIO configuration<br />
<br />
Configuration example:<br />
<pre class="brush: ini"><br />
[tw1_para]<br />
twi1_used = 1<br />
twi1_scl = port:PB18<2><default><default><default><br />
twi1_sda = port:PB19<2><default><default><default><br />
</pre><br />
<br />
=== [twi2_para] === <br />
Two Wire Interface (i²c) configuration for TWI port 2<br />
<br />
* '''twi2_used''': 0 to disable; 1 to enable<br />
* '''twi2_scl''': TWI Serial CLock GPIO configuration<br />
* '''twi2_sda''': TWI Serial Data GPIO configuration<br />
<br />
Configuration example:<br />
<pre class="brush: ini"><br />
[twi2_para]<br />
twi2_used = 1<br />
twi2_scl = port:PB20<2><default><default><default><br />
twi2_sda = port:PB21<2><default><default><default><br />
</pre><br />
<br />
== uart configuration == <br />
Any of the 8 UART ports can be configured to be either 2 (Only TX/RX) wires, 4 wires (TX, RX, RTS and CTS) or 8 (Full function) ports.<br />
<br />
* '''uart_used''': 0 to disable; 1 to enable<br />
* '''uart_port''': UART port number<br />
* '''uart_type''': UART type, 2, 4 or 8 wires<br />
* '''uart_tx''': UART TX data line GPIO configuration<br />
* '''uart_rx''': UART RX data line GPIO configuration<br />
* '''uart_rts''': UART Ready to Send line GPIO configuration, only for 4 and 8 wire modes<br />
* '''uart_cts''': UART Clear to Send line GPIO configuration, only for 4 and 8 wire modes<br />
* '''uart_dtr''': UART Data Terminal Ready GPIO configuration, only for 8 wire modes<br />
* '''uart_dsr''': UART Data Set Ready GPIO configuration, only for 8 wire modes<br />
* '''uart_dcd''': UART Data Carrier Detect GPIO configuration, only for 8 wire modes<br />
* '''uart_ring''': UART Ring Indicator GPIO configuration, only for 8 wire modes<br />
<br />
=== [uart_para0] ===<br />
Configuration example:<br />
<pre class="brush: ini"><br />
[uart_para0]<br />
uart_used = 1<br />
uart_port = 0<br />
uart_tx = port:PB22<2><1><default><default><br />
uart_rx = port:PB23<2><1><default><default><br />
</pre><br />
<br />
=== [uart_para1] ===<br />
Configuration example:<br />
<pre class="brush: ini"><br />
[uart_para1]<br />
uart_used = 0<br />
uart_port = 1<br />
uart_type = 8<br />
uart_tx = port:PA10<4><1><default><default><br />
uart_rx = port:PA11<4><1><default><default><br />
uart_rts = port:PA12<4><1><default><default><br />
uart_cts = port:PA13<4><1><default><default><br />
uart_dtr = port:PA14<4><1><default><default><br />
uart_dsr = port:PA15<4><1><default><default><br />
uart_dcd = port:PA16<4><1><default><default><br />
uart_ring = port:PA17<4><1><default><default><br />
</pre><br />
<br />
=== [uart_para2] === <br />
Configuration example:<br />
<pre class="brush: ini"><br />
[uart_para2]<br />
uart_used = 0<br />
uart_port = 2<br />
uart_type = 4<br />
uart_tx = port:PI18<3><1><default><default><br />
uart_rx = port:PI19<3><1><default><default><br />
uart_rts = port:PI16<3><1><default><default><br />
uart_cts = port:PI17<3><1><default><default><br />
</pre><br />
<br />
=== [uart_para3] ===<br />
Configuration example:<br />
<pre class="brush: ini"><br />
[uart_para3]<br />
uart_used = 0<br />
uart_port = 3<br />
uart_type = 4<br />
uart_tx = port:PH00<4><1><default><default><br />
uart_rx = port:PH01<4><1><default><default><br />
uart_rts = port:PH02<4><1><default><default><br />
uart_cts = port:PH03<4><1><default><default><br />
</pre><br />
<br />
=== [uart_para4] ===<br />
Configuration example:<br />
<pre class="brush: ini"><br />
[Uart_para4]<br />
uart_used = 0<br />
uart_port = 4<br />
uart_type = 2<br />
uart_tx = port:PH04<4><1><default><default><br />
uart_rx = port:PH05<4><1><default><default><br />
</pre><br />
<br />
=== [uart_para5] ===<br />
Configuration example:<br />
<pre class="brush: ini"><br />
[uart_para5]<br />
uart_used = 0<br />
uart_port = 5<br />
uart_type = 2<br />
uart_tx = port: PH06<4><1><default><default><br />
uart_rx = port: PH07<4><1><default><default><br />
</pre><br />
<br />
=== [uart_para6] ===<br />
Configuration example:<br />
<pre class="brush: ini"><br />
[uart_para6]<br />
uart_used = 0<br />
uart_port = 6<br />
uart_type = 2<br />
uart_tx = port:PA12<4><1><default><default><br />
uart_rx = port:PA13<4><1><default><default><br />
</pre><br />
<br />
=== [uart_para7] ===<br />
Configuration example:<br />
<pre class="brush: ini"><br />
[uart_para7]<br />
uart_used = 0<br />
uart_port = 7<br />
uart_type = 2<br />
uart_tx = port:PA14<4><1><default><default><br />
uart_rx = port:PA15<4><1><default><default><br />
</pre><br />
<br />
== spi configuration ==<br />
<br />
* '''spi_used''': 0 to disable; 1 to enable<br />
* '''spi_cs_bitmap''': 1 use cs0, 2 use cs1, 3 use cs0 & cs1<br />
* '''spi_cs0''': Chip Select bit 0 GPIO configuration<br />
* '''spi_cs1''': Chip Select bit 1 GPIO configuration<br />
* '''spi_sclk''': clock GPIO configuration<br />
* '''spi_mosi''': MOSI GPIO configuration<br />
* '''spi_miso''': MISO GPIO configuration<br />
<br />
{{note|Not all spi chip select bits are required to be set}}<br />
<br />
=== [spi0_para] ===<br />
Configuration example 1:<br />
<pre class="brush: ini"><br />
[spi0_para]<br />
spi_used = 0<br />
spi_cs_bitmap = 1<br />
spi_cs0 = port:PI10<3><default><default><default><br />
spi_sclk = port:PI11<3><default><default><default><br />
spi_mosi = port:PI12<3><default><default><default><br />
spi_miso = port:PI13<3><default><default><default><br />
spi_cs1 = port:PI14<3><default><default><default><br />
</pre><br />
<br />
Configuration example 2:<br />
<pre class="brush: ini"><br />
[spi0_para]<br />
spi_used = 0<br />
spi_cs_bitmap = 1<br />
spi_mosi = port:PC00<3><default><default><default><br />
spi_miso = port:PC01<3><default><default><default><br />
spi_sclk = port:PC02<3><default><default><default><br />
spi_cs0 = port:PC23<3><default><default><default><br />
</pre><br />
<br />
=== [spi1_para] ===<br />
Configuration example 1:<br />
<pre class="brush: ini"><br />
[spi1_para]<br />
spi_used = 0<br />
spi_cs_bitmap = 1<br />
spi_cs0 = port:PA00<3><default><default><default><br />
spi_sclk = port:PA01<3><default><default><default><br />
spi_mosi = port:PA02<3><default><default><default><br />
spi_miso = port:PA03<3><default><default><default><br />
spi_cs1 = port:PA04<3><default><default><default><br />
</pre><br />
Configuration example 2:<br />
<pre class="brush: ini"><br />
[spi1_para]<br />
spi_used = 0<br />
spi_cs_bitmap = 1<br />
spi_cs1 = port:PI15<2><default><default><default><br />
spi_cs0 = port:PI16<2><default><default><default><br />
spi_sclk = port:PI17<2><default><default><default><br />
spi_mosi = port:PI18<2><default><default><default><br />
spi_miso = port:PI19<2><default><default><default><br />
</pre><br />
<br />
=== [spi2_para] ===<br />
Configuration example 1:<br />
<pre class="brush: ini"><br />
[spi2_para]<br />
spi_used = 0<br />
spi_cs_bitmap = 1<br />
spi_cs1 = port:PB13<3><default><default><default><br />
spi_cs0 = port:PB14<3><default><default><default><br />
spi_sclk = port:PB15<3><default><default><default><br />
spi_mosi = port:PB16<3><default><default><default><br />
spi_miso = port:PB17<3><default><default><default><br />
</pre><br />
Configuration example 2:<br />
<pre class="brush: ini"><br />
[spi2_para]<br />
spi_used = 0<br />
spi_cs_bitmap = 1<br />
spi_cs0 = port:PC19<3><default><default><default><br />
spi_sclk = port:PC20<3><default><default><default><br />
spi_mosi = port:PC21<3><default><default><default><br />
spi_miso = port:PC23<3><default><default><default><br />
</pre><br />
<br />
=== [spi3_para] ===<br />
Configuration example:<br />
<pre class="brush: ini"><br />
[spi3_para]<br />
spi_used = 0<br />
spi_cs_bitmap = 1<br />
spi_cs0 = port:PA05<3><default><default><default><br />
spi_sclk = port:PA06<3><default><default><default><br />
spi_mosi = port:PA07<3><default><default><default><br />
spi_miso = port:PA08<3><default><default><default><br />
spi_cs1 = port:PA09<3><default><default><default><br />
</pre><br />
<br />
== external spi device configuration ==<br />
=== [spi_devices] ===<br />
* '''spi_dev_num''': number of external SPI devices connected to the SoC. For each external SPI device N, a board define ''[spi_boardM]'' with M = N - 1 needs to be created<br />
<br />
=== [spi_board0] ===<br />
* '''modalias''': Alias<br />
* '''max_speed_hz: Maximum speed in Hz<br />
* '''bus_num''': Bus number of SPI controller<br />
* '''mode''': SPI mode, bitfield defined in [http://git.kernel.org/cgit/linux/kernel/git/arm/arm-soc.git/tree/include/linux/spi/spi.h spi.h]<br />
* '''full_duplex''': 0 for half-duplex; 1 for full-duplex mode<br />
* '''manual_cs''': manually control Chip Select level (unsupported for now)<br />
* '''irq_gpio''': Some SPI boards should need a IRQ to work properly and register the irq handler inside the device driver<br />
<br />
Configuration example:<br />
<pre class="brush: ini"><br />
[spi_board0]<br />
modalias = "External SPI connection"<br />
max_speed_hz = 12000000<br />
bus_num = 1<br />
chip_select = 0<br />
mode = 3<br />
full_duplex = 0<br />
manual_cs = 0<br />
irq_gpio = 1<br />
<br />
[gpio_para]<br />
gpio_used = 1<br />
gpio_num = 1<br />
gpio_pin_1 = port:PB04<6><default><default><default> <br />
</pre><br />
<br />
== resistive touch panel configuration ==<br />
=== [rtp_para] ===<br />
* '''rtp_used''': 0 to disable; 1 to enable<br />
* '''rtp_screen_size''': diagonal screen size rounded to full inches<br />
* '''rtp_regidity_level''': touchscreen regidty in 10 ms units<br />
* '''rtp_press_threshold_enable''': 0 to disable; 1 to enable<br />
* '''rtp_press_threshold''': defines the press-threshold sensitivity; (0x0 is least sensitive, 0xffffff is most sensitive) using TP Pressure Management threshold control (PRE_MEA_THRE_CNT register in [[A20#Documentation|A20 User Manual]])<br />
* '''rtp_sensitive_level''': defines the sensitivity (0x0 is least sensitive, 0xf is most sensitive) using internal pull-up resistor control (TP_SENSITIVE_ADJUST register in [[A20#Documentation|A20 User Manual]])<br />
* '''rtp_exchange_x_y_flag''': 0 for normal operation; 1 to flip X and Y coordinates<br />
<br />
Configuration example:<br />
<pre class="brush: ini"><br />
rtp_used = 0<br />
rtp_screen_size = 7<br />
rtp_regidity_level = 7<br />
rtp_press_threshold_enable = 0<br />
rtp_press_threshold = 0x1f40<br />
rtp_sensitive_level = 0xf<br />
rtp_exchange_x_y_flag = 0<br />
</pre><br />
<br />
== capacitive touch panel configuration ==<br />
<br />
=== [ctp_para] ===<br />
Several touch panel's can be configured. Their name must match to the linux ctp-driver!<br />
<br />
* '''ctp_used''': 0 to disable; 1 to enable<br />
* '''ctp_name''': Name of the touch panel driver to use<br />
* '''ctp_twi_id''': twi controller to use<br />
* '''ctp_twi_addr''': hardware specfic twi address in hex<br />
* '''ctp_screen_rotate''': 0 for normal operation; 1 for 180° rotation<br />
* '''ctp_screen_max_x''': Maximum X screen resolution<br />
* '''ctp_screen_max_y''': Maximum Y screen resolution<br />
* '''ctp_revert_x_flag''': 0 for normal operation; 1 to flip the X axis<br />
* '''ctp_revert_y_flag''': 0 for normal operation; 1 to flip the Y axis<br />
* '''ctp_havekey''': 0 for normal operation; 1 if the touch panel also has touch-''keys''.<br />
* '''ctp_int_port''': interrupt line GPIO configuration<br />
* '''ctp_wakeup''': screen wake up GPIO configuration<br />
* '''ctp_io_port''': I/O port GPIO configuration<br />
<br />
Configuration example:<br />
<pre class="brush: ini"><br />
[ctp_para]<br />
ctp_used = 1<br />
ctp_twi_id = 2<br />
ctp_name = "ft5x_ts"<br />
ctp_twi_addr = 0x38<br />
<br />
ctp1_used = 1<br />
ctp1_name = "Goodix-TS"<br />
ctp1_twi_addr = 0x55<br />
<br />
ctp2_used = 1<br />
ctp2_name = "ssd253x-ts"<br />
ctp2_twi_addr = 0x48<br />
<br />
ctp3_used = 1<br />
ctp3_name = "novatek-ts"<br />
ctp3_twi_addr = 0x09<br />
<br />
ctp4_used = 1<br />
ctp4_name = "zet622x-ts"<br />
ctp4_twi_addr = 0x76<br />
<br />
ctp5_used = 1<br />
ctp5_name = "byd693x-ts"<br />
ctp5_twi_addr = 0x52<br />
<br />
ctp6_used = 0<br />
ctp6_name = "gt82x"<br />
ctp6_twi_addr = 0x5d<br />
<br />
ctp7_used = 0<br />
ctp7_name = "px811"<br />
ctp7_twi_addr = 0x5c<br />
<br />
ctp_screen_rotate = 0<br />
ctp_screen_max_x = 800<br />
ctp_screen_max_y = 480<br />
ctp_revert_x_flag = 0<br />
ctp_revert_y_flag = 0<br />
ctp_exchange_x_y_flag = 0<br />
ctp_havekey = 0<br />
ctp_int_port = port: PH21<6><default><default><default><br />
ctp_wakeup = port: PB13<1><default><default><1><br />
ctp_io_port = port: PH21<0><default><default><default><br />
</pre><br />
<br />
== touch key configuration ==<br />
<br />
=== [tkey_para] ===<br />
Touch 'key', only for "hv_keypad" for now<br />
<br />
* '''tkey_used''': 0 to disable; 1 to enable<br />
* '''tkey_name''': driver name, must match linux driver name<br />
* '''tkey_twi_id''': twi controller to use<br />
* '''tkey_twi_addr''': hardware specfic twi address in hex<br />
* '''tkey_int''': interrupt line GPIO configuration<br />
<br />
Configuration example:<br />
<pre class="brush: ini"><br />
[tkey_para]<br />
tkey_used = 0<br />
tkey_name = "hv_keypad"<br />
tkey_twi_id = 2<br />
tkey_twi_addr = 0x62<br />
tkey_int = port: PI13<6><default><default><default><br />
</pre><br />
<br />
== tablet key configuration ==<br />
<br />
Configures tablet physical buttons - usually Vol+ and Vol-, may have Home, Back and others.<br />
<br />
Power key is usually handled by the AXP PMU. Buttons like reset and FEL are special and should work without a driver.<br />
<br />
=== [tabletkeys_para] ===<br />
* '''tabletkeys_used''': 0 to disable; 1 to enable<br />
* '''keyN_code''': numeric keycode - easily found with evtest. N seems to be 0-4 by default.<br />
<br />
Configuration example:<br />
<pre class="brush: ini"><br />
[tabletkeys_para]<br />
tabletkeys_used=1<br />
key0_code = 114<br />
key1_code = 115<br />
</pre><br />
<br />
== motor configuration ==<br />
<br />
=== [motor_para] ===<br />
<br />
* '''motor_used''': 0 to disable; 1 to enable<br />
* '''motor_shake''': motor control pin GPIO configuration<br />
<br />
Configuration example:<br />
<pre class="brush: ini"><br />
[motor_para]<br />
motor_used = 0<br />
motor_shake = port:PB03<1><default><default><1><br />
</pre><br />
<br />
== lock configuration ==<br />
Locks are either very new or really old as nothing can be found in any fex file in git. It seems reasonable to believe that this would be a screen lock 'button'.<br />
<br />
=== [locks_para] ===<br />
* '''locks_used''': 0 to disable; 1 to enable<br />
* '''locks_gpio''': switch GPIO configuration<br />
Configuration example:<br />
<pre class="brush: ini"><br />
[locks_para]<br />
locks_used = 0<br />
locks_gpio = port:PH00<0><default><default><0><br />
</pre><br />
<br />
== nand flash configuration ==<br />
<br />
=== [nand_para] ===<br />
<br />
* '''nand_used''': 0 to disable; 1 to enable<br />
* '''nand_we''': Write Enable GPIO configuration<br />
* '''nand_ale''': Address Latch Enable GPIO configuration<br />
* '''nand_cle''': Command Latch Enable GPIO configuration<br />
* '''nand_ce0''': Chip sElect bit 0 GPIO configuration<br />
* '''nand_ce1''': Chip sElect bit 1 GPIO configuration<br />
* '''nand_ce2''': Chip sElect bit 2 GPIO configuration<br />
* '''nand_ce3''': Chip sElect bit 3 GPIO configuration<br />
* '''nand_ce4''': Chip sElect bit 4 GPIO configuration<br />
* '''nand_ce5''': Chip sElect bit 5 GPIO configuration<br />
* '''nand_ce6''': Chip sElect bit 6 GPIO configuration<br />
* '''nand_ce7''': Chip sElect bit 7 GPIO configuration<br />
* '''nand_nre''': Nand Read Enable GPIO configuration<br />
* '''nand_rb0''': Read / Busy bit 0 GPIO configuration<br />
* '''nand_rb1''': Read / Busy bit 1 GPIO configuration<br />
* '''nand_d0''': data bus bit 0 GPIO configuration<br />
* '''nand_d1''': data bus bit 1 GPIO configuration<br />
* '''nand_d2''': data bus bit 2 GPIO configuration<br />
* '''nand_d3''': data bus bit 3 GPIO configuration<br />
* '''nand_d4''': data bus bit 4 GPIO configuration<br />
* '''nand_d5''': data bus bit 5 GPIO configuration<br />
* '''nand_d6''': data bus bit 6 GPIO configuration<br />
* '''nand_d7''': data bus bit 7 GPIO configuration<br />
* '''nand_wp''': Write Protect GPIO configuration<br />
* '''nand_spi''': SPI data line GPIO configuration<br />
* '''nand_ndqs''': nand ddr clock signal GPIO configuration<br />
<br />
Configuration example:<br />
<pre class="brush: ini"><br />
[Nand_para]<br />
nand_used = 1<br />
nand_we = port:PC00<2><default><default><default><br />
nand_ale = port:PC01<2><default><default><default><br />
nand_cle = port:PC02<2><default><default><default><br />
nand_ce1 = port:PC03<2><default><default><default><br />
nand_ce0 = port:PC04<2><default><default><default><br />
nand_nre = port:PC05<2><default><default><default><br />
nand_rb0 = port:PC06<2><default><default><default><br />
nand_rb1 = port:PC07<2><default><default><default><br />
nand_d0 = port:PC08<2><default><default><default><br />
nand_d1 = port:PC09<2><default><default><default><br />
nand_d2 = port:PC10<2><default><default><default><br />
nand_d3 = port:PC11<2><default><default><default><br />
nand_d4 = port:PC12<2><default><default><default><br />
nand_d5 = port:PC13<2><default><default><default><br />
nand_d6 = port:PC14<2><default><default><default><br />
nand_d7 = port:PC15<2><default><default><default><br />
nand_wp = port:PC16<2><default><default><default><br />
nand_ce2 = port:PC17<2><default><default><default><br />
nand_ce3 = port:PC18<2><default><default><default><br />
nand_ce4 = port:PC19<2><default><default><default><br />
nand_ce5 = port:PC20<2><default><default><default><br />
nand_ce6 = port:PC21<2><default><default><default><br />
nand_ce7 = port:PC22<2><default><default><default><br />
nand_spi = port:PC23<3><default><default><default><br />
nand_ndqs = port:PC24<2><default><default><default><br />
</pre><br />
<br />
== boot disp configuration ==<br />
<br />
=== [boot_disp] ===<br />
<br />
This section can be found in vendor fex files for H3 devices and is only used by Allwinner's BSP u-boot (eg. to display a boot logo which might require [https://github.com/friendlyarm/h3_lichee/commit/729784191a2884426a8ff4ab04c885dff6da3a43#diff-f7adfeec6a53ab5df6164c5eae41b563 further patches])<br />
<br />
== disp init configuration ==<br />
<br />
=== [disp_init] ===<br />
<br />
* '''disp_init_enable''': 0 to disable; 1 to enable<br />
* '''disp_mode''': Display mode to use:<br />
:::{| class="wikitable"<br />
! mode<br />
! display mode<br />
|-<br />
|0<br />
|screen0(screen0, fb0)<br />
|-<br />
|1<br />
|screen1(screen1, fb0)<br />
|-<br />
|2<br />
|dualhead(screen0, screen1, fb0, fb1) (2 screens, 2 framebuffers)<br />
|-<br />
|3<br />
|xinerama(screen0, screen1, fb0) (2 screens, one big framebuffer)<br />
|-<br />
|4<br />
|clone(screen0, screen1, fb0) (2 screens, one standard framebuffer)<br />
|}<br />
* '''screen0_out_color_range''': Output color range for HDMI (applies to both screen0/screen1 - there is no screen1_out_color_range):<br />
:::{| class="wikitable"<br />
! type<br />
! output color range<br />
|-<br />
|0<br />
|16-255 Limited Range (Default)<br />
|-<br />
|1<br />
|0-255 Full Range - PC Level<br />
|-<br />
|2<br />
|16-235 Limited Range - Video Level<br />
|}<br />
* '''screen0_output_type''': Output type for screen0:<br />
* '''screen1_output_type''': Output type for screen1:<br />
:::{| class="wikitable"<br />
! type<br />
! Output type<br />
|-<br />
|0<br />
|NONE<br />
|-<br />
|1<br />
|LCD<br />
|-<br />
|2<br />
|TV<br />
|-<br />
|3<br />
|HDMI<br />
|-<br />
|4<br />
|VGA<br />
|}<br />
* '''screen0_output_mode''': Output mode for screen0:<br />
* '''screen1_output_mode''': Output mode for screen1:<br />
:::{| class="wikitable"<br />
! mode<br />
! used for tv/hdmi output<br />
! used for vga output<br />
|-<br />
|0<br />
|480i<br />
|1680*1050<br />
|-<br />
|1<br />
|576i<br />
|1440*900<br />
|-<br />
|2<br />
|480p<br />
|1360*768<br />
|-<br />
|3<br />
|576p<br />
|1280*1024<br />
|-<br />
|4<br />
|720p50<br />
|1024*768<br />
|-<br />
|5<br />
|720p60<br />
|800*600<br />
|-<br />
|6<br />
|1080i50<br />
|640*480<br />
|-<br />
|7<br />
|1080i60<br />
|<br />
|-<br />
|8<br />
|1080p24<br />
|<br />
|-<br />
|9<br />
|1080p50<br />
|<br />
|-<br />
|10<br />
|1080p60<br />
|1920*1080<br />
|-<br />
|11<br />
|pal<br />
|1280*720<br />
|-<br />
|14<br />
|ntsc<br />
|<br />
|}<br />
* '''fb0_framebuffer_num''': fb0 buffer number, use ''2'' for double buffering<br />
* '''fb1_framebuffer_num''': fb1 buffer number, use ''2'' for double buffering<br />
* '''fb0_format''': pixel format for fb0:<br />
* '''fb1_format''': pixel format for fb1:<br />
:::{| class="wikitable"<br />
! format<br />
! fb0_format<br />
|-<br />
|4<br />
|RGB655<br />
|-<br />
|5<br />
|RGB565<br />
|-<br />
|6<br />
|RGB556<br />
|-<br />
|7<br />
|ARGB1555<br />
|-<br />
|8<br />
|RGBA5551<br />
|-<br />
|9<br />
|RGB888<br />
|-<br />
|10<br />
|ARGB8888<br />
|-<br />
|12<br />
|ARGB4444<br />
|}<br />
* '''fb0_pixel_sequence''': fb0 pixel sequence (0 generally for linux, 2 for android):<br />
* '''fb1_pixel_sequence''': fb1 pixel sequence (0 generally for linux, 2 for android):<br />
:::{| class="wikitable"<br />
! sequence<br />
! fb0_pixel_sequence<br />
|-<br />
|0<br />
|ARGB<br />
|-<br />
|2<br />
|BGRA<br />
|}<br />
* '''fb0_scaler_mode_enable''': 0 to disable; 1 to enable<br />
* '''fb1_scaler_mode_enable''': 0 to disable; 1 to enable<br />
* '''lcd0_backlight''': value to 240 sets PWM rate on selected PWM gpio<br />
* '''lcd1_backlight''': value to 240 sets PWM rate on selected PWM gpio<br />
<br />
<br />
Configuration example for LCD:<br />
<pre class="brush: ini"><br />
[disp_init]<br />
disp_init_enable = 1<br />
disp_mode = 0<br />
<br />
screen0_output_type = 1<br />
screen0_output_mode = 4<br />
<br />
screen1_output_type = 1<br />
screen1_output_mode = 4<br />
<br />
fb0_framebuffer_num = 2<br />
fb0_format = 10<br />
fb0_pixel_sequence = 0<br />
fb0_scaler_mode_enable = 0<br />
<br />
fb1_framebuffer_num = 2<br />
fb1_format = 10<br />
fb1_pixel_sequence = 0<br />
fb1_scaler_mode_enable = 0<br />
</pre><br />
<br />
Configuration example for VGA:<br />
<pre class="brush: ini"><br />
[disp_init]<br />
disp_init_enable = 1<br />
disp_mode = 0<br />
<br />
screen0_output_type = 4<br />
screen0_output_mode = 4<br />
<br />
screen1_output_type = 2<br />
screen1_output_mode = 14<br />
<br />
fb0_framebuffer_num = 2<br />
fb0_format = 10<br />
fb0_pixel_sequence = 0<br />
fb0_scaler_mode_enable = 1<br />
<br />
fb1_framebuffer_num = 2<br />
fb1_format = 10<br />
fb1_pixel_sequence = 0<br />
fb1_scaler_mode_enable = 1<br />
</pre><br />
Configuration example for Composite TV on an old TV (PAL mode):<br />
<pre class="brush: ini"><br />
[disp_init]<br />
disp_init_enable = 1<br />
disp_mode = 0<br />
<br />
screen0_output_type = 2<br />
screen0_output_mode = 11<br />
<br />
screen1_output_type = 2<br />
screen1_output_mode = 11<br />
<br />
fb0_framebuffer_num = 2<br />
fb0_format = 10<br />
fb0_pixel_sequence = 0<br />
fb0_scaler_mode_enable = 1<br />
<br />
fb1_framebuffer_num = 2<br />
fb1_format = 10<br />
fb1_pixel_sequence = 0<br />
fb1_scaler_mode_enable = 1<br />
</pre><br />
<br />
== lcd[0/1] configuration ==<br />
<br />
lcd0 is used when lcd output is selected by display screen0, lcd1 by display screen1.<br />
<br />
* '''lcd_used''': 0 to disable; 1 to enable<br />
* '''lcd_pwm_not_used''': 0 to enable PWM; 1 to disable<br />
* '''lcd_pwm_ch''': PWM channel<br />
* '''lcd_pwm_freq''': PWM frequency in Hz<br />
* '''lcd_pwm_pol''': PWM polarity; 0 is pulse LOW for lcd[0|1]_backlight periods, 1 is pulse HIGH.<br />
* '''lcd_x''': X-axis active width<br />
* '''lcd_y''': Y-axis active height<br />
* '''lcd_dclk_freq''': pixel clock frequency in MHz<br />
* '''lcd_if''': lcd interface:<br />
:::{| class="wikitable"<br />
! interface<br />
! lcd_interface<br />
|-<br />
|0<br />
|hv (sync + de)<br />
|-<br />
|1<br />
|8080<br />
|-<br />
|2<br />
|ttl<br />
|-<br />
|3<br />
|lvds<br />
|-<br />
|4<br />
|dsi (on [[A20]] it means the use of [[SSD2828]] bridge chip, on [[A31]] it might really mean native DSI)<br />
|-<br />
|5<br />
|edp<br />
|-<br />
|6<br />
|external dsi (the use of [[SSD2828]] bridge chip on [[A31]] and onwards)<br />
|}<br />
* '''lcd_hbp''': hsync back porch<br />
* '''lcd_ht''': hsync total cycle<br />
* '''lcd_vbp''': vsync back porch<br />
* '''lcd_vt''': vsync total cycle * 2<br />
* '''lcd_hv_if''': 0 for parallel hv interface; 1: for serial hv interface<br />
* '''lcd_hv_smode''': 0 for RGB888 serial interface mode; 1 for CCIR656<br />
* '''lcd_hv_s888_if''': serial RGB format<br />
* '''lcd_hv_syuv_if''': serial YUV format<br />
* '''lcd_hv_vspw''': vysnc plus width<br />
* '''lcd_hv_hspw''': hsync plus width<br />
* '''lcd_hv_lde_used''': 0 to disable; 1 to enable<br />
* '''lcd_hv_lde_iovalue''': HV LDE iovalue<br />
* '''lcd_lvds_ch''': 0 for single channel; 1 for dual channel<br />
* '''lcd_lvds_mode''': 0 for NS mode; 1 for JEIDA mode<br />
* '''lcd_lvds_bitwidth''': 0 for 24 bit; 1 for 18 bit<br />
* '''lcd_io_cfg0''': lcd IO configuration<br />
* '''lcd_lvds_io_cross''': 0 for normal; 1 for pn cross<br />
* '''lcd_cpu_if''': cpu if mode:<br />
<br />
:::{| class="wikitable"<br />
! mode<br />
! cpu_if<br />
|-<br />
|0<br />
|18 bit<br />
|-<br />
|1<br />
|16 bit mode0<br />
|-<br />
|2<br />
|16 bit mode1<br />
|-<br />
|3<br />
|16 bit mode2<br />
|-<br />
|4<br />
|16 bit mode3<br />
|-<br />
|5<br />
|9 bit<br />
|-<br />
|6<br />
|8 bit, 256k<br />
|-<br />
|7<br />
|8 bit, 65k<br />
|}<br />
* '''lcd_gamma_correction_en''': 0 to disable; 1 to enable<br />
* '''lcd_gamma_tbl_[0-255]''': Gamma table 0 through 255<br />
* '''lcd_frm''': 0 to disable dither; 1 to enable enable rgb666 dither; 2 to enable rgb656 dither<br />
* '''lcd_io_cfg0''': lcd io inv<br />
* '''lcd_bl_en_used''': 0 to disable; 1 to enable<br />
* '''lcd_bl_en''': LCD BackLight GPIO configuration<br />
* '''lcd_power_used''': 0 to disable; 1 to enable<br />
* '''lcd_power''': LCD_VCC Voltage control GPIO configuration<br />
* '''lcd_pwm_used''': 0 to disable; 1 to enable<br />
* '''lcd_pwm''': lcd PWM, GPIO configuration (PWM0 fixed using the PB02 PWM1 fixed PI03 without user modification)<br />
* '''lcd_gpio_0''': 2/3-wire SCL GPIO configuration <br />
* '''lcd_gpio_1''': 2/3-wire SDA GPIO configuration<br />
* '''lcd_gpio_2''': 2/3-wire SCEN GPIO configuration<br />
* '''lcd_gpio_3''': LCD module RESET GPIO configuration<br />
* '''lcdd0''': data bit 0 GPIO configuration<br />
* '''lcdd1''': data bit 1 GPIO configuration<br />
* '''lcdd2''': data bit 2 GPIO configuration<br />
* '''lcdd3''': data bit 3 GPIO configuration<br />
* '''lcdd4''': data bit 4 GPIO configuration<br />
* '''lcdd5''': data bit 5 GPIO configuration<br />
* '''lcdd6''': data bit 6 GPIO configuration<br />
* '''lcdd7''': data bit 7 GPIO configuration<br />
* '''lcdd8''': data bit 8 GPIO configuration<br />
* '''lcdd9''': data bit 9 GPIO configuration<br />
* '''lcdd10''': data bit 10 GPIO configuration<br />
* '''lcdd11''': data bit 11 GPIO configuration<br />
* '''lcdd12''': data bit 12 GPIO configuration<br />
* '''lcdd13''': data bit 13 GPIO configuration<br />
* '''lcdd14''': data bit 14 GPIO configuration<br />
* '''lcdd15''': data bit 15 GPIO configuration<br />
* '''lcdd16''': data bit 16 GPIO configuration<br />
* '''lcdd17''': data bit 17 GPIO configuration<br />
* '''lcdd18''': data bit 18 GPIO configuration<br />
* '''lcdd19''': data bit 19 GPIO configuration<br />
* '''lcdd20''': data bit 20 GPIO configuration<br />
* '''lcdd21''': data bit 21 GPIO configuration<br />
* '''lcdd22''': data bit 22 GPIO configuration<br />
* '''lcdd23''': data bit 23 GPIO configuration<br />
* '''lcdclk''': LCD Clock GPIO configuration<br />
* '''lcdde''': LCD ''de'' GPIO configuration<br />
* '''lcdhsync''': H sync GPIO configuration<br />
* '''lcdvsync''': V sync GPIO configuration<br />
<br />
=== [lcd0_para] ===<br />
Configuration example:<br />
<pre class="brush: ini"><br />
[lcd0_para]<br />
lcd_used = 1<br />
lcd_x = 800<br />
lcd_y = 480<br />
lcd_dclk_freq = 33<br />
lcd_pwm_freq = 1000<br />
lcd_pwm_pol = 0<br />
lcd_swap = 0<br />
lcd_if = 0<br />
lcd_hbp = 215<br />
lcd_ht = 1055<br />
lcd_vbp = 34<br />
lcd_vt = 1050<br />
lcd_hv_if = 0<br />
lcd_hv_smode = 0<br />
lcd_hv_s888_if = 0<br />
lcd_hv_syuv_if = 0<br />
lcd_hv_vspw = 0<br />
lcd_hv_hspw = 0<br />
lcd_hv_lde_used = 0<br />
lcd_hv_lde_iovalue = 0<br />
lcd_lvds_ch = 0<br />
lcd_lvds_mode = 0<br />
lcd_lvds_bitwidth = 0<br />
lcd_lvds_io_cross = 0<br />
lcd_cpu_if = 0<br />
lcd_cpu_da = 0<br />
lcd_frm = 0<br />
lcd_io_cfg0 = 0x10000000<br />
lcd_io_cfg1 = 0<br />
lcd_io_strength = 0<br />
lcd_bl_en_used = 1<br />
lcd_bl_en = port: PH07<1><0><default><1><br />
lcd_power_used = 1<br />
lcd_power = port: PH08<1><0><default><1><br />
lcd_pwm_used = 1<br />
lcd_pwm = port:PB02<2><default><default><default><br />
lcd_gpio_0 =<br />
lcd_gpio_1 =<br />
lcd_gpio_2 =<br />
lcd_gpio_3 =<br />
lcdd0 = port:PD00<2><default><default><default><br />
lcdd1 = port:PD01<2><default><default><default><br />
lcdd2 = port:PD02<2><default><default><default><br />
lcdd3 = port:PD03<2><default><default><default><br />
lcdd4 = port:PD04<2><default><default><default><br />
lcdd5 = port:PD05<2><default><default><default><br />
lcdd6 = port:PD06<2><default><default><default><br />
lcdd7 = port:PD07<2><default><default><default><br />
lcdd8 = port:PD08<2><default><default><default><br />
lcdd9 = port:PD09<2><default><default><default><br />
lcdd10 = port:PD10<2><default><default><default><br />
lcdd11 = port:PD11<2><default><default><default><br />
lcdd12 = port:PD12<2><default><default><default><br />
lcdd13 = port:PD13<2><default><default><default><br />
lcdd14 = port:PD14<2><default><default><default><br />
lcdd15 = port:PD15<2><default><default><default><br />
lcdd16 = port:PD16<2><default><default><default><br />
lcdd17 = port:PD17<2><default><default><default><br />
lcdd18 = port:PD18<2><default><default><default><br />
lcdd19 = port:PD19<2><default><default><default><br />
lcdd20 = port:PD20<2><default><default><default><br />
lcdd21 = port:PD21<2><default><default><default><br />
lcdd22 = port:PD22<2><default><default><default><br />
lcdd23 = port:PD23<2><default><default><default><br />
lcdclk = port:PD24<2><default><default><default><br />
lcdde = port:PD25<2><default><default><default><br />
lcdhsync = port:PD26<2><default><default><default><br />
lcdvsync = port:PD27<2><default><default><default><br />
</pre><br />
<br />
Other configuration examples for certain panels:<br />
<pre class="brush: ini"><br />
;lvds 640x480 module name: SG0570EDG<br />
lcd_x = 640<br />
lcd_y = 480<br />
lcd_dclk_freq = 25<br />
lcd_if = 3<br />
lcd_hbp = 114<br />
lcd_ht = 800<br />
lcd_vt = 1050<br />
lcd_vbp = 34<br />
lcd_pwm_freq = 20000<br />
lcd_lvds_bitwidth = 1<br />
lcd_pwm_used = 1<br />
lcd_pwm = port:PB02<2><0><default><default><br />
lcd_pwm_pol = 0<br />
<br />
;RGB 800x480 module name: H-B070D-15C<br />
lcd_x = 800<br />
lcd_y = 480<br />
lcd_dclk_freq = 33<br />
lcd_if = 0<br />
lcd_hbp = 46<br />
lcd_ht = 1055<br />
lcd_vbp = 23<br />
lcd_vt = 1050<br />
<br />
;RGB 800x600 module name: H-B080D-24F<br />
lcd_x = 800<br />
lcd_y = 600<br />
lcd_dclk_freq = 40<br />
lcd_if = 0<br />
lcd_hbp = 46<br />
lcd_ht = 1056<br />
lcd_vbp = 23<br />
lcd_vt = 1270<br />
<br />
<br />
;RGB 480x272 module name: KD43G18-40NB-A11<br />
lcd_x = 480<br />
lcd_y = 272<br />
lcd_dclk_freq = 9<br />
lcd_if = 0<br />
lcd_hbp = 2<br />
lcd_ht = 525<br />
lcd_vbp = 2<br />
lcd_vt = 572<br />
<br />
;lvds 1024x600 module name: CLAP101NC01CW�<br />
lcd_x = 1024<br />
lcd_y = 600<br />
lcd_dclk_freq = 52<br />
lcd_if = 3<br />
lcd_hbp = 33<br />
lcd_ht = 1344<br />
lcd_vbp = 23<br />
lcd_vt = 1270<br />
<br />
;lvds 1024x768 module name: KD080D3-40NA-A2<br />
lcd_x = 1024<br />
lcd_y = 768<br />
lcd_dclk_freq = 65<br />
lcd_if = 3<br />
lcd_hbp = 160<br />
lcd_ht = 1344<br />
lcd_vbp = 23<br />
lcd_vt = 1612<br />
<br />
;lvds 1024x768 module name: LG-LP097X02<br />
lcd_x = 1024<br />
lcd_y = 768<br />
lcd_dclk_freq = 100<br />
lcd_if = 3<br />
lcd_hbp = 480<br />
lcd_ht = 2084<br />
lcd_vbp = 6<br />
lcd_vt = 1600<br />
lcd_lvds_bitwidth = 1<br />
lcd_io_cfg0 = 0x04000000<br />
lcd_frm = 1<br />
<br />
lcd_io_cfg0 = 0x10000000<br />
lcd_gamma_correction_en = 0<br />
lcd_gamma_tbl_0 = 0x00000000<br />
lcd_gamma_tbl_1 = 0x00010101<br />
;........<br />
lcd_gamma_tbl_255 = 0x00ffffff<br />
</pre><br />
<br />
=== [lcd1_para] ===<br />
Configuration example:<br />
<pre class="brush: ini"><br />
[lcd1_para]<br />
lcd_used = 0<br />
<br />
lcd_x = 0<br />
lcd_y = 0<br />
lcd_dclk_freq = 0<br />
lcd_pwm_not_used = 0<br />
lcd_pwm_ch = 0<br />
lcd_pwm_freq = 0<br />
lcd_pwm_pol = 0<br />
lcd_if = 0<br />
lcd_hbp = 0<br />
lcd_ht = 0<br />
lcd_vbp = 0<br />
lcd_vt = 0<br />
lcd_hv_if = 0<br />
lcd_hv_smode = 0<br />
lcd_hv_s888_if = 0<br />
lcd_hv_syuv_if = 0<br />
lcd_hv_vspw = 0<br />
lcd_hv_hspw = 0<br />
lcd_lvds_ch = 0<br />
lcd_lvds_mode = 0<br />
lcd_lvds_bitwidth = 0<br />
lcd_lvds_io_cross = 0<br />
lcd_cpu_if = 0<br />
lcd_frm = 0<br />
lcd_io_cfg0 = 0<br />
lcd_gamma_correction_en = 0<br />
lcd_gamma_tbl_0 = 0x00000000<br />
lcd_gamma_tbl_1 = 0x00010101<br />
;........<br />
lcd_gamma_tbl_255 = 0x00ffffff<br />
<br />
lcd_bl_en_used = 0<br />
lcd_bl_en =<br />
<br />
lcd_power_used = 0<br />
lcd_power = <br />
<br />
lcd_pwm_used = 0<br />
lcd_pwm = port:PI03<2><0><default><default><br />
<br />
lcd_gpio_0 = <br />
lcd_gpio_1 = <br />
lcd_gpio_2 = <br />
lcd_gpio_3 = <br />
<br />
lcdd0 = port:PH00<2><0><default><default><br />
lcdd1 = port:PH01<2><0><default><default><br />
lcdd2 = port:PH02<2><0><default><default><br />
lcdd3 = port:PH03<2><0><default><default><br />
lcdd4 = port:PH04<2><0><default><default><br />
lcdd5 = port:PH05<2><0><default><default><br />
lcdd6 = port:PH06<2><0><default><default><br />
lcdd7 = port:PH07<2><0><default><default><br />
lcdd8 = port:PH08<2><0><default><default><br />
lcdd9 = port:PH09<2><0><default><default><br />
lcdd10 = port:PH10<2><0><default><default><br />
lcdd11 = port:PH11<2><0><default><default><br />
lcdd12 = port:PH12<2><0><default><default><br />
lcdd13 = port:PH13<2><0><default><default><br />
lcdd14 = port:PH14<2><0><default><default><br />
lcdd15 = port:PH15<2><0><default><default><br />
lcdd16 = port:PH16<2><0><default><default><br />
lcdd17 = port:PH17<2><0><default><default><br />
lcdd18 = port:PH18<2><0><default><default><br />
lcdd19 = port:PH19<2><0><default><default><br />
lcdd20 = port:PH20<2><0><default><default><br />
lcdd21 = port:PH21<2><0><default><default><br />
lcdd22 = port:PH22<2><0><default><default><br />
lcdd23 = port:PH23<2><0><default><default><br />
lcdclk = port:PH24<2><0><default><default><br />
lcdde = port:PH25<2><0><default><default><br />
lcdhsync = port:PH26<2><0><default><default><br />
lcdvsync = port:PH27<2><0><default><default><br />
</pre><br />
<br />
== tv out dac configuration ==<br />
The TV-Out Digital Analog Converter (DAC) modules the framebuffer to a signal suitable for a TV<br />
=== [tv_out_dac_para] ===<br />
<br />
* '''dac_used''': 0 to disable; 1 to enable<br />
* '''dac0_src''': Output source for the DAC:<br />
* '''dac1_src''': Output source for the DAC:<br />
* '''dac2_src''': Output source for the DAC:<br />
* '''dac3_src''': Output source for the DAC:<br />
:::{| class="wikitable"<br />
! dac<br />
! Output source<br />
|-<br />
|0<br />
|Composite<br />
|-<br />
|1<br />
|Luma<br />
|-<br />
|2<br />
|Chroma<br />
|-<br />
|3<br />
|<br />
|-<br />
|4<br />
|Y<br />
|-<br />
|5<br />
|Pb<br />
|-<br />
|6<br />
|Pr<br />
|-<br />
|7<br />
|None<br />
|}<br />
<br />
Configuration example:<br />
<pre class="brush: ini"><br />
[tv_out_dac_para]<br />
dac_used = 1<br />
dac0_src = 4<br />
dac1_src = 5<br />
dac2_src = 6<br />
dac3_src = 0<br />
</pre><br />
<br />
== csi gpio configuration ==<br />
<br />
<br />
* '''csi_used''': 0 to enable; 1 to disable<br />
* '''csi_mode''': 0 to sample one csi to one buffer; 1 to sample two csi to one buffer<br />
* '''csi_dev_qty''': Quantity of devices linked to the csi interface<br />
* '''csi_twi_id''': TWI controller to use<br />
* '''csi_twi_id_b''': TWI controller to use for second device<br />
* '''csi_mname''': Module name to match the csi device; currently known to work:<br />
* '''csi_mname_b''': Module name to match the second csi device; currently known to work:<br />
:::*ov7670<br />
:::*gc0308<br />
:::*gt2005<br />
:::*hi704<br />
:::*hi253<br />
* '''csi_twi_addr''': TWI address for the used camera<br />
* '''csi_twi_addr_b''': TWI address for the used camera for second device<br />
* '''csi_if''': interface:<br />
* '''csi_if_b''': interface for second device:<br />
:::{| class="wikitable"<br />
! if<br />
! csi interface<br />
|-<br />
|0<br />
|hv_8bit<br />
|-<br />
|1<br />
|hv_16bit<br />
|-<br />
|2<br />
|hv_24bit<br />
|-<br />
|3<br />
|bt656 1ch<br />
|-<br />
|4<br />
|bt656 2ch<br />
|-<br />
|5<br />
|bt656 4ch<br />
|}<br />
* '''csi_pck''': ''p'' clock GPIO configuration<br />
* '''csi_ck''': clock GPIO configuration<br />
* '''csi_hsync''': H-sync GPIO configuration<br />
* '''csi_vsync''': V-sync GPIO configuration<br />
* '''csi_hflip''': Horizontal frame flip<br />
* '''csi_hflip_b''': Horizontal frame flip for second device<br />
* '''csi_vflip''': Vertical frame flip<br />
* '''csi_vflip_b''': Vertical frame flip for second device<br />
* '''csi_d0''': data bit 0 GPIO configuration<br />
* '''csi_d1''': data bit 1 GPIO configuration<br />
* '''csi_d2''': data bit 2 GPIO configuration<br />
* '''csi_d3''': data bit 3 GPIO configuration<br />
* '''csi_d4''': data bit 4 GPIO configuration<br />
* '''csi_d5''': data bit 5 GPIO configuration<br />
* '''csi_d6''': data bit 6 GPIO configuration<br />
* '''csi_d7''': data bit 7 GPIO configuration<br />
* '''csi_d8''': data bit 8 GPIO configuration<br />
* '''csi_d9''': data bit 9 GPIO configuration<br />
* '''csi_d10''': data bit 10 GPIO configuration<br />
* '''csi_d11''': data bit 11 GPIO configuration<br />
* '''csi_d12''': data bit 12 GPIO configuration<br />
* '''csi_d13''': data bit 13 GPIO configuration<br />
* '''csi_d14''': data bit 14 GPIO configuration<br />
* '''csi_d15''': data bit 15 GPIO configuration<br />
* '''csi_reset''': Camera reset; the default value, high or low ,depends on the module<br />
* '''csi_power_en''': Power enable GPIO configuration<br />
* '''csi_stby''': Camera standby GPIO configuration; the default value, high or low ,depends on the module<br />
* '''csi_stby_b''': Camera standby GPIO configuration for second device; the default value, high or low ,depends on the module<br />
* '''csi_stby_mode''': 0 to not shutdown power at standby; 1 shutdown power at standby<br />
* '''csi_facing''': Tells the device if the camera is facing or otherwise. 0 for the back, 1 for the front camera.<br />
* '''csi_facing_b''': Same as above.<br />
* '''csi_vflip''': Vertical flip; 0: disabled, 1: enabled<br />
* '''csi_hflip''': Horizontal flip; 0: disabled, 1: enabled<br />
* '''csi_flash''': Camera Flash GPIO configuration<br />
* '''csi_flash_b''': Camera Flash GPIO configuration for second device<br />
* '''csi_flash_pol''': Flash polarity of flash light; 0 for active low; 1 for active high<br />
* '''csi_flash_pol_b''': Flash polarity of flash light for second device; 0 for active low; 1 for active high<br />
* '''csi_af_en''': Autofocus enable GPIO configuration<br />
* '''csi_iovdd''': Camera module IO power, PMU power supply<br />
* '''csi_iovdd_b''': Camera module IO power, PMU power supply for second device<br />
* '''csi_avdd''': Camera analog power, PMU power supply<br />
* '''csi_avdd_b''': Camera analog power, PMU power supply for second device<br />
* '''csi_dvdd''': Camera digital power, PMU power supply<br />
* '''csi_dvdd_b''': Camera digital power, PMU power supply for second device<br />
* '''pmu_ldo3''': "axp20_pll" or leave empty empty when not using any PMU power supply<br />
* '''pmu_ldo4''': "axp20_hdmi" or empty when not using any PMU power supply<br />
<br />
=== [csi0_para] ===<br />
Configuration example:<br />
<pre class="brush: ini"><br />
[csi0_para]<br />
csi_used = 1<br />
csi_mode = 0<br />
csi_dev_qty = 1<br />
csi_stby_mode = 1<br />
<br />
csi_mname = "gc0308"<br />
csi_twi_id = 1<br />
csi_twi_addr =0x42<br />
csi_if = 0<br />
csi_vflip = 0<br />
csi_hflip = 1<br />
csi_iovdd = ""<br />
csi_avdd = ""<br />
csi_dvdd = ""<br />
csi_flash_pol = 1<br />
<br />
csi_mname_b = "gt2005"<br />
csi_twi_id_b = 1<br />
csi_twi_addr_b = 0x78<br />
csi_if_b = 0<br />
csi_vflip_b = 0<br />
csi_hflip_b = 0<br />
csi_iovdd_b = ""<br />
csi_avdd_b = ""<br />
csi_dvdd_b = ""<br />
csi_flash_pol_b = 1<br />
<br />
csi_pck = port:PE00<3><default><default><default><br />
csi_ck = port:PE01<3><default><default><default><br />
csi_hsync = port:PE02<3><default><default><default><br />
csi_vsync= port:PE03<3><default><default><default><br />
csi_d0 = port:PE04<3><default><default><default><br />
csi_d1 = port:PE05<3><default><default><default><br />
csi_d2 = port:PE06<3><default><default><default><br />
csi_d3 = port:PE07<3><default><default><default><br />
csi_d4 = port:PE08<3><default><default><default><br />
csi_d5 = port:PE09<3><default><default><default><br />
csi_d6 = port:PE10<3><default><default><default><br />
csi_d7 = port:PE11<3><default><default><default><br />
csi_d8 = port:PG04<5><default><default><default><br />
csi_d9 = port:PG05<5><default><default><default><br />
csi_d10 = port:PG06<5><default><default><default><br />
csi_d11 = port:PG07<5><default><default><default><br />
csi_d12 = port:PG08<5><default><default><default><br />
csi_d13 = port:PG09<5><default><default><default><br />
csi_d14 = port:PG10<5><default><default><default><br />
csi_d15 = port:PG11<5><default><default><default><br />
csi_reset = port:PH13<1><default><default><0><br />
csi_power_en = port:PH16<1><default><default><0><br />
csi_stby = port:PH18<1><default><default><0><br />
csi_flash = <br />
csi_af_en = <br />
csi_reset_b = port:PH13<1><default><default><0><br />
csi_power_en_b = port:PH16<1><default><default><0><br />
csi_stby_b = port:PH19<1><default><default><0><br />
csi_flash_b = <br />
csi_af_en_b = <br />
</pre><br />
<br />
=== [csi1_para] ===<br />
Configuration example:<br />
<pre class="brush: ini"><br />
[csi1_para]<br />
csi_used = 1<br />
csi_mode = 0<br />
csi_dev_qty = 1<br />
csi_stby_mode = 1<br />
<br />
csi_mname = "gc0308"<br />
csi_twi_id = 1<br />
csi_twi_addr =0x42<br />
csi_if = 0<br />
csi_vflip = 0<br />
csi_hflip = 1<br />
csi_iovdd = ""<br />
csi_avdd = ""<br />
csi_dvdd = ""<br />
csi_flash_pol = 1<br />
<br />
csi_mname_b = "gt2005"<br />
csi_twi_id_b = 1<br />
csi_twi_addr_b = 0x78<br />
csi_if_b = 0<br />
csi_vflip_b = 0<br />
csi_hflip_b = 0<br />
csi_iovdd_b = ""<br />
csi_avdd_b = ""<br />
csi_dvdd_b = ""<br />
csi_flash_pol_b = 1<br />
<br />
csi_pck = port:PG00<3><default><default><default><br />
csi_ck = port:PG01<3><default><default><default><br />
csi_d0 = port:PH00<7><default><default><default><br />
csi_d1 = port:PH01<7><default><default><default><br />
csi_d2 = port:PH02<7><default><default><default><br />
csi_d3 = port:PH03<7><default><default><default><br />
csi_d4 = port:PH04<7><default><default><default><br />
csi_d5 = port:PH05<7><default><default><default><br />
csi_d6 = port:PH06<7><default><default><default><br />
csi_d7 = port:PH07<7><default><default><default><br />
csi_d8 = port:PH08<7><default><default><default><br />
csi_d9 = port:PH09<7><default><default><default><br />
csi_d10 = port:PH10<7><default><default><default><br />
csi_d11 = port:PH11<7><default><default><default><br />
csi_d12 = port:PH12<7><default><default><default><br />
csi_d13 = port:PH13<7><default><default><default><br />
csi_d14 = port:PH14<7><default><default><default><br />
csi_d15 = port:PH15<7><default><default><default><br />
csi_d16 = port:PH16<7><default><default><default><br />
csi_d17 = port:PH17<7><default><default><default><br />
csi_d18 = port:PH18<7><default><default><default><br />
csi_d19 = port:PH19<7><default><default><default><br />
csi_d20 = port:PH20<7><default><default><default><br />
csi_d21 = port:PH21<7><default><default><default><br />
csi_d22 = port:PH22<7><default><default><default><br />
csi_d23 = port:PH23<7><default><default><default><br />
csi_hsync = port:PH26<7><default><default><default><br />
csi_vsync= port:PH27<7><default><default><default><br />
csi_reset = port:PG13<1><default><default><0><br />
csi_power_en = port:PG16<1><default><default><0><br />
csi_stby = port:PG18<1><default><default><0><br />
csi_flash = <br />
csi_af_en = <br />
csi_reset_b = port:PG13<1><default><default><0><br />
csi_power_en_b = port:PG16<1><default><default><0><br />
csi_stby_b = port:PG19<1><default><default><0><br />
csi_flash_b = <br />
csi_af_en_b =<br />
</pre><br />
<br />
== tv configuration ==<br />
<br />
=== [tvout_para] ===<br />
<br />
* '''tvout_used''': 0 to disable; 1 to enable<br />
* '''tvout_channel_num''': Channel number<br />
* '''tv_en''': TV encoder GPIO configuration<br />
<br />
Configuration example:<br />
<pre class="brush: ini"><br />
tvout_used = 1<br />
tvout_channel_num = 1<br />
tv_en = port:PI12<1><default><default><0><br />
</pre><br />
<br />
=== [tvin_para] ===<br />
* '''tvin_used''': 0 to disable; 1 to enable<br />
* '''tvin_channel_num''': channel number<br />
<br />
Configuration example:<br />
<pre class="brush: ini"><br />
tvin_used = 1<br />
tvin_channel_num = 4<br />
</pre><br />
<br />
== sata configuration ==<br />
<br />
=== [sata_para] ===<br />
* '''sata_used''': 0 to disable; 1 to enable<br />
* '''sata_power_en''': Sata power enable GPIO configuration<br />
<br />
Configuration example:<br />
<pre class="brush: ini"><br />
sata_used = 1<br />
sata_power_en = port:PB08<1><default><default><0><br />
</pre><br />
<br />
== sdmmc configuration ==<br />
There are several things to notice when configuring the sdmmc controller.<br />
* '''sdc_used''': 0 to disable; 1 to enable;(0=不使用,1=使用)<br />
* '''sdc_detmode''': detection mode (卡检测模式):<br />
:::{| class="wikitable"<br />
! mode<br />
! detection mode<br />
! note<br />
|-<br />
|0<br />
|<br />
|<br />
|-<br />
|1<br />
|GPIO detection<br />
|Also configure '''sdc_det''' to map to a GPIO (GPIO检测模式,需在sdc_det配置一个GPIO口)<br />
|-<br />
|2<br />
|sdc_d3 detection<br />
|'''sdc_d3''' must be configured as HiZ GPIO and have an external 1 MΩ pull-down resistor (SD卡D3数据口检测模式,需配置GPIO口为高阻,并使用1M欧下拉)<br />
|-<br />
|3<br />
|polling (card cannot be swapped)<br />
|不检测,卡常在<br />
|-<br />
|4<br />
|manually (via the proc file system node)<br />
|<br />
|}<br />
* '''bus_width''': 1 for 1bit; 4 for 4bit (may also be called sdc_bwid?!? verify please)<br />
* '''sdc_d0''': data line 0 GPIO configuration<br />
* '''sdc_d1''': data line 1 GPIO configuration<br />
* '''sdc_d2''': data line 2 GPIO configuration<br />
* '''sdc_d3''': data line 3 GPIO configuration<br />
* '''sdc_clk''': CLK GPIO configuration<br />
* '''sdc_cmd''': CMD GPIO configuration<br />
* '''sdc_det''': DET GPIO configuration<br />
* '''sdc_use_wp''': 0 is normal operation; 1 is write protect<br />
* '''sdc_wp''': Write Protect the GPIO configuration<br />
<br />
=== [mmc0_para] ===<br />
Configuration example:<br />
<pre class="brush: ini"><br />
[mmc0_para]<br />
sdc_used = 1<br />
sdc_detmode = 1<br />
bus_width = 4<br />
sdc_d1 = port:PF00<2><1><default><default><br />
sdc_d0 = port:PF01<2><1><default><default><br />
sdc_clk = port:PF02<2><1><default><default><br />
sdc_cmd = port:PF03<2><1><default><default><br />
sdc_d3 = port:PF04<2><1><default><default><br />
sdc_d2 = port:PF05<2><1><default><default><br />
sdc_det = port:PH01<0><1><default><default><br />
sdc_use_wp = 0<br />
sdc_wp =<br />
</pre><br />
<br />
=== [mmc1_para] ===<br />
Configuration example:<br />
<pre class="brush: ini"><br />
[mmc1_para] <br />
sdc_used = 1<br />
sdc_detmode = 1<br />
bus_width = 4<br />
sdc_cmd = port:PH22<5><1><2><default><br />
sdc_clk = port:PH23<5><1><2><default><br />
sdc_d0 = port:PH24<5><1><2><default><br />
sdc_d1 = port:PH25<5><1><2><default><br />
sdc_d2 = port:PH26<5><1><2><default><br />
sdc_d3 = port:PH27<5><1><2><default><br />
sdc_det = port:PH2<0><1><default><default><br />
sdc_use_wp = 0<br />
sdc_wp =<br />
</pre><br />
<br />
=== [mmc2_para] ===<br />
Configuration example:<br />
<pre class="brush: ini"><br />
[mmc2_para] <br />
sdc_used = 0<br />
</pre><br />
<br />
=== [mmc3_para] ===<br />
Configuration example:<br />
<pre class="brush: ini"> <br />
[mmc3_para] <br />
sdc_used = 1<br />
sdc_detmode = 4<br />
bus_width = 4<br />
sdc_cmd = port:PI04<2><1><2><default><br />
sdc_clk = port:PI05<2><1><2><default><br />
sdc_d0 = port:PI06<2><1><2><default><br />
sdc_d1 = port:PI07<2><1><2><default><br />
sdc_d2 = port:PI08<2><1><2><default><br />
sdc_d3 = port:PI09<2><1><2><default><br />
sdc_det = <br />
sdc_use_wp = 0<br />
sdc_wp =<br />
</pre><br />
<br />
== memory stick configuration ==<br />
<br />
=== [ms_para] ===<br />
* '''ms_used''': 0 to disable; 1 to enable<br />
* '''ms_bs''': Bus State signal GPIO configuration<br />
* '''ms_clk''': Clock GPIO configuration<br />
* '''ms_d0''': Data line 0 GPIO Configuration<br />
* '''ms_d1''': Data line 1 GPIO Configuration<br />
* '''ms_d2''': Data line 2 GPIO Configuration<br />
* '''ms_d3''': Data line 3 GPIO Configuration<br />
* '''ms_det''': Stick detection GPIO Configuration<br />
<br />
Configuration example:<br />
<pre class="brush: ini"><br />
[ms_para]<br />
ms_used = 1<br />
ms_bs = port:PH06<5><default><default><default><br />
ms_clk = port:PH07<5><default><default><default><br />
ms_d0 = port:PH08<5><default><default><default><br />
ms_d1 = port:PH09<5><default><default><default><br />
ms_d2 = port:PH10<5><default><default><default><br />
ms_d3 = port:PH11<5><default><default><default><br />
ms_det = port:PH2<0><1><default><default><br />
</pre><br />
<br />
== sim card configuration ==<br />
<br />
=== [smc_para] ===<br />
* '''smc_used''': 0 to disable; 1 to enable<br />
* '''smc_rst''': Reset GPIO configuration<br />
* '''smc_vppen''': VPP enable GPIO configuration<br />
* '''smc_vppp''': Programming VPP GPIO configuration<br />
* '''smc_det''': SIM Card detect GPIO configuration<br />
* '''smc_vccen''': VCC enable GPIO configuration<br />
* '''smc_sck''': Serial clock GPIO configuration<br />
* '''smc_sda''': Serial data GPIO configurion<br />
<br />
Configuration example:<br />
<pre class="brush: ini"><br />
[smc_para]<br />
smc_used = 1<br />
smc_rst = port:PH13<5><default><default><default><br />
smc_vppen = port:PH14<5><default><default><default><br />
smc_vppp = port:PH15<5><default><default><default><br />
smc_det = port:PH16<5><default><default><default><br />
smc_vccen = port:PH17<5><default><default><default><br />
smc_sck = port:PH18<5><default><default><default><br />
smc_sda = port:PH19<5><default><default><default><br />
</pre><br />
<br />
== ps2 configuration ==<br />
<br />
=== [ps2_0_para] ===<br />
<br />
* '''ps2_used''': 0 to disable; 1 to enable<br />
* '''ps2_scl''': Serial clock GPIO configuration<br />
* '''ps2_sda''': Serial data GPIO configuration<br />
<br />
Configuration example:<br />
<pre class="brush: ini"><br />
[ps2_0_para]<br />
ps2_used = 1<br />
ps2_scl = port:PI20<2><1><default><default><br />
ps2_sda = port:PI21<2><1><default><default><br />
</pre><br />
<br />
=== [ps2_1_para] ===<br />
<br />
* '''ps2_used''': 0 to disable; 1 to enable<br />
* '''ps2_scl''': Serial clock GPIO configuration<br />
* '''ps2_sda''': Serial data GPIO configuration<br />
<br />
Configuration example:<br />
<pre class="brush: ini"><br />
[ps2_1_para]<br />
ps2_used = 1<br />
ps2_scl = port:PI20<2><1><default><default><br />
ps2_sda = port:PI21<2><1><default><default><br />
</pre><br />
<br />
== can bus configuration ==<br />
<br />
=== [can_para] ===<br />
<br />
* '''can_used''': 0 to disable; 1 to enable it<br />
* '''can_tx''': transmit GPIO Configuration<br />
* '''can_rx''': receive GPIO configuration<br />
<br />
Configuration example:<br />
<pre class="brush: ini"><br />
[Can_para]<br />
can_used = 1<br />
can_tx = port:PA16<3><default><default><default><br />
can_rx = port:PA17<3><default><default><default><br />
</pre><br />
<br />
== matrix keyboard ==<br />
<br />
== 23.1 [keypad_para] == <br />
<br />
* '''kp_used''': 0 to disable; 1 to enable<br />
* '''kp_in_size''': column width<br />
* '''kp_out_size''': row width<br />
* '''kp_in0''': column 0 GPIO Configuration<br />
* '''kp_in1''': column 1 GPIO Configuration<br />
* '''kp_in2''': column 2 GPIO Configuration<br />
* '''kp_in3''': column 3 GPIO Configuration<br />
* '''kp_in4''': column 4 GPIO configuration<br />
* '''kp_in5''': column 5 GPIO configuration<br />
* '''kp_in6''': column 6 GPIO Configuration<br />
* '''kp_in7''': column 7 GPIO configuration<br />
* '''kp_out0''': row 0 GPIO Configuration<br />
* '''kp_out1''': row 1 GPIO Configuration<br />
* '''kp_out2''': row 2 GPIO Configuration<br />
* '''kp_out3''': row 3 GPIO Configuration<br />
* '''kp_out4''': row 4 GPIO configuration<br />
* '''kp_out5''': row 5 GPIO configuration<br />
* '''kp_out6''': row 6 GPIO Configuration<br />
* '''kp_out7''': row 7 GPIO configuration<br />
<br />
Configuration example:<br />
<pre class="brush: ini"><br />
[Keypad_para]<br />
kp_used = 1<br />
kp_in_size = 8<br />
kp_out_size = 8<br />
kp_in0 = port:PH08<4><1><default><default><br />
kp_in1 = port:PH09<4><1><default><default><br />
kp_in2 = port:PH10<4><1><default><default><br />
kp_in3 = port:PH11<4><1><default><default><br />
kp_in4 = port:PH14<4><1><default><default><br />
kp_in5 = port:PH15<4><1><default><default><br />
kp_in6 = port:PH16<4><1><default><default><br />
kp_in7 = port:PH17<4><1><default><default><br />
kp_out0 = port:PH18<4><1><default><default><br />
kp_out1 = port:PH19<4><1><default><default><br />
kp_out2 = port:PH22<4><1><default><default><br />
kp_out3 = port:PH23<4><1><default><default><br />
kp_out4 = port:PH24<4><1><default><default><br />
kp_out5 = port:PH25<4><1><default><default><br />
kp_out6 = port:PH26<4><1><default><default><br />
kp_out7 = port:PH27<4><1><default><default><br />
</pre><br />
<br />
== USB control flags ==<br />
<br />
* '''usb_used''': 0 to disable; 1 to enable<br />
* '''usb_port_type''': USB port type:<br />
:::{| class="wikitable"<br />
! type<br />
! usb port type<br />
|-<br />
|0<br />
|device only<br />
|-<br />
|1<br />
|host only<br />
|-<br />
|2<br />
|OTG<br />
|}<br />
* '''usb_detect_type''': 0 = no checking; 1 = VBus / id check<br />
* '''usb_controller_type''': USB controller type:<br />
:::{| class="wikitable"<br />
! type<br />
! usb controller type<br />
|-<br />
|0<br />
|Unknown<br />
|-<br />
|1<br />
|EHCI<br />
|-<br />
|2<br />
|OHCI<br />
|}<br />
* '''usb_id_gpio''':USB ID pin GPIO configuration<br />
* '''usb_det_vbus_gpio''': USB detect VBus pin GPIO configuration (VBus is USB speak for the +5V line)<br />
* '''usb_drv_vbus_gpio''': USB drive VBus pin GPIO configuration<br />
* '''usb_restrict_gpio''': <br />
* '''usb_host_init_state''': In host only mode, host port initialization state; 0 do not initialize; 1 initializatie USB<br />
* '''usb_restric_flag''': <br />
<br />
=== [usbc0] ===<br />
Configuration example:<br />
<pre class="brush: ini"><br />
[usbc0]<br />
usb_used = 1<br />
usb_port_type = 2<br />
usb_detect_type = 1<br />
usb_id_gpio = port:PH04<0><1><default><default><br />
usb_det_vbus_gpio = port:PH05<0><0><default><default><br />
usb_drv_vbus_gpio = port:PB09<1><0><default><0><br />
usb_host_init_state = 0<br />
</pre><br />
<br />
=== [usbc1] ===<br />
Configuration example:<br />
<pre class="brush: ini"><br />
[usbc1]<br />
usb_used = 1<br />
usb_port_type = 1<br />
usb_detect_type = 0<br />
usb_id_gpio =<br />
usb_det_vbus_gpio =<br />
usb_drv_vbus_gpio = port:PH06<1><0><default><0><br />
usb_host_init_state = 1<br />
</pre><br />
<br />
=== [usbc2] ===<br />
Configuration example:<br />
<pre class="brush: ini"><br />
[usbc2]<br />
usb_used = 1<br />
usb_port_type = 1<br />
usb_detect_type = 0<br />
usb_id_gpio =<br />
usb_det_vbus_gpio =<br />
usb_drv_vbus_gpio = port:PH03<1><0><default><0><br />
usb_host_init_state = 1<br />
</pre><br />
<br />
== USB Device ==<br />
<br />
=== [usb_feature] ===<br />
* '''vendor_id''': vendor ID<br />
* '''mass_storage_id''': mass storage ID<br />
* '''adb_id''': android debug bridge ID<br />
* '''manufacturer_name''': vendor name<br />
* '''product_name''': = product name<br />
* '''serial_number''': = serial number<br />
<br />
Configuration example:<br />
<pre class="brush: ini"><br />
[usb_feature]<br />
vendor_id = 0x18d1<br />
mass_storage_id = 0x0001<br />
adb_id = 0x0002<br />
manufacturer_name = "USB Developer"<br />
product_name = "Android"<br />
serial_number = "20080411"<br />
</pre><br />
<br />
=== [msc_feature] ===<br />
* '''vendor_name''': vendor name<br />
* '''product_name''': product name<br />
* '''release''': release version<br />
* '''luns''': number of logical units<br />
<br />
Configuration example:<br />
<pre class="brush: ini"><br />
[msc_feature]<br />
vendor_name = "USB 2.0"<br />
product_name = "USB Flash Driver"<br />
release = 100<br />
luns = 2<br />
</pre><br />
<br />
== G Sensor configuration ==<br />
<br />
=== [gsensor_para] ===<br />
* '''gsensor_used''': 0 to disable; 1 to enable<br />
* '''gsensor_name''': linux kernel module name to match configuration<br />
* '''gsensor_twi_id''': TWI bus ID<br />
* '''gsensor_twi_addr''': TWI address<br />
* '''gsensor_int1''': interrupt 1 GPIO configuration<br />
* '''gsensor_int2''': interrupt 2 GPIO configuration<br />
* '''gsensor_revert_x_flag''': (untested)<br />
* '''gsensor_revert_y_flag''': (untested)<br />
* '''gsensor_revert_z_flag''': (untested)<br />
* '''gsensor_exchange_x_y_flag''': (untested)<br />
<br />
Configuration example 1:<br />
<pre class="brush: ini"><br />
[Gsensor_para]<br />
gsensor_used = 1<br />
gsenser_name = "bma250"<br />
gsensor_twi_id = 1<br />
gsensor_twi_addr = 0x18<br />
gsensor_int1 = port:PH00<6><1><default><default><br />
gsensor_int2 = port:PI10<6><1><default><default><br />
</pre><br />
<br />
Configuration example 2:<br />
<pre class="brush: ini"><br />
[Gsensor_para]<br />
gsensor_used = 1<br />
gsenser_name = "bma222"<br />
gsensor_twi_id = 1<br />
gsensor_twi_addr = 0x08<br />
gsensor_int1 = port:PH00<6><1><default><default><br />
gsensor_int2 = port:PI10<6><1><default><default><br />
</pre><br />
<br />
Configuration example 3:<br />
<pre class="brush: ini"><br />
[Gsensor_para]<br />
gsensor_used = 1<br />
gsenser_name = "mma7660"<br />
gsensor_twi_id = 1<br />
gsensor_twi_addr = 0x4c<br />
gsensor_int1 = port:PH00<6><1><default><default><br />
gsensor_int2 = port:PI10<6><1><default><default><br />
</pre><br />
<br />
== gps gpio configuration ==<br />
<br />
=== [gps_para] ===<br />
* '''gps_used''': 0 to disable; 1 to enable<br />
* '''gps_spi_id''': SPI controller; 0 - 2 for SPI0, SPI1 or SPI2; 15 if no SPI is used<br />
* '''gps_spi_cs_num''': chip select SPI controller; 0 = SPI0, 1 = SPI1<br />
* '''gps_lradc''': 0 or 1 for Low Rate ADC Format; 2 for no Low Rate ADC Format<br />
* '''gps_clk''': Clock GPIO configuration<br />
* '''gps_sign''': GPS sign GPIO configuration<br />
* '''gps_mag''': GPS Magnitude GPIO configuration<br />
* '''gps_vcc_en''': GPS VCC enable GPIO configuration<br />
* '''gps_osc_en''': GPS Oscillator enable GPIO configuration<br />
* '''gps_rx_en''': GPS receive enable GPIO configuration<br />
<br />
Configuration example:<br />
<pre class="brush: ini"><br />
[gps_para]<br />
gps_used = 0<br />
gps_spi_id = 2<br />
gps_spi_cs_num = 0<br />
gps_lradc = 1<br />
gps_clk = port:PI00<2><default><default><default><br />
gps_sign = port:PI01<2><default><default><default><br />
gps_mag = port:PI02<2><default><default><default><br />
gps_vcc_en = port:PC22<1><default><default><0><br />
gps_osc_en = port:PI14<1><default><default><0><br />
gps_rx_en = port:PI15<1><default><default><0><br />
</pre><br />
<br />
== sdio wifi configuration ==<br />
<br />
=== [sdio_wifi_para] ===<br />
* '''sdio_wifi_used''': 0 to disable; 1 to enable<br />
* '''sdio_wifi_sdc_id''': SD controller ID to use<br />
* '''sdio_wifi_mod_sel''': SDI module selection (see [https://github.com/linux-sunxi/linux-sunxi/blob/sunxi-3.4/drivers/mmc/mmc-pm/mmc_pm.c mmc_pm.c] ):<br />
:::{| class="wikitable"<br />
! mode<br />
! wifi selection mode<br />
! note<br />
|-<br />
|0<br />
|none<br />
|<br />
|-<br />
|1<br />
|swl-n20<br />
|WiFi<br />
|-<br />
|2<br />
|usi bm-01<br />
|WiFi - Bluetooth - FM radio<br />
|-<br />
|3<br />
|ar6302qfn<br />
|<br />
|-<br />
|4<br />
|apm6xxx<br />
|<br />
|-<br />
|5<br />
|swb b23<br />
|WiFi - Bluetooth - FM radio<br />
|-<br />
|6<br />
|hw-mw269x<br />
|Huawei wifi driver<br />
|-<br />
|7<br />
|bcm40181<br />
|-<br />
|8<br />
|bcm40183<br />
|BCM40183(BCM4330)<br />
|-<br />
|9 <br />
|rtl8723as<br />
|RTL8723AS(RF-SM02B)<br />
|-<br />
|10<br />
|rtl8189es<br />
|RTL8189ES(SM89E00)<br />
|}<br />
* '''sdio_wifi_shdn''': SHDN GPIO configuration<br />
* '''sdio_wifi_host_wakeup''': WiFi wakeup GPIO Configuration<br />
* '''sdio_wifi_vdd_en''': VDD enable GPIO configuration<br />
* '''sdio_wifi_vcc_en''': VCC enable GPIO configuration<br />
<br />
Configuration example:<br />
<pre class="brush: ini"><br />
[Sdio_wifi_para]<br />
sdio_wifi_used = 1<br />
sdio_wifi_sdc_id = 3<br />
sdio_wifi_mod_sel = 1<br />
<br />
sdio_wifi_shdn = port:PH09<1><default><default><0><br />
sdio_wifi_host_wakeup = port:PH10<1><default><default><1><br />
sdio_wifi_vdd_en = port:PH11<1><default><default><0><br />
sdio_wifi_vcc_en = port:PH12<1><default><default><0><br />
</pre><br />
<br />
Optionally the following parameters can be used when other/multiple transceivers are installed.<br />
<pre class="brush: ini"><br />
; 1 - samsung swl-n20 sdio wifi gpio config<br />
swl_n20_shdn = port:PH09<1><default><default><0><br />
swl_n20_host_wakeup = port:PH10<1><default><default><1><br />
swl_n20_vdd_en = port:PH11<1><default><default><0><br />
swl_n20_vcc_en = port:PH12<1><default><default><0><br />
<br />
; 2 - usi bm01a sdio wifi gpio config<br />
usi_bm01a_wl_pwr = port:PH12<1><default><default><0><br />
usi_bm01a_wlbt_regon = port:PI11<1><default><default><0><br />
usi_bm01a_wl_rst = port:PI10<1><default><default><0><br />
usi_bm01a_wl_wake = port:PI12<1><default><default><0><br />
usi_bm01a_bt_rst = port:PB05<1><default><default><0><br />
usi_bm01a_bt_wake = port:PI20<1><default><default><0><br />
usi_bm01a_bt_hostwake = port:PI21<0><default><default><0><br />
<br />
; 3 - ar6302qfn sdio wifi gpio config<br />
ar6302_qfn_pwr = port:PH12<1><default><default><0><br />
ar6302_qfn_shdn_n = port:PH09<1><default><default><0><br />
<br />
; 4 - apm sdio wifi gpio config<br />
apm_6981_vcc_en = port:PA09<1><default><default><0><br />
apm_6981_vdd_en = port:PA10<1><default><default><0><br />
apm_6981_wakeup = port:PA11<1><default><default><0><br />
apm_6981_rst_n = port:PA12<1><default><default><0><br />
apm_6981_pwd_n = port:PA13<1><default><default><0><br />
<br />
; 6 - huawei mw269x(v1/v2) sdio wifi gpio config<br />
hw_mw269x_wl_pwr = port:PH12<1><default><default><0><br />
hw_mw269x_wl_enb = port:PH11<1><default><default><0><br />
hw_mw269x_wl_hostwake = port:PH10<0><default><default><0><br />
hw_mw269x_wl_wake = port:PH09<1><default><default><0><br />
hw_mw269x_bt_enb = port:PB05<1><default><default><0><br />
hw_mw269x_bt_wake = port:PI20<1><default><default><0><br />
hw_mw269x_bt_hostwake = port:PI21<0><default><default><0><br />
</pre><br />
<br />
== us wifi configuration ==<br />
<br />
=== [usb_wifi_para] ===<br />
* '''usb_wifi_used''': 0 to disable; 1 to enable<br />
* '''usb_wifi_usbc_num''': USB controller to which USB wifi module is connected<br />
* '''usb_host_init_state''': used together, such as xx = 2. Then usbc2 the usb_host_init_state 0<br />
<br />
Configuration example:<br />
<pre class="brush: ini"><br />
[usb_wifi_para]<br />
usb_wifi_used = 0<br />
usb_wifi_usbc_num = 2<br />
</pre><br />
<br />
== 3G configuration ==<br />
<br />
=== [3g_para] ===<br />
* '''3g_used''': 0 to disable; 1 to enable<br />
* '''3g_usbc_num''': USB controller to which the 3G module is connected<br />
* '''3g_uart_num''': UART controller to which the 3G module is connected<br />
* '''3g_pwr''': power enable GPIO configuration<br />
* '''3g_wakeup''': wakeup GPIO configuration<br />
* '''3g_int''': interrupt GPIO configuration<br />
<br />
Configuration example:<br />
<pre class="brush: ini"><br />
3g_used = 1<br />
3g_usbc_num = 2<br />
3g_uart_num = 0<br />
3g_pwr = port:PH09<1><default><default><1><br />
3g_wakeup = port:PH10<1><default><default><1><br />
3g_int = port:PH11<1><default><default><1><br />
</pre><br />
<br />
== gyroscope ==<br />
<br />
=== [gy_para] ===<br />
* '''gy_used''': 0 to disable; 1 to enable<br />
* '''gy_twi_id''': TWI controller to use<br />
* '''gy_twi_addr''': TWI address to use<br />
* '''gy_int1''': interrupt 1 GPIO configuration<br />
* '''gy_int2''': interrupt 2 GPIO configuration<br />
<br />
Configuration example:<br />
<pre class="brush: ini"><br />
[gy_para]<br />
gy_used = 1<br />
gy_twi_id = 1<br />
gy_twi_addr = 0x0a<br />
gy_int1 = port:PH18<6><1><default><default><br />
gy_int2 = port:PH19<6><1><default><default><br />
</pre><br />
<br />
== light sensor ==<br />
<br />
=== [ls_para] ===<br />
* '''ls_used''': 0 to disable; 1 to enable<br />
* '''ls_twi_id''': TWI controller to use<br />
* '''ls_twi_addr''': TWI address<br />
* '''ls_int''': interrupt GPIO configuration<br />
<br />
Configuration example:<br />
<pre class="brush: ini"><br />
[ls_para]<br />
ls_used = 1<br />
ls_twi_id = 1<br />
ls_twi_addr = 0x0c<br />
ls_int = port:PH20<6><1><default><default><br />
</pre><br />
<br />
== compass ==<br />
<br />
=== [compass_para] ===<br />
* '''compass_used''': 0 to disable; 1 to enable<br />
* '''compass_twi_id''': TWI controller to use<br />
* '''compass_twi_addr''': TWI address to use<br />
* '''compass_int''': interrupt GPIO configuration<br />
<br />
Configuration example:<br />
<pre class="brush: ini"><br />
[compass_para]<br />
compass_used = 0<br />
compass_twi_id = 1<br />
compass_twi_addr = 0x0d<br />
compass_int = port:PI13<6><1><default><default><br />
</pre><br />
<br />
== blue tooth ==<br />
<br />
=== [bt_para] ===<br />
* '''bt_used''': 0 to disable; 1 to enable<br />
* '''bt_uart_id''': UART controller to use<br />
* '''bt_wakeup''': wakeup GPIO configuration<br />
* '''bt_gpio''': optional bluetooth pin GPIO configuration<br />
* '''bt_rst''': = reset GPIO configuration<br />
<br />
Configuration example:<br />
<pre class="brush: ini"><br />
[Bt_para]<br />
bt_used = 1<br />
bt_uart_id = 2<br />
bt_wakeup = port:PI20<1><default><default><default><br />
bt_gpio = port:PI21<1><default><default><default><br />
bt_rst = port:PB05<1><default><default><default><br />
</pre><br />
<br />
== i2s configuration ==<br />
<br />
=== [i2s_para] ===<br />
* '''i2s_used''': 0 to disable; 1 to enable<br />
* '''i2s_channel''': channel control; 1 for one, 2 for two channels<br />
* '''i2s_mclk''': master clock signal GPIO configuration<br />
* '''i2s_bclk''': bit clock signal GPIO configuration<br />
* '''i2s_lrclk''': word clock (left/right) signal GPIO configuration<br />
* '''i2s_dout0''': digital out 0 GPIO configuration<br />
* '''i2s_dout1''': (optional) digital out 1 GPIO configuration<br />
* '''i2s_dout2''': (optional) digital out 2 GPIO configuration<br />
* '''i2s_dout3''': (optional) digital out 3 GPIO configuration<br />
* '''i2s_din''': multiplexed in signal GPIO configuration<br />
<br />
Configuration example:<br />
<pre class="brush: ini"><br />
[i2s_para]<br />
i2s_used = 1<br />
i2s_channel = 2<br />
i2s_mclk = port:PB05<2><1><default><default><br />
i2s_bclk = port:PB06<2><1><default><default><br />
i2s_lrclk = port:PB07<2><1><default><default><br />
i2s_dout0 = port:PB08<2><1><default><default><br />
i2s_dout1 =<br />
i2s_dout2 =<br />
i2s_dout3 =<br />
i2s_din = port:PB12<2><1><default><default><br />
</pre><br />
<br />
== spdif configuration ==<br />
<br />
=== [spdif_para] ===<br />
* '''spdif_used''': 0 to disable; 1 to enable<br />
* '''spdif_mclk''': optional master clock GPIO configuration<br />
* '''spdif_dout''': digital out GPIO configuration<br />
* '''spdif_din''': digital in GPIO configuration<br />
<br />
Configuration example:<br />
<pre class="brush: ini"><br />
[spdif_para]<br />
spdif_used = 1<br />
spdif_mclk =<br />
spdif_dout = port:PB13<4><1><default><default><br />
spdif_din =<br />
</pre><br />
<br />
== audio configuration ==<br />
=== [audio_para] ===<br />
* '''audio_used''': 0 to disable; 1 to enable<br />
* '''audio_pa_ctrl''': External Amp shutdown GPIO configuration<br />
* '''audio_lr_change''': 0 for normal operation; 1 to swap left and right channels<br />
* '''playback_used''': 0 to disable; 1 to enable '''''This is a linux-sunxi specific extention'''''<br />
* '''capture_used''': 0 to dissable; 1 to enable '''''This is a linux-sunxi specific extention'''''<br />
<br />
Some extra settings were introduced with the A31:<br />
* '''audio_mute_ctrl''': External Amp mute GPIO configuration<br />
* '''cap_vol''': ???<br />
* '''headphone_vol''': Internal headphone amp volume (0 ~ 0x3f: 0 .. -62 dB)<br />
* '''headphone_direct_used''': 1 for headphone DC direct drive (no coupling capacitors)<br />
* '''headset_mic_vol''': Headset microphone boost gain (0 ~ 0x7: 0 dB, 24 .. 42 dB)<br />
* '''main_mic_vol''': Main microphone boost gain (0 ~ 0x7: 0 dB, 24 .. 42 dB)<br />
* '''pa_double_used''': 0 for mono differential output; 1 for stereo output<br />
* '''pa_double_vol''': Line out volume for '''''Stereo''''' output mode<br />
* '''pa_single_vol''': Line out volume for '''''Mono differential''''' output mode<br />
<br />
Configuration example:<br />
<pre class="brush: ini"><br />
[audio_para]<br />
audio_used = 1<br />
audio_pa_ctrl = port:PH15<1><default><default><0><br />
audio_lr_change = 0<br />
playback_used = 1<br />
capture_used = 1<br />
</pre><br />
<br />
== infrared remote configuration ==<br />
=== [ir_para] ===<br />
* '''ir_used''': 0 to disable; 1 to enable<br />
* '''ir0_rx''': receiver GPIO configuration<br />
* '''ir0_tx''': transmitter GPIO configuration<br />
* '''ir1_rx''': receiver GPIO configuration<br />
* '''ir1_tx''': transmitter GPIO configuration<br />
<br />
Configuration example:<br />
<pre class="brush: ini"><br />
ir_used = 1<br />
ir0_tx = port:PB03<2>default<default><default><br />
ir0_rx = port:PB04<2>default<default><default><br />
<br />
ir1_tx = port:PB22<2>default<default><default><br />
ir1_rx = port:PB23<2>default<default><default><br />
</pre><br />
<br />
== pmu configuration == <br />
=== [pmu_para] ===<br />
* '''pmu_used''': 0 to disable; 1 to enable<br />
* '''pmu_used2''': 0 to disable; 1 to enable secondary PMU<br />
* '''pmu_twi_id''': TWI controller to use<br />
* '''pmu_twi_addr''': TWI address to use<br />
* '''pmu_irq_id''': interrupt to use; 0 = NMI; 1 - 15 = interrupt 1 to 15<br />
* '''pmu_battery_rdc''': battery internal resistance in mΩ<br />
* '''pmu_battery_cap''': battery capacity in mAh<br />
* '''pmu_init_chgcur''': initial charging current in mA; 300, 400 ... 1800<br />
* '''pmu_init_chgcur2''': initial charging current in mA for secondary PMU; 300, 400 ... 1800<br />
* '''pmu_earlysuspend_chgcur2''' early suspend charging current in mA; 300, 400 ... 1800<br />
* '''pmu_suspend_chgcur''': suspended charging current in mA; 300, 400 ... 1800<br />
* '''pmu_suspend_chgcur2''': suspended charging current in mA for secondary PMU; 300, 400 ... 1800<br />
* '''pmu_resume_chgcur''': normal charging current in mA; 300, 400 ... 1800<br />
* '''pmu_resume_chgcur2''': normal charging current in mA for secondary PMU; 300, 400 ... 1800<br />
* '''pmu_shutdown_chgcur''': powered down charge current in mA; 300, 400 ... 1800<br />
* '''pmu_shutdown_chgcur2''': powered down charge current in mA for secondary PMU; 300, 400 ... 1800<br />
* '''pmu_init_chgvol''': initial charging target voltage in mV; 4100/4150/4200/4360<br />
* '''pmu_init_chgend_rate''': initial charging current ratio in %; 10, 15<br />
* '''pmu_init_chg_enabled''': 0 to disable; 1 to enable<br />
* '''pmu_init_adc_freq''': initial ADC sampling rate in Hz; 25/50/100/200<br />
* '''pmu_init_adc_freqc''': initial ADC coulomb meter sampling rate in Hz; 25/50/100/200<br />
* '''pmu_init_chg_pretime''': initial precharge timeout in minutes; 40/50/60/70<br />
* '''pmu_init_chg_csttime''': initial constant charging current timeout in minutes; 360/480/600/720<br />
* '''pmu_bat_para1''': = battery charge LUT in %<br />
* '''pmu_bat_para2''': = battery charge LUT in %<br />
* '''pmu_bat_para3''': = battery charge LUT in %<br />
* '''pmu_bat_para4''': = battery charge LUT in %<br />
* '''pmu_bat_para5''': = battery charge LUT in %<br />
* '''pmu_bat_para6''': = battery charge LUT in %<br />
* '''pmu_bat_para7''': = battery charge LUT in %<br />
* '''pmu_bat_para8''': = battery charge LUT in %<br />
* '''pmu_bat_para9''': = battery charge LUT in %<br />
* '''pmu_bat_para10''': = battery charge LUT in %<br />
* '''pmu_bat_para11''': = battery charge LUT in %<br />
* '''pmu_bat_para12''': = battery charge LUT in %<br />
* '''pmu_bat_para13''': = battery charge LUT in %<br />
* '''pmu_bat_para14''': = battery charge LUT in %<br />
* '''pmu_bat_para15''': = battery charge LUT in %<br />
* '''pmu_bat_para16''': = battery charge LUT in %; should always be 100<br />
* '''pmu_usbvol_limit''': 0 no USB voltage limiter; 1 = limit USB voltage<br />
* '''pmu_usbvol''': USB voltage limit in mV; 4000, 4100 ... 4700<br />
* '''pmu_usbcur_limit''': 0 no USB current limiter; 1 = limit USB current<br />
* '''pmu_usbcur''': USB current limit in mA; 100/500/900<br />
* '''pmu_pwroff_vol''': boot hardware protection voltage in mV; 2600, 2700 ... 3300<br />
* '''pmu_pwron_vol''': running hardware protection voltage in mV; 2600, 2700 ... 3300<br />
* '''pmu_pekoff_time''': Power Enable Key, short power button off delay in ms; 4000, 6000, 8000, 10000<br />
* '''pmu_pekoff_en''': 0 to disable; 1 to enable power button power off<br />
* '''pmu_peklong_time''': long power off button delay in ms; 1000, 1500, 2000, 2500<br />
* '''pmu_pekon_time''': power on button delay in ms; 128, 1000, 2000, 3000<br />
* '''pmu_pwrok_time''': power 'ok' delay in ms; 8, 64<br />
* '''pmu_pwrnoe_time''': n_oe from low to high shutdown delay time in ms; 128, 1000, 2000, 3000<br />
* '''pmu_intotp_en''': 0 to disable; 1 to enable over temperature protection<br />
* '''pmu_suspendpwroff_vol''': shutdown voltage when suspended and battery is low<br />
* '''pmu_batdeten''': Battery detection enabled<br />
* '''pmu_adpdet''': adapter detect GPIO configuration<br />
* '''pmu_backupen''': 1 to enable RTC/backup battery charging<br />
<br />
Configuration example:<br />
<pre class="brush: ini"><br />
[pmu_para]<br />
pmu_used = 1<br />
pmu_twi_addr = 0x34<br />
pmu_twi_id = 0<br />
pmu_irq_id = 0<br />
pmu_battery_rdc = 200<br />
pmu_battery_cap = 2600<br />
pmu_init_chgcur = 300<br />
pmu_suspend_chgcur = 1000<br />
pmu_resume_chgcur = 300<br />
pmu_shutdown_chgcur = 1000<br />
pmu_init_chgvol = 4200<br />
pmu_init_chgend_rate = 15<br />
pmu_init_chg_enabled = 1<br />
pmu_init_adc_freq = 100<br />
pmu_init_adc_freqc = 100<br />
pmu_init_chg_pretime = 50<br />
pmu_init_chg_csttime = 720<br />
pmu_bat_para1 = 0<br />
pmu_bat_para2 = 0<br />
pmu_bat_para3 = 1<br />
pmu_bat_para4 = 5<br />
pmu_bat_para5 = 7<br />
pmu_bat_para6 = 13<br />
pmu_bat_para7 = 16<br />
pmu_bat_para8 = 26<br />
pmu_bat_para9 = 36<br />
pmu_bat_para10 = 46<br />
pmu_bat_para11 = 53<br />
pmu_bat_para12 = 61<br />
pmu_bat_para13 = 73<br />
pmu_bat_para14 = 84<br />
pmu_bat_para15 = 92<br />
pmu_bat_para16 = 100<br />
pmu_usbvol_limit = 1<br />
pmu_usbvol = 4400<br />
pmu_usbcur_limit = 1<br />
pmu_usbcur = 900<br />
pmu_pwroff_vol = 3300<br />
pmu_pwron_vol = 2900<br />
pmu_pekoff_time = 6000<br />
pmu_pekoff_en = 1<br />
pmu_peklong_time = 1500<br />
pmu_pekon_time = 1000<br />
pmu_pwrok_time = 64<br />
pmu_pwrnoe_time = 2000<br />
pmu_intotp_en = 1<br />
pmu_adpdet = port:PH02<0><default><default><default><br />
pmu_batdeten = 1<br />
pmu_suspendpwroff_vol = 3500<br />
<br />
pmu_used2 = 0<br />
pmu_init_chgcur2 = 400<br />
pmu_suspend_chgcur2 = 1200<br />
pmu_resume_chgcur2 = 400<br />
pmu_shutdown_chgcur2 = 1200<br />
</pre><br />
<br />
== recovery key configuration ==<br />
=== [recovery_key] ===<br />
* '''key_min''': minimal length for the key to be depressed in seconds<br />
* '''key_max''': maximal length for the key to be depressed in seconds<br />
<br />
Example configuration:<br />
<pre class="brush: ini"><br />
key_min = 4<br />
key_max = 32<br />
</pre><br />
<br />
== dvfs voltage-frequency table configuration ==<br />
Define at which frequency what voltage should be set. Recommended defaults:<br />
{| class="wikitable"<br />
! voltage<br />
! frequency range<br />
|-<br />
|1.50 v<br />
|1008 MHz - 1056 MHz<br />
|-<br />
|1.40 v<br />
|912 MHz - 1008 MHz<br />
|-<br />
|1.35 v<br />
|864 MHz - 912 MHz<br />
|-<br />
|1.30 v<br />
|624 MHz - 864 MHz<br />
|-<br />
|1.25 v<br />
|60 MHz - 624 MHz<br />
|}<br />
=== [dvfs_table] ===<br />
* '''max_freq''': cpu maximum frequency in Hz; can not be more than 1008 MHz<br />
* '''min_freq''': cpu minimum frequency in Hz; can not be less than 60 MHz<br />
* '''lv_count''': number of lv_freq/lv_volt pairs; must be < 16<br />
* '''lv1_freq''': state 1 frequency<br />
* '''lv1_volt''': state 1 voltage<br />
<br />
<pre class="brush: ini"><br />
[dvfs_table]<br />
max_freq = 1008000000<br />
min_freq = 60000000<br />
lv_count = 5<br />
<br />
lv1_freq = 1056000000<br />
lv1_volt = 1500<br />
<br />
lv2_freq = 1008000000<br />
lv2_volt = 1400<br />
<br />
lv3_freq = 912000000<br />
lv3_volt = 1350<br />
<br />
lv4_freq = 864000000<br />
lv4_volt = 1300<br />
<br />
lv5_freq = 624000000<br />
lv5_volt = 1250<br />
</pre><br />
<br />
== led configuration ==<br />
LEDs are accessible via sys-fs; for example on the cubietruck you can find the following directory:<br />
/sys/class/leds/blue\:ph21\:led1<br />
`cat` the file trigger to see the triggers that can be set in .fex files. Currently these are<br />
* none (kinda defeats the purpose of setting a trigger)<br />
* rfkill0<br />
* battery-charging-or-full<br />
* battery-charging<br />
* battery-full<br />
* battery-charging-blink-full-solid<br />
* ac-online<br />
* usb-online<br />
* mmc0<br />
* mmc1<br />
* timer<br />
* heartbeat<br />
* cpu0<br />
* cpu1<br />
* default-on<br />
* rfkill1<br />
* rfkill2<br />
<br />
How much they make sense - experiment. I'd be especially curious about the effects of rfkill settings. <br />
<br />
Please note that depending on the trigger in question the sysfs will be populated with even more pseudo files. When you choose timer for example then you get a constant blinking led and two more files: delay_on and delay_off with which you can specify how many milliseconds will the LED stay in on/off state. Very convenient to indicate eg. disk usage or average load with higher blinking frequency and stuff like that.<br />
<br />
=== [leds_para] ===<br />
Configuration example:<br />
<pre class="brush: ini"><br />
[leds_para]<br />
leds_used = 1<br />
leds_num = 3<br />
leds_pin_1 = port:PH20<1><default><default><0><br />
leds_name_1 = "ph20:green:led1"<br />
leds_trigger_1 = "heartbeat"<br />
leds_pin_2 = port:PH21<1><default><default><0><br />
leds_name_2 = "ph21:blue:led2"<br />
leds_trigger_2 = "cpu0"<br />
leds_pin_3 = port:PI12<1><default><default><0><br />
leds_name_3 = "red:pi12:led3"<br />
leds_trigger_3 = "cpu1"<br />
</pre><br />
<br />
=== external leds ===<br />
<br />
External LEDs that are connected to one of the GPIO pins (don't forget to add a resistor!) can also be defined in the fex file and used like internal ones afterwards. You have to check which GPIO pin is connected to which SoC pin and use this in the definition. As an example a 3rd led on a Banana Pro connected to GPIO pin 19 (PI12) in the config above. This will lead to a sysfs entry /sys/class/leds/red:pi12:led3 where everything works just like with internal leds.<br />
<br />
== dynamic configuration ==<br />
=== [dynamic] ===<br />
Configuration example:<br />
<pre class="brush: ini"><br />
[dynamic]<br />
MAC = "000000000000"<br />
</pre><br />
<br />
[[Category:Software]]</div>
StandaSK
https://linux-sunxi.org/index.php?title=T3&diff=23882
T3
2021-01-07T11:37:42Z
<p>StandaSK: Redirected page to R40</p>
<hr />
<div>#REDIRECT [[R40]]</div>
StandaSK
https://linux-sunxi.org/index.php?title=A40pro&diff=23881
A40pro
2021-01-07T11:37:37Z
<p>StandaSK: Redirected page to R40</p>
<hr />
<div>#REDIRECT [[R40]]</div>
StandaSK
https://linux-sunxi.org/index.php?title=Allwinner_SoC_Family&diff=23880
Allwinner SoC Family
2021-01-06T10:50:17Z
<p>StandaSK: /* "V"-series */ Add V831, V833</p>
<hr />
<div>= SoC series =<br />
'''A''' series processors are used for mobile applications, mainly referring to tablet application here;<br />
<br />
'''B''' for "Book", used for E-book tablet reader. <br />
<br />
'''H''' for “Homlet”, mainly used in home entertainment applications, including smart OTT boxes, HDMI mini PCs, gaming boxes, etc;<br />
<br />
'''V''' for video-related applications, including video surveillance, automotive DVR, etc;<br />
<br />
'''T''' series processors target the Automotive products like ADAS. <br />
<br />
'''F''' series are processors based on Allwinner’s melis OS, mainly used in smart video radios, video MP5, etc;<br />
<br />
== "A"-Series ==<br />
Based on ARMv7 Cortex-A cores (Cortex-A7, A8 and A15) targeted for high-end devices like digital media players, tablets, and netbooks:<br />
{| class="wikitable"<br />
| [[A10|Allwinner A10]] || <small>(sun4i)</small> || 1 x Cortex-A8 CPU-core<br />
|-<br />
| [[A13|Allwinner A13]] || <small>(sun5i)</small> || 1 x Cortex-A8 CPU-core<br />
|-<br />
| [[A10s|Allwinner A10s]] || <small>(sun5i)</small> || 1 x Cortex-A8 CPU-core<br />
|-<br />
| [[A20|Allwinner A20]]<ref>http://www.allwinnertech.com/index.php?c=product&a=index&id=45</ref> || <small>(sun7i)</small> || 2 x Cortex-A7 CPU-cores<br />
|-<br />
| [[A23|Allwinner A23]] || <small>(sun8i)</small> || 2 x Cortex-A7 CPU-cores<br />
|-<br />
| [[A31|Allwinner A31]] || <small>(sun6i)</small> || 4 x Cortex-A7 CPU-cores<br />
|-<br />
| [[A31s|Allwinner A31s]] || <small>(sun6i)</small> || 4 x Cortex-A7 CPU-cores<br />
|-<br />
| [[A33|Allwinner A33]]<ref>http://www.allwinnertech.com/index.php?c=product&a=index&id=23</ref> || <small>(sun8i)</small> || 4 x Cortex-A7 CPU-cores<br />
|-<br />
| [[A40i|Allwinner A40i]]<ref>http://www.allwinnertech.com/index.php?c=product&a=index&id=69</ref> || <small>(sun8i)</small> || 4 x Cortex-A7 CPU-cores<br />
|-<br />
| [[A50|Allwinner A50]]<ref>http://www.allwinnertech.com/index.php?c=product&a=index&id=72</ref> || <small>(sun8i)</small> || 4 x Cortex-A7 CPU-cores<br />
|-<br />
| [[A80|Allwinner A80]] || <small>(sun9i)</small> || 4 x Cortex-A7 CPU-cores + 4 x Cortex-A15 CPU-cores&nbsp;<br /><small>(using ARM big.LITTLE heterogeneous CPU architecture)</small><br />
|-<br />
| [[A83T|Allwinner A83T]]<ref>http://www.allwinnertech.com/index.php?c=product&a=index&id=24</ref> || <small>(sun8i)</small>&nbsp; || 8 x Cortex-A7 CPU-cores<br />
|}<br />
<br />
'''64-bit'''<br />
{| class="wikitable"<br />
| [[A63|Allwinner A63]]<ref>http://www.allwinnertech.com/index.php?c=product&a=index&id=67</ref> || <small>(sun50i)</small>&nbsp; || 4 x Cortex-A53 CPU-core<br />
|-<br />
| [[A64|Allwinner A64]]<ref>http://www.allwinnertech.com/index.php?c=product&a=index&id=9</ref> || <small>(sun50i)</small>&nbsp; || 4 x Cortex-A53 CPU-core<br />
|-<br />
| [[A100|Allwinner A100]] || <small>(sun50i)</small>&nbsp; || 4 x Cortex-A53 CPU-cores<br />
|-<br />
| [[A133|Allwinner A133]]<ref>http://www.allwinnertech.com/index.php?c=product&a=index&id=93</ref> || <small>(sun50i)</small> || 4 x Cortex-A53 CPU-core<br />
|}<br />
<br />
== "B"-series ==<br />
<br />
{| class="wikitable"<br />
| [[B288|Allwinner B288]]<ref>http://www.allwinnertech.com/index.php?c=product&a=index&id=59</ref> || <small>(sun8i)</small> || 2 x Cortex-A7 CPU-core<br />
|-<br />
| [[B300|Allwinner B300]]<ref>http://www.allwinnertech.com/index.php?c=product&a=index&id=86</ref> || <small>(sun8i)</small> || 4 x Cortex-A7 CPU-core<br />
|}<br />
<br />
== "H"-Series ==<br />
Based on ARMv7/ARMv8 Cortex-A cores (A7/A53) targeted for video OTT (over-the-top) boxes and high-end gaming consoles:<br />
{| class="wikitable"<br />
| [[H2+|Allwinner H2+]]<ref>http://www.allwinnertech.com/index.php?c=product&a=index&id=62</ref> || <small>(sun8i)</small>&nbsp; || 4 x Cortex-A7 CPU-core&nbsp;<br />
|-<br />
| [[H3|Allwinner H3]]<ref>http://www.allwinnertech.com/index.php?c=product&a=index&id=47</ref> || <small>(sun8i)</small>&nbsp; || 4 x Cortex-A7 CPU-core&nbsp;<br />
|-<br />
| [[H8|Allwinner H8]] || <small>(sun8i)</small> || 8 x Cortex-A7 CPU-core<br />
|-<br />
| [[H80|Allwinner H80]]<ref>http://www.allwinnertech.com/index.php?c=product&a=index&id=46</ref> || <small>(sun8i)</small> || 8 x Cortex-A7 CPU-core<br />
|}<br />
<br />
'''64-bit'''<br />
{| class="wikitable"<br />
| [[H5|Allwinner H5]]<ref>https://web.archive.org/web/20180131124325/http://www.allwinnertech.com/index.php?c=product&a=index&id=57</ref>&nbsp; || <small>(sun50i)</small>&nbsp; || 4 x Cortex-A53 CPU-core<br />
|-<br />
| [[H6|Allwinner H6]]<ref>http://www.allwinnertech.com/index.php?c=product&a=index&id=66</ref>&nbsp; || <small>(sun50i)</small>&nbsp; || 4 x Cortex-A53 CPU-core<br />
|-<br />
| [[H64|Allwinner H64]]<ref>http://web.archive.org/web/20160425223052/http://www.allwinnertech.com/en/clq/H_series/6100.html</ref> || <small>(sun50i)</small> || 4 x Cortex-A53 CPU-core<br />
|-<br />
| [[H313|Allwinner H313]]<ref>http://www.allwinnertech.com/index.php?c=product&a=index&id=90</ref> || <small>(sun50i)</small> || 4 x Cortex-A53 CPU-core<br />
|-<br />
| [[H616|Allwinner H616]]<ref>http://www.allwinnertech.com/index.php?c=product&a=index&id=89</ref> || <small>(sun50i)</small> || 4 x Cortex-A53 CPU-core<br />
|}<br />
<br />
== "R"-Series ==<br />
<br />
{| class="wikitable"<br />
| [[R6|Allwinner R6]]<ref>http://www.allwinnertech.com/index.php?c=product&a=index&id=79</ref> || <small>(sun3i)</small> || 1 x ARM926EJ-S CPU-core<br />
|-<br />
| [[R7|Allwinner R7]]<ref>https://web.archive.org/web/20191218202340/http://www.allwinnertech.com/index.php?c=product&a=index&id=82</ref> || <small>(sun8i)</small> || 1 x Cortex-A7 CPU-core<br />
|-<br />
| [[R8|Allwinner R8]]<ref>http://web.archive.org/web/20160510053338/http://www.allwinnertech.com/en/clq/R_series/2015/0514/R8.html</ref> || <small>(sun5i)</small>&nbsp; || 1 x Cortex-A8 CPU-core<br />
|-<br />
| [[R11|Allwinner R11]]<ref>http://www.allwinnertech.com/index.php?c=product&a=index&id=83</ref> || <small>(sun8i)</small> || 1 x Cortex-A7 CPU-core<br />
|-<br />
| [[R16|Allwinner R16]]<ref>http://www.allwinnertech.com/index.php?c=product&a=index&id=51</ref> || <small>(sun8i)</small> || 4 x Cortex-A7 CPU-core<br />
|-<br />
| [[R40|Allwinner R40]]<ref>https://web.archive.org/web/20191229233801/http://www.allwinnertech.com/index.php?c=product&a=index&id=56</ref> || <small>(sun8i)</small> || 4 x Cortex-A7 CPU-core<br />
|-<br />
| [[R58|Allwinner R58]]<ref>http://www.allwinnertech.com/index.php?c=product&a=index&id=49</ref>&nbsp; || <small>(sun8i)</small> || 8 x Cortex-A7 CPU-core<br />
|-<br />
| [[R311|Allwinner R311]]<ref>http://www.allwinnertech.com/index.php?c=product&a=index&id=84</ref>&nbsp; || <small>(sun8i)</small> || 4 x Cortex-A7 CPU-core<br />
|-<br />
| [[R328|Allwinner R328]]<ref>http://www.allwinnertech.com/index.php?c=product&a=index&id=85</ref>&nbsp; || <small>(sun8i)</small> || 2 x Cortex-A7 CPU-core<br />
|-<br />
| [[R818|Allwinner R818]]<ref>http://www.allwinnertech.com/index.php?c=product&a=index&id=92</ref> || <small>(sun8i)</small> || 4 x Cortex-A53 CPU-core<br />
|}<br />
<br />
The Allwinner R8 is repackaged version of the A13. This SoC gets used in the minicomputer presented in Next Thing Co.'s [[NextThingCo CHIP|''C.H.I.P.'']] kickstarter project ("The $9 computer")<ref>http://nextthing.co/</ref>.<br />
<br />
By comparing the product pages the R16 seems to be a relabeled version of A33. This is somewhat confirmed by the (identical) SoC ID the BROM reports.<ref>https://groups.google.com/d/msg/linux-sunxi/vx6oQMy-nis/vgVc8d1KBAAJ</ref><br />
<br />
'''64-bit'''<br />
{| class="wikitable"<br />
| [[R18|Allwinner R18]]<ref>http://www.allwinnertech.com/index.php?c=product&a=index&id=68</ref> || <small>sun50i</small> || 4 x Cortex-A53 CPU-core<br />
|-<br />
| [[R329|Allwinner R329]]<ref>http://www.allwinnertech.com/index.php?c=product&a=index&id=91</ref>&nbsp; || <small>(sun50i)</small> || 2 x Cortex-A53 CPU-core<br />
|}<br />
<br />
== "T"-series ==<br />
<br />
{| class="wikitable"<br />
| [[T2|Allwinner T2]]<ref>http://www.allwinnertech.com/index.php?c=product&a=index&id=39</ref> || <small>(sun8i)</small> || 2 x Cortex-A7 CPU-core<br />
|-<br />
| [[T3|Allwinner T3]]<ref>http://www.allwinnertech.com/index.php?c=product&a=index&id=41</ref> || <small>(sun8i)</small> || 4 x Cortex-A7 CPU-core<br />
|-<br />
| [[T7|Allwinner T7]]<ref>http://www.allwinnertech.com/index.php?c=product&a=index&id=71</ref> || <small>(sun8i)</small> || 6 x Cortex-A7 CPU-core<br />
|-<br />
| [[T8|Allwinner T8]]<ref>http://www.allwinnertech.com/index.php?c=product&a=index&id=43</ref> || <small>(sun8i)</small> || 8 x Cortex-A7 CPU-core<br />
|}<br />
<br />
<br />
'''64-bit'''<br />
{| class="wikitable"<br />
| [[T5|Allwinner T5]]<ref>http://www.allwinnertech.com/index.php?c=product&a=index&id=94</ref> || <small>(sun8i)</small> || 4 x Cortex-A53 CPU-core<br />
|}<br />
<br />
== "V"-series ==<br />
<br />
{| class="wikitable"<br />
| [[V3|Allwinner V3]]<ref>http://www.allwinnertech.com/index.php?c=product&a=index&id=37</ref> || <small>(sun8i)</small> || 1 x Cortex-A7 CPU-core<br />
|-<br />
| [[V3s|Allwinner V3s]]<ref>http://www.allwinnertech.com/index.php?c=product&a=index&id=38</ref> || <small>(sun8i)</small> || 1 x Cortex-A7 CPU-core<br />
|-<br />
| [[V5|Allwinner V5]]<ref>http://www.allwinnertech.com/index.php?c=product&a=index&id=70</ref> || <small>(sun8i)</small> || 4 x Cortex-A7 CPU-core<br />
|-<br />
| [[V40|Allwinner V40]]<ref>http://www.allwinnertech.com/index.php?c=product&a=index&id=36</ref> || <small>(sun8i)</small> || 4 x Cortex-A7 CPU-core<br />
|-<br />
| [[V66|Allwinner V66]]<ref>http://www.allwinnertech.com/index.php?c=product&a=index&id=35</ref> || <small>(sun8i)</small> || 8 x Cortex-A7 CPU-core<br />
|-<br />
| [[V316|Allwinner V316]]<ref>http://www.allwinnertech.com/index.php?c=product&a=index&id=87</ref> || <small>(sun8i)</small> || 2 x Cortex-A7 CPU-core<br />
|-<br />
| [[V536|Allwinner V536]]<ref>http://www.allwinnertech.com/index.php?c=product&a=index&id=88</ref> || <small>(sun8i)</small> || 2 x Cortex-A7 CPU-core<br />
|-<br />
| [[V831|Allwinner V831]] || <small>(sun8i)</small> || 1 x Cortex-A7 CPU-core<br />
|-<br />
| [[V833|Allwinner V833]] || <small>(sun8i)</small> || 1 x Cortex-A7 CPU-core<br />
|}<br />
<br />
== "F"-Series ==<br />
:'''{{note|The F series is not supported by the linux-sunxi community due to lack of developers and hardware. ''sun3i'' have only official linux support, ''sunii'' have no linux support, only Allwinner's "Melis" RTOS.}}'''<br />
<br />
Based on ARMv5 ARM926-EJS core and currently targeted for low market devices such as cheap ebook readers, etc.<br />
<br />
F1C700 seems to be a remarked A13, and it's ARMv7.<br />
<br />
{| class="wikitable"<br />
| [[C100|Boxchip C100]] || <small>(sun3i)</small><br />
|-<br />
| [[E200|Boxchip E200]] || <small>(sun3i)</small><br />
|-<br />
| [[F10|Boxchip F10]] <small>aka SoChip SC9800 aka Teclast T8100</small>&nbsp; || <small>(sunii)</small><br />
|-<br />
| [[F13|Boxchip F13]] || <small>(sunii)</small><br />
|-<br />
| [[F13|Boxchip F15]] <small>aka SoChip SC8600 aka Teclast T7200</small> || <small>(sunii)</small><br />
|-<br />
| [[F18|Boxchip F18]] || <small>(sunii)</small><br />
|-<br />
| [[F20|Boxchip F20]] || <small>(sun3i)</small><br />
|-<br />
| [[F23|Allwinner F23]]<ref>http://www.allwinnertech.com/index.php?c=product&a=index&id=30</ref> || <small>(suniv)</small><br />
|-<br />
| [[F25|Allwinner F25]]<ref>http://www.allwinnertech.com/index.php?c=product&a=index&id=31</ref> || <small>(suniv)</small><br />
|-<br />
| [[F1C100A|Allwinner F1C100A]]<ref>http://www.allwinnertech.com/index.php?c=product&a=index&id=29</ref> || <small>(suniv)</small><br />
|-<br />
| [[F1C100s|Allwinner F1C100s]]<ref>http://www.allwinnertech.com/index.php?c=product&a=index&id=73</ref> || <small>(suniv)</small><br />
|-<br />
| [[F1C200s|Allwinner F1C200s]]<ref>http://www.allwinnertech.com/index.php?c=product&a=index&id=74</ref> || <small>(suniv)</small><br />
|-<br />
| [[F1C500|Allwinner F1C500]]<ref>http://www.allwinnertech.com/index.php?c=product&a=index&id=27</ref> || <small>(suniv)</small><br />
|-<br />
| [[F1C500s|Allwinner F1C500s]]<ref>http://www.allwinnertech.com/index.php?c=product&a=index&id=75</ref> || <small>(suniv)</small><br />
|-<br />
| [[F1C600|Allwinner F1C600]]<ref>http://www.allwinnertech.com/index.php?c=product&a=index&id=28</ref> || <small>(suniv)</small><br />
|-<br />
| [[F1C700|Allwinner F1C700]] || <small>(sun5i)</small><br />
|-<br />
| [[F1C800|Allwinner F1C800]]<ref>http://www.allwinnertech.com/index.php?c=product&a=index&id=76</ref> || <small>(suniv)</small><br />
|-<br />
| [[F1D100|Allwinner F1D100]]<ref>http://www.allwinnertech.com/index.php?c=product&a=index&id=64</ref> || <small>(suniv)</small><br />
|}<br />
<br />
== "MR"-series ==<br />
<br />
{| class="wikitable"<br />
| [[MR100|Allwinner MR100]]<ref>http://www.allwinnertech.com/index.php?c=product&a=index&id=77</ref> || <small>(sun8i)</small> || 4 x Cortex-A7 CPU-core<br />
|-<br />
| [[MR133|Allwinner MR133]]<ref>http://www.allwinnertech.com/index.php?c=product&a=index&id=81</ref> || <small>(sun8i)</small> || 4 x Cortex-A7 CPU-core<br />
|}<br />
<br />
= 2013 naming scheme change =<br />
<br />
Initially, Allwinner named their SoCs chronologically:<br />
* sun4i = A10<br />
* sun5i = A13/A10s<br />
* sun6i = A31<br />
* sun7i = A20<br />
<br />
but, somewhere in 2013, Allwinner decided to update their naming scheme to be based on the ARM core used instead: (taken from the A80 SDK kernel code).<br />
<br />
Note: SoCs with "?" have never appeared on Allwinner's website. <ref>https://github.com/tinalinux/brandy/blob/r40-v1.y/SUNXI_README</ref><br />
<br />
{| class="wikitable"<br />
! sunxi (arm cores) !! sunxiwx (soc id) !! p (rev id) !! soc name !! cores !! notes<br />
|-<br />
| sun3i (arm926ejs) || sun3iw1 (0x1663) || sun3iw1p1 || [[F1C100s]], [[F1C100A]], [[F1C200s]], [[F1C500]], [[F1C500s]], [[F1C600]], [[F1D100]], [[R6]] || 1xARM926EJ-S<br />
|-<br />
| style="text-align: left;" rowspan="4" | sun4i (cortex-a8) <br />
| sun4iw1 (0x1623) || sun4iw1p1 || [[A10]] || 1xCortex-A8<br />
|-<br />
| style="text-align: left;" rowspan="3" | sun4iw2 (0x1625)<br />
| sun4iw2p1 || [[A13]] || 1xCortex-A8<br />
|-<br />
| sun4iw2p2 || [[A12]] || ?<br />
|-<br />
| sun4iw2p3 || [[A10s]] || 1xCortex-A8<br />
|-<br />
| style="text-align: left;" rowspan="20" | sun8i <br />
(cortex-a7 smp)<br />
<br />
| style="text-align: left;" rowspan="2" | sun8iw1 (0x1633)<br />
<br />
| sun8iw1p1 || [[A31]] || 4xCortex-A7<br />
|-<br />
| sun8iw1p2 || [[A31s]] || 4xCortex-A7<br />
|-<br />
| style="text-align: left;" rowspan="2" | sun8iw2 (0x1651)<br />
<br />
| sun8iw2p1 || [[A20]] || 2xCortex-A7<br />
|-<br />
| sun8iw2p2 || ? || ?<br />
|-<br />
| style="text-align: left;" rowspan="2" | sun8iw3 (0x1650)<br />
<br />
| sun8iw3p1 || [[A23]] || 2xCortex-A7<br />
|-<br />
| sun8iw3p2 || ? || ?<br />
|-<br />
| sun8iw5 (0x1667) || sun8iw5p1 || [[A33]] || 4xCortex-A7<br />
|-<br />
| sun8iw6 (0x1673) || sun8iw6p1 || [[A83T]] || 8xCortex-A7<br />
|-<br />
| sun8iw7 (0x1680) || sun8iw7p1 || [[H3]], [[H2+]] || 4xCortex-A7<br />
|-<br />
| style="text-align: left;" rowspan="2" | sun8iw8 (0x1681)<br />
<br />
| sun8iw8p1 || [[V3]], [[V3s]] || 1xCortex-A7 || called V30 in allwinner's kernel source<br />
|-<br />
| sun8iw8p2 || ? || ? || called V33 in allwinner's kernel source<br />
|-<br />
| sun8iw10 (0x1699) || sun8iw10p1 || [[B288]], [[B100]] || 2xCortex-A7<br />
|-<br />
| style="text-align: left;" rowspan="4" | sun8iw11 (0x1701)<br />
<br />
| sun8iw11p1 || [[R40]], [[V40]], [[T3]], [[A20e]]? || 4xCortex-A7<br />
|-<br />
| sun8iw11p2 || ?? || 4xCortex-A7<br />
|-<br />
| sun8iw11p3 || ?? || 4xCortex-A7<br />
|-<br />
| sun8iw11p4 || ?? || 4xCortex-A7<br />
|-<br />
| sun8iw12 (0x1721) || sun8iw12p1 || [[V5]] || 4xCortex-A7<br />
|-<br />
| sun8iw15 (0x1755) || sun8iw15p1 || [[R311]] || 4xCortex-A7<br />
|-<br />
| sun8iw16 (0x1816) || sun8iw16p1 || [[V526]], [[V536]] || 2xCortex-A7<br />
|-<br />
| sun8iw17 (0x1708) || sun8iw17p1 || [[T7]] || 6xCortex-A7<br />
|-<br />
| style="text-align: left;" rowspan="2" | sun9i <br />
(cortex-a15/cortex-a7 big.LITTLE) <br />
<br />
| style="text-align: left;" rowspan="2" | sun9iw1 (0x1639)<br />
| sun9iw1p1 || [[A80]] || 4xCortex-A7 + 4xCortex-A15<br />
|-<br />
| sun9iw1p2 || [[A80T]] || ?<br />
|-<br />
| style="text-align: left;" rowspan="7" | sun50i <br />
(cortex-a53 smp) <br />
| sun50iw1 (0x1689) || sun50iw1p1 || [[A64]] || 4xCortex-A53<br />
|-<br />
| sun50iw2 (0x1718) || sun50iw2p1 || [[H5]] || 4xCortex-A53<br />
|-<br />
| sun50iw3 (0x1719) || sun50iw3p1 || [[A63]] || 4xCortex-A53<br />
|-<br />
| sun50iw6 (0x1728) || sun50iw6p1 || [[H6]] || 4xCortex-A53<br />
|-<br />
| sun50iw9 (0x1823) || sun50iw9p1 || [[H616]], [[H313]] || 4xCortex-A53<br />
|-<br />
| sun50iw10 (0x1855) || sun50iw10p1 || [[A100]] || 4xCortex-A53<br />
|-<br />
| sun50iw11 (0x????) || sun50iw11p1 || [[R329]] || 2xCortex-A53<br />
|}<br />
<br />
This new naming scheme is of absolutely no value with respect to the rest of the SoC. The actual ARM core(s) used are usually the least important piece of information for SoC support. This table completely ignores the fact that A20 is an updated A10 and is pin compatible. It also ignores the fact that A31 introduced a lot of changes which were carried on to the A23/A33 and possibly A80 parts. It therefore is quite likely that this naming scheme was purely a marketing decision, and that Allwinner marketing will change its mind again.<br />
<br />
= Features =<br />
* CPU: ARMv7-A [http://en.wikipedia.org/wiki/ARM_Cortex-A7 Cortex-A7], [http://en.wikipedia.org/wiki/ARM_Cortex-A15 Cortex-A15] or [http://en.wikipedia.org/wiki/ARM_Cortex-A8 Cortex-A8] Central Processor Unit with (co-)processor extensions:<br />
** Advanced SIMD: [http://en.wikipedia.org/wiki/ARM_architecture#Advanced_SIMD_.28NEON.29 NEON] (ARM's extended general-purpose advanced SIMD vector processing extension engine)<br />
** [[Vector Floating Point Unit]] ([http://en.wikipedia.org/wiki/ARM_architecture#Floating-point_.28VFP.29 VFPU]): ARM VFPv3 lite (Cortex-A8) / VFPv4 (Cortex-A7)<br />
** Security Extensions: <br />
*** [http://en.wikipedia.org/wiki/ARM_architecture#Security_extensions_.28TrustZone.29 TrustZone] secure world<br />
*** [[Security_System|Security accelerator]] supporting AES, DES, 3DES, SHA-1, MD5 and pseudo-random number generation<br />
** [http://en.wikipedia.org/wiki/ARM_architecture#Thumb-2 Thumb-2] instruction set extension for optimized code to reduce memory footprint and improve performance<br />
* GPU: [[Mali400]], Mali400-MP2, SGX544 or PowerVR G6230 Graphics Procesor Unit, supporting OpenGL ES2.<br />
* VPU: [[Cedar Engine]] (Video Processor Unit for audio and video hardware decoding or encoding)<br />
* HDMI-transmitter with [http://en.wikipedia.org/wiki/HDMI#CEC HDMI CEC] (Consumer Electronics Control), with exception of A13 which lacks HDMI-transmitter and SATA-controller<ref>[http://olimex.wordpress.com/2012/04/24/cortex-a8-in-tqfp-sure-allwinner-a13/ "Cortex A8 in TQFP? sure Allwinner A13"] ''Retrieved 23 September 2012''</ref><br />
* Hardware virtualization capabilities (Cortex-A7 only).<br />
* Up to 4GB memory (Cortex-A8), Up to 1TB memory with LPAE (Cortex-A7 only).<br />
<br />
== Comparison table ==<br />
{| class="wikitable"<br />
! scope="row" | !! [[A10]] !! [[A10s]] !! [[A13]] !! [[A20]] !! [[A23]] !! [[A31]] !! [[A31s]] !! [[A33]] !! [[A80]]<br />
|-<br />
! scope="row" | Generation <br />
| sun4i || sun5i || sun5i || sun7i || sun8i || sun6i || sun6i || sun8i || sun9i <br />
|-<br />
! scope="row" | CPU<br />
| Cortex-A8 || Cortex-A8 || Cortex-A8 || Cortex-A7 || Cortex-A7 ||Cortex-A7 || Cortex-A7 || Cortex-A7 || Cortex-A7 / A15 <br />
|-<br />
! scope="row" | CPU Maximum frequency<br />
| 1 GHz|| 1 GHz || 1 GHz|| 960 MHz|| 1.5 GHz || ? GHz || ? GHz || 1.5 GHz || 2 (??) GHz<br />
|-<br />
! scope="row" | Cores<br />
| 1 || 1 || 1 || 2 || 2 || 4 || 4 || 4 || 2 x 4<br />
|-<br />
! scope="row" | Extensions<br />
| NEON, VFPv3, Thumb-2 || NEON, VFPv3, Thumb-2 || NEON, VFPv3, Thumb-2 || NEON, VFPv3 / VFPv4, Thumb-2 ||NEON, VFPv3 / VFPv4, Thumb-2 || NEON, VFPv3 / VFPv4, Thumb-2 || NEON, VFPv3 / VFPv4, Thumb-2 || NEON, VFPv3 / VFPv4, Thumb-2 || ? (A80)<br />
|-<br />
! scope="row" | Memory<br />
| DDR2, DDR3</br> (max 2GB @ DDR800) || DDR2, DDR3</br> (max 2GB @ DDR800) || DDR2, DDR3</br> (max 512MB @ DDR800) || LPDDR3, DDR3,</br>LPDDR2 || DDR3</br>(max 1GB) || 2-channel DDR3, LPDDR2, </br>2-channel DDR3L, DDR3U || DDR3, DDR3L, LPDDR2 || single-channel DDR3, DDR3L</br>(max 1GB) || 2-channel DDR3, DDR3L, LPDDR3, LPDDR2</br> up to 8GB<br />
|-<br />
! scope="row" | GPU<br />
| [[Mali400]]</br>320&nbsp;MHz || [[Mali400]]</br>320&nbsp;MHz || [[Mali400]]</br>320&nbsp;MHz || [[Mali400]]-MP2</br>350&nbsp;MHz || [[Mali400]]-MP2 || SGX544</br>200&nbsp;MHz || SGX544</br>200&nbsp;MHz || [[Mali400]]-MP2 || 64-core PowerVR G6230<br />
|-<br />
! scope="row" | GPU API<br />
| OpenGL ES 2.0, OpenVG 1.1 || OpenGL ES 2.0, OpenVG 1.1 || OpenGL ES 2.0, OpenVG 1.1 || OpenGL ES 2.0, OpenVG 1.1 || OpenGL ES 2.0, OpenVG 1.1 || OpenGL ES 2.0, OpenVG 1.1, OpenCL 1.1, and DirectX 9.3 || OpenGL ES 2.0, OpenVG 1.1, OpenCL 1.1, and DirectX 9.3 || OpenGL ES 2.0, OpenVG 1.1 || OpenGL 3.x, OpenGL ES Next,3.0,2.0, Open CL 1.x, DirectX 11 level 9_3/10_0<ref>http://www.imgtec.com/news/detail.asp?ID=845</ref><br />
|-<br />
! scope="row" | [[Cedar Engine|Video decoder]]<br />
| 2160p || 1080p || 1080p || 2160p, 4K×2K, 1080p 3D || 1080p@60fps || 2160p, 4K×2K, 1080p 3D || 2160p, 1080p 3D || 1080p@60fps || ? (A80)<br />
|-<br />
! scope="row" | [[Cedar Engine|Video encoder]]<br />
| H.264 1080p@30fps, JPEG || H.264 1080p@30fps, JPEG || H.264 1080p@30fps, JPEG || H.264 1080p@30fps, JPEG || 1080p@60fps || H.264 1080p@60fps, JPEG || H264 1080p@30fps, 720p@60fps || H.264 1080p@60fps, JPEG || H.264 HP/VP8 4Kx2K@30fp<br />
|-<br />
! scope="row" | Audio decoder<br />
| AC3, DTS || ? || ? || AC3, DTS || - || ? (A31) || ? (A31S) || ? (A33) || ? (A80)<br />
|-<br />
! scope="row" | Video interfaces<br />
| HDMI 1.3, YPbPr, VGA, CPU/RGB/LVDS LCD || HDMI 1.3, RGB/LVDS LCD || RGB LCD, VGA|| HDMI 1.4, CVBS, YPbPr, VGA, CPU/RGB/LVDS LCD || CPU/RGB/LVDS LCD, MIPI DSI || HDMI 1.4, MIPI DSI, 2-channel LVDS, 2-channel RGB LCD || HDMI 1.4, LVDS, RGB LCD || CPU/RGB/LVDS LCD, MIPI DSI || HDMI 4K, RGB LCD 2048x1536@60fps, dual-channel LVDS 1920x1080@60fps, 4-lane MIPI DSI 1920x1200@60fps, 4-lane eDP 2560x1600@60fps<br />
|-<br />
! scope="row" | Audio interfaces<br />
| I2S, SPDIF, AC97 || I2S, AC97 || I2S, AC97 || I2S, PCM, AC97 || I2S, PCM || 2 I2S, 2 PCM || I2S, 2 PCM || ? (A33) || ? (A80)<br />
|-<br />
! scope="row" | USB OTG<br />
| 1 || 1 || 1 || 1 || 1 || 1 || 1 || ? (A33) || 1<br />
|-<br />
! scope="row" | USB Host<br />
| 2 || 1 || 1 || 2 || 1 || 2 || 2 || ? (A33) || 2x USB Host, USB 3.0/2.0 Dual-Role (host/device)<br />
|-<br />
! scope="row" | Ethernet<br />
| EMAC || EMAC || - || EMAC/GMAC || - || GMAC || GMAC || - || GMAC<br />
|-<br />
! scope="row" | Storage<br />
| NAND (max 64GB), SATA II, SD Card 3.0 || NAND (max 64GB), SD Card 3.0 || NAND (max 64GB), SD Card 3.0 || NAND, MMC, [http://olimex.wordpress.com/2013/04/05/allwinners-a10-and-a20-are-they-really-pin-to-pin-compatible-and-drop-in-replacement/#comment-5452 SATA] || raw NAND, eMMC, SD card || 4 x SD Card, eMMC NAND, 2-channel raw NAND || 4 x SD Card, eMMC NAND, raw NAND || 3 x SD Card, eMMC NAND, raw NAND || 4 x SD/MMC<br />
|-<br />
! scope="row" | Package<br />
| BGA441</br>19&nbsp;mm&nbsp;×&nbsp;19&nbsp;mm</br>0.80&nbsp;mm Pitch || BGA336</br>14&nbsp;mm&nbsp;×&nbsp;14&nbsp;mm</br>0.65&nbsp;mm Pitch || eLQFP176</br>20&nbsp;mm&nbsp;×&nbsp;20&nbsp;mm ||BGA441</br>19&nbsp;mm&nbsp;×&nbsp;19&nbsp;mm</br>0.80&nbsp;mm Pitch || FBGA280</br>14&nbsp;mm&nbsp;x&nbsp;14&nbsp;mm&nbsp;x&nbsp;1.4&nbsp;mm</br>0.80&nbsp;mm Pitch || BGA609</br>18&nbsp;mm&nbsp;×&nbsp;8&nbsp;mm</br>0.65&nbsp;mm Pitch || ? (A31S) || ? (Allwinner: pin compatible with A23) || ? (A80)<br />
|-<br />
! scope="row" | Lithography<br />
| 55 nm || 55 nm|| 55 nm || 40 nm || 40 nm || 40 nm || 40 nm || 40 nm || 28 nm<br />
|}<br />
<ref>https://web.archive.org/web/20130301050520/http://blog.thinkteletronics.com/all-mobile-socsolutions/ All Mobile Soc/Solutions.</ref><br />
<br />
= References =<br />
<references /><br />
<br />
[[Category:System on Chip]]</div>
StandaSK
https://linux-sunxi.org/index.php?title=Navon_iQ7_2018&diff=23826
Navon iQ7 2018
2020-12-11T19:57:24Z
<p>StandaSK: </p>
<hr />
<div>{{Infobox Board<br />
| image = [[File:Navon_iQ7_2018_front.jpg|250px]]<br />
| manufacturer = [https://smartnavon.eu/ Navon]<br />
| dimensions = 115''mm'' x 10''mm'' x 190''mm''<br />
| release_date = 2018<br />
| soc = [[A64]] @ 1.152Ghz<br />
| dram = 1GiB DDR3 @ {{Edit|xxx}}MHz<br />
| nand = 8GB<br />
| power = microUSB, 2500mAh 3.7V Li-Ion battery<br />
| lcd = 600x1024 (7" ~17∶10)<br />
| touchscreen = 5-finger capacitive ([[Touchscreen#Device|Manufacturer device]])<br />
| audio = 3.5mm headphone plug, 3.5mm microphone plug, internal speaker, internal microphone<br />
| network = WiFi 802.11 b/g/n ([[Wifi#Manufacturer|Manufacturer device]])<br />
| storage = µSD<br />
| usb = X USB2.0 Host, X USB2.0 OTG<br />
| camera = 0.3MP (????x????) front, 2MP (????x????) rear<br />
| other = Accelerometer ([[Accelerometer#Device|Manufacturer device]]), GPS, IRDA<br />
| headers = UART, JTAG, LCD, ...<br />
}}<br />
<br />
{{Remove_only_when_finished|This page needs to be properly filled according to the [[New_Device_howto |New Device Howto]] and the [[New_Device_page|New Device Page guide]].}}<br />
<br />
{{Remove|If a device is special, then feel free to provide a terse description of what makes this device so special. But terse, no novels, no marketing blurb.}}<br />
<br />
= Identification =<br />
{{Remove|This section explains how to most easily identify your device. For a development board, explain the name(s) printed on the board. For an android device, find out the strings as reported under settings.}}<br />
<br />
On the back of the device, the following is printed:<br />
<pre>Navon<br />
iQ7 2018</pre><br />
<br />
The PCB has the following silkscreened on it:<br />
<pre>LIA-BB-V6.66<br />
1970-01-01</pre><br />
<br />
In android, under Settings->About Tablet, you will find:<br />
* Model Number: ''iQ7_2018''<br />
* Build Number: ''Navon_V1.0_20180114''<br />
<br />
= Sunxi support =<br />
<br />
== Current status ==<br />
<br />
{{Remove|Give a brief overview of the current status of support under sunxi here.}}<br />
<br />
== Images ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE specific sunxi ROM images here. E.g. a livesuit image or some other linux image which uses linux-sunxi code. Do not put non-sunxi images here, they should live under [[#See_also|See also]]. If no sunxi based images are available, this section can be removed.}}<br />
<br />
== HW-Pack ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE sunxi HW-pack specifics here. When empty, this section can be removed.}}<br />
<br />
== BSP ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE sunxi BSP specifics here. When empty, this section can be removed.}}<br />
<br />
== Manual build ==<br />
<br />
You can build things for yourself by following our [[Manual_build_howto | Manual build howto]] and by choosing from the configurations available below.<br />
<br />
=== U-Boot ===<br />
<br />
==== Sunxi/Legacy U-Boot ====<br />
<br />
Use the ''{{Edit|MANUFACTURER_DEVICE}}'' build target.<br />
<br />
==== Mainline U-Boot ====<br />
<br />
Use the ''{{Edit|MANUFACTURER_DEVICE}}'' build target.<br />
<br />
=== Linux Kernel ===<br />
<br />
==== Sunxi/Legacy Kernel ====<br />
<br />
Use the [https://github.com/linux-sunxi/sunxi-boards/blob/master/sys_config/SOC/MANUFACTURER_DEVICE.fex ''{{Edit|MANUFACTURER_DEVICE.fex}}''] file.<br />
<br />
==== Mainline kernel ====<br />
<br />
Use the ''{{Edit|FAMILY-CHIP-DEVICE.dtb}}'' device-tree binary.<br />
<br />
= Tips, Tricks, Caveats =<br />
<br />
{{Remove|Add MANUFACTURER DEVICE specific tips, tricks, Caveats and nice to have changes here.}}<br />
<br />
== FEL mode ==<br />
<br />
The {{Edit|something}} button triggers [[FEL | FEL mode]].<br />
<br />
== {{Edit|Device specific topic}} ==<br />
<br />
{{Remove|If there are no further device specific topics to add, remove these sections.}}<br />
<br />
== {{Edit|...}} ==<br />
<br />
= Adding a serial port ('''voids warranty''') =<br />
<br />
[[File:device_uart.jpg|thumb|240px|{{Remove|DEVICE}} UART pads]]<br />
<br />
{{Remove|This section explains how to attach a serial port to the device. Make sure it refers to our [[UART|UART howto]]. For a development board, you can just mention how to find the header with the pins and include a picture, and you can remove the warranty voiding warning.}}<br />
<br />
== Device disassembly ==<br />
# Unscrew the two screws at the top of the device (the side with all the ports and buttons)<br />
# Use a [[Plastic tool]] to unclip the back cover<br />
<br />
== Locating the UART ==<br />
<br />
{{Remove|Describe how to find the RX,TX,GND signals here, and mention the [[UART|UART howto]].}}<br />
<br />
= Pictures =<br />
<br />
{{Remove|Take some pictures of your device, [[Special:Upload | upload them]], and add them here. DO NOT UPLOAD PICTURES WHICH YOU PLUCKED OFF THE INTERNET.}}<br />
<br />
<gallery><br />
File:Navon_iQ7_2018_front.jpg<br />
File:Navon_iQ7_2018_back.jpg<br />
File:Navon_iQ7_2018_top.jpg<br />
File:Navon_iQ7_2018_back_removed.jpg<br />
File:Device_board_front.jpg<br />
File:Device_board_back.jpg<br />
</gallery><br />
<br />
= Also known as =<br />
<br />
{{Remove|List rebadged devices here.}}<br />
<br />
= See also =<br />
<br />
{{Remove|Add some nice to have links here. This includes related devices, and external links.}}<br />
<br />
== Manufacturer images ==<br />
<br />
{{Remove|Optional. Add non-sunxi images in this section.}}<br />
<br />
[[Category:Devices]]<br />
[[Category:A64 Tablets]]</div>
StandaSK
https://linux-sunxi.org/index.php?title=Navon_iQ7_2018&diff=23823
Navon iQ7 2018
2020-12-10T19:52:18Z
<p>StandaSK: Add dimensions</p>
<hr />
<div>{{Infobox Board<br />
| image = [[File:Navon_iQ7_2018_front.jpg|250px]]<br />
| manufacturer = [https://smartnavon.eu/ Manufacturer]<br />
| dimensions = 115''mm'' x 10''mm'' x 190''mm''<br />
| release_date = 2018?<br />
| website = [http://manufacturer/device Device Product Page]<br />
| soc = [[A64]] @ 1.152Ghz<br />
| dram = 1GiB DDR3 @ {{Edit|xxx}}MHz<br />
| nand = 8GB<br />
| power = microUSB, 2500mAh 3.7V Li-Ion battery<br />
| lcd = 600x1024 (7" ~17∶10)<br />
| touchscreen = 5-finger capacitive ([[Touchscreen#Device|Manufacturer device]])<br />
| video = None<br />
| audio = 3.5mm headphone plug, 3.5mm microphone plug, internal speaker, internal microphone<br />
| network = WiFi 802.11 b/g/n ([[Wifi#Manufacturer|Manufacturer device]])<br />
| storage = µSD<br />
| usb = X USB2.0 Host, X USB2.0 OTG<br />
| camera = 0.3MP (????x????) front, 2MP (????x????) rear<br />
| other = Accelerometer ([[Accelerometer#Device|Manufacturer device]]), GPS, IRDA<br />
| headers = UART, JTAG, LCD, ...<br />
}}<br />
<br />
{{Remove_only_when_finished|This page needs to be properly filled according to the [[New_Device_howto |New Device Howto]] and the [[New_Device_page|New Device Page guide]].}}<br />
<br />
{{Remove|If a device is special, then feel free to provide a terse description of what makes this device so special. But terse, no novels, no marketing blurb.}}<br />
<br />
= Identification =<br />
{{Remove|This section explains how to most easily identify your device. For a development board, explain the name(s) printed on the board. For an android device, find out the strings as reported under settings.}}<br />
<br />
On the back of the device, the following is printed:<br />
<pre>Navon<br />
iQ7 2018</pre><br />
<br />
The PCB has the following silkscreened on it:<br />
<pre>LIA-BB-V6.66<br />
1970-01-01</pre><br />
<br />
In android, under Settings->About Tablet, you will find:<br />
* Model Number: ''iQ7_2018''<br />
* Build Number: ''Navon_V1.0_20180114''<br />
<br />
= Sunxi support =<br />
<br />
== Current status ==<br />
<br />
{{Remove|Give a brief overview of the current status of support under sunxi here.}}<br />
<br />
== Images ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE specific sunxi ROM images here. E.g. a livesuit image or some other linux image which uses linux-sunxi code. Do not put non-sunxi images here, they should live under [[#See_also|See also]]. If no sunxi based images are available, this section can be removed.}}<br />
<br />
== HW-Pack ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE sunxi HW-pack specifics here. When empty, this section can be removed.}}<br />
<br />
== BSP ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE sunxi BSP specifics here. When empty, this section can be removed.}}<br />
<br />
== Manual build ==<br />
<br />
You can build things for yourself by following our [[Manual_build_howto | Manual build howto]] and by choosing from the configurations available below.<br />
<br />
=== U-Boot ===<br />
<br />
==== Sunxi/Legacy U-Boot ====<br />
<br />
Use the ''{{Edit|MANUFACTURER_DEVICE}}'' build target.<br />
<br />
==== Mainline U-Boot ====<br />
<br />
Use the ''{{Edit|MANUFACTURER_DEVICE}}'' build target.<br />
<br />
=== Linux Kernel ===<br />
<br />
==== Sunxi/Legacy Kernel ====<br />
<br />
Use the [https://github.com/linux-sunxi/sunxi-boards/blob/master/sys_config/SOC/MANUFACTURER_DEVICE.fex ''{{Edit|MANUFACTURER_DEVICE.fex}}''] file.<br />
<br />
==== Mainline kernel ====<br />
<br />
Use the ''{{Edit|FAMILY-CHIP-DEVICE.dtb}}'' device-tree binary.<br />
<br />
= Tips, Tricks, Caveats =<br />
<br />
{{Remove|Add MANUFACTURER DEVICE specific tips, tricks, Caveats and nice to have changes here.}}<br />
<br />
== FEL mode ==<br />
<br />
The {{Edit|something}} button triggers [[FEL | FEL mode]].<br />
<br />
== {{Edit|Device specific topic}} ==<br />
<br />
{{Remove|If there are no further device specific topics to add, remove these sections.}}<br />
<br />
== {{Edit|...}} ==<br />
<br />
= Adding a serial port ('''voids warranty''') =<br />
<br />
[[File:device_uart.jpg|thumb|240px|{{Remove|DEVICE}} UART pads]]<br />
<br />
{{Remove|This section explains how to attach a serial port to the device. Make sure it refers to our [[UART|UART howto]]. For a development board, you can just mention how to find the header with the pins and include a picture, and you can remove the warranty voiding warning.}}<br />
<br />
== Device disassembly ==<br />
# Unscrew the two screws at the top of the device (the side with all the ports and buttons)<br />
# Use a [[Plastic tool]] to unclip the back cover<br />
<br />
== Locating the UART ==<br />
<br />
{{Remove|Describe how to find the RX,TX,GND signals here, and mention the [[UART|UART howto]].}}<br />
<br />
= Pictures =<br />
<br />
{{Remove|Take some pictures of your device, [[Special:Upload | upload them]], and add them here. DO NOT UPLOAD PICTURES WHICH YOU PLUCKED OFF THE INTERNET.}}<br />
<br />
<gallery><br />
File:Navon_iQ7_2018_front.jpg<br />
File:Navon_iQ7_2018_back.jpg<br />
File:Navon_iQ7_2018_top.jpg<br />
File:Navon_iQ7_2018_back_removed.jpg<br />
File:Device_board_front.jpg<br />
File:Device_board_back.jpg<br />
</gallery><br />
<br />
= Also known as =<br />
<br />
{{Remove|List rebadged devices here.}}<br />
<br />
= See also =<br />
<br />
{{Remove|Add some nice to have links here. This includes related devices, and external links.}}<br />
<br />
== Manufacturer images ==<br />
<br />
{{Remove|Optional. Add non-sunxi images in this section.}}<br />
<br />
[[Category:Devices]]<br />
[[Category:A64 Tablets]]</div>
StandaSK
https://linux-sunxi.org/index.php?title=Navon_iQ7_2018&diff=23822
Navon iQ7 2018
2020-12-10T19:49:33Z
<p>StandaSK: /* Pictures */</p>
<hr />
<div>{{Infobox Board<br />
| image = [[File:Navon_iQ7_2018_front.jpg|250px]]<br />
| manufacturer = [https://smartnavon.eu/ Manufacturer]<br />
| dimensions = width''mm'' x breadth''mm'' x height''mm''<br />
| release_date = 2018?<br />
| website = [http://manufacturer/device Device Product Page]<br />
| soc = [[A64]] @ 1.152Ghz<br />
| dram = 1GiB DDR3 @ {{Edit|xxx}}MHz<br />
| nand = 8GB<br />
| power = microUSB, 2500mAh 3.7V Li-Ion battery<br />
| lcd = 600x1024 (7" ~17∶10)<br />
| touchscreen = 5-finger capacitive ([[Touchscreen#Device|Manufacturer device]])<br />
| video = None<br />
| audio = 3.5mm headphone plug, 3.5mm microphone plug, internal speaker, internal microphone<br />
| network = WiFi 802.11 b/g/n ([[Wifi#Manufacturer|Manufacturer device]])<br />
| storage = µSD<br />
| usb = X USB2.0 Host, X USB2.0 OTG<br />
| camera = 0.3MP (????x????) front, 2MP (????x????) rear<br />
| other = Accelerometer ([[Accelerometer#Device|Manufacturer device]]), GPS, IRDA<br />
| headers = UART, JTAG, LCD, ...<br />
}}<br />
<br />
{{Remove_only_when_finished|This page needs to be properly filled according to the [[New_Device_howto |New Device Howto]] and the [[New_Device_page|New Device Page guide]].}}<br />
<br />
{{Remove|If a device is special, then feel free to provide a terse description of what makes this device so special. But terse, no novels, no marketing blurb.}}<br />
<br />
= Identification =<br />
{{Remove|This section explains how to most easily identify your device. For a development board, explain the name(s) printed on the board. For an android device, find out the strings as reported under settings.}}<br />
<br />
On the back of the device, the following is printed:<br />
<pre>Navon<br />
iQ7 2018</pre><br />
<br />
The PCB has the following silkscreened on it:<br />
<pre>LIA-BB-V6.66<br />
1970-01-01</pre><br />
<br />
In android, under Settings->About Tablet, you will find:<br />
* Model Number: ''iQ7_2018''<br />
* Build Number: ''Navon_V1.0_20180114''<br />
<br />
= Sunxi support =<br />
<br />
== Current status ==<br />
<br />
{{Remove|Give a brief overview of the current status of support under sunxi here.}}<br />
<br />
== Images ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE specific sunxi ROM images here. E.g. a livesuit image or some other linux image which uses linux-sunxi code. Do not put non-sunxi images here, they should live under [[#See_also|See also]]. If no sunxi based images are available, this section can be removed.}}<br />
<br />
== HW-Pack ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE sunxi HW-pack specifics here. When empty, this section can be removed.}}<br />
<br />
== BSP ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE sunxi BSP specifics here. When empty, this section can be removed.}}<br />
<br />
== Manual build ==<br />
<br />
You can build things for yourself by following our [[Manual_build_howto | Manual build howto]] and by choosing from the configurations available below.<br />
<br />
=== U-Boot ===<br />
<br />
==== Sunxi/Legacy U-Boot ====<br />
<br />
Use the ''{{Edit|MANUFACTURER_DEVICE}}'' build target.<br />
<br />
==== Mainline U-Boot ====<br />
<br />
Use the ''{{Edit|MANUFACTURER_DEVICE}}'' build target.<br />
<br />
=== Linux Kernel ===<br />
<br />
==== Sunxi/Legacy Kernel ====<br />
<br />
Use the [https://github.com/linux-sunxi/sunxi-boards/blob/master/sys_config/SOC/MANUFACTURER_DEVICE.fex ''{{Edit|MANUFACTURER_DEVICE.fex}}''] file.<br />
<br />
==== Mainline kernel ====<br />
<br />
Use the ''{{Edit|FAMILY-CHIP-DEVICE.dtb}}'' device-tree binary.<br />
<br />
= Tips, Tricks, Caveats =<br />
<br />
{{Remove|Add MANUFACTURER DEVICE specific tips, tricks, Caveats and nice to have changes here.}}<br />
<br />
== FEL mode ==<br />
<br />
The {{Edit|something}} button triggers [[FEL | FEL mode]].<br />
<br />
== {{Edit|Device specific topic}} ==<br />
<br />
{{Remove|If there are no further device specific topics to add, remove these sections.}}<br />
<br />
== {{Edit|...}} ==<br />
<br />
= Adding a serial port ('''voids warranty''') =<br />
<br />
[[File:device_uart.jpg|thumb|240px|{{Remove|DEVICE}} UART pads]]<br />
<br />
{{Remove|This section explains how to attach a serial port to the device. Make sure it refers to our [[UART|UART howto]]. For a development board, you can just mention how to find the header with the pins and include a picture, and you can remove the warranty voiding warning.}}<br />
<br />
== Device disassembly ==<br />
# Unscrew the two screws at the top of the device (the side with all the ports and buttons)<br />
# Use a [[Plastic tool]] to unclip the back cover<br />
<br />
== Locating the UART ==<br />
<br />
{{Remove|Describe how to find the RX,TX,GND signals here, and mention the [[UART|UART howto]].}}<br />
<br />
= Pictures =<br />
<br />
{{Remove|Take some pictures of your device, [[Special:Upload | upload them]], and add them here. DO NOT UPLOAD PICTURES WHICH YOU PLUCKED OFF THE INTERNET.}}<br />
<br />
<gallery><br />
File:Navon_iQ7_2018_front.jpg<br />
File:Navon_iQ7_2018_back.jpg<br />
File:Navon_iQ7_2018_top.jpg<br />
File:Navon_iQ7_2018_back_removed.jpg<br />
File:Device_board_front.jpg<br />
File:Device_board_back.jpg<br />
</gallery><br />
<br />
= Also known as =<br />
<br />
{{Remove|List rebadged devices here.}}<br />
<br />
= See also =<br />
<br />
{{Remove|Add some nice to have links here. This includes related devices, and external links.}}<br />
<br />
== Manufacturer images ==<br />
<br />
{{Remove|Optional. Add non-sunxi images in this section.}}<br />
<br />
[[Category:Devices]]<br />
[[Category:A64 Tablets]]</div>
StandaSK
https://linux-sunxi.org/index.php?title=File:Navon_iQ7_2018_back_removed.jpg&diff=23821
File:Navon iQ7 2018 back removed.jpg
2020-12-10T19:49:23Z
<p>StandaSK: The Navon iQ7 2018 tablet with its back cover removed. The inside of the back cover actually lists some useful information.</p>
<hr />
<div>The Navon iQ7 2018 tablet with its back cover removed. The inside of the back cover actually lists some useful information.</div>
StandaSK
https://linux-sunxi.org/index.php?title=Navon_iQ7_2018&diff=23820
Navon iQ7 2018
2020-12-10T19:47:49Z
<p>StandaSK: /* Pictures */ Fix typo</p>
<hr />
<div>{{Infobox Board<br />
| image = [[File:Navon_iQ7_2018_front.jpg|250px]]<br />
| manufacturer = [https://smartnavon.eu/ Manufacturer]<br />
| dimensions = width''mm'' x breadth''mm'' x height''mm''<br />
| release_date = 2018?<br />
| website = [http://manufacturer/device Device Product Page]<br />
| soc = [[A64]] @ 1.152Ghz<br />
| dram = 1GiB DDR3 @ {{Edit|xxx}}MHz<br />
| nand = 8GB<br />
| power = microUSB, 2500mAh 3.7V Li-Ion battery<br />
| lcd = 600x1024 (7" ~17∶10)<br />
| touchscreen = 5-finger capacitive ([[Touchscreen#Device|Manufacturer device]])<br />
| video = None<br />
| audio = 3.5mm headphone plug, 3.5mm microphone plug, internal speaker, internal microphone<br />
| network = WiFi 802.11 b/g/n ([[Wifi#Manufacturer|Manufacturer device]])<br />
| storage = µSD<br />
| usb = X USB2.0 Host, X USB2.0 OTG<br />
| camera = 0.3MP (????x????) front, 2MP (????x????) rear<br />
| other = Accelerometer ([[Accelerometer#Device|Manufacturer device]]), GPS, IRDA<br />
| headers = UART, JTAG, LCD, ...<br />
}}<br />
<br />
{{Remove_only_when_finished|This page needs to be properly filled according to the [[New_Device_howto |New Device Howto]] and the [[New_Device_page|New Device Page guide]].}}<br />
<br />
{{Remove|If a device is special, then feel free to provide a terse description of what makes this device so special. But terse, no novels, no marketing blurb.}}<br />
<br />
= Identification =<br />
{{Remove|This section explains how to most easily identify your device. For a development board, explain the name(s) printed on the board. For an android device, find out the strings as reported under settings.}}<br />
<br />
On the back of the device, the following is printed:<br />
<pre>Navon<br />
iQ7 2018</pre><br />
<br />
The PCB has the following silkscreened on it:<br />
<pre>LIA-BB-V6.66<br />
1970-01-01</pre><br />
<br />
In android, under Settings->About Tablet, you will find:<br />
* Model Number: ''iQ7_2018''<br />
* Build Number: ''Navon_V1.0_20180114''<br />
<br />
= Sunxi support =<br />
<br />
== Current status ==<br />
<br />
{{Remove|Give a brief overview of the current status of support under sunxi here.}}<br />
<br />
== Images ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE specific sunxi ROM images here. E.g. a livesuit image or some other linux image which uses linux-sunxi code. Do not put non-sunxi images here, they should live under [[#See_also|See also]]. If no sunxi based images are available, this section can be removed.}}<br />
<br />
== HW-Pack ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE sunxi HW-pack specifics here. When empty, this section can be removed.}}<br />
<br />
== BSP ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE sunxi BSP specifics here. When empty, this section can be removed.}}<br />
<br />
== Manual build ==<br />
<br />
You can build things for yourself by following our [[Manual_build_howto | Manual build howto]] and by choosing from the configurations available below.<br />
<br />
=== U-Boot ===<br />
<br />
==== Sunxi/Legacy U-Boot ====<br />
<br />
Use the ''{{Edit|MANUFACTURER_DEVICE}}'' build target.<br />
<br />
==== Mainline U-Boot ====<br />
<br />
Use the ''{{Edit|MANUFACTURER_DEVICE}}'' build target.<br />
<br />
=== Linux Kernel ===<br />
<br />
==== Sunxi/Legacy Kernel ====<br />
<br />
Use the [https://github.com/linux-sunxi/sunxi-boards/blob/master/sys_config/SOC/MANUFACTURER_DEVICE.fex ''{{Edit|MANUFACTURER_DEVICE.fex}}''] file.<br />
<br />
==== Mainline kernel ====<br />
<br />
Use the ''{{Edit|FAMILY-CHIP-DEVICE.dtb}}'' device-tree binary.<br />
<br />
= Tips, Tricks, Caveats =<br />
<br />
{{Remove|Add MANUFACTURER DEVICE specific tips, tricks, Caveats and nice to have changes here.}}<br />
<br />
== FEL mode ==<br />
<br />
The {{Edit|something}} button triggers [[FEL | FEL mode]].<br />
<br />
== {{Edit|Device specific topic}} ==<br />
<br />
{{Remove|If there are no further device specific topics to add, remove these sections.}}<br />
<br />
== {{Edit|...}} ==<br />
<br />
= Adding a serial port ('''voids warranty''') =<br />
<br />
[[File:device_uart.jpg|thumb|240px|{{Remove|DEVICE}} UART pads]]<br />
<br />
{{Remove|This section explains how to attach a serial port to the device. Make sure it refers to our [[UART|UART howto]]. For a development board, you can just mention how to find the header with the pins and include a picture, and you can remove the warranty voiding warning.}}<br />
<br />
== Device disassembly ==<br />
# Unscrew the two screws at the top of the device (the side with all the ports and buttons)<br />
# Use a [[Plastic tool]] to unclip the back cover<br />
<br />
== Locating the UART ==<br />
<br />
{{Remove|Describe how to find the RX,TX,GND signals here, and mention the [[UART|UART howto]].}}<br />
<br />
= Pictures =<br />
<br />
{{Remove|Take some pictures of your device, [[Special:Upload | upload them]], and add them here. DO NOT UPLOAD PICTURES WHICH YOU PLUCKED OFF THE INTERNET.}}<br />
<br />
<gallery><br />
File:Navon_iQ7_2018_front.jpg<br />
File:Navon_iQ7_2018_back.jpg<br />
File:Navon_iQ7_2018_top.jpg<br />
File:Device_board_front.jpg<br />
File:Device_board_back.jpg<br />
</gallery><br />
<br />
= Also known as =<br />
<br />
{{Remove|List rebadged devices here.}}<br />
<br />
= See also =<br />
<br />
{{Remove|Add some nice to have links here. This includes related devices, and external links.}}<br />
<br />
== Manufacturer images ==<br />
<br />
{{Remove|Optional. Add non-sunxi images in this section.}}<br />
<br />
[[Category:Devices]]<br />
[[Category:A64 Tablets]]</div>
StandaSK
https://linux-sunxi.org/index.php?title=Navon_iQ7_2018&diff=23819
Navon iQ7 2018
2020-12-10T19:47:28Z
<p>StandaSK: Add some photos</p>
<hr />
<div>{{Infobox Board<br />
| image = [[File:Navon_iQ7_2018_front.jpg|250px]]<br />
| manufacturer = [https://smartnavon.eu/ Manufacturer]<br />
| dimensions = width''mm'' x breadth''mm'' x height''mm''<br />
| release_date = 2018?<br />
| website = [http://manufacturer/device Device Product Page]<br />
| soc = [[A64]] @ 1.152Ghz<br />
| dram = 1GiB DDR3 @ {{Edit|xxx}}MHz<br />
| nand = 8GB<br />
| power = microUSB, 2500mAh 3.7V Li-Ion battery<br />
| lcd = 600x1024 (7" ~17∶10)<br />
| touchscreen = 5-finger capacitive ([[Touchscreen#Device|Manufacturer device]])<br />
| video = None<br />
| audio = 3.5mm headphone plug, 3.5mm microphone plug, internal speaker, internal microphone<br />
| network = WiFi 802.11 b/g/n ([[Wifi#Manufacturer|Manufacturer device]])<br />
| storage = µSD<br />
| usb = X USB2.0 Host, X USB2.0 OTG<br />
| camera = 0.3MP (????x????) front, 2MP (????x????) rear<br />
| other = Accelerometer ([[Accelerometer#Device|Manufacturer device]]), GPS, IRDA<br />
| headers = UART, JTAG, LCD, ...<br />
}}<br />
<br />
{{Remove_only_when_finished|This page needs to be properly filled according to the [[New_Device_howto |New Device Howto]] and the [[New_Device_page|New Device Page guide]].}}<br />
<br />
{{Remove|If a device is special, then feel free to provide a terse description of what makes this device so special. But terse, no novels, no marketing blurb.}}<br />
<br />
= Identification =<br />
{{Remove|This section explains how to most easily identify your device. For a development board, explain the name(s) printed on the board. For an android device, find out the strings as reported under settings.}}<br />
<br />
On the back of the device, the following is printed:<br />
<pre>Navon<br />
iQ7 2018</pre><br />
<br />
The PCB has the following silkscreened on it:<br />
<pre>LIA-BB-V6.66<br />
1970-01-01</pre><br />
<br />
In android, under Settings->About Tablet, you will find:<br />
* Model Number: ''iQ7_2018''<br />
* Build Number: ''Navon_V1.0_20180114''<br />
<br />
= Sunxi support =<br />
<br />
== Current status ==<br />
<br />
{{Remove|Give a brief overview of the current status of support under sunxi here.}}<br />
<br />
== Images ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE specific sunxi ROM images here. E.g. a livesuit image or some other linux image which uses linux-sunxi code. Do not put non-sunxi images here, they should live under [[#See_also|See also]]. If no sunxi based images are available, this section can be removed.}}<br />
<br />
== HW-Pack ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE sunxi HW-pack specifics here. When empty, this section can be removed.}}<br />
<br />
== BSP ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE sunxi BSP specifics here. When empty, this section can be removed.}}<br />
<br />
== Manual build ==<br />
<br />
You can build things for yourself by following our [[Manual_build_howto | Manual build howto]] and by choosing from the configurations available below.<br />
<br />
=== U-Boot ===<br />
<br />
==== Sunxi/Legacy U-Boot ====<br />
<br />
Use the ''{{Edit|MANUFACTURER_DEVICE}}'' build target.<br />
<br />
==== Mainline U-Boot ====<br />
<br />
Use the ''{{Edit|MANUFACTURER_DEVICE}}'' build target.<br />
<br />
=== Linux Kernel ===<br />
<br />
==== Sunxi/Legacy Kernel ====<br />
<br />
Use the [https://github.com/linux-sunxi/sunxi-boards/blob/master/sys_config/SOC/MANUFACTURER_DEVICE.fex ''{{Edit|MANUFACTURER_DEVICE.fex}}''] file.<br />
<br />
==== Mainline kernel ====<br />
<br />
Use the ''{{Edit|FAMILY-CHIP-DEVICE.dtb}}'' device-tree binary.<br />
<br />
= Tips, Tricks, Caveats =<br />
<br />
{{Remove|Add MANUFACTURER DEVICE specific tips, tricks, Caveats and nice to have changes here.}}<br />
<br />
== FEL mode ==<br />
<br />
The {{Edit|something}} button triggers [[FEL | FEL mode]].<br />
<br />
== {{Edit|Device specific topic}} ==<br />
<br />
{{Remove|If there are no further device specific topics to add, remove these sections.}}<br />
<br />
== {{Edit|...}} ==<br />
<br />
= Adding a serial port ('''voids warranty''') =<br />
<br />
[[File:device_uart.jpg|thumb|240px|{{Remove|DEVICE}} UART pads]]<br />
<br />
{{Remove|This section explains how to attach a serial port to the device. Make sure it refers to our [[UART|UART howto]]. For a development board, you can just mention how to find the header with the pins and include a picture, and you can remove the warranty voiding warning.}}<br />
<br />
== Device disassembly ==<br />
# Unscrew the two screws at the top of the device (the side with all the ports and buttons)<br />
# Use a [[Plastic tool]] to unclip the back cover<br />
<br />
== Locating the UART ==<br />
<br />
{{Remove|Describe how to find the RX,TX,GND signals here, and mention the [[UART|UART howto]].}}<br />
<br />
= Pictures =<br />
<br />
{{Remove|Take some pictures of your device, [[Special:Upload | upload them]], and add them here. DO NOT UPLOAD PICTURES WHICH YOU PLUCKED OFF THE INTERNET.}}<br />
<br />
<gallery><br />
File:Navon_iQ7_2018_front.jpg<br />
File:Navon_iQ7_2018_back.jpg<br />
/File:Navon_iQ7_2018_top.jpg<br />
File:Device_board_front.jpg<br />
File:Device_board_back.jpg<br />
</gallery><br />
<br />
= Also known as =<br />
<br />
{{Remove|List rebadged devices here.}}<br />
<br />
= See also =<br />
<br />
{{Remove|Add some nice to have links here. This includes related devices, and external links.}}<br />
<br />
== Manufacturer images ==<br />
<br />
{{Remove|Optional. Add non-sunxi images in this section.}}<br />
<br />
[[Category:Devices]]<br />
[[Category:A64 Tablets]]</div>
StandaSK
https://linux-sunxi.org/index.php?title=File:Navon_iQ7_2018_top.jpg&diff=23818
File:Navon iQ7 2018 top.jpg
2020-12-10T19:47:03Z
<p>StandaSK: Top of the Navon iQ7 2018 tablet. It includes the volume up and down buttons, a microUSB port, 3.5mm audio jack, the power button and the microphone. Here you will also find the two screws needed to disassamble the device.</p>
<hr />
<div>Top of the Navon iQ7 2018 tablet. It includes the volume up and down buttons, a microUSB port, 3.5mm audio jack, the power button and the microphone. Here you will also find the two screws needed to disassamble the device.</div>
StandaSK
https://linux-sunxi.org/index.php?title=File:Navon_iQ7_2018_back.jpg&diff=23817
File:Navon iQ7 2018 back.jpg
2020-12-10T19:43:39Z
<p>StandaSK: </p>
<hr />
<div></div>
StandaSK
https://linux-sunxi.org/index.php?title=File:Navon_iQ7_2018_front.jpg&diff=23816
File:Navon iQ7 2018 front.jpg
2020-12-10T19:42:42Z
<p>StandaSK: </p>
<hr />
<div></div>
StandaSK
https://linux-sunxi.org/index.php?title=Navon_iQ7_2018&diff=23815
Navon iQ7 2018
2020-12-10T19:41:35Z
<p>StandaSK: Battery is 3.7V Li-Ion</p>
<hr />
<div>{{Infobox Board<br />
| image = [[File:Device_front.jpg|250px]]<br />
| manufacturer = [https://smartnavon.eu/ Manufacturer]<br />
| dimensions = width''mm'' x breadth''mm'' x height''mm''<br />
| release_date = 2018?<br />
| website = [http://manufacturer/device Device Product Page]<br />
| soc = [[A64]] @ 1.152Ghz<br />
| dram = 1GiB DDR3 @ {{Edit|xxx}}MHz<br />
| nand = 8GB<br />
| power = microUSB, 2500mAh 3.7V Li-Ion battery<br />
| lcd = 600x1024 (7" ~17∶10)<br />
| touchscreen = 5-finger capacitive ([[Touchscreen#Device|Manufacturer device]])<br />
| video = None<br />
| audio = 3.5mm headphone plug, 3.5mm microphone plug, internal speaker, internal microphone<br />
| network = WiFi 802.11 b/g/n ([[Wifi#Manufacturer|Manufacturer device]])<br />
| storage = µSD<br />
| usb = X USB2.0 Host, X USB2.0 OTG<br />
| camera = 0.3MP (????x????) front, 2MP (????x????) rear<br />
| other = Accelerometer ([[Accelerometer#Device|Manufacturer device]]), GPS, IRDA<br />
| headers = UART, JTAG, LCD, ...<br />
}}<br />
<br />
{{Remove_only_when_finished|This page needs to be properly filled according to the [[New_Device_howto |New Device Howto]] and the [[New_Device_page|New Device Page guide]].}}<br />
<br />
{{Remove|If a device is special, then feel free to provide a terse description of what makes this device so special. But terse, no novels, no marketing blurb.}}<br />
<br />
= Identification =<br />
{{Remove|This section explains how to most easily identify your device. For a development board, explain the name(s) printed on the board. For an android device, find out the strings as reported under settings.}}<br />
<br />
On the back of the device, the following is printed:<br />
<pre>Navon<br />
iQ7 2018</pre><br />
<br />
The PCB has the following silkscreened on it:<br />
<pre>LIA-BB-V6.66<br />
1970-01-01</pre><br />
<br />
In android, under Settings->About Tablet, you will find:<br />
* Model Number: ''iQ7_2018''<br />
* Build Number: ''Navon_V1.0_20180114''<br />
<br />
= Sunxi support =<br />
<br />
== Current status ==<br />
<br />
{{Remove|Give a brief overview of the current status of support under sunxi here.}}<br />
<br />
== Images ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE specific sunxi ROM images here. E.g. a livesuit image or some other linux image which uses linux-sunxi code. Do not put non-sunxi images here, they should live under [[#See_also|See also]]. If no sunxi based images are available, this section can be removed.}}<br />
<br />
== HW-Pack ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE sunxi HW-pack specifics here. When empty, this section can be removed.}}<br />
<br />
== BSP ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE sunxi BSP specifics here. When empty, this section can be removed.}}<br />
<br />
== Manual build ==<br />
<br />
You can build things for yourself by following our [[Manual_build_howto | Manual build howto]] and by choosing from the configurations available below.<br />
<br />
=== U-Boot ===<br />
<br />
==== Sunxi/Legacy U-Boot ====<br />
<br />
Use the ''{{Edit|MANUFACTURER_DEVICE}}'' build target.<br />
<br />
==== Mainline U-Boot ====<br />
<br />
Use the ''{{Edit|MANUFACTURER_DEVICE}}'' build target.<br />
<br />
=== Linux Kernel ===<br />
<br />
==== Sunxi/Legacy Kernel ====<br />
<br />
Use the [https://github.com/linux-sunxi/sunxi-boards/blob/master/sys_config/SOC/MANUFACTURER_DEVICE.fex ''{{Edit|MANUFACTURER_DEVICE.fex}}''] file.<br />
<br />
==== Mainline kernel ====<br />
<br />
Use the ''{{Edit|FAMILY-CHIP-DEVICE.dtb}}'' device-tree binary.<br />
<br />
= Tips, Tricks, Caveats =<br />
<br />
{{Remove|Add MANUFACTURER DEVICE specific tips, tricks, Caveats and nice to have changes here.}}<br />
<br />
== FEL mode ==<br />
<br />
The {{Edit|something}} button triggers [[FEL | FEL mode]].<br />
<br />
== {{Edit|Device specific topic}} ==<br />
<br />
{{Remove|If there are no further device specific topics to add, remove these sections.}}<br />
<br />
== {{Edit|...}} ==<br />
<br />
= Adding a serial port ('''voids warranty''') =<br />
<br />
[[File:device_uart.jpg|thumb|240px|{{Remove|DEVICE}} UART pads]]<br />
<br />
{{Remove|This section explains how to attach a serial port to the device. Make sure it refers to our [[UART|UART howto]]. For a development board, you can just mention how to find the header with the pins and include a picture, and you can remove the warranty voiding warning.}}<br />
<br />
== Device disassembly ==<br />
# Unscrew the two screws at the top of the device (the side with all the ports and buttons)<br />
# Use a [[Plastic tool]] to unclip the back cover<br />
<br />
== Locating the UART ==<br />
<br />
{{Remove|Describe how to find the RX,TX,GND signals here, and mention the [[UART|UART howto]].}}<br />
<br />
= Pictures =<br />
<br />
{{Remove|Take some pictures of your device, [[Special:Upload | upload them]], and add them here. DO NOT UPLOAD PICTURES WHICH YOU PLUCKED OFF THE INTERNET.}}<br />
<br />
<gallery><br />
File:Device_front.jpg<br />
File:Device_back.jpg<br />
File:Device_buttons_1.jpg<br />
File:Device_buttons_2.jpg<br />
File:Device_board_front.jpg<br />
File:Device_board_back.jpg<br />
</gallery><br />
<br />
= Also known as =<br />
<br />
{{Remove|List rebadged devices here.}}<br />
<br />
= See also =<br />
<br />
{{Remove|Add some nice to have links here. This includes related devices, and external links.}}<br />
<br />
== Manufacturer images ==<br />
<br />
{{Remove|Optional. Add non-sunxi images in this section.}}<br />
<br />
[[Category:Devices]]<br />
[[Category:A64 Tablets]]</div>
StandaSK
https://linux-sunxi.org/index.php?title=Navon_iQ7_2018&diff=23814
Navon iQ7 2018
2020-12-10T19:30:17Z
<p>StandaSK: /* Device disassembly */</p>
<hr />
<div>{{Infobox Board<br />
| image = [[File:Device_front.jpg|250px]]<br />
| manufacturer = [https://smartnavon.eu/ Manufacturer]<br />
| dimensions = width''mm'' x breadth''mm'' x height''mm''<br />
| release_date = 2018?<br />
| website = [http://manufacturer/device Device Product Page]<br />
| soc = [[A64]] @ 1.152Ghz<br />
| dram = 1GiB DDR3 @ {{Edit|xxx}}MHz<br />
| nand = 8GB<br />
| power = microUSB, 2500mAh {{Edit|xxx}}V LiFe battery<br />
| lcd = 600x1024 (7" ~17∶10)<br />
| touchscreen = 5-finger capacitive ([[Touchscreen#Device|Manufacturer device]])<br />
| video = None<br />
| audio = 3.5mm headphone plug, 3.5mm microphone plug, internal speaker, internal microphone<br />
| network = WiFi 802.11 b/g/n ([[Wifi#Manufacturer|Manufacturer device]])<br />
| storage = µSD<br />
| usb = X USB2.0 Host, X USB2.0 OTG<br />
| camera = 0.3MP (????x????) front, 2MP (????x????) rear<br />
| other = Accelerometer ([[Accelerometer#Device|Manufacturer device]]), GPS, IRDA<br />
| headers = UART, JTAG, LCD, ...<br />
}}<br />
<br />
{{Remove_only_when_finished|This page needs to be properly filled according to the [[New_Device_howto |New Device Howto]] and the [[New_Device_page|New Device Page guide]].}}<br />
<br />
{{Remove|If a device is special, then feel free to provide a terse description of what makes this device so special. But terse, no novels, no marketing blurb.}}<br />
<br />
= Identification =<br />
{{Remove|This section explains how to most easily identify your device. For a development board, explain the name(s) printed on the board. For an android device, find out the strings as reported under settings.}}<br />
<br />
On the back of the device, the following is printed:<br />
<pre>Navon<br />
iQ7 2018</pre><br />
<br />
The PCB has the following silkscreened on it:<br />
<pre>LIA-BB-V6.66<br />
1970-01-01</pre><br />
<br />
In android, under Settings->About Tablet, you will find:<br />
* Model Number: ''iQ7_2018''<br />
* Build Number: ''Navon_V1.0_20180114''<br />
<br />
= Sunxi support =<br />
<br />
== Current status ==<br />
<br />
{{Remove|Give a brief overview of the current status of support under sunxi here.}}<br />
<br />
== Images ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE specific sunxi ROM images here. E.g. a livesuit image or some other linux image which uses linux-sunxi code. Do not put non-sunxi images here, they should live under [[#See_also|See also]]. If no sunxi based images are available, this section can be removed.}}<br />
<br />
== HW-Pack ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE sunxi HW-pack specifics here. When empty, this section can be removed.}}<br />
<br />
== BSP ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE sunxi BSP specifics here. When empty, this section can be removed.}}<br />
<br />
== Manual build ==<br />
<br />
You can build things for yourself by following our [[Manual_build_howto | Manual build howto]] and by choosing from the configurations available below.<br />
<br />
=== U-Boot ===<br />
<br />
==== Sunxi/Legacy U-Boot ====<br />
<br />
Use the ''{{Edit|MANUFACTURER_DEVICE}}'' build target.<br />
<br />
==== Mainline U-Boot ====<br />
<br />
Use the ''{{Edit|MANUFACTURER_DEVICE}}'' build target.<br />
<br />
=== Linux Kernel ===<br />
<br />
==== Sunxi/Legacy Kernel ====<br />
<br />
Use the [https://github.com/linux-sunxi/sunxi-boards/blob/master/sys_config/SOC/MANUFACTURER_DEVICE.fex ''{{Edit|MANUFACTURER_DEVICE.fex}}''] file.<br />
<br />
==== Mainline kernel ====<br />
<br />
Use the ''{{Edit|FAMILY-CHIP-DEVICE.dtb}}'' device-tree binary.<br />
<br />
= Tips, Tricks, Caveats =<br />
<br />
{{Remove|Add MANUFACTURER DEVICE specific tips, tricks, Caveats and nice to have changes here.}}<br />
<br />
== FEL mode ==<br />
<br />
The {{Edit|something}} button triggers [[FEL | FEL mode]].<br />
<br />
== {{Edit|Device specific topic}} ==<br />
<br />
{{Remove|If there are no further device specific topics to add, remove these sections.}}<br />
<br />
== {{Edit|...}} ==<br />
<br />
= Adding a serial port ('''voids warranty''') =<br />
<br />
[[File:device_uart.jpg|thumb|240px|{{Remove|DEVICE}} UART pads]]<br />
<br />
{{Remove|This section explains how to attach a serial port to the device. Make sure it refers to our [[UART|UART howto]]. For a development board, you can just mention how to find the header with the pins and include a picture, and you can remove the warranty voiding warning.}}<br />
<br />
== Device disassembly ==<br />
# Unscrew the two screws at the top of the device (the side with all the ports and buttons)<br />
# Use a [[Plastic tool]] to unclip the back cover<br />
<br />
== Locating the UART ==<br />
<br />
{{Remove|Describe how to find the RX,TX,GND signals here, and mention the [[UART|UART howto]].}}<br />
<br />
= Pictures =<br />
<br />
{{Remove|Take some pictures of your device, [[Special:Upload | upload them]], and add them here. DO NOT UPLOAD PICTURES WHICH YOU PLUCKED OFF THE INTERNET.}}<br />
<br />
<gallery><br />
File:Device_front.jpg<br />
File:Device_back.jpg<br />
File:Device_buttons_1.jpg<br />
File:Device_buttons_2.jpg<br />
File:Device_board_front.jpg<br />
File:Device_board_back.jpg<br />
</gallery><br />
<br />
= Also known as =<br />
<br />
{{Remove|List rebadged devices here.}}<br />
<br />
= See also =<br />
<br />
{{Remove|Add some nice to have links here. This includes related devices, and external links.}}<br />
<br />
== Manufacturer images ==<br />
<br />
{{Remove|Optional. Add non-sunxi images in this section.}}<br />
<br />
[[Category:Devices]]<br />
[[Category:A64 Tablets]]</div>
StandaSK
https://linux-sunxi.org/index.php?title=Navon_iQ7_2018&diff=23813
Navon iQ7 2018
2020-12-10T19:18:40Z
<p>StandaSK: Initial page</p>
<hr />
<div>{{Infobox Board<br />
| image = [[File:Device_front.jpg|250px]]<br />
| manufacturer = [https://smartnavon.eu/ Manufacturer]<br />
| dimensions = width''mm'' x breadth''mm'' x height''mm''<br />
| release_date = 2018?<br />
| website = [http://manufacturer/device Device Product Page]<br />
| soc = [[A64]] @ 1.152Ghz<br />
| dram = 1GiB DDR3 @ {{Edit|xxx}}MHz<br />
| nand = 8GB<br />
| power = microUSB, 2500mAh {{Edit|xxx}}V LiFe battery<br />
| lcd = 600x1024 (7" ~17∶10)<br />
| touchscreen = 5-finger capacitive ([[Touchscreen#Device|Manufacturer device]])<br />
| video = None<br />
| audio = 3.5mm headphone plug, 3.5mm microphone plug, internal speaker, internal microphone<br />
| network = WiFi 802.11 b/g/n ([[Wifi#Manufacturer|Manufacturer device]])<br />
| storage = µSD<br />
| usb = X USB2.0 Host, X USB2.0 OTG<br />
| camera = 0.3MP (????x????) front, 2MP (????x????) rear<br />
| other = Accelerometer ([[Accelerometer#Device|Manufacturer device]]), GPS, IRDA<br />
| headers = UART, JTAG, LCD, ...<br />
}}<br />
<br />
{{Remove_only_when_finished|This page needs to be properly filled according to the [[New_Device_howto |New Device Howto]] and the [[New_Device_page|New Device Page guide]].}}<br />
<br />
{{Remove|If a device is special, then feel free to provide a terse description of what makes this device so special. But terse, no novels, no marketing blurb.}}<br />
<br />
= Identification =<br />
{{Remove|This section explains how to most easily identify your device. For a development board, explain the name(s) printed on the board. For an android device, find out the strings as reported under settings.}}<br />
<br />
On the back of the device, the following is printed:<br />
<pre>Navon<br />
iQ7 2018</pre><br />
<br />
The PCB has the following silkscreened on it:<br />
<pre>LIA-BB-V6.66<br />
1970-01-01</pre><br />
<br />
In android, under Settings->About Tablet, you will find:<br />
* Model Number: ''iQ7_2018''<br />
* Build Number: ''Navon_V1.0_20180114''<br />
<br />
= Sunxi support =<br />
<br />
== Current status ==<br />
<br />
{{Remove|Give a brief overview of the current status of support under sunxi here.}}<br />
<br />
== Images ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE specific sunxi ROM images here. E.g. a livesuit image or some other linux image which uses linux-sunxi code. Do not put non-sunxi images here, they should live under [[#See_also|See also]]. If no sunxi based images are available, this section can be removed.}}<br />
<br />
== HW-Pack ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE sunxi HW-pack specifics here. When empty, this section can be removed.}}<br />
<br />
== BSP ==<br />
<br />
{{Remove|Optional. Add MANUFACTURER DEVICE sunxi BSP specifics here. When empty, this section can be removed.}}<br />
<br />
== Manual build ==<br />
<br />
You can build things for yourself by following our [[Manual_build_howto | Manual build howto]] and by choosing from the configurations available below.<br />
<br />
=== U-Boot ===<br />
<br />
==== Sunxi/Legacy U-Boot ====<br />
<br />
Use the ''{{Edit|MANUFACTURER_DEVICE}}'' build target.<br />
<br />
==== Mainline U-Boot ====<br />
<br />
Use the ''{{Edit|MANUFACTURER_DEVICE}}'' build target.<br />
<br />
=== Linux Kernel ===<br />
<br />
==== Sunxi/Legacy Kernel ====<br />
<br />
Use the [https://github.com/linux-sunxi/sunxi-boards/blob/master/sys_config/SOC/MANUFACTURER_DEVICE.fex ''{{Edit|MANUFACTURER_DEVICE.fex}}''] file.<br />
<br />
==== Mainline kernel ====<br />
<br />
Use the ''{{Edit|FAMILY-CHIP-DEVICE.dtb}}'' device-tree binary.<br />
<br />
= Tips, Tricks, Caveats =<br />
<br />
{{Remove|Add MANUFACTURER DEVICE specific tips, tricks, Caveats and nice to have changes here.}}<br />
<br />
== FEL mode ==<br />
<br />
The {{Edit|something}} button triggers [[FEL | FEL mode]].<br />
<br />
== {{Edit|Device specific topic}} ==<br />
<br />
{{Remove|If there are no further device specific topics to add, remove these sections.}}<br />
<br />
== {{Edit|...}} ==<br />
<br />
= Adding a serial port ('''voids warranty''') =<br />
<br />
[[File:device_uart.jpg|thumb|240px|{{Remove|DEVICE}} UART pads]]<br />
<br />
{{Remove|This section explains how to attach a serial port to the device. Make sure it refers to our [[UART|UART howto]]. For a development board, you can just mention how to find the header with the pins and include a picture, and you can remove the warranty voiding warning.}}<br />
<br />
== Device disassembly ==<br />
<br />
{{Remove|If necessary, provide a short description of how to open the device. Perhaps explain how the pins can be most easily popped. If pins do need to be popped, mention the [[Plastic_tool|Plastic tool howto]].}}<br />
<br />
== Locating the UART ==<br />
<br />
{{Remove|Describe how to find the RX,TX,GND signals here, and mention the [[UART|UART howto]].}}<br />
<br />
= Pictures =<br />
<br />
{{Remove|Take some pictures of your device, [[Special:Upload | upload them]], and add them here. DO NOT UPLOAD PICTURES WHICH YOU PLUCKED OFF THE INTERNET.}}<br />
<br />
<gallery><br />
File:Device_front.jpg<br />
File:Device_back.jpg<br />
File:Device_buttons_1.jpg<br />
File:Device_buttons_2.jpg<br />
File:Device_board_front.jpg<br />
File:Device_board_back.jpg<br />
</gallery><br />
<br />
= Also known as =<br />
<br />
{{Remove|List rebadged devices here.}}<br />
<br />
= See also =<br />
<br />
{{Remove|Add some nice to have links here. This includes related devices, and external links.}}<br />
<br />
== Manufacturer images ==<br />
<br />
{{Remove|Optional. Add non-sunxi images in this section.}}<br />
<br />
[[Category:Devices]]<br />
[[Category:A64 Tablets]]</div>
StandaSK
https://linux-sunxi.org/index.php?title=Mali&diff=23625
Mali
2020-11-03T13:36:06Z
<p>StandaSK: Fix typo</p>
<hr />
<div>The '''Mali''' series is a GPU (Graphics Processor Unit) from ARM Ltd. (ARM Holdings plc), designed for embedded systems.<ref>http://www.cnx-software.com/2013/01/19/gpus-comparison-arm-mali-vs-vivante-gcxxx-vs-powervr-sgx-vs-nvidia-geforce-ulp/ GPUs Comparison: ARM Mali vs Vivante GCxxx vs PowerVR SGX vs Nvidia Geforce ULP</ref><ref>http://blog.thinkteletronics.com/all-mobile-socsolutions/ All Mobile Soc/Solutions.</ref><br />
<br />
=Overview= <br />
[[File:Mali-400-screenshot.png|thumbnail|300px|es2gears running on Mali-400]]<br />
[[File:XBMC_running_on_Mali-400.jpeg|thumbnail|300px|XBMC running on Mali-400]]<br />
<br />
The '''Mali''' series of Graphics Processing Units (GPUs) are semiconductor intellectual property cores produced by ARM Holdings for licensing in various ASIC (Application-specific integrated circuit) designs by ARM partners. The core is mainly developed by ARM Norway, at the former ''Falanx'' company site.<br />
<br />
Like other embedded IP cores for 3D support, the Mali GPU does not feature display controllers driving monitors (such as the combination often found in common video cards). Instead it is a pure 3D engine that renders graphics into memory and hands the rendered image over to another core that handles the display.<br />
<br />
ARM supplies tools to help in authoring OpenGL ES shaders named ''Mali GPU Shader Development Studio'' and ''Mali GPU User Interface Engine''.<br />
<br />
All Mali4XX GPU Variants conform to OpenGL ES 1.1 & 2.0 as well as OpenVG 1.1.<br><br />
All Mali-TXXX GPU Variants conform to OpenGL ES up to 3.1 as well as OpenVG 1.1.<br><br />
All Mali-GXX GPU Variants conform to OpenGL ES up to 3.2 as well as OpenVG 1.1 and Vulkan 1.2 (no free Vulkan driver yet).<br />
<br />
==Variants:==<br />
There are several generations of which two are currently used by Allwinner.<br />
<br />
===Utgard===<br />
{| class="wikitable"<br />
|-<br />
! Name !! GP (Geometry Processor) <br> / vertex shader !! PP (Pixel Processor) <br> / fragment shader !! CPU Level 2 cache size !! Allwinner implementations<br />
|-<br />
| Mali-400 MP<br />
| 1<br />
| 1<br />
| 256 KiB<br />
| [[A10]] (sun4i), [[A10s]] (sun5i), and [[A13]] (sun5i)<br />
|-<br />
| Mali-400 MP2<br />
| 1<br />
| 2<br />
| 256/512 KiB<br />
| [[A20]] (sun7i), [[A23]] (sun8i), [[A33]], [[H3]], [[R40]] (sun8i), [[A64]] (sun50i)<br />
|-<br />
| Mali-450 MP4<br />
| 1<br />
| 4<br />
| 512 KiB<br />
| [[H5]] (sun50i)<br />
|-<br />
|}<br />
<br />
===Midgard===<br />
{| class="wikitable"<br />
|-<br />
! Name !! unified shader cores !! CPU Level 2 cache size !! Allwinner implementations<br />
|-<br />
| Mali-T720 MP2<br />
| 2<br />
| 512 KiB<br />
| [[H6]] (sun50i)<br />
|-<br />
| Mali-T760 MP2<br />
| 2<br />
| 512 KiB<br />
| [[A63]] (sun50i)<br />
|}<br />
<br />
===Bifrost===<br />
{| class="wikitable"<br />
|-<br />
! Name !! unified shader cores !! CPU Level 2 cache size !! Allwinner implementations<br />
|-<br />
| Mali-G31 MP2<br />
| 2<br />
| ??? KiB<br />
| [[H616]], [[H313]] (sun50i)<br />
|-<br />
|}<br />
<br />
More information can be found on the [https://developer.arm.com/products/graphics-and-multimedia/mali-gpus ARM website].<br />
<br />
= Driver =<br />
==Utgard (Mali-400 and Mali-450)==<br />
<br />
=== Lima driver (Open Source) ===<br />
Lima is a project to develop a completely open source graphics driver which supports ARM's Mali-400 and Mali-450 GPUs.<br />
<br />
It consists of two main parts:<br />
* [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/gpu/drm/lima Kernel parts] have been included in mainline kernel since v5.2<br />
* [https://gitlab.freedesktop.org/mesa/mesa Mesa] (userspace) parts have been part of upstream project since April 2019.<br />
<br />
Historical links:<br />
* Pre-merge development of [https://gitlab.freedesktop.org/lima/linux Lima kernel driver]<br />
* Pre-merge development of [https://gitlab.freedesktop.org/lima/mesa mesa-lima userspace driver]<br />
* based on re-engineering efforts from [http://web.archive.org/web/20180106112822/http://limadriver.org/ Archive of http://limadriver.org/]<br />
<br />
=== Binary driver ===<br />
* '''Mainline Linux:''' Maxime Ripard (Bootlin) worked on Mali OpenGL support with mainline Linux, please refer [https://bootlin.com/blog/mali-opengl-support-on-allwinner-platforms-with-mainline-linux/ these instructions]<br />
* '''Legacy Kernel (Outdated):''' For information on the binary driver, please refer to the [[Mali_binary_driver| binary driver installation guide]].<br />
<br />
==Midgard (Mali T6xx, T7xx, T8xx) and Bifrost (G3x, G5x, G6x, G7x)==<br />
===Panfrost driver (Open Source)===<br />
[https://gitlab.freedesktop.org/panfrost/ Panfrost] is a project to develop a completely open source graphics driver which supports ARM's Mali-T6xx, Mali-T7xx, Mali-T800 and Mali-G7x GPUs. This is a '''work in progress and not yet ready''' for general use.<br /><br />
[https://gitlab.freedesktop.org/panfrost/ Panfrost] results from a merge of 2 driver reverse engineering projects: chai - for Midgard GPUs (by Alyssa Rosenzweig) and BiOpenly - for Bifrost GPUs (by Lyude Paul). The merge was done due to identical command streams of the ARM Midgard and Bifrost GPUs (but different shader cores).<br />
<br />
* WIP: [https://gitlab.freedesktop.org/panfrost/ Panfrost git repository]<br />
* Alyssa Rosenzweig's Blog: [https://rosenzweig.io/blog/midgard-shaders-with-the-free-nir-compiler.html NIR shader compiler announce] <br />
<br />
<br />
<br />
The aim of this drivers and others such as freedreno is to finally bring all the advantages of open source software to ARM SoC graphics drivers. Currently, the sole availability of binary drivers is increasing development and maintenance overhead, while also reducing portability, compatibility and limiting choice. Anyone who has dealt with GPU support on ARM, be it for a linux with a GNU stack, or for an android, knows the pain of dealing with these binaries.<br />
<br />
* [http://en.wikipedia.org/wiki/Graphics_hardware_and_FOSS#ARM Graphics hardware and FOSS]<br />
<br />
=See also=<br />
* [[Display|Display driver setup.]]<br />
* [[Mali_binary_driver| Mali binary driver installation]].<br />
<br />
=References=<br />
<references /><br />
<br />
=External Links=<br />
* [http://www.arm.com/products/multimedia/mali-graphics-hardware/mali-400-mp.php Mali-400 MP website]<br />
* [http://www.cnx-software.com/2013/01/19/gpus-comparison-arm-mali-vs-vivante-gcxxx-vs-powervr-sgx-vs-nvidia-geforce-ulp/ GPUs Comparison: ARM Mali vs Vivante GCxxx vs PowerVR SGX vs Nvidia Geforce ULP]<br />
* [http://www.arm.com/products/multimedia/mali-graphics-hardware/ MALI graphics hardware series webpage at ARM Holdings]<br />
* [http://www.malideveloper.com/ Mali developer] a developer site run by ARM<br />
* [http://malideveloper.arm.com/develop-for-mali/drivers/open-source-mali-gpus-linux-exadri2-and-x11-display-drivers/ Open Source Mali GPUs Linux EXA/DRI2 and X11 Display Drivers]<br />
* [http://web.archive.org/web/20180106112822/http://limadriver.org/ Lima driver (Web Archive)]<br />
<br />
<br />
[[Category:Hardware]]</div>
StandaSK