BPMP ABI latest header is not yet available in the upstream. but few of
the structs from the header are used by the display driver.
Bpmp_abi header will be upstream with the next BPMP upstream delivery.
To unblock oot work, this patch adds bpmp-abi.h file in nvidia-oot repo.
Note: This header must be removed once jammy-src gets the latest header
update.
Bug 3866724
Signed-off-by: Mahesh Kumar <mahkumar@nvidia.com>
Change-Id: Ieb1f610612674d3dbf427d27aa20887c671983cd
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2804280
Tested-by: Bitan Biswas <bbiswas@nvidia.com>
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
Enable APE sound card with following changes:
- Add DAI link DTSI files and enable OOT machine driver.
- Some of the AHUB drivers are present in v5.15, however
these are not feature complete yet. Use OOT driver
versions for now and enable these by using OOT specific
compatibles.
- ADSP is disabled for now as it is not required for L4T production
releases. There are dependencies on AGIC and ADMA patches which
are not yet upstreamed. This will be taken up when this becomes
a requirement.
- Add 'nvidia,ahub-i2s-id' property to I2S devices. Presently
this is being used to identify I2S instances and thus add
few mixer controls from machine driver.
Bug 3583581
Change-Id: I8ce7cab1997c6464d1b30fc19f840e11ed877b21
Signed-off-by: Sameer Pujar <spujar@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2774943
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
The ivc.h is not protected for multiple inclusion and so
it is generating error for multiple definition when included
from the source code.
Add wrapper header to protect the multiple inclusion of the ivc.h.
This will make the OOT driers to compile against all core kernel
which does not have proper ivc.h fix.
Change-Id: Ibe85da017d60f525b05d04cd6a5ea15c5b312057
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2784877
Reviewed-by: Manish Bhardwaj <mbhardwaj@nvidia.com>
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
OOT drivers cannot directly access private headers of core kernel.
This is a standard policy adopted by kernel distributors and to
workaround this problem copy headers to OOT path. Update the usage
references as well.
Bug 3583581
Change-Id: I1b99e17c60294a1cb257eb5b80837faa896d3f8d
Signed-off-by: Sameer Pujar <spujar@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2774429
Reviewed-by: Mohan Kumar D <mkumard@nvidia.com>
Reviewed-by: Sharad Gupta <sharadg@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
Using this patch we are doing below activities:-
1. Use as much as possible source code possible from
upstream driver.
2. If there is static function that needs to be exported
to downstream driver then make a local copy of that.
3. add support for extended ivc driver since upstream
driver does not have support for all required APIs.
Bug 3595577
JIRA ESLC-6884
Signed-off-by: Manish Bhardwaj <mbhardwaj@nvidia.com>
Change-Id: Id6c70525e378a80d9059f49f879909c88c55cb4f
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2764453
Reviewed-by: Suresh Venkatachalam <skathirampat@nvidia.com>
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
Add tegra-epl driver. It is used to report software detected errors via
HSP mailbox or MISC-EC registers to safety service module running on
the Functional Safety Island (FSI)
Bug 3583609
Change-Id: I5bd3e4bd261d00a353743b01c83ed8df6f00e90a
Signed-off-by: Rahul Bedarkar <rabedarkar@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2710277
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit
Add driver for common utility API for firmware class and
dumping the inventory for all firmware.
Bug 3583607
Change-Id: I259bc7f80b8842cea090f67b067f63e5f85cb79c
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2708890
GVS: Gerrit_Virtual_Submit
Add kfuse driver. The kfuse block stores downstream
and upstream HDCP keys for use by the HDMI module.
Bug 3625675
Change-Id: Ie4b23c161035439266ec7dda54b61e84799a6d5a
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2705641
GVS: Gerrit_Virtual_Submit
RAS are three aspects of the dependability of a system:
Reliability: continuity of correct service
Availability: readiness for correct service
Serviceability: ability to undergo modifications and repairs
ARMv8.2 provides RAS extensions to achieve the above features in a system.
arm64_ras driver allows you to handle Correctable errors using per core
Fault Handling Interrupt (or FHI). Un-correactable errors are handled by
raising SError exception to kernel or Trusted Firmware(EL3) on CCLEX.
The driver provides an API for CPU specific RAS drivers to
register callbacks in case of FHI. When FHI occurs, the FHI
ISR goes through the list of registered callbacks and executes
them. Similarly, the driver allows registering SError callbacks
for Un-correctable errors within Core, Core-Cluster & CCPLEX.
When SError is reported, then those callbacks are scanned to
find and report error in a Core, Cluster or CCPLEX
Bug 3625675
Change-Id: I6dba7178fa7bbcf55bfa083be1b077874f4865c9
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2705396
GVS: Gerrit_Virtual_Submit
Actmon is a hardware block that can be used to track the activity of
certain hardware units. It can boost EMC clock depending
on the memory traffic among various client. It is called central actmon
as it monitors central activity for example MC activity.
Add central activity monitor driver.
Bug 3625675
Change-Id: I1a5918e7d84bc247f694f53f965c28888b773c91
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2705395
GVS: Gerrit_Virtual_Submit
Pinctrl drivers have few headers which are in driver folders
and it has declaration of exported APIs which are needed for
developing the device specific pinctrl driver.
Add such drivers in driver-private in out-of-tree includes
so that out-of-tree module can be developed.
bug 3621816
Change-Id: Iaf596873cd96a4af0ee551dc7b749c4bb758a86e
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2704711
GVS: Gerrit_Virtual_Submit
Add header file for tegra-prod APIs so that driver
can use the prod APIs. The implementation is kept as
dummy i.e. not supported.
Bug 3621816
Change-Id: I0aeada74eace74770bc3c5d2964b57ba9ba8f1c5
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2704358
GVS: Gerrit_Virtual_Submit