This is a tracking issue for the features of this library.
The TRM
The Tegra X1 Technical Reference Manual (TRM), along with the tegra210 drivers in the Linux kernel are probably the most complete and detailed sources of documentation of Tegra X1 SoC functionality out there. (Beware: Both are bad, but one better than the other!)
The TRM can be obtained from NVIDIA's download center as Tegra X1 (SoC) Technical Reference Manual as soon as you've created an account for free. It documents most hardware capabilities, which is a good starting point for new drivers.
Implementation Guidelines
-
Fundamentally, it is expected that registers are wrapped through register-rs and exposed.
- Even if actual logic can't be implemented due to the lack of knowledge/documentation, users have the possibility to do that themselves.
- An abstract driver implementation may not fit the needs of the user, giving them full control over what they are trying to achieve.
-
On top of the registers, a reference implementation of a driver can be built.
- It is expected that the core functionality of a device is exposed.
- These implementations should provide a safe and easy-to-use API for interfacing with the hardware.
- Code is expected to be well-documented so readers can understand the logic and purpose behind it.
Features
Not mentioned on the TRM but also relevant:
This is a tracking issue for the features of this library.
The TRM
The Tegra X1 Technical Reference Manual (TRM), along with the
tegra210drivers in the Linux kernel are probably the most complete and detailed sources of documentation of Tegra X1 SoC functionality out there. (Beware: Both are bad, but one better than the other!)The TRM can be obtained from NVIDIA's download center as
Tegra X1 (SoC) Technical Reference Manualas soon as you've created an account for free. It documents most hardware capabilities, which is a good starting point for new drivers.Implementation Guidelines
Fundamentally, it is expected that registers are wrapped through register-rs and exposed.
On top of the registers, a reference implementation of a driver can be built.
Features
2. Address and Interrupt Map3. Interrupt Controller4. Semaphores5. Clock and Reset Controller6. CL-DVFS7. Atomics8. Timers9. Multi-Purpose I/O Pins and Pin Multiplexing (Pinmux)10. Activity Monitor11. Real-Time Clock12. Power Management Controller13. Boot Process(WIP)14. Host Subsystem15. Video Image Compositor (VIC)16. CPU Complex17. Flow Controller18. Memory Controller19. AHB21. APB22. USB Complex23. Audio Processing Engine24. Display Controller25. Color Decompression Engine26./27. Display Interfaces28. HDMI CEC29./30. MIPI-CSI31. Video Input (VI)32. SD/MMC Controller33. SATA Controller34. PCI Express Controller35. I2C Controller36. UART Controller37. Serial Peripheral Interface (SPI) Controller(WIP)38. Quad Serial Peripheral Interface (QSPI) Controller(WIP)39. PWM Controller41. Boot and Power Management Processor-Lite42. CoreSight (Debugging)Not mentioned on the TRM but also relevant:
Tegra Security Co-Processor (TSEC)Security Engine (SE)NVHOST