It is nice to have downstream DTB working well with upstream kernel
drivers. This gives a flexibile option for users to choose between
out-of-tree and upstream audio drivers by selectively adding either
of these to deny list.
However, this does not work today because of following reasons:
- The compatible property is overridden to work only with
downstream machine driver. Thus upstream machine driver
doesn't get probed and downstream machine driver cannot
work with upstream AHUB drivers.
- The downstream machine driver uses 'pll_a_out0' as clock
name for PLLA_OUT0. Where as upstream uses 'plla_out0'.
This causes probe failure in upstream machine driver with
downstream DTB.
To fix above issues following changes are made in the overlay:
- Extend compatible property in the overlay rather than
overriding. This means include compatibles for both upstream
and downstream machine drivers.
- Align with upstream compatible clock name.
Bug 4119612
Signed-off-by: Sameer Pujar <spujar@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/device/hardware/nvidia/t23x-public-dts/+/2948459
(cherry picked from commit 2c1a3120cd)
Change-Id: Iad2adbf1a391f99c5102b0c7e49391e6c5f39942
Reviewed-on: https://git-master.nvidia.com/r/c/device/hardware/nvidia/t23x-public-dts/+/2954570
Reviewed-by: Sharad Gupta <sharadg@nvidia.com>
As slower clock frequency generates less heat, this change enables
thermal slowdown features which throttles CPU clock and GPU clock
when the passive trip points are crossed.
It's worth mentioning that all the CPU cores within the same cluster
are designed to operate at same clock frequency for Tegra234 platforms.
For AGX Orin series and Orin NX 16GB, there are 12 CPU cores which are
split into 3 clusters with 4 cores in each. So only one CPU core per
cluster needs to be registered as a cooling device.
But for Jetson Orin NX 8GB, Jetson Orin Nano 8GB, and Jetson Orin Nano
4GB platforms, there are only 6 CPU cores, 4 of which are in a cluster,
and the remaining 2 are in pairs in another cluster. Since it's
unpredictable at build-time which CPU cores will be disabled for a given
unit, there should be one CPU core registerd as cooling device per CPU
core pair to ensure the all the CPU clocks can be throttled.
So, this change adds tegra234-soc-thermal-slowdown-cluster.dtsi and
tegra234-soc-thermal-slowdown-corepair.dtsi to handle both of the cases.
The passive trip point temperatures are derived from
//hw/ar/doc/t23x/sysarch/power/global_functions/thermal_management/
T234_Thermal_Settings.xlsx#21.
Bug 4035713
Signed-off-by: Yi-Wei Wang <yiweiw@nvidia.com>
Change-Id: I5e0bea5ce6e2370710c303a057773b3d7352d168
Reviewed-on: https://git-master.nvidia.com/r/c/device/hardware/nvidia/t23x-public-dts/+/2952086
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
This change disables GPU rail-gating as it's not a mandatory feature for
safety IGX. The ideal approach for disabling GPU rail-gating should be
deleting the `power-domains` property in GPU node. But the
/delete-property/ is not a valid syntax in the device tree overlay, the
`nvidia,tegra-joint_xpu_rail` is specified to achieve the same as an
alternative.
Bug 4084478
Signed-off-by: Yi-Wei Wang <yiweiw@nvidia.com>
Change-Id: Ia186cc0bc18f5d1a216a511af3e5cc4588c07b21
Reviewed-on: https://git-master.nvidia.com/r/c/device/hardware/nvidia/t23x-public-dts/+/2946710
Reviewed-by: Sagar Kamble <skamble@nvidia.com>
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Rajkumar Kasirajan <rkasirajan@nvidia.com>
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
- Add simplefb device-tree node which is required to show
early boot-up logs on display when UEFI initializes display
- Default status of the node is disabled by default in DT
and is enabled dynamically by UEFI only when it initializes display
- Following information is contained in the simplefb node.
i) Add display power-domain property. Without this, genpd driver
will powergate the display power-domain during kernel boot.
ii) Add all display clocks handles (even if not enabled by UEFI).
Without this, kernel CCF will disable clocks during kernel boot-up.
iii) Add reference to fb reserved region memory node.
fb reserved region node is updated by UEFI driver when it
initializes display.
iv) Add width, height, stride properties initialized to
"0" and format of display surface initialized to 32bit RGB pixel
format. These are updated by UEFI when it initializes display as
per UEFI display surface properties.
Bug 3601162
Change-Id: If938853e1d29c08753e71e94bfd5a9a007a9585a
Signed-off-by: Santosh Reddy Galma <galmar@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/device/hardware/nvidia/soc/t23x/+/2917196
(cherry picked from 8baa582f3e4b26d1354bb05ee4c88c868ba2e6a7)
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/device/hardware/nvidia/t23x-public-dts/+/2942107
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
- Add display fb carveout region node to the list of
reserved memory regions
- UEFI updates the "reg" property with base address and
size of display fb carveout memory region and "status"
of display fb carveout region node to "okay" if UEFI
initializes display.
- keeping the fb carveout region node disabled by default
such that it is enabled by UEFI dynamically only when UEFI
initializes display and handsoff display fb carveout region
to kernel.
- add display fb reserved region node handle to display DT node
for unity mapping of display reserved region when SMMU driver
comes up in kernel only if display fb carveout region DT node
is enabled by UEFI.
Bug 3601162
Change-Id: Ia7060558e0723f4c04c2b026bc93a7e58692898a
Signed-off-by: Santosh Reddy Galma <galmar@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/device/hardware/nvidia/soc/t23x/+/2857443
(cherry picked from 5b2263f878459f4795e079d475cb0c3f416aaf7d)
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/device/hardware/nvidia/t23x-public-dts/+/2942106
Reviewed-by: Vinod Atyam <vatyam@nvidia.com>
Enable the TJ thermal zone and hook up cooling maps for the PWM-
controlled fan and two trip points.
This also removes a duplicate definition of the PWM fan and changes its
cooling levels. This should have no effect, though, because the fan
wasn't previously connected to anything and by default would be turned
off at probe time.
Cherry picked from commit a6fb90f0eefb13e2cf18f39f1a84a9ef6054153b
Bug 3960800
Bug 4035713
Bug 4204722
Acked-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Yi-Wei Wang <yiweiw@nvidia.com>
Change-Id: I222e43a16f8853ccec70006b72a40973b5e2cc86
Reviewed-on: https://git-master.nvidia.com/r/c/device/hardware/nvidia/t23x-public-dts/+/2941396
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
Add thermal zone details and enable the PWM fan as cooling device.
Note that this also changes the cooling levels for the PWM fan, which
should have no effect, though, because the fan wasn't previously
connected to anything and by default would be turned off at probe time.
Cherry picked from commit 1d3fbd3d41a6c7552126ce39b81591de942a4207
Bug 3960800
Bug 4035713
Bug 4204722
Acked-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Yi-Wei Wang <yiweiw@nvidia.com>
Change-Id: Ice10f86ddbbd5c27b1967f1df2d840c69e002651
Reviewed-on: https://git-master.nvidia.com/r/c/device/hardware/nvidia/t23x-public-dts/+/2941395
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
Kernel OOT audio support uses different compatibles to pick specific
OOT drivers for audio. This method requires additional compatible
overrides in the DT overlay which is not a very flexible way to pick
driver modules.
It is possible to pick specific driver modules by adding the not needed
ones to the denylist in the configuration files in '/etc/modprobe.d/'.
This means different compatibles are not necessary and modules can be
filtered based on the name in configuration files. With this it will
be easier to switch between driver modules and also will reduce the
overrides in the overlay. Thus remove all 'oot' reference from driver
compatibles.
Bug 4119612
Change-Id: I420007ee253c8e99c32db54a5e85b3aa79e7cc21
Signed-off-by: Sameer Pujar <spujar@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/device/hardware/nvidia/t23x-public-dts/+/2927031
(cherry picked from commit 703a5974c6)
Reviewed-on: https://git-master.nvidia.com/r/c/device/hardware/nvidia/t23x-public-dts/+/2932007
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
Tested-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
Add safety dts support for the hope devkit. The safety extension package
(SEP) includes safety dtb with below addition from non-safety dts.
- Requires SPI3 to communicate to SMCU as client device
- Requires hsp@1600000 instance to talk to FSI
- Requires FSI communication nodes for userspace safety apps
Why changes in the existing fsicom dtsi file:
- safety dts leverages fsicom dtsi
- fsicom_client label and node name are same which gives issue during
the compile time
- Added epl kernel node which is required for the Error propagation
library feature.
Bug 4122084
Bug 4128263
Signed-off-by: Dipen Patel <dipenp@nvidia.com>
Change-Id: Ied29a993ab7f9141a3688b33c064721dfbbdff2b
Reviewed-on: https://git-master.nvidia.com/r/c/device/hardware/nvidia/t23x-public-dts/+/2907719
(cherry picked from commit bf73d28760 in dev-main)
Reviewed-on: https://git-master.nvidia.com/r/c/device/hardware/nvidia/t23x-public-dts/+/2927947
Reviewed-by: Bibek Basu <bbasu@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
Use SPDX license format in the header files.
Change-Id: I84b9e439379c256762ca506348f293eeeeaf821b
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>