android_kernel_samsung_hero.../arch/arm/boot/dts/qcom/msm8996-liquid.dtsi

660 lines
16 KiB
Text
Raw Normal View History

2016-08-17 10:41:52 +02:00
/* Copyright (c) 2015, 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 "msm8996-pinctrl.dtsi"
#include "msm8996-camera-sensor-liquid.dtsi"
#include "msm8996-wsa881x.dtsi"
/ {
bluetooth: bt_qca6174 {
compatible = "qca,qca6174";
qca,bt-reset-gpio = <&pm8994_gpios 19 0>; /* BT_EN */
qca,bt-vdd-core-supply = <&pm8994_s3>;
qca,bt-vdd-pa-supply = <&rome_vreg>;
qca,bt-vdd-io-supply = <&pm8994_s4>;
qca,bt-vdd-xtal-supply = <&pm8994_l30>;
qca,bt-vdd-core-voltage-level = <1300000 1800000>;
qca,bt-vdd-io-voltage-level = <1800000 1800000>;
qca,bt-vdd-xtal-voltage-level = <1800000 1800000>;
};
};
&ufs_ice {
status = "ok";
};
&ufsphy1 {
status = "ok";
};
&ufs1 {
status = "ok";
};
&uartblsp2dm1 {
status = "ok";
pinctrl-names = "default";
pinctrl-0 = <&uart_console_active>;
};
&sdhc_1 {
vdd-supply = <&pm8994_l20>;
qcom,vdd-voltage-level = <2950000 2950000>;
qcom,vdd-current-level = <200 570000>;
vdd-io-supply = <&pm8994_s4>;
qcom,vdd-io-always-on;
qcom,vdd-io-voltage-level = <1800000 1800000>;
qcom,vdd-io-current-level = <110 325000>;
pinctrl-names = "active", "sleep";
pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on &sdc1_rclk_on>;
pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off &sdc1_rclk_off>;
qcom,clk-rates = <400000 20000000 25000000 50000000 96000000 192000000 384000000>;
qcom,nonremovable;
qcom,bus-speed-mode = "HS400_1p8v", "HS200_1p8v", "DDR_1p8v";
status = "ok";
};
&sdhc_2 {
vdd-supply = <&pm8994_l21>;
qcom,vdd-voltage-level = <2950000 2950000>;
qcom,vdd-current-level = <200 800000>;
vdd-io-supply = <&pm8994_l13>;
qcom,vdd-io-voltage-level = <1800000 2950000>;
qcom,vdd-io-current-level = <200 22000>;
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>;
qcom,clk-rates = <400000 20000000 25000000 50000000 100000000 200000000>;
qcom,bus-speed-mode = "SDR12", "SDR25", "SDR50", "DDR50", "SDR104";
cd-gpios = <&tlmm 95 0x1>;
status = "ok";
};
&pm8994_vadc {
chan@5 {
label = "vcoin";
reg = <5>;
qcom,decimation = <0>;
qcom,pre-div-channel-scaling = <1>;
qcom,calibration-type = "absolute";
qcom,scale-function = <0>;
qcom,hw-settle-time = <0>;
qcom,fast-avg-setup = <0>;
};
chan@7 {
label = "vph_pwr";
reg = <7>;
qcom,decimation = <0>;
qcom,pre-div-channel-scaling = <1>;
qcom,calibration-type = "absolute";
qcom,scale-function = <0>;
qcom,hw-settle-time = <0>;
qcom,fast-avg-setup = <0>;
};
chan@73 {
label = "msm_therm";
reg = <0x73>;
qcom,decimation = <0>;
qcom,pre-div-channel-scaling = <0>;
qcom,calibration-type = "ratiometric";
qcom,scale-function = <2>;
qcom,hw-settle-time = <2>;
qcom,fast-avg-setup = <0>;
};
chan@74 {
label = "emmc_therm";
reg = <0x74>;
qcom,decimation = <0>;
qcom,pre-div-channel-scaling = <0>;
qcom,calibration-type = "ratiometric";
qcom,scale-function = <2>;
qcom,hw-settle-time = <2>;
qcom,fast-avg-setup = <0>;
};
chan@75 {
label = "pa_therm0";
reg = <0x75>;
qcom,decimation = <0>;
qcom,pre-div-channel-scaling = <0>;
qcom,calibration-type = "ratiometric";
qcom,scale-function = <2>;
qcom,hw-settle-time = <2>;
qcom,fast-avg-setup = <0>;
};
chan@77 {
label = "pa_therm1";
reg = <0x77>;
qcom,decimation = <0>;
qcom,pre-div-channel-scaling = <0>;
qcom,calibration-type = "ratiometric";
qcom,scale-function = <2>;
qcom,hw-settle-time = <2>;
qcom,fast-avg-setup = <0>;
};
chan@78 {
label = "quiet_therm";
reg = <0x78>;
qcom,decimation = <0>;
qcom,pre-div-channel-scaling = <0>;
qcom,calibration-type = "ratiometric";
qcom,scale-function = <2>;
qcom,hw-settle-time = <2>;
qcom,fast-avg-setup = <0>;
};
};
&pm8994_adc_tm {
chan@73 {
label = "msm_therm";
reg = <0x73>;
qcom,decimation = <0>;
qcom,pre-div-channel-scaling = <0>;
qcom,calibration-type = "ratiometric";
qcom,scale-function = <2>;
qcom,hw-settle-time = <2>;
qcom,fast-avg-setup = <0>;
qcom,btm-channel-number = <0x48>;
qcom,thermal-node;
};
chan@74 {
label = "emmc_therm";
reg = <0x74>;
qcom,decimation = <0>;
qcom,pre-div-channel-scaling = <0>;
qcom,calibration-type = "ratiometric";
qcom,scale-function = <2>;
qcom,hw-settle-time = <2>;
qcom,fast-avg-setup = <0>;
qcom,btm-channel-number = <0x68>;
qcom,thermal-node;
};
chan@75 {
label = "pa_therm0";
reg = <0x75>;
qcom,decimation = <0>;
qcom,pre-div-channel-scaling = <0>;
qcom,calibration-type = "ratiometric";
qcom,scale-function = <2>;
qcom,hw-settle-time = <2>;
qcom,fast-avg-setup = <0>;
qcom,btm-channel-number = <0x70>;
qcom,thermal-node;
};
chan@77 {
label = "pa_therm1";
reg = <0x77>;
qcom,decimation = <0>;
qcom,pre-div-channel-scaling = <0>;
qcom,calibration-type = "ratiometric";
qcom,scale-function = <2>;
qcom,hw-settle-time = <2>;
qcom,fast-avg-setup = <0>;
qcom,btm-channel-number = <0x78>;
qcom,thermal-node;
};
chan@78 {
label = "quiet_therm";
reg = <0x78>;
qcom,decimation = <0>;
qcom,pre-div-channel-scaling = <0>;
qcom,calibration-type = "ratiometric";
qcom,scale-function = <2>;
qcom,hw-settle-time = <2>;
qcom,fast-avg-setup = <0>;
qcom,btm-channel-number = <0x80>;
qcom,thermal-node;
};
};
&mdss_hdmi_tx {
pinctrl-names = "hdmi_hpd_active", "hdmi_ddc_active", "hdmi_cec_active",
"hdmi_active", "hdmi_sleep";
pinctrl-0 = <&mdss_hdmi_hpd_active &mdss_hdmi_ddc_suspend
&mdss_hdmi_cec_suspend>;
pinctrl-1 = <&mdss_hdmi_hpd_active &mdss_hdmi_ddc_active
&mdss_hdmi_cec_suspend>;
pinctrl-2 = <&mdss_hdmi_hpd_active &mdss_hdmi_cec_active
&mdss_hdmi_ddc_suspend>;
pinctrl-3 = <&mdss_hdmi_hpd_active &mdss_hdmi_ddc_active
&mdss_hdmi_cec_active>;
pinctrl-4 = <&mdss_hdmi_hpd_suspend &mdss_hdmi_ddc_suspend
&mdss_hdmi_cec_suspend>;
};
&pmi8994_vadc {
chan@0 {
label = "usbin";
reg = <0>;
qcom,decimation = <0>;
qcom,pre-div-channel-scaling = <4>;
qcom,calibration-type = "absolute";
qcom,scale-function = <0>;
qcom,hw-settle-time = <0>;
qcom,fast-avg-setup = <0>;
};
chan@1 {
label = "dcin";
reg = <1>;
qcom,decimation = <0>;
qcom,pre-div-channel-scaling = <4>;
qcom,calibration-type = "absolute";
qcom,scale-function = <0>;
qcom,hw-settle-time = <0>;
qcom,fast-avg-setup = <0>;
};
chan@43 {
label = "usb_dp";
reg = <0x43>;
qcom,decimation = <0>;
qcom,pre-div-channel-scaling = <1>;
qcom,calibration-type = "absolute";
qcom,scale-function = <0>;
qcom,hw-settle-time = <0>;
qcom,fast-avg-setup = <0>;
};
chan@44 {
label = "usb_dm";
reg = <0x44>;
qcom,decimation = <0>;
qcom,pre-div-channel-scaling = <1>;
qcom,calibration-type = "absolute";
qcom,scale-function = <0>;
qcom,hw-settle-time = <0>;
qcom,fast-avg-setup = <0>;
};
};
#include "msm8996-mdss-panels.dtsi"
&mdss_mdp {
qcom,mdss-pref-prim-intf = "dsi";
};
&mdss_dsi {
hw-config = "split_dsi";
};
&mdss_dsi0 {
qcom,dsi-pref-prim-pan = <&dsi_dual_jdi_4k_nofbc_video>;
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 = <&tlmm 8 0>;
qcom,platform-bklight-en-gpio = <&pm8994_gpios 14 0>;
};
&mdss_dsi1 {
qcom,dsi-pref-prim-pan = <&dsi_dual_jdi_4k_nofbc_video>;
};
&labibb {
status = "ok";
qpnp,qpnp-labibb-mode = "lcd";
};
&dsi_dual_jdi_4k_nofbc_video {
pwms = <&pmi8994_pwm_4 0 0>;
pwm-names = "backlight";
qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_pwm";
qcom,mdss-dsi-bl-pwm-pmi;
qcom,mdss-dsi-bl-pmic-pwm-frequency = <100>;
qcom,mdss-dsi-bl-min-level = <1>;
qcom,mdss-dsi-bl-max-level = <4095>;
qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
};
&pmi8994_pwm_4 {
qcom,channel-owner = "lcd_bl";
qcom,lpg-dtest-line = <4>;
qcom,dtest-output = <1>;
status = "okay";
};
/{
mtp_batterydata: qcom,battery-data {
qcom,batt-id-range-pct = <15>;
#include "batterydata-liquid-7650-sanyo.dtsi"
};
};
&pmi8994_charger {
qcom,dc-psy-type = "Wipower";
qcom,dcin-vadc = <&pmi8994_vadc>;
qcom,wipower-default-ilim-map = <4000000 20000000 550 700 300>;
qcom,wipower-pt-ilim-map = <4000000 7140000 550 700 300>,
<7140000 8140000 550 700 300>,
<8140000 9140000 500 700 300>,
<9140000 9950000 500 700 300>;
qcom,wipower-div2-ilim-map = <4000000 4820000 550 700 300>,
<4820000 5820000 550 700 300>,
<5820000 6820000 550 650 650>,
<6820000 7820000 550 700 600>,
<7820000 8500000 550 700 550>;
qcom,skip-usb-notification;
};
&pmi8994_fg {
qcom,battery-data = <&mtp_batterydata>;
qcom,ext-sense-type;
};
&usb_otg_switch {
status = "okay";
};
&usb3 {
vbus_dwc3-supply = <&usb_otg_switch>;
};
&pm8994_mpps {
mpp@a300 { /* MPP 4 */
/* HDMI_5v_vreg regulator enable */
qcom,mode = <1>; /* Digital output */
qcom,output-type = <0>; /* CMOS logic */
qcom,vin-sel = <2>; /* S4 1.8V */
qcom,src-sel = <0>; /* Constant */
qcom,master-en = <1>; /* Enable GPIO */
qcom,invert = <0>;
status = "okay";
};
};
&pmi8994_gpios {
gpio@c400 { /* GPIO 5 - USB3 OTG SWITCH EN */
qcom,mode = <1>; /* Digital output */
qcom,vin-sel = <2>; /* 1.8 */
qcom,src-sel = <0>; /* GPIO */
qcom,master-en = <1>; /* Enable GPIO */
qcom,invert = <0>; /* Output low initially */
status = "okay";
};
};
&pmi8994_gpios {
gpio@c100 { /* GPIO 2 SPKR_SD_N */
qcom,mode = <1>; /* DIGITAL OUT */
qcom,pull = <5>; /* No Pull */
qcom,vin-sel = <2>; /* 1.8 */
qcom,src-sel = <0>; /* CONSTANT */
qcom,master-en = <1>; /* ENABLE GPIO */
status = "okay";
};
gpio@c200 { /* GPIO 3 SPKR_SD_N */
qcom,mode = <1>; /* DIGITAL OUT */
qcom,pull = <5>; /* No Pull */
qcom,vin-sel = <2>; /* 1.8 */
qcom,src-sel = <0>; /* CONSTANT */
qcom,master-en = <1>; /* ENABLE GPIO */
status = "okay";
};
};
&pmi8994_mpps {
mpp@a000 { /* MPP 1 */
qcom,mode = <1>; /* Digital output */
qcom,output-type = <0>; /* CMOS logic */
qcom,vin-sel = <0>; /* S4 1.8V */
qcom,src-sel = <7>; /* DTEST4 */
qcom,master-en = <1>; /* Enable MPP */
status = "okay";
};
mpp@a300 { /* MPP 4 */
/* WLED FET */
qcom,mode = <1>; /* DIGITAL OUT */
qcom,vin-sel = <0>; /* VIN0 */
qcom,master-en = <1>;
status = "okay";
};
};
&soc {
drv2667_vreg: drv2667_vdd_vreg {
compatible = "regulator-fixed";
regulator-name = "vdd_drv2667";
};
gpio_keys {
compatible = "gpio-keys";
input-name = "gpio-keys";
home {
label = "home";
gpios = <&pm8994_gpios 1 0x1>;
linux,input-type = <1>;
linux,code = <102>;
gpio-key,wakeup;
debounce-interval = <15>;
};
vol_up {
label = "volume_up";
gpios = <&pm8994_gpios 2 0x1>;
linux,input-type = <1>;
linux,code = <115>;
gpio-key,wakeup;
debounce-interval = <15>;
};
};
ts_xvdd_vreg: ts_xvdd_vreg {
compatible = "regulator-fixed";
regulator-name = "ts_xvdd_vreg";
startup-delay-us = <4000>;
enable-active-high;
gpio = <&pm8994_gpios 3 0>;
status = "ok";
};
sound-9335 {
qcom,model = "msm8996-tasha-mtp-snd-card";
qcom,hdmi-audio-rx;
asoc-codec = <&stub_codec>, <&hdmi_audio>;
asoc-codec-names = "msm-stub-codec.1", "msm-hdmi-audio-codec-rx";
qcom,wsa-max-devs = <2>;
qcom,wsa-devs = <&wsa881x_211>, <&wsa881x_212>,
<&wsa881x_213>, <&wsa881x_214>;
qcom,wsa-aux-dev-prefix = "SpkrLeft", "SpkrRight",
"SpkrLeft", "SpkrRight";
};
usb_detect {
compatible = "qcom,gpio-usbdetect";
interrupt-parent = <&tlmm>;
interrupts = <78 0>;
interrupt-names = "vbus_det_irq";
};
};
&pm8994_gpios {
gpio@c700 { /* GPIO 8 - WLAN_EN */
qcom,mode = <1>; /* Digital output*/
qcom,pull = <4>; /* Pulldown 10uA */
qcom,vin-sel = <2>; /* VIN2 */
qcom,src-sel = <0>; /* GPIO */
qcom,invert = <0>; /* Invert */
qcom,master-en = <1>; /* Enable GPIO */
status = "okay";
};
gpio@c800 { /* GPIO 9 - Rome 3.3V control */
qcom,mode = <1>; /* Digital output */
qcom,output-type = <0>; /* MOS logic */
qcom,invert = <1>; /* Output high */
qcom,vin-sel = <0>; /* VPH_PWR */
qcom,src-sel = <0>; /* Constant */
qcom,out-strength = <1>; /* High drive strength */
qcom,master-en = <1>; /* Enable GPIO */
status = "okay";
};
gpio@cd00 { /* GPIO 14 - lcd_bklt_reg_en */
qcom,mode = <1>; /* DIGITAL OUT */
qcom,output-type = <0>; /* CMOS logic */
qcom,invert = <1>; /* output hight initially */
qcom,vin-sel = <2>; /* 1.8 */
qcom,src-sel = <0>; /* CONSTANT */
qcom,out-strength = <1>; /* Low drive strength */
qcom,master-en = <1>; /* ENABLE GPIO */
status = "okay";
};
gpio@c000 { /* GPIO 1 */
qcom,mode = <0>;
qcom,pull = <0>;
qcom,vin-sel = <2>;
qcom,src-sel = <0>;
status = "okay";
};
gpio@c100 { /* GPIO 2 */
qcom,mode = <0>;
qcom,pull = <0>;
qcom,vin-sel = <2>;
qcom,src-sel = <0>;
status = "okay";
};
gpio@c200 { /* GPIO 3 - TS_XVDD_EN */
qcom,mode = <1>; /* Digital output*/
qcom,output-type = <0>; /* CMOS logic */
qcom,vin-sel = <2>; /* VIN2 */
qcom,src-sel = <0>; /* GPIO */
qcom,invert = <0>; /* Invert */
qcom,master-en = <1>; /* Enable GPIO */
status = "okay";
};
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>;
status = "okay";
};
gpio@d100 { /* GPIO 18 - Rome Sleep Clock */
qcom,mode = <1>; /* Digital output */
qcom,output-type = <0>; /* CMOS logic */
qcom,invert = <0>; /* Output low initially */
qcom,vin-sel = <2>; /* VIN 2 */
qcom,src-sel = <3>; /* Function 2 */
qcom,out-strength = <2>; /* Medium */
qcom,master-en = <1>; /* Enable GPIO */
status = "okay";
};
gpio@d200 { /* GPIO 19 - Rome BT Reset */
qcom,mode = <1>; /* Digital output*/
qcom,pull = <4>; /* Pulldown 10uA */
qcom,vin-sel = <2>; /* VIN2 */
qcom,src-sel = <0>; /* GPIO */
qcom,invert = <0>; /* Invert */
qcom,master-en = <1>; /* Enable GPIO */
status = "okay";
};
};
&pmi8994_haptics {
status = "okay";
};
&flash_led {
qcom,follow-otst2-rb-disabled;
};
&blsp1_uart2 {
status = "ok";
};
&i2c_7 {
ti-drv2667@59 {
compatible = "ti,drv2667";
reg = <0x59>;
vdd-supply = <&drv2667_vreg>;
vdd-i2c-supply = <&pm8994_s4>;
ti,label = "vibrator";
ti,gain = <2>;
ti,idle-timeout-ms = <20>;
ti,max-runtime-ms = <15000>;
ti,mode = <2>;
ti,wav-seq = [
/* wave form id */
01
/* header size, start and stop bytes */
05 80 06 00 09
/* repeat, amp, freq, duration, envelope */
01 ff 19 02 00];
};
};
&i2c_12 {
atmel_maxtouch_ts@4a {
compatible = "atmel,maxtouch-ts";
reg = <0x4a>;
interrupt-parent = <&tlmm>;
interrupts = <125 0x2008>;
vdd-supply = <&pm8994_l14>;
avdd-supply = <&pm8994_l22>;
xvdd-supply = <&ts_xvdd_vreg>;
pinctrl-names = "pmx_ts_active","pmx_ts_suspend";
pinctrl-0 = <&ts_active>;
pinctrl-1 = <&ts_suspend>;
atmel,panel-coords = <0 0 3839 2159>;
atmel,display-coords = <0 0 3839 2159>;
atmel,irq-gpio = <&tlmm 125 0x2008>;
atmel,reset-gpio = <&tlmm 89 0x00>;
atmel,i2cmode-gpio = <&tlmm 86 0x00>;
atmel,ignore-crc;
/* Underlying clocks used by secure touch */
clock-names = "iface_clk", "core_clk";
clocks = <&clock_gcc clk_gcc_blsp2_ahb_clk>,
<&clock_gcc clk_gcc_blsp2_qup6_i2c_apps_clk>;
atmel,cfg-name = "maxtouch_8996_liquid_cfg.raw";
atmel,cfg_1 {
atmel,version = <0x10>;
atmel,build = <0xaa>;
atmel,fw-name = "maxtouch_8996_liquid_v1_1_AB.fw";
};
atmel,cfg_2 {
atmel,version = <0x11>;
atmel,build = <0xab>;
};
};
};