blob: be749d94d1a773ae64adb4a96f6f759ce339bc1b [file] [log] [blame]
// SPDX-License-Identifier: GPL-2.0-only
/*
* Google Slider Board device tree source
*
* Copyright 2020 Google, LLC.
*/
/* Touch is connected to spi_11, pins:
* CLK=GPP23[0], MOSI=GPP23[1], MISO=GPP23[2], CS=GPP23[3]
* TS_RESET_L = AE34 = XAPC_GPIO10 = GPP26[0] = <&gpp26 0 0>
* TS_SPI_SEL = AD34 = XAPC_GPIO11 = GPP26[1] = <&gpp26 1 0>
* TS_INT_R2_L = D11 = XEINT_20 = GPA9[0] = <&gpa9 0 0>
*
* DVDD = PP1800_L25M_TSP_DVDD = F10 = VLDO25M
* AVDD = PP3300_L26M_TS_AVDD = E13 = VLDO26M
*/
#include <dt-bindings/pinctrl/samsung.h>
#include <dt-bindings/pinctrl/gs101.h>
/ {
fragment@touch_bus_negotiator {
target-path = "/";
__overlay__ {
tbn: tbn {
compatible = "touch_bus_negotiator";
/* Low: AP, High: AOC */
/* Note: The following GPIO flags are not used by the driver. */
tbn,aoc2ap_gpio = <&gpa8 6 GPIO_ACTIVE_LOW>;
tbn,ap2aoc_gpio = <&gpp26 1 GPIO_ACTIVE_LOW>;
};
};
};
};
&pinctrl_0 {
ts_irq: ts-irq {
samsung,pins = "gpa9-0";
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <GS101_PIN_DRV_2_5_MA>;
};
aoc2ap_irq: aoc2ap-irq {
samsung,pins = "gpa8-6";
samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
samsung,pin-drv = <GS101_PIN_DRV_2_5_MA>;
};
};
&pinctrl_5 {
ts_reset: ts-reset {
samsung,pins = "gpp26-0";
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>;
samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
};
ap2aoc: ap2aoc {
samsung,pins = "gpp26-1";
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>;
samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
};
ts_spi_bus_active: ts_spi_bus_active {
samsung,pins = "gpp23-0", "gpp23-1", "gpp23-2";
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <GS101_PIN_DRV_2_5_MA>;
};
ts_spi_cs_active: ts_spi_cs_active {
samsung,pins = "gpp23-3";
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <GS101_PIN_DRV_2_5_MA>;
};
ts_spi_bus_sleep: ts_spi_bus_sleep {
samsung,pins = "gpp23-0", "gpp23-1";
samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
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>;
};
ts_spi_miso_sleep: ts_spi_miso_sleep {
samsung,pins = "gpp23-2";
samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
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>;
};
ts_spi_cs_sleep: ts_spi_cs_sleep {
samsung,pins = "gpp23-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_11 {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
pinctrl-0 = <>;
cs-gpios = <&gpp23 3 GPIO_ACTIVE_LOW>;
num-cs = <1>;
spitouch: touchscreen@0 {
status = "disabled";
reg = <0>;
pinctrl-names = "ts_active", "ts_suspend";
pinctrl-0 = <&ts_irq &ts_reset &ap2aoc &aoc2ap_irq
&ts_spi_bus_active &ts_spi_cs_active>;
pinctrl-1 = <&ts_spi_bus_sleep &ts_spi_miso_sleep &ts_spi_cs_sleep>;
vdd-supply = <&m_ldo25_reg>;
avdd-supply = <&m_ldo26_reg>;
};
};