/*
 * Copyright (c) 2014-2017, 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.
 */

&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";
	pinctrl-names =
		"all_off",
		"pri_i2s_act",
		"us_eu_gpio_act",
		"pri_i2s_us_eu_gpio_act";
	pinctrl-0 = <&cdc_pdm_lines_sus &cross_conn_det_sus>;
	pinctrl-1 = <&cdc_pdm_lines_act &cross_conn_det_sus>;
	pinctrl-2 = <&cdc_pdm_lines_sus &cross_conn_det_act>;
	pinctrl-3 = <&cdc_pdm_lines_act &cross_conn_det_act>;
	asoc-codec = <&stub_codec>, <&pm8916_tombak_dig>;
	asoc-codec-names = "msm-stub-codec.1", "cajon_codec";
};

&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_l5>;
	};


	qcom,eeprom@6c{
		cam_vdig-supply = <&pm8916_l5>;
		cam_vana-supply = <&pm8916_l17>;
		cam_vio-supply = <&pm8916_l4>;
		cam_vaf-supply = <&pm8916_l5>;
	};

	qcom,camera@0 {
		cam_vdig-supply = <&pm8916_l5>;
		cam_vana-supply = <&pm8916_l17>;
		cam_vio-supply = <&pm8916_l4>;
		cam_vaf-supply = <&pm8916_l5>;
	};

	qcom,camera@1 {
		cam_vana-supply = <&pm8916_l17>;
		cam_vio-supply = <&pm8916_l4>;
	};
};

&dsi_auo_qvga_cmd {
	qcom,mdss-dsi-pwm-gpio = <&pm8916_mpps 4 0>;
};

&dsi_auo_cx_qvga_cmd {
	qcom,mdss-dsi-pwm-gpio = <&pm8916_mpps 4 0>;
};
&dsi_hx8394d_480_vid {
	qcom,mdss-dsi-pwm-gpio = <&pm8916_mpps 4 0>;
};

&dsi_hx8394d_720_vid {
	qcom,mdss-dsi-pwm-gpio = <&pm8916_mpps 4 0>;
	qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
};

&dsi_hx8394d_qhd_vid {
	qcom,mdss-dsi-pwm-gpio = <&pm8916_mpps 2 0>;
	qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
};

&pm8916_chg {
	status = "ok";
	qcom,charging-disabled;
};

&pm8916_bms {
	status = "disabled";
	qcom,battery-data = <&mtp_batterydata>;
	qcom,batt-aging-comp;
};

&spmi_bus {
	qcom,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>;
			};
		};
	};

	qcom,pm8916@1 {
		qcom,vibrator@c000 {
			status = "okay";
			qcom,vib-timeout-ms = <15000>;
			qcom,vib-vtg-level-mV = <3100>;
		};
	};
};

&pm8916_mpps {
	mpp@a000 { /* MPP 1 */
		/* VDD_PX */
		status = "disabled";
	};

	mpp@a100 { /* MPP 2 */
		/* HR LED */
		status = "disabled";
	};

	mpp@a200 { /* MPP 3 */
		/* VREF DAC */
		status = "disabled";
	};

	mpp@a300 { /* MPP 4 */
		/* 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 */
	};
};

&pm8916_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";
	};
};
