From: Nikita Travkin <nikitos...@gmail.com>

L8150 has RMI4 compatible Synaptics touchscreen on
blsp_i2c5. It is powered by fixed regulator. Add
both to the device tree.

Signed-off-by: Nikita Travkin <nikitos...@gmail.com>
---
 .../boot/dts/qcom/msm8916-longcheer-l8150.dts | 63 +++++++++++++++++++
 1 file changed, 63 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts 
b/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts
index d106bdbfda68..21f2e8e0d05e 100644
--- a/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts
+++ b/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts
@@ -5,6 +5,7 @@
 #include "msm8916-pm8916.dtsi"
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/interrupt-controller/irq.h>
 
 / {
        model = "Longcheer L8150";
@@ -50,6 +51,52 @@ volume-up {
                        linux,code = <KEY_VOLUMEUP>;
                };
        };
+
+       reg_ctp: regulator-ctp {
+               compatible = "regulator-fixed";
+               regulator-name = "ctp";
+
+               regulator-min-microvolt = <2800000>;
+               regulator-max-microvolt = <2800000>;
+
+               gpio = <&msmgpio 17 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+
+               pinctrl-names = "default";
+               pinctrl-0 = <&ctp_pwr_en_default>;
+       };
+};
+
+&blsp_i2c5 {
+       status = "okay";
+
+       rmi4@20 {
+               compatible = "syna,rmi4-i2c";
+               reg = <0x20>;
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               interrupt-parent = <&msmgpio>;
+               interrupts = <13 IRQ_TYPE_EDGE_FALLING>;
+
+               vdd-supply = <&reg_ctp>;
+               vio-supply = <&pm8916_l6>;
+
+               pinctrl-names = "default";
+               pinctrl-0 = <&tp_int_default>;
+
+               syna,startup-delay-ms = <10>;
+
+               rmi4-f01@1 {
+                       reg = <0x1>;
+                       syna,nosleep-mode = <1>; // Allow sleeping
+               };
+
+               rmi4-f12@12 {
+                       reg = <0x12>;
+                       syna,sensor-type = <1>; // Touchscreen
+               };
+       };
 };
 
 &blsp1_uart2 {
@@ -201,6 +248,14 @@ l18 {
 };
 
 &msmgpio {
+       ctp_pwr_en_default: ctp-pwr-en-default {
+               pins = "gpio17";
+               function = "gpio";
+
+               drive-strength = <2>;
+               bias-disable;
+       };
+
        gpio_keys_default: gpio-keys-default {
                pins = "gpio107";
                function = "gpio";
@@ -209,6 +264,14 @@ gpio_keys_default: gpio-keys-default {
                bias-pull-up;
        };
 
+       tp_int_default: tp-int-default {
+               pins = "gpio13";
+               function = "gpio";
+
+               drive-strength = <2>;
+               bias-disable;
+       };
+
        usb_vbus_default: usb-vbus-default {
                pins = "gpio62";
                function = "gpio";
-- 
2.25.1

Reply via email to