Clocks

QB queries the clock node in the DTB and requests BPMP-FW to configure peripheral clocks, which are defined in clocks' device tree node. For example:

clock {
    periph =
        /*   ClockId       ResetId           ParentClkId           RequiredRate */
        < CLK_ID(QSPI0)    RESET_ID(QSPI0)   TEGRA194_CLK_PLLP_OUT0  136000000 >,
        < CLK_ID(QSPI1)    RESET_ID(QSPI1)   TEGRA194_CLK_PLLP_OUT0  136000000 >;
};

Where:

  • ClockID and ResetID are defined in the BPMP-FW clock ABI documentation.
  • ParentClkId is the ID of the clock to be set as parent of the current clock.
  • RequiredRate is the rate to be set for the current clock.

To keep the default setting of a clock (as set by BPMP-FW), set ResetID to RESET_ID_INVALID, ParentClkId to PARENT_CLK_ID_INVALID, and RequiredRate to CLK_RATE_INVALID.