blob: c915ae0d38e40a069fbeb013a88d7cae36863836 [file] [log] [blame]
/* Copyright (c) 2014-2018, 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.
*/
#include <dt-bindings/pinctrl/qcom,pmic-mpp.h>
&soc {
i2c@78b9000 {
synaptics@20 {
avdd-supply = <&pm8916_l17>;
vdd-supply = <&pm8916_l6>;
};
};
i2c@78b6000 {
nq@28 {
qcom,nq-clkreq = <&pm8916_gpios 2 0>;
};
};
};
&audio_codec_mtp {
qcom,model = "msm8909-pm8916-snd-card";
asoc-codec = <&stub_codec>, <&msm_dig_codec>, <&pmic_anlg_codec>;
asoc-codec-names = "msm-stub-codec.1", "msm-dig-codec", "analog-codec";
};
&pm8916_1 {
pmic_anlg_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 = <&pm8916_s4>;
qcom,cdc-vdda-cp-voltage = <1800000 2200000>;
qcom,cdc-vdda-cp-current = <770000>;
cdc-vdda-h-supply = <&pm8916_l5>;
qcom,cdc-vdda-h-voltage = <1800000 1800000>;
qcom,cdc-vdda-h-current = <20000>;
cdc-vdd-px-supply = <&pm8916_s4>;
qcom,cdc-vdd-px-voltage = <1800000 2200000>;
qcom,cdc-vdd-px-current = <770000>;
cdc-vdd-pa-supply = <&pm8916_l5>;
qcom,cdc-vdd-pa-voltage = <1800000 1800000>;
qcom,cdc-vdd-pa-current = <5000>;
cdc-vdd-mic-bias-supply = <&pm8916_l13>;
qcom,cdc-vdd-mic-bias-voltage = <3075000 3075000>;
qcom,cdc-vdd-mic-bias-current = <25000>;
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_dig_codec: msm-dig-codec@f000 {
compatible = "qcom,msm-digital-codec";
reg = <0x771c000 0x100>;
};
};
};
&sdhc_1 {
vdd-supply = <&pm8916_l8>;
vdd-io-supply = <&pm8916_l5>;
};
&sdhc_2 {
vdd-supply = <&pm8916_l11>;
vdd-io-supply = <&pm8916_l12>;
};
&i2c_3 {
qcom,actuator@0 {
cam_vaf-supply = <&pm8916_l8>;
};
qcom,eeprom@6c{
cam_vdig-supply = <&pm8916_l2>;
cam_vana-supply = <&pm8916_l10>;
cam_vio-supply = <&pm8916_l6>;
cam_vaf-supply = <&pm8916_l8>;
};
qcom,camera@0 {
cam_vdig-supply = <&pm8916_l2>;
cam_vana-supply = <&pm8916_l10>;
cam_vio-supply = <&pm8916_l6>;
cam_vaf-supply = <&pm8916_l8>;
};
qcom,camera@1 {
cam_vana-supply = <&pm8916_l10>;
cam_vio-supply = <&pm8916_l6>;
};
};
&dsi_hx8394d_720_vid {
qcom,cont-splash-enabled;
qcom,mdss-dsi-pwm-gpio = <&pm8916_mpps 4 0>;
qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
};
&spmi_bus {
pm8916@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>;
};
};
};
pm8916@1 {
qcom,vibrator@c000 {
status = "okay";
qcom,vib-timeout-ms = <15000>;
qcom,vib-vtg-level-mV = <3100>;
};
};
};
&pm8916_mpps {
/* VDD_PX_BIAS_MPP_1 */
vdd_px_bias_mpp {
vdd_px_bias_mpp_default: vdd_px_bias_mpp_default {
pins = "mpp1";
function = "digital";
status = "disabled";
};
};
/* PMIC_MPP_2 */
pmic_mpp {
pmic_mpp_default: pmic_mpp_default {
pins = "mpp2";
function = "digital";
status = "disabled";
};
};
/* VREF_DAC_MPP_3 */
vref_dac_mpp {
vref_dac_mpp_default: vref_dac_mpp_default {
pins = "mpp3";
function = "digital";
status = "disabled";
};
};
/* WLED_PWM_MPP_4 */
wled_pwm_mpp {
wled_pwm_mpp_default: wled_pwm_mpp_default {
pins = "mpp3";
function = "digital";
output-enable;
power-source = <PM8916_MPP_VPH>;
status = "okay";
};
};
};
/* pm8916 gpio pinctrl configuration */
&pm8916_gpios {
/* Battery UICC Alarm */
uim_batt_alarm { /* GPIO 1 */
uim_batt_alarm_default: uim_batt_alarm_default {
pins = "gpio1";
status = "disabled";
};
};
/* GPIO 2 (NFC_CLK_REQ) */
nfc_clk {
nfc_clk_default: nfc_clk_default {
pins = "gpio2";
function = "normal";
input-enable;
status = "disabled";
};
};
/* WCN_LDO_EN_GPIO_3 */
wcn_ldo_en {
wcn_ldo_en_default: wcn_ldo_en_default {
pins = "gpio3";
function = "normal";
output-low;
qcom,drive-strength = <1>;
status = "disabled";
};
};
/* External regulator control for APC */
wcd_eldo_en { /* GPIO 4 */
wcd_eldo_en_default: wcd_eldo_en_default {
pins = "gpio4";
status = "disabled";
};
};
};
&vendor_fstab {
status = "ok";
};
&system_fstab {
status = "disabled";
};