From: Sumit Semwal <[email protected]>
Enabling the Display panel for beryllium requires DSI
labibb regulators and panel dts nodes to be added.
It is also required to keep some of the regulators as
always-on.
Signed-off-by: Sumit Semwal <[email protected]>
Signed-off-by: Amit Pundir <[email protected]>
---
v3: Addressed Konrad's concerns. Configured labibb regulators
explicitly based on downstream microvolt values. Display
comes up fine with default discharge-resistor-kohms and
soft-start-us properties, so didn't touch them.
Smoke tested on next-20210209.
v2: Rebased to mainline (v5.11-rc6) and fixed build warnings.
.../boot/dts/qcom/sdm845-xiaomi-beryllium.dts | 64 ++++++++++++++++++++++
1 file changed, 64 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium.dts b/arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium.dts
index 86cbae63eaf7..5ac049a247e1 100644
--- a/arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium.dts
+++ b/arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium.dts
@@ -157,6 +157,14 @@
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
+ vreg_l14a_1p8: ldo14 {
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+
vreg_l17a_1p3: ldo17 {
regulator-min-microvolt = <1304000>;
regulator-max-microvolt = <1304000>;
@@ -191,6 +199,7 @@
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-boot-on;
};
};
};
@@ -200,6 +209,43 @@
firmware-name = "qcom/sdm845/cdsp.mdt";
};
+&dsi0 {
+ status = "okay";
+ vdda-supply = <&vreg_l26a_1p2>;
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ panel@0 {
+ compatible = "tianma,fhd-video";
+ reg = <0>;
+ vddi0-supply = <&vreg_l14a_1p8>;
+ vddpos-supply = <&lab>;
+ vddneg-supply = <&ibb>;
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ reset-gpios = <&tlmm 6 GPIO_ACTIVE_LOW>;
+
+ port {
+ tianma_nt36672a_in_0: endpoint {
+ remote-endpoint = <&dsi0_out>;
+ };
+ };
+ };
+};
+
+&dsi0_out {
+ remote-endpoint = <&tianma_nt36672a_in_0>;
+ data-lanes = <0 1 2 3>;
+};
+
+&dsi0_phy {
+ status = "okay";
+ vdds-supply = <&vreg_l1a_0p875>;
+};
+
&gcc {
protected-clocks = <GCC_QSPI_CORE_CLK>,
<GCC_QSPI_CORE_CLK_SRC>,
@@ -215,6 +261,24 @@
};
};
+&ibb {
+ regulator-min-microvolt = <4600000>;
+ regulator-max-microvolt = <6000000>;
+};
+
+&lab {
+ regulator-min-microvolt = <4600000>;
+ regulator-max-microvolt = <6000000>;
+};
+
+&mdss {
+ status = "okay";
+};
+
+&mdss_mdp {
+ status = "okay";
+};
+
&mss_pil {
status = "okay";
firmware-name = "qcom/sdm845/mba.mbn", "qcom/sdm845/modem.mdt";
--
2.7.4
Reviewed-by: Konrad Dybcio <[email protected]>
Konrad
Il 10/02/21 09:18, Amit Pundir ha scritto:
> From: Sumit Semwal <[email protected]>
>
> Enabling the Display panel for beryllium requires DSI
> labibb regulators and panel dts nodes to be added.
> It is also required to keep some of the regulators as
> always-on.
>
> Signed-off-by: Sumit Semwal <[email protected]>
> Signed-off-by: Amit Pundir <[email protected]>
> ---
Hello!
Your patch looks good, however, I have a few concerns...
> v3: Addressed Konrad's concerns. Configured labibb regulators
> explicitly based on downstream microvolt values. Display
> comes up fine with default discharge-resistor-kohms and
> soft-start-us properties, so didn't touch them.
> Smoke tested on next-20210209.
> v2: Rebased to mainline (v5.11-rc6) and fixed build warnings.
>
> .../boot/dts/qcom/sdm845-xiaomi-beryllium.dts | 64 ++++++++++++++++++++++
> 1 file changed, 64 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium.dts b/arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium.dts
> index 86cbae63eaf7..5ac049a247e1 100644
> --- a/arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium.dts
> +++ b/arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium.dts
> @@ -157,6 +157,14 @@
> regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> };
>
> + vreg_l14a_1p8: ldo14 {
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + regulator-boot-on;
> + regulator-always-on;
> + };
> +
> vreg_l17a_1p3: ldo17 {
> regulator-min-microvolt = <1304000>;
> regulator-max-microvolt = <1304000>;
> @@ -191,6 +199,7 @@
> regulator-min-microvolt = <1200000>;
> regulator-max-microvolt = <1200000>;
> regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + regulator-boot-on;
> };
> };
> };
> @@ -200,6 +209,43 @@
> firmware-name = "qcom/sdm845/cdsp.mdt";
> };
>
> +&dsi0 {
> + status = "okay";
> + vdda-supply = <&vreg_l26a_1p2>;
> +
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + panel@0 {
> + compatible = "tianma,fhd-video";
> + reg = <0>;
> + vddi0-supply = <&vreg_l14a_1p8>;
> + vddpos-supply = <&lab>;
> + vddneg-supply = <&ibb>;
> +
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + reset-gpios = <&tlmm 6 GPIO_ACTIVE_LOW>;
> +
> + port {
> + tianma_nt36672a_in_0: endpoint {
> + remote-endpoint = <&dsi0_out>;
> + };
> + };
> + };
> +};
> +
> +&dsi0_out {
> + remote-endpoint = <&tianma_nt36672a_in_0>;
> + data-lanes = <0 1 2 3>;
> +};
> +
> +&dsi0_phy {
> + status = "okay";
> + vdds-supply = <&vreg_l1a_0p875>;
> +};
> +
> &gcc {
> protected-clocks = <GCC_QSPI_CORE_CLK>,
> <GCC_QSPI_CORE_CLK_SRC>,
> @@ -215,6 +261,24 @@
> };
> };
>
> +&ibb {
> + regulator-min-microvolt = <4600000>;
> + regulator-max-microvolt = <6000000>;
> +};
> +
I think you want to also configure overvoltage and overcurrent
protection values for both LAB and IBB, as these regulators may be a bit
dangerous if used without.
Besides that, even if it wouldn't be that dangerous, since the
protection features are present, it would be nice to configure them
properly as in the rare event that something bad happens, you would be
able to save the hardware (or at least have a chance to!).
> +&lab {
> + regulator-min-microvolt = <4600000>;
> + regulator-max-microvolt = <6000000>;
> +};
> +
Same here.
Yours,
-- Angelo
> +&mdss {
> + status = "okay";
> +};
> +
> +&mdss_mdp {
> + status = "okay";
> +};
> +
> &mss_pil {
> status = "okay";
> firmware-name = "qcom/sdm845/mba.mbn", "qcom/sdm845/modem.mdt";
>
Hi,
On Thu, 11 Feb 2021 at 00:25, AngeloGioacchino Del Regno
<[email protected]> wrote:
>
> Il 10/02/21 09:18, Amit Pundir ha scritto:
> > From: Sumit Semwal <[email protected]>
> >
> > Enabling the Display panel for beryllium requires DSI
> > labibb regulators and panel dts nodes to be added.
> > It is also required to keep some of the regulators as
> > always-on.
> >
> > Signed-off-by: Sumit Semwal <[email protected]>
> > Signed-off-by: Amit Pundir <[email protected]>
> > ---
>
> Hello!
> Your patch looks good, however, I have a few concerns...
>
> > v3: Addressed Konrad's concerns. Configured labibb regulators
> > explicitly based on downstream microvolt values. Display
> > comes up fine with default discharge-resistor-kohms and
> > soft-start-us properties, so didn't touch them.
> > Smoke tested on next-20210209.
> > v2: Rebased to mainline (v5.11-rc6) and fixed build warnings.
> >
> > .../boot/dts/qcom/sdm845-xiaomi-beryllium.dts | 64 ++++++++++++++++++++++
> > 1 file changed, 64 insertions(+)
> >
> > diff --git a/arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium.dts b/arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium.dts
> > index 86cbae63eaf7..5ac049a247e1 100644
> > --- a/arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium.dts
> > +++ b/arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium.dts
> > @@ -157,6 +157,14 @@
> > regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> > };
> >
> > + vreg_l14a_1p8: ldo14 {
> > + regulator-min-microvolt = <1800000>;
> > + regulator-max-microvolt = <1800000>;
> > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> > + regulator-boot-on;
> > + regulator-always-on;
> > + };
> > +
> > vreg_l17a_1p3: ldo17 {
> > regulator-min-microvolt = <1304000>;
> > regulator-max-microvolt = <1304000>;
> > @@ -191,6 +199,7 @@
> > regulator-min-microvolt = <1200000>;
> > regulator-max-microvolt = <1200000>;
> > regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> > + regulator-boot-on;
> > };
> > };
> > };
> > @@ -200,6 +209,43 @@
> > firmware-name = "qcom/sdm845/cdsp.mdt";
> > };
> >
> > +&dsi0 {
> > + status = "okay";
> > + vdda-supply = <&vreg_l26a_1p2>;
> > +
> > + #address-cells = <1>;
> > + #size-cells = <0>;
> > +
> > + panel@0 {
> > + compatible = "tianma,fhd-video";
> > + reg = <0>;
> > + vddi0-supply = <&vreg_l14a_1p8>;
> > + vddpos-supply = <&lab>;
> > + vddneg-supply = <&ibb>;
> > +
> > + #address-cells = <1>;
> > + #size-cells = <0>;
> > +
> > + reset-gpios = <&tlmm 6 GPIO_ACTIVE_LOW>;
> > +
> > + port {
> > + tianma_nt36672a_in_0: endpoint {
> > + remote-endpoint = <&dsi0_out>;
> > + };
> > + };
> > + };
> > +};
> > +
> > +&dsi0_out {
> > + remote-endpoint = <&tianma_nt36672a_in_0>;
> > + data-lanes = <0 1 2 3>;
> > +};
> > +
> > +&dsi0_phy {
> > + status = "okay";
> > + vdds-supply = <&vreg_l1a_0p875>;
> > +};
> > +
> > &gcc {
> > protected-clocks = <GCC_QSPI_CORE_CLK>,
> > <GCC_QSPI_CORE_CLK_SRC>,
> > @@ -215,6 +261,24 @@
> > };
> > };
> >
> > +&ibb {
> > + regulator-min-microvolt = <4600000>;
> > + regulator-max-microvolt = <6000000>;
> > +};
> > +
>
> I think you want to also configure overvoltage and overcurrent
> protection values for both LAB and IBB, as these regulators may be a bit
> dangerous if used without.
Can you point me to the relevant DT properties please. I didn't find
any DT properties which set the over voltage/current protection
properties explicitly in upstream as well as in downstream kernel.
Plus I also do not see "regulator-min/max-microamp" values set
downstream, otherwise I'd have used that as well atleast.
Regards,
Amit Pundir
> Besides that, even if it wouldn't be that dangerous, since the
> protection features are present, it would be nice to configure them
> properly as in the rare event that something bad happens, you would be
> able to save the hardware (or at least have a chance to!).
>
> > +&lab {
> > + regulator-min-microvolt = <4600000>;
> > + regulator-max-microvolt = <6000000>;
> > +};
> > +
>
> Same here.
>
> Yours,
> -- Angelo
>
> > +&mdss {
> > + status = "okay";
> > +};
> > +
> > +&mdss_mdp {
> > + status = "okay";
> > +};
> > +
> > &mss_pil {
> > status = "okay";
> > firmware-name = "qcom/sdm845/mba.mbn", "qcom/sdm845/modem.mdt";
> >
>
Il 12/02/21 10:24, Amit Pundir ha scritto:
> Hi,
>
> On Thu, 11 Feb 2021 at 00:25, AngeloGioacchino Del Regno
> <[email protected]> wrote:
>>
>> Il 10/02/21 09:18, Amit Pundir ha scritto:
>>> From: Sumit Semwal <[email protected]>
>>>
>>> Enabling the Display panel for beryllium requires DSI
>>> labibb regulators and panel dts nodes to be added.
>>> It is also required to keep some of the regulators as
>>> always-on.
>>>
>>> Signed-off-by: Sumit Semwal <[email protected]>
>>> Signed-off-by: Amit Pundir <[email protected]>
>>> ---
>>
>> Hello!
>> Your patch looks good, however, I have a few concerns...
>>
>>> v3: Addressed Konrad's concerns. Configured labibb regulators
>>> explicitly based on downstream microvolt values. Display
>>> comes up fine with default discharge-resistor-kohms and
>>> soft-start-us properties, so didn't touch them.
>>> Smoke tested on next-20210209.
>>> v2: Rebased to mainline (v5.11-rc6) and fixed build warnings.
>>>
>>> .../boot/dts/qcom/sdm845-xiaomi-beryllium.dts | 64 ++++++++++++++++++++++
>>> 1 file changed, 64 insertions(+)
>>>
>>> diff --git a/arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium.dts b/arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium.dts
>>> index 86cbae63eaf7..5ac049a247e1 100644
>>> --- a/arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium.dts
>>> +++ b/arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium.dts
>>> @@ -157,6 +157,14 @@
>>> regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
>>> };
>>>
>>> + vreg_l14a_1p8: ldo14 {
>>> + regulator-min-microvolt = <1800000>;
>>> + regulator-max-microvolt = <1800000>;
>>> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
>>> + regulator-boot-on;
>>> + regulator-always-on;
>>> + };
>>> +
>>> vreg_l17a_1p3: ldo17 {
>>> regulator-min-microvolt = <1304000>;
>>> regulator-max-microvolt = <1304000>;
>>> @@ -191,6 +199,7 @@
>>> regulator-min-microvolt = <1200000>;
>>> regulator-max-microvolt = <1200000>;
>>> regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
>>> + regulator-boot-on;
>>> };
>>> };
>>> };
>>> @@ -200,6 +209,43 @@
>>> firmware-name = "qcom/sdm845/cdsp.mdt";
>>> };
>>>
>>> +&dsi0 {
>>> + status = "okay";
>>> + vdda-supply = <&vreg_l26a_1p2>;
>>> +
>>> + #address-cells = <1>;
>>> + #size-cells = <0>;
>>> +
>>> + panel@0 {
>>> + compatible = "tianma,fhd-video";
>>> + reg = <0>;
>>> + vddi0-supply = <&vreg_l14a_1p8>;
>>> + vddpos-supply = <&lab>;
>>> + vddneg-supply = <&ibb>;
>>> +
>>> + #address-cells = <1>;
>>> + #size-cells = <0>;
>>> +
>>> + reset-gpios = <&tlmm 6 GPIO_ACTIVE_LOW>;
>>> +
>>> + port {
>>> + tianma_nt36672a_in_0: endpoint {
>>> + remote-endpoint = <&dsi0_out>;
>>> + };
>>> + };
>>> + };
>>> +};
>>> +
>>> +&dsi0_out {
>>> + remote-endpoint = <&tianma_nt36672a_in_0>;
>>> + data-lanes = <0 1 2 3>;
>>> +};
>>> +
>>> +&dsi0_phy {
>>> + status = "okay";
>>> + vdds-supply = <&vreg_l1a_0p875>;
>>> +};
>>> +
>>> &gcc {
>>> protected-clocks = <GCC_QSPI_CORE_CLK>,
>>> <GCC_QSPI_CORE_CLK_SRC>,
>>> @@ -215,6 +261,24 @@
>>> };
>>> };
>>>
>>> +&ibb {
>>> + regulator-min-microvolt = <4600000>;
>>> + regulator-max-microvolt = <6000000>;
>>> +};
>>> +
>>
>> I think you want to also configure overvoltage and overcurrent
>> protection values for both LAB and IBB, as these regulators may be a bit
>> dangerous if used without.
>
> Can you point me to the relevant DT properties please. I didn't find
> any DT properties which set the over voltage/current protection
> properties explicitly in upstream as well as in downstream kernel.
> Plus I also do not see "regulator-min/max-microamp" values set
> downstream, otherwise I'd have used that as well atleast.
>
The regulator-{min/max}-microamp is the equivalent of the downstream
"qcom,qpnp-lab-limit-maximum-current" and
"qcom,qpnp-ibb-limit-maximum-current.
I am sorry if we haven't sent our patch series that will introduce the
Sony MSM8998 Yoshino and SDM630/636 Nile and Ganges platforms, which
are actually using the driver that I've sent fully, as these would have
been a nice reference for you.
In any case, I can point you at our public repositories and their
downstream equivalents...
Here you find the downstream configuration for LAB/IBB:
https://github.com/sonyxperiadev/kernel/blob/aosp/LA.UM.7.1.r1/arch/arm64/boot/dts/qcom/msm8998-yoshino-common.dtsi#L3158
...And here you find the SoMainline upstream stuff for the same:
https://github.com/SoMainline/linux/blob/SoMainline/v5.11-rc4/arch/arm64/boot/dts/qcom/msm8998-sony-xperia-yoshino.dtsi#L332
https://github.com/SoMainline/linux/blob/SoMainline/v5.11-rc4/arch/arm64/boot/dts/qcom/msm8998-sony-xperia-yoshino-maple.dts#L50
I hope that clears out your doubts and difficulties about implementing
the protections on labibb.
Yours,
-- Angelo
> Regards,
> Amit Pundir
>
>> Besides that, even if it wouldn't be that dangerous, since the
>> protection features are present, it would be nice to configure them
>> properly as in the rare event that something bad happens, you would be
>> able to save the hardware (or at least have a chance to!).
>>
>>> +&lab {
>>> + regulator-min-microvolt = <4600000>;
>>> + regulator-max-microvolt = <6000000>;
>>> +};
>>> +
>>
>> Same here.
>>
>> Yours,
>> -- Angelo
>>
>>> +&mdss {
>>> + status = "okay";
>>> +};
>>> +
>>> +&mdss_mdp {
>>> + status = "okay";
>>> +};
>>> +
>>> &mss_pil {
>>> status = "okay";
>>> firmware-name = "qcom/sdm845/mba.mbn", "qcom/sdm845/modem.mdt";
>>>
>>
Hi,
On Fri, 12 Feb 2021 at 23:11, AngeloGioacchino Del Regno
<[email protected]> wrote:
>
> Il 12/02/21 10:24, Amit Pundir ha scritto:
> > Hi,
> >
> > On Thu, 11 Feb 2021 at 00:25, AngeloGioacchino Del Regno
> > <[email protected]> wrote:
> >>
> >> Il 10/02/21 09:18, Amit Pundir ha scritto:
> >>> From: Sumit Semwal <[email protected]>
> >>>
> >>> Enabling the Display panel for beryllium requires DSI
> >>> labibb regulators and panel dts nodes to be added.
> >>> It is also required to keep some of the regulators as
> >>> always-on.
> >>>
> >>> Signed-off-by: Sumit Semwal <[email protected]>
> >>> Signed-off-by: Amit Pundir <[email protected]>
> >>> ---
> >>
> >> Hello!
> >> Your patch looks good, however, I have a few concerns...
> >>
> >>> v3: Addressed Konrad's concerns. Configured labibb regulators
> >>> explicitly based on downstream microvolt values. Display
> >>> comes up fine with default discharge-resistor-kohms and
> >>> soft-start-us properties, so didn't touch them.
> >>> Smoke tested on next-20210209.
> >>> v2: Rebased to mainline (v5.11-rc6) and fixed build warnings.
> >>>
> >>> .../boot/dts/qcom/sdm845-xiaomi-beryllium.dts | 64 ++++++++++++++++++++++
> >>> 1 file changed, 64 insertions(+)
> >>>
> >>> diff --git a/arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium.dts b/arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium.dts
> >>> index 86cbae63eaf7..5ac049a247e1 100644
> >>> --- a/arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium.dts
> >>> +++ b/arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium.dts
> >>> @@ -157,6 +157,14 @@
> >>> regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> >>> };
> >>>
> >>> + vreg_l14a_1p8: ldo14 {
> >>> + regulator-min-microvolt = <1800000>;
> >>> + regulator-max-microvolt = <1800000>;
> >>> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> >>> + regulator-boot-on;
> >>> + regulator-always-on;
> >>> + };
> >>> +
> >>> vreg_l17a_1p3: ldo17 {
> >>> regulator-min-microvolt = <1304000>;
> >>> regulator-max-microvolt = <1304000>;
> >>> @@ -191,6 +199,7 @@
> >>> regulator-min-microvolt = <1200000>;
> >>> regulator-max-microvolt = <1200000>;
> >>> regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> >>> + regulator-boot-on;
> >>> };
> >>> };
> >>> };
> >>> @@ -200,6 +209,43 @@
> >>> firmware-name = "qcom/sdm845/cdsp.mdt";
> >>> };
> >>>
> >>> +&dsi0 {
> >>> + status = "okay";
> >>> + vdda-supply = <&vreg_l26a_1p2>;
> >>> +
> >>> + #address-cells = <1>;
> >>> + #size-cells = <0>;
> >>> +
> >>> + panel@0 {
> >>> + compatible = "tianma,fhd-video";
> >>> + reg = <0>;
> >>> + vddi0-supply = <&vreg_l14a_1p8>;
> >>> + vddpos-supply = <&lab>;
> >>> + vddneg-supply = <&ibb>;
> >>> +
> >>> + #address-cells = <1>;
> >>> + #size-cells = <0>;
> >>> +
> >>> + reset-gpios = <&tlmm 6 GPIO_ACTIVE_LOW>;
> >>> +
> >>> + port {
> >>> + tianma_nt36672a_in_0: endpoint {
> >>> + remote-endpoint = <&dsi0_out>;
> >>> + };
> >>> + };
> >>> + };
> >>> +};
> >>> +
> >>> +&dsi0_out {
> >>> + remote-endpoint = <&tianma_nt36672a_in_0>;
> >>> + data-lanes = <0 1 2 3>;
> >>> +};
> >>> +
> >>> +&dsi0_phy {
> >>> + status = "okay";
> >>> + vdds-supply = <&vreg_l1a_0p875>;
> >>> +};
> >>> +
> >>> &gcc {
> >>> protected-clocks = <GCC_QSPI_CORE_CLK>,
> >>> <GCC_QSPI_CORE_CLK_SRC>,
> >>> @@ -215,6 +261,24 @@
> >>> };
> >>> };
> >>>
> >>> +&ibb {
> >>> + regulator-min-microvolt = <4600000>;
> >>> + regulator-max-microvolt = <6000000>;
> >>> +};
> >>> +
> >>
> >> I think you want to also configure overvoltage and overcurrent
> >> protection values for both LAB and IBB, as these regulators may be a bit
> >> dangerous if used without.
> >
> > Can you point me to the relevant DT properties please. I didn't find
> > any DT properties which set the over voltage/current protection
> > properties explicitly in upstream as well as in downstream kernel.
> > Plus I also do not see "regulator-min/max-microamp" values set
> > downstream, otherwise I'd have used that as well atleast.
> >
>
> The regulator-{min/max}-microamp is the equivalent of the downstream
> "qcom,qpnp-lab-limit-maximum-current" and
> "qcom,qpnp-ibb-limit-maximum-current.
Thank you for the information.
>
> I am sorry if we haven't sent our patch series that will introduce the
> Sony MSM8998 Yoshino and SDM630/636 Nile and Ganges platforms, which
> are actually using the driver that I've sent fully, as these would have
> been a nice reference for you.
>
> In any case, I can point you at our public repositories and their
> downstream equivalents...
>
> Here you find the downstream configuration for LAB/IBB:
> https://github.com/sonyxperiadev/kernel/blob/aosp/LA.UM.7.1.r1/arch/arm64/boot/dts/qcom/msm8998-yoshino-common.dtsi#L3158
>
> ...And here you find the SoMainline upstream stuff for the same:
> https://github.com/SoMainline/linux/blob/SoMainline/v5.11-rc4/arch/arm64/boot/dts/qcom/msm8998-sony-xperia-yoshino.dtsi#L332
>
> https://github.com/SoMainline/linux/blob/SoMainline/v5.11-rc4/arch/arm64/boot/dts/qcom/msm8998-sony-xperia-yoshino-maple.dts#L50
>
> I hope that clears out your doubts and difficulties about implementing
> the protections on labibb.
Exactly what I was looking for. Thanks again.
>
> Yours,
> -- Angelo
>
> > Regards,
> > Amit Pundir
> >
> >> Besides that, even if it wouldn't be that dangerous, since the
> >> protection features are present, it would be nice to configure them
> >> properly as in the rare event that something bad happens, you would be
> >> able to save the hardware (or at least have a chance to!).
> >>
> >>> +&lab {
> >>> + regulator-min-microvolt = <4600000>;
> >>> + regulator-max-microvolt = <6000000>;
> >>> +};
> >>> +
> >>
> >> Same here.
> >>
> >> Yours,
> >> -- Angelo
> >>
> >>> +&mdss {
> >>> + status = "okay";
> >>> +};
> >>> +
> >>> +&mdss_mdp {
> >>> + status = "okay";
> >>> +};
> >>> +
> >>> &mss_pil {
> >>> status = "okay";
> >>> firmware-name = "qcom/sdm845/mba.mbn", "qcom/sdm845/modem.mdt";
> >>>
> >>
>
Hi Angelo,
On Thu, 11 Feb 2021 at 00:25, AngeloGioacchino Del Regno
<[email protected]> wrote:
>
> Il 10/02/21 09:18, Amit Pundir ha scritto:
> > From: Sumit Semwal <[email protected]>
> >
> > Enabling the Display panel for beryllium requires DSI
> > labibb regulators and panel dts nodes to be added.
> > It is also required to keep some of the regulators as
> > always-on.
> >
> > Signed-off-by: Sumit Semwal <[email protected]>
> > Signed-off-by: Amit Pundir <[email protected]>
> > ---
>
> Hello!
> Your patch looks good, however, I have a few concerns...
>
> > +&ibb {
> > + regulator-min-microvolt = <4600000>;
> > + regulator-max-microvolt = <6000000>;
> > +};
> > +
>
> I think you want to also configure overvoltage and overcurrent
> protection values for both LAB and IBB, as these regulators may be a bit
> dangerous if used without.
It turned out I can't boot if I set regulator-max-microamp lab/ibb
values from downstream DT. Verified it a few times and same result.
Here is the decompiled downstream DTB for reference:
https://pastebin.ubuntu.com/p/4nPxzq6zf7/, just in case.
I'm not sure if over current protection value is tied to max-microamp,
but I added it anyway along with pull-down and soft-start properties
in next version of this patch.
Regards,
Amit Pundir
> Besides that, even if it wouldn't be that dangerous, since the
> protection features are present, it would be nice to configure them
> properly as in the rare event that something bad happens, you would be
> able to save the hardware (or at least have a chance to!).
>
> > +&lab {
> > + regulator-min-microvolt = <4600000>;
> > + regulator-max-microvolt = <6000000>;
> > +};
> > +
>
> Same here.
>
> Yours,
> -- Angelo