mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-05 01:54:09 +08:00
83919ef0a5
- Fix the I2C address and supply line names for the AK8974 - Sets up the interrupt lines to the different components as they actually are connected, I was confused for some time by the fact that several lines were connected with <NM> 0 Ohm resistors, which means NOT MOUNTED and is thus not 0 Ohm at all but infinite ohms, i.e. not connected at all. Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
279 lines
6.9 KiB
Plaintext
279 lines
6.9 KiB
Plaintext
/*
|
|
* Copyright 2012 ST-Ericsson AB
|
|
*
|
|
* The code contained herein is licensed under the GNU General Public
|
|
* License. You may obtain a copy of the GNU General Public License
|
|
* Version 2 or later at the following locations:
|
|
*
|
|
* http://www.opensource.org/licenses/gpl-license.html
|
|
* http://www.gnu.org/copyleft/gpl.html
|
|
*
|
|
* Device Tree for the TVK1281618 UIB
|
|
*/
|
|
|
|
#include <dt-bindings/interrupt-controller/irq.h>
|
|
|
|
/ {
|
|
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 */
|
|
gpios = <&gpio6 25 GPIO_ACTIVE_HIGH>;
|
|
linux,code = <11>; /* SW_FRONT_PROXIMITY */
|
|
label = "SFH7741 Proximity Sensor";
|
|
};
|
|
button@145 {
|
|
/* Hall sensor */
|
|
gpios = <&gpio4 17 GPIO_ACTIVE_HIGH>;
|
|
linux,code = <0>; /* SW_LID */
|
|
label = "HED54XXU11 Hall Effect Sensor";
|
|
};
|
|
};
|
|
|
|
soc {
|
|
i2c@80004000 {
|
|
tc35893@44 {
|
|
compatible = "toshiba,tc35893";
|
|
reg = <0x44>;
|
|
interrupt-parent = <&gpio6>;
|
|
interrupts = <26 IRQ_TYPE_EDGE_RISING>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&tc35893_tvk_mode>;
|
|
|
|
interrupt-controller;
|
|
#interrupt-cells = <1>;
|
|
|
|
tc3589x_gpio {
|
|
compatible = "toshiba,tc3589x-gpio";
|
|
interrupts = <0>;
|
|
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
};
|
|
tc3589x_keypad {
|
|
compatible = "toshiba,tc3589x-keypad";
|
|
interrupts = <6>;
|
|
debounce-delay-ms = <4>;
|
|
keypad,num-columns = <8>;
|
|
keypad,num-rows = <8>;
|
|
linux,no-autorepeat;
|
|
wakeup-source;
|
|
linux,keymap = <0x0301006b
|
|
0x04010066
|
|
0x06040072
|
|
0x040200d7
|
|
0x0303006a
|
|
0x0205000e
|
|
0x0607008b
|
|
0x0500001c
|
|
0x0403000b
|
|
0x03040034
|
|
0x05020067
|
|
0x0305006c
|
|
0x040500e7
|
|
0x0005009e
|
|
0x06020073
|
|
0x01030039
|
|
0x07060069
|
|
0x050500d9>;
|
|
};
|
|
};
|
|
};
|
|
/* Sensors mounted on this board variant */
|
|
i2c@80128000 {
|
|
lsm303dlh@18 {
|
|
/* Accelerometer */
|
|
compatible = "st,lsm303dlh-accel";
|
|
st,drdy-int-pin = <1>;
|
|
drive-open-drain;
|
|
reg = <0x18>;
|
|
vdd-supply = <&ab8500_ldo_aux1_reg>;
|
|
vddio-supply = <&db8500_vsmps2_reg>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&accel_tvk_mode>;
|
|
/*
|
|
* 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>,
|
|
* <&gpio2 19 IRQ_TYPE_EDGE_FALLING>;
|
|
*/
|
|
};
|
|
lsm303dlh@1e {
|
|
/* Magnetometer */
|
|
compatible = "st,lsm303dlh-magn";
|
|
reg = <0x1e>;
|
|
vdd-supply = <&ab8500_ldo_aux1_reg>;
|
|
vddio-supply = <&db8500_vsmps2_reg>;
|
|
/*
|
|
* 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>,
|
|
* <&gpio2 19 IRQ_TYPE_EDGE_FALLING>;
|
|
*/
|
|
};
|
|
lis331dl@1c {
|
|
/* Accelerometer */
|
|
compatible = "st,lis331dl-accel";
|
|
st,drdy-int-pin = <1>;
|
|
reg = <0x1c>;
|
|
vdd-supply = <&ab8500_ldo_aux1_reg>;
|
|
vddio-supply = <&db8500_vsmps2_reg>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&accel_tvk_mode>;
|
|
interrupt-parent = <&gpio2>;
|
|
/* INT2 would need to be open drain */
|
|
interrupts = <18 IRQ_TYPE_EDGE_RISING>,
|
|
<19 IRQ_TYPE_EDGE_RISING>;
|
|
};
|
|
ak8974@0f {
|
|
/* Magnetometer */
|
|
compatible = "asahi-kasei,ak8974";
|
|
reg = <0x0f>;
|
|
avdd-supply = <&ab8500_ldo_aux1_reg>;
|
|
dvdd-supply = <&db8500_vsmps2_reg>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&gyro_magn_tvk_mode>;
|
|
/*
|
|
* 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>;
|
|
*/
|
|
};
|
|
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>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&gyro_magn_tvk_mode>;
|
|
interrupts-extended =
|
|
<&gpio1 0 IRQ_TYPE_EDGE_RISING>,
|
|
<&gpio0 31 IRQ_TYPE_EDGE_RISING>;
|
|
};
|
|
lsp001wm@5c {
|
|
/* Barometer/pressure sensor */
|
|
compatible = "st,lps001wp-press";
|
|
reg = <0x5c>;
|
|
vdd-supply = <&ab8500_ldo_aux1_reg>;
|
|
vddio-supply = <&db8500_vsmps2_reg>;
|
|
};
|
|
};
|
|
|
|
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>;
|
|
};
|
|
};
|
|
};
|
|
|
|
pinctrl {
|
|
/* Pull up this GPIO pin */
|
|
tc35893 {
|
|
tc35893_tvk_mode: tc35893_tvk {
|
|
tvk_cfg {
|
|
pins = "GPIO218_AH11";
|
|
ste,config = <&gpio_in_pu>;
|
|
};
|
|
};
|
|
};
|
|
prox {
|
|
prox_tvk_mode: prox_tvk {
|
|
tvk_cfg {
|
|
pins = "GPIO217_AH12";
|
|
ste,config = <&gpio_in_pu>;
|
|
};
|
|
};
|
|
};
|
|
hall {
|
|
hall_tvk_mode: hall_tvk {
|
|
tvk_cfg {
|
|
pins = "GPIO145_C13";
|
|
ste,config = <&gpio_in_pu>;
|
|
};
|
|
};
|
|
};
|
|
accelerometer {
|
|
accel_tvk_mode: accel_tvk {
|
|
/* Accelerometer interrupt lines 1 & 2 */
|
|
tvk_cfg {
|
|
pins = "GPIO82_C1", "GPIO83_D3";
|
|
ste,config = <&gpio_in_pd>;
|
|
};
|
|
};
|
|
};
|
|
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 */
|
|
tvk_cfg1 {
|
|
pins = "GPIO31_V3";
|
|
ste,config = <&gpio_in_pd>;
|
|
};
|
|
/* GPIO 32 used for DRDY, pull this down */
|
|
tvk_cfg2 {
|
|
pins = "GPIO32_V2";
|
|
ste,config = <&gpio_in_pd>;
|
|
};
|
|
};
|
|
};
|
|
synaptics {
|
|
synaptics_tvk_mode: synaptics_tvk {
|
|
/* Touchscreen uses GPIO 84 */
|
|
tvk_cfg1 {
|
|
pins = "GPIO84_C2";
|
|
ste,config = <&gpio_in_pu>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|