Skip to main content

Tachyon Device Tree Source

The Tachyon Device Tree Source (DTS) contained here is the output from the Qualcomm build for Ubuntu 20.04 that uses their Yocto base and then "some overlaying" of the Ubuntu 20.04 image. Much of it is derived from Qualcomm provided DTS definitions for the QCM6490 platform. The Qualcomm platform name for QCM6490 is "yupik", hence the base .dts file for the Tachyon platform is yupik-iot.dts. This file includes many other files for the various subsystems of the SoC, including PMICs, pin control, peripherals, camera, displays, usb, modem, audio etc.

The source can be downloaded here.

Device Tree Bindings

The DTS files reference bindings from the 5.14 kernel used for the Tachyon 20.04 build. Those bindings and documentation have been included as well. Compiling and loading custom DTB files for the 20.04 build is not supported, these files are provided for reference only.

DTB vs DTBO at runtime

The DTB is the baseline description of the hardware. It defines the SoC, buses, memory map, and supported peripherals. This file rarely changes between board variants because it captures the platform fundamentals.

The DTBO is a lighter-weight layer that modifies or augments the baseline description. Overlays are commonly used to describe board-specific details such as GPIO mappings, attached displays, or PMIC variants. At runtime, the boot chain first loads the DTB, then applies the DTBO on top of it. The combined result is the effective device tree passed to the kernel.

Device Tree Blob (DTB)

The DTB is compiled as part of the kernel build and is appended to the XBL bootloader. The hierarchy is as follows

## Filename ##                             ## Notes ##
yupik-iot.dts
yupik-iot.dtsi
yupik.dtsi - Root soc definitions
shima-gdsc.dtsi
yupik-coresight.dtsi
yupik-pinctrl.dtsi - Pin configuration nodes
yupik-pm.dtsi
ipcc-test-yupik.dtsi
ipcc-test.dtsi
yupik-regulators.dtsi
display/yupik-sde.dtsi
yupik-sde-common.dtsi - DSI PHY definitions
yupik-pcie.dtsi
qcx6490-cnss.dtsi
yupik-vidc.dtsi
yupik-usb.dtsi
pm7325.dtsi
yupik-ion.dtsi
msm-arm-smmu-yupik.dtsi
yupik-qupv3.dtsi - Peripheral configuration (i2c, usart, spi, etc)
yupik-audio.dtsi - Sound card configuration
msm-audio-lpass.dtsi
yupik-lpi.dtsi - "low power island" pin configuations
camera/yupik-camera.dtsi - CSI PHY definitions
msm-rdbg.dtsi
yupik-gpu.dtsi
yupik-thermal.dtsi
lahaina-thermal-modem.dtsi

Notable files

  • yupik.dtsi
    • This is the root file of the DTB and contains the main CPU and memory definitions and the top level soc node.
    • Most of the particle specific changes have been added to this file.
  • yupik-pinctrl.dtsi
    • This file contains all of the available pin configurations for different peripheral configurations

Device Tree Overlay (DTBO)

The Device Tree Blob Overlay (DTBO) is also compiled as part of the Yocto kernel build. The overlay file has its own dtbo partition and is overlayed onto the DTB at boot time. The root file used to compiled the DTBO is yupik-iot-idp-pm7250b-overlay.dts

## Filename ##                                                             ## Notes ##
yupik-iot-idp-pm7250b-overlay.dts: - Particle Tachyon model override
yupik-iot-idp-pm7250b.dtsi:
yupik-idp-pm7250b.dtsi:
yupik-pmic-overlay.dtsi:
pmk8350.dtsi:
pm7325.dtsi:
pm8350c.dtsi:
pmr735a.dtsi:
pm7250b.dtsi:
yupik-audio-overlay.dtsi:
yupik-pm7250b-thermal-overlay.dtsi:
display/yupik-sde-display-idp-pm7250b.dtsi: - DSI Panel Power/Reset GPIO overrides
yupik-sde-display.dtsi
yupik-sde-display-common.dtsi - DSI panel timings and pixel clock definitions
dsi-panel-nt36672e-fhd-plus-144-video.dtsi
dsi-panel-nt36672e-fhd-plus-120-video.dtsi
dsi-panel-nt36672e-fhd-plus-90hz-video.dtsi
dsi-panel-nt36672e-fhd-plus-60hz-video.dtsi
dsi-panel-nt36672e-fhd-plus-144hz-video-cphy.dtsi
dsi-panel-r66451-dsc-fhd-plus-60hz-cmd-cphy.dtsi
dsi-panel-r66451-dsc-fhd-plus-90hz-cmd-cphy.dtsi
dsi-panel-r66451-dsc-fhd-plus-120hz-cmd-cphy.dtsi
dsi-panel-r66451-dsc-fhd-plus-120hz-video-cphy.dtsi
dsi-panel-r66451-dsc-fhd-plus-144hz-cmd-cphy.dtsi
dsi-panel-r66451-dsc-fhd-plus-144hz-video-cphy.dtsi
dsi-panel-sim-video.dtsi
dsi-panel-ext-bridge-1080p.dtsi
dsi-panel-ili9881p-720-video.dtsi
dsi-panel-ili9881d-720p-video.dtsi
dsi-panel-ili9881-video.dtsi - Panel Specific DSI initialization command sequence definitions, panel dimensions and timings