NVIDIA Jetson TK1 device-nvidia-jetson-tk1 · devkit Tegra K1 T124 · quad Cortex-A15 armv7 RO-OS · grate kernel 6.18.29 (r36 #37)
Jetson TK1 · 2014 · reference board

The reference board,
not the destination.

A wall-powered devkit doing double duty as the fleet's CI hardware and GPU/GRATE proving ground — every register-level fix landed here cascades to the battery-powered Tegra K1 tablets waiting on the exact same silicon.

Kernel
6.18.29-grate · r36
Signature HW
GK20A Kepler · 192 cores
SoC
Tegra K1 · T124
Vs. L4T
3.10 → 6.18
Android life
L4T · dev board
59%hw parity
10 of 17 subsystems live

Hardware

Every subsystem against stock L4T R21.x — and exactly where mainline stands.

WorkingVerify / partialBlocked / portingNot started

SMP boot, 4× Cortex-A15

LIVE

Quad Cortex-A15 @ 2.2 GHz + LP shadow core; clean SMP bring-up, re-verified on Kit A.

4×A15 · armv7

CPU DVFS (cpufreq)

LIVE

22 OPP entries, 204 MHz–2.32 GHz, ondemand governor — synthesized from the hardcoded CVB table, not a DT OPP list (a DT table would collide and corrupt cpufreq on this SoC family).

22 OPP · 2.32GHz max

Display / HDMI

LIVE

tegra-drm KMS drives HDMI 1.4a at native panel-free resolution.

tegra-drm · 1920×1200

Audio — analog + HDMI

LIVE

RT5640 codec on i2c-0 @ 0x1c; both the 3.5mm jack and HDMI audio paths landed with the r33 BCLK-PLL fix.

RT5640 · i2c 0x1c

USB 2.0 + 3.0

LIVE

Micro-B USB2 gadget (ci_hdrc) and USB3 host (tegra-xusb) both enumerate.

ci_hdrc + xusb

PCIe + Gigabit Ethernet

LIVE

Onboard Realtek RTL8111GS behind PCIe via R8169; eth0-dhcp brings the board up headless — the devkit's WiFi-free access path.

eth0 · R8169

microSD + eMMC

LIVE

Both boot paths verified. Rootfs is always pinned by UUID — mmcblk numbering is non-deterministic across boots.

mmcblk · UUID-pinned

Thermal sensing

LIVE

Four zones — cpu / gpu / pll / mem — all report; idle around 29°C.

4 zones · 29°C idle

Watchdog

LIVE

Kernel watchdog armed, re-verified on hardware.

wdt · armed

zram swap

LIVE

A mainline-only improvement — L4T 3.x shipped no compressed swap at all.

zram · mainline-only

GPU acceleration (GK20A)

THE WALL

nouveau is built =m and blacklisted: modprobe hard-hangs the GK20A probe outright — a kernel-side wedge, not a missing-userspace gap. All rendering today is llvmpipe software (glmark2 Score 17). The fleet's shared Kepler wall — root-caused here first because this board has a real console.

GK20A · PROBE HANG

EMC memory DVFS

PORTING

tegra30_devfreq is blacklisted — tegra_actmon_resume NULL-derefs during udev coldplug on r24+ kernels. Low functional impact (EMC pins at boot clock) but it's now a cross-device boot blocker: Shield Tablet already carries the same blacklist.

actmon · NULL-DEREF

Suspend / resume (SC7)

PORTING

A kworker hangs on suspend entry — the same upstream Tegra K1 issue tracked as pmaports #53 against the Nexus 9.

SC7 · kworker hang

AS3722 PMIC interrupt

PORTING

IRQ 84 storms roughly 200k unhandled firings at boot; the kernel auto-disables the line around t≈60s. RTC-alarm wake and PMIC fault reporting are dead as a result — the power button is unaffected (separate GPIO IRQ 132).

IRQ 84 · ~200k storms

Software poweroff

PORTING

No AS3722 power-off handler is wired up. poweroff halts the CPU but the rails stay hot — the only way down is pulling the 12V barrel.

AS3722 · no rail cut

Fan PWM control

VERIFY

Four thermal zones and cooling_device0 are registered; the actual PWM response to the cooling map under sustained load hasn't been driven yet.

cooling_device0 · untested

SATA

VERIFY

The Tegra AHCI driver is present in mainline; no drive has been connected to the bench to confirm enumeration.

tegra-ahci · no HW

Beyond the vendor L4T

What a living mainline kernel gets over a frozen 2014 Ubuntu/3.10 vendor BSP — plus the one thing only this board does for the fleet.

6.18

A living kernel

Mainline 6.18.29-grate where L4T froze at Ubuntu 14.04 / kernel 3.10 in 2014 — over a decade of upstream security and driver work this board keeps for free.

Same living-kernel story as every other device in the fleet, just wearing a devkit's clothes.
⬡

The fleet's GK20A reference

The probe hang blocking GPU accel here (see Live sprint) is the exact same Kepler wall sitting in front of the Nexus 9, Shield Tablet, and Project Tango — three battery-powered devices sharing this GPU.

Solve it once, on the board with a real serial console and no battery to protect, and three others move at once.
⏚

Cross-device fixes already shipped

The tegra30_devfreq actmon NULL-deref root-caused on this board is already carried as the identical blacklist on the Shield Tablet.

Proof the reference role pays for itself before the GPU wall even falls.
—

Felt parity: N/A by design

Track R has no touch panel, no battery, and no gesture shell to feel snappy or vibrate on commit — the fleet-wide felt-parity baseline (docs/FLEET_TRACKS.md) applies to Tracks 1–4 only.

This board's job is silicon, not shell feel — said honestly rather than papered over.

Road to RO-OS

The fleet-wide phase ladder (P0 boots → P7 full parity). This board's phase reads P4 — but Track R doesn't climb this ladder for itself.

P0
Boots
Kernel + initramfs + rootfs mount, console reachable.
P1
Access
Serial UART and eth0-dhcp SSH — no WiFi bring-up needed on this board.
P2
Display + Touch
tegra-drm KMS lights HDMI. Touch is N/A — headless devkit, no panel.
P3
Connectivity
Gigabit Ethernet associates in place of WiFi/BT — wired by design, not a gap.
P4 · current
Core I/O
Audio out/in and thermal sensing are live; battery + charge intelligence is N/A (wall-powered). EMC DVFS, PMIC IRQ, and poweroff remain open — current rung.
P5
GPU + Wayland
Blocked on the GK20A probe hang. sway/GLES2 runs today only on llvmpipe software rendering.
P6
RO-OS shell
N/A for this device — no touch/battery UX to host a gesture shell on a wall-powered devkit.
P7
Full parity
N/A — no cameras or modem by design. Suspend/poweroff matter here only as fixes for the battery-powered fleet.
Honest framing: Jetson TK1 is Track R — a wall-powered devkit with no touch panel, no battery, and no gesture shell to host. It will never run RO's touch-UX at P6, because there is no touch UX here to run. Its job is to clear the shared Kepler GK20A wall at P5 so the battery-powered Tegra K1 devices — Nexus 9, Shield Tablet, Project Tango — can climb past P4 on real GPU acceleration instead of llvmpipe software rendering. Read this ladder as "what this board unlocks for the fleet," not a personal roadmap.

Live sprint

What's on the bench right now.

In flight

GK20A probe hang — the shared Kepler wall

✓
Core platform re-verified on Kit A

Boot, SMP, CPU DVFS, display, audio, USB, PCIe/GbE, storage — all re-confirmed on real hardware at r36. Ten of seventeen rows on the parity checklist are closed.

Kit A · r36 · 2026-05-20
✓
EMC devfreq NULL-deref isolated, blacklisted fleet-wide

tegra_actmon_resume NULL-derefs on udev coldplug — root-caused here first. The same blacklist-actmon.conf workaround is already carried on the Shield Tablet (device-nvidia-shieldtablet-grate, commit 361fdf9): the reference role already paid for itself once, before the GPU even lands.

blacklist tegra30_devfreq · cross-device
3
Root-causing the GK20A probe hang

modprobe nouveau hard-hangs the board outright — a kernel-side probe wedge, not a missing-firmware gap. UART + drm.debug=0x1e capture is in progress to pin the wedge to GPU power-domain ungate, GK20A clock setup, or GR-falcon FECS/GPCCS ucode load.

nouveau · =m, blacklisted · llvmpipe fallback