summaryrefslogtreecommitdiff
path: root/arch/arm64/boot/dts/qcom/msm8916-cdp.dtsi
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm64/boot/dts/qcom/msm8916-cdp.dtsi')
-rw-r--r--arch/arm64/boot/dts/qcom/msm8916-cdp.dtsi582
1 files changed, 582 insertions, 0 deletions
diff --git a/arch/arm64/boot/dts/qcom/msm8916-cdp.dtsi b/arch/arm64/boot/dts/qcom/msm8916-cdp.dtsi
new file mode 100644
index 00000000000..afa3684e9da
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/msm8916-cdp.dtsi
@@ -0,0 +1,582 @@
+/* Copyright (c) 2014, 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 "msm8916.dtsi"
+#include "msm8916-pinctrl.dtsi"
+#include "msm8916-camera-sensor-cdp.dtsi"
+
+/ {
+ aliases {
+ serial0 = &blsp1_uart2;
+ };
+};
+
+&soc {
+ i2c@78b9000 { /* BLSP1 QUP5 */
+ synaptics@20 {
+ compatible = "synaptics,rmi4";
+ reg = <0x20>;
+ interrupt-parent = <&msm_gpio>;
+ interrupts = <13 0x2008>;
+ vdd-supply = <&pm8916_l17>;
+ vcc_i2c-supply = <&pm8916_l6>;
+ /* pins used by touchscreen */
+ pinctrl-names = "pmx_ts_active","pmx_ts_suspend","pmx_ts_release";
+ pinctrl-0 = <&ts_int_active &ts_reset_active>;
+ pinctrl-1 = <&ts_int_suspend &ts_reset_suspend>;
+ pinctrl-2 = <&ts_release>;
+ synaptics,irq-gpio = <&msm_gpio 13 0x2008>;
+ synaptics,reset-gpio = <&msm_gpio 12 0x0>;
+ synaptics,i2c-pull-up;
+ synaptics,power-down;
+ synaptics,disable-gpios;
+ synaptics,detect-device;
+ synaptics,device1 {
+ synaptics,package-id = <3202>;
+ synaptics,button-map = <139 172 158>;
+ };
+ synaptics,device2 {
+ synaptics,package-id = <3408>;
+ synaptics,display-coords = <0 0 1079 1919>;
+ synaptics,panel-coords = <0 0 1079 2063>;
+ };
+ };
+ };
+
+ gen-vkeys {
+ compatible = "qcom,gen-vkeys";
+ label = "synaptics_rmi4_i2c";
+ qcom,disp-maxx = <1079>;
+ qcom,disp-maxy = <1919>;
+ qcom,panel-maxx = <1079>;
+ qcom,panel-maxy = <2084>;
+ qcom,key-codes = <158 139 172 217>;
+ };
+
+ i2c@78ba000 { /* BLSP1 QUP6 */
+ nfc-nci@e {
+ compatible = "qcom,nfc-nci";
+ reg = <0x0e>;
+ qcom,irq-gpio = <&msm_gpio 21 0x00>;
+ qcom,dis-gpio = <&msm_gpio 20 0x00>;
+ qcom,clk-src = "BBCLK2";
+ qcom,clk-en-gpio = <&msm_gpio 0 0x00>;
+ interrupt-parent = <&msm_gpio>;
+ interrupts = <21 0>;
+ pinctrl-names = "nfc_active","nfc_suspend";
+ pinctrl-0 = <&nfc_int_active &nfc_disable_active>;
+ pinctrl-1 = <&nfc_int_suspend &nfc_disable_suspend>;
+ qcom,clk-gpio = <&pm8916_gpios 2 0>;
+ clocks = <&clock_rpm clk_bb_clk2_pin>;
+ clock-names = "ref_clk";
+ };
+ };
+
+ i2c@78b6000 { /* BLSP1 QUP2 */
+ mpu6050@68 { /* Gyroscope and accelerometer sensor combo */
+ compatible = "invn,mpu6050";
+ reg = <0x68>;
+ pinctrl-names = "mpu_default","mpu_sleep";
+ pinctrl-0 = <&mpu6050_default>;
+ pinctrl-1 = <&mpu6050_sleep>;
+ interrupt-parent = <&msm_gpio>;
+ interrupts = <115 0x2>;
+ vdd-supply = <&pm8916_l17>;
+ vlogic-supply = <&pm8916_l16>;
+ invn,gpio-int = <&msm_gpio 115 0x2>;
+ invn,place = "Portrait Down Back Side";
+ };
+
+ avago@39 { /* Ambient light and proximity sensor */
+ compatible = "avago,apds9900";
+ reg = <0x39>;
+ pinctrl-names = "default","sleep";
+ pinctrl-0 = <&apds99xx_default>;
+ pinctrl-1 = <&apds99xx_sleep>;
+ interrupt-parent = <&msm_gpio>;
+ interrupts = <113 0x2002>;
+ vdd-supply = <&pm8916_l17>;
+ vio-supply = <&pm8916_l6>;
+ avago,irq-gpio = <&msm_gpio 113 0x2002>;
+ avago,ps-threshold = <600>;
+ avago,ps-hysteresis-threshold = <500>;
+ avago,ps-pulse = <8>;
+ avago,ps-pgain = <0>;
+ avago,als-B = <223>;
+ avago,als-C = <70>;
+ avago,als-D = <142>;
+ avago,ga-value = <48>;
+ };
+
+ akm@c {
+ compatible = "ak,ak8963";
+ reg = <0x0c>;
+ pinctrl-names = "ak8963_default", "ak8963_sleep";
+ pinctrl-0 = <&ak8963_default>;
+ pinctrl-1 = <&ak8963_sleep>;
+ interrupt-parent = <&msm_gpio>;
+ interrupts = <69 0x2>;
+ vdd-supply = <&pm8916_l17>;
+ vio-supply = <&pm8916_l6>;
+ ak,layout = <0x6>;
+ ak,auto-report;
+ };
+ };
+
+ i2c@78b6000 { /* BLSP1 QUP2 */
+ wcd9xxx_codec@14 {
+ compatible = "qcom,wcd9xxx-i2c";
+ reg = <0x0d>;
+ qcom,cdc-reset-gpio = <&msm_gpio 67 0>;
+ interrupt-parent = <&wcd9xxx_intc>;
+ interrupts = <0 1 2 3 4 5 6>, <7 8 9 10 11 12 13>,
+ <14 15 16 17 18 19 20>, <21 22 23 24 25 26 27 28>;
+
+ cdc-vdd-buck-supply = <&pm8916_s4>;
+ qcom,cdc-vdd-buck-voltage = <1800000 2150000>;
+ qcom,cdc-vdd-buck-current = <650000>;
+
+ cdc-vdd-h-supply = <&pm8916_l15>;
+ qcom,cdc-vdd-h-voltage = <1800000 1800000>;
+ qcom,cdc-vdd-h-current = <25000>;
+
+ cdc-vdd-px-supply = <&pm8916_l6>;
+ qcom,cdc-vdd-px-voltage = <1800000 1800000>;
+ qcom,cdc-vdd-px-current = <25000>;
+
+ cdc-vdd-cx-supply = <&pm8916_l2>;
+ qcom,cdc-vdd-cx-voltage = <1200000 1200000>;
+ qcom,cdc-vdd-cx-current = <2000>;
+
+ cdc-vdd-buckhelper-supply = <&pm8916_l15>;
+ qcom,cdc-vdd-buckhelper-voltage = <1775000 2125000>;
+ qcom,cdc-vdd-buckhelper-current = <10000>;
+
+ qcom,cdc-static-supplies = "cdc-vdd-h",
+ "cdc-vdd-px",
+ "cdc-vdd-cx";
+
+ qcom,cdc-cp-supplies = "cdc-vdd-buck",
+ "cdc-vdd-buckhelper";
+
+ qcom,cdc-micbias-ldoh-v = <0x3>;
+ qcom,cdc-micbias-cfilt1-mv = <1800>;
+ qcom,cdc-micbias-cfilt2-mv = <2700>;
+ qcom,cdc-micbias-cfilt3-mv = <1800>;
+
+ qcom,cdc-micbias1-cfilt-sel = <0x0>;
+ qcom,cdc-micbias2-cfilt-sel = <0x1>;
+ qcom,cdc-micbias3-cfilt-sel = <0x2>;
+
+ qcom,cdc-mclk-clk-rate = <9600000>;
+ };
+
+ wcd9xxx_codec@77 {
+ compatible = "qcom,wcd9xxx-i2c";
+ reg = <0x77>;
+ };
+
+ wcd9xxx_codec@66 {
+ compatible = "qcom,wcd9xxx-i2c";
+ reg = <0x66>;
+ };
+
+ wcd9xxx_codec@55 {
+ compatible = "qcom,wcd9xxx-i2c";
+ reg = <0x55>;
+ };
+ };
+
+ sound {
+ compatible = "qcom,msm8x16-audio-codec";
+ qcom,model = "msm8x16-snd-card";
+ qcom,msm-snd-card-id = <0>;
+ qcom,msm-codec-type = "internal";
+ qcom,msm-ext-pa = "primary";
+ qcom,msm-mbhc-hphl-swh = <0>;
+ qcom,msm-mbhc-gnd-swh = <0>;
+ qcom,msm-micbias1-ext-cap;
+ qcom,msm-mclk-freq = <9600000>;
+ qcom,msm-hs-micbias-type = "internal";
+ qcom,audio-routing =
+ "RX_BIAS", "MCLK",
+ "SPK_RX_BIAS", "MCLK",
+ "INT_LDO_H", "MCLK",
+ "MIC BIAS Internal1", "Handset Mic",
+ "MIC BIAS Internal2", "Headset Mic",
+ "MIC BIAS Internal3", "Secondary Mic",
+ "AMIC1", "MIC BIAS Internal1",
+ "AMIC2", "MIC BIAS Internal2",
+ "AMIC3", "MIC BIAS Internal3",
+ "DMIC1", "MIC BIAS Internal1",
+ "MIC BIAS Internal1", "Digital Mic1",
+ "DMIC2", "MIC BIAS Internal1",
+ "MIC BIAS Internal1", "Digital Mic2";
+ pinctrl-names = "cdc_lines_act",
+ "cdc_lines_sus",
+ "cdc_lines_sec_ext_act",
+ "cdc_lines_sec_ext_sus";
+ pinctrl-0 = <&cdc_pdm_lines_act>;
+ pinctrl-1 = <&cdc_pdm_lines_sus>;
+ pinctrl-2 = <&cdc_pdm_lines_act &cdc_ext_pa_act
+ &cdc_ext_pa_ws_act>;
+ pinctrl-3 = <&cdc_pdm_lines_sus &cdc_ext_pa_sus
+ &cdc_ext_pa_ws_sus>;
+ };
+
+ sound-9306 {
+ compatible = "qcom,msm8x16-audio-codec";
+ qcom,model = "msm8x16-tapan-snd-card";
+ qcom,msm-snd-card-id = <1>;
+ qcom,msm-codec-type = "external";
+ qcom,tapan-mclk-clk-freq = <9600000>;
+ qcom,prim-auxpcm-gpio-clk = <&msm_gpio 63 0>;
+ qcom,prim-auxpcm-gpio-sync = <&msm_gpio 64 0>;
+ qcom,prim-auxpcm-gpio-din = <&msm_gpio 65 0>;
+ qcom,prim-auxpcm-gpio-dout = <&msm_gpio 66 0>;
+ qcom,prim-auxpcm-gpio-set = "prim-gpio-prim";
+ qcom,tapan-codec-9302;
+ pinctrl-names = "ext_cdc_tlmm_lines_act",
+ "ext_cdc_tlmm_lines_sus";
+ pinctrl-0 = <&ext_cdc_tlmm_lines_act>;
+ pinctrl-1 = <&ext_cdc_tlmm_lines_sus>;
+ qcom,audio-routing =
+ "RX_BIAS", "MCLK",
+ "LDO_H", "MCLK",
+ "SPK_OUT", "MCLK",
+ "SPK_OUT", "EXT_VDD_SPKR",
+ "AMIC1", "MIC BIAS1 Internal1",
+ "MIC BIAS1 Internal1", "Handset Mic",
+ "AMIC2", "MIC BIAS2 External",
+ "MIC BIAS2 External", "Headset Mic",
+ "AMIC4", "MIC BIAS2 External",
+ "MIC BIAS2 External", "ANCRight Headset Mic",
+ "AMIC5", "MIC BIAS2 External",
+ "MIC BIAS2 External", "ANCLeft Headset Mic",
+ "DMIC1", "MIC BIAS1 External",
+ "MIC BIAS1 External", "Digital Mic1",
+ "DMIC2", "MIC BIAS1 External",
+ "MIC BIAS1 External", "Digital Mic2",
+ "DMIC3", "MIC BIAS3 External",
+ "MIC BIAS3 External", "Digital Mic3",
+ "DMIC4", "MIC BIAS3 External",
+ "MIC BIAS3 External", "Digital Mic4";
+ };
+};
+
+&blsp1_uart2 {
+ status = "ok";
+ pinctrl-names = "default";
+ pinctrl-0 = <&uart_console_sleep>;
+};
+
+&soc {
+ gpio_keys {
+ compatible = "gpio-keys";
+ input-name = "gpio-keys";
+ pinctrl-names = "tlmm_gpio_key_active","tlmm_gpio_key_suspend";
+ pinctrl-0 = <&gpio_key_active>;
+ pinctrl-1 = <&gpio_key_suspend>;
+
+ camera_focus {
+ label = "camera_focus";
+ gpios = <&msm_gpio 108 0x1>;
+ linux,input-type = <1>;
+ linux,code = <0x210>;
+ gpio-key,wakeup;
+ debounce-interval = <15>;
+ };
+
+ camera_snapshot {
+ label = "camera_snapshot";
+ gpios = <&msm_gpio 109 0x1>;
+ linux,input-type = <1>;
+ linux,code = <0x2fe>;
+ gpio-key,wakeup;
+ debounce-interval = <15>;
+ };
+
+ vol_up {
+ label = "volume_up";
+ gpios = <&msm_gpio 107 0x1>;
+ linux,input-type = <1>;
+ linux,code = <115>;
+ gpio-key,wakeup;
+ debounce-interval = <15>;
+ };
+ };
+};
+
+&blsp1_uart1 {
+ status = "ok";
+};
+
+&sdhc_1 {
+ vdd-supply = <&pm8916_l8>;
+ qcom,vdd-voltage-level = <2900000 2900000>;
+ qcom,vdd-current-level = <200 400000>;
+
+ vdd-io-supply = <&pm8916_l5>;
+ qcom,vdd-io-always-on;
+ qcom,vdd-io-lpm-sup;
+ qcom,vdd-io-voltage-level = <1800000 1800000>;
+ qcom,vdd-io-current-level = <200 60000>;
+
+ pinctrl-names = "active", "sleep";
+ pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>;
+ pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>;
+
+ qcom,nonremovable;
+
+ status = "ok";
+};
+
+&sdhc_2 {
+ vdd-supply = <&pm8916_l11>;
+ qcom,vdd-voltage-level = <2800000 2950000>;
+ qcom,vdd-current-level = <15000 400000>;
+
+ vdd-io-supply = <&pm8916_l12>;
+ qcom,vdd-io-voltage-level = <1800000 2950000>;
+ qcom,vdd-io-current-level = <200 50000>;
+
+ 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>;
+
+ #address-cells = <0>;
+ interrupt-parent = <&sdhc_2>;
+ interrupts = <0 1 2>;
+ #interrupt-cells = <1>;
+ interrupt-map-mask = <0xffffffff>;
+ interrupt-map = <0 &intc 0 125 0
+ 1 &intc 0 221 0
+ 2 &msm_gpio 38 0>;
+ interrupt-names = "hc_irq", "pwr_irq", "status_irq";
+ cd-gpios = <&msm_gpio 38 0x1>;
+
+ status = "ok";
+};
+
+&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";
+ };
+};
+
+#include "dsi-panel-jdi-1080p-video.dtsi"
+#include "dsi-panel-nt35590-720p-video.dtsi"
+#include "dsi-panel-nt35590-720p-cmd.dtsi"
+#include "dsi-panel-hx8394d-720p-video.dtsi"
+
+&mdss_mdp {
+ qcom,mdss-pref-prim-intf = "dsi";
+};
+
+&dsi_jdi_1080_vid {
+ qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_pwm";
+ qcom,mdss-dsi-bl-pmic-pwm-frequency = <100>;
+ qcom,mdss-dsi-bl-pmic-bank-select = <0>;
+ qcom,mdss-dsi-pwm-gpio = <&pm8916_mpps 4 0>;
+ qcom,cont-splash-enabled;
+};
+
+&dsi_nt35590_720_vid {
+ qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_pwm";
+ qcom,mdss-dsi-bl-pmic-pwm-frequency = <100>;
+ qcom,mdss-dsi-bl-pmic-bank-select = <0>;
+ qcom,mdss-dsi-pwm-gpio = <&pm8916_mpps 4 0>;
+ qcom,cont-splash-enabled;
+ qcom,esd-check-enabled;
+};
+
+&dsi_nt35590_720_cmd {
+ qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_pwm";
+ qcom,mdss-dsi-bl-pmic-pwm-frequency = <100>;
+ qcom,mdss-dsi-bl-pmic-bank-select = <0>;
+ qcom,mdss-dsi-pwm-gpio = <&pm8916_mpps 4 0>;
+ qcom,cont-splash-enabled;
+ qcom,esd-check-enabled;
+};
+
+&dsi_hx8394d_720_vid {
+ qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_pwm";
+ qcom,mdss-dsi-bl-pmic-pwm-frequency = <100>;
+ qcom,mdss-dsi-bl-pmic-bank-select = <0>;
+ qcom,mdss-dsi-pwm-gpio = <&pm8916_mpps 4 0>;
+ qcom,cont-splash-enabled;
+};
+
+&mdss_dsi_active {
+ pinmux {
+ function = "gpio";
+ pins = "gpio97", "gpio25", "gpio98";
+ };
+ pinconf {
+ pins = "gpio97", "gpio25", "gpio98";
+ };
+};
+
+&mdss_dsi_suspend {
+ pinmux {
+ function = "gpio";
+ pins = "gpio97", "gpio25", "gpio98";
+ };
+ pinconf {
+ pins = "gpio97", "gpio25", "gpio98";
+ };
+};
+
+&mdss_dsi0 {
+ qcom,dsi-pref-prim-pan = <&dsi_jdi_1080_vid>;
+ pinctrl-names = "mdss_default", "mdss_sleep";
+ pinctrl-0 = <&mdss_dsi_active &mdss_te_active>;
+ pinctrl-1 = <&mdss_dsi_suspend &mdss_te_suspend>;
+
+ qcom,platform-enable-gpio = <&msm_gpio 97 0>;
+ qcom,platform-reset-gpio = <&msm_gpio 25 0>;
+ qcom,platform-bklight-en-gpio = <&msm_gpio 98 0>;
+};
+
+/* CoreSight */
+&tpiu {
+ pinctrl-names = "seta-pctrl", "setb-pctrl", "sdcard", "trace",
+ "swduart", "swdtrc", "jtag", "spmi";
+ /* Mictor */
+ pinctrl-0 = <&tpiu_seta>;
+ pinctrl-1 = <&tpiu_setb>;
+ /* NIDnT */
+ pinctrl-2 = <&qdsd_clk_sdcard &qdsd_cmd_sdcard
+ &qdsd_data0_sdcard &qdsd_data1_sdcard
+ &qdsd_data2_sdcard &qdsd_data3_sdcard>;
+ pinctrl-3 = <&qdsd_clk_trace &qdsd_cmd_trace
+ &qdsd_data0_trace &qdsd_data1_trace
+ &qdsd_data2_trace &qdsd_data3_trace>;
+ pinctrl-4 = <&qdsd_cmd_swduart &qdsd_data0_swduart
+ &qdsd_data1_swduart &qdsd_data2_swduart
+ &qdsd_data3_swduart>;
+ pinctrl-5 = <&qdsd_clk_swdtrc &qdsd_cmd_swdtrc
+ &qdsd_data0_swdtrc &qdsd_data1_swdtrc
+ &qdsd_data2_swdtrc &qdsd_data3_swdtrc>;
+ pinctrl-6 = <&qdsd_cmd_jtag &qdsd_data0_jtag
+ &qdsd_data1_jtag &qdsd_data2_jtag
+ &qdsd_data3_jtag>;
+ pinctrl-7 = <&qdsd_clk_spmi &qdsd_cmd_spmi
+ &qdsd_data0_spmi &qdsd_data3_spmi>;
+};
+
+&pm8916_chg {
+ status = "ok";
+ qcom,charging-disabled;
+ qcom,disable-follow-on-reset;
+};
+
+&pm8916_bms {
+ status = "ok";
+ qcom,disable-bms;
+};
+
+&spmi_bus {
+ qcom,pm8916@0 {
+ qcom,leds@a100 {
+ status = "okay";
+ qcom,led_mpp_2 {
+ 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_tzlog {
+ status = "okay";
+};
+
+&qcom_rng {
+ status = "okay";
+};
+
+&qcom_crypto {
+ status = "okay";
+};
+
+&qcom_cedev {
+ status = "okay";
+};
+
+&qcom_seecom {
+ status = "okay";
+};
+
+&spmi_bus {
+ qcom,pm8916@1 {
+ qcom,vibrator@c000 {
+ status = "okay";
+ qcom,vib-timeout-ms = <15000>;
+ qcom,vib-vtg-level-mV = <3100>;
+ };
+ };
+};