Diary: keyboard pct13x2 found in vendor DTS

This commit is contained in:
2026-04-04 00:08:37 +02:00
parent b8efa8f742
commit 1326b3f847
+42
View File
@@ -456,3 +456,45 @@ The 0009 patch needs to add:
- `power-domains` to edp1, vop, and hdptxphy1
- `assigned-clocks`/`assigned-clock-parents` to vop
- `rockchip,pmu` phandle to vop
## Day 2 Very Late Night: Keyboard Investigation
### pct13x2 Identified from Vendor Kernel
The CoolPi vendor kernel (coolpi-george/coolpi-kernel, branch linux-6.1-stan-rkr5.1)
has the full GenBook DTS at \`rk3588-cpcm5-genbook.dts\`:
**Keyboard (pct13x2):**
- Bus: I2C5 (0xFEAD0000), pinctrl i2c5m3_xfer
- Address: 0x2C
- Compatible: \"hid-over-i2c\" (generic driver)
- HID descriptor register: 0x0020
- Interrupt: GPIO1_D6, active low
- Power: dedicated 5V regulator via GPIO1_A7 (vcc5v0_keyboard)
**Touchpad (g7500):**
- Bus: I2C4 (0xFEAC0000), pinctrl i2c4m3_xfer
- Address: 0x10
- HID descriptor: 0x0001
- Interrupt: GPIO1_A1, active low
**Battery gauge (CW2015):**
- Bus: I2C4, address 0x62
**Key insight:** The keyboard needs vcc5v0_keyboard regulator enabled
(GPIO1_A7 high) before it responds on I2C.
### Sandbox Testing Attempt
Built U-Boot sandbox with the HID-over-I2C driver (patch 0006) and a
custom I2C emulator. The emulator responds to HID descriptor reads
with a standard boot keyboard descriptor.
The sandbox binary builds and runs, but integrating the emulator into
the sandbox DTS requires more plumbing work. Saved for a future session.
The driver code itself looks correct — the I2C HID protocol implementation
follows the Microsoft HID-over-I2C v1.0 spec. The real risk is:
1. Keyboard power regulator not enabled (GPIO1_A7)
2. Interrupt GPIO not configured correctly
3. pct13x2 might have non-standard HID quirks