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>
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>
Fix the license string format and copy right of
integrated files from legacy DTS repo.
Change-Id: Ia6bfe6b7449b175771889f214e0acfecbccd7cb0
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Rename the audio overlay files to have the
"audio" in its name for easy identifications.
Change-Id: Id451c06fcffed8616ebc8c51ea5bb729688c7484
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Following device-tree overlays for Orin NX Module +
Xavier NX Carrier, Orin NX/Nano DevKit Board are added:
1. ADAFRUIT SPH0645LM4H (I2S MEMS Microphone)
2. FE-PI Audio (SGTL5000 Audio Codec)
3. Adafruit UDA1334A (I2S Stereo DAC)
4. Respeaker 4 Mic Array Card
5. M.2 Key E header
6. Camera Header
- Added missing hdr40-pin7 node in hdr40 common dtsi.
- Added hdr40_vdd_3v3 symbol used by overlay files.
- Unified 40 pin header dts for Orin NX across different
Carrier boards
Apart from header overlays, remaining overlays may be
applied using either Jetson-IO tool, or directly on the platform
base DTB file as below:
$ fdtoverlay -i <base-dtb> -o <out-dtb> <overlay-dtbo>
Bug 3866629
Change-Id: I8808fc0317e4c173c44480447ac511ae32ce5480
Reviewed-on: https://git-master.nvidia.com/r/c/device/hardware/nvidia/platform/t23x/p3768-dts/+/2897867
Reviewed-by: Asha Talambedu <atalambedu@nvidia.com>
Reviewed-by: Anubhav Rai <arai@nvidia.com>
Reviewed-by: Sheetal . <sheetal@nvidia.com>
Reviewed-by: Mohan Kumar D <mkumard@nvidia.com>
Reviewed-by: Sharad Gupta <sharadg@nvidia.com>
Tested-by: Asha Talambedu <atalambedu@nvidia.com>