[PATCH v2 1/6] dt-bindings: gpu: nvidia,gk20a: Require the fuse clock
From: Sasha Levin
Date: Fri Oct 16 2026 - 12:45:11 EST
The GM20B on Tegra210 often fails to initialize unless the fuse clock
is running while the GPU is powered, and the GPUs on the other Tegra
generations are expected to have the same requirement. Tegra194 already
describes the fuse clock for its GV11B.
Make the fuse clock required for all of them, and list the exact clocks
for each GPU instead of allowing either the reference or the fuse clock
as the third one: GM20B takes the fuse clock after its reference clock,
the others take it after the GPU and power clocks.
The nouveau driver keeps treating the fuse clock as optional, so device
trees that lack it continue to work as before.
Assisted-by: LLM
Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>
---
.../devicetree/bindings/gpu/nvidia,gk20a.yaml | 52 ++++++++++++++-----
1 file changed, 40 insertions(+), 12 deletions(-)
diff --git a/Documentation/devicetree/bindings/gpu/nvidia,gk20a.yaml b/Documentation/devicetree/bindings/gpu/nvidia,gk20a.yaml
index 4d856a8b674c5..af0ada6e02557 100644
--- a/Documentation/devicetree/bindings/gpu/nvidia,gk20a.yaml
+++ b/Documentation/devicetree/bindings/gpu/nvidia,gk20a.yaml
@@ -39,18 +39,12 @@ properties:
Regulator for GPU supply voltage
clocks:
- minItems: 2
- items:
- - description: GPU clock
- - description: Power clock
- - description: Reference or fuse clock
+ minItems: 3
+ maxItems: 4
clock-names:
- minItems: 2
- items:
- - const: gpu
- - const: pwr
- - enum: [ ref, fuse ]
+ minItems: 3
+ maxItems: 4
resets:
maxItems: 1
@@ -86,6 +80,39 @@ required:
- reset-names
allOf:
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: nvidia,gm20b
+ then:
+ properties:
+ clocks:
+ items:
+ - description: GPU clock
+ - description: Power clock
+ - description: Reference clock
+ - description: Fuse clock
+
+ clock-names:
+ items:
+ - const: gpu
+ - const: pwr
+ - const: ref
+ - const: fuse
+ else:
+ properties:
+ clocks:
+ items:
+ - description: GPU clock
+ - description: Power clock
+ - description: Fuse clock
+
+ clock-names:
+ items:
+ - const: gpu
+ - const: pwr
+ - const: fuse
- if:
properties:
compatible:
@@ -163,8 +190,9 @@ examples:
interrupt-names = "stall", "nonstall";
vdd-supply = <&vdd_gpu>;
clocks = <&tegra_car TEGRA124_CLK_GPU>,
- <&tegra_car TEGRA124_CLK_PLL_P_OUT5>;
- clock-names = "gpu", "pwr";
+ <&tegra_car TEGRA124_CLK_PLL_P_OUT5>,
+ <&tegra_car TEGRA124_CLK_FUSE>;
+ clock-names = "gpu", "pwr", "fuse";
resets = <&tegra_car 184>;
reset-names = "gpu";
iommus = <&mc TEGRA_SWGROUP_GPU>;
--
2.53.0