|  | /* | 
|  | * 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 <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_stuib_mode>, <&hall_stuib_mode>; | 
|  |  | 
|  | button@139 { | 
|  | /* Proximity sensor */ | 
|  | gpios = <&gpio6 25 0x4>; | 
|  | linux,code = <11>; /* SW_FRONT_PROXIMITY */ | 
|  | label = "SFH7741 Proximity Sensor"; | 
|  | }; | 
|  | button@145 { | 
|  | /* Hall sensor */ | 
|  | gpios = <&gpio4 17 0x4>; | 
|  | 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@0f { | 
|  | /* 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>; | 
|  | }; | 
|  | }; | 
|  | }; | 
|  | }; | 
|  | }; | 
|  | }; |