erosqnative: hw4 support

Support hw4 units with AXP2101 PMU

Bootloader successfully compiles and loads onto device.
The LCD appears to be identical to hw3 units.
Scroll wheel and buttons work
Audio output works, including volume.
HP/LO detect works
Rockbox build is generic
GPIO gating logic seems to be working as intended now.

 - Added new GPIO definitions - some significant overlaps with pins
    from previous hardware revisions...
 - Added some GPIO definitions for older players we didn't know about
 - Add register definitions for AXP2101 from datasheet
    (these are very different from AXP192!)
 - Add AXP2101 regulator definitions, need to support multiple step
    sizes per regulator.
 - Verify AXP2101 voltage set multi-range logic
 - Verify AXP2101 voltage get multi-range logic
 - Make AXP2101 its own driver
 - AXP2101 driver should be "minimally viable", though I think
    there is some extra functionality that could be implemented.
 - Disabling the coulomb counter stuff - we could maybe make
   the E-Gauge work for the same purpose, but it only appears to
   be used on the debug screen at the moment so it doesn't seem
   like it's worth the effort.
 - Found new button GPIOs
 - Found error in my GPIO setting logic, blue light works now!
 - Set LDO/DCDC output voltages to OF's settings, as far as
   I can tell.
 - Determined we probably want TCS1421_CFG1:0 to be 0x00,
   for UFP behavior
 - Tested this rb build with both old and new bootloaders on hw1.5,
   hw2, hw4 in as many configurations as I can think of, works across
   the board.
 - Bootloader can install itself on hw4, so nand chip isn't novel
 - Uninstallation file can be made by patcher script, works on hw4
 - Installation file can be made by patcher script, works on hw4
 - Added HW4 to rbutil, manual

Change-Id: I5b75782273e81c2c6f2b9c79501c8b7cbf88391f
This commit is contained in:
Dana Conrad 2024-10-13 21:19:42 +00:00 committed by Solomon Peachy
parent d7b57e33d9
commit 253eb79db3
14 changed files with 1403 additions and 108 deletions

View file

@ -40,8 +40,13 @@ may not be the most up to date, please see the wiki page at
\item Hifiwalker H2 V1.7 - V1.8
\item Surfans F20 V3.0 - V3.3
\end{itemize}
These players use \fname{erosqnative-hw3-erosq.upt} as the update file.
\item[hw4 players]
\begin{itemize}
\item Hifiwalker H2 V1.9
\item Surfans F20 V3.4
\end{itemize}
These players use \fname{erosqnative-hw4-erosq_2024.upt} as the update file.
\end{description}
Download the \fname{.upt} file for these players from \download{bootloader/aigo/native/}.

View file

@ -38,6 +38,21 @@
Throughout this manual, the buttons on the \dap{} are labelled according to the
picture above.
\opt{erosqnative}{
\note{The \dap{} has two outputs: Headphone output on the left and Line output on the right.
Due to the circuitry which does detection, it is recommended to only use headphones plugged
into the Headphone output and devices which take Line input into the Line output. If devices
which take a Line input are plugged into the Headphone output, it is likely that the \dap{}
will not detect the plug and no sound will result.
In the other direction, headphones plugged into the Line output may damage the headphones (and
your ears!) due to the extremely loud volume.
Note that the volume of the Line output is set by the \setting{Volume Limit} if it needs to
be reduced.}
}
\opt{touchscreen}{
The areas of the touchscreen in the 3$\times$3 grid mode are in turn referred as follows:
\begin{table}