| /* 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. |
| */ |
| |
| /* This is a QRD reference design common file. The common device |
| * tree approach would help OEM during development of their extended |
| * device tree. Each new QRD OEM target can select its own include |
| * files and provide board specific overrides in the top level DTS |
| * file. |
| * |
| * For example: |
| * msm8xxx-qrd.dtsi: QRD reference common node |
| * msm8xxx-qrd-skuxx.dts: |
| * /include/ "msm8610-qrd.dtsi" |
| * / { |
| * List skuxx specific node which is different with QRD |
| * reference design. |
| * }; |
| */ |
| |
| &soc { |
| i2c@f9923000{ |
| focaltech@38{ |
| compatible = "focaltech,5x06"; |
| reg = <0x38>; |
| interrupt-parent = <&msmgpio>; |
| interrupts = <1 0x2>; |
| vdd-supply = <&pm8110_l19>; |
| vcc_i2c-supply = <&pm8110_l14>; |
| focaltech,name = "ft6x06"; |
| focaltech,family-id = <0x06>; |
| focaltech,reset-gpio = <&msmgpio 0 0x00>; |
| focaltech,irq-gpio = <&msmgpio 1 0x00>; |
| focaltech,display-coords = <0 0 480 800>; |
| focaltech,panel-coords = <0 0 480 800>; |
| focaltech,button-map= <139 102 158>; |
| focaltech,no-force-update; |
| focaltech,i2c-pull-up; |
| focaltech,group-id = <1>; |
| focaltech,hard-reset-delay-ms = <20>; |
| focaltech,soft-reset-delay-ms = <150>; |
| focaltech,num-max-touches = <2>; |
| focaltech,fw-name = "ft_8610_qrd_fw.bin"; |
| focaltech,fw-delay-aa-ms = <100>; |
| focaltech,fw-delay-55-ms = <30>; |
| focaltech,fw-upgrade-id1 = <0x79>; |
| focaltech,fw-upgrade-id2 = <0x08>; |
| focaltech,fw-delay-readid-ms = <10>; |
| focaltech,fw-delay-era-flsh-ms = <2000>; |
| }; |
| }; |
| |
| gen-vkeys { |
| compatible = "qcom,gen-vkeys"; |
| label = "ft5x06_ts"; |
| qcom,disp-maxx = <480>; |
| qcom,disp-maxy = <800>; |
| qcom,panel-maxx = <481>; |
| qcom,panel-maxy = <940>; |
| qcom,key-codes = <139 0 102 158 0 0 0>; |
| qcom,y-offset = <0>; |
| }; |
| serial@f991e000 { |
| status = "ok"; |
| }; |
| |
| i2c@f9925000 { /* BLSP-1 QUP-3 */ |
| kionix@f { |
| compatible = "kionix,kxtj9"; |
| reg = <0x0f>; |
| interrupt-parent = <&msmgpio>; |
| interrupts = <81 0x2>; |
| vdd-supply = <&pm8110_l19>; |
| vio-supply = <&pm8110_l14>; |
| kionix,min-interval = <5>; |
| kionix,init-interval = <200>; |
| kionix,axis-map-x = <1>; |
| kionix,axis-map-y = <0>; |
| kionix,axis-map-z = <2>; |
| kionix,g-range = <2>; |
| kionix,negate-x; |
| kionix,negate-y; |
| kionix,negate-z; |
| kionix,res-12bit; |
| }; |
| }; |
| |
| flashlight { |
| compatible = "qcom,leds-gpio-flash"; |
| status = "okay"; |
| qcom,flash-en = <&msmgpio 18 0>; |
| qcom,flash-now = <&msmgpio 19 0>; |
| linux,name = "flashlight"; |
| linux,default-trigger = "flashlight-trigger"; |
| }; |
| |
| 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 Internal1", "Handset Mic", |
| "MIC BIAS Internal2", "Headset Mic", |
| "AMIC1", "MIC BIAS Internal1", |
| "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 = "wled-homerow"; |
| linux-default-trigger = "hr-trigger"; |
| qcom,default-state = "off"; |
| qcom,max-current = <40>; |
| qcom,id = <6>; |
| qcom,source-sel = <1>; |
| qcom,mode-ctrl = <0x61>; |
| 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-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-always-on; |
| qcom,vdd-io-lpm-sup; |
| 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,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 */ |
| }; |
| }; |
| |
| &pm8110_vadc { |
| chan@30 { |
| label = "batt_therm"; |
| qcom,scale-function = <6>; |
| }; |
| }; |