Set regulators, reset gpio and delays according to ACPI tables.
Signed-off-by: Anton Bambura <jenneron@postmarketos.org>
---
.../boot/dts/qcom/sc8180x-lenovo-flex-5g.dts | 30 ++++++++++++++++++-
1 file changed, 29 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/qcom/sc8180x-lenovo-flex-5g.dts b/arch/arm64/boot/dts/qcom/sc8180x-lenovo-flex-5g.dts
index 6ae6cb030b70..5bf6285f905f 100644
--- a/arch/arm64/boot/dts/qcom/sc8180x-lenovo-flex-5g.dts
+++ b/arch/arm64/boot/dts/qcom/sc8180x-lenovo-flex-5g.dts
@@ -271,6 +271,12 @@ vreg_l3c_1p2: ldo3 {
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
+ vreg_l4c_3p3: ldo4 {
+ regulator-min-microvolt = <3296000>;
+ regulator-max-microvolt = <3304000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
vreg_l10c_3p3: ldo10 {
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3312000>;
@@ -337,6 +343,12 @@ vreg_l10e_2p9: ldo10 {
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
+ vreg_l12e_1p8: ldo12 {
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
vreg_l16e_3p0: ldo16 {
regulator-min-microvolt = <3072000>;
regulator-max-microvolt = <3072000>;
@@ -365,11 +377,19 @@ &i2c1 {
touchscreen@10 {
compatible = "hid-over-i2c";
reg = <0x10>;
+
hid-descr-addr = <0x1>;
+ reset-gpios = <&tlmm 54 GPIO_ACTIVE_LOW>;
+
+ vdd-supply = <&vreg_l4c_3p3>;
+ vddl-supply = <&vreg_l12e_1p8>;
+
+ post-power-on-delay-ms = <3>;
+ post-reset-deassert-delay-ms = <200>;
interrupts-extended = <&tlmm 122 IRQ_TYPE_LEVEL_LOW>;
- pinctrl-0 = <&ts_int_default>;
+ pinctrl-0 = <&ts_int_default>, <&ts_reset_default>;
pinctrl-names = "default";
};
};
@@ -735,6 +755,14 @@ ts_int_default: ts-int-default-state {
drive-strength = <2>;
};
+ ts_reset_default: ts-reset-default-state {
+ pins = "gpio54";
+ function = "gpio";
+
+ bias-disable;
+ drive-strength = <16>;
+ };
+
usbprim_sbu_default: usbprim-sbu-state {
oe-n-pins {
pins = "gpio152";
--
2.42.0
On Sat, Feb 03, 2024 at 09:11:58PM +0200, Anton Bambura wrote:
> Set regulators, reset gpio and delays according to ACPI tables.
>
> Signed-off-by: Anton Bambura <jenneron@postmarketos.org>
> ---
> .../boot/dts/qcom/sc8180x-lenovo-flex-5g.dts | 30 ++++++++++++++++++-
> 1 file changed, 29 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm64/boot/dts/qcom/sc8180x-lenovo-flex-5g.dts b/arch/arm64/boot/dts/qcom/sc8180x-lenovo-flex-5g.dts
> index 6ae6cb030b70..5bf6285f905f 100644
> --- a/arch/arm64/boot/dts/qcom/sc8180x-lenovo-flex-5g.dts
> +++ b/arch/arm64/boot/dts/qcom/sc8180x-lenovo-flex-5g.dts
> @@ -271,6 +271,12 @@ vreg_l3c_1p2: ldo3 {
> regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> };
>
> + vreg_l4c_3p3: ldo4 {
> + regulator-min-microvolt = <3296000>;
> + regulator-max-microvolt = <3304000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> vreg_l10c_3p3: ldo10 {
> regulator-min-microvolt = <3000000>;
> regulator-max-microvolt = <3312000>;
> @@ -337,6 +343,12 @@ vreg_l10e_2p9: ldo10 {
> regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> };
>
> + vreg_l12e_1p8: ldo12 {
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> vreg_l16e_3p0: ldo16 {
> regulator-min-microvolt = <3072000>;
> regulator-max-microvolt = <3072000>;
> @@ -365,11 +377,19 @@ &i2c1 {
> touchscreen@10 {
> compatible = "hid-over-i2c";
> reg = <0x10>;
> +
> hid-descr-addr = <0x1>;
> + reset-gpios = <&tlmm 54 GPIO_ACTIVE_LOW>;
> +
> + vdd-supply = <&vreg_l4c_3p3>;
> + vddl-supply = <&vreg_l12e_1p8>;
> +
> + post-power-on-delay-ms = <3>;
> + post-reset-deassert-delay-ms = <200>;
As I ran into with the X13s, post-reset-deassert-delay-ms is not an
accepted property for hid-over-i2c. I think the desired path forward is
to extend elan,ekth6915.yaml and i2c-hid-of-elan.c and hard code these
values there instead.
But I suspect you, like me, are unaware of the actual name of the
device? Perhaps it's acceptable to make something up based on the
reported product id?
Regards,
Bjorn
>
> interrupts-extended = <&tlmm 122 IRQ_TYPE_LEVEL_LOW>;
>
> - pinctrl-0 = <&ts_int_default>;
> + pinctrl-0 = <&ts_int_default>, <&ts_reset_default>;
> pinctrl-names = "default";
> };
> };
> @@ -735,6 +755,14 @@ ts_int_default: ts-int-default-state {
> drive-strength = <2>;
> };
>
> + ts_reset_default: ts-reset-default-state {
> + pins = "gpio54";
> + function = "gpio";
> +
> + bias-disable;
> + drive-strength = <16>;
> + };
> +
> usbprim_sbu_default: usbprim-sbu-state {
> oe-n-pins {
> pins = "gpio152";
> --
> 2.42.0
>
March 18, 2024 at 4:43 AM, "Bjorn Andersson" <andersson@kernel.org> wrote:
>
> On Sat, Feb 03, 2024 at 09:11:58PM +0200, Anton Bambura wrote:
>
> >
> > Set regulators, reset gpio and delays according to ACPI tables.
> >
> >
> >
> > Signed-off-by: Anton Bambura <jenneron@postmarketos.org>
> >
> > ---
> >
> > .../boot/dts/qcom/sc8180x-lenovo-flex-5g.dts | 30 ++++++++++++++++++-
> >
> > 1 file changed, 29 insertions(+), 1 deletion(-)
> >
> >
> >
> > diff --git a/arch/arm64/boot/dts/qcom/sc8180x-lenovo-flex-5g.dts b/arch/arm64/boot/dts/qcom/sc8180x-lenovo-flex-5g.dts
> >
> > index 6ae6cb030b70..5bf6285f905f 100644
> >
> > --- a/arch/arm64/boot/dts/qcom/sc8180x-lenovo-flex-5g.dts
> >
> > +++ b/arch/arm64/boot/dts/qcom/sc8180x-lenovo-flex-5g.dts
> >
> > @@ -271,6 +271,12 @@ vreg_l3c_1p2: ldo3 {
> >
> > regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> >
> > };
> >
> >
> >
> > + vreg_l4c_3p3: ldo4 {
> >
> > + regulator-min-microvolt = <3296000>;
> >
> > + regulator-max-microvolt = <3304000>;
> >
> > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> >
> > + };
> >
> > +
> >
> > vreg_l10c_3p3: ldo10 {
> >
> > regulator-min-microvolt = <3000000>;
> >
> > regulator-max-microvolt = <3312000>;
> >
> > @@ -337,6 +343,12 @@ vreg_l10e_2p9: ldo10 {
> >
> > regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> >
> > };
> >
> >
> >
> > + vreg_l12e_1p8: ldo12 {
> >
> > + regulator-min-microvolt = <1800000>;
> >
> > + regulator-max-microvolt = <1800000>;
> >
> > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> >
> > + };
> >
> > +
> >
> > vreg_l16e_3p0: ldo16 {
> >
> > regulator-min-microvolt = <3072000>;
> >
> > regulator-max-microvolt = <3072000>;
> >
> > @@ -365,11 +377,19 @@ &i2c1 {
> >
> > touchscreen@10 {
> >
> > compatible = "hid-over-i2c";
> >
> > reg = <0x10>;
> >
> > +
> >
> > hid-descr-addr = <0x1>;
> >
> > + reset-gpios = <&tlmm 54 GPIO_ACTIVE_LOW>;
> >
> > +
> >
> > + vdd-supply = <&vreg_l4c_3p3>;
> >
> > + vddl-supply = <&vreg_l12e_1p8>;
> >
> > +
> >
> > + post-power-on-delay-ms = <3>;
> >
> > + post-reset-deassert-delay-ms = <200>;
> >
>
> As I ran into with the X13s, post-reset-deassert-delay-ms is not an
>
> accepted property for hid-over-i2c. I think the desired path forward is
>
> to extend elan,ekth6915.yaml and i2c-hid-of-elan.c and hard code these
>
> values there instead.
>
> But I suspect you, like me, are unaware of the actual name of the
>
> device? Perhaps it's acceptable to make something up based on the
>
> reported product id?
Indeed, I don't know the actual IC. evtest reports this:
Input device ID: bus 0x18 vendor 0x4f3 product 0x2a7d version 0x100
Input device name: "hid-over-i2c 04F3:2A7D"
>
> Regards,
>
> Bjorn
>
> >
> > interrupts-extended = <&tlmm 122 IRQ_TYPE_LEVEL_LOW>;
> >
> >
> >
> > - pinctrl-0 = <&ts_int_default>;
> >
> > + pinctrl-0 = <&ts_int_default>, <&ts_reset_default>;
> >
> > pinctrl-names = "default";
> >
> > };
> >
> > };
> >
> > @@ -735,6 +755,14 @@ ts_int_default: ts-int-default-state {
> >
> > drive-strength = <2>;
> >
> > };
> >
> >
> >
> > + ts_reset_default: ts-reset-default-state {
> >
> > + pins = "gpio54";
> >
> > + function = "gpio";
> >
> > +
> >
> > + bias-disable;
> >
> > + drive-strength = <16>;
> >
> > + };
> >
> > +
> >
> > usbprim_sbu_default: usbprim-sbu-state {
> >
> > oe-n-pins {
> >
> > pins = "gpio152";
> >
> > --
> >
> > 2.42.0
> >
>
On 3.02.2024 20:11, Anton Bambura wrote: > Set regulators, reset gpio and delays according to ACPI tables. > > Signed-off-by: Anton Bambura <jenneron@postmarketos.org> > --- Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org> Konrad
© 2016 - 2025 Red Hat, Inc.