ARM: tegra: venice2: add GK20A GPU DT node
Subsystems (2)
PATCH 1/2 ARM: tegra: venice2: add GK20A GPU DT node
From: Thierry Reding <[email protected]>
Add the device-tree node for the GK20A GPU and leave it disabled by default. It is the responsability of the bootloader to enable it if the VPR registers have been programmed such as the GPU can operate.
--- arch/arm/boot/dts/tegra124-venice2.dts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)
arch/arm/boot/dts/tegra124-venice2.dts +7 -1
@@ -42,6 +42,12 @@ }; }; + gpu@0,57000000 { + status = "disabled"; + + vdd-supply = <&vdd_gpu>; + }; + pinmux: pinmux@0,70000868 { pinctrl-names = "boot"; pinctrl-0 = <&pinmux_boot>;
@@ -734,7 +740,7 @@ regulator-always-on; }; - sd6 { + vdd_gpu: sd6 { regulator-name = "+VDD_GPU_AP"; regulator-min-microvolt = <650000>; regulator-max-microvolt = <1200000>;
Signature · 1 line
2.1.2
PATCH 2/2 ARM: tegra: jetson-tk1: add GK20A GPU DT node
Add the device-tree node for the GK20A GPU and leave it disabled by default. It is the responsability of the bootloader to enable it if the VPR registers have been programmed such as the GPU can operate.
--- arch/arm/boot/dts/tegra124-jetson-tk1.dts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)
arch/arm/boot/dts/tegra124-jetson-tk1.dts +7 -1
@@ -50,6 +50,12 @@ }; }; + gpu@0,57000000 { + status = "disabled"; + + vdd-supply = <&vdd_gpu>; + }; + pinmux: pinmux@0,70000868 { pinctrl-names = "boot"; pinctrl-0 = <&state_boot>;
@@ -1560,7 +1566,7 @@ regulator-always-on; }; - sd6 { + vdd_gpu: sd6 { regulator-name = "+VDD_GPU_AP"; regulator-min-microvolt = <650000>; regulator-max-microvolt = <1200000>;
Signature · 1 line
2.1.2
Quoted 11 lines · Alexandre Courbot
From: Thierry Reding <[email protected]>
Add the device-tree node for the GK20A GPU and leave it disabled by default. It is the responsability of the bootloader to enable it if the VPR registers have been programmed such as the GPU can operate.
Signed-off-by Thierry Reding <[email protected]>Signed-off-by Alexandre Courbot <[email protected]>--- arch/arm/boot/dts/tegra124-venice2.dts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)
Are you going to send the corresponding patches for U-Boot to update the status property if it's initialized VPR?
Thierry
Quoted 9 lines · Thierry Reding
* PGP Signed by an unknown key
Quoted 6 lines · Alexandre Courbot
From: Thierry Reding <[email protected]>
Add the device-tree node for the GK20A GPU and leave it disabled by default. It is the responsability of the bootloader to enable it if the VPR registers have been programmed such as the GPU can operate.
Quoted 8 lines
Quoted 5 lines
Signed-off-by Thierry Reding <[email protected]>Signed-off-by Alexandre Courbot <[email protected]>--- arch/arm/boot/dts/tegra124-venice2.dts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)Are you going to send the corresponding patches for U-Boot to update the status property if it's initialized VPR?
Yes. But maybe I should wait until upstream Nouveau actually works properly for that? Right now it will probe successfully, but will crash as soon as the GPU is used because there still are memory coherency problems.
Quoted 16 lines · Alexandre Courbot
Quoted 15 lines · Thierry Reding
* PGP Signed by an unknown key
Quoted 11 lines · Alexandre Courbot
From: Thierry Reding <[email protected]>
Add the device-tree node for the GK20A GPU and leave it disabled by default. It is the responsability of the bootloader to enable it if the VPR registers have been programmed such as the GPU can operate.
Signed-off-by Thierry Reding <[email protected]>Signed-off-by Alexandre Courbot <[email protected]>--- arch/arm/boot/dts/tegra124-venice2.dts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)
Quoted 6 lines
Quoted 2 lines
Are you going to send the corresponding patches for U-Boot to update the status property if it's initialized VPR?
Yes. But maybe I should wait until upstream Nouveau actually works properly for that? Right now it will probe successfully, but will crash as soon as the GPU is used because there still are memory coherency problems.
I think the same really goes for these patches. Applying these will make the node available to U-Boot, so technically some future U-Boot version could modify a kernel DTB and boot a version where nouveau didn't yet work out-of-the-box.
There's also still the issue about firmware loading and so on, so maybe holding off on applying these patches until gk20a is fully enabled is a good idea. Normally I guess this would be done by not adding the kernel driver until it's expected to be at least usable to some degree, but I guess it is a bit late for that now.
Thierry
Quoted 29 lines · Thierry Reding
Quoted 16 lines · Alexandre Courbot
Quoted 15 lines · Thierry Reding
* PGP Signed by an unknown key
Quoted 11 lines · Alexandre Courbot
From: Thierry Reding <[email protected]>
Add the device-tree node for the GK20A GPU and leave it disabled by default. It is the responsability of the bootloader to enable it if the VPR registers have been programmed such as the GPU can operate.
Signed-off-by Thierry Reding <[email protected]>Signed-off-by Alexandre Courbot <[email protected]>--- arch/arm/boot/dts/tegra124-venice2.dts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)Quoted 6 lines
Quoted 2 lines
Are you going to send the corresponding patches for U-Boot to update the status property if it's initialized VPR?
Yes. But maybe I should wait until upstream Nouveau actually works properly for that? Right now it will probe successfully, but will crash as soon as the GPU is used because there still are memory coherency problems.
I think the same really goes for these patches. Applying these will make the node available to U-Boot, so technically some future U-Boot version could modify a kernel DTB and boot a version where nouveau didn't yet work out-of-the-box.
Quoted 5 lines
There's also still the issue about firmware loading and so on, so maybe holding off on applying these patches until gk20a is fully enabled is a good idea. Normally I guess this would be done by not adding the kernel driver until it's expected to be at least usable to some degree, but I guess it is a bit late for that now.
I'm fine with that too. Dropping these patches fow now.
arch/arm/boot/dts/tegra124-venice2.dts line 46
Quoted 10 lines · Alexandre Courbot
From: Thierry Reding <[email protected]>
Add the device-tree node for the GK20A GPU and leave it disabled by default. It is the responsability of the bootloader to enable it if the VPR registers have been programmed such as the GPU can operate.
arch/arm/boot/dts/tegra124-venice2.dts +2
-0+ gpu@0,57000000 { + status = "disabled";
status="disabled" usually goes into tegra124.dtsi. A board would only override status to "okay" if necessary, and include any board specific properties ...
arch/arm/boot/dts/tegra124-venice2.dts line 48
Quoted 1 line
arch/arm/boot/dts/tegra124-venice2.dts +1
-0+ vdd-supply = <&vdd_gpu>;
... such as that.
Quoted 7 lines · Stephen Warren
Quoted 5 lines · Alexandre Courbot
From: Thierry Reding <[email protected]>
Add the device-tree node for the GK20A GPU and leave it disabled by default. It is the responsability of the bootloader to enable it if the VPR registers have been programmed such as the GPU can operate.
Quoted 8 lines
arch/arm/boot/dts/tegra124-venice2.dts line 46
Quoted 4 lines
arch/arm/boot/dts/tegra124-venice2.dts +2
-0+ gpu@0,57000000 { + status = "disabled";status="disabled" usually goes into
tegra124.dtsi. A board would only override status to "okay" if necessary, and include any board specific properties ...
True. I guess this is somewhat redundant here since the .dtsi file already sets it to "disabled". Given how it is rather unusual for a board's DTS file to not enable a node I think there would be some advantage in keeping this explicitly to avoid confusion. Alternatively perhaps a comment in the DTS file about why this isn't enabled by default would be a good replacement.
Thierry