162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-or-later 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright 2012 ST-Ericsson AB 462306a36Sopenharmony_ci */ 562306a36Sopenharmony_ci 662306a36Sopenharmony_ci#include <dt-bindings/interrupt-controller/irq.h> 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci/ { 962306a36Sopenharmony_ci gpio_keys { 1062306a36Sopenharmony_ci compatible = "gpio-keys"; 1162306a36Sopenharmony_ci #address-cells = <1>; 1262306a36Sopenharmony_ci #size-cells = <0>; 1362306a36Sopenharmony_ci vdd-supply = <&ab8500_ldo_aux1_reg>; 1462306a36Sopenharmony_ci pinctrl-names = "default"; 1562306a36Sopenharmony_ci pinctrl-0 = <&prox_stuib_mode>, <&hall_stuib_mode>; 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ci button@139 { 1862306a36Sopenharmony_ci /* Proximity sensor */ 1962306a36Sopenharmony_ci gpios = <&gpio6 25 GPIO_ACTIVE_HIGH>; 2062306a36Sopenharmony_ci linux,code = <11>; /* SW_FRONT_PROXIMITY */ 2162306a36Sopenharmony_ci label = "SFH7741 Proximity Sensor"; 2262306a36Sopenharmony_ci }; 2362306a36Sopenharmony_ci button@145 { 2462306a36Sopenharmony_ci /* Hall sensor */ 2562306a36Sopenharmony_ci gpios = <&gpio4 17 GPIO_ACTIVE_HIGH>; 2662306a36Sopenharmony_ci linux,code = <0>; /* SW_LID */ 2762306a36Sopenharmony_ci label = "HED54XXU11 Hall Effect Sensor"; 2862306a36Sopenharmony_ci }; 2962306a36Sopenharmony_ci }; 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ci soc { 3262306a36Sopenharmony_ci i2c@80004000 { 3362306a36Sopenharmony_ci stmpe1601: port-expander@40 { 3462306a36Sopenharmony_ci compatible = "st,stmpe1601"; 3562306a36Sopenharmony_ci reg = <0x40>; 3662306a36Sopenharmony_ci interrupts = <26 IRQ_TYPE_EDGE_FALLING>; 3762306a36Sopenharmony_ci interrupt-parent = <&gpio6>; 3862306a36Sopenharmony_ci vcc-supply = <&db8500_vsmps2_reg>; 3962306a36Sopenharmony_ci vio-supply = <&db8500_vsmps2_reg>; 4062306a36Sopenharmony_ci pinctrl-names = "default"; 4162306a36Sopenharmony_ci pinctrl-0 = <&stmpe_stuib_mode>; 4262306a36Sopenharmony_ci 4362306a36Sopenharmony_ci wakeup-source; 4462306a36Sopenharmony_ci st,autosleep-timeout = <1024>; 4562306a36Sopenharmony_ci 4662306a36Sopenharmony_ci keyboard-controller { 4762306a36Sopenharmony_ci compatible = "st,stmpe-keypad"; 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_ci debounce-interval = <64>; 5062306a36Sopenharmony_ci st,scan-count = <8>; 5162306a36Sopenharmony_ci st,no-autorepeat; 5262306a36Sopenharmony_ci 5362306a36Sopenharmony_ci linux,keymap = <0x205006b 5462306a36Sopenharmony_ci 0x4010074 5562306a36Sopenharmony_ci 0x3050072 5662306a36Sopenharmony_ci 0x1030004 5762306a36Sopenharmony_ci 0x502006a 5862306a36Sopenharmony_ci 0x500000a 5962306a36Sopenharmony_ci 0x5008b 6062306a36Sopenharmony_ci 0x706001c 6162306a36Sopenharmony_ci 0x405000b 6262306a36Sopenharmony_ci 0x6070003 6362306a36Sopenharmony_ci 0x3040067 6462306a36Sopenharmony_ci 0x303006c 6562306a36Sopenharmony_ci 0x60400e7 6662306a36Sopenharmony_ci 0x602009e 6762306a36Sopenharmony_ci 0x4020073 6862306a36Sopenharmony_ci 0x5050002 6962306a36Sopenharmony_ci 0x4030069 7062306a36Sopenharmony_ci 0x3020008>; 7162306a36Sopenharmony_ci }; 7262306a36Sopenharmony_ci }; 7362306a36Sopenharmony_ci }; 7462306a36Sopenharmony_ci 7562306a36Sopenharmony_ci /* Sensors mounted on this board variant */ 7662306a36Sopenharmony_ci i2c@80128000 { 7762306a36Sopenharmony_ci lis331dl@1c { 7862306a36Sopenharmony_ci /* Accelerometer */ 7962306a36Sopenharmony_ci compatible = "st,lis331dl-accel"; 8062306a36Sopenharmony_ci st,drdy-int-pin = <1>; 8162306a36Sopenharmony_ci reg = <0x1c>; 8262306a36Sopenharmony_ci vdd-supply = <&ab8500_ldo_aux1_reg>; 8362306a36Sopenharmony_ci vddio-supply = <&db8500_vsmps2_reg>; 8462306a36Sopenharmony_ci pinctrl-names = "default"; 8562306a36Sopenharmony_ci pinctrl-0 = <&accel_stuib_mode>; 8662306a36Sopenharmony_ci interrupt-parent = <&gpio2>; 8762306a36Sopenharmony_ci interrupts = <18 IRQ_TYPE_EDGE_RISING>, 8862306a36Sopenharmony_ci <19 IRQ_TYPE_EDGE_RISING>; 8962306a36Sopenharmony_ci }; 9062306a36Sopenharmony_ci ak8974@f { 9162306a36Sopenharmony_ci /* Magnetometer */ 9262306a36Sopenharmony_ci compatible = "asahi-kasei,ak8974"; 9362306a36Sopenharmony_ci reg = <0x0f>; 9462306a36Sopenharmony_ci vdd-supply = <&ab8500_ldo_aux1_reg>; 9562306a36Sopenharmony_ci vddio-supply = <&db8500_vsmps2_reg>; 9662306a36Sopenharmony_ci pinctrl-names = "default"; 9762306a36Sopenharmony_ci pinctrl-0 = <&magneto_stuib_mode>; 9862306a36Sopenharmony_ci interrupt-parent = <&gpio1>; 9962306a36Sopenharmony_ci interrupts = <0 IRQ_TYPE_EDGE_RISING>; 10062306a36Sopenharmony_ci }; 10162306a36Sopenharmony_ci }; 10262306a36Sopenharmony_ci 10362306a36Sopenharmony_ci i2c@80110000 { 10462306a36Sopenharmony_ci bu21013_tp@5c { 10562306a36Sopenharmony_ci compatible = "rohm,bu21013_tp"; 10662306a36Sopenharmony_ci reg = <0x5c>; 10762306a36Sopenharmony_ci avdd-supply = <&ab8500_ldo_aux1_reg>; 10862306a36Sopenharmony_ci 10962306a36Sopenharmony_ci rohm,touch-max-x = <384>; 11062306a36Sopenharmony_ci rohm,touch-max-y = <704>; 11162306a36Sopenharmony_ci rohm,flip-y; 11262306a36Sopenharmony_ci pinctrl-names = "default"; 11362306a36Sopenharmony_ci pinctrl-0 = <&touch_rohm_mode>; 11462306a36Sopenharmony_ci }; 11562306a36Sopenharmony_ci 11662306a36Sopenharmony_ci bu21013_tp@5d { 11762306a36Sopenharmony_ci compatible = "rohm,bu21013_tp"; 11862306a36Sopenharmony_ci reg = <0x5d>; 11962306a36Sopenharmony_ci avdd-supply = <&ab8500_ldo_aux1_reg>; 12062306a36Sopenharmony_ci 12162306a36Sopenharmony_ci rohm,touch-max-x = <384>; 12262306a36Sopenharmony_ci rohm,touch-max-y = <704>; 12362306a36Sopenharmony_ci rohm,flip-y; 12462306a36Sopenharmony_ci pinctrl-names = "default"; 12562306a36Sopenharmony_ci pinctrl-0 = <&touch_rohm_mode>; 12662306a36Sopenharmony_ci }; 12762306a36Sopenharmony_ci }; 12862306a36Sopenharmony_ci 12962306a36Sopenharmony_ci pinctrl { 13062306a36Sopenharmony_ci /* Pull up this GPIO pin */ 13162306a36Sopenharmony_ci stmpe { 13262306a36Sopenharmony_ci stmpe_stuib_mode: stmpe_stuib { 13362306a36Sopenharmony_ci stuib_cfg { 13462306a36Sopenharmony_ci ste,pins = "GPIO218_AH11"; 13562306a36Sopenharmony_ci ste,config = <&gpio_in_pu>; 13662306a36Sopenharmony_ci }; 13762306a36Sopenharmony_ci }; 13862306a36Sopenharmony_ci }; 13962306a36Sopenharmony_ci prox { 14062306a36Sopenharmony_ci prox_stuib_mode: prox_stuib { 14162306a36Sopenharmony_ci stuib_cfg { 14262306a36Sopenharmony_ci pins = "GPIO217_AH12"; 14362306a36Sopenharmony_ci ste,config = <&gpio_in_pu>; 14462306a36Sopenharmony_ci }; 14562306a36Sopenharmony_ci }; 14662306a36Sopenharmony_ci }; 14762306a36Sopenharmony_ci hall { 14862306a36Sopenharmony_ci hall_stuib_mode: stuib_tvk { 14962306a36Sopenharmony_ci stuib_cfg { 15062306a36Sopenharmony_ci pins = "GPIO145_C13"; 15162306a36Sopenharmony_ci ste,config = <&gpio_in_pu>; 15262306a36Sopenharmony_ci }; 15362306a36Sopenharmony_ci }; 15462306a36Sopenharmony_ci }; 15562306a36Sopenharmony_ci accelerometer { 15662306a36Sopenharmony_ci accel_stuib_mode: accel_stuib { 15762306a36Sopenharmony_ci /* Accelerometer interrupt lines 1 & 2 */ 15862306a36Sopenharmony_ci stuib_cfg { 15962306a36Sopenharmony_ci pins = "GPIO82_C1", "GPIO83_D3"; 16062306a36Sopenharmony_ci ste,config = <&gpio_in_pu>; 16162306a36Sopenharmony_ci }; 16262306a36Sopenharmony_ci }; 16362306a36Sopenharmony_ci }; 16462306a36Sopenharmony_ci magnetometer { 16562306a36Sopenharmony_ci magneto_stuib_mode: magneto_stuib { 16662306a36Sopenharmony_ci /* Magnetometer uses GPIO 31 and 32, pull these up/down respectively */ 16762306a36Sopenharmony_ci stuib_cfg1 { 16862306a36Sopenharmony_ci pins = "GPIO31_V3"; 16962306a36Sopenharmony_ci ste,config = <&gpio_in_pu>; 17062306a36Sopenharmony_ci }; 17162306a36Sopenharmony_ci stuib_cfg2 { 17262306a36Sopenharmony_ci pins = "GPIO32_V2"; 17362306a36Sopenharmony_ci ste,config = <&gpio_in_pd>; 17462306a36Sopenharmony_ci }; 17562306a36Sopenharmony_ci }; 17662306a36Sopenharmony_ci }; 17762306a36Sopenharmony_ci touch { 17862306a36Sopenharmony_ci touch_rohm_mode: touch_rohm { 17962306a36Sopenharmony_ci /* 18062306a36Sopenharmony_ci * ROHM touch screen uses GPIO 143 for 18162306a36Sopenharmony_ci * RST1, GPIO 146 for RST2 and 18262306a36Sopenharmony_ci * GPIO 67 for interrupts. Pull-up 18362306a36Sopenharmony_ci * the IRQ line and drive both 18462306a36Sopenharmony_ci * reset signals low. 18562306a36Sopenharmony_ci */ 18662306a36Sopenharmony_ci stuib_cfg1 { 18762306a36Sopenharmony_ci pins = "GPIO143_D12", "GPIO146_D13"; 18862306a36Sopenharmony_ci ste,config = <&gpio_out_lo>; 18962306a36Sopenharmony_ci }; 19062306a36Sopenharmony_ci stuib_cfg2 { 19162306a36Sopenharmony_ci pins = "GPIO67_G2"; 19262306a36Sopenharmony_ci ste,config = <&gpio_in_pu>; 19362306a36Sopenharmony_ci }; 19462306a36Sopenharmony_ci }; 19562306a36Sopenharmony_ci }; 19662306a36Sopenharmony_ci }; 19762306a36Sopenharmony_ci 19862306a36Sopenharmony_ci mcde@a0350000 { 19962306a36Sopenharmony_ci status = "okay"; 20062306a36Sopenharmony_ci 20162306a36Sopenharmony_ci dsi@a0351000 { 20262306a36Sopenharmony_ci panel { 20362306a36Sopenharmony_ci compatible = "samsung,s6d16d0"; 20462306a36Sopenharmony_ci reg = <0>; 20562306a36Sopenharmony_ci vdd1-supply = <&ab8500_ldo_aux1_reg>; 20662306a36Sopenharmony_ci reset-gpios = <&gpio2 1 GPIO_ACTIVE_LOW>; 20762306a36Sopenharmony_ci }; 20862306a36Sopenharmony_ci }; 20962306a36Sopenharmony_ci }; 21062306a36Sopenharmony_ci }; 21162306a36Sopenharmony_ci}; 212