]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
arm64: dts: exynos8895-dreamlte: enable support for the touchscreen
authorIvaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
Sun, 5 Jan 2025 16:13:44 +0000 (18:13 +0200)
committerKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Wed, 5 Feb 2025 16:29:40 +0000 (17:29 +0100)
The Samsung Galaxy S8 uses a Samsung s6sy761 touchscreen over hsi2c23.
Add a node for it in order to allow using the touchscreen as long as
the previous bootloader has enabled the required regulators because
there's no support for PMIC yet.

Signed-off-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
Link: https://lore.kernel.org/r/20250105161344.420749-7-ivo.ivanov.ivanov1@gmail.com
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
arch/arm64/boot/dts/exynos/exynos8895-dreamlte.dts

index 6c4f8d4a9cc4dd62fbf5ca566a1ccf74c2e0ba69..61e064af3337d8d173bee9a2cc77eff5d93d3ec4 100644 (file)
@@ -10,6 +10,7 @@
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
 #include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/soc/samsung,exynos-usi.h>
 
 / {
        model = "Samsung Galaxy S8 (SM-G950F)";
                        wakeup-source;
                };
        };
+
+       /* TODO: Remove once PMIC is implemented  */
+       reg_placeholder: regulator-0 {
+               compatible = "regulator-fixed";
+               regulator-name = "reg-placeholder";
+       };
+};
+
+&hsi2c_23 {
+       #address-cells = <1>;
+       #size-cells = <0>;
+       status = "okay";
+
+       touchscreen@48 {
+               compatible = "samsung,s6sy761";
+               reg = <0x48>;
+
+               /* TODO: Update once PMIC is implemented */
+               avdd-supply = <&reg_placeholder>;
+               vdd-supply = <&reg_placeholder>;
+
+               interrupt-parent = <&gpa1>;
+               interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
+
+               pinctrl-0 = <&ts_int>;
+               pinctrl-names = "default";
+       };
 };
 
 &oscclk {
                samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
                samsung,pin-drv = <EXYNOS7_PIN_DRV_LV4>;
        };
+
+       ts_int: ts-int-pins {
+               samsung,pins = "gpa1-0";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung,pin-drv = <EXYNOS7_PIN_DRV_LV1>;
+       };
+};
+
+&usi9 {
+       samsung,mode = <USI_MODE_I2C0_1>;
+       status = "okay";
 };