lkml.org 
[lkml]   [2022]   [Sep]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH 2/8] arm64: dts: qcom: sdm845-tama: Add Synaptics Touchscreen
From
On 30/09/2022 21:10, Konrad Dybcio wrote:
> Add required pins and RMI4 node to the common DT and remove it
> from Akatsuki, as it uses a different touch.
>
> Since the panels are super high tech proprietary incell, they
> need to be handled with very precise timings. As such the panel
> driver sets up the power rails and GPIOs and the touchscreen
> driver *has to* probe afterwards.
>

Thank you for your patch. There is something to discuss/improve.

> Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
> ---
> .../qcom/sdm845-sony-xperia-tama-akatsuki.dts | 3 +
> .../dts/qcom/sdm845-sony-xperia-tama.dtsi | 69 ++++++++++++++++++-
> 2 files changed, 70 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/qcom/sdm845-sony-xperia-tama-akatsuki.dts b/arch/arm64/boot/dts/qcom/sdm845-sony-xperia-tama-akatsuki.dts
> index 2a16305ac5da..5c5949a51184 100644
> --- a/arch/arm64/boot/dts/qcom/sdm845-sony-xperia-tama-akatsuki.dts
> +++ b/arch/arm64/boot/dts/qcom/sdm845-sony-xperia-tama-akatsuki.dts
> @@ -7,6 +7,9 @@
>
> #include "sdm845-sony-xperia-tama.dtsi"
>
> +/* XZ3 uses an Atmel touchscreen instead. */
> +/delete-node/ &touchscreen;
> +
> / {
> model = "Sony Xperia XZ3";
> compatible = "sony,akatsuki-row", "qcom,sdm845";
> diff --git a/arch/arm64/boot/dts/qcom/sdm845-sony-xperia-tama.dtsi b/arch/arm64/boot/dts/qcom/sdm845-sony-xperia-tama.dtsi
> index ac8eb59ed010..809a6d7e739b 100644
> --- a/arch/arm64/boot/dts/qcom/sdm845-sony-xperia-tama.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sdm845-sony-xperia-tama.dtsi
> @@ -375,10 +375,43 @@ &gcc {
> };
>
> &i2c5 {
> - status = "okay";
> clock-frequency = <400000>;
> + status = "okay";
> +
> + touchscreen: touchscreen@2c {
> + compatible = "syna,rmi4-i2c";
> + reg = <0x2c>;
> +
> + interrupt-parent = <&tlmm>;
> + interrupts = <125 IRQ_TYPE_EDGE_FALLING>;
> + vdd-supply = <&vreg_l14a_1p8>;
> + /*
> + * This is a blatant abuse of OF, but the panel driver *needs*
> + * to probe first, as the power/gpio switching needs to be precisely
> + * timed in order for both the display and touch panel to function properly.
> + */
> + incell-supply = <&panel>;
> +
> + syna,reset-delay-ms = <220>;
> + syna,startup-delay-ms = <1000>;
> +
> + pinctrl-names = "default", "sleep";
> + pinctrl-0 = <&ts_default>;
> + pinctrl-1 = <&ts_sleep>;
>
> - /* Synaptics touchscreen @ 2c, 3c */
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + rmi4-f01@1 {
> + reg = <0x01>;
> + syna,nosleep-mode = <1>;
> + };
> +
> + rmi4-f12@12 {
> + reg = <0x12>;
> + syna,sensor-type = <1>;
> + };
> + };
> };
>
> &i2c10 {
> @@ -497,6 +530,38 @@ sde_te_active_sleep: sde-te-active-sleep-state {
> drive-strength = <2>;
> bias-pull-down;
> };
> +
> + ts_default: ts-default-state {
> + reset-pin {

"-pins" suffix, so "reset-pins" here and further.


Best regards,
Krzysztof

\
 
 \ /
  Last update: 2022-09-30 22:14    [W:0.072 / U:0.008 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site