| // SPDX-License-Identifier: GPL-2.0-only |
| /* |
| * Google L10 touch device tree source |
| * |
| * Copyright 2022 Google Inc. |
| * |
| */ |
| |
| #include <dt-bindings/pinctrl/samsung.h> |
| |
| &tbn { |
| tbn,max_devices = <2>; |
| }; |
| |
| &spi_6 { |
| status = "okay"; |
| dma-mode; |
| dmas = <&pdma0 12 &pdma0 13>; |
| swap-mode = <1> ; |
| }; |
| |
| &m_ldo25_reg { |
| regulator-max-microvolt = <1800000>; |
| regulator-min-microvolt = <1800000>; |
| /delete-property/ regulator-always-on; |
| }; |
| |
| &m_ldo26_reg { |
| regulator-min-microvolt = <3300000>; |
| regulator-max-microvolt = <3300000>; |
| /delete-property/ regulator-always-on; |
| }; |
| |
| &pinctrl_5 { |
| ext_ts_reset: ext_ts_reset { |
| samsung,pins = "gpp23-3"; |
| samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; |
| samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>; |
| samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>; |
| }; |
| }; |
| |
| &pinctrl_4 { |
| ext_ts_spi_bus_active: ext_ts_spi_bus_active { |
| samsung,pins = "gpp12-0", "gpp12-1", "gpp12-2"; |
| samsung,pin-function = <3>; |
| samsung,pin-pud = <0>; |
| samsung,pin-drv = <GS101_PIN_DRV_5_MA>; |
| }; |
| ext_ts_spi_cs_active: ext_ts_spi_cs_active { |
| samsung,pins = "gpp12-3"; |
| samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; |
| samsung,pin-pud = <0>; |
| samsung,pin-drv = <GS101_PIN_DRV_2_5_MA>; |
| }; |
| ext_ts_spi_bus_sleep: ext_ts_spi_bus_sleep { |
| samsung,pins = "gpp12-0", "gpp12-1"; |
| samsung,pin-function = <0>; |
| samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; |
| samsung,pin-drv = <GS101_PIN_DRV_2_5_MA>; |
| samsung,pin-con-pdn = <EXYNOS_PIN_PDN_INPUT>; |
| samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>; |
| }; |
| ext_ts_spi_miso_sleep: ext_ts_spi_miso_sleep { |
| samsung,pins = "gpp12-2"; |
| samsung,pin-function = <0>; |
| samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; |
| samsung,pin-drv = <GS101_PIN_DRV_2_5_MA>; |
| samsung,pin-con-pdn = <EXYNOS_PIN_PDN_INPUT>; |
| samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>; |
| }; |
| ext_ts_spi_cs_sleep: ext_ts_spi_cs_sleep { |
| samsung,pins = "gpp12-3"; |
| samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>; |
| samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; |
| samsung,pin-drv = <GS101_PIN_DRV_2_5_MA>; |
| samsung,pin-con-pdn = <EXYNOS_PIN_PDN_INPUT>; |
| samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_UP>; |
| }; |
| }; |
| |
| &spi_6 { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| status = "okay"; |
| pinctrl-0 = <>; |
| spi6touch: touchscreen@0 { |
| status = "ok"; |
| compatible = "st,fts"; |
| spi-max-frequency = <10000000>; |
| pinctrl-names = "pmx_ts_active", "pmx_ts_suspend"; |
| pinctrl-0 = <&ext_ts_reset &ext_ts_spi_bus_active |
| &ext_ts_spi_cs_active>; |
| pinctrl-1 = <&ext_ts_spi_bus_sleep &ext_ts_spi_miso_sleep |
| &ext_ts_spi_cs_sleep>; |
| st,irq-gpio = <&gpa6 7 0>; |
| st,reset-gpio = <&gpp23 3 0>; |
| st,dchip_id = /bits/ 8 <0x36 0x40>; |
| st,max-coords = <1079 2091>; |
| st,device_name = "fts_ext"; /* device folder in /proc/ */ |
| st,firmware_names = "ftm5_fw_f10_ext.ftb"; |
| st,limits_names = "stm_fts_production_limits_f10_ext.csv"; |
| st,panel_map = <&samsung_ea8182_f10 0>; |
| st,sensor_inverted_x; |
| st,sensor_inverted_y; |
| vdd-supply = <&m_ldo25_reg>; |
| avdd-supply = <&m_ldo26_reg>; |
| reg = <0>; |
| goog,offload-device-name = "fts_ext"; /* append after "touch_offload_" */ |
| goog,tbn-enabled; |
| goog,offload-enabled; |
| goog,v4l2-enabled; |
| goog,touch_offload_id = /bits/ 8 <'f''1''0''1'>; /* outer: 1; inner 0 */ |
| goog,display-resolution = /bits/ 16 <1079 2091>; |
| goog,channel-num = /bits/ 16 <16 31>; |
| goog,offload-caps-data-types = /bits/ 16 <0x1f>; |
| goog,offload-caps-scan-types = /bits/ 16 <0xc0>; |
| goog,default-grip-disabled; |
| goog,default-palm-disabled; |
| controller-data { |
| cs-gpio = <&gpp12 3 0>; |
| samsung,spi-feedback-delay = <1>; |
| samsung,spi-chip-select-mode = <0>; |
| cs-clock-delay = <2>; |
| }; |
| }; |
| }; |
| |