Appendix · reference

PineTab2 component support matrix

Tablet-specific component index for the RK3566 target.

This is the PineTab2 equivalent of the PinePhone Pro component matrix. It starts as a bring-up plan rather than a bench-proven support table: the tablet has not been booted by this tree yet, but the Linux DTS is now imported locally with a FreeBSD first-boot wrapper.

Status language is deliberately conservative:

SoC and Boot Foundation

ComponentStatusBus / addressFreeBSD path
Rockchip RK3566 ◐ partial application processorReuse RK356x/Quartz64 groundwork; add PineTab2 DTB
RK3566 CRU / pinctrl / GPIO ◐ partial SoC MMIOShared Rockchip infrastructure; verify board clock assignments
RK3566 IO domains ◐ partial PMU IO domainsLinux DTS maps pmu_io_domains; FreeBSD needs bench readback
RK3566 TSADC ○ blocked tsadc@fe710000Known reboot risk on RK3566 boards; keep disabled for first boot
SPI NOR / SFC ◐ partial SFC, dual I/O pinsFirst-boot DTB caps the flash at 50 MHz; boot order policy still needs bench proof

Storage and External I/O

ComponentStatusBus / addressFreeBSD path
eMMC ◐ partial sdhci, 8-bit, HS200Quartz64 covacat path is the reference; PineTab2 bench pending
microSD ◐ partial sdmmc0, 4-bitBoot/install target; PINETAB2 enables MMCCAM so MMC/SDIO module glue builds cleanly
USB2 / USB3 host ◐ partial EHCI/OHCI/xHCI + combophysUse for keyboard, USB Ethernet, USB WiFi; combophy selection matters
USB-C charging / OTG · not started Type-C + RK817 VBUS pathNeeds board-specific TCPC/role mapping before source/sink policy
micro-HDMI ◐ partial DW-HDMI, connector type DFirst graphical output target
Pogo keyboard ◐ partial USB 2.0 HIDShould work once USB host power is stable
PCIe custom connector · not started pcie2x1Disabled in the first-boot DTB; Linux DTS enables power/reset, but it is not part of first tablet bring-up

Display and Graphics

ComponentStatusBus / addressFreeBSD path
RK3566 VOP2 ◐ partial display controllerHDMI first; DSI path disabled in the first-boot DTB
DW-HDMI ◐ partial HDMI outputFreeBSD has DW-HDMI lineage; PineTab2 is where it matters
DW-MIPI-DSI0 · not started MIPI DSI hostDisabled in the first-boot DTB; RK3566 glue/panel proof waits until after HDMI and USB are repeatable
BOE TH101MB31IG002-28A panel · not started DSI panel@0Disabled with DSI for first boot; Linux compatible boe,th101mb31ig002-28a; needs panel driver
PWM backlight · not started pwm4Linux DTS has pwm-backlight; straightforward after panel power
Mali-G52 MP2 · not started GPUDisabled in the first-boot DTB; different GPU generation from PPP’s Mali-T860; treat as later DRM work

Power and Audio

ComponentStatusBus / addressFreeBSD path
RK817 PMIC ◐ partial i2c0 addr 0x20, IRQ GPIO0_A3Shared RK8xx core plus read-only PineTab2 battery/charger sysctls
RK817 charger / battery ◐ partial PMIC internalMonitor reads gas-gauge/charger registers; active charger programming waits for bench proof
TCS4525 CPU regulator · not started i2c0 addr 0x1cNeeded for DVFS correctness; first boot can rely on firmware defaults
RK817 codec · not started PMIC audio codec + I2S1Disabled in the first-boot DTB; different from PPP RT5640; route through simple-audio-card later
Speaker amplifier · not started GPIO4_C2Disabled in the first-boot DTB; simple-audio-amplifier pattern should transfer
Headphone detect · not started GPIO4_C6Userland routing policy later

Input, Sensors, Cameras

ComponentStatusBus / addressFreeBSD path
Goodix GT911 touchscreen ◐ partial i2c1 addr 0x5d, IRQ GPIO0_B0, reset GPIO0_C2Shared Goodix driver now matches GT911, selects address 0x5d, and reads the 186-byte GT9x config block; bench proof pending
SARADC volume keys ◐ partial SARADC channel 0rk_saradc now matches RK3568-compatible nodes; rk_adc_keys exposes debug sysctls for PineTab2 threshold proof
GPIO tablet/hall switches ◐ partial GPIO4_A4 and GPIO0_A6gpiokeys(4) now understands linux,input-type = <EV_SW> and can report SW_TABLET_MODE / SW_LID; bench proof pending
SC7A20 accelerometer ◐ partial i2c5 addr 0x18, IRQ GPIO3_A2Candidate sc7a20 iicbus driver exposes raw axis sysctls; IRQ/orientation policy waits for hardware
Flash LED · not started regulator LED on GPIO4_A5 railUseful after camera stack exists
OV5648 rear camera · not started i2c2 addr 0x36, MIPI CSIDisabled in the first-boot DTB; no current FreeBSD phone/tablet camera path
Front camera · not started MIPI CSIListed in Pine64 specs as GC02M2 class; not first-bringup work

Wireless

ComponentStatusBus / addressFreeBSD path
BES2600 WiFi ○ blocked sdmmc1, SDIO function, host-wake GPIO0_B7Disabled in the first-boot DTB; out-of-tree even on Linux; MMCCAM is enabled for bus/module correctness, not as a first-boot WiFi goal
BES2600 Bluetooth ○ blocked same combo moduleDo not block the tablet bring-up on it

Near-Term Tasks

  1. Stage a first-boot bundle with mise run stage:pinetab2, then install it onto a mounted SD card with mise run install:pinetab2:sd.
  2. Start mise run bench:pinetab2:firstboot -- start --name first-power, then boot to serial with micro-HDMI connected and USB Ethernet/WiFi available.
  3. Stop the UART capture, add the optional SSH receipt once networking is reachable, and run mise run bench:pinetab2:firstboot -- analyze.
  4. Prove sdhci, sdmmc0, USB host power, and the keyboard cover.
  5. Attach I2C buses and confirm RK817, Goodix, and SC7A20 respond at their DTS addresses.
  6. Only then start the DSI/panel path.

Source Material