aboutsummaryrefslogtreecommitdiffstats
path: root/rust/helpers/bug.c
diff options
context:
space:
mode:
authorMichal Wilczynski <[email protected]>2025-06-23 11:42:39 +0000
committerBartosz Golaszewski <[email protected]>2025-06-24 13:55:05 +0000
commitd4c2d9b5b7ceed14a3a835fd969bb0699b9608d3 (patch)
tree893fe368a1a96ae26d6603636b4ce1752575affa /rust/helpers/bug.c
parentLinux 6.16-rc1 (diff)
downloadkernel-d4c2d9b5b7ceed14a3a835fd969bb0699b9608d3.tar.gz
kernel-d4c2d9b5b7ceed14a3a835fd969bb0699b9608d3.zip
power: sequencing: Add T-HEAD TH1520 GPU power sequencer driver
Introduce the pwrseq-thead-gpu driver, a power sequencer provider for the Imagination BXM-4-64 GPU on the T-HEAD TH1520 SoC. This driver controls an auxiliary device instantiated by the AON power domain. The TH1520 GPU requires a specific sequence to correctly initialize and power down its resources: - Enable GPU clocks (core and sys). - De-assert the GPU clock generator reset (clkgen_reset). - Introduce a short hardware-required delay. - De-assert the GPU core reset. The power-down sequence performs these steps in reverse. Implement this sequence via the pwrseq_power_on and pwrseq_power_off callbacks. Crucially, the driver's match function is called when a consumer (the Imagination GPU driver) requests the "gpu-power" target. During this match, the sequencer uses clk_bulk_get() and reset_control_get_exclusive() on the consumer's device to obtain handles to the GPU's "core" and "sys" clocks, and the GPU core reset. These, along with clkgen_reset obtained from parent aon node, allow it to perform the complete sequence. Reviewed-by: Ulf Hansson <[email protected]> Signed-off-by: Michal Wilczynski <[email protected]> Link: https://lore.kernel.org/r/[email protected] [Bartosz: use a ternary operator instead of implicitly casting the result of a boolean expression to int] Signed-off-by: Bartosz Golaszewski <[email protected]>
Diffstat (limited to 'rust/helpers/bug.c')
0 files changed, 0 insertions, 0 deletions