arm64: dts: qcom: x1e80100-denali-oled: enable front camera - #87
Draft
ooaklee wants to merge 5 commits into
Draft
Conversation
Document the Sony IMX681 image sensor and its currently validated 3840x2640 RAW10 profile. The profile uses a single CSI-2 C-PHY trio at 2406 Msymbol/s and an external 19.2 MHz clock. List turbinebmw as maintainer, following the original public camera review series from which the sensor work was developed. Link: https://github.com/turbineBMW/surface-pro-11-linux/blob/05e5335bc72476d44390336701cf03efa5fd0165/kernel/sp11-camera-review.patch Link: d915d67 Signed-off-by: Leon Silcott <leon@boasi.io>
Add a standalone V4L2 driver for the IMX681 front-camera mode validated on the Surface Pro 11. The driver programs 3840x2640 RAW10 at about 30 frames per second and supports frame length, 24-bit exposure, analog gain, and digital gain controls. Reject firmware descriptions other than the validated one-trio C-PHY topology, 1.203 GHz V4L2 link frequency, and 19.2 MHz input clock before powering the sensor. This keeps the observed register sequence scoped to the hardware profile on which it was tested. The register tables and initial driver were developed from turbinebmw's public camera review series, then corrected and runtime-validated in the SP11 integration branch. Link: https://github.com/turbineBMW/surface-pro-11-linux/blob/05e5335bc72476d44390336701cf03efa5fd0165/kernel/sp11-camera-review.patch Link: d915d67 Signed-off-by: Leon Silcott <leon@boasi.io>
Add an explicit MIPI C-PHY mode and teach the X1E80100 combo PHY to accept only the validated one-trio, 2.406-Gsymbol/s receiver profile. Program the bounded X1E register sequence, clear its interrupt state, and apply its shutdown sequence while the PHY clocks remain available. Keep the existing D-PHY configuration and shutdown paths unchanged. The C-PHY clock vote, interrupt, programming, and shutdown paths are selected only after the consumer requests C-PHY and the X1E capability data accepts trio 0 and the exact symbol rate. The register observations were independently transcribed from runtime MMIO activity on the Surface Pro 11. This port builds on turbineBMW's public CAMSS review series and geocausa's Windows/QTI parity analysis. Link: https://github.com/turbineBMW/surface-pro-11-linux/blob/05e5335bc72476d44390336701cf03efa5fd0165/kernel/sp11-camera-review.patch Link: d915d67 Signed-off-by: Leon Silcott <leon@boasi.io>
Accept C-PHY endpoints only for X1E80100 CAMSS and only for the validated one-trio topology at the 1.203-GHz V4L2 link frequency. Propagate the bus type through CSIPHY and CSID, select the X1E receive clocks, and program the CSID C-PHY receiver fields. Leave the existing D-PHY clock, lane, and receiver programming paths unchanged. This re-lift excludes the source integration's VFE write-mode, CSID crop and drop-engine changes, status logging, and sensor-specific format handling. Non-SP11 D-PHY hardware testing remains required. The receiver routing builds on turbineBMW's public CAMSS review series and geocausa's Windows/QTI parity analysis. Link: https://github.com/turbineBMW/surface-pro-11-linux/blob/05e5335bc72476d44390336701cf03efa5fd0165/kernel/sp11-camera-review.patch Link: d915d67 Signed-off-by: Leon Silcott <leon@boasi.io>
Describe the OLED Surface Pro 11 front camera as a Sony IMX681 on CCI1 with its MCLK4, reset, analog and I/O supplies, and privacy indicator. Route the one-trio C-PHY endpoint through CSIPHY2 at the validated 1.203 GHz V4L2 link frequency. Keep the graph and all board wiring in the Denali OLED DTS. This commit depends on the standalone IMX681 driver and the separately reviewed X1E80100 C-PHY receiver support; it does not change shared drivers. Link: https://github.com/turbineBMW/surface-pro-11-linux/blob/05e5335bc72476d44390336701cf03efa5fd0165/kernel/sp11-camera-review.patch Link: d915d67 Signed-off-by: Leon Silcott <leon@boasi.io>
This was referenced Aug 31, 2026
ooaklee
added a commit
to ooaklee/linux_ms_dev_kit-sp11
that referenced
this pull request
Sep 1, 2026
Integrate jglathe#87 for combined SP11 testing.
jglathe
force-pushed
the
jg/ubuntu-qcom-x1e-7.2.y
branch
from
September 3, 2026 10:32
87bcf07 to
4943ee7
Compare
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
Dependency and status
This PR is intended to target
jg/ubuntu-qcom-x1e-7.2.ydirectly. Review it after #82, #83, and both preceding camera topics:The head is stacked on
x/sp11-camera-cphy, which is itself stacked onx/sp11-camera-imx681, so the GitHub diff is cumulative until both prerequisite topics are merged into the release branch. The board-graph-specific portion is the single commit afterf8ef631fcdd4. It does not merge the broad-sp11staging branch or replay the correction already merged through #81.This PR is a draft. It completes the minimum cumulative path needed to exercise the split camera stack, but the exact branches still require the hardware checks below.
Containment
x1e80100-microsoft-denali-oled.dtsProvenance
The Denali graph commit is authored by Leon Silcott, carries the authorized
Signed-off-by: Leon Silcott <leon@boasi.io>, and preserves its source link to the final integration state in d915d679423e.The graph and receiver topology derive from @turbineBMW's public camera review patch at immutable revision
05e5335bc724. @turbineBMW is explicitly credited, but noSigned-off-byorCo-authored-bytrailer is attributed because the referenced source did not provide one for this rewritten commit.Validation
git diff --check f8ef631fcdd4..HEADfor the incremental Denali graph topicqcom/x1e80100-microsoft-denali-oled.dtbbuilds successfullyCHECK_DTBS=yvalidation for the changed graph is clean; full-tree checking reports only pre-existing warnings outside this topicHardware checks still required