| /* Copyright (c) 2013, The Linux Foundation. All rights reserved. |
| * |
| * This program is free software; you can redistribute it and/or modify |
| * it under the terms of the GNU General Public License version 2 and |
| * only version 2 as published by the Free Software Foundation. |
| * |
| * This program is distributed in the hope that it will be useful, |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| * GNU General Public License for more details. |
| */ |
| |
| /dts-v1/; |
| |
| /include/ "msm8610.dtsi" |
| /include/ "dsi-v2-panel-truly-wvga-video.dtsi" |
| /include/ "msm8610-camera-sensor-cdp-mtp.dtsi" |
| |
| / { |
| model = "Qualcomm MSM 8610 MTP"; |
| compatible = "qcom,msm8610-mtp", "qcom,msm8610", "qcom,mtp"; |
| qcom,msm-id = <147 8 0>, <165 8 0>, <161 8 0>, <162 8 0>, |
| <163 8 0>, <164 8 0>, <166 8 0>; |
| }; |
| |
| &soc { |
| serial@f991e000 { |
| status = "ok"; |
| }; |
| |
| i2c@f9923000{ |
| atmel_mxt_ts@4a { |
| compatible = "atmel,mxt-ts"; |
| reg = <0x4a>; |
| interrupt-parent = <&msmgpio>; |
| interrupts = <1 0x2>; |
| vdd_ana-supply = <&pm8110_l19>; |
| vcc_i2c-supply = <&pm8110_l14>; |
| atmel,reset-gpio = <&msmgpio 0 0x00>; |
| atmel,irq-gpio = <&msmgpio 1 0x00>; |
| atmel,panel-coords = <0 0 508 880>; |
| atmel,display-coords = <0 0 480 800>; |
| atmel,i2c-pull-up; |
| atmel,no-force-update; |
| atmel,no-lpm-support; |
| atmel,cfg_1 { |
| atmel,family-id = <0x81>; |
| atmel,variant-id = <0x15>; |
| atmel,version = <0x11>; |
| atmel,build = <0xaa>; |
| atmel,config = [ |
| /* Object 6, Instance = 0 */ |
| 00 00 00 00 00 00 |
| /* Object 38, Instance = 0 */ |
| 1D 02 00 0A 06 0D 00 00 |
| /* Object 7, Instance = 0 */ |
| 20 08 32 |
| /* Object 8, Instance = 0 */ |
| 19 00 14 14 FF 00 FF 00 00 00 |
| /* Object 9, Instance = 0 */ |
| 83 00 00 13 0B 00 20 32 01 03 |
| 00 32 05 30 0A 05 0A 00 70 03 |
| FC 01 00 36 2F D8 00 00 40 00 |
| 00 0A 00 00 02 |
| /* Object 18, Instance = 0 */ |
| 00 00 |
| /* Object 19, Instance = 0 */ |
| 00 00 00 00 00 00 |
| /* Object 25, Instance = 0 */ |
| 03 00 18 79 A8 61 |
| /* Object 58, Instance = 0 */ |
| 00 00 00 00 00 00 00 00 00 00 |
| 00 |
| /* Object 42, Instance = 0 */ |
| 00 00 00 00 00 00 00 00 |
| /* Object 46, Instance = 0 */ |
| 04 03 08 10 00 00 00 00 00 |
| /* Object 47, Instance = 0 */ |
| 00 00 00 00 00 00 00 00 00 00 |
| /* Object 48, Instance = 0 */ |
| 00 00 00 00 00 00 00 00 00 00 |
| 00 00 00 00 00 00 00 00 00 00 |
| 00 00 00 00 00 00 00 00 00 00 |
| 00 00 00 00 00 00 00 00 00 00 |
| 00 00 00 00 00 00 00 00 00 00 |
| 00 00 00 00 |
| /* Object 55, Instance = 0 */ |
| 00 00 00 00 |
| ]; |
| }; |
| }; |
| }; |
| |
| i2c@f9925000 { |
| mpu3050@68 { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| status = "okay"; |
| reg = <0x68>; |
| compatible = "invn,mpu3050"; |
| interrupt-parent = <&msmgpio>; |
| interrupts = <84 0x2>; |
| vlogic-supply = <&pm8110_l14>; |
| vdd-supply = <&pm8110_l19>; |
| invn,gpio-int = <&msmgpio 84 0x2>; |
| invn,gpio-en = <&pm8110_gpios 2 0x2>; |
| invn,poll-interval = <200>; |
| }; |
| |
| bmp180@77 { |
| reg = <0x77>; |
| compatible = "bosch,bmp18x"; |
| vdd-supply = <&pm8110_l19>; |
| vddio-supply = <&pm8110_l14>; |
| bosch,chip-id = <0x55>; |
| bosch,oversample = <3>; |
| bosch,period = <1000>; |
| }; |
| |
| mma8x5x@1d { |
| reg = <0x1d>; |
| compatible = "fsl,mma8x5x"; |
| interrupt-parent = <&msmgpio>; |
| interrupts = <81 0x2>; |
| vdd-supply = <&pm8110_l19>; |
| vio-supply = <&pm8110_l14>; |
| fsl,irq-gpio = <&msmgpio 81 0x00>; |
| fsl,sensors-position = <5>; |
| }; |
| }; |
| |
| gen-vkeys { |
| compatible = "qcom,gen-vkeys"; |
| label = "atmel_mxt_ts"; |
| qcom,disp-maxx = <480>; |
| qcom,disp-maxy = <800>; |
| qcom,panel-maxx = <508>; |
| qcom,panel-maxy = <880>; |
| qcom,key-codes = <158 102 139>; |
| qcom,y-offset = <35>; |
| }; |
| |
| gpio_keys { |
| compatible = "gpio-keys"; |
| input-name = "gpio-keys"; |
| |
| camera_snapshot { |
| label = "camera_snapshot"; |
| gpios = <&msmgpio 73 0x1>; |
| linux,input-type = <1>; |
| linux,code = <0x2fe>; |
| gpio-key,wakeup; |
| debounce-interval = <15>; |
| }; |
| |
| camera_focus { |
| label = "camera_focus"; |
| gpios = <&msmgpio 74 0x1>; |
| linux,input-type = <1>; |
| linux,code = <0x210>; |
| gpio-key,wakeup; |
| debounce-interval = <15>; |
| }; |
| |
| vol_up { |
| label = "volume_up"; |
| gpios = <&msmgpio 72 0x1>; |
| linux,input-type = <1>; |
| linux,code = <115>; |
| gpio-key,wakeup; |
| debounce-interval = <15>; |
| }; |
| }; |
| |
| sound { |
| qcom,audio-routing = |
| "RX_BIAS", "MCLK", |
| "INT_LDO_H", "MCLK", |
| "MIC BIAS External", "Handset Mic", |
| "MIC BIAS Internal2", "Headset Mic", |
| "AMIC1", "MIC BIAS External", |
| "AMIC2", "MIC BIAS Internal2"; |
| }; |
| }; |
| |
| &i2c_cdc { |
| msm8x10_wcd_codec@0d{ |
| compatible = "qcom,msm8x10-wcd-i2c"; |
| reg = <0x0d>; |
| cdc-vdda-cp-supply = <&pm8110_s4>; |
| qcom,cdc-vdda-cp-voltage = <1800000 2150000>; |
| qcom,cdc-vdda-cp-current = <650000>; |
| |
| cdc-vdda-h-supply = <&pm8110_l6>; |
| qcom,cdc-vdda-h-voltage = <1800000 1800000>; |
| qcom,cdc-vdda-h-current = <25000>; |
| |
| cdc-vdd-px-supply = <&pm8110_l6>; |
| qcom,cdc-vdd-px-voltage = <1800000 1800000>; |
| qcom,cdc-vdd-px-current = <10000>; |
| |
| cdc-vdd-1p2v-supply = <&pm8110_l4>; |
| qcom,cdc-vdd-1p2v-voltage = <1200000 1200000>; |
| qcom,cdc-vdd-1p2v-current = <5000>; |
| |
| cdc-vdd-mic-bias-supply = <&pm8110_l20>; |
| qcom,cdc-vdd-mic-bias-voltage = <3075000 3075000>; |
| qcom,cdc-vdd-mic-bias-current = <25000>; |
| |
| qcom,cdc-micbias-cfilt-sel = <0x0>; |
| qcom,cdc-micbias-cfilt-mv = <1800000>; |
| qcom,cdc-mclk-clk-rate = <12288000>; |
| |
| qcom,cdc-static-supplies = "cdc-vdda-h", |
| "cdc-vdd-px", |
| "cdc-vdd-1p2v"; |
| |
| qcom,cdc-on-demand-supplies = "cdc-vdda-cp", |
| "cdc-vdd-mic-bias"; |
| }; |
| |
| msm8x10_wcd_codec@77{ |
| compatible = "qcom,msm8x10-wcd-i2c"; |
| reg = <0x77>; |
| }; |
| |
| msm8x10_wcd_codec@66{ |
| compatible = "qcom,msm8x10-wcd-i2c"; |
| reg = <0x66>; |
| }; |
| |
| msm8x10_wcd_codec@55{ |
| compatible = "qcom,msm8x10-wcd-i2c"; |
| reg = <0x55>; |
| }; |
| }; |
| |
| &spmi_bus { |
| qcom,pm8110@0 { |
| qcom,leds@a100 { |
| status = "okay"; |
| qcom,led_mpp_2 { |
| label = "mpp"; |
| linux,name = "button-backlight"; |
| linux-default-trigger = "hr-trigger"; |
| qcom,default-state = "off"; |
| qcom,max-current = <40>; |
| qcom,id = <6>; |
| qcom,source-sel = <1>; |
| qcom,mode-ctrl = <0x60>; |
| qcom,mode = "manual"; |
| }; |
| }; |
| |
| qcom,leds@a200 { |
| status = "okay"; |
| qcom,led_mpp_3 { |
| label = "mpp"; |
| linux,name = "wled-backlight"; |
| linux,default-trigger = "bkl-trigger"; |
| qcom,default-state = "on"; |
| qcom,max-current = <40>; |
| qcom,id = <6>; |
| qcom,source-sel = <8>; |
| qcom,mode-ctrl = <0x10>; |
| qcom,pwm-channel = <0>; |
| qcom,pwm-us = <14>; |
| qcom,vin-ctrl = <0x03>; |
| qcom,mode = "pwm"; |
| qcom,min-brightness = <19>; |
| }; |
| }; |
| }; |
| }; |
| |
| &spmi_bus { |
| qcom,pm8110@1 { |
| qcom,vibrator@c000 { |
| status = "okay"; |
| qcom,vib-timeout-ms = <15000>; |
| qcom,vib-vtg-level-mV = <3100>; |
| }; |
| }; |
| }; |
| |
| &sdhc_1 { |
| vdd-supply = <&pm8110_l17>; |
| qcom,vdd-always-on; |
| qcom,vdd-lpm-sup; |
| qcom,vdd-voltage-level = <2900000 2900000>; |
| qcom,vdd-current-level = <200 400000>; |
| |
| vdd-io-supply = <&pm8110_l6>; |
| qcom,vdd-io-always-on; |
| qcom,vdd-io-lpm-sup; |
| qcom,vdd-io-voltage-level = <1800000 1800000>; |
| qcom,vdd-io-current-level = <200 60000>; |
| |
| qcom,pad-pull-on = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */ |
| qcom,pad-pull-off = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */ |
| qcom,pad-drv-on = <0x4 0x4 0x4>; /* 10mA, 10mA, 10mA */ |
| qcom,pad-drv-off = <0x0 0x0 0x0>; /* 2mA, 2mA, 2mA */ |
| |
| qcom,clk-rates = <400000 25000000 50000000 100000000 200000000>; |
| qcom,bus-speed-mode = "HS200_1p8v", "DDR_1p8v"; |
| qcom,nonremovable; |
| |
| status = "ok"; |
| }; |
| |
| &sdhc_2 { |
| vdd-supply = <&pm8110_l18>; |
| qcom,vdd-voltage-level = <2950000 2950000>; |
| qcom,vdd-current-level = <15000 400000>; |
| |
| vdd-io-supply = <&pm8110_l21>; |
| qcom,vdd-io-voltage-level = <1800000 2950000>; |
| qcom,vdd-io-current-level = <200 50000>; |
| |
| qcom,pad-pull-on = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */ |
| qcom,pad-pull-off = <0x0 0x3 0x3>; /* no-pull, pull-up, pull-up */ |
| qcom,pad-drv-on = <0x4 0x4 0x4>; /* 10mA, 10mA, 10mA */ |
| qcom,pad-drv-off = <0x0 0x0 0x0>; /* 2mA, 2mA, 2mA */ |
| |
| qcom,clk-rates = <400000 25000000 50000000 100000000 200000000>; |
| |
| #address-cells = <0>; |
| interrupt-parent = <&sdhc_2>; |
| interrupts = <0 1 2>; |
| #interrupt-cells = <1>; |
| interrupt-map-mask = <0xffffffff>; |
| interrupt-map = <0 &intc 0 125 0 |
| 1 &intc 0 221 0 |
| 2 &msmgpio 42 0x3>; |
| interrupt-names = "hc_irq", "pwr_irq", "status_irq"; |
| cd-gpios = <&msmgpio 42 0x1>; |
| |
| status = "ok"; |
| }; |
| |
| &pm8110_chg { |
| status = "ok"; |
| qcom,charging-disabled; |
| |
| qcom,chgr@1000 { |
| status = "ok"; |
| }; |
| |
| qcom,buck@1100 { |
| status = "ok"; |
| }; |
| |
| qcom,bat-if@1200 { |
| status = "ok"; |
| }; |
| |
| qcom,usb-chgpth@1300 { |
| status = "ok"; |
| }; |
| |
| qcom,chg-misc@1600 { |
| status = "ok"; |
| }; |
| }; |
| |
| &pm8110_gpios { |
| gpio@c000 { /* GPIO 1 */ |
| }; |
| |
| gpio@c100 { /* GPIO 2 */ |
| }; |
| |
| gpio@c200 { /* GPIO 3 */ |
| }; |
| |
| gpio@c300 { /* GPIO 4 */ |
| }; |
| }; |
| |
| &pm8110_mpps { |
| mpp@a000 { /* MPP 1 */ |
| }; |
| |
| mpp@a100 { /* MPP 2 */ |
| status = "disabled"; |
| }; |
| |
| mpp@a200 { /* MPP 3 */ |
| status = "disabled"; |
| }; |
| |
| mpp@a300 { /* MPP 4 */ |
| /* PA_THERM config */ |
| qcom,mode = <4>; /* AIN input */ |
| qcom,invert = <1>; /* Enable MPP */ |
| qcom,ain-route = <3>; /* AMUX 8 */ |
| qcom,master-en = <1>; |
| qcom,src-sel = <0>; /* Function constant */ |
| }; |
| }; |
| |
| &pm8110_bms { |
| status = "ok"; |
| }; |