[v1,3/5] arm64: dts: qcom: sc8180x-lenovo-flex-5g: enable touchscreen
Commit Message
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 | 32 +++++++++++++++++--
1 file changed, 30 insertions(+), 2 deletions(-)
Comments
On 30.01.2024 21:27, 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 | 32 +++++++++++++++++--
> 1 file changed, 30 insertions(+), 2 deletions(-)
>
> 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 af61acf58d68..8e8e1fca11c0 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>;
> @@ -357,7 +369,7 @@ zap-shader {
> &i2c1 {
> clock-frequency = <100000>;
>
> - pinctrl-0 = <&i2c1_active>, <&i2c1_hid_active>;
> + pinctrl-0 = <&i2c1_active>, <&i2c1_hid_active>, <&ts_reset>;
I think you want to add a reference under the touchscreen node instead.
Konrad
@@ -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>;
@@ -357,7 +369,7 @@ zap-shader {
&i2c1 {
clock-frequency = <100000>;
- pinctrl-0 = <&i2c1_active>, <&i2c1_hid_active>;
+ pinctrl-0 = <&i2c1_active>, <&i2c1_hid_active>, <&ts_reset>;
pinctrl-names = "default";
status = "okay";
@@ -365,9 +377,17 @@ &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>;
- interrupts-extended = <&tlmm 122 IRQ_TYPE_LEVEL_LOW>;
+ post-power-on-delay-ms = <3>;
+ post-reset-deassert-delay-ms = <200>;
+
+ interrupts-extended = <&tlmm 122 IRQ_TYPE_EDGE_FALLING>;
};
};
@@ -718,6 +738,14 @@ wake-n-pins {
};
};
+ ts_reset: ts-reset-state {
+ pins = "gpio54";
+ function = "gpio";
+
+ bias-disable;
+ drive-strength = <16>;
+ };
+
usbprim_sbu_default: usbprim-sbu-state {
oe-n-pins {
pins = "gpio152";