Skip to content

nor-split-layout: Hi3516CV610/CV608 and Hi3519DV500 on the split layout too - #610

Merged
widgetii merged 2 commits into
masterfrom
nor-split-hisi
Oct 20, 2026
Merged

widgetii merged 2 commits into
masterfrom
nor-split-hisi

Conversation

@widgetii

Copy link
Copy Markdown
Member

The page was the GK7205V200 family's. Hi3516CV610, Hi3516CV608 and
Hi3519DV500 now run the same layout (OpenIPC/firmware#2638), so it says
what differs between them, which is data:

  • a table of SoC, boot area, firmware offset, bootloader and packages:
    Hi3519DV500 has 512K boot + 256K env, firmware from 0xc0000;
  • the signed boot images published once per board, and which DDR each is;
  • the split-only packages (one hi3516cv6xx build, one hi3519dv500), and
    that sysupgrade goes straight to them;
  • the kernel limit the bootloaders impose (2 MiB, 6 MiB on Hi3519DV500);
  • openipc.org's per-board pages, defib and the full images;
  • the U-Boot commands with dv500's offsets beside the 0x50000 ones.

README and sysupgrade.md name the new SoCs where they point here.

…ut too

The page was the GK7205V200 family's. Hi3516CV610, Hi3516CV608 and
Hi3519DV500 now run the same layout (OpenIPC/firmware#2638), so it says
what differs between them, which is data:

- a table of SoC, boot area, firmware offset, bootloader and packages:
  Hi3519DV500 has 512K boot + 256K env, firmware from 0xc0000;
- the signed boot images published once per board, and which DDR each is;
- the split-only packages (one hi3516cv6xx build, one hi3519dv500), and
  that sysupgrade goes straight to them;
- the kernel limit the bootloaders impose (2 MiB, 6 MiB on Hi3519DV500);
- openipc.org's per-board pages, defib and the full images;
- the U-Boot commands with dv500's offsets beside the 0x50000 ones.

README and sysupgrade.md name the new SoCs where they point here.
@qodo-free-for-open-source-projects

Copy link
Copy Markdown

PR Summary by Qodo

Document NOR split layout for Hi3516CV6xx and Hi3519DV500

📝 Documentation 🕐 20-40 Minutes

Grey Divider

AI Description

• Extend NOR split-layout guidance to Hi3516CV610, Hi3516CV608, and Hi3519DV500.
• Document board-specific boot images, firmware offsets, package availability, and installation and
 recovery paths.
• Update wiki navigation and sysupgrade guidance to point owners of these SoCs to the expanded
 guide.
Diagram

graph TD
  Cam["Camera board"] --> Family{"SoC family?"} -->|GK or CV6xx| F500["Offset 0x50000"] --> Image["Split firmware"] --> Install["Upgrade or flash"] --> NOR["NOR firmware"]
  Family -->|DV500| FC["Offset 0xC0000"] --> Image
  Cam --> Boot["Matching boot image"] --> Image
Loading
High-Level Assessment

Extending the existing split-layout guide keeps the shared procedure in one place while tables and SoC-specific examples make the consequential differences explicit. Separate guides would duplicate most instructions and increase the risk of conflicting flashing guidance.

Files changed (3) +114 / -53

Documentation (3) +114 / -53
README.mdList additional SoCs in NOR split-layout navigation +1/-1

List additional SoCs in NOR split-layout navigation

• Expands the wiki link text to identify Hi3516CV6xx and Hi3519DV500 alongside the GK7205V200 family.

README.md

nor-split-layout.mdExpand split-layout guide with HiSilicon board and flash details +111/-51

Expand split-layout guide with HiSilicon board and flash details

• Adds a SoC comparison, signed boot-image and DDR mappings, split-package availability, and kernel size limits. Generalizes firmware-offset instructions and documents Hi3519DV500 flash commands, installation options, and which SoCs can return to fixed slots.

en/nor-split-layout.md

sysupgrade.mdIdentify HiSilicon SoCs in split-layout upgrade guidance +2/-1

Identify HiSilicon SoCs in split-layout upgrade guidance

• Adds Hi3516CV610, Hi3516CV608, and Hi3519DV500 to the sysupgrade introduction and links their upgrade path to the NOR split-layout guide.

en/sysupgrade.md

@qodo-free-for-open-source-projects

qodo-free-for-open-source-projects Bot commented Oct 20, 2026 •

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0) 🎨 UX issues (0) 🔗 Cross-repo conflicts (0) 📜 Skill insights (0)

Grey Divider


Action required

1. The page exposes vendor boot internals ✓ Resolved
Description
nor-split-layout.md lists GSL, a DDR table and U-Boot as constituents of the signed boot image
instead of describing its operator-visible requirements. When readers consult the public layout
diagram for board compatibility, they encounter internal vendor boot-component terminology that the
disclosure gate excludes.
Code

en/nor-split-layout.md[R23-24]

+0x000000  u-boot    boot      U-Boot (on Hi3516CV6xx/Hi3519DV500 the signed
+                              boot image: GSL, DDR table and U-Boot)
Evidence
The cited layout diagram explicitly places GSL inside the signed boot image. Compliance ID 1
prohibits using internal subsystem names as terms of art when documenting the externally observable
behaviour of a closed component.

Rule 1: Documents behaviour, not the internals behind it
en/nor-split-layout.md[23-24]
pr_compliance_checklist.yaml[19-43]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The public layout diagram names `GSL` as an internal constituent of the signed boot image rather than describing the observable boot-image and board-compatibility requirements.
## Fix Focus Areas
- en/nor-split-layout.md[23-24]
## Recommended Fix
Replace `GSL` and the internal component list with ordinary-language behaviour: explain that the signed, board-specific boot image contains the boot code and memory configuration required for that board. Preserve the warning that the image must match the board’s DDR configuration without naming its internal boot stage.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


2. Hi3519DV500 boot flashing can fail ✓ Resolved
Description
The expanded installation instructions state that Hi3519DV500 has a 0x80000 boot partition, but
the command immediately below still erases only 0x40000. If a reader substitutes the correct board
image as instructed, its write can extend into an unerased half of the boot partition and leave the
camera unable to boot.
Code

en/nor-split-layout.md[R121-123]

+   with a TFTP server, using the file for your SoC (and board). It erases the
+   boot partition only, and leaves the environment where it is. The boot
+   partition is `0x40000` on all but Hi3519DV500, where it is `0x80000`:
Evidence
The new prose gives the Hi3519DV500 boot size and directs use of a board-matched file, while the
accompanying commands erase only the smaller GK boot area. The board-image table establishes that
Hi3519DV500 uses distinct boot files.

en/nor-split-layout.md[119-131]
en/nor-split-layout.md[67-74]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The boot-flashing example retains a 256 KiB erase after the instructions are extended to a board with a 512 KiB boot partition.
## Fix Focus Areas
- en/nor-split-layout.md[119-131]
## Recommended Fix
Label the existing commands as the GK example and add Hi3519DV500 commands with its board-matched image and a `0x80000` boot-partition erase. Keep the environment outside the erase range.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools



Remediation recommended

3. Hi3516 readers get a wrong package name ✓ Resolved
Description
sysupgrade.md extends its openipc.-nor--split.tgz package template to Hi3516CV610 and
Hi3516CV608. Substituting either listed SoC yields a per-SoC filename, whereas both use the shared
openipc.hi3516cv6xx-...-split.tgz package documented on the linked page.
Code

en/sysupgrade.md[R24-25]

+`u-boot-<soc>-nor.bin` bootloader, and on Hi3516CV610, Hi3516CV608 and
+Hi3519DV500, `sysupgrade -k -r` installs the
Evidence
The upgraded SoC list now includes both Hi3516 models beside the generic filename, but the
split-layout page explicitly names their single shared build.

en/sysupgrade.md[23-27]
en/nor-split-layout.md[84-89]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The package template on the upgrade page produces filenames that do not match the shared Hi3516CV6xx release package.
## Fix Focus Areas
- en/sysupgrade.md[23-27]
## Recommended Fix
State that both Hi3516CV610 and Hi3516CV608 use the `hi3516cv6xx` package name, while retaining the per-SoC template where it applies.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

Tip of the day
💡 Did you know, you can open the rule or relationship behind a finding in one click

More tips ↗ | Customize Qodo ↗ | Qodo docs ↗

Grey Divider

Qodo Logo

Comment thread en/nor-split-layout.md Outdated
Comment thread en/nor-split-layout.md
Comment thread en/sysupgrade.md
…boot image

From review: the boot-image example erased 0x40000 under a note that Hi3519DV500's boot partition is 0x80000, so it now has its own; the diagram describes the signed image by what it carries for the board rather than by the vendor's name for its first stage; sysupgrade.md names the shared hi3516cv6xx package.
@widgetii
widgetii merged commit a4848d8 into master Oct 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant