mirror of
https://github.com/oplus-giulia-dev/android_kernel_oneplus_sm8650-devicetrees
synced 2025-11-05 23:36:42 +08:00
ARM: dts: msm: Add initial device tree for Anorak IDP platform
Add device tree support for Anorak IDP platform. Change-Id: I78b34ac8dc8dde0dd743e25cd5ced13e110fd13e
This commit is contained in:
@@ -101,6 +101,9 @@ SoCs:
|
||||
- PINEAPPLE
|
||||
compatible = "qcom,pineapple", "qcom,pineapplep"
|
||||
|
||||
- ANORAK
|
||||
compatible = "qcom,anorak"
|
||||
|
||||
- NIOBE
|
||||
compatible = "qcom,niobe", "qcom,niobep"
|
||||
|
||||
@@ -371,6 +374,7 @@ compatible = "qcom,monaco_auto-adas-adp-star"
|
||||
compatible = "qcom,monaco_auto-ivi"
|
||||
compatible = "qcom,monaco_auto-ivi-adp-air"
|
||||
compatible = "qcom,monaco_auto-ivi-adp-star"
|
||||
compatible = "qcom,anorak-idp"
|
||||
compatible = "qcom,pitti-rumi"
|
||||
compatible = "qcom,pitti-idp"
|
||||
compatible = "qcom,pitti-atp"
|
||||
|
||||
@@ -132,6 +132,17 @@ niobe-dtb-$(CONFIG_ARCH_NIOBE) += \
|
||||
niobe-overlays-dtb-$(CONFIG_ARCH_NIOBE) += $(NIOBE_BOARDS) $(NOAPQ_NIOBE_BOARDS) $(NIOBE_BASE_DTB) $(NIOBE_APQ_BASE_DTB)
|
||||
dtb-y += $(niobe-dtb-y)
|
||||
|
||||
ANORAK_BASE_DTB += anorak.dtb
|
||||
|
||||
ANORAK_BOARDS += \
|
||||
anorak-idp-overlay.dtbo
|
||||
|
||||
anorak-dtb-$(CONFIG_ARCH_ANORAK) += \
|
||||
$(call add-overlays, $(ANORAK_BOARDS) ,$(ANORAK_BASE_DTB))
|
||||
|
||||
anorak-overlays-dtb-$(CONFIG_ARCH_ANORAK) += $(ANORAK_BOARDS) ${ANORAK_BASE_DTB)
|
||||
dtb-y += $(anorak-dtb-y)
|
||||
|
||||
BLAIR_BASE_DTB += blair.dtb
|
||||
BLAIR_APQ_BASE_DTB += blairp.dtb
|
||||
|
||||
|
||||
11
qcom/anorak-idp-overlay.dts
Normal file
11
qcom/anorak-idp-overlay.dts
Normal file
@@ -0,0 +1,11 @@
|
||||
/dts-v1/;
|
||||
/plugin/;
|
||||
|
||||
#include "anorak-idp.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Qualcomm Technologies, Inc. Anorak IDP";
|
||||
compatible = "qcom,anorak-idp", "qcom,anorak", "qcom,idp";
|
||||
qcom,msm-id = <549 0x10000>,<649 0x10000>;
|
||||
qcom,board-id = <0x10022 0x0>;
|
||||
};
|
||||
10
qcom/anorak-idp.dts
Normal file
10
qcom/anorak-idp.dts
Normal file
@@ -0,0 +1,10 @@
|
||||
/dts-v1/;
|
||||
|
||||
#include "anorak.dtsi"
|
||||
#include "anorak-idp.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Qualcomm Technologies, Inc. Anorak IDP";
|
||||
compatible = "qcom,anorak-idp", "qcom,anorak", "qcom,idp";
|
||||
qcom,board-id = <0x10022 0x0>;
|
||||
};
|
||||
2
qcom/anorak-idp.dtsi
Normal file
2
qcom/anorak-idp.dtsi
Normal file
@@ -0,0 +1,2 @@
|
||||
&soc {
|
||||
};
|
||||
9
qcom/anorak.dts
Normal file
9
qcom/anorak.dts
Normal file
@@ -0,0 +1,9 @@
|
||||
/dts-v1/;
|
||||
|
||||
#include "anorak.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Qualcomm Technologies, Inc. Anorak SoC";
|
||||
compatible = "qcom,anorak";
|
||||
qcom,board-id = <0 0>;
|
||||
};
|
||||
299
qcom/anorak.dtsi
Normal file
299
qcom/anorak.dtsi
Normal file
@@ -0,0 +1,299 @@
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
|
||||
/ {
|
||||
model = "Qualcomm Technologies, Inc. Anorak";
|
||||
compatible = "qcom,anorak";
|
||||
qcom,msm-id = <549 0x10000>;
|
||||
interrupt-parent = <&intc>;
|
||||
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
memory { device_type = "memory"; reg = <0 0 0 0>; };
|
||||
|
||||
|
||||
chosen: chosen { };
|
||||
|
||||
aliases: aliases { };
|
||||
|
||||
cpus {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <0>;
|
||||
|
||||
CPU0: cpu@0 {
|
||||
device_type = "cpu";
|
||||
compatible = "qcom,kryo";
|
||||
reg = <0x0 0x0>;
|
||||
cpu-idle-states = <&GOLD_CPU_OFF &GOLD_CPU_RAIL_OFF>;
|
||||
power-domains = <&CPU_PD0>;
|
||||
power-domain-names = "psci";
|
||||
enable-method = "psci";
|
||||
next-level-cache = <&L2_0>;
|
||||
capacity-dmips-mhz = <1024>;
|
||||
dynamic-power-coefficient = <100>;
|
||||
#cooling-cells = <2>;
|
||||
//qcom,freq-domain = <&cpufreq_hw 0 2>;
|
||||
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>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
CPU1: cpu@100 {
|
||||
device_type = "cpu";
|
||||
compatible = "qcom,kryo";
|
||||
reg = <0x0 0x100>;
|
||||
enable-method = "psci";
|
||||
cpu-idle-states = <&GOLD_CPU_OFF &GOLD_CPU_RAIL_OFF>;
|
||||
power-domains = <&CPU_PD1>;
|
||||
power-domain-names = "psci";
|
||||
next-level-cache = <&L2_1>;
|
||||
capacity-dmips-mhz = <1024>;
|
||||
dynamic-power-coefficient = <100>;
|
||||
#cooling-cells = <2>;
|
||||
//qcom,freq-domain = <&cpufreq_hw 0 2>;
|
||||
L2_1: l2-cache {
|
||||
compatible = "arm,arch-cache";
|
||||
cache-level = <2>;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
CPU2: cpu@200 {
|
||||
device_type = "cpu";
|
||||
compatible = "qcom,kryo";
|
||||
reg = <0x0 0x200>;
|
||||
enable-method = "psci";
|
||||
cpu-idle-states = <&GOLD_PLUS_CPU_OFF &GOLD_PLUS_CPU_RAIL_OFF>;
|
||||
power-domains = <&CPU_PD2>;
|
||||
power-domain-names = "psci";
|
||||
next-level-cache = <&L2_2>;
|
||||
capacity-dmips-mhz = <1075>;
|
||||
dynamic-power-coefficient = <109>;
|
||||
#cooling-cells = <2>;
|
||||
///qcom,freq-domain = <&cpufreq_hw 1 4>;
|
||||
L2_2: l2-cache {
|
||||
compatible = "arm,arch-cache";
|
||||
cache-level = <2>;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
|
||||
CPU3: cpu@300 {
|
||||
device_type = "cpu";
|
||||
compatible = "qcom,kryo";
|
||||
reg = <0x0 0x300>;
|
||||
enable-method = "psci";
|
||||
cpu-idle-states = <&GOLD_PLUS_CPU_OFF &GOLD_PLUS_CPU_RAIL_OFF>;
|
||||
power-domains = <&CPU_PD3>;
|
||||
power-domain-names = "psci";
|
||||
next-level-cache = <&L2_3>;
|
||||
capacity-dmips-mhz = <1075>;
|
||||
dynamic-power-coefficient = <109>;
|
||||
#cooling-cells = <2>;
|
||||
//qcom,freq-domain = <&cpufreq_hw 1 4>;
|
||||
L2_3: l2-cache {
|
||||
compatible = "arm,arch-cache";
|
||||
cache-level = <2>;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
CPU4: cpu@400 {
|
||||
device_type = "cpu";
|
||||
compatible = "qcom,kryo";
|
||||
reg = <0x0 0x400>;
|
||||
enable-method = "psci";
|
||||
cpu-idle-states = <&GOLD_PLUS_CPU_OFF &GOLD_PLUS_CPU_RAIL_OFF>;
|
||||
power-domains = <&CPU_PD4>;
|
||||
power-domain-names = "psci";
|
||||
next-level-cache = <&L2_4>;
|
||||
capacity-dmips-mhz = <1075>;
|
||||
dynamic-power-coefficient = <109>;
|
||||
#cooling-cells = <2>;
|
||||
//qcom,freq-domain = <&cpufreq_hw 1 4>;
|
||||
L2_4: l2-cache {
|
||||
compatible = "arm,arch-cache";
|
||||
cache-level = <2>;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
|
||||
CPU5: cpu@500 {
|
||||
device_type = "cpu";
|
||||
compatible = "qcom,kryo";
|
||||
reg = <0x0 0x500>;
|
||||
enable-method = "psci";
|
||||
cpu-idle-states = <&GOLD_PLUS_CPU_OFF &GOLD_PLUS_CPU_RAIL_OFF>;
|
||||
power-domains = <&CPU_PD5>;
|
||||
power-domain-names = "psci";
|
||||
next-level-cache = <&L2_5>;
|
||||
capacity-dmips-mhz = <1075>;
|
||||
dynamic-power-coefficient = <109>;
|
||||
#cooling-cells = <2>;
|
||||
//qcom,freq-domain = <&cpufreq_hw 1 4>;
|
||||
L2_5: l2-cache {
|
||||
compatible = "arm,arch-cache";
|
||||
cache-level = <2>;
|
||||
next-level-cache = <&L3_0>;
|
||||
};
|
||||
};
|
||||
|
||||
cpu-map {
|
||||
cluster0 {
|
||||
core0 {
|
||||
cpu = <&CPU0>;
|
||||
};
|
||||
|
||||
core1 {
|
||||
cpu = <&CPU1>;
|
||||
};
|
||||
};
|
||||
|
||||
cluster1 {
|
||||
core0 {
|
||||
cpu = <&CPU2>;
|
||||
};
|
||||
|
||||
core1 {
|
||||
cpu = <&CPU3>;
|
||||
};
|
||||
|
||||
core2 {
|
||||
cpu = <&CPU4>;
|
||||
};
|
||||
|
||||
core3 {
|
||||
cpu = <&CPU5>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
idle-states {
|
||||
GOLD_CPU_OFF: gold-c3 { /* C3 */
|
||||
compatible = "arm,idle-state";
|
||||
idle-state-name = "pc";
|
||||
entry-latency-us = <400>;
|
||||
exit-latency-us = <1400>;
|
||||
min-residency-us = <2207>;
|
||||
arm,psci-suspend-param = <0x40000003>;
|
||||
local-timer-stop;
|
||||
};
|
||||
|
||||
GOLD_CPU_RAIL_OFF: gold-c4 { /* C4 */
|
||||
compatible = "arm,idle-state";
|
||||
idle-state-name = "rail-pc";
|
||||
entry-latency-us = <600>;
|
||||
exit-latency-us = <1300>;
|
||||
min-residency-us = <8136>;
|
||||
arm,psci-suspend-param = <0x40000004>;
|
||||
local-timer-stop;
|
||||
};
|
||||
|
||||
GOLD_PLUS_CPU_OFF: gold-plus-c3 { /* C3 */
|
||||
compatible = "arm,idle-state";
|
||||
idle-state-name = "pc";
|
||||
entry-latency-us = <300>;
|
||||
exit-latency-us = <1450>;
|
||||
min-residency-us = <3230>;
|
||||
arm,psci-suspend-param = <0x40000003>;
|
||||
local-timer-stop;
|
||||
};
|
||||
|
||||
GOLD_PLUS_CPU_RAIL_OFF: gold-plus-c4 { /* C4 */
|
||||
compatible = "arm,idle-state";
|
||||
idle-state-name = "rail-pc";
|
||||
entry-latency-us = <500>;
|
||||
exit-latency-us = <1350>;
|
||||
min-residency-us = <7480>;
|
||||
arm,psci-suspend-param = <0x40000004>;
|
||||
local-timer-stop;
|
||||
};
|
||||
|
||||
CLUSTER_PWR_DN: cluster-d4 { /* D4 */
|
||||
compatible = "domain-idle-state";
|
||||
idle-state-name = "l3-off";
|
||||
entry-latency-us = <1050>;
|
||||
exit-latency-us = <2500>;
|
||||
min-residency-us = <9309>;
|
||||
arm,psci-suspend-param = <0x41000044>;
|
||||
};
|
||||
|
||||
APSS_OFF: cluster-e3 { /* E3 */
|
||||
compatible = "domain-idle-state";
|
||||
idle-state-name = "llcc-off";
|
||||
entry-latency-us = <2700>;
|
||||
exit-latency-us = <3500>;
|
||||
min-residency-us = <13959>;
|
||||
arm,psci-suspend-param = <0x4100c344>;
|
||||
};
|
||||
};
|
||||
|
||||
soc: soc { };
|
||||
};
|
||||
|
||||
&soc {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges = <0 0 0 0xffffffff>;
|
||||
compatible = "simple-bus";
|
||||
|
||||
psci {
|
||||
compatible = "arm,psci-1.0";
|
||||
method = "smc";
|
||||
|
||||
CPU_PD0: cpu-pd0 {
|
||||
#power-domain-cells = <0>;
|
||||
power-domains = <&CLUSTER_PD>;
|
||||
};
|
||||
|
||||
CPU_PD1: cpu-pd1 {
|
||||
#power-domain-cells = <0>;
|
||||
power-domains = <&CLUSTER_PD>;
|
||||
};
|
||||
|
||||
CPU_PD2: cpu-pd2 {
|
||||
#power-domain-cells = <0>;
|
||||
power-domains = <&CLUSTER_PD>;
|
||||
};
|
||||
|
||||
CPU_PD3: cpu-pd3 {
|
||||
#power-domain-cells = <0>;
|
||||
power-domains = <&CLUSTER_PD>;
|
||||
};
|
||||
|
||||
CPU_PD4: cpu-pd4 {
|
||||
#power-domain-cells = <0>;
|
||||
power-domains = <&CLUSTER_PD>;
|
||||
};
|
||||
|
||||
CPU_PD5: cpu-pd5 {
|
||||
#power-domain-cells = <0>;
|
||||
power-domains = <&CLUSTER_PD>;
|
||||
};
|
||||
|
||||
CLUSTER_PD: cluster-pd {
|
||||
#power-domain-cells = <0>;
|
||||
domain-idle-states = <&CLUSTER_PWR_DN &APSS_OFF>;
|
||||
};
|
||||
};
|
||||
|
||||
intc: interrupt-controller@17200000 {
|
||||
compatible = "arm,gic-v3";
|
||||
#interrupt-cells = <3>;
|
||||
interrupt-controller;
|
||||
#redistributor-regions = <1>;
|
||||
redistributor-stride = <0x0 0x20000>;
|
||||
reg = <0x17200000 0x10000>, /* GICD */
|
||||
<0x17260000 0x100000>; /* GICR * 8 */
|
||||
interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_LOW>;
|
||||
};
|
||||
};
|
||||
@@ -181,6 +181,11 @@ _platform_map = {
|
||||
],
|
||||
"binary_compatible_with": ["cliffs", "volcano"],
|
||||
},
|
||||
"anorak": {
|
||||
"dtb_list": [
|
||||
{"name": "anorak.dtb"},
|
||||
],
|
||||
},
|
||||
"niobe": {
|
||||
"dtb_list": [
|
||||
{"name": "niobe.dtb"},
|
||||
|
||||
Reference in New Issue
Block a user