Repository navigation
Conversation
60fd6dc to
61b68c3
Compare
|
Rebased onto What changed in this revision:
Verified on a Hi3516CV610 with an IMX335, using exactly the file this package
Caveat, stated in the body too: the image itself is still unflashed — CI builds |
The package only built the SigmaStar Infinity6E backend. Teach it the second one the encoder carries: on hi3516cv6xx the CV610 slice is compiled against the public OpenHisilicon headers (CV610_SDK_INC pointed at the opensdk checkout) and linked against the vendor MIPI/ISP libraries the osdrv package already installs, which is the same pair the daemon is built against outside the image. CV610 has no sensor module to compile -- its sensors are plugins the daemon dlopen's -- so the package runs the tree's sensor-cv610 target and installs libsns_imx662.so and libsns_imx335.so over the stock plugin paths, instead of overwriting SigmaStar _mipi.ko names. The init script stays the shared one: it starts the daemon and never loads kernel modules, so on CV610 it runs on the vendor module set S70vendor put up at boot. That is deliberate. The patched open_sys_config with the runtime sensor clock and the open_pm_stub belong to a separate firmware track, and neither is needed for the IMX335, every mode of which runs on the boot clock. The shipped /etc/waybeam.json deliberately does not name the sensor: waybeam resolves the part from the system ($SENSOR, then the u-boot env, then ipcinfo), which is the same env the loader follows for the sensor modules and the input clock. A config key could only disagree with what the craft loaded. hi3516cv6xx_waybeam_defconfig is the image: the ultimate 16 MB envelope with Majestic and Divinus replaced by waybeam. Its BR2_OPENIPC_VARIANT is "waybeam" rather than "ultimate", so the image carries its own upgrade identity and cannot collide with the published majestic channel, and ci-matrix names it under UNBUILT_BOARDS because it is not one of the standard lite/ultimate/neo variants that matrix builds. Depends on OpenIPC/waybeam carrying the CV610 sensor plumbing and the IMX335 plugin (the two waybeam PRs): until they land, WAYBEAM_VERSION=HEAD does not provide sensors/cv610/imx335.
61b68c3 to
2022f65
Compare
|
Head is now A real image was built and inspected locally (
Still not flashed: the image is for a UART/NAND flash that has not happened yet. |
|
The image has been flashed on the Hi3516CV610 + IMX335 board (split layout, What the board reports after the reboot:
One observation that is not this PR's making, recorded so it is not |
|
will back later |
What
Build the CV610 backend in the image, and add a CV610 image that runs waybeam
instead of majestic/divinus.
waybeam.mk: onhi3516cv6xxthe CV610 slice is compiled against thepublic OpenHisilicon headers (
CV610_SDK_INC→ the opensdk checkout) andlinked against the vendor MIPI/ISP libraries the
osdrvpackage alreadyinstalls — the same pair the daemon is built against outside the image.
compile: its sensors are plugins the daemon
dlopens. The package runs thetree's
sensor-cv610target and installslibsns_imx662.soandlibsns_imx335.soover the stock plugin paths, instead of overwritingSigmaStar
_mipi.konames.loads kernel modules, so on CV610 it runs on the vendor module set that
S70vendorput up at boot. That is deliberate: every IMX335 mode runs on theboot clock, so the patched
open_sys_config(runtime sensor clock) andopen_pm_stubfrom the separate firmware track are not needed here./etc/waybeam.jsondoes not name the sensor. waybeamresolves the part from the system (
$SENSOR, then the u-boot env, thenipcinfo) — the same env the loader follows for the sensor modules and theinput clock. A config key could only disagree with what the craft loaded.
hi3516cv6xx_waybeam_defconfig: the ultimate 16 MB envelope with Majesticand Divinus replaced by waybeam.
BR2_OPENIPC_VARIANT="waybeam"gives theimage its own upgrade identity so it cannot collide with the published
majestic channel, and
ci-matrix.pylists it underUNBUILT_BOARDSbecauseit is not one of the standard variants the matrix builds.
Depends on
OpenIPC/waybeam#126(CV610 sensor plumbing) and#127(IMX335 plugin): untilthey land,
WAYBEAM_VERSION=HEADprovides neither the CV610 backend norsensors/cv610/imx335.Verified
waybeam.cv610.jsonwas deployed as/etc/waybeam.jsonon aHi3516CV610 with an IMX335 (daemon built from Anyka ak3918 #126 + [Firmware] Enable the watchdog kernel module on hi3516cv200/hi3518ev200 devices #127) and restarted:
bring-up logs
> CV610 sensor: imx335 (from u-boot env)— the config names nosensor —
/api/v1/configcontains nosensorType,/api/v1/modesreportsthe five IMX335 modes with
selected_mode0,contract_version0.31.0, andthe 2592x1944@30 mode produces live 1920x1080 HEVC plus a 5 MP snapshot.
VPSS 2592x1944 -> 1920x1080,H.265 1920x1080@30 CBR=6000.in this round. The check above exercises the package's config and the daemon
it installs, not the bootloader/kernel payload.