blob: e472ac8a6e76674acca8171c97188de53c04aaa8 [file] [log] [blame]
/*
* Copyright 2023 Google LLC
*
* SPDX-License-Identifier: Apache-2.0
*/
/ {
test {
#address-cells = <1>;
#size-cells = <1>;
test_adc: adc@adc0adc0 {
compatible = "vnd,adc";
reg = <0xadc0adc0 0x1000>;
#io-channel-cells = <1>;
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
channel@0 {
reg = <0>;
zephyr,gain = "ADC_GAIN_1";
zephyr,reference = "ADC_REF_VDD_1";
zephyr,acquisition-time = <ADC_ACQ_TIME_DEFAULT>;
};
};
test_gpio: gpio@0 {
compatible = "vnd,gpio";
gpio-controller;
reg = <0x0 0x1000>;
#gpio-cells = <0x2>;
status = "okay";
};
adc-keys {
compatible = "adc-keys";
io-channels = <&test_adc 0>;
keyup-threshold-mv = <0>;
button_0 {
press-thresholds-mv = <1500>, <1750>;
zephyr,code = <0>;
};
button_1 {
press-thresholds-mv = <2500>, <1750>;
zephyr,code = <1>;
};
};
gpio-keys {
compatible = "gpio-keys";
debounce-interval-ms = <30>;
button_0 {
gpios = <&test_gpio 0 0>;
zephyr,code = <0>;
};
};
gpio-keys-polled {
compatible = "gpio-keys";
debounce-interval-ms = <30>;
button_0 {
gpios = <&test_gpio 0 0>;
zephyr,code = <0>;
};
polling-mode;
};
evdev {
compatible = "zephyr,native-linux-evdev";
};
kbd-matrix-0 {
compatible = "gpio-kbd-matrix";
row-gpios = <&test_gpio 0 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>,
<&test_gpio 1 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
col-gpios = <&test_gpio 2 GPIO_ACTIVE_LOW>,
<&test_gpio 3 GPIO_ACTIVE_LOW>,
<&test_gpio 4 GPIO_ACTIVE_LOW>;
actual-key-mask = <0x0f 0x0a 0x0b>;
keymap {
compatible = "input-keymap";
keymap = <0 1 2>;
row-size = <2>;
col-size = <2>;
};
};
kbd-matrix-1 {
compatible = "gpio-kbd-matrix";
row-gpios = <&test_gpio 0 (GPIO_PULL_DOWN | GPIO_ACTIVE_HIGH)>,
<&test_gpio 1 (GPIO_PULL_DOWN | GPIO_ACTIVE_HIGH)>,
<&test_gpio 2 (GPIO_PULL_DOWN | GPIO_ACTIVE_HIGH)>;
col-gpios = <&test_gpio 3 GPIO_ACTIVE_HIGH>,
<&test_gpio 4 GPIO_ACTIVE_HIGH>;
col-drive-inactive;
idle-mode = "poll";
};
kbd-matrix-2 {
compatible = "gpio-kbd-matrix";
row-gpios = <&test_gpio 0 (GPIO_PULL_DOWN | GPIO_ACTIVE_HIGH)>,
<&test_gpio 1 (GPIO_PULL_DOWN | GPIO_ACTIVE_HIGH)>,
<&test_gpio 2 (GPIO_PULL_DOWN | GPIO_ACTIVE_HIGH)>;
col-gpios = <&test_gpio 3 GPIO_ACTIVE_HIGH>,
<&test_gpio 4 GPIO_ACTIVE_HIGH>;
poll-timeout-ms = <0>;
idle-mode = "scan";
};
qdec-gpio {
compatible = "gpio-qdec";
gpios = <&test_gpio 0 0>, <&test_gpio 1 0>;
steps-per-period = <4>;
zephyr,axis = <0>;
sample-time-us = <2000>;
idle-timeout-ms = <200>;
};
qdec-gpio-polled {
compatible = "gpio-qdec";
gpios = <&test_gpio 0 0>, <&test_gpio 1 0>;
led-gpios = <&test_gpio 2 0>;
led-pre-us = <5>;
steps-per-period = <4>;
zephyr,axis = <0>;
sample-time-us = <2000>;
idle-timeout-ms = <200>;
idle-poll-time-us = <5000>;
};
analog_axis {
compatible = "analog-axis";
axis-x {
io-channels = <&test_adc 0>;
out-min = <(-127)>;
out-max = <127>;
in-deadzone = <8>;
in-min = <(-100)>;
in-max = <100>;
zephyr,axis = <0>;
invert;
};
};
longpress: longpress {
input = <&longpress>;
compatible = "zephyr,input-longpress";
input-codes = <0>;
short-codes = <0>;
long-codes = <0>;
long-delay-ms = <100>;
};
i2c@1 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "vnd,i2c";
reg = <0x1 0x1000>;
status = "okay";
clock-frequency = <100000>;
ft5336@0 {
compatible = "focaltech,ft5336";
reg = <0x0>;
int-gpios = <&test_gpio 0 0>;
};
gt911@1 {
compatible = "goodix,gt911";
reg = <0x1>;
irq-gpios = <&test_gpio 0 0>;
reset-gpios = <&test_gpio 1 0>;
};
cst816s@2 {
compatible = "hynitron,cst816s";
reg = <0x2>;
irq-gpios = <&test_gpio 0 0>;
rst-gpios = <&test_gpio 1 0>;
};
cap1203@3 {
compatible = "microchip,cap1203";
reg = <0x3>;
int-gpios = <&test_gpio 0 0>;
input-codes = <0 1 2>;
};
stmpe811@4 {
compatible = "st,stmpe811";
reg = <0x4>;
int-gpios = <&test_gpio 0 0>;
panel-driver-settling-time-us = <10>;
touch-detect-delay-us = <10>;
touch-average-control = <1>;
tracking-index = <0>;
};
pat@5 {
compatible = "pixart,pat912x";
reg = <0x5>;
motion-gpios = <&test_gpio 0 0>;
zephyr,axis-x = <0>;
zephyr,axis-y = <1>;
res-x-cpi = <0>;
res-y-cpi = <0>;
invert-x;
invert-y;
sleep1-enable;
sleep2-enable;
};
cf1133@6 {
compatible = "sitronix,cf1133";
reg = <0x6>;
int-gpios = <&test_gpio 0 0>;
};
chsc6x@7 {
compatible = "chipsemi,chsc6x";
reg = <0x7>;
irq-gpios = <&test_gpio 0 0>;
};
pinnacle@2a {
compatible = "cirque,pinnacle";
reg = <0x2a>;
data-ready-gpios = <&test_gpio 0 0>;
data-mode = "relative";
primary-tap-enable;
swap-xy;
};
};
spi@2 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "vnd,spi";
reg = <0x2 0x1000>;
status = "okay";
clock-frequency = <2000000>;
/* one entry for every devices */
cs-gpios = <&test_gpio 0 0>,
<&test_gpio 1 0>,
<&test_gpio 2 0>,
<&test_gpio 3 0>;
xpt2046@0 {
compatible = "xptek,xpt2046";
spi-max-frequency = <0>;
reg = <0x0>;
int-gpios = <&test_gpio 0 0>;
touchscreen-size-x = <10>;
touchscreen-size-y = <10>;
min-x = <0>;
min-y = <0>;
max-x = <1>;
max-y = <1>;
};
pmw3610@1 {
compatible = "pixart,pmw3610";
spi-max-frequency = <0>;
reg = <0x1>;
motion-gpios = <&test_gpio 0 0>;
reset-gpios = <&test_gpio 1 0>;
zephyr,axis-x = <0>;
zephyr,axis-y = <1>;
invert-x;
invert-y;
force-awake;
smart-mode;
};
pinnacle@2 {
compatible = "cirque,pinnacle";
reg = <0x2>;
spi-max-frequency = <0>;
data-ready-gpios = <&test_gpio 0 0>;
data-mode = "absolute";
idle-packets-count = <20>;
clipping-enable;
scaling-enable;
invert-x;
invert-y;
};
paw32xx@3 {
compatible = "pixart,paw32xx";
reg = <3>;
spi-max-frequency = <0>;
motion-gpios = <&test_gpio 0 0>;
zephyr,axis-x = <0>;
zephyr,axis-y = <1>;
invert-x;
invert-y;
res-cpi = <800>;
};
};
};
};