/* * 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 */ #include / { gpio_keys { compatible = "gpio-keys"; #address-cells = <1>; #size-cells = <0>; vdd-supply = <&ab8500_ldo_aux1_reg>; pinctrl-names = "default"; pinctrl-0 = <&prox_stuib_mode>, <&hall_stuib_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 { stmpe1601: stmpe1601@40 { compatible = "st,stmpe1601"; reg = <0x40>; interrupts = <26 IRQ_TYPE_EDGE_FALLING>; interrupt-parent = <&gpio6>; interrupt-controller; vcc-supply = <&db8500_vsmps2_reg>; vio-supply = <&db8500_vsmps2_reg>; wakeup-source; st,autosleep-timeout = <1024>; stmpe_keypad { compatible = "st,stmpe-keypad"; debounce-interval = <64>; st,scan-count = <8>; st,no-autorepeat; linux,keymap = <0x205006b 0x4010074 0x3050072 0x1030004 0x502006a 0x500000a 0x5008b 0x706001c 0x405000b 0x6070003 0x3040067 0x303006c 0x60400e7 0x602009e 0x4020073 0x5050002 0x4030069 0x3020008>; }; }; }; /* Sensors mounted on this board variant */ i2c@80128000 { 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_stuib_mode>; interrupt-parent = <&gpio2>; interrupts = <18 IRQ_TYPE_EDGE_RISING>, <19 IRQ_TYPE_EDGE_RISING>; }; ak8974@f { /* Magnetometer */ compatible = "asahi-kasei,ak8974"; reg = <0x0f>; vdd-supply = <&ab8500_ldo_aux1_reg>; vddio-supply = <&db8500_vsmps2_reg>; pinctrl-names = "default"; pinctrl-0 = <&magneto_stuib_mode>; interrupt-parent = <&gpio1>; interrupts = <0 IRQ_TYPE_EDGE_RISING>; }; }; i2c@80110000 { bu21013_tp@5c { compatible = "rohm,bu21013_tp"; reg = <0x5c>; avdd-supply = <&ab8500_ldo_aux1_reg>; rohm,touch-max-x = <384>; rohm,touch-max-y = <704>; rohm,flip-y; pinctrl-names = "default"; pinctrl-0 = <&touch_rohm_mode>; }; bu21013_tp@5d { compatible = "rohm,bu21013_tp"; reg = <0x5d>; avdd-supply = <&ab8500_ldo_aux1_reg>; rohm,touch-max-x = <384>; rohm,touch-max-y = <704>; rohm,flip-y; pinctrl-names = "default"; pinctrl-0 = <&touch_rohm_mode>; }; }; pinctrl { prox { prox_stuib_mode: prox_stuib { stuib_cfg { pins = "GPIO217_AH12"; ste,config = <&gpio_in_pu>; }; }; }; hall { hall_stuib_mode: stuib_tvk { stuib_cfg { pins = "GPIO145_C13"; ste,config = <&gpio_in_pu>; }; }; }; accelerometer { accel_stuib_mode: accel_stuib { /* Accelerometer interrupt lines 1 & 2 */ stuib_cfg { pins = "GPIO82_C1", "GPIO83_D3"; ste,config = <&gpio_in_pu>; }; }; }; magnetometer { magneto_stuib_mode: magneto_stuib { /* Magnetometer uses GPIO 31 and 32, pull these up/down respectively */ stuib_cfg1 { pins = "GPIO31_V3"; ste,config = <&gpio_in_pu>; }; stuib_cfg2 { pins = "GPIO32_V2"; ste,config = <&gpio_in_pd>; }; }; }; touch { touch_rohm_mode: touch_rohm { /* * ROHM touch screen uses GPIO 143 for * RST1, GPIO 146 for RST2 and * GPIO 67 for interrupts. Pull-up * the IRQ line and drive both * reset signals low. */ stuib_cfg1 { pins = "GPIO143_D12", "GPIO146_D13"; ste,config = <&gpio_out_lo>; }; stuib_cfg2 { pins = "GPIO67_G2"; ste,config = <&gpio_in_pu>; }; }; }; }; }; };