GPU first light: confirm the RGX core ID, then boot the firmware #59
Labels
No labels
blocked-physical
cleanup
hardware
infra
kernel
P1-critical
P2-high
P3-normal
P4-later
reliability
security
upstream
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
tiagoagueda/a80#59
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Part of #55. First step that touches the board - do not start it until the kernel side
is building and the regulator identity is settled.
Step 1 - the highest-information test in the whole plan
Power and clock the block, then read the RGX core ID register and confirm it reports
1.75.2.30.That single read proves register access, all four clocks, the
GPU_CTRLenable bit and the powerrail at once, before any firmware is involved. If it returns garbage or zero, the problem is
in the device tree, not the driver.
Step 2 - firmware upload
The firmware is embedded in
/vendor/lib/libsrv_init.so's.data, not shipped as a file, andthe kernel never loads it - there is no
request_firmwareanywhere inrogue_km. The chain is:So: install the matching vendor userspace, run
pvrsrvctl --start, and watch for the firmware toboot.
Done when
Firmware boots and the FW heartbeat / KCCB responds.
If the core ID reads correctly but the firmware never starts, suspect memory attributes (uncached
vs write-combine) or the MMU setup rather than the upload path.
WARNING: powering an unfamiliar rail on this board has form - see #53, and the PL02 result in
35-a15-rail-enable.mdwhere driving a rail high took the board down instantly.