Loading Documentation/devicetree/bindings/cache/arm64_cache_erp.txt 0 → 100644 +34 −0 Original line number Diff line number Diff line * ARM Cortex A53 / A57 cache error reporting driver Required properties: - compatible: Should be "arm,arm64-cpu-erp" - interrupts: List of hardware interrupts that may indicate an error condition in the CPU subsystem, or in the L1 / L2 caches. At least one interrupt entry is required. - interrupt-names: Must contain one or more of the following IRQ types: "pri-dbe-irq" - double-bit error interrupt for primary cluster "sec-dbe-irq" - double-bit error interrupt for secondary cluster "pri-ext-irq" - external bus error interrupt for primary cluster "sec-ext-irq" - external bus error interrupt for secondary cluster "cci-irq" - CCI error interrupt. If this property is present, having the 'cci' reg-base defined using the 'reg' property is recommended. At least one irq entry is required. Optional properties: - reg: Should contain physical address of the CCI register space - reg-names: Should contain 'cci'. Must be present if 'reg' property is present - poll-delay-msec: Indicates how often the edac check callback should be called. Time in msec. Example: cpu_cache_erp { compatible = "arm,arm64-cpu-erp"; interrupt-names = "pri-dbe-irq", "sec-dbe-irq", "pri-ext-irq", "sec-ext-irq"; interrupts = <0 92 0>, <0 91 0>, <0 96 0>, <0 95 0>; }; arch/arm/boot/dts/qcom/Makefile +3 −1 Original line number Diff line number Diff line Loading @@ -126,7 +126,9 @@ dtb-$(CONFIG_ARCH_MSMCOBALT) += msmcobalt-sim.dtb \ msmcobalt-v2.1-qrd.dtb \ apqcobalt-v2.1-mtp.dtb \ apqcobalt-v2.1-cdp.dtb \ apqcobalt-v2.1-qrd.dtb apqcobalt-v2.1-qrd.dtb \ msmcobalt-v2.1-interposer-msmfalcon-cdp.dtb \ msmcobalt-v2.1-interposer-msmfalcon-mtp.dtb dtb-$(CONFIG_ARCH_MSMHAMSTER) += msmhamster-rumi.dtb Loading arch/arm/boot/dts/qcom/msmcobalt-interposer-msmfalcon-cdp.dtsi 0 → 100644 +592 −0 Original line number Diff line number Diff line /* Copyright (c) 2016, 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 "msmcobalt-pinctrl.dtsi" #include "msmcobalt-camera-sensor-cdp.dtsi" / { bluetooth: bt_wcn3990 { compatible = "qca,wcn3990"; qca,bt-vdd-io-supply = <&pmcobalt_s3>; qca,bt-vdd-xtal-supply = <&pmcobalt_s5>; qca,bt-vdd-core-supply = <&pmcobalt_l7_pin_ctrl>; qca,bt-vdd-pa-supply = <&pmcobalt_l17_pin_ctrl>; qca,bt-vdd-ldo-supply = <&pmcobalt_l25_pin_ctrl>; qca,bt-chip-pwd-supply = <&pmicobalt_bob_pin1>; clocks = <&clock_gcc clk_rf_clk2>; clock-names = "rf_clk2"; qca,bt-vdd-io-voltage-level = <1352000 1352000>; qca,bt-vdd-xtal-voltage-level = <2040000 2040000>; qca,bt-vdd-core-voltage-level = <1800000 1800000>; qca,bt-vdd-pa-voltage-level = <1304000 1304000>; qca,bt-vdd-ldo-voltage-level = <3312000 3312000>; qca,bt-chip-pwd-voltage-level = <3600000 3600000>; qca,bt-vdd-io-current-level = <1>; /* LPM/PFM */ qca,bt-vdd-xtal-current-level = <1>; /* LPM/PFM */ qca,bt-vdd-core-current-level = <1>; /* LPM/PFM */ qca,bt-vdd-pa-current-level = <1>; /* LPM/PFM */ qca,bt-vdd-ldo-current-level = <1>; /* LPM/PFM */ }; }; &blsp1_uart3_hs { status = "ok"; }; &ufsphy1 { vdda-phy-supply = <&pmcobalt_l1>; vdda-pll-supply = <&pmcobalt_l2>; vddp-ref-clk-supply = <&pmcobalt_l26>; vdda-phy-max-microamp = <51400>; vdda-pll-max-microamp = <14600>; vddp-ref-clk-max-microamp = <100>; vddp-ref-clk-always-on; status = "ok"; }; &ufs1 { vdd-hba-supply = <&gdsc_ufs>; vdd-hba-fixed-regulator; vcc-supply = <&pmcobalt_l20>; vccq-supply = <&pmcobalt_l26>; vccq2-supply = <&pmcobalt_s4>; vcc-max-microamp = <750000>; vccq-max-microamp = <560000>; vccq2-max-microamp = <750000>; status = "ok"; }; &ufs_ice { status = "ok"; }; &sdhc_2 { vdd-supply = <&pmcobalt_l21>; qcom,vdd-voltage-level = <2950000 2960000>; qcom,vdd-current-level = <200 800000>; vdd-io-supply = <&pmcobalt_l13>; qcom,vdd-io-voltage-level = <1808000 2960000>; 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"; }; &uartblsp2dm1 { status = "ok"; pinctrl-names = "default"; pinctrl-0 = <&uart_console_active>; }; &pmcobalt_gpios { /* GPIO 5 for Home Key */ gpio@c400 { status = "okay"; qcom,mode = <0>; qcom,pull = <0>; qcom,vin-sel = <0>; qcom,src-sel = <0>; qcom,out-strength = <1>; }; /* GPIO 6 for Vol+ Key */ gpio@c500 { status = "okay"; qcom,mode = <0>; qcom,pull = <0>; qcom,vin-sel = <0>; qcom,src-sel = <0>; qcom,out-strength = <1>; }; /* GPIO 7 for Snapshot Key */ gpio@c600 { status = "okay"; qcom,mode = <0>; qcom,pull = <0>; qcom,vin-sel = <0>; qcom,src-sel = <0>; qcom,out-strength = <1>; }; /* GPIO 8 for Focus Key */ gpio@c700 { status = "okay"; qcom,mode = <0>; qcom,pull = <0>; qcom,vin-sel = <0>; qcom,src-sel = <0>; qcom,out-strength = <1>; }; gpio@cc00 { /* GPIO 13 */ qcom,mode = <1>; qcom,output-type = <0>; qcom,pull = <5>; qcom,vin-sel = <0>; qcom,out-strength = <1>; qcom,src-sel = <3>; qcom,master-en = <1>; status = "okay"; }; /* GPIO 21 (NFC_CLK_REQ) */ gpio@d400 { qcom,mode = <0>; qcom,vin-sel = <1>; qcom,src-sel = <0>; qcom,master-en = <1>; status = "okay"; }; }; &i2c_5 { status = "okay"; synaptics@20 { compatible = "synaptics,dsx"; reg = <0x20>; interrupt-parent = <&tlmm>; interrupts = <125 0x2008>; vdd-supply = <&pmcobalt_l6>; avdd-supply = <&pmcobalt_l28>; synaptics,vdd-voltage = <1808000 1808000>; synaptics,avdd-voltage = <3008000 3008000>; synaptics,vdd-current = <40000>; synaptics,avdd-current = <20000>; pinctrl-names = "pmx_ts_active", "pmx_ts_suspend"; pinctrl-0 = <&ts_active>; pinctrl-1 = <&ts_int_suspend &ts_reset_suspend>; synaptics,display-coords = <0 0 1439 2559>; synaptics,panel-coords = <0 0 1439 2559>; synaptics,reset-gpio = <&tlmm 89 0x00>; synaptics,irq-gpio = <&tlmm 125 0x2008>; synaptics,disable-gpios; synaptics,fw-name = "PR1702898-s3528t_60QHD_00400001.img"; }; }; &i2c_6 { /* BLSP1 QUP6 (NFC) */ status = "okay"; nq@28 { compatible = "qcom,nq-nci"; reg = <0x28>; qcom,nq-irq = <&tlmm 92 0x00>; qcom,nq-ven = <&tlmm 12 0x00>; qcom,nq-firm = <&tlmm 93 0x00>; qcom,nq-clkreq = <&pmcobalt_gpios 21 0x00>; qcom,nq-esepwr = <&tlmm 116 0x00>; interrupt-parent = <&tlmm>; qcom,clk-src = "BBCLK3"; interrupts = <92 0>; interrupt-names = "nfc_irq"; pinctrl-names = "nfc_active", "nfc_suspend"; pinctrl-0 = <&nfc_int_active &nfc_enable_active>; pinctrl-1 = <&nfc_int_suspend &nfc_enable_suspend>; clocks = <&clock_gcc clk_ln_bb_clk3_pin>; clock-names = "ref_clk"; }; }; &i2c_7 { status = "okay"; qcom,smb138x@8 { compatible = "qcom,i2c-pmic"; reg = <0x8>; #address-cells = <2>; #size-cells = <0>; interrupt-parent = <&spmi_bus>; interrupts = <0x0 0xd1 0x0 IRQ_TYPE_LEVEL_LOW>; interrupt_names = "smb138x"; interrupt-controller; #interrupt-cells = <3>; qcom,periph-map = <0x10 0x11 0x12 0x13 0x14 0x16 0x36>; smb138x_tadc: qcom,tadc@3600 { compatible = "qcom,tadc"; reg = <0x3600 0x100>; interrupts = <0x36 0x0 IRQ_TYPE_EDGE_BOTH>; interrupt-names = "eoc"; batt_therm { qcom,rbias = <68100>; qcom,rtherm-at-25degc = <68000>; qcom,beta-coefficient = <3450>; }; skin_temp { qcom,rbias = <33000>; qcom,rtherm-at-25degc = <68000>; qcom,beta-coefficient = <3450>; }; die_temp { qcom,scale = <(-1032)>; qcom,offset = <344125>; }; batt_i { qcom,channel = <3>; qcom,scale = <20000000>; }; batt_v { qcom,scale = <5000000>; }; input_i { qcom,scale = <14285714>; }; input_v { qcom,scale = <25000000>; }; otg_i { qcom,scale = <5714286>; }; }; }; }; &mdss_mdp { qcom,mdss-pref-prim-intf = "dsi"; }; &mdss_dsi { hw-config = "split_dsi"; }; &mdss_dsi0 { qcom,dsi-pref-prim-pan = <&dsi_dual_nt35597_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-reset-gpio = <&tlmm 94 0>; qcom,platform-te-gpio = <&tlmm 10 0>; qcom,panel-mode-gpio = <&tlmm 91 0>; }; &mdss_dsi1 { qcom,dsi-pref-prim-pan = <&dsi_dual_nt35597_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-reset-gpio = <&tlmm 94 0>; qcom,platform-te-gpio = <&tlmm 10 0>; qcom,panel-mode-gpio = <&tlmm 91 0>; }; &labibb { status = "ok"; qpnp,qpnp-labibb-mode = "lcd"; }; &pmicobalt_wled { qcom,led-strings-list = [00 01]; }; &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,mdss-dsi-mode-sel-gpio-state = "dual_port"; 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,mdss-dsi-mode-sel-gpio-state = "dual_port"; qcom,panel-supply-entries = <&dsi_panel_pwr_supply>; }; &dsi_dual_nt35597_truly_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,mdss-dsi-mode-sel-gpio-state = "dual_port"; qcom,panel-supply-entries = <&dsi_panel_pwr_supply>; }; &dsi_dual_nt35597_truly_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,mdss-dsi-mode-sel-gpio-state = "dual_port"; 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,mdss-dsi-mode-sel-gpio-state = "single_port"; 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,mdss-dsi-mode-sel-gpio-state = "single_port"; qcom,panel-supply-entries = <&dsi_panel_pwr_supply>; }; &dsi_sharp_4k_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_sharp_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_dual_jdi_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,5v-boost-gpio = <&tlmm 51 0>; qcom,panel-supply-entries = <&dsi_panel_pwr_supply>; }; &dsi_dual_jdi_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,5v-boost-gpio = <&tlmm 51 0>; qcom,panel-supply-entries = <&dsi_panel_pwr_supply>; qcom,partial-update-enabled; qcom,panel-roi-alignment = <4 2 4 2 20 20>; }; &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>; }; &dsi_jdi_1080_vid { 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_no_labibb>; qcom,5v-boost-gpio = <&tlmm 51 0>; }; &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>; }; &mdss_hdmi_tx { pinctrl-names = "hdmi_hpd_active", "hdmi_ddc_active", "hdmi_cec_active", "hdmi_active", "hdmi_sleep"; pinctrl-0 = <&mdss_hdmi_5v_active &mdss_hdmi_hpd_active &mdss_hdmi_ddc_suspend &mdss_hdmi_cec_suspend>; pinctrl-1 = <&mdss_hdmi_5v_active &mdss_hdmi_hpd_active &mdss_hdmi_ddc_active &mdss_hdmi_cec_suspend>; pinctrl-2 = <&mdss_hdmi_5v_active &mdss_hdmi_hpd_active &mdss_hdmi_cec_active &mdss_hdmi_ddc_suspend>; pinctrl-3 = <&mdss_hdmi_5v_active &mdss_hdmi_hpd_active &mdss_hdmi_ddc_active &mdss_hdmi_cec_active>; pinctrl-4 = <&mdss_hdmi_5v_suspend &mdss_hdmi_hpd_suspend &mdss_hdmi_ddc_suspend &mdss_hdmi_cec_suspend>; }; &mdss_dp_ctrl { pinctrl-names = "mdss_dp_active", "mdss_dp_sleep"; pinctrl-0 = <&mdss_dp_aux_active &mdss_dp_usbplug_cc_active>; pinctrl-1 = <&mdss_dp_aux_suspend &mdss_dp_usbplug_cc_suspend>; qcom,aux-en-gpio = <&tlmm 77 0>; qcom,aux-sel-gpio = <&tlmm 78 0>; qcom,usbplug-cc-gpio = <&tlmm 38 0>; }; &pmicobalt_charger { qcom,batteryless-platform; }; &pmicobalt_haptics { status = "okay"; }; &pmcobalt_vadc { chan@83 { label = "vph_pwr"; reg = <0x83>; qcom,decimation = <2>; 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@85 { label = "vcoin"; reg = <0x85>; qcom,decimation = <2>; 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@4c { label = "xo_therm"; reg = <0x4c>; qcom,decimation = <2>; 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@4d { label = "msm_therm"; reg = <0x4d>; qcom,decimation = <2>; 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@51 { label = "quiet_therm"; reg = <0x51>; qcom,decimation = <2>; qcom,pre-div-channel-scaling = <0>; qcom,calibration-type = "ratiometric"; qcom,scale-function = <2>; qcom,hw-settle-time = <2>; qcom,fast-avg-setup = <0>; }; }; &pmcobalt_adc_tm { chan@83 { label = "vph_pwr"; reg = <0x83>; qcom,pre-div-channel-scaling = <1>; qcom,calibration-type = "absolute"; qcom,scale-function = <0>; qcom,hw-settle-time = <0>; qcom,btm-channel-number = <0x60>; }; chan@4d { label = "msm_therm"; reg = <0x4d>; qcom,pre-div-channel-scaling = <0>; qcom,calibration-type = "ratiometric"; qcom,scale-function = <2>; qcom,hw-settle-time = <2>; qcom,btm-channel-number = <0x68>; qcom,thermal-node; }; chan@51 { label = "quiet_therm"; reg = <0x51>; qcom,pre-div-channel-scaling = <0>; qcom,calibration-type = "ratiometric"; qcom,scale-function = <2>; qcom,hw-settle-time = <2>; qcom,btm-channel-number = <0x70>; qcom,thermal-node; }; chan@4c { label = "xo_therm"; reg = <0x4c>; qcom,pre-div-channel-scaling = <0>; qcom,calibration-type = "ratiometric"; qcom,scale-function = <4>; qcom,hw-settle-time = <2>; qcom,btm-channel-number = <0x78>; qcom,thermal-node; }; }; &wil6210 { status = "ok"; }; &soc { gpio_keys { compatible = "gpio-keys"; input-name = "gpio-keys"; status = "okay"; home { label = "home"; gpios = <&pmcobalt_gpios 5 0x1>; linux,input-type = <1>; linux,code = <102>; gpio-key,wakeup; debounce-interval = <15>; }; vol_up { label = "volume_up"; gpios = <&pmcobalt_gpios 6 0x1>; linux,input-type = <1>; linux,code = <115>; gpio-key,wakeup; debounce-interval = <15>; }; cam_snapshot { label = "cam_snapshot"; gpios = <&pmcobalt_gpios 7 0x1>; linux,input-type = <1>; linux,code = <766>; gpio-key,wakeup; debounce-interval = <15>; }; cam_focus { label = "cam_focus"; gpios = <&pmcobalt_gpios 8 0x1>; linux,input-type = <1>; linux,code = <528>; gpio-key,wakeup; debounce-interval = <15>; }; }; }; Loading
Documentation/devicetree/bindings/cache/arm64_cache_erp.txt 0 → 100644 +34 −0 Original line number Diff line number Diff line * ARM Cortex A53 / A57 cache error reporting driver Required properties: - compatible: Should be "arm,arm64-cpu-erp" - interrupts: List of hardware interrupts that may indicate an error condition in the CPU subsystem, or in the L1 / L2 caches. At least one interrupt entry is required. - interrupt-names: Must contain one or more of the following IRQ types: "pri-dbe-irq" - double-bit error interrupt for primary cluster "sec-dbe-irq" - double-bit error interrupt for secondary cluster "pri-ext-irq" - external bus error interrupt for primary cluster "sec-ext-irq" - external bus error interrupt for secondary cluster "cci-irq" - CCI error interrupt. If this property is present, having the 'cci' reg-base defined using the 'reg' property is recommended. At least one irq entry is required. Optional properties: - reg: Should contain physical address of the CCI register space - reg-names: Should contain 'cci'. Must be present if 'reg' property is present - poll-delay-msec: Indicates how often the edac check callback should be called. Time in msec. Example: cpu_cache_erp { compatible = "arm,arm64-cpu-erp"; interrupt-names = "pri-dbe-irq", "sec-dbe-irq", "pri-ext-irq", "sec-ext-irq"; interrupts = <0 92 0>, <0 91 0>, <0 96 0>, <0 95 0>; };
arch/arm/boot/dts/qcom/Makefile +3 −1 Original line number Diff line number Diff line Loading @@ -126,7 +126,9 @@ dtb-$(CONFIG_ARCH_MSMCOBALT) += msmcobalt-sim.dtb \ msmcobalt-v2.1-qrd.dtb \ apqcobalt-v2.1-mtp.dtb \ apqcobalt-v2.1-cdp.dtb \ apqcobalt-v2.1-qrd.dtb apqcobalt-v2.1-qrd.dtb \ msmcobalt-v2.1-interposer-msmfalcon-cdp.dtb \ msmcobalt-v2.1-interposer-msmfalcon-mtp.dtb dtb-$(CONFIG_ARCH_MSMHAMSTER) += msmhamster-rumi.dtb Loading
arch/arm/boot/dts/qcom/msmcobalt-interposer-msmfalcon-cdp.dtsi 0 → 100644 +592 −0 Original line number Diff line number Diff line /* Copyright (c) 2016, 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 "msmcobalt-pinctrl.dtsi" #include "msmcobalt-camera-sensor-cdp.dtsi" / { bluetooth: bt_wcn3990 { compatible = "qca,wcn3990"; qca,bt-vdd-io-supply = <&pmcobalt_s3>; qca,bt-vdd-xtal-supply = <&pmcobalt_s5>; qca,bt-vdd-core-supply = <&pmcobalt_l7_pin_ctrl>; qca,bt-vdd-pa-supply = <&pmcobalt_l17_pin_ctrl>; qca,bt-vdd-ldo-supply = <&pmcobalt_l25_pin_ctrl>; qca,bt-chip-pwd-supply = <&pmicobalt_bob_pin1>; clocks = <&clock_gcc clk_rf_clk2>; clock-names = "rf_clk2"; qca,bt-vdd-io-voltage-level = <1352000 1352000>; qca,bt-vdd-xtal-voltage-level = <2040000 2040000>; qca,bt-vdd-core-voltage-level = <1800000 1800000>; qca,bt-vdd-pa-voltage-level = <1304000 1304000>; qca,bt-vdd-ldo-voltage-level = <3312000 3312000>; qca,bt-chip-pwd-voltage-level = <3600000 3600000>; qca,bt-vdd-io-current-level = <1>; /* LPM/PFM */ qca,bt-vdd-xtal-current-level = <1>; /* LPM/PFM */ qca,bt-vdd-core-current-level = <1>; /* LPM/PFM */ qca,bt-vdd-pa-current-level = <1>; /* LPM/PFM */ qca,bt-vdd-ldo-current-level = <1>; /* LPM/PFM */ }; }; &blsp1_uart3_hs { status = "ok"; }; &ufsphy1 { vdda-phy-supply = <&pmcobalt_l1>; vdda-pll-supply = <&pmcobalt_l2>; vddp-ref-clk-supply = <&pmcobalt_l26>; vdda-phy-max-microamp = <51400>; vdda-pll-max-microamp = <14600>; vddp-ref-clk-max-microamp = <100>; vddp-ref-clk-always-on; status = "ok"; }; &ufs1 { vdd-hba-supply = <&gdsc_ufs>; vdd-hba-fixed-regulator; vcc-supply = <&pmcobalt_l20>; vccq-supply = <&pmcobalt_l26>; vccq2-supply = <&pmcobalt_s4>; vcc-max-microamp = <750000>; vccq-max-microamp = <560000>; vccq2-max-microamp = <750000>; status = "ok"; }; &ufs_ice { status = "ok"; }; &sdhc_2 { vdd-supply = <&pmcobalt_l21>; qcom,vdd-voltage-level = <2950000 2960000>; qcom,vdd-current-level = <200 800000>; vdd-io-supply = <&pmcobalt_l13>; qcom,vdd-io-voltage-level = <1808000 2960000>; 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"; }; &uartblsp2dm1 { status = "ok"; pinctrl-names = "default"; pinctrl-0 = <&uart_console_active>; }; &pmcobalt_gpios { /* GPIO 5 for Home Key */ gpio@c400 { status = "okay"; qcom,mode = <0>; qcom,pull = <0>; qcom,vin-sel = <0>; qcom,src-sel = <0>; qcom,out-strength = <1>; }; /* GPIO 6 for Vol+ Key */ gpio@c500 { status = "okay"; qcom,mode = <0>; qcom,pull = <0>; qcom,vin-sel = <0>; qcom,src-sel = <0>; qcom,out-strength = <1>; }; /* GPIO 7 for Snapshot Key */ gpio@c600 { status = "okay"; qcom,mode = <0>; qcom,pull = <0>; qcom,vin-sel = <0>; qcom,src-sel = <0>; qcom,out-strength = <1>; }; /* GPIO 8 for Focus Key */ gpio@c700 { status = "okay"; qcom,mode = <0>; qcom,pull = <0>; qcom,vin-sel = <0>; qcom,src-sel = <0>; qcom,out-strength = <1>; }; gpio@cc00 { /* GPIO 13 */ qcom,mode = <1>; qcom,output-type = <0>; qcom,pull = <5>; qcom,vin-sel = <0>; qcom,out-strength = <1>; qcom,src-sel = <3>; qcom,master-en = <1>; status = "okay"; }; /* GPIO 21 (NFC_CLK_REQ) */ gpio@d400 { qcom,mode = <0>; qcom,vin-sel = <1>; qcom,src-sel = <0>; qcom,master-en = <1>; status = "okay"; }; }; &i2c_5 { status = "okay"; synaptics@20 { compatible = "synaptics,dsx"; reg = <0x20>; interrupt-parent = <&tlmm>; interrupts = <125 0x2008>; vdd-supply = <&pmcobalt_l6>; avdd-supply = <&pmcobalt_l28>; synaptics,vdd-voltage = <1808000 1808000>; synaptics,avdd-voltage = <3008000 3008000>; synaptics,vdd-current = <40000>; synaptics,avdd-current = <20000>; pinctrl-names = "pmx_ts_active", "pmx_ts_suspend"; pinctrl-0 = <&ts_active>; pinctrl-1 = <&ts_int_suspend &ts_reset_suspend>; synaptics,display-coords = <0 0 1439 2559>; synaptics,panel-coords = <0 0 1439 2559>; synaptics,reset-gpio = <&tlmm 89 0x00>; synaptics,irq-gpio = <&tlmm 125 0x2008>; synaptics,disable-gpios; synaptics,fw-name = "PR1702898-s3528t_60QHD_00400001.img"; }; }; &i2c_6 { /* BLSP1 QUP6 (NFC) */ status = "okay"; nq@28 { compatible = "qcom,nq-nci"; reg = <0x28>; qcom,nq-irq = <&tlmm 92 0x00>; qcom,nq-ven = <&tlmm 12 0x00>; qcom,nq-firm = <&tlmm 93 0x00>; qcom,nq-clkreq = <&pmcobalt_gpios 21 0x00>; qcom,nq-esepwr = <&tlmm 116 0x00>; interrupt-parent = <&tlmm>; qcom,clk-src = "BBCLK3"; interrupts = <92 0>; interrupt-names = "nfc_irq"; pinctrl-names = "nfc_active", "nfc_suspend"; pinctrl-0 = <&nfc_int_active &nfc_enable_active>; pinctrl-1 = <&nfc_int_suspend &nfc_enable_suspend>; clocks = <&clock_gcc clk_ln_bb_clk3_pin>; clock-names = "ref_clk"; }; }; &i2c_7 { status = "okay"; qcom,smb138x@8 { compatible = "qcom,i2c-pmic"; reg = <0x8>; #address-cells = <2>; #size-cells = <0>; interrupt-parent = <&spmi_bus>; interrupts = <0x0 0xd1 0x0 IRQ_TYPE_LEVEL_LOW>; interrupt_names = "smb138x"; interrupt-controller; #interrupt-cells = <3>; qcom,periph-map = <0x10 0x11 0x12 0x13 0x14 0x16 0x36>; smb138x_tadc: qcom,tadc@3600 { compatible = "qcom,tadc"; reg = <0x3600 0x100>; interrupts = <0x36 0x0 IRQ_TYPE_EDGE_BOTH>; interrupt-names = "eoc"; batt_therm { qcom,rbias = <68100>; qcom,rtherm-at-25degc = <68000>; qcom,beta-coefficient = <3450>; }; skin_temp { qcom,rbias = <33000>; qcom,rtherm-at-25degc = <68000>; qcom,beta-coefficient = <3450>; }; die_temp { qcom,scale = <(-1032)>; qcom,offset = <344125>; }; batt_i { qcom,channel = <3>; qcom,scale = <20000000>; }; batt_v { qcom,scale = <5000000>; }; input_i { qcom,scale = <14285714>; }; input_v { qcom,scale = <25000000>; }; otg_i { qcom,scale = <5714286>; }; }; }; }; &mdss_mdp { qcom,mdss-pref-prim-intf = "dsi"; }; &mdss_dsi { hw-config = "split_dsi"; }; &mdss_dsi0 { qcom,dsi-pref-prim-pan = <&dsi_dual_nt35597_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-reset-gpio = <&tlmm 94 0>; qcom,platform-te-gpio = <&tlmm 10 0>; qcom,panel-mode-gpio = <&tlmm 91 0>; }; &mdss_dsi1 { qcom,dsi-pref-prim-pan = <&dsi_dual_nt35597_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-reset-gpio = <&tlmm 94 0>; qcom,platform-te-gpio = <&tlmm 10 0>; qcom,panel-mode-gpio = <&tlmm 91 0>; }; &labibb { status = "ok"; qpnp,qpnp-labibb-mode = "lcd"; }; &pmicobalt_wled { qcom,led-strings-list = [00 01]; }; &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,mdss-dsi-mode-sel-gpio-state = "dual_port"; 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,mdss-dsi-mode-sel-gpio-state = "dual_port"; qcom,panel-supply-entries = <&dsi_panel_pwr_supply>; }; &dsi_dual_nt35597_truly_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,mdss-dsi-mode-sel-gpio-state = "dual_port"; qcom,panel-supply-entries = <&dsi_panel_pwr_supply>; }; &dsi_dual_nt35597_truly_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,mdss-dsi-mode-sel-gpio-state = "dual_port"; 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,mdss-dsi-mode-sel-gpio-state = "single_port"; 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,mdss-dsi-mode-sel-gpio-state = "single_port"; qcom,panel-supply-entries = <&dsi_panel_pwr_supply>; }; &dsi_sharp_4k_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_sharp_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_dual_jdi_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,5v-boost-gpio = <&tlmm 51 0>; qcom,panel-supply-entries = <&dsi_panel_pwr_supply>; }; &dsi_dual_jdi_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,5v-boost-gpio = <&tlmm 51 0>; qcom,panel-supply-entries = <&dsi_panel_pwr_supply>; qcom,partial-update-enabled; qcom,panel-roi-alignment = <4 2 4 2 20 20>; }; &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>; }; &dsi_jdi_1080_vid { 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_no_labibb>; qcom,5v-boost-gpio = <&tlmm 51 0>; }; &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>; }; &mdss_hdmi_tx { pinctrl-names = "hdmi_hpd_active", "hdmi_ddc_active", "hdmi_cec_active", "hdmi_active", "hdmi_sleep"; pinctrl-0 = <&mdss_hdmi_5v_active &mdss_hdmi_hpd_active &mdss_hdmi_ddc_suspend &mdss_hdmi_cec_suspend>; pinctrl-1 = <&mdss_hdmi_5v_active &mdss_hdmi_hpd_active &mdss_hdmi_ddc_active &mdss_hdmi_cec_suspend>; pinctrl-2 = <&mdss_hdmi_5v_active &mdss_hdmi_hpd_active &mdss_hdmi_cec_active &mdss_hdmi_ddc_suspend>; pinctrl-3 = <&mdss_hdmi_5v_active &mdss_hdmi_hpd_active &mdss_hdmi_ddc_active &mdss_hdmi_cec_active>; pinctrl-4 = <&mdss_hdmi_5v_suspend &mdss_hdmi_hpd_suspend &mdss_hdmi_ddc_suspend &mdss_hdmi_cec_suspend>; }; &mdss_dp_ctrl { pinctrl-names = "mdss_dp_active", "mdss_dp_sleep"; pinctrl-0 = <&mdss_dp_aux_active &mdss_dp_usbplug_cc_active>; pinctrl-1 = <&mdss_dp_aux_suspend &mdss_dp_usbplug_cc_suspend>; qcom,aux-en-gpio = <&tlmm 77 0>; qcom,aux-sel-gpio = <&tlmm 78 0>; qcom,usbplug-cc-gpio = <&tlmm 38 0>; }; &pmicobalt_charger { qcom,batteryless-platform; }; &pmicobalt_haptics { status = "okay"; }; &pmcobalt_vadc { chan@83 { label = "vph_pwr"; reg = <0x83>; qcom,decimation = <2>; 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@85 { label = "vcoin"; reg = <0x85>; qcom,decimation = <2>; 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@4c { label = "xo_therm"; reg = <0x4c>; qcom,decimation = <2>; 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@4d { label = "msm_therm"; reg = <0x4d>; qcom,decimation = <2>; 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@51 { label = "quiet_therm"; reg = <0x51>; qcom,decimation = <2>; qcom,pre-div-channel-scaling = <0>; qcom,calibration-type = "ratiometric"; qcom,scale-function = <2>; qcom,hw-settle-time = <2>; qcom,fast-avg-setup = <0>; }; }; &pmcobalt_adc_tm { chan@83 { label = "vph_pwr"; reg = <0x83>; qcom,pre-div-channel-scaling = <1>; qcom,calibration-type = "absolute"; qcom,scale-function = <0>; qcom,hw-settle-time = <0>; qcom,btm-channel-number = <0x60>; }; chan@4d { label = "msm_therm"; reg = <0x4d>; qcom,pre-div-channel-scaling = <0>; qcom,calibration-type = "ratiometric"; qcom,scale-function = <2>; qcom,hw-settle-time = <2>; qcom,btm-channel-number = <0x68>; qcom,thermal-node; }; chan@51 { label = "quiet_therm"; reg = <0x51>; qcom,pre-div-channel-scaling = <0>; qcom,calibration-type = "ratiometric"; qcom,scale-function = <2>; qcom,hw-settle-time = <2>; qcom,btm-channel-number = <0x70>; qcom,thermal-node; }; chan@4c { label = "xo_therm"; reg = <0x4c>; qcom,pre-div-channel-scaling = <0>; qcom,calibration-type = "ratiometric"; qcom,scale-function = <4>; qcom,hw-settle-time = <2>; qcom,btm-channel-number = <0x78>; qcom,thermal-node; }; }; &wil6210 { status = "ok"; }; &soc { gpio_keys { compatible = "gpio-keys"; input-name = "gpio-keys"; status = "okay"; home { label = "home"; gpios = <&pmcobalt_gpios 5 0x1>; linux,input-type = <1>; linux,code = <102>; gpio-key,wakeup; debounce-interval = <15>; }; vol_up { label = "volume_up"; gpios = <&pmcobalt_gpios 6 0x1>; linux,input-type = <1>; linux,code = <115>; gpio-key,wakeup; debounce-interval = <15>; }; cam_snapshot { label = "cam_snapshot"; gpios = <&pmcobalt_gpios 7 0x1>; linux,input-type = <1>; linux,code = <766>; gpio-key,wakeup; debounce-interval = <15>; }; cam_focus { label = "cam_focus"; gpios = <&pmcobalt_gpios 8 0x1>; linux,input-type = <1>; linux,code = <528>; gpio-key,wakeup; debounce-interval = <15>; }; }; };