/* Copyright (c) 2014-2016, 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 "msm8909.dtsi" #include "msm8909-pinctrl.dtsi" &soc { /* * DT node to add support for SMB135x charger and integrate * with VM-BMS. */ i2c@78b8000 { smb1357_otg_vreg: smb1357-charger@57 { compatible = "qcom,smb1357-charger"; reg = <0x57>; interrupt-parent = <&msm_gpio>; interrupts = <58 8>; pinctrl-names = "default"; pinctrl-0 = <&smb_int_default>; qcom,bmd-algo-disabled; qcom,float-voltage-mv = <4200>; qcom,charging-timeout = <1536>; qcom,recharge-thresh-mv = <100>; regulator-name = "smb1357_otg_vreg"; qcom,soft-vfloat-comp-disabled; qcom,thermal-mitigation = <1500 700 600 0>; qcom,bms-psy-name = "bms"; /* * Disable SMB1357 based charging termination as BMS * controls charging. */ qcom,iterm-disabled; /* * Disable charge inhibit feature to start chargin on * charger insertion independent of battery voltage. */ qcom,inhibit-disabled; /* BMS is controlling charging/re-charge */ qcom,bms-controlled-charging; /* * To enable charger node: * set status = "ok" and * add 'qcom,use-external-charger' to pm8909_chg node */ status = "disabled"; }; }; /* * DT node to add support for SMB358 charger and integrate * with VM-BMS. */ i2c@78b8000 { smb358_otg_vreg: smb358-charger@57 { compatible = "qcom,smb358-charger"; reg = <0x57>; interrupt-parent = <&msm_gpio>; interrupts = <58 8>; pinctrl-names = "default"; pinctrl-0 = <&smb_int_default>; qcom,float-voltage-mv = <4200>; qcom,recharge-mv = <100>; regulator-name = "smb358_otg_vreg"; qcom,thermal-mitigation = <1500 700 600 0>; qcom,fastchg-current-max-ma = <1500>; qcom,disable-apsd; qcom,bms-psy-name = "bms"; qcom,bms-controlled-charging; qcom,iterm-disabled; qcom,chg-inhibit-disabled; /* * In some of designs, the battery thermistor * is only connected to the PMIC THERM pin. * In this condition, we should define 'qcom,using-pmic-therm'. */ qcom,using-pmic-therm; qcom,hot-bat-decidegc = <550>; qcom,cold-bat-decidegc = <0>; qcom,bat-present-decidegc = <200>; /* * Below preperties are used for enable JEITA */ qcom,warm-bat-decidegc = <450>; qcom,cool-bat-decidegc = <100>; qcom,warm-bat-ma = <350>; qcom,cool-bat-ma = <350>; qcom,warm-bat-mv = <4100>; qcom,cool-bat-mv = <4100>; /* * To enable charger node: * set status = "ok" and * add 'qcom,use-external-charger' to pm8909_chg node */ status = "disabled"; }; }; i2c@78b9000 { /* BLSP1 QUP5 */ synaptics@20 { compatible = "synaptics,dsx"; reg = <0x20>; interrupt-parent = <&msm_gpio>; interrupts = <13 0x2008>; avdd-supply = <&pm8909_l17>; vdd-supply = <&pm8909_l6>; /* pins used by touchscreen */ pinctrl-names = "pmx_ts_active","pmx_ts_suspend","pmx_ts_release"; pinctrl-0 = <&ts_int_active &ts_reset_active>; pinctrl-1 = <&ts_int_suspend &ts_reset_suspend>; pinctrl-2 = <&ts_release>; synaptics,irq-gpio = <&msm_gpio 13 0x2008>; synaptics,reset-gpio = <&msm_gpio 12 0x0>; synaptics,disable-gpios; synaptics,display-coords = <0 0 719 1279>; synaptics,panel-coords = <0 0 719 1405>; }; }; gen-vkeys { compatible = "qcom,gen-vkeys"; label = "synaptics_dsx"; qcom,disp-maxx = <719>; qcom,disp-maxy = <1279>; qcom,panel-maxx = <719>; qcom,panel-maxy = <1405>; qcom,key-codes = <158 139 172 217>; }; gpio_keys { compatible = "gpio-keys"; input-name = "gpio-keys"; pinctrl-names = "tlmm_gpio_key_active","tlmm_gpio_key_suspend"; pinctrl-0 = <&gpio_key_active>; pinctrl-1 = <&gpio_key_suspend>; camera_focus { label = "camera_focus"; gpios = <&msm_gpio 91 0x1>; linux,input-type = <1>; linux,code = <0x210>; gpio-key,wakeup; debounce-interval = <15>; }; camera_snapshot { label = "camera_snapshot"; gpios = <&msm_gpio 92 0x1>; linux,input-type = <1>; linux,code = <0x2fe>; gpio-key,wakeup; debounce-interval = <15>; }; vol_up { label = "volume_up"; gpios = <&msm_gpio 90 0x1>; linux,input-type = <1>; linux,code = <115>; gpio-key,wakeup; debounce-interval = <15>; }; }; }; &blsp1_uart1 { status = "ok"; pinctrl-names = "default"; pinctrl-0 = <&uart_console_sleep>; }; / { mtp_batterydata: qcom,battery-data { qcom,rpull-up-kohm = <100>; qcom,vref-batt-therm = <1800000>; #include "batterydata-palladium.dtsi" }; }; &qcom_rng { status = "okay"; }; &qcom_crypto { status = "okay"; }; &qcom_cedev { status = "okay"; }; &qcom_seecom { status = "okay"; }; &qcom_tzlog { status = "okay"; }; &sdhc_1 { vdd-supply = <&pm8909_l8>; qcom,vdd-voltage-level = <2900000 2900000>; qcom,vdd-current-level = <200 400000>; vdd-io-supply = <&pm8909_l5>; qcom,vdd-io-always-on; qcom,vdd-io-lpm-sup; qcom,vdd-io-voltage-level = <1800000 1800000>; qcom,vdd-io-current-level = <200 60000>; pinctrl-names = "active", "sleep"; pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>; pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>; qcom,bus-speed-mode = "HS200_1p8v", "DDR_1p8v"; 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 &msm_gpio 38 0>; interrupt-names = "hc_irq", "pwr_irq", "status_irq"; cd-gpios = <&msm_gpio 38 0x1>; vdd-supply = <&pm8909_l11>; qcom,vdd-voltage-level = <1800000 2950000>; qcom,vdd-current-level = <15000 400000>; vdd-io-supply = <&pm8909_l12>; qcom,vdd-io-voltage-level = <1800000 2950000>; qcom,vdd-io-current-level = <200 50000>; pinctrl-names = "active", "sleep"; pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>; pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>; status = "ok"; }; &mdss_mdp { qcom,mdss-pref-prim-intf = "dsi"; }; &dsi_hx8394d_720_vid { qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_pwm"; qcom,mdss-dsi-bl-pmic-pwm-frequency = <100>; qcom,mdss-dsi-bl-pmic-bank-select = <0>; qcom,mdss-dsi-pwm-gpio = <&pm8909_mpps 2 0>; qcom,panel-supply-entries = <&dsi_panel_pwr_supply>; }; &dsi_hx8394d_qhd_vid { qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_pwm"; qcom,mdss-dsi-bl-pmic-pwm-frequency = <100>; qcom,mdss-dsi-bl-pmic-bank-select = <0>; qcom,mdss-dsi-pwm-gpio = <&pm8909_mpps 2 0>; qcom,panel-supply-entries = <&dsi_panel_pwr_supply>; }; &msm_gpio { pmx_mdss { mdss_dsi_active: mdss_dsi_active { mux { pins = "gpio25", "gpio37"; }; config { pins = "gpio25", "gpio37"; }; }; mdss_dsi_suspend: mdss_dsi_suspend { mux { pins = "gpio25", "gpio37"; }; config { pins = "gpio25", "gpio37"; }; }; }; pmx_mdss_te { mdss_te_active: mdss_te_active { mux { pins = "gpio24"; }; config { pins = "gpio24"; }; }; mdss_te_suspend: mdss_te_suspend { mux { pins = "gpio24"; }; config { pins = "gpio24"; }; }; }; }; &mdss_dsi0 { qcom,dsi-pref-prim-pan = <&dsi_hx8394d_720_vid>; pinctrl-names = "mdss_default", "mdss_sleep"; pinctrl-0 = <&mdss_dsi_active &mdss_te_active>; pinctrl-1 = <&mdss_dsi_suspend &mdss_te_suspend>; qcom,platform-reset-gpio = <&msm_gpio 25 0>; qcom,platform-bklight-en-gpio = <&msm_gpio 37 0>; }; /* CoreSight */ &tpiu { pinctrl-names = "sdcard", "trace", "swduart", "swdtrc", "jtag", "spmi"; /* NIDnT */ pinctrl-0 = <&qdsd_clk_sdcard &qdsd_cmd_sdcard &qdsd_data0_sdcard &qdsd_data1_sdcard &qdsd_data2_sdcard &qdsd_data3_sdcard>; pinctrl-1 = <&qdsd_clk_trace &qdsd_cmd_trace &qdsd_data0_trace &qdsd_data1_trace &qdsd_data2_trace &qdsd_data3_trace>; pinctrl-2 = <&qdsd_cmd_swduart &qdsd_data0_swduart &qdsd_data1_swduart &qdsd_data2_swduart &qdsd_data3_swduart>; pinctrl-3 = <&qdsd_clk_swdtrc &qdsd_cmd_swdtrc &qdsd_data0_swdtrc &qdsd_data1_swdtrc &qdsd_data2_swdtrc &qdsd_data3_swdtrc>; pinctrl-4 = <&qdsd_cmd_jtag &qdsd_data0_jtag &qdsd_data1_jtag &qdsd_data2_jtag &qdsd_data3_jtag>; pinctrl-5 = <&qdsd_clk_spmi &qdsd_cmd_spmi &qdsd_data0_spmi &qdsd_data3_spmi>; };