* [PATCH] arm64: dts: mt8186: Update regulators voltages
@ 2024-10-18 9:42 Albert Jakieła
2024-10-21 3:45 ` Chen-Yu Tsai
0 siblings, 1 reply; 2+ messages in thread
From: Albert Jakieła @ 2024-10-18 9:42 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Matthias Brugger,
AngeloGioacchino Del Regno
Cc: devicetree, linux-kernel, linux-arm-kernel, linux-mediatek,
Albert Jakieła
Update minimum and maximum voltages and add
missing regulators.
Signed-off-by: Albert Jakieła <jakiela@google.com>
---
.../boot/dts/mediatek/mt8186-corsola.dtsi | 107 +++++++++++-------
1 file changed, 63 insertions(+), 44 deletions(-)
diff --git a/arch/arm64/boot/dts/mediatek/mt8186-corsola.dtsi b/arch/arm64/boot/dts/mediatek/mt8186-corsola.dtsi
index 682c6ad2574d..62158eac45d0 100644
--- a/arch/arm64/boot/dts/mediatek/mt8186-corsola.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8186-corsola.dtsi
@@ -1302,8 +1302,8 @@ mt6366_regulators: regulators {
vcore {
regulator-name = "pp0750_dvdd_core";
- regulator-min-microvolt = <550000>;
- regulator-max-microvolt = <800000>;
+ regulator-min-microvolt = <500000>;
+ regulator-max-microvolt = <1293750>;
regulator-ramp-delay = <6250>;
regulator-enable-ramp-delay = <200>;
regulator-allowed-modes = <MT6397_BUCK_MODE_AUTO
@@ -1313,8 +1313,8 @@ vcore {
mt6366_vdram1_reg: vdram1 {
regulator-name = "pp1125_emi_vdd2";
- regulator-min-microvolt = <1125000>;
- regulator-max-microvolt = <1125000>;
+ regulator-min-microvolt = <500000>;
+ regulator-max-microvolt = <2087500>;
regulator-ramp-delay = <12500>;
regulator-enable-ramp-delay = <0>;
regulator-allowed-modes = <MT6397_BUCK_MODE_AUTO
@@ -1322,6 +1322,16 @@ mt6366_vdram1_reg: vdram1 {
regulator-always-on;
};
+ mt6366_vpa_reg: vpa {
+ regulator-name = "ppvar_dvdd_vpa";
+ regulator-min-microvolt = <500000>;
+ regulator-max-microvolt = <3650000>;
+ regulator-ramp-delay = <50000>;
+ regulator-enable-ramp-delay = <250>;
+ regulator-allowed-modes = <MT6397_BUCK_MODE_AUTO
+ MT6397_BUCK_MODE_FORCE_PWM>;
+ };
+
mt6366_vgpu_reg: vgpu {
/*
* Called "ppvar_dvdd_gpu" in the schematic.
@@ -1330,19 +1340,17 @@ mt6366_vgpu_reg: vgpu {
*/
regulator-name = "ppvar_dvdd_vgpu";
regulator-min-microvolt = <500000>;
- regulator-max-microvolt = <950000>;
+ regulator-max-microvolt = <1293750>;
regulator-ramp-delay = <6250>;
regulator-enable-ramp-delay = <200>;
regulator-allowed-modes = <MT6397_BUCK_MODE_AUTO
MT6397_BUCK_MODE_FORCE_PWM>;
- regulator-coupled-with = <&mt6366_vsram_gpu_reg>;
- regulator-coupled-max-spread = <10000>;
};
mt6366_vproc11_reg: vproc11 {
regulator-name = "ppvar_dvdd_proc_bc_mt6366";
- regulator-min-microvolt = <600000>;
- regulator-max-microvolt = <1200000>;
+ regulator-min-microvolt = <500000>;
+ regulator-max-microvolt = <1293750>;
regulator-ramp-delay = <6250>;
regulator-enable-ramp-delay = <200>;
regulator-allowed-modes = <MT6397_BUCK_MODE_AUTO
@@ -1352,8 +1360,8 @@ mt6366_vproc11_reg: vproc11 {
mt6366_vproc12_reg: vproc12 {
regulator-name = "ppvar_dvdd_proc_lc";
- regulator-min-microvolt = <600000>;
- regulator-max-microvolt = <1200000>;
+ regulator-min-microvolt = <500000>;
+ regulator-max-microvolt = <1293750>;
regulator-ramp-delay = <6250>;
regulator-enable-ramp-delay = <200>;
regulator-allowed-modes = <MT6397_BUCK_MODE_AUTO
@@ -1361,10 +1369,21 @@ mt6366_vproc12_reg: vproc12 {
regulator-always-on;
};
+ mt6366_vmodem_reg: vmodem {
+ regulator-name = "ppvar_vmodem";
+ regulator-min-microvolt = <500000>;
+ regulator-max-microvolt = <1293750>;
+ regulator-ramp-delay = <6250>;
+ regulator-enable-ramp-delay = <900>;
+ regulator-allowed-modes = <MT6397_BUCK_MODE_AUTO
+ MT6397_BUCK_MODE_FORCE_PWM>;
+ regulator-always-on;
+ };
+
mt6366_vs1_reg: vs1 {
regulator-name = "pp2000_vs1";
- regulator-min-microvolt = <2000000>;
- regulator-max-microvolt = <2000000>;
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <2587500>;
regulator-ramp-delay = <12500>;
regulator-enable-ramp-delay = <0>;
regulator-always-on;
@@ -1372,8 +1391,8 @@ mt6366_vs1_reg: vs1 {
mt6366_vs2_reg: vs2 {
regulator-name = "pp1350_vs2";
- regulator-min-microvolt = <1350000>;
- regulator-max-microvolt = <1350000>;
+ regulator-min-microvolt = <500000>;
+ regulator-max-microvolt = <2087500>;
regulator-ramp-delay = <12500>;
regulator-enable-ramp-delay = <0>;
regulator-always-on;
@@ -1397,7 +1416,7 @@ mt6366_vaud28_reg: vaud28 {
mt6366_vaux18_reg: vaux18 {
regulator-name = "pp1840_vaux18";
regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <1840000>;
+ regulator-max-microvolt = <1800000>;
regulator-enable-ramp-delay = <270>;
};
@@ -1410,8 +1429,8 @@ mt6366_vbif28_reg: vbif28 {
mt6366_vcn18_reg: vcn18 {
regulator-name = "pp1800_vcn18_x";
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <1800000>;
+ regulator-min-microvolt = <600000>;
+ regulator-max-microvolt = <2100000>;
regulator-enable-ramp-delay = <270>;
};
@@ -1424,8 +1443,8 @@ mt6366_vcn28_reg: vcn28 {
mt6366_vefuse_reg: vefuse {
regulator-name = "pp1800_vefuse";
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <1800000>;
+ regulator-min-microvolt = <1700000>;
+ regulator-max-microvolt = <1900000>;
regulator-enable-ramp-delay = <270>;
};
@@ -1438,15 +1457,15 @@ mt6366_vfe28_reg: vfe28 {
mt6366_vemc_reg: vemc {
regulator-name = "pp3000_vemc";
- regulator-min-microvolt = <3000000>;
- regulator-max-microvolt = <3000000>;
+ regulator-min-microvolt = <2900000>;
+ regulator-max-microvolt = <3300000>;
regulator-enable-ramp-delay = <60>;
};
mt6366_vibr_reg: vibr {
regulator-name = "pp2800_vibr_x";
- regulator-min-microvolt = <2800000>;
- regulator-max-microvolt = <2800000>;
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <3300000>;
regulator-enable-ramp-delay = <60>;
};
@@ -1482,30 +1501,30 @@ mt6366_vmc_reg: vmc {
mt6366_vmddr_reg: vmddr {
regulator-name = "pm0750_emi_vmddr";
- regulator-min-microvolt = <700000>;
- regulator-max-microvolt = <750000>;
+ regulator-min-microvolt = <600000>;
+ regulator-max-microvolt = <2100000>;
regulator-enable-ramp-delay = <325>;
regulator-always-on;
};
mt6366_vmch_reg: vmch {
regulator-name = "pp3000_vmch";
- regulator-min-microvolt = <3000000>;
- regulator-max-microvolt = <3000000>;
+ regulator-min-microvolt = <2900000>;
+ regulator-max-microvolt = <3300000>;
regulator-enable-ramp-delay = <60>;
};
mt6366_vcn33_reg: vcn33 {
regulator-name = "pp3300_vcn33_x";
regulator-min-microvolt = <3300000>;
- regulator-max-microvolt = <3300000>;
+ regulator-max-microvolt = <3500000>;
regulator-enable-ramp-delay = <270>;
};
vdram2 {
regulator-name = "pp0600_emi_vddq";
regulator-min-microvolt = <600000>;
- regulator-max-microvolt = <600000>;
+ regulator-max-microvolt = <1800000>;
regulator-enable-ramp-delay = <3300>;
regulator-always-on;
};
@@ -1518,6 +1537,7 @@ mt6366_vrf12_reg: vrf12 {
};
mt6366_vrf18_reg: vrf18 {
+ compatible = "regulator-fixed";
regulator-name = "pp1800_vrf18_x";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
@@ -1526,8 +1546,8 @@ mt6366_vrf18_reg: vrf18 {
vsim1 {
regulator-name = "pp1860_vsim1_x";
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <1860000>;
+ regulator-min-microvolt = <1700000>;
+ regulator-max-microvolt = <3100000>;
regulator-enable-ramp-delay = <540>;
};
@@ -1540,18 +1560,17 @@ mt6366_vsim2_reg: vsim2 {
mt6366_vsram_gpu_reg: vsram-gpu {
regulator-name = "pp0900_dvdd_sram_gpu";
- regulator-min-microvolt = <850000>;
- regulator-max-microvolt = <1050000>;
+ regulator-min-microvolt = <500000>;
+ regulator-max-microvolt = <1293750>;
regulator-ramp-delay = <6250>;
regulator-enable-ramp-delay = <240>;
- regulator-coupled-with = <&mt6366_vgpu_reg>;
- regulator-coupled-max-spread = <10000>;
+ regulator-always-on;
};
mt6366_vsram_others_reg: vsram-others {
regulator-name = "pp0900_dvdd_sram_core";
- regulator-min-microvolt = <900000>;
- regulator-max-microvolt = <900000>;
+ regulator-min-microvolt = <500000>;
+ regulator-max-microvolt = <1293750>;
regulator-ramp-delay = <6250>;
regulator-enable-ramp-delay = <240>;
regulator-always-on;
@@ -1559,8 +1578,8 @@ mt6366_vsram_others_reg: vsram-others {
mt6366_vsram_proc11_reg: vsram-proc11 {
regulator-name = "pp0900_dvdd_sram_bc";
- regulator-min-microvolt = <850000>;
- regulator-max-microvolt = <1120000>;
+ regulator-min-microvolt = <500000>;
+ regulator-max-microvolt = <1293750>;
regulator-ramp-delay = <6250>;
regulator-enable-ramp-delay = <240>;
regulator-always-on;
@@ -1568,8 +1587,8 @@ mt6366_vsram_proc11_reg: vsram-proc11 {
mt6366_vsram_proc12_reg: vsram-proc12 {
regulator-name = "pp0900_dvdd_sram_lc";
- regulator-min-microvolt = <850000>;
- regulator-max-microvolt = <1120000>;
+ regulator-min-microvolt = <500000>;
+ regulator-max-microvolt = <1293750>;
regulator-ramp-delay = <6250>;
regulator-enable-ramp-delay = <240>;
regulator-always-on;
@@ -1578,7 +1597,7 @@ mt6366_vsram_proc12_reg: vsram-proc12 {
vusb {
regulator-name = "pp3070_vusb";
regulator-min-microvolt = <3000000>;
- regulator-max-microvolt = <3070000>;
+ regulator-max-microvolt = <3100000>;
regulator-enable-ramp-delay = <270>;
regulator-always-on;
};
@@ -1586,7 +1605,7 @@ vusb {
vxo22 {
regulator-name = "pp2240_vxo22";
regulator-min-microvolt = <2200000>;
- regulator-max-microvolt = <2240000>;
+ regulator-max-microvolt = <2200000>;
regulator-enable-ramp-delay = <120>;
/* Feeds DCXO internally */
regulator-always-on;
--
2.47.0.rc1.288.g06298d1525-goog
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH] arm64: dts: mt8186: Update regulators voltages
2024-10-18 9:42 [PATCH] arm64: dts: mt8186: Update regulators voltages Albert Jakieła
@ 2024-10-21 3:45 ` Chen-Yu Tsai
0 siblings, 0 replies; 2+ messages in thread
From: Chen-Yu Tsai @ 2024-10-21 3:45 UTC (permalink / raw)
To: Albert Jakieła
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Matthias Brugger,
AngeloGioacchino Del Regno, devicetree, linux-kernel,
linux-arm-kernel, linux-mediatek
On Fri, Oct 18, 2024 at 5:44 PM Albert Jakieła <jakiela@google.com> wrote:
>
> Update minimum and maximum voltages and add
> missing regulators.
>
> Signed-off-by: Albert Jakieła <jakiela@google.com>
> ---
> .../boot/dts/mediatek/mt8186-corsola.dtsi | 107 +++++++++++-------
> 1 file changed, 63 insertions(+), 44 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/mediatek/mt8186-corsola.dtsi b/arch/arm64/boot/dts/mediatek/mt8186-corsola.dtsi
> index 682c6ad2574d..62158eac45d0 100644
> --- a/arch/arm64/boot/dts/mediatek/mt8186-corsola.dtsi
> +++ b/arch/arm64/boot/dts/mediatek/mt8186-corsola.dtsi
> @@ -1302,8 +1302,8 @@ mt6366_regulators: regulators {
>
> vcore {
> regulator-name = "pp0750_dvdd_core";
> - regulator-min-microvolt = <550000>;
> - regulator-max-microvolt = <800000>;
> + regulator-min-microvolt = <500000>;
> + regulator-max-microvolt = <1293750>;
No. The voltage range has been correctly limited to the consumer's range.
The voltage constraints are supposed to be the voltage range supported
by all its consumers, not what the regulator can actually provide. The
latter is already implied by the compatible string and the regulator
node name.
> regulator-ramp-delay = <6250>;
> regulator-enable-ramp-delay = <200>;
> regulator-allowed-modes = <MT6397_BUCK_MODE_AUTO
> @@ -1313,8 +1313,8 @@ vcore {
>
> mt6366_vdram1_reg: vdram1 {
> regulator-name = "pp1125_emi_vdd2";
> - regulator-min-microvolt = <1125000>;
> - regulator-max-microvolt = <1125000>;
> + regulator-min-microvolt = <500000>;
> + regulator-max-microvolt = <2087500>;
Same thing about the voltage ranges.
> regulator-ramp-delay = <12500>;
> regulator-enable-ramp-delay = <0>;
> regulator-allowed-modes = <MT6397_BUCK_MODE_AUTO
> @@ -1322,6 +1322,16 @@ mt6366_vdram1_reg: vdram1 {
> regulator-always-on;
> };
>
> + mt6366_vpa_reg: vpa {
> + regulator-name = "ppvar_dvdd_vpa";
> + regulator-min-microvolt = <500000>;
> + regulator-max-microvolt = <3650000>;
> + regulator-ramp-delay = <50000>;
> + regulator-enable-ramp-delay = <250>;
> + regulator-allowed-modes = <MT6397_BUCK_MODE_AUTO
> + MT6397_BUCK_MODE_FORCE_PWM>;
> + };
> +
This regulator is not used in the design and was purposefully omitted
when the board was upstreamed.
> mt6366_vgpu_reg: vgpu {
> /*
> * Called "ppvar_dvdd_gpu" in the schematic.
> @@ -1330,19 +1340,17 @@ mt6366_vgpu_reg: vgpu {
> */
> regulator-name = "ppvar_dvdd_vgpu";
> regulator-min-microvolt = <500000>;
> - regulator-max-microvolt = <950000>;
> + regulator-max-microvolt = <1293750>;
Why? The datasheet has a lower value and the OPPs only go up to 0.95V.
> regulator-ramp-delay = <6250>;
> regulator-enable-ramp-delay = <200>;
> regulator-allowed-modes = <MT6397_BUCK_MODE_AUTO
> MT6397_BUCK_MODE_FORCE_PWM>;
> - regulator-coupled-with = <&mt6366_vsram_gpu_reg>;
> - regulator-coupled-max-spread = <10000>;
Definitely not. Please read
https://lore.kernel.org/all/20230301095523.428461-1-angelogioacchino.delregno@collabora.com/
and understand that things have been solved differently compared to the
ChromeOS downstream kernel.
> };
>
> mt6366_vproc11_reg: vproc11 {
> regulator-name = "ppvar_dvdd_proc_bc_mt6366";
> - regulator-min-microvolt = <600000>;
> - regulator-max-microvolt = <1200000>;
> + regulator-min-microvolt = <500000>;
> + regulator-max-microvolt = <1293750>;
Same thing about the voltage ranges.
> regulator-ramp-delay = <6250>;
> regulator-enable-ramp-delay = <200>;
> regulator-allowed-modes = <MT6397_BUCK_MODE_AUTO
> @@ -1352,8 +1360,8 @@ mt6366_vproc11_reg: vproc11 {
>
> mt6366_vproc12_reg: vproc12 {
> regulator-name = "ppvar_dvdd_proc_lc";
> - regulator-min-microvolt = <600000>;
> - regulator-max-microvolt = <1200000>;
> + regulator-min-microvolt = <500000>;
> + regulator-max-microvolt = <1293750>;
Same thing about the voltage ranges.
> regulator-ramp-delay = <6250>;
> regulator-enable-ramp-delay = <200>;
> regulator-allowed-modes = <MT6397_BUCK_MODE_AUTO
> @@ -1361,10 +1369,21 @@ mt6366_vproc12_reg: vproc12 {
> regulator-always-on;
> };
>
> + mt6366_vmodem_reg: vmodem {
> + regulator-name = "ppvar_vmodem";
> + regulator-min-microvolt = <500000>;
> + regulator-max-microvolt = <1293750>;
> + regulator-ramp-delay = <6250>;
> + regulator-enable-ramp-delay = <900>;
> + regulator-allowed-modes = <MT6397_BUCK_MODE_AUTO
> + MT6397_BUCK_MODE_FORCE_PWM>;
> + regulator-always-on;
> + };
> +
This regulator is not used in the design and was purposefully omitted
when the board was upstreamed.
> mt6366_vs1_reg: vs1 {
> regulator-name = "pp2000_vs1";
> - regulator-min-microvolt = <2000000>;
> - regulator-max-microvolt = <2000000>;
> + regulator-min-microvolt = <1000000>;
> + regulator-max-microvolt = <2587500>;
Same thing about the voltage ranges.
> regulator-ramp-delay = <12500>;
> regulator-enable-ramp-delay = <0>;
> regulator-always-on;
> @@ -1372,8 +1391,8 @@ mt6366_vs1_reg: vs1 {
>
> mt6366_vs2_reg: vs2 {
> regulator-name = "pp1350_vs2";
> - regulator-min-microvolt = <1350000>;
> - regulator-max-microvolt = <1350000>;
> + regulator-min-microvolt = <500000>;
> + regulator-max-microvolt = <2087500>;
Same thing about the voltage ranges. Furthermore, the power rail says
"pp1350", which is a big hint why this change is wrong.
> regulator-ramp-delay = <12500>;
> regulator-enable-ramp-delay = <0>;
> regulator-always-on;
> @@ -1397,7 +1416,7 @@ mt6366_vaud28_reg: vaud28 {
> mt6366_vaux18_reg: vaux18 {
> regulator-name = "pp1840_vaux18";
> regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1840000>;
> + regulator-max-microvolt = <1800000>;
The correct voltage is 1.84 V, however since earlier kernels did not
support the 0.01 steps, the minimum was kept at 1.8V. The 0.04V offset
is set either by bootloader or is the hardware default.
> regulator-enable-ramp-delay = <270>;
> };
>
> @@ -1410,8 +1429,8 @@ mt6366_vbif28_reg: vbif28 {
>
> mt6366_vcn18_reg: vcn18 {
> regulator-name = "pp1800_vcn18_x";
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1800000>;
> + regulator-min-microvolt = <600000>;
> + regulator-max-microvolt = <2100000>;
Same thing about the voltage ranges. Furthermore, the power rail
says "pp1800", which is a big hint why this change is wrong.
> regulator-enable-ramp-delay = <270>;
> };
>
> @@ -1424,8 +1443,8 @@ mt6366_vcn28_reg: vcn28 {
>
> mt6366_vefuse_reg: vefuse {
> regulator-name = "pp1800_vefuse";
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1800000>;
> + regulator-min-microvolt = <1700000>;
> + regulator-max-microvolt = <1900000>;
Same thing about the voltage ranges.
> regulator-enable-ramp-delay = <270>;
> };
>
> @@ -1438,15 +1457,15 @@ mt6366_vfe28_reg: vfe28 {
>
> mt6366_vemc_reg: vemc {
> regulator-name = "pp3000_vemc";
> - regulator-min-microvolt = <3000000>;
> - regulator-max-microvolt = <3000000>;
> + regulator-min-microvolt = <2900000>;
> + regulator-max-microvolt = <3300000>;
Same thing about the voltage ranges. Furthermore, the power rail
says "pp3000", which is a big hint why this change is wrong.
> regulator-enable-ramp-delay = <60>;
> };
>
> mt6366_vibr_reg: vibr {
> regulator-name = "pp2800_vibr_x";
> - regulator-min-microvolt = <2800000>;
> - regulator-max-microvolt = <2800000>;
> + regulator-min-microvolt = <1200000>;
> + regulator-max-microvolt = <3300000>;
Same thing about the voltage ranges. Furthermore, the power rail
says "pp2800", which is a big hint why this change is wrong.
> regulator-enable-ramp-delay = <60>;
> };
>
> @@ -1482,30 +1501,30 @@ mt6366_vmc_reg: vmc {
>
> mt6366_vmddr_reg: vmddr {
> regulator-name = "pm0750_emi_vmddr";
> - regulator-min-microvolt = <700000>;
> - regulator-max-microvolt = <750000>;
> + regulator-min-microvolt = <600000>;
> + regulator-max-microvolt = <2100000>;
Same thing about the voltage ranges.
> regulator-enable-ramp-delay = <325>;
> regulator-always-on;
> };
>
> mt6366_vmch_reg: vmch {
> regulator-name = "pp3000_vmch";
> - regulator-min-microvolt = <3000000>;
> - regulator-max-microvolt = <3000000>;
> + regulator-min-microvolt = <2900000>;
> + regulator-max-microvolt = <3300000>;
Same thing about the voltage ranges. Furthermore, the power rail
says "pp3000", which is a big hint why this change is wrong.
> regulator-enable-ramp-delay = <60>;
> };
>
> mt6366_vcn33_reg: vcn33 {
> regulator-name = "pp3300_vcn33_x";
> regulator-min-microvolt = <3300000>;
> - regulator-max-microvolt = <3300000>;
> + regulator-max-microvolt = <3500000>;
Same thing about the voltage ranges. Furthermore, the power rail
says "pp3300", which is a big hint why this change is wrong.
> regulator-enable-ramp-delay = <270>;
> };
>
> vdram2 {
> regulator-name = "pp0600_emi_vddq";
> regulator-min-microvolt = <600000>;
> - regulator-max-microvolt = <600000>;
> + regulator-max-microvolt = <1800000>;
Same thing about the voltage ranges. Furthermore, the power rail
says "pp0600", which is a big hint why this change is wrong.
> regulator-enable-ramp-delay = <3300>;
> regulator-always-on;
> };
> @@ -1518,6 +1537,7 @@ mt6366_vrf12_reg: vrf12 {
> };
>
> mt6366_vrf18_reg: vrf18 {
> + compatible = "regulator-fixed";
No. This is incorrect.
> regulator-name = "pp1800_vrf18_x";
> regulator-min-microvolt = <1800000>;
> regulator-max-microvolt = <1800000>;
> @@ -1526,8 +1546,8 @@ mt6366_vrf18_reg: vrf18 {
>
> vsim1 {
> regulator-name = "pp1860_vsim1_x";
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1860000>;
> + regulator-min-microvolt = <1700000>;
> + regulator-max-microvolt = <3100000>;
The correct voltage is 1.86 V, however since earlier kernels did not
support the 0.01 steps, the minimum was kept at 1.8V. The 0.06V offset
is set either by bootloader or is the hardware default.
> regulator-enable-ramp-delay = <540>;
> };
>
> @@ -1540,18 +1560,17 @@ mt6366_vsim2_reg: vsim2 {
>
> mt6366_vsram_gpu_reg: vsram-gpu {
> regulator-name = "pp0900_dvdd_sram_gpu";
> - regulator-min-microvolt = <850000>;
> - regulator-max-microvolt = <1050000>;
> + regulator-min-microvolt = <500000>;
> + regulator-max-microvolt = <1293750>;
Same thing about the voltage ranges.
> regulator-ramp-delay = <6250>;
> regulator-enable-ramp-delay = <240>;
> - regulator-coupled-with = <&mt6366_vgpu_reg>;
> - regulator-coupled-max-spread = <10000>;
> + regulator-always-on;
No and no. See above about why it is coupled, and there is no need to
keep the GPU always on.
> };
>
> mt6366_vsram_others_reg: vsram-others {
> regulator-name = "pp0900_dvdd_sram_core";
> - regulator-min-microvolt = <900000>;
> - regulator-max-microvolt = <900000>;
> + regulator-min-microvolt = <500000>;
> + regulator-max-microvolt = <1293750>;
Same thing about the voltage ranges. Furthermore, the power rail
says "pp0900", which is a big hint why this change is wrong.
> regulator-ramp-delay = <6250>;
> regulator-enable-ramp-delay = <240>;
> regulator-always-on;
> @@ -1559,8 +1578,8 @@ mt6366_vsram_others_reg: vsram-others {
>
> mt6366_vsram_proc11_reg: vsram-proc11 {
> regulator-name = "pp0900_dvdd_sram_bc";
> - regulator-min-microvolt = <850000>;
> - regulator-max-microvolt = <1120000>;
> + regulator-min-microvolt = <500000>;
> + regulator-max-microvolt = <1293750>;
Same thing about the voltage ranges.
> regulator-ramp-delay = <6250>;
> regulator-enable-ramp-delay = <240>;
> regulator-always-on;
> @@ -1568,8 +1587,8 @@ mt6366_vsram_proc11_reg: vsram-proc11 {
>
> mt6366_vsram_proc12_reg: vsram-proc12 {
> regulator-name = "pp0900_dvdd_sram_lc";
> - regulator-min-microvolt = <850000>;
> - regulator-max-microvolt = <1120000>;
> + regulator-min-microvolt = <500000>;
> + regulator-max-microvolt = <1293750>;
Same thing about the voltage ranges.
> regulator-ramp-delay = <6250>;
> regulator-enable-ramp-delay = <240>;
> regulator-always-on;
> @@ -1578,7 +1597,7 @@ mt6366_vsram_proc12_reg: vsram-proc12 {
> vusb {
> regulator-name = "pp3070_vusb";
> regulator-min-microvolt = <3000000>;
> - regulator-max-microvolt = <3070000>;
> + regulator-max-microvolt = <3100000>;
The correct voltage is 3.07 V, however since earlier kernels did not
support the 0.01V steps, the minimum was kept at 3.0V. The 0.07V offset
is set either by bootloader or is the hardware default.
> regulator-enable-ramp-delay = <270>;
> regulator-always-on;
> };
> @@ -1586,7 +1605,7 @@ vusb {
> vxo22 {
> regulator-name = "pp2240_vxo22";
> regulator-min-microvolt = <2200000>;
> - regulator-max-microvolt = <2240000>;
> + regulator-max-microvolt = <2200000>;
Same thing about the voltage ranges.
> regulator-enable-ramp-delay = <120>;
> /* Feeds DCXO internally */
> regulator-always-on;
So basically you are undoing all the cleanups that I did to get the
dtsi to fit upstream conventions and solutions that we have.
ChenYu
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2024-10-21 3:45 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-10-18 9:42 [PATCH] arm64: dts: mt8186: Update regulators voltages Albert Jakieła
2024-10-21 3:45 ` Chen-Yu Tsai
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®