65 lines
2.4 KiB
Plaintext
65 lines
2.4 KiB
Plaintext
Qualcomm MSMTITANIUM CPU clock tree
|
|
|
|
clock-cpu-titanium is a device that represents the MSMTITANIUM CPU subystem clock
|
|
tree. It lists the various power supplies that need to be scaled when the
|
|
clocks are scaled and also other HW specific parameters like fmax tables etc.
|
|
|
|
The root clock generator could have the ramp controller in built.
|
|
Ramp control will allow programming the sequence ID for pulse swallowing,
|
|
enable sequence and for linking sequence IDs.
|
|
|
|
Required properties:
|
|
- compatible: Must be "qcom,clock-cpu-titanium".
|
|
|
|
- reg: Pairs of physical base addresses and region sizes of
|
|
memory mapped registers.
|
|
- reg-names: Names of the bases for the above registers. Expected
|
|
bases are:
|
|
"c0-pll", "c1-pll", "c0-mux", "c1-mux", "cci-mux",
|
|
"efuse", "perf_base"(optional), "rcgwr-c0-base(optional)",
|
|
"rcgwr-c1-base(optional)".
|
|
- clocks: The clocks sources used by the cluster/cci mux.
|
|
- clock-names: Name of the clocks for the above clocks.
|
|
- vdd-mx-supply: The regulator powering all the PLLs of clusters & cci.
|
|
- vdd-cl-supply: The regulator powering the clusters & cci.
|
|
- qcom,speedX-bin-vY-ZZZ:
|
|
A table of CPU frequency (Hz) to voltage (corner)
|
|
mapping that represents the max frequency possible
|
|
for each supported voltage level for a CPU. 'X' is
|
|
the speed bin into which the device falls into - a
|
|
bin will have unique frequency-voltage relationships.
|
|
'Y' is the characterization version, implying that
|
|
characterization (deciding what speed bin a device
|
|
falls into) methods and/or encoding may change. The
|
|
values 'X' and 'Y' are read from efuse registers, and
|
|
the right table is picked from multiple possible tables.
|
|
'ZZZ' can be cl for(c0 & c1) or cci depending on whether
|
|
the table for the clusters or cci.
|
|
Example:
|
|
clock_cpu: qcom,cpu-clock-titanium@b116000 {
|
|
compatible = "qcom,cpu-clock-titanium";
|
|
reg = <0xb114000 0x68>,
|
|
<0xb014000 0x68>,
|
|
<0xb116000 0x400>,
|
|
<0xb111050 0x08>,
|
|
<0xb011050 0x08>,
|
|
<0xb1d1050 0x08>,
|
|
<0x00a412c 0x08>;
|
|
reg-names = "rcgwr-c0-base", "rcgwr-c1-base",
|
|
"c0-pll", "c0-mux", "c1-mux",
|
|
"cci-mux", "efuse";
|
|
vdd-mx-supply = <&pmtitanium_s7_level_ao>;
|
|
vdd-cl-supply = <&apc_vreg_corner>;
|
|
clocks = <&clock_gcc clk_xo_a_clk_src>;
|
|
clock-names = "xo_a";
|
|
qcom,num-clusters = <2>;
|
|
qcom,speed0-bin-v0-cl =
|
|
< 0 0>,
|
|
< 2208000000 7>;
|
|
qcom,speed0-bin-v0-cci =
|
|
< 0 0>,
|
|
< 883200000 7>;
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
};
|