Compare commits

..

150 Commits

Author SHA1 Message Date
Ketan Patil
1f703af3e0 video: tegra: nvmap: Avoid double updation of RSS counter
The RSS counter is updated during buffer allocation as well as mmap,
which is leading to double updation. Fix this by decrementing the RSS
counter during page fault while increment it back during unmap flow.

Bug 5222690

Change-Id: I77972185f20d9d710571cc07ae1c5188060bfa1f
Signed-off-by: Ketan Patil <ketanp@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3442670
(cherry picked from commit 1c59063ce7)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3453103
(cherry picked from commit b27a1a79ee)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3454644
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Tested-by: Amulya Yarlagadda <ayarlagadda@nvidia.com>
Reviewed-by: Amulya Yarlagadda <ayarlagadda@nvidia.com>
2025-09-23 10:55:17 -07:00
Ketan Patil
033c964778 video: tegra: nvmap: Remove use of add_mm_counter
add_mm_counter is not an exported function, so instead use
atomic_long_add_return/percpu_counter_add to directly modify RSS stat
counters.

Bug 5222690

Change-Id: I51a68d932aeb04f96e51a4a3c286ee5c8efc789a
Signed-off-by: Ketan Patil <ketanp@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3446982
(cherry picked from commit 8e1a6b2dd1)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3453099
(cherry picked from commit e488812038)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3454643
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Tested-by: Amulya Yarlagadda <ayarlagadda@nvidia.com>
Reviewed-by: Amulya Yarlagadda <ayarlagadda@nvidia.com>
2025-09-23 10:55:05 -07:00
Ketan Patil
3b830eb8a7 video: tegra: nvmap: Account NvMap memory for OOM Decisions
Account NvMap allocated memory into both RSS and CG tracking to make
efficient OOM kill decisions during memory pressure.

NvMap allocates memory via kernel APIs like alloc_pages, the kernel
memory is not accounted on behalf of process who requests the
allocation. Hence in case OOM, the OOM killer never kills the process
who has allocated memory via NvMap even though this process might be
holding most of the memory.

Solve this issue using following approach:
- Use __GFP_ACCOUNT and __GFP_NORETRY flag
-  __GFP_NORETRY will not let the current allocation flow to go into OOM
path, so that it will never trigger OOM.
- __GFP_ACCOUNT causes the allocation to be accounted to kmemcg. So any
allocation done by NvMap will be definitely accounted to kmemcg and
cgroups can be used to define memory limits.
- Add RSS counting for the process which allocates by NvMap, so that OOM
score for that process will get updated and OOM killer can pick this
process based upon the OOM score.
- Every process that has a reference to NvMap Handle would have the
memory size accounted into its RSS. On releasing the reference to
handle, the RSS would be reduced.

Bug 5222690

Change-Id: I3fa9b76ec9fc8d7f805111cb96e11e2ab1db42ce
Signed-off-by: Ketan Patil <ketanp@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3427871
(cherry picked from commit 2ca91098aa)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3453101
(cherry picked from commit cfe6242c8c)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3454642
Reviewed-by: Amulya Yarlagadda <ayarlagadda@nvidia.com>
Tested-by: Amulya Yarlagadda <ayarlagadda@nvidia.com>
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
2025-09-23 10:54:56 -07:00
Revanth Kumar Uppala
3ebca7545e rtl8822ce: Remove pr_debug redefinition
Issue: pr_debug is redfined to printk causing unwanted
       log prints in dmesg

Fix: Remove pr_debug redefintion in rtl8822ce driver

Bug 3844473

Change-Id: I4177f8c3fa245a881cd35c206f8d3caa4b811b32
Signed-off-by: Revanth Kumar Uppala <ruppala@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3121450
(cherry picked from commit 564ce2a709)
Reviewed-by: Amulya Yarlagadda <ayarlagadda@nvidia.com>
Reviewed-by: Brad Griffis <bgriffis@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3140027
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
2024-05-18 14:55:37 -07:00
Shobek Attupurath
c79de35fb0 rtl8822ce: Add Nvidia changes on v5.14.0.4-217
1. Add custom roam parameters
2. Add path for power file
3. Add source tree path for Makefile
4. Add section in Makefile for TEGRA platform
5. Update permissions from 0755 to 0644 for files
6. Move roaming debug prints to RTW_INFO

Bug 4320751
Bug 4556940
Bug 4568390

Change-Id: I842f150781652b3b54949aef8f982903c8d7991e
Signed-off-by: Revanth Kumar Uppala <ruppala@nvidia.com>
Signed-off-by: Shobek Attupurath <sattupurath@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3108666
(cherry picked from commit 4e544f3b3a)
Reviewed-by: Brad Griffis <bgriffis@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3140025
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
2024-05-18 14:55:29 -07:00
Revanth Kumar Uppala
c5d97870d1 rtl8822ce: Fix TLP/EAPOL/TXFIFO issues
Issue: Observing the EAPOL packet after a second in 1/10 roams

       Observing TLP Malform packets on SC7

       Observing TXFIFO error when connected to serving AP

       Compilation errors for K6.x

Fix:   Add exact base driver released by realtek with EAPOL/TLP/TXFIFO
       fixes and also resolve some compilation errors.

DRIVERVERSION   v5.14.0.4-217-g7a0377e61.20240410_COEX20240327-2727_beta
BTCOEXVERSION   COEX20240327-2727

Bug 4320751
Bug 4556940
Bug 4568390

Change-Id: Ib02056ea388300dab2364b2bd6ceaf0a2096d3f4
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3115032
(cherry picked from commit ed30eb40ff)
Reviewed-by: Revanth Kumar Uppala <ruppala@nvidia.com>
Reviewed-by: Brad Griffis <bgriffis@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3139878
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Tested-by: Revanth Kumar Uppala <ruppala@nvidia.com>
2024-05-18 14:54:38 -07:00
Omar Nemri
318fd1fe91 drivers: pva: change kmalloc for kvmalloc for elf
when loading lf, a local buffer is allocated to process the elf.
switch to using kvmalloc from kmalloc to be able to handle memory
pressure situations better.

Bug 4562933

Change-Id: Ie78d2d2a56f13e09e98bf6888ccc76ffb0ecfb12
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3114106
Reviewed-by: Omar Nemri <onemri@nvidia.com>
Tested-by: Omar Nemri <onemri@nvidia.com>
Reviewed-by: Jonas Toelke <jtoelke@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2024-04-10 16:24:55 -07:00
Jon Hunter
fc8c410eb6 ASoC: tegra: Drop 'oot' suffix for upstream drivers
When booting kernels that have both the upstream and out-of-tree audio
drivers for Tegra present the following errors are observed ...

 Error: Driver 'tegra210-ahub' is already registered, aborting...
 Error: Driver 'tegra210-amx' is already registered, aborting...
 Error: Driver 'tegra186-dspk' is already registered, aborting...
 Error: Driver 'tegra210-mvc' is already registered, aborting...
 Error: Driver 'tegra210-adx' is already registered, aborting...
 Error: Driver 'tegra210-ahub' is already registered, aborting...
 Error: Driver 'tegra210_mixer' is already registered, aborting...
 Error: Driver 'tegra186-asrc' is already registered, aborting...
 Error: Driver 'tegra210-dmic' is already registered, aborting...
 Error: Driver 'tegra210-i2s' is already registered, aborting...
 Error: Driver 'tegra210-admaif' is already registered, aborting...

The problem is that the upstream Tegra audio drivers are loaded first
and then the kernel attempts to load the out-of-tree variants because
they have a different name. The out-of-tree are installed under the
'updates' directory in the file-system and by dropping the 'oot' suffix
from the driver name, then depmod will not attempt to load both variants
of the audio drivers and prioritise loading the drivers in the 'updates'
directory.

Bug 4590647

Change-Id: I6c6fe1eb84bc9fdfa4a8f4abf1ce3a75f3bfba8a
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3110266
Reviewed-by: Brad Griffis <bgriffis@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Sameer Pujar <spujar@nvidia.com>
2024-04-08 13:09:37 -07:00
Omar Nemri
8e77d444fb drivers: pva: use kvzalloc instead of kcalloc
for task pool, kmem buffers, use kvzalloc instead of kcalloc
to better handle memory pressure situations.

Bug 4562933

Change-Id: I015ffa936fe77ab2c914d53667c0ec2f323a0676
Signed-off-by: Omar Nemri <onemri@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3108135
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Colin Tracey <ctracey@nvidia.com>
2024-04-04 17:54:24 -07:00
Jon Hunter
7e82f57b74 nvpps: Add missing header of.h
Building the NVPPS driver with Linux v6.9-rc1 is failing with the
following error ...

 drivers/nvpps/ptp-notifier.c:125:69:
 error: invalid use of undefined type 'const struct device_node'

Add the header file of.h to fix this build issue.

Bug 3826818
Bug 4471899

Change-Id: I0eb23e3556ec280447e3d2c499afc11daad601a0
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3104379
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Paritosh Dixit <paritoshd@nvidia.com>
Reviewed-by: svcacv <svcacv@nvidia.com>
2024-03-26 07:54:17 -07:00
Hiteshkumar Patel
e77e6c5aec nvidia-oot: nvpps: Replace dev_info with dev_dbg.
nvpps driver is printing debug info when TSC status is not locked.
Replace that status print for dev_info() to dev_dbg().

Bug 4566570

Change-Id: I6537e08204c35698bf11fd9c3ff4951a6167f8e9
Signed-off-by: Hiteshkumar Patel <hiteshkumarg@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3101099
Reviewed-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-by: Dipen Patel <dipenp@nvidia.com>
Reviewed-by: svcacv <svcacv@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2024-03-25 10:54:28 -07:00
Praveen AC
e3f09d3989 nv_hawk_owl:Fix 3rd Hawk streaming fail.
Enable video pipe line for Hawk3 i.e video pipe 4 & 5.

Bug 4564878

Change-Id: Ib39a5afc332722e5e8476f689a243f7dc71a6a2c
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3099879
Reviewed-by: Narendra Kondapalli <nkondapalli@nvidia.com>
Reviewed-by: Ankur Pawar <ankurp@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
Tested-by: Praveen AC <pac@nvidia.com>
Reviewed-by: Praveen AC <pac@nvidia.com>
Reviewed-by: Bibek Basu <bbasu@nvidia.com>
2024-03-20 04:58:28 -07:00
Shobek Attupurath
9efa10a1d7 rtl8822ce: Move continuous prints to log INFO
Issue: As part of roaming, some debug prints are being continuously
       spewed on kernel logs

Fix: Move roaming debug prints RTW_INFO

Bug 4563642

Change-Id: I7ef8c78241fd6e6c9caf96357a6fb9a6c4b4a555
Signed-off-by: Shobek Attupurath <sattupurath@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3097074
Reviewed-by: Revanth Kumar Uppala <ruppala@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Ashutosh Jha <ajha@nvidia.com>
2024-03-15 11:54:20 -07:00
Hiteshkumar Patel
90c8229157 nvpps: Add support for AGX Orin.
Enable nvpps driver so it can be tested.

- Removed passing of ethernet interface name in DT.
- Require to pass Tegra ethernet controller DT phandle, where PTP server
  will run.

Bug 4489344
Bug 3826818

Change-Id: I943ddf4071a55fb409d589473fde0075ac9f7150
Signed-off-by: Hiteshkumar Patel <hiteshkumarg@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3076494
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Jon Hunter <jonathanh@nvidia.com>
2024-03-14 15:39:41 -07:00
Hiteshkumar Patel
755f4a8456 Documentation: update nvpps device tree bindings.
- Add details of register mapping. If we do not pass these details in
  devicetree then it is giving error "TSC memory resource not defined"
  and not able to probe the driver. It is mandatory field for Tegra234.
- Remove hardcoding of ethernet interface name.
- Add to pass DT node for primary and secondary emac node instead of
  interface name.
- Update GPIO details as per refactoring of HTE driver.
- Update example as per update driver and DT node.

Bug 4489344
Bug 3826818

Change-Id: I5edbbe762543289cc2a6225111c5e6250bbabb99
Signed-off-by: Hiteshkumar Patel <hiteshkumarg@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3076493
Reviewed-by: Jon Hunter <jonathanh@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
Reviewed-by: svcacv <svcacv@nvidia.com>
2024-03-14 15:39:36 -07:00
Jason Mei
888f248ee2 net: Use conftest to determime NAPI interface
Add compile time tests to the conftest.sh script
to determine netif_napi interface check at compile
time for the kernel being used. This is beneficial
for working with 3rd party Linux kernels that may
have back-ported upstream changes into the kernel
and so the kernel version checks do not work.

Bug 4456727
Bug 4451567

Change-Id: I7b00c3b491d778a9bf2f0d1069a5e4546b722e2a
Signed-off-by: Jason Mei <jianjunm@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3096002
Reviewed-by: svcacv <svcacv@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Manikanta Maddireddy <mmaddireddy@nvidia.com>
Reviewed-by: Bibek Basu <bbasu@nvidia.com>
2024-03-14 08:54:11 -07:00
Aniruddha Paul
d01b6a3a2b nvethernet: Create pool per Rx DMA channel
Existing implementation uses a single page_pool
for all Rx DMA channels. As by default all irqs
are on CPU 0, this does not cause any issue.
Routing an irq to some other CPU causes race
conditon for page allocation from page_pool which
leads to random memory corruption.

[  158.416637] Call trace:
[  158.416644]  arm_lpae_map_pages+0xb4/0x1e0
[  158.416649]  arm_smmu_map_pages+0x8c/0x160
[  158.416661]  __iommu_map+0xf8/0x2b0
[  158.416677]  iommu_map_atomic+0x58/0xb0
[  158.416683]  __iommu_dma_map+0xac/0x150
[  158.416687]  iommu_dma_map_page+0xf4/0x220
[  158.416690]  dma_map_page_attrs+0x1e8/0x260
[  158.416727]  page_pool_dma_map+0x48/0xd0
[  158.416750]  __page_pool_alloc_pages_slow+0xc4/0x390
[  158.416757]  page_pool_alloc_pages+0x64/0x90
[  158.416762]  ether_padctrl_mii_rx_pins+0x164/0x9d0 [nvethernet]
[  158.416807]  ether_padctrl_mii_rx_pins+0x478/0x9d0 [nvethernet]
[  158.416822]  osi_process_rx_completions+0x284/0x4d0 [nvethernet]
[  158.416832]  0xffffa26218b8f71c
[  158.416855]  __napi_poll+0x48/0x230
[  158.416871]  net_rx_action+0xf4/0x290
[  158.416875]  __do_softirq+0x130/0x3e8
[  158.416889]  __irq_exit_rcu+0xe8/0x110

This change creates a page_pool per Rx DMA channel.
This ensures there is no race conditon for page
alloc/dealloc from each DMA napi context.

Bug 4541158

Change-Id: I12668ee7d824fd30d54a874bbbdf190d02943478
Signed-off-by: Aniruddha Paul <anpaul@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3093534
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Jon Hunter <jonathanh@nvidia.com>
Tested-by: Jon Hunter <jonathanh@nvidia.com>
2024-03-14 03:54:09 -07:00
Jon Hunter
003bd8ed9b bmi088: Add build dependency on HTE
The BMI088 driver is dependent upon the HTE driver and so only build the
BMI088 driver if HTE is enabled.

Bug 3961133

Change-Id: I1338d44f4814fb23636206081019ea9cb1390fcc
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3093706
Reviewed-by: Gautham Srinivasan <gauthams@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Brad Griffis <bgriffis@nvidia.com>
2024-03-11 14:54:22 -07:00
Shobek Attupurath
4a31d7ed61 rtl8822ce: Add Nvidia changes
1. Add custom roam parameters
2. Add path for power file
3. Add source tree path for Makefile
4. Add section in Makefile for TEGRA platform
5. Update permissions from 0755 to 0644 for files

Bug 4213654

Change-Id: Ib160d11285c093efe04fc5cb932b770585ad6bb3
Signed-off-by: Shobek Attupurath <sattupurath@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3079869
Reviewed-by: Revanth Kumar Uppala <ruppala@nvidia.com>
Reviewed-by: Ashutosh Jha <ajha@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2024-03-09 03:40:00 -08:00
Shobek Attupurath
e3673f6890 rtl8822ce: Add driver with roaming support
Issue: RTL8822CE driver doesn't have active roaming
       support and has issues with current roaming
       algorithm

Fix: Add driver with active roaming enabled and fixes
     issue with 5GHz and BT coex

DRIVERVERSION -
"v5.14.0.4-203-g4a9c85a0f.20240219_COEX20240125-2727_beta"
BTCOEXVERSION -
"COEX20240125-2727"

Bug 4213654

Change-Id: Icff3ece063518575fbcca3d8ea5be0b6314a567f
Signed-off-by: Shobek Attupurath <sattupurath@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3079863
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Revanth Kumar Uppala <ruppala@nvidia.com>
Reviewed-by: Ashutosh Jha <ajha@nvidia.com>
2024-03-09 03:39:54 -08:00
Gautham Srinivasan
8317f938ec nvidia-oot: remove gte driver
HTE driver will be used instead of GTE. Remove GTE sources.

Bug 3961133

Change-Id: I379198da9c1896aa44043195a8c30b377b08c7c4
Signed-off-by: Gautham Srinivasan <gauthams@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3067352
Reviewed-by: Jon Hunter <jonathanh@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2024-03-05 19:28:05 -08:00
Gautham Srinivasan
8e5cebeb9e nvidia-oot: nvpps: Use HTE driver
Refactor NVPPS driver to use HTE APIs instead of GTE

Bug 3961133

Change-Id: I0a38fb6fd42217515410a610d1900cb036086cf5
Signed-off-by: Gautham Srinivasan <gauthams@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3067331
Reviewed-by: Dipen Patel <dipenp@nvidia.com>
Reviewed-by: Jon Hunter <jonathanh@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2024-03-05 19:27:59 -08:00
Gautham Srinivasan
cccf65a229 nvidia-oot: bmi088: Use HTE driver
Refactor BMI088 driver to use HTE APIs instead of GTE

Bug 3961133

Change-Id: Idc87574399b5e9d2f907e37b2615ea3d540ceba7
Signed-off-by: Gautham Srinivasan <gauthams@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3062386
Reviewed-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-by: Dipen Patel <dipenp@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2024-03-05 19:27:54 -08:00
Shubham Chandra
17e0946ce0 nvidia-oot: imx318: fix probe failure
V4l2 ctrl values are 0 during init time s_ctrl call
from v4l2. Since framerate val parameter is 0, when
set_framerate_ex is called from set_ctrl_ex during
initialization for probing of imx318 sensor, this
results in invalid error and probe failure for imx318.

Assign framerate 'val' to a value from imx318 sensor
device-tree properties within the given range to avoid
probe failure due to this.

Bug 3692128

Change-Id: Ib5f50e64f99c8443bf604066eda315dc96fbde03
Signed-off-by: Shubham Chandra <shubhamc@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3089350
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Praveen AC <pac@nvidia.com>
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2024-03-05 07:09:09 -08:00
Jon Hunter
f9ed570c2b net: nvethernet: Prevent VM interrupts being balanced
If the userspace service 'irqbalance' is installed then the nvethernet
driver crashes when there is network activity. To avoid this crash set
the IRQF_NOBALANCING flash for the VM interrupts. No performance
degradation is observed when running iperf3 with a 1Gbps link.

Long-term the nvethernet driver still needs to be fixed to allow IRQ
balancing.

Bug 4293378
Bug 4541158

Change-Id: I0aa4ee28e36c7d273f14ff043544e72d3e988bd3
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3087525
Reviewed-by: Brad Griffis <bgriffis@nvidia.com>
Reviewed-by: Revanth Kumar Uppala <ruppala@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2024-03-04 07:24:12 -08:00
Ankur Pawar
4d4e685699 media:i2c: fix imx477 partial frame output
Fix imx477 partial frame issue and wrong frame-length
/exposure time calculations.
Uses hardcoded sensor internal clock frequency
instead of clock values from sensor device tree.

Adding clock frequency to device tree also require
deskew_initial_enable = "true". Setting deskew in
device tree is causing kernel panic in function
nvcsi_deskew_setup(). For unblocking the IMX477
use case, set hardcoded clock in driver for now.

Bug 4384649

Change-Id: Iedb02673c6f4da140aee22adc991805b6aa1eb7e
Signed-off-by: Ankur Pawar <ankurp@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3086503
Reviewed-by: Praveen AC <pac@nvidia.com>
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2024-03-04 01:24:48 -08:00
Jason Mei
396db89160 PCI: EPF: tvnet: fixed the fence memory issue
1.Make the allocate_fence() thread-safe
2.Update the fence_do_work according to auto
  fix: https://nvbugs/4539983
3.Shouldn't creat fence in callback
4.There was typo which mixed ctrl with data.

Bug 4456727
Bug 4451567

Change-Id: If7676c8d77dc40bd5f77927efa7616e7970da183
Signed-off-by: Jason Mei <jianjunm@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3087944
Reviewed-by: Manikanta Maddireddy <mmaddireddy@nvidia.com>
Reviewed-by: Bibek Basu <bbasu@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2024-03-03 20:54:20 -08:00
Anubhav rai
d495adaddf vi5_fops: fix mem leak
release capture requests and embedded data
buffers before closing and exiting the stream

bug 4336756

Change-Id: Iba856eea9757a8226bc949ae1d72a87adf2d55eb
Signed-off-by: Anubhav rai <arai@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3068424
(cherry picked from commit e5075835ab)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3086577
Reviewed-by: Ankur Pawar <ankurp@nvidia.com>
Reviewed-by: Narendra Kondapalli <nkondapalli@nvidia.com>
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-by: Shubham Chandra <shubhamc@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2024-03-01 12:57:50 -08:00
Ankur Pawar
7096cb09a5 media:i2c: fix ar1335 control command
When ar1335_common.c was ported to K5.15 it was refactored
based on the review comments. During that process index
in mcu_send_ctrl_cmd() was set to 0xFFFF which was causing
issue in setting sensor format. Pass the index from the
caller of mcu_send_ctrl_cmd().

Bug 4389285

Change-Id: Ic84a8de58051fe947f0f4d6597d1a55bc29ef9e6
Signed-off-by: Ankur Pawar <ankurp@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3024535
Reviewed-by: Praveen AC <pac@nvidia.com>
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2024-02-26 05:24:23 -08:00
Brad Griffis
f877c7e3da nvidia-oot: Update OOT driver path
The installation path for the OOT drivers has been updated from 'extra'
to 'updates'.

Bug 4410785

Change-Id: I54c8ce97cb1b159095b9dc3450ef0af711eb7f9b
Signed-off-by: Brad Griffis <bgriffis@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3069039
(cherry picked from commit aaee95a8eb)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3082930
Reviewed-by: Jon Hunter <jonathanh@nvidia.com>
Tested-by: Jon Hunter <jonathanh@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2024-02-26 03:10:53 -08:00
Jon Hunter
c8a0c93fc1 drivers: Drop '-next' from driver names
The OOT variants of the host1x and tegra-drm drivers originally had
a '-next' suffix in the name to differentiate these from the upstream
versions. Now that the OOT drivers are installed under the 'updates'
directory, the '-next' suffix can be dropped because 'kmod' will
prioritise loading the variant in 'updates' over those built from the
kernel tree.

Bug 4410785

Change-Id: I29287ddb935b681a5ee8a3326428eba82715da76
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3065465
(cherry picked from commit eee13a1edb)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3063836
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Brad Griffis <bgriffis@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2024-02-26 03:09:59 -08:00
Jason Mei
bba1f3a464 net: ethernet: sync link status before removing
The tegera_tvnet driver usually built as kernel
module, to avoid rmmod/insmod cause kernel crash
sync link status before rmmod

Bug 4456727
Bug 4451567

Change-Id: I2b7227fef36688777b8a468678be9e63a7638c2c
Signed-off-by: Jason Mei <jianjunm@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3079867
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Manikanta Maddireddy <mmaddireddy@nvidia.com>
Reviewed-by: Bibek Basu <bbasu@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2024-02-25 21:40:04 -08:00
Jason Mei
3506076764 PCI: EPF: tvnet: porting the PCIe EP tvnet driver
Port the PCIe EP tvnet to 5.15 kernel
switch to host1x sycpt method and others kernel
interfaces

Bug 4456727
Bug 4451567

Change-Id: I78a1ed5e1f80210a03dc83775937ba90c2839a5b
Signed-off-by: Jason Mei <jianjunm@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3070173
Reviewed-by: Manikanta Maddireddy <mmaddireddy@nvidia.com>
Reviewed-by: Bibek Basu <bbasu@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2024-02-25 21:39:59 -08:00
Jason Mei
5a65235c0d PCI: EPF: Add lpci_epc_map_addr for pre-v5.15 Linux kernels
Build the Tegra PCI vnet driver fails with Linux v5.14 because the
lpci_epc_map_addr() have the incorrect number of arguments.
The arguments to the lpci_epc_map_addr() functions were updated
in Linux v5.12 but the current Tegra PCI EPF driver assumes that they
were updating after Linux v5.14. Update the Tegra PCI EPF driver to
use the correct arguments for v5.12 onwards.

Bug 4456727
Bug 4451567

Change-Id: Ie4ef36854d380e0a896a0f256d846ab8b89ca447
Signed-off-by: Jason Mei <jianjunm@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3070170
Reviewed-by: Manikanta Maddireddy <mmaddireddy@nvidia.com>
Reviewed-by: Bibek Basu <bbasu@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2024-02-25 21:39:54 -08:00
Jason Mei
e70b9e4c10 PCI: EPF: tvnet: porting the PCIe tvnet driver
Port the PCIe tvnet to 5.15 kernel

Bug 4456727
Bug 4451567

Change-Id: I1b7a68479749145eca33361d6c79d53622c57ce7
Signed-off-by: Jason Mei <jianjunm@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3070167
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Manikanta Maddireddy <mmaddireddy@nvidia.com>
Reviewed-by: Bibek Basu <bbasu@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2024-02-25 21:39:48 -08:00
Ankur Pawar
29e88ed17e camera: fix the kernel freeze after driver unbind
Kernel freeze is occurring due to incorrect cleanup
in vi5.c.

Fix for kernel freeze:
1 Don't call vi_channel_drv_unregister() and
  tegra_vi_media_controller_cleanup() in vi5_remove.
2 capture_vi_probe() is calling vi_channel_drv_register() and
  tegra_capture_vi_media_controller_init(), so capture_vi_remove()
  should call vi_channel_drv_unregister() and
  tegra_vi_media_controller_cleanup()
3 Use correct dev pointer in vi_channel_drv_unregister().

Code cleanup:
1 Remove use_legacy_path variable that was used for T186.
2 Removed unused t194_vi5_file_private struct.

Bug 4415340

Change-Id: I6153f65d62a9f7f4fc5d04c2ace948a29396e404
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3077660
Reviewed-by: Shubham Chandra <shubhamc@nvidia.com>
Reviewed-by: Ankur Pawar <ankurp@nvidia.com>
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
Tested-by: Ankur Pawar <ankurp@nvidia.com>
2024-02-21 23:10:25 -08:00
Jon Hunter
61319aef4d drm/tegra: Don't print error on probe defer
The following error messages are sometimes observed on boot ...

 tegra-nvjpg 15380000.nvjpg: failed to get icc write handle
 tegra-nvdec 15480000.nvdec: failed to get icc write handle
 tegra-nvjpg 15540000.nvjpg: failed to get icc write handle
 tegra-nvenc 154c0000.nvenc: failed to get icc write handle
 tegra-vic 15340000.vic: failed to get icc write handle
 tegra-nvjpg 15380000.nvjpg: failed to get icc write handle

The above messages are harmless because the ICC core is returning
-EPROBE_DEFER to indicate that the ICC provider is not available. When
-EPROBE_DEFER is returned the kernel will attempt to probe the device
again and so print an error on -EPROBE_DEFER can be misleading. Fix the
above by using the function dev_err_probe() to print error messages
because this function will only print an error message if the error code
is not -EPROBE_DEFER.

Bug 3436156
Bug 4496044

Change-Id: I47b77e5a0f2bdb817a832daa305246c8803f456b
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3075237
Reviewed-by: Brad Griffis <bgriffis@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2024-02-13 02:24:56 -08:00
Praveen AC
518ae94bb4 media: i2c: update ar0234 EEPROM data structure
- Integrate calibration data structure from
  Leopard Imaging hawk driver into NVIDIA
  hawk driver
- Rearrange EEPROM calibration data structure to
  maintain backward compatibility with HAWK, OWL
  modules with EEPROMs programmed using earlier
  calibration data structure
- Use separate structures for tracking imu noise
  parameters and place it after the module
  serial number.
- Change module serial number length used for
  reading the serial number from EEPROM data

L4T-4649

Change-Id: I17613905e63fef3fc690dca42a0a10bd1f4fc24d
Signed-off-by: Praveen AC <pac@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3072846
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2024-02-09 01:09:27 -08:00
Praveen AC
6642085af9 i2c:nv_hawk_owl: Reduced sensor stream on time.
Following changes are done to reduce 400ms to 200ms:
1> I2c address trans during every power_on is moved to probe time.
   Since with virtual-i2c mux IMUs are handled and hence we don't need to
   do i2c address trans every time. So once during probe time is enough,
   that reduces ~120ms.
2> Reduced sleeping time during start stream call to 20ms, Which reduced
   ~100ms.

Bug 4180672

Change-Id: I027148f64b892d95e5432394f90bf171156ef9c0
Signed-off-by: Praveen AC <pac@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3072821
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
Reviewed-by: Ankur Pawar <ankurp@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2024-02-09 01:09:17 -08:00
Praveen AC
e31d73fa20 media: i2c: ar0234: Fix dual hawk corruption
- Fixes the frame corruption issue encountered
  when simultaneously streaming from two
  hawks via E3653 GMSL2 board
- Route each serializer output to a different
  deserializer output CSI port instead of
  routing video data from both serializers
  to the same deserializer output port
- Route data through two virtual channels for
  each of the two output ports instead of four
  virtual channels all through a single output
  port
- Fix serdes programming comments

Bug 4032165
Bug 3753423
JEC-286

Change-Id: I7b4e929e9f5330cc6eb0aa72646ce429a713df7a
Signed-off-by: Praveen AC <pac@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3072829
Reviewed-by: Ankur Pawar <ankurp@nvidia.com>
Reviewed-by: Anubhav Rai <arai@nvidia.com>
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2024-02-08 22:54:15 -08:00
Praveen AC
d7f14a85db t23x:P3762: Fix failed to read 2nd Hawk EEPROM serial number.
Changed EEPROM address to 0x15 for 2nd Hawks EEPROM
to avoid fail to read serial number.

Bug 4244937

Change-Id: Ia920ec6464b5bc374289728395da2bceb3f44d39
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3066257
Reviewed-by: Praveen AC <pac@nvidia.com>
Reviewed-by: Anubhav Rai <arai@nvidia.com>
Reviewed-by: Bibek Basu <bbasu@nvidia.com>
Tested-by: Praveen AC <pac@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2024-02-01 22:39:36 -08:00
Jon Hunter
05b82fc2fe nvhost: Remove legacy NVHOST support
Remove the legacy NVHOST support from the nvhost.h file that is no
longer needed. Eventually we will remove this file completely, but it is
currently still needed as it provides a shim layer for working with the
upstream host1x driver.

Bug 4475969

Change-Id: Id4d97b41de2590800e321e4eeb9c03b434e00dc5
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3065976
(cherry picked from commit 5d2c7b6e3a)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3066026
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2024-02-01 10:44:27 -08:00
Jon Hunter
b2e0445c73 video: tegra: Remove nvhost and host1x headers
The nvhost.h header in the ISP and VI drivers is a copy of the nvhost.h
header in the main top-level include directory. Remove these and use the
version in the top-level include directory.

Finally, remove the host1x.h header file that is not used at all.

Bug 4475969

Change-Id: I78133231203ee7eb2dc41eee7b8895ba9ce50e02
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3065975
(cherry picked from commit 4c229ee929)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3066025
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2024-02-01 10:44:22 -08:00
Jon Hunter
34ef06bd12 video: tegra: Don't use nvhost_get_private_data
The function nvhost_get_private_data() is a wrapper around the Linux
platform_get_drvdata() function. To remove all the legacy nvhost code
that is no longer supported or needed, update the camera drivers to use
platform_get_drvdata() directly. Note that there are places in these
drivers that already use platform_get_drvdata() and so this change makes
these drivers more consistent.

Bug 4475969

Change-Id: Ie474c46c438f69c2141f41d0702bf57525597ab5
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3065974
(cherry picked from commit 73a4985dbd)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3066024
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2024-02-01 10:44:16 -08:00
Jon Hunter
7f293be0be media: camera: Remove of_pwm_n_cells usage
The 'of_pwm_n_cells' has been removed from the pwm_chip structure in the
latest linux-next development branch that will eventually become Linux
v6.9. This parameter was used in function 'of_pwm_xlate_with_flags'.
The camera CDI and ISC drivers don't use the kernel's
of_pwm_xlate_with_flags xlate function and instead implement their own
xlate function. Therefore, it is safe to simply drop the usage of the
'of_pwm_n_cells' parameter completely in these drivers.

Bug 4471899

Change-Id: Id4cf4b7ac182d0654080e536457bab1a7128ad1d
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3063806
(cherry picked from commit 072a881099)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3067933
Reviewed-by: Brad Griffis <bgriffis@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2024-02-01 08:24:16 -08:00
Johnny Liu
246e62b38e video: tegra: remove icc request in system resume
When dla resumes back from system sleep, it should not send any
bandwidth request through ICC framework since it is in idle state.

In the job submit path for dla, nvhost will try to wakeup the device
through nvhost_module_busy, and the associated runtime resume callback
is called in the dla driver. This is the time dla driver should send
bandwidth request to BPMP for bandwidth allocation through ICC
framework.

Bug 4478515

Signed-off-by: Johnny Liu <johnliu@nvidia.com>
Change-Id: Ie4b5cfad6593bd058860ee3be467d6a2384f1b5d
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3067369
Reviewed-by: Rajkumar Kasirajan <rkasirajan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2024-01-31 22:24:15 -08:00
Jon Hunter
233a7eb320 drivers: Fix missing headers for Linux v6.8
For Linux v6.8, commit ef175b29a242 ("of: Stop circularly including
of_device.h and of_platform.h") updated the OF headers included by these
header files. This breaks the build for various drivers and so fix this
by including the headers that are actually needed for each driver.

Bug 4448428

Change-Id: Ia40ab13f865d5631c96855ecc49145848f99c996
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3032442
(cherry picked from commit ab65399274)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3063003
Reviewed-by: Brad Griffis <bgriffis@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2024-01-25 13:55:11 -08:00
Jon Hunter
753583f1e3 misc: mods: Fix headers for Linux v6.8
For Linux v6.8, commit ef175b29a242 ("of: Stop circularly including
of_device.h and of_platform.h") updated the OF headers included by these
header files. This breaks the build for various drivers and so fix this
by including the headers that are actually needed for each driver.

Bug 4448428

Change-Id: Ifb484189524a3ec86aa252e71b4489f4dba5aacd
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3059458
(cherry picked from commit 0899829704)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3063002
Reviewed-by: Brad Griffis <bgriffis@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2024-01-25 13:55:06 -08:00
Jon Hunter
1ccb6edda2 drivers: Don't use strlcpy()
For Linux v6.8, the function strlcpy() has been removed. The function
strscpy() was added in Linux v4.3 and has been preferred over strlcpy().
See upstream Linux commit 30035e45753b ("string: provide strscpy()") for
more details. The Linux checkpatch.pl script warns against using
strlcpy().

The function strscpy() takes the same arguments as strlcpy(), but
returns a type of ssize_t instead of size_t. Update the drivers to use
strscpy() instead of strlcpy().

Bug 4448428

Change-Id: Id6f196f0e81decf1545f9aa4f74f5c63a7f72a48
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3059457
(cherry picked from commit ecf383265b)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3063000
Reviewed-by: Brad Griffis <bgriffis@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2024-01-25 13:55:01 -08:00
Anubhav Rai
1b6db0ce3c camera: lt6911uxc update with Shadow EDID
Update the Lontium driver to flash shadow EDID
to lt6911uxc chip. This will ensure that the requested
resolution through the application is flashed to the
chip and the source is forced to select the
requested resolution only.

bug 4266018
bug 4301203
bug 4168489
Signed-off-by: Anubhav Rai <arai@nvidia.com>

Change-Id: I945a9658b52c82956535f3710312d317c0098be7
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3007702
(cherry picked from commit c3ddb23392)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3015613
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2024-01-23 19:09:34 -08:00
Jon Hunter
26e357d588 misc: mods: Drop DMAENGINE slave_id support
Only Tegra234+ devices are currently supported and for these devices the
only DMA drivers that are supported for Linux are the Tegra210 ADMA and
Tegra186 GPCDMA drivers. Neither of these drivers ever supported the
'slave_id' parameter for configuring the DMA request ID for a given
channel. These drivers have always used device-tree to retrieve this
information. Only the Tegra20 APBDMA controller supported the 'slave_id'
field and this was dropped in Linux v5.17. The Tegra20 APBDMA driver was
supported in Tegra devices up until Tegra210, but starting with Tegra186
it is no longer supported.

Given that this is a legacy feature only supported for legacy Tegra
devices and drivers, drop the 'slave_id' support completely.

Bug 4425688

Change-Id: Id9bb6440805826dfb0cf0d862d6b15fd856e61ff
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3038964
(cherry picked from commit c87f90c7b8)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3058562
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2024-01-22 05:11:28 -08:00
Jon Hunter
7635873f3d misc: mods: Fix build when OPTEE is a module
If the Linux kernel driver OPTEE is built as a module (CONFIG_OPTEE=m)
then building the MODS driver for Tegra fails with the following error
...

 drivers/misc/mods/mods_optee.c:22:5:
 error: no previous prototype for 'esc_mods_invoke_optee_ta'
 [-Werror=missing-prototypes]
   22 | int esc_mods_invoke_optee_ta(struct mods_client *client,
      |     ^~~~~~~~~~~~~~~~~~~~~~~~

The problem is in the mods_internal.h file that wraps the prototype for
the above function with '#ifdef CONFIG_OPTEE'. This works fine for when
CONFIG_OPTEE=y but not if CONFIG_OPTEE=m. To ensure that this prototype
is present when the OPTEE driver is built into the kernel or a module,
we need to use '#if IS_ENABLED(CONFIG_OPTEE)'. Update the MODS driver
accordingly to fix this.

Bug 4429280

Change-Id: I48054f60cf26c04d2cacff8d8affc46254020aff
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3038965
(cherry picked from commit 0bd71e49bd)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3055962
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2024-01-22 05:11:23 -08:00
Laxman Dewangan
176a1bff8d tegra_hv: Use conftest to find if class_attribute function has const type arg
Determine if struct class_attribute function has const type
"struct class_attribute" argument or not.

Modified the argument by change
commit 75a2d4226b5371 ("driver core: class: mark the struct class
for sysfs callbacks as constant") for Linux 6.3

Bug 4346767

Change-Id: I2a36025b23af80761faf1da406481731289eedd2
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3030734
(cherry picked from commit de4295cfa6)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3059278
Tested-by: Jonathan Hunter <jonathanh@nvidia.com>
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2024-01-22 05:10:56 -08:00
Manish Bhardwaj
e997e8ae5a hv: port tegra hypervisor driver on noble kernel
Bug 4377196

Change-Id: Idecaac1915c444fe04c40f0e848e36bd3f90b78f
Signed-off-by: Manish Bhardwaj <mbhardwaj@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3018492
(cherry picked from commit 912dda68d1)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3059277
Tested-by: Jonathan Hunter <jonathanh@nvidia.com>
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com>
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2024-01-22 05:10:51 -08:00
Laxman Dewangan
d1c969184b tegra_hv: Use const in class attributes APIs for Linux 6.4 and above
The callback APIs of class attribute are updated on
Linux6.4 and above to have the constant type pointer
argument.

Update the driver compatible with the updated APIs
for Linux 6.4 and above.

Bug 4370594

Change-Id: Ic06cb0d752797bb272f110aa0bb35bdd3afa1e6a
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3013107
(cherry picked from commit c8a83b5692)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3059176
Tested-by: Jonathan Hunter <jonathanh@nvidia.com>
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2024-01-22 05:10:46 -08:00
Laxman Dewangan
e02b9efcc4 tegra_hv: Enable driver for Linux 6.2 and above
The driver tegra_hv was disabled for the Linux 6.2 and above
due to build failure. All build issue is fixed and re-enabling
driver for all kernel.

Bug 4370594

Change-Id: I9edef01a4f204b138204d583d9f7f61dc6112a25
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3014191
(cherry picked from commit af936f3b1e)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3059175
Tested-by: Jonathan Hunter <jonathanh@nvidia.com>
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2024-01-22 05:10:41 -08:00
Laxman Dewangan
2ac404f410 nvidia-oot: Remove unused CONFIG_TEGRA_IVC_LEGACY_DISABLE
The export of config CONFIG_TEGRA_IVC_LEGACY_DISABLE is
no more required as all drivers which was disabled from
build due to IVC API changes are ported to handle the
new APIs from core kernel.

Remove unused config CONFIG_TEGRA_IVC_LEGACY_DISABLE.

Bug 4346767

Change-Id: I7830f962735b293f9c78cd03acfa1413f9eb4cff
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3033025
(cherry picked from commit 2179242ba9)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3059174
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com>
Tested-by: Jonathan Hunter <jonathanh@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2024-01-22 05:10:36 -08:00
Laxman Dewangan
e7868529f3 misc: Enable build of mods module
Build of mods module disabled due to not supporting legacy IVC
from Linux 6.2.
Enable build of mods.

Bug 4346767

Change-Id: I4eccc831dba2820467f5d455bb5cba387f879b23
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3033023
(cherry picked from commit 00f3315faf)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3038669
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com>
Tested-by: Jonathan Hunter <jonathanh@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2024-01-22 05:10:31 -08:00
Jon Hunter
3f5ba8f70b tty: wch: Fix build for Linux v6.8
In Linux v6.8, the argument for the struct tty_operations::send_xchar
function was updated from char to u8 and this breaks the build for the
'wch' driver. Add a test to the conftest script to detect the argument
type for this function and use the definition generated to fix the build
for the 'wch' driver.

Bug 4448428

Change-Id: I051861cf76e56cacb4b33053d4e6644265552df7
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3057714
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2024-01-19 06:39:15 -08:00
Jon Hunter
f1f3771dec conftest: Fix 'type' compile tests
The Conftest Makefile was incorrectly updated changing variable
NV_CONFTEST_TYPE_COMPILE_TESTS to NV_CONFTEST_TYPES_COMPILE_TESTS. Fix
this by correcting the name.

Bug 4346767

Change-Id: Ia34c076526a1ee6870301382e01bfdcc8cd550d3
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3053809
(cherry picked from commit 93360eb080)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3055874
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2024-01-17 20:39:37 -08:00
Laxman Dewangan
e30e21ebd1 v4l2: Add conftest for v4l2 API changes in Linux 6.6
Add conftest to determine the API changes/deprecation
for V4L2 in Linux6.6. The changes are:
  The device argument is added in the API v4l2_async_nf_init() with
  commit b8ec754ae4c5 ("media: v4l: async: Set v4l2_device and subdev
  in async notifier init") in Linux 6.6.

  The API is removed with commit bda8953e8c3e ("media: v4l: async: Drop
  v4l2_async_nf_parse_fwnode_endpoints()") in Linux 6.6

Bug 4346767

Change-Id: Ia225be8b4fb17003ec2899e872573dc05e9fde87
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3042900
(cherry picked from commit 8df8cfc8e6)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3055495
Tested-by: Jonathan Hunter <jonathanh@nvidia.com>
Reviewed-by: Paritosh Dixit <paritoshd@nvidia.com>
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2024-01-17 15:24:14 -08:00
Jon Hunter
ac6a53078b ufs: Remove UFSHCD_QUIRK_ENABLE_STREAM_ID
Remove the legacy downstream quirk 'UFSHCD_QUIRK_ENABLE_STREAM_ID' and
always use the supported upstream quirk from now on. The legacy quirk
will never be upstreamed and so to support 3rd Party Linux distributions
that will not have this quirk, we should only support the official
upstream quirk.

Bug 4346767
Bug 4450187

Change-Id: Iabec6beb63b99ada7e8893cfa2acc0ed5e7ee92f
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3045039
(cherry picked from commit ce916e3f13)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3055492
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
2024-01-17 09:10:08 -08:00
Laxman Dewangan
56c05f8e3f ufs: Use UFS headers directly if it is public header in core kernel
The UFS headers are moved to include as public headers from
Linux 5.19. Use the headers directly from the core kernel
instead of making the copy in drivers-private for nvidia-oot.

Keep copy of only those drivers which are still in the
drivers folder in core kernel.

This will help to align all definition which driver needs to
sync with core driver available in the core kernel.

Bug 4346767

Change-Id: I1e59e32bee0f89591e50fff2f61e35d468f4207c
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3039312
(cherry picked from commit b2dcbdbc93)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3055490
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
Tested-by: Jonathan Hunter <jonathanh@nvidia.com>
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com>
2024-01-17 09:10:02 -08:00
Laxman Dewangan
822abd1943 ufs: Port UFS driver to use headers from core kernel for Linux 6.7
Some of the drivers-private headers are now available in public
header path in core kernel. Use such headers directly from the
core kernel for Linux 6.7 and later instead of copying it in the
nvidia-oot/include/driver-private.

Also match the quirks definition with core kernel for Linux 6.0 and
later.

Bug 4346767

Change-Id: If994466a3cabc6df8eeb0e97018f48d48a8306dc
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3038489
(cherry picked from commit dfff2311c3)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3055485
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2024-01-17 09:09:57 -08:00
Laxman Dewangan
71876127a2 UFS: Port driver-private headers for the Linux 6.7
The headers of UFS got changed for Linux 6.7 over Linux 6.1.
Make the copy the of the headers and modify according to
Linux 6.7 core kernel headers.

Note: These headers will be removed and use directly from
core kernel in follow on cleanups.

Bug 4346767

Change-Id: I12cb4eac187bb3414efcc5bfb6246a322e917094
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3037996
(cherry picked from commit b282d21004)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3055487
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
Tested-by: Jonathan Hunter <jonathanh@nvidia.com>
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com>
2024-01-17 09:09:46 -08:00
Jon Hunter
abeacc3534 scsi: ufs: Use conftest for Tegra264
The chip ID for Tegra264 was added in Linux v6.5 and not Linux v6.1 as
indicated in the Tegra UFS driver. Hence, the Tegra UFS driver does not
build against any generic Linux v6.1 to v6.4 kernel. Fix this by using
conftest to determine if the chip ID definition is present in the
kernel.

Bug 4221847

Change-Id: If2ca1202b2a69bf7de36fc327406f1579d2f4969
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3054870
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2024-01-17 06:54:45 -08:00
Jon Hunter
902712a236 scsi: ufs: Use conftest for suspend differences
In Linux v5.19, the arguments to the 'suspend' function pointer defined
in the structure 'ufs_hba_variant_ops' was updated to add a 'status'
argument. Add a new test to the conftest script that checks if the
'suspend' function has a 'status' argument and use the definition
created by conftest to select which structure member is used.

This is beneficial for working with 3rd party Linux kernels that may
have back-ported upstream changes into their kernel and so the kernel
version checks do not work.

Bug 4221847

Change-Id: I05011a4a1aff7c54cd258147d6519b696904a2de
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2996214
(cherry picked from commit f748f0ef72)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3032086
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2024-01-17 06:54:34 -08:00
Jon Hunter
ff6f3c6916 scsi: ufs: Clean-up headers
Clean-up the UFS headers by adding a new top-level header for ufshcd.h,
ufshci.h and unipro.h that will include the appropriate header
depending on kernel version. This saves replicating the kernel version
check for every source file that includes these headers.

Note that the ufshcd-pltfrm.h header is identical between v5.15, v5.16
and 6.1 kernels and so remove the duplicated versions of this header and
just use a common header for all kernel versions.

Bug 4221847

Change-Id: I0e0ba2f4389af7e34ab62e3131141405d87aeeb1
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2996211
(cherry picked from commit 54e01347ea)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3031885
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2024-01-17 06:54:24 -08:00
Jon Hunter
11e0abc8a3 media: camera: Fix build for Linux v6.8
In Linux v6.8, the 'g_frame_interval' function pointer was removed from
the 'v4l2_subdev_video_ops' structure and replaced by
'get_frame_interval' that was added to the 'v4l2_subdev_pad_ops'
structure. Add a test to conftest to detect if 'get_frame_interval' is
supported and update the camera CSI driver accordingly to populate the
appropriate function pointer.

Note that the new 'get_frame_interval' function pointer has an
additional 'state' argument but is otherwise the same as the previous
'g_frame_interval' function pointer.

Bug 4448428

Change-Id: Iff049c3bffda11c677ac879b2b91e10deb78060c
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3053901
(cherry picked from commit a1f59dfc30)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3055255
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2024-01-17 04:40:24 -08:00
Jon Hunter
5d31085674 net: nvethernet: Fix build for Linux v6.8
The ethtool_ops function pointers get_rxfh and set_rxfh were updated for
Linux v6.8 to pass arguments via a new 'ethtool_rxfh_param' structure.
Add a new test for conftest to detect if the get_rxfh and set_rxfh
functions support the 'ethtool_rxfh_param' structure and update the
nvethernet driver accordingly for Linux v6.8.

Bug 4448428

Change-Id: Ia1c49d88c4ac73539454b010af92c261e14be4bf
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3037949
(cherry picked from commit 0356a563b3)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3055254
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2024-01-17 04:40:20 -08:00
Jon Hunter
a86b3af506 drivers: pwm: Fix build for Linux v6.8
Commit 54c86dd20bba ("pwm: Replace PWM chip unique base by unique ID")
removed the 'base' field of the 'pwm_chip' structure replacing it with
an 'id' field. The new 'id' is initialised by the PWM driver core and
does not need to be configured by the PWM drivers.

Add a test for conftest to detect if the 'pwm_chip' structure has the
'base' field and update the various PWM driver to only set this field if
present.

Bug 4448428

Change-Id: I7cf466eddba4aedb57db84534e3cbf99be64151e
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3027486
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
(cherry picked from commit 10fd025187)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3055253
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2024-01-17 04:40:15 -08:00
Jon Hunter
32f23c8ab2 gpu/drm: tegra: Fix build for Linux v6.8
Building the Tegra DRM driver with Linux v6.8 fails with the following
error ...

 drivers/gpu/drm/tegra/hdmi.c:623:25: error: implicit declaration of
 function ‘drm_eld_size’; did you mean ‘mm_cid_size’?
 [-Werror=implicit-function-declaration]
  623 |    size_t length = drm_eld_size(hdmi->output.connector.eld), i;
      |                    ^~~~~~~~~~~~

Commit ("8eb80946ab0c drm/edid: split out drm_eld.h from drm_edid.h")
added the header file 'drm/drm_eld.h' which now needs to be included to
build the Tegra DRM driver. Fix the build issue by using conftest to
detect the presence of the header 'drm/drm_eld.h' and include this
header if present.

Bug 4448428

Change-Id: Ifb17648d1dc721e1f0de3f864f4cc76450eea394
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3027485
(cherry picked from commit 8d5286c379)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3055252
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2024-01-17 04:40:10 -08:00
Laxman Dewangan
259736545b crypto: Enable few of crypto driver for Linux6.6
Enable crypto drivers which are getting build properly
with Linux 6.6 and keep disabling the compilation of
build failed drivers.

Bug 4346767

Change-Id: Ia5c67759b6c839a874ea9e38d601c722596e0008
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3010492
(cherry picked from commit 9b0b059027)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3053821
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com>
Tested-by: Jonathan Hunter <jonathanh@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2024-01-16 14:56:09 -08:00
Bitan Biswas
34fd7d68dc crypto: fix crypto_engine_ctx build error
struct crypto_engine_ctx removed in k6.6 hence use
conftest helper based macro to select updated data types

Bug 4346767

Change-Id: I2c00f99251e90f0dd3641703ba24a2a8ac23e927
Signed-off-by: Bitan Biswas <bbiswas@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2994021
(cherry picked from commit 48e59e9d42)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3053820
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com>
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
Tested-by: Jonathan Hunter <jonathanh@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2024-01-16 14:56:04 -08:00
Bitan Biswas
4a32aa94e5 crypto: conftest struct crypto_engine_ctx support
struct crypto_engine_ctx removed in k6.6 hence use
conftest helper based macro to select updated data types

Bug 4346767

Change-Id: I23e8f054719f399877b11f42d355f940d8e07186
Signed-off-by: Bitan Biswas <bbiswas@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3026513
(cherry picked from commit 2a9ce8d0e2)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3053713
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2024-01-16 14:55:59 -08:00
Bitan Biswas
e4d4103ebe nvidia-oot: enable noble crypto
Enable crypto build with noble

Change-Id: Ib4ab440fdd75a3663c717992c3c80eae1fe77f88
Signed-off-by: Bitan Biswas <bbiswas@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3011180
(cherry picked from commit b185ee48be)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3053822
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com>
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
Tested-by: Jonathan Hunter <jonathanh@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2024-01-16 14:55:49 -08:00
Laxman Dewangan
7abc2d8726 camera: vi: Use proper APIs from v4l2 for Linux6.6
The earlier porting of the driver for Linux 6.6 is not
matching with the previous kernel implementation.

Few V4L2 APIs have been deprecated from Linux 6.6. and
added the new APIs.

Use the correct API available from Linux6.6 for the
replacement as the previous supported kernel APIs.

For reference, the changes in core kernels are:
  The device argument is added in the API v4l2_async_nf_init() with
  commit b8ec754ae4c5 ("media: v4l: async: Set v4l2_device and subdev
  in async notifier init") in Linux 6.6.

  The API is removed with commit bda8953e8c3e ("media: v4l: async: Drop
  v4l2_async_nf_parse_fwnode_endpoints()") in Linux 6.6

Bug 4346767

Change-Id: I94877a8fe6a6764fc3c913fea7ecdbfdc7c793d6
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3042993
(cherry picked from commit 7d931ef33d)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3053710
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com>
Tested-by: Jonathan Hunter <jonathanh@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2024-01-16 14:55:44 -08:00
Laxman Dewangan
f8e977a8c9 camera: Use conftest to find if v4l2_async_notifier_* present
use conftest to determine if APIs v4l2_async_notifier_*()
present or not.
These APIs have been renamed in
commit 3c8c15391481 ("media: v4l: async: Rename async
nf functions, clean up long lines") in Linux 5.16

Bug 4387902

Change-Id: Id2023543f487c3867ef4e140662141803ac63f04
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3037918
(cherry picked from commit 702def895c)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3053709
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2024-01-16 14:55:39 -08:00
Laxman Dewangan
1f0954f43d media: Use conftest to find if v4l2_async_subdev_nf_init() present
Use conftest to find if function v4l2_async_subdev_nf_init() is present
or not.

In Linux 6.5, with change commit bda8953e8c3e7e ("media: v4l: async:
Drop v4l2_async_nf_parse_fwnode_endpoints()"), added the function
v4l2_async_subdev_nf_init() and dropped v4l2_async_nf_init().

Bug 4346767

Change-Id: I345db2acf0a07d05722611d9eacc7134aff0c35a
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3028766
(cherry picked from commit 3839cecd1c)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3053708
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2024-01-16 14:55:29 -08:00
Laxman Dewangan
711d4aee8d media: Use conftest to find if enum v4l2_async_match_type present
Use conftest to determine if the 'enum v4l2_async_match_type'
has the "TYPE" in its name.

In Linux 6.5, with change commit 7a2259fc5182b ("media: v4l: async:
Rename V4L2_ASYNC_MATCH_ macros, add TYPE_"), the enum names has "TYPE" also.

Bug 4346767

Change-Id: I863da8496337d4003188b654673c67cdb3eef155
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3028745
(cherry picked from commit 5f77d6d51a)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3053707
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2024-01-16 14:55:19 -08:00
Laxman Dewangan
afe9bdc7c0 media: Use conftest to find if struct v4l2_async_connection present
Use conftest to find if struct v4l2_async_connection present
or not. The struct v4l2_async_subdev is renamed to struct
v4l2_async_connection with change commit adb2dcd5f2d49d3
("media: v4l: async: Rename v4l2_async_subdev as v4l2_async_connection")
in Linux 6.5

Bug 4346767

Change-Id: Id15c8ce747a8642b7831b79f45e15f26e95744b2
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3028744
(cherry picked from commit 234ba9c75f)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3053706
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2024-01-16 14:55:08 -08:00
Laxman Dewangan
5b4a093e24 i2c: Use conftest to find return type of .remove of i2c_driver struct
Use conftest to determine the return type of .remove() of
struct i2c_driver is int or void type instead of kernel version.

The return type got changed with commmit ed5c2f5fd10d ("i2c:
Make remove callback return void")

Bug 4387902

Change-Id: Id64466613156e0efaf6cce7492d70cab1c1d1af7
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3036799
(cherry picked from commit 1eab65044c)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3053705
Tested-by: Jonathan Hunter <jonathanh@nvidia.com>
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2024-01-16 06:39:23 -08:00
Laxman Dewangan
14abda2794 i2c: Use conftest to find if i2c driver probe has i2c_device_i2d arg
Determine if probe of struct i2c_driver has i2c_device_id argument
or not.

This argument get removed from commit 03c835f498b5 ("i2c: Switch
.probe() to not take an id parameter") form Linux 6.3.

Bug 4346767

Change-Id: Ife73b29946246fce5bfcedcabe15992432d86348
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3030809
(cherry picked from commit 2884c4b380)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3054211
Tested-by: Jonathan Hunter <jonathanh@nvidia.com>
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2024-01-16 06:39:18 -08:00
Laxman Dewangan
6ad6325734 i2c: Use conftest to find if i2c_driver struct has new_probe
Use conftest method to find if i2c_driver struct has the
member as new_probe. This is dropped from Linux 6.6 with
commit 5eb1e6e459cf ("i2c: Drop legacy callback .probe_new()")

Bug 4346767

Change-Id: I10b539dfa1bb363ad6cf5fc28a9ebd0ca4e88b48
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3028631
(cherry picked from commit 537a307ffd)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3053704
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
Tested-by: Jonathan Hunter <jonathanh@nvidia.com>
2024-01-16 02:10:25 -08:00
Laxman Dewangan
a39a2be24e serial: Use conftest to find if uart_ops has set_termios has const arg
Use conftest to determine if set_termios of struct uart_ops
has const type argument or not. The argument type is changed
from commit bec5b814d46c ("serial: Make ->set_termios() old
ktermios const") in Linux 6.1

Bug 4387902

Change-Id: I175aac51ac2c2b99b9eedc69260ccb6b0c38571e
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3037040
(cherry picked from commit 32516f4878)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3053703
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
Tested-by: Jonathan Hunter <jonathanh@nvidia.com>
2024-01-16 02:10:18 -08:00
Laxman Dewangan
9c2c4a695c tty: Use conftest to find if tty_operations::write() has argument u8 ptr
Use conftest to find if the function write() of tty_operations
struct has the argument as U8 pointer data type. This datatype
is changed from Linux 6.5 with commit 69851e4ab8feeb ("tty:
propagate u8 data to tty_operations::write()")

Bug 4346767

Change-Id: I49f9ef844da0dee8e209e597989f1d179a2a804b
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3028632
(cherry picked from commit a757343f2e)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3053702
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
Tested-by: Jonathan Hunter <jonathanh@nvidia.com>
2024-01-16 02:10:13 -08:00
Laxman Dewangan
3a35e1c2b1 sound: Use conftest to find if snd_soc_dai_ops has probe callback
Use conftest to find if struct snd_soc_dai_ops have the probe()
callback or not. In Linux 6.5, commit 516ee7009ff20 ("ASoC:
tegra: merge DAI call back functions into ops") added probe()
callback into the struct snd_soc_dai_ops.

Bug 4346767

Change-Id: If292f10d6e52a2cf80c7700ff7aba5805041531f
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3028743
(cherry picked from commit 350a86106e)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3053701
Tested-by: Jonathan Hunter <jonathanh@nvidia.com>
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2024-01-16 02:10:08 -08:00
Laxman Dewangan
0d940461d4 media: {cdi,is}_gpio: Initialize parent dev for gpio chip
Set the parent node of the gc to the gpio device so that
core will get the of_node of device from parent node.

Bug 4387902

Change-Id: I795e612c11bdf72067b85d23ce5914abdcc3c139
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3052126
(cherry picked from commit d09293e954)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3053104
Tested-by: Jonathan Hunter <jonathanh@nvidia.com>
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2024-01-15 23:55:00 -08:00
Jon Hunter
e3fc979712 camera: Fix build when CONFIG_MEDIA_SUPPORT is not enabled
Some camera drivers are dependent upon CONFIG_MEDIA_SUPPORT being
enabled in the kernel and if it is not enabled, building these drivers
fail. Fix this by only building the camera drivers dependent upon
CONFIG_MEDIA_SUPPORT when this option is actually enabled.

Bug 4449072

Change-Id: I3637b5763667fbc9965bbeaf126115010e711c7e
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3050559
(cherry picked from commit 9de3e799ae)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3053101
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2024-01-15 23:54:55 -08:00
Laxman Dewangan
e3f7ab90e1 rtcpu: capture-ivc: Enable build for Linux 6.2
The driver of rtcpu/capture-ivc is modified to support
the new APIs of the IVC from core kernel using conftest.

Enable build of this driver.

Bug 4346767

Change-Id: I427bb8b7d5dad02e805d0707fb67e45772fead31
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3033024
(cherry picked from commit bf1cfb5fb4)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3053700
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
Tested-by: Jonathan Hunter <jonathanh@nvidia.com>
2024-01-15 23:54:46 -08:00
Laxman Dewangan
2fc926c8fe firmware: bpmp-tegra186-hv: Enable build for Linux 6.2
The build of bpmp-tegra186-hv was disabled due to change
in core kernel to move the Tegra BPMP IVC to IOSYS-MAP
framework by commit 4c1e0a97351a5e ("firmware: tegra:
bpmp: Use iosys-map helpers") in Linux 6.1.

Bug 4346767

Change-Id: I704ef454192613ade8e97f708e997fa74a186b7b
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3031778
(cherry picked from commit 1fc6fc17f2)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3038670
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
Tested-by: Jonathan Hunter <jonathanh@nvidia.com>
2024-01-15 23:54:41 -08:00
Jon Hunter
f7d42ed1c4 media: i2c: Fix build for GCC 6/7
Building nv_ar0234 and nv_hawk_owl sensor drivers with GCC 6/7 fails
with the following errors ...

 drivers/media/i2c/nv_ar0234.c:797:66: error: initialiser element is not
 constant
 .compound_ctrl_size = {sizeof(struct NvCamSyncSensorCalibData),
                        alternating_exposure_cfg_size},
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 drivers/media/i2c/nv_hawk_owl.c:883:59: error: initialiser element is
 not constant
 .compound_ctrl_size = {sizeof(NvCamSyncSensorCalibData),
                        alternating_exposure_cfg_size},
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~

These older versions of GCC are not able to reconcile the size from the
variable 'alternating_exposure_cfg_size' even though it is defined as
const. Given that the variable 'alternating_exposure_cfg_size' is only
used here, fix this by removing this variable and directly defining the
size in the declaration of the 'compound_ctrl_size' parameter.

Note that the minimum GCC compiler currently supported by the Linux
kernel is v5.1.

Bug 4448563

Change-Id: I4d3ac6eeb961a944901e73a1d92e753cae44220c
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3050272
(cherry picked from commit 8b3ebff940)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3051959
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2024-01-14 15:24:13 -08:00
Laxman Dewangan
560b7c1345 Makefile: Remove CONFIG_TEGRA_GPIO_LEGACY_DISABLE
Remove config CONFIG_TEGRA_GPIO_LEGACY_DISABLE which
was added to avoid the build of few modules due to
API changes in core kernel from Linux 6.2.

ALl modules drivers are updated to support the Linux 6.2
and above.

Bug 4346767

Change-Id: I81c56eda77bfb42f56f01216c721f410dac39d77
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3031555
(cherry picked from commit e290576b47)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3051590
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com>
Tested-by: Jonathan Hunter <jonathanh@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2024-01-14 13:09:30 -08:00
Laxman Dewangan
e94f3bb6d8 {isc,cdi}_mgr: Use gpiod_count() for getting number of GPIO
The API gpiod_count() returns the number of the GPIO in given
property. This API is supported from long and continue to
support.

Use this API instead of of_gpio_named_count() which is deprecated
from Linux 6.2.

Bug 4387902

Change-Id: I2b647b8645e0dd8ff743515ac999fe035e636dc5
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3035503
(cherry picked from commit 6627276f82)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3051588
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2024-01-14 13:09:25 -08:00
Laxman Dewangan
82f8d2b998 bludroid_pm: Enable build of driver with Linux6.2
The build of driver is disabled from Linux 6.2 due to
changes in core kernel where API of_get_named_gpio_flags()
has been removed.

This APIS is removed in commit 40fc56ee608cdb ("gpiolib:
of: remove of_get_gpio[_flags]() and of_get_named_gpio_flags()")
in Linux 6.2.

Add support to use the new APIs for Linux 6.2 onwards.

Bug 4346767

Change-Id: I573c13398945db93d2a3a3db81bfd53f1be159f6
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
(cherry picked from commit f777618023)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3050579
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2024-01-12 20:24:19 -08:00
Laxman Dewangan
b27e2e49de cdi_gpio: Enable build of cdi_gpio for Linux 6.2
The build of cdi_gpio driver was disabled for Linux 6.2
as there is change in API in core kernel.

Enable build of cdi_gpio driver with appropriate
modification in driver for Linux 6.2.

Bug 4346767

Change-Id: If2d67a87a37bb868b217346d0dbfb5d56e4617e1
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3031552
(cherry picked from commit 6fcf226b96)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3051583
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
Tested-by: Jonathan Hunter <jonathanh@nvidia.com>
2024-01-12 18:24:43 -08:00
Laxman Dewangan
a6fc43ecb8 cdi_mgr: Enable build of cdi_mgr for Linux 6.2
The build of cdi_mgr driver was disabled for Linux 6.2
as there is change in API in core kernel.

Enable build of cdi_mgr driver with appropriate modification
in driver for Linux 6.2.

Bug 4346767

Change-Id: I6315482b593926e1382a0ffc9ca8aa9a27740d11
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3031551
(cherry picked from commit 9174561352)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3051589
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
Tested-by: Jonathan Hunter <jonathanh@nvidia.com>
2024-01-12 18:24:38 -08:00
Laxman Dewangan
c61a3c670f isc_gpio: Enable build of isc_gpio for Linux 6.2
The build of isc_gpio driver was disabled for Linux 6.2
as there is change in API in core kernel.

Enable build of isc_gpio driver with appropriate
modification in driver for Linux 6.2.

Bug 4346767

Change-Id: Id520231dcfb2daa8efeb9eeb8db8d7d18c7ecb74
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3031554
(cherry picked from commit 103ebd91bc)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3051587
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
Tested-by: Jonathan Hunter <jonathanh@nvidia.com>
2024-01-12 18:24:32 -08:00
Laxman Dewangan
ce24d01296 isc_mgr: Enable build of isc_mgr for Linux 6.2
The build of isc_mgr driver was disabled for Linux 6.2
as there is change in API in core kernel.

Enable build of isc_mgr driver with appropriate modification
in driver for Linux 6.2.

Bug 4346767

Change-Id: Ieb7d55d6068d1d893fcc8bfac7aa71c2ba1dece9
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3031553
(cherry picked from commit c94946a0bb)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3051586
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
Tested-by: Jonathan Hunter <jonathanh@nvidia.com>
2024-01-12 18:24:27 -08:00
Laxman Dewangan
a77844b17d conftest: Add test to find if gpiochip_add() present
Add conftest  Determine if function gpiochip_find()
present or not.

The function gpiochip_find() is removed from
commit 2654521d774f9 ("gpiolib: remove
gpiochip_find()") in Linux 6.7

Bug 4346767

Change-Id: I5b7c4b87c327ac69c8ff735940d086352665de2f
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3031549
(cherry picked from commit 3e87d0a8ea)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3051582
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2024-01-12 13:25:15 -08:00
Laxman Dewangan
cef95180b3 conftest: Add test to find if struct gpio_chip has of_node
Determine if struct gpio_chip has the of_node member or not.

The of_node from struct gpio_chip is removed from
commit 70d0fc4288dab ("gpiolib: Get rid of not
used of_node member") in Linux 6.2

Bug 4346767

Change-Id: I5ebc86beb7ce527f2e38693dd59907cdd3a8fcf9
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3031548
(cherry picked from commit 05cf355367)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3051581
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2024-01-12 13:25:04 -08:00
Laxman Dewangan
c0beaa46b5 conftest: Add test to find of_gpio_named_count()
Add conftest to find if of_gpio_named_count()
function is present.

This APIS is removed in commit c7835652a85df ("gpiolib: of: stop
exporting of_gpio_named_count()") in Linux 6.2.

Bug 4346767

Change-Id: Ia8339a4f0c7bfcbeed922c7045330ae2ba83f96c
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3031547
(cherry picked from commit 5f188c61f5)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3051585
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2024-01-12 13:24:52 -08:00
Laxman Dewangan
9bfb2e35b7 conftest: Add test to find of_get_named_gpio_flags()
Add test to find out if of_get_named_gpio_flags() present
or not.

This APIS is removed in commit 40fc56ee608cdb ("gpiolib:
of: remove of_get_gpio[_flags]() and of_get_named_gpio_flags()")
in Linux 6.2.

Bug 4346767

Change-Id: I522097bdeb5fbd5a545b981a1a9b3f6f7ecb2806
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
(cherry picked from commit f78f96de71)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3051580
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2024-01-12 13:24:42 -08:00
Jon Hunter
11670f570d spi: Fix build for Linux v6.8
For Linux v6.8, support for SPI controllers with multiple chip-selects
was added to the SPI core and this updated the 'chip_select' member of
the 'spi_device' structure to be an array. This breaks building the
Tegra124 SPI Slave driver and Tegra210 QUAD SPI driver.

A helper function, spi_get_chipselect(), was added for Linux v6.3 to
retrieve the chip-select for a SPI device and can be used for retrieving
the chip-select for all Linux v6.3+ kernels.

Add a conftest rule to detecting if spi_get_chipselect() is present and
if so use this for getting the chip-select. This fixes the build issues
for Linux v6.8.

Bug 4448428

Change-Id: Ia4f95ed96b9a18cc7da7a4a52305fc64bc31905c
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3050146
(cherry picked from commit 9e2f7ecdf7)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3051189
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2024-01-12 02:37:51 -08:00
Laxman Dewangan
f255a170a7 nvmap: Use conftest to finding shrinker_alloc() presence
Use conftest to find whether shrinker_alloc() is present
or not.
In Linux v6.7, commit c42d50aefd17 ("mm: shrinker: add infrastructure for
dynamically allocating shrinker") added this API.

Bug 4346767

Change-Id: Ida724bb31d3c4db650b3a5742c5972f984cb9152
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3028574
(cherry picked from commit 3b457a1293)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3036795
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2023-12-19 03:39:49 -08:00
Jon Hunter
020bdeded8 media: camera: Use conftest for devnode
Use confest in the camera CDI and ISC drivers to determine if the
'devnode' function pointer under the class structure to take a const
device struct.

Also fix the commit in conftest that introduced the change to the
'devnode' function pointer.

Bug 4346767

Change-Id: I66de39e079c13219e0ff3e7154c0e7ceb609a29d
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3034763
(cherry picked from commit 891d093a76)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3037031
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2023-12-18 19:09:38 -08:00
Jon Hunter
e1471516b0 media: camera: Remove devm_fwnode_get_gpiod_from_child
The function devm_fwnode_get_gpiod_from_child() was removed in Linux
v6.2. This function has always called devm_fwnode_gpiod_get_index() and
this was first introduced in Linux v5.5. Therefore, remove
devm_fwnode_get_gpiod_from_child() and always use
devm_fwnode_gpiod_get_index().

Bug 4346767

Change-Id: Ie94a20ffda67569962fa48d7104c8ff706be079d
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3034777
(cherry picked from commit 75c908beb6)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3037030
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
2023-12-18 19:09:27 -08:00
Laxman Dewangan
0ca520ee30 nvmap: dynamically allocate nvmap page pool shrinker
Dynamically allocate the nvmpa pagepool shrinker as
shrinker register and unregister get removed from
Linux 6.7.

Based on change:
***
commit 86298d8b8ceacc17d0192cd6412d2773ff51b27f
Author: Qi Zheng <zhengqi.arch@bytedance.com>

    md/raid5: dynamically allocate the md-raid5 shrinker
***

Bug 4346767

Change-Id: Idbe40753f79481d85e5899d2905039860d39dc5e
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3020001
(cherry picked from commit fc748158cc)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3036794
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com>
Tested-by: Jonathan Hunter <jonathanh@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-12-18 09:11:48 -08:00
Laxman Dewangan
6b290b7f84 nvmap: Use conftest to find get_rcu_file() argument type
The argument of get_rcu_file() get changed to pointer
type of file handle form Linux 6.7 with
commit 0ede61d8589cc ("file: convert to SLAB_TYPESAFE_BY_RCU").

Use conftest to findout this new argument type.

Bug 4346767

Change-Id: I18943421dd4c2ed4f409ce071b182e68d3d393e6
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3028575
(cherry picked from commit ed5ae591c9)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3036792
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com>
Tested-by: Jonathan Hunter <jonathanh@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-12-18 09:11:43 -08:00
Laxman Dewangan
b5178e70d8 nvmap: Pass proper argument for get_file_rcu() for Linux 6.7
The function get_file_rcu() has modification in its
argument to take the pointer to pointer of file from
Linux 6.7 from below change
***
commit 0ede61d8589cc2d93aa78230d74ac58b5b8d0244
Author: Christian Brauner <brauner@kernel.org>

    file: convert to SLAB_TYPESAFE_BY_RCU
***

Add support for Linux 6.7.

Bug 4346767

Change-Id: I1e2e005900c7d2c57ac487b5f6ac5e1fcbfbafe7
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3020000
(cherry picked from commit 4ef0a332e8)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3036791
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com>
Tested-by: Jonathan Hunter <jonathanh@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-12-18 09:11:39 -08:00
Laxman Dewangan
efbbf91f79 pwm: Use conftest to findout if pwm_ops has owner
Use conftest method to find out the pwm_ops has
owner member or not. The owner member from pwm_ops
struct has been removed from Linux 6.7 with
commit 384461abcab6 ("pwm: Manage owner assignment
implicitly for drivers").

Bug 4346767

Change-Id: I7b98463b16d400a656a79db3a0c7aa645f20085d
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3028573
(cherry picked from commit b0bfc4b801)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3030107
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com>
Tested-by: Jonathan Hunter <jonathanh@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-12-18 09:11:34 -08:00
Laxman Dewangan
29ab9b19c9 sound: Use conftest to find if snd_soc_xxx() present
In Linux 6.7, with change
commit 1d5a2b5dd0a8d2b2 ("ASoC: soc.h: convert asoc_xxx() to snd_soc_xxx()")
asoc_xxx() calls are replaced by snd_soc_xxx() calls.

Use conftest to findout this change.

Bug 4346767

Change-Id: I8cd5ac5a5befa83c139dbf8f6253840a97c1d4be
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3028577
(cherry picked from commit e225408ff7)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3036789
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com>
Tested-by: Jonathan Hunter <jonathanh@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-12-18 09:11:29 -08:00
Laxman Dewangan
1432eb248d sound: soc: Use conftest to find if asoc_simple_xxx renamed
In Linux v6.7, commit b5a95c5bf6d69 ("ASoC: simple_card_utils.h: convert
not to use asoc_xxx()") add new APIs to convert asoc_simple_xxx() to
simple_util_xxx().

Use the conftest to find if soc_snd_util_xxx() present.

Bug 4346767

Change-Id: I3b282eb08d51c997760cc0b9752438c94e3caae5
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3028578
(cherry picked from commit 3013b107c1)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3036788
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com>
Tested-by: Jonathan Hunter <jonathanh@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-12-18 09:11:25 -08:00
Laxman Dewangan
4ab98ef641 sound: soc: Avoid uses of asoc_xxx()
From Linux 6.7, the asoc_xxx() is replaced by the various
function. Use the appropriate functions.

***
commit 1d5a2b5dd0a8d2b2b535b5266699429dbd48e62f
Author: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>

    ASoC: soc.h: convert asoc_xxx() to snd_soc_xxx()

Author: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>

    ASoC: simple_card_utils.h: convert not to use asoc_xxx()

***

Bug 4346767

Change-Id: Ie3945f3997d745df8223fd31c1386a3db44e6ceb
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3019997
(cherry picked from commit 36d1775879)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3036787
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com>
Tested-by: Jonathan Hunter <jonathanh@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-12-18 09:11:20 -08:00
Laxman Dewangan
7f9beef481 dce: Use kstrtobool instead of strtobool
The function strtobool() is implemented inline with
using kstrtobool(). The function strtobool() is removed
from mainline Linux 6.7 with below change.

**
commit 9bf2850c9170b52a6ab052085feced55effa78ef
Author: Christophe JAILLET <christophe.jaillet@wanadoo.fr>

    kstrtox: remove strtobool()
**

Use the kstrtobool() now.

Bug 4346767

Change-Id: I3b63684bcfc5621a3833b62061ea1cfdf44b3865
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3019996
(cherry picked from commit 1d4285fa30)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3036786
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com>
Tested-by: Jonathan Hunter <jonathanh@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-12-18 09:11:15 -08:00
Jon Hunter
069d6bb3eb drivers: Enable -Wmissing-prototypes
The compiler option -Wmissing-prototypes is being enabled globally in
the upstream Linux kernel and this causes build failures for various
drivers. The build failures occur because either the driver is missing
an include file which has the prototype or because the function is not
declared statically when it should be (ie. there are no external users).

Fix the various build failures and enable -Wmissing-prototypes to
prevent any new instances from occurring. Note that the only driver that
is not fixed at the moment is rtl8822ce due to large number of failures
and so build this with '-Wno-missing-prototypes' for now, which is not
different to how it was being compiled prior to this change.

Bug 4404965

Change-Id: Ie5572d23659e0346fa035d645d9043b0a6da5fdc
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3027488
(cherry picked from commit d5391a25ab)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3034644
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-12-18 09:11:10 -08:00
Laxman Dewangan
7f3751f642 nvadsp: os: Fix the argument of iommu_map() for Linux 6.3
There is additional argument added in iommu_map() from Linux6.3.
Pass the proper argument from the drier who are using this
APIs. Using conftest methods for differentiating whether
additional argument is needed or not.

Bug 4374520

Change-Id: I0844beb3338a2d5237832867547d05da91a41a5f
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
(cherry picked from commit c8262cbee1)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3035519
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com>
Tested-by: Jonathan Hunter <jonathanh@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-12-18 09:11:06 -08:00
Laxman Dewangan
e91b43420c drm/tegra: Use conftest for drm_debugfs_remove_files()
The function drm_debugfs_remove_file() has extra argument in
Linux 6.7 with change commit 8e455145d8f16 ("drm/debugfs: rework
drm_debugfs_create_files implementation v2")

Use conftest to findout this new argument presence.

Bug 4346767

Change-Id: I77346a85c8841f915f4a8f3f471af1e03240fa62
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3028576
(cherry picked from commit 1ae406004f)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3031239
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com>
Tested-by: Jonathan Hunter <jonathanh@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-12-18 09:11:01 -08:00
Laxman Dewangan
5b6fed0199 gpu: drm: Add root argument on drm_debugfs_remove_files() for Linux 6.7
Add root argument in the call drm_debugfs_remove_files() for Linux 6.7
as per below change from mainline:

***
commit 8e455145d8f163aefa6b9cc29478e0a9f82276e6
Author: Christian König <ckoenig.leichtzumerken@gmail.com>

    drm/debugfs: rework drm_debugfs_create_files implementation v2
***

Bug 4346767

Change-Id: Iadc878d66b093fd72b4524052dee9dbb24e82c1d
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3019998
(cherry picked from commit b17be80108)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3031427
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com>
Tested-by: Jonathan Hunter <jonathanh@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-12-18 09:10:56 -08:00
Jon Hunter
7c4bfe82b2 misc: bluedroid: Use conftest for pde_data
Conftest has a test for checking if the 'pde_data' function is lower
or upper case. Update the bluedroid driver to use conftest for this.

Bug 4346767

Change-Id: I1f54b9b560b171a6b2ccf5304e13f5e76fbbfacb
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3035747
(cherry picked from commit 2ce1e851bb)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3036782
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-12-18 05:24:17 -08:00
Joshua Cha
1b537bff19 nvsciipc: fix mixed license
Bug 4405013

Change-Id: I4c37c89b7dcc4c25e0b4e568b8d68d1a73c424f7
Signed-off-by: Joshua Cha <joshuac@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3028570
(cherry picked from commit 21a661c58f)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3030718
Tested-by: Jonathan Hunter <jonathanh@nvidia.com>
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-12-13 01:39:30 -08:00
Paritosh Dixit
75363cdd58 device-tree: generic: Fix issue in use of objtree
Fix issue in building the DTBs when KERNEL_OUTPUT and KERNEL_HEADERS
are specified as different directories in the OOT modules' Makefile.
In that case, srctree is set to KERNEL_HEADERS and objtree is set to
KERNEL_OUTPUT, and device-tree Makefile should be able to handle the
case when srctree and objtree are specified as different directories.

Bug 4295120

Change-Id: I164288e957f791d8e8072926743d0a80e23da9cb
Signed-off-by: Paritosh Dixit <paritoshd@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3033099
Reviewed-by: svc-sw-mobile-l4t <svc-sw-mobile-l4t@nvidia.com>
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com>
Reviewed-by: Brad Griffis <bgriffis@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-12-12 17:09:58 -08:00
Laxman Dewangan
09b54bda42 pci: Use conftest to find if probe of pci_epf_driver has ID arg
Use conftest to determine if the struct pci_epf_driver probe
API has ID argument or not

The additional argument as ID is added in probe() of the
struct pci_epf_driver with commit 081c715dfd5054 ("PCI:
endpoint: Pass EPF device ID to the probe function")
in Linux 6.4.

Bug 4346767

Change-Id: I004d1d3a8df922c0534c5631baa26f82f6992e4d
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3030052
(cherry picked from commit 0ed8b4e22a)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3032101
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
Tested-by: Jonathan Hunter <jonathanh@nvidia.com>
2023-12-12 03:39:59 -08:00
Laxman Dewangan
4a1a87890d pci: Use conftest to find if pci_enable_pcie_error_reporting() present
Use conftest to find if API pci_enable_pcie_error_reporting()
is present. This API is dropped from Linux 6.5 with change
commit 7ec4b34be42345 ("PCI/AER: Unexport
pci_enable_pcie_error_reporting()")

Bug 4346767

Change-Id: Ib0037544b4480b37c0ed6ac8b9ef9aef6ae82619
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3028742
(cherry picked from commit bf46060d1e)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3032090
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
Tested-by: Jonathan Hunter <jonathanh@nvidia.com>
2023-12-12 03:39:54 -08:00
Laxman Dewangan
ab8b8a6c84 pci: Use conftest to find if pci_disable_pcie_error_reporting() present
Use conftest to find if API pci_disable_pcie_error_reporting()
is present. This API is dropped from Linux 6.5 with change
commit 69b264df8a41282 ("PCI/AER: Drop unused
pci_disable_pcie_error_reporting()")

Bug 4346767

Change-Id: Idcaf36e4215a874c70f7457a46fd875f1349b121
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3028741
(cherry picked from commit f9f8b37e74)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3032100
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
Tested-by: Jonathan Hunter <jonathanh@nvidia.com>
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com>
2023-12-12 03:39:49 -08:00
Laxman Dewangan
9c77439e40 pci-epf: probe has additional APIs for Linux 6.6
The probe callback of driver "pci_epf_driver" has additonal
APIs as pci_epf_device_id for Linux 6.6 and above.

Add this new argument for Linux 6.6 and above.

Bug 4374520

Change-Id: Ie744a98947b895fce83f1a9df598ddbee2c3d138
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3014991
(cherry picked from commit 64b442b57d)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3032098
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
Tested-by: Jonathan Hunter <jonathanh@nvidia.com>
2023-12-12 03:39:45 -08:00
Laxman Dewangan
715c34434f nvscic2c-pcie: epc: Drop calling of error reporting for Linux 6.6
The API pci_disable_pcie_error_reporting() is dropped from
Linux 6.6. Remove the calling of this APIs for Linux 6.6
and later.

Bug 4374520

Change-Id: Iabb66dda70e6fe3a70be5ff14199b32b9c0ca3fa
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3014988
(cherry picked from commit a1cc281c17)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3032097
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
Tested-by: Jonathan Hunter <jonathanh@nvidia.com>
2023-12-12 03:39:40 -08:00
Jon Hunter
c196de1377 spi: tegra124-slave: Fix callback prototype
The Tegra124 SPI slave driver declares a prototype for the function
tegra_spi_slave_register_callback() that does not exist. The correct
function name is tegra124_spi_slave_register_callback() and so fix the
prototype accordingly. Move the prototype to an actual header because
this is the correct place for defining prototypes for other drivers to
reference. This was caught by enabling the compiler flag
-Wmissing-prototype.

Bug 4404965

Change-Id: I765723d0a5ed6369784e5f6c480a6f03500659f3
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3027487
(cherry picked from commit 19a85c968c)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3031243
Reviewed-by: Brad Griffis <bgriffis@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-12-11 12:09:42 -08:00
Jon Hunter
0940779cd6 net: hv-net: Remove driver source
The Tegra HV Net driver has been deprecated and so remove the source for
the driver.

Bug 3832837

Change-Id: I7eae6e92bf0c95e96ed4eca08b857105325f2238
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2867180
(cherry picked from commit 739b5f1c7b)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3031238
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-12-11 07:39:29 -08:00
Jon Hunter
029ade906d arm64: Remove Tegra194 device-tree
Tegra194 is no longer supported and all testing has now been disabled,
so remove the Tegra194 device-tree.

Bug 4047365

Change-Id: Id6b65f6761652785e04cc850fd4b4ef6ed8cc20e
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3017348
(cherry picked from commit e7020ca405)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3029977
Reviewed-by: Brad Griffis <bgriffis@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-12-09 04:09:46 -08:00
Jon Hunter
b5d808a6ff drm/tegra: Avoid kernel version checks
Instead of using kernel version checks in the Tegra DRM driver for the
tegra_fb_ops structure, just check if the appropriate definition is
defined and if so use it. This fixes building the Tegra DRM driver
against some 3rd party kernels that include backports from upstream.

Note that this also aligns the driver closer to the upstream code by
using the same definitions that the upstream driver uses.

Bug 4346767

Change-Id: I8cb40899d0bf7cdc233e5f4cee7b6afb6f12d015
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3027832
(cherry picked from commit 086fc6d3da)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3030330
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-12-08 02:54:19 -08:00
Jon Hunter
6fe3abc899 drm/tegra: Drop version check
The version check in the Tegra DRM GEM code is not necessary because
this is a fix to the code and so remove the version check.

Bug 3820317

Change-Id: Ib7f5bd2bdb61af50e17399079aa2439bf8d352b1
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3026925
(cherry picked from commit 91c367006c)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3029984
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2023-12-07 09:10:06 -08:00
Jon Hunter
a6701b19b9 drivers: Use conftest for vm_flags
The conftest script has a test for checking if the vm_area struct has a
const vm_flags member. So enable this test and use the definition
generated in the appropriate drivers.

Bug 4374520

Change-Id: I0e7bd105fe8a821b0af23c0a5553b8d4468fa8c4
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3026924
(cherry picked from commit d0e427c6e1)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3029982
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2023-12-07 09:09:56 -08:00
Jon Hunter
daec781815 conftest: Add devm_tegra_core_dev_init_opp_table_common
Add a test to the conftest script to check if the function
devm_tegra_core_dev_init_opp_table_common() is present in the kernel and
use the definition generated in the host1x driver.

Bug 3820317

Change-Id: Id04da12c8ced7129141036aaa26375113c544374
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3026923
(cherry picked from commit 732a0db90e)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3029981
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-12-07 09:09:46 -08:00
Jon Hunter
60adf47e0f drm/tegra: Always use devm_pm_runtime_enable
The function devm_pm_runtime_enable() has been supported since Linux
v5.15 and so always use this function.

Bug 3820317

Change-Id: I805f3c681822b4bfc825b671c54a7dea2199f351
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3026922
(cherry picked from commit 591949a2f1)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3029980
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-12-07 09:09:41 -08:00
Jon Hunter
7997b6e8b0 net: nvethernet: Use conftest for Linux v6.6
In Linux v6.6, the header net/page_pool.h was split into two headers;
net/page_pool/helper.h and net/page_pool/types.h. Use the conftest
script to detect which of these headers are present and generate compile
time definitions for including the appropriate headers.

Bug 4346767

Change-Id: I389ce5b867a1efd867b8392bb21383784c1b4af6
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3026553
(cherry picked from commit cd4dce2c20)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3028310
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-12-05 09:24:31 -08:00
Shubhi Garg
b02f2cd5ee rtc: update VRS RTC IRQ to system hwclock
Update RTC IRQ occurred to system hwclock by adding
rtc_update_irq in irq handler.

Bug 3740696

Change-Id: I1ad9c05f759b5b11f8f212eb91a709f1b3625336
Signed-off-by: Shubhi Garg <shgarg@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2764942
(cherry picked from commit 1926f478143bb1962da8748b6cbc9c094c37a7a4)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2999458
(cherry picked from commit 608ed39528a9735ad229067c8f9c6853d9a33a6e)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3026474
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Bibek Basu <bbasu@nvidia.com>
2023-12-04 04:24:18 -08:00
Shobek Attupurath
ee4493d7bf rtl8822ce: Remove pr_debug redefinition
Issue: pr_debug is redfined to printk causing unwanted
       log prints in dmesg

Fix: Remove pr_debug redefintion in rtl8822ce driver

Bug 3844473
Bug 4392253

Change-Id: I3aed85b8d61a764a74c59c2eef5f1f3dd60dd14a
Signed-off-by: Shobek Attupurath <sattupurath@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2813193
(cherry picked from commit 83a4b1f131209e357f80015fba386286f2888423)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2827187
Signed-off-by: Revanth Kumar Uppala <ruppala@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3024490
Reviewed-by: Bibek Basu <bbasu@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-11-29 20:39:17 -08:00
Praveen AC
9c2150982a drivers:media: Fix imx390 & imx185 probe issue.
Due to "mingain - 1" & "minexp - 1" during probe time observing
out of range whenever gain or exp is set "0" as min in DT.
Instead doing "maxgain + 1" & "maxexp + 1" to fix the probe.

Bug 4142996
Bug 4189361
Bug 4386912

Change-Id: I103e87b293079dadcd16b91f8e329ec9f938208c
Signed-off-by: Praveen AC <pac@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3020345
Reviewed-by: Bibek Basu <bbasu@nvidia.com>
Reviewed-by: Ankur Pawar <ankurp@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-11-29 06:54:21 -08:00
Johnny Liu
9e94468082 video: tegra: support clock set rate for nvcsi
Dynamic frequency scaling based on the current workload is implemented
in the tegra_camera_platform driver. Registering the clock set rate
callback to allow the tegra_camera_platform driver to set the device
clock rate.

Bug 4374126

Signed-off-by: Johnny Liu <johnliu@nvidia.com>
Change-Id: Iae8fb7952a2ad3b07c1506bfd12b709a252ec2f2
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3020547
(cherry picked from commit aae5cf4cb7)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3023114
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Bibek Basu <bbasu@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-11-28 04:45:57 -08:00
Johnny Liu
4f1d3dbeb3 video: tegra: support clock set rate for isp5
Dynamic frequency scaling based on the current workload is implemented
in the tegra_camera_platform driver. Registering the clock set rate
callback to allow the tegra_camera_platform driver to set the device
clock rate.

Bug 4374126

Signed-off-by: Johnny Liu <johnliu@nvidia.com>
Change-Id: Ic4e65428c25a2b95b975e88d3865d995549e8ca7
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3020545
(cherry picked from commit d25c39fa00)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3023113
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Bibek Basu <bbasu@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-11-28 04:45:52 -08:00
Johnny Liu
4da134034b video: tegra: support clock set rate for vi5
Dynamic frequency scaling based on the current workload is implemented
in the tegra_camera_platform driver. Registering the clock set rate
callback to allow the tegra_camera_platform driver to set the device
clock rate.

Bug 4374126

Signed-off-by: Johnny Liu <johnliu@nvidia.com>
Change-Id: I6c594155a15f8f7b3e4377c0340c287155a77aee
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3020537
(cherry picked from commit 53ebc773be)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3023112
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Bibek Basu <bbasu@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-11-28 04:45:47 -08:00
Johnny Liu
2527826ca1 platform: tegra: camera: add operation callback
The Nvhost-related APIs have been deprecated and are no longer
supported since our migration from K510 to K515. Therefore, the camera
platform driver should refrain from using "nvhost_*" functions to set
the clock rate.

Integrate the common operation callback interface into the
tegra_camera_dev_info structure. This modification allows individual
drivers to achieve clock set rate operations by registering the
callback and completing the implementation.

Bug 4374126

Signed-off-by: Johnny Liu <johnliu@nvidia.com>
Change-Id: Iebed7cc974f5dbdabddded3c84d0925de3a6c4f9
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3020535
(cherry picked from commit 57a82628aa)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3023111
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Bibek Basu <bbasu@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-11-28 04:45:42 -08:00
Jon Hunter
5fe2e2aacc gpu/host1x: Use conftest for Linux v6.3
Use conftest to determine if the uevent() function pointer in the
bus_type structure has a const dev argument. This fixes the build for
Linux kernels prior to Linux v6.3 that include the upstream change that
changed the arguments to this function.

Bug 4014315

Change-Id: I1553e08c951be9dd27141c273bf91be38dd954a6
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3019964
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2023-11-21 11:54:42 -08:00
Jon Hunter
067fbd7bbc net: nvethernet: Use conftest for Linux v6.3
Add tests to conftest for detecting if the mii_bus structure has the
read_c45 and write_c45 function pointers and use the definitions
generated by conftest in the nvethernet driver.

This fixes support for nvethernet in 3rd party Linux kernels that have
backported the mii_bus structure changes to their kernel that have a
kernel version prior to Linux v6.3.

Bug 4014315

Change-Id: I5ae98fc5077337286921da6e9347df9781565a70
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3018935
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2023-11-21 05:10:51 -08:00
Yi-Wei Wang
856471d64f thermal: add thermal trip event cooling device
This change adds a cooling device driver to notify the user space of the
thermal trip event. To avoid having user space process poll the
cooling state, a sysfs node is exposed that supports blocking reads.
The driver also supports a timeout (in milliseconds) for blocking reads
which can be done by writing the value to thermal_trip_event_block node
before reading. The blocked user space process will be woken up when the
cooling device becomes active or times out.

Bug 4261645
Bug 1688327

Signed-off-by: Yi-Wei Wang <yiweiw@nvidia.com>
Change-Id: Ic89406ba2713e5bc8f3806d6cfeb462601c73a7d
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3015652
Reviewed-by: Bibek Basu <bbasu@nvidia.com>
Reviewed-by: Rajkumar Kasirajan <rkasirajan@nvidia.com>
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-11-20 20:09:29 -08:00
Jon Hunter
a3b3ef5cab drm/tegra: Add conftest for fd/handle conversions
Add tests to the conftest script to check if the functions
drm_gem_prime_fd_to_handle() and drm_gem_prime_handle_to_fd() are
exported in the Linux kernel and use the definition generated by
conftest for compiling the Tegra DRM driver.

Bug 4346767

Change-Id: I56b76617bf4644a5851484dd7d4eecd3888f3b5b
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3015841
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Brad Griffis <bgriffis@nvidia.com>
2023-11-20 13:24:26 -08:00
Mohan Kumar
7ffd0c9cfa ASoC: tegra: avoid enabling aud_mclk during init
Enabling the aud_mclk clock during initialization of drivers
was done for T30 chip due to some external dependencies, now
it is not required for latest version of chips and also due
to this aud_mclk is kept always ON. Add check to avoid enabling
aud_mclk clock other than T30

Bug 4373898

Change-Id: If341b1b73051c5572c5551bf6d4659fab7a116d2
Signed-off-by: Mohan Kumar <mkumard@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3015891
Reviewed-by: Sharad Gupta <sharadg@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-11-20 02:54:22 -08:00
Johnny Liu
7ff7dcd36a drm/tegra: Send ICC requests with peak_bw
When BPMP BWMGR receives ICC avg_bw requests from different memory
clients, it will sum up all avg_bw values together and use it to
determine the final EMC frequency.

Transitioning to ICC peak_bw requests will cause BPMP to evaluate
the bandwidth requirements of each memory client individually,
selecting the maximum bandwidth request from among all the clients
to determine the final EMC frequency.

This modification prevents excessive memory bandwidth allocation
when multiple host1x clients collaborate for data processing.
Currently, host1x clients request the full theoretical 100% data
bandwidth, even though the system typically doesn't fully utilize
that amount during runtime.

To address the issue of insufficient memory bandwidth when multiple
host1x clients are used together, we can reduce the boost_up_threshold
value of cactmon DFS. This adjustment ensures that when actual memory
bandwidth utilization surpasses the specified boost-up bandwidth
threshold, EMC frequency will be further scaled by one step further
to alleviate the problem.

Bug 4328471

Signed-off-by: Johnny Liu <johnliu@nvidia.com>
Change-Id: I826a374666f38718652c5cae449c0aadeabfbdb5
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2996561
(cherry picked from commit 21c6a3b3e8)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3014611
Reviewed-by: Mikko Perttunen <mperttunen@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-11-13 14:56:26 -08:00
Gautham Srinivasan
c0bc0aa39c drivers: aon: Add AON Echo driver
Add AON echo driver. This driver creates data_channel file in sysfs
which is used to communicate between CCPLEX and AON.

Bug 4296173

Change-Id: Id790fc4076205e16509611f7fa07ffc073491227
Signed-off-by: Gautham Srinivasan <gauthams@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2954202
(cherry picked from commit 66c26d1ac3)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3012984
Reviewed-by: Brad Griffis <bgriffis@nvidia.com>
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-11-08 09:24:44 -08:00
2407 changed files with 77595 additions and 1441302 deletions

25
.gitignore vendored
View File

@@ -1,25 +0,0 @@
# SPDX-FileCopyrightText: Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: GPL-2.0
#
# Use command 'git ls-files -i --exclude-standard' to ensure that no
# tracked files are ignored.
#
*.o
*.o.*
*.a
*.s
*.ko
*.so
*.so.dbg
*.mod.c
*.i
*.symtypes
*.order
*.patch
modules.builtin
Module.symvers
*.dwo
*.mod
*.cmd
*mods.dtb*

View File

@@ -1,125 +0,0 @@
#SPDX-License-Identifier: GPL-2.0-only
#Copyright (c) 2024, NVIDIA Corporation. All rights reserved.
version = "1.0.0"
#Filter out all packages for NSPECT-2SC5-5SJZ program ONLY
[[oss.excluded.directories]]
paths = ['drivers/block/',
'drivers/bus/',
'drivers/clk/',
'drivers/devfreq/',
'drivers/gpu/',
'drivers/mfd/',
'drivers/net/',
'drivers/nvpps/',
'drivers/pinctrl/',
'drivers/pwm/',
'drivers/reset/',
'drivers/soc/',
'drivers/tty/',
'drivers/virt/',
'drivers/bluetooth/',
'drivers/c2c/',
'drivers/cpuidle/',
'drivers/firmware/',
'drivers/hwmon/',
'drivers/media/',
'drivers/misc/',
'drivers/nv-p2p/',
'drivers/nv-virtio/',
'drivers/platform/',
'drivers/ras/',
'drivers/rtc/',
'drivers/spi/',
'drivers/usb/',
'drivers/watchdog/',
'drivers/bmi088/',
'drivers/clink/',
'drivers/crypto/',
'drivers/gpio/',
'drivers/i2c/',
'drivers/memory/',
'drivers/mtd/',
'drivers/nvpmodel/',
'drivers/pci/',
'drivers/power/',
'drivers/regulator/',
'drivers/scsi/',
'drivers/thermal/',
'drivers/video/tegra/camera/',
'drivers/video/tegra/dc/',
'drivers/video/tegra/host/capture/',
'drivers/video/tegra/host/isp/',
'drivers/video/tegra/host/nvcsi/',
'drivers/video/tegra/host/nvdla/',
'drivers/video/tegra/host/vi/',
'drivers/video/tegra/nvmap/',
'drivers/video/tegra/tsec/',
'drivers/video/tegra/virt/',
'Documentation/',
'include/',
'configs/',
'scripts/',
'sound/',
'tools/']
comment = 'Not used by PVA or not used by PVA in Production'
nspect_ids = ['NSPECT-2SC5-5SJZ']
#Filter out all packages for NSPECT-86XH-KQRC program ONLY
[[oss.excluded.directories]]
paths = ['drivers/block/',
'drivers/bus/',
'drivers/clk/',
'drivers/devfreq/',
'drivers/gpu/',
'drivers/mfd/',
'drivers/net/',
'drivers/nvpps/',
'drivers/pinctrl/',
'drivers/pwm/',
'drivers/reset/',
'drivers/soc/',
'drivers/tty/',
'drivers/virt/',
'drivers/bluetooth/',
'drivers/c2c/',
'drivers/cpuidle/',
'drivers/firmware/',
'drivers/hwmon/',
'drivers/media/',
'drivers/misc/',
'drivers/nv-p2p/',
'drivers/nv-virtio/',
'drivers/platform/',
'drivers/ras/',
'drivers/rtc/',
'drivers/spi/',
'drivers/usb/',
'drivers/watchdog/',
'drivers/bmi088/',
'drivers/clink/',
'drivers/crypto/',
'drivers/gpio/',
'drivers/i2c/',
'drivers/memory/',
'drivers/mtd/',
'drivers/nvpmodel/',
'drivers/pci/',
'drivers/power/',
'drivers/regulator/',
'drivers/scsi/',
'drivers/thermal/',
'drivers/video/tegra/camera/',
'drivers/video/tegra/host/',
'drivers/video/tegra/nvmap/',
'drivers/video/tegra/tsec/',
'drivers/video/tegra/virt/',
'Documentation/',
'include/',
'configs/',
'scripts/',
'sound/',
'tools/']
comment = 'Unused packages in Display Serdes'
nspect_ids = ['NSPECT-86XH-KQRC']

View File

@@ -1,196 +0,0 @@
# SPDX-License-Identifier: GPL-2.0-only
# SPDX-FileCopyrightText: Copyright (c) 2024-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
load("//build/kernel/kleaf:kernel.bzl", "kernel_module")
package(
default_visibility = [
"//visibility:public",
],
)
filegroup(
name = "oot.includes",
srcs = glob([
"include/**/*.h",
]),
)
filegroup(
name = "host1x.includes",
srcs = glob([
"drivers/gpu/host1x/include/**/*.h",
"drivers/gpu/host1x-fence/include/**/*.h",
]),
)
filegroup(
name = "nvmap.includes",
srcs = glob([
"drivers/video/tegra/nvmap/include/**/*.h",
]),
)
filegroup(
name = "pci.includes",
srcs = glob([
"drivers/pci/endpoint/functions/*.h",
]),
)
kernel_module(
name = "nvoot",
srcs = glob(
["**"],
exclude = [
".*",
".*/**",
"*.bazel",
"**/*.bzl",
],
) + [
"//hwpm:hwpm_headers",
"//nvidia-oot/scripts/conftest:conftest_headers",
],
outs = [
# keep sorted
"drivers/block/tegra_oops_virt_storage/tegra_hv_vblk_oops.ko",
"drivers/block/tegra_virt_storage/tegra_vblk.ko",
"drivers/bluetooth/realtek/rtk_btusb.ko",
"drivers/bus/tegra-aocluster.ko",
"drivers/cpuidle/cpuidle-debugfs.ko",
"drivers/cpuidle/cpuidle-tegra-auto.ko",
"drivers/crypto/tegra-hv-vse-safety.ko",
"drivers/crypto/tegra-nvvse-cryptodev.ko",
"drivers/crypto/tegra-se-nvrng.ko",
"drivers/crypto/tegra/tegra-se-kds.ko",
"drivers/crypto/tegra/tegra-se.ko",
"drivers/devfreq/governor_pod_scaling.ko",
"drivers/devfreq/tegra_wmark.ko",
"drivers/firmware/tegra/ivc_ext.ko",
"drivers/firmware/tegra/tegra_bpmp.ko",
"drivers/gpio/gpio-max77851.ko",
"drivers/gpu/drm/tegra/tegra-drm.ko",
"drivers/gpu/host1x-emu/host1x-emu.ko",
"drivers/gpu/host1x-fence/host1x-fence.ko",
"drivers/gpu/host1x/host1x.ko",
"drivers/gpu/host1x-nvhost/host1x-nvhost.ko",
"drivers/hwmon/f75308.ko",
"drivers/hwmon/ina232.ko",
"drivers/i2c/busses/i2c-nvvrs11.ko",
"drivers/i2c/busses/i2c-tegra-slave-byte.ko",
"drivers/media/i2c/max9295.ko",
"drivers/media/i2c/max9296.ko",
"drivers/media/platform/tegra/cam_fsync/cam_fsync.ko",
"drivers/media/platform/tegra/cdi/cdi_dev.ko",
"drivers/media/platform/tegra/cdi/cdi_gpio.ko",
"drivers/media/platform/tegra/cdi/cdi_mgr.ko",
"drivers/media/platform/tegra/cdi/cdi_pwm.ko",
"drivers/media/platform/tegra/isc/isc_dev.ko",
"drivers/media/platform/tegra/isc/isc_gpio.ko",
"drivers/media/platform/tegra/isc/isc_mgr.ko",
"drivers/media/platform/tegra/isc/isc_pwm.ko",
"drivers/media/platform/tegra/v4l2loopback/v4l2loopback.ko",
"drivers/memory/tegra/mc-t26x.ko",
"drivers/memory/tegra/mem-qual.ko",
"drivers/memory/tegra/smmu-hwpm.ko",
"drivers/memory/tegra/tegra264-mc-hwpm.ko",
"drivers/mfd/max77851.ko",
"drivers/mfd/nvidia-vrs-pseq.ko",
"drivers/misc/bluedroid_pm.ko",
"drivers/misc/ioctl_example.ko",
"drivers/misc/nvscic2c-pcie/nvscic2c-pcie-epc.ko",
"drivers/misc/nvscic2c-pcie/nvscic2c-pcie-epf.ko",
"drivers/misc/nvsciipc/nvsciipc.ko",
"drivers/misc/tegra-cec/tegra_cec.ko",
"drivers/misc/tegra-pcie-dma-test.ko",
"drivers/mtd/devices/tegra_hv_mtd.ko",
"drivers/net/can/mttcan/mttcan.ko",
"drivers/net/ethernet/marvell/oak/oak_pci.ko",
"drivers/net/ethernet/microchip/lan743x.ko",
"drivers/net/ethernet/nvidia/nvethernet/nvethernet.ko",
"drivers/net/ethernet/nvidia/pcie/tegra_vnet.ko",
"drivers/net/ethernet/realtek/r8125/r8125.ko",
"drivers/net/ethernet/realtek/r8126/r8126.ko",
"drivers/net/ethernet/realtek/r8168/r8168.ko",
"drivers/nv-p2p/nvidia-p2p.ko",
"drivers/nvpmodel/nvpmodel-clk-cap.ko",
"drivers/nvpps/nvpps.ko",
"drivers/nvtzvault/nvtzvault.ko",
"drivers/nv-virtio/nv-virtio-console-poc.ko",
"drivers/pci/controller/pcie-tegra-vf.ko",
"drivers/pci/controller/pcie-tegra264.ko",
"drivers/pci/controller/pcie-tegra264-ep.ko",
"drivers/pci/controller/tegra-pcie-dma-lib.ko",
"drivers/pci/controller/tegra-pcie-edma.ko",
"drivers/pci/endpoint/functions/pci-epf-dma-test.ko",
"drivers/pci/endpoint/functions/pci-epf-tegra-vnet.ko",
"drivers/pinctrl/pinctrl-max77851.ko",
"drivers/pinctrl/pinctrl-tegra194-pexclk-padctrl.ko",
"drivers/pinctrl/pinctrl-tegra234-dpaux.ko",
"drivers/platform/tegra/aon/tegra234-aon.ko",
"drivers/platform/tegra/aon/tegra-aon-ivc-echo.ko",
"drivers/platform/tegra/dce/tegra-dce.ko",
"drivers/platform/tegra/mce/tegra-mce.ko",
"drivers/platform/tegra/mc-hwpm.ko",
"drivers/platform/tegra/mc-utils/mc-utils.ko",
"drivers/platform/tegra/nvadsp/nvadsp.ko",
"drivers/platform/tegra/psc/tegra23x_psc.ko",
"drivers/platform/tegra/tegra-bootloader-debug.ko",
"drivers/platform/tegra/tegra-cactmon-mc-all.ko",
"drivers/platform/tegra/tegra-fsicom.ko",
"drivers/platform/tegra/tegra-hv-xhci.ko",
"drivers/platform/tegra/tegra-hv-xhci-debug.ko",
"drivers/platform/tegra/tegra-uss-io-proxy.ko",
"drivers/platform/tegra/uncore_pmu/tegra23x_perf_uncore.ko",
"drivers/power/reset/max77851-poweroff.ko",
"drivers/pwm/pwm-tegra-tachometer.ko",
"drivers/ras/arm64-ras.ko",
"drivers/regulator/max77851-regulator.ko",
"drivers/rtc/nvvrs-pseq-rtc.ko",
"drivers/rtc/rtc-max77851.ko",
"drivers/scsi/ufs/ufs-tegra.ko",
"drivers/soc/tegra/fuse/kfuse.ko",
"drivers/spi/spi-aurix-tegra.ko",
"drivers/spi/spi-tegra124-slave.ko",
"drivers/spi/spi-tegra210-quad.ko",
"drivers/thermal/max77851_thermal.ko",
"drivers/tty/serial/wch_35x/wch.ko",
"drivers/tty/serial/tegra_hv_comm.ko",
"drivers/usb/typec/fusb301.ko",
"drivers/video/tegra/camera/tegra_camera_platform.ko",
"drivers/video/tegra/dc/bridge/maxim_gmsl_dp_serializer.ko",
"drivers/video/tegra/dc/bridge/maxim_gmsl_hdmi_serializer.ko",
"drivers/video/tegra/dc/bridge/nvdisp_serdes.ko",
"drivers/video/tegra/dc/bridge/ti_fpdlink_dp_serializer.ko",
"drivers/video/tegra/host/capture/nvhost-capture.ko",
"drivers/video/tegra/host/nvcsi/nvhost-nvcsi.ko",
"drivers/video/tegra/host/nvdla/nvhost-nvdla.ko",
"drivers/video/tegra/nvmap/nvmap.ko",
"drivers/video/tegra/tsec/tsecriscv.ko",
"drivers/video/tegra/virt/tegra_gr_comm.ko",
"drivers/virt/tegra/hvc_sysfs.ko",
"drivers/virt/tegra/ivc-cdev.ko",
"drivers/virt/tegra/tegra_hv.ko",
"drivers/virt/tegra/tegra_hv_pm_ctl.ko",
"drivers/virt/tegra/tegra_hv_vcpu_yield.ko",
"drivers/virt/tegra/userspace_ivc_mempool.ko",
"drivers/watchdog/max77851_wdt.ko",
"drivers/watchdog/softdog-platform.ko",
"drivers/watchdog/watchdog-tegra-t18x.ko",
"sound/soc/tegra/snd-soc-tegra186-arad.ko",
"sound/soc/tegra/snd-soc-tegra210-adsp.ko",
"sound/soc/tegra/snd-soc-tegra210-afc.ko",
"sound/soc/tegra/snd-soc-tegra210-iqc.ko",
"sound/soc/tegra/snd-soc-tegra-controls.ko",
"sound/soc/tegra/snd-soc-tegra-utils.ko",
"sound/soc/tegra-virt-alt/snd-soc-tegra210-virt-alt-admaif.ko",
"sound/soc/tegra-virt-alt/snd-soc-tegra210-virt-alt-adsp.ko",
"sound/soc/tegra-virt-alt/snd-soc-tegra-virt-t210ref-pcm.ko",
"sound/tegra-safety-audio/safety-i2s.ko",
],
kernel_build = "//nvidia-build/kleaf:tegra_android",
deps = [
"//hwpm/drivers/tegra/hwpm:hwpm",
],
)

View File

@@ -1,95 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/tegra_virt_storage88/nvidia,tegra-hv-oops-storage.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Virtual OOPS storage device over Tegra Hypervisor IVC channel
maintainers:
- Sreenivas Velpula
description: |
the compatability = nvidia,tegra-hv-oops-storage is mentioned in the following drivers
- <TOP>/kernel/nvidia-oot/drivers/block/tegra_oops_virt_storage/tegra_hv_vblk_oops.c
The following nodes use this compatibility
- /tegra_virt_storage88
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra-hv-oops-storage
required:
- compatible
properties:
pstore_max_reason:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x2
maximum: 0x2
pstore_kmsg_size:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x10000
maximum: 0x10000
instance:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1f
maximum: 0x1f
ivc:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0xf
maximum: 0x45
mempool:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1d
maximum: 0x1d
partition-name:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- gos0-crashlogs
iommus:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
iommus are given by a tuple of 2 values:
- Phandle to the device
- Device ID
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
required:
- compatible
- iommus
examples:
- |
tegra_virt_storage88 {
};

View File

@@ -1,27 +0,0 @@
Tegra Virtual Storage driver for OOPS partition
Virtual Storage Driver is the front end driver that interfaces with
- the Storage Virtualization System for Tegra SOC OOPS partition and
- the pstore system for storing OOPS/panic logs
Required Properties:
- compatible: should be "nvidia,tegra-hv-oops-storage"
- instance: to identify a specific instance of the device
- ivc: ivc channel to used for communication with Virtualization System
- mempool: mempool used for data transfers with Virtualization System
- pstore_max_reason: one of KMSG_DUMP_* values from kmsg_dump.h. Driver only
supports KMSG_DUMP_OOPS (value = 2) which allows PANIC and OOPS logs
to be stored. KMSG logs above this reason level will be ignored.
- pstore_kmsg_size: record size (should be block size aligned) for KMSG logs.
Default is 64KB.
Example:
tegra_virt_storage31 {
compatible = "nvidia,tegra-hv-oops-storage";
status = "okay";
pstore_max_reason = <2>;
pstore_kmsg_size = <0x10000>;
instance = <31>;
ivc = <&tegra_hv 230>;
mempool = <69>;
};

View File

@@ -1,104 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/tegra_virt_storage79/nvidia,tegra-hv-storage.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Virtual storage device over Tegra Hypervisor IVC channel
maintainers:
- Sreenivas Velpula
description: |
the compatability = nvidia,tegra-hv-storage is mentioned in the following drivers
- <TOP>/kernel/nvidia-oot/drivers/block/tegra_virt_storage/tegra_hv_vblk.c
The following nodes use this compatibility
- /tegra_virt_storage79
- /tegra_virt_storage80
- /tegra_virt_storage81
- /tegra_virt_storage82
- /tegra_virt_storage84
- /tegra_virt_storage85
- /tegra_virt_storage86
- /tegra_virt_storage87
- /tegra_virt_storage89
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra-hv-storage
required:
- compatible
properties:
iommus:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
iommus are given by a tuple of 2 values:
- Phandle to the device
- Device ID
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
instance:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x3c
ivc:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0xf
maximum: 0x46
mempool:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x13
maximum: 0x1e
partition-name:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- gos0-shared-pers
- gos0-ufs
- gos0_nvlog
- pers-ota
- ist-runtimeinfo
- ist-resultdata
- gos0-fs
- gos0-rw-overlay
- custom
read-only:
$ref: "/schemas/types.yaml#/definitions/flag"
required:
- compatible
- iommus
examples:
- |
tegra_virt_storage79 {
};

View File

@@ -1,59 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/hyp/nvidia,tegra-hv.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Tegra Hypervisor Driver Module
maintainers:
- Sreenivas Velpula
- Manish Bhardwaj
description: |
the compatability = nvidia,tegra-hv is mentioned in the following drivers
- <TOP>/kernel/nvidia-oot/drivers/block/tegra_virt_storage/tegra_hv_vblk.c
- <TOP>/kernel/nvidia-oot/drivers/block/tegra_oops_virt_storage/tegra_hv_vblk_oops.c
- <TOP>/kernel/nvidia-oot/drivers/virt/tegra/tegra_hv_vcpu_yield.c
- <TOP>/kernel/nvidia-oot/drivers/virt/tegra/tegra_hv.c
- <TOP>/kernel/nvidia-oot/drivers/virt/tegra/tegra_hv_pm_ctl.c
- <TOP>/kernel/nvidia-oot/drivers/platform/tegra/tegra-hv-xhci-debug.c
- <TOP>/kernel/nvidia-oot/drivers/platform/tegra/tegra-hv-xhci.c
The following nodes use this compatibility
- /hyp
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra-hv
required:
- compatible
properties:
required:
- compatible
examples:
- |
hyp {
compatible = "nvidia,tegra-hv";
status = "okay";
phandle = <0x10>;
};

View File

@@ -1,21 +0,0 @@
Tegra Virtual Storage driver
Virtual Storage Driver is the front end driver that interfaces with the
Storage Virtualization System for Tegra SOC and provides a block device
interface
Required Properties:
- compatible: should be "nvidia,tegra-hv-storage"
- instance: to identify a specific instance of the device
- ivc: ivc channel to used for communication with Virtualization System
- mempool: mempool used for data transfers with Virtualization System
Example:
tegra_virt_storage0 {
compatible = "nvidia,tegra-hv-storage";
instance = <0>;
ivc = <&tegra_hv 63>;
mempool = <10>;
status = "okay";
};

View File

@@ -1,64 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/aocluster@c000000/nvidia,tegra264-aocluster.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: NVIDIA Tegra AOCLUSTER Bus Driver
maintainers:
- Akhilesh Khumbum
description: |
the compatability = nvidia,tegra264-aocluster is mentioned in the following drivers
- <TOP>/kernel/nvidia-oot/drivers/bus/tegra-aocluster.c
The following nodes use this compatibility
- /bus@0/aocluster@c000000
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra264-aocluster
required:
- compatible
properties:
'#address-cells':
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x2
maximum: 0x2
'#size-cells':
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x2
maximum: 0x2
required:
- compatible
examples:
- |
aocluster@c000000 {
compatible = "nvidia,tegra264-aocluster";
#address-cells = <2>;
#size-cells = <2>;
ranges = <0x0 0xc000000 0x0 0xc000000 0x0 0x1000000>;
status = "disabled";
};

View File

@@ -1,86 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/timer/arm,armv8-timer.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: ARM Architecture Timer
maintainers:
- Suresh Mangipudi
description: |
the compatability = arm,armv8-timer is mentioned in the following drivers
- <TOP>/kernel/kernel-oot/drivers/clocksource/arm_arch_timer.c
The following nodes use this compatibility
- /timer
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- arm,armv8-timer
required:
- compatible
properties:
interrupts:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Interrupts are give by a tuple of 3 values:
- interrupt specifier (GIC_SPI = 0, GIC_PPI = 1)
definitions in dt-bindings/interrupt-controller/arm-gic.h
- interrupt number
- trigger type (rising edge, falling edge, both, etc)
definitions in dt-bindings/interrupt-controller/irq.h
items:
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x1
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0xa
maximum: 0xe
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x8
maximum: 0x8
interrupt-parent:
$ref: "/schemas/types.yaml#/definitions/uint32"
always-on:
$ref: "/schemas/types.yaml#/definitions/flag"
required:
- compatible
- interrupts
examples:
- |
timer {
compatible = "arm,armv8-timer";
status = "disabled";
interrupts = <GIC_PPI 13 8>,
<GIC_PPI 14 8>,
<GIC_PPI 11 8>,
<GIC_PPI 10 8>,
<GIC_PPI 12 8>;
interrupt-parent = <&gic>;
always-on;
};

View File

@@ -1,103 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/timer@8000000/nvidia,tegra234-timer.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: NVIDIA Tegra Timers Module
maintainers:
- Thierry Reding
- Suresh Mangipudi
description: |
the compatability = nvidia,tegra234-timer is mentioned in the following drivers
- <TOP>/kernel/kernel-oot/drivers/clocksource/timer-tegra186.c
The following nodes use this compatibility
- /bus@0/timer@8000000
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra234-timer
required:
- compatible
properties:
reg:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Registers are given by a tuple of two values:
- register address:
- register block size.
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x8000000
maximum: 0x8000000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x140000
maximum: 0x140000
interrupts:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Interrupts are give by a tuple of 3 values:
- interrupt specifier (GIC_SPI = 0, GIC_PPI = 1)
definitions in dt-bindings/interrupt-controller/arm-gic.h
- interrupt number
- trigger type (rising edge, falling edge, both, etc)
definitions in dt-bindings/interrupt-controller/irq.h
items:
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x305
maximum: 0x308
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x4
maximum: 0x4
required:
- compatible
- reg
- interrupts
examples:
- |
timer@8000000 {
compatible = "nvidia,tegra234-timer";
reg = <0x0 0x08000000 0x0 0x00140000>;
interrupts = <GIC_SPI 773 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 774 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 775 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 776 IRQ_TYPE_LEVEL_HIGH>;
status = "disabled";
};

View File

@@ -1,82 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/ccplex@8120000000/nvidia,tegra264-ccplex-cluster.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: NVIDIA Tegra T264 cpufreq driver
maintainers:
- Sumit Gupta
- Mikko Perttunen
- Rich Wiley
description: |
the compatability = nvidia,tegra264-ccplex-cluster is mentioned in the following drivers
- <TOP>/kernel/kernel-oot/drivers/cpufreq/tegra194-cpufreq.c
The following nodes use this compatibility
- /bus@0/ccplex@8120000000
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra264-ccplex-cluster
required:
- compatible
properties:
nvidia,bpmp:
$ref: "/schemas/types.yaml#/definitions/uint32"
reg:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Registers are given by a tuple of two values:
- register address:
- register block size.
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x81
maximum: 0x81
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x30000000
maximum: 0x30000000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0xcf0000
maximum: 0xcf0000
required:
- compatible
- reg
examples:
- |
ccplex@8120000000 {
compatible = "nvidia,tegra264-ccplex-cluster";
status = "disabled";
nvidia,bpmp = <&bpmp>;
reg = <0x81 0x30000000 0x0 0xcf0000>;
};

View File

@@ -1,86 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/cc7/arm,idle-state.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: ARM/ARM64 generic CPU idle driver
maintainers:
- Rich Wiley
description: |
the compatability = arm,idle-state is mentioned in the following drivers
- <TOP>/kernel/kernel-oot/drivers/cpuidle/cpuidle-psci.c
- <TOP>/kernel/kernel-oot/drivers/cpuidle/cpuidle-big_little.c
- <TOP>/kernel/kernel-oot/drivers/cpuidle/cpuidle-arm.c
The following nodes use this compatibility
- /cpus/idle-states/cc7
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- arm,idle-state
required:
- compatible
properties:
state-name:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- Cluster Powergate
entry-latency-us:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1388
maximum: 0x1388
exit-latency-us:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1388
maximum: 0x1388
min-residency-us:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x61a8
maximum: 0x61a8
arm,psci-suspend-param:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x40000007
maximum: 0x40000007
required:
- compatible
examples:
- |
cc7 {
compatible = "arm,idle-state";
state-name = "Cluster Powergate";
entry-latency-us = <5000>;
exit-latency-us = <5000>;
min-residency-us = <25000>;
arm,psci-suspend-param = <0x40000007>;
status = "disabled";
};

View File

@@ -1,60 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/psci/arm,psci-1.0.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Power State Coordination Interface (PSCI) standard interface for power management
maintainers:
- Sanjay Chandrashekara
description: |
the compatability = arm,psci-1.0 is mentioned in the following drivers
- <TOP>/kernel/kernel-oot/drivers/cpuidle/cpuidle-psci-domain.c
- <TOP>/kernel/kernel-oot/drivers/firmware/psci/psci.c
The following nodes use this compatibility
- /psci
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- arm,psci-1.0
required:
- compatible
properties:
method:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- smc
required:
- compatible
examples:
- |
psci {
compatible = "arm,psci-1.0";
status = "disabled";
method = "smc";
};

View File

@@ -1,51 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/cpuidle/nvidia,cpuidle-tegra-auto.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Nvidia Tegra Automotive cpuidle Driver
maintainers:
- Manish Bhardwaj
description: |
the compatability = nvidia,cpuidle-tegra-auto is mentioned in the following drivers
- <TOP>/kernel/nvidia-oot/drivers/cpuidle/cpuidle-tegra-auto.c
The following nodes use this compatibility
- /cpuidle
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,cpuidle-tegra-auto
required:
- compatible
properties:
required:
- compatible
examples:
- |
cpuidle {
compatible = "nvidia,cpuidle-tegra-auto";
status = "okay";
};

View File

@@ -1,93 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/vse@C0110000/nvidia,tegra-se-5.1-hv-vse-safety.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Virtual Security Engine driver over Tegra Hypervisor IVC channel
maintainers:
- Mallikarjun Kasoju
- Ashutosh Patel
description: |
the compatability = nvidia,tegra-se-5.1-hv-vse-safety is mentioned in the following drivers
- <TOP>/kernel/nvidia-oot/drivers/crypto/tegra-hv-vse-safety.c
The following nodes use this compatibility
- /vse@C0110000
- /vse@C0120000
- /vse@C0140000
- /vse@C2430000
- /vse@C2440000
- /vse@C2460000
- /vse@C24A0000
- /vse@C24B0000
- /vse@C24D0000
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra-se-5.1-hv-vse-safety
required:
- compatible
properties:
iommus:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
iommus are given by a tuple of 2 values:
- Phandle to the device
- Device ID
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
se-engine-id:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0xc
nvidia,ivccfg_cnt:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x1
nvidia,ivccfg:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0xffffff
required:
- compatible
- iommus
examples:
- |
vse@C0120000 {
compatible = "nvidia,tegra-se-5.1-hv-vse-safety";
iommus = <0x5 0x1809>;
status = "okay";
se-engine-id = <0x1>;
nvidia,ivccfg_cnt = <0x1>;
nvidia,ivccfg = <0x12e 0x1 0x0 0x0 0xffffff 0x8ea 0x1809 0x1 0x0 0x0 0x0>;
};

View File

@@ -1,102 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/crypto@8189880000/nvidia,tegra264-kds.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: NVIDIA Tegra Key Distribution System Driver
maintainers:
- Suresh Mangipudi
description: |
the compatability = nvidia,tegra264-kds is mentioned in the following drivers
- <TOP>/kernel/nvidia-oot/drivers/crypto/tegra/tegra-se-kds.c
The following nodes use this compatibility
- /bus@0/host1x@8181200000/crypto@8189880000
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra264-kds
required:
- compatible
properties:
reg:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Registers are given by a tuple of two values:
- register address:
- register block size.
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x81
maximum: 0x81
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x89880000
maximum: 0x89880000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x10000
maximum: 0x10000
clocks:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Clocks are given by a tuple of 2 values:
- Phandle to the device
- Clock ID
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x25
maximum: 0x25
clock-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- se
required:
- compatible
- reg
- clocks
- clock-names
examples:
- |
crypto@8189880000 {
compatible = "nvidia,tegra264-kds";
reg = <0x81 0x89880000 0x0 0x10000>;
clocks = <&bpmp TEGRA264_CLK_SE>;
clock-names = "se";
status = "disabled";
};

View File

@@ -1,123 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/crypto@8188120000/nvidia,tegra264-se-aes.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: NVIDIA Tegra Security Engine Driver
maintainers:
- Suresh Mangipudi
description: |
the compatability = nvidia,tegra264-se-aes is mentioned in the following drivers
- <TOP>/kernel/nvidia-oot/drivers/crypto/tegra/tegra-se-main.c
The following nodes use this compatibility
- /bus@0/host1x@8181200000/crypto@8188120000
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra264-se-aes
required:
- compatible
properties:
reg:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Registers are given by a tuple of two values:
- register address:
- register block size.
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x81
maximum: 0x81
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x88120000
maximum: 0x88120000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x10000
maximum: 0x10000
clocks:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Clocks are given by a tuple of 2 values:
- Phandle to the device
- Clock ID
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x25
maximum: 0x25
clock-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- se
iommus:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
iommus are given by a tuple of 2 values:
- Phandle to the device
- Device ID
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1802
maximum: 0x1802
dma-coherent:
$ref: "/schemas/types.yaml#/definitions/flag"
required:
- compatible
- reg
- clocks
- clock-names
- iommus
examples:
- |
crypto@8188120000 {
compatible = "nvidia,tegra264-se-aes";
reg = <0x81 0x88120000 0x0 0x10000>;
clocks = <&bpmp TEGRA264_CLK_SE>;
clock-names = "se";
iommus = <&smmu1_mmu TEGRA_SID_SE_SE2>;
dma-coherent;
status = "disabled";
};

View File

@@ -1,123 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/crypto@8188140000/nvidia,tegra264-se-hash.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Crypto driver for NVIDIA Security Engine in Tegra Chips
maintainers:
- Suresh Mangipudi
description: |
the compatability = nvidia,tegra264-se-hash is mentioned in the following drivers
- <TOP>/kernel/nvidia-oot/drivers/crypto/tegra/tegra-se-main.c
The following nodes use this compatibility
- /bus@0/host1x@8181200000/crypto@8188140000
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra264-se-hash
required:
- compatible
properties:
reg:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Registers are given by a tuple of two values:
- register address:
- register block size.
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x81
maximum: 0x81
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x88140000
maximum: 0x88140000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x10000
maximum: 0x10000
clocks:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Clocks are given by a tuple of 2 values:
- Phandle to the device
- Clock ID
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x25
maximum: 0x25
clock-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- se
iommus:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
iommus are given by a tuple of 2 values:
- Phandle to the device
- Device ID
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1804
maximum: 0x1804
dma-coherent:
$ref: "/schemas/types.yaml#/definitions/flag"
required:
- compatible
- reg
- clocks
- clock-names
- iommus
examples:
- |
crypto@8188140000 {
compatible = "nvidia,tegra264-se-hash";
reg = <0x81 0x88140000 0x0 0x10000>;
clocks = <&bpmp TEGRA264_CLK_SE>;
clock-names = "se";
iommus = <&smmu1_mmu TEGRA_SID_SE_SE4>;
dma-coherent;
status = "disabled";
};

View File

@@ -1,123 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/crypto@8188110000/nvidia,tegra264-se-sm4.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Crypto Module for NVIDIA Security Engine in Tegra Chips
maintainers:
- Suresh Mangipudi
description: |
the compatability = nvidia,tegra264-se-sm4 is mentioned in the following drivers
- <TOP>/kernel/nvidia-oot/drivers/crypto/tegra/tegra-se-main.c
The following nodes use this compatibility
- /bus@0/host1x@8181200000/crypto@8188110000
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra264-se-sm4
required:
- compatible
properties:
reg:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Registers are given by a tuple of two values:
- register address:
- register block size.
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x81
maximum: 0x81
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x88110000
maximum: 0x88110000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x10000
maximum: 0x10000
clocks:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Clocks are given by a tuple of 2 values:
- Phandle to the device
- Clock ID
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x25
maximum: 0x25
clock-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- se
iommus:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
iommus are given by a tuple of 2 values:
- Phandle to the device
- Device ID
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1801
maximum: 0x1801
dma-coherent:
$ref: "/schemas/types.yaml#/definitions/flag"
required:
- compatible
- reg
- clocks
- clock-names
- iommus
examples:
- |
crypto@8188110000 {
compatible = "nvidia,tegra264-se-sm4";
reg = <0x81 0x88110000 0x0 0x10000>;
clocks = <&bpmp TEGRA264_CLK_SE>;
clock-names = "se";
iommus = <&smmu1_mmu TEGRA_SID_SE_SE1>;
dma-coherent;
status = "disabled";
};

View File

@@ -1,210 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/dma-controller@9440000/nvidia,tegra264-adma.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: NVIDIA Tegra ADMA driver
maintainers:
- Mohan Kumar
description: |
the compatability = nvidia,tegra264-adma is mentioned in the following drivers
- <TOP>/kernel/kernel-oot/drivers/dma/tegra210-adma.c
The following nodes use this compatibility
- /bus@0/aconnect@9000000/dma-controller@9440000
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra264-adma
required:
- compatible
properties:
reg:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Registers are given by a tuple of two values:
- register address:
- register block size.
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x9450000
maximum: 0x9450000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x10000
maximum: 0x10000
interrupt-parent:
$ref: "/schemas/types.yaml#/definitions/uint32"
interrupts:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Interrupts are give by a tuple of 3 values:
- interrupt specifier (GIC_SPI = 0, GIC_PPI = 1)
definitions in dt-bindings/interrupt-controller/arm-gic.h
- interrupt number
- trigger type (rising edge, falling edge, both, etc)
definitions in dt-bindings/interrupt-controller/irq.h
items:
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x90
maximum: 0xbf
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x4
maximum: 0x4
'#dma-cells':
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x1
clocks:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Clocks are given by a tuple of 2 values:
- Phandle to the device
- Clock ID
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0xa3
maximum: 0xa3
clock-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- d_audio
reg-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- vm
dma-channel-mask:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0xffff
maximum: 0xffffffff
required:
- compatible
- reg
- interrupts
- clocks
- clock-names
examples:
- |
dma-controller@9440000 {
compatible = "nvidia,tegra264-adma";
reg = <0x0 0x9440000 0x0 0xb0000>;
interrupt-parent = <&agic_page0>;
interrupts = <GIC_SPI 0x90 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0x91 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0x92 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0x93 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0x94 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0x95 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0x96 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0x97 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0x98 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0x99 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0x9a IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0x9b IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0x9c IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0x9d IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0x9e IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0x9f IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0xa0 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0xa1 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0xa2 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0xa3 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0xa4 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0xa5 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0xa6 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0xa7 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0xa8 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0xa9 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0xaa IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0xab IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0xac IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0xad IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0xae IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0xaf IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0xb0 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0xb1 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0xb2 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0xb3 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0xb4 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0xb5 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0xb6 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0xb7 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0xb8 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0xb9 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0xba IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0xbb IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0xbc IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0xbd IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0xbe IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0xbf IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0xc0 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0xc1 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0xc2 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0xc3 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0xc4 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0xc5 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0xc6 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0xc7 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0xc8 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0xc9 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0xca IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0xcb IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0xcc IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0xcd IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0xce IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0xcf IRQ_TYPE_LEVEL_HIGH>;
#dma-cells = <1>;
clocks = <&bpmp TEGRA264_CLK_AHUB>;
clock-names = "d_audio";
status = "disabled";
};

View File

@@ -1,163 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/dma-controller@8400000/nvidia,tegra264-gpcdma.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: NVIDIA Tegra GPC DMA Controller driver
maintainers:
- Suresh Mangipudi
description: |
the compatability = nvidia,tegra264-gpcdma is mentioned in the following drivers
- <TOP>/kernel/kernel-oot/drivers/dma/tegra186-gpc-dma.c
The following nodes use this compatibility
- /bus@0/dma-controller@8400000
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra264-gpcdma
required:
- compatible
properties:
reg:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Registers are given by a tuple of two values:
- register address:
- register block size.
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x8400000
maximum: 0x8400000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x210000
maximum: 0x210000
interrupts:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Interrupts are give by a tuple of 3 values:
- interrupt specifier (GIC_SPI = 0, GIC_PPI = 1)
definitions in dt-bindings/interrupt-controller/arm-gic.h
- interrupt number
- trigger type (rising edge, falling edge, both, etc)
definitions in dt-bindings/interrupt-controller/irq.h
items:
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x248
maximum: 0x267
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x4
maximum: 0x4
'#dma-cells':
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x3
maximum: 0x3
iommus:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
iommus are given by a tuple of 2 values:
- Phandle to the device
- Device ID
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x800
maximum: 0x800
dma-coherent:
$ref: "/schemas/types.yaml#/definitions/flag"
dma-channel-mask:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0xf70dc3fe
maximum: 0xf70dc3fe
required:
- compatible
- reg
- interrupts
- iommus
examples:
- |
dma-controller@8400000 {
compatible = "nvidia,tegra264-gpcdma";
status = "disabled";
reg = <0x0 0x08400000 0x0 0x210000>;
interrupts = <GIC_SPI 584 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 585 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 586 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 587 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 588 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 589 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 590 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 591 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 592 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 593 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 594 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 595 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 596 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 597 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 598 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 599 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 600 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 601 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 602 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 603 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 604 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 605 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 606 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 607 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 608 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 609 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 610 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 611 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 612 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 613 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 614 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 615 IRQ_TYPE_LEVEL_HIGH>;
#dma-cells = <3>;
iommus = <&smmu1_mmu 0x00000800>;
dma-coherent;
dma-channel-mask = <0xfffffffe>;
};

View File

@@ -1,104 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/bpmp/nvidia,tegra194-safe-bpmp-hv.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Virtual BPMP Driver
maintainers:
- Sharif Shaik
description: |
the compatability = nvidia,tegra194-safe-bpmp-hv is mentioned in the following drivers
- <TOP>/kernel/nvidia-oot/drivers/firmware/tegra/bpmp-tegra186-hv.c
- <TOP>/kernel/nvidia-oot/drivers/gpu/drm/tegra/virt.c
The following nodes use this compatibility
- /bpmp
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra194-safe-bpmp-hv
required:
- compatible
properties:
mboxes:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
items:
minItems: 3
maxItems: 3
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x13
maximum: 0x13
'#clock-cells':
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x1
'#reset-cells':
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x1
'#power-domain-cells':
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x1
numa-node-id:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
ivc_queue:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0xf
mempool:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x3
maximum: 0x3
required:
- compatible
examples:
- |
bpmp {
compatible = "nvidia,tegra264-bpmp",
"nvidia,tegra234-bpmp",
"nvidia,tegra186-bpmp";
status = "disabled";
mboxes = <&top_hsp0 TEGRA_HSP_MBOX_TYPE_DB TEGRA_HSP_DB_MASTER_BPMP>;
memory-region = <&dram_cpu_bpmp_mail>;
#clock-cells = <1>;
#reset-cells = <1>;
#power-domain-cells = <1>;
numa-node-id = <0>;
};

View File

@@ -1,132 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/gpio@cf00000/nvidia,tegra264-gpio-aon.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: NVIDIA Tegra GPIO Controller Driver
maintainers:
- Suresh Mangipudi
description: |
the compatability = nvidia,tegra264-gpio-aon is mentioned in the following drivers
- <TOP>/kernel/kernel-oot/drivers/gpio/gpio-tegra186.c
The following nodes use this compatibility
- /bus@0/gpio@cf00000
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra264-gpio-aon
required:
- compatible
properties:
reg-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- security
- gpio
reg:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Registers are given by a tuple of two values:
- register address:
- register block size.
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0xcf00000
maximum: 0xcf10000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1000
maximum: 0x10000
interrupts:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Interrupts are give by a tuple of 3 values:
- interrupt specifier (GIC_SPI = 0, GIC_PPI = 1)
definitions in dt-bindings/interrupt-controller/arm-gic.h
- interrupt number
- trigger type (rising edge, falling edge, both, etc)
definitions in dt-bindings/interrupt-controller/irq.h
items:
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x21a
maximum: 0x21d
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x4
maximum: 0x4
gpio-controller:
$ref: "/schemas/types.yaml#/definitions/flag"
'#gpio-cells':
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x2
maximum: 0x2
interrupt-controller:
$ref: "/schemas/types.yaml#/definitions/flag"
'#interrupt-cells':
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x2
maximum: 0x2
required:
- compatible
- reg
- interrupts
examples:
- |
gpio@cf00000 {
reg-names = "security, gpio";
compatible = "nvidia,tegra264-gpio-aon";
status = "disabled";
reg = <0x0 0x0cf00000 0x0 0x10000>,
<0x0 0x0cf10000 0x0 0x1000>;
interrupts = <GIC_SPI 538 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 539 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 540 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 541 IRQ_TYPE_LEVEL_HIGH>;
gpio-controller;
#gpio-cells = <2>;
interrupt-controller;
#interrupt-cells = <2>;
};

View File

@@ -1,160 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/gpio@810c300000/nvidia,tegra264-gpio-main.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: NVIDIA Tegra GPIO controller driver
maintainers:
- Suresh Mangipudi
description: |
the compatability = nvidia,tegra264-gpio-main is mentioned in the following drivers
- <TOP>/kernel/kernel-oot/drivers/gpio/gpio-tegra186.c
The following nodes use this compatibility
- /bus@0/gpio@810c300000
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra264-gpio-main
required:
- compatible
properties:
reg-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- security
- gpio
reg:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Registers are given by a tuple of two values:
- register address:
- register block size.
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x81
maximum: 0x81
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0xc300000
maximum: 0xc310000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x4000
maximum: 0x4000
interrupts:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Interrupts are give by a tuple of 3 values:
- interrupt specifier (GIC_SPI = 0, GIC_PPI = 1)
definitions in dt-bindings/interrupt-controller/arm-gic.h
- interrupt number
- trigger type (rising edge, falling edge, both, etc)
definitions in dt-bindings/interrupt-controller/irq.h
items:
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x5b
maximum: 0x7a
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x4
maximum: 0x4
gpio-controller:
$ref: "/schemas/types.yaml#/definitions/flag"
'#gpio-cells':
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x2
maximum: 0x2
interrupt-controller:
$ref: "/schemas/types.yaml#/definitions/flag"
'#interrupt-cells':
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x2
maximum: 0x2
required:
- compatible
- reg
- interrupts
examples:
- |
gpio@810c300000 {
reg-names = "security, gpio";
compatible = "nvidia,tegra264-gpio-main";
status = "disabled";
reg = <0x81 0x0c300000 0x0 0x4000>,
<0x81 0x0c310000 0x0 0x4000>;
interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
gpio-controller;
#gpio-cells = <2>;
interrupt-controller;
#interrupt-cells = <2>;
};

View File

@@ -1,148 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/gpio@a808300000/nvidia,tegra264-gpio-uphy.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: NVIDIA Tegra GPIO controller driver
maintainers:
- Suresh Mangipudi
description: |
the compatability = nvidia,tegra264-gpio-uphy is mentioned in the following drivers
- <TOP>/kernel/kernel-oot/drivers/gpio/gpio-tegra186.c
The following nodes use this compatibility
- /bus@0/gpio@a808300000
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra264-gpio-uphy
required:
- compatible
properties:
reg-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- security
- gpio
reg:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Registers are given by a tuple of two values:
- register address:
- register block size.
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0xa8
maximum: 0xa8
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x8300000
maximum: 0x8310000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x2000
maximum: 0x2000
interrupts:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Interrupts are give by a tuple of 3 values:
- interrupt specifier (GIC_SPI = 0, GIC_PPI = 1)
definitions in dt-bindings/interrupt-controller/arm-gic.h
- interrupt number
- trigger type (rising edge, falling edge, both, etc)
definitions in dt-bindings/interrupt-controller/irq.h
items:
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x34b
maximum: 0x35a
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x4
maximum: 0x4
gpio-controller:
$ref: "/schemas/types.yaml#/definitions/flag"
'#gpio-cells':
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x2
maximum: 0x2
interrupt-controller:
$ref: "/schemas/types.yaml#/definitions/flag"
'#interrupt-cells':
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x2
maximum: 0x2
pinctrl-node:
$ref: "/schemas/types.yaml#/definitions/uint32"
required:
- compatible
- reg
- interrupts
examples:
- |
gpio@a808300000 {
reg-names = "security, gpio";
compatible = "nvidia,tegra264-gpio-uphy";
status = "disabled";
reg = <0xa8 0x08300000 0x0 0x2000>,
<0xa8 0x08310000 0x0 0x2000>;
interrupts = <GIC_SPI 843 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 844 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 845 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 846 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 847 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 848 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 849 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 850 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 851 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 852 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 853 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 854 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 855 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 856 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 857 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 858 IRQ_TYPE_LEVEL_HIGH>;
gpio-controller;
#gpio-cells = <2>;
interrupt-controller;
#interrupt-cells = <2>;
pinctrl-node = <&padctl_uphy>;
};

View File

@@ -1,78 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/pinmux@810c281000/nvidia,tegra264-pinmux-main.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: NVIDIA Tegra PINMUX driver
maintainers:
- Suresh Mangipudi
description: |
the compatability = nvidia,tegra264-pinmux-main is mentioned in the following drivers
- <TOP>/kernel/kernel-oot/drivers/gpio/gpio-tegra186.c
- <TOP>/kernel/kernel-oot/drivers/pinctrl/tegra/pinctrl-tegra264-generic.c
- <TOP>/kernel/kernel-oot/drivers/pinctrl/tegra/pinctrl-tegra264.c
The following nodes use this compatibility
- /bus@0/pinmux@810c281000
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra264-pinmux-main
required:
- compatible
properties:
reg:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Registers are given by a tuple of two values:
- register address:
- register block size.
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x81
maximum: 0x81
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0xc281000
maximum: 0xc281000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0xc000
maximum: 0xc000
required:
- compatible
- reg
examples:
- |
pinmux@810c281000 {
compatible = "nvidia,tegra264-pinmux-main";
status = "disabled";
reg = <0x81 0x0c281000 0x0 0xc000>;
};

View File

@@ -1,77 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/pinmux@a8082e0000/nvidia,tegra264-pinmux-uphy.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: NVIDIA Tegra PINMUX driver
maintainers:
- Suresh Mangipudi
description: |
the compatability = nvidia,tegra264-pinmux-uphy is mentioned in the following drivers
- <TOP>/kernel/kernel-oot/drivers/gpio/gpio-tegra186.c
- <TOP>/kernel/kernel-oot/drivers/pinctrl/tegra/pinctrl-tegra264-generic.c
The following nodes use this compatibility
- /bus@0/pinmux@a8082e0000
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra264-pinmux-uphy
required:
- compatible
properties:
reg:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Registers are given by a tuple of two values:
- register address:
- register block size.
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0xa8
maximum: 0xa8
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x82e0000
maximum: 0x82e0000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x4000
maximum: 0x4000
required:
- compatible
- reg
examples:
- |
pinmux@a8082e0000 {
compatible = "nvidia,tegra264-pinmux-uphy";
status = "disabled";
reg = <0xa8 0x082e0000 0x0 0x4000>;
};

View File

@@ -1,117 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/vi0@8188400000/nvidia,tegra234-vi.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Tegra Video Interface Module
maintainers:
- Chinniah Poosapadi
description: |
the compatability = nvidia,tegra234-vi is mentioned in the following drivers
- <TOP>/kernel/nvidia-oot/drivers/gpu/drm/tegra/drm.c
- <TOP>/kernel/nvidia-oot/drivers/gpu/drm/tegra/vic.c
- <TOP>/kernel/nvidia-oot/drivers/video/tegra/host/capture/capture-support.c
- <TOP>/kernel/nvidia-oot/drivers/video/tegra/host/vi/vi5.c
The following nodes use this compatibility
- /bus@0/host1x@8181200000/vi0@8188400000
- /bus@0/host1x@8181200000/vi1@8188c00000
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra234-vi
required:
- compatible
properties:
resets:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Resets are given by a tuple of 2 values:
- Phandle to the device
- Reset ID
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x2e
maximum: 0x2f
reset-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- vi
- vi2
clocks:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Clocks are given by a tuple of 2 values:
- Phandle to the device
- Clock ID
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x39
maximum: 0x39
clock-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- vi
nvidia,vi-falcon-device:
$ref: "/schemas/types.yaml#/definitions/uint32"
non-coherent:
$ref: "/schemas/types.yaml#/definitions/flag"
required:
- compatible
- resets
- reset-names
- clocks
- clock-names
examples:
- |
vi0@8188400000 {
compatible = "nvidia,tegra234-vi";
resets = <&bpmp TEGRA264_RESET_VI>;
reset-names = "vi";
clocks = <&bpmp TEGRA264_CLK_VI>;
clock-names = "vi";
nvidia,vi-falcon-device = <&vi0_thi>;
iommus = <&smmu0_mmu TEGRA_SID_VI_VM1>;
non-coherent;
status = "disabled";
};

View File

@@ -1,135 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/vic@8188050000/nvidia,tegra264-host1x-virtual-engine.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Host1x Virtualization Driver for Tegra Hypervisor
maintainers:
- Santosh B S
description: |
the compatability = nvidia,tegra264-host1x-virtual-engine is mentioned in the following drivers
- <TOP>/kernel/nvidia-oot/drivers/gpu/drm/tegra/virt.c
- <TOP>/kernel/nvidia-oot/drivers/gpu/drm/tegra/drm.c
The following nodes use this compatibility
- /bus@0/host1x@8181200000/vic@8188050000
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra264-host1x-virtual-engine
required:
- compatible
properties:
clocks:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Clocks are given by a tuple of 2 values:
- Phandle to the device
- Clock ID
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x3b
maximum: 0x3b
interconnects:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
items:
minItems: 3
maxItems: 3
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x6c
maximum: 0x6d
- $ref: "/schemas/types.yaml#/definitions/uint32"
interconnect-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- dma-mem
- write
iommus:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
iommus are given by a tuple of 2 values:
- Phandle to the device
- Device ID
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x3000
maximum: 0x3000
dma-coherent:
$ref: "/schemas/types.yaml#/definitions/flag"
numa-node-id:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
nvidia,class:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x5d
maximum: 0x5d
nvidia,module-id:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x2
maximum: 0x2
required:
- compatible
- clocks
- iommus
examples:
- |
vic@8188050000 {
compatible = "nvidia,tegra264-vic";
reg = <0x81 0x88050000 0x00 0x40000>;
interrupts = <GIC_SPI 0x1d4 IRQ_TYPE_LEVEL_HIGH>;
power-domains = <&bpmp TEGRA264_POWER_DOMAIN_VIC>;
resets = <&bpmp TEGRA264_RESET_VIC>;
reset-names = "vic";
clocks = <&bpmp TEGRA264_CLK_VIC>;
clock-names = "vic";
interconnects = <&mc TEGRA264_MEMORY_CLIENT_VICR &emc>,
<&mc TEGRA264_MEMORY_CLIENT_VICW &emc>;
interconnect-names = "dma-mem, write";
iommus = <&smmu1_mmu TEGRA_SID_VIC>;
dma-coherent;
numa-node-id = <0x0>;
status = "disabled";
};

View File

@@ -1,289 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/host1x@8181200000/nvidia,tegra264-host1x.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Host1x driver for Tegra products
maintainers:
- Santosh B S
description: |
the compatability = nvidia,tegra264-host1x is mentioned in the following drivers
- <TOP>/kernel/nvidia-oot/drivers/gpu/drm/tegra/virt.c
- <TOP>/kernel/nvidia-oot/drivers/gpu/drm/tegra/drm.c
- <TOP>/kernel/nvidia-oot/drivers/gpu/host1x-nvhost/nvhost.c
- <TOP>/kernel/nvidia-oot/drivers/gpu/host1x-fence/dev.c
- <TOP>/kernel/nvidia-oot/drivers/gpu/host1x/dev.c
- <TOP>/kernel/nvidia-oot/drivers/crypto/tegra-hv-vse-safety.c
The following nodes use this compatibility
- /bus@0/host1x@8181200000
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra264-host1x
required:
- compatible
properties:
reg:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Registers are given by a tuple of two values:
- register address:
- register block size.
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x81
maximum: 0x81
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x81240000
maximum: 0x81320000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x10000
maximum: 0x20000
reg-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- vm
- actmon
interrupts:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Interrupts are give by a tuple of 3 values:
- interrupt specifier (GIC_SPI = 0, GIC_PPI = 1)
definitions in dt-bindings/interrupt-controller/arm-gic.h
- interrupt number
- trigger type (rising edge, falling edge, both, etc)
definitions in dt-bindings/interrupt-controller/irq.h
items:
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x145
maximum: 0x14e
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x4
maximum: 0x4
interrupt-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- syncpt0
- syncpt1
- syncpt2
- syncpt3
- syncpt4
- syncpt5
- syncpt6
- syncpt7
- host1x
clocks:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Clocks are given by a tuple of 2 values:
- Phandle to the device
- Clock ID
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0xe
clock-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- host1x
- actmon
interconnects:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
items:
minItems: 3
maxItems: 3
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x16
maximum: 0x16
- $ref: "/schemas/types.yaml#/definitions/uint32"
interconnect-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- dma-mem
iommus:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
iommus are given by a tuple of 2 values:
- Phandle to the device
- Device ID
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0xb01
maximum: 0xb01
dma-coherent:
$ref: "/schemas/types.yaml#/definitions/flag"
'#address-cells':
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x2
maximum: 0x2
'#size-cells':
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x2
maximum: 0x2
iommu-map:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x7
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x3001
maximum: 0x3008
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x1
numa-node-id:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
nvidia,channels:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x1d
nvidia,syncpoints:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x240
nvidia,server-ivc:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0xf
maximum: 0x2a
required:
- compatible
- reg
- interrupts
- interrupt-names
- clocks
- clock-names
- iommus
examples:
- |
host1x@8181200000 {
compatible = "nvidia,tegra264-host1x";
reg = <0x81 0x81200000 0x0 0x10000>,
<0x81 0x81210000 0x0 0x10000>,
<0x81 0x81240000 0x0 0x10000>,
<0x81 0x81320000 0x0 0x20000>;
reg-names = "common, hypervisor, vm, actmon";
interrupts = <GIC_SPI 0x147 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0x148 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0x149 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0x14a IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0x14b IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0x14c IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0x14d IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0x14e IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 0x145 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "syncpt0",
"syncpt1",
"syncpt2",
"syncpt3",
"syncpt4",
"syncpt5",
"syncpt6",
"syncpt7",
"host1x";
clocks = <&bpmp TEGRA264_CLK_HOST1X>,
<&bpmp TEGRA264_CLK_OSC>;
clock-names = "host1x, actmon";
interconnects = <&mc TEGRA264_MEMORY_CLIENT_HOST1XR &emc>;
interconnect-names = "dma-mem";
iommus = <&smmu1_mmu TEGRA_SID_HOST1X>;
dma-coherent;
#address-cells = <0x2>;
#size-cells = <0x2>;
iommu-map = <0x0 &smmu1_mmu (TEGRA_SID_VIC+0x1) 0x1>,
<0x1 &smmu1_mmu (TEGRA_SID_VIC+0x2) 0x1>,
<0x2 &smmu1_mmu (TEGRA_SID_VIC+0x3) 0x1>,
<0x3 &smmu1_mmu (TEGRA_SID_VIC+0x4) 0x1>,
<0x4 &smmu1_mmu (TEGRA_SID_VIC+0x5) 0x1>,
<0x5 &smmu1_mmu (TEGRA_SID_VIC+0x6) 0x1>,
<0x6 &smmu1_mmu (TEGRA_SID_VIC+0x7) 0x1>,
<0x7 &smmu1_mmu (TEGRA_SID_VIC+0x8) 0x1>;
ranges = <0x81 0x81200000 0x81 0x81200000 0x00 0x10000>,
<0x81 0x81210000 0x81 0x81210000 0x00 0x10000>,
<0x81 0x81240000 0x81 0x81240000 0x00 0x10000>,
<0x81 0x88150000 0x81 0x88150000 0x00 0x40000>,
<0x81 0x88050000 0x81 0x88050000 0x00 0x40000>,
<0x81 0x8c000000 0x81 0x8c000000 0x00 0x900000>,
<0x00 0x10700000 0x00 0x10700000 0x00 0x100000>,
<0x81 0x88140000 0x81 0x88140000 0x00 0x10000>,
<0x81 0x88120000 0x81 0x88120000 0x00 0x10000>,
<0x81 0x88110000 0x81 0x88110000 0x00 0x10000>,
<0x81 0x89880000 0x81 0x89880000 0x00 0x10000>,
<0x81 0x88800000 0x81 0x88800000 0x00 0x300000>;
numa-node-id = <0x0>;
status = "disabled";
};

View File

@@ -1,115 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/hardware-timestamp@c2b0000/nvidia,tegra264-gte-aon.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: NVIDIA Tegra HTE (Hardware Timestamping Engine) Driver
maintainers:
- Dipen Patel
description: |
the compatability = nvidia,tegra264-gte-aon is mentioned in the following drivers
- <TOP>/kernel/kernel-oot/drivers/hte/hte-tegra194.c
The following nodes use this compatibility
- /bus@0/hardware-timestamp@c2b0000
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra264-gte-aon
required:
- compatible
properties:
reg:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Registers are given by a tuple of two values:
- register address:
- register block size.
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0xc2b0000
maximum: 0xc2b0000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x10000
maximum: 0x10000
interrupts:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Interrupts are give by a tuple of 3 values:
- interrupt specifier (GIC_SPI = 0, GIC_PPI = 1)
definitions in dt-bindings/interrupt-controller/arm-gic.h
- interrupt number
- trigger type (rising edge, falling edge, both, etc)
definitions in dt-bindings/interrupt-controller/irq.h
items:
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x226
maximum: 0x226
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x4
maximum: 0x4
nvidia,int-threshold:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x1
'#timestamp-cells':
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x1
nvidia,gpio-controller:
$ref: "/schemas/types.yaml#/definitions/uint32"
required:
- compatible
- reg
- interrupts
examples:
- |
hardware-timestamp@c2b0000 {
compatible = "nvidia,tegra264-gte-aon";
reg = <0x0 0x0c2b0000 0x0 0x10000>;
interrupts = <GIC_SPI 0x00000226 IRQ_TYPE_LEVEL_HIGH>;
nvidia,int-threshold = <1>;
#timestamp-cells = <1>;
nvidia,gpio-controller = <&gpio_aon>;
status = "disabled";
};

View File

@@ -1,111 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/hardware-timestamp@8380000/nvidia,tegra264-gte-lic.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: NVIDIA Tegra HTE (Hardware Timestamping Engine) Driver
maintainers:
- Dipen Patel
description: |
the compatability = nvidia,tegra264-gte-lic is mentioned in the following drivers
- <TOP>/kernel/kernel-oot/drivers/hte/hte-tegra194.c
The following nodes use this compatibility
- /bus@0/hardware-timestamp@8380000
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra264-gte-lic
required:
- compatible
properties:
reg:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Registers are given by a tuple of two values:
- register address:
- register block size.
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x8380000
maximum: 0x8380000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x10000
maximum: 0x10000
interrupts:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Interrupts are give by a tuple of 3 values:
- interrupt specifier (GIC_SPI = 0, GIC_PPI = 1)
definitions in dt-bindings/interrupt-controller/arm-gic.h
- interrupt number
- trigger type (rising edge, falling edge, both, etc)
definitions in dt-bindings/interrupt-controller/irq.h
items:
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x268
maximum: 0x268
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x4
maximum: 0x4
nvidia,int-threshold:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x1
'#timestamp-cells':
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x1
required:
- compatible
- reg
- interrupts
examples:
- |
hardware-timestamp@8380000 {
compatible = "nvidia,tegra264-gte-lic";
reg = <0x0 0x08380000 0x0 0x10000>;
interrupts = <GIC_SPI 0x00000268 IRQ_TYPE_LEVEL_HIGH>;
nvidia,int-threshold = <1>;
#timestamp-cells = <1>;
status = "disabled";
};

View File

@@ -1,107 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/temp-sensor@4c/ti,tmp451.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: LM90/ADM1032 driver
maintainers:
- Yi-Wei Wang
description: |
the compatability = ti,tmp451 is mentioned in the following drivers
- <TOP>/kernel/kernel-oot/drivers/hwmon/lm90.c
The following nodes use this compatibility
- /bpmp/i2c/temp-sensor@4c
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- ti,tmp451
required:
- compatible
properties:
reg:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Registers are given by a tuple of two values:
- register address:
- register block size.
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x4c
maximum: 0x4c
sensor-name:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- tmp451-ext-soc
'#thermal-sensor-cells':
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x1
interrupt-parent:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x4e
maximum: 0x4e
interrupts:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Interrupts are give by a tuple of 3 values:
- interrupt specifier (GIC_SPI = 0, GIC_PPI = 1)
definitions in dt-bindings/interrupt-controller/arm-gic.h
- interrupt number
- trigger type (rising edge, falling edge, both, etc)
definitions in dt-bindings/interrupt-controller/irq.h
items:
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x8
maximum: 0x9
temp-alert-gpio:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x4e
offset:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0xfffff060
maximum: 0xfffff060
required:
- compatible
- reg
- interrupts
examples:
- |
temp-sensor@4c {
};

View File

@@ -1,244 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/i2c@c600000/nvidia,tegra264-i2c.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: NVIDIA Tegra I2C Bus Controller driver
maintainers:
- Suresh Mangipudi
description: |
the compatability = nvidia,tegra264-i2c is mentioned in the following drivers
- <TOP>/kernel/kernel-oot/drivers/i2c/busses/i2c-tegra.c
The following nodes use this compatibility
- /bus@0/i2c@c600000
- /bus@0/i2c@c610000
- /bus@0/i2c@810c410000
- /bus@0/i2c@810c420000
- /bus@0/i2c@810c430000
- /bus@0/i2c@810c630000
- /bus@0/i2c@810c640000
- /bus@0/i2c@810c650000
- /bus@0/i2c@810c670000
- /bus@0/i2c@810c680000
- /bus@0/i2c@810c690000
- /bus@0/i2c@810c6a0000
- /bus@0/i2c@810c6b0000
- /bus@0/i2c@810c6c0000
- /bus@0/i2c@810c6d0000
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra264-i2c
required:
- compatible
properties:
reg:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Registers are given by a tuple of two values:
- register address:
- register block size.
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x81
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0xc410000
maximum: 0xc6d0000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x10000
maximum: 0x10000
interrupts:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Interrupts are give by a tuple of 3 values:
- interrupt specifier (GIC_SPI = 0, GIC_PPI = 1)
definitions in dt-bindings/interrupt-controller/arm-gic.h
- interrupt number
- trigger type (rising edge, falling edge, both, etc)
definitions in dt-bindings/interrupt-controller/irq.h
items:
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x7e
maximum: 0x215
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x4
maximum: 0x4
clock-frequency:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x61a80
maximum: 0x61a80
dmas:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x14
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x1f
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x801
maximum: 0x81f
dma-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- tx
iommus:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
iommus are given by a tuple of 2 values:
- Phandle to the device
- Device ID
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x801
maximum: 0x81f
dma-coherent:
$ref: "/schemas/types.yaml#/definitions/flag"
clocks:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Clocks are given by a tuple of 2 values:
- Phandle to the device
- Clock ID
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0xd
maximum: 0xa0
clock-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- div-clk
- parent
assigned-clocks:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0xd
maximum: 0x2f
assigned-clock-parents:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x16
maximum: 0xa0
resets:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Resets are given by a tuple of 2 values:
- Phandle to the device
- Reset ID
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0xb
maximum: 0x3c
reset-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- i2c
required:
- compatible
- reg
- interrupts
- iommus
- clocks
- clock-names
- resets
- reset-names
examples:
- |
i2c@c600000 {
compatible = "nvidia,tegra264-i2c";
status = "disabled";
reg = <0x0 0x0c600000 0x0 0x10000>;
interrupts = <GIC_SPI 532 IRQ_TYPE_LEVEL_HIGH>;
clock-frequency = <400000>;
dmas = <&gpcdma 3 3 TEGRA264_GPCDMA_SID_I2C2>;
dma-names = "tx";
iommus = <&smmu1_mmu TEGRA264_GPCDMA_SID_I2C2>;
dma-coherent;
clocks = <&bpmp TEGRA264_CLK_AON_I2C>,
<&bpmp TEGRA264_CLK_PLLAON>;
clock-names = "div-clk, parent";
assigned-clocks = <&bpmp TEGRA264_CLK_AON_I2C>;
assigned-clock-parents = <&bpmp TEGRA264_CLK_PLLAON>;
resets = <&bpmp TEGRA264_RESET_I2C2>;
reset-names = "i2c";
};

View File

@@ -1,60 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/gpio-keys/gpio-keys.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Keyboard driver for GPIOs
maintainers:
- Suresh Mangipudi
description: |
the compatability = gpio-keys is mentioned in the following drivers
- <TOP>/kernel/kernel-oot/drivers/input/keyboard/gpio_keys.c
- <TOP>/kernel/kernel-oot/drivers/input/keyboard/gpio_keys_polled.c
- <TOP>/kernel/kernel-oot/drivers/input/misc/soc_button_array.c
- <TOP>/kernel/kernel-oot/drivers/mfd/ucb1x00-assabet.c
- <TOP>/kernel/kernel-oot/drivers/mfd/rohm-bd71828.c
- <TOP>/kernel/kernel-oot/drivers/mfd/rohm-bd718x7.c
- <TOP>/kernel/kernel-oot/drivers/platform/x86/barco-p50-gpio.c
- <TOP>/kernel/kernel-oot/drivers/platform/x86/meraki-mx100.c
- <TOP>/kernel/kernel-oot/drivers/platform/x86/pcengines-apuv2.c
- <TOP>/kernel/kernel-oot/drivers/platform/x86/x86-android-tablets.c
The following nodes use this compatibility
- /gpio-keys
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- gpio-keys
required:
- compatible
properties:
required:
- compatible
examples:
- |
gpio-keys {
compatible = "gpio-keys";
status = "okay";
};

View File

@@ -1,141 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/tegra-hsp@8800000/nvidia,tegra264-hsp-hv.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Hypervisor Hardware Syncronization Primatives (HSP) Driver
maintainers:
- Suresh Mangipudi
description: |
the compatability = nvidia,tegra264-hsp-hv is mentioned in the following drivers
- <TOP>/kernel/kernel-oot/drivers/mailbox/tegra-hsp.c
The following nodes use this compatibility
- /bus@0/tegra-hsp@8800000
- /bus@0/tegra-hsp@8c00000
- /bus@0/tegra-hsp@8d00000
- /bus@0/tegra-hsp@8189100000
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra264-hsp-hv
required:
- compatible
properties:
reg:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Registers are given by a tuple of two values:
- register address:
- register block size.
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x81
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x8800000
maximum: 0x89100000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0xc0000
maximum: 0xd0000
interrupts:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Interrupts are give by a tuple of 3 values:
- interrupt specifier (GIC_SPI = 0, GIC_PPI = 1)
definitions in dt-bindings/interrupt-controller/arm-gic.h
- interrupt number
- trigger type (rising edge, falling edge, both, etc)
definitions in dt-bindings/interrupt-controller/irq.h
items:
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x19f
maximum: 0x2a5
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x4
maximum: 0x4
interrupt-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- doorbell
- shared0
- shared1
- shared2
- shared3
- shared4
- shared5
- shared6
- shared7
'#mbox-cells':
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x2
maximum: 0x2
nvidia,mbox-ie:
$ref: "/schemas/types.yaml#/definitions/flag"
required:
- compatible
- reg
- interrupts
- interrupt-names
examples:
- |
tegra-hsp@8800000 {
compatible = "nvidia,tegra264-hsp",
"nvidia,tegra234-hsp",
"nvidia,tegra186-hsp";
status = "disabled";
reg = <0x0 0x08800000 0x0 0xd0000>;
interrupts = <GIC_SPI 620 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 622 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 623 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 624 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 625 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 626 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 627 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 628 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 629 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "doorbell, shared0, shared1, shared2",
"shared3",
"shared4, shared5, shared6, shared7";
#mbox-cells = <2>;
nvidia,mbox-ie;
};

View File

@@ -1,142 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/tegra-hsp@818c160000/nvidia,tegra264-hsp.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Hypervisor Hardware Syncronization Primatives (HSP) Driver
maintainers:
- Suresh Mangipudi
description: |
the compatability = nvidia,tegra264-hsp is mentioned in the following drivers
- <TOP>/kernel/kernel-oot/drivers/mailbox/tegra-hsp.c
The following nodes use this compatibility
- /bus@0/tegra-hsp@818c160000
- /bus@0/tegra-hsp@8189200000
select:
properties:
compatible:
minItems: 3
maxItems: 3
items:
enum:
- nvidia,tegra264-hsp
- nvidia,tegra234-hsp
- nvidia,tegra186-hsp
required:
- compatible
properties:
reg:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Registers are given by a tuple of two values:
- register address:
- register block size.
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x81
maximum: 0x81
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x89200000
maximum: 0x8c160000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x90000
maximum: 0xc0000
interrupts:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Interrupts are give by a tuple of 3 values:
- interrupt specifier (GIC_SPI = 0, GIC_PPI = 1)
definitions in dt-bindings/interrupt-controller/arm-gic.h
- interrupt number
- trigger type (rising edge, falling edge, both, etc)
definitions in dt-bindings/interrupt-controller/irq.h
items:
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x190
maximum: 0x1a6
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x4
maximum: 0x4
interrupt-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- shared0
- shared1
- shared2
- shared3
- shared4
nvidia,num-SM:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x8
maximum: 0x8
nvidia,num-SS:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x4
maximum: 0x4
nvidia,num-SI:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x5
maximum: 0x5
nvidia,mbox-ie:
$ref: "/schemas/types.yaml#/definitions/flag"
'#mbox-cells':
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x2
maximum: 0x2
required:
- compatible
- reg
- interrupts
- interrupt-names
examples:
- |
tegra-hsp@818c160000 {
compatible = "nvidia,tegra264-hsp";
reg = <0x81 0x8c160000 0x0 0x00090000>;
interrupts = <0 400 0x04>;
interrupt-names = "shared0";
nvidia,num-SM = <0x8>;
nvidia,num-SS = <0x4>;
nvidia,num-SI = <0x5>;
nvidia,mbox-ie;
status = "disabled";
};

View File

@@ -1,89 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/tsc_sig_gen@c230000/nvidia,tegra264-cdi-tsc.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Cam Fsync Driver
maintainers:
- Mohit Ingale
description: |
the compatability = nvidia,tegra264-cdi-tsc is mentioned in the following drivers
- <TOP>/kernel/nvidia-oot/drivers/media/platform/tegra/cam_fsync/cam_fsync.c
The following nodes use this compatibility
- /tsc_sig_gen@c230000
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra264-cdi-tsc
required:
- compatible
properties:
reg:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Registers are given by a tuple of two values:
- register address:
- register block size.
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0xc230000
maximum: 0xc230000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x18
maximum: 0x18
'#address-cells':
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x1
'#size-cells':
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x1
required:
- compatible
- reg
examples:
- |
tsc_sig_gen@c230000 {
compatible = "nvidia,tegra264-cam-cdi-tsc";
ranges = <0x0 0x0 0xc230000 0x10000>;
reg = <0x0 0xc230000 0x0 0x18>;
#address-cells = <1>;
#size-cells = <1>;
status = "disabled";
};

View File

@@ -1,67 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/tegra-capture-isp/nvidia,tegra-camrtc-capture-isp.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Tegra Capture-ISP driver
maintainers:
- Evgeny Kornev
description: |
the compatability = nvidia,tegra-camrtc-capture-isp is mentioned in the following drivers
- <TOP>/kernel/nvidia-oot/drivers/media/platform/tegra/camera/fusa-capture/capture-isp.c
The following nodes use this compatibility
- /tegra-capture-isp
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra-camrtc-capture-isp
required:
- compatible
properties:
nvidia,isp-devices:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
nvidia,isp-max-channels:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x20
maximum: 0x20
required:
- compatible
examples:
- |
tegra-capture-isp {
compatible = "nvidia,tegra-camrtc-capture-isp";
nvidia,isp-devices = <&isp &isp1>;
nvidia,isp-max-channels = <32>;
status = "disabled";
};

View File

@@ -1,101 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/tegra-capture-vi/nvidia,tegra-camrtc-capture-vi.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Tegra Capture-ISP driver
maintainers:
- Evgeny Kornev
description: |
the compatability = nvidia,tegra-camrtc-capture-vi is mentioned in the following drivers
- <TOP>/kernel/nvidia-oot/drivers/media/platform/tegra/camera/fusa-capture/capture-vi.c
The following nodes use this compatibility
- /tegra-capture-vi
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra-camrtc-capture-vi
required:
- compatible
properties:
nvidia,vi-devices:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
nvidia,vi-mapping-size:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x6
maximum: 0x6
nvidia,vi-mapping:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x5
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x1
nvidia,vi-mapping-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- csi-stream-id
- vi-unit-id
nvidia,vi-max-channels:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x48
maximum: 0x48
required:
- compatible
examples:
- |
tegra-capture-vi {
compatible = "nvidia,tegra-camrtc-capture-vi";
nvidia,vi-devices = <&vi0 &vi1>;
nvidia,vi-mapping-size = <6>;
nvidia,vi-mapping = <0 0>,
<1 0>,
<2 1>,
<3 1>,
<4 0>,
<5 1>;
nvidia,vi-mapping-names = "csi-stream-id, vi-unit-id";
nvidia,vi-max-channels = <72>;
status = "disabled";
};

View File

@@ -1,61 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/sipl_devblk_7/nvidia,cdi-mgr.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Tegra Automotive CDI Manager Driver
maintainers:
- Frank Chen
description: |
the compatability = nvidia,cdi-mgr is mentioned in the following drivers
- <TOP>/kernel/nvidia-oot/drivers/media/platform/tegra/cdi/cdi_mgr.c
The following nodes use this compatibility
- /sipl_devblk_7
- /sipl_devblk_9
- /sipl_devblk_0
- /sipl_devblk_12
- /sipl_devblk_1
- /sipl_devblk_3
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,cdi-mgr
required:
- compatible
properties:
pwdn-gpios:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x5a
required:
- compatible
examples:
- |
sipl_devblk_7 {
compatible = "nvidia,cdi-mgr";
status = "okay";
};

View File

@@ -1,64 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/cim_ver/nvidia,cim_ver.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Tegra Automotive CDI Manager Driver
maintainers:
- Frank Chen
description: |
the compatability = nvidia,cim_ver is mentioned in the following drivers
- <TOP>/kernel/nvidia-oot/drivers/media/platform/tegra/cdi/cdi_mgr.c
- <TOP>/kernel/nvidia-oot/drivers/media/platform/tegra/cdi/cdi_dev.c
The following nodes use this compatibility
- /cim_ver
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,cim_ver
required:
- compatible
properties:
cim_ver:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- cim_ver_a02
cim_frsync_src:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
required:
- compatible
examples:
- |
cim_ver {
compatible = "nvidia,cim_ver";
status = "okay";
};

View File

@@ -1,98 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/isc-mgr.0/nvidia,isc-mgr.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Tegra Autotive ISC Manager Driver
maintainers:
- Frank Chen
description: |
the compatability = nvidia,isc-mgr is mentioned in the following drivers
- <TOP>/kernel/nvidia-oot/drivers/media/platform/tegra/isc/isc_mgr.c
The following nodes use this compatibility
- /isc-mgr.0
- /isc-mgr.1
- /isc-mgr.2
- /isc-mgr.3
- /isc-mgr.4
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,isc-mgr
required:
- compatible
properties:
i2c-bus:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0xc
csi-port:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x6
cphy-map-trio0:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- A_B_C
cphy-map-trio1:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- C_A_B
cphy-map-trio2:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- A_B_C
cphy-map-trio3:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- C_A_B
required:
- compatible
examples:
- |
isc-mgr.0 {
compatible = "nvidia,isc-mgr"; 7095 » » i2c-bus = <0x7>;
csi-port = <0x0>;
cphy-map-trio0 = "A_B_C";
cphy-map-trio1 = "C_A_B";
cphy-map-trio2 = "A_B_C";
cphy-map-trio3 = "C_A_B";
status = "okay";
};

View File

@@ -1,73 +0,0 @@
# SPDX-License-Identifier: GPL-2.0-only
# SPDX-FileCopyrightText: Copyright (c) 2024-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
%YAML 1.2
---
$id: http://devicetree.org/schemas/smmu-hwpm@810aa30000/nvidia,t264-smmu-hwpm.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Tegra264 SMMU-HWPM driver
maintainers:
- Pritesh Raithatha
- Ketan Patil
description: |
the compatability = nvidia,t264-smmu-hwpm is mentioned in the following drivers
- <TOP>/kernel/nvidia-oot/drivers/memory/tegra/smmu-hwpm.c
The following nodes use this compatibility
- /bus@0/smmu-hwpm@810aa30000
- /bus@0/smmu-hwpm@8105a30000
- /bus@0/smmu-hwpm@8106a30000
- /bus@0/smmu-hwpm@8806a30000
- /bus@0/smmu-hwpm@810ba30000
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,t264-smmu-hwpm
required:
- compatible
properties:
reg:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Registers are given by a tuple of two values:
- register address:
- register block size.
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x81
maximum: 0x88
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x5a30000
maximum: 0xba30000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x10000
maximum: 0x10000
required:
- compatible
- reg
examples:
- |
smmu-hwpm@810aa30000 {
compatible = "nvidia,t264-smmu-hwpm";
reg = <0x81 0x0aa30000 0x0 0x10000>;
status = "disabled";
};

View File

@@ -1,85 +0,0 @@
# SPDX-License-Identifier: GPL-2.0-only
# SPDX-FileCopyrightText: Copyright (c) 2024-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
%YAML 1.2
---
$id: http://devicetree.org/schemas/memory-controller-hwpm@8108020000/nvidia,tegra-t264-mc-hwpm.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Tegra264 MC-HWPM driver
maintainers:
- Pritesh Raithatha
- Ketan Patil
description: |
the compatability = nvidia,tegra-t264-mc-hwpm is mentioned in the following drivers
- <TOP>/kernel/nvidia-oot/drivers/memory/tegra/tegra264-mc-hwpm.c
The following nodes use this compatibility
- /bus@0/memory-controller-hwpm@8108020000
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra-t264-mc-hwpm
required:
- compatible
properties:
reg:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Registers are given by a tuple of two values:
- register address:
- register block size.
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x81
maximum: 0x81
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x8020000
maximum: 0x8220000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x20000
maximum: 0x20000
required:
- compatible
- reg
examples:
- |
memory-controller-hwpm@8108020000 {
compatible = "nvidia,tegra-t264-mc-hwpm";
reg = <0x81 0x8020000 0x0 0x20000>,
<0x81 0x8040000 0x0 0x20000>,
<0x81 0x8060000 0x0 0x20000>,
<0x81 0x8080000 0x0 0x20000>,
<0x81 0x80a0000 0x0 0x20000>,
<0x81 0x80c0000 0x0 0x20000>,
<0x81 0x80e0000 0x0 0x20000>,
<0x81 0x8100000 0x0 0x20000>,
<0x81 0x8120000 0x0 0x20000>,
<0x81 0x8140000 0x0 0x20000>,
<0x81 0x8160000 0x0 0x20000>,
<0x81 0x8180000 0x0 0x20000>,
<0x81 0x81a0000 0x0 0x20000>,
<0x81 0x81c0000 0x0 0x20000>,
<0x81 0x81e0000 0x0 0x20000>,
<0x81 0x8200000 0x0 0x20000>,
<0x81 0x8220000 0x0 0x20000>;
status = "disabled";
};

View File

@@ -1,94 +0,0 @@
# SPDX-License-Identifier: GPL-2.0-only
# SPDX-FileCopyrightText: Copyright (c) 2024-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
%YAML 1.2
---
$id: http://devicetree.org/schemas/memqual@f020000/nvidia,tegra-t264-mem-qual.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Mem Qual IOVA Mapping Provider
maintainers:
- Ketan Patil
description: |
the compatability = nvidia,tegra-t264-mem-qual is mentioned in the following drivers
- <TOP>/kernel/nvidia-oot/drivers/memory/tegra/mem-qual.c
The following nodes use this compatibility
- /bus@0/memqual@f020000
- /bus@0/memqual@a808730000
- /bus@0/memqual@818d020000
- /bus@0/memqual@a808750000
- /bus@0/memqual@818d030000
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra-t264-mem-qual
required:
- compatible
properties:
reg:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Registers are given by a tuple of two values:
- register address:
- register block size.
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0xa8
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x8730000
maximum: 0x8d030000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x10000
maximum: 0x10000
iommus:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
iommus are given by a tuple of 2 values:
- Phandle to the device
- Device ID
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x3f00
dma-coherent:
$ref: "/schemas/types.yaml#/definitions/flag"
required:
- compatible
- reg
- iommus
examples:
- |
memqual@f020000 {
compatible = "nvidia,tegra-t264-mem-qual";
status = "disabled";
reg = <0x0 0x0f020000 0x0 0x10000>;
iommus = <&smmu1_mmu TEGRA_SID_MIU0>,
<&smmu1_mmu TEGRA_SID_MIU1>;
dma-coherent;
};

View File

@@ -1,68 +0,0 @@
# SPDX-License-Identifier: GPL-2.0-only
# SPDX-FileCopyrightText: Copyright (c) 2024-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
%YAML 1.2
---
$id: http://devicetree.org/schemas/mc_carveout@8108020000/nvidia,tegra-t26x-mc.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: NVIDIA Tegra Memory Controller driver
maintainers:
- Ashish Mhetre
description: |
the compatability = nvidia,tegra-t26x-mc is mentioned in the following drivers
- <TOP>/kernel/nvidia-oot/drivers/memory/tegra/mc-t26x.c
The following nodes use this compatibility
- /bus@0/mc_carveout@8108020000
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra-t26x-mc
required:
- compatible
properties:
reg:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Registers are given by a tuple of two values:
- register address:
- register block size.
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x81
maximum: 0x81
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x8020000
maximum: 0x8020000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x20000
maximum: 0x20000
required:
- compatible
- reg
examples:
- |
mc_carveout@8108020000 {
compatible = "nvidia,tegra-t26x-mc";
reg = <0x81 0x08020000 0x0 0x20000>;
status = "disabled";
};

View File

@@ -1,144 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/external-memory-controller@8108800000/nvidia,tegra264-emc.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: NVIDIA Tegra External Memory Controller driver
maintainers:
- Sachin Nikam
description: |
the compatability = nvidia,tegra264-emc is mentioned in the following drivers
- <TOP>/kernel/kernel-oot/drivers/memory/tegra/tegra186-emc.c
The following nodes use this compatibility
- /bus@0/memory-controller@8108020000/external-memory-controller@8108800000
select:
properties:
compatible:
minItems: 2
maxItems: 2
items:
enum:
- nvidia,tegra264-emc
- nvidia,tegra234-emc
required:
- compatible
properties:
reg:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Registers are given by a tuple of two values:
- register address:
- register block size.
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x81
maximum: 0x81
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x8800000
maximum: 0x8890000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x20000
maximum: 0x20000
interrupts:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Interrupts are give by a tuple of 3 values:
- interrupt specifier (GIC_SPI = 0, GIC_PPI = 1)
definitions in dt-bindings/interrupt-controller/arm-gic.h
- interrupt number
- trigger type (rising edge, falling edge, both, etc)
definitions in dt-bindings/interrupt-controller/irq.h
items:
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x8d
maximum: 0x8d
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x4
maximum: 0x4
clocks:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Clocks are given by a tuple of 2 values:
- Phandle to the device
- Clock ID
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x122
maximum: 0x122
clock-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- emc
'#interconnect-cells':
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
nvidia,bpmp:
$ref: "/schemas/types.yaml#/definitions/uint32"
numa-node-id:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
required:
- compatible
- reg
- interrupts
- clocks
- clock-names
examples:
- |
external-memory-controller@8108800000 {
compatible = "nvidia,tegra264-emc",
"nvidia,tegra234-emc";
status = "disabled";
reg = <0x81 0x08800000 0x0 0x20000>,
<0x81 0x08890000 0x0 0x20000>;
interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&bpmp TEGRA264_CLK_EMC>;
clock-names = "emc";
#interconnect-cells = <0>;
nvidia,bpmp = <&bpmp>;
numa-node-id = <0x0>;
};

View File

@@ -1,260 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/l2-cache-0/cache.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Cache Storage Driver
maintainers:
- Rich Wiley
description: |
the compatability = cache is mentioned in the following drivers
- <TOP>/kernel/nvidia-oot/drivers/mfd/nvidia-vrs-pseq.c
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8852ce/core/rtw_xmit_shortcut.c
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8852ce/core/rtw_ap.c
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8852ce/core/rtw_fsm_wnm.c
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8852ce/core/rtw_mlme_ext.c
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8852ce/core/rtw_sec_cam.c
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8852ce/core/rtw_xmit.c
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8852ce/core/rtw_sta_mgt.c
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8852ce/core/rtw_wow.c
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8852ce/core/rtw_recv_shortcut.c
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8852ce/core/rtw_wnm.c
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8852ce/core/rtw_recv.c
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8852ce/core/rtw_mlme.c
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8852ce/core/mesh/rtw_mesh.c
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8852ce/include/rtw_xmit_shortcut.h
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8852ce/include/rtw_recv.h
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8852ce/include/drv_types.h
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8852ce/include/ieee80211.h
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8852ce/include/rtw_mlme_ext.h
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8852ce/include/rtw_wnm.h
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8852ce/include/rtw_mlme.h
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8852ce/include/rtw_sec_cam.h
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8852ce/include/rtw_xmit.h
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8852ce/include/sta_info.h
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8852ce/phl/phl_rx_agg.c
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8852ce/phl/pltfm_ops_windows.h
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8852ce/phl/phl_types.h
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8852ce/phl/phl_trx_def.h
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8852ce/phl/phl_tx.c
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8852ce/phl/phl_config.h
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8852ce/phl/pltfm_ops_linux.h
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8852ce/phl/phl_rx.c
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8852ce/phl/pltfm_ops_none.h
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8852ce/phl/pltfm_ops_macos.h
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8852ce/phl/phl_api_drv.c
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8852ce/phl/pltfm_ops_uefi.h
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8852ce/phl/phl_init.c
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8852ce/phl/phl_def.h
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8852ce/phl/hci/phl_trx_def_pcie.h
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8852ce/phl/hci/phl_trx_pcie.c
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8852ce/phl/test/trx_test.h
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8852ce/phl/test/trx_test.c
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8852ce/phl/hal_g6/rtl8852c/hal_trx_8852c.c
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8852ce/phl/hal_g6/rtl8852c/pci/hal_trx_8852ce.c
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8852ce/phl/hal_g6/mac/mac_def.h
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8852ce/phl/hal_g6/mac/mac_exp_def.h
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8852ce/phl/hal_g6/mac/mac_ax/wowlan.c
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8852ce/os_dep/linux/rtw_cfg.c
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8852ce/os_dep/linux/ioctl_cfg80211.c
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8852ce/os_dep/linux/rtw_proc.c
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8852ce/os_dep/linux/rtw_cfgvendor.c
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8852ce/os_dep/linux/rhashtable.h
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8852ce/os_dep/linux/pci_intf.c
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8852ce/platform/platform_mips_98d_pci.c
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8852ce/platform/platform_ops.h
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8852ce/platform/platform_linux_pc_pci.c
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8822ce/core/rtw_wlan_util.c
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8822ce/core/rtw_ap.c
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8822ce/core/rtw_mlme_ext.c
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8822ce/core/rtw_pwrctrl.c
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8822ce/core/rtw_sta_mgt.c
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8822ce/core/rtw_debug.c
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8822ce/core/rtw_wnm.c
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8822ce/core/rtw_recv.c
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8822ce/core/rtw_mlme.c
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8822ce/core/mesh/rtw_mesh.c
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8822ce/include/hal_com_h2c.h
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8822ce/include/rtw_recv.h
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8822ce/include/drv_types.h
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8822ce/include/hal_com.h
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8822ce/include/ieee80211.h
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8822ce/include/rtw_debug.h
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8822ce/include/rtw_mlme_ext.h
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8822ce/include/rtw_wnm.h
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8822ce/include/rtw_mlme.h
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8822ce/include/rtw_pwrctrl.h
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8822ce/include/rtw_xmit.h
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8822ce/os_dep/linux/rtw_proc.c
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8822ce/os_dep/linux/rtw_cfgvendor.c
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8822ce/os_dep/linux/rhashtable.h
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8822ce/os_dep/linux/pci_intf.c
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8822ce/os_dep/linux/os_intfs.c
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8822ce/hal/hal_com.c
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8822ce/hal/hal_halmac.c
- <TOP>/kernel/nvidia-oot/drivers/net/wireless/realtek/rtl8822ce/hal/rtl8822c/pci/rtl8822ce_xmit.c
- <TOP>/kernel/nvidia-oot/drivers/net/ethernet/mft/mst_backward_compatibility/mst_pci/mst_pci_bc.c
- <TOP>/kernel/nvidia-oot/drivers/block/tegra_virt_storage/tegra_hv_vblk.c
- <TOP>/kernel/nvidia-oot/drivers/block/tegra_virt_storage/tegra_hv_scsi.c
- <TOP>/kernel/nvidia-oot/drivers/firmware/tegra/ivc_ext.c
- <TOP>/kernel/nvidia-oot/drivers/media/i2c/nv_imx274.c
- <TOP>/kernel/nvidia-oot/drivers/media/i2c/lt6911uxc.c
- <TOP>/kernel/nvidia-oot/drivers/media/i2c/nv_imx390_archived.c
- <TOP>/kernel/nvidia-oot/drivers/media/i2c/nv_imx318.c
- <TOP>/kernel/nvidia-oot/drivers/media/i2c/nv_imx185.c
- <TOP>/kernel/nvidia-oot/drivers/media/i2c/pca9570.c
- <TOP>/kernel/nvidia-oot/drivers/media/i2c/nv_hawk_owl.c
- <TOP>/kernel/nvidia-oot/drivers/media/i2c/max9295.c
- <TOP>/kernel/nvidia-oot/drivers/media/i2c/nv_ar0234.c
- <TOP>/kernel/nvidia-oot/drivers/media/i2c/nv_imx477.c
- <TOP>/kernel/nvidia-oot/drivers/media/i2c/max929x.c
- <TOP>/kernel/nvidia-oot/drivers/media/i2c/nv_imx390.c
- <TOP>/kernel/nvidia-oot/drivers/media/i2c/max9296.c
- <TOP>/kernel/nvidia-oot/drivers/media/i2c/max96712.c
- <TOP>/kernel/nvidia-oot/drivers/media/i2c/nv_imx219.c
- <TOP>/kernel/nvidia-oot/drivers/media/platform/tegra/camera/fusa-capture/capture-isp.c
- <TOP>/kernel/nvidia-oot/drivers/media/platform/tegra/camera/fusa-capture/capture-common.c
- <TOP>/kernel/nvidia-oot/drivers/i2c/busses/i2c-nvvrs11.c
- <TOP>/kernel/nvidia-oot/drivers/bluetooth/realtek/rtk_misc.c
- <TOP>/kernel/nvidia-oot/drivers/bluetooth/realtek/rtk_bt.c
- <TOP>/kernel/nvidia-oot/drivers/bluetooth/realtek/rtk_coex.c
- <TOP>/kernel/nvidia-oot/drivers/rtc/rtc-max77851.c
- <TOP>/kernel/nvidia-oot/drivers/virt/tegra/tegra_hv.c
- <TOP>/kernel/nvidia-oot/drivers/gpu/drm/tegra/plane.c
- <TOP>/kernel/nvidia-oot/drivers/gpu/drm/tegra/nvjpg.c
- <TOP>/kernel/nvidia-oot/drivers/gpu/drm/tegra/nvdec.c
- <TOP>/kernel/nvidia-oot/drivers/gpu/drm/tegra/nvenc.c
- <TOP>/kernel/nvidia-oot/drivers/gpu/drm/tegra/gem.c
- <TOP>/kernel/nvidia-oot/drivers/gpu/drm/tegra/drm.c
- <TOP>/kernel/nvidia-oot/drivers/gpu/drm/tegra/vic.c
- <TOP>/kernel/nvidia-oot/drivers/gpu/drm/tegra/include/uapi/drm/tegra_drm_next.h
- <TOP>/kernel/nvidia-oot/drivers/gpu/host1x/syncpt.c
- <TOP>/kernel/nvidia-oot/drivers/gpu/host1x/cdma.c
- <TOP>/kernel/nvidia-oot/drivers/gpu/host1x/bus.c
- <TOP>/kernel/nvidia-oot/drivers/gpu/host1x/dev.h
- <TOP>/kernel/nvidia-oot/drivers/gpu/host1x/dev.c
- <TOP>/kernel/nvidia-oot/drivers/gpu/host1x/include/linux/host1x-next.h
- <TOP>/kernel/nvidia-oot/drivers/gpu/host1x/hw/syncpt_hw.c
- <TOP>/kernel/nvidia-oot/drivers/gpu/host1x-emu/syncpt.c
- <TOP>/kernel/nvidia-oot/drivers/gpu/host1x-emu/hw/syncpt_hw.c
- <TOP>/kernel/nvidia-oot/drivers/video/tegra/host/nvdla/dla_os_interface.h
- <TOP>/kernel/nvidia-oot/drivers/video/tegra/host/pva/pva_vpu_exe.c
- <TOP>/kernel/nvidia-oot/drivers/video/tegra/host/pva/fw_include/pva-task.h
- <TOP>/kernel/nvidia-oot/drivers/video/tegra/host/pva/fw_include/pva-ucode-header.h
- <TOP>/kernel/nvidia-oot/drivers/video/tegra/nvmap/nvmap_fault.c
- <TOP>/kernel/nvidia-oot/drivers/video/tegra/nvmap/nvmap_alloc.h
- <TOP>/kernel/nvidia-oot/drivers/video/tegra/nvmap/nvmap_alloc.c
- <TOP>/kernel/nvidia-oot/drivers/video/tegra/nvmap/nvmap_dev_int.h
- <TOP>/kernel/nvidia-oot/drivers/video/tegra/nvmap/nvmap_cache.c
- <TOP>/kernel/nvidia-oot/drivers/video/tegra/nvmap/nvmap_ioctl.c
- <TOP>/kernel/nvidia-oot/drivers/video/tegra/nvmap/nvmap_heap.c
- <TOP>/kernel/nvidia-oot/drivers/video/tegra/nvmap/nvmap_handle.h
- <TOP>/kernel/nvidia-oot/drivers/video/tegra/nvmap/nvmap_pp.c
- <TOP>/kernel/nvidia-oot/drivers/video/tegra/nvmap/nvmap_dmabuf.c
- <TOP>/kernel/nvidia-oot/drivers/video/tegra/nvmap/nvmap_alloc_int.h
- <TOP>/kernel/nvidia-oot/drivers/video/tegra/nvmap/nvmap_dev.c
- <TOP>/kernel/nvidia-oot/drivers/video/tegra/tsec/tsec_boot.c
- <TOP>/kernel/nvidia-oot/drivers/video/tegra/tsec/tsec_linux.h
- <TOP>/kernel/nvidia-oot/drivers/video/tegra/tsec/tsec_cmds.h
- <TOP>/kernel/nvidia-oot/drivers/video/tegra/tsec/tsec_comms/tsec_comms.c
- <TOP>/kernel/nvidia-oot/drivers/video/tegra/virt/tegra_gr_comm.c
- <TOP>/kernel/nvidia-oot/drivers/platform/tegra/dce/dce-debug-perf.c
- <TOP>/kernel/nvidia-oot/drivers/platform/tegra/dce/include/interface/dce-admin-perf-stats.h
- <TOP>/kernel/nvidia-oot/drivers/platform/tegra/dce/include/interface/dce-interface.h
- <TOP>/kernel/nvidia-oot/drivers/platform/tegra/uncore_pmu/tegra23x_perf_uncore.c
- <TOP>/kernel/nvidia-oot/drivers/platform/tegra/aon/tegra-ivc.c
- <TOP>/kernel/nvidia-oot/drivers/platform/tegra/aon/tegra-aon-mail.c
- <TOP>/kernel/nvidia-oot/drivers/platform/tegra/mce/mce.c
- <TOP>/kernel/nvidia-oot/drivers/platform/tegra/mce/tegra23x-mce.c
- <TOP>/kernel/nvidia-oot/drivers/platform/tegra/rtcpu/tegra-rtcpu-trace.c
- <TOP>/kernel/nvidia-oot/drivers/platform/tegra/rtcpu/camchar.c
- <TOP>/kernel/nvidia-oot/drivers/platform/tegra/nvadsp/dev-t18x.c
- <TOP>/kernel/nvidia-oot/drivers/misc/nvscic2c-pcie/stream-extensions.c
- <TOP>/kernel/nvidia-oot/drivers/misc/nvscic2c-pcie/iova-alloc.h
- <TOP>/kernel/nvidia-oot/drivers/misc/nvscic2c-pcie/pci-client.c
- <TOP>/kernel/nvidia-oot/drivers/misc/nvscic2c-pcie/iova-alloc.c
- <TOP>/kernel/nvidia-oot/drivers/misc/mods/mods_clock.c
- <TOP>/kernel/nvidia-oot/drivers/misc/mods/mods_krnl.c
- <TOP>/kernel/nvidia-oot/drivers/misc/mods/mods_internal.h
- <TOP>/kernel/nvidia-oot/drivers/misc/mods/mods_mem.c
- <TOP>/kernel/nvidia-oot/drivers/misc/mods/mods_pci.c
The following nodes use this compatibility
- /cpus/l2-cache-0
- /cpus/l2-cache-1
- /cpus/l2-cache-2
- /cpus/l2-cache-3
- /cpus/l2-cache-4
- /cpus/l2-cache-5
- /cpus/l2-cache-6
- /cpus/l2-cache-7
- /cpus/l2-cache-8
- /cpus/l2-cache-9
- /cpus/l2-cache-10
- /cpus/l2-cache-11
- /cpus/l2-cache-12
- /cpus/l2-cache-13
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- cache
required:
- compatible
properties:
cache-level:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x2
maximum: 0x2
cache-size:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x100000
maximum: 0x100000
cache-line-size:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x40
maximum: 0x40
cache-sets:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x800
maximum: 0x800
cache-unified:
$ref: "/schemas/types.yaml#/definitions/flag"
required:
- compatible
examples:
- |
l2-cache-0 {
compatible = "cache";
cache-level = <2>;
cache-size = <1048576>;
cache-line-size = <64>;
cache-sets = <2048>;
cache-unified;
};

View File

@@ -1,101 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/vrs@3c/nvidia,vrs-pseq.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Voltage Regulator Spec Power Sequencer Multi Function Device Core Driver
maintainers:
- Subhi Garg
description: |
the compatability = nvidia,vrs-pseq is mentioned in the following drivers
- <TOP>/kernel/nvidia-oot/drivers/mfd/nvidia-vrs-pseq.c
The following nodes use this compatibility
- /bpmp/i2c/vrs@3c
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,vrs-pseq
required:
- compatible
properties:
reg:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Registers are given by a tuple of two values:
- register address:
- register block size.
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x3c
maximum: 0x3c
interrupt-parent:
$ref: "/schemas/types.yaml#/definitions/uint32"
interrupts:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Interrupts are give by a tuple of 3 values:
- interrupt specifier (GIC_SPI = 0, GIC_PPI = 1)
definitions in dt-bindings/interrupt-controller/arm-gic.h
- interrupt number
- trigger type (rising edge, falling edge, both, etc)
definitions in dt-bindings/interrupt-controller/irq.h
items:
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x8
maximum: 0x8
interrupt-controller:
$ref: "/schemas/types.yaml#/definitions/flag"
'#interrupt-cells':
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x2
maximum: 0x2
required:
- compatible
- reg
- interrupts
examples:
- |
vrs@3c {
compatible = "nvidia,vrs-pseq";
reg = <0x3c>;
interrupt-parent = <&pmc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
interrupt-controller;
#interrupt-cells = <2>;
status = "disabled";
};

View File

@@ -1,71 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/pmu/arm,armv8-pmuv3.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Tegra Power Management Unit Module
maintainers:
- Besar Wicaksono
description: |
The following nodes use this compatibility
- /pmu
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- arm,armv8-pmuv3
required:
- compatible
properties:
interrupts:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Interrupts are give by a tuple of 3 values:
- interrupt specifier (GIC_SPI = 0, GIC_PPI = 1)
definitions in dt-bindings/interrupt-controller/arm-gic.h
- interrupt number
- trigger type (rising edge, falling edge, both, etc)
definitions in dt-bindings/interrupt-controller/irq.h
items:
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x1
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x7
maximum: 0x7
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x8
maximum: 0x8
required:
- compatible
- interrupts
examples:
- |
pmu {
compatible = "arm,armv8-pmuv3";
status = "disabled";
interrupts = <GIC_PPI 7 8>;
};

View File

@@ -1,101 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/funnel_major@10080000/arm,coresight-dynamic-funnel.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Coresight Dynamic Funnel Driver
maintainers:
- Rich Wiley
description: |
The following nodes use this compatibility
- /funnel_major@10080000
select:
properties:
compatible:
minItems: 2
maxItems: 2
items:
enum:
- arm,coresight-dynamic-funnel
- arm,primecell
required:
- compatible
properties:
reg:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Registers are given by a tuple of two values:
- register address:
- register block size.
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x10080000
maximum: 0x10080000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1000
maximum: 0x1000
clocks:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Clocks are given by a tuple of 2 values:
- Phandle to the device
- Clock ID
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0xcb
maximum: 0xcb
clock-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- apb_pclk
required:
- compatible
- reg
- clocks
- clock-names
examples:
- |
funnel_major@10080000 {
compatible = "arm,coresight-dynamic-funnel, arm,primecell";
status = "disabled";
reg = <0x0 0x10080000 0x0 0x1000>;
clocks = <&bpmp TEGRA264_CLK_HCSITE>;
clock-names = "apb_pclk";
};

View File

@@ -1,100 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/replicator_soc@10060000/arm,coresight-dynamic-replicator.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Coresight Dynamic Replicator Driver
maintainers:
- Rich Wiley
description: |
The following nodes use this compatibility
- /replicator_soc@10060000
select:
properties:
compatible:
minItems: 2
maxItems: 2
items:
enum:
- arm,coresight-dynamic-replicator
- arm,primecell
required:
- compatible
properties:
reg:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Registers are given by a tuple of two values:
- register address:
- register block size.
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x10060000
maximum: 0x10060000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1000
maximum: 0x1000
clocks:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Clocks are given by a tuple of 2 values:
- Phandle to the device
- Clock ID
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0xcb
maximum: 0xcb
clock-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- apb_pclk
required:
- compatible
- reg
- clocks
- clock-names
examples:
- |
replicator_soc@10060000 {
compatible = "arm,coresight-dynamic-replicator, arm,primecell";
status = "disabled";
reg = <0x0 0x10060000 0x0 0x1000>;
clocks = <&bpmp TEGRA264_CLK_HCSITE>;
clock-names = "apb_pclk";
};

View File

@@ -1,110 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/stm@10070000/arm,coresight-stm.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Coresight STM Driver
maintainers:
- Rich Wiley
description: |
The following nodes use this compatibility
- /stm@10070000
select:
properties:
compatible:
minItems: 2
maxItems: 2
items:
enum:
- arm,coresight-stm
- arm,primecell
required:
- compatible
properties:
reg:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Registers are given by a tuple of two values:
- register address:
- register block size.
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x10070000
maximum: 0x11000000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1000
maximum: 0x1000000
reg-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- stm-base
- stm-stimulus-base
clocks:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Clocks are given by a tuple of 2 values:
- Phandle to the device
- Clock ID
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0xca
maximum: 0xca
clock-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- apb_pclk
required:
- compatible
- reg
- clocks
- clock-names
examples:
- |
stm@10070000 {
compatible = "arm,coresight-stm, arm,primecell";
status = "disabled";
reg = <0x0 0x10070000 0x0 0x1000>,
<0x0 0x11000000 0x0 0x1000000>;
reg-names = "stm-base, stm-stimulus-base";
clocks = <&bpmp TEGRA264_CLK_CSITE>;
clock-names = "apb_pclk";
};

View File

@@ -1,121 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/etf_soc@10040000/arm,coresight-tmc.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Coresight TMC Driver
maintainers:
- Rich Wiley
description: |
The following nodes use this compatibility
- /etf_soc@10040000
- /etr_soc@10050000
select:
properties:
compatible:
minItems: 2
maxItems: 2
items:
enum:
- arm,coresight-tmc
- arm,primecell
required:
- compatible
properties:
reg:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Registers are given by a tuple of two values:
- register address:
- register block size.
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x10040000
maximum: 0x10050000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1000
maximum: 0x1000
coresight-default-sink:
$ref: "/schemas/types.yaml#/definitions/flag"
clocks:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Clocks are given by a tuple of 2 values:
- Phandle to the device
- Clock ID
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0xcb
maximum: 0xcb
clock-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- apb_pclk
iommus:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
iommus are given by a tuple of 2 values:
- Phandle to the device
- Device ID
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x300
maximum: 0x300
required:
- compatible
- reg
- clocks
- clock-names
- iommus
examples:
- |
etf_soc@10040000 {
compatible = "arm,coresight-tmc, arm,primecell";
status = "disabled";
reg = <0x0 0x10040000 0x0 0x1000>;
coresight-default-sink;
clocks = <&bpmp TEGRA264_CLK_HCSITE>;
clock-names = "apb_pclk";
};

View File

@@ -1,187 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/mods_pcie0/nvidia,mods_smmu.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: MOD's SMMU Driver
maintainers:
- Kiran Kasamsetty
description: |
the compatability = nvidia,mods_smmu is mentioned in the following drivers
- <TOP>/kernel/nvidia-oot/drivers/misc/mods/mods_smmu_drv.c
The following nodes use this compatibility
- /mods_pcie0
- /mods_pcie1
- /mods_pcie2
- /mods_pcie3
- /mods_pcie4
- /mods_pcie5
- /mods_isp0
- /mods_isp2
- /mods_i2c0
- /mods_i2c1
- /mods_i2c2
- /mods_i2c3
- /mods_i2c7
- /mods_i2c9
- /mods_i2c11
- /mods_i2c12
- /mods_i2c14
- /mods_i2c15
- /mods_i2c16
- /mods_spi1
- /mods_spi2
- /mods_spi3
- /mods_spi4
- /mods_spi5
- /mods_uart4
- /mods_uart5
- /mods_uart9
- /mods_uart10
- /mods_vi0
- /mods_vi1
- /mods_sdmmc1
- /mods_ufs
- /mods_xhci
- /mods_xusb
- /mods_dma
- /mods_se
- /mods_seu1
- /mods_seu2
- /mods_seu3
- /mods_qspi0_dma
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,mods_smmu
required:
- compatible
properties:
iommu-map:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x10000
maximum: 0x50000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x10000
maximum: 0x10000
dma-coherent:
$ref: "/schemas/types.yaml#/definitions/flag"
dev-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- mods_pcie0
- mods_pcie1
- mods_pcie2
- mods_pcie3
- mods_pcie4
- mods_pcie5
- mods_isp0
- mods_isp2
- mods_i2c0
- mods_i2c1
- mods_i2c2
- mods_i2c3
- mods_i2c7
- mods_i2c9
- mods_i2c11
- mods_i2c12
- mods_i2c14
- mods_i2c15
- mods_i2c16
- mods_spi1
- mods_spi2
- mods_spi3
- mods_spi4
- mods_spi5
- mods_uart4
- mods_uart5
- mods_uart9
- mods_uart10
- mods_vi0
- mods_vi1
- mods_sdmmc1
- mods_ufs
- mods_xhci
- mods_xusb
- mods_dma
- mods_se
- mods_seu1
- mods_seu2
- mods_seu3
- mods_qspi0_dma
nvidia,bpmp:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x5
iommus:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
iommus are given by a tuple of 2 values:
- Phandle to the device
- Device ID
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x800
maximum: 0x50000
required:
- compatible
- iommus
examples:
- |
mods_pcie0 {
compatible = "nvidia,mods_smmu";
iommu-map = <0x0 &smmu2_mmu 0x10000 0x10000>;
dma-coherent;
dev-names = "mods_pcie0";
status = "disabled";
nvidia,bpmp = <&bpmp 0x0>;
};

View File

@@ -1,133 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/mods_tegra_dma/nvidia,mods_tegra_dma.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: MOD's DMA Driver
maintainers:
- Kiran Kasamsetty
description: |
the compatability = nvidia,mods_tegra_dma is mentioned in the following drivers
- <TOP>/kernel/nvidia-oot/drivers/misc/mods/mods_dma.c
The following nodes use this compatibility
- /mods_tegra_dma
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,mods_tegra_dma
required:
- compatible
properties:
dmas:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x14
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x1f
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x801
maximum: 0x81f
dma-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- i2c0_tx
- i2c1_tx
- i2c2_tx
- i2c3_tx
- i2c7_tx
- i2c9_tx
- i2c11_tx
- i2c12_tx
- i2c14_tx
- i2c15_tx
- i2c16_tx
- spi1_rx
- spi1_tx
- spi2_rx
- spi2_tx
- spi3_rx
- spi3_tx
- spi4_rx
- spi4_tx
- spi5_rx
- spi5_tx
- uart4_rx
- uart4_tx
- uart5_rx
- uart5_tx
- uart9_rx
- uart9_tx
- uart10_rx
- uart10_tx
required:
- compatible
examples:
- |
mods_tegra_dma {
compatible = "nvidia,mods_tegra_dma";
dmas = <&gpcdma 0 31 TEGRA264_GPCDMA_SID_I2C0>,
< &gpcdma 7 7 TEGRA264_GPCDMA_SID_I2C1>,
< &gpcdma 3 3 TEGRA264_GPCDMA_SID_I2C2>,
< &gpcdma 4 4 TEGRA264_GPCDMA_SID_I2C3>,
< &gpcdma 6 6 TEGRA264_GPCDMA_SID_I2C7>,
< &gpcdma 2 2 TEGRA264_GPCDMA_SID_I2C9>,
< &gpcdma 1 1 TEGRA264_GPCDMA_SID_I2C11>,
< &gpcdma 5 5 TEGRA264_GPCDMA_SID_I2C12>,
< &gpcdma 18 28 TEGRA264_GPCDMA_SID_I2C14>,
< &gpcdma 19 29 TEGRA264_GPCDMA_SID_I2C15>,
< &gpcdma 20 30 TEGRA264_GPCDMA_SID_I2C16>,
< &gpcdma 9 9 TEGRA264_GPCDMA_SID_SPI1>,
< &gpcdma 9 19 TEGRA264_GPCDMA_SID_SPI1>,
< &gpcdma 8 8 TEGRA264_GPCDMA_SID_SPI2>,
< &gpcdma 8 18 TEGRA264_GPCDMA_SID_SPI2>,
< &gpcdma 14 14 TEGRA264_GPCDMA_SID_SPI3>,
< &gpcdma 14 24 TEGRA264_GPCDMA_SID_SPI3>,
< &gpcdma 15 15 TEGRA264_GPCDMA_SID_SPI4>,
< &gpcdma 15 25 TEGRA264_GPCDMA_SID_SPI4>,
< &gpcdma 16 16 TEGRA264_GPCDMA_SID_SPI5>,
< &gpcdma 16 26 TEGRA264_GPCDMA_SID_SPI5>,
< &gpcdma 13 23 TEGRA264_GPCDMA_SID_UART4>,
< &gpcdma 13 13 TEGRA264_GPCDMA_SID_UART4>,
< &gpcdma 11 11 TEGRA264_GPCDMA_SID_UART5>,
< &gpcdma 11 21 TEGRA264_GPCDMA_SID_UART5>,
< &gpcdma 10 10 TEGRA264_GPCDMA_SID_UART9>,
< &gpcdma 10 20 TEGRA264_GPCDMA_SID_UART9>,
< &gpcdma 12 12 TEGRA264_GPCDMA_SID_UART10>,
< &gpcdma 12 22 TEGRA264_GPCDMA_SID_UART10>;
dma-names = "i2c0_tx, i2c1_tx, i2c2_tx, i2c3_tx, i2c7_tx, i2c9_tx, i2c11_tx, i2c12_tx, i2c14_tx, i2c15_tx, i2c16_tx, spi1_rx, spi1_tx, spi2_rx, spi2_tx, spi3_rx, spi3_tx, spi4_rx, spi4_tx, spi5_rx, spi5_tx, uart4_rx, uart4_tx, uart5_rx, uart5_tx, uart9_rx, uart9_tx, uart10_rx, uart10_tx";
status = "disabled";
};

View File

@@ -1,51 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/mods_test/nvidia,mods_test.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: MOD's Test Driver
maintainers:
- Kiran Kasamsetty
description: |
the compatability = nvidia,mods_test is mentioned in the following drivers
- <TOP>/kernel/nvidia-oot/drivers/misc/mods/mods_dmabuf.c
The following nodes use this compatibility
- /mods_test
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,mods_test
required:
- compatible
properties:
required:
- compatible
examples:
- |
mods_test {
compatible = "nvidia,mods_test";
status = "disabled";
};

View File

@@ -1,72 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/bus@0/simple-bus.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Mods Simple Bus Driver
maintainers:
- Chris Dragan
- Kiran Kasamsetty
description: |
the compatability = simple-bus is mentioned in the following drivers
- <TOP>/kernel/nvidia-oot/drivers/misc/mods/mods_clock.c
The following nodes use this compatibility
- /bus@0
- /mods-simple-bus
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- simple-bus
required:
- compatible
properties:
'#address-cells':
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x2
'#size-cells':
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x2
device_type:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- mods-simple-bus
required:
- compatible
examples:
- |
bus@0 {
compatible = "simple-bus";
#address-cells = <2>;
#size-cells = <2>;
ranges = <0x0 0x0 0x0 0x0 0x100 0x0>;
};

View File

@@ -1,67 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/tegra-isp-map/nvidia,csi-isp-map-config.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Nvidia Tegra CSI-ISP Map Config
maintainers:
- Chinniah Poosapadi
description: |
The following nodes use this compatibility
- /tegra-isp-map
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,csi-isp-map-config
required:
- compatible
properties:
nvidia,isp-mapping:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x5
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x1
required:
- compatible
examples:
- |
tegra-isp-map {
compatible = "nvidia,csi-isp-map-config";
nvidia,isp-mapping = <0 0>,
<1 0>,
<2 1>,
<3 1>,
<4 0>,
<5 1>;
status = "disabled";
};

View File

@@ -1,123 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/bootmgr/nvidia,dulink-connection.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Nvidia Drive Update Connection Driver
maintainers:
- Johnny Fan
description: |
The following nodes use this compatibility
- /chosen/driveupdate/bootmgr
- /chosen/driveupdate/bhc
- /chosen/driveupdate/decomp
- /chosen/driveupdate/du-client
- /chosen/driveupdate/content
- /chosen/driveupdate/master
- /chosen/driveupdate/tii
- /chosen/driveupdate/ctx_store
- /chosen/driveupdate/auth
- /chosen/driveupdate/dushell
- /chosen/driveupdate/plugin
- /chosen/driveupdate/ddu
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,dulink-connection
required:
- compatible
properties:
remote-path:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- /bootmgr
- /bhc
- /decomp
- /du-client
- /content
- /master
- /tii
- /ctx_store
- /auth
- /dushell
- /plugin
- /ddu
type:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- DOWNLINK
tr-type:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- NVSCI
- TCP
tr-params:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- nvdu_gos_ipc_a_0
- nvdu_gos_ipc_a_1
- nvdu_gos_ipc_b_0
- nvdu_gos_ipc_b_1
- nvdu_gos_ipc_c_0
- nvdu_gos_ipc_c_1
- nvdu_gos_ipc_d_0
- nvdu_gos_ipc_d_1
- nvdu_gos_ipc_e_0
- nvdu_gos_ipc_e_1
- nvdu_gos_ipc_l_0
- nvdu_gos_ipc_l_1
- nvdu_gos_ipc_j_0
- nvdu_gos_ipc_j_1
- nvdu_gos_ipc_k_0
- nvdu_gos_ipc_k_1
- nvdu_gos_ipc_m_0
- nvdu_gos_ipc_m_1
- nvdu_gos_ipc_f_0
- nvdu_gos_ipc_f_1
- nvdu_gos_ipc_g_0
- nvdu_gos_ipc_g_1
- TCP_SERVER
- 0.0.0.0
- 4455
- 0
required:
- compatible
examples:
- |
bootmgr {
};

View File

File diff suppressed because it is too large Load Diff

View File

@@ -1,65 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/smmu_test/nvidia,smmu_test.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Nvidia SMMU Test
maintainers:
- Sachin Nikam
description: |
The following nodes use this compatibility
- /smmu_test
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,smmu_test
required:
- compatible
properties:
iommus:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
iommus are given by a tuple of 2 values:
- Phandle to the device
- Device ID
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
required:
- compatible
- iommus
examples:
- |
smmu_test {
compatible = "nvidia,smmu_test";
iommus = <&smmu4_mmu 0x00000000>;
status = "disabled";
};

View File

@@ -1,226 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/tegra_soc_hwpm@1604000/nvidia,t264-soc-hwpm.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Nvidia Tegra SOC-HWPM
maintainers:
- Besar Wicaksono
- Vasuki Shankar
description: |
The following nodes use this compatibility
- /bus@0/tegra_soc_hwpm@1604000
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,t264-soc-hwpm
required:
- compatible
properties:
dma-coherent:
$ref: "/schemas/types.yaml#/definitions/flag"
reg:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Registers are given by a tuple of two values:
- register address:
- register block size.
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0xa8
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1600000
maximum: 0x8160f000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1000
maximum: 0x2000
clocks:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Clocks are given by a tuple of 2 values:
- Phandle to the device
- Clock ID
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0xc
maximum: 0xcd
clock-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- la
- parent
resets:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Resets are given by a tuple of 2 values:
- Phandle to the device
- Reset ID
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0xa
maximum: 0x14
reset-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- la
- hwpm
iommus:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
iommus are given by a tuple of 2 values:
- Phandle to the device
- Device ID
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0xe00
maximum: 0xe00
required:
- compatible
- reg
- clocks
- clock-names
- resets
- reset-names
- iommus
examples:
- |
tegra_soc_hwpm@1604000 {
compatible = "nvidia,t264-soc-hwpm";
dma-coherent;
reg = <0x00 0x01600000 0x0 0x1000>,
<0x00 0x01604000 0x0 0x1000>,
<0x00 0x14100000 0x0 0x1000>,
<0x00 0x14110000 0x0 0x1000>,
<0x00 0x14120000 0x0 0x1000>,
<0x00 0x14130000 0x0 0x1000>,
<0x00 0x14140000 0x0 0x1000>,
<0x00 0x14150000 0x0 0x1000>,
<0x00 0x14160000 0x0 0x1000>,
<0x00 0x14170000 0x0 0x1000>,
<0x00 0x14180000 0x0 0x1000>,
<0x00 0x14190000 0x0 0x1000>,
<0x00 0x141a0000 0x0 0x1000>,
<0x00 0x141b0000 0x0 0x1000>,
<0x00 0x141c0000 0x0 0x1000>,
<0x00 0x141d0000 0x0 0x1000>,
<0x81 0x01600000 0x0 0x1000>,
<0x81 0x01601000 0x0 0x1000>,
<0x81 0x01602000 0x0 0x1000>,
<0x81 0x01603000 0x0 0x1000>,
<0x81 0x01604000 0x0 0x1000>,
<0x81 0x01605000 0x0 0x1000>,
<0x81 0x01606000 0x0 0x1000>,
<0x81 0x01607000 0x0 0x1000>,
<0x81 0x01608000 0x0 0x1000>,
<0x81 0x01609000 0x0 0x1000>,
<0x81 0x0160a000 0x0 0x1000>,
<0x81 0x0160b000 0x0 0x1000>,
<0x81 0x0160c000 0x0 0x1000>,
<0x81 0x0160d000 0x0 0x1000>,
<0x81 0x0160e000 0x0 0x1000>,
<0x81 0x0160f000 0x0 0x1000>,
<0x81 0x01621000 0x0 0x1000>,
<0x81 0x01622000 0x0 0x1000>,
<0x81 0x01623000 0x0 0x1000>,
<0x81 0x01624000 0x0 0x1000>,
<0x81 0x01625000 0x0 0x1000>,
<0x81 0x01626000 0x0 0x1000>,
<0x81 0x01627000 0x0 0x1000>,
<0x81 0x01628000 0x0 0x1000>,
<0x81 0x01629000 0x0 0x1000>,
<0x81 0x0162a000 0x0 0x1000>,
<0x81 0x0162b000 0x0 0x1000>,
<0x81 0x0162c000 0x0 0x1000>,
<0x81 0x0162d000 0x0 0x1000>,
<0x81 0x0162e000 0x0 0x1000>,
<0x81 0x0162f000 0x0 0x1000>,
<0x81 0x01630000 0x0 0x1000>,
<0x81 0x01631000 0x0 0x1000>,
<0x81 0x01632000 0x0 0x1000>,
<0x81 0x0163e000 0x0 0x1000>,
<0x81 0x0163f000 0x0 0x1000>,
<0x81 0x01642000 0x0 0x1000>,
<0x81 0x01643000 0x0 0x1000>,
<0x81 0x01644000 0x0 0x1000>,
<0x81 0x01645000 0x0 0x1000>,
<0x81 0x01646000 0x0 0x1000>,
<0x81 0x01647000 0x0 0x1000>,
<0x81 0x0164b000 0x0 0x1000>,
<0x81 0x0164f000 0x0 0x1000>,
<0x81 0x01653000 0x0 0x1000>,
<0x81 0x81604000 0x0 0x1000>,
<0x81 0x81605000 0x0 0x1000>,
<0x81 0x81606000 0x0 0x1000>,
<0x81 0x81607000 0x0 0x1000>,
<0x81 0x8160b000 0x0 0x1000>,
<0x81 0x8160c000 0x0 0x1000>,
<0x81 0x8160e000 0x0 0x1000>,
<0x81 0x8160f000 0x0 0x1000>,
<0x88 0x01601000 0x0 0x1000>,
<0x88 0x01602000 0x0 0x1000>,
<0xa8 0x01604000 0x0 0x1000>,
<0xa8 0x01628000 0x0 0x1000>,
<0xa8 0x01629000 0x0 0x1000>,
<0x00 0x01610000 0x0 0x2000>,
<0x00 0x01612000 0x0 0x1000>;
clocks = <&bpmp TEGRA264_CLK_LA>,
<&bpmp TEGRA264_CLK_SPLL_OUT7>;
clock-names = "la, parent";
resets = <&bpmp TEGRA264_RESET_LA>,
<&bpmp TEGRA264_RESET_HWPM>;
reset-names = "la, hwpm";
iommus = <&smmu1_mmu TEGRA_SID_PMA0>;
status = "disabled";
};

View File

@@ -1,76 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/SS_ErrorReportingConfig/nvidia,tegra-SafetyServiceConfig.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Nvidia Safety Service Configuration
maintainers:
- Rahul Bedarkar
description: |
The following nodes use this compatibility
- /SS_ErrorReportingConfig
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra-SafetyServiceConfig
required:
- compatible
properties:
Sw_Errors_count:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x1
Sw_Errors:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x30
maximum: 0x8120
TSC_MON_Enable:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x1
TSC_MON_Drift_Threshold:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x64
maximum: 0x64
TSC_MON_Debounce_Delay:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1388
maximum: 0x1388
TSC_MON_Sync_Timeout:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x2710
maximum: 0x2710
required:
- compatible
examples:
- |
SS_ErrorReportingConfig {
};

View File

@@ -1,61 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/bpmp-dummy/nvidia,tegra-bpmp-dummy.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Nvidia BPMP Dummy Node
maintainers:
- Venkat Reddy Talla
description: |
The following nodes use this compatibility
- /bpmp-dummy
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra-bpmp-dummy
required:
- compatible
properties:
'#clock-cells':
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x1
'#reset-cells':
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x1
'#power-domain-cells':
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x1
required:
- compatible
examples:
- |
bpmp-dummy {
};

View File

@@ -1,51 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/FsiComAppChConfCcplexApp/nvidia,tegra-fsicom-CcplexApp.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: FSI Communication Application Configuration
maintainers:
- Rahul Bedarkar
description: |
The following nodes use this compatibility
- /FsiComAppChConfCcplexApp
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra-fsicom-CcplexApp
required:
- compatible
properties:
channelid_list:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x2
required:
- compatible
examples:
- |
FsiComAppChConfCcplexApp {
};

View File

@@ -1,54 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/FsiComClientChConfigEpd/nvidia,tegra-fsicom-EPD.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: FSU Communication Client Configuration
maintainers:
- Rahul Bedarkar
description: |
The following nodes use this compatibility
- /FsiComClientChConfigEpd
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra-fsicom-EPD
required:
- compatible
properties:
channelid_list:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
required:
- compatible
examples:
- |
FsiComClientChConfigEpd {
compatible = "nvidia,tegra-fsicom-EPD";
status = "disabled";
channelid_list = <0>;
};

View File

@@ -1,72 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/FsiComIvc/nvidia,tegra-fsicom-channels.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: FSI Communication IVC Node
maintainers:
- Rahul Bedarkar
description: |
The following nodes use this compatibility
- /FsiComIvc
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra-fsicom-channels
required:
- compatible
properties:
nChannel:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x9
maximum: 0x9
nvsciipc_endpoint:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- nvfsicom_EPD
- nvfsicom_CcplexApp
- nvfsicom_CcplexApp_state_change
- nvfsicom_app1
- nvfsicom_app2
- nvfsicom_appGR
required:
- compatible
examples:
- |
FsiComIvc {
compatible = "nvidia,tegra-fsicom-channels";
status = "disabled";
nChannel = <9>;
nvsciipc_endpoint = "nvfsicom_EPD",
"nvfsicom_CcplexApp",
"nvfsicom_CcplexApp_state_change",
"nvfsicom_app1",
"nvfsicom_app2",
"nvfsicom_appGR";
};

View File

@@ -1,53 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/FsiComAppChConfApp1/nvidia,tegra-fsicom-sampleApp1.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: FSI Application IVC Channel Configuration
maintainers:
- Rahul Bedarkar
description: |
The following nodes use this compatibility
- /FsiComAppChConfApp1
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra-fsicom-sampleApp1
required:
- compatible
properties:
channelid_list:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x3
maximum: 0x3
required:
- compatible
examples:
- |
FsiComAppChConfApp1 {
compatible = "nvidia,tegra-fsicom-sampleApp1";
status = "okay";
};

View File

@@ -1,51 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/FsiComQnxAppChConfAppGR/nvidia,tegra-fsicom-sampleAppGR.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: QNX FSI Communication Application Configuration
maintainers:
- Rahul Bedarkar
description: |
The following nodes use this compatibility
- /FsiComQnxAppChConfAppGR
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra-fsicom-sampleAppGR
required:
- compatible
properties:
channelid_list:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x5
maximum: 0x5
required:
- compatible
examples:
- |
FsiComQnxAppChConfAppGR {
};

View File

@@ -1,82 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/hsp-mbox/nvidia,tegra186-hsp-mailbox.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Hypervisor Hardware Syncronization Primatives (HSP) Driver
maintainers:
- Suresh Mangipudi
description: |
The following nodes use this compatibility
- /bus@0/host1x@8181200000/pva0@818c000000/hsp/hsp-mbox
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra186-hsp-mailbox
required:
- compatible
properties:
nvidia,hsp-shared-mailbox:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x7
nvidia,hsp-shared-mailbox-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- command
- addr
- len
- args
- sidechannel-wr
- aisr
- sidechannel-rd
- isr
required:
- compatible
examples:
- |
hsp-mbox {
compatible = "nvidia,tegra186-hsp-mailbox";
nvidia,hsp-shared-mailbox = <&hsp_pva0 0x0>,
<&hsp_pva0 0x1>,
<&hsp_pva0 0x2>,
<&hsp_pva0 0x3>,
<&hsp_pva0 0x4>,
<&hsp_pva0 0x5>,
<&hsp_pva0 0x6>,
<&hsp_pva0 0x7>;
nvidia,hsp-shared-mailbox-names = "command, addr, len, args, sidechannel-wr, aisr, sidechannel-rd, isr";
status = "disabled";
};

View File

@@ -1,47 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/hsp/nvidia,tegra194-pva0-hsp.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Progrmable Vision Accelerator (PVA) Hypervisor Hardware Syncronization Primatives (HSP)
maintainers:
- Omar Nemri
description: |
The following nodes use this compatibility
- /bus@0/host1x@8181200000/pva0@818c000000/hsp
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra194-pva0-hsp
required:
- compatible
properties:
required:
- compatible
examples:
- |
hsp {
compatible = "nvidia,tegra194-pva0-hsp";
};

View File

@@ -1,92 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/aconnect@9000000/nvidia,tegra264-aconnect.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Nvidia Always Connected Driver
maintainers:
- Mohan Kumar
description: |
The following nodes use this compatibility
- /bus@0/aconnect@9000000
select:
properties:
compatible:
minItems: 2
maxItems: 2
items:
enum:
- nvidia,tegra264-aconnect
- nvidia,tegra210-aconnect
required:
- compatible
properties:
clocks:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Clocks are given by a tuple of 2 values:
- Phandle to the device
- Clock ID
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x9c
maximum: 0xa4
clock-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- ape
- apb2ape
'#address-cells':
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x2
maximum: 0x2
'#size-cells':
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x2
maximum: 0x2
required:
- compatible
- clocks
- clock-names
examples:
- |
aconnect@9000000 {
compatible = "nvidia,tegra264-aconnect",
"nvidia,tegra210-aconnect";
clocks = <&bpmp TEGRA264_CLK_APE>,
<&bpmp TEGRA264_CLK_ADSP>;
clock-names = "ape, apb2ape";
power-domains = <&bpmp TEGRA264_POWER_DOMAIN_AUD>;
status = "disabled";
#address-cells = <2>;
#size-cells = <2>;
ranges = <0x0 0x9000000 0x0 0x9000000 0x0 0x2000000>;
};

View File

@@ -1,71 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/adsp_audio/nvidia,tegra264-adsp-audio-hv.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Nvidia Hypervisor Audio Driver
maintainers:
- Mohan Kumar
description: |
The following nodes use this compatibility
- /bus@0/aconnect@9000000/adsp_audio
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra264-adsp-audio-hv
required:
- compatible
properties:
nvidia,adma_ch_page:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x7
maximum: 0x7
nvidia,adma_ch_start:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x31
maximum: 0x31
nvidia,adma_ch_cnt:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x8
maximum: 0x8
compr-ops:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
num-plugin:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x1
required:
- compatible
examples:
- |
adsp_audio {
};

View File

@@ -1,137 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/interrupt-controller@9960000/nvidia,tegra264-agic.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Nvidia T264 Interrupt Controller
maintainers:
- Mohan Kumar
description: |
The following nodes use this compatibility
- /bus@0/aconnect@9000000/interrupt-controller@9960000
- /bus@0/aconnect@9000000/interrupt-controller@9970000
- /bus@0/aconnect@9000000/interrupt-controller@9980000
- /bus@0/aconnect@9000000/interrupt-controller@9990000
- /bus@0/aconnect@9000000/interrupt-controller@99a0000
- /bus@0/aconnect@9000000/interrupt-controller@99b0000
select:
properties:
compatible:
minItems: 2
maxItems: 2
items:
enum:
- nvidia,tegra264-agic
- nvidia,tegra210-agic
required:
- compatible
properties:
'#interrupt-cells':
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x3
maximum: 0x3
interrupt-controller:
$ref: "/schemas/types.yaml#/definitions/flag"
reg:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Registers are given by a tuple of two values:
- register address:
- register block size.
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x9961000
maximum: 0x99b2000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1000
maximum: 0x1000
interrupts:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Interrupts are give by a tuple of 3 values:
- interrupt specifier (GIC_SPI = 0, GIC_PPI = 1)
definitions in dt-bindings/interrupt-controller/arm-gic.h
- interrupt number
- trigger type (rising edge, falling edge, both, etc)
definitions in dt-bindings/interrupt-controller/irq.h
items:
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0xf04
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0xf04
clocks:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Clocks are given by a tuple of 2 values:
- Phandle to the device
- Clock ID
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x9c
maximum: 0x9c
clock-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- clk
required:
- compatible
- reg
- interrupts
- clocks
- clock-names
examples:
- |
interrupt-controller@9960000 {
compatible = "nvidia,tegra264-agic",
"nvidia,tegra210-agic";
#interrupt-cells = <3>;
interrupt-controller;
reg = <0x0 0x9961000 0x0 0x1000>,
<0x0 0x9962000 0x0 0x1000>;
interrupts = <GIC_SPI 0x230(GIC_CPU_MASK_SIMPLE(4)|IRQ_TYPE_LEVEL_HIGH)>;
clocks = <&bpmp TEGRA264_CLK_ADSP>;
clock-names = "clk";
status = "disabled";
};

View File

@@ -1,102 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/nvidia,tegra264-audio-graph-card.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Nvidia T264 Audio Graph Card Driver
maintainers:
- Mohan Kumar
description: |
The following nodes use this compatibility
- /sound
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra264-audio-graph-card
required:
- compatible
properties:
nvidia,ahub-c2c-links:
$ref: "/schemas/types.yaml#/definitions/flag"
clocks:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Clocks are given by a tuple of 2 values:
- Phandle to the device
- Clock ID
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x9e
maximum: 0x9f
clock-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- pll_a
- plla_out0
assigned-clocks:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x9e
maximum: 0x115
assigned-clock-parents:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x9f
required:
- compatible
- clocks
- clock-names
examples:
- |
sound {
nvidia,ahub-c2c-links;
compatible = "nvidia,tegra264-audio-graph-card";
clocks = <&bpmp TEGRA264_CLK_PLLA1>,
<&bpmp TEGRA264_CLK_PLLA1_OUT1>;
clock-names = "pll_a, plla_out0";
assigned-clocks = <&bpmp TEGRA264_CLK_PLLA1>,
<&bpmp TEGRA264_CLK_PLLA1_OUT1>,
<&bpmp TEGRA264_CLK_AUD_MCLK>;
assigned-clock-parents = <0>,
<&bpmp TEGRA264_CLK_PLLA1>,
<&bpmp TEGRA264_CLK_PLLA1_OUT1>;
status = "disabled";
};

View File

@@ -1,73 +0,0 @@
# Copyright (c) 2024-2025, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/i2c/nvidia,tegra264-bpmp-i2c.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Nvidia Tegra T264 BPMP I2C Driver
maintainers:
- Suresh Mangipudi
description: |
The following nodes use this compatibility
- /bpmp/i2c
select:
properties:
compatible:
minItems: 2
maxItems: 2
items:
enum:
- nvidia,tegra264-bpmp-i2c
- nvidia,tegra186-bpmp-i2c
required:
- compatible
properties:
nvidia,bpmp-bus-id:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x5
maximum: 0x5
multi-master:
$ref: "/schemas/types.yaml#/definitions/flag"
description: Enables retries if arbitration is lost. Currently, the
functionality is supported only by the Tegra264 BPMP firmware.
'#address-cells':
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x1
'#size-cells':
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
required:
- compatible
examples:
- |
i2c {
compatible = "nvidia,tegra264-bpmp-i2c",
"nvidia,tegra186-bpmp-i2c";
status = "disabled";
nvidia,bpmp-bus-id = <5>;
#address-cells = <1>;
#size-cells = <0>;
};

View File

@@ -1,79 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/bpmp-shmem@0/nvidia,tegra264-bpmp-shmem.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Nvidia Tegra T264 BPMP Shared Memory Driver
maintainers:
- Sandipan Patra
description: |
The following nodes use this compatibility
- /reserved-memory/bpmp-shmem@0
select:
properties:
compatible:
minItems: 2
maxItems: 2
items:
enum:
- nvidia,tegra264-bpmp-shmem
- nvidia,tegra234-bpmp-shmem
required:
- compatible
properties:
reg:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Registers are given by a tuple of two values:
- register address:
- register block size.
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x86070000
maximum: 0x86070000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x2000
maximum: 0x2000
no-map:
$ref: "/schemas/types.yaml#/definitions/flag"
required:
- compatible
- reg
examples:
- |
bpmp-shmem@0 {
compatible = "nvidia,tegra264-bpmp-shmem",
"nvidia,tegra234-bpmp-shmem";
status = "disabled";
reg = <0x0 0x86070000 0x0 0x2000>;
no-map;
};

View File

@@ -1,73 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/nvdisplay-niso/nvidia,tegra264-display-niso.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Nvidia Tegra Display Driver
maintainers:
- Mihir Pradeep Garude
description: |
The compatibility = nvidia,tegra264-display-niso is mentioned in the following drivers
- For DisplayServer <TOP>/display/drivers/drivers/
- For OpenRM <TOP>/gpu/drv/
The following nodes use this compatibility
- /display@8808c00000/nvdisplay-niso
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra264-display-niso
required:
- compatible
properties:
iommus:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
iommus are given by a tuple of 2 values:
- Phandle to the device
- Device ID
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x901
maximum: 0x901
dma-coherent:
$ref: "/schemas/types.yaml#/definitions/flag"
required:
- compatible
- iommus
examples:
- |
nvdisplay-niso {
compatible = "nvidia,tegra264-display-niso";
iommus = <&smmu3_mmu 0x901>;
dma-coherent;
status = "disabled";
};

View File

@@ -1,543 +0,0 @@
# Copyright (c) 2024-2025, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/display@8808c00000/nvidia,tegra264-display.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Nvidia Tegra Display Driver
maintainers:
- Mihir Pradeep Garude
description: |
The compatibility = nvidia,tegra264-display is mentioned in the following drivers
- For DisplayServer <TOP>/display/drivers/drivers/
- For OpenRM <TOP>/gpu/drv/
The following nodes use this compatibility
- /display@8808c00000
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra264-display
required:
- compatible
properties:
power-domains:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x1
nvidia,num-dpaux-instance:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x4
maximum: 0x4
nvidia,bpmp:
$ref: "/schemas/types.yaml#/definitions/uint32"
reg-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- nvdisplay
- dpaux0
- hdacodec
- mipical
- vdisp
reg:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Registers are given by a tuple of two values:
- register address:
- register block size.
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x81
maximum: 0x88
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x8c00000
maximum: 0x89840000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0xfff
maximum: 0x1fffff
interrupt-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- nvdisplay
- dpaux0
- dpaux1
- dpaux2
- dpaux3
- hdacodec
- vdisp
interrupts:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Interrupts are give by a tuple of 3 values:
- interrupt specifier (GIC_SPI = 0, GIC_PPI = 1)
definitions in dt-bindings/interrupt-controller/arm-gic.h
- interrupt number
- trigger type (rising edge, falling edge, both, etc)
definitions in dt-bindings/interrupt-controller/irq.h
items:
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0xf7
maximum: 0x101
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x4
maximum: 0x4
clocks:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Clocks are given by a tuple of 2 values:
- Phandle to the device
- Clock ID
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x1d3
clock-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- nvdisplayhub_clk
- nvdisplay_disp_clk
- nvdisplay_p0_clk
- nvdisplay_p1_clk
- nvdisplay_p2_clk
- nvdisplay_p3_clk
- nvdisplay_p4_clk
- nvdisplay_p5_clk
- nvdisplay_p6_clk
- nvdisplay_p7_clk
- fuse_clk
- sppll0_clkouta_clk
- sppll0_clkoutb_clk
- sppll0_clkoutpn_clk
- sppll1_clkoutpn_clk
- sppll0_div27_clk
- sppll1_div27_clk
- vpll0_clk
- vpll1_clk
- vpll2_clk
- vpll3_clk
- vpll4_clk
- vpll5_clk
- vpll6_clk
- vpll7_clk
- rg0_clk
- rg1_clk
- rg2_clk
- rg3_clk
- rg4_clk
- rg5_clk
- rg6_clk
- rg7_clk
- disppll_clk
- pre_sor0_clk
- pre_sor1_clk
- pre_sor2_clk
- pre_sor3_clk
- dp_link_ref_clk
- dp_linkb_ref_clk
- dp_linkc_ref_clk
- dp_linkd_ref_clk
- sor_linka_input_clk
- sor_linkb_input_clk
- sor_linkc_input_clk
- sor_linkd_input_clk
- sor_linka_afifo_clk
- sor_linkb_afifo_clk
- sor_linkc_afifo_clk
- sor_linkd_afifo_clk
- sor0_clk
- sor1_clk
- sor2_clk
- sor3_clk
- sor_pad_input_clk
- sor_padb_input_clk
- sor_padc_input_clk
- sor_padd_input_clk
- sor0_pad_clk
- sor1_pad_clk
- sor2_pad_clk
- sor3_pad_clk
- sf0_clk
- sf1_clk
- sf2_clk
- sf3_clk
- sf4_clk
- sf5_clk
- sf6_clk
- sf7_clk
- sor0_ref_pll_clk
- sor1_ref_pll_clk
- sor2_ref_pll_clk
- sor3_ref_pll_clk
- sor0_ref_clk
- sor1_ref_clk
- sor2_ref_clk
- sor3_ref_clk
- osc_clk
- dsc_clk
- maud_clk
- aza_2xbit_clk
- disp_root
- vpllx_sor0_muxed_clk
- vpllx_sor1_muxed_clk
- vpllx_sor2_muxed_clk
- vpllx_sor3_muxed_clk
- sf0_sor_clk
- sf1_sor_clk
- sf2_sor_clk
- sf3_sor_clk
- sf4_sor_clk
- sf5_sor_clk
- sf6_sor_clk
- sf7_sor_clk
- dpaux0_clk
- emc_clk
nvidia,disp-sw-soc-chip-id:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x2650
maximum: 0x2650
resets:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Resets are given by a tuple of 2 values:
- Phandle to the device
- Reset ID
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x8
maximum: 0x1f
reset-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- dpaux0_reset
- hdacodec_reset
interconnects:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
items:
minItems: 3
maxItems: 3
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x182
maximum: 0x182
- $ref: "/schemas/types.yaml#/definitions/uint32"
interconnect-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- read-1
non-coherent:
$ref: "/schemas/types.yaml#/definitions/flag"
iso_sid:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x900
maximum: 0x900
niso_sid:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x901
maximum: 0x901
required:
- compatible
- reg
- interrupt-names
- interrupts
- clocks
- clock-names
- resets
- reset-names
- iommus
examples:
- |
display@8808c00000 {
compatible = "nvidia,tegra264-display";
power-domains = <&bpmp TEGRA264_POWER_DOMAIN_DISP>;
nvidia,num-dpaux-instance = <0x00000004>;
nvidia,bpmp = <&bpmp>;
reg-names = "nvdisplay, dpaux0, hdacodec, mipical, vdisp";
reg = <0x88 0x8c00000 0x00 0x1fffff>,
<0x88 0x9680000 0x00 0x7ffff>,
<0x88 0x9101000 0x00 0xfff>,
<0x81 0x89840000 0x00 0xffff>,
<0x88 0x8d00000 0x00 0x00010000>;
interrupt-names = "nvdisplay, dpaux0, dpaux1, dpaux2, dpaux3, hdacodec, vdisp";
interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 248 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 249 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 250 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 252 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 257 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&bpmp TEGRA264_CLK_HUB>,
<&bpmp TEGRA264_CLK_DISP>,
<&bpmp TEGRA264_CLK_RG0_DIV>,
<&bpmp TEGRA264_CLK_RG1_DIV>,
<&bpmp TEGRA264_CLK_RG2_DIV>,
<&bpmp TEGRA264_CLK_RG3_DIV>,
<&bpmp TEGRA264_CLK_RG4_DIV>,
<&bpmp TEGRA264_CLK_RG5_DIV>,
<&bpmp TEGRA264_CLK_RG6_DIV>,
<&bpmp TEGRA264_CLK_RG7_DIV>,
<&bpmp TEGRA264_CLK_FUSE>,
<&bpmp TEGRA264_CLK_SPPLL0_CLKOUT1A>,
<&bpmp TEGRA264_CLK_SPPLL0_CLKOUT2A>,
<&bpmp TEGRA264_CLK_SPPLL0_CLKOUT270>,
<&bpmp TEGRA264_CLK_SPPLL1_CLKOUT270>,
<&bpmp TEGRA264_CLK_SPPLL0_CLKOUT100>,
<&bpmp TEGRA264_CLK_SPPLL1_CLKOUT100>,
<&bpmp TEGRA264_CLK_VPLL0>,
<&bpmp TEGRA264_CLK_VPLL1>,
<&bpmp TEGRA264_CLK_VPLL2>,
<&bpmp TEGRA264_CLK_VPLL3>,
<&bpmp TEGRA264_CLK_VPLL4>,
<&bpmp TEGRA264_CLK_VPLL5>,
<&bpmp TEGRA264_CLK_VPLL6>,
<&bpmp TEGRA264_CLK_VPLL7>,
<&bpmp TEGRA264_CLK_RG0>,
<&bpmp TEGRA264_CLK_RG1>,
<&bpmp TEGRA264_CLK_RG2>,
<&bpmp TEGRA264_CLK_RG3>,
<&bpmp TEGRA264_CLK_RG4>,
<&bpmp TEGRA264_CLK_RG5>,
<&bpmp TEGRA264_CLK_RG6>,
<&bpmp TEGRA264_CLK_RG7>,
<&bpmp TEGRA264_CLK_DISPPLL>,
<&bpmp TEGRA264_CLK_PRE_SOR0>,
<&bpmp TEGRA264_CLK_PRE_SOR1>,
<&bpmp TEGRA264_CLK_PRE_SOR2>,
<&bpmp TEGRA264_CLK_PRE_SOR3>,
<&bpmp TEGRA264_CLK_DP_LINKA_REF>,
<&bpmp TEGRA264_CLK_DP_LINKB_REF>,
<&bpmp TEGRA264_CLK_DP_LINKC_REF>,
<&bpmp TEGRA264_CLK_DP_LINKD_REF>,
<&bpmp TEGRA264_CLK_SOR_LINKA_INPUT>,
<&bpmp TEGRA264_CLK_SOR_LINKB_INPUT>,
<&bpmp TEGRA264_CLK_SOR_LINKC_INPUT>,
<&bpmp TEGRA264_CLK_SOR_LINKD_INPUT>,
<&bpmp TEGRA264_CLK_SOR_LINKA_AFIFO>,
<&bpmp TEGRA264_CLK_SOR_LINKB_AFIFO>,
<&bpmp TEGRA264_CLK_SOR_LINKC_AFIFO>,
<&bpmp TEGRA264_CLK_SOR_LINKD_AFIFO>,
<&bpmp TEGRA264_CLK_SOR0>,
<&bpmp TEGRA264_CLK_SOR1>,
<&bpmp TEGRA264_CLK_SOR2>,
<&bpmp TEGRA264_CLK_SOR3>,
<&bpmp TEGRA264_CLK_LINKA_SYM>,
<&bpmp TEGRA264_CLK_LINKB_SYM>,
<&bpmp TEGRA264_CLK_LINKC_SYM>,
<&bpmp TEGRA264_CLK_LINKD_SYM>,
<&bpmp TEGRA264_CLK_SOR0_PAD>,
<&bpmp TEGRA264_CLK_SOR1_PAD>,
<&bpmp TEGRA264_CLK_SOR2_PAD>,
<&bpmp TEGRA264_CLK_SOR3_PAD>,
<&bpmp TEGRA264_CLK_SF0>,
<&bpmp TEGRA264_CLK_SF1>,
<&bpmp TEGRA264_CLK_SF2>,
<&bpmp TEGRA264_CLK_SF3>,
<&bpmp TEGRA264_CLK_SF4>,
<&bpmp TEGRA264_CLK_SF5>,
<&bpmp TEGRA264_CLK_SF6>,
<&bpmp TEGRA264_CLK_SF7>,
<&bpmp TEGRA264_CLK_SOR0_PLL_REF>,
<&bpmp TEGRA264_CLK_SOR1_PLL_REF>,
<&bpmp TEGRA264_CLK_SOR2_PLL_REF>,
<&bpmp TEGRA264_CLK_SOR3_PLL_REF>,
<&bpmp TEGRA264_CLK_SOR0_REF>,
<&bpmp TEGRA264_CLK_SOR1_REF>,
<&bpmp TEGRA264_CLK_SOR2_REF>,
<&bpmp TEGRA264_CLK_SOR3_REF>,
<&bpmp TEGRA264_CLK_OSC>,
<&bpmp TEGRA264_CLK_DSC>,
<&bpmp TEGRA264_CLK_MAUD>,
<&bpmp TEGRA264_CLK_AZA_2XBIT>,
<&bpmp TEGRA264_CLK_DISP_ROOT>,
<&bpmp TEGRA264_CLK_VPLLX_SOR0_MUXED>,
<&bpmp TEGRA264_CLK_VPLLX_SOR1_MUXED>,
<&bpmp TEGRA264_CLK_VPLLX_SOR2_MUXED>,
<&bpmp TEGRA264_CLK_VPLLX_SOR3_MUXED>,
<&bpmp TEGRA264_CLK_SF0_SOR>,
<&bpmp TEGRA264_CLK_SF1_SOR>,
<&bpmp TEGRA264_CLK_SF2_SOR>,
<&bpmp TEGRA264_CLK_SF3_SOR>,
<&bpmp TEGRA264_CLK_SF4_SOR>,
<&bpmp TEGRA264_CLK_SF5_SOR>,
<&bpmp TEGRA264_CLK_SF6_SOR>,
<&bpmp TEGRA264_CLK_SF7_SOR>,
<&bpmp TEGRA264_CLK_DPAUX>,
<&bpmp TEGRA264_CLK_EMC>;
clock-names = "nvdisplayhub_clk",
"nvdisplay_disp_clk",
"nvdisplay_p0_clk",
"nvdisplay_p1_clk",
"nvdisplay_p2_clk",
"nvdisplay_p3_clk",
"nvdisplay_p4_clk",
"nvdisplay_p5_clk",
"nvdisplay_p6_clk",
"nvdisplay_p7_clk",
"fuse_clk",
"sppll0_clkouta_clk",
"sppll0_clkoutb_clk",
"sppll0_clkoutpn_clk",
"sppll1_clkoutpn_clk",
"sppll0_div27_clk",
"sppll1_div27_clk",
"vpll0_clk",
"vpll1_clk",
"vpll2_clk",
"vpll3_clk",
"vpll4_clk",
"vpll5_clk",
"vpll6_clk",
"vpll7_clk",
"rg0_clk",
"rg1_clk",
"rg2_clk",
"rg3_clk",
"rg4_clk",
"rg5_clk",
"rg6_clk",
"rg7_clk",
"disppll_clk",
"pre_sor0_clk",
"pre_sor1_clk",
"pre_sor2_clk",
"pre_sor3_clk",
"dp_link_ref_clk",
"dp_linkb_ref_clk",
"dp_linkc_ref_clk",
"dp_linkd_ref_clk",
"sor_linka_input_clk",
"sor_linkb_input_clk",
"sor_linkc_input_clk",
"sor_linkd_input_clk",
"sor_linka_afifo_clk",
"sor_linkb_afifo_clk",
"sor_linkc_afifo_clk",
"sor_linkd_afifo_clk",
"sor0_clk",
"sor1_clk",
"sor2_clk",
"sor3_clk",
"sor_pad_input_clk",
"sor_padb_input_clk",
"sor_padc_input_clk",
"sor_padd_input_clk",
"sor0_pad_clk",
"sor1_pad_clk",
"sor2_pad_clk",
"sor3_pad_clk",
"sf0_clk",
"sf1_clk",
"sf2_clk",
"sf3_clk",
"sf4_clk",
"sf5_clk",
"sf6_clk",
"sf7_clk",
"sor0_ref_pll_clk",
"sor1_ref_pll_clk",
"sor2_ref_pll_clk",
"sor3_ref_pll_clk",
"sor0_ref_clk",
"sor1_ref_clk",
"sor2_ref_clk",
"sor3_ref_clk",
"osc_clk",
"dsc_clk",
"maud_clk",
"aza_2xbit_clk",
"disp_root",
"vpllx_sor0_muxed_clk",
"vpllx_sor1_muxed_clk",
"vpllx_sor2_muxed_clk",
"vpllx_sor3_muxed_clk",
"sf0_sor_clk",
"sf1_sor_clk",
"sf2_sor_clk",
"sf3_sor_clk",
"sf4_sor_clk",
"sf5_sor_clk",
"sf6_sor_clk",
"sf7_sor_clk",
"dpaux0_clk",
"emc_clk";
nvidia,disp-sw-soc-chip-id = <0x2650>;
resets = <&bpmp TEGRA264_RESET_DPAUX>,
<&bpmp TEGRA264_RESET_HDACODEC>;
reset-names = "dpaux0_reset, hdacodec_reset";
interconnects = <&mc TEGRA264_MEMORY_CLIENT_DISPR &emc>;
interconnect-names = "read-1";
status = "disabled";
iommus = <&smmu3_mmu 0x900>;
non-coherent;
};

View File

@@ -1,162 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/hda@88090b0000/nvidia,tegra264-hda.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Nvidia Tegra T264 HDA Driver
maintainers:
- Mohan Kumar
description: |
The following nodes use this compatibility
- /bus@0/hda@88090b0000
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra264-hda
required:
- compatible
properties:
reg:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Registers are given by a tuple of two values:
- register address:
- register block size.
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x88
maximum: 0x88
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x90b0000
maximum: 0x90b0000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x10000
maximum: 0x10000
interrupts:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Interrupts are give by a tuple of 3 values:
- interrupt specifier (GIC_SPI = 0, GIC_PPI = 1)
definitions in dt-bindings/interrupt-controller/arm-gic.h
- interrupt number
- trigger type (rising edge, falling edge, both, etc)
definitions in dt-bindings/interrupt-controller/irq.h
items:
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0xfb
maximum: 0xfb
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x4
maximum: 0x4
clocks:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Clocks are given by a tuple of 2 values:
- Phandle to the device
- Clock ID
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x8f
maximum: 0x8f
clock-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- hda
interconnects:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
items:
minItems: 3
maxItems: 3
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x17c
maximum: 0x17d
- $ref: "/schemas/types.yaml#/definitions/uint32"
interconnect-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- dma-mem
- write
iommus:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
iommus are given by a tuple of 2 values:
- Phandle to the device
- Device ID
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0xa00
maximum: 0xa00
required:
- compatible
- reg
- interrupts
- clocks
- clock-names
- iommus
examples:
- |
hda@88090b0000 {
compatible = "nvidia,tegra264-hda";
reg = <0x88 0x90b0000 0x0 0x10000>;
interrupts = <GIC_SPI 251 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&bpmp TEGRA264_CLK_AZA_2XBIT>;
clock-names = "hda";
interconnects = <&mc TEGRA264_MEMORY_CLIENT_HDAR &emc>,
<&mc TEGRA264_MEMORY_CLIENT_HDAW &emc>;
interconnect-names = "dma-mem, write";
iommus = <&smmu3_mmu TEGRA_SID_HDA>;
status = "disabled";
};

View File

@@ -1,78 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/isp-thi@8188b00000/nvidia,tegra264-isp-thi.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Nvidia Tegra t264 ISP-THI
maintainers:
- Chinniah Poosapadi
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra264-isp-thi
required:
- compatible
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra264-isp-thi
resets:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Resets are given by a tuple of 2 values:
- Phandle to the device
- Reset ID
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x37
maximum: 0x37
reset-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- isp_thi
- isp1_thi
required:
- compatible
- resets
- reset-names
examples:
- |
isp-thi@8188b00000 {
compatible = "nvidia,tegra264-isp-thi";
resets = <&bpmp TEGRA264_RESET_ISP1>;
reset-names = "isp_thi";
status = "disabled";
};

View File

@@ -1,49 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/mixer-controls/nvidia,tegra264-mixer-control.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Nvidia Tegra t264 Audio Mixer
maintainers:
- Mohan Kumar
description: |
The following nodes use this compatibility
- /sound/mixer-controls
select:
properties:
compatible:
minItems: 2
maxItems: 2
items:
enum:
- nvidia,tegra264-mixer-control
- nvidia,tegra234-mixer-control
required:
- compatible
properties:
required:
- compatible
examples:
- |
mixer-controls {
compatible = "nvidia,tegra264-mixer-control",
"nvidia,tegra234-mixer-control";
};

View File

@@ -1,290 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/rtcpu@81893d0000/nvidia,tegra264-rce.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Nvidia Tegra T264 RCE Driver
maintainers:
- Evgeny Kornev
description: |
The following nodes use this compatibility
- /rtcpu@81893d0000
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra264-rce
required:
- compatible
properties:
nvidia,cpu-name:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- rce
reg:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Registers are given by a tuple of two values:
- register address:
- register block size.
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x81
maximum: 0x81
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x893d0000
maximum: 0x893d0000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x10000
maximum: 0x10000
reg-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- rce-pm
clocks:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Clocks are given by a tuple of 2 values:
- Phandle to the device
- Clock ID
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x23
maximum: 0x24
clock-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- rce-nic
- rce-cpu
nvidia,clock-rates:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x6ddd000
maximum: 0x6ddd000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1bc69880
maximum: 0x1bc69880
resets:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Resets are given by a tuple of 2 values:
- Phandle to the device
- Reset ID
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x4
maximum: 0x4
reset-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- rce-all
interrupts:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Interrupts are give by a tuple of 3 values:
- interrupt specifier (GIC_SPI = 0, GIC_PPI = 1)
definitions in dt-bindings/interrupt-controller/arm-gic.h
- interrupt number
- trigger type (rising edge, falling edge, both, etc)
definitions in dt-bindings/interrupt-controller/irq.h
items:
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x19e
maximum: 0x19e
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x4
maximum: 0x4
interrupt-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- wdt-remote
nvidia,camera-devices:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
items:
minItems: 5
maxItems: 5
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
nvidia,camera-device-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- isp
- vi0
- vi1
- nvcsi
- isp1
iommus:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
iommus are given by a tuple of 2 values:
- Phandle to the device
- Device ID
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x2b01
maximum: 0x2b01
dma-coherent:
$ref: "/schemas/types.yaml#/definitions/flag"
nvidia,test-bw:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x249f00
maximum: 0x249f00
nvidia,trace:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x4
maximum: 0x4
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x70100000
maximum: 0x70100000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x100000
maximum: 0x100000
nvidia,ivc-channels:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x2
maximum: 0x2
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x90000000
maximum: 0x90000000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x10000
maximum: 0x10000
nvidia,autosuspend-delay-ms:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1388
maximum: 0x1388
nvidia,cmd-timeout:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x7d0
maximum: 0x7d0
required:
- compatible
- reg
- clocks
- clock-names
- resets
- reset-names
- interrupts
- interrupt-names
- iommus
examples:
- |
rtcpu@81893d0000 {
compatible = "nvidia,tegra264-rce";
nvidia,cpu-name = "rce";
reg = <0x81 0x893d0000 0x0 0x10000>;
reg-names = "rce-pm";
clocks = <&bpmp TEGRA264_CLK_RCE_NIC>,
<&bpmp TEGRA264_CLK_RCE_CPU>;
clock-names = "rce-nic, rce-cpu";
nvidia,clock-rates = <115200000 466000000>,
<115200000 466000000>;
resets = <&bpmp TEGRA264_RESET_RCE_ALL>;
reset-names = "rce-all";
interrupts = <GIC_SPI 414 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "wdt-remote";
nvidia,camera-devices = <&isp &vi0 &vi1 &nvcsi &isp1>;
nvidia,camera-device-names = "isp, vi0, vi1, nvcsi, isp1";
iommus = <&smmu4_mmu TEGRA_SID_RCE_VM1>;
memory-region = <&rce_resv>;
dma-coherent;
nvidia,test-bw = <2400000>;
nvidia,trace = <&tegra_rtcpu_trace 4 0x70100000 0x100000>;
nvidia,ivc-channels = <&camera_ivc_channels 2 0x90000000 0x10000>;
nvidia,autosuspend-delay-ms = <5000>;
status = "disabled";
};

View File

@@ -1,125 +0,0 @@
# Copyright (c) 2024-2025, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/rtc@c2c0000/nvidia,tegra264-rtc.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Nvidia Tegra T264 RTC Driver
maintainers:
- Suresh Mangipudi
description: |
The following nodes use this compatibility
- /bus@0/rtc@c2c0000
select:
properties:
compatible:
minItems: 3
maxItems: 3
items:
enum:
- nvidia,tegra264-rtc
- nvidia,tegra234-rtc
- nvidia,tegra20-rtc
required:
- compatible
properties:
reg:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Registers are given by a tuple of two values:
- register address:
- register block size.
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0xc2c0000
maximum: 0xc2c0000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x10000
maximum: 0x10000
interrupt-parent:
$ref: "/schemas/types.yaml#/definitions/uint32"
interrupts:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Interrupts are give by a tuple of 2 values with interrupt-parent phandle:
- interrupt number
- trigger type (rising edge, falling edge, both, etc)
definitions in dt-bindings/interrupt-controller/irq.h
items:
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x41
maximum: 0x41
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x4
maximum: 0x4
clocks:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Clocks are given by a tuple of 2 values:
- Phandle to the device
- Clock ID
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x2
maximum: 0x2
clock-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- rtc
required:
- compatible
- reg
- interrupts
- clocks
- clock-names
examples:
- |
rtc@c2c0000 {
compatible = "nvidia,tegra264-rtc",
"nvidia,tegra234-rtc",
"nvidia,tegra20-rtc";
status = "disabled";
reg = <0x0 0x0c2c0000 0x0 0x10000>;
interrupt-parent = <&pmc>;
interrupts = <65 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&bpmp TEGRA264_CLK_CLK_S>;
clock-names = "rtc";
};

View File

@@ -1,164 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/tsec@8188150000/nvidia,tegra264-tsec.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Nvidia Tegra t264 Host1X TSEC
maintainers:
- Nikesh Oswal
description: |
The following nodes use this compatibility
- /bus@0/host1x@8181200000/tsec@8188150000
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra264-tsec
required:
- compatible
properties:
reg:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Registers are given by a tuple of two values:
- register address:
- register block size.
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x81
maximum: 0x81
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x88150000
maximum: 0x88150000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x40000
maximum: 0x40000
interrupts:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Interrupts are give by a tuple of 3 values:
- interrupt specifier (GIC_SPI = 0, GIC_PPI = 1)
definitions in dt-bindings/interrupt-controller/arm-gic.h
- interrupt number
- trigger type (rising edge, falling edge, both, etc)
definitions in dt-bindings/interrupt-controller/irq.h
items:
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1bf
maximum: 0x1bf
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x4
maximum: 0x4
resets:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Resets are given by a tuple of 2 values:
- Phandle to the device
- Reset ID
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x2d
maximum: 0x2d
clocks:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Clocks are given by a tuple of 2 values:
- Phandle to the device
- Clock ID
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x30
maximum: 0xc8
clock-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- tsec
- efuse
- tsec_pka
iommus:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
iommus are given by a tuple of 2 values:
- Phandle to the device
- Device ID
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x2900
maximum: 0x2900
dma-coherent:
$ref: "/schemas/types.yaml#/definitions/flag"
required:
- compatible
- reg
- interrupts
- resets
- clocks
- clock-names
- iommus
examples:
- |
tsec@8188150000 {
compatible = "nvidia,tegra264-tsec";
reg = <0x81 0x88150000 0x00 0x40000>;
interrupts = <GIC_SPI 0x1bF IRQ_TYPE_LEVEL_HIGH>;
resets = <&bpmp TEGRA264_RESET_TSEC>;
clocks = <&bpmp TEGRA264_CLK_TSEC>,
<&bpmp TEGRA264_CLK_FUSE>,
<&bpmp TEGRA264_CLK_TSEC_PKA>;
clock-names = "tsec, efuse, tsec_pka";
iommus = <&smmu4_mmu TEGRA_SID_TSEC>;
dma-coherent;
status = "disabled";
};

View File

@@ -1,141 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/virt-alt-pcm-oot/nvidia,tegra264-virt-pcm-oot.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Virtual Pulse Code Modulator
maintainers:
- Mohan Kumar
description: |
The following nodes use this compatibility
- /virt-alt-pcm-oot
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra264-virt-pcm-oot
required:
- compatible
properties:
iommus:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
iommus are given by a tuple of 2 values:
- Phandle to the device
- Device ID
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
cardname:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- tegra-virt-pcm-vm1
dmas:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x82
dma-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- rx1
- tx1
- rx2
- tx2
- rx3
- tx3
- rx4
- tx4
- rx5
- tx5
- rx6
- tx6
- rx7
- tx7
- rx8
- tx8
- rx9
- tx9
- rx10
- tx10
- rx11
- tx11
- rx12
- tx12
- rx13
- tx13
- rx14
- tx14
- rx15
- tx15
- rx16
- tx16
- rx17
- tx17
- rx18
- tx18
- rx19
- tx19
- rx20
- tx20
- rx21
- tx21
- rx22
- tx22
- rx23
- tx23
- rx24
- tx24
ivc_queue:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0xf
maximum: 0xa2
admaif_ch_num:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x18
maximum: 0x18
admaif_ch_list:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x18
required:
- compatible
- iommus
examples:
- |
virt-alt-pcm-oot {
};

View File

@@ -1,97 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/nvscic2c-pcie-s0-c5-epc/nvidia,tegra-nvscic2c-pcie-epc.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: NVIDIA Chip-to-Chip transfer module for PCIeRP
maintainers:
- Manikanta Maddireddy
description: |
the compatability = nvidia,tegra-nvscic2c-pcie-epc is mentioned in the following drivers
- <TOP>/kernel/nvidia-oot/drivers/misc/nvscic2c-pcie/dt.c
The following nodes use this compatibility
- /nvscic2c-pcie-s0-c5-epc
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra-nvscic2c-pcie-epc
required:
- compatible
properties:
nvidia,host1x:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x19
maximum: 0x19
nvidia,pcie-edma:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x7b
maximum: 0x7b
nvidia,pci-dev-id:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x22cc
maximum: 0x22cc
nvidia,board-id:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
nvidia,soc-id:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
nvidia,cntrlr-id:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x4
maximum: 0x5
nvidia,endpoint-db:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- nvscic2c_pcie_s0_c5_1, 16, 00032768, 67108864, 26001
- nvscic2c_pcie_s0_c5_2, 16, 00032768, 67108864, 26002
- nvscic2c_pcie_s0_c5_3, 16, 00032768, 67108864, 26003
- nvscic2c_pcie_s0_c5_4, 16, 00032768, 67108864, 26004
- nvscic2c_pcie_s0_c5_5, 16, 00032768, 67108864, 26005
- nvscic2c_pcie_s0_c5_6, 16, 00032768, 67108864, 26006
- nvscic2c_pcie_s0_c5_7, 16, 00032768, 67108864, 26007
- nvscic2c_pcie_s0_c5_8, 16, 00032768, 67108864, 26008
- nvscic2c_pcie_s0_c5_9, 16, 00032768, 67108864, 26009
- nvscic2c_pcie_s0_c5_10, 16, 00032768, 67108864, 26010
- nvscic2c_pcie_s0_c5_11, 16, 00032768, 67108864, 26011
- nvscic2c_pcie_s0_c5_12, 16, 00000064, 0, 26012
required:
- compatible
examples:
- |
nvscic2c-pcie-s0-c5-epc {
};

View File

@@ -1,102 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/nvscic2c-pcie-s0-c4-epf/nvidia,tegra-nvscic2c-pcie-epf.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: NVIDIA Chip-to-Chip transfer module for PCIeEP
maintainers:
- Manikanta Maddireddy
description: |
the compatability = nvidia,tegra-nvscic2c-pcie-epf is mentioned in the following drivers
- <TOP>/kernel/nvidia-oot/drivers/misc/nvscic2c-pcie/dt.c
The following nodes use this compatibility
- /nvscic2c-pcie-s0-c4-epf
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra-nvscic2c-pcie-epf
required:
- compatible
properties:
nvidia,host1x:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x19
maximum: 0x19
nvidia,pcie-edma:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x7c
maximum: 0x7c
nvidia,pci-dev-id:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x22cc
maximum: 0x22cc
nvidia,board-id:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
nvidia,soc-id:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
nvidia,cntrlr-id:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x4
maximum: 0x5
nvidia,bar-win-size:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x40000000
maximum: 0x40000000
nvidia,endpoint-db:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- nvscic2c_pcie_s0_c4_1, 16, 00032768, 67108864, 26101
- nvscic2c_pcie_s0_c4_2, 16, 00032768, 67108864, 26102
- nvscic2c_pcie_s0_c4_3, 16, 00032768, 67108864, 26103
- nvscic2c_pcie_s0_c4_4, 16, 00032768, 67108864, 26104
- nvscic2c_pcie_s0_c4_5, 16, 00032768, 67108864, 26105
- nvscic2c_pcie_s0_c4_6, 16, 00032768, 67108864, 26106
- nvscic2c_pcie_s0_c4_7, 16, 00032768, 67108864, 26107
- nvscic2c_pcie_s0_c4_8, 16, 00032768, 67108864, 26108
- nvscic2c_pcie_s0_c4_9, 16, 00032768, 67108864, 26109
- nvscic2c_pcie_s0_c4_10, 16, 00032768, 67108864, 26110
- nvscic2c_pcie_s0_c4_11, 16, 00032768, 67108864, 26111
- nvscic2c_pcie_s0_c4_12, 16, 00000064, 0, 26112
required:
- compatible
examples:
- |
nvscic2c-pcie-s0-c4-epf {
};

View File

@@ -1,49 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/sha-carveout/sha-carveout.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: SHA Carveout Configuration
maintainers:
- Mahesh Kumar
- Srijan Kumar Sharma
description: |
The following nodes use this compatibility
- /dce@8808000000/sha-carveout
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- sha-carveout
required:
- compatible
properties:
required:
- compatible
examples:
- |
sha-carveout {
compatible = "sha-carveout";
status = "disabled";
};

View File

@@ -1,309 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/sdhci@810c570000/nvidia,tegra264-sdhci.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: SDHCI driver for Tegra
maintainers:
- Suresh Mangipudi
description: |
the compatability = nvidia,tegra264-sdhci is mentioned in the following drivers
- <TOP>/kernel/kernel-oot/drivers/mmc/host/sdhci-tegra.c
The following nodes use this compatibility
- /bus@0/sdhci@810c570000
select:
properties:
compatible:
minItems: 2
maxItems: 2
items:
enum:
- nvidia,tegra264-sdhci
- nvidia,tegra194-sdhci
required:
- compatible
properties:
reg:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Registers are given by a tuple of two values:
- register address:
- register block size.
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x81
maximum: 0x81
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0xc570000
maximum: 0xc570000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x10000
maximum: 0x10000
interrupts:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Interrupts are give by a tuple of 3 values:
- interrupt specifier (GIC_SPI = 0, GIC_PPI = 1)
definitions in dt-bindings/interrupt-controller/arm-gic.h
- interrupt number
- trigger type (rising edge, falling edge, both, etc)
definitions in dt-bindings/interrupt-controller/irq.h
items:
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0xa2
maximum: 0xa2
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x4
maximum: 0x4
sd-uhs-sdr104:
$ref: "/schemas/types.yaml#/definitions/flag"
sd-uhs-sdr50:
$ref: "/schemas/types.yaml#/definitions/flag"
sd-uhs-sdr25:
$ref: "/schemas/types.yaml#/definitions/flag"
sd-uhs-sdr12:
$ref: "/schemas/types.yaml#/definitions/flag"
mmc-hs200-1_8v:
$ref: "/schemas/types.yaml#/definitions/flag"
iommus:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
iommus are given by a tuple of 2 values:
- Phandle to the device
- Device ID
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1200
maximum: 0x1200
dma-coherent:
$ref: "/schemas/types.yaml#/definitions/flag"
nvidia,pad-autocal-pull-up-offset-3v3-timeout:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x7
maximum: 0x7
nvidia,pad-autocal-pull-down-offset-3v3-timeout:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x7
maximum: 0x7
nvidia,pad-autocal-pull-up-offset-1v8-timeout:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x6
maximum: 0x6
nvidia,pad-autocal-pull-down-offset-1v8-timeout:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x7
maximum: 0x7
nvidia,pad-autocal-pull-up-offset-sdr104:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
nvidia,pad-autocal-pull-down-offset-sdr104:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
interconnects:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
items:
minItems: 3
maxItems: 3
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1c2
maximum: 0x1c3
- $ref: "/schemas/types.yaml#/definitions/uint32"
interconnect-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- dma-mem
- write
pinctrl-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- sdmmc-3v3
- sdmmc-1v8
pinctrl-0:
$ref: "/schemas/types.yaml#/definitions/uint32"
pinctrl-1:
$ref: "/schemas/types.yaml#/definitions/uint32"
nvidia,default-tap:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x6
maximum: 0x6
nvidia,default-trim:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
assigned-clocks:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x95
maximum: 0x96
assigned-clock-parents:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x93
maximum: 0x95
resets:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Resets are given by a tuple of 2 values:
- Phandle to the device
- Reset ID
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x22
maximum: 0x22
reset-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- sdhci
clocks:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Clocks are given by a tuple of 2 values:
- Phandle to the device
- Clock ID
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x96
maximum: 0x97
clock-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- sdhci
- tmclk
required:
- compatible
- reg
- interrupts
- iommus
- resets
- reset-names
- clocks
- clock-names
examples:
- |
sdhci@810c570000 {
compatible = "nvidia,tegra264-sdhci, nvidia,tegra194-sdhci";
status = "disabled";
reg = <0x81 0xc570000 0x00 0x10000>;
interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>;
sd-uhs-sdr104;
sd-uhs-sdr50;
sd-uhs-sdr25;
sd-uhs-sdr12;
mmc-hs200-1_8v;
iommus = <&smmu2_mmu TEGRA_SID_SDMMC0>;
dma-coherent;
nvidia,pad-autocal-pull-up-offset-3v3-timeout = <0x07>;
nvidia,pad-autocal-pull-down-offset-3v3-timeout = <0x07>;
nvidia,pad-autocal-pull-up-offset-1v8-timeout = <0x06>;
nvidia,pad-autocal-pull-down-offset-1v8-timeout = <0x07>;
nvidia,pad-autocal-pull-up-offset-sdr104 = <0x00>;
nvidia,pad-autocal-pull-down-offset-sdr104 = <0x00>;
interconnects = <&mc TEGRA264_MEMORY_CLIENT_SDMMC0R &emc>,
<&mc TEGRA264_MEMORY_CLIENT_SDMMC0W &emc>;
interconnect-names = "dma-mem, write";
pinctrl-names = "sdmmc-3v3, sdmmc-1v8";
pinctrl-0 = <&sdmmc1_3v3>;
pinctrl-1 = <&sdmmc1_1v8>;
nvidia,default-tap = <6>;
nvidia,default-trim = <0>;
assigned-clocks = <&bpmp TEGRA264_CLK_SDMMC1>,
<&bpmp TEGRA264_CLK_PLLC4_MUXED>;
assigned-clock-parents = <&bpmp TEGRA264_CLK_PLLC4_MUXED>,
<&bpmp TEGRA264_CLK_PLLC4_OUT0>;
resets = <&bpmp TEGRA264_RESET_SDMMC1>;
reset-names = "sdhci";
clocks = <&bpmp TEGRA264_CLK_SDMMC1>,
<&bpmp TEGRA264_CLK_SDMMC_LEGACY_TM>;
clock-names = "sdhci, tmclk";
};

View File

@@ -1,86 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/tegra_virt_storage83/nvidia,tegra-virt-mtd-storage.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Nvidia Tegra t264 Hypervisor MTD Driver
maintainers:
- Sreenivas Velpula
description: |
the compatability = nvidia,tegra-virt-mtd-storage is mentioned in the following drivers
- <TOP>/kernel/nvidia-oot/drivers/mtd/devices/tegra_hv_mtd.c
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra-virt-mtd-storage
required:
- compatible
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra-virt-mtd-storage
instance:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
ivc:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0xf
maximum: 0x3f
read-only:
$ref: "/schemas/types.yaml#/definitions/flag"
mempool:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x17
maximum: 0x17
partition-name:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- board-info
required:
- compatible
examples:
- |
tegra_virt_storage83 {
compatible = "nvidia,tegra-virt-mtd-storage";
status = "okay";
instance = <0x00000000>;
ivc = <0x0000000f>,
<0x0000003f>;
read-only;
mempool = <0x00000017>;
partition-name = "board-info";
};

View File

@@ -1,80 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/flash@0/jedec,spi-nor.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Framework for SPI NOR
maintainers:
- Suresh Mangipudi
description: |
the compatability = jedec,spi-nor is mentioned in the following drivers
- <TOP>/kernel/kernel-oot/drivers/mtd/spi-nor/core.c
- <TOP>/kernel/kernel-oot/drivers/memory/renesas-rpc-if.c
The following nodes use this compatibility
- /bus@0/spi@810c5b0000/flash@0
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- jedec,spi-nor
required:
- compatible
properties:
reg:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Registers are given by a tuple of two values:
- register address:
- register block size.
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
spi-max-frequency:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x6146580
maximum: 0x6146580
spi-rx-bus-width:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x4
maximum: 0x4
spi-tx-bus-width:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x4
maximum: 0x4
required:
- compatible
- reg
examples:
- |
flash@0 {
};

View File

@@ -1,186 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/mttcan@81102f0000/nvidia,tegra264-mttcan.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Platform CAN bus driver for Bosch M_TTCAN controller
maintainers:
- Shubhi Garg
description: |
the compatability = nvidia,tegra264-mttcan is mentioned in the following drivers
- <TOP>/kernel/nvidia-oot/drivers/net/can/mttcan/native/m_ttcan_linux.c
The following nodes use this compatibility
- /bus@0/mttcan@81102f0000
- /bus@0/mttcan@8110300000
- /bus@0/mttcan@8110330000
- /bus@0/mttcan@8110340000
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra264-mttcan
required:
- compatible
properties:
reg:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Registers are given by a tuple of two values:
- register address:
- register block size.
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x81
maximum: 0x81
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x102f0000
maximum: 0x10342000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x32
maximum: 0x1000
reg-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- can-regs
- glue-regs
- msg-ram
interrupts:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Interrupts are give by a tuple of 3 values:
- interrupt specifier (GIC_SPI = 0, GIC_PPI = 1)
definitions in dt-bindings/interrupt-controller/arm-gic.h
- interrupt number
- trigger type (rising edge, falling edge, both, etc)
definitions in dt-bindings/interrupt-controller/irq.h
items:
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x44
maximum: 0x4a
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x4
maximum: 0x4
mram-params:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
items:
minItems: 9
maxItems: 9
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x10
maximum: 0x10
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x10
maximum: 0x10
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x20
maximum: 0x20
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x10
maximum: 0x10
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x10
maximum: 0x10
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x10
maximum: 0x10
tx-config:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x10
maximum: 0x10
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x40
maximum: 0x40
rx-config:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
items:
minItems: 3
maxItems: 3
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x40
maximum: 0x40
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x40
maximum: 0x40
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x40
maximum: 0x40
required:
- compatible
- reg
- interrupts
examples:
- |
mttcan@81102f0000 {
compatible = "nvidia,tegra264-mttcan";
reg = <0x81 0x102f0000 0x00 0x144>,
<0x81 0x102f1000 0x00 0x32>,
<0x81 0x102f2000 0x00 0x1000>;
reg-names = "can-regs, glue-regs, msg-ram";
interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
mram-params = <0 16 16 32 0 0 16 16 16>;
tx-config = <0 16 0 64>;
rx-config = <64 64 64>;
status = "disabled";
};

View File

@@ -1,661 +0,0 @@
# SPDX-FileCopyrightText: Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/ethernet@a808a10000/nvidia,tegra264-mgbe.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: NVIDIA Ethernet Driver
maintainers:
- Narayan Reddy
description: |
the compatability = nvidia,tegra264-mgbe is mentioned in the following drivers
- <TOP>/kernel/nvidia-oot/drivers/net/ethernet/nvidia/nvethernet/ether_linux.c
The following nodes use this compatibility
- /bus@0/ethernet@a808a10000
- /bus@0/ethernet@a808b10000
- /bus@0/ethernet@a808d10000
- /bus@0/ethernet@a808e10000
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra264-mgbe
required:
- compatible
properties:
reg:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Registers are given by a tuple of two values:
- register address:
- register block size.
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0xa8
maximum: 0xa8
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x8a10000
maximum: 0x8ed0000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x2000
maximum: 0x10000
reg-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- mac
- dma_base
- macsec-base
interrupts:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Interrupts are give by a tuple of 3 values:
- interrupt specifier (GIC_SPI = 0, GIC_PPI = 1)
definitions in dt-bindings/interrupt-controller/arm-gic.h
- interrupt number
- trigger type (rising edge, falling edge, both, etc)
definitions in dt-bindings/interrupt-controller/irq.h
items:
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x366
maximum: 0x385
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x4
maximum: 0x4
interrupt-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- common
- vm0
- vm1
- vm2
- vm3
- vm4
- macsec-ns-irq
- macsec-s-irq
resets:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Resets are given by a tuple of 2 values:
- Phandle to the device
- Reset ID
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x3e
maximum: 0x49
reset-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- mac
- pcs
- macsec_ns_rst
clocks:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Clocks are given by a tuple of 2 values:
- Phandle to the device
- Clock ID
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0xd5
maximum: 0x1d2
clock-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- mac
- tx
- mgbe
- macsec
- tx-pcs
- ptp-ref
- rx-input
- rx-pcs-input
- tx-m
- rx-input-m
- rx-pcs-m
- utmi_pll1_clk
- pll_bpmpcam
- tx_ser
- rx_ser
nvidia,num-dma-chans:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x8
maximum: 0x8
nvidia,dma-chans:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
items:
minItems: 8
maxItems: 8
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x1
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x2
maximum: 0x2
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x3
maximum: 0x3
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x4
maximum: 0x4
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x5
maximum: 0x5
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x6
maximum: 0x6
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x7
maximum: 0x7
nvidia,num-mtl-queues:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x8
maximum: 0x8
nvidia,mtl-queues:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
items:
minItems: 10
maxItems: 10
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x1
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x2
maximum: 0x2
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x3
maximum: 0x3
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x4
maximum: 0x4
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x5
maximum: 0x5
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x6
maximum: 0x6
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x7
maximum: 0x7
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x8
maximum: 0x8
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x9
maximum: 0x9
nvidia,tc-mapping:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
items:
minItems: 10
maxItems: 10
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x1
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x2
maximum: 0x2
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x3
maximum: 0x3
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x4
maximum: 0x4
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x5
maximum: 0x5
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x6
maximum: 0x6
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x7
maximum: 0x7
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x1
nvidia,residual-queue:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x1
nvidia,rxq_enable_ctrl:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
items:
minItems: 10
maxItems: 10
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x2
maximum: 0x2
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x2
maximum: 0x2
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x2
maximum: 0x2
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x2
maximum: 0x2
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x2
maximum: 0x2
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x2
maximum: 0x2
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x2
maximum: 0x2
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x2
maximum: 0x2
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x2
maximum: 0x2
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x2
maximum: 0x2
nvidia,vm-irq-config:
$ref: "/schemas/types.yaml#/definitions/uint32"
nvidia,vm-vdma-config:
$ref: "/schemas/types.yaml#/definitions/uint32"
nvidia,tx-queue-prio:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
items:
minItems: 10
maxItems: 10
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x1
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x2
maximum: 0x2
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x3
maximum: 0x3
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x4
maximum: 0x4
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x5
maximum: 0x5
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x6
maximum: 0x6
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x7
maximum: 0x7
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
nvidia,rx-queue-prio:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
items:
minItems: 10
maxItems: 10
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x1
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x2
maximum: 0x2
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x4
maximum: 0x4
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x8
maximum: 0x8
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x10
maximum: 0x10
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x20
maximum: 0x20
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x40
maximum: 0x40
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x80
maximum: 0x80
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
nvidia,dcs-enable:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x1
nvidia,macsec-enable:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x1
nvidia,mgbe-riit-config:
$ref: "/schemas/types.yaml#/definitions/uint32"
nvidia,rx_riwt:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x200
maximum: 0x200
nvidia,rx_frames:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x40
maximum: 0x40
nvidia,tx_usecs:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x100
maximum: 0x100
nvidia,tx_frames:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x10
maximum: 0x10
nvidia,phy-iface-mode:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
nvidia,promisc_mode:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x1
nvidia,slot_num_check:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
items:
minItems: 8
maxItems: 8
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
nvidia,slot_intvl_vals:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
items:
minItems: 8
maxItems: 8
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x7d
maximum: 0x7d
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x7d
maximum: 0x7d
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x7d
maximum: 0x7d
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x7d
maximum: 0x7d
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x7d
maximum: 0x7d
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x7d
maximum: 0x7d
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x7d
maximum: 0x7d
nvidia,ptp_ref_clock_speed:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x12a05f20
maximum: 0x12a05f20
nvidia,instance_id:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x3
nvidia,ptp-rx-queue:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x3
maximum: 0x3
nvidia,dma_rx_ring_sz:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1000
maximum: 0x1000
nvidia,dma_tx_ring_sz:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1000
maximum: 0x1000
dma-coherent:
$ref: "/schemas/types.yaml#/definitions/flag"
nvidia,mac-addr-idx:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x4
nvidia,uphy-gbe-mode:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x1
nvidia,max-platform-mtu:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x2328
maximum: 0x2328
nvidia,if-name:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- mgbe0_0
- mgbe1_0
- mgbe2_0
- mgbe3_0
ivc:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x10
maximum: 0x1af
nvidia,ptp_m2m_role:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x2
nvidia,pps_op_ctrl:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x8
maximum: 0x8
nvidia,mdc-cr:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0xF
required:
- compatible
- reg
- interrupts
- interrupt-names
- resets
- reset-names
- clocks
- clock-names
examples:
- |
ethernet@a808a10000 {
compatible = "nvidia,tegra264-mgbe";
status = "disabled";
reg = <0xa8 0x8a10000 0x00 0x10000>,
<0xa8 0x8aa0000 0x00 0x10000>,
<0xa8 0x8ad0000 0x00 0x10000>,
<0xa8 0x8a00000 0x00 0x10000>;
reg-names = "mac, xpcs, macsec-base, hypervisor";
interrupts = <0 870 4>,
<0 873 4>,
<0 874 4>,
<0 875 4>,
<0 876 4>,
<0 877 4>,
<0 872 4>,
<0 871 4>;
interrupt-names = "common, vm0, vm1, vm2, vm3, vm4",
"macsec-ns-irq, macsec-s-irq";
resets = <&bpmp TEGRA264_RESET_MGBE0_MAC>,
<&bpmp TEGRA264_RESET_MGBE0_PCS>,
<&bpmp TEGRA264_RESET_MGBE0_MACSEC>;
reset-names = "mac, pcs, macsec_ns_rst";
clocks = <&bpmp TEGRA264_CLK_MGBE0_MAC>,
<&bpmp TEGRA264_CLK_MGBE0_TX>,
<&bpmp TEGRA264_CLK_MGBE0_APP>,
<&bpmp TEGRA264_CLK_MGBE0_MACSEC>,
<&bpmp TEGRA264_CLK_MGBE0_TX_PCS>,
<&bpmp TEGRA264_CLK_MGBES_PTP_REF>,
<&bpmp TEGRA264_CLK_MGBE0_RX_IN>,
<&bpmp TEGRA264_CLK_MGBE0_RX_PCS_IN>,
<&bpmp TEGRA264_CLK_MGBE0_TX_M>,
<&bpmp TEGRA264_CLK_MGBE0_RX_M>,
<&bpmp TEGRA264_CLK_MGBE0_RX_PCS_M>,
<&bpmp TEGRA264_CLK_UTMI_PLL1_CLKOUT480>,
<&bpmp TEGRA264_CLK_PLLBPMPCAM>,
<&bpmp TEGRA264_CLK_MGBE0_TX_SER>,
<&bpmp TEGRA264_CLK_MGBE0_RX_SER>;
clock-names = "mac, tx, mgbe, macsec, tx-pcs, ptp-ref",
"rx-input, rx-pcs-input, tx-m, rx-input-m",
"rx-pcs-m, utmi_pll1_clk, pll_bpmpcam, tx_ser, rx_ser";
nvidia,num-dma-chans = <8>;
nvidia,dma-chans = <0 1 2 3 4 5 6 7>;
iommus = <&smmu0_mmu TEGRA_SID_MGBE0_VF0>;
nvidia,num-mtl-queues = <10>;
nvidia,mtl-queues = <0 1 2 3 4 5 6 7 8 9>;
nvidia,tc-mapping = <0 1 2 3 4 5 6 7 0 1>;
nvidia,residual-queue = <1>;
nvidia,rxq_enable_ctrl = <2 2 2 2 2 2 2 2 2 2>;
nvidia,vm-irq-config = <&mgbe_vm_irq_config>;
nvidia,vm-vdma-config = <&mgbe_vm_vdma_config>;
nvidia,tx-queue-prio = <0 1 2 3 4 5 6 7 0 0>;
nvidia,rx-queue-prio = <0x1 0x2 0x4 0x8 0x10 0x20 0x40 0x80 0x0 0x0>;
nvidia,dcs-enable = <0x1>;
nvidia,macsec-enable = <0x1>;
nvidia,mgbe-riit-config = <&mgbe_riit_config>;
nvidia,rx_riwt = <512>;
nvidia,rx_frames = <64>;
nvidia,tx_usecs = <256>;
nvidia,tx_frames = <16>;
nvidia,phy-iface-mode = <2>;
nvidia,promisc_mode = <1>;
nvidia,slot_num_check = <0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0>;
nvidia,slot_intvl_vals = <0x0 0x7D 0x7D 0x7D 0x7D 0x7D 0x7D 0x7D>;
nvidia,ptp_ref_clock_speed = <312500000>;
nvidia,instance_id = <0>;
nvidia,ptp-rx-queue = <3>;
nvidia,dma_rx_ring_sz = <4096>;
nvidia,dma_tx_ring_sz = <4096>;
dma-coherent;
};

View File

@@ -1,103 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/efuse@1000000/nvidia,tegra264-efuse.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Nvidia Tegra t264 efuse Driver
maintainers:
- Suresh Mangipudi
description: |
the compatability = nvidia,tegra264-efuse is mentioned in the following drivers
- <TOP>/kernel/kernel-oot/drivers/nvmem/tegra-efuse.c
The following nodes use this compatibility
- /bus@0/efuse@1000000
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra264-efuse
required:
- compatible
properties:
reg:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Registers are given by a tuple of two values:
- register address:
- register block size.
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1000000
maximum: 0x1000000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x20000
maximum: 0x20000
clocks:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Clocks are given by a tuple of 2 values:
- Phandle to the device
- Clock ID
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0xc8
maximum: 0xc8
clock-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- fuse
required:
- compatible
- reg
- clocks
- clock-names
examples:
- |
efuse@1000000 {
compatible = "nvidia,tegra264-efuse",
"nvidia,tegra234-efuse";
status = "disabled";
reg = <0x0 0x01000000 0x0 0x20000>;
clocks = <&bpmp TEGRA264_CLK_FUSE>;
clock-names = "fuse";
};

View File

@@ -1,81 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/nvpmodel/nvidia,nvpmodel.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: NVIDIA nvpmodel clock cap driver
maintainers:
- Yi-Wei Wang
description: |
the compatability = nvidia,nvpmodel is mentioned in the following drivers
- <TOP>/kernel/nvidia-oot/drivers/nvpmodel/nvpmodel-clk-cap.c
The following nodes use this compatibility
- /nvpmodel
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,nvpmodel
required:
- compatible
properties:
nvidia,bpmp:
$ref: "/schemas/types.yaml#/definitions/uint32"
clocks:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Clocks are given by a tuple of 2 values:
- Phandle to the device
- Clock ID
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x122
maximum: 0x122
clock-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- emc
required:
- compatible
- clocks
- clock-names
examples:
- |
nvpmodel {
compatible = "nvidia,nvpmodel";
status = "disabled";
nvidia,bpmp = <&bpmp>;
clocks = <&bpmp TEGRA264_CLK_EMC>;
clock-names = "emc";
};

View File

@@ -1,83 +0,0 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/nvpps/nvidia,tegra264-nvpps.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: NVidia Tegra PPS Driver
maintainers:
- Vijay Mishra
description: |
the compatability = nvidia,tegra264-nvpps is mentioned in the following drivers
- <TOP>/kernel/nvidia-oot/drivers/nvpps/nvpps_main.c
The following nodes use this compatibility
- /nvpps
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra264-nvpps
required:
- compatible
properties:
'#address-cells':
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x1
'#size-cells':
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x1
reg:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Registers are given by a tuple of two values:
- register address:
- register block size.
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0xc230000
primary-emac:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x83
maximum: 0x83
sec-emac:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x84
maximum: 0x84
required:
- compatible
- reg
examples:
- |
nvpps {
};

Some files were not shown because too many files have changed in this diff Show More