Skip to content

hisilicon: add Hi3519DV500/Hi3516DV500 (V5 aarch64) firmware#2203

Merged
widgetii merged 3 commits into
masterfrom
hi3519dv500
Jun 23, 2026
Merged

hisilicon: add Hi3519DV500/Hi3516DV500 (V5 aarch64) firmware#2203
widgetii merged 3 commits into
masterfrom
hi3519dv500

Conversation

@widgetii

@widgetii widgetii commented Jun 22, 2026

Copy link
Copy Markdown
Member

Adds the Hi3519DV500/Hi3516DV500 (V5/HISI_OT, aarch64 Cortex-A55) to the
HiSilicon family — the 64-bit counterpart of hi3516cv6xx. One hi3519dv500
image serves both dies, with hi3516dv500 as an alias.

What's included

  • Toolchain — a decoupled hi3519dv500_toolchain config + a toolchain.yml
    matrix entry that publish toolchain.hisilicon-hi3519dv500
    (aarch64-openipc-linux-musl, musl + C++, gcc 13, 5.10 kernel headers).
  • Boardhi3519dv500_ultimate_defconfig (aarch64, linux 5.10 from the
    openipc/linux branch hisilicon-hi3519dv500), kernel config,
    fit-image.its (arm64 Image, DDR 0x40000000), post-image.sh, repack wiring.
  • MPP userspacehisilicon-osdrv-hi3519dv500 ships the load script and the
    vendor MPP .so from the Hi3519DV500 SDK V1.0.1.1.
  • libevent-openipc — skip the 32-bit-only BROKEN_MMAP workaround on aarch64.

Boots to a root shell on the qemu-hisilicon hi3519dv500 machine, with
dual-core SMP and Ethernet.

Not in this PR

  • majestic, divinus, hisilicon-opensdk — no aarch64 DV500 build yet, left off.
  • Source-built sensor drivers — to come from OpenIPC/openhisilicon.

Kept out of the CI build matrix.

@widgetii widgetii changed the title WIP: hisilicon: scaffold Hi3519DV500/Hi3516DV500 (V5 aarch64) hisilicon: add Hi3519DV500/Hi3516DV500 (V5 aarch64) firmware Jun 23, 2026
@widgetii
widgetii marked this pull request as ready for review June 23, 2026 10:19
widgetii added 3 commits June 23, 2026 14:06
Add a decoupled toolchain-only defconfig and a toolchain.yml matrix entry
that publish toolchain.hisilicon-hi3519dv500 (aarch64-openipc-linux-musl,
musl + C++, gcc 13, 5.10 kernel headers). `make toolchain` runs `make sdk`,
which builds world; the decoupled config builds only the cross toolchain +
busybox so the SDK can be packaged without the full firmware. The config
has no kernel, so BR2_KERNEL_HEADERS is pinned to 5.10 (it would otherwise
fall back to buildroot's newest-series default).
The BROKEN_MMAP=1 define forces a raw syscall(SYS_mmap2) path (patch 0002)
needed by 32-bit musl. SYS_mmap2 is 32-bit-ARM-only — aarch64 has SYS_mmap
and its musl mmap() works fine — so only apply it on 32-bit targets.
The aarch64 Cortex-A55 (V5/HISI_OT) counterpart of hi3516cv6xx, as one
hi3519dv500 image with hi3516dv500 as an alias:

- hi3519dv500_ultimate_defconfig: aarch64 musl, linux 5.10 (openipc/linux
  branch hisilicon-hi3519dv500), arm64 Image + FIT, squashfs.
- board/hi3519dv500: kernel config, fit-image.its (DDR 0x40000000, arm64
  0x80000 text offset), post-image.sh, plus the repack wiring in Makefile.
- hisilicon-osdrv-hi3519dv500: load script + vendor MPP userspace .so from
  the Hi3519DV500 SDK V1.0.1.1.

Boots to a shell on the qemu-hisilicon hi3519dv500 machine (SMP + Ethernet).
majestic, divinus and hisilicon-opensdk have no aarch64 DV500 build yet and
are left off; source-built sensors will come from openhisilicon.
@widgetii
widgetii merged commit ff44f28 into master Jun 23, 2026
136 checks passed
@widgetii
widgetii deleted the hi3519dv500 branch June 23, 2026 12:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant