Feat/add tanix tx6s axp313 - #10290
Conversation
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
📝 WalkthroughWalkthroughTanix TX6s H616 support is added across Armbian board configuration, kernel device trees and firmware mappings, U-Boot device trees and defconfigs, and ALSA audio initialization for standard and AXP313 variants. ChangesTanix TX6s H616 support
Estimated code review effort: 4 (Complex) | ~60 minutes Sequence Diagram(s)sequenceDiagram
participant BoardBuild
participant UBoot
participant Kernel
participant TargetFilesystem
participant Hardware
BoardBuild->>UBoot: select TX6s defconfig and device tree
BoardBuild->>Kernel: select TX6s kernel patches and DTB
BoardBuild->>TargetFilesystem: install audio configuration
UBoot->>Hardware: initialize DRAM, storage, Ethernet, and USB
Kernel->>Hardware: enable regulators, WiFi, Bluetooth, display, and audio
Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches 💡 2⚔️ Resolve merge conflicts 💡
🛠️ Fix failing CI checks 💡
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Hey @alnahian2011! 👋Thanks for submitting your first pull request to the Armbian project — we're excited to have you contributing! 🧡 If you'd like to stay informed about project updates or collaborate more closely with the team, Also, don’t forget to ⭐ star the repo if you haven’t already — and welcome aboard! 🚀 |
🚫 Missing required board assetsThis PR adds new board configuration(s). Required assets must already exist in github/armbian/armbian.github.io.
Missing items
Once the missing files are added (or a PR is opened in armbian/armbian.github.io), re-run this check. |
There was a problem hiding this comment.
Actionable comments posted: 11
🧹 Nitpick comments (9)
patch/kernel/archive/sunxi-6.18/series.conf (1)
120-120: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low valueUnrelated disables lack the usual rationale comment.
These three entries are disabled but, unlike the other
-lines in this file (168, 237, 262), carry no trailing note explaining why. They're also outside this PR's stated scope of adding TX6s support — worth confirming they're intentional here rather than a leftover from local debugging, and adding a short reason if they stay.Also applies to: 399-400
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@patch/kernel/archive/sunxi-6.18/series.conf` at line 120, Add rationale comments to the disabled patch entries in series.conf, including the entries corresponding to 0004-media-cedrus-Fix-failure-to-clean-up-hardware-on-pro and the additionally referenced entries. Confirm they are intentionally disabled and document the short reason; otherwise restore any entries disabled only for local debugging.config/boards/tanix-tx6s-axp313.tvb (2)
5-5: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low valueEmpty
BOARD_MAINTAINERmeans this board ships unmaintained.Fine if intentional, but for a brand-new TV box port it is usually the submitter's handle. Worth setting so breakage has an owner.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@config/boards/tanix-tx6s-axp313.tvb` at line 5, Set BOARD_MAINTAINER in the tanix-tx6s-axp313 board configuration to the submitter or responsible maintainer’s handle instead of leaving it empty, so ownership for future breakage is explicit.
19-20: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winUse a single
installfor the audio config script.On merged-
/usrArmbian/rootfs,/lib/armbianresolves to/usr/lib/armbian, so copying there copies the same path back into itself. Also, the blob is tracked as mode100644; useinstall -Dm755to place the script with the executable bit in one step.♻️ Suggested simplification
- cp -R $SRC/packages/blobs/sunxi/h618/armbian-audio-config $SDCARD/usr/lib/armbian - cp -R $SRC/packages/blobs/sunxi/h618/armbian-audio-config $SDCARD/lib/armbian + install -Dm755 "${SRC}/packages/blobs/sunxi/h618/armbian-audio-config" \ + "${SDCARD}/usr/lib/armbian/armbian-audio-config"🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@config/boards/tanix-tx6s-axp313.tvb` around lines 19 - 20, Replace the duplicate cp commands in the Tanix TX6S AXP313 image setup with one install -Dm755 operation targeting the required Armbian audio-config destination, preserving the source blob and avoiding the redundant /lib/armbian copy.patch/u-boot/v2025-sunxi/0012-add-tanix-tx6s-kingston-lpddr3-defconfig.patch (2)
1-3: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low valueStale source tree in the diff header (
u-boot-2021.07/).Sibling patches in the same directory use
u-boot-sunxi-647b392.../, and the target branch istag:v2025.04. Paths only matter for the strip level, but the mismatch suggests this hunk was carried over from an old tree and makes provenance hard to reason about.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@patch/u-boot/v2025-sunxi/0012-add-tanix-tx6s-kingston-lpddr3-defconfig.patch` around lines 1 - 3, Update the diff header paths for the tanix_tx6s_kingston_lpddr3_defconfig patch to use the current u-boot-sunxi-647b392... source-tree prefix consistent with sibling patches and the tag:v2025.04 target, while preserving the existing strip-level structure and file target.
14-19: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low valueCommented hex symbols read as "disabled" but actually fall back to Kconfig defaults.
# CONFIG_DRAM_SUN50I_H616_TPR11=0xaa889967is just a comment — the symbol still takes its default value, which is not necessarily the value implied here. If the intent is "use the default", drop the lines; if the intent is to record candidate tunings, say so explicitly.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@patch/u-boot/v2025-sunxi/0012-add-tanix-tx6s-kingston-lpddr3-defconfig.patch` around lines 14 - 19, Remove the commented hexadecimal DRAM tuning assignments in the defconfig patch, including CONFIG_DRAM_SUN50I_H616_TPR11 and CONFIG_DRAM_SUN50I_H616_TPR12, unless they are explicitly documented as candidate tunings; retain only actual Kconfig assignments and intentional disablements.patch/u-boot/v2025-sunxi/0010-add-tanix-tx6s-defconfig.patch (1)
89-95: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low valueDrop the commented-out
cd-gpiosline.
broken-cdalready covers the intent; the dead line just invites confusion in an upstream-styled DTS.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@patch/u-boot/v2025-sunxi/0010-add-tanix-tx6s-defconfig.patch` around lines 89 - 95, Remove the commented-out cd-gpios line from the mmc0 device-tree node, leaving broken-cd and the other active MMC properties unchanged.patch/u-boot/v2025-sunxi/0011-add-tanix-tx6s-axp313-defconfig.patch (1)
19-20: 🗄️ Data Integrity & Integration | 🔵 Trivial | ⚡ Quick winBoth TX6s variants declare the identical
compatible = "tanix,tx6s".
sun50i-h616-tanix-tx6s.dts(AXP305) and this AXP313 DTS carry the same compatible string despite wiring completely different PMICs, regulators, and PHY addresses. Anything that matches on compatible (board detection, firmware naming such as thebrcmfmac-ap6330-sdio.tanix,tx6s.binsymlink inconfig/boards/tanix-tx6s-axp313.tvb, DT overlay selection) cannot tell the two apart. Consider a distinct compatible, e.g."tanix,tx6s-axp313", "tanix,tx6s", "allwinner,sun50i-h616", keeping the generic one as a fallback.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@patch/u-boot/v2025-sunxi/0011-add-tanix-tx6s-axp313-defconfig.patch` around lines 19 - 20, Update the AXP313 device tree compatible declaration near the model entry to use a distinct primary identifier such as "tanix,tx6s-axp313", while retaining "tanix,tx6s" and "allwinner,sun50i-h616" as fallback compatibles in order.packages/blobs/sunxi/h618/armbian-audio-config (2)
20-20: 🩺 Stability & Availability | 🔵 Trivial | 💤 Low value
aplay -l | grep "device 0" | awk '{print $3}'depends on card-name formatting.
$3yields the card ID string, whichamixer -caccepts, but the pipeline breaks for any card whose listing line shifts field positions.aplay -l | awk -F'[ :]' '/^card/ {print $2}'on the card index is sturdier.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@packages/blobs/sunxi/h618/armbian-audio-config` at line 20, Update the card1 assignment to extract the numeric card index from aplay output using a delimiter-aware awk expression matching lines beginning with “card”, rather than grepping “device 0” and selecting field 3. Keep the resulting value compatible with the existing amixer -c usage.
1-166: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winExtend the shared
armbian-audio-configfor H618 settings instead of copying it.
packages/blobs/sunxi/h618/armbian-audio-configis essentially the common script with only the H618-specific mixer lines added and one minor whitespace tweak, so future shared audio-config fixes are duplicated and easy to miss. Move/add the H618 settings to the common script, or source the common script for the H618 package.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@packages/blobs/sunxi/h618/armbian-audio-config` around lines 1 - 166, Consolidate the H618-specific mixer settings from the shared `armbian-audio-config` into the common audio configuration, or make the H618 script source and reuse that common implementation. Remove the duplicated full script so future changes apply through one shared path, while preserving the H618 `Left/Right Output Mixer DACL/DACR` commands.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@config/boards/tanix-tx6s-axp313.tvb`:
- Line 6: Update the INTRODUCED value in the tanix-tx6s-axp313 board definition
to the current Armbian release in which this board’s support is being added,
matching the convention used by neighbouring board files rather than the
hardware launch year.
- Around line 16-18: Update post_family_tweaks__tanix_tx6s_axp313 to remove the
AP6330 firmware symlink for this XR819-based board; if the link is required for
another supported configuration, only create it when brcmfmac-ap6330-sdio.bin
exists so image builds do not fail when the source is absent.
In `@packages/blobs/sunxi/h618/armbian-audio-config`:
- Around line 15-16: Update the sound.conf lookup and restore invocation in the
alsactl restore block to avoid relying on an unreliable HOME value. Use the
intended system-wide ALSA state path with plain alsactl restore, or consistently
guard HOME with a /root fallback so the existence check and restore target the
same valid file.
In
`@patch/kernel/archive/sunxi-6.12/patches.armbian/0645-arm64-dts-allwinner-h616-add-Tanix-TX6s-TVbox.patch`:
- Around line 76-85: Align the PG18 WL_REG_ON regulator definitions by updating
reg_vcc_wifi to match the corresponding axp313 variant’s startup-delay-us
setting. Preserve the existing regulator properties and use the same
200000-microsecond delay value if that is the established configuration.
In
`@patch/kernel/archive/sunxi-6.12/patches.armbian/0646-arm64-dts-allwinner-h616-add-Tanix-TX6s-axp313-TVbox.patch`:
- Line 211: Remove the hard-coded local-mac-address property from the wlan node
in all three affected patch files:
patch/kernel/archive/sunxi-6.12/patches.armbian/0646-arm64-dts-allwinner-h616-add-Tanix-TX6s-axp313-TVbox.patch
(211-211),
patch/kernel/archive/sunxi-6.18/patches.armbian/0646-arm64-dts-allwinner-h616-add-Tanix-TX6s-axp313-TVbox.patch
(208-208), and
patch/kernel/archive/sunxi-7.0/patches.armbian/0646-arm64-dts-allwinner-h616-add-Tanix-TX6s-axp313-TVbox.patch
(211-211); decrement each corresponding hunk header line count.
- Around line 96-107: Enable the SPDIF controller by appending an &spdif status
override after &ahub1_mach in the axp313 DTS patch for
patch/kernel/archive/sunxi-6.12/patches.armbian/0646-arm64-dts-allwinner-h616-add-Tanix-TX6s-axp313-TVbox.patch
lines 96-107,
patch/kernel/archive/sunxi-6.18/patches.armbian/0646-arm64-dts-allwinner-h616-add-Tanix-TX6s-axp313-TVbox.patch
lines 96-107, and
patch/kernel/archive/sunxi-7.0/patches.armbian/0646-arm64-dts-allwinner-h616-add-Tanix-TX6s-axp313-TVbox.patch
lines 96-107; update each hunk header line count accordingly, preserving the
existing sound-spdif and spdif_out nodes.
- Around line 205-212: Remove interrupt-parent, interrupts, and interrupt-names
from the wlan: wifi@1 node in
patch/kernel/archive/sunxi-6.12/patches.armbian/0646-arm64-dts-allwinner-h616-add-Tanix-TX6s-axp313-TVbox.patch#L205-L212
and
patch/kernel/archive/sunxi-7.0/patches.armbian/0646-arm64-dts-allwinner-h616-add-Tanix-TX6s-axp313-TVbox.patch#L205-L212,
updating each +1,334 hunk count to +1,331. Apply the same removal in
patch/kernel/archive/sunxi-6.12/patches.armbian/0645-arm64-dts-allwinner-h616-add-Tanix-TX6s-TVbox.patch#L204-L209,
patch/kernel/archive/sunxi-6.18/patches.armbian/0645-arm64-dts-allwinner-h616-add-Tanix-TX6s-TVbox.patch#L204-L209,
and
patch/kernel/archive/sunxi-7.0/patches.armbian/0645-arm64-dts-allwinner-h616-add-Tanix-TX6s-TVbox.patch#L204-L209,
adjusting each +1,392 hunk count accordingly.
In `@patch/kernel/archive/sunxi-7.0/series.conf`:
- Line 527: Remove the AIC8800 patch entry from the sunxi-7.0 series list in
series.conf, leaving the surrounding TX6s/AP6330 patch entries unchanged.
In `@patch/u-boot/v2025-sunxi/0010-add-tanix-tx6s-defconfig.patch`:
- Around line 74-87: Remove the unused axp305_1 PMIC node and its surrounding
&r_i2c configuration from the defconfig patch. Keep the existing axp305
definition under &r_rsb as the sole PMIC description, including its regulator
configuration.
- Around line 255-269: The H616 DRAM defconfig entries use inconsistent
namespaces, causing vendor timing symbols to be discarded. In
patch/u-boot/v2025-sunxi/0010-add-tanix-tx6s-defconfig.patch lines 255-269,
patch/u-boot/v2025-sunxi/0011-add-tanix-tx6s-axp313-defconfig.patch lines
164-178, and
patch/u-boot/v2025-sunxi/0012-add-tanix-tx6s-kingston-lpddr3-defconfig.patch
lines 11-19, update the DRAM TPR, ODT, DRI, and related symbols to the v2025
U-Boot namespace used by the source, consistently using
CONFIG_DRAM_SUN50I_H616_*.
In `@patch/u-boot/v2025-sunxi/0011-add-tanix-tx6s-axp313-defconfig.patch`:
- Around line 75-80: Update the rmii_phy node under mdio1 so its unit address
uses hexadecimal notation matching reg = <16>: rename ethernet-phy@16 to
ethernet-phy@10, leaving the PHY configuration unchanged.
---
Nitpick comments:
In `@config/boards/tanix-tx6s-axp313.tvb`:
- Line 5: Set BOARD_MAINTAINER in the tanix-tx6s-axp313 board configuration to
the submitter or responsible maintainer’s handle instead of leaving it empty, so
ownership for future breakage is explicit.
- Around line 19-20: Replace the duplicate cp commands in the Tanix TX6S AXP313
image setup with one install -Dm755 operation targeting the required Armbian
audio-config destination, preserving the source blob and avoiding the redundant
/lib/armbian copy.
In `@packages/blobs/sunxi/h618/armbian-audio-config`:
- Line 20: Update the card1 assignment to extract the numeric card index from
aplay output using a delimiter-aware awk expression matching lines beginning
with “card”, rather than grepping “device 0” and selecting field 3. Keep the
resulting value compatible with the existing amixer -c usage.
- Around line 1-166: Consolidate the H618-specific mixer settings from the
shared `armbian-audio-config` into the common audio configuration, or make the
H618 script source and reuse that common implementation. Remove the duplicated
full script so future changes apply through one shared path, while preserving
the H618 `Left/Right Output Mixer DACL/DACR` commands.
In `@patch/kernel/archive/sunxi-6.18/series.conf`:
- Line 120: Add rationale comments to the disabled patch entries in series.conf,
including the entries corresponding to
0004-media-cedrus-Fix-failure-to-clean-up-hardware-on-pro and the additionally
referenced entries. Confirm they are intentionally disabled and document the
short reason; otherwise restore any entries disabled only for local debugging.
In `@patch/u-boot/v2025-sunxi/0010-add-tanix-tx6s-defconfig.patch`:
- Around line 89-95: Remove the commented-out cd-gpios line from the mmc0
device-tree node, leaving broken-cd and the other active MMC properties
unchanged.
In `@patch/u-boot/v2025-sunxi/0011-add-tanix-tx6s-axp313-defconfig.patch`:
- Around line 19-20: Update the AXP313 device tree compatible declaration near
the model entry to use a distinct primary identifier such as
"tanix,tx6s-axp313", while retaining "tanix,tx6s" and "allwinner,sun50i-h616" as
fallback compatibles in order.
In
`@patch/u-boot/v2025-sunxi/0012-add-tanix-tx6s-kingston-lpddr3-defconfig.patch`:
- Around line 1-3: Update the diff header paths for the
tanix_tx6s_kingston_lpddr3_defconfig patch to use the current
u-boot-sunxi-647b392... source-tree prefix consistent with sibling patches and
the tag:v2025.04 target, while preserving the existing strip-level structure and
file target.
- Around line 14-19: Remove the commented hexadecimal DRAM tuning assignments in
the defconfig patch, including CONFIG_DRAM_SUN50I_H616_TPR11 and
CONFIG_DRAM_SUN50I_H616_TPR12, unless they are explicitly documented as
candidate tunings; retain only actual Kconfig assignments and intentional
disablements.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro Plus
Run ID: 9d4d72a4-8c54-4124-86f7-0a9185e2aa75
📒 Files selected for processing (17)
config/boards/tanix-tx6s-axp313.tvbpackages/blobs/sunxi/h618/armbian-audio-configpatch/kernel/archive/sunxi-6.12/patches.armbian/0110-drivers-net-wireless-brcmfmac-add-ap6330-firmware.patchpatch/kernel/archive/sunxi-6.12/patches.armbian/0645-arm64-dts-allwinner-h616-add-Tanix-TX6s-TVbox.patchpatch/kernel/archive/sunxi-6.12/patches.armbian/0646-arm64-dts-allwinner-h616-add-Tanix-TX6s-axp313-TVbox.patchpatch/kernel/archive/sunxi-6.12/series.confpatch/kernel/archive/sunxi-6.18/patches.armbian/0110-drivers-net-wireless-brcmfmac-add-ap6330-firmware.patchpatch/kernel/archive/sunxi-6.18/patches.armbian/0645-arm64-dts-allwinner-h616-add-Tanix-TX6s-TVbox.patchpatch/kernel/archive/sunxi-6.18/patches.armbian/0646-arm64-dts-allwinner-h616-add-Tanix-TX6s-axp313-TVbox.patchpatch/kernel/archive/sunxi-6.18/series.confpatch/kernel/archive/sunxi-7.0/patches.armbian/0110-drivers-net-wireless-brcmfmac-add-ap6330-firmware.patchpatch/kernel/archive/sunxi-7.0/patches.armbian/0645-arm64-dts-allwinner-h616-add-Tanix-TX6s-TVbox.patchpatch/kernel/archive/sunxi-7.0/patches.armbian/0646-arm64-dts-allwinner-h616-add-Tanix-TX6s-axp313-TVbox.patchpatch/kernel/archive/sunxi-7.0/series.confpatch/u-boot/v2025-sunxi/0010-add-tanix-tx6s-defconfig.patchpatch/u-boot/v2025-sunxi/0011-add-tanix-tx6s-axp313-defconfig.patchpatch/u-boot/v2025-sunxi/0012-add-tanix-tx6s-kingston-lpddr3-defconfig.patch
6149fb6 to
8a41cc2
Compare
EvilOlaf
left a comment
There was a problem hiding this comment.
boards assets must be present as complained by gha bot. Otherwise fine.
|
✅ This PR has been reviewed and approved — all set for merge! |
|
you added a commit after the pr was approved and marked as ready to merge which basically invalidates the review state since the whole pr was altered. so automatically flipping the labels is correct. Is this finished now? |
The host-wake GPIO/interrupt config (PG15, edge-rising) was copied from an AP6330-pattern reference board. This board's actual WiFi chip is XR819 (xradio_wlan), not AP6330/brcmfmac. WiFi connects and passes traffic correctly without claiming this interrupt, and host-wake is only relevant for WoWLAN suspend, not basic connectivity, so it's safer to leave unclaimed until confirmed correct for this variant.
sound-spdif card was defined but the &spdif controller itself was
never enabled, so the audio card couldn't bind. Add the missing
&spdif { status = "okay"; }; override, matching the standard
(non-axp313) TX6s variant.
axp305_1 under &r_i2c was a dummy placeholder (its own comment says 'appease the driver for now') with no real regulator config and a fake interrupt. The actual PMIC config lives under &r_rsb (axp305), which already provides all real regulators. R_I2C and R_RSB share the same physical pins (PL0/PL1) and can't both be enabled, so the dummy &r_i2c block was a real pinmux conflict.
- Remove hardcoded WiFi MAC address from wlan node (all 3 kernel versions) to avoid address collisions across boards - Remove AP6330 firmware symlink; board's actual chip is XR819 - Set BOARD_MAINTAINER - Replace duplicate cp -R with install -Dm755 for audio config - Remove conflicting &r_i2c/axp305_1 dummy PMIC node from tanix-tx6s defconfig; real PMIC config is under &r_rsb/axp305
CONFIG_SUNXI_DRAM_H616_DDR3_1333=y expects DRAM tuning values under the CONFIG_DRAM_SUN50I_H616_* namespace (matching tanix_tx6s_defconfig), but the axp313 defconfig had them under the wrong CONFIG_DRAM_SUNXI_* namespace. Kconfig was silently discarding these vendor-tuned DRAM timings and falling back to defaults instead.
DT convention requires the node's @unit-address suffix to match the reg property value in hex. reg = <16> is 0x10 in hex, so the node was renamed from ethernet-phy@16 to ethernet-phy@10 to match. The actual PHY address (reg = <16>) is unchanged.
Both the standard TX6s (AXP305) and TX6s AXP313 variant shared the
identical compatible = "tanix,tx6s", "allwinner,sun50i-h616" string,
making them indistinguishable to anything matching on compatible.
Added a distinct primary compatible ("tanix,tx6s-axp313") for the
AXP313 variant while keeping the shared fallbacks, updated
consistently across the U-Boot defconfig and all 3 kernel DTS
patch versions.
The AXP313 variant's WiFi power regulator (reg_vcc_wifi) had startup-delay-us = <200000> to give the WiFi chip time to settle after WL_REG_ON goes high before SDIO probes it. The standard AXP305 variant was missing this delay entirely despite using the identical WiFi chip and power sequencing. Added for consistency and to avoid the same SDIO probe-timing issue across all 3 kernel versions.
…onfig An earlier commit changed these DRAM tuning symbols from CONFIG_DRAM_SUNXI_* to CONFIG_DRAM_SUN50I_H616_*, based on a mistaken comparison against the naming used in the standard tanix_tx6s_defconfig. Verified against this U-Boot version's actual Kconfig (arch/arm/mach-sunxi/Kconfig): DRAM_SUN50I_H616 is only the top-level enable symbol; the individual DRAM tuning parameters underneath it (DX_ODT, DX_DRI, CA_DRI, ODT_EN, TPR0/2/ 10/11/12, etc.) are genuinely namespaced DRAM_SUNXI_*. The previous change caused Kconfig to reject the values as invalid symbols and drop into an interactive reconfigure prompt, hanging non-interactive builds. Confirmed fixed with a full clean build.
series.conf referenced patches.armbian/3401-net-wireless-backport-aic8800-sdio-v2025_0926_91c9dae5-mm2.patch, which doesn't exist anywhere in the tree. This would break kernel patch application for anyone building the sunxi-7.0 branch.
- Fix series.conf indentation for 0110-...ap6330-firmware.patch in sunxi-6.18 and sunxi-7.0 (spaces -> tab, matching surrounding lines) - Remove stale disabled references to patches.backports/32-pinctrl-sunxi-a523-Remove_unneeded_IRQ_remuxing_flag.patch and patches.backports/33-arm64-dts-allwinner-a523-Add_missing_GPIO_interrupt.patch from sunxi-6.18/series.conf. These were disabled with a leading '-' earlier to unblock the build (unrelated to this board), but upstream has since fully deleted both patch files and their series.conf entries, so these leftover references pointed to nothing.
Per review feedback, plain device trees that don't modify any existing upstream file can go directly in dt_64/ instead of being wrapped in a null-patch. Moved sun50i-h616-tanix-tx6s-axp313.dts there and removed the now-redundant 0646 patch and its series.conf entry. Confirmed with a clean build that the DTB still gets picked up and compiles correctly with no separate Makefile patch needed.
Same as the axp313 variant: 0645 only created a new file and never modified anything upstream, so per review feedback it's now a plain .dts in dt_64/ instead of a wrapped null-patch. Removed the 0645 patch and its series.conf entry. Confirmed with a clean build that both TX6s variants' DTBs still compile correctly together.
CodeRabbit flagged an inconsistency between 0010/0011/0012's DRAM tuning symbols. Verified against this U-Boot version's actual Kconfig (arch/arm/mach-sunxi/Kconfig): the real namespace for these DRAM tuning parameters is CONFIG_DRAM_SUNXI_*, not CONFIG_DRAM_SUN50I_H616_* (that's only the top-level DRAM_SUN50I_H616 enable symbol). This was confirmed empirically: 0011 briefly used the SUN50I_H616_* namespace and caused Kconfig to reject the values and hang on an interactive reconfigure prompt during a non-interactive build. Aligned 0010 and 0012 to the same DRAM_SUNXI_* namespace 0011 already uses, since 0011 is the one actually build-tested for this PR.
Completes the dt_64 migration started for sunxi-6.18. Both variants' DTS content moved to plain .dts files under dt_64/, and 0645/0646 patches plus their series.conf entries removed for both kernel versions. Also caught and fixed the same WiFi host-wake interrupt issue in sunxi-6.12's axp313 DTS that was already fixed in sunxi-6.18 but never carried over here (sunxi-7.0 was already consistent). Confirmed with a clean full rebuild.
Per maintainer feedback, this script's scope and provenance were unclear for this PR - it targets multiple boards/families, not just this one, and its placement under h618 blobs read as more official than warranted. Confirmed by testing that audio works correctly without it; the only issue was selecting the right PulseAudio output (board has 3 stereo outputs: analog, HDMI, SPDIF). A properly scoped version can be proposed separately later if needed.
CodeRabbit correctly caught that the earlier host-wake interrupt removal only applied to the axp313 variant's wlan node - the standard (AXP305) TX6s variant still had interrupt-parent, interrupts, and interrupt-names in its wlan node across all three kernel versions, now migrated to dt_64/sun50i-h616-tanix-tx6s.dts. Removed for consistency with the axp313 variant, since this board family's actual WiFi chip doesn't correctly drive PG15 as host-wake. Confirmed with a clean build.
3cfd6ea to
6284277
Compare
Yes, it makes sense. The most recent change addressed a genuine issue that CodeRabbit discovered (host-wake interrupt was only eliminated from axp313, not the standard form). I just took a final look. If anything else needs to be changed, please let me know. |
Description
Tanix TX6s (AXP313 variant) Allwinner H616 SoC, 2GB DDR3 RAM, TV box.
How Has This Been Tested?
Checklist:
sdcard-uart-tx6s-axp313.txt
emmc-uart-tx6s-axp313.txt
also added uart logs of both booting from sdcard and emmc.
Summary by CodeRabbit