2019-05-27 08:55:08 +02:00
// SPDX-License-Identifier: GPL-2.0-or-later
2013-09-26 15:34:02 +02:00
/*
* Copyright 2012 ST-Ericsson AB
*
2019-11-26 13:47:36 +01:00
* Device Tree for the TVK1281618 family of UIBs
2013-09-26 15:34:02 +02:00
*/
#include <dt-bindings/interrupt-controller/irq.h>
/ {
2013-11-15 13:43:02 +01:00
gpio_keys {
compatible = "gpio-keys";
#address-cells = <1>;
#size-cells = <0>;
vdd-supply = <&ab8500_ldo_aux1_reg>;
pinctrl-names = "default";
pinctrl-0 = <&prox_tvk_mode>, <&hall_tvk_mode>;
button@139 {
/* Proximity sensor */
2016-03-24 15:29:30 +01:00
gpios = <&gpio6 25 GPIO_ACTIVE_HIGH>;
2013-11-15 13:43:02 +01:00
linux,code = <11>; /* SW_FRONT_PROXIMITY */
label = "SFH7741 Proximity Sensor";
};
button@145 {
/* Hall sensor */
2016-03-24 15:29:30 +01:00
gpios = <&gpio4 17 GPIO_ACTIVE_HIGH>;
2013-11-15 13:43:02 +01:00
linux,code = <0>; /* SW_LID */
label = "HED54XXU11 Hall Effect Sensor";
};
};
2013-09-26 15:34:02 +02:00
soc {
2013-10-03 10:18:36 +02:00
i2c@80004000 {
2013-10-15 23:00:10 +02:00
tc35893@44 {
compatible = "toshiba,tc35893";
2013-10-03 10:18:36 +02:00
reg = <0x44>;
interrupt-parent = <&gpio6>;
interrupts = <26 IRQ_TYPE_EDGE_RISING>;
2013-11-13 14:57:49 +01:00
pinctrl-names = "default";
pinctrl-0 = <&tc35893_tvk_mode>;
2013-10-03 10:18:36 +02:00
interrupt-controller;
2013-10-15 23:00:10 +02:00
#interrupt-cells = <1>;
2013-10-03 10:18:36 +02:00
tc3589x_gpio {
2013-10-15 23:00:10 +02:00
compatible = "toshiba,tc3589x-gpio";
interrupts = <0>;
2013-10-03 10:18:36 +02:00
interrupt-controller;
#interrupt-cells = <2>;
gpio-controller;
#gpio-cells = <2>;
};
2013-10-15 23:00:10 +02:00
tc3589x_keypad {
compatible = "toshiba,tc3589x-keypad";
interrupts = <6>;
debounce-delay-ms = <4>;
keypad,num-columns = <8>;
keypad,num-rows = <8>;
linux,no-autorepeat;
2015-10-21 11:10:15 +01:00
wakeup-source;
2013-10-15 23:00:10 +02:00
linux,keymap = <0x0301006b
0x04010066
0x06040072
0x040200d7
0x0303006a
0x0205000e
0x0607008b
0x0500001c
0x0403000b
0x03040034
0x05020067
0x0305006c
0x040500e7
0x0005009e
0x06020073
0x01030039
0x07060069
0x050500d9>;
};
2013-10-03 10:18:36 +02:00
};
};
2019-11-26 13:47:36 +01:00
/* Sensors mounted on all board variants */
2014-04-12 17:13:23 +02:00
i2c@80128000 {
2017-10-13 12:54:51 -05:00
ak8974@f {
2015-11-13 15:00:03 +01:00
/* Magnetometer */
compatible = "asahi-kasei,ak8974";
reg = <0x0f>;
2016-07-04 15:10:57 +02:00
avdd-supply = <&ab8500_ldo_aux1_reg>;
dvdd-supply = <&db8500_vsmps2_reg>;
2014-04-12 17:13:23 +02:00
pinctrl-names = "default";
2015-11-13 15:00:03 +01:00
pinctrl-0 = <&gyro_magn_tvk_mode>;
2016-07-04 15:10:57 +02:00
/*
* These interrupts cannot be used: the other component
* ST-Micro L3D4200D gyro that is connected to the same lines
* cannot set its DRDY line to open drain, so it cannot be
* shared with other peripherals. The should be defined for
* the falling edge if they could be wired together.
*
* interrupts-extended =
* <&gpio1 0 IRQ_TYPE_EDGE_FALLING>,
* <&gpio0 31 IRQ_TYPE_EDGE_FALLING>;
*/
2014-04-12 17:13:23 +02:00
};
l3g4200d@68 {
/* Gyroscope */
compatible = "st,l3g4200d-gyro";
st,drdy-int-pin = <2>;
reg = <0x68>;
vdd-supply = <&ab8500_ldo_aux1_reg>;
vddio-supply = <&db8500_vsmps2_reg>;
2015-11-13 15:00:03 +01:00
pinctrl-names = "default";
pinctrl-0 = <&gyro_magn_tvk_mode>;
2016-07-04 15:10:57 +02:00
interrupts-extended =
<&gpio1 0 IRQ_TYPE_EDGE_RISING>,
<&gpio0 31 IRQ_TYPE_EDGE_RISING>;
2014-04-12 17:13:23 +02:00
};
lsp001wm@5c {
/* Barometer/pressure sensor */
compatible = "st,lps001wp-press";
reg = <0x5c>;
vdd-supply = <&ab8500_ldo_aux1_reg>;
vddio-supply = <&db8500_vsmps2_reg>;
};
};
2016-02-22 09:33:26 +01:00
i2c@80110000 {
synaptics@4b {
/* Synaptics RMI4 TM1217 touchscreen */
compatible = "syna,rmi4-i2c";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x4b>;
vdd-supply = <&ab8500_ldo_aux1_reg>;
vddio-supply = <&db8500_vsmps2_reg>;
pinctrl-names = "default";
pinctrl-0 = <&synaptics_tvk_mode>;
interrupt-parent = <&gpio2>;
interrupts = <20 IRQ_TYPE_EDGE_FALLING>;
rmi-f01@1 {
reg = <0x1>;
syna,nosleep = <1>;
};
rmi-f11@11 {
reg = <0x11>;
touchscreen-inverted-x;
syna,sensor-type = <1>;
};
};
};
2013-11-13 14:57:49 +01:00
pinctrl {
/* Pull up this GPIO pin */
tc35893 {
tc35893_tvk_mode: tc35893_tvk {
tvk_cfg {
2014-09-30 12:16:25 +02:00
pins = "GPIO218_AH11";
2013-11-13 14:57:49 +01:00
ste,config = <&gpio_in_pu>;
};
};
};
2013-11-15 13:43:02 +01:00
prox {
prox_tvk_mode: prox_tvk {
tvk_cfg {
2014-09-30 12:16:25 +02:00
pins = "GPIO217_AH12";
2013-11-15 13:43:02 +01:00
ste,config = <&gpio_in_pu>;
};
};
};
hall {
hall_tvk_mode: hall_tvk {
tvk_cfg {
2014-09-30 12:16:25 +02:00
pins = "GPIO145_C13";
2013-11-15 13:43:02 +01:00
ste,config = <&gpio_in_pu>;
};
};
};
2014-04-12 17:13:23 +02:00
accelerometer {
accel_tvk_mode: accel_tvk {
/* Accelerometer interrupt lines 1 & 2 */
tvk_cfg {
2014-09-30 12:16:25 +02:00
pins = "GPIO82_C1", "GPIO83_D3";
2016-07-04 15:10:57 +02:00
ste,config = <&gpio_in_pd>;
2014-04-12 17:13:23 +02:00
};
};
};
2015-11-13 15:00:03 +01:00
gyroscope {
/*
* These lines are shared between Gyroscope l3g400dh
* and AK8974 magnetometer.
*/
gyro_magn_tvk_mode: gyro_magn_tvk {
/* GPIO 31 used for INT pull down the line */
2014-04-12 17:13:23 +02:00
tvk_cfg1 {
2014-09-30 12:16:25 +02:00
pins = "GPIO31_V3";
2015-11-13 15:00:03 +01:00
ste,config = <&gpio_in_pd>;
2014-04-12 17:13:23 +02:00
};
2015-11-13 15:00:03 +01:00
/* GPIO 32 used for DRDY, pull this down */
2014-04-12 17:13:23 +02:00
tvk_cfg2 {
2014-09-30 12:16:25 +02:00
pins = "GPIO32_V2";
2014-04-12 17:13:23 +02:00
ste,config = <&gpio_in_pd>;
};
};
};
2016-02-22 09:33:26 +01:00
synaptics {
synaptics_tvk_mode: synaptics_tvk {
/* Touchscreen uses GPIO 84 */
tvk_cfg1 {
pins = "GPIO84_C2";
ste,config = <&gpio_in_pu>;
};
};
};
2013-11-13 14:57:49 +01:00
};
2013-09-26 15:34:02 +02:00
};
};