That’s depend what you want to use and not use on the system…
We need BLSPs and one MIPI-CSI camera (ov5640). We are not sure, if images from ov5640 are being processed by the GPU or if we can turn it off.
We went through the device tree, but there are a lot of nodes we are not sure what they do. These are the device nodes defined in the apq8096-db820c, msm8996, pm8994 and pmi8994 dtsi files:
$ grep @ arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi
serial@7570000 {
serial@75b0000 {
// serial@75b1000 {
i2c@07577000 {
i2c@075b6000 {
serial@075b3000 {
serial@075b1000 {
spi@07575000 {
i2c@075ba000 {
i2c@075b5000 {
i2c@075ba000 {
goodix_ts@5d {
spi@075ba000{
sdhci@74a4900 {
phy@34000 {
phy@7410000 {
phy@7411000 {
phy@7412000 {
usb@6af8800 {
dwc3@6a00000 {
usb@76f8800 {
dwc3@7600000 {
ufsphy@627000 {
ufshc@624000 {
agnoc@0 {
qcom,pcie@00600000 {
qcom,pcie@00608000 {
qcom,pcie@00610000 {
slim_msm: slim@91c0000 {
ngd@1 {
wcd9335: codec@1{
mdss@900000 {
mdp@901000 {
dsi@994000 {
panel@0 {
panel@1 {
port@1 {
endpoint@0 {
endpoint@1 {
hdmi-phy@9a0600 {
hdmi-tx@9a0000 {
camera_vdddo_1v8: fixedregulator@0 {
camera_vdda_2v8: fixedregulator@1 {
camera_vddd_1v5: fixedregulator@2 {
cci@a0c000 {
camera_rear@60 {
camera_board@39 {
camera_front@3a {
camss@a00000 {
port@0 {
port@1 {
port@2 {
button@0 {
pmic@1 {
pmic@3 {
lpg@b100 {
$ grep @ arch/arm64/boot/dts/qcom/msm8996.dtsi
mba_region: mba@91500000 {
venus_region: venus@90400000 {
adsp_region: adsp@8ea00000 {
mpss_region: mpss@88800000 {
smem_mem: smem-mem@86000000 {
memory@85800000 {
memory@86200000 {
zap_shader_region: gpu@8f200000 {
rmtfs@86700000 {
CPU0: cpu@0 {
CPU1: cpu@1 {
CPU2: cpu@100 {
CPU3: cpu@101 {
rpm_msg_ram: memory@68000 {
tcsr_mutex_regs: syscon@740000 {
tcsr: syscon@7a0000 {
intc: interrupt-controller@9bc0000 {
msi_alias0: interrupt-controller@9bd0000 {
apcs: syscon@9820000 {
apcs_glb: mailbox@9820000 {
gcc: clock-controller@300000 {
kryocc: clock-controller@6400000 {
blsp1_uart1: serial@7570000 {
blsp1_spi0: spi@07575000 {
device@0 {
blsp2_i2c5: i2c@075ba000 {
qcom_i2c_test@52 {
blsp2_uart9: serial@075b1000 {
blsp2_uart11: serial@075b3000 {
blsp2_i2c0: i2c@075b5000 {
tsens0: thermal-sensor@4a8000 {
blsp2_uart1: serial@75b0000 {
blsp2_i2c1: i2c@075b6000 {
// blsp2_uart2: serial@75b1000 {
blsp1_i2c2: i2c@07577000 {
blsp2_i2c5: i2c@075ba000 {
blsp2_spi5: spi@075ba000{
sdhc2: sdhci@74a4900 {
msmgpio: pinctrl@1010000 {
timer@09840000 {
frame@9850000 {
frame@9870000 {
frame@9880000 {
frame@9890000 {
frame@98a0000 {
frame@98b0000 {
frame@98c0000 {
spmi_bus: qcom,spmi@400f000 {
mmcc: clock-controller@8c0000 {
qfprom@74000 {
qusb2p_hstx_trim: hstx_trim@24e {
qusb2s_hstx_trim: hstx_trim@24f {
phy@34000 {
pciephy_0: lane@35000 {
pciephy_1: lane@36000 {
pciephy_2: lane@37000 {
phy@7410000 {
ssusb_phy_0: lane@7410200 {
hsusb_phy1: phy@7411000 {
hsusb_phy2: phy@7412000 {
usb2: usb@76f8800 {
dwc3@7600000 {
usb3: usb@6af8800 {
dwc3@6a00000 {
cci: cci@a0c000 {
vfe_smmu: arm,smmu@da0000 {
camss: camss@a00000 {
ufsphy1: ufsphy@627000 {
ufshc@624000 {
agnoc@0 {
pcie0: qcom,pcie@00600000 {
pcie1: qcom,pcie@00608000 {
pcie2: qcom,pcie@00610000 {
slimbam:dma@9184000
slim_msm: slim@91c0000 {
ngd@1 {
wcd9335: codec@1{
adreno_smmu: arm,smmu@b40000 {
gpu@b00000 {
qcom,gpu-pwrlevel@0 {
qcom,gpu-pwrlevel@1 {
mdp_smmu: arm,smmu@d00000 {
mdss: mdss@900000 {
mdp: mdp@901000 {
port@0 {
port@1 {
dsi0: dsi@994000 {
port@0 {
port@1 {
dsi0_phy: dsi-phy@994400 {
hdmi: hdmi-tx@9a0000 {
port@0 {
hdmi_phy: hdmi-phy@9a0600 {
lpass_q6_smmu: arm,smmu-lpass_q6@1600000 {
venus_smmu: arm,smmu-venus@d40000 {
venus: video-codec@c00000 {
remoteproc@2080000 {
hdmi@1 {
mm@0 {
$ grep @ arch/arm64/boot/dts/qcom/pm8994.dtsi
pmic@0 {
rtc@6000 {
pon@800 {
pm8994_gpios: gpios@c000 {
pm8994_mpps: mpps@a000 {
pmic@1 {
$ grep @ arch/arm64/boot/dts/qcom/pmi8994.dtsi
pmic@2 {
pm8994_clk_divs: clock-controller@5b00 {
pmi8994_gpios: gpios@c000 {
pmi8994_mpps: mpps@a000 {
pmic@3 {
lpg@b100 {
pmi8994_s2: s2@1700 {