| /* Copyright (c) 2012-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. |
| */ |
| |
| /include/ "dsi-panel-toshiba-720p-video.dtsi" |
| /include/ "msm8974-camera-sensor-fluid.dtsi" |
| /include/ "msm8974-leds.dtsi" |
| |
| &soc { |
| serial@f991e000 { |
| status = "ok"; |
| }; |
| |
| qcom,mdss_dsi_toshiba_720p_video { |
| status = "ok"; |
| qcom,cont-splash-enabled; |
| }; |
| |
| qcom,hdmi_tx@fd922100 { |
| status = "ok"; |
| }; |
| |
| i2c@f9924000 { |
| atmel_mxt_ts@4a { |
| compatible = "atmel,mxt-ts"; |
| reg = <0x4a>; |
| interrupt-parent = <&msmgpio>; |
| interrupts = <61 0x2>; |
| vdd_ana-supply = <&pm8941_l18>; |
| vcc_i2c-supply = <&pm8941_lvs1>; |
| atmel,reset-gpio = <&msmgpio 60 0x00>; |
| atmel,irq-gpio = <&msmgpio 61 0x00>; |
| atmel,panel-coords = <0 0 760 1424>; |
| atmel,display-coords = <0 0 720 1280>; |
| atmel,i2c-pull-up; |
| atmel,no-force-update; |
| atmel,cfg_1 { |
| atmel,family-id = <0x82>; |
| atmel,variant-id = <0x19>; |
| atmel,version = <0x10>; |
| atmel,build = <0xaa>; |
| atmel,config = [ |
| /* Object 6, Instance = 0 */ |
| 00 00 00 00 00 00 |
| /* Object 38, Instance = 0 */ |
| 15 01 00 03 0A 0C 00 00 |
| /* Object 7, Instance = 0 */ |
| 20 08 32 03 |
| /* Object 8, Instance = 0 */ |
| 0F 00 0A 0A 00 00 0A 0A 00 00 |
| /* Object 9, Instance = 0 */ |
| 83 00 00 18 0E 00 70 46 02 01 |
| 00 0A 03 31 04 05 0A 0A 90 05 |
| F8 02 05 F1 F1 0F 00 00 08 2D |
| 12 06 00 00 00 01 |
| /* Object 15, Instance = 0 */ |
| 00 00 00 00 00 00 00 00 00 00 |
| 00 |
| /* Object 18, Instance = 0 */ |
| 00 00 |
| /* Object 19, Instance = 0 */ |
| 00 00 00 00 00 00 |
| /* Object 23, Instance = 0 */ |
| 00 00 00 00 00 00 00 00 00 00 |
| 00 00 00 00 00 |
| /* Object 25, Instance = 0 */ |
| 00 00 00 00 00 00 00 00 00 00 |
| 00 00 00 00 00 |
| /* Object 40, Instance = 0 */ |
| 00 00 00 00 00 |
| /* Object 42, Instance = 0 */ |
| 33 1E 19 10 80 00 00 00 FF 00 |
| /* Object 46, Instance = 0 */ |
| 00 00 10 10 00 00 03 00 00 01 |
| /* Object 47, Instance = 0 */ |
| 08 0A 28 0A 02 0A 00 8C 00 20 |
| 00 00 00 |
| /* Object 55, Instance = 0 */ |
| 00 00 00 00 00 00 |
| /* Object 56, Instance = 0 */ |
| 00 00 00 18 05 05 05 05 05 05 |
| 05 05 05 05 05 05 05 05 05 05 |
| 05 05 05 05 05 05 05 05 00 00 |
| 00 00 00 00 00 00 00 00 00 00 |
| 00 00 |
| /* Object 57, Instance = 0 */ |
| 00 00 00 |
| /* Object 61, Instance = 0 */ |
| 00 00 00 00 00 |
| /* Object 62, Instance = 0 */ |
| 01 2A 00 16 00 00 00 00 0B 01 |
| 02 03 04 08 00 00 08 10 18 05 |
| 00 0A 05 05 50 14 19 34 1A 7F |
| 00 00 00 00 00 00 00 00 00 30 |
| 05 02 00 01 00 05 00 00 00 00 |
| 00 00 00 00 |
| ]; |
| }; |
| }; |
| }; |
| |
| i2c@f9967000 { |
| sii8334@72 { |
| compatible = "qcom,mhl-sii8334"; |
| reg = <0x72>; |
| interrupt-parent = <&msmgpio>; |
| interrupts = <82 0x8>; |
| mhl-intr-gpio = <&msmgpio 82 0>; |
| mhl-pwr-gpio = <&msmgpio 12 0>; |
| mhl-rst-gpio = <&pm8941_mpps 8 0>; |
| avcc_18-supply = <&pm8941_l24>; |
| avcc_12-supply = <&pm8941_l2>; |
| smps3a-supply = <&pm8941_s3>; |
| vdda-supply = <&pm8941_l12>; |
| qcom,hdmi-tx-map = <&mdss_hdmi_tx>; |
| }; |
| |
| isa1200@48 { |
| status = "okay"; |
| reg = <0x48>; |
| vcc_i2c-supply = <&pm8941_s3>; |
| compatible = "imagis,isa1200"; |
| label = "vibrator"; |
| imagis,chip-en; |
| imagis,need-pwm-clk; |
| imagis,ext-clk-en; |
| imagis,hap-en-gpio = <&msmgpio 86 0x00>; |
| imagis,max-timeout = <15000>; |
| imagis,pwm-div = <256>; |
| imagis,mode-ctrl = <2>; |
| imagis,regulator { |
| regulator-name = "vcc_i2c"; |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <1800000>; |
| regulator-max-microamp = <9360>; |
| }; |
| }; |
| }; |
| |
| gen-vkeys { |
| compatible = "qcom,gen-vkeys"; |
| label = "atmel_mxt_ts"; |
| qcom,disp-maxx = <720>; |
| qcom,disp-maxy = <1280>; |
| qcom,panel-maxx = <760>; |
| qcom,panel-maxy = <1424>; |
| qcom,key-codes = <158 139 102 217>; |
| }; |
| |
| gpio_keys { |
| compatible = "gpio-keys"; |
| input-name = "gpio-keys"; |
| |
| camera_snapshot { |
| label = "camera_snapshot"; |
| gpios = <&pm8941_gpios 3 0x1>; |
| linux,input-type = <1>; |
| linux,code = <0x2fe>; |
| gpio-key,wakeup; |
| debounce-interval = <15>; |
| }; |
| |
| camera_focus { |
| label = "camera_focus"; |
| gpios = <&pm8941_gpios 4 0x1>; |
| linux,input-type = <1>; |
| linux,code = <0x210>; |
| gpio-key,wakeup; |
| debounce-interval = <15>; |
| }; |
| |
| vol_up { |
| label = "volume_up"; |
| gpios = <&pm8941_gpios 5 0x1>; |
| linux,input-type = <1>; |
| linux,code = <115>; |
| gpio-key,wakeup; |
| debounce-interval = <15>; |
| }; |
| }; |
| |
| spi@f9923000 { |
| ethernet-switch@2 { |
| compatible = "micrel,ks8851"; |
| reg = <2>; |
| interrupt-parent = <&msmgpio>; |
| interrupts = <94 0>; |
| spi-max-frequency = <4800000>; |
| rst-gpio = <&pm8941_mpps 6 0>; |
| vdd-io-supply = <&spi_eth_vreg>; |
| vdd-phy-supply = <&spi_eth_vreg>; |
| }; |
| }; |
| |
| sound { |
| qcom,model = "msm8974-taiko-fluid-snd-card"; |
| qcom,audio-routing = |
| "RX_BIAS", "MCLK", |
| "LDO_H", "MCLK", |
| "AMIC1", "MIC BIAS1 Internal1", |
| "MIC BIAS1 Internal1", "Handset Mic", |
| "AMIC2", "MIC BIAS2 External", |
| "MIC BIAS2 External", "Headset Mic", |
| "AMIC3", "MIC BIAS2 External", |
| "MIC BIAS2 External", "ANCRight Headset Mic", |
| "AMIC4", "MIC BIAS2 External", |
| "MIC BIAS2 External", "ANCLeft Headset Mic", |
| "DMIC1", "MIC BIAS1 External", |
| "MIC BIAS1 External", "Digital Mic1", |
| "DMIC2", "MIC BIAS1 External", |
| "MIC BIAS1 External", "Digital Mic2", |
| "DMIC3", "MIC BIAS3 External", |
| "MIC BIAS3 External", "Digital Mic3", |
| "DMIC4", "MIC BIAS3 External", |
| "MIC BIAS3 External", "Digital Mic4", |
| "DMIC5", "MIC BIAS4 External", |
| "MIC BIAS4 External", "Digital Mic5", |
| "DMIC6", "MIC BIAS4 External", |
| "MIC BIAS4 External", "Digital Mic6", |
| "Lineout_1 amp", "LINEOUT1", |
| "Lineout_3 amp", "LINEOUT3"; |
| |
| qcom,hdmi-audio-rx; |
| qcom,ext-ult-lo-amp-gpio = <&pm8941_gpios 6 0>; |
| qcom,cdc-micbias2-headset-only; |
| }; |
| }; |
| |
| &slim_msm { |
| taiko_codec { |
| qcom,cdc-micbias1-ext-cap; |
| qcom,cdc-micbias2-ext-cap; |
| qcom,cdc-micbias3-ext-cap; |
| qcom,cdc-micbias4-ext-cap; |
| |
| /* If boot isn't available, vph_pwr_vreg can be used instead */ |
| cdc-vdd-spkdrv-supply = <&pm8941_boost>; |
| qcom,cdc-vdd-spkdrv-voltage = <5000000 5000000>; |
| qcom,cdc-vdd-spkdrv-current = <1250000>; |
| |
| qcom,cdc-on-demand-supplies = "cdc-vdd-spkdrv"; |
| }; |
| }; |
| |
| &spmi_bus { |
| qcom,pm8941@1 { |
| qcom,leds@d800 { |
| status = "okay"; |
| qcom,wled_0 { |
| label = "wled"; |
| linux,name = "wled:backlight"; |
| linux,default-trigger = "bkl-trigger"; |
| qcom,cs-out-en; |
| qcom,op-fdbck = <1>; |
| qcom,default-state = "on"; |
| qcom,max-current = <25>; |
| qcom,ctrl-delay-us = <0>; |
| qcom,boost-curr-lim = <3>; |
| qcom,cp-sel = <0>; |
| qcom,switch-freq = <2>; |
| qcom,ovp-val = <2>; |
| qcom,num-strings = <1>; |
| qcom,id = <0>; |
| }; |
| }; |
| |
| qcom,leds@d900 { |
| status = "disabled"; |
| }; |
| |
| qcom,leds@da00 { |
| status = "disabled"; |
| }; |
| |
| qcom,leds@db00 { |
| status = "disabled"; |
| }; |
| |
| qcom,leds@dc00 { |
| status = "disabled"; |
| }; |
| |
| qcom,leds@dd00 { |
| status = "disabled"; |
| }; |
| |
| qcom,leds@de00 { |
| status = "disabled"; |
| }; |
| |
| qcom,leds@df00 { |
| status = "disabled"; |
| }; |
| |
| qcom,leds@e000 { |
| status = "disabled"; |
| }; |
| |
| qcom,leds@e100 { |
| status = "disabled"; |
| }; |
| }; |
| }; |
| |
| &sdcc1 { |
| status = "disabled"; |
| }; |
| |
| &sdcc2 { |
| #address-cells = <0>; |
| interrupt-parent = <&sdcc2>; |
| interrupts = <0 1 2>; |
| #interrupt-cells = <1>; |
| interrupt-map-mask = <0xffffffff>; |
| interrupt-map = <0 &intc 0 125 0 |
| 1 &intc 0 220 0 |
| 2 &msmgpio 62 0x3>; |
| interrupt-names = "core_irq", "bam_irq", "status_irq"; |
| cd-gpios = <&msmgpio 62 0x1>; |
| status = "disabled"; |
| }; |
| |
| &sdhc_1 { |
| vdd-supply = <&pm8941_l20>; |
| vdd-io-supply = <&pm8941_s3>; |
| |
| qcom,vdd-always-on; |
| qcom,vdd-lpm-sup; |
| qcom,vdd-voltage-level = <2950000 2950000>; |
| qcom,vdd-current-level = <800 500000>; |
| |
| qcom,vdd-io-always-on; |
| qcom,vdd-io-voltage-level = <1800000 1800000>; |
| qcom,vdd-io-current-level = <250 154000>; |
| |
| 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,nonremovable; |
| status = "ok"; |
| }; |
| |
| &sdhc_2 { |
| #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 62 0x3>; |
| interrupt-names = "hc_irq", "pwr_irq", "status_irq"; |
| cd-gpios = <&msmgpio 62 0x1>; |
| |
| vdd-supply = <&pm8941_l21>; |
| vdd-io-supply = <&pm8941_l13>; |
| |
| qcom,vdd-voltage-level = <2950000 2950000>; |
| qcom,vdd-current-level = <9000 800000>; |
| |
| qcom,vdd-io-voltage-level = <1800000 2950000>; |
| qcom,vdd-io-current-level = <6 22000>; |
| |
| 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 */ |
| status = "ok"; |
| }; |
| |
| /* Drive strength recommendations for clock line from hardware team is 10 mA. |
| * But since the driver has been been using the below values from the start |
| * without any problems, continue to use those. |
| */ |
| &sdcc1 { |
| qcom,pad-drv-on = <0x7 0x4 0x4>; /* 16mA, 10mA, 10mA */ |
| }; |
| |
| &sdcc2 { |
| qcom,pad-drv-on = <0x7 0x4 0x4>; /* 16mA, 10mA, 10mA */ |
| }; |
| |
| &sdhc_1 { |
| qcom,pad-drv-on = <0x7 0x4 0x4>; /* 16mA, 10mA, 10mA */ |
| }; |
| |
| &sdhc_2 { |
| qcom,pad-drv-on = <0x7 0x4 0x4>; /* 16mA, 10mA, 10mA */ |
| }; |
| |
| &usb3 { |
| qcom,otg-capability; |
| }; |
| |
| &pm8941_bms { |
| status = "ok"; |
| }; |
| |
| &pm8941_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,dc-chgpth@1400 { |
| status = "ok"; |
| }; |
| |
| qcom,boost@1500 { |
| status = "ok"; |
| }; |
| |
| qcom,chg-misc@1600 { |
| status = "ok"; |
| }; |
| }; |
| |
| &pm8941_gpios { |
| gpio@c000 { /* GPIO 1 */ |
| }; |
| |
| gpio@c100 { /* GPIO 2 */ |
| }; |
| |
| gpio@c200 { /* GPIO 3 */ |
| qcom,mode = <0>; |
| qcom,pull = <0>; |
| qcom,vin-sel = <2>; |
| qcom,src-sel = <0>; |
| }; |
| |
| gpio@c300 { /* GPIO 4 */ |
| qcom,mode = <0>; |
| qcom,pull = <0>; |
| qcom,vin-sel = <2>; |
| qcom,src-sel = <0>; |
| }; |
| |
| gpio@c400 { /* GPIO 5 */ |
| qcom,mode = <0>; |
| qcom,pull = <0>; |
| qcom,vin-sel = <2>; |
| qcom,src-sel = <0>; |
| }; |
| |
| gpio@c500 { /* GPIO 6 */ |
| }; |
| |
| gpio@c600 { /* GPIO 7 */ |
| }; |
| |
| gpio@c700 { /* GPIO 8 */ |
| }; |
| |
| gpio@c800 { /* GPIO 9 */ |
| }; |
| |
| gpio@c900 { /* GPIO 10 */ |
| }; |
| |
| gpio@ca00 { /* GPIO 11 */ |
| }; |
| |
| gpio@cb00 { /* GPIO 12 */ |
| qcom,mode = <1>; /* QPNP_PIN_MODE_DIG_OUT */ |
| qcom,output-type = <0>; /* QPNP_PIN_OUT_BUF_CMOS */ |
| qcom,pull = <5>; /* QPNP_PIN_PULL_NO */ |
| qcom,vin-sel = <2>; /* QPNP_PIN_VIN2 */ |
| qcom,out-strength = <2>; /* QPNP_PIN_OUT_STRENGTH_MED */ |
| qcom,src-sel = <0>; /* QPNP_PIN_SEL_FUNC_CONSTANT */ |
| qcom,master-en = <1>; |
| }; |
| |
| gpio@cc00 { /* GPIO 13 */ |
| }; |
| |
| gpio@cd00 { /* GPIO 14 */ |
| }; |
| |
| gpio@ce00 { /* GPIO 15 */ |
| qcom,mode = <1>; |
| qcom,output-type = <0>; |
| qcom,pull = <5>; |
| qcom,vin-sel = <2>; |
| qcom,out-strength = <1>; |
| qcom,src-sel = <2>; |
| qcom,master-en = <1>; |
| }; |
| |
| gpio@cf00 { /* GPIO 16 */ |
| qcom,mode = <1>; |
| qcom,output-type = <0>; |
| qcom,pull = <5>; |
| qcom,vin-sel = <2>; |
| qcom,out-strength = <3>; |
| qcom,src-sel = <2>; |
| qcom,master-en = <1>; |
| }; |
| |
| gpio@d000 { /* GPIO 17 */ |
| }; |
| |
| gpio@d100 { /* GPIO 18 */ |
| }; |
| |
| gpio@d200 { /* GPIO 19 */ |
| qcom,mode = <1>; /* QPNP_PIN_MODE_DIG_OUT */ |
| qcom,output-type = <0>; /* QPNP_PIN_OUT_BUF_CMOS */ |
| qcom,pull = <5>; /* QPNP_PIN_PULL_NO */ |
| qcom,vin-sel = <2>; /* QPNP_PIN_VIN2 */ |
| qcom,out-strength = <2>; /* QPNP_PIN_OUT_STRENGTH_MED */ |
| qcom,src-sel = <0>; /* QPNP_PIN_SEL_FUNC_CONSTANT */ |
| qcom,master-en = <1>; |
| }; |
| |
| gpio@d300 { /* GPIO 20 */ |
| }; |
| |
| gpio@d400 { /* GPIO 21 */ |
| }; |
| |
| gpio@d500 { /* GPIO 22 */ |
| }; |
| |
| gpio@d600 { /* GPIO 23 */ |
| }; |
| |
| gpio@d700 { /* GPIO 24 */ |
| }; |
| |
| gpio@d800 { /* GPIO 25 */ |
| }; |
| |
| gpio@d900 { /* GPIO 26 */ |
| }; |
| |
| gpio@da00 { /* GPIO 27 */ |
| }; |
| |
| gpio@db00 { /* GPIO 28 */ |
| }; |
| |
| gpio@dc00 { /* GPIO 29 */ |
| qcom,pull = <0>; /* set to default pull */ |
| qcom,master-en = <1>; |
| qcom,vin-sel = <2>; /* select 1.8 V source */ |
| }; |
| |
| gpio@dd00 { /* GPIO 30 */ |
| }; |
| |
| gpio@de00 { /* GPIO 31 */ |
| }; |
| |
| gpio@df00 { /* GPIO 32 */ |
| }; |
| |
| gpio@e000 { /* GPIO 33 */ |
| }; |
| |
| gpio@e100 { /* GPIO 34 */ |
| }; |
| |
| gpio@e200 { /* GPIO 35 */ |
| }; |
| |
| gpio@e300 { /* GPIO 36 */ |
| }; |
| }; |
| |
| &pm8941_mpps { |
| |
| mpp@a000 { /* MPP 1 */ |
| status = "disabled"; |
| }; |
| |
| mpp@a100 { /* MPP 2 */ |
| }; |
| |
| mpp@a200 { /* MPP 3 */ |
| }; |
| |
| mpp@a300 { /* MPP 4 */ |
| }; |
| |
| mpp@a400 { /* MPP 5 */ |
| /* SPI_ETH config */ |
| qcom,mode = <1>; /* DIG_OUT */ |
| qcom,output-type = <0>; /* CMOS */ |
| qcom,vin-sel = <2>; /* PM8941_S3 1.8V > 1.6V */ |
| qcom,src-sel = <0>; /* CONSTANT */ |
| qcom,master-en = <1>; /* ENABLE MPP */ |
| }; |
| |
| mpp@a500 { /* MPP 6 */ |
| /* SPI_ETH_RST config */ |
| qcom,mode = <1>; /* DIG_OUT */ |
| qcom,output-type = <0>; /* CMOS */ |
| qcom,vin-sel = <2>; /* PM8941_S3 1.8V > 1.6V */ |
| qcom,src-sel = <0>; /* CONSTANT */ |
| qcom,master-en = <1>; /* ENABLE MPP */ |
| }; |
| |
| mpp@a600 { /* MPP 7 */ |
| }; |
| |
| mpp@a700 { /* MPP 8 */ |
| qcom,mode = <1>; /* DIG_OUT */ |
| qcom,output-type = <0>; /* CMOS */ |
| qcom,pull = <0>; |
| qcom,vin-sel = <2>; /* PM8941_S3 1.8V > 1.6V */ |
| qcom,src-sel = <0>; /* CONSTANT */ |
| qcom,master-en = <1>; /* ENABLE MPP */ |
| }; |
| }; |
| |
| &pm8841_mpps { |
| |
| mpp@a000 { /* MPP 1 */ |
| }; |
| |
| mpp@a100 { /* MPP 2 */ |
| }; |
| |
| mpp@a200 { /* MPP 3 */ |
| }; |
| |
| mpp@a300 { /* MPP 4 */ |
| }; |
| }; |
| |
| &spi_epm { |
| epm-adc@0 { |
| compatible = "cy,epm-adc-cy8c5568lti-114"; |
| reg = <0>; |
| interrupt-parent = <&msmgpio>; |
| spi-max-frequency = <960000>; |
| qcom,channels = <31>; |
| qcom,gain = <100 100 100 50 100 100 1 100 1 50 |
| 1 100 1 100 50 50 50 50 50 50 |
| 100 50 100 50 50 50 50 50 50 50 |
| 50>; |
| qcom,rsense = <2 2 2 200 20 2 1 2 1 30 |
| 1 10 1 30 50 30 500 30 100 30 |
| 100 500 20 200 1000 20 1000 1000 70 200 |
| 50>; |
| qcom,channel-type = <0x1540>; |
| }; |
| }; |