hi3516av300_neo: add modern (Linux 7.0+) firmware variant#2023
Open
hi3516av300_neo: add modern (Linux 7.0+) firmware variant#2023
Conversation
Picks up openhisilicon#59: EXPORT_SYMBOL for ssp_drv_init/exit/get_ops in CV300 sensor_spi, fixing split sensor module dependencies. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add a "neo" variant for the hi3516av300 board running OpenIPC on the upstream-patches kernel branch (Linux 7.0+) instead of the vendor 4.9.37 kernel. Per OpenIPC/openhisilicon#51, the CV500 platform has zero direct kernel API calls in blobs — everything goes through OSAL, making it a top-priority candidate for kernel modernization. New files: - br-ext-chip-hisilicon/configs/hi3516av300_neo_defconfig Buildroot defconfig with glibc toolchain, 16MB flash, upstream-patches kernel, BR2_OPENIPC_VARIANT="neo". - br-ext-chip-hisilicon/board/hi3516cv500/hi3516av300.neo.config Seed kernel config with ARCH_HI3516DV300, COMMON_CLK_HI3516DV300, earlycon at 0x120a0000, ZRELADDR=0x80008000, CMA, MTD/SPI-NOR. Aggressive size trimming (no IPv6, no NETFILTER, no input/sound/USB, no JFFS2/CRAMFS/loop/RAM block) keeps uImage under 2048KB limit. - br-ext-chip-hisilicon/board/hi3516cv500/neo-post-image.sh Concatenates zImage + DTB and wraps as uImage (load 0x80008000). Modified packages: - hisilicon-opensdk.mk: Replace 6 hardcoded kernel versions (3.0.8/3.18.20/4.9.37) with dynamic `kernel.release` detection, bump to OpenIPC/openhisilicon#61 commit (Linux 5.0-7.0 compat). - hisilicon-osdrv-hi3516cv500.mk: Same dynamic kernel version. - load_hisilicon: `uname -r` instead of hardcoded 4.9.37. Tested: - QEMU: U-Boot → Linux 7.0 → squashfs rootfs from MTD → login - Real hardware (hi3516av300/MX25L256 32MB flash): builds and flashes via sysupgrade Companion changes: - openipc/linux upstream-patches: ARCH_HI3516DV300 DTS, CV500/DV300 clock drivers, mach machine descriptor - OpenIPC/openhisilicon#61: Linux 5.0-7.0 OSAL compat - widgetii/qemu-hisilicon#33: CV500 SMP + flash boot Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
New `hi3516av300_neo` firmware variant — runs OpenIPC on Linux 7.0+ (upstream-patches branch) instead of vendor 4.9.37, following the `hi3516ev300_neo` pattern.
Per OpenIPC/openhisilicon#51, CV500 has zero direct kernel API calls in blobs — everything goes through OSAL — making it a top-priority candidate for kernel modernization.
New files:
Modified packages (dynamic kernel version):
Companion changes (required before merge)
Test plan
Known follow-ups
🤖 Generated with Claude Code