hisilicon-ev200 / goke-gk7205v200: IMX307 high-fps presets#2093
Merged
Conversation
… to openhisilicon) Mirrors the IMX335 high-fps preset layout for IMX307 (2-lane MIPI variant, sony_imx307_2L driver). Bumps openhisilicon to 5b1aa42 which lands the IMX307 Isp_SnsMode flex-mode dispatch in libraries/sensor/hi3516ev200/sony_imx307_2L/. New / updated presets shipped under /etc/sensors/high-fps/ in both the hisilicon-osdrv-hi3516ev200 and goke-osdrv-gk7205v200 packages: - imx307_1920x1080_60fps.ini: boost-rate 1080p mode (Isp_FrameRate auto-promotion). Wire fps ~44 at h.265 4 Mbps (encoder pixel-rate ceiling); real benefit is latency — sensor readout drops from ~33 ms to ~16.7 ms, encoder picks frames from a 60 fps stream. - imx307_1280x720_60fps.ini: 720p sub-readout via WINMODE=1h (Isp_SnsMode=1). Replaces the prior bloated stock-style preset on the gk side with the IMX335-style minimal INI; the prior preset never actually engaged the 720p hardware path. Wire fps 60 (matches sensor). - imx307_640x480_130fps.ini: VGA flex window-crop (Isp_SnsMode=4). Wire fps 130 (encoder ceiling at 640x480 h.265 4 Mbps). - imx307_368x304_200fps.ini: smallest datasheet-allowed crop (WINWH>=368 mult-of-4, WINWV>=304). Wire fps 200, encoder ceiling band 200-219. All presets follow the existing IMX335 high-fps INI structure: minimal [sensor] / [mode] / [mipi] / [isp_image] / [vi_dev] sections, no vendor boilerplate. gk7205v200 variants carry the clock=37.125MHz [mode] override (vendor blob defaults to 27 MHz INCK; without it the rate is ~73% of nominal) — same gotcha as existing IMX335 gk-side presets. Wire-fps numbers verified on real hardware (gk7205v200 dev board, openipc-gk7205v200.dlab.doty.ru) via /proc/umap/venc SEND counter delta over a 5 s window. ev200 (Hisilicon-side, same silicon) expected to behave identically; not separately verified. Requires majestic >= widgetii/majestic#77 (V200 chip_id 45 fps clamp removed, already in master). Without that, 1080p60 and any preset with Isp_FrameRate>45 silently caps at 45 fps on V200. Install rules already glob *.ini under high-fps/ in both .mk files; new INIs ship without further packaging changes. Co-Authored-By: Claude Opus 4.7 (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
Companion to OpenIPC/openhisilicon#104 (merged as
5b1aa42). Ships four IMX307 high-fps INI presets under/etc/sensors/high-fps/for both V4 osdrv packages —hisilicon-osdrv-hi3516ev200andgoke-osdrv-gk7205v200— mirroring the existing IMX335 high-fps preset layout.Bumps
HISILICON_OPENSDK_VERSIONfrom8b5e47fto5b1aa42to pull in the IMX307Isp_SnsModeflex-mode dispatch added by openhisilicon#104.Presets
imx307_1920x1080_60fps.iniIsp_FrameRate=60imx307_1280x720_60fps.iniIsp_SnsMode=1imx307_640x480_130fps.iniIsp_SnsMode=4 + Isp_W/Isp_Himx307_368x304_200fps.iniIsp_SnsMode=4 + Isp_W/Isp_HAll four follow the existing IMX335 high-fps INI structure: minimal
[sensor]/[mode]/[mipi]/[isp_image]/[vi_dev]sections, no vendor boilerplate.Verified on real hardware
openipc-gk7205v200.dlab.doty.ruboard,sony_imx307_2Ldriver loaded with openhisilicon master after #104. Wire fps measured from/proc/umap/vencSEND counter delta over a 5 s window after a 6 s warm-up. ISPIntRatconfirms sensor delivers exactly the requested rate at each measurement; encoder is the wire-fps ceiling above sub-1080p modes.ev200 (Hisilicon-side, same silicon family) expected to behave identically — not separately verified on the Hisi board (re-uses the shared sensor driver source). 4-lane variant (
sony_imx307) not exposed by these presets (onlysony_imx307_2Lis shipped today); upstream driver carries the matching dispatch but is untested.gk7205v200 specifics
The gk-side INIs carry the
clock=37.125MHzoverride in[mode]— same as the IMX335 high-fps gk presets. Without it the gk vendor blob defaults to 27 MHz INCK and the delivered rate is ~73% of nominal.Notable INI update
imx307_1280x720_60fps.inion the gk-side is replaced (not merely modified). The prior file was a bloated stock-style INI with vendor boilerplate that never engaged the WINMODE=1h hardware path; majestic capped it at 45 fps via the V200 clamp and the sensor ran at 30 fps internally with VPSS downscale-from-1080p. The new file usesIsp_SnsMode=1to dispatch to the dedicated 720p sub-readout path landed in openhisilicon#104.Dependency on majestic
Requires majestic >= widgetii/majestic#77 (V200 chip_id 45 fps clamp removed, already merged on master). Without that, 1080p60 + any preset with
Isp_FrameRate > 45silently caps at 45 fps on V200 silicon — same gotcha as the existing IMX335 high-fps presets had before #77.Test plan
cli -s .isp.sensorConfig /etc/sensors/high-fps/...🤖 Generated with Claude Code