android_kernel_samsung_msm8976/arch/arm/boot/dts/qcom/msm8939-v3.0.dtsi

472 lines
10 KiB
Plaintext

/*
* Copyright (c) 2015, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
* only version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
#include "skeleton64.dtsi"
#include <dt-bindings/clock/msm-clocks-8936.h>
#include <dt-bindings/clock/msm-cpu-clocks-8939.h>
#include "msm8939-common.dtsi"
#include "msm8939-coresight.dtsi"
#include "msm8939-cpu.dtsi"
#include "msm8939-v3.0-pm.dtsi"
#include "msm8939-smem.dtsi"
#include "msm8939-smp2p.dtsi"
/ {
model = "Qualcomm Technologies, Inc. MSM8939v3.0";
compatible = "qcom,msm8939";
qcom,msm-id = <239 0x30000>, <241 0x30000>, <263 0x30000>;
chosen {
bootargs = "boot_cpus=0,4,5,6,7 sched_enable_hmp=1";
};
};
&soc {
timer {
compatible = "arm,armv7-timer";
interrupts = <1 2 0xff08>,
<1 3 0xff08>,
<1 4 0xff08>,
<1 1 0xff08>;
clock-frequency = <19200000>;
};
clock_cpu: qcom,cpu-clock-8939@b111050 {
compatible = "qcom,cpu-clock-8939";
reg = <0xb111050 0x8>,
<0xb011050 0x8>,
<0xb1d1050 0x8>,
<0x5800c 0x8>,
<0x58000 0x8>,
<0x58004 0x8>;
reg-names = "apcs-c0-rcg-base", "apcs-c1-rcg-base",
"apcs-cci-rcg-base", "efuse", "efuse1",
"efuse2";
vdd-c0-supply = <&apc_vreg_corner>;
vdd-c1-supply = <&apc_vreg_corner>;
vdd-cci-supply = <&apc_vreg_corner>;
clocks = <&clock_gcc clk_gpll0_ao>,
<&clock_gcc clk_a53ss_c0_pll>,
<&clock_gcc clk_gpll0_ao>,
<&clock_gcc clk_a53ss_c1_pll>,
<&clock_gcc clk_gpll0_ao>,
<&clock_gcc clk_a53ss_cci_pll>;
clock-names = "clk-c0-4", "clk-c0-5",
"clk-c1-4", "clk-c1-5",
"clk-cci-4", "clk-cci-5";
qcom,speed0-bin-v0-c0 =
< 0 0>,
< 250000000 3>,
< 500000000 9>,
< 800000000 12>,
< 998400000 17>,
< 1209600000 24>;
qcom,speed0-bin-v0-c1 =
< 0 0>,
< 400000000 3>,
< 800000000 9>,
< 960000000 12>,
< 1209600000 14>,
< 1344000000 17>;
qcom,speed0-bin-v0-cci =
< 0 0>,
< 200000000 3>,
< 300000000 11>,
< 400000000 15>,
< 600000000 17>;
qcom,speed2-bin-v0-c0 =
< 0 0>,
< 250000000 3>,
< 500000000 9>,
< 800000000 12>,
< 998400000 17>,
< 1209600000 24>;
qcom,speed2-bin-v0-c1 =
< 0 0>,
< 400000000 3>,
< 800000000 9>,
< 960000000 12>,
< 1209600000 14>,
< 1344000000 17>,
< 1459200000 20>,
< 1497600000 21>;
qcom,speed2-bin-v0-cci =
< 0 0>,
< 200000000 3>,
< 300000000 11>,
< 400000000 15>,
< 600000000 17>;
qcom,speed2-bin-v2-c0 =
< 0 0>,
< 250000000 3>,
< 500000000 9>,
< 800000000 12>,
< 998400000 17>,
< 1209600000 24>;
qcom,speed2-bin-v2-c1 =
< 0 0>,
< 400000000 3>,
< 800000000 9>,
< 960000000 12>,
< 1344000000 17>,
< 1459200000 20>;
qcom,speed2-bin-v2-cci =
< 0 0>,
< 200000000 3>,
< 300000000 11>,
< 400000000 15>,
< 600000000 17>;
qcom,speed4-bin-v0-c0 =
< 0 0>,
< 250000000 3>,
< 500000000 9>,
< 800000000 12>,
< 998400000 17>,
< 1209600000 24>;
qcom,speed4-bin-v0-c1 =
< 0 0>,
< 400000000 3>,
< 800000000 9>,
< 960000000 12>,
< 1209600000 14>,
< 1344000000 17>,
< 1459200000 20>,
< 1497600000 21>,
< 1651200000 26>;
qcom,speed4-bin-v0-cci =
< 0 0>,
< 200000000 3>,
< 300000000 11>,
< 400000000 15>,
< 600000000 17>;
qcom,speed5-bin-v0-c0 =
< 0 0>,
< 250000000 3>,
< 500000000 9>,
< 800000000 12>,
< 998400000 17>,
< 1209600000 24>;
qcom,speed5-bin-v0-c1 =
< 0 0>,
< 400000000 3>,
< 800000000 9>,
< 960000000 12>,
< 1209600000 14>,
< 1344000000 17>,
< 1459200000 20>,
< 1497600000 21>,
< 1651200000 26>;
qcom,speed5-bin-v0-cci =
< 0 0>,
< 200000000 3>,
< 300000000 11>,
< 400000000 15>,
< 600000000 17>;
qcom,speed5-bin-v6-c0 =
< 0 0>,
< 250000000 3>,
< 500000000 9>,
< 800000000 12>,
< 998400000 17>,
< 1209600000 24>;
qcom,speed5-bin-v6-c1 =
< 0 0>,
< 400000000 3>,
< 800000000 9>,
< 960000000 12>,
< 1209600000 14>,
< 1344000000 17>,
< 1459200000 20>,
< 1497600000 21>,
< 1651200000 26>;
qcom,speed5-bin-v6-cci =
< 0 0>,
< 200000000 3>,
< 300000000 11>,
< 400000000 15>,
< 600000000 17>;
#clock-cells = <1>;
};
cci_cache: qcom,cci {
compatible = "devfreq-simple-dev";
clock-names = "devfreq_clk";
clocks = <&clock_cpu clk_a53ssmux_cci>;
governor = "cpufreq";
freq-tbl-khz =
< 200000 >,
< 297600 >,
< 400000 >,
< 595200 >;
};
cpubw: qcom,cpubw {
compatible = "qcom,devbw";
governor = "cpufreq";
qcom,src-dst-ports = <1 512>;
qcom,active-only;
qcom,bw-tbl =
< 1525 /* 100 MHz */ >,
< 2636 /* 172.8 MHz */ >,
< 3955 /* 259.2 MHz */ >,
< 5346 /* 350.4 MHz */ >,
< 5712 /* 374.4 MHz */ >,
< 6079 /* 398.4 MHz */ >;
};
devfreq-cpufreq {
cpubw-cpufreq {
target-dev = <&cpubw>;
cpu-to-dev-map-0 =
< 200000 1525 >,
< 800000 2636 >,
< 1209600 5346 >,
< 1651200 6079 >;
cpu-to-dev-map-4 =
< 200000 1525 >,
< 499200 2636 >,
< 800000 5346 >,
< 1209600 6079 >;
};
cci-cpufreq {
target-dev = <&cci_cache>;
cpu-to-dev-map-0 =
< 200000 200000 >,
< 400000 200000 >,
< 1209600 297000 >,
< 1651200 595200 >;
cpu-to-dev-map-4 =
< 200000 200000 >,
< 249600 200000 >,
< 800000 297600 >,
< 1209600 595200 >;
};
};
qcom,msm-cpufreq {
compatible = "qcom,msm-cpufreq";
clock-names = "l2_clk", "cpu0_clk", "cpu1_clk", "cpu2_clk",
"cpu3_clk", "cpu4_clk", "cpu5_clk",
"cpu6_clk", "cpu7_clk";
clocks = <&clock_cpu clk_a53ssmux_cci>,
<&clock_cpu clk_a53ssmux_bc>,
<&clock_cpu clk_a53ssmux_bc>,
<&clock_cpu clk_a53ssmux_bc>,
<&clock_cpu clk_a53ssmux_bc>,
<&clock_cpu clk_a53ssmux_lc>,
<&clock_cpu clk_a53ssmux_lc>,
<&clock_cpu clk_a53ssmux_lc>,
<&clock_cpu clk_a53ssmux_lc>;
qcom,governor-per-policy;
qcom,cpufreq-table-0 =
< 200000 >,
< 345600 >,
< 400000 >,
< 533330 >,
< 800000 >,
< 960000 >,
< 1209600 >,
< 1344000 >,
< 1459200 >,
< 1497600 >,
< 1612800 >,
< 1651200 >;
qcom,cpufreq-table-4 =
< 200000 >,
< 249600 >,
< 499200 >,
< 800000 >,
< 998400 >,
< 1209600 >;
};
cpu-pmu {
compatible = "arm,armv8-pmuv3";
qcom,irq-is-percpu;
interrupts = <1 7 0xff00>;
};
jtag_fuse: jtagfuse@5e01c {
compatible = "qcom,jtag-fuse-v2";
reg = <0x5e01c 0x8>;
reg-names = "fuse-base";
};
jtag_mm0: jtagmm@8fc000 {
compatible = "qcom,jtagv8-mm";
reg = <0x8fc000 0x1000>,
<0x8f0000 0x1000>;
reg-names = "etm-base", "debug-base";
clocks = <&clock_rpm clk_qdss_clk>,
<&clock_rpm clk_qdss_a_clk>;
clock-names = "core_clk", "core_a_clk";
qcom,coresight-jtagmm-cpu = <&CPU0>;
};
jtag_mm1: jtagmm@8fd000 {
compatible = "qcom,jtagv8-mm";
reg = <0x8fd000 0x1000>,
<0x8f2000 0x1000>;
reg-names = "etm-base", "debug-base";
clocks = <&clock_rpm clk_qdss_clk>,
<&clock_rpm clk_qdss_a_clk>;
clock-names = "core_clk", "core_a_clk";
qcom,coresight-jtagmm-cpu = <&CPU1>;
};
jtag_mm2: jtagmm@8fe000 {
compatible = "qcom,jtagv8-mm";
reg = <0x8fe000 0x1000>,
<0x8f4000 0x1000>;
reg-names = "etm-base", "debug-base";
clocks = <&clock_rpm clk_qdss_clk>,
<&clock_rpm clk_qdss_a_clk>;
clock-names = "core_clk", "core_a_clk";
qcom,coresight-jtagmm-cpu = <&CPU2>;
};
jtag_mm3: jtagmm@8ff000 {
compatible = "qcom,jtagv8-mm";
reg = <0x8ff000 0x1000>,
<0x8f6000 0x1000>;
reg-names = "etm-base", "debug-base";
clocks = <&clock_rpm clk_qdss_clk>,
<&clock_rpm clk_qdss_a_clk>;
clock-names = "core_clk", "core_a_clk";
qcom,coresight-jtagmm-cpu = <&CPU3>;
};
jtag_mm4: jtagmm@8dc000 {
compatible = "qcom,jtagv8-mm";
reg = <0x8dc000 0x1000>,
<0x8d0000 0x1000>;
reg-names = "etm-base", "debug-base";
clocks = <&clock_rpm clk_qdss_clk>,
<&clock_rpm clk_qdss_a_clk>;
clock-names = "core_clk", "core_a_clk";
qcom,coresight-jtagmm-cpu = <&CPU4>;
};
jtag_mm5: jtagmm@8dd000 {
compatible = "qcom,jtagv8-mm";
reg = <0x8dd000 0x1000>,
<0x8d2000 0x1000>;
reg-names = "etm-base", "debug-base";
clocks = <&clock_rpm clk_qdss_clk>,
<&clock_rpm clk_qdss_a_clk>;
clock-names = "core_clk", "core_a_clk";
qcom,coresight-jtagmm-cpu = <&CPU5>;
};
jtag_mm6: jtagmm@8de000 {
compatible = "qcom,jtagv8-mm";
reg = <0x8de000 0x1000>,
<0x8d4000 0x1000>;
reg-names = "etm-base", "debug-base";
clocks = <&clock_rpm clk_qdss_clk>,
<&clock_rpm clk_qdss_a_clk>;
clock-names = "core_clk", "core_a_clk";
qcom,coresight-jtagmm-cpu = <&CPU6>;
};
jtag_mm7: jtagmm@8df000 {
compatible = "qcom,jtagv8-mm";
reg = <0x8df000 0x1000>,
<0x8d6000 0x1000>;
reg-names = "etm-base", "debug-base";
clocks = <&clock_rpm clk_qdss_clk>,
<&clock_rpm clk_qdss_a_clk>;
clock-names = "core_clk", "core_a_clk";
qcom,coresight-jtagmm-cpu = <&CPU7>;
};
qcom,msm-thermal {
qcom,freq-control-list = <&CPU0 &CPU1 &CPU2 &CPU3
&CPU4 &CPU5 &CPU6 &CPU7>;
qcom,core-control-list = <&CPU0 &CPU1 &CPU2 &CPU3
&CPU4 &CPU5 &CPU6 &CPU7>;
qcom,freq-mitigation-control-list = <&CPU0 &CPU1 &CPU2 &CPU3
&CPU4 &CPU5 &CPU6 &CPU7>;
};
};
&tsens {
qcom,sensors = <10>;
qcom,slope = <2911 2789 2906 2763 2922 2867 2833 2838 2840 2852>;
qcom,sensor-id = <0 1 2 3 5 6 7 8 9 10>;
};
&bam_dmux {
qcom,no-cpu-affinity;
};
&mdss_dsi0 {
qcom,platform-regulator-settings = [03 08 07 00 20 07 01];
/delete-node/ qcom,regulator-ldo-mode;
};
&mdss_dsi1 {
qcom,platform-regulator-settings = [03 08 07 00 20 07 01];
/delete-node/ qcom,regulator-ldo-mode;
};
&clock_gcc {
compatible = "qcom,gcc-8936-v3";
};
&gdsc_oxili_gx {
clock-names = "core_root_clk", "gmem_clk";
clocks = <&clock_gcc clk_gfx3d_clk_src>,
<&clock_gcc clk_gcc_oxili_gmem_gate_clk>;
qcom,enable-root-clk;
status = "okay";
};