On Tue, Jun 3, 2025 at 8:45 PM Michal Wilczynski <m.wilczyn...@samsung.com> wrote: > > > > On 6/3/25 15:22, Krzysztof Kozlowski wrote: > > On Fri, May 30, 2025 at 12:23:53AM GMT, Michal Wilczynski wrote: > >> Add the device tree node for the T-HEAD TH1520 GPU power sequencer > >> (gpu_pwrseq) to the th1520.dtsi file. > >> > >> This node instantiates the thead,th1520-gpu-pwrseq driver, which > > > > Explain the hardware, not what drivers do. > > > >> is responsible for managing the GPU's power-on/off sequence. The node > >> specifies the gpu-clkgen reset, which is one of the resources > >> controlled by this sequencer. > >> > >> Signed-off-by: Michal Wilczynski <m.wilczyn...@samsung.com> > >> --- > >> arch/riscv/boot/dts/thead/th1520.dtsi | 6 ++++++ > >> 1 file changed, 6 insertions(+) > >> > >> diff --git a/arch/riscv/boot/dts/thead/th1520.dtsi > >> b/arch/riscv/boot/dts/thead/th1520.dtsi > >> index > >> bdbb1b985b0b76cf669a9bf40c6ec37258329056..6170eec79e919b606a2046ac8f52db07e47ef441 > >> 100644 > >> --- a/arch/riscv/boot/dts/thead/th1520.dtsi > >> +++ b/arch/riscv/boot/dts/thead/th1520.dtsi > >> @@ -238,6 +238,12 @@ aon: aon { > >> #power-domain-cells = <1>; > >> }; > >> > >> + gpu_pwrseq: pwrseq { > > > > Node names should be generic. See also an explanation and list of > > examples (not exhaustive) in DT specification: > > https://protect2.fireeye.com/v1/url?k=a53ea5d3-c4434f50-a53f2e9c-74fe48600158-c81092475ef416b3&q=1&e=d333d06b-0b06-493e-a358-e29ca542dfe7&u=https%3A%2F%2Fdevicetree-specification.readthedocs.io%2Fen%2Flatest%2Fchapter2-devicetree-basics.html%23generic-names-recommendation > > > >> + compatible = "thead,th1520-gpu-pwrseq"; > >> + resets = <&rst TH1520_RESET_ID_GPU_CLKGEN>; > >> + reset-names = "gpu-clkgen"; > > > > What is the point of pwrseq if there is no consumer/user of it? Looks > > like simple placeholder and anyway maybe the future consumer should just > > use reset directly. > > Yeah I think you're right, I wanted to explore adding the pwrseq > provider in separate node per discussion in v2 [1]. But for the v4 I > think I'll revert to the v2 way of handling this reset [2]. > > [1] - > https://lore.kernel.org/all/capdykfpi6_cd++a9sbgbvjcubsqs6ycpnttkrqhqmtwy1yy...@mail.gmail.com/ > [2] - > https://lore.kernel.org/all/20250414-apr_14_for_sending-v2-2-70c5af2af...@samsung.com/ >
I think you still need to connect the GPU node with its pwrseq provider (which will be the aon node in this case). But you already have this link - the aon power domain. You can parse it in the pwrseq match callback to determine which GPU is powered by which AON module. Bart