;/*++
;
;Copyright (c) 2019-2020 by QUALCOMM, Incorporated.  All Rights Reserved.
;
;Module Name:
;    qciommuext6490.inx
;
;Abstract:
;    INF file for installing the Driver Frameworks IOMMU Driver
;
;Installation Notes: 
;    Using Devcon: Type "devcon update IOMMU.inf ACPI\QCOM0200" to install
;
;--*/

[Version]
Signature="$WINDOWS NT$"
Class=Extension
ClassGuid={e2f84ce7-8efa-411c-aa69-97454ca4cb57}
ExtensionId={8e1dacd2-bbd2-4141-9aa1-991c47cc88c3}
Provider=%QC%
DriverVer = 10/02/2025,1.0.4444.9300
CatalogFile=qciommuext6490.cat

[DestinationDirs]
DefaultDestDir = 13

[SourceDisksNames]
1 = %DiskId%

[ControlFlags]
ExcludeFromSelect=*
[Manufacturer]
%QC%=Extension, NTARM64

[Extension.NTARM64]
%IOMMU.DeviceDesc%=IOMMU_Device_Ext, ACPI\VEN_QCOM&DEV_068F&SUBSYS_CRD06490
%IOMMU.DeviceDesc%=IOMMU_Device_Ext, ACPI\VEN_QCOM&DEV_068F&SUBSYS_CDP06490
%IOMMU.DeviceDesc%=IOMMU_Device_Ext, ACPI\VEN_QCOM&DEV_068F&SUBSYS_IDP06490
%IOMMU.DeviceDesc%=IOMMU_Device_Ext, ACPI\VEN_QCOM&DEV_068F&SUBSYS_IOT06490

[IOMMU_Device_Ext.NT]

[IOMMU_Device_Ext.NT.HW]
Addreg=IOMMU_Hardware_Registry_Base,IOMMU_AUTOGEN_CONFIG

[IOMMU_Hardware_Registry_Base]
HKR,Parameters,ExtInfApplied, %REG_DWORD%, 1   ; key to check whether extinf is applied or not during first boot
HKR,Parameters,ErrataApplicableClients, %REG_BINARY%, 0x00, 0x01,0x04
HKR,Parameters,EnableIOCoherentPTW, %REG_DWORD%, 1   ; Enabled: 1 , Disabled : 0
HKR,Parameters,MdpAridFromIORTData, %REG_DWORD%, 0x00030000
HKR,Parameters\0,"Guid",%REG_SZ%,"{36079AE4-78E8-452D-AF50-0CFF78B2F1CA}"

HKR,Parameters\0\ARMV,"Type",%REG_DWORD%, 0x1 ; ARMv7L = 0, ARMv8L = 1;
HKR,Parameters\0\MMUV,"Type",%REG_DWORD%, 0x0 ; ARM SMMU500 = 0, QCSMMU = 1
HKR,Parameters\0\MMU_ERRATA,"Type",%REG_DWORD%, 0x0;

HKR,Parameters\1,"Guid",%REG_SZ%,"{9833C712-3292-4FFB-B0F4-2BD20E1F7F66}"

HKR,Parameters\1\ARMV,"Type",%REG_DWORD%, 0x1 ; ARMv7L = 0, ARMv8L = 1;
HKR,Parameters\1\MMUV,"Type",%REG_DWORD%, 0x0 ; ARM SMMU500 = 0, QCSMMU = 1
HKR,Parameters\1\MMU_ERRATA,"Type",%REG_DWORD%, 0x0;

[Strings]
;Localizable Strings
QC="Qualcomm Inc."
IOMMU.DeviceDesc="Qualcomm(R) IOMMU Device"
IOMMU.SVCDESC="Qualcomm(R) IOMMU Driver"
DiskId="Qualcomm IOMMU Driver Installation Disk"

;Non-localizable Strings
SPSVCINST_ASSOCSERVICE= 0x00000002
REG_DWORD = 0x00010001
REG_SZ = 0x00000000
REG_BINARY = 0x00000001
REG_MULTI_SZ = 0x00010000

[IOMMU_AUTOGEN_CONFIG]
HKR,Parameters\0\CTXI,"MAP",%REG_BINARY%,0x0A,0x04,0x00,0x01,0x02,0x07,0x0B,0x0C,0x17,0x19,0x11
;0x0A              //Number of Clients
;0x04              //VIDEO
;0x00              //MDP
;0x01              //VFE
;0x02              //JPEG
;0x07              //LPASS_Q6
;0x0B              //IPA
;0x0C              //CRYPTO
;0x17              //FASTRPC
;0x19              //QDSS
;0x11              //WLAN

HKR,Parameters\0\S1AG,"MAP",%REG_BINARY%,0x00,0x03,0x00,0x00,0x4,0x00,0x0A,0x00,0x00,0x2,0x04,0x03,0x00,0x00,0x2,0x04,0x03,0x00,0x02,0x1,0x04,0x09,0x00,0x00,0x2,0x04,0x0A,0x00,0x00,0x1,0x04,0x0B,0x00,0x00,0x2,0x02,0x03,0x00,0x00,0x2,0x01,0x03,0x00,0x00,0x2,0x01,0x03,0x00,0x02,0x1,0x01,0x03,0x00,0x03,0x1,0x01,0x03,0x00,0x04,0x10,0x01,0x03,0x00,0x14,0x3,0x01,0x03,0x00,0x17,0x2,0x07,0x03,0x00,0x00,0x1,0x07,0x03,0x00,0x01,0x1,0x07,0x03,0x00,0x02,0x1,0x17,0x03,0x00,0x00,0x4,0x17,0x03,0x00,0x04,0x4,0x17,0x03,0x00,0x08,0x4,0x17,0x03,0x00,0x0C,0x4,0x17,0x03,0x00,0x10,0x4,0x17,0x03,0x00,0x14,0x4,0x17,0x03,0x00,0x18,0x4,0x17,0x03,0x00,0x1C,0x4,0x17,0x03,0x00,0x20,0x4,0x17,0x03,0x00,0x24,0x4,0x17,0x03,0x00,0x28,0x4,0x17,0x03,0x00,0x2C,0x4,0x17,0x03,0x00,0x30,0x4,0x17,0x03,0x00,0x34,0x1,0x17,0x03,0x00,0x35,0x1,0x17,0x03,0x00,0x36,0x1,0x17,0x03,0x00,0x37,0x1,0x17,0x03,0x00,0x38,0x1,0x0B,0x03,0x00,0x00,0x1,0x0B,0x03,0x00,0x01,0x1,0x0B,0x03,0x00,0x02,0x1,0x0B,0x03,0x00,0x03,0x1,0x0B,0x03,0x00,0x04,0x1,0x0C,0x03,0x00,0x00,0x8,0x0C,0x09,0x00,0x00,0x4,0x19,0x03,0x00,0x00,0x2,0x11,0x03,0x00,0x00,0x2
;0x00030000        0x4        //MDP      HLOS  S1_DISPLAY_HLOS
;0x000A0000        0x2        //MDP      CP-P  S1_DISPLAY_CP_P
;0x04030000        0x2        //VIDEO    HLOS  S1_VIDEO_HLOS
;0x04030002        0x1        //VIDEO    HLOS  S1_VIDEO_HLOS_P
;0x04090000        0x2        //VIDEO    CP-B  S1_VIDEO_CP_B
;0x040A0000        0x1        //VIDEO    CP-P  S1_VIDEO_CP_P
;0x040B0000        0x2        //VIDEO    CP-NP S1_VIDEO_INT
;0x02030000        0x2        //JPEG     HLOS  S1_JPEG_HLOS
;0x01030000        0x2        //VFE      HLOS  S1_BPS_HLOS
;0x01030002        0x1        //VFE      HLOS  S1_CDM_HLOS
;0x01030003        0x1        //VFE      HLOS  S1_CAMERA_FW
;0x01030004        0x10       //VFE      HLOS  S1_CAMERA_HLOS
;0x01030014        0x3        //VFE      HLOS  S1_IPE_HLOS
;0x01030017        0x2        //VFE      HLOS  S1_LRME_HLOS
;0x07030000        0x1        //LPASS    HLOS  S1_AUDIO_1
;0x07030001        0x1        //LPASS    HLOS  S1_AUDIO_SB
;0x07030002        0x1        //LPASS    HLOS  S1_AUDIO_USB
;0x17030000        0x4        //FASTRPC  HLOS  S1_COMPUTE_0_1
;0x17030004        0x4        //FASTRPC  HLOS  S1_COMPUTE_0_2
;0x17030008        0x4        //FASTRPC  HLOS  S1_COMPUTE_0_3
;0x1703000C        0x4        //FASTRPC  HLOS  S1_COMPUTE_0_4
;0x17030010        0x4        //FASTRPC  HLOS  S1_COMPUTE_0_5
;0x17030014        0x4        //FASTRPC  HLOS  S1_COMPUTE_0_6
;0x17030018        0x4        //FASTRPC  HLOS  S1_COMPUTE_0_7
;0x1703001C        0x4        //FASTRPC  HLOS  S1_COMPUTE_0_8
;0x17030020        0x4        //FASTRPC  HLOS  S1_COMPUTE_0_9
;0x17030024        0x4        //FASTRPC  HLOS  S1_COMPUTE_0_10
;0x17030028        0x4        //FASTRPC  HLOS  S1_COMPUTE_0_11
;0x1703002C        0x4        //FASTRPC  HLOS  S1_COMPUTE_0_12
;0x17030030        0x4        //FASTRPC  HLOS  S1_COMPUTE_0_13
;0x17030034        0x1        //FASTRPC  HLOS  S1_ADSP_2
;0x17030035        0x1        //FASTRPC  HLOS  S1_ADSP_3
;0x17030036        0x1        //FASTRPC  HLOS  S1_ADSP_4
;0x17030037        0x1        //FASTRPC  HLOS  S1_ADSP_5
;0x17030038        0x1        //FASTRPC  HLOS  S1_ADSP_6
;0x0B030000        0x1        //IPA      HLOS  S1_IPA_GP
;0x0B030001        0x1        //IPA      HLOS  S1_IPA_PERIPH_1
;0x0B030002        0x1        //IPA      HLOS  S1_IPA_UC
;0x0B030003        0x1        //IPA      HLOS  S1_IPA_PERIPH_2
;0x0B030004        0x1        //IPA      HLOS  S1_IPA_PERIPH_3
;0x0C030000        0x8        //CRYPTO   HLOS  S1_CRYPTO_USER
;0x0C090000        0x4        //CRYPTO   CP-B  S1_Crypto_CP_B
;0x19030000        0x2        //QDSS     HLOS  S1_QDSS_ETR
;0x11030000        0x2        //WLAN     HLOS  S1_PCIE_0

HKR,Parameters\1\CTXI,"MAP",%REG_BINARY%,0x01,0x03
;0x01              //Number of Clients
;0x03              //GPU

HKR,Parameters\1\S1AG,"MAP",%REG_BINARY%,0x03,0x03,0x00,0x00,0x2,0x03,0x03,0x00,0x02,0x2,0x03,0x03,0x00,0x04,0x2,0x03,0x03,0x00,0x06,0x2,0x03,0x0A,0x00,0x00,0x2
;0x03030000        0x2        //GFX      HLOS   S1_GPU
;0x03030002        0x2        //GFX      HLOS   S1_GPU_ECP
;0x03030004        0x2        //GFX      HLOS   S1_GPU_ECP_FW
;0x03030006        0x2        //GFX      HLOS   S1_GPU_LPAC
;0x030A0000        0x2        //GFX      CP-P   S1_GPU_P
