tasks: camera and fingerprint rows match what shipped
rear imx363 is at 0x1a on blueline, shipped in r162 on edge with the rotation fix; blueline-camera 1-1 owns the userspace half. fingerprint row catches up to its own task doc: wall down, protocol recovered.
This commit is contained in:
parent
575604abc6
commit
5224fcb013
2 changed files with 26 additions and 13 deletions
|
|
@ -1,7 +1,12 @@
|
|||
# TASK 46 — Camera
|
||||
|
||||
**Status:** rear sensor **written and building 2026-07-28**; the front pair was
|
||||
already wired. **Repo:** `Pixel3Arch` (kernel DT).
|
||||
**Status:** front pair proven on glass 2026-07-29. Rear IMX363 wired
|
||||
(`c7784b716`), answers at **0x1a** (`8fc7623a3`), rotation corrected
|
||||
(`457a667bd`) — all three on `blueline`, shipped as
|
||||
`linux-blueline-7.1.1.r162.g457a667bd3eb-1` on edge. Userspace half shipped as
|
||||
`blueline-camera` 1-1. Left: exposure/gain controls and a fresh acceptance pass
|
||||
on glass. **Repos:** `Fimeg/linux-blueline` (canonical kernel), `Pixel3Arch`
|
||||
(DT, packages).
|
||||
|
||||
## THE FRONT CAMERA WORKS — first frame captured 2026-07-29
|
||||
|
||||
|
|
@ -50,11 +55,13 @@ Gotchas that cost time, so they are written down:
|
|||
|
||||
### What this changes
|
||||
|
||||
The rear IMX363 DT work (`c7784b716`, branch `mic-race-fix`) is still worth
|
||||
finishing, but it is no longer the blocker for "does this phone have a camera".
|
||||
Next real steps are exposure/gain controls (`v4l2-ctl --list-ctrls` on the
|
||||
sensor subdev), then libcamera so something other than a shell script can open
|
||||
it, then TASK-12's face-auth question.
|
||||
The rear path is finished and shipped (see status). The userspace half is done
|
||||
too: `blueline-camera` 1-1 — libcamera's simple-pipeline soft-ISP exported
|
||||
through PipeWire, so a portal consumer sees a real camera — built by Pixel3Arch
|
||||
CI and published into the shared multi-producer edge archive. Recipe:
|
||||
`Pixel3Arch/pkgs/blueline-camera`. Remaining: exposure/gain controls
|
||||
(`v4l2-ctl --list-ctrls` on the sensor subdev), a fresh acceptance pass on
|
||||
glass for the rear path, then TASK-12's face-auth question.
|
||||
|
||||
## What was actually missing
|
||||
|
||||
|
|
@ -105,7 +112,13 @@ imx363 16-0010: failed to read chip id 363
|
|||
|
||||
`-ENXIO`, and `imx363_probe()` calls `imx363_power_on()` *before*
|
||||
`imx363_identify_module()`, so the rail, reset and MCLK were all exercised and
|
||||
nothing answered. Moved to **0x1a** (`8fc7623a3`), the remaining candidate.
|
||||
nothing answered. Moved to **0x1a** (`8fc7623a3`), the remaining candidate —
|
||||
landed on `blueline`, which also carries the rotation fix. Trap with a date:
|
||||
on 2026-08-20 both local kernel clones read that commit as missing, because
|
||||
their `origin` points at the sibling checkout and neither had ever fetched the
|
||||
forge branches. Fetch from `Fimeg/linux-blueline` before declaring a commit
|
||||
lost. `mic-race-fix` still sits at the 0x10 state and is superseded by
|
||||
`blueline`; fold or delete it.
|
||||
|
||||
**The expensive lesson is what a failed sensor probe does to the others.**
|
||||
`camss_subdev_notifier_complete()` creates every sensor→csiphy link, and
|
||||
|
|
|
|||
|
|
@ -21,9 +21,9 @@ Four that are cheap relative to what they unblock:
|
|||
is what stops a third capability enumeration existing.
|
||||
- **19 settings health readout** — three separate tasks (08f, 42, 34) all owe
|
||||
their surfacing to this one page.
|
||||
- **44 fingerprint, piece 1** — the vendor DT node and shim have sat unused in
|
||||
`staging/` since 2026-07-07. Wiring them buys a wake source; biometrics is a
|
||||
separate, harder question.
|
||||
- **44 fingerprint** — the TrustZone wall is down and the TA protocol is
|
||||
recovered; the next check is whether a finger raises an edge, with a direct
|
||||
instrument in hand.
|
||||
|
||||
## Live — built, one check outstanding
|
||||
|
||||
|
|
@ -83,8 +83,8 @@ Four that are cheap relative to what they unblock:
|
|||
| 51 | [viewtop to daily driver](51-viewtop-to-daily-driver.md) | The punch list between *runs* and *stable*, all of it found by using the phone: windows stack with nothing to tell them apart, screen capture is written and unmerged (so no UI change can be verified), volume buttons are recognised and dropped, and five named holes that are one decision each. |
|
||||
| 48 | [Shell dies on any reload that owes a lock](48-lock-surface-reload-fatal.md) | **Unblocked.** Viewtop's lock admission/restore and two-client handoff now exist. The QML root still lacks the reload identity its children carry; the locked reload acceptance has not been rerun. |
|
||||
| 47 | [Auto-brightness: anchors, none of it built](47-auto-brightness-anchors.md) | §12 reads as settled and has **zero** code behind its actuation half — no brightness `Action`, no anchors, `grep anchor src/` is empty. The evidence half (lux in, health tracked) is live. |
|
||||
| 46 | [Camera: **the front camera works**](46-camera-imx363.md) | **First frame captured 2026-07-29** on the running kernel — no reboot, no DT change. Both front IMX355 were already bound; nobody had tried streaming. Recipe + the stride/packing gotchas are in the task. Next: exposure controls, then libcamera. Rear IMX363 DT (`c7784b716`) still unbuilt but no longer the blocker. |
|
||||
| 44 | [Fingerprint (FPC1020)](44-fingerprint-fpc1020.md) | Piece 1 (wake source / input) is a session — DT + shim already extracted. Piece 2 (biometrics) is a TrustZone question, answer it before scheduling it. |
|
||||
| 46 | [Camera](46-camera-imx363.md) | Front proven 2026-07-29; rear IMX363 wired, answered at **0x1a**, rotation-corrected — all shipped in `linux-blueline` r162 on edge. Userspace stack shipped as `blueline-camera` 1-1. Left: exposure/gain controls and a fresh acceptance pass on glass. |
|
||||
| 44 | [Fingerprint (FPC1020)](44-fingerprint-fpc1020.md) | TrustZone wall down 2026-08-01; TA protocol recovered 2026-08-09 (`Pixel3Arch/docs/fpc-ta-protocol.md`). Sensor arms with the line idle-low. Open: does a finger raise an edge — direct instrument exists (`fpc_ta_check_finger_lost`). |
|
||||
| 45 | [Haptics (CS40L20)](45-haptics-cs40l20.md) | **First: which chip actually drives the motor** — `pmi8998_haptics` is what the dial's detents use today. Then port `cs40l2x` from Kirisakura; firmware blobs are committed. |
|
||||
| 41 | [Producers must be attested](41-attested-producers.md) | Design first. Demonstrated live 07-28 — a squeeze and a dial-open both accepted from an SSH shell. |
|
||||
| 36 | [CHRE nanoapp host for the SLPI](36-chre-nanoapp-host.md) | Three methods to add; method table recovered 07-27. No longer on grip's critical path — wanted for DozeDeep detection and `elmyra_haptics_control`. |
|
||||
|
|
|
|||
Loading…
Reference in a new issue