Harden Si4684 RSTB config and document power sequencing.

Enable GPIO_PULLDOWN_ENABLE during gpio_config so RSTB cannot glitch high before gpio_set_level(0), and add manual validation notes explaining why the internal pull-down complements the external one.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-07-07 08:34:52 +02:00
co-authored by Cursor
parent de0b120551
commit 2e44a166e1
4 changed files with 178 additions and 1 deletions
+10
View File
@@ -145,6 +145,16 @@ full $\sim$1\,MB of patch + DAB + FM never has to fit in RAM at once. Switching
band (\texttt{Si4684Band::Fm} $\leftrightarrow$ \texttt{Dab}) performs reset and
a complete reload of patch + the other application image.
\begin{drnote}[RSTB before SPI]
The first step in \texttt{Si4684Driver::boot()} is a hardware reset pulse on
RSTB\# (GPIO38). \texttt{gpio\_config} sets \texttt{GPIO\_PULLDOWN\_ENABLE}
while enabling the output driver so RSTB cannot glitch high before
\texttt{gpio\_set\_level(0)}; this complements the board's external pull-down
(Section~\ref{sec:hw-val-si4684}), which holds reset during power-on before the
ESP32 runs. After 5\,ms low the line is released, then SPI and the AN649
command sequence follow.
\end{drnote}
\section{Si4684Driver API}
\label{sec:si4684-driver}