M7350/kernel/arch/arm/boot/dts/qcom/msm8996-cdp.dtsi
2024-09-09 08:57:42 +00:00

796 lines
20 KiB
Plaintext

/* 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-cdp.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>;
};
};
&spi_eth_vreg {
status = "ok";
};
&uartblsp2dm1 {
status = "ok";
pinctrl-names = "default";
pinctrl-0 = <&uart_console_active>;
};
&ufs_ice {
status = "ok";
};
&sdcc1_ice {
status = "ok";
};
&ufsphy1 {
status = "ok";
};
&ufs1 {
status = "ok";
};
&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,ice-clk-rates = <300000000 150000000>;
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";
};
/* CoreSight */
&tpiu {
pinctrl-names = "seta-pctrl", "setb-pctrl";
pinctrl-0 = <&seta_1 &seta_2 &seta_3 &seta_4 &seta_5 &seta_6 &seta_7
&seta_8 &seta_9 &seta_10 &seta_11 &seta_12 &seta_13
&seta_14 &seta_15 &seta_16 &seta_17 &seta_18>;
pinctrl-1 = <&setb_1 &setb_2 &setb_3 &setb_4 &setb_5 &setb_6 &setb_7
&setb_8 &setb_9 &setb_10 &setb_11 &setb_12 &setb_13
&setb_14 &setb_15 &setb_16 &setb_17 &setb_18>;
};
&pmi8994_charger {
qcom,charging-disabled;
};
&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>;
};
chan@7c {
label = "xo_therm_buf";
reg = <0x7c>;
qcom,decimation = <0>;
qcom,pre-div-channel-scaling = <0>;
qcom,calibration-type = "ratiometric";
qcom,scale-function = <4>;
qcom,hw-settle-time = <2>;
qcom,fast-avg-setup = <0>;
};
chan@7c {
label = "xo_therm_buf";
reg = <0x7c>;
qcom,decimation = <0>;
qcom,pre-div-channel-scaling = <0>;
qcom,calibration-type = "ratiometric";
qcom,scale-function = <4>;
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;
};
chan@7c {
label = "xo_therm_buf";
reg = <0x7c>;
qcom,decimation = <0>;
qcom,pre-div-channel-scaling = <0>;
qcom,calibration-type = "ratiometric";
qcom,scale-function = <4>;
qcom,hw-settle-time = <2>;
qcom,fast-avg-setup = <0>;
qcom,btm-channel-number = <0x88>;
qcom,thermal-node;
};
};
&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_sharp_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-te-gpio = <&tlmm 10 0>;
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_sharp_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-te-gpio = <&tlmm 10 0>;
qcom,platform-reset-gpio = <&tlmm 8 0>;
qcom,platform-bklight-en-gpio = <&pm8994_gpios 14 0>;
};
&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>;
};
&labibb {
status = "ok";
qpnp,qpnp-labibb-mode = "lcd";
};
&dsi_dual_sharp_video {
qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
qcom,mdss-dsi-bl-min-level = <1>;
qcom,mdss-dsi-bl-max-level = <4095>;
qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
};
&dsi_dual_nt35597_video {
qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
qcom,mdss-dsi-bl-min-level = <1>;
qcom,mdss-dsi-bl-max-level = <4095>;
qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
};
&dsi_dual_nt35597_cmd {
qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
qcom,mdss-dsi-bl-min-level = <1>;
qcom,mdss-dsi-bl-max-level = <4095>;
qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
qcom,partial-update-enabled;
qcom,panel-roi-alignment = <720 128 720 64 720 64>;
};
&dsi_nt35950_4k_dsc_cmd {
qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
qcom,mdss-dsi-bl-min-level = <1>;
qcom,mdss-dsi-bl-max-level = <4095>;
qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
};
&dsi_nt35597_dsc_video {
qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
qcom,mdss-dsi-bl-min-level = <1>;
qcom,mdss-dsi-bl-max-level = <4095>;
qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
};
&dsi_nt35597_dsc_cmd {
qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
qcom,mdss-dsi-bl-min-level = <1>;
qcom,mdss-dsi-bl-max-level = <4095>;
qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
};
&dsi_dual_sharp_1080_120hz_cmd {
qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
qcom,mdss-dsi-bl-min-level = <1>;
qcom,mdss-dsi-bl-max-level = <4095>;
qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
};
&dsi_dual_jdi_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,5v-boost-gpio = <&pmi8994_gpios 8 0>;
qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
};
&dsi_dual_jdi_cmd {
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,5v-boost-gpio = <&pmi8994_gpios 8 0>;
qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
qcom,partial-update-enabled;
qcom,panel-roi-alignment = <4 2 4 2 20 20>;
};
&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>;
};
&dsi_sharp_1080_cmd {
qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
qcom,mdss-dsi-bl-min-level = <1>;
qcom,mdss-dsi-bl-max-level = <4095>;
qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
};
&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>; /* CMOS 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@c100 { /* GPIO 2 */
qcom,mode = <0>;
qcom,pull = <0>;
qcom,vin-sel = <2>;
qcom,src-sel = <0>;
status = "okay";
};
gpio@c300 { /* GPIO 4 */
qcom,mode = <0>;
qcom,pull = <0>;
qcom,vin-sel = <2>;
qcom,src-sel = <0>;
status = "okay";
};
gpio@c400 { /* GPIO 5 */
qcom,mode = <0>;
qcom,pull = <0>;
qcom,vin-sel = <2>;
qcom,src-sel = <0>;
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@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";
};
};
&soc {
i2c@75ba000 {
synaptics@20 {
compatible = "synaptics,dsx";
reg = <0x20>;
interrupt-parent = <&tlmm>;
interrupts = <125 0x2008>;
vdd-supply = <&pm8994_l14>;
avdd-supply = <&pm8994_l22>;
pinctrl-names = "pmx_ts_active", "pmx_ts_suspend";
pinctrl-0 = <&ts_active>;
pinctrl-1 = <&ts_suspend>;
synaptics,display-coords = <0 0 1599 2559>;
synaptics,panel-coords = <0 0 1599 2703>;
synaptics,reset-gpio = <&tlmm 89 0x00>;
synaptics,irq-gpio = <&tlmm 125 0x2008>;
synaptics,disable-gpios;
synaptics,fw-name = "PR1702898-s3528t_00350002.img";
};
};
gen-vkeys {
compatible = "qcom,gen-vkeys";
label = "synaptics_dsx";
qcom,disp-maxx = <1599>;
qcom,disp-maxy = <2559>;
qcom,panel-maxx = <1599>;
qcom,panel-maxy = <2703>;
qcom,key-codes = <158 139 102 217>;
};
gpio_keys {
compatible = "gpio-keys";
input-name = "gpio-keys";
vol_up {
label = "volume_up";
gpios = <&pm8994_gpios 2 0x1>;
linux,input-type = <1>;
linux,code = <115>;
gpio-key,wakeup;
debounce-interval = <15>;
};
cam_snapshot {
label = "cam_snapshot";
gpios = <&pm8994_gpios 4 0x1>;
linux,input-type = <1>;
linux,code = <766>;
gpio-key,wakeup;
debounce-interval = <15>;
};
cam_focus {
label = "cam_focus";
gpios = <&pm8994_gpios 5 0x1>;
linux,input-type = <1>;
linux,code = <528>;
gpio-key,wakeup;
debounce-interval = <15>;
};
};
sound-9335 {
qcom,model = "msm8996-tasha-cdp-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,us-euro-gpios = <&pm8994_mpps 2 0>;
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";
};
};
&pm8994_mpps {
mpp@a100 { /* MPP 2 */
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 */
status = "okay";
};
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";
};
mpp@a400 { /* MPP 5 */
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 */
status = "okay";
};
};
&pmi8994_gpios {
gpio@c700 { /* GPIO 8, lcd_reg_en, 5V boost */
qcom,mode = <1>;
qcom,vin-sel = <2>;
qcom,src-sel = <0>;
qcom,invert = <1>; /* need invert = 0 */
qcom,master-en = <1>;
status = "okay";
};
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_pwm_4 {
qcom,channel-owner = "lcd_bl";
qcom,lpg-dtest-line = <4>;
qcom,dtest-output = <1>;
status = "okay";
};
&pmi8994_mpps {
mpp@a000 { /* MPP 1 */
qcom,mode = <1>; /* Digital output */
qcom,output-type = <0>; /* CMOS logic */
qcom,vin-sel = <2>; /* 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";
};
};
&pmi8994_haptics {
status = "okay";
};
&blsp1_uart2 {
status = "ok";
};
&usb2s {
status = "disabled";
dwc3@7600000 {
dr_mode = "host";
};
};
&i2c_7 {
silabs4705@11 { /* SiLabs FM chip, slave id 0x11*/
status = "ok";
compatible = "silabs,si4705";
reg = <0x11>;
vdd-supply = <&pm8994_s4>;
silabs,vdd-supply-voltage = <1800000 1800000>;
va-supply = <&rome_vreg>;
silabs,va-supply-voltage = <3300000 3300000>;
pinctrl-names = "pmx_fm_active","pmx_fm_suspend";
pinctrl-0 = <&fm_int_active &fm_status_int_active &fm_rst_active>;
pinctrl-1 = <&fm_int_suspend &fm_status_int_suspend &fm_rst_suspend>;
silabs,reset-gpio = <&tlmm 39 0>;
silabs,int-gpio = <&tlmm 38 0>;
silabs,status-gpio = <&tlmm 78 0>;
#address-cells = <0>;
interrupts = <0 1>;
#interrupt-cells = <1>;
interrupt-map-mask = <0xffffffff>;
interrupt-map = <
0 &tlmm 38 2
1 &tlmm 78 1
>;
interrupt-names = "silabs_fm_int", "silabs_fm_status_int";
};
};
&spi_0 {
ethernet@2 {
compatible = "micrel,ks8851";
reg = <2>;
interrupt-parent = <&tlmm>;
interrupts = <11 0>;
spi-max-frequency = <960000>;
vdd-supply = <&spi_eth_vreg>;
reset-gpios = <&tlmm 79 0>;
};
};
&wil6210 {
status = "ok";
};