blob: 09d351cecc38c7d43271c835bca9683620be08a4 [file] [log] [blame]
/*
* Copyright (c) 2014-2015, 2017, 2020, 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.
*/
&pm8909_chg {
status = "ok";
qcom,charging-disabled;
};
&pm8909_bms {
status = "ok";
qcom,battery-data = <&mtp_batterydata>;
qcom,batt-aging-comp;
};
&usb_otg {
extcon = <&pm8909_chg>;
};
&dsi_hx8394d_720_vid {
qcom,cont-splash-enabled;
qcom,mdss-dsi-pwm-gpio = <&pm8909_mpps 4 0>;
qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
};
&spmi_bus {
qcom,pm8909@0 {
qcom,leds@a300 {
status = "okay";
qcom,led_mpp_4 {
label = "mpp";
linux,name = "button-backlight";
linux,default-trigger = "none";
qcom,default-state = "off";
qcom,max-current = <40>;
qcom,current-setting = <5>;
qcom,id = <6>;
qcom,mode = "manual";
qcom,source-sel = <1>;
qcom,mode-ctrl = <0x60>;
};
};
};
qcom,pm8909@1 {
qcom,vibrator@c000 {
status = "okay";
qcom,vib-timeout-ms = <15000>;
qcom,vib-vtg-level-mV = <3100>;
};
};
};
&pm8909_mpps {
mpp@a000 { /* MPP 1 */
/* VDD_PX */
status = "disabled";
};
mpp@a100 { /* MPP 2 */
/* Backlight PWM */
qcom,mode = <1>; /* Digital output */
qcom,invert = <0>; /* Disable invert */
qcom,src-sel = <4>; /* DTEST1 */
qcom,vin-sel = <0>; /* VPH_PWR */
qcom,master-en = <1>; /* Enable MPP */
};
mpp@a200 { /* MPP 3 */
/* VREF DAC */
status = "disabled";
};
mpp@a300 { /* MPP 4 */
/* HR LED */
status = "disabled";
};
};
&pm8909_gpios {
gpio@c000 { /* GPIO 1 */
/* Battery UICC Alarm */
status = "disabled";
};
gpio@c100 { /* GPIO 2 */
/* NFC_CLK_REQ */
qcom,mode = <0>; /* QPNP_PIN_MODE_DIG_IN */
qcom,pull = <5>; /* QPNP_PIN_PULL_NO */
qcom,vin-sel = <2>; /* QPNP_PIN_VIN2 */
qcom,src-sel = <2>; /* QPNP_PIN_SEL_FUNC_1 */
qcom,master-en = <1>;
};
gpio@c200 { /* GPIO 3 */
/* External regulator control for WTR */
status = "disabled";
};
gpio@c300 { /* GPIO 4 */
/* External regulator control for APC */
status = "disabled";
};
};
&audio_codec_mtp {
compatible = "qcom,msm8952-audio-codec";
qcom,model = "msm8909-snd-card";
reg = <0x7702000 0x4>,
<0x7702004 0x4>,
<0x7702008 0x4>;
reg-names = "csr_gp_io_mux_mic_ctl",
"csr_gp_io_mux_spkr_ctl",
"csr_gp_io_lpaif_pri_pcm_pri_mode_muxsel";
qcom,msm-snd-card-id = <0>;
qcom,msm-codec-type = "internal";
qcom,msm-ext-pa = "primary";
qcom,msm-mclk-freq = <9600000>;
qcom,msm-mbhc-hphl-swh = <0>;
qcom,msm-mbhc-gnd-swh = <0>;
qcom,msm-hs-micbias-type = "internal";
qcom,msm-micbias1-ext-cap;
qcom,msm-micbias2-ext-cap;
qcom,audio-routing =
"RX_BIAS", "MCLK",
"SPK_RX_BIAS", "MCLK",
"INT_LDO_H", "MCLK",
"MIC BIAS External", "Handset Mic",
"MIC BIAS Internal2", "Headset Mic",
"MIC BIAS External", "Secondary Mic",
"AMIC1", "MIC BIAS External",
"AMIC2", "MIC BIAS Internal2",
"AMIC3", "MIC BIAS External";
qcom,pri-mi2s-gpios = <&cdc_pri_mi2s_gpios>;
qcom,cdc-us-euro-gpios = <&cdc_us_euro_gpios>;
asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>,
<&voip>, <&voice>,
<&loopback>, <&compress>, <&hostless>,
<&afe>, <&lsm>, <&routing>, <&pcm_noirq>;
asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1",
"msm-pcm-dsp.2",
"msm-voip-dsp", "msm-pcm-voice",
"msm-pcm-loopback", "msm-compress-dsp",
"msm-pcm-hostless", "msm-pcm-afe",
"msm-lsm-client", "msm-pcm-routing",
"msm-pcm-dsp-noirq";
asoc-cpu = <&dai_pri_auxpcm>, <&dai_hdmi>,
<&dai_mi2s0>, <&dai_mi2s1>,
<&dai_mi2s2>, <&dai_mi2s3>,
<&dai_mi2s4>, <&dai_mi2s5>,
<&sb_0_rx>, <&sb_0_tx>,
<&sb_1_rx>, <&sb_1_tx>,
<&sb_3_rx>, <&sb_3_tx>,
<&sb_4_rx>, <&sb_4_tx>,
<&bt_sco_rx>, <&bt_sco_tx>,
<&bt_a2dp_rx>, <&int_fm_rx>, <&int_fm_tx>,
<&afe_pcm_rx>, <&afe_pcm_tx>,
<&afe_proxy_rx>, <&afe_proxy_tx>,
<&incall_record_rx>, <&incall_record_tx>,
<&incall_music_rx>, <&incall_music_2_rx>;
asoc-cpu-names = "msm-dai-q6-auxpcm.1", "msm-dai-q6-hdmi.8",
"msm-dai-q6-mi2s.0", "msm-dai-q6-mi2s.1",
"msm-dai-q6-mi2s.2", "msm-dai-q6-mi2s.3",
"msm-dai-q6-mi2s.4", "msm-dai-q6-mi2s.6",
"msm-dai-q6-dev.16384", "msm-dai-q6-dev.16385",
"msm-dai-q6-dev.16386", "msm-dai-q6-dev.16387",
"msm-dai-q6-dev.16390", "msm-dai-q6-dev.16391",
"msm-dai-q6-dev.16392", "msm-dai-q6-dev.16393",
"msm-dai-q6-dev.12288", "msm-dai-q6-dev.12289",
"msm-dai-q6-dev.12290",
"msm-dai-q6-dev.12292", "msm-dai-q6-dev.12293",
"msm-dai-q6-dev.224", "msm-dai-q6-dev.225",
"msm-dai-q6-dev.241", "msm-dai-q6-dev.240",
"msm-dai-q6-dev.32771", "msm-dai-q6-dev.32772",
"msm-dai-q6-dev.32773", "msm-dai-q6-dev.32770";
asoc-codec = <&stub_codec>, <&msm_digital_codec>,
<&pmic_analog_codec>;
asoc-codec-names = "msm-stub-codec.1", "msm-dig-codec",
"analog-codec";
};
&pm8909_1 {
pmic_analog_codec: analog-codec@f100 {
status = "okay";
compatible = "qcom,pmic-analog-codec";
reg = <0xf000 0x200>;
#address-cells = <2>;
#size-cells = <0>;
interrupt-parent = <&spmi_bus>;
interrupts =
<0x1 0xf0 0x0 IRQ_TYPE_NONE>,
<0x1 0xf0 0x1 IRQ_TYPE_NONE>,
<0x1 0xf0 0x2 IRQ_TYPE_NONE>,
<0x1 0xf0 0x3 IRQ_TYPE_NONE>,
<0x1 0xf0 0x4 IRQ_TYPE_NONE>,
<0x1 0xf0 0x5 IRQ_TYPE_NONE>,
<0x1 0xf0 0x6 IRQ_TYPE_NONE>,
<0x1 0xf0 0x7 IRQ_TYPE_NONE>,
<0x1 0xf1 0x0 IRQ_TYPE_NONE>,
<0x1 0xf1 0x1 IRQ_TYPE_NONE>,
<0x1 0xf1 0x2 IRQ_TYPE_NONE>,
<0x1 0xf1 0x3 IRQ_TYPE_NONE>,
<0x1 0xf1 0x4 IRQ_TYPE_NONE>,
<0x1 0xf1 0x5 IRQ_TYPE_NONE>;
interrupt-names =
"spk_cnp_int",
"spk_clip_int",
"spk_ocp_int",
"ins_rem_det1",
"but_rel_det",
"but_press_det",
"ins_rem_det",
"mbhc_int",
"ear_ocp_int",
"hphr_ocp_int",
"hphl_ocp_det",
"ear_cnp_int",
"hphr_cnp_int",
"hphl_cnp_int";
cdc-vdda-cp-supply = <&pm8909_s2>;
qcom,cdc-vdda-cp-voltage = <1800000 2200000>;
qcom,cdc-vdda-cp-current = <500000>;
cdc-vdda-h-supply = <&pm8909_l5>;
qcom,cdc-vdda-h-voltage = <1800000 1800000>;
qcom,cdc-vdda-h-current = <5000>;
cdc-vdd-px-supply = <&pm8909_l5>;
qcom,cdc-vdd-px-voltage = <1800000 1800000>;
qcom,cdc-vdd-px-current = <5000>;
cdc-vdd-pa-supply = <&pm8909_s2>;
qcom,cdc-vdd-pa-voltage = <1800000 2200000>;
qcom,cdc-vdd-pa-current = <260000>;
cdc-vdd-mic-bias-supply = <&pm8909_l13>;
qcom,cdc-vdd-mic-bias-voltage = <3075000 3075000>;
qcom,cdc-vdd-mic-bias-current = <5000>;
qcom,cdc-mclk-clk-rate = <9600000>;
qcom,cdc-static-supplies =
"cdc-vdda-h",
"cdc-vdd-px",
"cdc-vdd-pa",
"cdc-vdda-cp";
qcom,cdc-on-demand-supplies = "cdc-vdd-mic-bias";
msm_digital_codec: msm-dig-codec@f000 {
compatible = "qcom,msm-digital-codec";
reg = <0x771c000 0x100>;
};
};
};
&spk_vreg {
status = "okay";
};
&pm8909_conga_dig {
status = "disabled";
};
&pm8909_conga_analog {
status = "disabled";
};
&wcnss {
qcom,wcnss-vadc = <&pm8909_vadc>;
};
&soc {
i2c@78b6000 {
nq@28 {
qcom,nq-clkreq = <&pm8909_gpios 2 0>;
};
};
};
&mdss_dsi {
vdda-supply = <&pm8909_l2>;
vddio-supply = <&pm8909_l6>;
qcom,mdss_dsi_ctrl0@1ac8000 {
vdd-supply = <&pm8909_l17>;
vddio-supply = <&pm8909_l6>;
};
};
&vendor_fstab {
status = "disabled";
};
&system_fstab {
status = "disabled";
};
&dsi_hx8394d_720_vid {
qcom,cont-splash-enabled;
qcom,mdss-dsi-pwm-gpio = <&pm8909_mpps 4 0>;
qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
};
&soc {
qcom,msm-audio-apr {
compatible = "qcom,msm-audio-apr";
msm_audio_apr_dummy {
compatible = "qcom,msm-audio-apr-dummy";
};
};
qcom,avtimer@c0a300c {
compatible = "qcom,avtimer";
reg = <0x0c0a300c 0x4>,
<0x0c0a3010 0x4>;
reg-names = "avtimer_lsb_addr", "avtimer_msb_addr";
qcom,clk-div = <27>;
};
cdc_pri_mi2s_gpios: msm_cdc_pinctrl_pri {
compatible = "qcom,msm-cdc-pinctrl";
pinctrl-names = "aud_active", "aud_sleep";
pinctrl-0 = <&cdc_pdm_lines_act>;
pinctrl-1 = <&cdc_pdm_lines_sus>;
};
cdc_us_euro_gpios: msm_cdc_pinctrl_us_euro {
compatible = "qcom,msm-cdc-pinctrl";
pinctrl-names = "aud_active", "aud_sleep";
pinctrl-0 = <&cross_conn_det_act>;
pinctrl-1 = <&cross_conn_det_sus>;
};
};