mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-11-12 01:51:34 -05:00
Add glink and its dependent device tree node to support SM8150 for automotive platforms. Add snapshot of sm8150-smp2p.dtsi from 4.14 kernel with commit <1392da24f5ae6cda2bbca50433acc952b72061af> (drivers: iio: imu: Fix NULL pointer dereference in IMU drivers) to kernel 5.4. Change-Id: Iffc0f294c196dcdf874a9fbb19f63e4a4f626e2f
1114 lines
23 KiB
Devicetree
1114 lines
23 KiB
Devicetree
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
|
#include <dt-bindings/soc/qcom,rpmh-rsc.h>
|
|
#include <dt-bindings/clock/qcom,rpmh.h>
|
|
|
|
/ {
|
|
model = "Qualcomm Technologies, Inc. SM8150";
|
|
compatible = "qcom,sm8150";
|
|
qcom,msm-name = "SM8150 V1";
|
|
qcom,msm-id = <339 0x10000>;
|
|
interrupt-parent = <&intc>;
|
|
|
|
#address-cells = <2>;
|
|
#size-cells = <2>;
|
|
memory { device_type = "memory"; reg = <0 0 0 0>; };
|
|
|
|
aliases {
|
|
serial0 = &uart2;
|
|
};
|
|
|
|
cpus {
|
|
#address-cells = <2>;
|
|
#size-cells = <0>;
|
|
|
|
CPU0: cpu@0 {
|
|
device_type = "cpu";
|
|
compatible = "arm,armv8";
|
|
reg = <0x0 0x0>;
|
|
enable-method = "psci";
|
|
cpu-idle-states = <&SLVR_RAIL_OFF>;
|
|
capacity-dmips-mhz = <1024>;
|
|
next-level-cache = <&L2_0>;
|
|
L2_0: l2-cache {
|
|
compatible = "arm,arch-cache";
|
|
cache-level = <2>;
|
|
next-level-cache = <&L3_0>;
|
|
|
|
L3_0: l3-cache {
|
|
compatible = "arm,arch-cache";
|
|
cache-level = <3>;
|
|
};
|
|
};
|
|
|
|
L1_I_0: l1-icache {
|
|
compatible = "arm,arch-cache";
|
|
qcom,dump-size = <0x8800>;
|
|
};
|
|
|
|
L1_D_0: l1-dcache {
|
|
compatible = "arm,arch-cache";
|
|
qcom,dump-size = <0x9000>;
|
|
};
|
|
|
|
L2_TLB_0: l2-tlb {
|
|
qcom,dump-size = <0x5000>;
|
|
};
|
|
};
|
|
|
|
CPU1: cpu@100 {
|
|
device_type = "cpu";
|
|
compatible = "arm,armv8";
|
|
reg = <0x0 0x100>;
|
|
enable-method = "psci";
|
|
cpu-idle-states = <&SLVR_RAIL_OFF>;
|
|
capacity-dmips-mhz = <1024>;
|
|
next-level-cache = <&L2_1>;
|
|
L2_1: l2-cache {
|
|
compatible = "arm,arch-cache";
|
|
cache-level = <2>;
|
|
next-level-cache = <&L3_0>;
|
|
};
|
|
|
|
L1_I_100: l1-icache {
|
|
compatible = "arm,arch-cache";
|
|
qcom,dump-size = <0x8800>;
|
|
};
|
|
|
|
L1_D_100: l1-dcache {
|
|
compatible = "arm,arch-cache";
|
|
qcom,dump-size = <0x9000>;
|
|
};
|
|
|
|
L2_TLB_100: l2-tlb {
|
|
qcom,dump-size = <0x5000>;
|
|
};
|
|
};
|
|
|
|
CPU2: cpu@200 {
|
|
device_type = "cpu";
|
|
compatible = "arm,armv8";
|
|
reg = <0x0 0x200>;
|
|
enable-method = "psci";
|
|
cpu-idle-states = <&SLVR_RAIL_OFF>;
|
|
capacity-dmips-mhz = <1024>;
|
|
next-level-cache = <&L2_2>;
|
|
L2_2: l2-cache {
|
|
compatible = "arm,arch-cache";
|
|
cache-level = <2>;
|
|
next-level-cache = <&L3_0>;
|
|
};
|
|
|
|
L1_I_200: l1-icache {
|
|
compatible = "arm,arch-cache";
|
|
qcom,dump-size = <0x8800>;
|
|
};
|
|
|
|
L1_D_200: l1-dcache {
|
|
compatible = "arm,arch-cache";
|
|
qcom,dump-size = <0x9000>;
|
|
};
|
|
|
|
L2_TLB_200: l2-tlb {
|
|
qcom,dump-size = <0x5000>;
|
|
};
|
|
};
|
|
|
|
CPU3: cpu@300 {
|
|
device_type = "cpu";
|
|
compatible = "arm,armv8";
|
|
reg = <0x0 0x300>;
|
|
enable-method = "psci";
|
|
cpu-idle-states = <&SLVR_RAIL_OFF>;
|
|
capacity-dmips-mhz = <1024>;
|
|
next-level-cache = <&L2_3>;
|
|
L2_3: l2-cache {
|
|
compatible = "arm,arch-cache";
|
|
cache-level = <2>;
|
|
next-level-cache = <&L3_0>;
|
|
};
|
|
|
|
L1_I_300: l1-icache {
|
|
compatible = "arm,arch-cache";
|
|
qcom,dump-size = <0x8800>;
|
|
};
|
|
|
|
L1_D_300: l1-dcache {
|
|
compatible = "arm,arch-cache";
|
|
qcom,dump-size = <0x9000>;
|
|
};
|
|
|
|
L2_TLB_300: l2-tlb {
|
|
qcom,dump-size = <0x5000>;
|
|
};
|
|
};
|
|
|
|
CPU4: cpu@400 {
|
|
device_type = "cpu";
|
|
compatible = "arm,armv8";
|
|
reg = <0x0 0x400>;
|
|
enable-method = "psci";
|
|
cpu-idle-states = <&GOLD_RAIL_OFF>;
|
|
capacity-dmips-mhz = <1740>;
|
|
next-level-cache = <&L2_4>;
|
|
L2_4: l2-cache {
|
|
compatible = "arm,arch-cache";
|
|
cache-level = <2>;
|
|
next-level-cache = <&L3_0>;
|
|
qcom,dump-size = <0x88000>;
|
|
};
|
|
|
|
L1_I_400: l1-icache {
|
|
compatible = "arm,arch-cache";
|
|
qcom,dump-size = <0x11000>;
|
|
};
|
|
|
|
L1_D_400: l1-dcache {
|
|
compatible = "arm,arch-cache";
|
|
qcom,dump-size = <0x12000>;
|
|
};
|
|
|
|
L1_ITLB_400: l1-itlb {
|
|
qcom,dump-size = <0x300>;
|
|
};
|
|
|
|
L1_DTLB_400: l1-dtlb {
|
|
qcom,dump-size = <0x480>;
|
|
};
|
|
|
|
L2_TLB_400: l2-tlb {
|
|
qcom,dump-size = <0x7800>;
|
|
};
|
|
};
|
|
|
|
CPU5: cpu@500 {
|
|
device_type = "cpu";
|
|
compatible = "arm,armv8";
|
|
reg = <0x0 0x500>;
|
|
enable-method = "psci";
|
|
cpu-idle-states = <&GOLD_RAIL_OFF>;
|
|
capacity-dmips-mhz = <1740>;
|
|
next-level-cache = <&L2_5>;
|
|
L2_5: l2-cache {
|
|
compatible = "arm,arch-cache";
|
|
cache-level = <2>;
|
|
next-level-cache = <&L3_0>;
|
|
qcom,dump-size = <0x88000>;
|
|
};
|
|
|
|
L1_I_500: l1-icache {
|
|
compatible = "arm,arch-cache";
|
|
qcom,dump-size = <0x11000>;
|
|
};
|
|
|
|
L1_D_500: l1-dcache {
|
|
compatible = "arm,arch-cache";
|
|
qcom,dump-size = <0x12000>;
|
|
};
|
|
|
|
L1_ITLB_500: l1-itlb {
|
|
qcom,dump-size = <0x300>;
|
|
};
|
|
|
|
L1_DTLB_500: l1-dtlb {
|
|
qcom,dump-size = <0x480>;
|
|
};
|
|
|
|
L2_TLB_500: l2-tlb {
|
|
qcom,dump-size = <0x7800>;
|
|
};
|
|
};
|
|
|
|
CPU6: cpu@600 {
|
|
device_type = "cpu";
|
|
compatible = "arm,armv8";
|
|
reg = <0x0 0x600>;
|
|
enable-method = "psci";
|
|
cpu-idle-states = <&GOLD_RAIL_OFF>;
|
|
capacity-dmips-mhz = <1740>;
|
|
next-level-cache = <&L2_6>;
|
|
L2_6: l2-cache {
|
|
compatible = "arm,arch-cache";
|
|
cache-level = <2>;
|
|
next-level-cache = <&L3_0>;
|
|
qcom,dump-size = <0x88000>;
|
|
};
|
|
|
|
L1_I_600: l1-icache {
|
|
compatible = "arm,arch-cache";
|
|
qcom,dump-size = <0x11000>;
|
|
};
|
|
|
|
L1_D_600: l1-dcache {
|
|
compatible = "arm,arch-cache";
|
|
qcom,dump-size = <0x12000>;
|
|
};
|
|
|
|
L1_ITLB_600: l1-itlb {
|
|
qcom,dump-size = <0x300>;
|
|
};
|
|
|
|
L1_DTLB_600: l1-dtlb {
|
|
qcom,dump-size = <0x480>;
|
|
};
|
|
|
|
L2_TLB_600: l2-tlb {
|
|
qcom,dump-size = <0x7800>;
|
|
};
|
|
};
|
|
|
|
CPU7: cpu@700 {
|
|
device_type = "cpu";
|
|
compatible = "arm,armv8";
|
|
reg = <0x0 0x700>;
|
|
enable-method = "psci";
|
|
cpu-idle-states = <&GOLD_RAIL_OFF>;
|
|
capacity-dmips-mhz = <1740>;
|
|
next-level-cache = <&L2_7>;
|
|
L2_7: l2-cache {
|
|
compatible = "arm,arch-cache";
|
|
cache-level = <2>;
|
|
next-level-cache = <&L3_0>;
|
|
qcom,dump-size = <0x110000>;
|
|
};
|
|
|
|
L1_I_700: l1-icache {
|
|
compatible = "arm,arch-cache";
|
|
qcom,dump-size = <0x11000>;
|
|
};
|
|
|
|
L1_D_700: l1-dcache {
|
|
compatible = "arm,arch-cache";
|
|
qcom,dump-size = <0x12000>;
|
|
};
|
|
|
|
L1_ITLB_700: l1-itlb {
|
|
qcom,dump-size = <0x300>;
|
|
};
|
|
|
|
L1_DTLB_700: l1-dtlb {
|
|
qcom,dump-size = <0x480>;
|
|
};
|
|
|
|
L2_TLB_700: l2-tlb {
|
|
qcom,dump-size = <0x7800>;
|
|
};
|
|
};
|
|
|
|
cpu-map {
|
|
cluster0 {
|
|
core0 {
|
|
cpu = <&CPU0>;
|
|
};
|
|
|
|
core1 {
|
|
cpu = <&CPU1>;
|
|
};
|
|
|
|
core2 {
|
|
cpu = <&CPU2>;
|
|
};
|
|
|
|
core3 {
|
|
cpu = <&CPU3>;
|
|
};
|
|
};
|
|
|
|
cluster1 {
|
|
core0 {
|
|
cpu = <&CPU4>;
|
|
};
|
|
|
|
core1 {
|
|
cpu = <&CPU5>;
|
|
};
|
|
|
|
core2 {
|
|
cpu = <&CPU6>;
|
|
};
|
|
};
|
|
|
|
cluster2 {
|
|
core0 {
|
|
cpu = <&CPU7>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
psci {
|
|
compatible = "arm,psci-1.0";
|
|
method = "smc";
|
|
};
|
|
|
|
chosen { };
|
|
|
|
soc: soc { };
|
|
|
|
firmware: firmware { };
|
|
|
|
reserved_memory: reserved-memory {
|
|
#address-cells = <2>;
|
|
#size-cells = <2>;
|
|
ranges;
|
|
|
|
hyp_mem: hyp_mem {
|
|
no-map;
|
|
reg = <0x0 0x85700000 0x0 0x600000>;
|
|
};
|
|
|
|
xbl_mem: xbl_mem {
|
|
no-map;
|
|
reg = <0x0 0x85e00000 0x0 0x100000>;
|
|
};
|
|
|
|
aop_mem: memory@85f00000 {
|
|
reg = <0x0 0x85f00000 0x0 0x20000>;
|
|
no-map;
|
|
};
|
|
|
|
aop_cmd_db: memory@85f20000 {
|
|
compatible = "qcom,cmd-db";
|
|
reg = <0x0 0x85f20000 0x0 0x20000>;
|
|
no-map;
|
|
};
|
|
|
|
smem_region: smem {
|
|
no-map;
|
|
reg = <0x0 0x86000000 0x0 0x200000>;
|
|
};
|
|
|
|
removed_regions: removed_regions {
|
|
no-map;
|
|
reg = <0x0 0x86200000 0x0 0x5500000>;
|
|
};
|
|
|
|
pil_camera_mem: camera_region {
|
|
no-map;
|
|
reg = <0x0 0x8b700000 0x0 0x500000>;
|
|
};
|
|
|
|
pil_wlan_fw_mem: pil_wlan_fw_region {
|
|
no-map;
|
|
reg = <0x0 0x8bc00000 0x0 0x180000>;
|
|
};
|
|
|
|
pil_npu_mem: pil_npu_region {
|
|
no-map;
|
|
reg = <0x0 0x8bd80000 0x0 0x80000>;
|
|
};
|
|
|
|
pil_adsp_mem: pil_adsp_region {
|
|
no-map;
|
|
reg = <0x0 0x8be00000 0x0 0x1a00000>;
|
|
};
|
|
|
|
pil_modem_mem: modem_region {
|
|
no-map;
|
|
reg = <0x0 0x8d800000 0x0 0x9600000>;
|
|
};
|
|
|
|
pil_video_mem: pil_video_region {
|
|
no-map;
|
|
reg = <0x0 0x96e00000 0x0 0x500000>;
|
|
};
|
|
|
|
pil_slpi_mem: pil_slpi_region {
|
|
no-map;
|
|
reg = <0x0 0x97300000 0x0 0x1400000>;
|
|
};
|
|
|
|
pil_ipa_fw_mem: pil_ipa_fw_region {
|
|
no-map;
|
|
reg = <0x0 0x98700000 0x0 0x10000>;
|
|
};
|
|
|
|
pil_ipa_gsi_mem: pil_ipa_gsi_region {
|
|
no-map;
|
|
reg = <0x0 0x98710000 0x0 0x5000>;
|
|
};
|
|
|
|
pil_gpu_mem: pil_gpu_region {
|
|
no-map;
|
|
reg = <0x0 0x98715000 0x0 0x2000>;
|
|
};
|
|
|
|
pil_spss_mem: pil_spss_region {
|
|
no-map;
|
|
reg = <0x0 0x98800000 0x0 0x100000>;
|
|
};
|
|
|
|
pil_cdsp_mem: cdsp_regions {
|
|
no-map;
|
|
reg = <0x0 0x98900000 0x0 0x1400000>;
|
|
};
|
|
|
|
qseecom_mem: qseecom_region {
|
|
compatible = "shared-dma-pool";
|
|
no-map;
|
|
reg = <0x0 0x9e400000 0x0 0x1400000>;
|
|
};
|
|
|
|
cdsp_sec_mem: cdsp_sec_regions {
|
|
no-map;
|
|
reg = <0x0 0xa4c00000 0x0 0x3c00000>;
|
|
};
|
|
|
|
cont_splash_memory: cont_splash_region {
|
|
reg = <0x0 0x9c000000 0x0 0x2400000>;
|
|
label = "cont_splash_region";
|
|
};
|
|
|
|
disp_rdump_memory: disp_rdump_region {
|
|
reg = <0x0 0x9c000000 0x0 0x02400000>;
|
|
label = "disp_rdump_region";
|
|
};
|
|
|
|
adsp_mem: adsp_region {
|
|
compatible = "shared-dma-pool";
|
|
alloc-ranges = <0x0 0x00000000 0x0 0xffffffff>;
|
|
reusable;
|
|
alignment = <0x0 0x400000>;
|
|
size = <0x0 0x1000000>;
|
|
};
|
|
|
|
cdsp_mem: cdsp_region {
|
|
compatible = "shared-dma-pool";
|
|
alloc-ranges = <0x0 0x00000000 0x0 0xffffffff>;
|
|
reusable;
|
|
alignment = <0x0 0x400000>;
|
|
size = <0x0 0x400000>;
|
|
};
|
|
|
|
user_contig_mem: user_contig_region {
|
|
compatible = "shared-dma-pool";
|
|
alloc-ranges = <0x0 0x00000000 0x0 0xffffffff>;
|
|
reusable;
|
|
alignment = <0x0 0x400000>;
|
|
size = <0x0 0x1000000>;
|
|
};
|
|
|
|
qseecom_ta_mem: qseecom_ta_region {
|
|
compatible = "shared-dma-pool";
|
|
alloc-ranges = <0x0 0x00000000 0x0 0xffffffff>;
|
|
reusable;
|
|
alignment = <0x0 0x400000>;
|
|
size = <0x0 0x1000000>;
|
|
};
|
|
|
|
sp_mem: sp_region { /* SPSS-HLOS ION shared mem */
|
|
compatible = "shared-dma-pool";
|
|
alloc-ranges = <0x0 0x00000000 0x0 0xffffffff>;
|
|
reusable;
|
|
alignment = <0x0 0x400000>;
|
|
size = <0x0 0x800000>;
|
|
};
|
|
|
|
secure_display_memory: secure_display_region { /* Secure UI */
|
|
compatible = "shared-dma-pool";
|
|
alloc-ranges = <0x0 0x00000000 0x0 0xffffffff>;
|
|
reusable;
|
|
alignment = <0x0 0x400000>;
|
|
size = <0x0 0xA000000>;
|
|
};
|
|
|
|
dump_mem: mem_dump_region {
|
|
compatible = "shared-dma-pool";
|
|
reusable;
|
|
size = <0 0x2400000>;
|
|
};
|
|
|
|
/* global autoconfigured region for contiguous allocations */
|
|
linux,cma {
|
|
compatible = "shared-dma-pool";
|
|
alloc-ranges = <0x0 0x00000000 0x0 0xffffffff>;
|
|
reusable;
|
|
alignment = <0x0 0x400000>;
|
|
size = <0x0 0x2800000>;
|
|
linux,cma-default;
|
|
};
|
|
};
|
|
|
|
vendor: vendor {
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
ranges = <0 0 0 0xffffffff>;
|
|
compatible = "simple-bus";
|
|
};
|
|
|
|
qcom-secure-buffer {
|
|
compatible = "qcom,secure-buffer";
|
|
};
|
|
|
|
clocks {
|
|
xo_board: xo-board {
|
|
compatible = "fixed-clock";
|
|
#clock-cells = <0>;
|
|
clock-frequency = <38400000>;
|
|
clock-output-names = "xo_board";
|
|
};
|
|
|
|
sleep_clk: sleep-clk {
|
|
compatible = "fixed-clock";
|
|
#clock-cells = <0>;
|
|
clock-frequency = <32764>;
|
|
clock-output-names = "sleep_clk";
|
|
};
|
|
};
|
|
};
|
|
|
|
&soc {
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
ranges = <0 0 0 0xffffffff>;
|
|
compatible = "simple-bus";
|
|
|
|
intc: interrupt-controller@17a00000 {
|
|
compatible = "arm,gic-v3";
|
|
#interrupt-cells = <3>;
|
|
interrupt-controller;
|
|
#redistributor-regions = <1>;
|
|
redistributor-stride = <0x0 0x20000>;
|
|
reg = <0x17a00000 0x10000>, /* GICD */
|
|
<0x17a60000 0x100000>; /* GICR * 8 */
|
|
interrupts = <1 9 4>;
|
|
interrupt-parent = <&intc>;
|
|
};
|
|
|
|
pdc: interrupt-controller@b220000 {
|
|
compatible = "qcom,sm8150-pdc";
|
|
reg = <0xb220000 0x30000>, <0x17c000f0 0x64>;
|
|
qcom,pdc-ranges = <0 480 94>, <94 609 31>, <125 63 1>;
|
|
#interrupt-cells = <2>;
|
|
interrupt-parent = <&intc>;
|
|
interrupt-controller;
|
|
};
|
|
|
|
arch_timer: timer {
|
|
compatible = "arm,armv8-timer";
|
|
interrupts = <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
|
|
<GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
|
|
<GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
|
|
<GIC_PPI 0 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>;
|
|
clock-frequency = <19200000>;
|
|
};
|
|
|
|
timer@0x17c20000 {
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
ranges;
|
|
compatible = "arm,armv7-timer-mem";
|
|
reg = <0x17c20000 0x1000>;
|
|
clock-frequency = <19200000>;
|
|
|
|
frame@0x17c21000 {
|
|
frame-number = <0>;
|
|
interrupts = <0 8 0x4>,
|
|
<0 6 0x4>;
|
|
reg = <0x17c21000 0x1000>,
|
|
<0x17c22000 0x1000>;
|
|
};
|
|
|
|
frame@17c23000 {
|
|
frame-number = <1>;
|
|
interrupts = <0 9 0x4>;
|
|
reg = <0x17c23000 0x1000>;
|
|
status = "disabled";
|
|
};
|
|
|
|
frame@17c25000 {
|
|
frame-number = <2>;
|
|
interrupts = <0 10 0x4>;
|
|
reg = <0x17c25000 0x1000>;
|
|
status = "disabled";
|
|
};
|
|
|
|
frame@17c27000 {
|
|
frame-number = <3>;
|
|
interrupts = <0 11 0x4>;
|
|
reg = <0x17c26000 0x1000>;
|
|
status = "disabled";
|
|
};
|
|
|
|
frame@17c29000 {
|
|
frame-number = <4>;
|
|
interrupts = <0 12 0x4>;
|
|
reg = <0x17c29000 0x1000>;
|
|
status = "disabled";
|
|
};
|
|
|
|
frame@17c2b000 {
|
|
frame-number = <5>;
|
|
interrupts = <0 13 0x4>;
|
|
reg = <0x17c2b000 0x1000>;
|
|
status = "disabled";
|
|
};
|
|
|
|
frame@17c2d000 {
|
|
frame-number = <6>;
|
|
interrupts = <0 14 0x4>;
|
|
reg = <0x17c2d000 0x1000>;
|
|
status = "disabled";
|
|
};
|
|
};
|
|
|
|
qcom,msm-rtb {
|
|
compatible = "qcom,msm-rtb";
|
|
qcom,rtb-size = <0x100000>;
|
|
};
|
|
|
|
apps_rsc: rsc@18200000 {
|
|
label = "apps_rsc";
|
|
compatible = "qcom,rpmh-rsc";
|
|
reg = <0x18200000 0x10000>,
|
|
<0x18210000 0x10000>,
|
|
<0x18220000 0x10000>;
|
|
reg-names = "drv-0", "drv-1", "drv-2";
|
|
interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
|
|
qcom,tcs-offset = <0xd00>;
|
|
qcom,drv-id = <2>;
|
|
qcom,tcs-config = <ACTIVE_TCS 2>,
|
|
<SLEEP_TCS 3>,
|
|
<WAKE_TCS 3>,
|
|
<CONTROL_TCS 1>;
|
|
|
|
rpmhcc: clock-controller {
|
|
compatible = "qcom,sm8150-rpmh-clk";
|
|
#clock-cells = <1>;
|
|
clock-names = "xo";
|
|
clocks = <&xo_board>;
|
|
status = "okay";
|
|
};
|
|
|
|
system_pm {
|
|
compatible = "qcom,system-pm";
|
|
};
|
|
};
|
|
|
|
disp_rsc: rsc@af20000 {
|
|
label = "disp_rsc";
|
|
compatible = "qcom,rpmh-rsc";
|
|
reg = <0xaf20000 0x10000>;
|
|
reg-names = "drv-0";
|
|
interrupts = <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>;
|
|
qcom,tcs-offset = <0x1c00>;
|
|
qcom,drv-id = <0>;
|
|
qcom,tcs-config = <SLEEP_TCS 1>,
|
|
<WAKE_TCS 1>,
|
|
<ACTIVE_TCS 2>,
|
|
<CONTROL_TCS 0>;
|
|
|
|
};
|
|
|
|
gcc: clock-controller@100000 {
|
|
compatible = "qcom,gcc-sm8150";
|
|
reg = <0x00100000 0x1f0000>;
|
|
#clock-cells = <1>;
|
|
#reset-cells = <1>;
|
|
#power-domain-cells = <1>;
|
|
clock-names = "bi_tcxo",
|
|
"sleep_clk";
|
|
clocks = <&rpmhcc RPMH_CXO_CLK>,
|
|
<&sleep_clk>;
|
|
};
|
|
|
|
qupv3_id_1: geniqup@ac0000 {
|
|
compatible = "qcom,geni-se-qup";
|
|
reg = <0x00ac0000 0x6000>;
|
|
clock-names = "m-ahb", "s-ahb";
|
|
clocks = <&gcc 123>,
|
|
<&gcc 124>;
|
|
ranges;
|
|
#address-cells = <2>;
|
|
#size-cells = <2>;
|
|
status = "ok"
|
|
|
|
|
|
uart2: serial@a90000 {
|
|
compatible = "qcom,geni-debug-uart";
|
|
reg = <0x0 0x00a90000 0x0 0x4000>;
|
|
clock-names = "se";
|
|
clocks = <&gcc 105>;
|
|
interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>;
|
|
status = "ok"
|
|
};
|
|
};
|
|
|
|
tcsr_mutex_block: syscon@1f40000 {
|
|
compatible = "syscon";
|
|
reg = <0x1f40000 0x20000>;
|
|
};
|
|
|
|
tcsr_mutex: hwlock@1f40000 {
|
|
compatible = "qcom,tcsr-mutex";
|
|
syscon = <&tcsr_mutex_block 0 0x1000>;
|
|
#hwlock-cells = <1>;
|
|
};
|
|
|
|
smem: qcom,smem@8600000 {
|
|
compatible = "qcom,smem";
|
|
memory-region = <&smem_region>;
|
|
hwlocks = <&tcsr_mutex 3>;
|
|
};
|
|
|
|
apcs: syscon@17c0000c {
|
|
compatible = "syscon";
|
|
reg = <0x17c0000c 0x4>;
|
|
};
|
|
|
|
apss_shared: mailbox@17c00000 {
|
|
compatible = "qcom,sm8150-apss-shared";
|
|
reg = <0x17c00000 0x1000>;
|
|
|
|
#mbox-cells = <1>;
|
|
};
|
|
|
|
sp_scsr: mailbox@188501c {
|
|
compatible = "qcom,sm8150-spcs-global";
|
|
reg = <0x188501c 0x4>;
|
|
|
|
#mbox-cells = <1>;
|
|
};
|
|
|
|
sp_scsr_block: syscon@1880000 {
|
|
compatible = "syscon";
|
|
reg = <0x1880000 0x10000>;
|
|
};
|
|
|
|
intsp: qcom,qsee_irq {
|
|
compatible = "qcom,sm8150-qsee-irq";
|
|
|
|
syscon = <&sp_scsr_block>;
|
|
interrupts = <0 348 IRQ_TYPE_LEVEL_HIGH>,
|
|
<0 349 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
interrupt-names = "sp_ipc0",
|
|
"sp_ipc1";
|
|
|
|
interrupt-controller;
|
|
#interrupt-cells = <3>;
|
|
};
|
|
|
|
qcom,qsee_irq_bridge {
|
|
compatible = "qcom,qsee-ipc-irq-bridge";
|
|
|
|
qcom,qsee-ipc-irq-spss {
|
|
qcom,dev-name = "qsee_ipc_irq_spss";
|
|
label = "spss";
|
|
interrupt-parent = <&intsp>;
|
|
interrupts = <1 0 IRQ_TYPE_LEVEL_HIGH>;
|
|
};
|
|
};
|
|
|
|
qcom,glink {
|
|
compatible = "qcom,glink";
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
ranges;
|
|
|
|
glink_modem: modem {
|
|
qcom,remote-pid = <1>;
|
|
transport = "smem";
|
|
mboxes = <&apss_shared 12>;
|
|
mbox-names = "mpss_smem";
|
|
interrupts = <GIC_SPI 449 IRQ_TYPE_EDGE_RISING>;
|
|
|
|
label = "modem";
|
|
qcom,glink-label = "mpss";
|
|
|
|
qcom,modem_qrtr {
|
|
qcom,glink-channels = "IPCRTR";
|
|
qcom,low-latency;
|
|
qcom,intents = <0x800 5
|
|
0x2000 3
|
|
0x4400 2>;
|
|
};
|
|
|
|
qcom,msm_fastrpc_rpmsg {
|
|
compatible = "qcom,msm-fastrpc-rpmsg";
|
|
qcom,glink-channels = "fastrpcglink-apps-dsp";
|
|
qcom,intents = <0x64 64>;
|
|
};
|
|
|
|
qcom,modem_ds {
|
|
qcom,glink-channels = "DS";
|
|
qcom,intents = <0x4000 0x2>;
|
|
};
|
|
|
|
qcom,modem_glink_ssr {
|
|
qcom,glink-channels = "glink_ssr";
|
|
qcom,notify-edges = <&glink_adsp>,
|
|
<&glink_slpi>,
|
|
<&glink_cdsp>,
|
|
<&glink_spss>;
|
|
};
|
|
};
|
|
|
|
glink_adsp: adsp {
|
|
qcom,remote-pid = <2>;
|
|
transport = "smem";
|
|
mboxes = <&apss_shared 8>;
|
|
mbox-names = "adsp_smem";
|
|
interrupts = <GIC_SPI 156 IRQ_TYPE_EDGE_RISING>;
|
|
|
|
label = "adsp";
|
|
qcom,glink-label = "lpass";
|
|
cpu-affinity = <1 2>;
|
|
|
|
qcom,adsp_qrtr {
|
|
qcom,glink-channels = "IPCRTR";
|
|
qcom,intents = <0x800 5
|
|
0x2000 3
|
|
0x4400 2>;
|
|
};
|
|
|
|
qcom,apr_tal_rpmsg {
|
|
qcom,glink-channels = "apr_audio_svc";
|
|
qcom,intents = <0x200 20>;
|
|
};
|
|
|
|
qcom,msm_fastrpc_rpmsg {
|
|
compatible = "qcom,msm-fastrpc-rpmsg";
|
|
qcom,glink-channels = "fastrpcglink-apps-dsp";
|
|
qcom,intents = <0x64 64>;
|
|
};
|
|
|
|
qcom,adsp_glink_ssr {
|
|
qcom,glink-channels = "glink_ssr";
|
|
qcom,notify-edges = <&glink_modem>,
|
|
<&glink_slpi>,
|
|
<&glink_cdsp>;
|
|
};
|
|
};
|
|
|
|
glink_slpi: dsps {
|
|
qcom,remote-pid = <3>;
|
|
transport = "smem";
|
|
mboxes = <&apss_shared 24>;
|
|
mbox-names = "dsps_smem";
|
|
interrupts = <GIC_SPI 170 IRQ_TYPE_EDGE_RISING>;
|
|
|
|
label = "slpi";
|
|
qcom,glink-label = "dsps";
|
|
|
|
qcom,slpi_qrtr {
|
|
qcom,glink-channels = "IPCRTR";
|
|
qcom,low-latency;
|
|
qcom,intents = <0x800 5
|
|
0x2000 3
|
|
0x4400 2>;
|
|
};
|
|
|
|
qcom,msm_fastrpc_rpmsg {
|
|
compatible = "qcom,msm-fastrpc-rpmsg";
|
|
qcom,glink-channels = "fastrpcglink-apps-dsp";
|
|
qcom,intents = <0x64 64>;
|
|
};
|
|
|
|
qcom,slpi_glink_ssr {
|
|
qcom,glink-channels = "glink_ssr";
|
|
qcom,notify-edges = <&glink_modem>,
|
|
<&glink_adsp>,
|
|
<&glink_cdsp>;
|
|
};
|
|
};
|
|
|
|
glink_cdsp: cdsp {
|
|
qcom,remote-pid = <5>;
|
|
transport = "smem";
|
|
mboxes = <&apss_shared 4>;
|
|
mbox-names = "cdsp_smem";
|
|
interrupts = <GIC_SPI 574 IRQ_TYPE_EDGE_RISING>;
|
|
|
|
label = "cdsp";
|
|
qcom,glink-label = "cdsp";
|
|
|
|
qcom,cdsp_qrtr {
|
|
qcom,glink-channels = "IPCRTR";
|
|
qcom,intents = <0x800 5
|
|
0x2000 3
|
|
0x4400 2>;
|
|
};
|
|
|
|
qcom,msm_fastrpc_rpmsg {
|
|
compatible = "qcom,msm-fastrpc-rpmsg";
|
|
qcom,glink-channels = "fastrpcglink-apps-dsp";
|
|
qcom,intents = <0x64 64>;
|
|
};
|
|
|
|
qcom,msm_cdsprm_rpmsg {
|
|
compatible = "qcom,msm-cdsprm-rpmsg";
|
|
qcom,glink-channels = "cdsprmglink-apps-dsp";
|
|
qcom,intents = <0x20 12>;
|
|
|
|
qcom,cdsp-cdsp-l3-gov {
|
|
compatible = "qcom,cdsp-l3";
|
|
/* qcom,target-dev = <&cdsp_cdsp_l3_lat>;*/
|
|
};
|
|
|
|
msm_cdsp_rm: qcom,msm_cdsp_rm {
|
|
compatible = "qcom,msm-cdsp-rm";
|
|
qcom,qos-latency-us = <44>;
|
|
qcom,qos-maxhold-ms = <20>;
|
|
qcom,compute-cx-limit-en;
|
|
qcom,compute-priority-mode = <2>;
|
|
#cooling-cells = <2>;
|
|
};
|
|
|
|
msm_hvx_rm: qcom,msm_hvx_rm {
|
|
compatible = "qcom,msm-hvx-rm";
|
|
#cooling-cells = <2>;
|
|
};
|
|
};
|
|
|
|
qcom,cdsp_glink_ssr {
|
|
qcom,glink-channels = "glink_ssr";
|
|
qcom,notify-edges = <&glink_modem>,
|
|
<&glink_adsp>,
|
|
<&glink_slpi>;
|
|
};
|
|
};
|
|
|
|
glink_spss: spss {
|
|
qcom,remote-pid = <8>;
|
|
transport = "spss";
|
|
mboxes = <&sp_scsr 0>;
|
|
mbox-names = "spss_spss";
|
|
interrupt-parent = <&intsp>;
|
|
interrupts = <0 0 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
reg = <0x1885008 0x8>,
|
|
<0x1885010 0x4>;
|
|
reg-names = "qcom,spss-addr",
|
|
"qcom,spss-size";
|
|
|
|
label = "spss";
|
|
qcom,glink-label = "spss";
|
|
|
|
qcom,spss_glink_ssr {
|
|
qcom,glink-channels = "glink_ssr";
|
|
qcom,notify-edges = <&glink_modem>;
|
|
};
|
|
};
|
|
|
|
glink_spi_xprt_wdsp: wdsp {
|
|
transport = "spi";
|
|
tx-descriptors = <0x12000 0x12004>;
|
|
rx-descriptors = <0x1200c 0x12010>;
|
|
|
|
label = "wdsp";
|
|
qcom,glink-label = "wdsp";
|
|
|
|
qcom,wdsp_ctrl {
|
|
qcom,glink-channels = "g_glink_ctrl";
|
|
qcom,intents = <0x400 1>;
|
|
};
|
|
|
|
qcom,wdsp_ild {
|
|
qcom,glink-channels =
|
|
"g_glink_persistent_data_ild";
|
|
};
|
|
|
|
qcom,wdsp_nild {
|
|
qcom,glink-channels =
|
|
"g_glink_persistent_data_nild";
|
|
};
|
|
|
|
qcom,wdsp_data {
|
|
qcom,glink-channels = "g_glink_audio_data";
|
|
qcom,intents = <0x1000 2>;
|
|
};
|
|
|
|
qcom,diag_data {
|
|
qcom,glink-channels = "DIAG_DATA";
|
|
qcom,intents = <0x4000 2>;
|
|
};
|
|
|
|
qcom,diag_ctrl {
|
|
qcom,glink-channels = "DIAG_CTRL";
|
|
qcom,intents = <0x4000 1>;
|
|
};
|
|
|
|
qcom,diag_cmd {
|
|
qcom,glink-channels = "DIAG_CMD";
|
|
qcom,intents = <0x4000 1>;
|
|
};
|
|
};
|
|
};
|
|
|
|
qcom,glinkpkt {
|
|
compatible = "qcom,glinkpkt";
|
|
|
|
qcom,glinkpkt-at-mdm0 {
|
|
qcom,glinkpkt-edge = "mpss";
|
|
qcom,glinkpkt-ch-name = "DS";
|
|
qcom,glinkpkt-dev-name = "at_mdm0";
|
|
};
|
|
|
|
qcom,glinkpkt-apr-apps2 {
|
|
qcom,glinkpkt-edge = "adsp";
|
|
qcom,glinkpkt-ch-name = "apr_apps2";
|
|
qcom,glinkpkt-dev-name = "apr_apps2";
|
|
};
|
|
|
|
qcom,glinkpkt-data40-cntl {
|
|
qcom,glinkpkt-edge = "mpss";
|
|
qcom,glinkpkt-ch-name = "DATA40_CNTL";
|
|
qcom,glinkpkt-dev-name = "smdcntl8";
|
|
};
|
|
|
|
qcom,glinkpkt-data1 {
|
|
qcom,glinkpkt-edge = "mpss";
|
|
qcom,glinkpkt-ch-name = "DATA1";
|
|
qcom,glinkpkt-dev-name = "smd7";
|
|
};
|
|
|
|
qcom,glinkpkt-data4 {
|
|
qcom,glinkpkt-edge = "mpss";
|
|
qcom,glinkpkt-ch-name = "DATA4";
|
|
qcom,glinkpkt-dev-name = "smd8";
|
|
};
|
|
|
|
qcom,glinkpkt-data11 {
|
|
qcom,glinkpkt-edge = "mpss";
|
|
qcom,glinkpkt-ch-name = "DATA11";
|
|
qcom,glinkpkt-dev-name = "smd11";
|
|
};
|
|
};
|
|
|
|
qmp_aop: qcom,qmp-aop@c300000 {
|
|
compatible = "qcom,qmp-mbox";
|
|
reg = <0xc300000 0x1000>, <0x17c0000C 0x4>;
|
|
reg-names = "msgram", "irq-reg-base";
|
|
qcom,irq-mask = <0x1>;
|
|
interrupts = <GIC_SPI 389 IRQ_TYPE_EDGE_RISING>;
|
|
|
|
label = "aop";
|
|
qcom,early-boot;
|
|
priority = <0>;
|
|
mbox-desc-offset = <0x0>;
|
|
#mbox-cells = <1>;
|
|
};
|
|
|
|
qcom,smp2p_sleepstate {
|
|
compatible = "qcom,smp2p-sleepstate";
|
|
qcom,smem-states = <&sleepstate_smp2p_out 0>;
|
|
interrupt-parent = <&sleepstate_smp2p_in>;
|
|
interrupts = <0 0>;
|
|
interrupt-names = "smp2p-sleepstate-in";
|
|
};
|
|
};
|
|
|
|
&firmware {
|
|
scm {
|
|
compatible = "qcom,scm";
|
|
};
|
|
};
|
|
|
|
#include "sm8150-ion.dtsi"
|
|
#include "sm8150-pinctrl.dtsi"
|
|
#include "sm8150-regulator.dtsi"
|
|
#include "sm8150-pm.dtsi"
|
|
#include "sm8150-slpi-pinctrl.dtsi"
|
|
#include "sm8150-smp2p.dtsi"
|