Set the clock parent.
Many IPs have a mux external to the IP that can select among different clock sources. The clock must be disabled (TISCI_MSG_VALUE_CLOCK_SW_STATE_UNREQ) for this message to succeed. If a set frequency command is not issued before the clock is enabled again, then the execution of the enable command will attempt to set the new parent to the old parent's frequency. If this fails, then the enable will fail.
Muxes that provide clocks to multiple devices are not currently configurable via this API.
- Parameters
-
hdr | TISCI header |
device | The device ID that the clock is connected to. |
clk | Each device has its own set of clock inputs. This indexes which clock input to modify. |
If the clock index is 255 or greater, this field should be set to 255 and the full value placed in the clk32 field. This is kept for backwards compatibility with older firmwares.
- Parameters
-
clk32 | Stores the actual clock index if clk field is set to 255. This field is ignored otherwise. This field can hold the full range of possible clock indexes, but for compatibility with older firmwares should only be used when the index is 255 or greater. |
parent | The new clock parent is selectable by an index via this parameter. |
If the parent clock index is 255 or greater, this field should be set to 255 and the full value placed in the parent32 field. This is kept for backwards compatibility with older firmwares.
- Parameters
-
parent32 | Stores the actual parent clock index if parent field is set to 255. This field is ignored otherwise. This field can hold the full range of possible parent clock indexes, but for compatibility with older firmwares should only be used when the index is 255 or greater. |