diff --git a/data/catalogue/hisilicon.yml b/data/catalogue/hisilicon.yml index 48e4ecbf..eb2c5633 100644 --- a/data/catalogue/hisilicon.yml +++ b/data/catalogue/hisilicon.yml @@ -90,9 +90,11 @@ socs: load_address: '0x82000000' sdk: '' kernel: '' - uboot_filename: u-boot-hi3516cv300-universal.bin + uboot_filename: u-boot-hi3516cv300-nor.bin + uboot_nand_filename: u-boot-hi3516cv300-nand.bin linux_filename: openipc.hi3516cv300-nor-lite.tgz notes: ar0237 imx291 imx307 imx323 imx385 jxf22 ov2718 ov2735 sc2235p sc2310 + nor_split: true urlname: hi3516cv300 build_status_url: https://github.com/OpenIPC/firmware/actions/workflows/hi3516cv300_images.yml/badge.svg featured: false @@ -201,6 +203,7 @@ socs: uboot_nand_filename: u-boot-hi3516dv200-nand.bin linux_filename: openipc.hi3516dv200-nor-lite.tgz notes: '' + nor_split: true urlname: hi3516dv200 build_status_url: https://github.com/OpenIPC/firmware/actions/workflows/hi3516dv200_images.yml/badge.svg featured: false @@ -226,9 +229,10 @@ socs: load_address: '0x82000000' sdk: '' kernel: '' - uboot_filename: u-boot-hi3516ev100-universal.bin + uboot_filename: u-boot-hi3516ev100-nor.bin linux_filename: openipc.hi3516ev100-nor-lite.tgz notes: '' + nor_split: true urlname: hi3516ev100 build_status_url: https://github.com/OpenIPC/firmware/actions/workflows/hi3516ev100_images.yml/badge.svg featured: false @@ -244,6 +248,7 @@ socs: uboot_nand_filename: u-boot-hi3516ev200-nand.bin linux_filename: openipc.hi3516ev200-nor-lite.tgz notes: f23 f37 gc2053 imx307 imx335 sc2231 sc2232h sc2239 sc2315e sc3235 sc4236 sp2305 + nor_split: true urlname: hi3516ev200 build_status_url: https://github.com/OpenIPC/firmware/actions/workflows/hi3516ev200_images.yml/badge.svg featured: true @@ -257,6 +262,7 @@ socs: kernel: '' uboot_filename: u-boot-hi3516ev300-nor.bin uboot_nand_filename: u-boot-hi3516ev300-nand.bin + nor_split: true linux_filename: openipc.hi3516ev300-nor-lite.tgz notes: '' urlname: hi3516ev300 @@ -330,6 +336,7 @@ socs: uboot_nand_filename: u-boot-hi3518ev300-nand.bin linux_filename: openipc.hi3518ev300-nor-lite.tgz notes: '' + nor_split: true urlname: hi3518ev300 build_status_url: https://github.com/OpenIPC/firmware/actions/workflows/hi3518ev300_images.yml/badge.svg featured: false diff --git a/service/internal/firmware/firmware_test.go b/service/internal/firmware/firmware_test.go index fa803b33..3dd96f9c 100644 --- a/service/internal/firmware/firmware_test.go +++ b/service/internal/firmware/firmware_test.go @@ -240,8 +240,8 @@ func deref(p *int) int { // asset and one build. func TestConcurrentRequestsShareOneBuild(t *testing.T) { cat := loadCatalogue(t) - soc := cat.SoC("hi3516ev300") - board := "hi3516ev300" + soc := cat.SoC("hi3516ev200") + board := "hi3516ev200" uboot := synthetic("u", 100_000) linux := tgz(t, [][2]any{{"uImage." + board, synthetic("k", 500_000)}, {"rootfs.squashfs." + board, synthetic("r", 900_000)}}) var hits atomic.Int32 @@ -292,8 +292,8 @@ func TestConcurrentRequestsShareOneBuild(t *testing.T) { // When upstream publishes a new version, the old image and tarball go. func TestOneVersionPerFirmware(t *testing.T) { cat := loadCatalogue(t) - soc := cat.SoC("hi3516ev300") - board := "hi3516ev300" + soc := cat.SoC("hi3516ev200") + board := "hi3516ev200" dir := t.TempDir() releases := &Releases{Root: filepath.Join(dir, "rel")} images := &Images{Root: filepath.Join(dir, "img"), Releases: releases} diff --git a/service/internal/firmware/testdata/boards.json b/service/internal/firmware/testdata/boards.json index 2b4bd18c..d638a83f 100644 --- a/service/internal/firmware/testdata/boards.json +++ b/service/internal/firmware/testdata/boards.json @@ -453,7 +453,8 @@ "vendor": "HiSilicon", "model": "HI3516CV300", "board": "hi3516cv300", - "uboot": "u-boot-hi3516cv300-universal.bin", + "uboot": "u-boot-hi3516cv300-nor.bin", + "uboot_nand": "u-boot-hi3516cv300-nand.bin", "nor_lite": "openipc.hi3516cv300-nor-lite.tgz", "nand_lite": "openipc.hi3516cv300-nand-lite.tgz" }, @@ -539,7 +540,7 @@ "vendor": "HiSilicon", "model": "HI3516EV100", "board": "hi3516ev100", - "uboot": "u-boot-hi3516ev100-universal.bin", + "uboot": "u-boot-hi3516ev100-nor.bin", "nor_lite": "openipc.hi3516ev100-nor-lite.tgz", "nand_lite": "openipc.hi3516ev100-nand-lite.tgz" }, diff --git a/service/internal/firmware/testdata/release-index.json b/service/internal/firmware/testdata/release-index.json index 9f5089c1..57ae29d0 100644 --- a/service/internal/firmware/testdata/release-index.json +++ b/service/internal/firmware/testdata/release-index.json @@ -363,9 +363,9 @@ "updated_at": "2026-09-23T18:33:05Z", "release": "nightly-20260923-830fa4c" }, - "openipc.hi3516ev300-nor-lite.tgz": { - "size": 7264229, - "digest": "sha256:b76ee5e42f22ffdb01e9b6bd586d3a9e1da0feb4c243dd213b264c6fd19bfd3c", + "openipc.hi3516ev300-nor-lite-split.tgz": { + "size": 7270000, + "digest": "sha256:93ac9dc7bf46bf91869794031d07415de5f9d9fa2011bea3f575b9c2bd8f2bc9", "updated_at": "2026-09-23T18:33:07Z", "release": "nightly-20260923-830fa4c" }, @@ -375,10 +375,10 @@ "updated_at": "2026-09-23T18:33:09Z", "release": "nightly-20260923-830fa4c" }, - "openipc.hi3516ev300-nor-ultimate.tgz": { - "size": 10345375, - "digest": "sha256:eedf268376d1efad29759d5393ce6db4895cb6fe304eb37c5e45a830b4199c4b", - "updated_at": "2026-09-23T18:33:12Z", + "openipc.hi3516ev300-nor-ultimate-split.tgz": { + "size": 9100000, + "digest": "sha256:d7117e75acc65625f2ce9fdfd7a8443060fd11a5976e9db75f7d6e5682ae053a", + "updated_at": "2026-09-23T18:33:07Z", "release": "nightly-20260923-830fa4c" }, "openipc.hi3518cv100-nor-lite.tgz": { @@ -915,6 +915,18 @@ "updated_at": "2026-08-27T10:55:39Z", "release": "latest" }, + "u-boot-hi3516cv300-nand.bin": { + "size": 228688, + "digest": null, + "updated_at": "2026-10-21T05:37:36Z", + "release": "latest" + }, + "u-boot-hi3516cv300-nor.bin": { + "size": 141888, + "digest": null, + "updated_at": "2026-10-21T15:06:15Z", + "release": "latest" + }, "u-boot-hi3516cv300-universal.bin": { "size": 131852, "digest": "sha256:5b482f91e6095ede8b6ab082844c714180e63cb5c55dab3ebcf4a404f2e86a80", @@ -957,6 +969,12 @@ "updated_at": "2026-05-16T17:32:39Z", "release": "latest" }, + "u-boot-hi3516ev100-nor.bin": { + "size": 141772, + "digest": null, + "updated_at": "2026-10-21T05:38:13Z", + "release": "latest" + }, "u-boot-hi3516ev100-universal.bin": { "size": 131856, "digest": "sha256:9bc6d8080e9a451bc2d20dd212df4ed7884080bc237aac4027b952cc2d52b3fd", diff --git a/service/internal/wizard/testdata/documents.json b/service/internal/wizard/testdata/documents.json index 0c8edd6f..c1cb8cb2 100644 --- a/service/internal/wizard/testdata/documents.json +++ b/service/internal/wizard/testdata/documents.json @@ -48,7 +48,7 @@ "hi3516av300": "a48f71c240e964d43ca5537735d1b4f49a23230ec056a89e3d136ae7b5c1f78f", "hi3516cv100": "16ebf0af251a56bdf08b94f4da70ac950dfc6e6f4b949f381517b78856dc0186", "hi3516cv200": "d611170fef4b6c7aa0d140142c3d7fbb7f33b745cd613f8ed310c298fbad5a27", - "hi3516cv300": "062679fbdec3110f7e79e8f5b3523f120e9d04131ce38ed7a0146cece74783d5", + "hi3516cv300": "c719ae9e580b4d8f96274a34979a522ab799edb49bb84a6e4712291efc70227e", "hi3516cv500": "e9cbf0d61ac823d7dc3d658da6023664bde7245693508f48eb88bd3c3ea0a088", "hi3516cv608": "eeecdee5f8349f5a88bb390016940300912957a419a980ba26db9de0badd4f14", "hi3516cv610-ddr2-64m": "00288ba564fca0052eefc289acdb787b1712f8bb3dc7264ec49d2d20e1c779a1", @@ -57,9 +57,9 @@ "hi3516dv100": "96d70bfa827ac1775d23b4bbcbaae421dd73dd43da953bc2612ff195dcc816d0", "hi3516dv200": "5f31851211e87f0b50dc7adf956a240bc95902dc449e00f1f3ec90f5f7348a6c", "hi3516dv300": "58094f341267b2f79c139943e598ec4e4566ef532fae0d37f69ef177ae2cfa0d", - "hi3516ev100": "08d620f1f95d79120d0cd6678c7bdf5264246561d24b1cffb93d5e20b941abcb", + "hi3516ev100": "78a18f013962c6992118f0cb322ef76fc4dd31e8ac9d681277887f53dffc178e", "hi3516ev200": "642d5feae7d0a0efd57bd715b2303a06334d0403bff12168e62e6a18fa11a1e4", - "hi3516ev300": "d01f56cdfbbd355b208c2470910a6c27602d5f704a029828637c97e515207710", + "hi3516ev300": "e1ece3a649e6b21ee14d82eb91604c88c38e7fb0b3936f077760b4e6ced4d4c5", "hi3518cv100": "cf8b3dc550399fe235c451ec73ccf253ebae7557bee1c9837329aa0b1d546f4d", "hi3518ev100": "7078096db4d45ea5c58d3b968315f39831e1ae2eef21989a9c754bfebc7f0227", "hi3518ev200": "226017b7381b2216707679e20bfea3accdf57ad76cee736223408998d5ca5642", diff --git a/service/internal/wizard/wizard_test.go b/service/internal/wizard/wizard_test.go index ae0a3a15..704c6af4 100644 --- a/service/internal/wizard/wizard_test.go +++ b/service/internal/wizard/wizard_test.go @@ -306,8 +306,8 @@ func TestUBINandLines(t *testing.T) { // combinations, no install lines pointing at a file that is not there. func TestUBINandWithoutItsBootloaderIsNotOffered(t *testing.T) { cat, idx := inputs(t) - soc := *cat.SoC("hi3516ev300") - soc.UBootNANDFilename = "u-boot-hi3516ev300-unpublished-nand.bin" + soc := *cat.SoC("hi3516ev200") + soc.UBootNANDFilename = "u-boot-hi3516ev200-unpublished-nand.bin" d := decode(t, Document(&soc, idx)) if nand := d["editions"].(map[string]any)["nand"].([]any); len(nand) != 0 { t.Errorf("NAND editions %v offered without a published NAND bootloader", nand) @@ -572,7 +572,7 @@ func TestScanningBootloaderNORInstall(t *testing.T) { } } - old := cam("hi3516cv300", "nor8m", "nor8m") + old := cam("hi3516cv200", "nor8m", "nor8m") if old.scansLayout() || !strings.Contains(strings.Join(old.flashingLinux(), "\n"), "run uknor8m; run urnor8m") { t.Errorf("a -universal bootloader lost its macros: %s\n%s", old.bootloader(), strings.Join(old.flashingLinux(), "\n")) }