162306a36Sopenharmony_ciBinding for ST's CPUFreq driver
262306a36Sopenharmony_ci===============================
362306a36Sopenharmony_ci
462306a36Sopenharmony_ciST's CPUFreq driver attempts to read 'process' and 'version' attributes
562306a36Sopenharmony_cifrom the SoC, then supplies the OPP framework with 'prop' and 'supported
662306a36Sopenharmony_cihardware' information respectively.  The framework is then able to read
762306a36Sopenharmony_cithe DT and operate in the usual way.
862306a36Sopenharmony_ci
962306a36Sopenharmony_ciFrequency Scaling only
1062306a36Sopenharmony_ci----------------------
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ciNo vendor specific driver required for this.
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ciLocated in CPU's node:
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci- operating-points		: [See: ../power/opp-v1.yaml]
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ciExample [safe]
1962306a36Sopenharmony_ci--------------
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_cicpus {
2262306a36Sopenharmony_ci	cpu@0 {
2362306a36Sopenharmony_ci				 /* kHz     uV   */
2462306a36Sopenharmony_ci		operating-points = <1500000 0
2562306a36Sopenharmony_ci				    1200000 0
2662306a36Sopenharmony_ci				    800000  0
2762306a36Sopenharmony_ci				    500000  0>;
2862306a36Sopenharmony_ci	};
2962306a36Sopenharmony_ci};
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ciDynamic Voltage and Frequency Scaling (DVFS)
3262306a36Sopenharmony_ci--------------------------------------------
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ciThis requires the ST CPUFreq driver to supply 'process' and 'version' info.
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ciLocated in CPU's node:
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ci- operating-points-v2		: [See ../power/opp-v2.yaml]
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ciExample [unsafe]
4162306a36Sopenharmony_ci----------------
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_cicpus {
4462306a36Sopenharmony_ci	cpu@0 {
4562306a36Sopenharmony_ci		operating-points-v2	= <&cpu0_opp_table>;
4662306a36Sopenharmony_ci	};
4762306a36Sopenharmony_ci};
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_cicpu0_opp_table: opp_table {
5062306a36Sopenharmony_ci	compatible = "operating-points-v2";
5162306a36Sopenharmony_ci
5262306a36Sopenharmony_ci	/* ############################################################### */
5362306a36Sopenharmony_ci	/* # WARNING: Do not attempt to copy/replicate these nodes,      # */
5462306a36Sopenharmony_ci	/* #          they are only to be supplied by the bootloader !!! # */
5562306a36Sopenharmony_ci	/* ############################################################### */
5662306a36Sopenharmony_ci	opp0 {
5762306a36Sopenharmony_ci		/*			   Major       Minor       Substrate */
5862306a36Sopenharmony_ci		/*			   2           all         all       */
5962306a36Sopenharmony_ci		opp-supported-hw	= <0x00000004  0xffffffff  0xffffffff>;
6062306a36Sopenharmony_ci		opp-hz			= /bits/ 64 <1500000000>;
6162306a36Sopenharmony_ci		clock-latency-ns	= <10000000>;
6262306a36Sopenharmony_ci
6362306a36Sopenharmony_ci		opp-microvolt-pcode0	= <1200000>;
6462306a36Sopenharmony_ci		opp-microvolt-pcode1	= <1200000>;
6562306a36Sopenharmony_ci		opp-microvolt-pcode2	= <1200000>;
6662306a36Sopenharmony_ci		opp-microvolt-pcode3	= <1200000>;
6762306a36Sopenharmony_ci		opp-microvolt-pcode4	= <1170000>;
6862306a36Sopenharmony_ci		opp-microvolt-pcode5	= <1140000>;
6962306a36Sopenharmony_ci		opp-microvolt-pcode6	= <1100000>;
7062306a36Sopenharmony_ci		opp-microvolt-pcode7	= <1070000>;
7162306a36Sopenharmony_ci	};
7262306a36Sopenharmony_ci
7362306a36Sopenharmony_ci	opp1 {
7462306a36Sopenharmony_ci		/*			   Major       Minor       Substrate */
7562306a36Sopenharmony_ci		/*			   all         all         all       */
7662306a36Sopenharmony_ci		opp-supported-hw	= <0xffffffff  0xffffffff  0xffffffff>;
7762306a36Sopenharmony_ci		opp-hz			= /bits/ 64 <1200000000>;
7862306a36Sopenharmony_ci		clock-latency-ns	= <10000000>;
7962306a36Sopenharmony_ci
8062306a36Sopenharmony_ci		opp-microvolt-pcode0	= <1110000>;
8162306a36Sopenharmony_ci		opp-microvolt-pcode1	= <1150000>;
8262306a36Sopenharmony_ci		opp-microvolt-pcode2	= <1100000>;
8362306a36Sopenharmony_ci		opp-microvolt-pcode3	= <1080000>;
8462306a36Sopenharmony_ci		opp-microvolt-pcode4	= <1040000>;
8562306a36Sopenharmony_ci		opp-microvolt-pcode5	= <1020000>;
8662306a36Sopenharmony_ci		opp-microvolt-pcode6	= <980000>;
8762306a36Sopenharmony_ci		opp-microvolt-pcode7	= <930000>;
8862306a36Sopenharmony_ci	};
8962306a36Sopenharmony_ci};
90