#!/bin/sh

#RPMH
assert_driver_present cmd-db-driver-present cmd-db
assert_driver_present rpmh-driver-present rpmh
assert_driver_present rpmh-clock-driver-present clk-rpmh
assert_driver_present rpmh-regulator-driver-present qcom-rpmh-regulator
assert_driver_present rpmh-pd-driver-present qcom-rpmhpd

assert_device_present cmd-db-device-probed cmd-db 80860000.*
assert_device_present rpmh-device-probed rpmh 18200000.*
assert_device_present rpmh-clock-device-probed clk-rpmh 18200000.*
assert_device_present rpmh-pm8009-regulator-device-probed qcom-rpmh-regulator *pm8009*
assert_device_present rpmh-pm8150-regulator-device-probed qcom-rpmh-regulator *pm8150-*
assert_device_present rpmh-pm8150l-regulator-device-probed qcom-rpmh-regulator *pm8150l-*

# GCC
assert_driver_present gcc-driver-present gcc-sm8250
assert_device_present gcc-device-probed gcc-sm8250 100000.*

# SCM
assert_driver_present scm-driver-present qcom_scm
assert_device_present scm-device-probed qcom_scm firmware:scm

# Serial
assert_driver_present geni-uart-driver-present qcom_geni_serial
assert_device_present geni-uart-uart9-probed qcom_geni_serial a90000.*

# SMEM
assert_driver_present smem-driver-present qcom-smem
assert_device_present smem-device-probed qcom-smem smem
assert_driver_present smem-socinfo-driver-present qcom-socinfo
assert_device_present smem-socinfo-device-probed qcom-socinfo qcom-socinfo

# SMMU
assert_driver_present arm-smmu-driver-present arm-smmu
assert_device_present apps-smmu-device-probed arm-smmu 15000000.*
assert_device_present adreno-smmu-device-probed arm-smmu 3da0000.*

# TCSR mutex
assert_driver_present tcsr-mutex-driver-present qcom_hwspinlock
assert_device_present tcsr-mutex-device-probed qcom_hwspinlock 1f40000.*

# TLMM
assert_driver_present tlmm-driver-present sm8250-pinctrl
assert_device_present tlmm-device-probed sm8250-pinctrl f100000.*

# SMP2P
assert_driver_present smp2p-driver-present qcom_smp2p
assert_device_present smp2p-slpi-device-probed qcom_smp2p *cdsp*
assert_device_present smp2p-adsp-device-probed qcom_smp2p *adsp*
assert_device_present smp2p-slpi-device-probed qcom_smp2p *slpi*

# SPMI
assert_driver_present spmi-pmic-arb-driver-present spmi_pmic_arb
assert_device_present spmi-pmic-arb-device-probed spmi_pmic_arb c440000.*

# UFS QMP
assert_driver_present ufs-phy-driver-present qcom-qmp-phy
assert_device_present ufs-phy-probed qcom-qmp-phy 1d87000.*

# UFSHCD
assert_driver_present ufs-hcd-driver-present ufshcd-qcom
assert_device_present ufs-hcd-device-probed ufshcd-qcom 1d84000.*

# UFS device
assert_driver_present scsi-disk-driver-present sd
assert_device_present scsi-disk-device0-probed sd 0:0:0:0

# IPCC
assert_driver_present ipcc-driver-present qcom-ipcc
assert_device_present ipcc-device-probed qcom-ipcc 408000.*

# PRNG
assert_driver_present prng-driver-present qcom_rng
assert_device_present prng-device-probed qcom_rng 793000.*

# PCIE
assert_driver_present pcie-driver-present qcom-pcie
assert_device_present pcie-device0-probed qcom-pcie 1c00000.*
#assert_device_present pcie-device1-probed qcom-pcie 1c08000.*
#assert_device_present pcie-device2-probed qcom-pcie 1c10000.*

# PCIE PHY
assert_driver_present pcie-phy-driver-present qcom-qmp-phy
assert_device_present pcie-phy-device0-probed qcom-qmp-phy 1c06000.*
assert_device_present pcie-phy-device1-probed qcom-qmp-phy 1c0e000.*
assert_device_present pcie-phy-device2-probed qcom-qmp-phy 1c16000.*

# SDHC
assert_driver_present sdhc-driver-present sdhci_msm
assert_device_present sdhc-device2-probed sdhci_msm 8804000.*

# CPUfreq
assert_driver_present epss-driver-present qcom-cpufreq-hw
assert_device_present epss-device-probed qcom-cpufreq-hw 18591000.*

# Tsens
assert_driver_present thermal-driver-tsens-present qcom-tsens
assert_device_present thermal-device-tsens0-probed qcom-tsens c263000.*
assert_device_present thermal-device-tsens1-probed qcom-tsens c265000.*
# 8 thermal zones: cpu x 8
STATE=""
RANGE=""
for num in `seq 0 7`
do
    STATE="$STATE /sys/class/thermal/thermal_zone"${num}"/mode"
    RANGE="$RANGE /sys/class/thermal/thermal_zone"${num}"/temp"
done

state_check thermal-zone-enabled enabled "$STATE"
value_in_range thermal-zone-temperature 25000 60000 "$RANGE"

# PAS driver
assert_driver_present qcom-pas-remoteproc-driver-present qcom_q6v5_pas
assert_device_present remoteproc-adsp-device-probed qcom_q6v5_pas 17300000.*
assert_device_present remoteproc-cdsp-device-probed qcom_q6v5_pas 8300000.*

# I2C
assert_driver_present i2c-driver-present geni_i2c
assert_device_present i2c-device4-probed geni_i2c 990000.*
assert_device_present i2c-device5-probed geni_i2c 994000.*
assert_device_present i2c-device15-probed geni_i2c 884000.*

# SPI
assert_driver_present spi-driver-present geni_spi
assert_device_present spi-device0-probed geni_spi 980000.*

# USB QCOM
assert_driver_present usb-qcom-driver-present dwc3-qcom
assert_device_present usb-qcom-device0-probed dwc3-qcom a6f8800.*
assert_device_present usb-qcom-device1-probed dwc3-qcom a8f8800.*

# USB DWC3
assert_driver_present usb-driver-present dwc3
assert_device_present usb-device0-probed dwc3 a600000.*
assert_device_present usb-device1-probed dwc3 a800000.*

# USB PHY
assert_driver_present usb-phy-driver-present qcom-qmp-phy
assert_device_present usb-phy-device0-probed qcom-qmp-phy 88e9000.*
assert_device_present usb-phy-device1-probed qcom-qmp-phy 88eb000.*

# USB net
assert_driver_present usb-net-driver-present ax88179_178a
assert_device_present usb-net-device-probed ax88179_178a 2-1.1:1.0

# CAN
assert_driver_present can-driver-present mcp251xfd
assert_device_present can-device-probed mcp251xfd spi*.*

# Display
assert_driver_present msm-drm-driver-present msm
assert_device_present msm-drm-device-probed msm ae00000.*

assert_driver_present msm-mdp-driver-present msm_dpu
assert_device_present msm-mdp-device-probed msm_dpu ae01000.*

assert_driver_present dsi-driver-present msm_dsi
assert_device_present dsi-device0-probed msm_dsi ae94000.*
#assert_device_present dsi-device1-probed msm_dsi ae96000.*

assert_driver_present dsi-phy-driver-present msm_dsi_phy
assert_device_present dsi-phy-device0-probed msm_dsi_phy ae94400.*
#assert_device_present dsi-phy-device1-probed msm_dsi_phy ae96400.*

# lt9611uxc
assert_driver_present hdmi-bridge-driver-present lt9611uxc
assert_device_present hdmi-bridge-device-probed lt9611uxc 5-002b

# GPU
assert_driver_present gpu-driver-present adreno
assert_device_present gpu-device-probed adreno 3d00000.gpu

# Sound
assert_driver_present sound-driver-present snd-sm8250
assert_device_present sound-device-probed snd-sm8250 soc@0:sound
