56 lines
3.6 KiB
Markdown
56 lines
3.6 KiB
Markdown
# AXP313A / cpufreq candidate kernel
|
|
|
|
The production application version is intentionally unchanged. This directory describes the
|
|
separately named `6.1.31-matrix-axp313a1` kernel used to repair the WalnutPi ZeroW PMIC binding.
|
|
|
|
Source inputs are fixed to:
|
|
|
|
- WalnutPi Linux branch `6.1.31`, commit `30ff3fd5cf45417622b447a12e7a947402ffe34d`.
|
|
- Upstream MFD commit `75c8cb2f4cb218aaf4ea68cab08d6dbc96eeae15`.
|
|
- Upstream regulator commit `60fd7eb89670d2636ac3156881acbd103c6eba6a`.
|
|
- Upstream identifier fix `4628b804555773daa982d9578d89fe04fcdde374`.
|
|
|
|
The build used the official GitHub archive named
|
|
`walnutpi-linux-6.1.31-30ff3fd5.tar.gz`; its measured SHA-256 is
|
|
`8659bb3d64313c4693c3605374167a8145186e5c9d43eb771a52a7359699302f`.
|
|
The fixed archive is registered at
|
|
`发布更新相关/其他依赖/kernel-source/walnutpi-linux-6.1.31-30ff3fd5/` so the kernel can be
|
|
rebuilt without network access. It is a build input and is never copied into an IMG or OTA.
|
|
|
|
The exact production files accepted by the browser and real HUB75 GPIO tests are registered at
|
|
`发布更新相关/其他依赖/aarch64-kernel/6.1.31-matrix-axp313a1/`. Future IMG exports install this
|
|
precompiled payload and do not rebuild the kernel unless patches, DTS, or kernel configuration
|
|
change.
|
|
|
|
`scripts/build_axp313a_kernel.sh` accepts an already extracted source tree and a copy of the
|
|
running board's `/boot/config-6.1.31`. It never downloads dependencies. The three verbatim
|
|
upstream patches, the WalnutPi 6.1 reconciliation patch, and the board DTS patches are verified
|
|
against `patches/SHA256SUMS` before use. WalnutPi's branch already contains a partial AXP313A
|
|
backport, so the reconciliation patch asserts that baseline and completes the three pinned
|
|
upstream changes using the vendor kernel's older power-off API. The follow-up DTS patch keeps
|
|
the bootloader's DLDO1 VCC-IO rail explicitly always-on at 3.3V; DCDC3 remains at the measured
|
|
bootloader value of 1.10V so the candidate does not raise a non-CPU rail. The final local
|
|
build-only patch replaces a vendor UWE5622 Makefile's output-tree-relative include lookup with
|
|
Kbuild's `$(srctree)` path. It is required only so the unchanged board configuration can be
|
|
built in the isolated `O=` directory; it does not change driver logic. A second mechanical
|
|
build-only patch applies the same `$(srctree)` correction to the five Realtek module directories
|
|
identified in the first config audit. A third patch covers the separately enabled RTL8192EU
|
|
directory. A fourth covers the enabled `CONFIG_88XXAU=m`/RTL8812AU directory found by auditing
|
|
every vendor entry in the wireless parent Makefile, rather than only symbols prefixed `RTL`.
|
|
Its PHYDM include root is fixed in a separate final patch so each discovered build assumption
|
|
remains independently auditable. These patches do not change C source, feature selection, or
|
|
runtime paths. The RTL88x2CS `CONFIG_RTL8822C` branch has one additional `TopDIR` include fixed
|
|
to `$(srctree)` after the full module build reached that otherwise output-tree-relative file.
|
|
|
|
The install path is deliberately separate from the vendor kernel:
|
|
|
|
- `/boot/Image-matrix-axp313a1`
|
|
- `/boot/sun50i-h616-walnutpi-1b-matrix-axp313a1.dtb`
|
|
- `/boot/sun50i-h616-walnutpi-1b-emmc-matrix-axp313a1.dtb`
|
|
- `/lib/modules/6.1.31-matrix-axp313a1`
|
|
|
|
The managed boot script consumes `/boot/matrix-kernel-good` once before each candidate boot.
|
|
Only `matrix-axp313a-health.service` recreates it after the kernel, AXP313A, cpufreq, application,
|
|
and HUB75 checks pass. If the candidate fails and reboots, the absent marker selects the original
|
|
`Image` and original DTB. Original boot files are retained as `.matrix-original` copies.
|