diff options
author | JohnnLee <johnnlee@google.com> | 2022-01-05 18:37:44 +0800 |
---|---|---|
committer | JohnnLee <johnnlee@google.com> | 2022-01-05 18:38:18 +0800 |
commit | 0a9d6a7a641c752059414bf71c8821313d91d390 (patch) | |
tree | d757baebb4d172bf452befb0c6b88cb813628bcf | |
parent | 9aa479ab86afd2c5c0114143de441b7b404f3101 (diff) | |
parent | e15a3ffd15056de6bd8f149434d1e5034d957ea5 (diff) | |
download | devicetree-android-msm-redbull-4.19-t-beta-2.tar.gz |
Merge branch 'LA.UM.9.12.C10.11.00.00.840.201' via branch 'qcom-msm-4.19-7250' into android-msm-pixel-4.19android-t-beta-2_r0.3android-msm-redbull-4.19-t-beta-2
Bug: 210578498
Signed-off-by: JohnnLee <johnnlee@google.com>
Change-Id: Ib9f997412e7ba7d0d933f8958ef6ba225e2283bc
146 files changed, 15039 insertions, 966 deletions
@@ -0,0 +1,40 @@ +This NOTICE file contains certain notices of software components included +with the software that Qualcomm Technologies, Inc. ("Qualcomm Technologies") is required to +provide you. Notwithstanding anything in the notices in this file, your use +of these software components together with the Qualcomm Technologies software (Qualcomm Technologies +software hereinafter referred to as "Software") is subject to the terms of +your license from Qualcomm Technologies. Compliance with all copyright laws and software +license agreements included in the notice section of this file are the +responsibility of the user. Except as may be granted by separate express +written agreement, this file provides no license to any patents, +trademarks, copyrights, or other intellectual property. + +Copyright (c) 2021 Qualcomm Technologies, Inc. All rights reserved. +Qualcomm is a registered trademark and registered service mark of +QUALCOMM Incorporated. All other trademarks and service marks are the +property of their respective owners. +________________________________________ +NOTICES +________________________________________ +/* + * Copyright (C) 2008 Shanghai awinic technology co.,ltd. All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS + * IN THE SOFTWARE. + */ diff --git a/bindings/arm/msm/msm.txt b/bindings/arm/msm/msm.txt index 0660e025..c3d4a810 100644 --- a/bindings/arm/msm/msm.txt +++ b/bindings/arm/msm/msm.txt @@ -59,6 +59,9 @@ SoCs: - BENGAL compatible = "qcom,bengal" +- KHAJE + compatible = "qcom,khaje" + - SCUBA compatible = "qcom,scuba" @@ -247,6 +250,9 @@ compatible = "qcom,bengal-qrd" compatible = "qcom,bengal-idp" compatible = "qcom,bengalp" compatible = "qcom,bengalp-idp" +compatible = "qcom,khaje-idp" +compatible = "qcom,khaje-qrd" +compatible = "qcom,khaje-atp" compatible = "qcom,scuba-rumi" compatible = "qcom,scuba-idp" compatible = "qcom,scuba-qrd" diff --git a/bindings/clock/qcom,debugcc.txt b/bindings/clock/qcom,debugcc.txt index 35fcde1f..67a6f450 100644 --- a/bindings/clock/qcom,debugcc.txt +++ b/bindings/clock/qcom,debugcc.txt @@ -5,8 +5,9 @@ Required properties : - compatible: Shall contain "qcom,kona-debugcc", "qcom,lito-debugcc", "qcom,bengal-debugcc", "qcom,lagoon-debugcc" "qcom,sdm660-debugcc" "qcom,sdm429w-debugcc" - "qcom,msm8937-debugcc" "qcom,msm8917-debugcc" - "qcom,sdm429w-debugcc "or "qcom,qm215-debugcc". + "qcom,sdm439-debugcc", "qcom,sdm429-debugcc" + "qcom,qm215-debugcc" or "qcom,khaje-debugcc". + - qcom,gcc: phandle to the GCC device node. - qcom,videocc: phandle to the Video CC device node. - qcom,camcc: phandle to the Camera CC device node. diff --git a/bindings/clock/qcom,dispcc.txt b/bindings/clock/qcom,dispcc.txt index de9da083..725cd3a5 100644 --- a/bindings/clock/qcom,dispcc.txt +++ b/bindings/clock/qcom,dispcc.txt @@ -9,7 +9,8 @@ Required properties : "qcom,lito-dispcc" "qcom,bengal-dispcc" "qcom,lagoon-dispcc" - "qcom,scuba-dispcc". + "qcom,scuba-dispcc" + "qcom,khaje-dispcc". - reg : shall contain base register location and length. - vdd_mm-supply: phandle to the MM_CX rail that needs to be voted on behalf of the clocks. diff --git a/bindings/clock/qcom,gcc.txt b/bindings/clock/qcom,gcc.txt index 2f066cd5..932c0243 100644 --- a/bindings/clock/qcom,gcc.txt +++ b/bindings/clock/qcom,gcc.txt @@ -31,10 +31,12 @@ Required properties : "qcom,gcc-msm8917" "qcom,gcc-msm8937" "qcom,gcc-sdm429w" + "qcom,gcc-sdm450" "qcom,gcc-mdss-msm8937" "qcom,gcc-mdss-qm215" "qcom,gcc-mdss-sdm429w" "qcom,gcc-mdss-sdm439" + "qcom,khaje-gcc" - reg : shall contain base register location and length - #clock-cells : shall contain 1 diff --git a/bindings/clock/qcom,gpucc.txt b/bindings/clock/qcom,gpucc.txt index 0d5a86e5..c9e1a757 100644 --- a/bindings/clock/qcom,gpucc.txt +++ b/bindings/clock/qcom,gpucc.txt @@ -9,7 +9,8 @@ Required properties : "qcom,lagoon-gpucc", "qcom,gpu-sdm660", "qcom,gpucc-sdm660", - "qcom,gpucc-sdm630". + "qcom,gpucc-sdm630", + "qcom,khaje-gpucc". - reg: shall contain base register offset and size. - reg-names: names of registers listed in the same order as in the reg property. diff --git a/bindings/clock/qcom,rpmcc.txt b/bindings/clock/qcom,rpmcc.txt index 2c167462..d99daf4c 100644 --- a/bindings/clock/qcom,rpmcc.txt +++ b/bindings/clock/qcom,rpmcc.txt @@ -20,6 +20,7 @@ Required properties : "qcom,rpmcc-sdm660", "qcom,rpmcc" "qcom,rpmcc-sdm439", "qcom,rpmcc" "qcom,rpmcc-qm215", "qcom,rpmcc" + "qcom,rpmcc-sdm450", "qcom,rpmcc" - #clock-cells : shall contain 1 diff --git a/bindings/cnss/cnss-wlan.txt b/bindings/cnss/cnss-wlan.txt index 8301c02e..3de21e43 100644 --- a/bindings/cnss/cnss-wlan.txt +++ b/bindings/cnss/cnss-wlan.txt @@ -82,6 +82,7 @@ Optional properties: - qcom,bt-en-gpio: QCA6490 requires synchronization for BT and WLAN GPIO enable to resolve PMU power up issues. Provide BT GPIO using this config param. + - qcom,sw-ctrl-gpio: Switch control GPIO for device power control Example: diff --git a/bindings/display/msm/sde.txt b/bindings/display/msm/sde.txt index 00108a47..73c73c15 100644 --- a/bindings/display/msm/sde.txt +++ b/bindings/display/msm/sde.txt @@ -282,6 +282,13 @@ Optional properties: DSPP offsets. Since LTM hardware is represented as part of DSPP block, the LTM offsets are calculated based on the corresponding DSPP base. +- qcom,sde-dspp-rc-version: A u32 value indicating the version of the RC hardware. +- qcom,sde-dspp-rc-off: Array of u32 offsets indicate the RC block offsets from the + DSPP offsets. Since RC hardware is represented as part of + DSPP block, the RC offsets are calculated based on the + corresponding DSPP base. +- qcom,sde-dspp-rc-size: A u32 value indicating the RC block address range. +- qcom,sde-dspp-rc-mem-size: A u32 value indicating the RC block shared memory size. - qcom,sde-vbif-id: Array of vbif ids corresponding to the offsets defined in property: qcom,sde-vbif-off. - qcom,sde-vbif-default-ot-rd-limit: A u32 value indicates the default read OT limit diff --git a/bindings/gpu/adreno.txt b/bindings/gpu/adreno.txt index 390b44c4..0858c6c0 100644 --- a/bindings/gpu/adreno.txt +++ b/bindings/gpu/adreno.txt @@ -140,6 +140,19 @@ Optional Properties: mask - mask for the relevant bits in the efuse register. shift - number of bits to right shift to get the speed bin value. + +- qcom,gpu-speed-bin-vectors: + GPU speed bin vectors property is the series of all the vectors + in format specified below. Values from individual fuses are read, + masked and shifted to form a value. At the end all fuse values + are ordered together to form final speed bin value. + <offset mask shift> + <offset mask shift> + < .. .. .. > + offset - offset of the efuse register from the base. + mask - mask for the relevant bits in the efuse register. + shift - number of bits to right shift. + - qcom,gpu-disable-fuse: GPU disable fuse <offset mask shift> offset - offset of the efuse register from the base. diff --git a/bindings/interrupt-controller/qcom,mpm.txt b/bindings/interrupt-controller/qcom,mpm.txt index f67d2c3f..dce7af96 100644 --- a/bindings/interrupt-controller/qcom,mpm.txt +++ b/bindings/interrupt-controller/qcom,mpm.txt @@ -30,6 +30,7 @@ Properties: "qcom,mpm-gic-bengal" "qcom,mpm-gic-scuba" "qcom,mpm-gic-sdm660" + "qcom,mpm-gic-khaje" - interrupts: Usage: required diff --git a/bindings/leds/leds-aw2016.txt b/bindings/leds/leds-aw2016.txt new file mode 100644 index 00000000..de2c921c --- /dev/null +++ b/bindings/leds/leds-aw2016.txt @@ -0,0 +1,136 @@ +/* + * Copyright (C) 2008 Shanghai awinic technology co.,ltd. All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS + * IN THE SOFTWARE. + */ + +Awinic. AW2016 LED + +AW2016 LED device supports 3 LED channels and the driver +register each channel as a single LED class device and +exports interfaces to update brightness, set timer trigger +and enable HW based blink functionalities. + +- compatible + Usage: required + Value type: <string> + Definition: Must be "awinic,aw2016_led" + +- reg + Usage: required + Value type: <u32> + Definition: The 7-bit I2C address for AW2016 chip. + +Properties for child properties: +- awinic,name + Usage: required + Value type: <string> + Definition: Name of the LED which will be register as the LED class + device name. + +- awinic,id + Usage: required + Value type: <u32> + Definition: It represents the LED hardware channel index. The valid + values are: 0, 1, 2. + +- awinic,imax + Usage: required + Value type: <u32> + Definition: The setting of the maximum current for the given LED channel, + the valid values are: 0, 1, 2, 3, and the corresponding current + setting are: 15mA, 30mA, 5mA, 10mA. + +- awinic,led-current + Usage: required + Value type: <u32> + Definition: The setting of the current when the LED channel is enabled. + +- awinic,max-brightness + Usage: required + Value type: <u32> + Definition: The maximum brightness value for the LED class device. + +- awinic,rise-time-ms + Usage: required + Value type <u32> + Definition: The duration of the led ramping from 0 to maximum brightness + when breath function is enabled. + +- awinic,hold-time-ms + Usage: required + Value type: <u32> + Definition: The duration of the led staying at the maximum brightness + when breath function is enabled. + +- awinic,fall-time-ms + Usage: required + Value type: <u32> + Definition: The duration of the led ramping down from maximum brightness + to 0 when breath function is enabled. + +- awinic,off-time-ms + Usage: required + Value type: <u32> + Definition: The duration of the led staying at 0 brightness when breath + function is enabled. + +Example: + awinic@64 { + compatible = "awinic,aw2016_led"; + reg = <0x64>; + + awinic,red { + awinic,name = "red"; + awinic,id = <0>; + awinic,imax = <2>; + awinic,led-current = <3>; + awinic,max-brightness = <255>; + awinic,rise-time-ms = <6>; + awinic,hold-time-ms = <0>; + awinic,fall-time-ms = <6>; + awinic,off-time-ms = <4>; + }; + + awinic,green { + awinic,name = "green"; + awinic,id = <1>; + awinic,imax = <2>; + awinic,led-current = <3>; + awinic,max-brightness = <255>; + awinic,rise-time-ms = <6>; + awinic,hold-time-ms = <0>; + awinic,fall-time-ms = <6>; + awinic,off-time-ms = <4>; + }; + + awinic,blue { + awinic,name = "blue"; + awinic,id = <2>; + awinic,imax = <2>; + awinic,led-current = <3>; + awinic,max-brightness = <255>; + awinic,rise-time-ms = <6>; + awinic,hold-time-ms = <0>; + awinic,fall-time-ms = <6>; + awinic,off-time-ms = <4>; + }; + }; + diff --git a/bindings/leds/leds-qpnp-flash-v2.txt b/bindings/leds/leds-qpnp-flash-v2.txt index a282b4c8..682f8afb 100644 --- a/bindings/leds/leds-qpnp-flash-v2.txt +++ b/bindings/leds/leds-qpnp-flash-v2.txt @@ -22,6 +22,12 @@ Optional properties: 128, 192. Unit is uS. - qcom,warmup-delay-us : Integer type to specify warm up delay. Valid values are 32, 64, 128, 192. Unit is uS. +- qcom,ramp-up-step : Integer property to specify flash current ramp up time + step. Unit is in nS. Allowed values are: 200, 400, 800, 1600, + 3200, 6400, 12800, 25600. +- qcom,ramp-down-step : Integer property to specify flash current ramp down + time step. Unit is in nS. Allowed values are: 200, 400, 800, 1600, + 3200, 6400, 12800, 25600. - qcom,short-circuit-det : Boolean property which enables short circuit fault detection. - qcom,open-circuit-det : Boolean property which enables open circuit fault detection. - qcom,vph-droop-det : Boolean property which enables VPH droop detection. diff --git a/bindings/pinctrl/qcom,khaje-pinctrl.txt b/bindings/pinctrl/qcom,khaje-pinctrl.txt new file mode 100644 index 00000000..822c0c48 --- /dev/null +++ b/bindings/pinctrl/qcom,khaje-pinctrl.txt @@ -0,0 +1,188 @@ +Qualcomm Technologies, Inc. KHAJE TLMM block + +This binding describes the Top Level Mode Multiplexer block found in the +KHAJE platform. + +- compatible: + Usage: required + Value type: <string> + Definition: must be "qcom,khaje-pinctrl" + +- reg: + Usage: required + Value type: <prop-encoded-array> + Definition: the base address and size of the TLMM register space. + +- interrupts: + Usage: required + Value type: <prop-encoded-array> + Definition: should specify the TLMM summary IRQ. + +- interrupt-controller: + Usage: required + Value type: <none> + Definition: identifies this node as an interrupt controller + +- #interrupt-cells: + Usage: required + Value type: <u32> + Definition: must be 2. Specifying the pin number and flags, as defined + in <dt-bindings/interrupt-controller/irq.h> + +- gpio-controller: + Usage: required + Value type: <none> + Definition: identifies this node as a gpio controller + +- #gpio-cells: + Usage: required + Value type: <u32> + Definition: must be 2. Specifying the pin number and flags, as defined + in <dt-bindings/gpio/gpio.h> + +Please refer to ../gpio/gpio.txt and ../interrupt-controller/interrupts.txt for +a general description of GPIO and interrupt bindings. + +Please refer to pinctrl-bindings.txt in this directory for details of the +common pinctrl bindings used by client devices, including the meaning of the +phrase "pin configuration node". + +The pin configuration nodes act as a container for an arbitrary number of +subnodes. Each of these subnodes represents some desired configuration for a +pin, a group, or a list of pins or groups. This configuration can include the +mux function to select on those pin(s)/group(s), and various pin configuration +parameters, such as pull-up, drive strength, etc. + + +PIN CONFIGURATION NODES: + + +The name of each subnode is not important; all subnodes should be enumerated +and processed purely based on their content. + +Each subnode only affects those parameters that are explicitly listed. In +other words, a subnode that lists a mux function but no pin configuration +parameters implies no information about any pin configuration parameters. +Similarly, a pin subnode that describes a pullup parameter implies no +information about e.g. the mux function. + + +The following generic properties as defined in pinctrl-bindings.txt are valid +to specify in a pin configuration subnode: + +- pins: + Usage: required + Value type: <string-array> + Definition: List of gpio pins affected by the properties specified in + this subnode. + + Valid pins are: + gpio0-gpio112 + Supports mux, bias and drive-strength + + sdc1_clk, sdc1_cmd, sdc1_data sdc2_clk, sdc2_cmd, + sdc2_data sdc1_rclk + Supports bias and drive-strength + +- function: + Usage: required + Value type: <string> + Definition: Specify the alternative function to be configured for the + specified pins. Functions are only valid for gpio pins. + Valid values are: + + blsp_uart1, blsp_spi1, blsp_i2c1, blsp_uim1, atest_tsens, + bimc_dte1, dac_calib0, blsp_spi8, blsp_uart8, blsp_uim8, + qdss_cti_trig_out_b, bimc_dte0, dac_calib1, qdss_cti_trig_in_b, + dac_calib2, atest_tsens2, atest_usb1, blsp_spi10, blsp_uart10, + blsp_uim10, atest_bbrx1, atest_usb13, atest_bbrx0, atest_usb12, + mdp_vsync, edp_lcd, blsp_i2c10, atest_gpsadc1, atest_usb11, + atest_gpsadc0, edp_hot, atest_usb10, m_voc, dac_gpio, atest_char, + cam_mclk, pll_bypassnl, qdss_stm7, blsp_i2c8, qdss_tracedata_b, + pll_reset, qdss_stm6, qdss_stm5, qdss_stm4, atest_usb2, cci_i2c, + qdss_stm3, dac_calib3, atest_usb23, atest_char3, dac_calib4, + qdss_stm2, atest_usb22, atest_char2, qdss_stm1, dac_calib5, + atest_usb21, atest_char1, dbg_out, qdss_stm0, dac_calib6, + atest_usb20, atest_char0, dac_calib10, qdss_stm10, + qdss_cti_trig_in_a, cci_timer4, blsp_spi6, blsp_uart6, blsp_uim6, + blsp2_spi, qdss_stm9, qdss_cti_trig_out_a, dac_calib11, + qdss_stm8, cci_timer0, qdss_stm13, dac_calib7, cci_timer1, + qdss_stm12, dac_calib8, cci_timer2, blsp1_spi, qdss_stm11, + dac_calib9, cci_timer3, cci_async, dac_calib12, blsp_i2c6, + qdss_tracectl_a, dac_calib13, qdss_traceclk_a, dac_calib14, + dac_calib15, hdmi_rcv, dac_calib16, hdmi_cec, pwr_modem, + dac_calib17, hdmi_ddc, pwr_nav, dac_calib18, pwr_crypto, + dac_calib19, hdmi_hot, dac_calib20, dac_calib21, pci_e0, + dac_calib22, dac_calib23, dac_calib24, tsif1_sync, dac_calib25, + sd_write, tsif1_error, blsp_spi2, blsp_uart2, blsp_uim2, + qdss_cti, blsp_i2c2, blsp_spi3, blsp_uart3, blsp_uim3, blsp_i2c3, + uim3, blsp_spi9, blsp_uart9, blsp_uim9, blsp10_spi, blsp_i2c9, + blsp_spi7, blsp_uart7, blsp_uim7, qdss_tracedata_a, blsp_i2c7, + qua_mi2s, gcc_gp1_clk_a, ssc_irq, uim4, blsp_spi11, blsp_uart11, + blsp_uim11, gcc_gp2_clk_a, gcc_gp3_clk_a, blsp_i2c11, cri_trng0, + cri_trng1, cri_trng, qdss_stm18, pri_mi2s, qdss_stm17, blsp_spi4, + blsp_uart4, blsp_uim4, qdss_stm16, qdss_stm15, blsp_i2c4, + qdss_stm14, dac_calib26, spkr_i2s, audio_ref, lpass_slimbus, + isense_dbg, tsense_pwm1, tsense_pwm2, btfm_slimbus, ter_mi2s, + qdss_stm22, qdss_stm21, qdss_stm20, qdss_stm19, gcc_gp1_clk_b, + sec_mi2s, blsp_spi5, blsp_uart5, blsp_uim5, gcc_gp2_clk_b, + gcc_gp3_clk_b, blsp_i2c5, blsp_spi12, blsp_uart12, blsp_uim12, + qdss_stm25, qdss_stm31, blsp_i2c12, qdss_stm30, qdss_stm29, + tsif1_clk, qdss_stm28, tsif1_en, tsif1_data, sdc4_cmd, qdss_stm27, + qdss_traceclk_b, tsif2_error, sdc43, vfr_1, qdss_stm26, tsif2_clk, + sdc4_clk, qdss_stm24, tsif2_en, sdc42, qdss_stm23, qdss_tracectl_b, + sd_card, tsif2_data, sdc41, tsif2_sync, sdc40, mdp_vsync_p_b, + ldo_en, mdp_vsync_s_b, ldo_update, blsp11_uart_tx_b, blsp11_uart_rx_b, + blsp11_i2c_sda_b, prng_rosc, blsp11_i2c_scl_b, uim2, uim1, uim_batt, + pci_e2, pa_indicator, adsp_ext, ddr_bist, qdss_tracedata_11, + qdss_tracedata_12, modem_tsync, nav_dr, nav_pps, pci_e1, gsm_tx, + qspi_cs, ssbi2, ssbi1, mss_lte, qspi_clk, qspi0, qspi1, qspi2, qspi3, + gpio + +- bias-disable: + Usage: optional + Value type: <none> + Definition: The specified pins should be configued as no pull. + +- bias-pull-down: + Usage: optional + Value type: <none> + Definition: The specified pins should be configued as pull down. + +- bias-pull-up: + Usage: optional + Value type: <none> + Definition: The specified pins should be configued as pull up. + +- output-high: + Usage: optional + Value type: <none> + Definition: The specified pins are configured in output mode, driven + high. + Not valid for sdc pins. + +- output-low: + Usage: optional + Value type: <none> + Definition: The specified pins are configured in output mode, driven + low. + Not valid for sdc pins. + +- drive-strength: + Usage: optional + Value type: <u32> + Definition: Selects the drive strength for the specified pins, in mA. + Valid values are: 2, 4, 6, 8, 10, 12, 14 and 16 + +Example: + + tlmm: pinctrl@400000 { + compatible = "qcom,khaje-pinctrl"; + reg = <0x400000 0xc00000>; + interrupts = <0 227 0>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + }; + diff --git a/bindings/power/supply/qcom/qpnp-linear-charger.txt b/bindings/power/supply/qcom/qpnp-linear-charger.txt index e2540015..82ae6b49 100644 --- a/bindings/power/supply/qcom/qpnp-linear-charger.txt +++ b/bindings/power/supply/qcom/qpnp-linear-charger.txt @@ -18,6 +18,8 @@ Parent node required properties: - qcom,vddsafe-mv: Maximum Vdd voltage in mV. - qcom,vinmin-mv: Minimum input voltage in mV. - qcom,ibatsafe-ma: Safety battery current setting +- qcom,v-cutoff-mv: Cutoff voltage where the battery + is considered dead in mV. Parent node optional properties: - qcom,vbatweak-uv: Weak battery voltage threshold in uV, diff --git a/bindings/power/supply/qcom/qpnp-smb5.txt b/bindings/power/supply/qcom/qpnp-smb5.txt index f261dbd6..c1359c1c 100644 --- a/bindings/power/supply/qcom/qpnp-smb5.txt +++ b/bindings/power/supply/qcom/qpnp-smb5.txt @@ -368,9 +368,17 @@ Charger specific properties: Usage: optional Value type: <u32> Definition: Specifies the maximum input current limit that can be configured - for HVDCP2 adapter. + for HVDCP2 adapter when it's working at 5V and 9V. If left unspecified, the default value is 3000mA. +- qcom,hvdcp2-12v-max-icl-ua + Usage: optional + Value type: <u32> + Definition: Specifies the maximum input current limit that can be configured + for HVDCP2 adapter when it's working at 12V. + If left unspecified, the default value is the same value + specified in "qcom,hvdcp2-max-icl-ua". + - qcom,hvdcp3-max-icl-ua Usage: optional Value type: <u32> diff --git a/bindings/power/supply/qcom/smb1398-charger.txt b/bindings/power/supply/qcom/smb1398-charger.txt index 5f1588f6..5764c68d 100644 --- a/bindings/power/supply/qcom/smb1398-charger.txt +++ b/bindings/power/supply/qcom/smb1398-charger.txt @@ -28,6 +28,10 @@ Charger specific properties: mode (auto transition between DIV2 CP and 3-level buck) as a pre-regulator stand between wireless receiver and downstream chargers. + "qcom,smb1394-div2-cp-primary" for SMB1394 working in DIV2 mode as + a primary companion charger. + "qcom,smb1394-div2-cp-secondary" for SMB1394 working in DIV2 mode as + a secondary companion charger. - interrupts Usage: optional diff --git a/bindings/regulator/qcom,pm8008-regulator.txt b/bindings/regulator/qcom,pm8008-regulator.txt index a5cf233d..905194af 100644 --- a/bindings/regulator/qcom,pm8008-regulator.txt +++ b/bindings/regulator/qcom,pm8008-regulator.txt @@ -62,7 +62,7 @@ PM8008 chip regulator specific properties: - compatible: Usage: required Value type: <string> - Definition: must be "qcom,pm8008-regulator" + Definition: must be "qcom,pm8008-regulator" or "qcom,pm8010-regulator" - <pin>-supply: Usage: optional diff --git a/bindings/sound/qcom-audio-dev.txt b/bindings/sound/qcom-audio-dev.txt index 9875cb2c..ffef4409 100644 --- a/bindings/sound/qcom-audio-dev.txt +++ b/bindings/sound/qcom-audio-dev.txt @@ -1873,6 +1873,7 @@ Optional properties: - qcom,rxtx-bolero-codec: Property to specify RX-TX macros supported. - qcom,wsa-bolero-codec: Property to specify WSA macro supported. - qcom,tdm-audio-intf: Property to specify if Aux PCM interface is used for the target +- qcom,wcd-datalane-mismatch: Property to specify if wcd datalane mismatch. Example: bengal_snd: sound { @@ -1885,6 +1886,7 @@ Example: qcom,va-bolero-codec = <1>; qcom,rxtx-bolero-codec = <1>; qcom,tdm-audio-intf = <1>; + qcom,wcd-datalane-mismatch = <1>; asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>, <&loopback>, <&compress>, <&hostless>, @@ -2005,6 +2007,10 @@ Optional properties: - qcom,msm-mi2s-master: This property is used to inform machine driver if MSM is the clock master of mi2s. 1 means master and 0 means slave. The first entry is primary mi2s; the second entry is secondary mi2s, and so on. +- qcom,tdm-clk-attribute: This property is used to set the clock attribute for tdm. + The first entry is primary tdm; the second entry is secondary tdm, and so on. +- qcom,mi2s-clk-attribute: This property is used to set the clock attribute for mi2s. + The first entry is primary mi2s; the second entry is secondary mi2s, and so on. - qcom,msm-mbhc-hphl-swh: This property is used to distinguish headset HPHL switch type on target typically the switch type will be normally open or normally close, value for this property 0 for normally close and 1 for @@ -2151,6 +2157,27 @@ Example: }; +Required properties: +- compatible : "qcom,spf-core-platform" + +Required properties: +- compatible : "qcom,audio-pkt-core-platform" + +Required properties: +- compatible : "qcom,gpr" + +Required properties: +- compatible : "qcom,spf_core" + +Required properties: +- compatible : "qcom,audio-pkt" + +Required properties: +- compatible : "qcom,audio_prm" + +Required properties: +- compatible : "qcom,voice_mhi_gpr" + * LITO ASoC Machine driver Required properties: diff --git a/bindings/thermal/qcom,rpm-smd-cdev.txt b/bindings/thermal/qcom,rpm-smd-cdev.txt new file mode 100644 index 00000000..0a5da03c --- /dev/null +++ b/bindings/thermal/qcom,rpm-smd-cdev.txt @@ -0,0 +1,27 @@ +Qualcomm Technologies, Inc. RPM SMD cooling device + +The RPM shared memory(SMD) cooling device, will be used to set +different thermal band level to RPM hardware. When threshold violation +occurs, RPM SMD cooling device sends pre-configured thermal band level +to RPM hardware via SMD. + +Required Parameters: +- compatible: + Usage: required + Value type: <string> + Definition: should be "qcom,rpm-smd-cooling-device" + +- #cooling-cells: + Usage: required + Value type: <integer> + Definition: Must be 2. This is required by of-thermal and refer the doc + <devicetree/bindings/thermal/thermal.txt> for more details. + +Example: + +&rpm_bus { + rpm_smd_cdev: rpm-smd-cdev { + compatible = "qcom,rpm-smd-cooling-device"; + #cooling-cells = <2>; + }; +}; diff --git a/bindings/vendor-prefixes.txt b/bindings/vendor-prefixes.txt index e2f0ec8a..a9ca78a7 100644 --- a/bindings/vendor-prefixes.txt +++ b/bindings/vendor-prefixes.txt @@ -52,6 +52,7 @@ avago Avago Technologies avia avia semiconductor avic Shanghai AVIC Optoelectronics Co., Ltd. avnet Avnet, Inc. +awinic Shanghai Awinic Electronic Technology Co., LTD. axentia Axentia Technologies AB axis Axis Communications AB bananapi BIPAI KEJI LIMITED diff --git a/qcom/Makefile b/qcom/Makefile index 82469d56..6d723dcb 100644 --- a/qcom/Makefile +++ b/qcom/Makefile @@ -4,18 +4,21 @@ ifeq ($(CONFIG_BUILD_ARM64_DT_OVERLAY),y) dtbo-$(CONFIG_ARCH_KONA) += \ kona-cdp-overlay.dtbo \ kona-cdp-lcd-overlay.dtbo \ + kona-cdp-lcd-tron-overlay.dtbo \ kona-mtp-overlay.dtbo \ kona-mtp-ws-overlay.dtbo \ kona-sa-mtp-overlay.dtbo \ kona-xr-overlay.dtbo \ kona-rumi-overlay.dtbo \ kona-qrd-overlay.dtbo \ - kona-xrfusion-overlay.dtbo \ - kona-xrfusion-ult-overlay.dtbo \ + kona-xrfusion-overlay.dtbo \ + kona-xrfusion-ult-overlay.dtbo \ + kona-arglass-overlay.dtbo \ kona-hdk-overlay.dtbo kona-cdp-overlay.dtbo-base := kona.dtb kona-v2.dtb kona-v2.1.dtb kona-cdp-lcd-overlay.dtbo-base := kona.dtb kona-v2.dtb kona-v2.1.dtb +kona-cdp-lcd-tron-overlay.dtbo-base := kona.dtb kona-v2.dtb kona-v2.1.dtb kona-mtp-overlay.dtbo-base := kona.dtb kona-v2.dtb kona-v2.1.dtb kona-mtp-ws-overlay.dtbo-base := kona.dtb kona-v2.dtb kona-v2.1.dtb kona-sa-mtp-overlay.dtbo-base := kona.dtb kona-v2.dtb kona-v2.1.dtb @@ -24,6 +27,7 @@ kona-rumi-overlay.dtbo-base := kona.dtb kona-v2.dtb kona-v2.1.dtb kona-qrd-overlay.dtbo-base := kona.dtb kona-v2.dtb kona-v2.1.dtb kona-xrfusion-overlay.dtbo-base := kona.dtb kona-v2.dtb kona-v2.1.dtb kona-xrfusion-ult-overlay.dtbo-base := kona.dtb kona-v2.dtb kona-v2.1.dtb +kona-arglass-overlay.dtbo-base := kona.dtb kona-v2.dtb kona-v2.1.dtb kona-hdk-overlay.dtbo-base := kona.dtb kona-v2.dtb kona-v2.1.dtb else dtb-$(CONFIG_ARCH_KONA) += kona-rumi.dtb \ @@ -31,10 +35,12 @@ dtb-$(CONFIG_ARCH_KONA) += kona-rumi.dtb \ kona-mtp-ws.dtb \ kona-mtp-sa.dtb \ kona-xr.dtb \ - kona-xrfusion.dtb \ - kona-xrfusion-ult.dtb \ + kona-xrfusion.dtb \ + kona-xrfusion-ult.dtb \ + kona-arglass.dtb \ kona-cdp.dtb \ kona-cdp-lcd.dtb \ + kona-cdp-lcd-tron.dtb \ kona-qrd.dtb \ kona-v2-rumi.dtb \ kona-v2-mtp.dtb \ @@ -42,8 +48,9 @@ dtb-$(CONFIG_ARCH_KONA) += kona-rumi.dtb \ kona-v2-mtp-sa.dtb \ kona-v2-cdp.dtb \ kona-v2-qrd.dtb \ - kona-v2-xrfusion.dtb \ - kona-v2-xrfusion-ult.dtb \ + kona-v2-xrfusion.dtb \ + kona-v2-xrfusion-ult.dtb \ + kona-v2-arglass.dtb \ kona-hdk.dtb \ kona-v2.1-mtp.dtb \ kona-v2.1-mtp-ws.dtb \ @@ -51,9 +58,11 @@ dtb-$(CONFIG_ARCH_KONA) += kona-rumi.dtb \ kona-v2.1-cdp.dtb \ kona-v2.1-qrd.dtb \ kona-v2.1-hdk.dtb \ - kona-v2.1-xrfusion.dtb \ - kona-v2.1-xrfusion-ult.dtb \ + kona-v2.1-xrfusion.dtb \ + kona-v2.1-xrfusion-ult.dtb \ + kona-v2.1-arglass.dtb \ qrb5165-iot-rb5.dtb \ + qrb5165n-iot-rb5.dtb \ kona-v2.1-iot-rb5.dtb endif @@ -186,7 +195,8 @@ dtb-$(CONFIG_ARCH_BENGAL) += bengal-rumi.dtb \ bengal-iot-idp-usbc.dtb \ bengalp-iot-idp-2gb.dtb \ bengalp-iot-idp-usbc-2gb.dtb \ - bengalp-iot-idp-usbc.dtb + bengalp-iot-idp-usbc.dtb \ + bengalp-iot-idp-2gb.dtb endif ifeq ($(CONFIG_BUILD_ARM64_DT_OVERLAY),y) @@ -231,6 +241,42 @@ dtb-$(CONFIG_ARCH_SCUBA) += scuba-rumi.dtb \ endif ifeq ($(CONFIG_BUILD_ARM64_DT_OVERLAY),y) + dtbo-$(CONFIG_ARCH_KHAJE) += \ + khaje-idp-overlay.dtbo \ + khaje-qrd-overlay.dtbo \ + khaje-qrd-hvdcp3p5-overlay.dtbo \ + khaje-qrd-nowcd9375-overlay.dtbo \ + khaje-idp-nopmi-overlay.dtbo \ + khaje-idp-usbc-overlay.dtbo \ + khaje-idp-pm8010-overlay.dtbo \ + khaje-qrd-nopmi-overlay.dtbo \ + khaje-idps-display-90hz-overlay.dtbo \ + khaje-atp-overlay.dtbo + +khaje-idp-overlay.dtbo-base := khaje.dtb +khaje-qrd-overlay.dtbo-base := khaje.dtb +khaje-qrd-hvdcp3p5-overlay.dtbo-base := khaje.dtb +khaje-qrd-nowcd9375-overlay.dtbo-base := khaje.dtb +khaje-idp-nopmi-overlay.dtbo-base := khaje.dtb +khaje-idp-usbc-overlay.dtbo-base := khaje.dtb +khaje-idp-pm8010-overlay.dtbo-base := khaje.dtb +khaje-qrd-nopmi-overlay.dtbo-base := khaje.dtb +khaje-idps-display-90hz-overlay.dtbo-base := khaje.dtb +khaje-atp-overlay.dtbo-base := khaje.dtb +else +dtb-$(CONFIG_ARCH_KHAJE) += khaje-idp.dtb \ + khaje-qrd.dtb \ + khaje-qrd-hvdcp3p5.dtb \ + khaje-qrd-nowcd9375.dtb \ + khaje-idp-nopmi.dtb \ + khaje-idp-usbc.dtb \ + khaje-idp-pm8010.dtb \ + khaje-qrd-nopmi.dtb \ + khaje-idps-display-90hz.dtb \ + khaje-atp.dtb +endif + +ifeq ($(CONFIG_BUILD_ARM64_DT_OVERLAY),y) dtbo-$(CONFIG_ARCH_SDM660) += \ sdm660-mtp-external-codec-overlay.dtbo \ sdm660-mtp-internal-codec-overlay.dtbo \ diff --git a/qcom/bengal-coresight.dtsi b/qcom/bengal-coresight.dtsi index c5b6c25a..5bd4d1dd 100644 --- a/qcom/bengal-coresight.dtsi +++ b/qcom/bengal-coresight.dtsi @@ -1289,6 +1289,8 @@ clocks = <&rpmcc RPM_SMD_QDSS_CLK>; clock-names = "apb_pclk"; + coresight-ctis = <&cti0>; + coresight-csr = <&csr>; ports { #address-cells = <1>; #size-cells = <0>; diff --git a/qcom/bengal-pinctrl.dtsi b/qcom/bengal-pinctrl.dtsi index 6b3126e2..b322d1af 100644 --- a/qcom/bengal-pinctrl.dtsi +++ b/qcom/bengal-pinctrl.dtsi @@ -1183,7 +1183,7 @@ pm8008_interrupt: pm8008_interrupt { mux { - pins = "gpior25"; + pins = "gpio25"; function = "gpio"; }; diff --git a/qcom/bengal-qrd-nopmi.dtsi b/qcom/bengal-qrd-nopmi.dtsi new file mode 100644 index 00000000..413bac37 --- /dev/null +++ b/qcom/bengal-qrd-nopmi.dtsi @@ -0,0 +1,24 @@ +#include "bengal-qrd.dtsi" + +&led_flash_rear { + /delete-property/ flash-source; + /delete-property/ torch-source; + /delete-property/ switch-source; +}; + +&led_flash_rear_aux { + /delete-property/ flash-source; + /delete-property/ torch-source; + /delete-property/ switch-source; +}; + +&led_flash_rear_aux2 { + /delete-property/ flash-source; + /delete-property/ torch-source; + /delete-property/ switch-source; +}; + +&sde_dsi { + /delete-property/ lab-supply; + /delete-property/ ibb-supply; +}; diff --git a/qcom/bengal-qrd-overlay.dts b/qcom/bengal-qrd-overlay.dts index b2dff929..3d020cf5 100644 --- a/qcom/bengal-qrd-overlay.dts +++ b/qcom/bengal-qrd-overlay.dts @@ -1,8 +1,9 @@ /dts-v1/; /plugin/; -#include "bengal-pmi632.dtsi" #include "bengal-qrd.dtsi" +#include "bengal-qrd-pmi632.dtsi" +#include "bengal-thermal-pmi632-overlay.dtsi" / { model = "Qualcomm Technologies, Inc. Bengal QRD"; diff --git a/qcom/bengal-qrd-pmi632.dtsi b/qcom/bengal-qrd-pmi632.dtsi new file mode 100644 index 00000000..706b1f9c --- /dev/null +++ b/qcom/bengal-qrd-pmi632.dtsi @@ -0,0 +1,94 @@ +#include "bengal-pmi632.dtsi" + +&soc { + qrd_batterydata: qcom,battery-data { + qcom,batt-id-range-pct = <15>; + #include "qg-batterydata-atl466271_3300mAh.dtsi" + }; +}; + +&pmi632_qg { + qcom,battery-data = <&qrd_batterydata>; + qcom,qg-iterm-ma = <100>; + qcom,hold-soc-while-full; + qcom,linearize-soc; + qcom,qg-use-s7-ocv; +}; + +&pmi632_charger { + qcom,battery-data = <&qrd_batterydata>; + qcom,suspend-input-on-debug-batt; + qcom,sw-jeita-enable; + qcom,step-charging-enable; + /* SMB1355 only */ + qcom,sec-charger-config = <2>; + qcom,hvdcp2-max-icl-ua = <2000000>; + dpdm-supply = <&qusb_phy0>; + qcom,charger-temp-max = <800>; + qcom,smb-temp-max = <800>; + qcom,auto-recharge-soc = <98>; + qcom,flash-disable-soc = <10>; + qcom,hw-die-temp-mitigation; + qcom,hw-connector-mitigation; + qcom,connector-internal-pull-kohm = <100>; + qcom,float-option = <1>; + qcom,thermal-mitigation = <4200000 3500000 3000000 + 2500000 2000000 1500000 1000000 500000>; +}; + +&pmi632_gpios { + smb_en { + smb_en_default: smb_en_default { + pins = "gpio2"; + function = "func1"; + output-enable; + }; + }; + + pmi632_sense { + /* GPIO 7 and 8 are external-sense pins for PMI632 */ + pmi632_sense_default: pmi632_sense_default { + pins = "gpio7", "gpio8"; + bias-high-impedance; /* disable the GPIO */ + bias-disable; /* no-pull */ + }; + }; + + pmi632_ctm { + /* Disable GPIO1 for h/w base mitigation */ + pmi632_ctm_default: pmi632_ctm_default { + pins = "gpio1"; + bias-high-impedance; /* disable the GPIO */ + bias-disable; /* no-pull */ + }; + }; +}; + +&usb0 { + extcon = <&pmi632_charger>, <&eud>; +}; + +&smb1355 { + pinctrl-names = "default"; + pinctrl-0 = <&smb_int_default>; + interrupt-parent = <&tlmm>; + interrupts = <105 IRQ_TYPE_LEVEL_LOW>; + status = "ok"; +}; + +&smb1355_charger { + pinctrl-names = "default"; + pinctrl-0 = <&smb_en_default &pmi632_sense_default &pmi632_ctm_default>; + qcom,parallel-mode = <1>; + qcom,disable-ctm; + qcom,hw-die-temp-mitigation; + status = "ok"; +}; + +&dsi_td4330_truly_v2_video { + qcom,platform-bklight-en-gpio = <&pmi632_gpios 6 0>; +}; + +&dsi_td4330_truly_v2_cmd { + qcom,platform-bklight-en-gpio = <&pmi632_gpios 6 0>; +}; diff --git a/qcom/bengal-qrd.dts b/qcom/bengal-qrd.dts index d80d65e2..bb526083 100644 --- a/qcom/bengal-qrd.dts +++ b/qcom/bengal-qrd.dts @@ -1,8 +1,9 @@ /dts-v1/; #include "bengal.dtsi" -#include "bengal-pmi632.dtsi" #include "bengal-qrd.dtsi" +#include "bengal-qrd-pmi632.dtsi" +#include "bengal-thermal-pmi632-overlay.dtsi" / { model = "Qualcomm Technologies, Inc. Bengal QRD"; diff --git a/qcom/bengal-qrd.dtsi b/qcom/bengal-qrd.dtsi index 851535cf..2f457586 100644 --- a/qcom/bengal-qrd.dtsi +++ b/qcom/bengal-qrd.dtsi @@ -2,7 +2,6 @@ #include <dt-bindings/iio/qcom,spmi-vadc.h> #include <dt-bindings/input/input.h> #include "bengal-thermal-overlay.dtsi" -#include "bengal-thermal-pmi632-overlay.dtsi" #include "bengal-audio-overlay.dtsi" #include "bengal-sde-display.dtsi" #include "camera/bengal-camera-sensor-qrd.dtsi" @@ -12,70 +11,6 @@ #include "smb1355.dtsi" }; -&soc { - qrd_batterydata: qcom,battery-data { - qcom,batt-id-range-pct = <15>; - #include "qg-batterydata-atl466271_3300mAh.dtsi" - }; -}; - -&pmi632_qg { - qcom,battery-data = <&qrd_batterydata>; - qcom,qg-iterm-ma = <100>; - qcom,hold-soc-while-full; - qcom,linearize-soc; - qcom,qg-use-s7-ocv; -}; - -&pmi632_charger { - qcom,battery-data = <&qrd_batterydata>; - qcom,suspend-input-on-debug-batt; - qcom,sw-jeita-enable; - qcom,step-charging-enable; - /* SMB1355 only */ - qcom,sec-charger-config = <2>; - qcom,hvdcp2-max-icl-ua = <2000000>; - dpdm-supply = <&qusb_phy0>; - qcom,charger-temp-max = <800>; - qcom,smb-temp-max = <800>; - qcom,auto-recharge-soc = <98>; - qcom,flash-disable-soc = <10>; - qcom,hw-die-temp-mitigation; - qcom,hw-connector-mitigation; - qcom,connector-internal-pull-kohm = <100>; - qcom,float-option = <1>; - qcom,thermal-mitigation = <4200000 3500000 3000000 - 2500000 2000000 1500000 1000000 500000>; -}; - -&pmi632_gpios { - smb_en { - smb_en_default: smb_en_default { - pins = "gpio2"; - function = "func1"; - output-enable; - }; - }; - - pmi632_sense { - /* GPIO 7 and 8 are external-sense pins for PMI632 */ - pmi632_sense_default: pmi632_sense_default { - pins = "gpio7", "gpio8"; - bias-high-impedance; /* disable the GPIO */ - bias-disable; /* no-pull */ - }; - }; - - pmi632_ctm { - /* Disable GPIO1 for h/w base mitigation */ - pmi632_ctm_default: pmi632_ctm_default { - pins = "gpio1"; - bias-high-impedance; /* disable the GPIO */ - bias-disable; /* no-pull */ - }; - }; -}; - &pm6125_gpios { key_vol_up { key_vol_up_default: key_vol_up_default { @@ -88,10 +23,6 @@ }; }; -&usb0 { - extcon = <&pmi632_charger>, <&eud>; -}; - &qusb_phy0 { qcom,qusb-phy-init-seq = <0xf8 0x80 0xb3 0x84 @@ -261,23 +192,6 @@ }; }; -&smb1355 { - pinctrl-names = "default"; - pinctrl-0 = <&smb_int_default>; - interrupt-parent = <&tlmm>; - interrupts = <105 IRQ_TYPE_LEVEL_LOW>; - status = "ok"; -}; - -&smb1355_charger { - pinctrl-names = "default"; - pinctrl-0 = <&smb_en_default &pmi632_sense_default &pmi632_ctm_default>; - qcom,parallel-mode = <1>; - qcom,disable-ctm; - qcom,hw-die-temp-mitigation; - status = "ok"; -}; - &ufsphy_mem { compatible = "qcom,ufs-phy-qmp-v3-660"; @@ -319,7 +233,6 @@ qcom,mdss-dsi-bl-min-level = <1>; qcom,mdss-dsi-bl-max-level = <4095>; qcom,platform-reset-gpio = <&tlmm 82 0>; - qcom,platform-bklight-en-gpio = <&pmi632_gpios 6 0>; }; &dsi_td4330_truly_v2_cmd { @@ -331,7 +244,6 @@ qcom,mdss-dsi-bl-max-level = <4095>; qcom,platform-te-gpio = <&tlmm 81 0>; qcom,platform-reset-gpio = <&tlmm 82 0>; - qcom,platform-bklight-en-gpio = <&pmi632_gpios 6 0>; }; &sde_dsi { diff --git a/qcom/bengal-thermal.dtsi b/qcom/bengal-thermal.dtsi index 8f0ba2c0..0cc49b16 100644 --- a/qcom/bengal-thermal.dtsi +++ b/qcom/bengal-thermal.dtsi @@ -957,6 +957,30 @@ }; }; + mapss-lowc { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "low_limits_cap"; + thermal-sensors = <&tsens0 0>; + wake-capable-sensor; + tracks-low; + + trips { + mapss_cap_trip: mapss-cap-trip { + temperature = <5000>; + hysteresis = <5000>; + type = "passive"; + }; + }; + + cooling-maps { + lmh_cpu_cdev { + trip = <&mapss_cap_trip>; + cooling-device = <&lmh_cpu_vdd 1 1>; + }; + }; + }; + mapss-lowf { polling-delay-passive = <0>; polling-delay = <0>; @@ -996,16 +1020,16 @@ }; }; - mapss-lowc { + camera-lowc { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "low_limits_cap"; - thermal-sensors = <&tsens0 0>; + thermal-sensors = <&tsens0 3>; wake-capable-sensor; tracks-low; trips { - mapss_cap_trip: mapss-cap-trip { + camera_cap_trip: camera-cap-trip { temperature = <5000>; hysteresis = <5000>; type = "passive"; @@ -1014,7 +1038,7 @@ cooling-maps { lmh_cpu_cdev { - trip = <&mapss_cap_trip>; + trip = <&camera_cap_trip>; cooling-device = <&lmh_cpu_vdd 1 1>; }; }; @@ -1059,30 +1083,6 @@ }; }; - camera-lowc { - polling-delay-passive = <0>; - polling-delay = <0>; - thermal-governor = "low_limits_cap"; - thermal-sensors = <&tsens0 3>; - wake-capable-sensor; - tracks-low; - - trips { - camera_cap_trip: camera-cap-trip { - temperature = <5000>; - hysteresis = <5000>; - type = "passive"; - }; - }; - - cooling-maps { - lmh_cpu_cdev { - trip = <&camera_cap_trip>; - cooling-device = <&lmh_cpu_vdd 1 1>; - }; - }; - }; - quiet-therm-step { polling-delay-passive = <2000>; polling-delay = <0>; diff --git a/qcom/bengal-usb.dtsi b/qcom/bengal-usb.dtsi index f079a776..f3f2d38b 100644 --- a/qcom/bengal-usb.dtsi +++ b/qcom/bengal-usb.dtsi @@ -88,6 +88,7 @@ snps,dis_enblslpm_quirk; snps,has-lpm-erratum; snps,hird-threshold = /bits/ 8 <0x10>; + snps,usb3-u1u2-disable; snps,usb3_lpm_capable; usb-core-id = <0>; maximum-speed = "super-speed"; diff --git a/qcom/dsi-panel-arglass-seeya-dual-1080p-video.dtsi b/qcom/dsi-panel-arglass-seeya-dual-1080p-video.dtsi new file mode 100644 index 00000000..4525814b --- /dev/null +++ b/qcom/dsi-panel-arglass-seeya-dual-1080p-video.dtsi @@ -0,0 +1,100 @@ +&mdss_mdp { + dsi_dual_arglass_seeya_video: qcom,mdss_dsi_arglass_seeya_video { + qcom,mdss-dsi-panel-name = + "sy049wdm02 uoled video mode dsi seeya panel with DSC"; + qcom,mdss-dsi-panel-type = "dsi_video_mode"; + qcom,dsi-ctrl-num = <0 1>; + qcom,dsi-phy-num = <0 1>; + + qcom,mdss-dsi-virtual-channel-id = <0>; + qcom,mdss-dsi-stream = <0>; + qcom,mdss-dsi-bpp = <24>; + qcom,mdss-dsi-border-color = <0>; + qcom,mdss-dsi-traffic-mode = "non_burst_sync_event"; + qcom,mdss-dsi-bllp-eof-power-mode; + qcom,mdss-dsi-bllp-power-mode; + qcom,mdss-dsi-lane-0-state; + qcom,mdss-dsi-lane-1-state; + qcom,mdss-dsi-lane-2-state; + qcom,mdss-dsi-lane-3-state; + qcom,mdss-dsi-dma-trigger = "trigger_sw"; + qcom,mdss-dsi-mdp-trigger = "none"; + qcom,mdss-dsi-reset-sequence = <1 20>, <0 20>, <1 50>; + qcom,adjust-timer-wakeup-ms = <1>; + qcom,mdss-dsi-panel-hdr-enabled; + qcom,mdss-dsi-panel-hdr-color-primaries = <14500 15500 32000 + 17000 15500 30000 8000 3000>; + qcom,mdss-dsi-panel-peak-brightness = <4200000>; + qcom,mdss-dsi-panel-blackness-level = <3230>; + + qcom,mdss-dsi-display-timings { + timing@0 { + qcom,mdss-dsi-panel-width = <1920>; + qcom,mdss-dsi-panel-height = <1080>; + qcom,mdss-dsi-h-front-porch = <88>; + qcom,mdss-dsi-h-back-porch = <148>; + qcom,mdss-dsi-h-pulse-width = <44>; + qcom,mdss-dsi-h-sync-skew = <0>; + qcom,mdss-dsi-v-back-porch = <36>; + qcom,mdss-dsi-v-front-porch = <5>; + qcom,mdss-dsi-v-pulse-width = <5>; + qcom,mdss-dsi-h-left-border = <0>; + qcom,mdss-dsi-panel-framerate = <60>; + qcom,mdss-dsi-on-command = [ + 39 01 00 00 00 00 02 53 29 + 39 01 00 00 00 00 03 51 FF 01 + 39 01 00 00 00 00 02 03 00 + 39 01 00 00 00 00 07 80 00 E0 E0 0E 00 31 + 39 01 00 00 00 00 08 81 03 04 00 29 00 05 00 + 39 01 00 00 00 00 08 82 03 04 00 29 00 05 01 + 39 01 00 00 00 00 02 35 00 + 39 01 00 00 00 00 02 26 20 + /* CMD2 P1 */ + 39 01 00 00 00 00 03 F0 AA 11 + 39 01 00 00 00 00 02 C0 00 + 39 01 00 00 00 00 0C C2 03 FF 03 FF 03 FF 03 FF 82 00 00 + /* CMD2 P2 */ + 39 01 00 00 00 00 03 F0 AA 12 + 39 01 00 00 00 00 03 BF 37 A9 + /* H mirror dsi1 */ + 39 01 00 00 00 00 03 FF 5A 80 + 39 01 00 00 00 00 02 65 2F + 39 01 00 00 00 00 02 F2 01 + 39 01 00 00 00 00 02 36 02 + /* V mirror dsi0 */ + 39 01 00 04 00 00 03 FF 5A 80 + 39 01 00 04 00 00 02 65 2F + 39 01 00 04 00 00 02 F2 01 + 39 01 00 04 00 00 02 36 01 + 39 01 00 04 00 00 03 F0 AA 13 + 39 01 00 04 00 00 02 65 01 + 39 01 00 04 00 00 02 C1 A2 + 39 01 00 04 00 00 07 C4 12 53 64 31 42 56 + 39 01 00 04 00 00 03 F0 AA 16 + 39 01 00 04 00 00 07 B6 12 53 64 31 42 56 + 39 01 00 04 00 00 03 B0 00 55 + /* CMD3 P0 */ + 39 01 00 00 00 00 03 FF 5A 80 + 39 01 00 00 00 00 02 65 2F + 39 01 00 00 00 00 02 F2 01 + /* CMD3 P1 */ + 39 01 00 00 00 00 03 FF 5A 81 + 39 01 00 00 00 00 02 65 05 + 39 01 00 00 00 00 02 F2 22 + 39 01 00 00 00 00 02 65 0A + 39 01 00 00 00 00 02 F2 00 + 39 01 00 00 00 00 02 65 16 + 39 01 00 00 00 00 0F F9 01 5F 61 64 67 6A 6D 6F 75 7B 80 86 8B 91 + 05 01 00 00 cb 00 02 11 00 + 05 01 00 00 00 00 02 29 00 + 39 01 00 00 00 00 03 F0 AA 11 + ]; + qcom,mdss-dsi-off-command = [05 01 00 00 0a 00 + 02 28 00 05 01 00 00 3c 00 02 10 00]; + + qcom,mdss-dsi-on-command-state = "dsi_lp_mode"; + qcom,mdss-dsi-off-command-state = "dsi_hs_mode"; + }; + }; + }; +}; diff --git a/qcom/dsi-panel-nt36672e-fhd-plus-120hz-video.dtsi b/qcom/dsi-panel-nt36672e-fhd-plus-120hz-video.dtsi new file mode 100644 index 00000000..26624076 --- /dev/null +++ b/qcom/dsi-panel-nt36672e-fhd-plus-120hz-video.dtsi @@ -0,0 +1,334 @@ +&mdss_mdp { + dsi_nt36672e_fhd_plus_120hz_video: qcom,mdss_dsi_nt36672e_fhd_plus_120hz_video { + qcom,mdss-dsi-panel-name = + "nt36672e fhd plus 120Hz Video panel"; + qcom,mdss-dsi-panel-type = "dsi_video_mode"; + qcom,dsi-ctrl-num = <0>; + qcom,dsi-phy-num = <0>; + qcom,mdss-dsi-virtual-channel-id = <0>; + qcom,mdss-dsi-stream = <0>; + qcom,mdss-dsi-bpp = <24>; + qcom,mdss-dsi-border-color = <0>; + qcom,mdss-dsi-traffic-mode = "burst_mode"; + qcom,mdss-dsi-bllp-power-mode; + qcom,mdss-dsi-bllp-eof-power-mode; + qcom,mdss-dsi-lane-0-state; + qcom,mdss-dsi-lane-1-state; + qcom,mdss-dsi-lane-2-state; + qcom,mdss-dsi-lane-3-state; + qcom,mdss-dsi-dma-trigger = "trigger_sw"; + qcom,mdss-dsi-mdp-trigger = "none"; + qcom,mdss-dsi-reset-sequence = <1 10>, <0 10>, <1 10>; + qcom,mdss-dsi-tx-eot-append; + qcom,adjust-timer-wakeup-ms = <1>; + qcom,mdss-dsi-panel-hdr-enabled; + qcom,mdss-dsi-panel-hdr-color-primaries = <15000 16000 33750 + 15800 13250 34450 7500 3000>; + qcom,mdss-dsi-panel-peak-brightness = <6450000>; + qcom,mdss-dsi-panel-blackness-level = <4961>; + + qcom,mdss-dsi-display-timings { + timing@0 { + qcom,mdss-dsi-panel-width = <1080>; + qcom,mdss-dsi-panel-height = <2408>; + qcom,mdss-dsi-h-front-porch = <76>; + qcom,mdss-dsi-h-back-porch = <60>; + qcom,mdss-dsi-h-pulse-width = <10>; + qcom,mdss-dsi-h-sync-skew = <0>; + qcom,mdss-dsi-v-back-porch = <10>; + qcom,mdss-dsi-v-front-porch = <46>; + qcom,mdss-dsi-v-pulse-width = <10>; + qcom,mdss-dsi-panel-framerate = <120>; + qcom,mdss-dsi-on-command = [ + 15 01 00 00 00 00 02 FB 01 + 15 01 00 00 00 00 02 B0 00 + 15 01 00 00 00 00 02 C0 03 + 39 01 00 00 00 00 11 C1 89 28 00 08 00 AA 02 0E 00 2B 00 07 + 0D B7 0C B7 + 39 01 00 00 00 00 03 C2 1B A0 + 15 01 00 00 00 00 02 FF 20 + 15 01 00 00 00 00 02 FB 01 + 15 01 00 00 00 00 02 01 66 + 15 01 00 00 00 00 02 06 40 + 15 01 00 00 00 00 02 07 38 + 15 01 00 00 00 00 02 2F 83 + 15 01 00 00 00 00 02 69 91 + 15 01 00 00 00 00 02 95 D1 + 15 01 00 00 00 00 02 96 D1 + 15 01 00 00 00 00 02 F2 64 + 15 01 00 00 00 00 02 F4 64 + 15 01 00 00 00 00 02 F6 64 + 15 01 00 00 00 00 02 F8 64 + + 15 01 00 00 00 00 02 89 1C + 15 01 00 00 00 00 02 8A 1C + 15 01 00 00 00 00 02 8B 1C + 15 01 00 00 00 00 02 8C 1C + + 15 01 00 00 00 00 02 FF 24 + 15 01 00 00 00 00 02 FB 01 + 15 01 00 00 00 00 02 01 0F + 15 01 00 00 00 00 02 03 0C + 15 01 00 00 00 00 02 05 1D + + 15 01 00 00 00 00 02 08 2F + 15 01 00 00 00 00 02 09 2E + 15 01 00 00 00 00 02 0A 2D + 15 01 00 00 00 00 02 0B 2C + + 15 01 00 00 00 00 02 11 17 + 15 01 00 00 00 00 02 12 13 + 15 01 00 00 00 00 02 13 15 + 15 01 00 00 00 00 02 15 14 + 15 01 00 00 00 00 02 16 16 + 15 01 00 00 00 00 02 17 18 + 15 01 00 00 00 00 02 1B 01 + 15 01 00 00 00 00 02 1D 1D + + 15 01 00 00 00 00 02 20 2F + 15 01 00 00 00 00 02 21 2E + 15 01 00 00 00 00 02 22 2D + 15 01 00 00 00 00 02 23 2C + + 15 01 00 00 00 00 02 29 17 + 15 01 00 00 00 00 02 2A 13 + 15 01 00 00 00 00 02 2B 15 + 15 01 00 00 00 00 02 2F 14 + 15 01 00 00 00 00 02 30 16 + 15 01 00 00 00 00 02 31 18 + 15 01 00 00 00 00 02 32 04 + 15 01 00 00 00 00 02 34 10 + 15 01 00 00 00 00 02 35 1F + 15 01 00 00 00 00 02 36 1F + 15 01 00 00 00 00 02 4D 14 + 15 01 00 00 00 00 02 4E 36 + 15 01 00 00 00 00 02 4F 36 + 15 01 00 00 00 00 02 53 36 + 15 01 00 00 00 00 02 71 30 + 15 01 00 00 00 00 02 79 11 + 15 01 00 00 00 00 02 7A 82 + 15 01 00 00 00 00 02 7B 8F + 15 01 00 00 00 00 02 7D 04 + 15 01 00 00 00 00 02 80 04 + 15 01 00 00 00 00 02 81 04 + 15 01 00 00 00 00 02 82 13 + 15 01 00 00 00 00 02 84 31 + 15 01 00 00 00 00 02 85 00 + 15 01 00 00 00 00 02 86 00 + 15 01 00 00 00 00 02 87 00 + + 15 01 00 00 00 00 02 90 13 + 15 01 00 00 00 00 02 92 31 + 15 01 00 00 00 00 02 93 00 + 15 01 00 00 00 00 02 94 00 + 15 01 00 00 00 00 02 95 00 + 15 01 00 00 00 00 02 9C F4 + 15 01 00 00 00 00 02 9D 01 + 15 01 00 00 00 00 02 A0 0F + 15 01 00 00 00 00 02 A2 0F + 15 01 00 00 00 00 02 A3 02 + 15 01 00 00 00 00 02 A4 04 + 15 01 00 00 00 00 02 A5 04 + 15 01 00 00 00 00 02 C4 40 + 15 01 00 00 00 00 02 C6 C0 + 15 01 00 00 00 00 02 C9 00 + 15 01 00 00 00 00 02 D9 80 + 15 01 00 00 00 00 02 E9 02 + + 15 01 00 00 00 00 02 FF 25 + 15 01 00 00 00 00 02 FB 01 + 15 01 00 00 00 00 02 19 E4 + 15 01 00 00 00 00 02 21 40 + 15 01 00 00 00 00 02 66 D8 + 15 01 00 00 00 00 02 68 50 + 15 01 00 00 00 00 02 69 10 + 15 01 00 00 00 00 02 6B 00 + 15 01 00 00 00 00 02 6D 0D + 15 01 00 00 00 00 02 6E 48 + + 15 01 00 00 00 00 02 72 41 + 15 01 00 00 00 00 02 73 4A + 15 01 00 00 00 00 02 74 D0 + 15 01 00 00 00 00 02 77 62 + 15 01 00 00 00 00 02 79 81 + 15 01 00 00 00 00 02 7D 03 + 15 01 00 00 00 00 02 7E 15 + 15 01 00 00 00 00 02 7F 00 + 15 01 00 00 00 00 02 84 4D + 15 01 00 00 00 00 02 CF 80 + 15 01 00 00 00 00 02 D6 80 + 15 01 00 00 00 00 02 D7 80 + 15 01 00 00 00 00 02 EF 20 + 15 01 00 00 00 00 02 F0 84 + + 15 01 00 00 00 00 02 FF 26 + 15 01 00 00 00 00 02 FB 01 + 15 01 00 00 00 00 02 80 05 + 15 01 00 00 00 00 02 81 0F + 15 01 00 00 00 00 02 83 01 + 15 01 00 00 00 00 02 84 03 + 15 01 00 00 00 00 02 85 01 + 15 01 00 00 00 00 02 86 03 + 15 01 00 00 00 00 02 87 01 + 15 01 00 00 00 00 02 88 05 + 15 01 00 00 00 00 02 8A 1A + 15 01 00 00 00 00 02 8B 11 + 15 01 00 00 00 00 02 8C 24 + 15 01 00 00 00 00 02 8E 42 + 15 01 00 00 00 00 02 8F 11 + 15 01 00 00 00 00 02 90 11 + 15 01 00 00 00 00 02 91 11 + 15 01 00 00 00 00 02 9A 80 + 15 01 00 00 00 00 02 9B 04 + 15 01 00 00 00 00 02 9C 00 + 15 01 00 00 00 00 02 9D 00 + 15 01 00 00 00 00 02 9E 00 + + 15 01 00 00 00 00 02 FF 27 + 15 01 00 00 00 00 02 FB 01 + 15 01 00 00 00 00 02 01 68 + 15 01 00 00 00 00 02 20 81 + 15 01 00 00 00 00 02 21 6A + 15 01 00 00 00 00 02 25 81 + 15 01 00 00 00 00 02 26 94 + 15 01 00 00 00 00 02 6E 00 + 15 01 00 00 00 00 02 6F 00 + 15 01 00 00 00 00 02 70 00 + 15 01 00 00 00 00 02 71 00 + 15 01 00 00 00 00 02 72 00 + 15 01 00 00 00 00 02 75 00 + 15 01 00 00 00 00 02 76 00 + 15 01 00 00 00 00 02 77 00 + 15 01 00 00 00 00 02 7D 09 + 15 01 00 00 00 00 02 7E 67 + 15 01 00 00 00 00 02 80 23 + 15 01 00 00 00 00 02 82 09 + 15 01 00 00 00 00 02 83 67 + 15 01 00 00 00 00 02 88 01 + 15 01 00 00 00 00 02 89 10 + 15 01 00 00 00 00 02 A5 10 + 15 01 00 00 00 00 02 A6 23 + 15 01 00 00 00 00 02 A7 01 + 15 01 00 00 00 00 02 B6 40 + + 15 01 00 00 00 00 02 FF 2A + 15 01 00 00 00 00 02 FB 01 + 15 01 00 00 00 00 02 00 91 + 15 01 00 00 00 00 02 03 20 + 15 01 00 00 00 00 02 07 50 + 15 01 00 00 00 00 02 0A 70 + 15 01 00 00 00 00 02 0C 04 + 15 01 00 00 00 00 02 0D 40 + 15 01 00 00 00 00 02 0F 01 + 15 01 00 00 00 00 02 11 E0 + 15 01 00 00 00 00 02 15 0F + 15 01 00 00 00 00 02 16 A4 + 15 01 00 00 00 00 02 19 0F + 15 01 00 00 00 00 02 1A 78 + 15 01 00 00 00 00 02 1B 23 + 15 01 00 00 00 00 02 1D 36 + 15 01 00 00 00 00 02 1E 3E + 15 01 00 00 00 00 02 1F 3E + 15 01 00 00 00 00 02 20 3E + 15 01 00 00 00 00 02 28 FD + 15 01 00 00 00 00 02 29 12 + 15 01 00 00 00 00 02 2A E1 + 15 01 00 00 00 00 02 2D 0A + 15 01 00 00 00 00 02 30 49 + 15 01 00 00 00 00 02 33 96 + 15 01 00 00 00 00 02 34 FF + 15 01 00 00 00 00 02 35 40 + 15 01 00 00 00 00 02 36 DE + 15 01 00 00 00 00 02 37 F9 + 15 01 00 00 00 00 02 38 45 + 15 01 00 00 00 00 02 39 D9 + 15 01 00 00 00 00 02 3A 49 + 15 01 00 00 00 00 02 4A F0 + + 15 01 00 00 00 00 02 FF 20 + 15 01 00 00 00 00 02 FB 01 + 39 01 00 00 00 00 11 B0 00 00 00 17 00 46 00 63 00 81 00 96 + 00 AB 00 BD + 39 01 00 00 00 00 11 B1 00 CF 01 03 01 2F 01 6E 01 9D 01 E7 + 02 22 02 24 + 39 01 00 00 00 00 11 B2 02 5D 02 9B 02 C4 02 F9 03 1B 03 48 + 03 56 03 65 + 39 01 00 00 00 00 0F B3 03 75 03 87 03 9B 03 B1 03 CA 03 D7 + 00 00 + 39 01 00 00 00 00 11 B4 00 00 00 19 00 4B 00 69 00 87 00 9C + 00 B2 00 C3 + 39 01 00 00 00 00 11 B5 00 D5 01 0B 01 35 01 73 01 A3 01 EC + 02 27 02 29 + 39 01 00 00 00 00 11 B6 02 60 02 9F 02 C7 02 FB 03 1D 03 4C + 03 5A 03 69 + 39 01 00 00 00 00 0F B7 03 7A 03 8C 03 A0 03 B5 03 CB 03 D7 + 00 00 + 39 01 00 00 00 00 11 B8 00 00 00 19 00 4D 00 6A 00 87 00 9C + 00 B1 00 C2 + 39 01 00 00 00 00 11 B9 00 D3 01 08 01 32 01 70 01 9F 01 E8 + 02 23 02 25 + 39 01 00 00 00 00 11 BA 02 5C 02 9B 02 C3 02 F8 03 1A 03 4C + 03 5B 03 6B + 39 01 00 00 00 00 0F BB 03 7D 03 92 03 A7 03 BB 03 CE 03 D7 + 00 00 + + 15 01 00 00 00 00 02 FF 21 + 15 01 00 00 00 00 02 FB 01 + 39 01 00 00 00 00 11 B0 00 00 00 17 00 46 00 63 00 81 00 96 + 00 AB 00 BD + 39 01 00 00 00 00 11 B1 00 CF 01 03 01 2F 01 6E 01 9D 01 E7 + 02 22 02 24 + 39 01 00 00 00 00 11 B2 02 5D 02 9B 02 C4 02 F9 03 1B 03 48 + 03 56 03 65 + 39 01 00 00 00 00 0F B3 03 75 03 87 03 9B 03 B1 03 CA 03 D7 + 00 00 + 39 01 00 00 00 00 11 B4 00 00 00 19 00 4B 00 69 00 87 00 9C + 00 B2 00 C3 + 39 01 00 00 00 00 11 B5 00 D5 01 0B 01 35 01 73 01 A3 01 EC + 02 27 02 29 + 39 01 00 00 00 00 11 B6 02 60 02 9F 02 C7 02 FB 03 1D 03 4C + 03 5A 03 69 + 39 01 00 00 00 00 0F B7 03 7A 03 8C 03 A0 03 B5 03 CB 03 D7 + 00 00 + 39 01 00 00 00 00 11 B8 00 00 00 19 00 4D 00 6A 00 87 00 9C + 00 B1 00 C2 + 39 01 00 00 00 00 11 B9 00 D3 01 08 01 32 01 70 01 9F 01 E8 + 02 23 02 25 + 39 01 00 00 00 00 11 BA 02 5C 02 9B 02 C3 02 F8 03 1A 03 4C + 03 5B 03 6B + 39 01 00 00 00 00 0F BB 03 7D 03 92 03 A7 03 BB 03 CE 03 D7 + 00 00 + + 15 01 00 00 00 00 02 FF 10 + 15 01 00 00 00 00 02 FF F0 + 15 01 00 00 00 00 02 FB 01 + 15 01 00 00 00 00 02 5A 00 + 15 01 00 00 00 00 02 FF 10 + + 15 01 00 00 00 00 02 FF 10 + 15 01 00 00 00 00 02 FB 01 + + 15 01 00 00 00 00 02 51 FF //CABC + 15 01 00 00 00 00 02 53 2C + 15 01 00 00 00 00 02 55 01 + + 05 01 00 00 C8 00 01 11 + 05 01 00 00 96 00 01 29 + ]; + qcom,mdss-dsi-on-command-state = "dsi_lp_mode"; + qcom,mdss-dsi-off-command = [ + 05 01 00 00 10 00 01 28 + 05 01 00 00 32 00 01 10 + ]; + qcom,mdss-dsi-off-command-state = "dsi_lp_mode"; + qcom,compression-mode = "dsc"; + qcom,mdss-dsc-slice-height = <8>; + qcom,mdss-dsc-slice-width = <540>; + qcom,mdss-dsc-slice-per-pkt = <1>; + qcom,mdss-dsc-bit-per-component = <8>; + qcom,mdss-dsc-bit-per-pixel = <8>; + qcom,mdss-dsc-block-prediction-enable; + }; + }; + }; +}; diff --git a/qcom/dsi-panel-nt36672e-fhd-plus-60hz-video.dtsi b/qcom/dsi-panel-nt36672e-fhd-plus-60hz-video.dtsi new file mode 100644 index 00000000..92f70b56 --- /dev/null +++ b/qcom/dsi-panel-nt36672e-fhd-plus-60hz-video.dtsi @@ -0,0 +1,312 @@ +&mdss_mdp { + dsi_nt36672e_fhd_plus_60_video: qcom,mdss_dsi_nt36672e_fhd_plus_60_video { + qcom,mdss-dsi-panel-name = + "nt36672e 60 Hz fhd plus video mode panel without DSC"; + qcom,mdss-dsi-panel-type = "dsi_video_mode"; + qcom,dsi-ctrl-num = <0>; + qcom,dsi-phy-num = <0>; + qcom,mdss-dsi-virtual-channel-id = <0>; + qcom,mdss-dsi-stream = <0>; + qcom,mdss-dsi-bpp = <24>; + qcom,mdss-dsi-border-color = <0>; + qcom,mdss-dsi-traffic-mode = "burst_mode"; + qcom,mdss-dsi-bllp-power-mode; + qcom,mdss-dsi-bllp-eof-power-mode; + qcom,mdss-dsi-lane-0-state; + qcom,mdss-dsi-lane-1-state; + qcom,mdss-dsi-lane-2-state; + qcom,mdss-dsi-lane-3-state; + qcom,mdss-dsi-dma-trigger = "trigger_sw"; + qcom,mdss-dsi-mdp-trigger = "none"; + qcom,mdss-dsi-reset-sequence = <1 10>, <0 10>, <1 10>; + qcom,mdss-dsi-tx-eot-append; + qcom,adjust-timer-wakeup-ms = <1>; + qcom,mdss-dsi-panel-hdr-enabled; + qcom,mdss-dsi-panel-hdr-color-primaries = <39000 16000 33750 + 39800 13250 34450 7500 3000>; + qcom,mdss-dsi-panel-peak-brightness = <6450000>; + qcom,mdss-dsi-panel-blackness-level = <4961>; + + qcom,mdss-dsi-display-timings { + timing@0 { + qcom,mdss-dsi-panel-width = <1080>; + qcom,mdss-dsi-panel-height = <2408>; + qcom,mdss-dsi-h-front-porch = <76>; + qcom,mdss-dsi-h-back-porch = <56>; + qcom,mdss-dsi-h-pulse-width = <12>; + qcom,mdss-dsi-h-sync-skew = <0>; + qcom,mdss-dsi-v-back-porch = <10>; + qcom,mdss-dsi-v-front-porch = <46>; + qcom,mdss-dsi-v-pulse-width = <10>; + qcom,mdss-dsi-panel-framerate = <60>; + qcom,mdss-dsi-on-command = [ + 39 01 00 00 00 00 02 FF 10 + 39 01 00 00 00 00 02 FB 01 + 39 01 00 00 00 00 02 B0 00 + 39 01 00 00 00 00 02 C0 00 + 39 01 00 00 00 00 11 C1 89 28 00 08 00 AA 02 0E 00 2B 00 07 0D B7 0C B7 + 39 01 00 00 00 00 03 C2 1B A0 + 39 01 00 00 00 00 02 FF 20 + 39 01 00 00 00 00 02 FB 01 + 39 01 00 00 00 00 02 01 66 + 39 01 00 00 00 00 02 06 40 + 39 01 00 00 00 00 02 07 38 + 39 01 00 00 00 00 02 2F 83 + 39 01 00 00 00 00 02 69 91 + 39 01 00 00 00 00 02 95 D1 + 39 01 00 00 00 00 02 96 D1 + 39 01 00 00 00 00 02 F2 64 + 39 01 00 00 00 00 02 F3 54 + 39 01 00 00 00 00 02 F4 64 + 39 01 00 00 00 00 02 F5 54 + 39 01 00 00 00 00 02 F6 64 + 39 01 00 00 00 00 02 F7 54 + 39 01 00 00 00 00 02 F8 64 + 39 01 00 00 00 00 02 F9 54 + 39 01 00 00 00 00 02 FF 24 + 39 01 00 00 00 00 02 FB 01 + 39 01 00 00 00 00 02 01 0F + 39 01 00 00 00 00 02 03 0C + 39 01 00 00 00 00 02 05 1D + 39 01 00 00 00 00 02 08 2F + 39 01 00 00 00 00 02 09 2E + 39 01 00 00 00 00 02 0A 2D + 39 01 00 00 00 00 02 0B 2C + 39 01 00 00 00 00 02 11 17 + 39 01 00 00 00 00 02 12 13 + 39 01 00 00 00 00 02 13 15 + 39 01 00 00 00 00 02 15 14 + 39 01 00 00 00 00 02 16 16 + 39 01 00 00 00 00 02 17 18 + 39 01 00 00 00 00 02 1B 01 + 39 01 00 00 00 00 02 1D 1D + 39 01 00 00 00 00 02 20 2F + 39 01 00 00 00 00 02 21 2E + 39 01 00 00 00 00 02 22 2D + 39 01 00 00 00 00 02 23 2C + 39 01 00 00 00 00 02 29 17 + 39 01 00 00 00 00 02 2A 13 + 39 01 00 00 00 00 02 2B 15 + 39 01 00 00 00 00 02 2F 14 + 39 01 00 00 00 00 02 30 16 + 39 01 00 00 00 00 02 31 18 + 39 01 00 00 00 00 02 32 04 + 39 01 00 00 00 00 02 34 10 + 39 01 00 00 00 00 02 35 1F + 39 01 00 00 00 00 02 36 1F + 39 01 00 00 00 00 02 4D 14 + 39 01 00 00 00 00 02 4E 36 + 39 01 00 00 00 00 02 4F 36 + 39 01 00 00 00 00 02 53 36 + 39 01 00 00 00 00 02 71 30 + 39 01 00 00 00 00 02 79 11 + 39 01 00 00 00 00 02 7A 82 + 39 01 00 00 00 00 02 7B 8F + 39 01 00 00 00 00 02 7D 04 + 39 01 00 00 00 00 02 80 04 + 39 01 00 00 00 00 02 81 04 + 39 01 00 00 00 00 02 82 13 + 39 01 00 00 00 00 02 84 31 + 39 01 00 00 00 00 02 85 00 + 39 01 00 00 00 00 02 86 00 + 39 01 00 00 00 00 02 87 00 + 39 01 00 00 00 00 02 90 13 + 39 01 00 00 00 00 02 92 31 + 39 01 00 00 00 00 02 93 00 + 39 01 00 00 00 00 02 94 00 + 39 01 00 00 00 00 02 95 00 + 39 01 00 00 00 00 02 9C F4 + 39 01 00 00 00 00 02 9D 01 + 39 01 00 00 00 00 02 A0 0F + 39 01 00 00 00 00 02 A2 0F + 39 01 00 00 00 00 02 A3 02 + 39 01 00 00 00 00 02 A4 04 + 39 01 00 00 00 00 02 A5 04 + 39 01 00 00 00 00 02 C6 C0 + 39 01 00 00 00 00 02 C9 00 + 39 01 00 00 00 00 02 D9 80 + 39 01 00 00 00 00 02 E9 02 + 39 01 00 00 00 00 02 FF 25 + 39 01 00 00 00 00 02 FB 01 + 39 01 00 00 00 00 02 18 22 + 39 01 00 00 00 00 02 19 E4 + 39 01 00 00 00 00 02 21 40 + 39 01 00 00 00 00 02 66 D8 + 39 01 00 00 00 00 02 68 50 + 39 01 00 00 00 00 02 69 10 + 39 01 00 00 00 00 02 6B 00 + 39 01 00 00 00 00 02 6D 0D + 39 01 00 00 00 00 02 6E 48 + 39 01 00 00 00 00 02 72 41 + 39 01 00 00 00 00 02 73 4A + 39 01 00 00 00 00 02 74 D0 + 39 01 00 00 00 00 02 77 62 + 39 01 00 00 00 00 02 79 7E + 39 01 00 00 00 00 02 7D 03 + 39 01 00 00 00 00 02 7E 15 + 39 01 00 00 00 00 02 7F 00 + 39 01 00 00 00 00 02 84 4D + 39 01 00 00 00 00 02 CF 80 + 39 01 00 00 00 00 02 D6 80 + 39 01 00 00 00 00 02 D7 80 + 39 01 00 00 00 00 02 EF 20 + 39 01 00 00 00 00 02 F0 84 + 39 01 00 00 00 00 02 FF 26 + 39 01 00 00 00 00 02 FB 01 + 39 01 00 00 00 00 02 81 0F + 39 01 00 00 00 00 02 83 01 + 39 01 00 00 00 00 02 84 03 + 39 01 00 00 00 00 02 85 01 + 39 01 00 00 00 00 02 86 03 + 39 01 00 00 00 00 02 87 01 + 39 01 00 00 00 00 02 88 05 + 39 01 00 00 00 00 02 8A 1A + 39 01 00 00 00 00 02 8B 11 + 39 01 00 00 00 00 02 8C 24 + 39 01 00 00 00 00 02 8E 42 + 39 01 00 00 00 00 02 8F 11 + 39 01 00 00 00 00 02 90 11 + 39 01 00 00 00 00 02 91 11 + 39 01 00 00 00 00 02 9A 80 + 39 01 00 00 00 00 02 9B 04 + 39 01 00 00 00 00 02 9C 00 + 39 01 00 00 00 00 02 9D 00 + 39 01 00 00 00 00 02 9E 00 + 39 01 00 00 00 00 02 FF 27 + 39 01 00 00 00 00 02 FB 01 + 39 01 00 00 00 00 02 01 68 + 39 01 00 00 00 00 02 20 81 + 39 01 00 00 00 00 02 21 6A + 39 01 00 00 00 00 02 25 81 + 39 01 00 00 00 00 02 26 94 + 39 01 00 00 00 00 02 6E 00 + 39 01 00 00 00 00 02 6F 00 + 39 01 00 00 00 00 02 70 00 + 39 01 00 00 00 00 02 71 00 + 39 01 00 00 00 00 02 72 00 + 39 01 00 00 00 00 02 75 00 + 39 01 00 00 00 00 02 76 00 + 39 01 00 00 00 00 02 77 00 + 39 01 00 00 00 00 02 7D 09 + 39 01 00 00 00 00 02 7E 67 + 39 01 00 00 00 00 02 80 23 + 39 01 00 00 00 00 02 82 09 + 39 01 00 00 00 00 02 83 67 + 39 01 00 00 00 00 02 88 01 + 39 01 00 00 00 00 02 89 10 + 39 01 00 00 00 00 02 A5 10 + 39 01 00 00 00 00 02 A6 23 + 39 01 00 00 00 00 02 A7 01 + 39 01 00 00 00 00 02 B6 40 + 39 01 00 00 00 00 02 E5 02 + 39 01 00 00 00 00 02 E6 D3 + 39 01 00 00 00 00 02 EB 03 + 39 01 00 00 00 00 02 EC 28 + 39 01 00 00 00 00 02 FF 2A + 39 01 00 00 00 00 02 FB 01 + 39 01 00 00 00 00 02 00 91 + 39 01 00 00 00 00 02 03 20 + 39 01 00 00 00 00 02 07 50 + 39 01 00 00 00 00 02 0A 70 + 39 01 00 00 00 00 02 0C 04 + 39 01 00 00 00 00 02 0D 40 + 39 01 00 00 00 00 02 0F 01 + 39 01 00 00 00 00 02 11 E0 + 39 01 00 00 00 00 02 15 0F + 39 01 00 00 00 00 02 16 A4 + 39 01 00 00 00 00 02 19 0F + 39 01 00 00 00 00 02 1A 78 + 39 01 00 00 00 00 02 1B 23 + 39 01 00 00 00 00 02 1D 36 + 39 01 00 00 00 00 02 1E 3E + 39 01 00 00 00 00 02 1F 3E + 39 01 00 00 00 00 02 20 3E + 39 01 00 00 00 00 02 28 FD + 39 01 00 00 00 00 02 29 12 + 39 01 00 00 00 00 02 2A E1 + 39 01 00 00 00 00 02 2D 0A + 39 01 00 00 00 00 02 30 49 + 39 01 00 00 00 00 02 33 96 + 39 01 00 00 00 00 02 34 FF + 39 01 00 00 00 00 02 35 40 + 39 01 00 00 00 00 02 36 DE + 39 01 00 00 00 00 02 37 F9 + 39 01 00 00 00 00 02 38 45 + 39 01 00 00 00 00 02 39 D9 + 39 01 00 00 00 00 02 3A 49 + 39 01 00 00 00 00 02 4A F0 + 39 01 00 00 00 00 02 7A 09 + 39 01 00 00 00 00 02 7B 40 + 39 01 00 00 00 00 02 7F F0 + 39 01 00 00 00 00 02 83 0F + 39 01 00 00 00 00 02 84 A4 + 39 01 00 00 00 00 02 87 0F + 39 01 00 00 00 00 02 88 78 + 39 01 00 00 00 00 02 89 23 + 39 01 00 00 00 00 02 8B 36 + 39 01 00 00 00 00 02 8C 7D + 39 01 00 00 00 00 02 8D 7D + 39 01 00 00 00 00 02 8E 7D + 39 01 00 00 00 00 02 FF 20 + 39 01 00 00 00 00 02 FB 01 + 39 01 00 00 00 00 11 B0 00 00 00 17 00 49 00 6A 00 89 00 9F 00 B6 00 C8 + 39 01 00 00 00 00 11 B1 00 D9 01 10 01 3A 01 7A 01 A9 01 F2 02 2D 02 2E + 39 01 00 00 00 00 11 B2 02 64 02 A3 02 CA 03 00 03 1E 03 4A 03 59 03 6A + 39 01 00 00 00 00 0F B3 03 7D 03 93 03 AB 03 C8 03 EC 03 FE 00 00 + 39 01 00 00 00 00 11 B4 00 00 00 1B 00 51 00 71 00 90 00 A7 00 BF 00 D1 + 39 01 00 00 00 00 11 B5 00 E2 01 1A 01 43 01 83 01 B2 01 FA 02 34 02 36 + 39 01 00 00 00 00 11 B6 02 6B 02 A8 02 D0 03 03 03 21 03 4D 03 5B 03 6B + 39 01 00 00 00 00 0F B7 03 7E 03 94 03 AC 03 C8 03 EC 03 FE 00 00 + 39 01 00 00 00 00 11 B8 00 00 00 1B 00 51 00 72 00 92 00 A8 00 BF 00 D1 + 39 01 00 00 00 00 11 B9 00 E2 01 18 01 42 01 81 01 AF 01 F5 02 2F 02 31 + 39 01 00 00 00 00 11 BA 02 68 02 A6 02 CD 03 01 03 1F 03 4A 03 59 03 6A + 39 01 00 00 00 00 0F BB 03 7D 03 93 03 AB 03 C8 03 EC 03 FE 00 00 + 39 01 00 00 00 00 02 FF 21 + 39 01 00 00 00 00 02 FB 01 + 39 01 00 00 00 00 11 B0 00 00 00 17 00 49 00 6A 00 89 00 9F 00 B6 00 C8 + 39 01 00 00 00 00 11 B1 00 D9 01 10 01 3A 01 7A 01 A9 01 F2 02 2D 02 2E + 39 01 00 00 00 00 11 B2 02 64 02 A3 02 CA 03 00 03 1E 03 4A 03 59 03 6A + 39 01 00 00 00 00 0F B3 03 7D 03 93 03 AB 03 C8 03 EC 03 FE 00 00 + 39 01 00 00 00 00 11 B4 00 00 00 1B 00 51 00 71 00 90 00 A7 00 BF 00 D1 + 39 01 00 00 00 00 11 B5 00 E2 01 1A 01 43 01 83 01 B2 01 FA 02 34 02 36 + 39 01 00 00 00 00 11 B6 02 6B 02 A8 02 D0 03 03 03 21 03 4D 03 5B 03 6B + 39 01 00 00 00 00 0F B7 03 7E 03 94 03 AC 03 C8 03 EC 03 FE 00 00 + 39 01 00 00 00 00 11 B8 00 00 00 1B 00 51 00 72 00 92 00 A8 00 BF 00 D1 + 39 01 00 00 00 00 11 B9 00 E2 01 18 01 42 01 81 01 AF 01 F5 02 2F 02 31 + 39 01 00 00 00 00 11 BA 02 68 02 A6 02 CD 03 01 03 1F 03 4A 03 59 03 6A + 39 01 00 00 00 00 0F BB 03 7D 03 93 03 AB 03 C8 03 EC 03 FE 00 00 + 39 01 00 00 00 00 02 FF 2C + 39 01 00 00 00 00 02 FB 01 + 39 01 00 00 00 00 02 61 1F + 39 01 00 00 00 00 02 62 1F + 39 01 00 00 00 00 02 7E 03 + 39 01 00 00 00 00 02 6A 14 + 39 01 00 00 00 00 02 6B 36 + 39 01 00 00 00 00 02 6C 36 + 39 01 00 00 00 00 02 6D 36 + 39 01 00 00 00 00 02 53 04 + 39 01 00 00 00 00 02 54 04 + 39 01 00 00 00 00 02 55 04 + 39 01 00 00 00 00 02 56 0F + 39 01 00 00 00 00 02 58 0F + 39 01 00 00 00 00 02 59 0F + 39 01 00 00 00 00 02 FF F0 + 39 01 00 00 00 00 02 FB 01 + 39 01 00 00 00 00 02 5A 00 + 15 01 00 00 00 00 02 FF 10 + 15 01 00 00 00 00 02 FB 01 + 15 01 00 00 00 00 02 51 FF + 15 01 00 00 00 00 02 53 24 + 15 01 00 00 00 00 02 55 01 + 05 01 00 00 78 00 01 11 + 05 01 00 00 64 00 01 29 + ]; + qcom,mdss-dsi-on-command-state = "dsi_lp_mode"; + qcom,mdss-dsi-off-command = [ + 05 01 00 00 10 00 01 28 + 05 01 00 00 32 00 01 10 + ]; + }; + }; + }; +}; diff --git a/qcom/dsi-panel-nt36672e-fhd-plus-90hz-video.dtsi b/qcom/dsi-panel-nt36672e-fhd-plus-90hz-video.dtsi new file mode 100644 index 00000000..02f1cee0 --- /dev/null +++ b/qcom/dsi-panel-nt36672e-fhd-plus-90hz-video.dtsi @@ -0,0 +1,480 @@ +&mdss_mdp { + dsi_nt36672e_fhd_plus_90hz_video: qcom,mdss_dsi_nt36672e_fhd_plus_90hz_video { + qcom,mdss-dsi-panel-name = + "nt36672e 90Hz fhd plus video mode panel with DSC"; + qcom,mdss-dsi-panel-type = "dsi_video_mode"; + qcom,dsi-ctrl-num = <0>; + qcom,dsi-phy-num = <0>; + qcom,mdss-dsi-virtual-channel-id = <0>; + qcom,mdss-dsi-stream = <0>; + qcom,mdss-dsi-bpp = <24>; + qcom,mdss-dsi-border-color = <0>; + qcom,mdss-dsi-traffic-mode = "burst_mode"; + qcom,mdss-dsi-bllp-power-mode; + qcom,mdss-dsi-bllp-eof-power-mode; + qcom,mdss-dsi-lane-0-state; + qcom,mdss-dsi-lane-1-state; + qcom,mdss-dsi-lane-2-state; + qcom,mdss-dsi-lane-3-state; + qcom,mdss-dsi-dma-trigger = "trigger_sw"; + qcom,mdss-dsi-mdp-trigger = "none"; + qcom,mdss-dsi-reset-sequence = <1 10>, <0 10>, <1 10>; + qcom,mdss-dsi-tx-eot-append; + qcom,adjust-timer-wakeup-ms = <1>; + qcom,mdss-dsi-panel-hdr-enabled; + qcom,mdss-dsi-panel-hdr-color-primaries = <39000 16000 33750 + 39800 13250 34450 7500 3000>; + qcom,mdss-dsi-panel-peak-brightness = <6450000>; + qcom,mdss-dsi-panel-blackness-level = <4961>; + + qcom,mdss-dsi-display-timings { + timing@0 { + qcom,mdss-dsi-panel-width = <1080>; + qcom,mdss-dsi-panel-height = <2408>; + qcom,mdss-dsi-h-front-porch = <76>; + qcom,mdss-dsi-h-back-porch = <68>; + qcom,mdss-dsi-h-pulse-width = <10>; + qcom,mdss-dsi-h-sync-skew = <0>; + qcom,mdss-dsi-v-back-porch = <10>; + qcom,mdss-dsi-v-front-porch = <46>; + qcom,mdss-dsi-v-pulse-width = <10>; + qcom,mdss-dsi-panel-framerate = <90>; + qcom,mdss-dsi-on-command = [ + 39 01 00 00 00 00 02 FF 10 + 39 01 00 00 00 00 02 FB 01 + 39 01 00 00 00 00 02 B0 00 + 39 01 00 00 00 00 02 C0 03 + 39 01 00 00 00 00 11 C1 89 28 00 08 00 AA 02 0E 00 2B 00 07 0D B7 0C B7 + 39 01 00 00 00 00 03 C2 1B A0 + + 39 01 00 00 00 00 02 FF 20 + 39 01 00 00 00 00 02 FB 01 + 39 01 00 00 00 00 02 01 66 + 39 01 00 00 00 00 02 06 40 + 39 01 00 00 00 00 02 07 38 + 39 01 00 00 00 00 02 18 66 + 39 01 00 00 00 00 02 1B 01 + 39 01 00 00 00 00 02 5C 90 + 39 01 00 00 00 00 02 5E AA + 39 01 00 00 00 00 02 69 91 + + 39 01 00 00 00 00 02 89 0D + 39 01 00 00 00 00 02 8A 0D + 39 01 00 00 00 00 02 8D 0D + 39 01 00 00 00 00 02 8E 0D + 39 01 00 00 00 00 02 8F 0D + 39 01 00 00 00 00 02 91 0D + + 39 01 00 00 00 00 02 95 D1 + 39 01 00 00 00 00 02 96 D1 + 39 01 00 00 00 00 02 F2 65 + 39 01 00 00 00 00 02 F3 64 + 39 01 00 00 00 00 02 F4 65 + 39 01 00 00 00 00 02 F5 64 + 39 01 00 00 00 00 02 F6 65 + 39 01 00 00 00 00 02 F7 64 + 39 01 00 00 00 00 02 F8 65 + 39 01 00 00 00 00 02 F9 64 + + 39 01 00 00 00 00 02 FF 24 + 39 01 00 00 00 00 02 FB 01 + 39 01 00 00 00 00 02 01 0F + 39 01 00 00 00 00 02 03 0C + 39 01 00 00 00 00 02 05 1D + 39 01 00 00 00 00 02 08 2F + 39 01 00 00 00 00 02 09 2E + 39 01 00 00 00 00 02 0A 2D + 39 01 00 00 00 00 02 0B 2C + 39 01 00 00 00 00 02 11 17 + 39 01 00 00 00 00 02 12 13 + 39 01 00 00 00 00 02 13 15 + 39 01 00 00 00 00 02 15 14 + 39 01 00 00 00 00 02 16 16 + 39 01 00 00 00 00 02 17 18 + 39 01 00 00 00 00 02 1B 01 + 39 01 00 00 00 00 02 1D 1D + 39 01 00 00 00 00 02 20 2F + 39 01 00 00 00 00 02 21 2E + 39 01 00 00 00 00 02 22 2D + 39 01 00 00 00 00 02 23 2C + 39 01 00 00 00 00 02 29 17 + 39 01 00 00 00 00 02 2A 13 + 39 01 00 00 00 00 02 2B 15 + 39 01 00 00 00 00 02 2F 14 + 39 01 00 00 00 00 02 30 16 + 39 01 00 00 00 00 02 31 18 + 39 01 00 00 00 00 02 32 04 + 39 01 00 00 00 00 02 34 10 + 39 01 00 00 00 00 02 35 1F + 39 01 00 00 00 00 02 36 1F + 39 01 00 00 00 00 02 4D 19 + 39 01 00 00 00 00 02 4E 45 + 39 01 00 00 00 00 02 4F 45 + 39 01 00 00 00 00 02 53 45 + 39 01 00 00 00 00 02 71 30 + 39 01 00 00 00 00 02 79 11 + 39 01 00 00 00 00 02 7A 82 + 39 01 00 00 00 00 02 7B 94 + 39 01 00 00 00 00 02 7D 04 + 39 01 00 00 00 00 02 80 04 + 39 01 00 00 00 00 02 81 04 + 39 01 00 00 00 00 02 82 13 + 39 01 00 00 00 00 02 84 31 + 39 01 00 00 00 00 02 85 00 + 39 01 00 00 00 00 02 86 00 + 39 01 00 00 00 00 02 87 00 + 39 01 00 00 00 00 02 90 13 + 39 01 00 00 00 00 02 92 31 + 39 01 00 00 00 00 02 93 00 + 39 01 00 00 00 00 02 94 00 + 39 01 00 00 00 00 02 95 00 + 39 01 00 00 00 00 02 9C F4 + 39 01 00 00 00 00 02 9D 01 + 39 01 00 00 00 00 02 A0 14 + 39 01 00 00 00 00 02 A2 14 + 39 01 00 00 00 00 02 A3 02 + 39 01 00 00 00 00 02 A4 04 + 39 01 00 00 00 00 02 A5 04 + 39 01 00 00 00 00 02 C4 40 + 39 01 00 00 00 00 02 C6 C0 + 39 01 00 00 00 00 02 C9 00 + 39 01 00 00 00 00 02 D9 80 + 39 01 00 00 00 00 02 E9 02 + + 39 01 00 00 00 00 02 FF 25 + 39 01 00 00 00 00 02 FB 01 + 39 01 00 00 00 00 02 0F 1B + 39 01 00 00 00 00 02 19 E4 + 39 01 00 00 00 00 02 21 40 + 39 01 00 00 00 00 02 66 D8 + 39 01 00 00 00 00 02 68 50 + 39 01 00 00 00 00 02 69 10 + 39 01 00 00 00 00 02 6B 00 + 39 01 00 00 00 00 02 6D 0D + 39 01 00 00 00 00 02 6E 48 + 39 01 00 00 00 00 02 72 41 + 39 01 00 00 00 00 02 73 4A + 39 01 00 00 00 00 02 74 D0 + 39 01 00 00 00 00 02 77 62 + 39 01 00 00 00 00 02 79 7F + 39 01 00 00 00 00 02 7D 40 + 39 01 00 00 00 00 02 7F 00 + 39 01 00 00 00 00 02 80 04 + 39 01 00 00 00 00 02 84 0D + 39 01 00 00 00 00 02 CF 80 + 39 01 00 00 00 00 02 D6 80 + 39 01 00 00 00 00 02 D7 80 + 39 01 00 00 00 00 02 EF 20 + 39 01 00 00 00 00 02 F0 84 + + 39 01 00 00 00 00 02 FF 26 + 39 01 00 00 00 00 02 FB 01 + 39 01 00 00 00 00 02 15 04 + 39 01 00 00 00 00 02 81 14 + 39 01 00 00 00 00 02 83 02 + 39 01 00 00 00 00 02 84 03 + 39 01 00 00 00 00 02 85 01 + 39 01 00 00 00 00 02 86 03 + 39 01 00 00 00 00 02 87 01 + 39 01 00 00 00 00 02 88 06 + 39 01 00 00 00 00 02 8A 1A + 39 01 00 00 00 00 02 8B 11 + 39 01 00 00 00 00 02 8C 24 + 39 01 00 00 00 00 02 8E 42 + 39 01 00 00 00 00 02 8F 11 + 39 01 00 00 00 00 02 90 11 + 39 01 00 00 00 00 02 91 11 + 39 01 00 00 00 00 02 9A 81 + 39 01 00 00 00 00 02 9B 03 + 39 01 00 00 00 00 02 9C 00 + 39 01 00 00 00 00 02 9D 00 + 39 01 00 00 00 00 02 9E 00 + + 39 01 00 00 00 00 02 FF 27 + 39 01 00 00 00 00 02 FB 01 + 39 01 00 00 00 00 02 01 68 + 39 01 00 00 00 00 02 20 81 + 39 01 00 00 00 00 02 21 EA + 39 01 00 00 00 00 02 25 82 + 39 01 00 00 00 00 02 26 1F + 39 01 00 00 00 00 02 6E 00 + 39 01 00 00 00 00 02 6F 00 + 39 01 00 00 00 00 02 70 00 + 39 01 00 00 00 00 02 71 00 + 39 01 00 00 00 00 02 72 00 + 39 01 00 00 00 00 02 75 00 + 39 01 00 00 00 00 02 76 00 + 39 01 00 00 00 00 02 77 00 + 39 01 00 00 00 00 02 7D 09 + 39 01 00 00 00 00 02 7E 67 + 39 01 00 00 00 00 02 80 23 + 39 01 00 00 00 00 02 82 09 + 39 01 00 00 00 00 02 83 67 + 39 01 00 00 00 00 02 88 01 + 39 01 00 00 00 00 02 89 10 + 39 01 00 00 00 00 02 A5 10 + 39 01 00 00 00 00 02 A6 23 + 39 01 00 00 00 00 02 A7 01 + 39 01 00 00 00 00 02 B6 40 + 39 01 00 00 00 00 02 E3 02 + 39 01 00 00 00 00 02 E4 E0 + 39 01 00 00 00 00 02 E5 01 + 39 01 00 00 00 00 02 E6 70 + 39 01 00 00 00 00 02 E9 03 + 39 01 00 00 00 00 02 EA 2F + 39 01 00 00 00 00 02 EB 01 + 39 01 00 00 00 00 02 EC 98 + + 39 01 00 00 00 00 02 FF 2A + 39 01 00 00 00 00 02 FB 01 + 39 01 00 00 00 00 02 00 91 + 39 01 00 00 00 00 02 03 20 + 39 01 00 00 00 00 02 07 5A + 39 01 00 00 00 00 02 0A 70 + 39 01 00 00 00 00 02 0D 40 + 39 01 00 00 00 00 02 0E 02 + 39 01 00 00 00 00 02 11 F0 + 39 01 00 00 00 00 02 15 0F + 39 01 00 00 00 00 02 16 65 + 39 01 00 00 00 00 02 19 0F + 39 01 00 00 00 00 02 1A 39 + 39 01 00 00 00 00 02 1B 14 + 39 01 00 00 00 00 02 1D 36 + 39 01 00 00 00 00 02 1E 4F + 39 01 00 00 00 00 02 1F 4F + 39 01 00 00 00 00 02 20 4F + 39 01 00 00 00 00 02 28 E4 + 39 01 00 00 00 00 02 29 17 + 39 01 00 00 00 00 02 2A F5 + 39 01 00 00 00 00 02 2D 06 + 39 01 00 00 00 00 02 2F 04 + 39 01 00 00 00 00 02 30 54 + 39 01 00 00 00 00 02 33 04 + 39 01 00 00 00 00 02 34 E6 + 39 01 00 00 00 00 02 35 32 + 39 01 00 00 00 00 02 36 02 + 39 01 00 00 00 00 02 37 E1 + 39 01 00 00 00 00 02 38 36 + 39 01 00 00 00 00 02 39 FE + 39 01 00 00 00 00 02 3A 14 + 39 01 00 00 00 00 02 46 40 + 39 01 00 00 00 00 02 47 02 + 39 01 00 00 00 00 02 4A F0 + 39 01 00 00 00 00 02 4E 0F + 39 01 00 00 00 00 02 4F 65 + 39 01 00 00 00 00 02 52 0F + 39 01 00 00 00 00 02 53 39 + 39 01 00 00 00 00 02 54 14 + 39 01 00 00 00 00 02 56 36 + 39 01 00 00 00 00 02 57 7E + 39 01 00 00 00 00 02 58 7E + 39 01 00 00 00 00 02 59 7E + 39 01 00 00 00 00 02 60 80 + 39 01 00 00 00 00 02 61 C9 + 39 01 00 00 00 00 02 62 03 + 39 01 00 00 00 00 02 63 FB + 39 01 00 00 00 00 02 64 03 + 39 01 00 00 00 00 02 65 05 + 39 01 00 00 00 00 02 66 01 + 39 01 00 00 00 00 02 67 04 + 39 01 00 00 00 00 02 68 91 + 39 01 00 00 00 00 02 6A 19 + 39 01 00 00 00 00 02 6B CB + 39 01 00 00 00 00 02 6C 20 + 39 01 00 00 00 00 02 6D E5 + 39 01 00 00 00 00 02 6E C8 + 39 01 00 00 00 00 02 6F 22 + 39 01 00 00 00 00 02 70 E3 + 39 01 00 00 00 00 02 71 04 + 39 01 00 00 00 00 02 7A 07 + 39 01 00 00 00 00 02 7B 40 + 39 01 00 00 00 00 02 7D 01 + 39 01 00 00 00 00 02 7F 2C + 39 01 00 00 00 00 02 83 0F + 39 01 00 00 00 00 02 84 65 + 39 01 00 00 00 00 02 87 0F + 39 01 00 00 00 00 02 88 39 + 39 01 00 00 00 00 02 89 14 + 39 01 00 00 00 00 02 8B 36 + 39 01 00 00 00 00 02 8C 39 + 39 01 00 00 00 00 02 8D 39 + 39 01 00 00 00 00 02 8E 39 + 39 01 00 00 00 00 02 95 80 + 39 01 00 00 00 00 02 96 FD + 39 01 00 00 00 00 02 97 14 + 39 01 00 00 00 00 02 98 B3 + 39 01 00 00 00 00 02 99 01 + 39 01 00 00 00 00 02 9A 08 + 39 01 00 00 00 00 02 9B 02 + 39 01 00 00 00 00 02 9C 4C + 39 01 00 00 00 00 02 9D BC + 39 01 00 00 00 00 02 9F AC + 39 01 00 00 00 00 02 A0 FF + 39 01 00 00 00 00 02 A2 44 + 39 01 00 00 00 00 02 A3 78 + 39 01 00 00 00 00 02 A4 F8 + 39 01 00 00 00 00 02 A5 4A + 39 01 00 00 00 00 02 A6 72 + 39 01 00 00 00 00 02 A7 4C + + 39 01 00 00 00 00 02 FF 2C + 39 01 00 00 00 00 02 FB 01 + 39 01 00 00 00 00 02 00 02 + 39 01 00 00 00 00 02 01 02 + 39 01 00 00 00 00 02 02 02 + 39 01 00 00 00 00 02 03 16 + 39 01 00 00 00 00 02 04 16 + 39 01 00 00 00 00 02 05 16 + 39 01 00 00 00 00 02 0D 1F + 39 01 00 00 00 00 02 0E 1F + 39 01 00 00 00 00 02 16 1B + 39 01 00 00 00 00 02 17 4B + 39 01 00 00 00 00 02 18 4B + 39 01 00 00 00 00 02 19 4B + 39 01 00 00 00 00 02 2A 03 + 39 01 00 00 00 00 02 4D 16 + 39 01 00 00 00 00 02 4E 02 + 39 01 00 00 00 00 02 4F 2F + 39 01 00 00 00 00 02 53 02 + 39 01 00 00 00 00 02 54 02 + 39 01 00 00 00 00 02 55 02 + 39 01 00 00 00 00 02 56 0E + 39 01 00 00 00 00 02 58 0E + 39 01 00 00 00 00 02 59 0E + 39 01 00 00 00 00 02 61 1F + 39 01 00 00 00 00 02 62 1F + 39 01 00 00 00 00 02 6A 14 + 39 01 00 00 00 00 02 6B 34 + 39 01 00 00 00 00 02 6C 34 + 39 01 00 00 00 00 02 6D 34 + 39 01 00 00 00 00 02 7E 03 + 39 01 00 00 00 00 02 9D 0E + 39 01 00 00 00 00 02 9E 02 + 39 01 00 00 00 00 02 9F 02 + + 39 01 00 00 00 00 02 FF 20 + 39 01 00 00 00 00 02 FB 01 + 39 01 00 00 00 00 11 B0 00 00 00 15 00 3F 00 5F 00 7E 00 97 00 AF 00 C3 + 39 01 00 00 00 00 11 B1 00 D7 01 0A 01 32 01 6F 01 9E 01 E5 02 1D 02 1E + 39 01 00 00 00 00 11 B2 02 56 02 94 02 BC 02 F1 03 13 03 41 03 4F 03 5F + 39 01 00 00 00 00 0F B3 03 71 03 84 03 99 03 B0 03 CA 03 D7 00 00 + 39 01 00 00 00 00 11 B4 00 00 00 17 00 46 00 69 00 8C 00 A5 00 BE 00 D1 + 39 01 00 00 00 00 11 B5 00 E4 01 18 01 40 01 7C 01 AA 01 F0 02 27 02 28 + 39 01 00 00 00 00 11 B6 02 5E 02 9B 02 C3 02 F6 03 18 03 45 03 54 03 63 + 39 01 00 00 00 00 0F B7 03 75 03 87 03 9C 03 B2 03 CA 03 D7 00 00 + 39 01 00 00 00 00 11 B8 00 00 00 18 00 49 00 6B 00 8E 00 A8 00 C1 00 D3 + 39 01 00 00 00 00 11 B9 00 E5 01 18 01 3F 01 7B 01 A8 01 EC 02 24 02 26 + 39 01 00 00 00 00 11 BA 02 5A 02 97 02 C0 02 F4 03 15 03 43 03 51 03 61 + 39 01 00 00 00 00 0F BB 03 72 03 85 03 9A 03 B1 03 CA 03 D7 00 00 + + 39 01 00 00 00 00 02 C6 00 + 39 01 00 00 00 00 02 C7 00 + 39 01 00 00 00 00 02 C8 00 + 39 01 00 00 00 00 02 C9 00 + 39 01 00 00 00 00 02 CA 00 + + 39 01 00 00 00 00 02 CB 00 + 39 01 00 00 00 00 02 CC 00 + 39 01 00 00 00 00 02 CD 00 + 39 01 00 00 00 00 02 CE 00 + 39 01 00 00 00 00 02 CF 00 + + 39 01 00 00 00 00 02 D0 00 + 39 01 00 00 00 00 02 D1 00 + 39 01 00 00 00 00 02 D2 00 + 39 01 00 00 00 00 02 D3 00 + 39 01 00 00 00 00 02 D4 00 + + 39 01 00 00 00 00 02 D5 00 + 39 01 00 00 00 00 02 D6 00 + 39 01 00 00 00 00 02 D7 00 + 39 01 00 00 00 00 02 D8 00 + 39 01 00 00 00 00 02 D9 00 + + 39 01 00 00 00 00 02 DA 00 + 39 01 00 00 00 00 02 DB 00 + 39 01 00 00 00 00 02 DC 00 + 39 01 00 00 00 00 02 DD 00 + 39 01 00 00 00 00 02 DE 00 + + 39 01 00 00 00 00 02 DF 00 + 39 01 00 00 00 00 02 E0 00 + 39 01 00 00 00 00 02 E1 00 + 39 01 00 00 00 00 02 E2 00 + 39 01 00 00 00 00 02 E3 00 + + 39 01 00 00 00 00 02 E4 00 + 39 01 00 00 00 00 02 E5 00 + 39 01 00 00 00 00 02 E6 00 + 39 01 00 00 00 00 02 E7 00 + 39 01 00 00 00 00 02 E8 00 + 39 01 00 00 00 00 02 E9 00 + + + 39 01 00 00 00 00 02 FF 21 + 39 01 00 00 00 00 02 FB 01 + 39 01 00 00 00 00 11 B0 00 00 00 15 00 3F 00 5F 00 7E 00 97 00 AF 00 C3 + 39 01 00 00 00 00 11 B1 00 D7 01 0A 01 32 01 6F 01 9E 01 E5 02 1D 02 1E + 39 01 00 00 00 00 11 B2 02 56 02 94 02 BC 02 F1 03 13 03 41 03 4F 03 5F + 39 01 00 00 00 00 0F B3 03 71 03 84 03 99 03 B0 03 CA 03 D7 00 00 + 39 01 00 00 00 00 11 B4 00 00 00 17 00 46 00 69 00 8C 00 A5 00 BE 00 D1 + 39 01 00 00 00 00 11 B5 00 E4 01 18 01 40 01 7C 01 AA 01 F0 02 27 02 28 + 39 01 00 00 00 00 11 B6 02 5E 02 9B 02 C3 02 F6 03 18 03 45 03 54 03 63 + 39 01 00 00 00 00 0F B7 03 75 03 87 03 9C 03 B2 03 CA 03 D7 00 00 + 39 01 00 00 00 00 11 B8 00 00 00 18 00 49 00 6B 00 8E 00 A8 00 C1 00 D3 + 39 01 00 00 00 00 11 B9 00 E5 01 18 01 3F 01 7B 01 A8 01 EC 02 24 02 26 + 39 01 00 00 00 00 11 BA 02 5A 02 97 02 C0 02 F4 03 15 03 43 03 51 03 61 + 39 01 00 00 00 00 0F BB 03 72 03 85 03 9A 03 B1 03 CA 03 D7 00 00 + + 39 01 00 00 00 00 02 FF E0 + 39 01 00 00 00 00 02 FB 01 + 39 01 00 00 00 00 02 35 82 + 39 01 00 00 00 00 02 85 32 + + 39 01 00 00 00 00 02 FF F0 + 39 01 00 00 00 00 02 FB 01 + 39 01 00 00 00 00 02 1C 01 + 39 01 00 00 00 00 02 33 01 + 39 01 00 00 00 00 02 5A 00 + + 39 01 00 00 00 00 02 FF D0 + 39 01 00 00 00 00 02 FB 01 + 39 01 00 00 00 00 02 53 22 + 39 01 00 00 00 00 02 54 02 + + 39 01 00 00 00 00 02 FF C0 + 39 01 00 00 00 00 02 FB 01 + 39 01 00 00 00 00 02 9C 11 + 39 01 00 00 00 00 02 9D 11 + + 39 01 00 00 00 00 02 FF 2B + 39 01 00 00 00 00 02 FB 01 + 39 01 00 00 00 00 02 B7 0A + 39 01 00 00 00 00 02 B8 1C + 39 01 00 00 00 00 02 C0 01 + + 39 01 00 00 00 00 02 FF 10 + 39 01 00 00 00 00 02 35 01 + 39 01 00 00 00 00 02 51 FF + 39 01 00 00 00 00 02 53 0C + 39 01 00 00 00 00 02 55 00 + 05 01 00 00 78 00 01 11 + 05 01 00 00 28 00 01 29 + ]; + qcom,mdss-dsi-on-command-state = "dsi_lp_mode"; + qcom,mdss-dsi-off-command = [ + 05 01 00 00 10 00 01 28 + 05 01 00 00 32 00 01 10 + ]; + qcom,mdss-dsi-off-command-state = "dsi_lp_mode"; + qcom,compression-mode = "dsc"; + qcom,mdss-dsc-slice-height = <8>; + qcom,mdss-dsc-slice-width = <540>; + qcom,mdss-dsc-slice-per-pkt = <1>; + qcom,mdss-dsc-bit-per-component = <8>; + qcom,mdss-dsc-bit-per-pixel = <8>; + qcom,mdss-dsc-block-prediction-enable; + }; + }; + }; +}; diff --git a/qcom/dsi-panel-nt36850-truly-dualmipi-wqhd-cmd.dtsi b/qcom/dsi-panel-nt36850-truly-dualmipi-wqhd-cmd.dtsi index d066925a..f1f5e541 100644 --- a/qcom/dsi-panel-nt36850-truly-dualmipi-wqhd-cmd.dtsi +++ b/qcom/dsi-panel-nt36850-truly-dualmipi-wqhd-cmd.dtsi @@ -3,23 +3,382 @@ qcom,mdss-dsi-panel-name = "Dual nt36850 cmd mode dsi truly panel without DSC"; qcom,mdss-dsi-panel-type = "dsi_cmd_mode"; - - qcom,dsi-ctrl-num = <0 1>; - qcom,dsi-phy-num = <0 1>; - qcom,dsi-select-clocks = "src_byte_clk0", "src_pixel_clk0"; - + qcom,mdss-dsi-panel-framerate = <60>; qcom,mdss-dsi-virtual-channel-id = <0>; qcom,mdss-dsi-stream = <0>; + qcom,mdss-dsi-panel-width = <720>; + qcom,mdss-dsi-panel-height = <2560>; + qcom,mdss-dsi-h-front-porch = <120>; + qcom,mdss-dsi-h-back-porch = <140>; + qcom,mdss-dsi-h-pulse-width = <20>; + qcom,mdss-dsi-h-sync-skew = <0>; + qcom,mdss-dsi-v-back-porch = <20>; + qcom,mdss-dsi-v-front-porch = <8>; + qcom,mdss-dsi-v-pulse-width = <4>; + qcom,mdss-dsi-h-left-border = <0>; + qcom,mdss-dsi-h-right-border = <0>; + qcom,mdss-dsi-v-top-border = <0>; + qcom,mdss-dsi-v-bottom-border = <0>; qcom,mdss-dsi-bpp = <24>; qcom,mdss-dsi-color-order = "rgb_swap_rgb"; qcom,mdss-dsi-underflow-color = <0xff>; qcom,mdss-dsi-border-color = <0>; - + qcom,mdss-dsi-on-command = [ + 15 01 00 00 00 00 02 ff 24 + 15 01 00 00 00 00 02 fb 01 + 15 01 00 00 00 00 02 00 19 + 15 01 00 00 00 00 02 01 03 + 15 01 00 00 00 00 02 02 04 + 15 01 00 00 00 00 02 03 1b + 15 01 00 00 00 00 02 04 1d + 15 01 00 00 00 00 02 05 01 + 15 01 00 00 00 00 02 06 0c + 15 01 00 00 00 00 02 07 0f + 15 01 00 00 00 00 02 08 1f + 15 01 00 00 00 00 02 09 00 + 15 01 00 00 00 00 02 0a 00 + 15 01 00 00 00 00 02 0b 13 + 15 01 00 00 00 00 02 0c 16 + 15 01 00 00 00 00 02 0d 14 + 15 01 00 00 00 00 02 0e 15 + 15 01 00 00 00 00 02 0f 00 + 15 01 00 00 00 00 02 10 19 + 15 01 00 00 00 00 02 11 03 + 15 01 00 00 00 00 02 12 04 + 15 01 00 00 00 00 02 13 1b + 15 01 00 00 00 00 02 14 1d + 15 01 00 00 00 00 02 15 01 + 15 01 00 00 00 00 02 16 0c + 15 01 00 00 00 00 02 17 0f + 15 01 00 00 00 00 02 18 1f + 15 01 00 00 00 00 02 19 00 + 15 01 00 00 00 00 02 1a 00 + 15 01 00 00 00 00 02 1b 13 + 15 01 00 00 00 00 02 1c 16 + 15 01 00 00 00 00 02 1d 14 + 15 01 00 00 00 00 02 1e 15 + 15 01 00 00 00 00 02 1f 00 + 15 01 00 00 00 00 02 21 01 + 15 01 00 00 00 00 02 22 10 + 15 01 00 00 00 00 02 23 28 + 15 01 00 00 00 00 02 24 28 + 15 01 00 00 00 00 02 25 5d + 15 01 00 00 00 00 02 26 28 + 15 01 00 00 00 00 02 27 28 + 15 01 00 00 00 00 02 29 d8 + 15 01 00 00 00 00 02 2a 15 + 15 01 00 00 00 00 02 2b 00 + 15 01 00 00 00 00 02 2d 00 + 15 01 00 00 00 00 02 2f 02 + 15 01 00 00 00 00 02 30 02 + 15 01 00 00 00 00 02 31 00 + 15 01 00 00 00 00 02 32 23 + 15 01 00 00 00 00 02 33 01 + 15 01 00 00 00 00 02 34 03 + 15 01 00 00 00 00 02 35 49 + 15 01 00 00 00 00 02 36 00 + 15 01 00 00 00 00 02 37 1d + 15 01 00 00 00 00 02 38 08 + 15 01 00 00 00 00 02 39 03 + 15 01 00 00 00 00 02 3a 49 + 15 01 00 00 00 00 02 42 01 + 15 01 00 00 00 00 02 43 8c + 15 01 00 00 00 00 02 44 a3 + 15 01 00 00 00 00 02 48 8c + 15 01 00 00 00 00 02 49 a3 + 15 01 00 00 00 00 02 5b 00 + 15 01 00 00 00 00 02 5f 4d + 15 01 00 00 00 00 02 63 00 + 15 01 00 00 00 00 02 67 04 + 15 01 00 00 00 00 02 6e 10 + 15 01 00 00 00 00 02 72 02 + 15 01 00 00 00 00 02 73 00 + 15 01 00 00 00 00 02 74 04 + 15 01 00 00 00 00 02 75 1b + 15 01 00 00 00 00 02 76 05 + 15 01 00 00 00 00 02 77 01 + 15 01 00 00 00 00 02 78 00 + 15 01 00 00 00 00 02 79 00 + 15 01 00 00 00 00 02 7a 00 + 15 01 00 00 00 00 02 7b 91 + 15 01 00 00 00 00 02 7c da + 15 01 00 00 00 00 02 7d 10 + 15 01 00 00 00 00 02 7e 04 + 15 01 00 00 00 00 02 7f 1b + 15 01 00 00 00 00 02 80 00 + 15 01 00 00 00 00 02 81 05 + 15 01 00 00 00 00 02 82 01 + 15 01 00 00 00 00 02 83 00 + 15 01 00 00 00 00 02 84 05 + 15 01 00 00 00 00 02 85 05 + 15 01 00 00 00 00 02 86 1b + 15 01 00 00 00 00 02 87 1b + 15 01 00 00 00 00 02 88 1b + 15 01 00 00 00 00 02 89 1b + 15 01 00 00 00 00 02 8a 00 + 15 01 00 00 00 00 02 8b f0 + 15 01 00 00 00 00 02 8c 00 + 15 01 00 00 00 00 02 8f 63 + 15 01 00 00 00 00 02 90 51 + 15 01 00 00 00 00 02 91 40 + 15 01 00 00 00 00 02 92 51 + 15 01 00 00 00 00 02 93 08 + 15 01 00 00 00 00 02 94 08 + 15 01 00 00 00 00 02 95 51 + 15 01 00 00 00 00 02 96 51 + 15 01 00 00 00 00 02 97 00 + 15 01 00 00 00 00 02 98 00 + 15 01 00 00 00 00 02 99 33 + 15 01 00 00 00 00 02 9b ff + 15 01 00 00 00 00 02 9c 01 + 15 01 00 00 00 00 02 9d 30 + 15 01 00 00 00 00 02 a5 10 + 15 01 00 00 00 00 02 a6 01 + 15 01 00 00 00 00 02 a9 21 + 15 01 00 00 00 00 02 b3 2a + 15 01 00 00 00 00 02 b4 da + 15 01 00 00 00 00 02 ba 83 + 15 01 00 00 00 00 02 c4 24 + 15 01 00 00 00 00 02 c5 aa + 15 01 00 00 00 00 02 c6 09 + 15 01 00 00 00 00 02 c7 00 + 15 01 00 00 00 00 02 c9 c0 + 15 01 00 00 00 00 02 ca 04 + 15 01 00 00 00 00 02 d5 3f + 15 01 00 00 00 00 02 d6 10 + 15 01 00 00 00 00 02 d7 3f + 15 01 00 00 00 00 02 d8 10 + 15 01 00 00 00 00 02 d9 ee + 15 01 00 00 00 00 02 da 49 + 15 01 00 00 00 00 02 db 94 + 15 01 00 00 00 00 02 e9 33 + 15 01 00 00 00 00 02 eb 28 + 15 01 00 00 00 00 02 ec 00 + 15 01 00 00 00 00 02 ee 00 + 15 01 00 00 00 00 02 ef 06 + 15 01 00 00 00 00 02 f0 01 + 15 01 00 00 00 00 02 f1 01 + 15 01 00 00 00 00 02 f2 0d + 15 01 00 00 00 00 02 f3 48 + 15 01 00 00 00 00 02 f6 00 + 15 01 00 00 00 00 02 f7 00 + 15 01 00 00 00 00 02 f8 00 + 15 01 00 00 00 00 02 f9 00 + 15 01 00 00 00 00 02 ff 26 + 15 01 00 00 00 00 02 fb 01 + 15 01 00 00 00 00 02 00 ab + 15 01 00 00 00 00 02 01 00 + 15 01 00 00 00 00 02 02 80 + 15 01 00 00 00 00 02 03 08 + 15 01 00 00 00 00 02 04 01 + 15 01 00 00 00 00 02 05 32 + 15 01 00 00 00 00 02 06 4c + 15 01 00 00 00 00 02 07 26 + 15 01 00 00 00 00 02 08 09 + 15 01 00 00 00 00 02 09 02 + 15 01 00 00 00 00 02 0a 32 + 15 01 00 00 00 00 02 0b 55 + 15 01 00 00 00 00 02 0c 14 + 15 01 00 00 00 00 02 0d 28 + 15 01 00 00 00 00 02 0e 40 + 15 01 00 00 00 00 02 0f 80 + 15 01 00 00 00 00 02 10 00 + 15 01 00 00 00 00 02 11 22 + 15 01 00 00 00 00 02 12 0a + 15 01 00 00 00 00 02 13 20 + 15 01 00 00 00 00 02 14 06 + 15 01 00 00 00 00 02 15 00 + 15 01 00 00 00 00 02 16 40 + 15 01 00 00 00 00 02 19 43 + 15 01 00 00 00 00 02 1a 03 + 15 01 00 00 00 00 02 1b 25 + 15 01 00 00 00 00 02 1c 11 + 15 01 00 00 00 00 02 1d 00 + 15 01 00 00 00 00 02 1e 80 + 15 01 00 00 00 00 02 1f 00 + 15 01 00 00 00 00 02 20 03 + 15 01 00 00 00 00 02 21 03 + 15 01 00 00 00 00 02 22 25 + 15 01 00 00 00 00 02 23 25 + 15 01 00 00 00 00 02 24 00 + 15 01 00 00 00 00 02 25 a7 + 15 01 00 00 00 00 02 26 80 + 15 01 00 00 00 00 02 27 a5 + 15 01 00 00 00 00 02 28 06 + 15 01 00 00 00 00 02 29 85 + 15 01 00 00 00 00 02 2a 30 + 15 01 00 00 00 00 02 2b 97 + 15 01 00 00 00 00 02 2f 25 + 15 01 00 00 00 00 02 30 26 + 15 01 00 00 00 00 02 31 41 + 15 01 00 00 00 00 02 32 04 + 15 01 00 00 00 00 02 33 04 + 15 01 00 00 00 00 02 34 2b + 15 01 00 00 00 00 02 35 00 + 15 01 00 00 00 00 02 36 00 + 15 01 00 00 00 00 02 37 c8 + 15 01 00 00 00 00 02 38 26 + 15 01 00 00 00 00 02 39 25 + 15 01 00 00 00 00 02 3a 26 + 15 01 00 00 00 00 02 3f eb + 15 01 00 00 00 00 02 41 21 + 15 01 00 00 00 00 02 42 03 + 15 01 00 00 00 00 02 43 00 + 15 01 00 00 00 00 02 44 11 + 15 01 00 00 00 00 02 45 00 + 15 01 00 00 00 00 02 46 00 + 15 01 00 00 00 00 02 47 00 + 15 01 00 00 00 00 02 48 03 + 15 01 00 00 00 00 02 49 03 + 15 01 00 00 00 00 02 4a 00 + 15 01 00 00 00 00 02 4b 00 + 15 01 00 00 00 00 02 4c 01 + 15 01 00 00 00 00 02 4d 4e + 15 01 00 00 00 00 02 4e 01 + 15 01 00 00 00 00 02 4f 4c + 15 01 00 00 00 00 02 50 0d + 15 01 00 00 00 00 02 51 0e + 15 01 00 00 00 00 02 52 20 + 15 01 00 00 00 00 02 53 97 + 15 01 00 00 00 00 02 54 4b + 15 01 00 00 00 00 02 55 4c + 15 01 00 00 00 00 02 56 20 + 15 01 00 00 00 00 02 58 04 + 15 01 00 00 00 00 02 59 04 + 15 01 00 00 00 00 02 5a 09 + 15 01 00 00 00 00 02 5b 00 + 15 01 00 00 00 00 02 5c 00 + 15 01 00 00 00 00 02 5d c8 + 15 01 00 00 00 00 02 5e 4c + 15 01 00 00 00 00 02 5f 4b + 15 01 00 00 00 00 02 60 00 + 15 01 00 00 00 00 02 80 2b + 15 01 00 00 00 00 02 81 43 + 15 01 00 00 00 00 02 82 03 + 15 01 00 00 00 00 02 83 25 + 15 01 00 00 00 00 02 84 11 + 15 01 00 00 00 00 02 85 00 + 15 01 00 00 00 00 02 86 80 + 15 01 00 00 00 00 02 87 00 + 15 01 00 00 00 00 02 88 00 + 15 01 00 00 00 00 02 89 03 + 15 01 00 00 00 00 02 8a 22 + 15 01 00 00 00 00 02 8b 25 + 15 01 00 00 00 00 02 8c 00 + 15 01 00 00 00 00 02 8d a4 + 15 01 00 00 00 00 02 8e 00 + 15 01 00 00 00 00 02 8f a2 + 15 01 00 00 00 00 02 90 06 + 15 01 00 00 00 00 02 91 63 + 15 01 00 00 00 00 02 92 30 + 15 01 00 00 00 00 02 93 97 + 15 01 00 00 00 00 02 94 25 + 15 01 00 00 00 00 02 95 26 + 15 01 00 00 00 00 02 96 41 + 15 01 00 00 00 00 02 97 04 + 15 01 00 00 00 00 02 98 04 + 15 01 00 00 00 00 02 99 f0 + 15 01 00 00 00 00 02 9a 00 + 15 01 00 00 00 00 02 9b 00 + 15 01 00 00 00 00 02 9c c8 + 15 01 00 00 00 00 02 9d 50 + 15 01 00 00 00 00 02 9e 26 + 15 01 00 00 00 00 02 9f 25 + 15 01 00 00 00 00 02 a0 26 + 15 01 00 00 00 00 02 a2 00 + 15 01 00 00 00 00 02 a3 33 + 15 01 00 00 00 00 02 a5 40 + 15 01 00 00 00 00 02 a6 40 + 15 01 00 00 00 00 02 ac 91 + 15 01 00 00 00 00 02 ad 66 + 15 01 00 00 00 00 02 ae 66 + 15 01 00 00 00 00 02 b1 40 + 15 01 00 00 00 00 02 b2 40 + 15 01 00 00 00 00 02 b4 40 + 15 01 00 00 00 00 02 b5 40 + 15 01 00 00 00 00 02 b7 40 + 15 01 00 00 00 00 02 b8 40 + 15 01 00 00 00 00 02 ba 22 + 15 01 00 00 00 00 02 bb 00 + 15 01 00 00 00 00 02 c2 01 + 15 01 00 00 00 00 02 c3 01 + 15 01 00 00 00 00 02 c4 01 + 15 01 00 00 00 00 02 c5 01 + 15 01 00 00 00 00 02 c6 01 + 15 01 00 00 00 00 02 c8 00 + 15 01 00 00 00 00 02 c9 00 + 15 01 00 00 00 00 02 ca 00 + 15 01 00 00 00 00 02 cd 00 + 15 01 00 00 00 00 02 ce 00 + 15 01 00 00 00 00 02 d6 04 + 15 01 00 00 00 00 02 d7 00 + 15 01 00 00 00 00 02 d8 0d + 15 01 00 00 00 00 02 d9 00 + 15 01 00 00 00 00 02 da 00 + 15 01 00 00 00 00 02 db 00 + 15 01 00 00 00 00 02 dc 00 + 15 01 00 00 00 00 02 dd 00 + 15 01 00 00 00 00 02 de 00 + 15 01 00 00 00 00 02 df 01 + 15 01 00 00 00 00 02 e0 00 + 15 01 00 00 00 00 02 e1 00 + 15 01 00 00 00 00 02 e2 19 + 15 01 00 00 00 00 02 e3 04 + 15 01 00 00 00 00 02 e4 00 + 15 01 00 00 00 00 02 e5 04 + 15 01 00 00 00 00 02 e6 00 + 15 01 00 00 00 00 02 e7 12 + 15 01 00 00 00 00 02 e8 00 + 15 01 00 00 00 00 02 e9 50 + 15 01 00 00 00 00 02 ea 10 + 15 01 00 00 00 00 02 eb 02 + 15 01 00 00 00 00 02 ff 27 + 15 01 00 00 00 00 02 fb 01 + 15 01 00 00 00 00 02 ff 28 + 15 01 00 00 00 00 02 fb 01 + 15 01 00 00 00 00 02 60 0a + 15 01 00 00 00 00 02 63 32 + 15 01 00 00 00 00 02 64 01 + 15 01 00 00 00 00 02 68 da + 15 01 00 00 00 00 02 69 00 + 15 01 00 00 00 00 02 ff 29 + 15 01 00 00 00 00 02 fb 01 + 15 01 00 00 00 00 02 60 0a + 15 01 00 00 00 00 02 63 32 + 15 01 00 00 00 00 02 64 01 + 15 01 00 00 00 00 02 68 da + 15 01 00 00 00 00 02 69 00 + 15 01 00 00 00 00 02 ff e0 + 15 01 00 00 00 00 02 fb 01 + 15 01 00 00 00 00 02 35 40 + 15 01 00 00 00 00 02 36 40 + 15 01 00 00 00 00 02 37 00 + 15 01 00 00 00 00 02 89 c6 + 15 01 00 00 00 00 02 ff f0 + 15 01 00 00 00 00 02 fb 01 + 15 01 00 00 00 00 02 ea 40 + 15 01 00 00 00 00 02 ff 10 + 15 01 00 00 00 00 02 36 00 + 15 01 00 00 00 00 02 35 00 + 39 01 00 00 00 00 03 44 03 e8 + 15 01 00 00 00 00 02 51 ff + 15 01 00 00 00 00 02 53 2c + 15 01 00 00 00 00 02 55 01 + 05 01 00 00 0a 00 02 20 00 + 15 01 00 00 00 00 02 bb 10 + 05 01 00 00 78 00 02 11 00 + 05 01 00 00 14 00 02 29 00]; + qcom,mdss-dsi-off-command = [05 01 00 00 14 00 02 28 00 + 05 01 00 00 78 00 02 10 00]; + qcom,mdss-dsi-on-command-state = "dsi_lp_mode"; + qcom,mdss-dsi-off-command-state = "dsi_hs_mode"; + qcom,mdss-dsi-h-sync-pulse = <0>; qcom,mdss-dsi-traffic-mode = "non_burst_sync_event"; qcom,mdss-dsi-lane-map = "lane_map_0123"; qcom,mdss-dsi-bllp-eof-power-mode; qcom,mdss-dsi-bllp-power-mode; qcom,mdss-dsi-tx-eot-append; + qcom,cmd-sync-wait-broadcast; qcom,mdss-dsi-lane-0-state; qcom,mdss-dsi-lane-1-state; qcom,mdss-dsi-lane-2-state; @@ -30,51 +389,16 @@ qcom,mdss-dsi-te-dcs-command = <1>; qcom,mdss-dsi-te-check-enable; qcom,mdss-dsi-te-using-te-pin; + qcom,mdss-dsi-panel-timings = + [da 34 24 00 64 68 28 38 2a 03 04 00]; + qcom,mdss-dsi-t-clk-pre = <0x29>; + qcom,mdss-dsi-t-clk-post = <0x03>; qcom,mdss-dsi-dma-trigger = "trigger_sw"; qcom,mdss-dsi-mdp-trigger = "none"; qcom,mdss-dsi-lp11-init; 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-reset-sequence = <1 10>, <0 10>, <1 50>; - qcom,mdss-dsi-display-timings { - timing@0 { - qcom,mdss-dsi-panel-framerate = <60>; - qcom,mdss-dsi-panel-width = <720>; - qcom,mdss-dsi-panel-height = <2560>; - qcom,mdss-dsi-h-front-porch = <120>; - qcom,mdss-dsi-h-back-porch = <140>; - qcom,mdss-dsi-h-pulse-width = <20>; - qcom,mdss-dsi-h-sync-skew = <0>; - qcom,mdss-dsi-v-back-porch = <20>; - qcom,mdss-dsi-v-front-porch = <8>; - qcom,mdss-dsi-v-pulse-width = <4>; - qcom,mdss-dsi-h-left-border = <0>; - qcom,mdss-dsi-h-right-border = <0>; - qcom,mdss-dsi-v-top-border = <0>; - qcom,mdss-dsi-v-bottom-border = <0>; - qcom,mdss-dsi-on-command = [ - 15 01 00 00 00 00 02 ff 10 - 15 01 00 00 00 00 02 fb 01 - 15 01 00 00 00 00 02 36 00 - 15 01 00 00 00 00 02 35 00 - 39 01 00 00 00 00 03 44 03 e8 - 15 01 00 00 00 00 02 51 ff - 15 01 00 00 00 00 02 53 2c - 15 01 00 00 00 00 02 55 01 - 05 01 00 00 0a 00 02 20 00 - 15 01 00 00 00 00 02 bb 10 - 05 01 00 00 78 00 02 11 00 - 05 01 00 00 78 00 02 29 00 - ]; - qcom,mdss-dsi-off-command = [ - 05 01 00 00 78 00 02 28 00 - 05 01 00 00 78 00 02 10 00 - ]; - qcom,mdss-dsi-on-command-state = "dsi_lp_mode"; - qcom,mdss-dsi-off-command-state = "dsi_hs_mode"; - qcom,mdss-dsi-h-sync-pulse = <0>; - }; - }; + qcom,mdss-dsi-reset-sequence = <1 10>, <0 10>, <1 10>; }; }; diff --git a/qcom/fg-gen4-batterydata-goertek-650mah.dtsi b/qcom/fg-gen4-batterydata-goertek-650mah.dtsi new file mode 100644 index 00000000..f85b7aa3 --- /dev/null +++ b/qcom/fg-gen4-batterydata-goertek-650mah.dtsi @@ -0,0 +1,123 @@ +qcom,5376013_goertek_oracle_650mah_pm8150b_sept23rd2021 { + /* #5376013_Goertek_Oracle_650mAH_averaged_MasterSlave_Sept23rd2021*/ + qcom,max-voltage-uv = <4480000>; + qcom,fg-cc-cv-threshold-mv = <4470>; + qcom,nom-batt-capacity-mah = <650>; + qcom,batt-id-kohm = <100>; + qcom,battery-beta = <4250>; + qcom,therm-room-temp = <100000>; + qcom,battery-type = "goertek_oracle_650mah_pm8150b_sept23rd2021"; + qcom,therm-coefficients = <0x2318 0xd0c 0xdaf7 0xc556 0x848d>; + qcom,therm-center-offset = <0x70>; + qcom,therm-pull-up = <100>; + qcom,rslow-normal-coeffs = <0x3b 0xf2 0x34 0x0b>; + qcom,rslow-low-coeffs = <0x3f 0x0d 0x0c 0xea>; + qcom,checksum = <0x4B53>; + qcom,gui-version = "PM855GUI - 1.0.0.14"; + qcom,fg-profile-data = [ + 09 00 2F 01 + F8 05 9C 03 + 0F FC 00 00 + 3D CC 0D A2 + CC 87 E0 C2 + F1 C5 80 87 + 52 00 3B F2 + 34 0B FE D5 + 9A E2 CE 07 + 32 00 6E F2 + 15 E2 4A E2 + 62 13 97 F2 + FA C5 F1 1A + 15 07 DE CD + 60 00 42 00 + 40 00 3E 00 + 39 00 3D 00 + 3C 00 41 00 + 51 00 54 00 + 4C 00 60 00 + 34 00 3F 00 + 40 00 38 00 + 44 00 36 00 + 61 64 4A 00 + 3B E8 3E 00 + 60 F0 21 00 + 28 08 23 18 + 30 18 3D 00 + 2A 18 53 40 + 30 58 2A 07 + 33 00 D8 00 + 6F 1C 14 0B + 1C 02 59 0D + 6E 19 D9 13 + 4E 0D 1E 1B + B6 18 43 33 + 78 3D 80 03 + 4F 1B 3C 1F + 2A 05 63 0B + 30 05 C3 19 + 85 0A EC 0D + 6B 0B C4 17 + 68 1A C5 2D + 60 3B 85 20 + ED 1E 75 F5 + 3E F3 40 F5 + FE 19 3D EA + 97 04 D5 CA + E3 17 1E A2 + BA 84 0E CA + 87 C0 09 80 + B6 03 29 FD + B7 03 1C 05 + 00 F8 87 E4 + 04 D2 CB DF + 50 E2 8D CC + E4 25 30 00 + E8 E6 85 02 + EF 06 7E 00 + CE 07 32 00 + 15 03 56 02 + C3 05 C9 05 + 62 04 42 02 + C4 02 49 01 + EB 05 60 00 + 39 00 46 00 + 47 64 4B 00 + 52 08 53 10 + 52 08 51 00 + 50 00 3F 08 + 60 08 54 00 + 5B 20 5B 38 + 58 48 6B 15 + 74 00 5E 08 + 6B 10 60 00 + 6C 00 60 00 + 77 08 69 08 + 70 00 5F 20 + 73 38 7E 48 + 60 18 6F 00 + 72 08 8B 10 + D8 08 7F 23 + 9F 04 F1 02 + 83 05 E1 1C + 27 22 DF 3D + 4E 4A C7 18 + 7B 02 65 04 + A4 03 8E 17 + 3F 0A 8C 21 + 99 05 4E 02 + 25 04 9A 1C + 3B 02 F0 05 + 4A 02 C4 18 + 0F 02 69 05 + 49 02 87 00 + 38 22 36 05 + 9E 02 C3 05 + 65 1C 21 02 + D7 04 89 03 + B0 18 07 02 + 67 05 59 02 + 91 00 10 03 + C0 00 FA 00 + 93 02 00 00 + ]; +}; diff --git a/qcom/khaje-atp-overlay.dts b/qcom/khaje-atp-overlay.dts new file mode 100644 index 00000000..bc5789fc --- /dev/null +++ b/qcom/khaje-atp-overlay.dts @@ -0,0 +1,14 @@ +/dts-v1/; +/plugin/; + +#include <dt-bindings/interrupt-controller/arm-gic.h> +#include "khaje-atp.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. Khaje ATP"; + compatible = "qcom,khaje-atp", "qcom,khaje", "qcom,atp"; + qcom,msm-id = <518 0x10000>; + qcom,board-id = <33 0>; + qcom,pmic-id = <0x2D 0x2E 0x0 0x0>; +}; + diff --git a/qcom/khaje-atp.dts b/qcom/khaje-atp.dts new file mode 100644 index 00000000..fc94ce2e --- /dev/null +++ b/qcom/khaje-atp.dts @@ -0,0 +1,12 @@ +/dts-v1/; + +#include "khaje.dtsi" +#include "khaje-atp.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. Khaje ATP"; + compatible = "qcom,khaje-atp", "qcom,khaje", "qcom,atp"; + qcom,board-id = <33 0>; + qcom,pmic-id = <0x2D 0x2E 0x0 0x0>; +}; + diff --git a/qcom/khaje-atp.dtsi b/qcom/khaje-atp.dtsi new file mode 100644 index 00000000..50b6b9a1 --- /dev/null +++ b/qcom/khaje-atp.dtsi @@ -0,0 +1,309 @@ +#include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/iio/qcom,spmi-vadc.h> +#include <dt-bindings/input/input.h> +#include "bengal-audio-overlay.dtsi" +#include "khaje-sde-display.dtsi" +#include "khaje-pm7250b.dtsi" + +&pm6125_gpios { + eldo9_pin { + usb_eldo9:gpio@c000 { + pins = "gpio1"; + function = "normal"; + qcom,drive-strength = <2>; + power-source = <0>; + bias-disable; + output-high; + }; + }; +}; + +&soc { + vdda_usb_ss_dp_core: vdda_usb_ss_dp_core { + compatible = "regulator-fixed"; + regulator-name = "vdd_supply"; + regulator-min-microvolt = <880000>; + regulator-max-microvolt = <880000>; + enable-active-high; + gpio = <&pm6125_gpios 1 GPIO_ACTIVE_HIGH>; + pinctrl-names = "default"; + pinctrl-0 = <&usb_eldo9>; + }; +}; + +&sdhc_1 { + vdd-supply = <&L24A>; + qcom,vdd-voltage-level = <2960000 2960000>; + qcom,vdd-current-level = <0 570000>; + + vdd-io-supply = <&L11A>; + qcom,vdd-io-always-on; + qcom,vdd-io-lpm-sup; + qcom,vdd-io-voltage-level = <1800000 1800000>; + qcom,vdd-io-current-level = <0 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>; + + status = "ok"; +}; + +&sdhc_2 { + vdd-supply = <&L22A>; + qcom,vdd-voltage-level = <2960000 2960000>; + qcom,vdd-current-level = <0 800000>; + + vdd-io-supply = <&L5A>; + qcom,vdd-io-voltage-level = <1800000 2960000>; + qcom,vdd-io-current-level = <0 22000>; + + vdd-io-bias-supply = <&L7A>; + qcom,vdd-io-bias-voltage-level = <1256000 1256000>; + qcom,vdd-io-bias-current-level = <0 6000>; + + 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>; + + cd-gpios = <&tlmm 88 GPIO_ACTIVE_LOW>; + + status = "ok"; +}; + +&ufsphy_mem { + compatible = "qcom,ufs-phy-qmp-v4"; + + vdda-phy-supply = <&L4A>; /* 0.9v */ + vdda-pll-supply = <&L18A>; /* 1.8v */ + vdda-phy-max-microamp = <85700>; + vdda-pll-max-microamp = <18300>; + + status = "ok"; +}; + +&ufshc_mem { + vdd-hba-supply = <&gcc_ufs_phy_gdsc>; + vdd-hba-fixed-regulator; + vcc-supply = <&L24A>; + vcc-voltage-level = <2950000 2960000>; + vccq2-supply = <&L11A>; + vccq2-voltage-level = <1800000 1800000>; + vcc-max-microamp = <800000>; + vccq2-max-microamp = <800000>; + vccq2-pwr-collapse-sup; + + qcom,vddp-ref-clk-supply = <&L18A>; + qcom,vddp-ref-clk-max-microamp = <100>; + qcom,vddp-ref-clk-min-uV = <1232000>; + qcom,vddp-ref-clk-max-uV = <1232000>; + + status = "ok"; +}; + +&usb_qmp_dp_phy { + vdd-supply = <&vdda_usb_ss_dp_core>; +}; + +&pm6125_vadc { + pinctrl-0 = <&camera_therm_default &emmc_therm_default &rf_pa1_therm_default>; + + rf_pa1_therm { + reg = <ADC_GPIO4_PU2>; + label = "rf_pa1_therm"; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + qcom,pre-scaling = <1 1>; + }; +}; + +&pm6125_adc_tm { + io-channels = <&pm6125_vadc ADC_AMUX_THM1_PU2>, + <&pm6125_vadc ADC_AMUX_THM2_PU2>, + <&pm6125_vadc ADC_XO_THERM_PU2>, + <&pm6125_vadc ADC_GPIO4_PU2>; + + rf_pa1_therm { + reg = <ADC_GPIO4_PU2>; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + }; +}; + +&thermal_zones { + rf-pa1-therm-usr { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&pm6125_adc_tm ADC_GPIO4_PU2>; + wake-capable-sensor; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; +}; + +&pm6125_gpios { + + rf_pa1_therm { + rf_pa1_therm_default: rf_pa1_therm_default { + pins = "gpio7"; + bias-high-impedance; + }; + }; + + key_vol_up { + key_vol_up_default: key_vol_up_default { + pins = "gpio5"; + function = "normal"; + input-enable; + bias-pull-up; + power-source = <0>; + }; + }; +}; + +&soc { + gpio_keys { + compatible = "gpio-keys"; + label = "gpio-keys"; + + pinctrl-names = "default"; + pinctrl-0 = <&key_vol_up_default>; + + vol_up { + label = "volume_up"; + gpios = <&pm6125_gpios 5 GPIO_ACTIVE_LOW>; + linux,input-type = <1>; + linux,code = <KEY_VOLUMEUP>; + linux,can-disable; + debounce-interval = <15>; + gpio-key,wakeup; + }; + }; +}; + +&pm7250b_charger { + status = "ok"; + io-channels = <&pm7250b_vadc ADC_USB_IN_V_16>, + <&pm7250b_vadc ADC_USB_IN_I>, + <&pm7250b_vadc ADC_CHG_TEMP>, + <&pm7250b_vadc ADC_DIE_TEMP>, + <&pm7250b_vadc ADC_AMUX_THM3_PU2>, + <&pm7250b_vadc ADC_SBUx>, + <&pm7250b_vadc ADC_VPH_PWR>; + io-channel-names = "usb_in_voltage", + "usb_in_current", + "chg_temp", + "die_temp", + "conn_temp", + "sbux_res", + "vph_voltage"; + qcom,batteryless-platform; + qcom,sec-charger-config = <0>; + qcom,auto-recharge-soc = <98>; + qcom,step-charging-enable; + qcom,sw-jeita-enable; + qcom,charger-temp-max = <800>; + qcom,suspend-input-on-debug-batt; +}; + +&pm7250b_qg { + status = "ok"; + io-channels = <&pm7250b_vadc ADC_BAT_THERM_PU2>, + <&pm7250b_vadc ADC_BAT_ID_PU2>; + io-channel-names = "batt-therm", + "batt-id"; + qcom,qg-iterm-ma = <150>; + qcom,hold-soc-while-full; + qcom,linearize-soc; + qcom,cl-feedback-on; +}; + +&pm8008_8 { + status = "disabled"; +}; + +&pm8008_9 { + status = "disabled"; +}; + +&pm6125_pwm { + status = "okay"; +}; + +&dsi_nt36672e_fhd_plus_90hz_video { + qcom,panel-supply-entries = <&dsi_panel_pwr_supply_no_labibb>; + qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_pwm"; + pwms = <&pm6125_pwm 0 0>; + qcom,bl-pmic-pwm-period-usecs = <100>; + qcom,mdss-dsi-bl-min-level = <1>; + qcom,mdss-dsi-bl-max-level = <4095>; + qcom,platform-reset-gpio = <&tlmm 82 0>; + qcom,platform-en-gpio = <&pm7250b_gpios 5 0>; + qcom,platform-bklight-en-gpio = <&pm7250b_gpios 1 0>; + /delete-property/ qcom,esd-check-enabled; +}; + +&dsi_sim_vid { + qcom,panel-supply-entries = <&dsi_panel_pwr_supply_no_labibb>; + qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs"; + qcom,platform-reset-gpio = <&tlmm 82 0>; +}; + +&sde_dsi { + qcom,dsi-default-panel = <&dsi_nt36672e_fhd_plus_90hz_video>; + pinctrl-0 = <&sde_dsi_active &sde_te_active &disp_lcd_bias_en_default>; +}; + +&qupv3_se2_i2c { + status = "okay"; + qcom,i2c-touch-active="novatek,NVT-ts"; + + novatek@62 { + compatible = "novatek,NVT-ts"; + reg = <0x62>; + status = "ok"; + + interrupt-parent = <&tlmm>; + interrupts = <80 0x2008>; + 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>; + + novatek,reset-gpio = <&tlmm 86 0x00>; + novatek,irq-gpio = <&tlmm 80 0x2008>; + + panel = <&dsi_nt36672e_fhd_plus_90hz_video>; + }; +}; + +&pm7250b_charger { + dpdm-supply = <&usb2_phy0>; + + smb5_vbus: qcom,smb5-vbus { + regulator-name = "smb5-vbus"; + }; + + smb5_vconn: qcom,smb5-vconn { + regulator-name = "smb5-vconn"; + }; +}; + +&pm7250b_pdphy { + vdd-pdphy-supply = <&L15A>; + vbus-supply = <&smb5_vbus>; + vconn-supply = <&smb5_vconn>; +}; + +&usb0 { + extcon = <&pm7250b_pdphy>, <&pm7250b_charger>, <&eud>; +}; diff --git a/qcom/khaje-idp-nopmi-overlay.dts b/qcom/khaje-idp-nopmi-overlay.dts new file mode 100644 index 00000000..566b24f0 --- /dev/null +++ b/qcom/khaje-idp-nopmi-overlay.dts @@ -0,0 +1,13 @@ +/dts-v1/; +/plugin/; + +#include <dt-bindings/interrupt-controller/arm-gic.h> +#include "khaje-idp-nopmi.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. KHAJE IDP nopmi"; + compatible = "qcom,khaje-idp", "qcom,khaje", "qcom,idp"; + qcom,msm-id = <518 0x10000>; + qcom,board-id = <0x10022 0>; + qcom,pmic-id = <0x2D 0x0 0x0 0x0>; +}; diff --git a/qcom/khaje-idp-nopmi.dts b/qcom/khaje-idp-nopmi.dts new file mode 100644 index 00000000..31d8418b --- /dev/null +++ b/qcom/khaje-idp-nopmi.dts @@ -0,0 +1,11 @@ +/dts-v1/; + +#include "khaje.dtsi" +#include "khaje-idp-nopmi.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. KHAJE IDP nopmi"; + compatible = "qcom,khaje-idp", "qcom,khaje", "qcom,idp"; + qcom,board-id = <0x10022 0>; + qcom,pmic-id = <0x2D 0x0 0x0 0x0>; +}; diff --git a/qcom/khaje-idp-nopmi.dtsi b/qcom/khaje-idp-nopmi.dtsi new file mode 100644 index 00000000..ec89efa1 --- /dev/null +++ b/qcom/khaje-idp-nopmi.dtsi @@ -0,0 +1,30 @@ +#include "khaje-idp.dtsi" + +&dsi_td4330_truly_v2_video { + /delete-property/ qcom,esd-check-enabled; +}; + +&dsi_td4330_truly_v2_cmd { + /delete-property/ qcom,esd-check-enabled; +}; + +&dsi_nt36672e_fhd_plus_90hz_video { + /delete-property/ qcom,esd-check-enabled; +}; + +&qupv3_se2_i2c { + synaptics_tcm@20 { + status = "disabled"; + }; + + novatek@62 { + status = "disabled"; + }; +}; + +&usb0 { + /delete-property/ extcon; + dwc3@4e00000 { + dr_mode = "peripheral"; + }; +}; diff --git a/qcom/khaje-idp-overlay.dts b/qcom/khaje-idp-overlay.dts new file mode 100644 index 00000000..dea903c5 --- /dev/null +++ b/qcom/khaje-idp-overlay.dts @@ -0,0 +1,14 @@ +/dts-v1/; +/plugin/; + +#include <dt-bindings/interrupt-controller/arm-gic.h> +#include "khaje-idp.dtsi" +#include "khaje-idp-pm7250b.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. Khaje IDP"; + compatible = "qcom,khaje-idp", "qcom,khaje", "qcom,idp"; + qcom,msm-id = <518 0x10000>; + qcom,board-id = <0x10022 0>; + qcom,pmic-id = <0x2D 0x2E 0x0 0x0>; +}; diff --git a/qcom/khaje-idp-pm7250b.dtsi b/qcom/khaje-idp-pm7250b.dtsi new file mode 100644 index 00000000..7008c7e9 --- /dev/null +++ b/qcom/khaje-idp-pm7250b.dtsi @@ -0,0 +1,156 @@ +#include "khaje-pm7250b.dtsi" +#include "khaje-thermal-pm7250b-overlay.dtsi" +#include <dt-bindings/pinctrl/qcom,pmic-gpio.h> + +&soc { + mtp_batterydata: qcom,battery-data { + qcom,batt-id-range-pct = <15>; + #include "qg-batterydata-alium-3600mah.dtsi" + }; +}; + +&pm7250b_gpios { + pm7250b_smb_int_default: pm7250b_smb_int_default { + pins = "gpio6"; + function = "gpio"; + input-enable; + bias-pull-up; + qcom,pull-up-strength = <PMIC_GPIO_PULL_UP_30>; + power-source = <0>; + }; +}; + +&qupv3_se1_i2c { + status = "ok"; + #include "smb1355.dtsi" +}; + +&smb1355 { + pinctrl-names = "default"; + pinctrl-0 = <&pm7250b_smb_int_default>; + status = "ok"; +}; + +&smb1355_charger { + qcom,parallel-mode = <1>; + qcom,hw-die-temp-mitigation; + status = "ok"; +}; + +&pm7250b_charger { + status = "ok"; + io-channels = <&pm7250b_vadc ADC_USB_IN_V_16>, + <&pm7250b_vadc ADC_USB_IN_I>, + <&pm7250b_vadc ADC_CHG_TEMP>, + <&pm7250b_vadc ADC_DIE_TEMP>, + <&pm7250b_vadc ADC_AMUX_THM3_PU2>, + <&pm7250b_vadc ADC_SBUx>, + <&pm7250b_vadc ADC_VPH_PWR>, + <&pm7250b_vadc ADC_AMUX_THM1_PU2>; + io-channel-names = "usb_in_voltage", + "usb_in_current", + "chg_temp", + "die_temp", + "conn_temp", + "sbux_res", + "vph_voltage", + "skin_temp"; + qcom,battery-data = <&mtp_batterydata>; + qcom,sec-charger-config = <2>; + qcom,auto-recharge-soc = <98>; + qcom,step-charging-enable; + qcom,sw-jeita-enable; + qcom,charger-temp-max = <800>; + qcom,smb-temp-max = <800>; + qcom,suspend-input-on-debug-batt; + qcom,fcc-stepping-enable; + qcom,fcc-step-delay-ms = <100>; + qcom,fcc-step-size-ua = <100000>; + qcom,smb-internal-pull-kohm = <0>; + qcom,en-skin-therm-mitigation; + qcom,hvdcp3-standalone-config; +}; + +&pm7250b_qg { + status = "ok"; + io-channels = <&pm7250b_vadc ADC_BAT_THERM_PU2>, + <&pm7250b_vadc ADC_BAT_ID_PU2>; + io-channel-names = "batt-therm", + "batt-id"; + qcom,battery-data = <&mtp_batterydata>; + qcom,qg-iterm-ma = <100>; + qcom,hold-soc-while-full; + qcom,linearize-soc; + qcom,cl-feedback-on; + qcom,tcss-enable; + qcom,fvss-enable; + qcom,fvss-vbatt-mv = <3500>; + qcom,bass-enable; + qcom,vbatt-cutoff-mv = <3400>; + qcom,vbatt-low-mv = <3500>; + qcom,vbatt-low-cold-mv = <3800>; + qcom,vbatt-empty-mv = <3200>; + qcom,vbatt-empty-cold-mv = <3100>; +}; + +&sde_dsi { + pinctrl-0 = <&sde_dsi_active &sde_te_active &disp_lcd_bias_en_default>; +}; + +&dsi_td4330_truly_v2_video { + qcom,platform-en-gpio = <&pm7250b_gpios 5 0>; + qcom,platform-bklight-en-gpio = <&pm7250b_gpios 1 0>; +}; + +&dsi_td4330_truly_v2_cmd { + qcom,platform-en-gpio = <&pm7250b_gpios 5 0>; + qcom,platform-bklight-en-gpio = <&pm7250b_gpios 1 0>; +}; + +&dsi_nt36672e_fhd_plus_90hz_video { + qcom,platform-en-gpio = <&pm7250b_gpios 5 0>; + qcom,platform-bklight-en-gpio = <&pm7250b_gpios 1 0>; +}; + +&dsi_nt36672e_fhd_plus_120hz_video { + qcom,platform-en-gpio = <&pm7250b_gpios 5 0>; + qcom,platform-bklight-en-gpio = <&pm7250b_gpios 1 0>; +}; + +&cam_res_mgr_label { + gpios = <&pm7250b_gpios 4 0>; +}; + +&led_flash_rear { + gpios = <&pm7250b_gpios 4 0>; +}; + +&led_flash_rear_aux { + gpios = <&pm7250b_gpios 4 0>; +}; + +&led_flash_rear_aux2 { + gpios = <&pm7250b_gpios 4 0>; +}; + +&pm7250b_charger { + dpdm-supply = <&usb2_phy0>; + + smb5_vbus: qcom,smb5-vbus { + regulator-name = "smb5-vbus"; + }; + + smb5_vconn: qcom,smb5-vconn { + regulator-name = "smb5-vconn"; + }; +}; + +&pm7250b_pdphy { + vdd-pdphy-supply = <&L15A>; + vbus-supply = <&smb5_vbus>; + vconn-supply = <&smb5_vconn>; +}; + +&usb0 { + extcon = <&pm7250b_pdphy>, <&pm7250b_charger>, <&eud>; +}; diff --git a/qcom/khaje-idp-pm8010-overlay.dts b/qcom/khaje-idp-pm8010-overlay.dts new file mode 100644 index 00000000..6031d889 --- /dev/null +++ b/qcom/khaje-idp-pm8010-overlay.dts @@ -0,0 +1,15 @@ +/dts-v1/; +/plugin/; + +#include <dt-bindings/interrupt-controller/arm-gic.h> +#include "khaje-idp.dtsi" +#include "khaje-idp-pm8010.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. Khaje IDP with PM8010"; + compatible = "qcom,khaje-idp", "qcom,khaje", "qcom,idp"; + qcom,msm-id = <518 0x10000>; + qcom,board-id = <0x10222 0>; + qcom,pmic-id = <0x2D 0x2E 0x0 0x0>; +}; + diff --git a/qcom/khaje-idp-pm8010.dts b/qcom/khaje-idp-pm8010.dts new file mode 100644 index 00000000..85b55f04 --- /dev/null +++ b/qcom/khaje-idp-pm8010.dts @@ -0,0 +1,13 @@ +/dts-v1/; + +#include "khaje.dtsi" +#include "khaje-idp.dtsi" +#include "khaje-idp-pm8010.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. KHAJE IDP with PM8010"; + compatible = "qcom,khaje-idp", "qcom,khaje", "qcom,idp"; + qcom,board-id = <0x10222 0>; + qcom,pmic-id = <0x02D 0x2E 0x0 0x0>; +}; + diff --git a/qcom/khaje-idp-pm8010.dtsi b/qcom/khaje-idp-pm8010.dtsi new file mode 100644 index 00000000..5979c7c9 --- /dev/null +++ b/qcom/khaje-idp-pm8010.dtsi @@ -0,0 +1,34 @@ +&soc { +}; + +&pm8008_regulators { + compatible = "qcom,pm8010-regulator"; +}; + +&L1P { + qcom,min-dropout-voltage = <40000>; +}; + +&L2P { + qcom,min-dropout-voltage = <64000>; +}; + +&L3P { + qcom,min-dropout-voltage = <96000>; +}; + +&L4P { + qcom,min-dropout-voltage = <136000>; +}; + +&L5P { + qcom,min-dropout-voltage = <176000>; +}; + +&L6P { + qcom,min-dropout-voltage = <168000>; +}; + +&L7P { + qcom,min-dropout-voltage = <80000>; +}; diff --git a/qcom/khaje-idp-usbc-overlay.dts b/qcom/khaje-idp-usbc-overlay.dts new file mode 100644 index 00000000..4993cdae --- /dev/null +++ b/qcom/khaje-idp-usbc-overlay.dts @@ -0,0 +1,16 @@ +/dts-v1/; +/plugin/; + +#include <dt-bindings/interrupt-controller/arm-gic.h> +#include "khaje-idp.dtsi" +#include "khaje-idp-pm7250b.dtsi" +#include "khaje-idp-usbc.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. KHAJE IDP USBC Audio"; + compatible = "qcom,khaje-idp", "qcom,khaje", "qcom,idp"; + qcom,msm-id = <518 0x10000>; + qcom,board-id = <0x1010022 0>; + qcom,pmic-id = <0x2D 0x2E 0x0 0x0>; +}; + diff --git a/qcom/khaje-idp-usbc.dts b/qcom/khaje-idp-usbc.dts new file mode 100644 index 00000000..7a62a6d1 --- /dev/null +++ b/qcom/khaje-idp-usbc.dts @@ -0,0 +1,15 @@ +/dts-v1/; + +#include "khaje.dtsi" +#include "khaje-idp.dtsi" +#include "khaje-idp-pm7250b.dtsi" +#include "khaje-idp-usbc.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. KHAJE IDP USBC Audio"; + compatible = "qcom,khaje-idp", "qcom,khaje", "qcom,idp"; + qcom,msm-id = <518 0x10000>; + qcom,board-id = <0x1010022 0>; + qcom,pmic-id = <0x2D 0x2E 0x0 0x0>; +}; + diff --git a/qcom/khaje-idp-usbc.dtsi b/qcom/khaje-idp-usbc.dtsi new file mode 100644 index 00000000..2a627c57 --- /dev/null +++ b/qcom/khaje-idp-usbc.dtsi @@ -0,0 +1,6 @@ +&bengal_snd { + qcom,msm-mbhc-usbc-audio-supported = <1>; + qcom,msm-mbhc-hphl-swh = <0>; + qcom,msm-mbhc-gnd-swh = <0>; +}; + diff --git a/qcom/khaje-idp.dts b/qcom/khaje-idp.dts new file mode 100644 index 00000000..3787ab3d --- /dev/null +++ b/qcom/khaje-idp.dts @@ -0,0 +1,12 @@ +/dts-v1/; + +#include "khaje.dtsi" +#include "khaje-idp.dtsi" +#include "khaje-idp-pm7250b.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. KHAJE IDP"; + compatible = "qcom,khaje-idp", "qcom,khaje", "qcom,idp"; + qcom,board-id = <0x10022 0>; + qcom,pmic-id = <0x2D 0x2E 0x0 0x0>; +}; diff --git a/qcom/khaje-idp.dtsi b/qcom/khaje-idp.dtsi new file mode 100644 index 00000000..e9b0f263 --- /dev/null +++ b/qcom/khaje-idp.dtsi @@ -0,0 +1,362 @@ +#include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/iio/qcom,spmi-vadc.h> +#include <dt-bindings/input/input.h> +#include "bengal-audio-overlay.dtsi" +#include "camera/khaje-camera-sensor-idp.dtsi" +#include "bengal-thermal-overlay.dtsi" +#include "khaje-sde-display.dtsi" + +&qupv3_se4_2uart { + status = "ok"; +}; + +&pm6125_vadc { + pinctrl-0 = <&camera_therm_default &emmc_therm_default &rf_pa1_therm_default>; + + rf_pa1_therm { + reg = <ADC_GPIO4_PU2>; + label = "rf_pa1_therm"; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + qcom,pre-scaling = <1 1>; + }; +}; + +&pm6125_adc_tm { + io-channels = <&pm6125_vadc ADC_AMUX_THM1_PU2>, + <&pm6125_vadc ADC_AMUX_THM2_PU2>, + <&pm6125_vadc ADC_XO_THERM_PU2>, + <&pm6125_vadc ADC_GPIO4_PU2>; + + rf_pa1_therm { + reg = <ADC_GPIO4_PU2>; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + }; +}; + +&thermal_zones { + rf-pa1-therm-usr { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&pm6125_adc_tm ADC_GPIO4_PU2>; + wake-capable-sensor; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; +}; + +&pm6125_gpios { + + rf_pa1_therm { + rf_pa1_therm_default: rf_pa1_therm_default { + pins = "gpio7"; + bias-high-impedance; + }; + }; + + key_vol_up { + key_vol_up_default: key_vol_up_default { + pins = "gpio5"; + function = "normal"; + input-enable; + bias-pull-up; + power-source = <0>; + }; + }; + + eldo9_pin { + usb_eldo9:gpio@c000 { + pins = "gpio1"; + function = "normal"; + qcom,drive-strength = <2>; + power-source = <0>; + bias-disable; + output-high; + }; + }; +}; + +&soc { + gpio_keys { + compatible = "gpio-keys"; + label = "gpio-keys"; + + pinctrl-names = "default"; + pinctrl-0 = <&key_vol_up_default>; + + vol_up { + label = "volume_up"; + gpios = <&pm6125_gpios 5 GPIO_ACTIVE_LOW>; + linux,input-type = <1>; + linux,code = <KEY_VOLUMEUP>; + linux,can-disable; + debounce-interval = <15>; + gpio-key,wakeup; + }; + }; + + vdda_usb_ss_dp_core: vdda_usb_ss_dp_core { + compatible = "regulator-fixed"; + regulator-name = "vdd_supply"; + regulator-min-microvolt = <880000>; + regulator-max-microvolt = <880000>; + enable-active-high; + gpio = <&pm6125_gpios 1 GPIO_ACTIVE_HIGH>; + pinctrl-names = "default"; + pinctrl-0 = <&usb_eldo9>; + }; +}; + +&usb_qmp_dp_phy { + vdd-supply = <&vdda_usb_ss_dp_core>; +}; + +&qupv3_se1_i2c { + awinic@64 { + compatible = "awinic,aw2016_led"; + reg = <0x64>; + + awinic,red { + awinic,name = "red"; + awinic,id = <0>; + awinic,imax = <2>; + awinic,led-current = <3>; + awinic,max-brightness = <255>; + awinic,rise-time-ms = <6>; + awinic,hold-time-ms = <0>; + awinic,fall-time-ms = <6>; + awinic,off-time-ms = <4>; + }; + + awinic,green { + awinic,name = "green"; + awinic,id = <1>; + awinic,imax = <2>; + awinic,led-current = <3>; + awinic,max-brightness = <255>; + awinic,rise-time-ms = <6>; + awinic,hold-time-ms = <0>; + awinic,fall-time-ms = <6>; + awinic,off-time-ms = <4>; + }; + + awinic,blue { + awinic,name = "blue"; + awinic,id = <2>; + awinic,imax = <2>; + awinic,led-current = <3>; + awinic,max-brightness = <255>; + awinic,rise-time-ms = <6>; + awinic,hold-time-ms = <0>; + awinic,fall-time-ms = <6>; + awinic,off-time-ms = <4>; + }; + + }; +}; + +&qupv3_se1_i2c { + status = "ok"; + #address-cells = <1>; + #size-cells = <0>; + nq@28 { + compatible = "qcom,nq-nci"; + reg = <0x28>; + qcom,nq-irq = <&tlmm 70 0x00>; + qcom,nq-ven = <&tlmm 69 0x00>; + qcom,nq-firm = <&tlmm 31 0x00>; + qcom,nq-clkreq = <&tlmm 71 0x00>; + interrupt-parent = <&tlmm>; + interrupts = <70 0>; + interrupt-names = "nfc_irq"; + pinctrl-names = "nfc_active", "nfc_suspend"; + pinctrl-0 = <&nfc_int_active &nfc_enable_active + &nfc_clk_req_active>; + pinctrl-1 = <&nfc_int_suspend &nfc_enable_suspend + &nfc_clk_req_suspend>; + }; +}; + +&sdhc_1 { + vdd-supply = <&L24A>; + qcom,vdd-voltage-level = <2960000 2960000>; + qcom,vdd-current-level = <0 570000>; + + vdd-io-supply = <&L11A>; + qcom,vdd-io-always-on; + qcom,vdd-io-lpm-sup; + qcom,vdd-io-voltage-level = <1800000 1800000>; + qcom,vdd-io-current-level = <0 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>; + + status = "ok"; +}; + +&sdhc_2 { + vdd-supply = <&L22A>; + qcom,vdd-voltage-level = <2960000 2960000>; + qcom,vdd-current-level = <0 800000>; + + vdd-io-supply = <&L5A>; + qcom,vdd-io-voltage-level = <1800000 2960000>; + qcom,vdd-io-current-level = <0 22000>; + + vdd-io-bias-supply = <&L7A>; + qcom,vdd-io-bias-voltage-level = <1256000 1256000>; + qcom,vdd-io-bias-current-level = <0 6000>; + + 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>; + + cd-gpios = <&tlmm 88 GPIO_ACTIVE_LOW>; + + status = "ok"; +}; + +&ufsphy_mem { + compatible = "qcom,ufs-phy-qmp-v4"; + + vdda-phy-supply = <&L4A>; /* 0.9v */ + vdda-pll-supply = <&L18A>; /* 1.8v */ + vdda-phy-max-microamp = <85700>; + vdda-pll-max-microamp = <18300>; + + status = "ok"; +}; + +&ufshc_mem { + vdd-hba-supply = <&gcc_ufs_phy_gdsc>; + vdd-hba-fixed-regulator; + vcc-supply = <&L24A>; + vcc-voltage-level = <2950000 2960000>; + vccq2-supply = <&L11A>; + vccq2-voltage-level = <1800000 1800000>; + vcc-max-microamp = <800000>; + vccq2-max-microamp = <800000>; + vccq2-pwr-collapse-sup; + + qcom,vddp-ref-clk-supply = <&L18A>; + qcom,vddp-ref-clk-max-microamp = <100>; + qcom,vddp-ref-clk-min-uV = <1232000>; + qcom,vddp-ref-clk-max-uV = <1232000>; + + status = "ok"; +}; + +&pm6125_pwm { + status = "ok"; +}; + +&dsi_td4330_truly_v2_video { + qcom,panel-supply-entries = <&dsi_panel_pwr_supply_no_labibb>; + qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_pwm"; + pwms = <&pm6125_pwm 0 0>; + qcom,bl-pmic-pwm-period-usecs = <100>; + qcom,mdss-dsi-bl-min-level = <1>; + qcom,mdss-dsi-bl-max-level = <4095>; + qcom,platform-reset-gpio = <&tlmm 82 0>; +}; + +&dsi_td4330_truly_v2_cmd { + qcom,panel-supply-entries = <&dsi_panel_pwr_supply_no_labibb>; + qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_pwm"; + pwms = <&pm6125_pwm 0 0>; + qcom,bl-pmic-pwm-period-usecs = <100>; + qcom,mdss-dsi-bl-min-level = <1>; + qcom,mdss-dsi-bl-max-level = <4095>; + qcom,platform-te-gpio = <&tlmm 81 0>; + qcom,platform-reset-gpio = <&tlmm 82 0>; +}; + +&dsi_nt36672e_fhd_plus_90hz_video { + qcom,panel-supply-entries = <&dsi_panel_pwr_supply_no_labibb>; + qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_pwm"; + pwms = <&pm6125_pwm 0 0>; + qcom,bl-pmic-pwm-period-usecs = <100>; + qcom,mdss-dsi-bl-min-level = <1>; + qcom,mdss-dsi-bl-max-level = <4095>; + qcom,platform-reset-gpio = <&tlmm 82 0>; +}; + +&dsi_nt36672e_fhd_plus_120hz_video { + qcom,panel-supply-entries = <&dsi_panel_pwr_supply_no_labibb>; + qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_pwm"; + pwms = <&pm6125_pwm 0 0>; + qcom,bl-pmic-pwm-period-usecs = <100>; + qcom,mdss-dsi-bl-min-level = <1>; + qcom,mdss-dsi-bl-max-level = <4095>; + qcom,platform-reset-gpio = <&tlmm 82 0>; +}; + +&dsi_sim_vid { + qcom,panel-supply-entries = <&dsi_panel_pwr_supply_no_labibb>; + qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs"; + qcom,platform-reset-gpio = <&tlmm 82 0>; +}; + +&sde_dsi { + qcom,dsi-default-panel = <&dsi_td4330_truly_v2_video>; +}; + +&qupv3_se2_i2c { + status = "okay"; + qcom,i2c-touch-active="synaptics,tcm-i2c"; + + synaptics_tcm@20 { + compatible = "synaptics,tcm-i2c"; + reg = <0x20>; + interrupt-parent = <&tlmm>; + interrupts = <80 0x2008>; + 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 = <&tlmm 80 0x2008>; + synaptics,irq-on-state = <0>; + synaptics,reset-gpio = <&tlmm 86 0x00>; + synaptics,reset-on-state = <0>; + synaptics,reset-active-ms = <20>; + synaptics,reset-delay-ms = <200>; + synaptics,power-delay-ms = <200>; + synaptics,ubl-i2c-addr = <0x20>; + synaptics,extend_report; + synaptics,firmware-name = "synaptics_firmware_k.img"; + + panel = <&dsi_td4330_truly_v2_video &dsi_td4330_truly_v2_cmd>; + }; + + novatek@62 { + compatible = "novatek,NVT-ts"; + reg = <0x62>; + status = "ok"; + + interrupt-parent = <&tlmm>; + interrupts = <80 0x2008>; + 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>; + + novatek,reset-gpio = <&tlmm 86 0x00>; + novatek,irq-gpio = <&tlmm 80 0x2008>; + + panel = <&dsi_nt36672e_fhd_plus_90hz_video + &dsi_nt36672e_fhd_plus_120hz_video>; + }; + +}; diff --git a/qcom/khaje-idps-display-90hz-overlay.dts b/qcom/khaje-idps-display-90hz-overlay.dts new file mode 100644 index 00000000..02711ed2 --- /dev/null +++ b/qcom/khaje-idps-display-90hz-overlay.dts @@ -0,0 +1,15 @@ +/dts-v1/; +/plugin/; + +#include <dt-bindings/interrupt-controller/arm-gic.h> +#include "khaje-idp.dtsi" +#include "khaje-idp-pm7250b.dtsi" +#include "khaje-idps-display-90hz.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. KHAJE IDPS + 90Hz"; + compatible = "qcom,khaje-idp", "qcom,khaje", "qcom,idp"; + qcom,msm-id = <518 0x10000>; + qcom,board-id = <0x10122 0>; + qcom,pmic-id = <0x2D 0x2E 0x0 0x0>; +}; diff --git a/qcom/khaje-idps-display-90hz.dts b/qcom/khaje-idps-display-90hz.dts new file mode 100644 index 00000000..a9fc4d48 --- /dev/null +++ b/qcom/khaje-idps-display-90hz.dts @@ -0,0 +1,13 @@ +/dts-v1/; + +#include "khaje.dtsi" +#include "khaje-idp.dtsi" +#include "khaje-idp-pm7250b.dtsi" +#include "khaje-idps-display-90hz.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. KHAJE IDPS + 90Hz"; + compatible = "qcom,khaje-idp", "qcom,khaje", "qcom,idp"; + qcom,board-id = <0x10122 0>; + qcom,pmic-id = <0x2D 0x2E 0x0 0x0>; +}; diff --git a/qcom/khaje-idps-display-90hz.dtsi b/qcom/khaje-idps-display-90hz.dtsi new file mode 100644 index 00000000..f42bc201 --- /dev/null +++ b/qcom/khaje-idps-display-90hz.dtsi @@ -0,0 +1,6 @@ +&soc { +}; + +&sde_dsi { + qcom,dsi-default-panel = <&dsi_nt36672e_fhd_plus_90hz_video>; +}; diff --git a/qcom/khaje-pinctrl.dtsi b/qcom/khaje-pinctrl.dtsi new file mode 100644 index 00000000..5c85f5f3 --- /dev/null +++ b/qcom/khaje-pinctrl.dtsi @@ -0,0 +1,140 @@ +#include "bengal-pinctrl.dtsi" + +&tlmm { + compatible = "qcom,khaje-pinctrl"; + + cam_flash_torch_active: cam_flash_torch_active { + /* TORCH */ + mux { + pins = "gpio85"; + function = "gpio"; + }; + + config { + pins = "gpio85"; + bias-disable; /* No PULL */ + drive-strength = <2>; /* 2 MA */ + }; + }; + + cam_flash_torch_suspend: cam_flash_torch_suspend { + /* TORCH */ + mux { + pins = "gpio85"; + function = "gpio"; + }; + + config { + pins = "gpio85"; + bias-pull-down; /* PULL DOWN */ + drive-strength = <2>; /* 2 MA */ + output-low; + }; + }; + + cam_flash_tx_active: cam_flash_tx_active { + /* TX */ + mux { + pins = "gpio93"; + function = "gpio"; + }; + + config { + pins = "gpio93"; + bias-disable; /* No PULL */ + drive-strength = <2>; /* 2 MA */ + }; + }; + + cam_flash_tx_suspend: cam_flash_tx_suspend { + /* TX */ + mux { + pins = "gpio93"; + function = "gpio"; + }; + + config { + pins = "gpio93"; + bias-pull-down; /* PULL DOWN */ + drive-strength = <2>; /* 2 MA */ + output-low; + }; + }; + + nfc { + nfc_clk_req_active { + /* active state */ + mux { + /* GPIO 71: NFC CLOCK REQUEST */ + pins = "gpio71"; + function = "gpio"; + }; + + config { + pins = "gpio71"; + drive-strength = <2>; /* 2 MA */ + bias-pull-up; + }; + }; + + nfc_clk_req_suspend { + /* sleep state */ + mux { + /* GPIO 71: NFC CLOCK REQUEST */ + pins = "gpio71"; + function = "gpio"; + }; + + config { + pins = "gpio71"; + drive-strength = <2>; /* 2 MA */ + bias-disable; + }; + }; + }; + + pmx_ts_reset_active { + ts_reset_active: ts_reset_active { + mux { + pins = "gpio86"; + function = "gpio"; + }; + + config { + pins = "gpio86"; + drive-strength = <8>; + bias-pull-up; + }; + }; + }; + + pmx_ts_reset_suspend { + ts_reset_suspend: ts_reset_suspend { + mux { + pins = "gpio86"; + function = "gpio"; + }; + + config { + pins = "gpio86"; + drive-strength = <2>; + bias-pull-down; + }; + }; + }; + + pmx_ts_release { + ts_release: ts_release { + mux { + pins = "gpio80", "gpio86"; + function = "gpio"; + }; + + config { + pins = "gpio80", "gpio86"; + drive-strength = <2>; + bias-pull-down; + }; + }; + }; +}; diff --git a/qcom/khaje-pm7250b.dtsi b/qcom/khaje-pm7250b.dtsi new file mode 100644 index 00000000..28f98c5b --- /dev/null +++ b/qcom/khaje-pm7250b.dtsi @@ -0,0 +1,89 @@ +#include <dt-bindings/clock/qcom,rpmcc.h> +#include <dt-bindings/clock/qcom,rpmh.h> +#include "pm7250b.dtsi" + +&pm7250b_clkdiv { + clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>; +}; + +&pm7250b_vadc { + charger_skin_therm@4d { + reg = <ADC_AMUX_THM1_PU2>; + label = "charger_skin_therm"; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + qcom,pre-scaling = <1 1>; + }; + + conn_therm@4f { + reg = <ADC_AMUX_THM3_PU2>; + label = "conn_therm"; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + qcom,pre-scaling = <1 1>; + }; +}; + +&pm7250b_adc_tm { + io-channels = <&pm7250b_vadc ADC_AMUX_THM1_PU2>, + <&pm7250b_vadc ADC_AMUX_THM3_PU2>; + + /* Channel nodes */ + charger_skin_therm@4d { + reg = <ADC_AMUX_THM1_PU2>; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + }; + + conn_therm@4f { + reg = <ADC_AMUX_THM3_PU2>; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + }; +}; + +&thermal_zones { + charger-therm-usr { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&pm7250b_adc_tm ADC_AMUX_THM1_PU2>; + wake-capable-sensor; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + + conn-therm-usr { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&pm7250b_adc_tm ADC_AMUX_THM3_PU2>; + wake-capable-sensor; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; +}; + +&pm7250b_gpios { + disp_lcd_bias_en { + disp_lcd_bias_en_default: disp_lcd_bias_en_default { + pins = "gpio5"; + function = "func1"; + input-disable; + output-enable; + bias-disable; + power-source = <0>; + qcom,drive-strength = <2>; + }; + }; +}; diff --git a/qcom/khaje-qrd-hvdcp3p5-overlay.dts b/qcom/khaje-qrd-hvdcp3p5-overlay.dts new file mode 100644 index 00000000..a5fb87eb --- /dev/null +++ b/qcom/khaje-qrd-hvdcp3p5-overlay.dts @@ -0,0 +1,15 @@ +/dts-v1/; +/plugin/; + +#include <dt-bindings/interrupt-controller/arm-gic.h> +#include "khaje-qrd.dtsi" +#include "khaje-qrd-pm7250b.dtsi" +#include "khaje-qrd-hvdcp3p5.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. Khaje QRD HVDCP3P5"; + compatible = "qcom,khaje-qrd", "qcom,khaje", "qcom,qrd"; + qcom,msm-id = <518 0x10000>; + qcom,board-id = <0x1010B 0>; + qcom,pmic-id = <0x2D 0x2E 0x0 0x0>; +}; diff --git a/qcom/khaje-qrd-hvdcp3p5.dts b/qcom/khaje-qrd-hvdcp3p5.dts new file mode 100644 index 00000000..7b4d4935 --- /dev/null +++ b/qcom/khaje-qrd-hvdcp3p5.dts @@ -0,0 +1,13 @@ +/dts-v1/; + +#include "khaje.dtsi" +#include "khaje-qrd.dtsi" +#include "khaje-qrd-pm7250b.dtsi" +#include "khaje-qrd-hvdcp3p5.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. KHAJE QRD HVDCP3P5"; + compatible = "qcom,khaje-qrd", "qcom,khaje", "qcom,qrd"; + qcom,board-id = <0x1010B 0>; + qcom,pmic-id = <0x2D 0x2E 0x0 0x0>; +}; diff --git a/qcom/khaje-qrd-hvdcp3p5.dtsi b/qcom/khaje-qrd-hvdcp3p5.dtsi new file mode 100644 index 00000000..f87a199d --- /dev/null +++ b/qcom/khaje-qrd-hvdcp3p5.dtsi @@ -0,0 +1,20 @@ +#include <dt-bindings/pinctrl/qcom,pmic-gpio.h> + +&pm7250b_gpios { + pm7250b_smb_int_default: pm7250b_smb_int_default { + pins = "gpio6"; + function = "gpio"; + input-enable; + bias-pull-up; + qcom,pull-up-strength = <PMIC_GPIO_PULL_UP_30>; + power-source = <0>; + }; +}; + +&smb1394 { + qcom,enable-toggle-stat; + pinctrl-names = "default"; + pinctrl-0 = <&pm7250b_smb_int_default>; + interrupts = <0x2 0xc5 0x0 IRQ_TYPE_LEVEL_LOW>; + interrupt-parent = <&spmi_bus>; +}; diff --git a/qcom/khaje-qrd-nopmi-overlay.dts b/qcom/khaje-qrd-nopmi-overlay.dts new file mode 100644 index 00000000..eab93663 --- /dev/null +++ b/qcom/khaje-qrd-nopmi-overlay.dts @@ -0,0 +1,13 @@ +/dts-v1/; +/plugin/; + +#include <dt-bindings/interrupt-controller/arm-gic.h> +#include "khaje-qrd-nopmi.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. KHAJE QRD nopmi overlay"; + compatible = "qcom,khaje-qrd", "qcom,khaje", "qcom,qrd"; + qcom,msm-id = <518 0x10000>; + qcom,board-id = <0x1000B 0>; + qcom,pmic-id = <0x2D 0x0 0x0 0x0>; +}; diff --git a/qcom/khaje-qrd-nopmi.dts b/qcom/khaje-qrd-nopmi.dts new file mode 100644 index 00000000..f36f81e8 --- /dev/null +++ b/qcom/khaje-qrd-nopmi.dts @@ -0,0 +1,11 @@ +/dts-v1/; + +#include "khaje.dtsi" +#include "khaje-qrd-nopmi.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. KHAJE QRD nopmi"; + compatible = "qcom,khaje-qrd", "qcom,khaje", "qcom,qrd"; + qcom,board-id = <0x1000B 0>; + qcom,pmic-id = <0x2D 0x0 0x0 0x0>; +}; diff --git a/qcom/khaje-qrd-nopmi.dtsi b/qcom/khaje-qrd-nopmi.dtsi new file mode 100644 index 00000000..0aff33e9 --- /dev/null +++ b/qcom/khaje-qrd-nopmi.dtsi @@ -0,0 +1,35 @@ +#include "khaje-qrd.dtsi" + +&sde_dsi { + /delete-property/ lab-supply; + /delete-property/ ibb-supply; +}; + +&dsi_td4330_truly_v2_video { + /delete-property/ qcom,esd-check-enabled; +}; + +&dsi_td4330_truly_v2_cmd { + /delete-property/ qcom,esd-check-enabled; +}; + +&qupv3_se2_i2c { + synaptics_tcm@20 { + status = "disabled"; + }; + + novatek@62 { + status = "disabled"; + }; + + focaltech@38 { + status = "disabled"; + }; +}; + +&usb0 { + /delete-property/ extcon; + dwc3@4e00000 { + dr_mode = "peripheral"; + }; +}; diff --git a/qcom/khaje-qrd-nowcd9375-overlay.dts b/qcom/khaje-qrd-nowcd9375-overlay.dts new file mode 100644 index 00000000..17dcc66b --- /dev/null +++ b/qcom/khaje-qrd-nowcd9375-overlay.dts @@ -0,0 +1,15 @@ +/dts-v1/; +/plugin/; + +#include <dt-bindings/interrupt-controller/arm-gic.h> +#include "khaje-qrd.dtsi" +#include "khaje-qrd-pm7250b.dtsi" +#include "khaje-qrd-nowcd9375.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. Khaje QRD NOWCD9375"; + compatible = "qcom,khaje-qrd", "qcom,khaje", "qcom,qrd"; + qcom,msm-id = <518 0x10000>; + qcom,board-id = <0x2010B 0>; + qcom,pmic-id = <0x2D 0x2E 0x0 0x0>; +}; diff --git a/qcom/khaje-qrd-nowcd9375.dts b/qcom/khaje-qrd-nowcd9375.dts new file mode 100644 index 00000000..891a0705 --- /dev/null +++ b/qcom/khaje-qrd-nowcd9375.dts @@ -0,0 +1,13 @@ +/dts-v1/; + +#include "khaje.dtsi" +#include "khaje-qrd.dtsi" +#include "khaje-qrd-pm7250b.dtsi" +#include "khaje-qrd-nowcd9375.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. KHAJE QRD NOWCD9375"; + compatible = "qcom,khaje-qrd", "qcom,khaje", "qcom,qrd"; + qcom,board-id = <0x2010B 0>; + qcom,pmic-id = <0x2D 0x2E 0x0 0x0>; +}; diff --git a/qcom/khaje-qrd-nowcd9375.dtsi b/qcom/khaje-qrd-nowcd9375.dtsi new file mode 100644 index 00000000..05fd5493 --- /dev/null +++ b/qcom/khaje-qrd-nowcd9375.dtsi @@ -0,0 +1,17 @@ +#include "khaje-qrd-hvdcp3p5.dtsi" + +&wcd937x_codec { + status = "disabled"; +}; + +&wcd937x_rx_slave { + status = "disabled"; +}; + +&wcd937x_tx_slave { + status = "disabled"; +}; + +&bengal_snd { + qcom,codec-max-aux-devs = <0>; +}; diff --git a/qcom/khaje-qrd-overlay.dts b/qcom/khaje-qrd-overlay.dts new file mode 100644 index 00000000..7c8960f3 --- /dev/null +++ b/qcom/khaje-qrd-overlay.dts @@ -0,0 +1,18 @@ +/dts-v1/; +/plugin/; + +#include <dt-bindings/interrupt-controller/arm-gic.h> +#include "khaje-qrd.dtsi" +#include "khaje-qrd-pm7250b.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. Khaje QRD"; + compatible = "qcom,khaje-qrd", "qcom,khaje", "qcom,qrd"; + qcom,msm-id = <518 0x10000>; + qcom,board-id = <0x1000B 0>; + qcom,pmic-id = <0x2D 0x2E 0x0 0x0>; +}; + +&bengal_snd { + qcom,wcd-datalane-mismatch = <1>; +}; diff --git a/qcom/khaje-qrd-pm7250b.dtsi b/qcom/khaje-qrd-pm7250b.dtsi new file mode 100644 index 00000000..db33ce04 --- /dev/null +++ b/qcom/khaje-qrd-pm7250b.dtsi @@ -0,0 +1,192 @@ +#include "khaje-pm7250b.dtsi" +#include "khaje-thermal-pm7250b-overlay.dtsi" + +&sde_dsi { + pinctrl-0 = <&sde_dsi_active &sde_te_active &disp_lcd_bias_en_default>; +}; + +&dsi_td4330_truly_v2_video { + qcom,platform-en-gpio = <&pm7250b_gpios 5 0>; + qcom,platform-bklight-en-gpio = <&pm7250b_gpios 1 0>; +}; + +&dsi_td4330_truly_v2_cmd { + qcom,platform-en-gpio = <&pm7250b_gpios 5 0>; + qcom,platform-bklight-en-gpio = <&pm7250b_gpios 1 0>; +}; + +&soc { + qrd_batterydata: qcom,battery-data { + qcom,batt-id-range-pct = <15>; + #include "qg-batterydata-atl466271_3300mAh.dtsi" + }; +}; + +&tlmm { + smb_int_default: smb_int_default { + mux { + pins = "gpio105"; + function = "gpio"; + }; + + config { + pins = "gpio105"; + bias-pull-up; + input-enable; + }; + }; +}; + +&qupv3_se1_i2c { + status = "ok"; + #include "smb1394.dtsi" +}; + +&smb1394 { + pinctrl-names = "default"; + pinctrl-0 = <&smb_int_default>; + interrupt-parent = <&tlmm>; + interrupt-names = "smb1394"; + interrupts = <105 IRQ_TYPE_LEVEL_LOW>; + status = "ok"; +}; + +&smb1394_div2_cp_primary { + io-channels = <&pm7250b_vadc ADC_AMUX_THM2>; + io-channel-names = "die_temp"; + qcom,parallel-input-mode = <1>; + qcom,parallel-output-mode = <2>; + status = "ok"; +}; + +&pm7250b_vadc { + smb1390_therm@e { + qcom,scale-fn-type = <ADC_SCALE_HW_CALIB_PM5_SMB1398_TEMP>; + }; +}; + +&pm7250b_charger { + status = "ok"; + io-channels = <&pm7250b_vadc ADC_USB_IN_V_16>, + <&pm7250b_vadc ADC_USB_IN_I>, + <&pm7250b_vadc ADC_CHG_TEMP>, + <&pm7250b_vadc ADC_DIE_TEMP>, + <&pm7250b_vadc ADC_AMUX_THM3_PU2>, + <&pm7250b_vadc ADC_SBUx>, + <&pm7250b_vadc ADC_VPH_PWR>, + <&pm7250b_vadc ADC_AMUX_THM1_PU2>; + io-channel-names = "usb_in_voltage", + "usb_in_current", + "chg_temp", + "die_temp", + "conn_temp", + "sbux_res", + "vph_voltage", + "skin_temp"; + qcom,battery-data = <&qrd_batterydata>; + qcom,sec-charger-config = <1>; + qcom,auto-recharge-soc = <98>; + qcom,step-charging-enable; + qcom,sw-jeita-enable; + qcom,charger-temp-max = <800>; + qcom,smb-temp-max = <800>; + qcom,suspend-input-on-debug-batt; + qcom,fcc-stepping-enable; + qcom,fcc-step-delay-ms = <100>; + qcom,fcc-step-size-ua = <100000>; + qcom,smb-internal-pull-kohm = <0>; + qcom,thermal-mitigation = <8000000 7500000 7000000 6500000 6000000 5500000 + 5000000 4500000 4000000 3500000 3000000 2500000 2000000 1500000 + 1000000 500000>; +}; + +&pm7250b_qg { + status = "ok"; + io-channels = <&pm7250b_vadc ADC_BAT_THERM_PU2>, + <&pm7250b_vadc ADC_BAT_ID_PU2>; + io-channel-names = "batt-therm", + "batt-id"; + qcom,qg-iterm-ma = <150>; + qcom,hold-soc-while-full; + qcom,linearize-soc; + qcom,cl-feedback-on; + qcom,tcss-enable; + qcom,fvss-enable; + qcom,fvss-vbatt-mv = <3500>; + qcom,bass-enable; + qcom,vbatt-cutoff-mv = <3400>; + qcom,vbatt-low-mv = <3500>; + qcom,vbatt-low-cold-mv = <3800>; + qcom,vbatt-empty-mv = <3200>; + qcom,vbatt-empty-cold-mv = <3100>; + qcom,use-cp-iin-sns; +}; + +&cam_res_mgr_label { + gpios = <&pm7250b_gpios 4 0>; +}; + +&led_flash_rear { + gpios = <&pm7250b_gpios 4 0>; +}; + +&led_flash_rear_aux { + gpios = <&pm7250b_gpios 4 0>; +}; + +&led_flash_rear_aux2 { + gpios = <&pm7250b_gpios 4 0>; +}; + +&pm7250b_charger { + dpdm-supply = <&usb2_phy0>; + + smb5_vbus: qcom,smb5-vbus { + regulator-name = "smb5-vbus"; + }; + + smb5_vconn: qcom,smb5-vconn { + regulator-name = "smb5-vconn"; + }; +}; + +&pm7250b_pdphy { + vdd-pdphy-supply = <&L15A>; + vbus-supply = <&smb5_vbus>; + vconn-supply = <&smb5_vconn>; +}; + +&usb0 { + extcon = <&pm7250b_pdphy>, <&pm7250b_charger>, <&eud>; +}; + +&thermal_zones { + quiet-thermal-step { + cooling-maps { + quiet_batt_cdev1 { + trip = <&quiet_batt_trip0>; + cooling-device = <&pm7250b_charger 8 8>; + }; + + quiet_batt_cdev2 { + trip = <&quiet_batt_trip1>; + cooling-device = <&pm7250b_charger 12 12>; + }; + + quiet_batt_cdev3 { + trip = <&quiet_batt_trip2>; + cooling-device = <&pm7250b_charger 14 14>; + }; + + quiet_batt_cdev4 { + trip = <&quiet_batt_trip3>; + cooling-device = <&pm7250b_charger 16 16>; + }; + + quiet_batt_cdev5 { + trip = <&quiet_batt_trip4>; + cooling-device = <&pm7250b_charger 18 18>; + }; + }; + }; +}; diff --git a/qcom/khaje-qrd.dts b/qcom/khaje-qrd.dts new file mode 100644 index 00000000..df4c7c15 --- /dev/null +++ b/qcom/khaje-qrd.dts @@ -0,0 +1,12 @@ +/dts-v1/; + +#include "khaje.dtsi" +#include "khaje-qrd.dtsi" +#include "khaje-qrd-pm7250b.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. KHAJE QRD"; + compatible = "qcom,khaje-qrd", "qcom,khaje", "qcom,qrd"; + qcom,board-id = <0x1000B 0>; + qcom,pmic-id = <0x2D 0x2E 0x0 0x0>; +}; diff --git a/qcom/khaje-qrd.dtsi b/qcom/khaje-qrd.dtsi new file mode 100644 index 00000000..8ac99391 --- /dev/null +++ b/qcom/khaje-qrd.dtsi @@ -0,0 +1,547 @@ +#include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/iio/qcom,spmi-vadc.h> +#include <dt-bindings/input/input.h> +#include "bengal-thermal-overlay.dtsi" +#include "camera/khaje-camera-sensor-qrd.dtsi" +#include "bengal-audio-overlay.dtsi" +#include "khaje-sde-display.dtsi" + +&pm6125_gpios { + key_vol_up { + key_vol_up_default: key_vol_up_default { + pins = "gpio5"; + function = "normal"; + input-enable; + bias-pull-up; + power-source = <0>; + }; + }; + + eldo9_pin { + usb_eldo9:gpio@c000 { + pins = "gpio1"; + function = "normal"; + qcom,drive-strength = <2>; + power-source = <0>; + bias-disable; + output-high; + }; + }; +}; + +&soc { + gpio_keys { + compatible = "gpio-keys"; + label = "gpio-keys"; + + pinctrl-names = "default"; + pinctrl-0 = <&key_vol_up_default>; + + vol_up { + label = "volume_up"; + gpios = <&pm6125_gpios 5 GPIO_ACTIVE_LOW>; + linux,input-type = <1>; + linux,code = <KEY_VOLUMEUP>; + linux,can-disable; + debounce-interval = <15>; + gpio-key,wakeup; + }; + }; + + vdda_usb_ss_dp_core: vdda_usb_ss_dp_core { + compatible = "regulator-fixed"; + regulator-name = "vdd_supply"; + regulator-min-microvolt = <880000>; + regulator-max-microvolt = <880000>; + enable-active-high; + gpio = <&pm6125_gpios 1 GPIO_ACTIVE_HIGH>; + pinctrl-names = "default"; + pinctrl-0 = <&usb_eldo9>; + }; +}; + +&usb_qmp_dp_phy { + vdd-supply = <&vdda_usb_ss_dp_core>; +}; + +&qupv3_se1_i2c { + awinic@64 { + compatible = "awinic,aw2016_led"; + reg = <0x64>; + + awinic,red { + awinic,name = "red"; + awinic,id = <0>; + awinic,imax = <2>; + awinic,led-current = <3>; + awinic,max-brightness = <255>; + awinic,rise-time-ms = <6>; + awinic,hold-time-ms = <0>; + awinic,fall-time-ms = <6>; + awinic,off-time-ms = <4>; + }; + + awinic,green { + awinic,name = "green"; + awinic,id = <1>; + awinic,imax = <2>; + awinic,led-current = <3>; + awinic,max-brightness = <255>; + awinic,rise-time-ms = <6>; + awinic,hold-time-ms = <0>; + awinic,fall-time-ms = <6>; + awinic,off-time-ms = <4>; + }; + + awinic,blue { + awinic,name = "blue"; + awinic,id = <2>; + awinic,imax = <2>; + awinic,led-current = <3>; + awinic,max-brightness = <255>; + awinic,rise-time-ms = <6>; + awinic,hold-time-ms = <0>; + awinic,fall-time-ms = <6>; + awinic,off-time-ms = <4>; + }; + + }; +}; + +&bengal_snd { + qcom,model = "bengal-qrd-snd-card"; + qcom,msm-mi2s-master = <1>, <1>, <1>, <1>; + qcom,wcn-btfm = <1>; + qcom,ext-disp-audio-rx = <0>; + qcom,audio-routing = + "AMIC1", "MIC BIAS1", + "MIC BIAS1", "Analog Mic1", + "AMIC2", "MIC BIAS2", + "MIC BIAS2", "Analog Mic2", + "AMIC3", "MIC BIAS3", + "MIC BIAS3", "Analog Mic3", + "AMIC4", "MIC BIAS3", + "MIC BIAS3", "Analog Mic4", + "IN1_HPHL", "HPHL_OUT", + "IN2_HPHR", "HPHR_OUT", + "IN3_AUX", "AUX_OUT", + "SpkrMono WSA_IN", "AUX", + "TX SWR_MIC0", "ADC1_OUTPUT", + "TX SWR_MIC4", "ADC2_OUTPUT", + "TX SWR_MIC5", "ADC3_OUTPUT", + "TX SWR_MIC0", "VA_TX_SWR_CLK", + "TX SWR_MIC1", "VA_TX_SWR_CLK", + "TX SWR_MIC2", "VA_TX_SWR_CLK", + "TX SWR_MIC3", "VA_TX_SWR_CLK", + "TX SWR_MIC4", "VA_TX_SWR_CLK", + "TX SWR_MIC5", "VA_TX_SWR_CLK", + "TX SWR_MIC6", "VA_TX_SWR_CLK", + "TX SWR_MIC7", "VA_TX_SWR_CLK", + "TX SWR_MIC8", "VA_TX_SWR_CLK", + "TX SWR_MIC9", "VA_TX_SWR_CLK", + "TX SWR_MIC10", "VA_TX_SWR_CLK", + "TX SWR_MIC11", "VA_TX_SWR_CLK", + "RX_TX DEC0_INP", "TX DEC0 MUX", + "RX_TX DEC1_INP", "TX DEC1 MUX", + "RX_TX DEC2_INP", "TX DEC2 MUX", + "RX_TX DEC3_INP", "TX DEC3 MUX", + "TX_AIF1 CAP", "VA_TX_SWR_CLK", + "TX_AIF2 CAP", "VA_TX_SWR_CLK", + "TX_AIF3 CAP", "VA_TX_SWR_CLK", + "VA SWR_MIC0", "ADC1_OUTPUT", + "VA SWR_MIC4", "ADC2_OUTPUT", + "VA SWR_MIC5", "ADC3_OUTPUT"; + qcom,msm-mbhc-hphl-swh = <1>; + qcom,msm-mbhc-gnd-swh = <1>; + asoc-codec = <&stub_codec>, <&bolero>; + asoc-codec-names = "msm-stub-codec.1", "bolero_codec"; + qcom,wsa-max-devs = <1>; + qcom,wsa-devs = <&wsa881x_i2c_e>; + qcom,wsa-aux-dev-prefix = "SpkrMono"; + qcom,codec-max-aux-devs = <1>; + qcom,codec-aux-devs = <&wcd937x_codec>; + qcom,msm_audio_ssr_devs = <&audio_apr>, <&q6core>, <&bolero>, + <&lpi_tlmm>; +}; + +&qupv3_se1_i2c { + status = "ok"; + #address-cells = <1>; + #size-cells = <0>; + nq@28 { + compatible = "qcom,nq-nci"; + reg = <0x28>; + qcom,nq-irq = <&tlmm 70 0x00>; + qcom,nq-ven = <&tlmm 69 0x00>; + qcom,nq-firm = <&tlmm 31 0x00>; + qcom,nq-clkreq = <&tlmm 71 0x00>; + interrupt-parent = <&tlmm>; + interrupts = <70 0>; + interrupt-names = "nfc_irq"; + pinctrl-names = "nfc_active", "nfc_suspend"; + pinctrl-0 = <&nfc_int_active &nfc_enable_active + &nfc_clk_req_active>; + pinctrl-1 = <&nfc_int_suspend &nfc_enable_suspend + &nfc_clk_req_suspend>; + }; +}; + +&sdhc_1 { + vdd-supply = <&L24A>; + qcom,vdd-voltage-level = <2960000 2960000>; + qcom,vdd-current-level = <0 570000>; + + vdd-io-supply = <&L11A>; + qcom,vdd-io-always-on; + qcom,vdd-io-lpm-sup; + qcom,vdd-io-voltage-level = <1800000 1800000>; + qcom,vdd-io-current-level = <0 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>; + + status = "ok"; +}; + +&sdhc_2 { + vdd-supply = <&L22A>; + qcom,vdd-voltage-level = <2960000 2960000>; + qcom,vdd-current-level = <0 800000>; + + vdd-io-supply = <&L5A>; + qcom,vdd-io-voltage-level = <1800000 2960000>; + qcom,vdd-io-current-level = <0 22000>; + + vdd-io-bias-supply = <&L7A>; + qcom,vdd-io-bias-voltage-level = <1256000 1256000>; + qcom,vdd-io-bias-current-level = <0 6000>; + + 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>; + + cd-gpios = <&tlmm 88 GPIO_ACTIVE_LOW>; + + status = "ok"; +}; + +&ufsphy_mem { + compatible = "qcom,ufs-phy-qmp-v4"; + + vdda-phy-supply = <&L4A>; /* 0.9v */ + vdda-pll-supply = <&L18A>; /* 1.8v */ + vdda-phy-max-microamp = <85700>; + vdda-pll-max-microamp = <18300>; + + status = "ok"; +}; + +&ufshc_mem { + vdd-hba-supply = <&gcc_ufs_phy_gdsc>; + vdd-hba-fixed-regulator; + vcc-supply = <&L24A>; + vcc-voltage-level = <2950000 2960000>; + vccq2-supply = <&L11A>; + vccq2-voltage-level = <1800000 1800000>; + vcc-max-microamp = <800000>; + vccq2-max-microamp = <800000>; + vccq2-pwr-collapse-sup; + + qcom,vddp-ref-clk-supply = <&L18A>; + qcom,vddp-ref-clk-max-microamp = <100>; + qcom,vddp-ref-clk-min-uV = <1232000>; + qcom,vddp-ref-clk-max-uV = <1232000>; + + status = "ok"; +}; + +&pm6125_pwm { + status = "ok"; +}; + +&dsi_td4330_truly_v2_video { + qcom,panel-supply-entries = <&dsi_panel_pwr_supply_no_labibb>; + qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_pwm"; + pwms = <&pm6125_pwm 0 0>; + qcom,bl-pmic-pwm-period-usecs = <100>; + qcom,mdss-dsi-bl-min-level = <1>; + qcom,mdss-dsi-bl-max-level = <4095>; + qcom,platform-reset-gpio = <&tlmm 82 0>; +}; + +&dsi_td4330_truly_v2_cmd { + qcom,panel-supply-entries = <&dsi_panel_pwr_supply_no_labibb>; + qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_pwm"; + pwms = <&pm6125_pwm 0 0>; + qcom,bl-pmic-pwm-period-usecs = <100>; + qcom,mdss-dsi-bl-min-level = <1>; + qcom,mdss-dsi-bl-max-level = <4095>; + qcom,platform-te-gpio = <&tlmm 81 0>; + qcom,platform-reset-gpio = <&tlmm 82 0>; +}; + +&dsi_sim_vid { + qcom,panel-supply-entries = <&dsi_panel_pwr_supply_no_labibb>; + qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs"; + qcom,platform-reset-gpio = <&tlmm 82 0>; +}; + +&sde_dsi { + qcom,dsi-default-panel = <&dsi_td4330_truly_v2_video>; +}; + +&qupv3_se2_i2c { + status = "okay"; + qcom,i2c-touch-active="synaptics,tcm-i2c"; + + synaptics_tcm@20 { + compatible = "synaptics,tcm-i2c"; + reg = <0x20>; + interrupt-parent = <&tlmm>; + interrupts = <80 0x2008>; + 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 = <&tlmm 80 0x2008>; + synaptics,irq-on-state = <0>; + synaptics,reset-gpio = <&tlmm 86 0x00>; + synaptics,reset-on-state = <0>; + synaptics,reset-active-ms = <20>; + synaptics,reset-delay-ms = <200>; + synaptics,power-delay-ms = <200>; + synaptics,ubl-i2c-addr = <0x20>; + synaptics,extend_report; + synaptics,firmware-name = "synaptics_firmware_k.img"; + + panel = <&dsi_td4330_truly_v2_video &dsi_td4330_truly_v2_cmd>; + }; +}; + +&thermal_zones { + quiet-thermal-step { + polling-delay-passive = <2000>; + polling-delay = <0>; + thermal-governor = "step_wise"; + thermal-sensors = <&pm6125_adc_tm ADC_AMUX_THM2_PU2>; + wake-capable-sensor; + + trips { + quiet_batt_trip0: batt-trip0 { + temperature = <41000>; + hysteresis = <2000>; + type = "passive"; + }; + + quiet_modem_trip0: modem-trip0 { + temperature = <42000>; + hysteresis = <2000>; + type = "passive"; + }; + + quiet_batt_trip1: batt-trip1 { + temperature = <43000>; + hysteresis = <2000>; + type = "passive"; + }; + + quiet_batt_trip2: batt-trip2 { + temperature = <45000>; + hysteresis = <2000>; + type = "passive"; + }; + + quiet_gold_trip: gold-trip { + temperature = <47000>; + hysteresis = <0>; + type = "passive"; + }; + + quiet_batt_trip3: batt-trip3 { + temperature = <47000>; + hysteresis = <2000>; + type = "passive"; + }; + + quiet_batt_trip4: batt-trip4 { + temperature = <48000>; + hysteresis = <1000>; + type = "passive"; + }; + + quiet_gpu_trip: gpu-trip { + temperature = <48000>; + hysteresis = <4000>; + type = "passive"; + }; + + quiet_silver_trip: silver-trip { + temperature = <50000>; + hysteresis = <0>; + type = "passive"; + }; + + quiet_hvx_trip: hvx-trip { + temperature = <52000>; + hysteresis = <4000>; + type = "passive"; + }; + + quiet_modem_trip1: modem-trip1 { + temperature = <60000>; + hysteresis = <4000>; + type = "passive"; + }; + }; + + cooling-maps { + gold_cdev { + trip = <&quiet_gold_trip>; + /* limit to 1766400khz */ + cooling-device = <&CPU4 THERMAL_NO_LIMIT + (THERMAL_MAX_LIMIT-4)>; + }; + + silver_cdev { + trip = <&quiet_silver_trip>; + /* limit to 1516800khz */ + cooling-device = <&CPU0 THERMAL_NO_LIMIT + (THERMAL_MAX_LIMIT-4)>; + }; + + gpu_cdev { + trip = <&quiet_gpu_trip>; + /* limit 785000000hz */ + cooling-device = <&msm_gpu THERMAL_NO_LIMIT + (THERMAL_MAX_LIMIT-3)>; + }; + + hvx_cdev { + trip = <&quiet_hvx_trip>; + cooling-device = <&cdsp_sw 4 4>; + }; + + mdm_cdev0 { + trip = <&quiet_modem_trip0>; + cooling-device = <&modem_proc 1 1>; + }; + + mdm_cdev1 { + trip = <&quiet_modem_trip1>; + cooling-device = <&modem_proc 3 3>; + }; + }; + }; + + pa-therm0-step { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "step_wise"; + thermal-sensors = <&pm6125_adc_tm ADC_AMUX_THM1_PU2>; + wake-capable-sensor; + + trips { + pa_therm0_trip0: pa-therm0-trip0 { + temperature = <52000>; + hysteresis = <2000>; + type = "passive"; + }; + + pa_therm0_trip1: pa-therm0-trip1 { + temperature = <54000>; + hysteresis = <2000>; + type = "passive"; + }; + + pa_therm0_trip2: pa-therm0-trip2 { + temperature = <60000>; + hysteresis = <4000>; + type = "passive"; + }; + }; + + cooling-maps { + modem_cdev0 { + trip = <&pa_therm0_trip0>; + cooling-device = <&modem_pa 1 1>; + }; + + modem_cdev1 { + trip = <&pa_therm0_trip1>; + cooling-device = <&modem_pa 2 2>; + }; + + modem_cdev2 { + trip = <&pa_therm0_trip2>; + cooling-device = <&modem_pa 3 3>; + }; + }; + }; +}; + +&tlmm { + fpc_reset_int: fpc_reset_int { + fpc_reset_low: reset_low { + mux { + pins = "gpio104"; + function = "gpio"; + }; + + config { + pins = "gpio104"; + drive-strength = <2>; + bias-disable; + output-low; + }; + }; + + fpc_reset_high: reset_high { + mux { + pins = "gpio104"; + function = "gpio"; + }; + + config { + pins = "gpio104"; + drive-strength = <2>; + bias-disable; + output-high; + }; + }; + + fpc_int_low: int_low { + mux { + pins = "gpio97"; + function = "gpio"; + }; + + config { + pins = "gpio97"; + drive-strength = <2>; + bias-pull-down; + input-enable; + }; + }; + }; +}; + +&soc { + fingerprint: fpc1020 { + compatible = "fpc,fpc1020"; + interrupt-parent = <&tlmm>; + interrupts = <97 0>; + fpc,gpio_rst = <&tlmm 104 0>; + fpc,gpio_irq = <&tlmm 97 0>; + fpc,enable-on-boot; + pinctrl-names = "fpc1020_reset_reset", + "fpc1020_reset_active", + "fpc1020_irq_active"; + pinctrl-0 = <&fpc_reset_low>; + pinctrl-1 = <&fpc_reset_high>; + pinctrl-2 = <&fpc_int_low>; + }; +}; diff --git a/qcom/khaje-regulator.dtsi b/qcom/khaje-regulator.dtsi new file mode 100644 index 00000000..51508ac7 --- /dev/null +++ b/qcom/khaje-regulator.dtsi @@ -0,0 +1,152 @@ +#include "bengal-regulator.dtsi" + +&S6A { + regulator-min-microvolt = <400000>; + regulator-max-microvolt = <1419000>; + qcom,init-voltage = <1352000>; +}; + +&S7A { + regulator-min-microvolt = <1569000>; + regulator-max-microvolt = <2040000>; + qcom,init-voltage = <2040000>; +}; + +&S8A { + regulator-min-microvolt = <1060000>; + regulator-max-microvolt = <1170000>; + qcom,init-voltage = <1128000>; +}; + +&L1A { + regulator-min-microvolt = <950000>; + regulator-max-microvolt = <1150000>; + qcom,init-voltage = <1000000>; +}; + +&L4A { + regulator-min-microvolt = <720000>; + regulator-max-microvolt = <1050000>; + qcom,init-voltage = <880000>; +}; + +&L5A { + regulator-min-microvolt = <1650000>; + regulator-max-microvolt = <3050000>; + qcom,init-voltage = <2960000>; +}; + +&L6A { + regulator-min-microvolt = <570000>; + regulator-max-microvolt = <650000>; + qcom,init-voltage = <624000>; +}; + +&L7A { + regulator-max-microvolt = <1300000>; + qcom,init-voltage = <1256000>; +}; + +&L8A { + qcom,init-voltage = <704000>; +}; + +&L9A { + regulator-min-microvolt = <1504000>; + qcom,init-voltage = <1800000>; +}; + +&L10A { + regulator-min-microvolt = <1700000>; + regulator-max-microvolt = <1900000>; + qcom,init-voltage = <1800000>; +}; + +&L11A { + regulator-min-microvolt = <1700000>; + regulator-max-microvolt = <1950000>; + qcom,init-voltage = <1800000>; +}; + +&L12A { + regulator-min-microvolt = <1620000>; + regulator-max-microvolt = <1980000>; + qcom,init-voltage = <1800000>; +}; + +&L13A { + regulator-min-microvolt = <1504000>; + regulator-max-microvolt = <2000000>; + qcom,init-voltage = <1800000>; +}; + +&L14A { + regulator-min-microvolt = <1700000>; + regulator-max-microvolt = <1900000>; + qcom,init-voltage = <1700000>; +}; + +&L15A { + regulator-min-microvolt = <2700000>; + regulator-max-microvolt = <3544000>; + qcom,init-voltage = <3080000>; +}; + +&L16A { + regulator-min-microvolt = <1700000>; + regulator-max-microvolt = <1900000>; + qcom,init-voltage = <1700000>; +}; + +&L17A { + regulator-min-microvolt = <1220000>; + regulator-max-microvolt = <1304000>; + qcom,init-voltage = <1220000>; +}; + +&L18A { + regulator-min-microvolt = <1100000>; + regulator-max-microvolt = <1300000>; + qcom,init-voltage = <1232000>; +}; + +&L19A { + regulator-min-microvolt = <1620000>; + regulator-max-microvolt = <3300000>; + qcom,init-voltage = <1620000>; +}; + +&L20A { + regulator-min-microvolt = <1620000>; + regulator-max-microvolt = <3300000>; + qcom,init-voltage = <1620000>; +}; + +&L21A { + regulator-min-microvolt = <1600000>; + regulator-max-microvolt = <3544000>; + qcom,init-voltage = <1600000>; +}; + +&L22A { + regulator-min-microvolt = <2950000>; + regulator-max-microvolt = <3300000>; + qcom,init-voltage = <2960000>; +}; + +&L24A { + regulator-min-microvolt = <2700000>; + regulator-max-microvolt = <3544000>; + qcom,init-voltage = <2960000>; +}; + +&soc { + refgen: refgen-regulator@1600000 { + compatible = "qcom,refgen-kona-regulator"; + reg = <0x1600000 0x84>; + regulator-name = "refgen"; + regulator-enable-ramp-delay = <5>; + proxy-supply = <&refgen>; + qcom,proxy-consumer-enable; + }; +}; diff --git a/qcom/khaje-sde-display.dtsi b/qcom/khaje-sde-display.dtsi new file mode 100644 index 00000000..e3c3b4bf --- /dev/null +++ b/qcom/khaje-sde-display.dtsi @@ -0,0 +1,185 @@ +#include "dsi-panel-td4330-truly-v2-singlemipi-fhd-cmd.dtsi" +#include "dsi-panel-td4330-truly-v2-singlemipi-fhd-vid.dtsi" +#include "dsi-panel-nt36672e-fhd-plus-90hz-video.dtsi" +#include "dsi-panel-nt36672e-fhd-plus-120hz-video.dtsi" +#include "dsi-panel-sim-video.dtsi" +#include <dt-bindings/clock/mdss-7nm-pll-clk.h> + +&soc { + dsi_panel_pwr_supply_no_labibb: dsi_panel_pwr_supply_no_labibb { + #address-cells = <1>; + #size-cells = <0>; + + qcom,panel-supply-entry@0 { + reg = <0>; + qcom,supply-name = "vddio"; + qcom,supply-min-voltage = <1800000>; + qcom,supply-max-voltage = <1800000>; + qcom,supply-enable-load = <62000>; + qcom,supply-disable-load = <80>; + qcom,supply-post-on-sleep = <20>; + }; + }; + + sde_dsi: qcom,dsi-display-primary { + compatible = "qcom,dsi-display"; + label = "primary"; + qcom,dsi-ctrl = <&mdss_dsi0>; + qcom,dsi-phy = <&mdss_dsi_phy0>; + + clocks = <&mdss_dsi0_pll BYTECLK_MUX_0_CLK>, + <&mdss_dsi0_pll PCLK_MUX_0_CLK>, + <&mdss_dsi0_pll BYTECLK_SRC_0_CLK>, + <&mdss_dsi0_pll PCLK_SRC_0_CLK>, + <&mdss_dsi0_pll SHADOW_BYTECLK_SRC_0_CLK>, + <&mdss_dsi0_pll SHADOW_PCLK_SRC_0_CLK>; + clock-names = "mux_byte_clk0", "mux_pixel_clk0", + "src_byte_clk0", "src_pixel_clk0", + "shadow_byte_clk0", "shadow_pixel_clk0"; + pinctrl-names = "panel_active", "panel_suspend"; + pinctrl-0 = <&sde_dsi_active &sde_te_active>; + pinctrl-1 = <&sde_dsi_suspend &sde_te_suspend>; + + qcom,platform-te-gpio = <&tlmm 81 0>; + qcom,panel-te-source = <0>; + + vddio-supply = <&L9A>; + qcom,mdp = <&mdss_mdp>; + + qcom,dsi-default-panel = + <&dsi_td4330_truly_v2_video>; + }; + + sde_wb: qcom,wb-display@0 { + status = "disabled"; + compatible = "qcom,wb-display"; + cell-index = <0>; + label = "wb_display"; + }; + + msm_notifier: qcom,msm_notifier@0 { + compatible = "qcom,msm-notifier"; + panel = <&dsi_nt36672e_fhd_plus_90hz_video + &dsi_nt36672e_fhd_plus_120hz_video>; + }; +}; + +&mdss_mdp { + connectors = <&sde_dsi>; +}; + +&dsi_td4330_truly_v2_video { + qcom,esd-check-enabled; + qcom,mdss-dsi-panel-status-check-mode = "reg_read"; + qcom,mdss-dsi-panel-status-command = [06 01 00 01 00 00 01 0a]; + qcom,mdss-dsi-panel-status-command-state = "dsi_hs_mode"; + qcom,mdss-dsi-panel-status-value = <0x1c>; + qcom,mdss-dsi-panel-on-check-value = <0x1c>; + qcom,mdss-dsi-panel-status-read-length = <1>; + qcom,dsi-supported-dfps-list = <60 55 48>; + qcom,mdss-dsi-pan-enable-dynamic-fps; + qcom,mdss-dsi-pan-fps-update = + "dfps_immediate_porch_mode_vfp"; + qcom,dsi-select-clocks = "mux_byte_clk0", "mux_pixel_clk0", + "src_byte_clk0", "src_pixel_clk0", + "shadow_byte_clk0", "shadow_pixel_clk0"; + qcom,dsi-dyn-clk-enable; + qcom,dsi-dyn-clk-list = + <976190400 988392784 984325320 980257864>; + qcom,dsi-dyn-clk-type = "constant-fps-adjust-vfp"; + qcom,mdss-dsi-display-timings { + timing@0 { + qcom,mdss-dsi-panel-phy-timings = [00 21 08 08 25 22 09 + 08 09 02 04 00 1D 18]; + qcom,display-topology = <1 0 1>; + qcom,default-topology-index = <0>; + }; + + timing@1 { + qcom,mdss-dsi-panel-phy-timings = [00 23 09 09 26 24 09 + 09 09 02 04 00 1E 19]; + qcom,display-topology = <1 0 1>; + qcom,default-topology-index = <0>; + }; + }; +}; + +&dsi_td4330_truly_v2_cmd { + qcom,esd-check-enabled; + qcom,mdss-dsi-panel-status-check-mode = "reg_read"; + qcom,mdss-dsi-panel-status-command = [06 01 00 01 00 00 01 0a]; + qcom,mdss-dsi-panel-status-command-state = "dsi_hs_mode"; + qcom,mdss-dsi-panel-status-value = <0x1c>; + qcom,mdss-dsi-panel-on-check-value = <0x1c>; + qcom,mdss-dsi-panel-status-read-length = <1>; + qcom,dsi-select-clocks = "mux_byte_clk0", "mux_pixel_clk0"; + qcom,ulps-enabled; + qcom,dsi-dyn-clk-enable; + qcom,dsi-dyn-clk-list = + <944315056 928576464 932511112 936445760 940380400>; + qcom,mdss-dsi-display-timings { + timing@0 { + qcom,mdss-dsi-panel-phy-timings = [00 23 09 09 26 24 09 + 09 09 02 04 00 1E 19]; + qcom,display-topology = <1 0 1>; + qcom,default-topology-index = <0>; + qcom,partial-update-enabled = "single_roi"; + qcom,panel-roi-alignment = <40 40 40 40 40 40>; + }; + + timing@1 { + qcom,mdss-dsi-panel-phy-timings = [00 21 08 08 25 22 09 + 08 09 02 04 00 1D 18]; + qcom,display-topology = <1 0 1>; + qcom,default-topology-index = <0>; + }; + }; +}; + +&dsi_nt36672e_fhd_plus_90hz_video { + qcom,esd-check-enabled; + qcom,mdss-dsi-panel-status-check-mode = "reg_read"; + qcom,mdss-dsi-panel-status-command = [06 01 00 01 00 00 01 0a]; + qcom,mdss-dsi-panel-status-command-state = "dsi_lp_mode"; + qcom,mdss-dsi-panel-status-value = <0x9c>; + qcom,mdss-dsi-panel-status-read-length = <1>; + qcom,dsi-select-clocks = "mux_byte_clk0", "mux_pixel_clk0"; + qcom,mdss-dsi-display-timings { + timing@0 { + qcom,mdss-dsi-panel-phy-timings = [00 18 06 06 21 20 06 + 06 07 02 04 00 16 16]; + qcom,display-topology = <1 1 1>; + qcom,default-topology-index = <0>; + }; + }; +}; + +&dsi_nt36672e_fhd_plus_120hz_video { + qcom,esd-check-enabled; + qcom,mdss-dsi-panel-status-check-mode = "reg_read"; + qcom,mdss-dsi-panel-status-command = [06 01 00 01 00 00 01 0a]; + qcom,mdss-dsi-panel-status-command-state = "dsi_lp_mode"; + qcom,mdss-dsi-panel-status-value = <0x9c>; + qcom,mdss-dsi-panel-status-read-length = <1>; + qcom,dsi-select-clocks = "mux_byte_clk0", "mux_pixel_clk0"; + qcom,mdss-dsi-display-timings { + timing@0 { + qcom,mdss-dsi-panel-phy-timings = [00 1e 08 08 24 22 08 + 08 08 02 04 00 1b 18]; + qcom,display-topology = <1 1 1>; + qcom,default-topology-index = <0>; + }; + }; +}; + +&dsi_sim_vid { + qcom,dsi-select-clocks = "mux_byte_clk0", "mux_pixel_clk0"; + qcom,mdss-dsi-display-timings { + timing@0 { + qcom,mdss-dsi-panel-phy-timings = [01 09 01 01 1B 1B 01 + 01 02 02 04 00 0A 11]; + qcom,display-topology = <1 0 1>; + qcom,default-topology-index = <0>; + }; + }; +}; diff --git a/qcom/khaje-sde-pll.dtsi b/qcom/khaje-sde-pll.dtsi new file mode 100644 index 00000000..5ea95879 --- /dev/null +++ b/qcom/khaje-sde-pll.dtsi @@ -0,0 +1,20 @@ +&soc { + mdss_dsi0_pll: qcom,mdss_dsi0_pll { + compatible = "qcom,mdss_dsi_pll_7nm_v4_1"; + label = "MDSS DSI 0 PLL"; + cell-index = <0>; + #clock-cells = <1>; + reg = <0x5e94900 0x264>, + <0x5e94400 0x800>, + <0x5f01004 0x8>, + <0x5e94200 0x100>; + reg-names = "pll_base", "phy_base", + "gdsc_base", "dynamic_pll_base"; + clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>; + clock-names = "iface_clk"; + clock-rate = <0>; + memory-region = <&dfps_data_memory>; + qcom,dsi-pll-ssc-en; + qcom,dsi-pll-ssc-mode = "down-spread"; + }; +}; diff --git a/qcom/khaje-sde.dtsi b/qcom/khaje-sde.dtsi new file mode 100644 index 00000000..20724c41 --- /dev/null +++ b/qcom/khaje-sde.dtsi @@ -0,0 +1,418 @@ +#include <dt-bindings/clock/mdss-7nm-pll-clk.h> + +&soc { + mdss_mdp: qcom,mdss_mdp { + compatible = "qcom,sde-kms"; + reg = <0x5e00000 0x8f030>, + <0x5eb0000 0x2008>, + <0x5e8f000 0x030>; + + reg-names = "mdp_phys", + "vbif_phys", + "sid_phys"; + + clocks = + <&gcc GCC_DISP_AHB_CLK>, + <&gcc GCC_DISP_HF_AXI_CLK>, + <&gcc GCC_DISP_THROTTLE_CORE_CLK>, + <&gcc GCC_DISP_GPLL0_DIV_CLK_SRC>, + <&dispcc DISP_CC_MDSS_AHB_CLK>, + <&dispcc DISP_CC_MDSS_MDP_CLK>, + <&dispcc DISP_CC_MDSS_VSYNC_CLK>, + <&dispcc DISP_CC_MDSS_MDP_LUT_CLK>, + <&dispcc DISP_CC_MDSS_ROT_CLK>; + clock-names = "gcc_iface", "gcc_bus", "throttle_clk", + "div_clk", + "iface_clk", "core_clk", "vsync_clk", + "lut_clk", "rot_clk"; + clock-rate = <0 0 0 0 0 300000000 19200000 300000000 200000000>; + clock-max-rate = <0 0 0 0 0 560000000 19200000 560000000 + 560000000>; + + sde-vdd-supply = <&mdss_core_gdsc>; + + /* interrupt config */ + interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>; + interrupt-controller; + #interrupt-cells = <1>; + + #power-domain-cells = <0>; + #list-cells = <1>; + + /* hw blocks */ + qcom,sde-off = <0x1000>; + qcom,sde-len = <0x494>; + + qcom,sde-ctl-off = <0x2000>; + qcom,sde-ctl-size = <0x1dc>; + qcom,sde-ctl-display-pref = "primary"; + + qcom,sde-mixer-off = <0x45000>; + qcom,sde-mixer-size = <0x320>; + qcom,sde-mixer-display-pref = "primary"; + + qcom,sde-dspp-top-off = <0x1300>; + qcom,sde-dspp-top-size = <0x80>; + qcom,sde-dspp-off = <0x55000>; + qcom,sde-dspp-size = <0x1800>; + + qcom,sde-dspp-rc-version = <0x00010000>; + qcom,sde-dspp-rc-off = <0x15800>; + qcom,sde-dspp-rc-size = <0x100>; + qcom,sde-dspp-rc-mem-size = <2720>; + + qcom,sde-intf-off = <0x0 0x6b800>; + qcom,sde-intf-size = <0x2c0>; + qcom,sde-intf-type = "none", "dsi"; + + qcom,sde-pp-off = <0x71000>; + qcom,sde-pp-size = <0xd4>; + + qcom,sde-dsc-off = <0x81000>; + qcom,sde-dsc-size = <0x140>; + + qcom,sde-dither-off = <0x30e0>; + qcom,sde-dither-version = <0x00010000>; + qcom,sde-dither-size = <0x20>; + + qcom,sde-sspp-type = "vig", "dma"; + + qcom,sde-sspp-off = <0x5000 0x25000>; + qcom,sde-sspp-src-size = <0x1f8>; + + qcom,sde-sspp-xin-id = <0 1>; + qcom,sde-sspp-excl-rect = <1 1>; + qcom,sde-sspp-smart-dma-priority = <2 1>; + qcom,sde-smart-dma-rev = "smart_dma_v2p5"; + + qcom,sde-mixer-pair-mask = <0>; + + qcom,sde-mixer-blend-op-off = <0x20 0x38 0x50 0x68 0x80 0x98 + 0xb0 0xc8 0xe0 0xf8 0x110>; + + qcom,sde-mixer-stage-base-layer; + + qcom,sde-max-per-pipe-bw-kbps = <3200000 3200000>; + + qcom,sde-max-per-pipe-bw-high-kbps = <3200000 3200000>; + + /* offsets are relative to "mdp_phys + qcom,sde-off */ + qcom,sde-sspp-clk-ctrl = + <0x2ac 0>, <0x2ac 8>; + qcom,sde-sspp-csc-off = <0x1a00>; + qcom,sde-csc-type = "csc-10bit"; + qcom,sde-qseed-type = "qseedv3lite"; + qcom,sde-sspp-qseed-off = <0xa00>; + qcom,sde-mixer-linewidth = <2048>; + qcom,sde-sspp-linewidth = <2160>; + qcom,sde-mixer-blendstages = <0x4>; + qcom,sde-highest-bank-bit = <0x1>; + qcom,sde-ubwc-version = <0x100>; + qcom,sde-ubwc-swizzle = <0x7>; + qcom,sde-ubwc-static = <0x11F>; + qcom,sde-panic-per-pipe; + qcom,sde-has-cdp; + + qcom,sde-has-dim-layer; + qcom,sde-has-idle-pc; + + qcom,sde-max-bw-low-kbps = <3200000>; + qcom,sde-max-bw-high-kbps = <4300000>; + qcom,sde-min-core-ib-kbps = <2400000>; + qcom,sde-min-llcc-ib-kbps = <0>; + qcom,sde-min-dram-ib-kbps = <1600000>; + qcom,sde-dram-channels = <1>; + qcom,sde-num-nrt-paths = <0>; + + qcom,sde-vbif-off = <0>; + qcom,sde-vbif-size = <0x2008>; + qcom,sde-vbif-id = <0>; + qcom,sde-vbif-memtype-0 = <3 3 3 3 3 3 3 3>; + qcom,sde-vbif-memtype-1 = <3 3 3 3 3 3>; + + qcom,sde-vbif-qos-rt-remap = <3 3 4 4 5 5 6 6>; + qcom,sde-vbif-qos-nrt-remap = <3 3 3 3 3 3 3 3>; + + /*Pending macrotile & macrotile-qseed has the same configs */ + + qcom,sde-danger-lut = <0x000000ff 0x0000ffff + 0x00000000 0x00000000 0x0000ffff>; + + qcom,sde-safe-lut-linear = <0 0xfff0>; + qcom,sde-safe-lut-macrotile = <0 0xff00>; + /* same as safe-lut-macrotile */ + qcom,sde-safe-lut-macrotile-qseed = <0 0xff00>; + qcom,sde-safe-lut-nrt = <0 0xffff>; + + qcom,sde-qos-lut-linear = <0 0x00112222 0x22335777>; + qcom,sde-qos-lut-macrotile = <0 0x00112233 0x44556677>; + qcom,sde-qos-lut-macrotile-qseed = <0 0x00112233 0x66777777>; + qcom,sde-qos-lut-nrt = <0 0x00000000 0x00000000>; + + qcom,sde-cdp-setting = <1 1>, <1 0>; + + qcom,sde-qos-cpu-mask = <0x3>; + qcom,sde-qos-cpu-dma-latency = <300>; + + qcom,sde-secure-sid-mask = <0x0000421>; + qcom,sde-num-mnoc-ports = <1>; + qcom,sde-axi-bus-width = <16>; + + qcom,sde-sspp-vig-blocks { + qcom,sde-vig-csc-off = <0x1a00>; + qcom,sde-vig-qseed-off = <0xa00>; + qcom,sde-vig-qseed-size = <0xa0>; + qcom,sde-vig-inverse-pma; + }; + + qcom,sde-dspp-blocks { + qcom,sde-dspp-igc = <0x0 0x00030001>; + qcom,sde-dspp-hsic = <0x800 0x00010007>; + qcom,sde-dspp-memcolor = <0x880 0x00010007>; + qcom,sde-dspp-hist = <0x800 0x00010007>; + qcom,sde-dspp-sixzone= <0x900 0x00010007>; + qcom,sde-dspp-vlut = <0xa00 0x00010008>; + qcom,sde-dspp-pcc = <0x1700 0x00040000>; + qcom,sde-dspp-gc = <0x17c0 0x00010008>; + qcom,sde-dspp-dither = <0x82c 0x00010007>; + }; + + qcom,platform-supply-entries { + #address-cells = <1>; + #size-cells = <0>; + + qcom,platform-supply-entry@0 { + reg = <0>; + qcom,supply-name = "sde-vdd"; + qcom,supply-min-voltage = <0>; + qcom,supply-max-voltage = <0>; + qcom,supply-enable-load = <0>; + qcom,supply-disable-load = <0>; + }; + }; + + smmu_sde_unsec: qcom,smmu_sde_unsec_cb { + compatible = "qcom,smmu_sde_unsec"; + iommus = <&apps_smmu 0x420 0x2>; + qcom,iommu-dma-addr-pool = <0x00020000 0xfffe0000>; + qcom,iommu-faults = "non-fatal"; + qcom,iommu-earlymap; /* for cont-splash */ + }; + + smmu_sde_sec: qcom,smmu_sde_sec_cb { + compatible = "qcom,smmu_sde_sec"; + iommus = <&apps_smmu 0x421 0x0>; + qcom,iommu-dma-addr-pool = <0x00020000 0xfffe0000>; + qcom,iommu-faults = "non-fatal"; + qcom,iommu-vmid = <0xa>; + }; + + /* data and reg bus scale settings */ + qcom,sde-data-bus { + qcom,msm-bus,name = "mdss_sde"; + qcom,msm-bus,num-cases = <3>; + qcom,msm-bus,num-paths = <1>; + qcom,msm-bus,vectors-KBps = + <22 512 0 0>, + <22 512 0 4800000>, + <22 512 0 4800000>; + }; + + qcom,sde-reg-bus { + qcom,msm-bus,name = "mdss_reg"; + qcom,msm-bus,num-cases = <4>; + qcom,msm-bus,num-paths = <1>; + qcom,msm-bus,vectors-KBps = + <1 590 0 0>, + <1 590 0 76800>, + <1 590 0 150000>, + <1 590 0 300000>; + }; + + qcom,sde-limits { + qcom,sde-linewidth-limits { + qcom,sde-limit-name = "sspp_linewidth_usecases"; + qcom,sde-limit-cases = "vig", "dma", "scale"; + qcom,sde-limit-ids= <0x1 0x2 0x4>; + qcom,sde-limit-values = <0x1 4096>, + <0x5 2560>, + <0x2 2160>; + }; + + qcom,sde-bw-limits { + qcom,sde-limit-name = "sde_bwlimit_usecases"; + qcom,sde-limit-cases = "per_vig_pipe", + "per_dma_pipe", + "total_max_bw", + "camera_concurrency"; + qcom,sde-limit-ids = <0x1 0x2 0x4 0x8>; + qcom,sde-limit-values = <0x1 3200000>, + <0x9 3200000>, + <0x2 3200000>, + <0xa 3200000>, + <0x4 4300000>, + <0xc 3200000>; + }; + }; + }; + + mdss_rotator: qcom,mdss_rotator { + compatible = "qcom,sde_rotator"; + reg = <0x5e00000 0xac000>, + <0x5eb0000 0x2008>; + reg-names = "mdp_phys", + "rot_vbif_phys"; + + #list-cells = <1>; + + qcom,mdss-rot-mode = <1>; + + /* Bus Scale Settings */ + qcom,msm-bus,name = "mdss_rotator"; + qcom,msm-bus,num-cases = <3>; + qcom,msm-bus,num-paths = <1>; + qcom,msm-bus,vectors-KBps = + <22 512 0 0>, + <22 512 0 6400000>, + <22 512 0 6400000>; + + rot-vdd-supply = <&mdss_core_gdsc>; + qcom,supply-names = "rot-vdd"; + + clocks = + <&gcc GCC_DISP_AHB_CLK>, + <&dispcc DISP_CC_MDSS_AHB_CLK>, + <&dispcc DISP_CC_MDSS_ROT_CLK>; + clock-names = "gcc_iface", + "iface_clk", "rot_clk"; + + interrupt-parent = <&mdss_mdp>; + interrupts = <2 0>; + + power-domains = <&mdss_mdp>; + /*Offline rotator RT setting */ + qcom,mdss-rot-parent = <&mdss_mdp 0>; + qcom,mdss-rot-xin-id = <10 11>; + + /* Offline rotator QoS setting */ + qcom,mdss-rot-vbif-qos-setting = <3 3 3 3 3 3 3 3>; + qcom,mdss-rot-cdp-setting = <1 1>; + qcom,mdss-rot-qos-lut = <0x0 0x0 0x0 0x0>; + qcom,mdss-rot-danger-lut = <0x0 0x0>; + qcom,mdss-rot-safe-lut = <0x0000ffff 0x0000ffff>; + + qcom,mdss-default-ot-rd-limit = <32>; + qcom,mdss-default-ot-wr-limit = <32>; + + qcom,mdss-sbuf-headroom = <20>; + + /* reg bus scale settings */ + rot_reg: qcom,rot-reg-bus { + qcom,msm-bus,name = "mdss_rot_reg"; + qcom,msm-bus,num-cases = <2>; + qcom,msm-bus,num-paths = <1>; + qcom,msm-bus,vectors-KBps = + <1 590 0 0>, + <1 590 0 76800>; + }; + + smmu_rot_unsec: qcom,smmu_rot_unsec_cb { + compatible = "qcom,smmu_sde_rot_unsec"; + iommus = <&apps_smmu 0x43C 0x0>; + qcom,iommu-dma-addr-pool = <0x00020000 0xfffe0000>; + qcom,iommu-faults = "non-fatal"; + }; + + smmu_rot_sec: qcom,smmu_rot_sec_cb { + compatible = "qcom,smmu_sde_rot_sec"; + iommus = <&apps_smmu 0x43D 0x0>; + qcom,iommu-dma-addr-pool = <0x00020000 0xfffe0000>; + qcom,iommu-faults = "non-fatal"; + qcom,iommu-vmid = <0xa>; + }; + }; + + mdss_dsi0: qcom,mdss_dsi0_ctrl { + compatible = "qcom,dsi-ctrl-hw-v2.4"; + label = "dsi-ctrl-0"; + cell-index = <0>; + frame-threshold-time-us = <1000>; + reg = <0x5e94000 0x400>, + <0x5f08000 0x4>; + reg-names = "dsi_ctrl", "disp_cc_base"; + interrupt-parent = <&mdss_mdp>; + interrupts = <4 0>; + vdda-1p2-supply = <&L18A>; + refgen-supply = <&refgen>; + clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK>, + <&dispcc DISP_CC_MDSS_BYTE0_CLK_SRC>, + <&dispcc DISP_CC_MDSS_BYTE0_INTF_CLK>, + <&dispcc DISP_CC_MDSS_PCLK0_CLK>, + <&dispcc DISP_CC_MDSS_PCLK0_CLK_SRC>, + <&dispcc DISP_CC_MDSS_ESC0_CLK>; + clock-names = "byte_clk", "byte_clk_rcg", "byte_intf_clk", + "pixel_clk", "pixel_clk_rcg", + "esc_clk"; + + qcom,ctrl-supply-entries { + #address-cells = <1>; + #size-cells = <0>; + + qcom,ctrl-supply-entry@0 { + reg = <0>; + qcom,supply-name = "vdda-1p2"; + qcom,supply-min-voltage = <1232000>; + qcom,supply-max-voltage = <1232000>; + qcom,supply-enable-load = <21800>; + qcom,supply-disable-load = <0>; + }; + }; + + qcom,core-supply-entries { + #address-cells = <1>; + #size-cells = <0>; + + qcom,core-supply-entry@0 { + reg = <0>; + qcom,supply-name = "refgen"; + qcom,supply-min-voltage = <0>; + qcom,supply-max-voltage = <0>; + qcom,supply-enable-load = <0>; + qcom,supply-disable-load = <0>; + }; + }; + }; + + mdss_dsi_phy0: qcom,mdss_dsi_phy0 { + compatible = "qcom,dsi-phy-v4.1"; + label = "dsi-phy-0"; + cell-index = <0>; + reg = <0x5e94400 0x800>, + <0x5e94200 0x100>; + reg-names = "dsi_phy", "dyn_refresh_base"; + vdda-0p9-supply = <&L4A>; + qcom,platform-strength-ctrl = [55 03 + 55 03 + 55 03 + 55 03 + 55 00]; + qcom,platform-lane-config = [00 00 0a 0a + 00 00 0a 0a + 00 00 0a 0a + 00 00 0a 0a + 00 00 8a 8a]; + qcom,platform-regulator-settings = [1d 1d 1d 1d 1d]; + qcom,phy-supply-entries { + #address-cells = <1>; + #size-cells = <0>; + qcom,phy-supply-entry@0 { + reg = <0>; + qcom,supply-name = "vdda-0p9"; + qcom,supply-min-voltage = <880000>; + qcom,supply-max-voltage = <880000>; + qcom,supply-enable-load = <36000>; + qcom,supply-disable-load = <0>; + }; + }; + }; +}; diff --git a/qcom/khaje-thermal-pm7250b-overlay.dtsi b/qcom/khaje-thermal-pm7250b-overlay.dtsi new file mode 100644 index 00000000..da513941 --- /dev/null +++ b/qcom/khaje-thermal-pm7250b-overlay.dtsi @@ -0,0 +1,116 @@ +#include <dt-bindings/thermal/thermal.h> + +&thermal_zones { + pm7250b-tz { + cooling-maps { + trip0_bat { + trip = <&pm7250b_trip0>; + cooling-device = + <&pm7250b_charger (THERMAL_MAX_LIMIT-1) + (THERMAL_MAX_LIMIT-1)>; + }; + + trip1_bat { + trip = <&pm7250b_trip1>; + cooling-device = + <&pm7250b_charger THERMAL_MAX_LIMIT + THERMAL_MAX_LIMIT>; + }; + }; + }; + + soc { + cooling-maps { + soc_cpu4 { + trip = <&soc_trip>; + cooling-device = <&cpu4_isolate 1 1>; + }; + + soc_cpu5 { + trip = <&soc_trip>; + cooling-device = <&cpu5_isolate 1 1>; + }; + + soc_cpu6 { + trip = <&soc_trip>; + cooling-device = <&cpu6_isolate 1 1>; + }; + + soc_cpu7 { + trip = <&soc_trip>; + cooling-device = <&cpu7_isolate 1 1>; + }; + }; + }; + + pm7250b-bcl-lvl0 { + cooling-maps { + lbat0_cpufreq4 { + trip = <&b_bcl_lvl0>; + cooling-device = + <&CPU4 (THERMAL_MAX_LIMIT-4) + (THERMAL_MAX_LIMIT-4)>; + }; + + lbat0_cpu6 { + trip = <&b_bcl_lvl0>; + cooling-device = <&cpu6_isolate 1 1>; + }; + + lbat0_cpu7 { + trip = <&b_bcl_lvl0>; + cooling-device = <&cpu7_isolate 1 1>; + }; + + lbat0_gpu { + trip = <&b_bcl_lvl0>; + cooling-device = <&msm_gpu 2 2>; + }; + + lbat0_cdsp { + trip = <&b_bcl_lvl0>; + cooling-device = <&cdsp_sw 2 2>; + }; + }; + }; + + pm7250b-bcl-lvl1 { + cooling-maps { + lbat1_cpu4 { + trip = <&b_bcl_lvl1>; + cooling-device = <&cpu4_isolate 1 1>; + }; + + lbat1_cpu5 { + trip = <&b_bcl_lvl1>; + cooling-device = <&cpu5_isolate 1 1>; + }; + + lbat1_gpu { + trip = <&b_bcl_lvl1>; + cooling-device = <&msm_gpu 4 4>; + }; + + lbat1_cdsp { + trip = <&b_bcl_lvl1>; + cooling-device = <&cdsp_sw 4 4>; + }; + }; + }; + + pm7250b-bcl-lvl2 { + cooling-maps { + lbat2_gpu { + trip = <&b_bcl_lvl2>; + cooling-device = <&msm_gpu THERMAL_MAX_LIMIT + THERMAL_MAX_LIMIT>; + }; + + lbat2_cdsp { + trip = <&b_bcl_lvl2>; + cooling-device = <&cdsp_sw THERMAL_MAX_LIMIT + THERMAL_MAX_LIMIT>; + }; + }; + }; +}; diff --git a/qcom/khaje-usb.dtsi b/qcom/khaje-usb.dtsi new file mode 100644 index 00000000..849cdf38 --- /dev/null +++ b/qcom/khaje-usb.dtsi @@ -0,0 +1,355 @@ +#include <dt-bindings/clock/qcom,gcc-khaje.h> +#include <dt-bindings/msm/msm-bus-ids.h> +#include <dt-bindings/phy/qcom,khaje-qmp-usb3.h> +&soc { + /* Primary USB port related controller */ + usb0: ssusb@4e00000 { + compatible = "qcom,dwc-usb3-msm"; + reg = <0x4e00000 0x100000>; + reg-names = "core_base"; + + iommus = <&apps_smmu 0x120 0x0>; + qcom,iommu-dma = "atomic"; + qcom,iommu-dma-addr-pool = <0x50000000 0x60000000>; + #address-cells = <1>; + #size-cells = <1>; + ranges; + + interrupts = <GIC_SPI 302 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 422 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 184 IRQ_TYPE_EDGE_RISING>, + <GIC_SPI 188 IRQ_TYPE_EDGE_RISING>; + interrupt-names = "pwr_event_irq", "ss_phy_irq", + "dp_hs_phy_irq", "dm_hs_phy_irq"; + + clocks = <&gcc GCC_USB30_PRIM_MASTER_CLK>, + <&gcc GCC_SYS_NOC_USB3_PRIM_AXI_CLK>, + <&gcc GCC_CFG_NOC_USB3_PRIM_AXI_CLK>, + <&gcc GCC_USB3_PRIM_CLKREF_CLK>, + <&gcc GCC_USB30_PRIM_SLEEP_CLK>, + <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>; + clock-names = "core_clk", "iface_clk", "bus_aggr_clk", + "xo", "sleep_clk", "utmi_clk"; + + resets = <&gcc GCC_USB30_PRIM_BCR>; + reset-names = "core_reset"; + + USB3_GDSC-supply = <&gcc_usb30_prim_gdsc>; + dpdm-supply = <&usb2_phy0>; + + qcom,core-clk-rate = <133333333>; + qcom,core-clk-rate-hs = <66666667>; + qcom,num-gsi-evt-buffs = <0x3>; + qcom,gsi-reg-offset = + <0x0fc /* GSI_GENERAL_CFG */ + 0x110 /* GSI_DBL_ADDR_L */ + 0x120 /* GSI_DBL_ADDR_H */ + 0x130 /* GSI_RING_BASE_ADDR_L */ + 0x144 /* GSI_RING_BASE_ADDR_H */ + 0x1a4>; /* GSI_IF_STS */ + qcom,dwc-usb3-msm-tx-fifo-size = <21288>; + qcom,gsi-disable-io-coherency; + + qcom,msm-bus,name = "usb0"; + qcom,msm-bus,num-cases = <4>; + qcom,msm-bus,num-paths = <3>; + qcom,msm-bus,vectors-KBps = + /* suspend vote */ + <MSM_BUS_MASTER_USB3 MSM_BUS_SLAVE_EBI_CH0 0 0>, + <MSM_BUS_MASTER_USB3 MSM_BUS_SLAVE_IPA_CFG 0 0>, + <MSM_BUS_MASTER_AMPSS_M0 MSM_BUS_SLAVE_USB3 0 0>, + + /* nominal vote */ + <MSM_BUS_MASTER_USB3 + MSM_BUS_SLAVE_EBI_CH0 240000 700000>, + <MSM_BUS_MASTER_USB3 MSM_BUS_SLAVE_IPA_CFG 0 2400>, + <MSM_BUS_MASTER_AMPSS_M0 MSM_BUS_SLAVE_USB3 0 40000>, + + /* svs vote */ + <MSM_BUS_MASTER_USB3 + MSM_BUS_SLAVE_EBI_CH0 240000 700000>, + <MSM_BUS_MASTER_USB3 MSM_BUS_SLAVE_IPA_CFG 0 2400>, + <MSM_BUS_MASTER_AMPSS_M0 MSM_BUS_SLAVE_USB3 0 40000>, + + /* min vote */ + <MSM_BUS_MASTER_USB3 MSM_BUS_SLAVE_EBI_CH0 1 1>, + <MSM_BUS_MASTER_USB3 MSM_BUS_SLAVE_IPA_CFG 1 1>, + <MSM_BUS_MASTER_AMPSS_M0 MSM_BUS_SLAVE_USB3 1 1>; + + dwc3@4e00000 { + compatible = "snps,dwc3"; + reg = <0x4e00000 0xe000>; + interrupt-parent = <&intc>; + interrupts = <GIC_SPI 255 IRQ_TYPE_LEVEL_HIGH>; + usb-phy = <&usb2_phy0>, <&usb_qmp_dp_phy>; + tx-fifo-resize; + linux,sysdev_is_parent; + snps,disable-clk-gating; + snps,has-lpm-erratum; + snps,hird-threshold = /bits/ 8 <0x10>; + snps,usb3-u1u2-disable; + snps,usb3_lpm_capable; + usb-core-id = <0>; + maximum-speed = "super-speed"; + dr_mode = "otg"; + }; + + qcom,usbbam@0x04f04000 { + compatible = "qcom,usb-bam-msm"; + reg = <0x04f04000 0x17000>; + interrupts = <GIC_SPI 253 IRQ_TYPE_LEVEL_HIGH>; + + qcom,usb-bam-fifo-baseaddr = <0xc121000>; + qcom,usb-bam-num-pipes = <4>; + qcom,disable-clk-gating; + qcom,usb-bam-override-threshold = <0x4001>; + qcom,usb-bam-max-mbps-highspeed = <400>; + qcom,usb-bam-max-mbps-superspeed = <3600>; + qcom,reset-bam-on-connect; + + qcom,pipe0 { + label = "ssusb-qdss-in-0"; + qcom,usb-bam-mem-type = <2>; + qcom,dir = <1>; + qcom,pipe-num = <0>; + qcom,peer-bam = <0>; + qcom,peer-bam-physical-address = <0x08064000>; + qcom,src-bam-pipe-index = <0>; + qcom,dst-bam-pipe-index = <0>; + qcom,data-fifo-offset = <0x0>; + qcom,data-fifo-size = <0x1800>; + qcom,descriptor-fifo-offset = <0x1800>; + qcom,descriptor-fifo-size = <0x800>; + }; + }; + }; + + /* Primary USB port related High Speed PHY */ + usb2_phy0: hsphy@1613000 { + compatible = "qcom,usb-hsphy-snps-femto"; + reg = <0x1613000 0x110>, + <0x1612000 0x4>; + reg-names = "hsusb_phy_base", + "eud_enable_reg"; + + vdd-supply = <&L4A>; + vdda18-supply = <&L12A>; + vdda33-supply = <&L15A>; + qcom,vdd-voltage-level = <0 880000 880000>; + + clocks = <&rpmcc CXO_SMD_OTG_CLK>, + <&gcc GCC_AHB2PHY_USB_CLK>; + clock-names = "ref_clk_src", "cfg_ahb_clk"; + + resets = <&gcc GCC_QUSB2PHY_PRIM_BCR>; + reset-names = "phy_reset"; + qcom,param-override-seq = + <0xa6 0x6c>, /* override_x0 */ + <0x85 0x70>, /* override_x1 */ + <0x16 0x74>; /* override_x2 */ + }; + + /* Primary USB port related QMP USB PHY */ + usb_qmp_dp_phy: ssphy@1615000 { + compatible = "qcom,usb-ssphy-qmp-dp-combo"; + reg = <0x01615000 0x3000>; + reg-names = "qmp_phy_base"; + + core-supply = <&L18A>; + qcom,vdd-voltage-level = <0 880000 880000>; + qcom,core-voltage-level = <0 1232000 1260000>; + + clocks = <&gcc GCC_USB3_PRIM_PHY_COM_AUX_CLK>, + <&gcc GCC_USB3_PRIM_PHY_PIPE_CLK>, + <&gcc GCC_USB3_PRIM_PHY_PIPE_CLK_SRC>, + <&usb3_phy_wrapper_gcc_usb30_pipe_clk>, + <&rpmcc CXO_SMD_OTG_CLK>, + <&gcc GCC_USB3_PRIM_PHY_COM_AUX_CLK>, + <&gcc GCC_AHB2PHY_USB_CLK>; + + clock-names = "aux_clk", "pipe_clk", "pipe_clk_mux", + "pipe_clk_ext_src", "ref_clk_src", + "com_aux_clk","cfg_ahb_clk"; + + resets = <&gcc GCC_USB3_DP_PHY_PRIM_BCR>, + <&gcc GCC_USB3_PHY_PRIM_SP0_BCR>; + reset-names = "global_phy_reset", "phy_reset"; + + qcom,qmp-phy-reg-offset = + <USB3_DP_PCS_PCS_STATUS1 + USB3_DP_PCS_USB3_AUTONOMOUS_MODE_CTRL + USB3_DP_PCS_USB3_LFPS_RXTERM_IRQ_CLEAR + USB3_DP_PCS_POWER_DOWN_CONTROL + USB3_DP_PCS_SW_RESET + USB3_DP_PCS_START_CONTROL + 0xffff /* USB3_PHY_PCS_MISC_TYPEC_CTRL */ + 0x2a18 /* USB3_DP_DP_PHY_PD_CTL */ + USB3_DP_COM_POWER_DOWN_CTRL + USB3_DP_COM_SW_RESET + USB3_DP_COM_RESET_OVRD_CTRL + USB3_DP_COM_PHY_MODE_CTRL + USB3_DP_COM_TYPEC_CTRL + USB3_DP_COM_SWI_CTRL + USB3_DP_PCS_CLAMP_ENABLE>; + + qcom,qmp-phy-init-seq = + /* <reg_offset, value, delay> */ + <USB3_DP_QSERDES_COM_SSC_EN_CENTER 0x01 0 + USB3_DP_QSERDES_COM_SSC_PER1 0x31 0 + USB3_DP_QSERDES_COM_SSC_PER2 0x01 0 + USB3_DP_QSERDES_COM_SSC_STEP_SIZE1_MODE0 0xDE 0 + USB3_DP_QSERDES_COM_SSC_STEP_SIZE2_MODE0 0x07 0 + USB3_DP_QSERDES_COM_SSC_STEP_SIZE1_MODE1 0xDE 0 + USB3_DP_QSERDES_COM_SSC_STEP_SIZE2_MODE1 0x07 0 + USB3_DP_QSERDES_COM_SYSCLK_BUF_ENABLE 0x0A 0 + USB3_DP_QSERDES_COM_CMN_IPTRIM 0x20 0 + USB3_DP_QSERDES_COM_CP_CTRL_MODE0 0x06 0 + USB3_DP_QSERDES_COM_CP_CTRL_MODE1 0x06 0 + USB3_DP_QSERDES_COM_PLL_RCTRL_MODE0 0x16 0 + USB3_DP_QSERDES_COM_PLL_RCTRL_MODE1 0x16 0 + USB3_DP_QSERDES_COM_PLL_CCTRL_MODE0 0x36 0 + USB3_DP_QSERDES_COM_PLL_CCTRL_MODE1 0x36 0 + USB3_DP_QSERDES_COM_SYSCLK_EN_SEL 0x1A 0 + USB3_DP_QSERDES_COM_LOCK_CMP_EN 0x04 0 + USB3_DP_QSERDES_COM_LOCK_CMP1_MODE0 0x14 0 + USB3_DP_QSERDES_COM_LOCK_CMP2_MODE0 0x34 0 + USB3_DP_QSERDES_COM_LOCK_CMP1_MODE1 0x34 0 + USB3_DP_QSERDES_COM_LOCK_CMP2_MODE1 0x82 0 + USB3_DP_QSERDES_COM_DEC_START_MODE0 0x82 0 + USB3_DP_QSERDES_COM_DEC_START_MODE1 0x82 0 + USB3_DP_QSERDES_COM_DIV_FRAC_START1_MODE0 0xAB 0 + USB3_DP_QSERDES_COM_DIV_FRAC_START2_MODE0 0xEA 0 + USB3_DP_QSERDES_COM_DIV_FRAC_START3_MODE0 0x02 0 + USB3_DP_QSERDES_COM_DIV_FRAC_START1_MODE1 0xAB 0 + USB3_DP_QSERDES_COM_DIV_FRAC_START2_MODE1 0xEA 0 + USB3_DP_QSERDES_COM_DIV_FRAC_START3_MODE1 0x02 0 + USB3_DP_QSERDES_COM_VCO_TUNE_MAP 0x02 0 + USB3_DP_QSERDES_COM_VCO_TUNE1_MODE0 0x24 0 + USB3_DP_QSERDES_COM_VCO_TUNE1_MODE1 0x24 0 + USB3_DP_QSERDES_COM_VCO_TUNE2_MODE1 0x02 0 + USB3_DP_QSERDES_COM_HSCLK_SEL 0x01 0 + USB3_DP_QSERDES_COM_CORECLK_DIV_MODE1 0x08 0 + USB3_DP_QSERDES_COM_BIN_VCOCAL_CMP_CODE1_MODE0 0xCA 0 + USB3_DP_QSERDES_COM_BIN_VCOCAL_CMP_CODE2_MODE0 0x1E 0 + USB3_DP_QSERDES_COM_BIN_VCOCAL_CMP_CODE1_MODE1 0xCA 0 + USB3_DP_QSERDES_COM_BIN_VCOCAL_CMP_CODE2_MODE1 0x1E 0 + USB3_DP_QSERDES_COM_BIN_VCOCAL_HSCLK_SEL 0x11 0 + USB3_DP_QSERDES_TXA_RES_CODE_LANE_TX 0x60 0 + USB3_DP_QSERDES_TXA_RES_CODE_LANE_RX 0x60 0 + USB3_DP_QSERDES_TXA_RES_CODE_LANE_OFFSET_TX 0x11 0 + USB3_DP_QSERDES_TXA_RES_CODE_LANE_OFFSET_RX 0x02 0 + USB3_DP_QSERDES_TXA_LANE_MODE_1 0xD5 0 + USB3_DP_QSERDES_TXA_LANE_MODE_2 0x00 0 + USB3_DP_QSERDES_TXA_RCV_DETECT_LVL_2 0x12 0 + USB3_DP_QSERDES_TXA_PI_QEC_CTRL 0x40 0 + USB3_DP_QSERDES_RXA_UCDR_FO_GAIN 0x09 0 + USB3_DP_QSERDES_RXA_UCDR_SO_GAIN 0x05 0 + USB3_DP_QSERDES_RXA_UCDR_FASTLOCK_FO_GAIN 0x2F 0 + USB3_DP_QSERDES_RXA_UCDR_SO_SATURATION_AND_ENABLE 0x7F 0 + USB3_DP_QSERDES_RXA_UCDR_FASTLOCK_COUNT_LOW 0xFF 0 + USB3_DP_QSERDES_RXA_UCDR_FASTLOCK_COUNT_HIGH 0x0F 0 + USB3_DP_QSERDES_RXA_UCDR_PI_CONTROLS 0x99 0 + USB3_DP_QSERDES_RXA_UCDR_SB2_THRESH1 0x08 0 + USB3_DP_QSERDES_RXA_UCDR_SB2_THRESH2 0x08 0 + USB3_DP_QSERDES_RXA_UCDR_SB2_GAIN1 0x00 0 + USB3_DP_QSERDES_RXA_UCDR_SB2_GAIN2 0x04 0 + USB3_DP_QSERDES_RXA_VGA_CAL_CNTRL1 0x54 0 + USB3_DP_QSERDES_RXA_VGA_CAL_CNTRL2 0x0C 0 + USB3_DP_QSERDES_RXA_RX_EQU_ADAPTOR_CNTRL2 0x0F 0 + USB3_DP_QSERDES_RXA_RX_EQU_ADAPTOR_CNTRL3 0x4A 0 + USB3_DP_QSERDES_RXA_RX_EQU_ADAPTOR_CNTRL4 0x0A 0 + USB3_DP_QSERDES_RXA_RX_IDAC_TSETTLE_LOW 0xC0 0 + USB3_DP_QSERDES_RXA_RX_IDAC_TSETTLE_HIGH 0x00 0 + USB3_DP_QSERDES_RXA_RX_EQ_OFFSET_ADAPTOR_CNTRL1 0x77 0 + USB3_DP_QSERDES_RXA_SIGDET_CNTRL 0x04 0 + USB3_DP_QSERDES_RXA_SIGDET_DEGLITCH_CNTRL 0x0E 0 + USB3_DP_QSERDES_RXA_RX_MODE_00_LOW 0xFF 0 + USB3_DP_QSERDES_RXA_RX_MODE_00_HIGH 0x7F 0 + USB3_DP_QSERDES_RXA_RX_MODE_00_HIGH2 0x7F 0 + USB3_DP_QSERDES_RXA_RX_MODE_00_HIGH3 0x7F 0 + USB3_DP_QSERDES_RXA_RX_MODE_00_HIGH4 0x97 0 + USB3_DP_QSERDES_RXA_RX_MODE_01_LOW 0xDC 0 + USB3_DP_QSERDES_RXA_RX_MODE_01_HIGH 0xDC 0 + USB3_DP_QSERDES_RXA_RX_MODE_01_HIGH2 0x5C 0 + USB3_DP_QSERDES_RXA_RX_MODE_01_HIGH3 0x7B 0 + USB3_DP_QSERDES_RXA_RX_MODE_01_HIGH4 0xB4 0 + USB3_DP_QSERDES_RXA_DFE_EN_TIMER 0x04 0 + USB3_DP_QSERDES_RXA_DFE_CTLE_POST_CAL_OFFSET 0x38 0 + USB3_DP_QSERDES_RXA_AUX_DATA_TCOARSE_TFINE 0xA0 0 + USB3_DP_QSERDES_RXA_DCC_CTRL1 0x0C 0 + USB3_DP_QSERDES_RXA_GM_CAL 0x1F 0 + USB3_DP_QSERDES_RXA_VTH_CODE 0x10 0 + USB3_DP_QSERDES_TXB_RES_CODE_LANE_TX 0x60 0 + USB3_DP_QSERDES_TXB_RES_CODE_LANE_RX 0x60 0 + USB3_DP_QSERDES_TXB_RES_CODE_LANE_OFFSET_TX 0x11 0 + USB3_DP_QSERDES_TXB_RES_CODE_LANE_OFFSET_RX 0x02 0 + USB3_DP_QSERDES_TXB_LANE_MODE_1 0xD5 0 + USB3_DP_QSERDES_TXB_LANE_MODE_2 0x00 0 + USB3_DP_QSERDES_TXB_RCV_DETECT_LVL_2 0x12 0 + USB3_DP_QSERDES_TXB_PI_QEC_CTRL 0x54 0 + USB3_DP_QSERDES_RXB_UCDR_FO_GAIN 0x09 0 + USB3_DP_QSERDES_RXB_UCDR_SO_GAIN 0x05 0 + USB3_DP_QSERDES_RXB_UCDR_FASTLOCK_FO_GAIN 0x2F 0 + USB3_DP_QSERDES_RXB_UCDR_SO_SATURATION_AND_ENABLE 0x7F 0 + USB3_DP_QSERDES_RXB_UCDR_FASTLOCK_COUNT_LOW 0xFF 0 + USB3_DP_QSERDES_RXB_UCDR_FASTLOCK_COUNT_HIGH 0x0F 0 + USB3_DP_QSERDES_RXB_UCDR_PI_CONTROLS 0x99 0 + USB3_DP_QSERDES_RXB_UCDR_SB2_THRESH1 0x08 0 + USB3_DP_QSERDES_RXB_UCDR_SB2_THRESH2 0x08 0 + USB3_DP_QSERDES_RXB_UCDR_SB2_GAIN1 0x00 0 + USB3_DP_QSERDES_RXB_UCDR_SB2_GAIN2 0x04 0 + USB3_DP_QSERDES_RXB_VGA_CAL_CNTRL1 0x54 0 + USB3_DP_QSERDES_RXB_VGA_CAL_CNTRL2 0x0C 0 + USB3_DP_QSERDES_RXB_RX_EQU_ADAPTOR_CNTRL2 0x0F 0 + USB3_DP_QSERDES_RXB_RX_EQU_ADAPTOR_CNTRL3 0x4A 0 + USB3_DP_QSERDES_RXB_RX_EQU_ADAPTOR_CNTRL4 0x0A 0 + USB3_DP_QSERDES_RXB_RX_IDAC_TSETTLE_LOW 0xC0 0 + USB3_DP_QSERDES_RXB_RX_IDAC_TSETTLE_HIGH 0x00 0 + USB3_DP_QSERDES_RXB_RX_EQ_OFFSET_ADAPTOR_CNTRL1 0x77 0 + USB3_DP_QSERDES_RXB_SIGDET_CNTRL 0x04 0 + USB3_DP_QSERDES_RXB_SIGDET_DEGLITCH_CNTRL 0x0E 0 + USB3_DP_QSERDES_RXB_RX_MODE_00_LOW 0x7F 0 + USB3_DP_QSERDES_RXB_RX_MODE_00_HIGH 0xFF 0 + USB3_DP_QSERDES_RXB_RX_MODE_00_HIGH2 0x3F 0 + USB3_DP_QSERDES_RXB_RX_MODE_00_HIGH3 0x7F 0 + USB3_DP_QSERDES_RXB_RX_MODE_00_HIGH4 0xA6 0 + USB3_DP_QSERDES_RXB_RX_MODE_01_LOW 0xDC 0 + USB3_DP_QSERDES_RXB_RX_MODE_01_HIGH 0xDC 0 + USB3_DP_QSERDES_RXB_RX_MODE_01_HIGH2 0x5C 0 + USB3_DP_QSERDES_RXB_RX_MODE_01_HIGH3 0x7B 0 + USB3_DP_QSERDES_RXB_RX_MODE_01_HIGH4 0xB4 0 + USB3_DP_QSERDES_RXB_DFE_EN_TIMER 0x04 0 + USB3_DP_QSERDES_RXB_DFE_CTLE_POST_CAL_OFFSET 0x38 0 + USB3_DP_QSERDES_RXB_AUX_DATA_TCOARSE_TFINE 0xA0 0 + USB3_DP_QSERDES_RXB_DCC_CTRL1 0x0C 0 + USB3_DP_QSERDES_RXB_GM_CAL 0x1F 0 + USB3_DP_QSERDES_RXB_VTH_CODE 0x10 0 + USB3_DP_PCS_LOCK_DETECT_CONFIG1 0xD0 0 + USB3_DP_PCS_LOCK_DETECT_CONFIG2 0x07 0 + USB3_DP_PCS_LOCK_DETECT_CONFIG3 0x20 0 + USB3_DP_PCS_LOCK_DETECT_CONFIG6 0x13 0 + USB3_DP_PCS_REFGEN_REQ_CONFIG1 0x21 0 + USB3_DP_PCS_RX_SIGDET_LVL 0xA9 0 + USB3_DP_PCS_CDR_RESET_TIME 0x0A 0 + USB3_DP_PCS_ALIGN_DETECT_CONFIG1 0x88 0 + USB3_DP_PCS_ALIGN_DETECT_CONFIG2 0x13 0 + USB3_DP_PCS_PCS_TX_RX_CONFIG 0x0C 0 + USB3_DP_PCS_EQ_CONFIG1 0x4B 0 + USB3_DP_PCS_EQ_CONFIG5 0x10 0 + USB3_DP_PCS_USB3_LFPS_DET_HIGH_COUNT_VAL 0xF8 0 + USB3_DP_PCS_USB3_RXEQTRAINING_DFE_TIME_S2 0x07 0 + 0xffffffff 0xffffffff 0x00>; + }; + + usb_nop_phy: usb_nop_phy { + compatible = "usb-nop-xceiv"; + }; + + usb_audio_qmi_dev { + compatible = "qcom,usb-audio-qmi-dev"; + iommus = <&apps_smmu 0x1cf 0x0>; + qcom,iommu-dma = "disabled"; + qcom,usb-audio-stream-id = <0xf>; + qcom,usb-audio-intr-num = <2>; + }; +}; diff --git a/qcom/khaje.dts b/qcom/khaje.dts new file mode 100644 index 00000000..b522b78f --- /dev/null +++ b/qcom/khaje.dts @@ -0,0 +1,9 @@ +/dts-v1/; + +#include "khaje.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. Khaje SoC"; + compatible = "qcom,khaje"; + qcom,board-id = <0 0>; +}; diff --git a/qcom/khaje.dtsi b/qcom/khaje.dtsi new file mode 100644 index 00000000..28c4c58d --- /dev/null +++ b/qcom/khaje.dtsi @@ -0,0 +1,4398 @@ +#include <dt-bindings/interrupt-controller/arm-gic.h> +#include <dt-bindings/clock/qcom,rpmcc.h> +#include <dt-bindings/clock/qcom,dispcc-khaje.h> +#include <dt-bindings/clock/qcom,gcc-khaje.h> +#include <dt-bindings/clock/qcom,gpucc-khaje.h> +#include <dt-bindings/spmi/spmi.h> +#include <dt-bindings/regulator/qcom,rpmh-regulator-levels.h> +#include <dt-bindings/msm/msm-bus-ids.h> +#include <dt-bindings/soc/qcom,dcc_v2.h> + +#define MHZ_TO_MBPS(mhz, w) ((mhz * 1000000 * w) / (1024 * 1024)) +#define BW_OPP_ENTRY(mhz, w) opp-mhz {opp-hz = /bits/ 64 <MHZ_TO_MBPS(mhz, w)>;} + +#define BW_OPP_ENTRY_DDR(mhz, w, ddrtype) opp-mhz {\ + opp-hz = /bits/ 64 <MHZ_TO_MBPS(mhz, w)>;\ + opp-supported-hw = <ddrtype>;} + +#define DDR_TYPE_LPDDR3 5 +#define DDR_TYPE_LPDDR4X 7 + +/ { + model = "Qualcomm Technologies, Inc. Khaje SoC"; + compatible = "qcom,khaje"; + qcom,msm-id = <518 0x10000>; + interrupt-parent = <&wakegic>; + + #address-cells = <2>; + #size-cells = <2>; + memory { device_type = "memory"; reg = <0 0 0 0>; }; + + mem-offline { + compatible = "qcom,mem-offline"; + offline-sizes = <0x1 0x40000000 0x0 0x40000000>, + <0x1 0xc0000000 0x0 0x80000000>, + <0x2 0xc0000000 0x1 0x40000000>; + granule = <512>; + }; + + aliases { + sdhc1 = &sdhc_1; /* SDC1 eMMC slot */ + sdhc2 = &sdhc_2; /* SDC2 SD Card slot */ + swr0 = &swr0; + swr1 = &swr1; + ufshc1 = &ufshc_mem; /* Embedded UFS slot */ + }; + + cpus { + #address-cells = <2>; + #size-cells = <0>; + + CPU0: cpu@0 { + device_type = "cpu"; + compatible = "arm,armv8"; + reg = <0x0 0x0>; + capacity-dmips-mhz = <1024>; + dynamic-power-coefficient = <100>; + enable-method = "psci"; + next-level-cache = <&L2_0>; + qcom,freq-domain = <&cpufreq_hw 0 7>; + qcom,lmh-dcvs = <&lmh_dcvs0>; + #cooling-cells = <2>; + L2_0: l2-cache { + compatible = "arm,arch-cache"; + cache-level = <2>; + }; + + L1_I_0: l1-icache { + compatible = "arm,arch-cache"; + }; + + L1_D_0: l1-dcache { + compatible = "arm,arch-cache"; + }; + }; + + CPU1: cpu@1 { + device_type = "cpu"; + compatible = "arm,armv8"; + reg = <0x0 0x1>; + capacity-dmips-mhz = <1024>; + dynamic-power-coefficient = <100>; + enable-method = "psci"; + next-level-cache = <&L2_0>; + qcom,freq-domain = <&cpufreq_hw 0 7>; + qcom,lmh-dcvs = <&lmh_dcvs0>; + + L1_I_1: l1-icache { + compatible = "arm,arch-cache"; + }; + + L1_D_1: l1-dcache { + compatible = "arm,arch-cache"; + }; + }; + + CPU2: cpu@2 { + device_type = "cpu"; + compatible = "arm,armv8"; + reg = <0x0 0x2>; + capacity-dmips-mhz = <1024>; + dynamic-power-coefficient = <100>; + enable-method = "psci"; + next-level-cache = <&L2_0>; + qcom,freq-domain = <&cpufreq_hw 0 7>; + qcom,lmh-dcvs = <&lmh_dcvs0>; + + L1_I_2: l1-icache { + compatible = "arm,arch-cache"; + }; + + L1_D_2: l1-dcache { + compatible = "arm,arch-cache"; + }; + }; + + CPU3: cpu@3 { + device_type = "cpu"; + compatible = "arm,armv8"; + reg = <0x0 0x3>; + capacity-dmips-mhz = <1024>; + dynamic-power-coefficient = <100>; + enable-method = "psci"; + next-level-cache = <&L2_0>; + qcom,freq-domain = <&cpufreq_hw 0 7>; + qcom,lmh-dcvs = <&lmh_dcvs0>; + + L1_I_3: l1-icache { + compatible = "arm,arch-cache"; + }; + + L1_D_3: l1-dcache { + compatible = "arm,arch-cache"; + }; + }; + + CPU4: cpu@100 { + device_type = "cpu"; + compatible = "arm,armv8"; + reg = <0x0 0x100>; + enable-method = "psci"; + capacity-dmips-mhz = <1638>; + dynamic-power-coefficient = <282>; + next-level-cache = <&L2_1>; + qcom,freq-domain = <&cpufreq_hw 1 7>; + qcom,lmh-dcvs = <&lmh_dcvs1>; + #cooling-cells = <2>; + L2_1: l2-cache { + compatible = "arm,arch-cache"; + cache-level = <2>; + }; + + L1_I_100: l1-icache { + compatible = "arm,arch-cache"; + }; + + L1_D_100: l1-dcache { + compatible = "arm,arch-cache"; + }; + }; + + CPU5: cpu@101 { + device_type = "cpu"; + compatible = "arm,armv8"; + reg = <0x0 0x101>; + capacity-dmips-mhz = <1638>; + dynamic-power-coefficient = <282>; + enable-method = "psci"; + next-level-cache = <&L2_1>; + qcom,freq-domain = <&cpufreq_hw 1 7>; + qcom,lmh-dcvs = <&lmh_dcvs1>; + + L1_I_101: l1-icache { + compatible = "arm,arch-cache"; + }; + + L1_D_101: l1-dcache { + compatible = "arm,arch-cache"; + }; + }; + + CPU6: cpu@102 { + device_type = "cpu"; + compatible = "arm,armv8"; + reg = <0x0 0x102>; + capacity-dmips-mhz = <1638>; + dynamic-power-coefficient = <282>; + enable-method = "psci"; + next-level-cache = <&L2_1>; + qcom,freq-domain = <&cpufreq_hw 1 7>; + qcom,lmh-dcvs = <&lmh_dcvs1>; + + L1_I_102: l1-icache { + compatible = "arm,arch-cache"; + }; + + L1_D_102: l1-dcache { + compatible = "arm,arch-cache"; + }; + }; + + CPU7: cpu@103 { + device_type = "cpu"; + compatible = "arm,armv8"; + reg = <0x0 0x103>; + capacity-dmips-mhz = <1638>; + dynamic-power-coefficient = <282>; + enable-method = "psci"; + next-level-cache = <&L2_1>; + qcom,freq-domain = <&cpufreq_hw 1 7>; + qcom,lmh-dcvs = <&lmh_dcvs1>; + + L1_I_103: l1-icache { + compatible = "arm,arch-cache"; + }; + + L1_D_103: l1-dcache { + compatible = "arm,arch-cache"; + }; + }; + + cpu-map { + cluster0 { + core0 { + cpu = <&CPU0>; + }; + + core1 { + cpu = <&CPU1>; + }; + + core2 { + cpu = <&CPU2>; + }; + + core3 { + cpu = <&CPU3>; + }; + }; + + cluster1 { + core0 { + cpu = <&CPU4>; + }; + + core1 { + cpu = <&CPU5>; + }; + + core2 { + cpu = <&CPU6>; + }; + + core3 { + cpu = <&CPU7>; + }; + }; + }; + }; + + psci { + compatible = "arm,psci-1.0"; + method = "smc"; + }; + + firmware: firmware { + android { + compatible = "android,firmware"; + vbmeta { + compatible="android,vbmeta"; + parts = "vbmeta,boot,system,vendor,dtbo,recovery"; + }; + + fstab { + compatible = "android,fstab"; + vendor { + compatible = "android,vendor"; + dev = "/dev/block/platform/soc/4744000.sdhci/by-name/vendor"; + type = "ext4"; + mnt_flags = "ro,barrier=1,discard"; + fsmgr_flags = "wait,slotselect,avb"; + status = "ok"; + }; + }; + }; + }; + + reserved_memory: reserved-memory { + #address-cells = <2>; + #size-cells = <2>; + ranges; + + hyp_mem: hyp_region@45700000 { + compatible = "removed-dma-pool"; + no-map; + reg = <0x0 0x45700000 0x0 0x600000>; + }; + + xbl_aop_mem: xbl_aop_region@45e00000 { + compatible = "removed-dma-pool"; + no-map; + reg = <0x0 0x45e00000 0x0 0x140000>; + }; + + sec_apps_mem: sec_apps_region@45fff000 { + compatible = "removed-dma-pool"; + no-map; + reg = <0x0 0x45fff000 0x0 0x1000>; + }; + + smem_mem: smem_region@46000000 { + compatible = "removed-dma-pool"; + no-map; + reg = <0x0 0x46000000 0x0 0x200000>; + }; + + removed_mem: removed_region@60000000 { + compatible = "removed-dma-pool"; + no-map; + reg = <0x0 0x60000000 0x0 0x3900000>; + }; + + pil_modem_mem: modem_region@4ab00000 { + compatible = "removed-dma-pool"; + no-map; + reg = <0x0 0x4ab00000 0x0 0x6900000>; + }; + + pil_video_mem: pil_video_region@51400000 { + compatible = "removed-dma-pool"; + no-map; + reg = <0x0 0x51400000 0x0 0x500000>; + }; + + wlan_msa_mem: wlan_msa_region@51900000 { + compatible = "removed-dma-pool"; + no-map; + reg = <0x0 0x51900000 0x0 0x100000>; + }; + + pil_cdsp_mem: cdsp_regions@51a00000 { + compatible = "removed-dma-pool"; + no-map; + reg = <0x0 0x51a00000 0x0 0x1e00000>; + }; + + pil_adsp_mem: pil_adsp_region@53800000 { + compatible = "removed-dma-pool"; + no-map; + reg = <0x0 0x53800000 0x0 0x1e00000>; + }; + + pil_ipa_fw_mem: ipa_fw_region@55600000 { + compatible = "removed-dma-pool"; + no-map; + reg = <0x0 0x55600000 0x0 0x10000>; + }; + + pil_ipa_gsi_mem: ipa_gsi_region@55610000 { + compatible = "removed-dma-pool"; + no-map; + reg = <0x0 0x55610000 0x0 0x5000>; + }; + + pil_gpu_mem: gpu_region@55615000 { + compatible = "removed-dma-pool"; + no-map; + reg = <0x0 0x55615000 0x0 0x2000>; + }; + + user_contig_mem: user_contig_region { + compatible = "shared-dma-pool"; + alloc-ranges = <0x0 0x00000000 0x0 0xffffffff>; + reusable; + alignment = <0x0 0x400000>; + size = <0x0 0x1000000>; + }; + + qseecom_mem: qseecom_region { + compatible = "shared-dma-pool"; + alloc-ranges = <0x0 0x00000000 0x0 0xffffffff>; + reusable; + alignment = <0x0 0x400000>; + size = <0x0 0x1400000>; + }; + + qseecom_ta_mem: qseecom_ta_region { + compatible = "shared-dma-pool"; + alloc-ranges = <0x0 0x00000000 0x0 0xffffffff>; + reusable; + alignment = <0x0 0x400000>; + size = <0x0 0x1000000>; + }; + + cdsp_sec_mem: cdsp_sec_regions@46200000 { + compatible = "removed-dma-pool"; + no-map; + reg = <0x0 0x46200000 0x0 0x1e00000>; + }; + + secure_display_memory: secure_display_region { + compatible = "shared-dma-pool"; + alloc-ranges = <0 0x00000000 0 0xffffffff>; + reusable; + alignment = <0 0x400000>; + size = <0 0x5c00000>; + }; + + cont_splash_memory: cont_splash_region@5c000000 { + reg = <0x0 0x5c000000 0x0 0x00f00000>; + label = "cont_splash_region"; + }; + + disp_rdump_memory: disp_rdump_region@5c000000 { + reg = <0x0 0x5c000000 0x0 0x00f00000>; + label = "disp_rdump_region"; + }; + + dfps_data_memory: dfps_data_region@5cf00000 { + reg = <0x0 0x5cf00000 0x0 0x0100000>; + label = "dfps_data_region"; + }; + + adsp_mem: adsp_region { + compatible = "shared-dma-pool"; + alloc-ranges = <0 0x00000000 0 0xffffffff>; + reusable; + alignment = <0 0x400000>; + size = <0 0x800000>; + }; + + dump_mem: mem_dump_region { + compatible = "shared-dma-pool"; + alloc-ranges = <0x0 0x00000000 0x0 0xffffffff>; + reusable; + size = <0 0x800000>; + }; + + /* global autoconfigured region for contiguous allocations */ + linux,cma { + compatible = "shared-dma-pool"; + alloc-ranges = <0x0 0x00000000 0x0 0xffffffff>; + reusable; + alignment = <0x0 0x400000>; + size = <0x0 0x2000000>; + linux,cma-default; + }; + }; + + chosen { + bootargs = "rcupdate.rcu_expedited=1 rcu_nocbs=0-7 kpti=off"; + }; + + soc: soc { }; +}; + +#include "bengal-coresight.dtsi" + +&soc { + #address-cells = <1>; + #size-cells = <1>; + ranges = <0 0 0 0xffffffff>; + compatible = "simple-bus"; + + intc: interrupt-controller@f200000 { + compatible = "arm,gic-v3"; + #interrupt-cells = <3>; + interrupt-controller; + interrupt-parent = <&intc>; + #redistributor-regions = <1>; + redistributor-stride = <0x0 0x20000>; + reg = <0xf200000 0x10000>, /* GICD */ + <0xf300000 0x100000>; /* GICR * 8 */ + interrupts = <1 9 4>; + }; + + jtag_mm0: jtagmm@9040000 { + compatible = "qcom,jtagv8-mm"; + reg = <0x9040000 0x1000>; + reg-names = "etm-base"; + + clocks = <&rpmcc RPM_SMD_QDSS_CLK>; + clock-names = "core_clk"; + + qcom,coresight-jtagmm-cpu = <&CPU0>; + }; + + jtag_mm1: jtagmm@9140000 { + compatible = "qcom,jtagv8-mm"; + reg = <0x9140000 0x1000>; + reg-names = "etm-base"; + + clocks = <&rpmcc RPM_SMD_QDSS_CLK>; + clock-names = "core_clk"; + + qcom,coresight-jtagmm-cpu = <&CPU1>; + }; + + jtag_mm2: jtagmm@9240000 { + compatible = "qcom,jtagv8-mm"; + reg = <0x9240000 0x1000>; + reg-names = "etm-base"; + + clocks = <&rpmcc RPM_SMD_QDSS_CLK>; + clock-names = "core_clk"; + + qcom,coresight-jtagmm-cpu = <&CPU2>; + }; + + jtag_mm3: jtagmm@9340000 { + compatible = "qcom,jtagv8-mm"; + reg = <0x9340000 0x1000>; + reg-names = "etm-base"; + + clocks = <&rpmcc RPM_SMD_QDSS_CLK>; + clock-names = "core_clk"; + + qcom,coresight-jtagmm-cpu = <&CPU3>; + }; + + jtag_mm4: jtagmm@9440000 { + compatible = "qcom,jtagv8-mm"; + reg = <0x9440000 0x1000>; + reg-names = "etm-base"; + + clocks = <&rpmcc RPM_SMD_QDSS_CLK>; + clock-names = "core_clk"; + + qcom,coresight-jtagmm-cpu = <&CPU4>; + }; + + jtag_mm5: jtagmm@9540000 { + compatible = "qcom,jtagv8-mm"; + reg = <0x9540000 0x1000>; + reg-names = "etm-base"; + + clocks = <&rpmcc RPM_SMD_QDSS_CLK>; + clock-names = "core_clk"; + + qcom,coresight-jtagmm-cpu = <&CPU5>; + }; + + jtag_mm6: jtagmm@9640000 { + compatible = "qcom,jtagv8-mm"; + reg = <0x9640000 0x1000>; + reg-names = "etm-base"; + + clocks = <&rpmcc RPM_SMD_QDSS_CLK>; + clock-names = "core_clk"; + + qcom,coresight-jtagmm-cpu = <&CPU6>; + }; + + jtag_mm7: jtagmm@9740000 { + compatible = "qcom,jtagv8-mm"; + reg = <0x9740000 0x1000>; + reg-names = "etm-base"; + + clocks = <&rpmcc RPM_SMD_QDSS_CLK>; + clock-names = "core_clk"; + + qcom,coresight-jtagmm-cpu = <&CPU7>; + }; + + qcom,memshare { + compatible = "qcom,memshare"; + + qcom,client_1 { + compatible = "qcom,memshare-peripheral"; + qcom,peripheral-size = <0x0>; + qcom,client-id = <0>; + qcom,allocate-boot-time; + label = "modem"; + }; + + qcom,client_2 { + compatible = "qcom,memshare-peripheral"; + qcom,peripheral-size = <0x0>; + qcom,client-id = <2>; + label = "modem"; + }; + + mem_client_3_size: qcom,client_3 { + compatible = "qcom,memshare-peripheral"; + qcom,peripheral-size = <0x500000>; + qcom,client-id = <1>; + qcom,allocate-on-request; + label = "modem"; + }; + }; + + slim_aud: slim@a5c0000 { + cell-index = <1>; + compatible = "qcom,slim-ngd"; + reg = <0xa5c0000 0x2c000>, + <0xa584000 0x20000>, <0xa66e000 0x2000>; + reg-names = "slimbus_physical", + "slimbus_bam_physical", "slimbus_lpass_mem"; + interrupts = <GIC_SPI 283 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 284 IRQ_TYPE_LEVEL_HIGH>; + interrupt-names = "slimbus_irq", "slimbus_bam_irq"; + qcom,apps-ch-pipes = <0x0>; + qcom,ea-pc = <0x3b0>; + status = "ok"; + + /* Slimbus Slave DT for WCN3990 */ + btfmslim_codec: wcn3990 { + compatible = "qcom,btfmslim_slave"; + elemental-addr = [00 01 20 02 17 02]; + qcom,btfm-slim-ifd = "btfmslim_slave_ifd"; + qcom,btfm-slim-ifd-elemental-addr = [00 00 20 02 17 02]; + }; + }; + + wakegic: wake-gic { + compatible = "qcom,mpm-gic-khaje", "qcom,mpm-gic"; + interrupts-extended = <&wakegic GIC_SPI 197 + IRQ_TYPE_EDGE_RISING>; + reg = <0x45f01b8 0x1000>, + <0xf011008 0x4>; /* MSM_APCS_GCC_BASE 4K */ + reg-names = "vmpm", "ipc"; + qcom,num-mpm-irqs = <96>; + interrupt-controller; + interrupt-parent = <&intc>; + #interrupt-cells = <3>; + }; + + wakegpio: wake-gpio { + compatible = "qcom,mpm-gpio"; + interrupt-controller; + interrupt-parent = <&intc>; + #interrupt-cells = <2>; + }; + + bluetooth: bt_wcn3990 { + compatible = "qca,wcn3990"; + qca,bt-sw-ctrl-gpio = <&tlmm 87 0>; /* SW_CTRL */ + qca,bt-vdd-io-supply = <&L9A>; /* IO */ + qca,bt-vdd-core-supply = <&L17A>; /* RFA */ + qca,bt-vdd-pa-supply = <&L23A>; /* CH0 */ + qca,bt-vdd-xtal-supply = <&L16A>; /* XO */ + + qca,bt-vdd-io-voltage-level = <1700000 1900000>; + qca,bt-vdd-core-voltage-level = <1304000 1304000>; + qca,bt-vdd-pa-voltage-level = <3000000 3312000>; + qca,bt-vdd-xtal-voltage-level = <1700000 1900000>; + + qca,bt-vdd-io-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-xtal-current-level = <1>; /* LPM/PFM */ + }; + + timer { + compatible = "arm,armv8-timer"; + interrupts = <1 1 0xf08>, + <1 2 0xf08>, + <1 3 0xf08>, + <1 0 0xf08>; + clock-frequency = <19200000>; + }; + + dcc: dcc_v2@1be2000 { + compatible = "qcom,dcc-v2"; + reg = <0x1be2000 0x1000>, + <0x1bee000 0x2000>; + reg-names = "dcc-base", "dcc-ram-base"; + dcc-ram-offset = <0x2000>; + + link_list1 { + qcom,curr-link-list = <3>; + qcom,data-sink = "sram"; + qcom,link-list = <DCC_READ 0x0F1880B4 1 0>, + <DCC_READ 0x0F1980B4 1 0>, + <DCC_READ 0x0F1A80B4 1 0>, + <DCC_READ 0x0F1B80B4 1 0>, + <DCC_READ 0x0F0880B4 1 0>, + <DCC_READ 0x0F0980B4 1 0>, + <DCC_READ 0x0F0A80B4 1 0>, + <DCC_READ 0x0F0B80B4 1 0>, + <DCC_READ 0x0F1D1228 1 0>, + <DCC_READ 0x0F1880B0 1 0>, + <DCC_READ 0x0F1980B0 1 0>, + <DCC_READ 0x0F1A80B0 1 0>, + <DCC_READ 0x0F1B80B0 1 0>, + <DCC_READ 0x0F0880B0 1 0>, + <DCC_READ 0x0F0980B0 1 0>, + <DCC_READ 0x0F0A80B0 1 0>, + <DCC_READ 0x0F0B80B0 1 0>, + <DCC_READ 0x0F1880B8 1 0>, + <DCC_READ 0x0F1980B8 1 0>, + <DCC_READ 0x0F1A80B8 1 0>, + <DCC_READ 0x0F1B80B8 1 0>, + <DCC_READ 0x0F0880B8 1 0>, + <DCC_READ 0x0F0980B8 1 0>, + <DCC_READ 0x0F0A80B8 1 0>, + <DCC_READ 0x0F0B80B8 1 0>, + <DCC_READ 0x0F1D160C 1 0>, + <DCC_READ 0x0F1D120C 1 0>, + <DCC_READ 0x0F1D1434 1 0>, + <DCC_READ 0x0F1D141C 5 0>, + <DCC_READ 0x0F1D1448 1 0>, + <DCC_READ 0x0F1D144C 1 0>, + <DCC_READ 0xA754520 1 0>, + <DCC_READ 0xA751020 1 0>, + <DCC_READ 0xA751024 1 0>, + <DCC_READ 0xA751030 1 0>, + <DCC_READ 0xA751200 1 0>, + <DCC_READ 0xA751214 1 0>, + <DCC_READ 0xA751228 1 0>, + <DCC_READ 0xA75123C 1 0>, + <DCC_READ 0xA751250 1 0>, + <DCC_READ 0xA751204 1 0>, + <DCC_READ 0xA751218 1 0>, + <DCC_READ 0xA75122C 1 0>, + <DCC_READ 0xA751240 1 0>, + <DCC_READ 0xA751254 1 0>, + <DCC_READ 0xA751208 1 0>, + <DCC_READ 0xA75121C 1 0>, + <DCC_READ 0xA751230 1 0>, + <DCC_READ 0xA751244 1 0>, + <DCC_READ 0xA751258 1 0>, + <DCC_READ 0xA754510 1 0>, + <DCC_READ 0xA754514 1 0>, + <DCC_READ 0xA750010 1 0>, + <DCC_READ 0xA750014 1 0>, + <DCC_READ 0xA750900 1 0>, + <DCC_READ 0xA750904 1 0>, + <DCC_READ 0x0A402028 1 0>, + <DCC_READ 0x0A900010 1 0>, + <DCC_READ 0x0A900014 1 0>, + <DCC_READ 0x0A900018 1 0>, + <DCC_READ 0x0A900030 1 0>, + <DCC_READ 0x0A900038 1 0>, + <DCC_READ 0x0A900040 1 0>, + <DCC_READ 0x0A900048 1 0>, + <DCC_READ 0x0A9000D0 1 0>, + <DCC_READ 0x0A900210 1 0>, + <DCC_READ 0x0A900230 1 0>, + <DCC_READ 0x0A900250 1 0>, + <DCC_READ 0x0A900270 1 0>, + <DCC_READ 0x0A900290 1 0>, + <DCC_READ 0x0A9002B0 1 0>, + <DCC_READ 0x0A900208 1 0>, + <DCC_READ 0x0A900228 1 0>, + <DCC_READ 0x0A900248 1 0>, + <DCC_READ 0x0A900268 1 0>, + <DCC_READ 0x0A900288 1 0>, + <DCC_READ 0x0A9002A8 1 0>, + <DCC_READ 0x0A90020C 1 0>, + <DCC_READ 0x0A90022C 1 0>, + <DCC_READ 0x0A90024C 1 0>, + <DCC_READ 0x0A90026C 1 0>, + <DCC_READ 0x0A90028C 1 0>, + <DCC_READ 0x0A9002AC 1 0>, + <DCC_READ 0x0A900404 1 0>, + <DCC_READ 0x0A900408 1 0>, + <DCC_READ 0x0A900400 1 0>, + <DCC_READ 0x0A900D04 1 0>, + <DCC_READ 0x0A4B0010 1 0>, + <DCC_READ 0x0A4B0014 1 0>, + <DCC_READ 0x0A4B0018 1 0>, + <DCC_READ 0x0A4B0210 1 0>, + <DCC_READ 0x0A4B0230 1 0>, + <DCC_READ 0x0A4B0250 1 0>, + <DCC_READ 0x0A4B0270 1 0>, + <DCC_READ 0x0A4B0290 1 0>, + <DCC_READ 0x0A4B02B0 1 0>, + <DCC_READ 0x0A4B0208 1 0>, + <DCC_READ 0x0A4B0228 1 0>, + <DCC_READ 0x0A4B0248 1 0>, + <DCC_READ 0x0A4B0268 1 0>, + <DCC_READ 0x0A4B0288 1 0>, + <DCC_READ 0x0A4B02A8 1 0>, + <DCC_READ 0x0A4B020C 1 0>, + <DCC_READ 0x0A4B022C 1 0>, + <DCC_READ 0x0A4B024C 1 0>, + <DCC_READ 0x0A4B026C 1 0>, + <DCC_READ 0x0A4B028C 1 0>, + <DCC_READ 0x0A4B02AC 1 0>, + <DCC_READ 0x0A4B0400 1 0>, + <DCC_READ 0x0A4B0404 1 0>, + <DCC_READ 0x0A4B0408 1 0>, + <DCC_READ 0x4488100 1 0>, + <DCC_READ 0x4488400 2 0>, + <DCC_READ 0x4488410 1 0>, + <DCC_READ 0x4488420 2 0>, + <DCC_READ 0x4488430 2 0>, + <DCC_READ 0x448c100 1 0>, + <DCC_READ 0x448c400 2 0>, + <DCC_READ 0x448c410 1 0>, + <DCC_READ 0x448c420 2 0>, + <DCC_READ 0x448c430 2 0>, + <DCC_READ 0x4490100 1 0>, + <DCC_READ 0x4490400 2 0>, + <DCC_READ 0x4490410 1 0>, + <DCC_READ 0x4490420 2 0>, + <DCC_READ 0x4490430 2 0>, + <DCC_READ 0x4494100 1 0>, + <DCC_READ 0x4494400 2 0>, + <DCC_READ 0x4494410 1 0>, + <DCC_READ 0x4494420 2 0>, + <DCC_READ 0x4494430 2 0>, + <DCC_READ 0x449810c 1 0>, + <DCC_READ 0x4498400 2 0>, + <DCC_READ 0x4498410 1 0>, + <DCC_READ 0x4498420 2 0>, + <DCC_READ 0x4498430 2 0>, + <DCC_READ 0x44a0100 1 0>, + <DCC_READ 0x44a0400 2 0>, + <DCC_READ 0x44a0410 1 0>, + <DCC_READ 0x44a0420 2 0>, + <DCC_READ 0x44a0430 2 0>, + <DCC_READ 0x44b0560 1 0>, + <DCC_READ 0x44b05a0 1 0>, + <DCC_READ 0x44b1800 1 0>, + <DCC_READ 0x44b408c 1 0>, + <DCC_READ 0x44b409c 1 0>, + <DCC_READ 0x44b0520 1 0>, + <DCC_READ 0x44b5070 2 0>, + <DCC_READ 0x44bc220 1 0>, + <DCC_READ 0x44bc400 7 0>, + <DCC_READ 0x44bc420 9 0>, + <DCC_READ 0x44bd800 1 0>, + <DCC_READ 0x44c5800 1 0>, + <DCC_READ 0x4480040 2 0>, + <DCC_READ 0x4480810 2 0>, + <DCC_READ 0x44b0a40 1 0>, + <DCC_READ 0x4506044 1 0>, + <DCC_READ 0x45061dc 1 0>, + <DCC_READ 0x45061ec 1 0>, + <DCC_READ 0x4506028 2 0>, + <DCC_READ 0x4506094 1 0>, + <DCC_READ 0x4506608 1 0>, + <DCC_READ 0x447d02c 4 0>, + <DCC_READ 0x447d040 1 0>, + <DCC_READ 0x450002c 2 0>, + <DCC_READ 0x4500094 1 0>, + <DCC_READ 0x450009c 1 0>, + <DCC_READ 0x45000c4 2 0>, + <DCC_READ 0x45003dc 1 0>, + <DCC_READ 0x45005d8 1 0>, + <DCC_READ 0x450102c 2 0>, + <DCC_READ 0x4501094 1 0>, + <DCC_READ 0x450109c 1 0>, + <DCC_READ 0x45010c4 2 0>, + <DCC_READ 0x45013dc 1 0>, + <DCC_READ 0x45015d8 1 0>, + <DCC_READ 0x450202c 2 0>, + <DCC_READ 0x4502094 1 0>, + <DCC_READ 0x450209c 1 0>, + <DCC_READ 0x45020c4 2 0>, + <DCC_READ 0x45023dc 1 0>, + <DCC_READ 0x45025d8 1 0>, + <DCC_READ 0x450302c 2 0>, + <DCC_READ 0x4503094 1 0>, + <DCC_READ 0x450309c 1 0>, + <DCC_READ 0x45030c4 2 0>, + <DCC_READ 0x45033dc 1 0>, + <DCC_READ 0x45035d8 1 0>, + <DCC_READ 0x450402c 2 0>, + <DCC_READ 0x4504094 1 0>, + <DCC_READ 0x450409c 1 0>, + <DCC_READ 0x45040c8 2 0>, + <DCC_READ 0x45043dc 1 0>, + <DCC_READ 0x45045d8 1 0>, + <DCC_READ 0x450502c 2 0>, + <DCC_READ 0x4505094 1 0>, + <DCC_READ 0x450509c 1 0>, + <DCC_READ 0x45050c4 2 0>, + <DCC_READ 0x45053dc 1 0>, + <DCC_READ 0x45055d8 1 0>, + <DCC_READ 0x141102C 1 0>, + <DCC_READ 0x1436004 1 0>, + <DCC_READ 0x1471154 1 0>, + <DCC_READ 0x141050C 1 0>, + <DCC_READ 0x143600C 1 0>, + <DCC_READ 0x1436018 1 0>, + <DCC_READ 0x147C000 1 0>, + <DCC_READ 0x147D000 1 0>, + <DCC_READ 0x1436048 1 0>, + <DCC_READ 0x1436040 1 0>, + <DCC_READ 0x5991004 1 0>, + <DCC_READ 0x599100c 1 0>, + <DCC_READ 0x5991010 1 0>, + <DCC_READ 0x5991014 1 0>, + <DCC_READ 0x5991054 1 0>, + <DCC_READ 0x5991060 1 0>, + <DCC_READ 0x599106c 1 0>, + <DCC_READ 0x5991070 1 0>, + <DCC_READ 0x5991074 1 0>, + <DCC_READ 0x5991078 1 0>, + <DCC_READ 0x599107c 1 0>, + <DCC_READ 0x599108c 1 0>, + <DCC_READ 0x5991098 1 0>, + <DCC_READ 0x599109c 1 0>, + <DCC_READ 0x5991540 1 0>, + <DCC_READ 0x5995000 1 0>, + <DCC_READ 0x5995004 1 0>, + <DCC_READ 0x599101C 1 0>, + <DCC_READ 0x5991020 1 0>, + <DCC_READ 0x5990000 1 0>, + <DCC_READ 0x5990100 1 0>, + <DCC_READ 0x5991508 1 0>, + <DCC_READ 0x59910A4 1 0>, + <DCC_READ 0x5991578 1 0>, + <DCC_READ 0x5990010 1 0>, + <DCC_READ 0x5990110 1 0>, + <DCC_READ 0xf189000 1 0>, + <DCC_READ 0xf18900c 1 0>, + <DCC_READ 0xf189c0c 1 0>, + <DCC_READ 0xf189c10 1 0>, + <DCC_READ 0xf189c20 1 0>, + <DCC_READ 0xf199000 1 0>, + <DCC_READ 0xf19900c 1 0>, + <DCC_READ 0xf199c0c 1 0>, + <DCC_READ 0xf199c10 1 0>, + <DCC_READ 0xf199c20 1 0>, + <DCC_READ 0xf1a9000 1 0>, + <DCC_READ 0xf1a900c 1 0>, + <DCC_READ 0xf1a9c0c 1 0>, + <DCC_READ 0xf1a9c10 1 0>, + <DCC_READ 0xf1a9c20 1 0>, + <DCC_READ 0xf1b9000 1 0>, + <DCC_READ 0xf1b900c 1 0>, + <DCC_READ 0xf1b9c0c 1 0>, + <DCC_READ 0xf1b9c10 1 0>, + <DCC_READ 0xf1b9c18 1 0>, + <DCC_READ 0xf089000 1 0>, + <DCC_READ 0xf08900c 1 0>, + <DCC_READ 0xf089c0c 1 0>, + <DCC_READ 0xf089c10 1 0>, + <DCC_READ 0xf089c20 1 0>, + <DCC_READ 0xf099000 1 0>, + <DCC_READ 0xf09900c 1 0>, + <DCC_READ 0xf099c0c 1 0>, + <DCC_READ 0xf099c10 1 0>, + <DCC_READ 0xf099c20 1 0>, + <DCC_READ 0xf0a9000 1 0>, + <DCC_READ 0xf0a900c 1 0>, + <DCC_READ 0xf0a9c0c 1 0>, + <DCC_READ 0xf0a9c10 1 0>, + <DCC_READ 0xf0a9c20 1 0>, + <DCC_READ 0xf0b9000 1 0>, + <DCC_READ 0xf0b900c 1 0>, + <DCC_READ 0xf0b9c0c 1 0>, + <DCC_READ 0xf0b9c10 1 0>, + <DCC_READ 0xf0b9c20 1 0>, + <DCC_READ 0xf112000 1 0>, + <DCC_READ 0xf11200c 1 0>, + <DCC_READ 0xf112c0c 1 0>, + <DCC_READ 0xf112c10 1 0>, + <DCC_READ 0xf112c20 1 0>, + <DCC_READ 0xf012000 1 0>, + <DCC_READ 0xf01200c 1 0>, + <DCC_READ 0xf012c0c 1 0>, + <DCC_READ 0xf012c10 1 0>, + <DCC_READ 0xf012c20 1 0>, + <DCC_READ 0xf1d2000 1 0>, + <DCC_READ 0xf1d200c 1 0>, + <DCC_READ 0xf1d2c0c 1 0>, + <DCC_READ 0xf1d2c10 1 0>, + <DCC_READ 0xf1d2c20 1 0>, + <DCC_READ 0xf011014 1 0>, + <DCC_READ 0xf011018 1 0>, + <DCC_READ 0xf011218 1 0>, + <DCC_READ 0xf011234 1 0>, + <DCC_READ 0xf011220 1 0>, + <DCC_READ 0xf011264 1 0>, + <DCC_READ 0xf011290 1 0>, + <DCC_READ 0xf111014 1 0>, + <DCC_READ 0xf111018 1 0>, + <DCC_READ 0xf111218 1 0>, + <DCC_READ 0xf111234 1 0>, + <DCC_READ 0xf111264 1 0>, + <DCC_READ 0xf111290 1 0>, + <DCC_READ 0x0F521700 1 0>, + <DCC_READ 0x0F523700 1 0>, + <DCC_READ 0x0F112C18 1 0>, + <DCC_READ 0x0F012C18 1 0>, + <DCC_READ 0x0F513A84 1 0>, + <DCC_READ 0x0F513A88 1 0>, + <DCC_READ 0x01B60110 1 0>, + <DCC_READ 0x1900010 1 0>, + <DCC_READ 0x1900020 1 0>, + <DCC_READ 0x1900024 1 0>, + <DCC_READ 0x1900028 1 0>, + <DCC_READ 0x190002C 1 0>, + <DCC_READ 0x1900030 1 0>, + <DCC_READ 0x1900034 1 0>, + <DCC_READ 0x1900038 1 0>, + <DCC_READ 0x190003C 1 0>, + <DCC_READ 0x1900300 1 0>, + <DCC_READ 0x1900304 1 0>, + <DCC_READ 0x1900308 1 0>, + <DCC_READ 0x190030C 1 0>, + <DCC_READ 0x1900310 1 0>, + <DCC_READ 0x1900314 1 0>, + <DCC_READ 0x1900900 1 0>, + <DCC_READ 0x1900904 1 0>, + <DCC_READ 0x1900B00 1 0>, + <DCC_READ 0x1900D00 1 0>, + <DCC_READ 0x1909100 1 0>, + <DCC_READ 0x1909104 1 0>, + <DCC_READ 0x1480140 1 0>, + <DCC_READ 0x1481140 1 0>, + <DCC_READ 0x1415008 1 0>, + <DCC_READ 0x1416008 1 0>, + <DCC_READ 0x44B0120 1 0>, + <DCC_READ 0x44B0124 1 0>, + <DCC_READ 0x44B0128 1 0>, + <DCC_READ 0x44B012C 1 0>, + <DCC_READ 0x44B0130 1 0>, + <DCC_READ 0x44B0100 1 0>, + <DCC_READ 0x44B0020 1 0>, + <DCC_READ 0x44C4000 1 0>, + <DCC_READ 0x44C4020 1 0>, + <DCC_READ 0x44C4030 1 0>, + <DCC_READ 0x44C4100 1 0>, + <DCC_READ 0x44C410C 1 0>, + <DCC_READ 0x44C4400 1 0>, + <DCC_READ 0x44C4410 1 0>, + <DCC_READ 0x44C4420 1 0>, + <DCC_READ 0x1900240 1 0>, + <DCC_READ 0x1900244 1 0>, + <DCC_READ 0x1900248 1 0>, + <DCC_READ 0x190024C 1 0>, + <DCC_READ 0x1900250 1 0>, + <DCC_READ 0x1900258 1 0>, + <DCC_READ 0x1411004 1 0>, + <DCC_READ 0x1411028 1 0>, + <DCC_READ 0x1458004 1 0>, + <DCC_READ 0x1880108 1 0>, + <DCC_READ 0x1880110 1 0>, + <DCC_READ 0x1880120 1 0>, + <DCC_READ 0x1880124 1 0>, + <DCC_READ 0x1880128 1 0>, + <DCC_READ 0x188012C 1 0>, + <DCC_READ 0x1880130 1 0>, + <DCC_READ 0x1880134 1 0>, + <DCC_READ 0x1880138 1 0>, + <DCC_READ 0x188013C 1 0>, + <DCC_READ 0x1880300 1 0>, + <DCC_READ 0x1880304 1 0>, + <DCC_READ 0x1880308 1 0>, + <DCC_READ 0x188030C 1 0>, + <DCC_READ 0x1880310 1 0>, + <DCC_READ 0x1880314 1 0>, + <DCC_READ 0x1880318 1 0>, + <DCC_READ 0x188031C 1 0>, + <DCC_READ 0x1880700 1 0>, + <DCC_READ 0x1880704 1 0>, + <DCC_READ 0x1880708 1 0>, + <DCC_READ 0x188070C 1 0>, + <DCC_READ 0x1880710 1 0>, + <DCC_READ 0x1880714 1 0>, + <DCC_READ 0x1880718 1 0>, + <DCC_READ 0x188071C 1 0>, + <DCC_READ 0x1881100 1 0>, + <DCC_READ 0x1880240 1 0>, + <DCC_READ 0x1880248 1 0>, + <DCC_READ 0xF017000 1 0>, + <DCC_READ 0xF01700C 1 0>, + <DCC_READ 0xF017010 1 0>, + <DCC_READ 0xF017014 1 0>, + <DCC_READ 0xF017018 1 0>, + <DCC_READ 0xF017020 1 0>, + <DCC_READ 0x1414008 1 0>, + <DCC_READ 0x1414004 1 0>, + <DCC_READ 0x5991554 1 0>, + <DCC_READ 0x5991544 1 0>, + <DCC_READ 0x599155C 1 0>, + <DCC_READ 0x440B00C 1 0>, + <DCC_READ 0x440B014 1 0>, + <DCC_READ 0x0F522C14 1 0>, + <DCC_READ 0x0F522C1C 1 0>, + <DCC_READ 0x0F522C10 1 0>, + <DCC_READ 0x0F524C10 1 0>, + <DCC_READ 0x0F524C14 1 0>, + <DCC_READ 0x0F524C18 1 0>, + <DCC_READ 0x0F524C1C 1 0>, + <DCC_READ 0x0F521920 1 0>, + <DCC_READ 0x0F52102C 1 0>, + <DCC_READ 0x0F521044 1 0>, + <DCC_READ 0x0F521710 1 0>, + <DCC_READ 0x0F52176C 1 0>, + <DCC_READ 0x0F523920 1 0>, + <DCC_READ 0x0F52302C 1 0>, + <DCC_READ 0x0F523044 1 0>, + <DCC_READ 0x0F523710 1 0>, + <DCC_READ 0x0F52376C 1 0>, + <DCC_READ 0x0F116000 1 0>, + <DCC_READ 0x0F116004 1 0>, + <DCC_READ 0x0F11602C 1 0>, + <DCC_READ 0x0F016000 1 0>, + <DCC_READ 0x0F016004 1 0>, + <DCC_READ 0x0F01602C 1 0>, + <DCC_READ 0x0F111250 1 0>, + <DCC_READ 0x0F111254 1 0>, + <DCC_READ 0x0F111258 1 0>, + <DCC_READ 0x0F11125C 1 0>, + <DCC_READ 0x0F111260 1 0>, + <DCC_READ 0x0F188078 1 0>, + <DCC_READ 0x0F188084 1 0>, + <DCC_READ 0x0F198078 1 0>, + <DCC_READ 0x0F198084 1 0>, + <DCC_READ 0x0F1A8078 1 0>, + <DCC_READ 0x0F1A8084 1 0>, + <DCC_READ 0x0F1B8078 1 0>, + <DCC_READ 0x0F1B8084 1 0>, + <DCC_READ 0x0F521818 1 0>, + <DCC_READ 0x0F52181C 1 0>, + <DCC_READ 0x0F521828 1 0>, + <DCC_READ 0x0F523818 1 0>, + <DCC_READ 0x0F52381C 1 0>, + <DCC_READ 0x0F523828 1 0>, + <DCC_READ 0x0F522C18 1 0>, + <DCC_READ 0x0F111310 1 0>, + <DCC_READ 0x0F111314 1 0>, + <DCC_READ 0x0F111318 1 0>, + <DCC_READ 0x0F01125C 1 0>, + <DCC_READ 0x0F011258 1 0>, + <DCC_READ 0x0F011310 1 0>, + <DCC_READ 0x0F011314 1 0>, + <DCC_READ 0x0F011318 1 0>, + <DCC_WRITE 0x9870010 0x14000 0>, + <DCC_READ 0xF011600 1 0>, + <DCC_READ 0xF011608 1 0>, + <DCC_READ 0xF01160C 1 0>, + <DCC_READ 0xF011610 1 0>, + <DCC_READ 0xF011614 1 0>, + <DCC_READ 0xF011618 1 0>, + <DCC_READ 0xF01161C 1 0>, + <DCC_READ 0xF011620 1 0>, + <DCC_READ 0xF011624 1 0>, + <DCC_READ 0xF011628 1 0>, + <DCC_READ 0xF01162C 1 0>, + <DCC_READ 0xF011630 1 0>, + <DCC_READ 0xF011634 1 0>, + <DCC_READ 0xF011638 1 0>, + <DCC_READ 0xF01163C 1 0>, + <DCC_READ 0xF011640 1 0>, + <DCC_READ 0xF011644 1 0>, + <DCC_READ 0xF011648 1 0>, + <DCC_READ 0xF01164C 1 0>, + <DCC_READ 0xF011650 1 0>, + <DCC_READ 0xF011654 1 0>, + <DCC_READ 0xF011658 1 0>, + <DCC_READ 0xF01165C 1 0>, + <DCC_READ 0xF011664 1 0>, + <DCC_READ 0xF111600 1 0>, + <DCC_READ 0xF111608 1 0>, + <DCC_READ 0xF11160C 1 0>, + <DCC_READ 0xF111610 1 0>, + <DCC_READ 0xF111614 1 0>, + <DCC_READ 0xF111618 1 0>, + <DCC_READ 0xF11161C 1 0>, + <DCC_READ 0xF111620 1 0>, + <DCC_READ 0xF111624 1 0>, + <DCC_READ 0xF111628 1 0>, + <DCC_READ 0xF11162C 1 0>, + <DCC_READ 0xF111630 1 0>, + <DCC_READ 0xF111634 1 0>, + <DCC_READ 0xF111638 1 0>, + <DCC_READ 0xF11163C 1 0>, + <DCC_READ 0xF111640 1 0>, + <DCC_READ 0xF111644 1 0>, + <DCC_READ 0xF111648 1 0>, + <DCC_READ 0xF111650 1 0>, + <DCC_READ 0xF111654 1 0>, + <DCC_READ 0xF111658 1 0>, + <DCC_READ 0xF11165C 1 0>, + <DCC_READ 0xF111664 1 0>, + <DCC_READ 0xF011400 1 0>, + <DCC_READ 0xF111400 1 0>, + <DCC_WRITE 0x9870010 0x0 0>, + <DCC_READ 0x06130010 1 0>, + <DCC_READ 0x06130014 1 0>, + <DCC_READ 0x06130018 1 0>, + <DCC_READ 0x06130210 1 0>, + <DCC_READ 0x06130230 1 0>, + <DCC_READ 0x06130250 1 0>, + <DCC_READ 0x06130270 1 0>, + <DCC_READ 0x06130290 1 0>, + <DCC_READ 0x061302B0 1 0>, + <DCC_READ 0x06130208 1 0>, + <DCC_READ 0x06130228 1 0>, + <DCC_READ 0x06130248 1 0>, + <DCC_READ 0x06130268 1 0>, + <DCC_READ 0x06130288 1 0>, + <DCC_READ 0x061302A8 1 0>, + <DCC_READ 0x0613020C 1 0>, + <DCC_READ 0x0613022C 1 0>, + <DCC_READ 0x0613024C 1 0>, + <DCC_READ 0x0613026C 1 0>, + <DCC_READ 0x0613028C 1 0>, + <DCC_READ 0x061302AC 1 0>, + <DCC_READ 0x06130400 1 0>, + <DCC_READ 0x06130404 1 0>, + <DCC_READ 0x06130408 1 0>, + <DCC_READ 0x6082028 1 0>, + <DCC_READ 0x0143300C 1 0>, + <DCC_READ 0x0B3B0010 1 0>, + <DCC_READ 0x0B3B0014 1 0>, + <DCC_READ 0x0B3B0018 1 0>, + <DCC_READ 0x0B3B0210 1 0>, + <DCC_READ 0x0B3B0230 1 0>, + <DCC_READ 0x0B3B0250 1 0>, + <DCC_READ 0x0B3B0270 1 0>, + <DCC_READ 0x0B3B0290 1 0>, + <DCC_READ 0x0B3B02B0 1 0>, + <DCC_READ 0x0B3B0208 1 0>, + <DCC_READ 0x0B3B0228 1 0>, + <DCC_READ 0x0B3B0248 1 0>, + <DCC_READ 0x0B3B0268 1 0>, + <DCC_READ 0x0B3B0288 1 0>, + <DCC_READ 0x0B3B02A8 1 0>, + <DCC_READ 0x0B3B020C 1 0>, + <DCC_READ 0x0B3B022C 1 0>, + <DCC_READ 0x0B3B024C 1 0>, + <DCC_READ 0x0B3B026C 1 0>, + <DCC_READ 0x0B3B028C 1 0>, + <DCC_READ 0x0B3B02AC 1 0>, + <DCC_READ 0x0B3B0400 1 0>, + <DCC_READ 0x0B3B0404 1 0>, + <DCC_READ 0x0B3B0408 1 0>, + <DCC_READ 0x0B302028 1 0>, + <DCC_READ 0x0B300044 1 0>, + <DCC_READ 0x0B300304 1 0>, + <DCC_READ 0x5C6F000 1 0>, + <DCC_READ 0x5C42000 1 0>, + <DCC_READ 0x5C42400 1 0>, + <DCC_READ 0x5C23000 1 0>; + }; + + link_list2 { + qcom,curr-link-list = <2>; + qcom,data-sink = "sram"; + qcom,link-list = <DCC_READ 0x01480140 1 0>, + <DCC_READ 0x01481140 1 0>, + <DCC_READ 0x0148014C 1 0>, + <DCC_READ 0x0148114C 1 0>, + <DCC_READ 0x01477008 1 0>, + <DCC_READ 0x01439000 1 0>, + <DCC_READ 0x01415010 1 0>, + <DCC_READ 0x01416010 1 0>, + <DCC_READ 0x0142A00C 1 0>, + <DCC_READ 0x1400000 1 0>, + <DCC_READ 0x1400004 1 0>, + <DCC_READ 0x1400008 1 0>, + <DCC_READ 0x140000C 1 0>, + <DCC_READ 0x1400010 1 0>, + <DCC_READ 0x1400014 1 0>, + <DCC_READ 0x1400018 1 0>, + <DCC_READ 0x140001C 1 0>, + <DCC_READ 0x1400020 1 0>, + <DCC_READ 0x1400024 1 0>, + <DCC_READ 0x1401000 1 0>, + <DCC_READ 0x1401004 1 0>, + <DCC_READ 0x1401008 1 0>, + <DCC_READ 0x140100C 1 0>, + <DCC_READ 0x1401010 1 0>, + <DCC_READ 0x1401014 1 0>, + <DCC_READ 0x1401018 1 0>, + <DCC_READ 0x140101C 1 0>, + <DCC_READ 0x1401020 1 0>, + <DCC_READ 0x1401024 1 0>, + <DCC_READ 0x1402000 1 0>, + <DCC_READ 0x1402004 1 0>, + <DCC_READ 0x1402008 1 0>, + <DCC_READ 0x140200C 1 0>, + <DCC_READ 0x1402010 1 0>, + <DCC_READ 0x1402014 1 0>, + <DCC_READ 0x1402018 1 0>, + <DCC_READ 0x140201C 1 0>, + <DCC_READ 0x1402020 1 0>, + <DCC_READ 0x1402024 1 0>, + <DCC_READ 0x1403000 1 0>, + <DCC_READ 0x1403004 1 0>, + <DCC_READ 0x1403008 1 0>, + <DCC_READ 0x140300C 1 0>, + <DCC_READ 0x1403010 1 0>, + <DCC_READ 0x1403014 1 0>, + <DCC_READ 0x1403018 1 0>, + <DCC_READ 0x140301C 1 0>, + <DCC_READ 0x1403020 1 0>, + <DCC_READ 0x1403024 1 0>, + <DCC_READ 0x1404000 1 0>, + <DCC_READ 0x1404004 1 0>, + <DCC_READ 0x1404008 1 0>, + <DCC_READ 0x140400C 1 0>, + <DCC_READ 0x1404010 1 0>, + <DCC_READ 0x1404014 1 0>, + <DCC_READ 0x1404018 1 0>, + <DCC_READ 0x140401C 1 0>, + <DCC_READ 0x1404020 1 0>, + <DCC_READ 0x1404024 1 0>, + <DCC_READ 0x1405000 1 0>, + <DCC_READ 0x1405004 1 0>, + <DCC_READ 0x1405008 1 0>, + <DCC_READ 0x140500C 1 0>, + <DCC_READ 0x1405010 1 0>, + <DCC_READ 0x1405014 1 0>, + <DCC_READ 0x1405018 1 0>, + <DCC_READ 0x140501C 1 0>, + <DCC_READ 0x1405020 1 0>, + <DCC_READ 0x1405024 1 0>, + <DCC_READ 0x1406000 1 0>, + <DCC_READ 0x1406004 1 0>, + <DCC_READ 0x1406008 1 0>, + <DCC_READ 0x140600C 1 0>, + <DCC_READ 0x1406010 1 0>, + <DCC_READ 0x1406014 1 0>, + <DCC_READ 0x1406018 1 0>, + <DCC_READ 0x140601C 1 0>, + <DCC_READ 0x1406020 1 0>, + <DCC_READ 0x1406024 1 0>, + <DCC_READ 0x1407000 1 0>, + <DCC_READ 0x1407004 1 0>, + <DCC_READ 0x1407008 1 0>, + <DCC_READ 0x140700C 1 0>, + <DCC_READ 0x1407010 1 0>, + <DCC_READ 0x1407014 1 0>, + <DCC_READ 0x1407018 1 0>, + <DCC_READ 0x140701C 1 0>, + <DCC_READ 0x1407020 1 0>, + <DCC_READ 0x1407024 1 0>, + <DCC_READ 0x1407028 1 0>, + <DCC_READ 0x140702C 1 0>, + <DCC_READ 0x1407030 1 0>, + <DCC_READ 0x1407034 1 0>, + <DCC_READ 0x1408000 1 0>, + <DCC_READ 0x1408004 1 0>, + <DCC_READ 0x1408008 1 0>, + <DCC_READ 0x140800C 1 0>, + <DCC_READ 0x1408010 1 0>, + <DCC_READ 0x1408014 1 0>, + <DCC_READ 0x1408018 1 0>, + <DCC_READ 0x140801C 1 0>, + <DCC_READ 0x1408020 1 0>, + <DCC_READ 0x1408024 1 0>, + <DCC_READ 0x1409000 1 0>, + <DCC_READ 0x1409004 1 0>, + <DCC_READ 0x1409008 1 0>, + <DCC_READ 0x140900C 1 0>, + <DCC_READ 0x1409010 1 0>, + <DCC_READ 0x1409014 1 0>, + <DCC_READ 0x1409018 1 0>, + <DCC_READ 0x140901C 1 0>, + <DCC_READ 0x1409020 1 0>, + <DCC_READ 0x1409024 1 0>, + <DCC_READ 0x141001C 1 0>, + <DCC_READ 0x14103EC 1 0>, + <DCC_READ 0x1414024 1 0>, + <DCC_READ 0x1415004 1 0>, + <DCC_READ 0x1415008 1 0>, + <DCC_READ 0x141500C 1 0>, + <DCC_READ 0x1415034 1 0>, + <DCC_READ 0x1416004 1 0>, + <DCC_READ 0x1416008 1 0>, + <DCC_READ 0x141600C 1 0>, + <DCC_READ 0x1416038 1 0>, + <DCC_READ 0x141703C 1 0>, + <DCC_READ 0x1417040 1 0>, + <DCC_READ 0x141A004 1 0>, + <DCC_READ 0x141A008 1 0>, + <DCC_READ 0x141A00C 1 0>, + <DCC_READ 0x141A01C 1 0>, + <DCC_READ 0x141A020 1 0>, + <DCC_READ 0x141A034 1 0>, + <DCC_READ 0x141A038 1 0>, + <DCC_READ 0x141A060 1 0>, + <DCC_READ 0x141A064 1 0>, + <DCC_READ 0x141E00C 1 0>, + <DCC_READ 0x141E010 1 0>, + <DCC_READ 0x141F02C 1 0>, + <DCC_READ 0x141F148 1 0>, + <DCC_READ 0x141F14C 1 0>, + <DCC_READ 0x141F15C 1 0>, + <DCC_READ 0x141F278 1 0>, + <DCC_READ 0x141F27C 1 0>, + <DCC_READ 0x141F28C 1 0>, + <DCC_READ 0x141F3A8 1 0>, + <DCC_READ 0x141F3AC 1 0>, + <DCC_READ 0x141F3BC 1 0>, + <DCC_READ 0x141F4D8 1 0>, + <DCC_READ 0x141F4DC 1 0>, + <DCC_READ 0x141F4EC 1 0>, + <DCC_READ 0x141F608 1 0>, + <DCC_READ 0x141F60C 1 0>, + <DCC_READ 0x141F61C 1 0>, + <DCC_READ 0x141F738 1 0>, + <DCC_READ 0x141F73C 1 0>, + <DCC_READ 0x141F74C 1 0>, + <DCC_READ 0x1420010 1 0>, + <DCC_READ 0x1420014 1 0>, + <DCC_READ 0x1426018 1 0>, + <DCC_READ 0x142601C 1 0>, + <DCC_READ 0x1426030 1 0>, + <DCC_READ 0x1426034 1 0>, + <DCC_READ 0x1427024 1 0>, + <DCC_READ 0x1428014 1 0>, + <DCC_READ 0x1428018 1 0>, + <DCC_READ 0x142802C 1 0>, + <DCC_READ 0x1428030 1 0>, + <DCC_READ 0x1429004 1 0>, + <DCC_READ 0x1429008 1 0>, + <DCC_READ 0x142900C 1 0>, + <DCC_READ 0x1429040 1 0>, + <DCC_READ 0x1429044 1 0>, + <DCC_READ 0x142A000 1 0>, + <DCC_READ 0x142A004 1 0>, + <DCC_READ 0x142A008 1 0>, + <DCC_READ 0x142A154 1 0>, + <DCC_READ 0x142A158 1 0>, + <DCC_READ 0x142B13C 1 0>, + <DCC_READ 0x142B140 1 0>, + <DCC_READ 0x142B158 1 0>, + <DCC_READ 0x142B15C 1 0>, + <DCC_READ 0x142E00C 1 0>, + <DCC_READ 0x142E010 1 0>, + <DCC_READ 0x142F00C 1 0>, + <DCC_READ 0x142F010 1 0>, + <DCC_READ 0x1432004 1 0>, + <DCC_READ 0x1432008 1 0>, + <DCC_READ 0x143200C 1 0>, + <DCC_READ 0x1432034 1 0>, + <DCC_READ 0x1432080 1 0>, + <DCC_READ 0x1438010 1 0>, + <DCC_READ 0x1438014 1 0>, + <DCC_READ 0x1438028 1 0>, + <DCC_READ 0x143802C 1 0>, + <DCC_READ 0x143B000 1 0>, + <DCC_READ 0x143B004 1 0>, + <DCC_READ 0x143B008 1 0>, + <DCC_READ 0x143B00C 1 0>, + <DCC_READ 0x143B010 1 0>, + <DCC_READ 0x143B014 1 0>, + <DCC_READ 0x143B018 1 0>, + <DCC_READ 0x143B01C 1 0>, + <DCC_READ 0x143B020 1 0>, + <DCC_READ 0x143B024 1 0>, + <DCC_READ 0x143D01C 1 0>, + <DCC_READ 0x143D020 1 0>, + <DCC_READ 0x143E000 1 0>, + <DCC_READ 0x143E004 1 0>, + <DCC_READ 0x143E008 1 0>, + <DCC_READ 0x143E00C 1 0>, + <DCC_READ 0x143E010 1 0>, + <DCC_READ 0x143E014 1 0>, + <DCC_READ 0x143E018 1 0>, + <DCC_READ 0x143E01C 1 0>, + <DCC_READ 0x143E020 1 0>, + <DCC_READ 0x143E024 1 0>, + <DCC_READ 0x143E060 1 0>, + <DCC_READ 0x143F000 1 0>, + <DCC_READ 0x143F004 1 0>, + <DCC_READ 0x143F008 1 0>, + <DCC_READ 0x143F00C 1 0>, + <DCC_READ 0x143F010 1 0>, + <DCC_READ 0x143F014 1 0>, + <DCC_READ 0x143F018 1 0>, + <DCC_READ 0x143F01C 1 0>, + <DCC_READ 0x143F020 1 0>, + <DCC_READ 0x143F024 1 0>, + <DCC_READ 0x1442018 1 0>, + <DCC_READ 0x144201C 1 0>, + <DCC_READ 0x1442030 1 0>, + <DCC_READ 0x1442034 1 0>, + <DCC_READ 0x1445004 1 0>, + <DCC_READ 0x1445008 1 0>, + <DCC_READ 0x144500C 1 0>, + <DCC_READ 0x1445020 1 0>, + <DCC_READ 0x1445024 1 0>, + <DCC_READ 0x1445048 1 0>, + <DCC_READ 0x144504C 1 0>, + <DCC_READ 0x1445060 1 0>, + <DCC_READ 0x1445064 1 0>, + <DCC_READ 0x144507C 1 0>, + <DCC_READ 0x1445080 1 0>, + <DCC_READ 0x1446004 1 0>, + <DCC_READ 0x1446008 1 0>, + <DCC_READ 0x1446024 1 0>, + <DCC_READ 0x1446150 1 0>, + <DCC_READ 0x1448024 1 0>, + <DCC_READ 0x144D004 1 0>, + <DCC_READ 0x144D008 1 0>, + <DCC_READ 0x144E004 1 0>, + <DCC_READ 0x144E008 1 0>, + <DCC_READ 0x144F004 1 0>, + <DCC_READ 0x144F008 1 0>, + <DCC_READ 0x1451000 1 0>, + <DCC_READ 0x1451004 1 0>, + <DCC_READ 0x145101C 1 0>, + <DCC_READ 0x1451020 1 0>, + <DCC_READ 0x1451038 1 0>, + <DCC_READ 0x145103C 1 0>, + <DCC_READ 0x1451054 1 0>, + <DCC_READ 0x1451058 1 0>, + <DCC_READ 0x1452004 1 0>, + <DCC_READ 0x1452008 1 0>, + <DCC_READ 0x1452028 1 0>, + <DCC_READ 0x145202C 1 0>, + <DCC_READ 0x1454004 1 0>, + <DCC_READ 0x1455000 1 0>, + <DCC_READ 0x1455004 1 0>, + <DCC_READ 0x1457000 1 0>, + <DCC_READ 0x1457004 1 0>, + <DCC_READ 0x1457008 1 0>, + <DCC_READ 0x145700C 1 0>, + <DCC_READ 0x1457010 1 0>, + <DCC_READ 0x145A000 1 0>, + <DCC_READ 0x145A004 1 0>, + <DCC_READ 0x145A008 1 0>, + <DCC_READ 0x145A00C 1 0>, + <DCC_READ 0x145A010 1 0>, + <DCC_READ 0x145B000 1 0>, + <DCC_READ 0x145B004 1 0>, + <DCC_READ 0x145B00C 1 0>, + <DCC_READ 0x1463020 1 0>, + <DCC_READ 0x1469000 1 0>, + <DCC_READ 0x1469004 1 0>, + <DCC_READ 0x1469008 1 0>, + <DCC_READ 0x146900C 1 0>, + <DCC_READ 0x1469010 1 0>, + <DCC_READ 0x146B000 1 0>, + <DCC_READ 0x146B004 1 0>, + <DCC_READ 0x146B008 1 0>, + <DCC_READ 0x146B00C 1 0>, + <DCC_READ 0x146B010 1 0>, + <DCC_READ 0x146B014 1 0>, + <DCC_READ 0x146B018 1 0>, + <DCC_READ 0x146B01C 1 0>, + <DCC_READ 0x146B020 1 0>, + <DCC_READ 0x146C000 1 0>, + <DCC_READ 0x146C004 1 0>, + <DCC_READ 0x146C00C 1 0>, + <DCC_READ 0x1475000 1 0>, + <DCC_READ 0x1475004 1 0>, + <DCC_READ 0x147500C 1 0>, + <DCC_READ 0x1477000 1 0>, + <DCC_READ 0x1477004 1 0>, + <DCC_READ 0x147700C 1 0>, + <DCC_READ 0x1478030 1 0>, + <DCC_READ 0x1479000 1 0>, + <DCC_READ 0x1479004 1 0>, + <DCC_READ 0x147900C 1 0>, + <DCC_READ 0x147A000 1 0>, + <DCC_READ 0x147A004 1 0>, + <DCC_READ 0x147A00C 1 0>, + <DCC_READ 0x1480018 1 0>, + <DCC_READ 0x1480144 1 0>, + <DCC_READ 0x1481144 1 0>, + <DCC_READ 0x148B004 1 0>, + <DCC_READ 0x1490004 1 0>, + <DCC_READ 0x1490008 1 0>, + <DCC_READ 0x1490024 1 0>, + <DCC_READ 0x1490028 1 0>, + <DCC_READ 0x149002C 1 0>, + <DCC_READ 0x1490034 1 0>, + <DCC_READ 0x1495000 1 0>, + <DCC_READ 0x1495004 1 0>, + <DCC_READ 0x149500C 1 0>, + <DCC_READ 0x14B5000 1 0>, + <DCC_READ 0x14C4000 1 0>, + <DCC_READ 0x14C5000 1 0>, + <DCC_READ 0x14C6000 1 0>, + <DCC_READ 0x14C7000 1 0>, + <DCC_READ 0x440C000 1 0>, + <DCC_READ 0x440C004 1 0>, + <DCC_READ 0x440C008 1 0>, + <DCC_READ 0x440C040 1 0>, + <DCC_READ 0x440C044 1 0>, + <DCC_READ 0x440C048 1 0>, + <DCC_READ 0x440C04C 1 0>, + <DCC_READ 0x440C050 1 0>, + <DCC_READ 0x440C054 1 0>, + <DCC_READ 0x440C058 1 0>, + <DCC_READ 0x440C05C 1 0>, + <DCC_READ 0x440C060 1 0>, + <DCC_READ 0x440C068 1 0>, + <DCC_READ 0x440C06C 1 0>, + <DCC_READ 0x440E050 1 0>, + <DCC_READ 0x440E054 1 0>, + <DCC_READ 0x440E0A0 1 0>, + <DCC_READ 0x440E0A4 1 0>, + <DCC_READ 0x440F010 1 0>; + }; + }; + + timer@f120000 { + #address-cells = <1>; + #size-cells = <1>; + ranges; + compatible = "arm,armv7-timer-mem"; + reg = <0xf120000 0x1000>; + clock-frequency = <19200000>; + + frame@f121000 { + frame-number = <0>; + interrupts = <0 8 0x4>, + <0 7 0x4>; + reg = <0xf121000 0x1000>, + <0xf122000 0x1000>; + }; + + frame@f123000 { + frame-number = <1>; + interrupts = <0 9 0x4>; + reg = <0xf123000 0x1000>; + status = "disabled"; + }; + + frame@f124000 { + frame-number = <2>; + interrupts = <0 10 0x4>; + reg = <0xf124000 0x1000>; + status = "disabled"; + }; + + frame@f125000 { + frame-number = <3>; + interrupts = <0 11 0x4>; + reg = <0xf125000 0x1000>; + status = "disabled"; + }; + + frame@f126000 { + frame-number = <4>; + interrupts = <0 12 0x4>; + reg = <0xf126000 0x1000>; + status = "disabled"; + }; + + frame@f127000 { + frame-number = <5>; + interrupts = <0 13 0x4>; + reg = <0xf127000 0x1000>; + status = "disabled"; + }; + + frame@f128000 { + frame-number = <6>; + interrupts = <0 14 0x4>; + reg = <0xf128000 0x1000>; + status = "disabled"; + }; + }; + + arm64_cpu_erp { + compatible = "arm,arm64-cpu-erp"; + interrupt-names = "pri-dbe-irq", + "sec-dbe-irq", + "pri-ext-irq", + "sec-ext-irq"; + interrupts = <0 43 4>, + <0 44 4>, + <0 41 4>, + <0 42 4>; + poll-delay-ms = <5000>; + }; + + l2cache_pmu { + #address-cells = <1>; + #size-cells = <1>; + compatible = "qcom,l2cache-pmu"; + ranges; + + cluster0@f111000 { + cluster-id = <0>; + interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>; + reg = <0xf111000 0x1000>; + }; + + cluster1@f011000 { + cluster-id = <1>; + interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>; + reg = <0xf011000 0x1000>; + }; + }; + + qcom,msm-imem@c125000 { + compatible = "qcom,msm-imem"; + reg = <0xc125000 0x1000>; + ranges = <0x0 0xc125000 0x1000>; + #address-cells = <1>; + #size-cells = <1>; + + mem_dump_table@10 { + compatible = "qcom,msm-imem-mem_dump_table"; + reg = <0x10 0x8>; + }; + + restart_reason@65c { + compatible = "qcom,msm-imem-restart_reason"; + reg = <0x65c 0x4>; + }; + + dload_type@1c { + compatible = "qcom,msm-imem-dload-type"; + reg = <0x1c 0x4>; + }; + + boot_stats@6b0 { + compatible = "qcom,msm-imem-boot_stats"; + reg = <0x6b0 0x20>; + }; + + kaslr_offset@6d0 { + compatible = "qcom,msm-imem-kaslr_offset"; + reg = <0x6d0 0xc>; + }; + + pil@94c { + compatible = "qcom,msm-imem-pil"; + reg = <0x94c 0xc8>; + }; + + diag_dload@c8 { + compatible = "qcom,msm-imem-diag-dload"; + reg = <0xc8 0xc8>; + }; + }; + + restart@440b000 { + compatible = "qcom,pshold"; + reg = <0x440b000 0x4>, + <0x03d3000 0x4>; + reg-names = "pshold-base", "tcsr-boot-misc-detect"; + }; + + qcom_seecom: qseecom@61800000 { + compatible = "qcom,qseecom"; + reg = <0x61800000 0x2100000>; + reg-names = "secapp-region"; + memory-region = <&qseecom_mem>; + qcom,hlos-num-ce-hw-instances = <1>; + qcom,hlos-ce-hw-instance = <0>; + qcom,qsee-ce-hw-instance = <0>; + qcom,disk-encrypt-pipe-pair = <2>; + qcom,support-fde; + qcom,fde-key-size; + qcom,appsbl-qseecom-support; + qcom,commonlib64-loaded-by-uefi; + qcom,msm-bus,name = "qseecom-noc"; + qcom,msm-bus,num-cases = <4>; + qcom,msm-bus,num-paths = <1>; + qcom,msm-bus,vectors-KBps = + <MSM_BUS_MASTER_CRYPTO_CORE0 + MSM_BUS_SLAVE_FIRST 0 0>, + <MSM_BUS_MASTER_CRYPTO_CORE0 + MSM_BUS_SLAVE_FIRST 200000 400000>, + <MSM_BUS_MASTER_CRYPTO_CORE0 + MSM_BUS_SLAVE_FIRST 300000 800000>, + <MSM_BUS_MASTER_CRYPTO_CORE0 + MSM_BUS_SLAVE_FIRST 400000 1000000>; + clock-names = + "core_clk_src", "core_clk", + "iface_clk", "bus_clk"; + clocks = + <&rpmcc QSEECOM_CE1_CLK>, + <&rpmcc QSEECOM_CE1_CLK>, + <&rpmcc QSEECOM_CE1_CLK>, + <&rpmcc QSEECOM_CE1_CLK>; + qcom,ce-opp-freq = <192000000>; + qcom,qsee-reentrancy-support = <2>; + }; + + qcom_smcinvoke: smcinvoke@61800000 { + compatible = "qcom,smcinvoke"; + reg = <0x61800000 0x2100000>; + reg-names = "secapp-region"; + }; + + qcom_rng: qrng@1b53000 { + compatible = "qcom,msm-rng"; + reg = <0x1b53000 0x1000>; + qcom,msm-rng-iface-clk; + qcom,no-qrng-config; + qcom,msm-bus,name = "msm-rng-noc"; + qcom,msm-bus,num-cases = <2>; + qcom,msm-bus,num-paths = <1>; + qcom,msm-bus,vectors-KBps = + <MSM_BUS_MASTER_AMPSS_M0 + MSM_BUS_SLAVE_PRNG 0 0>, /* No vote */ + <MSM_BUS_MASTER_AMPSS_M0 + MSM_BUS_SLAVE_PRNG 0 300000>; /* 75 MHz */ + clocks = <&gcc GCC_PRNG_AHB_CLK>; + clock-names = "iface_clk"; + }; + + qcom_tzlog: tz-log@c125720 { + compatible = "qcom,tz-log"; + reg = <0xc125720 0x3000>; + qcom,hyplog-enabled; + hyplog-address-offset = <0x410>; + hyplog-size-offset = <0x414>; + }; + + qcom_cedev: qcedev@1b20000 { + compatible = "qcom,qcedev"; + reg = <0x1b20000 0x20000>, + <0x1b04000 0x24000>; + reg-names = "crypto-base","crypto-bam-base"; + interrupts = <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>; + qcom,bam-pipe-pair = <3>; + qcom,ce-hw-instance = <0>; + qcom,ce-device = <0>; + qcom,ce-hw-shared; + qcom,bam-ee = <0>; + qcom,msm-bus,name = "qcedev-noc"; + qcom,msm-bus,num-cases = <2>; + qcom,msm-bus,num-paths = <1>; + qcom,msm-bus,vectors-KBps = + <MSM_BUS_MASTER_CRYPTO_CORE0 + MSM_BUS_SLAVE_FIRST 0 0>, + <MSM_BUS_MASTER_CRYPTO_CORE0 + MSM_BUS_SLAVE_FIRST 393600 393600>; + clock-names = + "core_clk_src", "core_clk", + "iface_clk", "bus_clk"; + clocks = + <&rpmcc QCEDEV_CE1_CLK>, + <&rpmcc QCEDEV_CE1_CLK>, + <&rpmcc QCEDEV_CE1_CLK>, + <&rpmcc QCEDEV_CE1_CLK>; + qcom,ce-opp-freq = <192000000>; + qcom,smmu-s1-enable; + iommus = <&apps_smmu 0x0086 0x0011>, + <&apps_smmu 0x0096 0x0011>; + qcom,iommu-dma = "atomic"; + + qcom_cedev_ns_cb { + compatible = "qcom,qcedev,context-bank"; + label = "ns_context"; + iommus = <&apps_smmu 0x92 0>, + <&apps_smmu 0x98 0x1>, + <&apps_smmu 0x9F 0>; + qcom,iommu-dma-addr-pool = <0x70000000 0X10000000>; + }; + + qcom_cedev_s_cb { + compatible = "qcom,qcedev,context-bank"; + label = "secure_context"; + iommus = <&apps_smmu 0x93 0>, + <&apps_smmu 0x9C 0x1>, + <&apps_smmu 0x9E 0>; + qcom,iommu-dma-addr-pool = <0x70000000 0X10000000>; + qcom,iommu-vmid = <0x9>; /* VMID_CP_BITSTREAM */ + qcom,secure-context-bank; + }; + }; + + qcom_crypto: qcrypto@1b20000 { + compatible = "qcom,qcrypto"; + reg = <0x1b20000 0x20000>, + <0x1b04000 0x24000>; + reg-names = "crypto-base","crypto-bam-base"; + interrupts = <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>; + qcom,bam-pipe-pair = <2>; + qcom,ce-hw-instance = <0>; + qcom,ce-device = <0>; + qcom,bam-ee = <0>; + qcom,ce-hw-shared; + qcom,clk-mgmt-sus-res; + qcom,msm-bus,name = "qcrypto-noc"; + qcom,msm-bus,num-cases = <2>; + qcom,msm-bus,num-paths = <1>; + qcom,msm-bus,vectors-KBps = + <MSM_BUS_MASTER_CRYPTO_CORE0 + MSM_BUS_SLAVE_FIRST + 0 0>, + <MSM_BUS_MASTER_CRYPTO_CORE0 + MSM_BUS_SLAVE_FIRST + 393600 393600>; + clock-names = + "core_clk_src", "core_clk", + "iface_clk", "bus_clk"; + clocks = + <&rpmcc QCRYPTO_CE1_CLK>, + <&rpmcc QCRYPTO_CE1_CLK>, + <&rpmcc QCRYPTO_CE1_CLK>, + <&rpmcc QCRYPTO_CE1_CLK>; + qcom,use-sw-aes-cbc-ecb-ctr-algo; + qcom,use-sw-aes-xts-algo; + qcom,use-sw-aes-ccm-algo; + qcom,use-sw-ahash-algo; + qcom,use-sw-aead-algo; + qcom,use-sw-hmac-algo; + qcom,smmu-s1-enable; + iommus = <&apps_smmu 0x0084 0x0011>, + <&apps_smmu 0x0094 0x0011>; + qcom,iommu-dma = "atomic"; + }; + + qcom,mpm2-sleep-counter@4403000 { + compatible = "qcom,mpm2-sleep-counter"; + reg = <0x4403000 0x1000>; + clock-frequency = <32768>; + }; + + qcom,msm-rtb { + compatible = "qcom,msm-rtb"; + qcom,rtb-size = <0x100000>; + }; + + cpu_pmu: cpu-pmu { + compatible = "arm,armv8-pmuv3"; + qcom,irq-is-percpu; + interrupts = <1 6 4>; + }; + + eud: qcom,msm-eud@1610000 { + compatible = "qcom,msm-eud"; + interrupt-names = "eud_irq"; + interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>; + reg = <0x1610000 0x2000>, + <0x1612000 0x1000>, + <0x3E5018 0x4>; + reg-names = "eud_base", "eud_mode_mgr2", + "eud_tcsr_check_reg"; + qcom,secure-eud-en; + qcom,eud-tcsr-check-enable; + qcom,eud-clock-vote-req; + clocks = <&gcc GCC_AHB2PHY_USB_CLK>; + clock-names = "eud_ahb2phy_clk"; + status = "ok"; + }; + + qcom,msm-gladiator-v2@f100000 { + compatible = "qcom,msm-gladiator-v2"; + reg = <0xf100000 0xdc00>; + reg-names = "gladiator_base"; + interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>; + clock-names = "atb_clk"; + clocks = <&rpmcc RPM_QDSS_CLK>; + }; + + wdog: qcom,wdt@f017000 { + compatible = "qcom,msm-watchdog"; + reg = <0xf017000 0x1000>; + reg-names = "wdt-base"; + interrupts = <GIC_SPI 3 IRQ_TYPE_EDGE_RISING>, + <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; + qcom,bark-time = <11000>; + qcom,pet-time = <9360>; + qcom,ipi-ping; + qcom,wakeup-enable; + }; + + rpm_bus: qcom,rpm-smd { + compatible = "qcom,rpm-smd"; + rpm-channel-name = "rpm_requests"; + interrupts = <GIC_SPI 194 IRQ_TYPE_EDGE_RISING>; + rpm-channel-type = <15>; /* SMD_APPS_RPM */ + }; + + qcom,chd_silver { + compatible = "qcom,core-hang-detect"; + label = "silver"; + qcom,threshold-arr = <0x0f1880b0 0x0f1980b0 + 0x0f1a80b0 0x0f1b80b0>; + qcom,config-arr = <0x0f1880b8 0x0f1980b8 + 0x0f1a80b8 0x0f1b80b8>; + }; + + qcom,chd_gold { + compatible = "qcom,core-hang-detect"; + label = "gold"; + qcom,threshold-arr = <0x0f0880b0 0x0f0980b0 + 0x0f0a80b0 0x0f0b80b0>; + qcom,config-arr = <0x0f0880b8 0x0f0980b8 + 0x0f0a80b8 0x0f0b80b8>; + }; + + qcom,ghd { + compatible = "qcom,gladiator-hang-detect"; + qcom,threshold-arr = <0x0f1d141c 0x0f1d1420 + 0x0f1d1424 0x0f1d1428 + 0x0f1d142c 0x0f1d1430>; + qcom,config-reg = <0x0f1d1434>; + }; + + qcom,lpass@ab00000 { + compatible = "qcom,pil-tz-generic"; + reg = <0xab00000 0x00100>; + + vdd_lpi_cx-supply = <&L3A_LEVEL>; + qcom,proxy-reg-names = "vdd_lpi_cx", "vdd_lpi_mx"; + qcom,vdd_lpi_cx-uV-uA = <RPMH_REGULATOR_LEVEL_TURBO 0>; + vdd_lpi_mx-supply = <&L2A_LEVEL>; + qcom,vdd_lpi_mx-uV-uA = <RPMH_REGULATOR_LEVEL_TURBO 0>; + + clocks = <&rpmcc CXO_SMD_PIL_LPASS_CLK>; + clock-names = "xo"; + qcom,proxy-clock-names = "xo"; + qcom,mas-crypto = <&mas_crypto_c0>; + + qcom,pas-id = <1>; + qcom,proxy-timeout-ms = <10000>; + qcom,smem-id = <423>; + qcom,minidump-id = <5>; + qcom,sysmon-id = <1>; + qcom,ssctl-instance-id = <0x14>; + qcom,firmware-name = "adsp"; + memory-region = <&pil_adsp_mem>; + qcom,complete-ramdump; + qcom,minidump-as-elf32; + + /* Inputs from lpass */ + interrupts-extended = <&intc 0 282 1>, + <&adsp_smp2p_in 0 0>, + <&adsp_smp2p_in 2 0>, + <&adsp_smp2p_in 1 0>, + <&adsp_smp2p_in 3 0>; + + interrupt-names = "qcom,wdog", + "qcom,err-fatal", + "qcom,proxy-unvote", + "qcom,err-ready", + "qcom,stop-ack"; + + /* Outputs to lpass */ + qcom,smem-states = <&adsp_smp2p_out 0>; + qcom,smem-state-names = "qcom,force-stop"; + }; + + qcom,turing@b300000 { + compatible = "qcom,pil-tz-generic"; + reg = <0xb300000 0x100000>; + + vdd_cx-supply = <&VDD_CX_LEVEL>; + qcom,proxy-reg-names = "vdd_cx"; + qcom,vdd_cx-uV-uA = <RPMH_REGULATOR_LEVEL_TURBO 100000>; + + clocks = <&rpmcc CXO_SMD_PIL_CDSP_CLK>; + clock-names = "xo"; + qcom,proxy-clock-names = "xo"; + qcom,mas-crypto = <&mas_crypto_c0>; + + qcom,pas-id = <18>; + qcom,proxy-timeout-ms = <10000>; + qcom,smem-id = <601>; + qcom,minidump-id = <7>; + qcom,sysmon-id = <7>; + qcom,ssctl-instance-id = <0x17>; + qcom,firmware-name = "cdsp"; + memory-region = <&pil_cdsp_mem>; + qcom,complete-ramdump; + qcom,minidump-as-elf32; + + /* Inputs from turing */ + interrupts-extended = <&intc 0 265 1>, + <&cdsp_smp2p_in 0 0>, + <&cdsp_smp2p_in 2 0>, + <&cdsp_smp2p_in 1 0>, + <&cdsp_smp2p_in 3 0>; + + interrupt-names = "qcom,wdog", + "qcom,err-fatal", + "qcom,proxy-unvote", + "qcom,err-ready", + "qcom,stop-ack"; + + /* Outputs to turing */ + qcom,smem-states = <&cdsp_smp2p_out 0>; + qcom,smem-state-names = "qcom,force-stop"; + }; + + mem_dump { + compatible = "qcom,mem-dump"; + memory-region = <&dump_mem>; + + c0_context { + qcom,dump-size = <0x800>; + qcom,dump-id = <0x0>; + }; + + c1_context { + qcom,dump-size = <0x800>; + qcom,dump-id = <0x1>; + }; + + c2_context { + qcom,dump-size = <0x800>; + qcom,dump-id = <0x2>; + }; + + c3_context { + qcom,dump-size = <0x800>; + qcom,dump-id = <0x3>; + }; + + c100_context { + qcom,dump-size = <0x800>; + qcom,dump-id = <0x4>; + }; + + c101_context { + qcom,dump-size = <0x800>; + qcom,dump-id = <0x5>; + }; + + c102_context { + qcom,dump-size = <0x800>; + qcom,dump-id = <0x6>; + }; + + c103_context { + qcom,dump-size = <0x800>; + qcom,dump-id = <0x7>; + }; + + c_scandump { + qcom,dump-size = <0x40000>; + qcom,dump-id = <0xeb>; + }; + + l1_icache0 { + qcom,dump-size = <0x8900>; + qcom,dump-id = <0x60>; + }; + + l1_icache1 { + qcom,dump-size = <0x8900>; + qcom,dump-id = <0x61>; + }; + + l1_icache2 { + qcom,dump-size = <0x8900>; + qcom,dump-id = <0x62>; + }; + + l1_icache3 { + qcom,dump-size = <0x8900>; + qcom,dump-id = <0x63>; + }; + + l1_icache100 { + qcom,dump-size = <0x11100>; + qcom,dump-id = <0x64>; + }; + + l1_icache101 { + qcom,dump-size = <0x11100>; + qcom,dump-id = <0x65>; + }; + + l1_icache102 { + qcom,dump-size = <0x11100>; + qcom,dump-id = <0x66>; + }; + + l1_icache103 { + qcom,dump-size = <0x11100>; + qcom,dump-id = <0x67>; + }; + + l1_dcache0 { + qcom,dump-size = <0x9100>; + qcom,dump-id = <0x80>; + }; + + l1_dcache1 { + qcom,dump-size = <0x9100>; + qcom,dump-id = <0x81>; + }; + + l1_dcache2 { + qcom,dump-size = <0x9100>; + qcom,dump-id = <0x82>; + }; + + l1_dcache3 { + qcom,dump-size = <0x9100>; + qcom,dump-id = <0x83>; + }; + + l1_dcache100 { + qcom,dump-size = <0x12100>; + qcom,dump-id = <0x84>; + }; + + l1_dcache101 { + qcom,dump-size = <0x12100>; + qcom,dump-id = <0x85>; + }; + + l1_dcache102 { + qcom,dump-size = <0x12100>; + qcom,dump-id = <0x86>; + }; + + l1_dcache103 { + qcom,dump-size = <0x12100>; + qcom,dump-id = <0x87>; + }; + + l2_tlb0 { + qcom,dump-size = <0x2100>; + qcom,dump-id = <0x120>; + }; + + l2_tlb1 { + qcom,dump-size = <0x2100>; + qcom,dump-id = <0x121>; + }; + + l2_tlb2 { + qcom,dump-size = <0x2100>; + qcom,dump-id = <0x122>; + }; + + l2_tlb3 { + qcom,dump-size = <0x2100>; + qcom,dump-id = <0x123>; + }; + + l2_tlb100 { + qcom,dump-size = <0x4900>; + qcom,dump-id = <0x124>; + }; + + l2_tlb101 { + qcom,dump-size = <0x4900>; + qcom,dump-id = <0x125>; + }; + + l2_tlb102 { + qcom,dump-size = <0x4900>; + qcom,dump-id = <0x126>; + }; + + l2_tlb103 { + qcom,dump-size = <0x4900>; + qcom,dump-id = <0x127>; + }; + + rpm_sw { + qcom,dump-size = <0x28000>; + qcom,dump-id = <0xea>; + }; + + pmic { + qcom,dump-size = <0x40000>; + qcom,dump-id = <0xe4>; + }; + + fcm { + qcom,dump-size = <0x8400>; + qcom,dump-id = <0xee>; + }; + + tmc_etf { + qcom,dump-size = <0x8000>; + qcom,dump-id = <0xf0>; + }; + + etr_reg { + qcom,dump-size = <0x1000>; + qcom,dump-id = <0x100>; + }; + + etf_reg { + qcom,dump-size = <0x1000>; + qcom,dump-id = <0x101>; + }; + + misc_data { + qcom,dump-size = <0x1000>; + qcom,dump-id = <0xe8>; + }; + }; + + sdhc_1: sdhci@4744000 { + compatible = "qcom,sdhci-msm-v5", "qcom,sdhci-msm-cqe"; + reg = <0x4744000 0x1000>, <0x4745000 0x1000>, + <0x4748000 0x8000>; + reg-names = "hc_mem", "cqhci_mem", "cqhci_ice"; + + interrupts-extended = <&intc GIC_SPI 348 IRQ_TYPE_LEVEL_HIGH>, + <&intc GIC_SPI 352 IRQ_TYPE_LEVEL_HIGH>, + <&tlmm 19 IRQ_TYPE_EDGE_RISING>; + interrupt-names = "hc_irq", "pwr_irq", "tb_trig_irq"; + + qcom,bus-width = <8>; + qcom,large-address-bus; + + qcom,clk-rates = <400000 20000000 25000000 50000000 100000000 + 192000000 384000000>; + qcom,bus-speed-mode = "HS400_1p8v", "HS200_1p8v", "DDR_1p8v"; + + qcom,devfreq,freq-table = <50000000 200000000>; + + qcom,scaling-lower-bus-speed-mode = "DDR52"; + + qcom,msm-bus,name = "sdhc1"; + qcom,msm-bus,num-cases = <9>; + qcom,msm-bus,num-paths = <2>; + qcom,msm-bus,vectors-KBps = + /* No vote */ + <78 512 0 0>, <1 606 0 0>, + /* 400 KB/s*/ + <78 512 1046 1600>, + <1 606 1600 1600>, + /* 20 MB/s */ + <78 512 20480 80000>, + <1 606 80000 80000>, + /* 25 MB/s */ + <78 512 25600 250000>, + <1 606 50000 133320>, + /* 50 MB/s */ + <78 512 51200 250000>, + <1 606 65000 133320>, + /* 100 MB/s */ + <78 512 102400 250000>, + <1 606 65000 133320>, + /* 200 MB/s */ + <78 512 204800 800000>, + <1 606 200000 300000>, + /* 400 MB/s */ + <78 512 204800 800000>, + <1 606 200000 300000>, + /* Max. bandwidth */ + <78 512 1338562 4096000>, + <1 606 1338562 4096000>; + qcom,bus-bw-vectors-bps = <0 400000 20000000 25000000 50000000 + 100750000 200000000 400000000 4294967295>; + + /* PM QoS */ + qcom,pm-qos-irq-type = "affine_irq"; + qcom,pm-qos-irq-latency = <26 26>; + qcom,pm-qos-cpu-groups = <0x0f 0xf0>; + qcom,pm-qos-cmdq-latency-us = <26 26>, <26 26>; + qcom,pm-qos-legacy-latency-us = <26 26>, <26 26>; + + clocks = <&gcc GCC_SDCC1_AHB_CLK>, + <&gcc GCC_SDCC1_APPS_CLK>, + <&gcc GCC_SDCC1_ICE_CORE_CLK>; + clock-names = "iface_clk", "core_clk", "ice_core_clk"; + + qcom,ice-clk-rates = <300000000 100000000>; + + /* Add support for gcc hw reset */ + resets = <&gcc GCC_SDCC1_BCR>; + reset-names = "core_reset"; + + /* DLL HSR settings. Refer go/hsr - <Target> DLL settings */ + qcom,dll-hsr-list = <0x000f642c 0x0 0x0 0x2C010800 0x80040868>; + qcom,nonremovable; + status = "disabled"; + }; + + sdhc_2: sdhci@4784000 { + compatible = "qcom,sdhci-msm-v5"; + reg = <0x4784000 0x1000>; + reg-names = "hc_mem"; + + interrupts = <GIC_SPI 350 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>; + interrupt-names = "hc_irq", "pwr_irq"; + + qcom,bus-width = <4>; + qcom,large-address-bus; + + qcom,clk-rates = <400000 20000000 25000000 + 50000000 100000000 202000000>; + qcom,bus-speed-mode = "SDR12", "SDR25", "SDR50", "DDR50", + "SDR104"; + + qcom,devfreq,freq-table = <50000000 202000000>; + + qcom,msm-bus,name = "sdhc2"; + qcom,msm-bus,num-cases = <8>; + qcom,msm-bus,num-paths = <2>; + qcom,msm-bus,vectors-KBps = + /* No vote */ + <81 512 0 0>, <1 608 0 0>, + /* 400 KB/s*/ + <81 512 1046 3200>, + <1 608 1600 1600>, + /* 20 MB/s */ + <81 512 52286 250000>, + <1 608 80000 133320>, + /* 25 MB/s */ + <81 512 65360 250000>, + <1 608 100000 133320>, + /* 50 MB/s */ + <81 512 130718 250000>, + <1 608 133320 133320>, + /* 100 MB/s */ + <81 512 261438 250000>, + <1 608 150000 133320>, + /* 200 MB/s */ + <81 512 261438 800000>, + <1 608 300000 300000>, + /* Max. bandwidth */ + <81 512 1338562 4096000>, + <1 608 1338562 4096000>; + qcom,bus-bw-vectors-bps = <0 400000 20000000 25000000 50000000 + 100750000 200000000 4294967295>; + + /* PM QoS */ + qcom,pm-qos-irq-type = "affine_irq"; + qcom,pm-qos-irq-latency = <26 26>; + qcom,pm-qos-cpu-groups = <0x0f 0xf0>; + qcom,pm-qos-legacy-latency-us = <26 26>, <26 26>; + + + clocks = <&gcc GCC_SDCC2_AHB_CLK>, + <&gcc GCC_SDCC2_APPS_CLK>; + clock-names = "iface_clk", "core_clk"; + + /* DLL HSR settings. Refer go/hsr - <Target> DLL settings */ + qcom,dll-hsr-list = <0x0007642c 0x0 0x10 0x2C010800 0x80040868>; + qcom,vbias-skip-wa; + + status = "disabled"; + }; + + ufsphy_mem: ufsphy_mem@4807000 { + reg = <0x4807000 0xe00>; /* PHY regs */ + reg-names = "phy_mem"; + #phy-cells = <0>; + + lanes-per-direction = <2>; + + clock-names = "ref_clk_src", + "ref_clk", + "ref_aux_clk"; + clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>, + <&gcc GCC_UFS_CLKREF_CLK>, + <&gcc GCC_UFS_PHY_PHY_AUX_CLK>; + + status = "disabled"; + }; + + ufshc_mem: ufshc@4804000 { + compatible = "qcom,ufshc"; + reg = <0x4804000 0x3000>, <0x4810000 0x8000>; + reg-names = "ufs_mem", "ufs_ice"; + interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>; + phys = <&ufsphy_mem>; + phy-names = "ufsphy"; + + lanes-per-direction = <2>; + dev-ref-clk-freq = <0>; /* 19.2 MHz */ + spm-level = <5>; + + clock-names = + "core_clk", + "bus_aggr_clk", + "iface_clk", + "core_clk_unipro", + "core_clk_ice", + "ref_clk", + "tx_lane0_sync_clk", + "rx_lane0_sync_clk", + "rx_lane1_sync_clk"; + clocks = + <&gcc GCC_UFS_PHY_AXI_CLK>, + <&gcc GCC_SYS_NOC_UFS_PHY_AXI_CLK>, + <&gcc GCC_UFS_PHY_AHB_CLK>, + <&gcc GCC_UFS_PHY_UNIPRO_CORE_CLK>, + <&gcc GCC_UFS_PHY_ICE_CORE_CLK>, + <&rpmcc RPM_SMD_XO_CLK_SRC>, + <&gcc GCC_UFS_PHY_TX_SYMBOL_0_CLK>, + <&gcc GCC_UFS_PHY_RX_SYMBOL_0_CLK>, + <&gcc GCC_UFS_PHY_RX_SYMBOL_1_CLK>; + freq-table-hz = + <50000000 200000000>, + <0 0>, + <0 0>, + <37500000 150000000>, + <75000000 300000000>, + <0 0>, + <0 0>, + <0 0>, + <0 0>; + + qcom,msm-bus,name = "ufshc_mem"; + qcom,msm-bus,num-cases = <22>; + qcom,msm-bus,num-paths = <2>; + qcom,msm-bus,vectors-KBps = + /* + * During HS G3 UFS runs at nominal voltage corner, vote + * higher bandwidth to push other buses in the data path + * to run at nominal to achieve max throughput. + * 4GBps pushes BIMC to run at nominal. + * 200MBps pushes CNOC to run at nominal. + * Vote for half of this bandwidth for HS G3 1-lane. + * For max bandwidth, vote high enough to push the buses + * to run in turbo voltage corner. + */ + <123 512 0 0>, <1 757 0 0>, /* No vote */ + <123 512 922 0>, <1 757 1000 0>, /* PWM G1 */ + <123 512 1844 0>, <1 757 1000 0>, /* PWM G2 */ + <123 512 3688 0>, <1 757 1000 0>, /* PWM G3 */ + <123 512 7376 0>, <1 757 1000 0>, /* PWM G4 */ + <123 512 1844 0>, <1 757 1000 0>, /* PWM G1 L2 */ + <123 512 3688 0>, <1 757 1000 0>, /* PWM G2 L2 */ + <123 512 7376 0>, <1 757 1000 0>, /* PWM G3 L2 */ + <123 512 14752 0>, <1 757 1000 0>, /* PWM G4 L2 */ + <123 512 127796 0>, <1 757 1000 0>, /* HS G1 RA */ + <123 512 255591 0>, <1 757 1000 0>, /* HS G2 RA */ + <123 512 2097152 0>, <1 757 102400 0>, /* HS G3 RA */ + <123 512 255591 0>, <1 757 1000 0>, /* HS G1 RA L2 */ + <123 512 511181 0>, <1 757 1000 0>, /* HS G2 RA L2 */ + <123 512 4194304 0>, <1 757 204800 0>, /* HS G3 RA L2 */ + <123 512 149422 0>, <1 757 1000 0>, /* HS G1 RB */ + <123 512 298189 0>, <1 757 1000 0>, /* HS G2 RB */ + <123 512 2097152 0>, <1 757 102400 0>, /* HS G3 RB */ + <123 512 298189 0>, <1 757 1000 0>, /* HS G1 RB L2 */ + <123 512 596378 0>, <1 757 1000 0>, /* HS G2 RB L2 */ + /* As UFS working in HS G3 RB L2 mode, aggregated + * bandwidth (AB) should take care of providing + * optimum throughput requested. However, as tested, + * in order to scale up CNOC clock, instantaneous + * bindwidth (IB) needs to be given a proper value too. + */ + <123 512 4194304 0>, <1 757 204800 409600>, /* HS G3 RB L2 */ + <123 512 7643136 0>, <1 757 307200 0>; /* Max. bandwidth */ + + qcom,bus-vector-names = "MIN", + "PWM_G1_L1", "PWM_G2_L1", "PWM_G3_L1", "PWM_G4_L1", + "PWM_G1_L2", "PWM_G2_L2", "PWM_G3_L2", "PWM_G4_L2", + "HS_RA_G1_L1", "HS_RA_G2_L1", "HS_RA_G3_L1", + "HS_RA_G1_L2", "HS_RA_G2_L2", "HS_RA_G3_L2", + "HS_RB_G1_L1", "HS_RB_G2_L1", "HS_RB_G3_L1", + "HS_RB_G1_L2", "HS_RB_G2_L2", "HS_RB_G3_L2", + "MAX"; + + /* PM QoS */ + qcom,pm-qos-cpu-groups = <0x0f 0xf0>; + qcom,pm-qos-cpu-group-latency-us = <26 26>; + qcom,pm-qos-default-cpu = <0>; + + pinctrl-names = "dev-reset-assert", "dev-reset-deassert"; + pinctrl-0 = <&ufs_dev_reset_assert>; + pinctrl-1 = <&ufs_dev_reset_deassert>; + + resets = <&gcc GCC_UFS_PHY_BCR>; + reset-names = "core_reset"; + non-removable; + + status = "disabled"; + }; + + thermal_zones: thermal-zones {}; + + tsens0:tsens@c222000 { + compatible = "qcom,tsens24xx"; + reg = <0x04410000 0x8>, + <0x04411000 0x1ff>; + reg-names = "tsens_srot_physical", + "tsens_tm_physical"; + interrupts = <GIC_SPI 275 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>; + interrupt-names = "tsens-upper-lower", "tsens-critical"; + tsens-reinit-wa; + #thermal-sensor-cells = <1>; + }; + + clocks { + xo_board: xo_board { + compatible = "fixed-clock"; + clock-frequency = <19200000>; + clock-output-names = "xo_board"; + #clock-cells = <0>; + }; + + sleep_clk: sleep_clk { + compatible = "fixed-clock"; + clock-frequency = <32764>; + clock-output-names = "sleep_clk"; + #clock-cells = <0>; + }; + + usb3_phy_wrapper_gcc_usb30_pipe_clk: usb3_phy_wrapper_gcc_usb30_pipe_clk { + compatible = "fixed-clock"; + clock-frequency = <1000>; + clock-output-names = "usb3_phy_wrapper_gcc_usb30_pipe_clk"; + #clock-cells = <0>; + }; + }; + + rpmcc: clock-controller { + compatible = "qcom,rpmcc-bengal"; + #clock-cells = <1>; + }; + + qcom,rmtfs_sharedmem@0 { + compatible = "qcom,sharedmem-uio"; + reg = <0x0 0x200000>; + reg-names = "rmtfs"; + qcom,client-id = <0x00000001>; + qcom,guard-memory; + qcom,vm-nav-path; + }; + + gcc: clock-controller@1400000 { + compatible = "qcom,khaje-gcc", "syscon"; + reg = <0x1400000 0x1f0000>; + reg-names = "cc_base"; + vdd_cx-supply = <&VDD_CX_LEVEL>; + vdd_mx-supply = <&VDD_MX_LEVEL>; + #clock-cells = <1>; + #reset-cells = <1>; + }; + + dispcc: clock-controller@5f00000 { + compatible = "qcom,khaje-dispcc", "syscon"; + reg = <0x05f00000 0x20000>; + reg-names = "cc_base"; + clock-names = "cfg_ahb_clk"; + clocks = <&gcc GCC_DISP_AHB_CLK>; + vdd_cx-supply = <&VDD_CX_LEVEL>; + #clock-cells = <1>; + #reset-cells = <1>; + }; + + gpucc: clock-controller@5990000 { + compatible = "qcom,khaje-gpucc", "syscon"; + reg = <0x5990000 0x9000>; + reg-names = "cc_base"; + vdd_cx-supply = <&VDD_CX_LEVEL>; + vdd_mx-supply = <&VDD_MX_LEVEL>; + qcom,gpu_cc_gx_gfx3d_clk_src-opp-handle = <&msm_gpu>; + #clock-cells = <1>; + #reset-cells = <1>; + }; + + mccc_debug: syscon@447d200 { + compatible = "syscon"; + reg = <0x447d200 0x100>; + }; + + cpucc_debug: syscon@f11101c { + compatible = "syscon"; + reg = <0xf11101c 0x4>; + }; + + debugcc: clock-controller@0 { + compatible = "qcom,khaje-debugcc"; + qcom,gcc = <&gcc>; + qcom,dispcc = <&dispcc>; + qcom,gpucc = <&gpucc>; + qcom,mccc = <&mccc_debug>; + qcom,cpucc = <&cpucc_debug>; + clock-names = "xo_clk_src"; + clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>; + #clock-cells = <1>; + }; + + cpufreq_hw: qcom,cpufreq-hw { + compatible = "qcom,cpufreq-hw"; + reg = <0xf521000 0x1000>, <0xf523000 0x1000>; + reg-names = "freq-domain0", "freq-domain1"; + clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>, <&gcc GPLL0>; + clock-names = "xo", "alternate"; + qcom,no-accumulative-counter; + qcom,max-lut-entries = <12>; + #freq-domain-cells = <2>; + }; + + qcom,cpufreq-hw-debug@0f521000 { + compatible = "qcom,cpufreq-hw-debug"; + reg = <0x0f521000 0x800>; + reg-names = "domain-top"; + qcom,freq-hw-domain = <&cpufreq_hw 0>, <&cpufreq_hw 1>; + }; + + tcsr_mutex_block: syscon@00340000 { + compatible = "syscon"; + reg = <0x340000 0x20000>; + }; + + tcsr_mutex: hwlock { + compatible = "qcom,tcsr-mutex"; + syscon = <&tcsr_mutex_block 0 0x1000>; + #hwlock-cells = <1>; + }; + + smem: qcom,smem { + compatible = "qcom,smem"; + memory-region = <&smem_mem>; + hwlocks = <&tcsr_mutex 3>; + }; + + rpm_msg_ram: memory@045f0000 { + compatible = "qcom,rpm-msg-ram"; + reg = <0x45f0000 0x7000>; + }; + + apcs_glb: mailbox@0f111000 { + compatible = "qcom,bengal-apcs-hmss-global"; + reg = <0xF111000 0x1000>; + + #mbox-cells = <1>; + }; + + qcom,msm-cdsp-loader { + compatible = "qcom,cdsp-loader"; + qcom,proc-img-to-load = "cdsp"; + }; + + qcom,msm-adsprpc-mem { + compatible = "qcom,msm-adsprpc-mem-region"; + memory-region = <&adsp_mem>; + restrict-access; + }; + + qcom,msm_fastrpc { + compatible = "qcom,msm-fastrpc-compute"; + qcom,rpc-latency-us = <611>; + qcom,adsp-remoteheap-vmid = <22 37>; + qcom,fastrpc-adsp-audio-pdr; + qcom,fastrpc-adsp-sensors-pdr; + + qcom,msm_fastrpc_compute_cb1 { + compatible = "qcom,msm-fastrpc-compute-cb"; + label = "cdsprpc-smd"; + iommus = <&apps_smmu 0x0C01 0x0>; + qcom,iommu-dma-addr-pool = <0x80000000 0x78000000>; + qcom,iommu-faults = "stall-disable", "HUPCF"; + }; + + qcom,msm_fastrpc_compute_cb2 { + compatible = "qcom,msm-fastrpc-compute-cb"; + label = "cdsprpc-smd"; + iommus = <&apps_smmu 0x0C02 0x0>; + qcom,iommu-dma-addr-pool = <0x80000000 0x78000000>; + qcom,iommu-faults = "stall-disable", "HUPCF"; + }; + + qcom,msm_fastrpc_compute_cb3 { + compatible = "qcom,msm-fastrpc-compute-cb"; + label = "cdsprpc-smd"; + iommus = <&apps_smmu 0x0C03 0x0>; + qcom,iommu-dma-addr-pool = <0x80000000 0x78000000>; + qcom,iommu-faults = "stall-disable", "HUPCF"; + }; + + qcom,msm_fastrpc_compute_cb4 { + compatible = "qcom,msm-fastrpc-compute-cb"; + label = "cdsprpc-smd"; + iommus = <&apps_smmu 0x0C04 0x0>; + qcom,iommu-dma-addr-pool = <0x80000000 0x78000000>; + qcom,iommu-faults = "stall-disable", "HUPCF"; + }; + + qcom,msm_fastrpc_compute_cb5 { + compatible = "qcom,msm-fastrpc-compute-cb"; + label = "cdsprpc-smd"; + iommus = <&apps_smmu 0x0C05 0x0>; + qcom,iommu-dma-addr-pool = <0x80000000 0x78000000>; + qcom,iommu-faults = "stall-disable", "HUPCF"; + }; + + qcom,msm_fastrpc_compute_cb6 { + compatible = "qcom,msm-fastrpc-compute-cb"; + label = "cdsprpc-smd"; + iommus = <&apps_smmu 0x0C06 0x0>; + qcom,iommu-dma-addr-pool = <0x80000000 0x78000000>; + qcom,iommu-faults = "stall-disable", "HUPCF"; + }; + + qcom,msm_fastrpc_compute_cb9 { + compatible = "qcom,msm-fastrpc-compute-cb"; + label = "cdsprpc-smd"; + qcom,secure-context-bank; + iommus = <&apps_smmu 0x0C09 0x0>; + qcom,iommu-dma-addr-pool = <0x80000000 0x78000000>; + qcom,iommu-faults = "stall-disable", "HUPCF"; + }; + + qcom,msm_fastrpc_compute_cb10 { + compatible = "qcom,msm-fastrpc-compute-cb"; + label = "adsprpc-smd"; + iommus = <&apps_smmu 0x01C3 0x0>; + qcom,iommu-dma-addr-pool = <0x80000000 0x78000000>; + qcom,iommu-faults = "stall-disable", "HUPCF"; + }; + + qcom,msm_fastrpc_compute_cb11 { + compatible = "qcom,msm-fastrpc-compute-cb"; + label = "adsprpc-smd"; + iommus = <&apps_smmu 0x01C4 0x0>; + qcom,iommu-dma-addr-pool = <0x80000000 0x78000000>; + qcom,iommu-faults = "stall-disable", "HUPCF"; + }; + + qcom,msm_fastrpc_compute_cb12 { + compatible = "qcom,msm-fastrpc-compute-cb"; + label = "adsprpc-smd"; + iommus = <&apps_smmu 0x01C5 0x0>; + qcom,iommu-dma-addr-pool = <0x80000000 0x78000000>; + qcom,iommu-faults = "stall-disable", "HUPCF"; + }; + + qcom,msm_fastrpc_compute_cb13 { + compatible = "qcom,msm-fastrpc-compute-cb"; + label = "adsprpc-smd"; + iommus = <&apps_smmu 0x01C6 0x0>; + qcom,iommu-dma-addr-pool = <0x80000000 0x78000000>; + qcom,iommu-faults = "stall-disable", "HUPCF"; + }; + + qcom,msm_fastrpc_compute_cb14 { + compatible = "qcom,msm-fastrpc-compute-cb"; + label = "adsprpc-smd"; + iommus = <&apps_smmu 0x01C7 0x0>; + qcom,iommu-dma-addr-pool = <0x80000000 0x78000000>; + qcom,iommu-faults = "stall-disable", "HUPCF"; + }; + + }; + + rpm-glink { + compatible = "qcom,glink-rpm"; + interrupts = <GIC_SPI 194 IRQ_TYPE_EDGE_RISING>; + qcom,rpm-msg-ram = <&rpm_msg_ram>; + mboxes = <&apcs_glb 0>; + + qcom,rpm_glink_ssr { + qcom,glink-channels = "glink_ssr"; + qcom,notify-edges = <&glink_modem>, + <&glink_adsp>, + <&glink_cdsp>; + }; + + }; + + qcom,glink { + compatible = "qcom,glink"; + #address-cells = <1>; + #size-cells = <1>; + ranges; + + glink_modem: modem { + qcom,remote-pid = <1>; + transport = "smem"; + mboxes = <&apcs_glb 12>; + mbox-names = "mpss_smem"; + interrupts = <GIC_SPI 68 IRQ_TYPE_EDGE_RISING>; + + label = "modem"; + qcom,glink-label = "mpss"; + + qcom,modem_qrtr { + qcom,glink-channels = "IPCRTR"; + qcom,low-latency; + qcom,intents = <0x800 5 + 0x2000 3 + 0x4400 2>; + }; + + qcom,msm_fastrpc_rpmsg { + compatible = "qcom,msm-fastrpc-rpmsg"; + qcom,glink-channels = "fastrpcglink-apps-dsp"; + qcom,intents = <0x64 64>; + }; + + qcom,modem_ds { + qcom,glink-channels = "DS"; + qcom,intents = <0x4000 2>; + }; + + qcom,modem_glink_ssr { + qcom,glink-channels = "glink_ssr"; + qcom,notify-edges = <&glink_adsp>, + <&glink_cdsp>; + }; + }; + + glink_adsp: adsp { + qcom,remote-pid = <2>; + transport = "smem"; + mboxes = <&apcs_glb 8>; + mbox-names = "adsp_smem"; + interrupts = <GIC_SPI 277 IRQ_TYPE_EDGE_RISING>; + + label = "adsp"; + qcom,glink-label = "lpass"; + + qcom,adsp_qrtr { + qcom,glink-channels = "IPCRTR"; + qcom,low-latency; + qcom,intents = <0x800 5 + 0x2000 3 + 0x4400 2>; + }; + + qcom,apr_tal_rpmsg { + qcom,glink-channels = "apr_audio_svc"; + qcom,intents = <0x200 20>; + }; + + qcom,msm_fastrpc_rpmsg { + compatible = "qcom,msm-fastrpc-rpmsg"; + qcom,glink-channels = "fastrpcglink-apps-dsp"; + qcom,intents = <0x64 64>; + }; + + qcom,adsp_glink_ssr { + qcom,glink-channels = "glink_ssr"; + qcom,notify-edges = <&glink_modem>, + <&glink_cdsp>; + }; + }; + + glink_cdsp: cdsp { + qcom,remote-pid = <5>; + transport = "smem"; + mboxes = <&apcs_glb 28>; + mbox-names = "cdsp_smem"; + interrupts = <GIC_SPI 261 IRQ_TYPE_EDGE_RISING>; + + label = "cdsp"; + qcom,glink-label = "cdsp"; + + qcom,cdsp_qrtr { + qcom,glink-channels = "IPCRTR"; + qcom,intents = <0x800 5 + 0x2000 3 + 0x4400 2>; + }; + + qcom,msm_fastrpc_rpmsg { + compatible = "qcom,msm-fastrpc-rpmsg"; + qcom,glink-channels = "fastrpcglink-apps-dsp"; + qcom,intents = <0x64 64>; + }; + + qcom,msm_cdsprm_rpmsg { + compatible = "qcom,msm-cdsprm-rpmsg"; + qcom,glink-channels = "cdsprmglink-apps-dsp"; + qcom,intents = <0x20 12>; + + msm_cdsp_rm: qcom,msm_cdsp_rm { + compatible = "qcom,msm-cdsp-rm"; + qcom,qos-latency-us = <100>; + qcom,qos-maxhold-ms = <20>; + }; + }; + + qcom,cdsp_glink_ssr { + qcom,glink-channels = "glink_ssr"; + qcom,notify-edges = <&glink_modem>, + <&glink_adsp>; + }; + }; + }; + + qcom,glinkpkt { + compatible = "qcom,glinkpkt"; + + qcom,glinkpkt-at-mdm0 { + qcom,glinkpkt-edge = "mpss"; + qcom,glinkpkt-ch-name = "DS"; + qcom,glinkpkt-dev-name = "at_mdm0"; + }; + + qcom,glinkpkt-apr-apps2 { + qcom,glinkpkt-edge = "adsp"; + qcom,glinkpkt-ch-name = "apr_apps2"; + qcom,glinkpkt-dev-name = "apr_apps2"; + }; + + qcom,glinkpkt-data40-cntl { + qcom,glinkpkt-edge = "mpss"; + qcom,glinkpkt-ch-name = "DATA40_CNTL"; + qcom,glinkpkt-dev-name = "smdcntl8"; + }; + + qcom,glinkpkt-data1 { + qcom,glinkpkt-edge = "mpss"; + qcom,glinkpkt-ch-name = "DATA1"; + qcom,glinkpkt-dev-name = "smd7"; + }; + + qcom,glinkpkt-data4 { + qcom,glinkpkt-edge = "mpss"; + qcom,glinkpkt-ch-name = "DATA4"; + qcom,glinkpkt-dev-name = "smd8"; + }; + + qcom,glinkpkt-data11 { + qcom,glinkpkt-edge = "mpss"; + qcom,glinkpkt-ch-name = "DATA11"; + qcom,glinkpkt-dev-name = "smd11"; + }; + }; + + qcom,smp2p_sleepstate { + compatible = "qcom,smp2p-sleepstate"; + qcom,smem-states = <&sleepstate_smp2p_out 0>; + interrupt-parent = <&sleepstate_smp2p_in>; + interrupts = <0 0>; + interrupt-names = "smp2p-sleepstate-in"; + }; + + qcom,smp2p-modem { + compatible = "qcom,smp2p"; + qcom,smem = <435>, <428>; + interrupts = <GIC_SPI 70 IRQ_TYPE_EDGE_RISING>; + mboxes = <&apcs_glb 14>; + qcom,local-pid = <0>; + qcom,remote-pid = <1>; + + modem_smp2p_out: master-kernel { + qcom,entry-name = "master-kernel"; + #qcom,smem-state-cells = <1>; + }; + + modem_smp2p_in: slave-kernel { + qcom,entry-name = "slave-kernel"; + interrupt-controller; + #interrupt-cells = <2>; + }; + + smp2p_ipa_1_out: qcom,smp2p-ipa-1-out { + qcom,entry-name = "ipa"; + #qcom,smem-state-cells = <1>; + }; + + /* ipa - inbound entry from mss */ + smp2p_ipa_1_in: qcom,smp2p-ipa-1-in { + qcom,entry-name = "ipa"; + interrupt-controller; + #interrupt-cells = <2>; + }; + + smp2p_wlan_1_in: qcom,smp2p-wlan-1-in { + qcom,entry-name = "wlan"; + interrupt-controller; + #interrupt-cells = <2>; + }; + + }; + + qcom,smp2p-adsp { + compatible = "qcom,smp2p"; + qcom,smem = <443>, <429>; + interrupts = <GIC_SPI 279 IRQ_TYPE_EDGE_RISING>; + mboxes = <&apcs_glb 10>; + qcom,local-pid = <0>; + qcom,remote-pid = <2>; + + adsp_smp2p_out: master-kernel { + qcom,entry-name = "master-kernel"; + #qcom,smem-state-cells = <1>; + }; + + adsp_smp2p_in: slave-kernel { + qcom,entry-name = "slave-kernel"; + interrupt-controller; + #interrupt-cells = <2>; + }; + + smp2p_rdbg2_out: qcom,smp2p-rdbg2-out { + qcom,entry-name = "rdbg"; + #qcom,smem-state-cells = <1>; + }; + + smp2p_rdbg2_in: qcom,smp2p-rdbg2-in { + qcom,entry-name = "rdbg"; + interrupt-controller; + #interrupt-cells = <2>; + }; + + sleepstate_smp2p_out: sleepstate-out { + qcom,entry-name = "sleepstate"; + #qcom,smem-state-cells = <1>; + }; + + sleepstate_smp2p_in: qcom,sleepstate-in { + qcom,entry-name = "sleepstate_see"; + interrupt-controller; + #interrupt-cells = <2>; + }; + }; + + qcom,smp2p-cdsp { + compatible = "qcom,smp2p"; + qcom,smem = <94>, <432>; + interrupts = <GIC_SPI 263 IRQ_TYPE_EDGE_RISING>; + mboxes = <&apcs_glb 30>; + qcom,local-pid = <0>; + qcom,remote-pid = <5>; + + cdsp_smp2p_out: master-kernel { + qcom,entry-name = "master-kernel"; + #qcom,smem-state-cells = <1>; + }; + + cdsp_smp2p_in: slave-kernel { + qcom,entry-name = "slave-kernel"; + interrupt-controller; + #interrupt-cells = <2>; + }; + + smp2p_rdbg5_out: qcom,smp2p-rdbg5-out { + qcom,entry-name = "rdbg"; + #qcom,smem-state-cells = <1>; + }; + + smp2p_rdbg5_in: qcom,smp2p-rdbg5-in { + qcom,entry-name = "rdbg"; + interrupt-controller; + #interrupt-cells = <2>; + }; + }; + + qcom,sps { + compatible = "qcom,msm-sps-4k"; + qcom,pipe-attr-ee; + }; + + qfprom: qfprom@1b40000 { + compatible = "qcom,qfprom"; + reg = <0x1b40000 0x7000>; + #address-cells = <1>; + #size-cells = <1>; + read-only; + ranges; + + stm_debug_fuse: stm@20f0 { + reg = <0x20f0 0x4>; + }; + + feat_conf5: feat_conf5@6018 { + reg = <0x6018 0x4>; + }; + + feat_conf10: feat_conf10@602c { + reg = <0x602c 0x4>; + }; + + adsp_variant: adsp_variant@6011 { + reg = <0x6011 0x1>; + bits = <3 1>; + }; + + gpu_speed_bin: gpu_speed_bin@6006 { + reg = <0x6006 0x2>; + bits = <5 8>; + }; + + gpu_gaming_bin: gpu_gaming_bin@602d { + reg = <0x602d 0x1>; + bits = <5 1>; + }; + + feat_conf11: feat_conf11@6030 { + reg = <0x6030 0x1>; + bits = <0 8>; + }; + }; + + spmi_bus: qcom,spmi@1c40000 { + compatible = "qcom,spmi-pmic-arb"; + reg = <0x1c40000 0x1100>, + <0x1e00000 0x2000000>, + <0x3e00000 0x100000>, + <0x3f00000 0xa0000>, + <0x1c0a000 0x26000>; + reg-names = "core", "chnls", "obsrvr", "intr", "cnfg"; + interrupt-names = "periph_irq"; + interrupts = <GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH>; + qcom,ee = <0>; + qcom,channel = <0>; + #address-cells = <1>; + #size-cells = <1>; + interrupt-controller; + #interrupt-cells = <4>; + cell-index = <0>; + }; + + icnss: qcom,icnss@C800000 { + compatible = "qcom,icnss"; + reg = <0xC800000 0x800000>, + <0xb0000000 0x10000>; + reg-names = "membase", "smmu_iova_ipa"; + iommus = <&apps_smmu 0x1A0 0x1>; + interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH /* CE0 */ >, + <GIC_SPI 359 IRQ_TYPE_LEVEL_HIGH /* CE1 */ >, + <GIC_SPI 360 IRQ_TYPE_LEVEL_HIGH /* CE2 */ >, + <GIC_SPI 361 IRQ_TYPE_LEVEL_HIGH /* CE3 */ >, + <GIC_SPI 362 IRQ_TYPE_LEVEL_HIGH /* CE4 */ >, + <GIC_SPI 363 IRQ_TYPE_LEVEL_HIGH /* CE5 */ >, + <GIC_SPI 364 IRQ_TYPE_LEVEL_HIGH /* CE6 */ >, + <GIC_SPI 365 IRQ_TYPE_LEVEL_HIGH /* CE7 */ >, + <GIC_SPI 366 IRQ_TYPE_LEVEL_HIGH /* CE8 */ >, + <GIC_SPI 367 IRQ_TYPE_LEVEL_HIGH /* CE9 */ >, + <GIC_SPI 368 IRQ_TYPE_LEVEL_HIGH /* CE10 */ >, + <GIC_SPI 369 IRQ_TYPE_LEVEL_HIGH /* CE11 */ >; + qcom,wlan-msa-fixed-region = <&wlan_msa_mem>; + qcom,iommu-dma-addr-pool = <0xa0000000 0x10000000>; + qcom,iommu-dma = "fastmap"; + qcom,iommu-faults = "stall-disable", "HUPCF"; + qcom,iommu-geometry = <0xa0000000 0x10010000>; + vdd-cx-mx-supply = <&L8A>; + vdd-1.8-xo-supply = <&L16A>; + vdd-1.3-rfa-supply = <&L17A>; + vdd-3.3-ch0-supply = <&L23A>; + qcom,vdd-cx-mx-config = <640000 640000>; + qcom,vdd-3.3-ch0-config = <3000000 3312000>; + qcom,smp2p_map_wlan_1_in { + interrupts-extended = <&smp2p_wlan_1_in 0 0>, + <&smp2p_wlan_1_in 1 0>; + interrupt-names = "qcom,smp2p-force-fatal-error", + "qcom,smp2p-early-crash-ind"; + }; + }; + + qcom,venus@5ab0000 { + compatible = "qcom,pil-tz-generic"; + reg = <0x5ab0000 0x20000>; + + vdd-supply = <&gcc_venus_gdsc>; + qcom,proxy-reg-names = "vdd"; + + clocks = <&gcc GCC_VIDEO_VENUS_CTL_CLK>, + <&gcc GCC_VENUS_CTL_AXI_CLK>, + <&gcc GCC_VIDEO_AHB_CLK>, + <&gcc GCC_VIDEO_THROTTLE_CORE_CLK>; + clock-names = "core_clk", "bus_clk", "iface_clk", "throttle_clk"; + qcom,proxy-clock-names = "core_clk", "bus_clk", "iface_clk", "throttle_clk"; + qcom,mas-crypto = <&mas_crypto_c0>; + + qcom,core-freq = <240000000>; + qcom,ahb-freq = <240000000>; + + qcom,pas-id = <9>; + qcom,msm-bus,name = "pil-venus"; + qcom,msm-bus,num-cases = <2>; + qcom,msm-bus,num-paths = <1>; + qcom,msm-bus,vectors-KBps = + <63 512 0 0>, + <63 512 0 304000>; + qcom,proxy-timeout-ms = <100>; + qcom,firmware-name = "venus"; + memory-region = <&pil_video_mem>; + }; + + cx_ipeak_lm: cx_ipeak@3ed000 { + compatible = "qcom,cx-ipeak-v2"; + reg = <0x3ed000 0xe008>; + }; + + pil_modem: qcom,mss@6080000 { + compatible = "qcom,pil-tz-generic"; + reg = <0x6080000 0x100>; + + clocks = <&rpmcc CXO_SMD_PIL_MSS_CLK>; + clock-names = "xo"; + qcom,proxy-clock-names = "xo"; + qcom,mas-crypto = <&mas_crypto_c0>; + + vdd_cx-supply = <&VDD_CX_LEVEL>; + qcom,vdd_cx-uV-uA = <RPMH_REGULATOR_LEVEL_TURBO 100000>; + qcom,proxy-reg-names = "vdd_cx"; + + qcom,firmware-name = "modem"; + memory-region = <&pil_modem_mem>; + qcom,proxy-timeout-ms = <10000>; + qcom,sysmon-id = <0>; + qcom,ssctl-instance-id = <0x12>; + qcom,pas-id = <4>; + qcom,smem-id = <421>; + qcom,minidump-id = <3>; + qcom,aux-minidump-ids = <4>; + qcom,complete-ramdump; + qcom,sequential-fw-load; + + qcom,msm-bus,name = "pil-modem"; + qcom,msm-bus,num-cases = <2>; + qcom,msm-bus,num-paths = <1>; + qcom,msm-bus,vectors-KBps = + <MSM_BUS_MASTER_AMPSS_M0 MSM_BUS_SLAVE_EBI_CH0 0 0>, + <MSM_BUS_MASTER_AMPSS_M0 MSM_BUS_SLAVE_EBI_CH0 0 8171520>; + + /* Inputs from mss */ + interrupts-extended = <&intc 0 307 1>, + <&modem_smp2p_in 0 0>, + <&modem_smp2p_in 2 0>, + <&modem_smp2p_in 1 0>, + <&modem_smp2p_in 3 0>, + <&modem_smp2p_in 7 0>; + + interrupt-names = "qcom,wdog", + "qcom,err-fatal", + "qcom,proxy-unvote", + "qcom,err-ready", + "qcom,stop-ack", + "qcom,shutdown-ack"; + + /* Outputs to mss */ + qcom,smem-states = <&modem_smp2p_out 0>; + qcom,smem-state-names = "qcom,force-stop"; + }; + + ddr_bw_opp_table: ddr-bw-opp-table { + compatible = "operating-points-v2"; + BW_OPP_ENTRY_DDR( 200, 8, 0x80); /* 1525 MB/s */ + BW_OPP_ENTRY_DDR( 547, 8, 0x80); /* 4173 MB/s */ + BW_OPP_ENTRY_DDR( 768, 8, 0x80); /* 5859 MB/s */ + BW_OPP_ENTRY_DDR(1017, 8, 0x80); /* 7759 MB/s */ + BW_OPP_ENTRY_DDR(1555, 8, 0x80); /*11863 MB/s */ + BW_OPP_ENTRY_DDR(1804, 8, 0x80); /*13763 MB/s */ + BW_OPP_ENTRY_DDR(2092, 8, 0x80); /*15960 MB/s */ + }; + + suspendable_ddr4_bw_opp_table: suspendable-ddr4-bw-opp-table { + compatible = "operating-points-v2"; + BW_OPP_ENTRY_DDR( 0, 8, 0x80); /* 0 MB/s */ + BW_OPP_ENTRY_DDR( 200, 8, 0x80); /* 1525 MB/s */ + BW_OPP_ENTRY_DDR( 547, 8, 0x80); /* 4173 MB/s */ + BW_OPP_ENTRY_DDR( 768, 8, 0x80); /* 5859 MB/s */ + BW_OPP_ENTRY_DDR(1017, 8, 0x80); /* 7759 MB/s */ + BW_OPP_ENTRY_DDR(1555, 8, 0x80); /*11863 MB/s */ + BW_OPP_ENTRY_DDR(1804, 8, 0x80); /*13763 MB/s */ + BW_OPP_ENTRY_DDR(2092, 8, 0x80); /*15960 MB/s */ + }; + + cpu_cpu_ddr_bw: qcom,cpu-cpu-ddr-bw { + compatible = "qcom,devbw-ddr"; + governor = "performance"; + qcom,src-dst-ports = + <MSM_BUS_MASTER_AMPSS_M0 MSM_BUS_SLAVE_EBI_CH0>; + qcom,active-only; + operating-points-v2 = <&ddr_bw_opp_table>; + }; + + cpu_cpu_ddr_bwmon: qcom,cpu-cpu-ddr-bwmon@01b8e200 { + compatible = "qcom,bimc-bwmon4"; + reg = <0x01b8e300 0x100>, <0x01b8e200 0x100>; + reg-names = "base", "global_base"; + interrupts = <GIC_SPI 421 IRQ_TYPE_LEVEL_HIGH>; + qcom,mport = <0>; + qcom,hw-timer-hz = <19200000>; + qcom,target-dev = <&cpu_cpu_ddr_bw>; + qcom,count-unit = <0x10000>; + }; + + cpu0_cpu_ddr_latfloor: qcom,cpu0-cpu-ddr-latfloor { + compatible = "qcom,devbw-ddr"; + governor = "performance"; + qcom,src-dst-ports = + <MSM_BUS_MASTER_AMPSS_M0 MSM_BUS_SLAVE_EBI_CH0>; + qcom,active-only; + operating-points-v2 = <&ddr_bw_opp_table>; + }; + + cpu0_cpu_ddr_lat: qcom,cpu0-cpu-ddr-lat { + compatible = "qcom,devbw-ddr"; + governor = "performance"; + qcom,src-dst-ports = + <MSM_BUS_MASTER_AMPSS_M0 MSM_BUS_SLAVE_EBI_CH0>; + qcom,active-only; + operating-points-v2 = <&ddr_bw_opp_table>; + }; + + cpu0_memlat_cpugrp: qcom,cpu0-cpugrp { + compatible = "qcom,arm-memlat-cpugrp"; + qcom,cpulist = <&CPU0 &CPU1 &CPU2 &CPU3>; + + cpu0_cpu_ddr_latmon: qcom,cpu0-cpu-ddr-latmon { + compatible = "qcom,arm-memlat-mon"; + qcom,cpulist = <&CPU0 &CPU1 &CPU2 &CPU3>; + qcom,target-dev = <&cpu0_cpu_ddr_lat>; + qcom,cachemiss-ev = <0x17>; + qcom,stall-cycle-ev = <0xE7>; + qcom,core-dev-table = + < 1190400 MHZ_TO_MBPS( 547, 8) >, + < 1516800 MHZ_TO_MBPS( 768, 8) >, + < 1804800 MHZ_TO_MBPS(1017, 8) >; + }; + + cpu0_computemon: qcom,cpu0-computemon { + compatible = "qcom,arm-compute-mon"; + qcom,cpulist = <&CPU0 &CPU1 &CPU2 &CPU3>; + qcom,target-dev = <&cpu0_cpu_ddr_latfloor>; + qcom,core-dev-table = + < 1190400 MHZ_TO_MBPS( 547, 8) >, + < 1516800 MHZ_TO_MBPS( 768, 8) >, + < 1804800 MHZ_TO_MBPS(1017, 8) >; + }; + }; + + cpu4_cpu_ddr_lat: qcom,cpu4-cpu-ddr-lat { + compatible = "qcom,devbw-ddr"; + governor = "performance"; + qcom,src-dst-ports = + <MSM_BUS_MASTER_AMPSS_M0 MSM_BUS_SLAVE_EBI_CH0>; + qcom,active-only; + operating-points-v2 = <&ddr_bw_opp_table>; + }; + + cpu4_cpu_ddr_latfloor: qcom,cpu4-cpu-ddr-latfloor { + compatible = "qcom,devbw-ddr"; + governor = "performance"; + qcom,src-dst-ports = + <MSM_BUS_MASTER_AMPSS_M0 MSM_BUS_SLAVE_EBI_CH0>; + qcom,active-only; + operating-points-v2 = <&ddr_bw_opp_table>; + }; + + cpu4_memlat_cpugrp: qcom,cpu4-cpugrp { + compatible = "qcom,arm-memlat-cpugrp"; + qcom,cpulist = <&CPU4 &CPU5 &CPU6 &CPU7>; + + cpu4_cpu_ddr_latmon: qcom,cpu4-cpu-ddr-latmon { + compatible = "qcom,arm-memlat-mon"; + qcom,cpulist = <&CPU4 &CPU5 &CPU6 &CPU7>; + qcom,target-dev = <&cpu4_cpu_ddr_lat>; + qcom,cachemiss-ev = <0x17>; + qcom,stall-cycle-ev = <0x24>; + qcom,core-dev-table = + < 1056000 MHZ_TO_MBPS( 547, 8) >, + < 1344000 MHZ_TO_MBPS(1017, 8) >, + < 1766400 MHZ_TO_MBPS(1555, 8) >, + < 2208000 MHZ_TO_MBPS(1804, 8) >, + < 2803200 MHZ_TO_MBPS(2092, 8) >; + }; + + cpu4_computemon: qcom,cpu4-computemon { + compatible = "qcom,arm-compute-mon"; + qcom,cpulist = <&CPU4 &CPU5 &CPU6 &CPU7>; + qcom,target-dev = <&cpu4_cpu_ddr_latfloor>; + qcom,core-dev-table = + < 1056000 MHZ_TO_MBPS( 547, 8) >, + < 1344000 MHZ_TO_MBPS( 768, 8) >, + < 1766400 MHZ_TO_MBPS(1017, 8) >, + < 2208000 MHZ_TO_MBPS(1804, 8) >, + < 2803200 MHZ_TO_MBPS(2092, 8) >; + }; + }; + + qcom,msm_gsi { + compatible = "qcom,msm_gsi"; + }; + + qcom,rmnet-ipa { + compatible = "qcom,rmnet-ipa3"; + qcom,rmnet-ipa-ssr; + qcom,ipa-platform-type-msm; + qcom,ipa-advertise-sg-support; + qcom,ipa-napi-enable; + }; + + ipa_hw: qcom,ipa@0x5800000 { + compatible = "qcom,ipa"; + reg = <0x5800000 0x34000>, + <0x5804000 0x28000>; + reg-names = "ipa-base", "gsi-base"; + interrupts = <GIC_SPI 257 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 259 IRQ_TYPE_LEVEL_HIGH>; + interrupt-names = "ipa-irq", "gsi-irq"; + qcom,ipa-hw-ver = <16>; /* IPA core version = IPAv4.2 */ + qcom,ipa-hw-mode = <0>; + qcom,platform-type = <1>; /* MSM platform */ + qcom,ee = <0>; + qcom,use-ipa-tethering-bridge; + qcom,modem-cfg-emb-pipe-flt; + qcom,ipa-wdi2; + qcom,ipa-wdi2_over_gsi; + qcom,ipa-endp-delay-wa; + qcom,ipa-fltrt-not-hashable; + qcom,use-64-bit-dma-mask; + qcom,arm-smmu; + qcom,smmu-fast-map; + qcom,use-ipa-pm; + qcom,skip-ieob-mask-wa; + clocks = <&rpmcc RPM_SMD_IPA_CLK>; + clock-names = "core_clk"; + qcom,msm-bus,name = "ipa"; + qcom,msm-bus,num-cases = <5>; + qcom,msm-bus,num-paths = <3>; + qcom,msm-bus,vectors-KBps = + /* No vote */ + <MSM_BUS_MASTER_IPA MSM_BUS_SLAVE_EBI_CH0 0 0>, + <MSM_BUS_MASTER_IPA MSM_BUS_SLAVE_OCIMEM 0 0>, + <MSM_BUS_MASTER_AMPSS_M0 MSM_BUS_SLAVE_IPA_CFG 0 0>, + /* SVS2 */ + <MSM_BUS_MASTER_IPA MSM_BUS_SLAVE_EBI_CH0 80000 465000>, + <MSM_BUS_MASTER_IPA MSM_BUS_SLAVE_OCIMEM 80000 68570>, + <MSM_BUS_MASTER_AMPSS_M0 MSM_BUS_SLAVE_IPA_CFG 80000 30>, + /* SVS */ + <MSM_BUS_MASTER_IPA MSM_BUS_SLAVE_EBI_CH0 80000 2000000>, + <MSM_BUS_MASTER_IPA MSM_BUS_SLAVE_OCIMEM 80000 267461>, + <MSM_BUS_MASTER_AMPSS_M0 MSM_BUS_SLAVE_IPA_CFG 80000 109890>, + /* NOMINAL */ + <MSM_BUS_MASTER_IPA MSM_BUS_SLAVE_EBI_CH0 206000 4000000>, + <MSM_BUS_MASTER_IPA MSM_BUS_SLAVE_OCIMEM 206000 712961>, + <MSM_BUS_MASTER_AMPSS_M0 MSM_BUS_SLAVE_IPA_CFG 206000 491520>, + /* TURBO */ + <MSM_BUS_MASTER_IPA MSM_BUS_SLAVE_EBI_CH0 206000 5598900>, + <MSM_BUS_MASTER_IPA MSM_BUS_SLAVE_OCIMEM 206000 1436481>, + <MSM_BUS_MASTER_AMPSS_M0 MSM_BUS_SLAVE_IPA_CFG 206000 491520>; + qcom,bus-vector-names = + "MIN", "SVS2", "SVS", "NOMINAL", "TURBO"; + qcom,throughput-threshold = <310 600 1000>; + qcom,scaling-exceptions = <>; + + /* smp2p information */ + qcom,smp2p_map_ipa_1_out { + compatible = "qcom,smp2p-map-ipa-1-out"; + qcom,smem-states = <&smp2p_ipa_1_out 0>; + qcom,smem-state-names = "ipa-smp2p-out"; + }; + + qcom,smp2p_map_ipa_1_in { + compatible = "qcom,smp2p-map-ipa-1-in"; + interrupts-extended = <&smp2p_ipa_1_in 0 0>; + interrupt-names = "ipa-smp2p-in"; + }; + }; + + ipa_smmu_ap: ipa_smmu_ap { + compatible = "qcom,ipa-smmu-ap-cb"; + iommus = <&apps_smmu 0x0140 0x0>; + qcom,iommu-dma-addr-pool = <0x10000000 0x30000000>; + /* modem tables in IMEM */ + qcom,iommu-dma = "fastmap"; + qcom,additional-mapping = <0x0c123000 0x0c123000 0x2000>; + qcom,iommu-geometry = <0 0xB0000000>; + }; + + ipa_smmu_wlan: ipa_smmu_wlan { + compatible = "qcom,ipa-smmu-wlan-cb"; + iommus = <&apps_smmu 0x0141 0x0>; + /* ipa-uc ram */ + qcom,iommu-dma = "atomic"; + }; + + ipa_smmu_uc: ipa_smmu_uc { + compatible = "qcom,ipa-smmu-uc-cb"; + iommus = <&apps_smmu 0x0142 0x0>; + qcom,iommu-dma-addr-pool = <0x40400000 0x1fc00000>; + }; + + qcom,ipa_fws { + compatible = "qcom,pil-tz-generic"; + qcom,pas-id = <0xf>; + qcom,firmware-name = "ipa_fws"; + qcom,pil-force-shutdown; + memory-region = <&pil_ipa_fw_mem>; + }; + + qcom,demux { + compatible = "qcom,demux"; + }; + +tpdm_turing_llm: tpdm@8861000 { + compatible = "qcom,coresight-dummy"; + + coresight-name = "coresight-tpdm-turing_llm"; + qcom,dummy-source; + + port { + tpdm_turing_llm_out_funnel_turing: endpoint { + remote-endpoint = + <&funnel_turing_in_tpdm_turing_llm>; + }; + }; + }; + + /delete-node/ tpdm@8a58000; + tpdm_west: tpdm@8a58000 { + compatible = "arm,primecell"; + arm,primecell-periphid = <0x000bb968>; + reg = <0x8a58000 0x1000>; + reg-names = "tpdm-base"; + + coresight-name = "coresight-tpdm-west"; + + clocks = <&rpmcc RPM_SMD_QDSS_CLK>; + clock-names = "apb_pclk"; + port { + tpdm_west_out_tpda11: endpoint { + remote-endpoint = + <&tpda11_in_tpdm_west>; + }; + }; + }; + + tpdm_spdm: tpdm@800f000 { + compatible = "arm,primecell"; + arm,primecell-periphid = <0x000bb968>; + reg = <0x0800f000 0x1000>; + reg-names = "tpdm-base"; + + coresight-name = "coresight-tpdm-spdm"; + + clocks = <&rpmcc RPM_SMD_QDSS_CLK>; + clock-names = "apb_pclk"; + port { + tpdm_spdm_out_tpda13: endpoint { + remote-endpoint = + <&tpda13_in_tpdm_spdm>; + }; + }; + }; + + /delete-node/ funnel@8861000; + funnel_turing: funnel@8863000 { + compatible = "arm,primecell"; + arm,primecell-periphid = <0x000bb908>; + reg = <0x8863000 0x1000>; + reg-names = "funnel-base"; + + coresight-name = "coresight-funnel-turing"; + + clocks = <&rpmcc RPM_SMD_QDSS_CLK>; + clock-names = "apb_pclk"; + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + funnel_turing_out_funnel_qatb: endpoint { + remote-endpoint = + <&funnel_qatb_in_funnel_turing>; + source = <&turing_etm0>; + }; + }; + + port@1 { + reg = <1>; + funnel_turing_out_tpda5: endpoint { + remote-endpoint = + <&tpda5_in_funnel_turing>; + }; + }; + + port@2 { + reg = <0>; + funnel_turing_in_tpdm_turing: endpoint { + slave-mode; + remote-endpoint = + <&tpdm_turing_out_funnel_turing>; + }; + }; + + port@3 { + reg = <1>; + funnel_turing_in_tpdm_turing_llm: endpoint { + slave-mode; + remote-endpoint = + <&tpdm_turing_llm_out_funnel_turing>; + }; + }; + + port@4 { + reg = <2>; + funnel_turing_in_turing_etm0: endpoint { + slave-mode; + remote-endpoint = + <&turing_etm0_out_funnel_turing>; + }; + }; + }; + }; + + /delete-node/ tpda@8004000; + tpda: tpda@8004000 { + compatible = "arm,primecell"; + arm,primecell-periphid = <0x000bb969>; + reg = <0x8004000 0x1000>; + reg-names = "tpda-base"; + + coresight-name = "coresight-tpda"; + + qcom,tpda-atid = <65>; + qcom,dsb-elem-size = <0 32>, + <1 32>, + <5 32>, + <11 32>, + <12 32>, + <15 32>; + qcom,cmb-elem-size = <7 32>, + <8 32>, + <10 32>, + <15 64>; + + clocks = <&rpmcc RPM_SMD_QDSS_CLK>; + clock-names = "apb_pclk"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + port@0 { + reg = <0>; + tpda_out_funnel_qatb: endpoint { + remote-endpoint = + <&funnel_qatb_in_tpda>; + }; + }; + + port@1 { + reg = <0>; + tpda0_in_tpdm_dl_ct: endpoint { + slave-mode; + remote-endpoint = + <&tpdm_dl_ct_out_tpda0>; + }; + }; + + port@2 { + reg = <1>; + tpda1_in_funnel_gpu: endpoint { + slave-mode; + remote-endpoint = + <&funnel_gpu_out_tpda1>; + }; + }; + + port@3 { + reg = <5>; + tpda5_in_funnel_turing: endpoint { + slave-mode; + remote-endpoint = + <&funnel_turing_out_tpda5>; + }; + }; + + port@4 { + reg = <7>; + tpda7_in_tpdm_vsense: endpoint { + slave-mode; + remote-endpoint = + <&tpdm_vsense_out_tpda7>; + }; + }; + + port@5 { + reg = <8>; + tpda8_in_tpdm_dcc: endpoint { + slave-mode; + remote-endpoint = + <&tpdm_dcc_out_tpda8>; + }; + }; + + port@6 { + reg = <10>; + tpda10_in_tpdm_prng: endpoint { + slave-mode; + remote-endpoint = + <&tpdm_prng_out_tpda10>; + }; + }; + + port@7 { + reg = <11>; + tpda11_in_tpdm_west: endpoint { + slave-mode; + remote-endpoint = + <&tpdm_west_out_tpda11>; + }; + }; + + port@8 { + reg = <12>; + tpda12_in_tpdm_qm: endpoint { + slave-mode; + remote-endpoint = + <&tpdm_qm_out_tpda12>; + }; + }; + + port@9 { + reg = <13>; + tpda13_in_tpdm_spdm: endpoint { + slave-mode; + remote-endpoint = + <&tpdm_spdm_out_tpda13>; + }; + }; + + port@10 { + reg = <15>; + tpda15_in_tpdm_pimem: endpoint { + slave-mode; + remote-endpoint = + <&tpdm_pimem_out_tpda15>; + }; + }; + + }; + }; + + /delete-node/ cti@8867000; + cti_turing_q6: cti@8862000 { + compatible = "arm,primecell"; + arm,primecell-periphid = <0x000bb966>; + reg = <0x8862000 0x1000>; + reg-names = "cti-base"; + + coresight-name = "coresight-cti-turing-q6"; + + clocks = <&rpmcc RPM_SMD_QDSS_CLK>; + clock-names = "apb_pclk"; + }; +}; + +#include "bengal-gdsc.dtsi" +#include "khaje-usb.dtsi" +#include "bengal-ion.dtsi" +#include "bengal-bus.dtsi" +#include "bengal-vidc.dtsi" +#include "pm6125.dtsi" + +&gcc_camss_top_gdsc { + status = "ok"; +}; + +&gcc_ufs_phy_gdsc { + status = "ok"; +}; + +&gcc_usb30_prim_gdsc { + status = "ok"; +}; + +&gcc_vcodec0_gdsc { + qcom,support-hw-trigger; + status = "ok"; +}; + +&gcc_venus_gdsc { + status = "ok"; +}; + +&hlos1_vote_turing_mmu_tbu1_gdsc { + status = "ok"; +}; + +&hlos1_vote_turing_mmu_tbu0_gdsc { + status = "ok"; +}; + +&hlos1_vote_mm_snoc_mmu_tbu_rt_gdsc { + status = "ok"; +}; + +&hlos1_vote_mm_snoc_mmu_tbu_nrt_gdsc { + status = "ok"; +}; + +&mdss_core_gdsc { + reg = <0x5f01004 0x4>; + qcom,support-hw-trigger; + status = "ok"; +}; + +&gpu_cx_gdsc { + parent-supply = <&VDD_CX_LEVEL>; + status = "ok"; +}; + +&gpu_gx_gdsc { + parent-supply = <&VDD_CX_LEVEL>; + status = "ok"; +}; + +#include "msm-arm-smmu-bengal.dtsi" +#include "pm6125-rpm-regulator.dtsi" +#include "khaje-regulator.dtsi" +#include "bengal-pm.dtsi" +#include "khaje-pinctrl.dtsi" +#include "bengal-qupv3.dtsi" +#include "bengal-gpu.dtsi" +#include "bengal-audio.dtsi" +#include "khaje-sde-pll.dtsi" +#include "khaje-sde.dtsi" + +&soc { + /delete-node/ gpu_bw_tbl; + /delete-node/ gpubw; + /delete-node/ gpu_opp_table; + + gpu_bw_tbl: gpu-bw-tbl { + compatible = "operating-points-v2"; + BW_OPP_ENTRY( 0, 8); /* 0 MB/s */ + BW_OPP_ENTRY( 200, 8); /* 1525 MB/s */ + BW_OPP_ENTRY( 547, 8); /* 4173 MB/s */ + BW_OPP_ENTRY( 768, 8); /* 5859 MB/s */ + BW_OPP_ENTRY(1017, 8); /* 7759 MB/s */ + BW_OPP_ENTRY(1555, 8); /*11863 MB/s */ + BW_OPP_ENTRY(1804, 8); /*13763 MB/s */ + BW_OPP_ENTRY(2092, 8); /*15960 MB/s */ + }; + + gpubw: qcom,gpubw { + compatible = "qcom,devbw"; + governor = "bw_vbif"; + qcom,src-dst-ports = <26 512>; + operating-points-v2 = <&gpu_bw_tbl>; + }; + + gpu_opp_table: gpu-opp-table { + compatible = "operating-points-v2"; + + opp-1114800000 { + opp-hz = /bits/ 64 <1114800000>; + opp-microvolt = <RPMH_REGULATOR_LEVEL_TURBO_L1>; + }; + + opp-1025000000 { + opp-hz = /bits/ 64 <1025000000>; + opp-microvolt = <RPMH_REGULATOR_LEVEL_TURBO>; + }; + + opp-785000000 { + opp-hz = /bits/ 64 <785000000>; + opp-microvolt = <RPMH_REGULATOR_LEVEL_NOM>; + }; + + opp-600000000 { + opp-hz = /bits/ 64 <600000000>; + opp-microvolt = <RPMH_REGULATOR_LEVEL_SVS_L1>; + }; + + opp-465000000 { + opp-hz = /bits/ 64 <465000000>; + opp-microvolt = <RPMH_REGULATOR_LEVEL_SVS>; + }; + + opp-320000000 { + opp-hz = /bits/ 64 <320000000>; + opp-microvolt = <RPMH_REGULATOR_LEVEL_LOW_SVS>; + }; + }; +}; + +&msm_gpu { + qcom,chipid = <0x06010001>; + qcom,msm-bus,num-cases = <8>; + qcom,msm-bus,vectors-KBps = + <26 512 0 0>, + <26 512 0 1600000>, /* 1 bus=200 (LOW SVS) */ + <26 512 0 4376000>, /* 2 bus=547 (LOW SVS) */ + <26 512 0 6144000>, /* 3 bus=768 (SVS) */ + <26 512 0 8136000>, /* 4 bus=1017 (SVS_L1) */ + <26 512 0 12440000>, /* 5 bus=1555 (NOM) */ + <26 512 0 14432000>, /* 6 bus=1804 (TURBO) */ + <26 512 0 16736000>; /* 7 bus=2092 (TURBO_L1) */ + + /delete-node/ qcom,gpu-pwrlevel-bins; + /* + * Speed-bin zero is default speed bin. + * For rest of the speed bins, speed-bin value + * is calculated as FMAX/4.8 MHz round up to zero + * decimal places plus two margin to account for + * clock jitters. + */ + qcom,gpu-pwrlevel-bins { + #address-cells = <1>; + #size-cells = <0>; + + compatible = "qcom,gpu-pwrlevel-bins"; + + qcom,gpu-pwrlevels-0 { + #address-cells = <1>; + #size-cells = <0>; + + qcom,speed-bin = <0>; + + qcom,initial-pwrlevel = <5>; + qcom,ca-target-pwrlevel = <4>; + + /* TURBO_L1 */ + qcom,gpu-pwrlevel@0 { + reg = <0>; + qcom,gpu-freq = <1114800000>; + qcom,bus-freq = <7>; + qcom,bus-min = <7>; + qcom,bus-max = <7>; + }; + + /* TURBO */ + qcom,gpu-pwrlevel@1 { + reg = <1>; + qcom,gpu-freq = <1025000000>; + qcom,bus-freq = <6>; + qcom,bus-min = <5>; + qcom,bus-max = <7>; + }; + + /* NOM */ + qcom,gpu-pwrlevel@2 { + reg = <2>; + qcom,gpu-freq = <785000000>; + qcom,bus-freq = <5>; + qcom,bus-min = <4>; + qcom,bus-max = <5>; + }; + + /* SVS_L1 */ + qcom,gpu-pwrlevel@3 { + reg = <3>; + qcom,gpu-freq = <600000000>; + qcom,bus-freq = <4>; + qcom,bus-min = <3>; + qcom,bus-max = <5>; + }; + + /* SVS */ + qcom,gpu-pwrlevel@4 { + reg = <4>; + qcom,gpu-freq = <465000000>; + qcom,bus-freq = <3>; + qcom,bus-min = <2>; + qcom,bus-max = <4>; + }; + + /* LOW SVS */ + qcom,gpu-pwrlevel@5 { + reg = <5>; + qcom,gpu-freq = <320000000>; + qcom,bus-freq = <2>; + qcom,bus-min = <1>; + qcom,bus-max = <2>; + }; + + /* XO */ + qcom,gpu-pwrlevel@6 { + reg = <6>; + qcom,gpu-freq = <0>; + qcom,bus-freq = <0>; + qcom,bus-min = <0>; + qcom,bus-max = <0>; + }; + }; + + qcom,gpu-pwrlevels-1 { + #address-cells = <1>; + #size-cells = <0>; + + qcom,speed-bin = <235>; + + qcom,initial-pwrlevel = <5>; + qcom,ca-target-pwrlevel = <4>; + + /* TURBO_L1 */ + qcom,gpu-pwrlevel@0 { + reg = <0>; + qcom,gpu-freq = <1114800000>; + qcom,bus-freq = <7>; + qcom,bus-min = <7>; + qcom,bus-max = <7>; + }; + + /* TURBO */ + qcom,gpu-pwrlevel@1 { + reg = <1>; + qcom,gpu-freq = <1025000000>; + qcom,bus-freq = <6>; + qcom,bus-min = <5>; + qcom,bus-max = <7>; + }; + + /* NOM */ + qcom,gpu-pwrlevel@2 { + reg = <2>; + qcom,gpu-freq = <785000000>; + qcom,bus-freq = <5>; + qcom,bus-min = <4>; + qcom,bus-max = <5>; + }; + + /* SVS_L1 */ + qcom,gpu-pwrlevel@3 { + reg = <3>; + qcom,gpu-freq = <600000000>; + qcom,bus-freq = <4>; + qcom,bus-min = <3>; + qcom,bus-max = <5>; + }; + + /* SVS */ + qcom,gpu-pwrlevel@4 { + reg = <4>; + qcom,gpu-freq = <465000000>; + qcom,bus-freq = <3>; + qcom,bus-min = <2>; + qcom,bus-max = <4>; + }; + + /* LOW SVS */ + qcom,gpu-pwrlevel@5 { + reg = <5>; + qcom,gpu-freq = <320000000>; + qcom,bus-freq = <2>; + qcom,bus-min = <1>; + qcom,bus-max = <2>; + }; + + /* XO */ + qcom,gpu-pwrlevel@6 { + reg = <6>; + qcom,gpu-freq = <0>; + qcom,bus-freq = <0>; + qcom,bus-min = <0>; + qcom,bus-max = <0>; + }; + }; + + qcom,gpu-pwrlevels-2 { + #address-cells = <1>; + #size-cells = <0>; + + qcom,speed-bin = <216>; + + qcom,initial-pwrlevel = <4>; + qcom,ca-target-pwrlevel = <3>; + + /* TURBO */ + qcom,gpu-pwrlevel@0 { + reg = <0>; + qcom,gpu-freq = <1025000000>; + qcom,bus-freq = <6>; + qcom,bus-min = <5>; + qcom,bus-max = <7>; + }; + + /* NOM */ + qcom,gpu-pwrlevel@1 { + reg = <1>; + qcom,gpu-freq = <785000000>; + qcom,bus-freq = <5>; + qcom,bus-min = <4>; + qcom,bus-max = <5>; + }; + + /* SVS_L1 */ + qcom,gpu-pwrlevel@2 { + reg = <2>; + qcom,gpu-freq = <600000000>; + qcom,bus-freq = <4>; + qcom,bus-min = <3>; + qcom,bus-max = <5>; + }; + + /* SVS */ + qcom,gpu-pwrlevel@3 { + reg = <3>; + qcom,gpu-freq = <465000000>; + qcom,bus-freq = <3>; + qcom,bus-min = <2>; + qcom,bus-max = <4>; + }; + + /* LOW SVS */ + qcom,gpu-pwrlevel@4 { + reg = <4>; + qcom,gpu-freq = <320000000>; + qcom,bus-freq = <2>; + qcom,bus-min = <1>; + qcom,bus-max = <2>; + }; + + /* XO */ + qcom,gpu-pwrlevel@5 { + reg = <5>; + qcom,gpu-freq = <0>; + qcom,bus-freq = <0>; + qcom,bus-min = <0>; + qcom,bus-max = <0>; + }; + }; + }; +}; + +&qupv3_se1_i2c { + status = "ok"; + #include "pm8008.dtsi" +}; + +&pm8008_regulators { + /delete-property/ qcom,enable-ocp-broadcast; +}; + +&pm8008_8 { + /* PM8008 IRQ STAT */ + interrupt-parent = <&tlmm>; + interrupts = <25 IRQ_TYPE_EDGE_RISING>; + + pinctrl-names = "default"; + pinctrl-0 = <&pm8008_active &pm8008_interrupt>; +}; + +&pm8008_regulators { + vdd_l1_l2-supply = <&S6A>; + vdd_l7-supply = <&S7A>; +}; + +&L1P { + regulator-min-microvolt = <1100000>; + regulator-max-microvolt = <1300000>; + qcom,min-dropout-voltage = <56000>; +}; + +&L2P { + regulator-min-microvolt = <950000>; + regulator-max-microvolt = <1150000>; + qcom,min-dropout-voltage = <88000>; +}; + +&L3P { + regulator-min-microvolt = <2700000>; + regulator-max-microvolt = <2900000>; + qcom,min-dropout-voltage = <96000>; +}; + +&L4P { + regulator-min-microvolt = <2700000>; + regulator-max-microvolt = <2900000>; + qcom,min-dropout-voltage = <136000>; +}; + +&L5P { + regulator-min-microvolt = <2700000>; + regulator-max-microvolt = <2900000>; + qcom,min-dropout-voltage = <240000>; +}; + +&L6P { + regulator-min-microvolt = <2700000>; + regulator-max-microvolt = <2900000>; + qcom,min-dropout-voltage = <168000>; +}; + +&L7P { + regulator-min-microvolt = <1650000>; + regulator-max-microvolt = <1800000>; + qcom,min-dropout-voltage = <112000>; +}; + +&qupv3_se4_2uart { + status = "ok"; +}; + +&qupv3_se3_4uart { + status = "ok"; +}; + +&pm6125_vadc { + #address-cells = <1>; + #size-cells = <0>; + pinctrl-names = "default"; + pinctrl-0 = <&camera_therm_default &emmc_therm_default>; + + pa_therm0 { + reg = <ADC_AMUX_THM1_PU2>; + label = "pa_therm0"; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + qcom,pre-scaling = <1 1>; + }; + + quiet_therm { + reg = <ADC_AMUX_THM2_PU2>; + label = "quiet_therm"; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + qcom,pre-scaling = <1 1>; + }; + + camera_flash_therm { + reg = <ADC_GPIO1_PU2>; + label = "camera_flash_therm"; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + qcom,pre-scaling = <1 1>; + }; + + emmc_ufs_therm { + reg = <ADC_GPIO2_PU2>; + label = "emmc_ufs_therm"; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + qcom,pre-scaling = <1 1>; + }; +}; + +&pm6125_gpios { + camera_therm { + camera_therm_default: camera_therm_default { + pins = "gpio3"; + bias-high-impedance; + }; + }; + + emmc_therm { + emmc_therm_default: emmc_therm_default { + pins = "gpio4"; + bias-high-impedance; + }; + }; + +}; + +&spmi_bus { + qcom,pm6125@0 { + pm6125_adc_tm_iio: adc_tm@3400 { + compatible = "qcom,adc-tm5-iio"; + reg = <0x3400 0x100>; + #thermal-sensor-cells = <1>; + #address-cells = <1>; + #size-cells = <0>; + io-channels = <&pm6125_vadc ADC_GPIO1_PU2>, + <&pm6125_vadc ADC_GPIO2_PU2>; + + camera_flash_therm { + reg = <ADC_GPIO1_PU2>; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + }; + + emmc_ufs_therm { + reg = <ADC_GPIO2_PU2>; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + }; + }; + }; +}; + +&pm6125_adc_tm { + #address-cells = <1>; + #size-cells = <0>; + io-channels = <&pm6125_vadc ADC_AMUX_THM1_PU2>, + <&pm6125_vadc ADC_AMUX_THM2_PU2>, + <&pm6125_vadc ADC_XO_THERM_PU2>; + + /* Channel nodes */ + pa_therm0 { + reg = <ADC_AMUX_THM1_PU2>; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + }; + + quiet_therm { + reg = <ADC_AMUX_THM2_PU2>; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + }; + + xo_therm { + reg = <ADC_XO_THERM_PU2>; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + }; +}; + +&msm_vidc { + qcom,cx-ipeak-data = <&cx_ipeak_lm 6>; + qcom,clock-freq-threshold = <300000000>; +}; + +#include "bengal-thermal.dtsi" +#include "camera/khaje-camera.dtsi" +#include "msm-rdbg.dtsi" + +&cxip_cdev { + status = "disabled"; +}; + +&rpm_bus { + rpm_smd_cdev: rpm-smd-cdev { + compatible = "qcom,rpm-smd-cooling-device"; + #cooling-cells = <2>; + }; +}; + +&thermal_zones { + mapss-lowc { + cooling-maps { + rpm_smd_vdd_cdev { + trip = <&mapss_cap_trip>; + cooling-device = <&rpm_smd_cdev 2 2>; + }; + }; + }; + + camera-lowc { + cooling-maps { + rpm_smd_vdd_cdev { + trip = <&camera_cap_trip>; + cooling-device = <&rpm_smd_cdev 2 2>; + }; + }; + }; +}; diff --git a/qcom/kona-arglass-overlay.dts b/qcom/kona-arglass-overlay.dts new file mode 100644 index 00000000..71a42515 --- /dev/null +++ b/qcom/kona-arglass-overlay.dts @@ -0,0 +1,15 @@ +/dts-v1/; +/plugin/; + +#include <dt-bindings/clock/qcom,gcc-kona.h> +#include <dt-bindings/clock/qcom,camcc-kona.h> +#include <dt-bindings/clock/qcom,rpmh.h> +#include <dt-bindings/interrupt-controller/arm-gic.h> + +#include "kona-arglass.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. kona AR Glass"; + compatible = "qcom,kona-mtp", "qcom,kona", "qcom,mtp"; + qcom,board-id = <0x1040008 0>; +}; diff --git a/qcom/kona-arglass.dts b/qcom/kona-arglass.dts new file mode 100644 index 00000000..417f4c9e --- /dev/null +++ b/qcom/kona-arglass.dts @@ -0,0 +1,10 @@ +/dts-v1/; + +#include "kona.dtsi" +#include "kona-arglass.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. kona AR Glass"; + compatible = "qcom,kona-mtp", "qcom,kona", "qcom,mtp"; + qcom,board-id = <0x1040008 0>; +}; diff --git a/qcom/kona-arglass.dtsi b/qcom/kona-arglass.dtsi new file mode 100644 index 00000000..f892b1ee --- /dev/null +++ b/qcom/kona-arglass.dtsi @@ -0,0 +1,1067 @@ +#include <dt-bindings/gpio/gpio.h> +#include "kona-pmic-overlay.dtsi" +#include "kona-sde-display.dtsi" +#include "kona-audio-overlay.dtsi" +#include "kona-audio-overlay-ar.dtsi" +#include "kona-thermal-overlay.dtsi" +#include "kona-xr-pinctrl-overlay.dtsi" +#include "camera/kona-camera-sensor-arglass.dtsi" + +&tlmm { + mag_rst_gpio_default: mag_rst_gpio_default { + mux { + pins = "gpio125"; + function = "gpio"; + }; + + config { + pins = "gpio125"; + drive-strength = <8>; + bias-disable = <0>; + output-high; + }; + }; + + mag_rst_gpio_sleep: mag_rst_gpio_sleep { + mux { + pins = "gpio125"; + function = "gpio"; + }; + + config { + pins = "gpio125"; + drive-strength = <8>; + bias-pull-down; + input-enable; + }; + }; + + spkr_1_sd_n { + spkr_1_sd_n_sleep: spkr_1_sd_n_sleep { + mux { + pins = "gpio127"; + function = "gpio"; + }; + + config { + pins = "gpio127"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; + input-enable; + }; + }; + + spkr_1_sd_n_active: spkr_1_sd_n_active { + mux { + pins = "gpio127"; + function = "gpio"; + }; + + config { + pins = "gpio127"; + drive-strength = <16>; /* 16 mA */ + bias-disable; + output-high; + }; + }; + }; + + spkr_2_sd_n { + spkr_2_sd_n_sleep: spkr_2_sd_n_sleep { + mux { + pins = "gpio129"; + function = "gpio"; + }; + + config { + pins = "gpio129"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; + input-enable; + }; + }; + + spkr_2_sd_n_active: spkr_2_sd_n_active { + mux { + pins = "gpio129"; + function = "gpio"; + }; + + config { + pins = "gpio129"; + drive-strength = <16>; /* 16 mA */ + bias-disable; + output-high; + }; + }; + }; + + cam_sensor_6dof_vio_active: cam_sensor_6dof_vio_active { + /* VIO LDO */ + mux { + pins = "gpio41"; + function = "gpio"; + }; + + config { + pins = "gpio41"; + bias-disable; /* No PULL */ + drive-strength = <2>; /* 2 MA */ + }; + }; + + cam_sensor_6dof_vio_suspend: cam_sensor_6dof_vio_suspend { + /* VIO LDO */ + mux { + pins = "gpio41"; + function = "gpio"; + }; + + config { + pins = "gpio41"; + bias-pull-down; /* PULL DOWN */ + drive-strength = <2>; /* 2 MA */ + }; + }; +}; + +&vendor { + kona_arglass_batterydata: qcom,battery-data { + qcom,batt-id-range-pct = <15>; + #include "fg-gen4-batterydata-goertek-650mah.dtsi" + }; +}; + +&qupv3_se12_2uart { + status = "okay"; +}; + +&pm8150a_amoled { + status = "disabled"; +}; + +&qupv3_se6_4uart { + status = "ok"; +}; + +&dai_mi2s2 { + status = "disabled"; + qcom,msm-mi2s-tx-lines = <1>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&tert_mi2s_sck_active &tert_mi2s_ws_active + &tert_mi2s_sd0_active>; + pinctrl-1 = <&tert_mi2s_sck_sleep &tert_mi2s_ws_sleep + &tert_mi2s_sd0_sleep>; +}; + +&pm8150_l10 { + regulator-max-microvolt = <3304000>; + qcom,init-voltage = <3304000>; +}; + +&qupv3_se1_i2c { + status = "disabled"; + qcom,clk-freq-out = <1000000>; + #address-cells = <1>; + #size-cells = <0>; + xrfancontroller: xrfancontroller@50 { + compatible = "maxim,xrfancontroller"; + reg = <0x50>; + /* Manetometer gpio */ + mag_rst_gpio = <&tlmm 125 0>; + enable-active-high; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&mag_rst_gpio_default>; + pinctrl-1 = <&mag_rst_gpio_sleep>; + qcom,fan-pwr-en = <&tlmm 38 0x00>; + qcom,fan-pwr-bp = <&tlmm 39 0x00>; + }; +}; + +&qupv3_se13_i2c { + #address-cells = <1>; + #size-cells = <0>; + + status = "disabled"; +}; + +&ufsphy_mem { + compatible = "qcom,ufs-phy-qmp-v4"; + + vdda-phy-supply = <&pm8150_l5>; + vdda-phy-always-on; + vdda-pll-supply = <&pm8150_l9>; + vdda-phy-max-microamp = <89900>; + vdda-pll-max-microamp = <18800>; + + status = "ok"; +}; + +&ufshc_mem { + vdd-hba-supply = <&ufs_phy_gdsc>; + vdd-hba-fixed-regulator; + vcc-supply = <&pm8150_l17>; + vcc-voltage-level = <2504000 2950000>; + vcc-low-voltage-sup; + vccq-supply = <&pm8150_l6>; + vccq2-supply = <&pm8150_s4>; + vcc-max-microamp = <800000>; + vccq-max-microamp = <800000>; + vccq2-max-microamp = <800000>; + + qcom,vddp-ref-clk-supply = <&pm8150_l6>; + qcom,vddp-ref-clk-max-microamp = <100>; + qcom,vccq-parent-supply = <&pm8150a_s8>; + qcom,vccq-parent-max-microamp = <210000>; + + status = "ok"; +}; + +&soc { + qcom,qbt_handler { + status = "disabled"; + }; + + qcom,xr-stdalonevwr-misc { + compatible = "qcom,xr-stdalonevwr-misc"; + /* IMU CLK Enable PM8150 GPIO 3 & MAG_RST_GPIO */ + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&imu_clkin_default &mag_rst_gpio_default>; + pinctrl-1 = <&imu_clkin_sleep &mag_rst_gpio_sleep>; + }; +}; + +&vreg_hap_boost { + status = "ok"; +}; + +&pm8150b_haptics { + qcom,vmax-mv = <1697>; + qcom,play-rate-us = <5882>; + vdd-supply = <&vreg_hap_boost>; + + wf_0 { + /* CLICK */ + qcom,wf-play-rate-us = <5882>; + qcom,wf-vmax-mv = <1697>; + }; + + wf_1 { + /* DOUBLE CLICK */ + qcom,wf-play-rate-us = <5882>; + qcom,wf-vmax-mv = <1697>; + }; + + wf_2 { + /* TICK */ + qcom,wf-play-rate-us = <5882>; + qcom,wf-vmax-mv = <1697>; + }; + + wf_3 { + /* THUD */ + qcom,wf-play-rate-us = <5882>; + qcom,wf-vmax-mv = <1697>; + }; + + wf_4 { + /* POP */ + qcom,wf-play-rate-us = <5882>; + qcom,wf-vmax-mv = <1697>; + }; + + wf_5 { + /* HEAVY CLICK */ + qcom,wf-play-rate-us = <5882>; + qcom,wf-vmax-mv = <1697>; + }; +}; + +&pm8150b_vadc { + #address-cells = <1>; + #size-cells = <0>; + + vph_pwr@83 { + reg = <ADC_VPH_PWR>; + label = "vph_pwr"; + qcom,pre-scaling = <1 3>; + }; + + conn_therm@4f { + reg = <ADC_AMUX_THM3_PU2>; + label = "conn_therm"; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + qcom,pre-scaling = <1 1>; + }; + + chg_sbux@99 { + reg = <ADC_SBUx>; + label = "chg_sbux"; + qcom,pre-scaling = <1 3>; + }; + + mid_chg_div6@1e { + reg = <ADC_MID_CHG_DIV6>; + label = "chg_mid"; + qcom,pre-scaling = <1 6>; + }; + + usb_in_i_uv@7 { + reg = <ADC_USB_IN_I>; + label = "usb_in_i_uv"; + qcom,pre-scaling = <1 1>; + }; + + usb_in_v_div_16@8 { + reg = <ADC_USB_IN_V_16>; + label = "usb_in_v_div_16"; + qcom,pre-scaling = <1 16>; + }; +}; + +&qupv3_se15_i2c { + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; + redriver: redriver@1c { + compatible = "onnn,redriver"; + reg = <0x1c>; + extcon = <&pm8150b_pdphy>, <&pm8150b_pdphy>; + eq = /bits/ 8 < + /* Parameters for USB */ + 0x4 0x4 0x4 0x4 + /* Parameters for DP */ + 0x6 0x4 0x4 0x6>; + flat-gain = /bits/ 8 < + /* Parameters for USB */ + 0x3 0x1 0x1 0x3 + /* Parameters for DP */ + 0x2 0x1 0x1 0x2>; + output-comp = /bits/ 8 < + /* Parameters for USB */ + 0x3 0x3 0x3 0x3 + /* Parameters for DP */ + 0x3 0x3 0x3 0x3>; + loss-match = /bits/ 8 < + /* Parameters for USB */ + 0x1 0x3 0x3 0x1 + /* Parameters for DP */ + 0x3 0x3 0x3 0x3>; + }; + + #include "smb1390.dtsi" +}; + +&smb1390 { + pinctrl-names = "default"; + pinctrl-0 = <&smb_stat_default>; + status = "ok"; +}; + +&smb1390_charger { + io-channels = <&pm8150b_vadc ADC_AMUX_THM2>; + io-channel-names = "cp_die_temp"; + qcom,parallel-output-mode = <2>; + status = "ok"; +}; + +&smb1390_slave { + status = "ok"; +}; + +&smb1390_slave_charger { + status = "ok"; +}; + +&pm8150b_charger { + status = "ok"; + qcom,sec-charger-config = <1>; + qcom,auto-recharge-soc = <98>; + io-channels = <&pm8150b_vadc ADC_MID_CHG_DIV6>, + <&pm8150b_vadc ADC_USB_IN_I>, + <&pm8150b_vadc ADC_SBUx>, + <&pm8150b_vadc ADC_VPH_PWR>, + <&pm8150b_vadc ADC_CHG_TEMP>; + io-channel-names = "mid_voltage", + "usb_in_current", + "sbux_res", + "vph_voltage", + "chg_temp"; + qcom,battery-data = <&kona_arglass_batterydata>; + qcom,sw-jeita-enable; + qcom,wd-bark-time-secs = <16>; + qcom,suspend-input-on-debug-batt; + qcom,hvdcp-disable; + qcom,thermal-mitigation = <5325000 4500000 4000000 3500000 3000000 + 2500000 2000000 1500000 1000000 500000>; +}; + +&pm8150b_fg { + status = "ok"; + qcom,battery-data = <&kona_arglass_batterydata>; + qcom,hold-soc-while-full; + qcom,linearize-soc; + qcom,five-pin-battery; + qcom,cl-wt-enable; + qcom,soc-scale-mode-en; + qcom,fg-force-load-profile; + /* ESR fast calibration */ + qcom,fg-esr-timer-chg-fast = <0 7>; + qcom,fg-esr-timer-dischg-fast = <0 7>; + qcom,fg-esr-timer-chg-slow = <0 96>; + qcom,fg-esr-timer-dischg-slow = <0 96>; + qcom,fg-esr-cal-soc-thresh = <26 230>; + qcom,fg-esr-cal-temp-thresh = <10 40>; +}; + +&pm8150_vadc { + #address-cells = <1>; + #size-cells = <0>; + + vph_pwr@83 { + reg = <ADC_VPH_PWR>; + label = "vph_pwr"; + qcom,pre-scaling = <1 3>; + }; + + vcoin@85 { + reg = <ADC_VCOIN>; + label = "vcoin"; + qcom,pre-scaling = <1 3>; + }; + + xo_therm@4c { + reg = <ADC_XO_THERM_PU2>; + label = "xo_therm"; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + qcom,pre-scaling = <1 1>; + }; + + skin_therm@4d { + reg = <ADC_AMUX_THM1_PU2>; + label = "skin_therm"; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + qcom,pre-scaling = <1 1>; + }; + + pa_therm1@4e { + reg = <ADC_AMUX_THM2_PU2>; + label = "pa_therm1"; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + qcom,pre-scaling = <1 1>; + }; +}; + +&pm8150l_vadc { + #address-cells = <1>; + #size-cells = <0>; + + vph_pwr@83 { + reg = <ADC_VPH_PWR>; + label = "vph_pwr"; + qcom,pre-scaling = <1 3>; + }; + + camera_flash_therm@4d { + reg = <ADC_AMUX_THM1_PU2>; + label = "camera_flash_therm"; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + qcom,pre-scaling = <1 1>; + }; + + skin_msm_therm@4e { + reg = <ADC_AMUX_THM2_PU2>; + label = "skin_msm_therm"; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + qcom,pre-scaling = <1 1>; + }; + + pa_therm2@4f { + reg = <ADC_AMUX_THM3_PU2>; + label = "pa_therm2"; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + qcom,pre-scaling = <1 1>; + }; +}; + +&pm8150b_adc_tm { + #address-cells = <1>; + #size-cells = <0>; + + io-channels = <&pm8150b_vadc ADC_AMUX_THM3_PU2>; + + conn_therm@4f { + reg = <ADC_AMUX_THM3_PU2>; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + }; +}; + +&pm8150_adc_tm { + #address-cells = <1>; + #size-cells = <0>; + + io-channels = <&pm8150_vadc ADC_XO_THERM_PU2>, + <&pm8150_vadc ADC_AMUX_THM1_PU2>, + <&pm8150_vadc ADC_AMUX_THM2_PU2>; + + xo_therm@4c { + reg = <ADC_XO_THERM_PU2>; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + }; + + skin_therm@4d { + reg = <ADC_AMUX_THM1_PU2>; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + }; + + pa_therm1@4e { + reg = <ADC_AMUX_THM2_PU2>; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + }; +}; + +&pm8150l_adc_tm { + #address-cells = <1>; + #size-cells = <0>; + + camera_flash_therm@4d { + reg = <ADC_AMUX_THM1_PU2>; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + }; + + skin_msm_therm@4e { + reg = <ADC_AMUX_THM2_PU2>; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + }; + + pa_therm2@4f { + reg = <ADC_AMUX_THM3_PU2>; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + }; +}; + +&spmi_debug_bus { + status = "ok"; +}; + +&sde_dsi { + /delete-property/ avdd-supply; + lab-supply = <&lcdb_ldo_vreg>; + ibb-supply = <&lcdb_ncp_vreg>; + qcom,dsi-default-panel = <&dsi_dual_arglass_seeya_video>; +}; + +&display_panel_avdd { + status = "disabled"; +}; + +&pm8150l_lcdb { + status = "ok"; +}; + +&pm8150l_wled { + status = "ok"; +}; + +&dsi_dual_arglass_seeya_video { + qcom,panel-supply-entries = <&dsi_panel_pwr_supply>; + qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs"; + qcom,mdss-dsi-bl-ctrl-dcs-subtype = <0xc2>; + qcom,mdss-dsi-bl-min-level = <1>; + qcom,mdss-dsi-bl-max-level = <1023>; + qcom,mdss-brightness-max-level = <1023>; + qcom,platform-reset-gpio = <&tlmm 75 0>; + qcom,platform-bklight-en-gpio = <&tlmm 46 0>; + qcom,5v-boost-gpio = <&tlmm 61 0>; + /delete-property/ qcom,platform-en-gpio; +}; + +&dsi_sw43404_amoled_cmd { + qcom,panel-supply-entries = <&dsi_panel_pwr_supply>; + qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs"; + qcom,mdss-dsi-bl-min-level = <1>; + qcom,mdss-dsi-bl-max-level = <1023>; + qcom,mdss-brightness-max-level = <255>; + qcom,platform-te-gpio = <&tlmm 66 0>; + qcom,platform-reset-gpio = <&tlmm 75 0>; + qcom,mdss-dsi-panel-test-pin = <&tlmm 46 0>; +}; + +&dsi_sw43404_amoled_video { + qcom,panel-supply-entries = <&dsi_panel_pwr_supply>; + qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs"; + qcom,mdss-dsi-bl-min-level = <1>; + qcom,mdss-dsi-bl-max-level = <1023>; + qcom,mdss-brightness-max-level = <255>; + qcom,platform-reset-gpio = <&tlmm 75 0>; + qcom,mdss-dsi-panel-test-pin = <&tlmm 46 0>; +}; + +&dsi_sw43404_amoled_fhd_plus_cmd { + qcom,panel-supply-entries = <&dsi_panel_pwr_supply>; + qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs"; + qcom,mdss-dsi-bl-min-level = <1>; + qcom,mdss-dsi-bl-max-level = <1023>; + qcom,mdss-brightness-max-level = <255>; + qcom,platform-te-gpio = <&tlmm 66 0>; + qcom,platform-reset-gpio = <&tlmm 75 0>; + qcom,mdss-dsi-panel-test-pin = <&tlmm 46 0>; +}; + +&dsi_sim_cmd { + qcom,panel-supply-entries = <&dsi_panel_pwr_supply>; + qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs"; + qcom,platform-reset-gpio = <&tlmm 75 0>; +}; + +&dsi_sim_vid { + qcom,panel-supply-entries = <&dsi_panel_pwr_supply>; + qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs"; + qcom,platform-reset-gpio = <&tlmm 75 0>; +}; + +&dsi_sim_dsc_375_cmd { + qcom,panel-supply-entries = <&dsi_panel_pwr_supply>; + qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs"; + qcom,platform-reset-gpio = <&tlmm 75 0>; +}; + +&dsi_sim_dsc_10b_cmd { + qcom,panel-supply-entries = <&dsi_panel_pwr_supply>; + qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs"; + qcom,platform-reset-gpio = <&tlmm 75 0>; +}; + +&dsi_dual_sim_cmd { + qcom,panel-supply-entries = <&dsi_panel_pwr_supply>; + qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs"; + qcom,platform-reset-gpio = <&tlmm 75 0>; +}; + +&dsi_dual_sim_vid { + qcom,panel-supply-entries = <&dsi_panel_pwr_supply>; + qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs"; + qcom,platform-reset-gpio = <&tlmm 75 0>; +}; + +&dsi_dual_sim_dsc_375_cmd { + qcom,panel-supply-entries = <&dsi_panel_pwr_supply>; + qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs"; + qcom,platform-reset-gpio = <&tlmm 75 0>; +}; + +&thermal_zones { + conn-therm-usr { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&pm8150b_adc_tm ADC_AMUX_THM3_PU2>; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + + xo-therm-usr { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&pm8150_adc_tm ADC_XO_THERM_PU2>; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + + skin-therm-usr { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&pm8150_adc_tm ADC_AMUX_THM1_PU2>; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + + mmw-pa1-usr { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&pm8150_adc_tm ADC_AMUX_THM2_PU2>; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + + camera-therm-usr { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&pm8150l_adc_tm ADC_AMUX_THM1_PU2>; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + + skin-msm-therm-usr { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&pm8150l_adc_tm ADC_AMUX_THM2_PU2>; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + + mmw-pa2-usr { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&pm8150l_adc_tm ADC_AMUX_THM3_PU2>; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; +}; + +&sdhc_2 { + vdd-supply = <&pm8150a_l9>; + qcom,vdd-voltage-level = <2950000 2960000>; + qcom,vdd-current-level = <200 800000>; + + vdd-io-supply = <&pm8150a_l6>; + 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 &storage_cd>; + pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &storage_cd>; + + cd-gpios = <&tlmm 77 GPIO_ACTIVE_HIGH>; /* Morpheus has to be HIGH */ + + status = "disabled"; +}; + +&vendor { + bluetooth: bt_qca6390 { + compatible = "qca,qca6390"; + pinctrl-names = "default"; + pinctrl-0 = <&bt_en_sleep>; + qca,bt-reset-gpio = <&tlmm 21 0>; /* BT_EN */ + qca,bt-sw-ctrl-gpio = <&tlmm 124 0>; /* SW_CTRL */ + qca,bt-vdd-aon-supply = <&pm8150_s6>; + qca,bt-vdd-dig-supply = <&pm8150_s6>; + qca,bt-vdd-rfa1-supply = <&pm8150_s5>; + qca,bt-vdd-rfa2-supply = <&pm8150a_s8>; + qca,bt-vdd-asd-supply = <&pm8150_l16>; + + qca,bt-vdd-aon-voltage-level = <950000 950000>; + qca,bt-vdd-dig-voltage-level = <950000 952000>; + qca,bt-vdd-rfa1-voltage-level = <1900000 1900000>; + qca,bt-vdd-rfa2-voltage-level = <1350000 1350000>; + qca,bt-vdd-asd-voltage-level = <3024000 3304000>; + + qca,bt-vdd-asd-current-level = <10000>; + }; +}; + +&usb0 { + dwc3@a600000 { + maximum-speed = "super-speed-plus"; + }; +}; + +&usb1 { + qcom,default-mode-none; +}; + +&wil6210 { + status = "disabled"; +}; + +&usb2_phy0 { + qcom,param-override-seq = + <0xc7 0x6c + 0x0f 0x70 + 0x03 0x74>; +}; + +&mdss_mdp { + qcom,sde-mixer-display-pref = "primary", "primary", "primary", + "primary", "none", "none"; +}; + +&kona_snd { + qcom,model = "kona-arglass-snd-card"; + qcom,mi2s-audio-intf = <0>; + qcom,audio-routing = + "TX DMIC0", "Digital Mic0", + "TX DMIC1", "Digital Mic1", + "TX DMIC2", "Digital Mic2", + "TX DMIC3", "Digital Mic3", + "TX DMIC4", "Digital Mic4", + "IN1_HPHL", "HPHL_OUT", + "IN2_HPHR", "HPHR_OUT", + "IN3_AUX", "AUX_OUT", + "TX SWR_ADC0", "ADC1_OUTPUT", + "TX SWR_ADC1", "ADC2_OUTPUT", + "TX SWR_ADC2", "ADC3_OUTPUT", + "TX SWR_ADC3", "ADC4_OUTPUT", + "TX SWR_DMIC0", "DMIC1_OUTPUT", + "TX SWR_DMIC1", "DMIC2_OUTPUT", + "TX SWR_DMIC2", "DMIC3_OUTPUT", + "TX SWR_DMIC3", "DMIC4_OUTPUT", + "TX SWR_DMIC4", "DMIC5_OUTPUT", + "TX SWR_DMIC5", "DMIC6_OUTPUT", + "TX SWR_DMIC6", "DMIC7_OUTPUT", + "TX SWR_DMIC7", "DMIC8_OUTPUT", + "WSA SRC0_INP", "SRC0", + "WSA_TX DEC0_INP", "TX DEC0 MUX", + "WSA_TX DEC1_INP", "TX DEC1 MUX", + "RX_TX DEC0_INP", "TX DEC0 MUX", + "RX_TX DEC1_INP", "TX DEC1 MUX", + "RX_TX DEC2_INP", "TX DEC2 MUX", + "RX_TX DEC3_INP", "TX DEC3 MUX", + "SpkrRight IN", "WSA_SPK2 OUT", + "VA_AIF1 CAP", "VA_SWR_CLK", + "VA_AIF2 CAP", "VA_SWR_CLK", + "VA_AIF3 CAP", "VA_SWR_CLK", + "VA DMIC0", "Digital Mic0", + "VA DMIC1", "Digital Mic1", + "VA DMIC2", "Digital Mic2", + "VA DMIC3", "Digital Mic3", + "VA DMIC4", "Digital Mic4", + "VA SWR_ADC1", "VA_SWR_CLK", + "VA SWR_MIC0", "VA_SWR_CLK", + "VA SWR_MIC1", "VA_SWR_CLK", + "VA SWR_MIC2", "VA_SWR_CLK", + "VA SWR_MIC3", "VA_SWR_CLK", + "VA SWR_MIC4", "VA_SWR_CLK", + "VA SWR_MIC5", "VA_SWR_CLK", + "VA SWR_MIC6", "VA_SWR_CLK", + "VA SWR_MIC7", "VA_SWR_CLK", + "VA SWR_MIC0", "DMIC1_OUTPUT", + "VA SWR_MIC1", "DMIC2_OUTPUT", + "VA SWR_MIC2", "DMIC3_OUTPUT", + "VA SWR_MIC3", "DMIC4_OUTPUT", + "VA SWR_MIC4", "DMIC5_OUTPUT", + "VA SWR_MIC5", "DMIC6_OUTPUT", + "VA SWR_MIC6", "DMIC7_OUTPUT", + "VA SWR_MIC7", "DMIC8_OUTPUT", + "VA SWR_ADC1", "ADC2_OUTPUT"; + qcom,msm-mbhc-hphl-swh = <0>; + qcom,msm-mbhc-gnd-swh = <0>; + qcom,cdc-dmic01-gpios = <&cdc_dmic01_gpios>; + qcom,cdc-dmic23-gpios = <&cdc_dmic23_gpios>; + qcom,cdc-dmic45-gpios = <&cdc_dmic45_gpios>; + asoc-codec = <&stub_codec>, <&bolero>, <&ext_disp_audio_codec>; + asoc-codec-names = "msm-stub-codec.1", "bolero_codec", + "msm-ext-disp-audio-codec-rx"; + qcom,wsa-max-devs = <2>; + qcom,wsa-devs = <&wsa881x_0211>, <&wsa881x_0212>, + <&wsa881x_0213>, <&wsa881x_0214>; + qcom,wsa-aux-dev-prefix = "SpkrLeft", "SpkrRight", + "SpkrLeft", "SpkrRight"; + qcom,codec-max-aux-devs = <0>; + /delete-property/ qcom,codec-aux-devs; + qcom,msm_audio_ssr_devs = <&audio_apr>, <&q6core>, <&lpi_tlmm>, + <&bolero>; +}; + +&wcd938x_tx_slave { + status = "disabled"; +}; + +&wcd938x_rx_slave { + status = "disabled"; +}; + +&wcd938x_codec { + status = "disabled"; +}; + +&kona_snd_ar { + qcom,model = "kona-arglass-snd-card"; + qcom,mi2s-audio-intf = <0>; + qcom,audio-routing = + "TX DMIC0", "Digital Mic0", + "TX DMIC1", "Digital Mic1", + "TX DMIC2", "Digital Mic2", + "TX DMIC3", "Digital Mic3", + "TX DMIC4", "Digital Mic4", + "IN1_HPHL", "HPHL_OUT", + "IN2_HPHR", "HPHR_OUT", + "IN3_AUX", "AUX_OUT", + "TX SWR_ADC0", "ADC1_OUTPUT", + "TX SWR_ADC1", "ADC2_OUTPUT", + "TX SWR_ADC2", "ADC3_OUTPUT", + "TX SWR_ADC3", "ADC4_OUTPUT", + "TX SWR_DMIC0", "DMIC1_OUTPUT", + "TX SWR_DMIC1", "DMIC2_OUTPUT", + "TX SWR_DMIC2", "DMIC3_OUTPUT", + "TX SWR_DMIC3", "DMIC4_OUTPUT", + "TX SWR_DMIC4", "DMIC5_OUTPUT", + "TX SWR_DMIC5", "DMIC6_OUTPUT", + "TX SWR_DMIC6", "DMIC7_OUTPUT", + "TX SWR_DMIC7", "DMIC8_OUTPUT", + "WSA SRC0_INP", "SRC0", + "WSA_TX DEC0_INP", "TX DEC0 MUX", + "WSA_TX DEC1_INP", "TX DEC1 MUX", + "RX_TX DEC0_INP", "TX DEC0 MUX", + "RX_TX DEC1_INP", "TX DEC1 MUX", + "RX_TX DEC2_INP", "TX DEC2 MUX", + "RX_TX DEC3_INP", "TX DEC3 MUX", + "SpkrRight IN", "WSA_SPK2 OUT", + "VA_AIF1 CAP", "VA_SWR_CLK", + "VA_AIF2 CAP", "VA_SWR_CLK", + "VA_AIF3 CAP", "VA_SWR_CLK", + "VA DMIC0", "Digital Mic0", + "VA DMIC1", "Digital Mic1", + "VA DMIC2", "Digital Mic2", + "VA DMIC3", "Digital Mic3", + "VA DMIC4", "Digital Mic4", + "VA SWR_ADC1", "VA_SWR_CLK", + "VA SWR_MIC0", "VA_SWR_CLK", + "VA SWR_MIC1", "VA_SWR_CLK", + "VA SWR_MIC2", "VA_SWR_CLK", + "VA SWR_MIC3", "VA_SWR_CLK", + "VA SWR_MIC4", "VA_SWR_CLK", + "VA SWR_MIC5", "VA_SWR_CLK", + "VA SWR_MIC6", "VA_SWR_CLK", + "VA SWR_MIC7", "VA_SWR_CLK", + "VA SWR_MIC0", "DMIC1_OUTPUT", + "VA SWR_MIC1", "DMIC2_OUTPUT", + "VA SWR_MIC2", "DMIC3_OUTPUT", + "VA SWR_MIC3", "DMIC4_OUTPUT", + "VA SWR_MIC4", "DMIC5_OUTPUT", + "VA SWR_MIC5", "DMIC6_OUTPUT", + "VA SWR_MIC6", "DMIC7_OUTPUT", + "VA SWR_MIC7", "DMIC8_OUTPUT", + "VA SWR_ADC1", "ADC2_OUTPUT"; + qcom,msm-mbhc-hphl-swh = <0>; + qcom,msm-mbhc-gnd-swh = <0>; + qcom,codec-max-aux-devs = <0>; + /delete-property/ qcom,codec-aux-devs; +}; + +&wcd938x_tx_slave_ar { + status = "disabled"; +}; + +&wcd938x_rx_slave_ar { + status = "disabled"; +}; + +&wcd938x_codec_ar { + status = "disabled"; +}; + +&pm8150a_l4 { + qcom,init-voltage = <2800000>; +}; + +&pm8150a_l3 { + qcom,init-voltage = <1200000>; +}; + +&pm8150a_l9 { + qcom,init-voltage = <2800000>; +}; + +&sde_dp { + status="disabled"; +}; + +&mdss_mdp { + connectors = <&sde_wb &sde_dsi &sde_dsi1 &sde_rscc>; +}; + +&wlan { + vdd-wlan-dig-supply = <&pm8150_s6>; + qcom,vdd-wlan-dig-config = <950000 950000 0 0 1>; + qcom,cmd_db_name = "smpa6"; +}; + +&flash_led { + qcom,hw-strobe-option = <0>; + qcom,strobe-sel = <1>; + qcom,ramp-up-step = <200>; + qcom,ramp-down-step = <200>; + status = "okay"; +}; + +&pm8150l_flash0 { + qcom,strobe-sel = <1>; + status = "okay"; +}; + +&pm8150l_flash1 { + qcom,strobe-sel = <1>; + status = "okay"; +}; + +&pm8150l_flash2 { + qcom,strobe-sel = <1>; + status = "okay"; +}; + +&pm8150l_torch0 { + qcom,strobe-sel = <1>; + status = "okay"; +}; + +&pm8150l_torch1 { + qcom,strobe-sel = <1>; + status = "okay"; +}; + +&pm8150l_torch2 { + qcom,strobe-sel = <1>; + status = "okay"; +}; + +&pm8150b_pdphy { + /* Restricting only to 5V@3A */ + qcom,default-sink-caps = <5000 3000>; /* 5V @ 3A */ +}; + diff --git a/qcom/kona-audio-ar.dtsi b/qcom/kona-audio-ar.dtsi new file mode 100644 index 00000000..edefccc3 --- /dev/null +++ b/qcom/kona-audio-ar.dtsi @@ -0,0 +1,109 @@ +#include <dt-bindings/sound/qcom,gpr.h> + +&glink_adsp { + audio_gpr: qcom,gpr { + compatible = "qcom,gpr"; + qcom,glink-channels = "adsp_apps"; + qcom,intents = <0x200 20>; + reg = <GPR_DOMAIN_ADSP>; + spf_core { + compatible = "qcom,spf_core"; + reg = <GPR_SVC_ADSP_CORE>; + }; + + audio-pkt { + compatible = "qcom,audio-pkt"; + qcom,audiopkt-ch-name = "apr_audio_svc"; + reg = <GPR_SVC_MAX>; + }; + + audio_prm: q6prm { + compatible = "qcom,audio_prm"; + reg = <GPR_SVC_ASM>; + }; + + voice-mhi { + compatible = "qcom,voice_mhi_gpr"; + reg = <GPR_SVC_VPM>; + }; + }; +}; + +&soc { + spf_core_platform: spf_core_platform { + compatible = "qcom,spf-core-platform"; + }; + + audio_pkt_core_platform: qcom,audio-pkt-core-platform { + compatible = "qcom,audio-pkt-core-platform"; + }; +}; + +&spf_core_platform { + msm_audio_ion_ar: qcom,msm-audio-ion-ar { + compatible = "qcom,msm-audio-ion"; + qcom,smmu-version = <2>; + qcom,smmu-enabled; + iommus = <&apps_smmu 0x1801 0x0>; + qcom,iommu-dma-addr-pool = <0x10000000 0x10000000>; + qcom,smmu-sid-mask = /bits/ 64 <0xf>; + }; + + lpass_core_hw_vote_ar: vote_lpass_core_hw_ar { + compatible = "qcom,audio-ref-clk"; + qcom,codec-ext-clk-src = <AUDIO_LPASS_CORE_HW_VOTE>; + #clock-cells = <1>; + }; + + lpass_audio_hw_vote_ar: vote_lpass_audio_hw_ar { + compatible = "qcom,audio-ref-clk"; + qcom,codec-ext-clk-src = <AUDIO_LPASS_AUDIO_HW_VOTE>; + #clock-cells = <1>; + }; + + bolero_ar: bolero-cdc-ar { + compatible = "qcom,bolero-codec"; + clock-names = "lpass_core_hw_vote", + "lpass_audio_hw_vote"; + clocks = <&lpass_core_hw_vote_ar 0>, + <&lpass_audio_hw_vote_ar 0>; + bolero-clk-rsc-mngr-ar { + compatible = "qcom,bolero-clk-rsc-mngr"; + }; + + tx_macro_ar: tx-macro-ar@3220000 { + swr_ar2: tx_swr_master_ar { + }; + }; + + rx_macro_ar: rx-macro-ar@3200000 { + swr_ar1: rx_swr_master_ar { + }; + }; + + wsa_macro_ar: wsa-macro-ar@3240000 { + swr_ar0: wsa_swr_master_ar { + }; + }; + }; + + voice_mhi_audio_ar: qcom,voice-mhi-audio-ar { + compatible = "qcom,voice-mhi-audio"; + memory-region = <&mailbox_mem>; + voice_mhi_voting; + }; + + kona_snd_ar: sound_ar { + compatible = "qcom,kona-asoc-snd"; + qcom,mi2s-audio-intf = <1>; + qcom,auxpcm-audio-intf = <1>; + qcom,tdm-audio-intf = <1>; + qcom,wcn-bt = <0>; + qcom,ext-disp-audio-rx = <0>; + qcom,afe-rxtx-lb = <0>; + + clock-names = "lpass_audio_hw_vote"; + clocks = <&lpass_audio_hw_vote_ar 0>; + fsa4480-i2c-handle = <&fsa4480>; + }; +}; diff --git a/qcom/kona-audio-overlay-ar.dtsi b/qcom/kona-audio-overlay-ar.dtsi new file mode 100644 index 00000000..8cc61d5d --- /dev/null +++ b/qcom/kona-audio-overlay-ar.dtsi @@ -0,0 +1,382 @@ +#include "kona-lpi-ar.dtsi" +#include "kona-va-bolero-ar.dtsi" + +&bolero_ar { + qcom,num-macros = <4>; + bolero-clk-rsc-mngr-ar { + compatible = "qcom,bolero-clk-rsc-mngr"; + qcom,fs-gen-sequence = <0x3000 0x1>, + <0x3004 0x1>, <0x3080 0x2>; + qcom,rx_mclk_mode_muxsel = <0x033240D8>; + qcom,wsa_mclk_mode_muxsel = <0x033220D8>; + qcom,va_mclk_mode_muxsel = <0x033A0000>; + clock-names = "tx_core_clk", "tx_npl_clk", "rx_core_clk", "rx_npl_clk", + "wsa_core_clk", "wsa_npl_clk", "va_core_clk", "va_npl_clk"; + clocks = <&clock_audio_tx_1 0>, <&clock_audio_tx_2 0>, + <&clock_audio_rx_1 0>, <&clock_audio_rx_2 0>, + <&clock_audio_wsa_1 0>, <&clock_audio_wsa_2 0>, + <&clock_audio_va_1 0>, <&clock_audio_va_2 0>; + }; + + tx_macro_ar: tx-macro-ar@3220000 { + compatible = "qcom,tx-macro"; + reg = <0x3220000 0x0>; + clock-names = "tx_core_clk", "tx_npl_clk"; + clocks = <&clock_audio_tx_1 0>, + <&clock_audio_tx_2 0>; + qcom,tx-swr-gpios = <&tx_swr_gpios_ar>; + qcom,tx-dmic-sample-rate = <2400000>; + swr_ar2: tx_swr_master_ar { + compatible = "qcom,swr-mstr"; + #address-cells = <2>; + #size-cells = <0>; + clock-names = "lpass_core_hw_vote", + "lpass_audio_hw_vote"; + clocks = <&lpass_core_hw_vote_ar 0>, + <&lpass_audio_hw_vote_ar 0>; + qcom,swr-master-version = <0x01050001>; + qcom,swr_master_id = <3>; + qcom,mipi-sdw-block-packing-mode = <1>; + swrm-io-base = <0x3230000 0x0>; + interrupts-extended = + <&intc GIC_SPI 297 IRQ_TYPE_LEVEL_HIGH>, + <&pdc 109 IRQ_TYPE_LEVEL_HIGH>; + interrupt-names = "swr_master_irq", "swr_wake_irq"; + qcom,swr-wakeup-required = <1>; + qcom,swr-num-ports = <5>; + qcom,swr-port-mapping = <1 PCM_OUT1 0xF>, + <2 ADC1 0x1>, <2 ADC2 0x2>, + <3 ADC3 0x1>, <3 ADC4 0x2>, + <4 DMIC0 0x1>, <4 DMIC1 0x2>, + <4 DMIC2 0x4>, <4 DMIC3 0x8>, + <5 DMIC4 0x1>, <5 DMIC5 0x2>, + <5 DMIC6 0x4>, <5 DMIC7 0x8>; + qcom,swr-num-dev = <1>; + qcom,swr-clock-stop-mode0 = <1>; + qcom,swr-mstr-irq-wakeup-capable = <1>; + wcd938x_tx_slave_ar: wcd938x-tx-slave_ar { + compatible = "qcom,wcd938x-slave"; + reg = <0x0D 0x01170223>; + }; + }; + }; + + rx_macro_ar: rx-macro-ar@3200000 { + compatible = "qcom,rx-macro"; + reg = <0x3200000 0x0>; + clock-names = "rx_core_clk", "rx_npl_clk"; + clocks = <&clock_audio_rx_1 0>, + <&clock_audio_rx_2 0>; + qcom,rx-swr-gpios = <&rx_swr_gpios_ar>; + qcom,rx_mclk_mode_muxsel = <0x033240D8>; + qcom,rx-bcl-pmic-params = /bits/ 8 <0x00 0x04 0x3E>; + qcom,default-clk-id = <TX_CORE_CLK>; + swr_ar1: rx_swr_master_ar { + compatible = "qcom,swr-mstr"; + #address-cells = <2>; + #size-cells = <0>; + clock-names = "lpass_core_hw_vote", + "lpass_audio_hw_vote"; + clocks = <&lpass_core_hw_vote_ar 0>, + <&lpass_audio_hw_vote_ar 0>; + qcom,swr-master-version = <0x01050001>; + qcom,swr_master_id = <2>; + qcom,mipi-sdw-block-packing-mode = <1>; + swrm-io-base = <0x3210000 0x0>; + interrupts = <GIC_SPI 298 IRQ_TYPE_LEVEL_HIGH>; + interrupt-names = "swr_master_irq"; + qcom,swr-num-ports = <5>; + qcom,disable-div2-clk-switch = <1>; + qcom,swr-port-mapping = <1 HPH_L 0x1>, + <1 HPH_R 0x2>, <2 CLSH 0x1>, + <3 COMP_L 0x1>, <3 COMP_R 0x2>, + <4 LO 0x1>, <5 DSD_L 0x1>, + <5 DSD_R 0x2>; + qcom,swr-num-dev = <1>; + qcom,swr-clock-stop-mode0 = <1>; + wcd938x_rx_slave_ar: wcd938x-rx-slave-ar { + compatible = "qcom,wcd938x-slave"; + reg = <0x0D 0x01170224>; + }; + }; + }; + + wsa_macro_ar: wsa-macro-ar@3240000 { + compatible = "qcom,wsa-macro"; + reg = <0x3240000 0x0>; + clock-names = "wsa_core_clk", "wsa_npl_clk"; + clocks = <&clock_audio_wsa_1 0>, + <&clock_audio_wsa_2 0>; + qcom,wsa-swr-gpios = <&wsa_swr_gpios_ar>; + qcom,wsa-bcl-pmic-params = /bits/ 8 <0x00 0x04 0x3E>; + qcom,default-clk-id = <TX_CORE_CLK>; + swr_ar0: wsa_swr_master_ar { + compatible = "qcom,swr-mstr"; + #address-cells = <2>; + #size-cells = <0>; + clock-names = "lpass_core_hw_vote", + "lpass_audio_hw_vote"; + clocks = <&lpass_core_hw_vote_ar 0>, + <&lpass_audio_hw_vote_ar 0>; + qcom,swr-master-version = <0x01050001>; + qcom,swr_master_id = <1>; + qcom,mipi-sdw-block-packing-mode = <0>; + swrm-io-base = <0x3250000 0x0>; + interrupts = <GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH>; + interrupt-names = "swr_master_irq"; + qcom,swr-num-ports = <8>; + qcom,swr-port-mapping = <1 SPKR_L 0x1>, + <2 SPKR_L_COMP 0xF>, <3 SPKR_L_BOOST 0x3>, + <4 SPKR_R 0x1>, <5 SPKR_R_COMP 0xF>, + <6 SPKR_R_BOOST 0x3>, <7 SPKR_L_VI 0x3>, + <8 SPKR_R_VI 0x3>; + qcom,swr-num-dev = <2>; + wsa881x_0211_ar: wsa881x_ar@20170211 { + compatible = "qcom,wsa881x"; + reg = <0x10 0x20170211>; + qcom,spkr-sd-n-node = <&wsa_spkr_en1>; + qcom,bolero-handle = <&bolero_ar>; + }; + + wsa881x_0212_ar: wsa881x_ar@20170212 { + compatible = "qcom,wsa881x"; + reg = <0x10 0x20170212>; + qcom,spkr-sd-n-node = <&wsa_spkr_en2>; + qcom,bolero-handle = <&bolero_ar>; + }; + + wsa881x_0213_ar: wsa881x_ar@21170213 { + compatible = "qcom,wsa881x"; + reg = <0x10 0x21170213>; + qcom,spkr-sd-n-node = <&wsa_spkr_en1>; + qcom,bolero-handle = <&bolero_ar>; + }; + + wsa881x_0214_ar: wsa881x_ar@21170214 { + compatible = "qcom,wsa881x"; + reg = <0x10 0x21170214>; + qcom,spkr-sd-n-node = <&wsa_spkr_en2>; + qcom,bolero-handle = <&bolero_ar>; + }; + }; + + }; + + wcd938x_codec_ar: wcd938x-codec-ar { + compatible = "qcom,wcd938x-codec"; + qcom,split-codec = <1>; + qcom,rx_swr_ch_map = <0 HPH_L 0x1 0 HPH_L>, + <0 HPH_R 0x2 0 HPH_R>, <1 CLSH 0x1 0 CLSH>, + <2 COMP_L 0x1 0 COMP_L>, <2 COMP_R 0x2 0 COMP_R>, + <3 LO 0x1 0 LO>, <4 DSD_L 0x1 0 DSD_L>, + <4 DSD_R 0x2 0 DSD_R>; + qcom,tx_swr_ch_map = <0 ADC1 0x1 0 ADC1>, + <0 ADC2 0x2 0 ADC2>, <1 ADC3 0x1 0 ADC3>, + <1 ADC4 0x2 0 ADC4>, <2 DMIC0 0x1 0 DMIC0>, + <2 DMIC1 0x2 0 DMIC1>, <2 MBHC 0x4 0 DMIC2>, + <2 DMIC2 0x4 0 DMIC2>, <2 DMIC3 0x8 0 DMIC3>, + <3 DMIC4 0x1 0 DMIC4>, <3 DMIC5 0x2 0 DMIC5>, + <3 DMIC6 0x4 0 DMIC6>, <3 DMIC7 0x8 0 DMIC7>; + + qcom,wcd-rst-gpio-node = <&wcd938x_rst_gpio>; + qcom,rx-slave = <&wcd938x_rx_slave_ar>; + qcom,tx-slave = <&wcd938x_tx_slave_ar>; + + cdc-vdd-rxtx-supply = <&S4A>; + qcom,cdc-vdd-rxtx-voltage = <1800000 1800000>; + qcom,cdc-vdd-rxtx-current = <30000>; + + cdc-vddio-supply = <&S4A>; + qcom,cdc-vddio-voltage = <1800000 1800000>; + qcom,cdc-vddio-current = <30000>; + + cdc-vdd-buck-supply = <&S4A>; + qcom,cdc-vdd-buck-voltage = <1800000 1800000>; + qcom,cdc-vdd-buck-current = <650000>; + + cdc-vdd-mic-bias-supply = <&BOB>; + qcom,cdc-vdd-mic-bias-voltage = <3296000 3296000>; + qcom,cdc-vdd-mic-bias-current = <30000>; + + qcom,cdc-micbias1-mv = <1800>; + qcom,cdc-micbias2-mv = <1800>; + qcom,cdc-micbias3-mv = <1800>; + qcom,cdc-micbias4-mv = <1800>; + + qcom,cdc-static-supplies = "cdc-vdd-rxtx", + "cdc-vddio", + "cdc-vdd-buck", + "cdc-vdd-mic-bias"; + }; + +}; + +&kona_snd_ar { + qcom,model = "kona-mtp-snd-card"; + qcom,msm-mi2s-master = <1>, <1>, <1>, <1>, <1>, <1>; + qcom,mi2s-tdm-is-hw-vote-needed = <1>, <0>, <1>, <0>, <0>, <0>; + qcom,wcn-bt = <0>; + qcom,ext-disp-audio-rx = <1>; + qcom,tdm-max-slots = <8>; + qcom,tdm-clk-attribute = <0x1>, <0x1>, <0x1>, <0x1>, <0x1>, <0x1>; + qcom,mi2s-clk-attribute = <0x1>, <0x1>, <0x1>, <0x1>, <0x1>, <0x1>; + qcom,audio-routing = + "AMIC1", "MIC BIAS1", + "MIC BIAS1", "Analog Mic1", + "AMIC2", "MIC BIAS2", + "MIC BIAS2", "Analog Mic2", + "AMIC3", "MIC BIAS3", + "MIC BIAS3", "Analog Mic3", + "AMIC4", "MIC BIAS3", + "MIC BIAS3", "Analog Mic4", + "AMIC5", "MIC BIAS4", + "MIC BIAS4", "Analog Mic5", + "TX DMIC0", "MIC BIAS3", + "MIC BIAS3", "Digital Mic0", + "TX DMIC1", "MIC BIAS3", + "MIC BIAS3", "Digital Mic1", + "TX DMIC2", "MIC BIAS1", + "MIC BIAS1", "Digital Mic2", + "TX DMIC3", "MIC BIAS1", + "MIC BIAS1", "Digital Mic3", + "TX DMIC4", "MIC BIAS4", + "MIC BIAS4", "Digital Mic4", + "TX DMIC5", "MIC BIAS4", + "MIC BIAS4", "Digital Mic5", + "IN1_HPHL", "HPHL_OUT", + "IN2_HPHR", "HPHR_OUT", + "IN3_AUX", "AUX_OUT", + "TX SWR_ADC0", "ADC1_OUTPUT", + "TX SWR_ADC1", "ADC2_OUTPUT", + "TX SWR_ADC2", "ADC3_OUTPUT", + "TX SWR_ADC3", "ADC4_OUTPUT", + "TX SWR_DMIC0", "DMIC1_OUTPUT", + "TX SWR_DMIC1", "DMIC2_OUTPUT", + "TX SWR_DMIC2", "DMIC3_OUTPUT", + "TX SWR_DMIC3", "DMIC4_OUTPUT", + "TX SWR_DMIC4", "DMIC5_OUTPUT", + "TX SWR_DMIC5", "DMIC6_OUTPUT", + "TX SWR_DMIC6", "DMIC7_OUTPUT", + "TX SWR_DMIC7", "DMIC8_OUTPUT", + "WSA SRC0_INP", "SRC0", + "WSA_TX DEC0_INP", "TX DEC0 MUX", + "WSA_TX DEC1_INP", "TX DEC1 MUX", + "RX_TX DEC0_INP", "TX DEC0 MUX", + "RX_TX DEC1_INP", "TX DEC1 MUX", + "RX_TX DEC2_INP", "TX DEC2 MUX", + "RX_TX DEC3_INP", "TX DEC3 MUX", + "SpkrLeft IN", "WSA_SPK1 OUT", + "SpkrRight IN", "WSA_SPK2 OUT", + "VA_AIF1 CAP", "VA_SWR_CLK", + "VA_AIF2 CAP", "VA_SWR_CLK", + "VA_AIF3 CAP", "VA_SWR_CLK", + "VA MIC BIAS3", "Digital Mic0", + "VA MIC BIAS3", "Digital Mic1", + "VA MIC BIAS1", "Digital Mic2", + "VA MIC BIAS1", "Digital Mic3", + "VA MIC BIAS4", "Digital Mic4", + "VA MIC BIAS4", "Digital Mic5", + "VA DMIC0", "VA MIC BIAS3", + "VA DMIC1", "VA MIC BIAS3", + "VA DMIC2", "VA MIC BIAS1", + "VA DMIC3", "VA MIC BIAS1", + "VA DMIC4", "VA MIC BIAS4", + "VA DMIC5", "VA MIC BIAS4", + "VA SWR_ADC0", "VA_SWR_CLK", + "VA SWR_ADC1", "VA_SWR_CLK", + "VA SWR_ADC2", "VA_SWR_CLK", + "VA SWR_ADC3", "VA_SWR_CLK", + "VA SWR_MIC0", "VA_SWR_CLK", + "VA SWR_MIC1", "VA_SWR_CLK", + "VA SWR_MIC2", "VA_SWR_CLK", + "VA SWR_MIC3", "VA_SWR_CLK", + "VA SWR_MIC4", "VA_SWR_CLK", + "VA SWR_MIC5", "VA_SWR_CLK", + "VA SWR_MIC6", "VA_SWR_CLK", + "VA SWR_MIC7", "VA_SWR_CLK", + "VA SWR_ADC0", "ADC1_OUTPUT", + "VA SWR_ADC1", "ADC2_OUTPUT", + "VA SWR_ADC2", "ADC3_OUTPUT", + "VA SWR_ADC3", "ADC4_OUTPUT", + "VA SWR_MIC0", "DMIC1_OUTPUT", + "VA SWR_MIC1", "DMIC2_OUTPUT", + "VA SWR_MIC2", "DMIC3_OUTPUT", + "VA SWR_MIC3", "DMIC4_OUTPUT", + "VA SWR_MIC4", "DMIC5_OUTPUT", + "VA SWR_MIC5", "DMIC6_OUTPUT", + "VA SWR_MIC6", "DMIC7_OUTPUT", + "VA SWR_MIC7", "DMIC8_OUTPUT"; + qcom,msm-mbhc-hphl-swh = <1>; + qcom,msm-mbhc-gnd-swh = <1>; + qcom,cdc-dmic01-gpios = <&cdc_dmic01_gpios_ar>; + qcom,cdc-dmic23-gpios = <&cdc_dmic23_gpios_ar>; + qcom,cdc-dmic45-gpios = <&cdc_dmic45_gpios_ar>; + asoc-codec = <&stub_codec>, <&bolero_ar>, <&ext_disp_audio_codec>; + asoc-codec-names = "msm-stub-codec.1", "bolero_codec", + "msm-ext-disp-audio-codec-rx"; + qcom,wsa-max-devs = <2>; + qcom,wsa-devs = <&wsa881x_0211_ar>, <&wsa881x_0212_ar>, + <&wsa881x_0213_ar>, <&wsa881x_0214_ar>; + qcom,wsa-aux-dev-prefix = "SpkrLeft", "SpkrRight", + "SpkrLeft", "SpkrRight"; + qcom,codec-max-aux-devs = <1>; + qcom,codec-aux-devs = <&wcd938x_codec_ar>; + qcom,msm_audio_ssr_devs = <&audio_gpr>, <&lpi_tlmm_ar>, + <&bolero_ar>; +}; + +&spf_core_platform { + cdc_dmic01_gpios_ar: cdc_dmic01_pinctrl_ar { + compatible = "qcom,msm-cdc-pinctrl"; + pinctrl-names = "aud_active", "aud_sleep"; + pinctrl-0 = <&cdc_dmic01_clk_active_ar &cdc_dmic01_data_active_ar>; + pinctrl-1 = <&cdc_dmic01_clk_sleep_ar &cdc_dmic01_data_sleep_ar>; + qcom,lpi-gpios; + }; + + cdc_dmic23_gpios_ar: cdc_dmic23_pinctrl_ar { + compatible = "qcom,msm-cdc-pinctrl"; + pinctrl-names = "aud_active", "aud_sleep"; + pinctrl-0 = <&cdc_dmic23_clk_active_ar &cdc_dmic23_data_active_ar>; + pinctrl-1 = <&cdc_dmic23_clk_sleep_ar &cdc_dmic23_data_sleep_ar>; + qcom,lpi-gpios; + }; + + cdc_dmic45_gpios_ar: cdc_dmic45_pinctrl_ar { + compatible = "qcom,msm-cdc-pinctrl"; + pinctrl-names = "aud_active", "aud_sleep"; + pinctrl-0 = <&cdc_dmic45_clk_active_ar &cdc_dmic45_data_active_ar>; + pinctrl-1 = <&cdc_dmic45_clk_sleep_ar &cdc_dmic45_data_sleep_ar>; + qcom,lpi-gpios; + qcom,tlmm-gpio = <158>; + }; + + wsa_swr_gpios_ar: wsa_swr_clk_data_pinctrl_ar { + compatible = "qcom,msm-cdc-pinctrl"; + pinctrl-names = "aud_active", "aud_sleep"; + pinctrl-0 = <&wsa_swr_clk_active_ar &wsa_swr_data_active_ar>; + pinctrl-1 = <&wsa_swr_clk_sleep_ar &wsa_swr_data_sleep_ar>; + qcom,lpi-gpios; + }; + + rx_swr_gpios_ar: rx_swr_clk_data_pinctrl_ar { + compatible = "qcom,msm-cdc-pinctrl"; + pinctrl-names = "aud_active", "aud_sleep"; + pinctrl-0 = <&rx_swr_clk_active_ar &rx_swr_data_active_ar + &rx_swr_data1_active_ar>; + pinctrl-1 = <&rx_swr_clk_sleep_ar &rx_swr_data_sleep_ar + &rx_swr_data1_sleep_ar>; + qcom,lpi-gpios; + }; + + tx_swr_gpios_ar: tx_swr_clk_data_pinctrl_ar { + compatible = "qcom,msm-cdc-pinctrl"; + pinctrl-names = "aud_active", "aud_sleep"; + pinctrl-0 = <&tx_swr_clk_active_ar &tx_swr_data1_active_ar + &tx_swr_data2_active_ar>; + pinctrl-1 = <&tx_swr_clk_sleep_ar &tx_swr_data1_sleep_ar + &tx_swr_data2_sleep_ar>; + qcom,lpi-gpios; + qcom,tlmm-gpio = <147>; + }; +}; diff --git a/qcom/kona-cdp-lcd-tron-overlay.dts b/qcom/kona-cdp-lcd-tron-overlay.dts new file mode 100644 index 00000000..efee808e --- /dev/null +++ b/qcom/kona-cdp-lcd-tron-overlay.dts @@ -0,0 +1,14 @@ +/dts-v1/; +/plugin/; + +#include "kona-cdp-lcd.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. kona CDP (LCD) tron"; + compatible = "qcom,kona-cdp", "qcom,kona", "qcom,cdp"; + qcom,board-id = <0x01020001 0>; +}; + +&mdm0 { + status = "disabled"; +}; diff --git a/qcom/kona-cdp-lcd-tron.dts b/qcom/kona-cdp-lcd-tron.dts new file mode 100644 index 00000000..b367423c --- /dev/null +++ b/qcom/kona-cdp-lcd-tron.dts @@ -0,0 +1,14 @@ +/dts-v1/; + +#include "kona.dtsi" +#include "kona-cdp-lcd.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. kona CDP (LCD) tron"; + compatible = "qcom,kona-cdp", "qcom,kona", "qcom,cdp"; + qcom,board-id = <0x01020001 0>; +}; + +&mdm0 { + status = "disabled"; +}; diff --git a/qcom/kona-cdp-lcd.dtsi b/qcom/kona-cdp-lcd.dtsi index a73e6a22..c5013f27 100644 --- a/qcom/kona-cdp-lcd.dtsi +++ b/qcom/kona-cdp-lcd.dtsi @@ -40,6 +40,19 @@ /delete-property/ qcom,platform-en-gpio; }; +&dsi_nt36672e_fhd_plus_60_video { + qcom,panel-supply-entries = <&dsi_panel_pwr_supply_lab_ibb>; + qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled"; + + qcom,esd-check-enabled; + qcom,mdss-dsi-panel-status-check-mode = "reg_read"; + qcom,mdss-dsi-panel-status-command = [06 01 00 01 00 00 01 0a]; + qcom,mdss-dsi-panel-status-command-state = "dsi_lp_mode"; + qcom,mdss-dsi-panel-status-value = <0x9c>; + qcom,mdss-dsi-panel-status-read-length = <1>; + /delete-property/ qcom,platform-en-gpio; +}; + &dsi_sharp_qsync_wqhd_cmd { qcom,esd-check-enabled; qcom,mdss-dsi-panel-status-check-mode = "reg_read"; diff --git a/qcom/kona-cdp.dtsi b/qcom/kona-cdp.dtsi index 19e30f64..cb06ea89 100644 --- a/qcom/kona-cdp.dtsi +++ b/qcom/kona-cdp.dtsi @@ -202,6 +202,26 @@ panel = <&dsi_r66451_amoled_144hz_cmd>; }; + + novatek@62 { + compatible = "novatek,NVT-ts"; + reg = <0x62>; + + interrupt-parent = <&tlmm>; + interrupts = <39 0x2008>; + + pinctrl-names = "pmx_ts_active", "pmx_ts_suspend", + "pmx_ts_release"; + pinctrl-0 = <&ts_active>; + pinctrl-1 = <&ts_int_suspend &ts_reset_suspend>; + pinctrl-2 = <&pmx_ts_release>; + + novatek,reset-gpio = <&tlmm 38 0x00>; + novatek,irq-gpio = <&tlmm 39 0x2008>; + + panel = <&dsi_nt36672e_fhd_plus_60_video>; + + }; }; &vendor { @@ -309,6 +329,15 @@ qcom,platform-en-gpio = <&tlmm 60 0>; }; +&dsi_nt36672e_fhd_plus_60_video { + qcom,panel-supply-entries = <&dsi_panel_pwr_supply_avdd>; + qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_external"; + qcom,mdss-dsi-bl-min-level = <1>; + qcom,mdss-dsi-bl-max-level = <4095>; + qcom,platform-reset-gpio = <&tlmm 75 0>; + qcom,platform-en-gpio = <&tlmm 60 0>; +}; + &dsi_sharp_1080_cmd { qcom,panel-supply-entries = <&dsi_panel_pwr_supply_avdd>; qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_external"; diff --git a/qcom/kona-lpi-ar.dtsi b/qcom/kona-lpi-ar.dtsi new file mode 100644 index 00000000..adb00ed4 --- /dev/null +++ b/qcom/kona-lpi-ar.dtsi @@ -0,0 +1,1679 @@ +&spf_core_platform { + lpi_tlmm_ar: lpi_pinctrl_ar { + compatible = "qcom,lpi-pinctrl"; + reg = <0x33c0000 0x0>; + qcom,slew-reg = <0x355a000 0x0>; + qcom,num-gpios = <14>; + gpio-controller; + #gpio-cells = <2>; + qcom,lpi-offset-tbl = <0x00000000>, <0x00001000>, + <0x00002000>, <0x00003000>, + <0x00004000>, <0x00005000>, + <0x00006000>, <0x00007000>, + <0x00008000>, <0x00009000>, + <0x0000A000>, <0x0000B000>, + <0x0000C000>, <0x0000D000>; + qcom,lpi-slew-offset-tbl = <0x00000000>, <0x00000002>, + <0x00000004>, <0x00000008>, + <0x0000000A>, <0x0000000C>, + <0x00000000>, <0x00000000>, + <0x00000000>, <0x00000000>, + <0x00000010>, <0x00000012>, + <0x00000000>, <0x00000000>; + + clock-names = "lpass_core_hw_vote", + "lpass_audio_hw_vote"; + clocks = <&lpass_core_hw_vote_ar 0>, + <&lpass_audio_hw_vote_ar 0>; + + quat_mi2s_sck_ar { + quat_mi2s_sck_sleep_ar: quat_mi2s_sck_sleep_ar { + mux { + pins = "gpio0"; + function = "func2"; + }; + + config { + pins = "gpio0"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; /* PULL DOWN */ + input-enable; + }; + }; + + quat_mi2s_sck_active_ar: quat_mi2s_sck_active_ar { + mux { + pins = "gpio0"; + function = "func2"; + }; + + config { + pins = "gpio0"; + drive-strength = <8>; /* 8 mA */ + bias-disable; /* NO PULL */ + output-high; + }; + }; + }; + + quat_mi2s_ws_ar { + quat_mi2s_ws_sleep_ar: quat_mi2s_ws_sleep_ar { + mux { + pins = "gpio1"; + function = "func2"; + }; + + config { + pins = "gpio1"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; /* PULL DOWN */ + input-enable; + }; + }; + + quat_mi2s_ws_active_ar: quat_mi2s_ws_active_ar { + mux { + pins = "gpio1"; + function = "func2"; + }; + + config { + pins = "gpio1"; + drive-strength = <8>; /* 8 mA */ + bias-disable; /* NO PULL */ + output-high; + }; + }; + }; + + quat_mi2s_sd0_ar { + quat_mi2s_sd0_sleep_ar: quat_mi2s_sd0_sleep_ar { + mux { + pins = "gpio2"; + function = "func2"; + }; + + config { + pins = "gpio2"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; /* PULL DOWN */ + input-enable; + }; + }; + + quat_mi2s_sd0_active_ar: quat_mi2s_sd0_active_ar { + mux { + pins = "gpio2"; + function = "func2"; + }; + + config { + pins = "gpio2"; + drive-strength = <8>; /* 8 mA */ + bias-disable; /* NO PULL */ + output-high; + }; + }; + }; + + quat_mi2s_sd1_ar { + quat_mi2s_sd1_sleep_ar: quat_mi2s_sd1_sleep_ar { + mux { + pins = "gpio3"; + function = "func2"; + }; + + config { + pins = "gpio3"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; /* PULL DOWN */ + input-enable; + }; + }; + + quat_mi2s_sd1_active_ar: quat_mi2s_sd1_active_ar { + mux { + pins = "gpio3"; + function = "func2"; + }; + + config { + pins = "gpio3"; + drive-strength = <8>; /* 8 mA */ + bias-disable; /* NO PULL */ + output-high; + }; + }; + }; + + quat_mi2s_sd2_ar { + quat_mi2s_sd2_sleep_ar: quat_mi2s_sd2_sleep_ar { + mux { + pins = "gpio4"; + function = "func2"; + }; + + config { + pins = "gpio4"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; /* PULL DOWN */ + input-enable; + }; + }; + + quat_mi2s_sd2_active_ar: quat_mi2s_sd2_active_ar { + mux { + pins = "gpio4"; + function = "func2"; + }; + + config { + pins = "gpio4"; + drive-strength = <8>; /* 8 mA */ + bias-disable; /* NO PULL */ + output-high; + }; + }; + }; + + quat_mi2s_sd3_ar { + quat_mi2s_sd3_sleep_ar: quat_mi2s_sd3_sleep_ar { + mux { + pins = "gpio5"; + function = "func4"; + }; + + config { + pins = "gpio5"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; /* PULL DOWN */ + input-enable; + }; + }; + + quat_mi2s_sd3_active_ar: quat_mi2s_sd3_active_ar { + mux { + pins = "gpio5"; + function = "func4"; + }; + + config { + pins = "gpio5"; + drive-strength = <8>; /* 8 mA */ + bias-disable; /* NO PULL */ + output-high; + }; + }; + }; + + lpi_i2s1_sck_ar { + lpi_i2s1_sck_sleep_ar: lpi_i2s1_sck_sleep_ar { + mux { + pins = "gpio6"; + function = "func2"; + }; + + config { + pins = "gpio6"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; /* PULL DOWN */ + input-enable; + }; + }; + + lpi_i2s1_sck_active_ar: lpi_i2s1_sck_active_ar { + mux { + pins = "gpio6"; + function = "func2"; + }; + + config { + pins = "gpio6"; + drive-strength = <8>; /* 8 mA */ + bias-disable; /* NO PULL */ + output-high; + }; + }; + }; + + lpi_i2s1_ws_ar { + lpi_i2s1_ws_sleep_ar: lpi_i2s1_ws_sleep_ar { + mux { + pins = "gpio7"; + function = "func2"; + }; + + config { + pins = "gpio7"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; /* PULL DOWN */ + input-enable; + }; + }; + + lpi_i2s1_ws_active_ar: lpi_i2s1_ws_active_ar { + mux { + pins = "gpio7"; + function = "func2"; + }; + + config { + pins = "gpio7"; + drive-strength = <8>; /* 8 mA */ + bias-disable; /* NO PULL */ + output-high; + }; + }; + }; + + lpi_i2s1_sd0_ar { + lpi_i2s1_sd0_sleep_ar: lpi_i2s1_sd0_sleep_ar { + mux { + pins = "gpio8"; + function = "func2"; + }; + + config { + pins = "gpio8"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; /* PULL DOWN */ + input-enable; + }; + }; + + lpi_i2s1_sd0_active_ar: lpi_i2s1_sd0_active_ar { + mux { + pins = "gpio8"; + function = "func2"; + }; + + config { + pins = "gpio8"; + drive-strength = <8>; /* 8 mA */ + bias-disable; /* NO PULL */ + output-high; + }; + }; + }; + + lpi_i2s1_sd1_ar { + lpi_i2s1_sd1_sleep_ar: lpi_i2s1_sd1_sleep_ar { + mux { + pins = "gpio9"; + function = "func2"; + }; + + config { + pins = "gpio9"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; /* PULL DOWN */ + input-enable; + }; + }; + + lpi_i2s1_sd1_active_ar: lpi_i2s1_sd1_active_ar { + mux { + pins = "gpio9"; + function = "func2"; + }; + + config { + pins = "gpio9"; + drive-strength = <8>; /* 8 mA */ + bias-disable; /* NO PULL */ + output-high; + }; + }; + }; + + lpi_i2s2_sck_ar { + lpi_i2s2_sck_sleep_ar: lpi_i2s2_sck_sleep_ar { + mux { + pins = "gpio10"; + function = "func1"; + }; + + config { + pins = "gpio10"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; /* PULL DOWN */ + input-enable; + }; + }; + + lpi_i2s2_sck_active_ar: lpi_i2s2_sck_active_ar { + mux { + pins = "gpio10"; + function = "func1"; + }; + + config { + pins = "gpio10"; + drive-strength = <8>; /* 8 mA */ + bias-disable; /* NO PULL */ + output-high; + }; + }; + }; + + lpi_i2s2_ws_ar { + lpi_i2s2_ws_sleep_ar: lpi_i2s2_ws_sleep_ar { + mux { + pins = "gpio11"; + function = "func1"; + }; + + config { + pins = "gpio11"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; /* PULL DOWN */ + input-enable; + }; + }; + + lpi_i2s2_ws_active_ar: lpi_i2s2_ws_active_ar { + mux { + pins = "gpio11"; + function = "func1"; + }; + + config { + pins = "gpio11"; + drive-strength = <8>; /* 8 mA */ + bias-disable; /* NO PULL */ + output-high; + }; + }; + }; + + lpi_i2s2_sd0_ar { + lpi_i2s2_sd0_sleep_ar: lpi_i2s2_sd0_sleep_ar { + mux { + pins = "gpio12"; + function = "func2"; + }; + + config { + pins = "gpio12"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; /* PULL DOWN */ + input-enable; + }; + }; + + lpi_i2s2_sd0_active_ar: lpi_i2s2_sd0_active_ar { + mux { + pins = "gpio12"; + function = "func2"; + }; + + config { + pins = "gpio12"; + drive-strength = <8>; /* 8 mA */ + bias-disable; /* NO PULL */ + output-high; + }; + }; + }; + + lpi_i2s2_sd1_ar { + lpi_i2s2_sd1_sleep_ar: lpi_i2s2_sd1_sleep_ar { + mux { + pins = "gpio13"; + function = "func2"; + }; + + config { + pins = "gpio13"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; /* PULL DOWN */ + input-enable; + }; + }; + + lpi_i2s2_sd1_active_ar: lpi_i2s2_sd1_active_ar { + mux { + pins = "gpio13"; + function = "func2"; + }; + + config { + pins = "gpio13"; + drive-strength = <8>; /* 8 mA */ + bias-disable; /* NO PULL */ + output-high; + }; + }; + }; + + quat_tdm_sck_ar { + quat_tdm_sck_sleep_ar: quat_tdm_sck_sleep_ar { + mux { + pins = "gpio0"; + function = "func2"; + }; + + config { + pins = "gpio0"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; /* PULL DOWN */ + input-enable; + }; + }; + + quat_tdm_sck_active_ar: quat_tdm_sck_active_ar { + mux { + pins = "gpio0"; + function = "func2"; + }; + + config { + pins = "gpio0"; + drive-strength = <8>; /* 8 mA */ + bias-disable; /* NO PULL */ + output-high; + }; + }; + }; + + quat_tdm_ws_ar { + quat_tdm_ws_sleep_ar: quat_tdm_ws_sleep_ar { + mux { + pins = "gpio1"; + function = "func2"; + }; + + config { + pins = "gpio1"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; /* PULL DOWN */ + input-enable; + }; + }; + + quat_tdm_ws_active_ar: quat_tdm_ws_active_ar { + mux { + pins = "gpio1"; + function = "func2"; + }; + + config { + pins = "gpio1"; + drive-strength = <8>; /* 8 mA */ + bias-disable; /* NO PULL */ + output-high; + }; + }; + }; + + quat_tdm_sd0_ar { + quat_tdm_sd0_sleep_ar: quat_tdm_sd0_sleep_ar { + mux { + pins = "gpio2"; + function = "func2"; + }; + + config { + pins = "gpio2"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; /* PULL DOWN */ + input-enable; + }; + }; + + quat_tdm_sd0_active_ar: quat_tdm_sd0_active_ar { + mux { + pins = "gpio2"; + function = "func2"; + }; + + config { + pins = "gpio2"; + drive-strength = <8>; /* 8 mA */ + bias-disable; /* NO PULL */ + output-high; + }; + }; + }; + + quat_tdm_sd1_ar { + quat_tdm_sd1_sleep_ar: quat_tdm_sd1_sleep_ar { + mux { + pins = "gpio3"; + function = "func2"; + }; + + config { + pins = "gpio3"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; /* PULL DOWN */ + input-enable; + }; + }; + + quat_tdm_sd1_active_ar: quat_tdm_sd1_active_ar { + mux { + pins = "gpio3"; + function = "func2"; + }; + + config { + pins = "gpio3"; + drive-strength = <8>; /* 8 mA */ + bias-disable; /* NO PULL */ + output-high; + }; + }; + }; + + quat_tdm_sd2_ar { + quat_tdm_sd2_sleep_ar: quat_tdm_sd2_sleep_ar { + mux { + pins = "gpio4"; + function = "func2"; + }; + + config { + pins = "gpio4"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; /* PULL DOWN */ + input-enable; + }; + }; + + quat_tdm_sd2_active_ar: quat_tdm_sd2_active_ar { + mux { + pins = "gpio4"; + function = "func2"; + }; + + config { + pins = "gpio4"; + drive-strength = <8>; /* 8 mA */ + bias-disable; /* NO PULL */ + output-high; + }; + }; + }; + + quat_tdm_sd3_ar { + quat_tdm_sd3_sleep_ar: quat_tdm_sd3_sleep_ar { + mux { + pins = "gpio5"; + function = "func4"; + }; + + config { + pins = "gpio5"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; /* PULL DOWN */ + input-enable; + }; + }; + + quat_tdm_sd3_active_ar: quat_tdm_sd3_active_ar { + mux { + pins = "gpio5"; + function = "func4"; + }; + + config { + pins = "gpio5"; + drive-strength = <8>; /* 8 mA */ + bias-disable; /* NO PULL */ + output-high; + }; + }; + }; + + lpi_tdm1_sck_ar { + lpi_tdm1_sck_sleep_ar: lpi_tdm1_sck_sleep_ar { + mux { + pins = "gpio6"; + function = "func2"; + }; + + config { + pins = "gpio6"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; /* PULL DOWN */ + input-enable; + }; + }; + + lpi_tdm1_sck_active_ar: lpi_tdm1_sck_active_ar { + mux { + pins = "gpio6"; + function = "func2"; + }; + + config { + pins = "gpio6"; + drive-strength = <8>; /* 8 mA */ + bias-disable; /* NO PULL */ + output-high; + }; + }; + }; + + lpi_tdm1_ws_ar { + lpi_tdm1_ws_sleep_ar: lpi_tdm1_ws_sleep_ar { + mux { + pins = "gpio7"; + function = "func2"; + }; + + config { + pins = "gpio7"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; /* PULL DOWN */ + input-enable; + }; + }; + + lpi_tdm1_ws_active_ar: lpi_tdm1_ws_active_ar { + mux { + pins = "gpio7"; + function = "func2"; + }; + + config { + pins = "gpio7"; + drive-strength = <8>; /* 8 mA */ + bias-disable; /* NO PULL */ + output-high; + }; + }; + }; + + lpi_tdm1_sd0_ar { + lpi_tdm1_sd0_sleep_ar: lpi_tdm1_sd0_sleep_ar { + mux { + pins = "gpio8"; + function = "func2"; + }; + + config { + pins = "gpio8"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; /* PULL DOWN */ + input-enable; + }; + }; + + lpi_tdm1_sd0_active_ar: lpi_tdm1_sd0_active_ar { + mux { + pins = "gpio8"; + function = "func2"; + }; + + config { + pins = "gpio8"; + drive-strength = <8>; /* 8 mA */ + bias-disable; /* NO PULL */ + output-high; + }; + }; + }; + + lpi_tdm1_sd1_ar { + lpi_tdm1_sd1_sleep_ar: lpi_tdm1_sd1_sleep_ar { + mux { + pins = "gpio9"; + function = "func2"; + }; + + config { + pins = "gpio9"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; /* PULL DOWN */ + input-enable; + }; + }; + + lpi_tdm1_sd1_active_ar: lpi_tdm1_sd1_active_ar { + mux { + pins = "gpio9"; + function = "func2"; + }; + + config { + pins = "gpio9"; + drive-strength = <8>; /* 8 mA */ + bias-disable; /* NO PULL */ + output-high; + }; + }; + }; + + lpi_tdm2_sck_ar { + lpi_tdm2_sck_sleep_ar: lpi_tdm2_sck_sleep_ar { + mux { + pins = "gpio10"; + function = "func1"; + }; + + config { + pins = "gpio10"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; /* PULL DOWN */ + input-enable; + }; + }; + + lpi_tdm2_sck_active_ar: lpi_tdm2_sck_active_ar { + mux { + pins = "gpio10"; + function = "func1"; + }; + + config { + pins = "gpio10"; + drive-strength = <8>; /* 8 mA */ + bias-disable; /* NO PULL */ + output-high; + }; + }; + }; + + lpi_tdm2_ws_ar { + lpi_tdm2_ws_sleep_ar: lpi_tdm2_ws_sleep_ar { + mux { + pins = "gpio11"; + function = "func1"; + }; + + config { + pins = "gpio11"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; /* PULL DOWN */ + input-enable; + }; + }; + + lpi_tdm2_ws_active_ar: lpi_tdm2_ws_active_ar { + mux { + pins = "gpio11"; + function = "func1"; + }; + + config { + pins = "gpio11"; + drive-strength = <8>; /* 8 mA */ + bias-disable; /* NO PULL */ + output-high; + }; + }; + }; + + lpi_tdm2_sd0_ar { + lpi_tdm2_sd0_sleep_ar: lpi_tdm2_sd0_sleep_ar { + mux { + pins = "gpio12"; + function = "func2"; + }; + + config { + pins = "gpio12"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; /* PULL DOWN */ + input-enable; + }; + }; + + lpi_tdm2_sd0_active_ar: lpi_tdm2_sd0_active_ar { + mux { + pins = "gpio12"; + function = "func2"; + }; + + config { + pins = "gpio12"; + drive-strength = <8>; /* 8 mA */ + bias-disable; /* NO PULL */ + output-high; + }; + }; + }; + + lpi_tdm2_sd1_ar { + lpi_tdm2_sd1_sleep_ar: lpi_tdm2_sd1_sleep_ar { + mux { + pins = "gpio13"; + function = "func2"; + }; + + config { + pins = "gpio13"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; /* PULL DOWN */ + input-enable; + }; + }; + + lpi_tdm2_sd1_active_ar: lpi_tdm2_sd1_active_ar { + mux { + pins = "gpio13"; + function = "func2"; + }; + + config { + pins = "gpio13"; + drive-strength = <8>; /* 8 mA */ + bias-disable; /* NO PULL */ + output-high; + }; + }; + }; + + quat_aux_sck_ar { + quat_aux_sck_sleep_ar: quat_aux_sck_sleep_ar { + mux { + pins = "gpio0"; + function = "func2"; + }; + + config { + pins = "gpio0"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; /* PULL DOWN */ + input-enable; + }; + }; + + quat_aux_sck_active_ar: quat_aux_sck_active_ar { + mux { + pins = "gpio0"; + function = "func2"; + }; + + config { + pins = "gpio0"; + drive-strength = <8>; /* 8 mA */ + bias-disable; /* NO PULL */ + output-high; + }; + }; + }; + + quat_aux_ws_ar { + quat_aux_ws_sleep_ar: quat_aux_ws_sleep_ar { + mux { + pins = "gpio1"; + function = "func2"; + }; + + config { + pins = "gpio1"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; /* PULL DOWN */ + input-enable; + }; + }; + + quat_aux_ws_active_ar: quat_aux_ws_active_ar { + mux { + pins = "gpio1"; + function = "func2"; + }; + + config { + pins = "gpio1"; + drive-strength = <8>; /* 8 mA */ + bias-disable; /* NO PULL */ + output-high; + }; + }; + }; + + quat_aux_sd0_ar { + quat_aux_sd0_sleep_ar: quat_aux_sd0_sleep_ar { + mux { + pins = "gpio2"; + function = "func2"; + }; + + config { + pins = "gpio2"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; /* PULL DOWN */ + input-enable; + }; + }; + + quat_aux_sd0_active_ar: quat_aux_sd0_active_ar { + mux { + pins = "gpio2"; + function = "func2"; + }; + + config { + pins = "gpio2"; + drive-strength = <8>; /* 8 mA */ + bias-disable; /* NO PULL */ + output-high; + }; + }; + }; + + quat_aux_sd1_ar { + quat_aux_sd1_sleep_ar: quat_aux_sd1_sleep_ar { + mux { + pins = "gpio3"; + function = "func2"; + }; + + config { + pins = "gpio3"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; /* PULL DOWN */ + input-enable; + }; + }; + + quat_aux_sd1_active_ar: quat_aux_sd1_active_ar { + mux { + pins = "gpio3"; + function = "func2"; + }; + + config { + pins = "gpio3"; + drive-strength = <8>; /* 8 mA */ + bias-disable; /* NO PULL */ + output-high; + }; + }; + }; + + quat_aux_sd2_ar { + quat_aux_sd2_sleep_ar: quat_aux_sd2_sleep_ar { + mux { + pins = "gpio4"; + function = "func2"; + }; + + config { + pins = "gpio4"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; /* PULL DOWN */ + input-enable; + }; + }; + + quat_aux_sd2_active_ar: quat_aux_sd2_active_ar { + mux { + pins = "gpio4"; + function = "func2"; + }; + + config { + pins = "gpio4"; + drive-strength = <8>; /* 8 mA */ + bias-disable; /* NO PULL */ + output-high; + }; + }; + }; + + quat_aux_sd3_ar { + quat_aux_sd3_sleep_ar: quat_aux_sd3_sleep_ar { + mux { + pins = "gpio5"; + function = "func4"; + }; + + config { + pins = "gpio5"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; /* PULL DOWN */ + input-enable; + }; + }; + + quat_aux_sd3_active_ar: quat_aux_sd3_active_ar { + mux { + pins = "gpio5"; + function = "func4"; + }; + + config { + pins = "gpio5"; + drive-strength = <8>; /* 8 mA */ + bias-disable; /* NO PULL */ + output-high; + }; + }; + }; + + lpi_aux1_sck_ar { + lpi_aux1_sck_sleep_ar: lpi_aux1_sck_sleep_ar { + mux { + pins = "gpio6"; + function = "func2"; + }; + + config { + pins = "gpio6"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; /* PULL DOWN */ + input-enable; + }; + }; + + lpi_aux1_sck_active_ar: lpi_aux1_sck_active_ar { + mux { + pins = "gpio6"; + function = "func2"; + }; + + config { + pins = "gpio6"; + drive-strength = <8>; /* 8 mA */ + bias-disable; /* NO PULL */ + output-high; + }; + }; + }; + + lpi_aux1_ws_ar { + lpi_aux1_ws_sleep_ar: lpi_aux1_ws_sleep_ar { + mux { + pins = "gpio7"; + function = "func2"; + }; + + config { + pins = "gpio7"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; /* PULL DOWN */ + input-enable; + }; + }; + + lpi_aux1_ws_active_ar: lpi_aux1_ws_active_ar { + mux { + pins = "gpio7"; + function = "func2"; + }; + + config { + pins = "gpio7"; + drive-strength = <8>; /* 8 mA */ + bias-disable; /* NO PULL */ + output-high; + }; + }; + }; + + lpi_aux1_sd0_ar { + lpi_aux1_sd0_sleep_ar: lpi_aux1_sd0_sleep_ar { + mux { + pins = "gpio8"; + function = "func2"; + }; + + config { + pins = "gpio8"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; /* PULL DOWN */ + input-enable; + }; + }; + + lpi_aux1_sd0_active_ar: lpi_aux1_sd0_active_ar { + mux { + pins = "gpio8"; + function = "func2"; + }; + + config { + pins = "gpio8"; + drive-strength = <8>; /* 8 mA */ + bias-disable; /* NO PULL */ + output-high; + }; + }; + }; + + lpi_aux1_sd1_ar { + lpi_aux1_sd1_sleep_ar: lpi_aux1_sd1_sleep_ar { + mux { + pins = "gpio9"; + function = "func2"; + }; + + config { + pins = "gpio9"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; /* PULL DOWN */ + input-enable; + }; + }; + + lpi_aux1_sd1_active_ar: lpi_aux1_sd1_active_ar { + mux { + pins = "gpio9"; + function = "func2"; + }; + + config { + pins = "gpio9"; + drive-strength = <8>; /* 8 mA */ + bias-disable; /* NO PULL */ + output-high; + }; + }; + }; + + lpi_aux2_sck_ar { + lpi_aux2_sck_sleep_ar: lpi_aux2_sck_sleep_ar { + mux { + pins = "gpio10"; + function = "func1"; + }; + + config { + pins = "gpio10"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; /* PULL DOWN */ + input-enable; + }; + }; + + lpi_aux2_sck_active_ar: lpi_aux2_sck_active_ar { + mux { + pins = "gpio10"; + function = "func1"; + }; + + config { + pins = "gpio10"; + drive-strength = <8>; /* 8 mA */ + bias-disable; /* NO PULL */ + output-high; + }; + }; + }; + + lpi_aux2_ws_ar { + lpi_aux2_ws_sleep_ar: lpi_aux2_ws_sleep_ar { + mux { + pins = "gpio11"; + function = "func1"; + }; + + config { + pins = "gpio11"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; /* PULL DOWN */ + input-enable; + }; + }; + + lpi_aux2_ws_active_ar: lpi_aux2_ws_active_ar { + mux { + pins = "gpio11"; + function = "func1"; + }; + + config { + pins = "gpio11"; + drive-strength = <8>; /* 8 mA */ + bias-disable; /* NO PULL */ + output-high; + }; + }; + }; + + lpi_aux2_sd0_ar { + lpi_aux2_sd0_sleep_ar: lpi_aux2_sd0_sleep_ar { + mux { + pins = "gpio12"; + function = "func2"; + }; + + config { + pins = "gpio12"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; /* PULL DOWN */ + input-enable; + }; + }; + + lpi_aux2_sd0_active_ar: lpi_aux2_sd0_active_ar { + mux { + pins = "gpio12"; + function = "func2"; + }; + + config { + pins = "gpio12"; + drive-strength = <8>; /* 8 mA */ + bias-disable; /* NO PULL */ + output-high; + }; + }; + }; + + lpi_aux2_sd1_ar { + lpi_aux2_sd1_sleep_ar: lpi_aux2_sd1_sleep_ar { + mux { + pins = "gpio13"; + function = "func2"; + }; + + config { + pins = "gpio13"; + drive-strength = <2>; /* 2 mA */ + bias-pull-down; /* PULL DOWN */ + input-enable; + }; + }; + + lpi_aux2_sd1_active_ar: lpi_aux2_sd1_active_ar { + mux { + pins = "gpio13"; + function = "func2"; + }; + + config { + pins = "gpio13"; + drive-strength = <8>; /* 8 mA */ + bias-disable; /* NO PULL */ + output-high; + }; + }; + }; + + wsa_swr_clk_pin_ar { + wsa_swr_clk_sleep_ar: wsa_swr_clk_sleep_ar { + mux { + pins = "gpio10"; + function = "func2"; + }; + + config { + pins = "gpio10"; + drive-strength = <2>; + input-enable; + bias-pull-down; + }; + }; + + wsa_swr_clk_active_ar: wsa_swr_clk_active_ar { + mux { + pins = "gpio10"; + function = "func2"; + }; + + config { + pins = "gpio10"; + drive-strength = <2>; + slew-rate = <1>; + bias-disable; + }; + }; + }; + + wsa_swr_data_pin_ar { + wsa_swr_data_sleep_ar: wsa_swr_data_sleep_ar { + mux { + pins = "gpio11"; + function = "func2"; + }; + + config { + pins = "gpio11"; + drive-strength = <2>; + input-enable; + bias-pull-down; + }; + }; + + wsa_swr_data_active_ar: wsa_swr_data_active_ar { + mux { + pins = "gpio11"; + function = "func2"; + }; + + config { + pins = "gpio11"; + drive-strength = <2>; + slew-rate = <1>; + bias-bus-hold; + }; + }; + }; + + tx_swr_clk_sleep_ar: tx_swr_clk_sleep_ar { + mux { + pins = "gpio0"; + function = "func1"; + input-enable; + bias-pull-down; + }; + + config { + pins = "gpio0"; + drive-strength = <2>; + }; + }; + + tx_swr_clk_active_ar: tx_swr_clk_active_ar { + mux { + pins = "gpio0"; + function = "func1"; + }; + + config { + pins = "gpio0"; + drive-strength = <2>; + slew-rate = <1>; + bias-disable; + }; + }; + + tx_swr_data1_sleep_ar: tx_swr_data1_sleep_ar { + mux { + pins = "gpio1"; + function = "func1"; + }; + + config { + pins = "gpio1"; + drive-strength = <2>; + input-enable; + bias-bus-hold; + }; + }; + + tx_swr_data1_active_ar: tx_swr_data1_active_ar { + mux { + pins = "gpio1"; + function = "func1"; + }; + + config { + pins = "gpio1"; + drive-strength = <2>; + slew-rate = <1>; + bias-bus-hold; + }; + }; + + tx_swr_data2_sleep_ar: tx_swr_data2_sleep_ar { + mux { + pins = "gpio2"; + function = "func1"; + }; + + config { + pins = "gpio2"; + drive-strength = <2>; + input-enable; + bias-pull-down; + }; + }; + + tx_swr_data2_active_ar: tx_swr_data2_active_ar { + mux { + pins = "gpio2"; + function = "func1"; + }; + + config { + pins = "gpio2"; + drive-strength = <2>; + slew-rate = <1>; + bias-bus-hold; + }; + }; + + rx_swr_clk_sleep_ar: rx_swr_clk_sleep_ar { + mux { + pins = "gpio3"; + function = "func1"; + }; + + config { + pins = "gpio3"; + drive-strength = <2>; + input-enable; + bias-pull-down; + }; + }; + + rx_swr_clk_active_ar: rx_swr_clk_active_ar { + mux { + pins = "gpio3"; + function = "func1"; + }; + + config { + pins = "gpio3"; + drive-strength = <2>; + slew-rate = <1>; + bias-disable; + }; + }; + + rx_swr_data_sleep_ar: rx_swr_data_sleep_ar { + mux { + pins = "gpio4"; + function = "func1"; + }; + + config { + pins = "gpio4"; + drive-strength = <2>; + input-enable; + bias-pull-down; + }; + }; + + rx_swr_data_active_ar: rx_swr_data_active_ar { + mux { + pins = "gpio4"; + function = "func1"; + }; + + config { + pins = "gpio4"; + drive-strength = <2>; + slew-rate = <1>; + bias-bus-hold; + }; + }; + + rx_swr_data1_sleep_ar: rx_swr_data1_sleep_ar { + mux { + pins = "gpio5"; + function = "func2"; + }; + + config { + pins = "gpio5"; + drive-strength = <2>; + input-enable; + bias-pull-down; + }; + }; + + rx_swr_data1_active_ar: rx_swr_data1_active_ar { + mux { + pins = "gpio5"; + function = "func2"; + }; + + config { + pins = "gpio5"; + drive-strength = <2>; + slew-rate = <1>; + bias-bus-hold; + }; + }; + + cdc_dmic01_clk_active_ar: dmic01_clk_active_ar { + mux { + pins = "gpio6"; + function = "func1"; + }; + + config { + pins = "gpio6"; + drive-strength = <8>; + output-high; + }; + }; + + cdc_dmic01_clk_sleep_ar: dmic01_clk_sleep_ar { + mux { + pins = "gpio6"; + function = "func1"; + }; + + config { + pins = "gpio6"; + drive-strength = <2>; + bias-disable; + output-low; + }; + }; + + cdc_dmic01_data_active_ar: dmic01_data_active_ar { + mux { + pins = "gpio7"; + function = "func1"; + }; + + config { + pins = "gpio7"; + drive-strength = <8>; + input-enable; + }; + }; + + cdc_dmic01_data_sleep_ar: dmic01_data_sleep_ar { + mux { + pins = "gpio7"; + function = "func1"; + }; + + config { + pins = "gpio7"; + drive-strength = <2>; + pull-down; + input-enable; + }; + }; + + cdc_dmic23_clk_active_ar: dmic23_clk_active_ar { + mux { + pins = "gpio8"; + function = "func1"; + }; + + config { + pins = "gpio8"; + drive-strength = <8>; + output-high; + }; + }; + + cdc_dmic23_clk_sleep_ar: dmic23_clk_sleep_ar { + mux { + pins = "gpio8"; + function = "func1"; + }; + + config { + pins = "gpio8"; + drive-strength = <2>; + bias-disable; + output-low; + }; + }; + + cdc_dmic23_data_active_ar: dmic23_data_active_ar { + mux { + pins = "gpio9"; + function = "func1"; + }; + + config { + pins = "gpio9"; + drive-strength = <8>; + input-enable; + }; + }; + + cdc_dmic23_data_sleep_ar: dmic23_data_sleep_ar { + mux { + pins = "gpio9"; + function = "func1"; + }; + + config { + pins = "gpio9"; + drive-strength = <2>; + pull-down; + input-enable; + }; + }; + + cdc_dmic45_clk_active_ar: dmic45_clk_active_ar { + mux { + pins = "gpio12"; + function = "func1"; + }; + + config { + pins = "gpio12"; + drive-strength = <8>; + output-high; + }; + }; + + cdc_dmic45_clk_sleep_ar: dmic45_clk_sleep_ar { + mux { + pins = "gpio12"; + function = "func1"; + }; + + config { + pins = "gpio12"; + drive-strength = <2>; + bias-disable; + output-low; + }; + }; + + cdc_dmic45_data_active_ar: dmic45_data_active_ar { + mux { + pins = "gpio13"; + function = "func1"; + }; + + config { + pins = "gpio13"; + drive-strength = <8>; + input-enable; + }; + }; + + cdc_dmic45_data_sleep_ar: dmic45_data_sleep_ar { + mux { + pins = "gpio13"; + function = "func1"; + }; + + config { + pins = "gpio13"; + drive-strength = <2>; + pull-down; + input-enable; + }; + }; + }; +}; diff --git a/qcom/kona-mtp.dtsi b/qcom/kona-mtp.dtsi index ec769b0c..476ccf0e 100644 --- a/qcom/kona-mtp.dtsi +++ b/qcom/kona-mtp.dtsi @@ -5,6 +5,7 @@ #include "kona-sde-display.dtsi" #include "camera/kona-camera-sensor-mtp.dtsi" #include "kona-audio-overlay.dtsi" +#include "kona-audio-overlay-ar.dtsi" #include "kona-thermal-overlay.dtsi" &qupv3_se12_2uart { @@ -333,14 +334,6 @@ qcom,pre-scaling = <1 3>; }; - xo_therm@4c { - reg = <ADC_XO_THERM_PU2>; - label = "xo_therm"; - qcom,ratiometric; - qcom,hw-settle-time = <200>; - qcom,pre-scaling = <1 1>; - }; - skin_therm@4d { reg = <ADC_AMUX_THM1_PU2>; label = "skin_therm"; @@ -410,16 +403,9 @@ #address-cells = <1>; #size-cells = <0>; - io-channels = <&pm8150_vadc ADC_XO_THERM_PU2>, - <&pm8150_vadc ADC_AMUX_THM1_PU2>, + io-channels = <&pm8150_vadc ADC_AMUX_THM1_PU2>, <&pm8150_vadc ADC_AMUX_THM2_PU2>; - xo_therm@4c { - reg = <ADC_XO_THERM_PU2>; - qcom,ratiometric; - qcom,hw-settle-time = <200>; - }; - skin_therm@4d { reg = <ADC_AMUX_THM1_PU2>; qcom,ratiometric; @@ -565,21 +551,6 @@ }; }; - xo-therm-usr { - polling-delay-passive = <0>; - polling-delay = <0>; - thermal-governor = "user_space"; - thermal-sensors = <&pm8150_adc_tm ADC_XO_THERM_PU2>; - wake-capable-sensor; - trips { - active-config0 { - temperature = <125000>; - hysteresis = <1000>; - type = "passive"; - }; - }; - }; - skin-therm-usr { polling-delay-passive = <0>; polling-delay = <0>; diff --git a/qcom/kona-sde-display.dtsi b/qcom/kona-sde-display.dtsi index 89ce8c87..22911ac4 100644 --- a/qcom/kona-sde-display.dtsi +++ b/qcom/kona-sde-display.dtsi @@ -22,6 +22,8 @@ #include "dsi-panel-sim-sec-hd-cmd.dtsi" #include "dsi-panel-xrsmrtvwr-jdi-dual-video.dtsi" #include "dsi-panel-r66451-dsc-fhd-plus-144hz-cmd.dtsi" +#include "dsi-panel-arglass-seeya-dual-1080p-video.dtsi" +#include "dsi-panel-nt36672e-fhd-plus-60hz-video.dtsi" #include <dt-bindings/clock/mdss-7nm-pll-clk.h> &tlmm { @@ -110,7 +112,7 @@ qcom,panel-supply-entry@1 { reg = <1>; qcom,supply-name = "lab"; - qcom,supply-min-voltage = <4600000>; + qcom,supply-min-voltage = <5600000>; qcom,supply-max-voltage = <6000000>; qcom,supply-enable-load = <100000>; qcom,supply-disable-load = <100>; @@ -119,7 +121,7 @@ qcom,panel-supply-entry@2 { reg = <2>; qcom,supply-name = "ibb"; - qcom,supply-min-voltage = <4600000>; + qcom,supply-min-voltage = <5600000>; qcom,supply-max-voltage = <6000000>; qcom,supply-enable-load = <100000>; qcom,supply-disable-load = <100>; @@ -308,6 +310,25 @@ }; }; +&dsi_dual_arglass_seeya_video { + qcom,mdss-dsi-min-refresh-rate = <60>; + qcom,mdss-dsi-max-refresh-rate = <60>; + qcom,mdss-dsi-panel-status-command = [06 01 00 01 00 00 01 0a]; + qcom,mdss-dsi-panel-status-command-state = "dsi_hs_mode"; + qcom,mdss-dsi-panel-status-value = <0x9c>; + qcom,mdss-dsi-panel-on-check-value = <0x9c>; + qcom,mdss-dsi-panel-status-read-length = <1>; + qcom,dsi-select-clocks = "mux_byte_clk0", "mux_pixel_clk0"; + qcom,mdss-dsi-display-timings { + timing@0 { + qcom,mdss-dsi-panel-phy-timings = [00 11 04 04 12 1E + 04 04 04 03 02 04 0F 09]; + qcom,display-topology = <2 0 2>; + qcom,default-topology-index = <0>; + }; + }; +}; + &dsi_dual_xrsmrtvwr_jdi_video { qcom,mdss-dsi-min-refresh-rate = <53>; qcom,mdss-dsi-max-refresh-rate = <80>; @@ -537,6 +558,18 @@ }; }; +&dsi_nt36672e_fhd_plus_60_video { + qcom,dsi-select-clocks = "mux_byte_clk0", "mux_pixel_clk0"; + qcom,mdss-dsi-display-timings { + timing@0 { + qcom,mdss-dsi-panel-phy-timings = [00 13 05 04 1f 1e 05 + 05 03 02 04 00 12 14]; + qcom,display-topology = <1 0 1>; + qcom,default-topology-index = <0>; + }; + }; +}; + &dsi_sharp_1080_cmd { qcom,ulps-enabled; qcom,dsi-select-clocks = "mux_byte_clk0", "mux_pixel_clk0"; diff --git a/qcom/kona-sde.dtsi b/qcom/kona-sde.dtsi index d7873242..5c0bcff6 100644 --- a/qcom/kona-sde.dtsi +++ b/qcom/kona-sde.dtsi @@ -96,6 +96,7 @@ qcom,sde-dsc-off = <0x81000 0x81400 0x81800 0x81c00>; qcom,sde-dsc-size = <0x140>; qcom,sde-dsc-pair-mask = <2 1 4 3>; + qcom,sde-dsc-linewidth = <2048>; qcom,sde-dither-off = <0x30e0 0x30e0 0x30e0 0x30e0 0x30e0 0x30e0>; @@ -406,8 +407,6 @@ qcom,widebus-enable; qcom,dsc-feature-enable; qcom,fec-feature-enable; - qcom,max-dp-dsc-blks = <2>; - qcom,max-dp-dsc-input-width-pixs = <2048>; qcom,ctrl-supply-entries { #address-cells = <1>; diff --git a/qcom/kona-v2-arglass.dts b/qcom/kona-v2-arglass.dts new file mode 100644 index 00000000..8d4b0f07 --- /dev/null +++ b/qcom/kona-v2-arglass.dts @@ -0,0 +1,10 @@ +/dts-v1/; + +#include "kona-v2.dtsi" +#include "kona-arglass.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. kona AR Glass"; + compatible = "qcom,kona-mtp", "qcom,kona", "qcom,mtp"; + qcom,board-id = <0x1040008 0>; +}; diff --git a/qcom/kona-v2-gpu.dtsi b/qcom/kona-v2-gpu.dtsi index 119e296d..d9deb32a 100644 --- a/qcom/kona-v2-gpu.dtsi +++ b/qcom/kona-v2-gpu.dtsi @@ -472,5 +472,119 @@ qcom,bus-max = <0>; }; }; + + qcom,gpu-pwrlevels-4 { + #address-cells = <1>; + #size-cells = <0>; + qcom,speed-bin = <4>; + qcom,initial-pwrlevel = <6>; + qcom,throttle-pwrlevel = <1>; + + qcom,gpu-pwrlevel@0 { + reg = <0>; + qcom,gpu-freq = <670000000>; + qcom,bus-freq-ddr7 = <11>; + qcom,bus-min-ddr7 = <11>; + qcom,bus-max-ddr7 = <11>; + + qcom,bus-freq-ddr8 = <11>; + qcom,bus-min-ddr8 = <11>; + qcom,bus-max-ddr8 = <11>; + + qcom,acd-level = <0x802b5ffd>; + }; + + qcom,gpu-pwrlevel@1 { + reg = <1>; + qcom,gpu-freq = <587000000>; + qcom,bus-freq-ddr7 = <11>; + qcom,bus-min-ddr7 = <11>; + qcom,bus-max-ddr7 = <11>; + + qcom,bus-freq-ddr8 = <11>; + qcom,bus-min-ddr8 = <11>; + qcom,bus-max-ddr8 = <11>; + + qcom,acd-level = <0x802b5ffd>; + }; + + qcom,gpu-pwrlevel@2 { + reg = <2>; + qcom,gpu-freq = <525000000>; + qcom,bus-freq-ddr7 = <9>; + qcom,bus-min-ddr7 = <9>; + qcom,bus-max-ddr7 = <11>; + + qcom,bus-freq-ddr8 = <8>; + qcom,bus-min-ddr8 = <8>; + qcom,bus-max-ddr8 = <11>; + + qcom,acd-level = <0x802b5ffd>; + }; + + qcom,gpu-pwrlevel@3 { + reg = <3>; + qcom,gpu-freq = <490000000>; + qcom,bus-freq-ddr7 = <9>; + qcom,bus-min-ddr7 = <6>; + qcom,bus-max-ddr7 = <9>; + + qcom,bus-freq-ddr8 = <8>; + qcom,bus-min-ddr8 = <7>; + qcom,bus-max-ddr8 = <9>; + + qcom,acd-level = <0xa02b5ffd>; + }; + + qcom,gpu-pwrlevel@4 { + reg = <4>; + qcom,gpu-freq = <441600000>; + qcom,bus-freq-ddr7 = <9>; + qcom,bus-min-ddr7 = <6>; + qcom,bus-max-ddr7 = <9>; + + qcom,bus-freq-ddr8 = <8>; + qcom,bus-min-ddr8 = <7>; + qcom,bus-max-ddr8 = <9>; + + qcom,acd-level = <0xa02b5ffd>; + }; + + qcom,gpu-pwrlevel@5 { + reg = <5>; + qcom,gpu-freq = <400000000>; + qcom,bus-freq-ddr7 = <7>; + qcom,bus-min-ddr7 = <6>; + qcom,bus-max-ddr7 = <9>; + + qcom,bus-freq-ddr8 = <8>; + qcom,bus-min-ddr8 = <6>; + qcom,bus-max-ddr8 = <9>; + + qcom,acd-level = <0xa02b5ffd>; + }; + + qcom,gpu-pwrlevel@6 { + reg = <6>; + qcom,gpu-freq = <305000000>; + qcom,bus-freq-ddr7 = <3>; + qcom,bus-min-ddr7 = <2>; + qcom,bus-max-ddr7 = <9>; + + qcom,bus-freq-ddr8 = <3>; + qcom,bus-min-ddr8 = <2>; + qcom,bus-max-ddr8 = <9>; + + qcom,acd-level = <0xa02b5ffd>; + }; + + qcom,gpu-pwrlevel@7 { + reg = <7>; + qcom,gpu-freq = <0>; + qcom,bus-freq = <0>; + qcom,bus-min = <0>; + qcom,bus-max = <0>; + }; + }; }; }; diff --git a/qcom/kona-v2.1-arglass.dts b/qcom/kona-v2.1-arglass.dts new file mode 100644 index 00000000..3ae49243 --- /dev/null +++ b/qcom/kona-v2.1-arglass.dts @@ -0,0 +1,10 @@ +/dts-v1/; + +#include "kona-v2.1.dtsi" +#include "kona-arglass.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. kona v2.1 AR Glass"; + compatible = "qcom,kona-mtp", "qcom,kona", "qcom,mtp"; + qcom,board-id = <0x1040008 0>; +}; diff --git a/qcom/kona-v2.1-iot-rb5.dtsi b/qcom/kona-v2.1-iot-rb5.dtsi index 7d325134..4b2aa986 100644 --- a/qcom/kona-v2.1-iot-rb5.dtsi +++ b/qcom/kona-v2.1-iot-rb5.dtsi @@ -196,6 +196,10 @@ }; &soc { + msm_vidc: qcom,vidc@aa00000 { + compatible = "qcom,msm-vidc", "qcom,qcs8250-vidc"; + }; + clk40M: can_clock { compatible = "fixed-clock"; #clock-cells = <0>; @@ -246,7 +250,13 @@ }; &pcie1 { - status = "disabled"; + status = "okay"; + qcom,boot-option = <0x0>; +}; + +&pcie2 { + status = "okay"; + qcom,boot-option = <0x0>; }; &thermal_zones { diff --git a/qcom/kona-va-bolero-ar.dtsi b/qcom/kona-va-bolero-ar.dtsi new file mode 100644 index 00000000..b4622311 --- /dev/null +++ b/qcom/kona-va-bolero-ar.dtsi @@ -0,0 +1,15 @@ +&bolero_ar { + va_macro_ar: va-macro-ar@3370000 { + compatible = "qcom,va-macro"; + reg = <0x3370000 0x0>; + clock-names = "lpass_audio_hw_vote"; + clocks = <&lpass_audio_hw_vote_ar 0>; + va-vdd-micb-supply = <&S4A>; + qcom,va-vdd-micb-voltage = <1800000 1800000>; + qcom,va-vdd-micb-current = <11200>; + qcom,va-dmic-sample-rate = <600000>; + qcom,va-clk-mux-select = <1>; + qcom,va-island-mode-muxsel = <0x033A0000>; + qcom,default-clk-id = <TX_CORE_CLK>; + }; +}; diff --git a/qcom/kona-xrfusion-ult.dtsi b/qcom/kona-xrfusion-ult.dtsi index 95437f54..d9c69782 100644 --- a/qcom/kona-xrfusion-ult.dtsi +++ b/qcom/kona-xrfusion-ult.dtsi @@ -2,6 +2,7 @@ #include "kona-pmic-overlay.dtsi" #include "kona-sde-display.dtsi" #include "kona-audio-overlay.dtsi" +#include "kona-audio-overlay-ar.dtsi" #include "kona-thermal-overlay.dtsi" #include "kona-xr-pinctrl-overlay.dtsi" #include "camera/kona-camera-sensor-xrfusion.dtsi" @@ -340,6 +341,92 @@ <&bolero>; }; +&kona_snd_ar { + qcom,model = "kona-xrfusionult-snd-card"; + qcom,mi2s-audio-intf = <0>; + qcom,audio-routing = + "AMIC1", "MIC BIAS1", + "MIC BIAS1", "Analog Mic1", + "AMIC2", "MIC BIAS2", + "MIC BIAS2", "Analog Mic2", + "AMIC3", "MIC BIAS3", + "MIC BIAS3", "Analog Mic3", + "AMIC4", "MIC BIAS4", + "MIC BIAS4", "Analog Mic4", + "AMIC5", "MIC BIAS4", + "MIC BIAS4", "Analog Mic5", + "DMIC1", "MIC BIAS1", + "MIC BIAS1", "Digital Mic0", + "DMIC2", "MIC BIAS1", + "MIC BIAS1", "Digital Mic1", + "DMIC3", "MIC BIAS1", + "MIC BIAS1", "Digital Mic2", + "DMIC4", "MIC BIAS1", + "MIC BIAS1", "Digital Mic3", + "DMIC5", "MIC BIAS3", + "MIC BIAS3", "Digital Mic4", + "DMIC6", "MIC BIAS3", + "MIC BIAS3", "Digital Mic5", + "DMIC7", "MIC BIAS4", + "MIC BIAS4", "Digital Mic6", + "DMIC8", "MIC BIAS4", + "MIC BIAS4", "Digital Mic7", + "IN1_HPHL", "HPHL_OUT", + "IN2_HPHR", "HPHR_OUT", + "IN3_AUX", "AUX_OUT", + "TX SWR_ADC0", "ADC1_OUTPUT", + "TX SWR_ADC1", "ADC2_OUTPUT", + "TX SWR_ADC2", "ADC3_OUTPUT", + "TX SWR_ADC3", "ADC4_OUTPUT", + "TX SWR_DMIC0", "DMIC1_OUTPUT", + "TX SWR_DMIC1", "DMIC2_OUTPUT", + "TX SWR_DMIC2", "DMIC3_OUTPUT", + "TX SWR_DMIC3", "DMIC4_OUTPUT", + "TX SWR_DMIC4", "DMIC5_OUTPUT", + "TX SWR_DMIC5", "DMIC6_OUTPUT", + "TX SWR_DMIC6", "DMIC7_OUTPUT", + "TX SWR_DMIC7", "DMIC8_OUTPUT", + "WSA SRC0_INP", "SRC0", + "WSA_TX DEC0_INP", "TX DEC0 MUX", + "WSA_TX DEC1_INP", "TX DEC1 MUX", + "RX_TX DEC0_INP", "TX DEC0 MUX", + "RX_TX DEC1_INP", "TX DEC1 MUX", + "RX_TX DEC2_INP", "TX DEC2 MUX", + "RX_TX DEC3_INP", "TX DEC3 MUX", + "SpkrRight IN", "WSA_SPK2 OUT", + "VA_AIF1 CAP", "VA_SWR_CLK", + "VA_AIF2 CAP", "VA_SWR_CLK", + "VA_AIF3 CAP", "VA_SWR_CLK", + "VA MIC BIAS3", "Digital Mic0", + "VA MIC BIAS3", "Digital Mic1", + "VA MIC BIAS1", "Digital Mic2", + "VA MIC BIAS1", "Digital Mic3", + "VA MIC BIAS4", "Digital Mic5", + "VA DMIC0", "VA MIC BIAS3", + "VA DMIC1", "VA MIC BIAS3", + "VA DMIC2", "VA MIC BIAS1", + "VA DMIC3", "VA MIC BIAS1", + "VA DMIC5", "VA MIC BIAS4", + "VA SWR_ADC1", "VA_SWR_CLK", + "VA SWR_MIC0", "VA_SWR_CLK", + "VA SWR_MIC1", "VA_SWR_CLK", + "VA SWR_MIC2", "VA_SWR_CLK", + "VA SWR_MIC3", "VA_SWR_CLK", + "VA SWR_MIC4", "VA_SWR_CLK", + "VA SWR_MIC5", "VA_SWR_CLK", + "VA SWR_MIC6", "VA_SWR_CLK", + "VA SWR_MIC7", "VA_SWR_CLK", + "VA SWR_MIC0", "DMIC1_OUTPUT", + "VA SWR_MIC1", "DMIC2_OUTPUT", + "VA SWR_MIC2", "DMIC3_OUTPUT", + "VA SWR_MIC3", "DMIC4_OUTPUT", + "VA SWR_MIC4", "DMIC5_OUTPUT", + "VA SWR_MIC5", "DMIC6_OUTPUT", + "VA SWR_MIC6", "DMIC7_OUTPUT", + "VA SWR_MIC7", "DMIC8_OUTPUT", + "VA SWR_ADC1", "ADC2_OUTPUT"; +}; + &pm8150_l10 { regulator-max-microvolt = <3304000>; qcom,init-voltage = <3304000>; diff --git a/qcom/kona-xrfusion.dtsi b/qcom/kona-xrfusion.dtsi index 2992e347..5d27eb9c 100644 --- a/qcom/kona-xrfusion.dtsi +++ b/qcom/kona-xrfusion.dtsi @@ -2,6 +2,7 @@ #include "kona-pmic-overlay.dtsi" #include "kona-sde-display.dtsi" #include "kona-audio-overlay.dtsi" +#include "kona-audio-overlay-ar.dtsi" #include "kona-thermal-overlay.dtsi" #include "kona-xr-pinctrl-overlay.dtsi" #include "camera/kona-camera-sensor-xrfusion.dtsi" @@ -298,6 +299,78 @@ <&bolero>; }; +&kona_snd_ar { + qcom,model = "kona-xrfusion-snd-card"; + qcom,mi2s-audio-intf = <0>; + qcom,audio-routing = + "AMIC2", "MIC BIAS2", + "MIC BIAS2", "Analog Mic2", + "TX DMIC0", "MIC BIAS1", + "MIC BIAS1", "Digital Mic0", + "TX DMIC1", "MIC BIAS1", + "MIC BIAS1", "Digital Mic1", + "TX DMIC2", "MIC BIAS4", + "MIC BIAS4", "Digital Mic2", + "TX DMIC3", "MIC BIAS4", + "MIC BIAS4", "Digital Mic3", + "TX DMIC5", "MIC BIAS3", + "MIC BIAS3", "Digital Mic5", + "IN1_HPHL", "HPHL_OUT", + "IN2_HPHR", "HPHR_OUT", + "IN3_AUX", "AUX_OUT", + "TX SWR_ADC0", "ADC1_OUTPUT", + "TX SWR_ADC1", "ADC2_OUTPUT", + "TX SWR_ADC2", "ADC3_OUTPUT", + "TX SWR_ADC3", "ADC4_OUTPUT", + "TX SWR_DMIC0", "DMIC1_OUTPUT", + "TX SWR_DMIC1", "DMIC2_OUTPUT", + "TX SWR_DMIC2", "DMIC3_OUTPUT", + "TX SWR_DMIC3", "DMIC4_OUTPUT", + "TX SWR_DMIC4", "DMIC5_OUTPUT", + "TX SWR_DMIC5", "DMIC6_OUTPUT", + "TX SWR_DMIC6", "DMIC7_OUTPUT", + "TX SWR_DMIC7", "DMIC8_OUTPUT", + "WSA SRC0_INP", "SRC0", + "WSA_TX DEC0_INP", "TX DEC0 MUX", + "WSA_TX DEC1_INP", "TX DEC1 MUX", + "RX_TX DEC0_INP", "TX DEC0 MUX", + "RX_TX DEC1_INP", "TX DEC1 MUX", + "RX_TX DEC2_INP", "TX DEC2 MUX", + "RX_TX DEC3_INP", "TX DEC3 MUX", + "SpkrRight IN", "WSA_SPK2 OUT", + "VA_AIF1 CAP", "VA_SWR_CLK", + "VA_AIF2 CAP", "VA_SWR_CLK", + "VA_AIF3 CAP", "VA_SWR_CLK", + "VA MIC BIAS3", "Digital Mic0", + "VA MIC BIAS3", "Digital Mic1", + "VA MIC BIAS1", "Digital Mic2", + "VA MIC BIAS1", "Digital Mic3", + "VA MIC BIAS4", "Digital Mic5", + "VA DMIC0", "VA MIC BIAS3", + "VA DMIC1", "VA MIC BIAS3", + "VA DMIC2", "VA MIC BIAS1", + "VA DMIC3", "VA MIC BIAS1", + "VA DMIC5", "VA MIC BIAS4", + "VA SWR_ADC1", "VA_SWR_CLK", + "VA SWR_MIC0", "VA_SWR_CLK", + "VA SWR_MIC1", "VA_SWR_CLK", + "VA SWR_MIC2", "VA_SWR_CLK", + "VA SWR_MIC3", "VA_SWR_CLK", + "VA SWR_MIC4", "VA_SWR_CLK", + "VA SWR_MIC5", "VA_SWR_CLK", + "VA SWR_MIC6", "VA_SWR_CLK", + "VA SWR_MIC7", "VA_SWR_CLK", + "VA SWR_MIC0", "DMIC1_OUTPUT", + "VA SWR_MIC1", "DMIC2_OUTPUT", + "VA SWR_MIC2", "DMIC3_OUTPUT", + "VA SWR_MIC3", "DMIC4_OUTPUT", + "VA SWR_MIC4", "DMIC5_OUTPUT", + "VA SWR_MIC5", "DMIC6_OUTPUT", + "VA SWR_MIC6", "DMIC7_OUTPUT", + "VA SWR_MIC7", "DMIC8_OUTPUT", + "VA SWR_ADC1", "ADC2_OUTPUT"; +}; + &pm8150_l10 { regulator-max-microvolt = <3304000>; qcom,init-voltage = <3304000>; diff --git a/qcom/kona.dtsi b/qcom/kona.dtsi index 4188793f..70acf6d4 100644 --- a/qcom/kona.dtsi +++ b/qcom/kona.dtsi @@ -55,6 +55,9 @@ swr0 = &swr0; swr1 = &swr1; swr2 = &swr2; + swr_ar0 = &swr_ar0; + swr_ar1 = &swr_ar1; + swr_ar2 = &swr_ar2; mhi-netdev0 = &mhi_netdev_0; }; @@ -4729,6 +4732,7 @@ reg-names = "smmu_iova_ipa", "tcs_cmd"; wlan-en-gpio = <&tlmm 20 0>; qcom,bt-en-gpio = <&tlmm 21 0>; + qcom,sw-ctrl-gpio = <&tlmm 124 0>; pinctrl-names = "wlan_en_active", "wlan_en_sleep"; pinctrl-0 = <&cnss_wlan_en_active>; pinctrl-1 = <&cnss_wlan_en_sleep>; @@ -5058,6 +5062,7 @@ #include "camera/kona-camera.dtsi" #include "kona-qupv3.dtsi" #include "kona-audio.dtsi" +#include "kona-audio-ar.dtsi" #include "kona-thermal.dtsi" #include "kona-vidc.dtsi" #include "kona-cvp.dtsi" diff --git a/qcom/litomagnus-cdp-overlay.dts b/qcom/litomagnus-cdp-overlay.dts index 878110c0..9924e3b2 100644 --- a/qcom/litomagnus-cdp-overlay.dts +++ b/qcom/litomagnus-cdp-overlay.dts @@ -11,11 +11,3 @@ qcom,msm-id = <400 0x20000>, <440 0x20000>; qcom,board-id = <1 1>; }; - -/* - * overriding adsp-fw-names with empty string - * to allow default adsp img load - */ -&adsp_loader { - adsp-fw-names=""; -}; diff --git a/qcom/litomagnus-mtp-overlay.dts b/qcom/litomagnus-mtp-overlay.dts index 58a6b346..4bce6191 100644 --- a/qcom/litomagnus-mtp-overlay.dts +++ b/qcom/litomagnus-mtp-overlay.dts @@ -11,11 +11,3 @@ qcom,msm-id = <400 0x20000>, <440 0x20000>; qcom,board-id = <8 1>; }; - -/* - * overriding adsp-fw-names with empty string - * to allow default adsp img load - */ -&adsp_loader { - adsp-fw-names=""; -}; diff --git a/qcom/msm-arm-smmu-lagoon.dtsi b/qcom/msm-arm-smmu-lagoon.dtsi index 6d7eabcc..be474f75 100644 --- a/qcom/msm-arm-smmu-lagoon.dtsi +++ b/qcom/msm-arm-smmu-lagoon.dtsi @@ -7,6 +7,7 @@ reg = <0x3d40000 0x10000>; #iommu-cells = <1>; qcom,use-3-lvl-tables; + qcom,no-dynamic-asid; #global-interrupts = <2>; qcom,regulator-names = "vdd"; vdd-supply = <&gpu_cx_gdsc>; diff --git a/qcom/msm-audio-lpass.dtsi b/qcom/msm-audio-lpass.dtsi index 360e984a..a9496d85 100644 --- a/qcom/msm-audio-lpass.dtsi +++ b/qcom/msm-audio-lpass.dtsi @@ -253,6 +253,71 @@ qcom,msm-dai-q6 { compatible = "qcom,msm-dai-q6"; + sb_0_rx: qcom,msm-dai-q6-sb-0-rx { + compatible = "qcom,msm-dai-q6-dev"; + qcom,msm-dai-q6-dev-id = <16384>; + }; + + sb_0_tx: qcom,msm-dai-q6-sb-0-tx { + compatible = "qcom,msm-dai-q6-dev"; + qcom,msm-dai-q6-dev-id = <16385>; + }; + + sb_1_rx: qcom,msm-dai-q6-sb-1-rx { + compatible = "qcom,msm-dai-q6-dev"; + qcom,msm-dai-q6-dev-id = <16386>; + }; + + sb_1_tx: qcom,msm-dai-q6-sb-1-tx { + compatible = "qcom,msm-dai-q6-dev"; + qcom,msm-dai-q6-dev-id = <16387>; + }; + + sb_2_rx: qcom,msm-dai-q6-sb-2-rx { + compatible = "qcom,msm-dai-q6-dev"; + qcom,msm-dai-q6-dev-id = <16388>; + }; + + sb_2_tx: qcom,msm-dai-q6-sb-2-tx { + compatible = "qcom,msm-dai-q6-dev"; + qcom,msm-dai-q6-dev-id = <16389>; + }; + + sb_3_rx: qcom,msm-dai-q6-sb-3-rx { + compatible = "qcom,msm-dai-q6-dev"; + qcom,msm-dai-q6-dev-id = <16390>; + }; + + sb_3_tx: qcom,msm-dai-q6-sb-3-tx { + compatible = "qcom,msm-dai-q6-dev"; + qcom,msm-dai-q6-dev-id = <16391>; + }; + + sb_4_rx: qcom,msm-dai-q6-sb-4-rx { + compatible = "qcom,msm-dai-q6-dev"; + qcom,msm-dai-q6-dev-id = <16392>; + }; + + sb_4_tx: qcom,msm-dai-q6-sb-4-tx { + compatible = "qcom,msm-dai-q6-dev"; + qcom,msm-dai-q6-dev-id = <16393>; + }; + + sb_5_tx: qcom,msm-dai-q6-sb-5-tx { + compatible = "qcom,msm-dai-q6-dev"; + qcom,msm-dai-q6-dev-id = <16395>; + }; + + sb_5_rx: qcom,msm-dai-q6-sb-5-rx { + compatible = "qcom,msm-dai-q6-dev"; + qcom,msm-dai-q6-dev-id = <16394>; + }; + + sb_6_rx: qcom,msm-dai-q6-sb-6-rx { + compatible = "qcom,msm-dai-q6-dev"; + qcom,msm-dai-q6-dev-id = <16396>; + }; + sb_7_rx: qcom,msm-dai-q6-sb-7-rx { compatible = "qcom,msm-dai-q6-dev"; qcom,msm-dai-q6-dev-id = <16398>; @@ -265,6 +330,11 @@ qcom,msm-dai-q6-slim-dev-id = <0>; }; + sb_8_rx: qcom,msm-dai-q6-sb-8-rx { + compatible = "qcom,msm-dai-q6-dev"; + qcom,msm-dai-q6-dev-id = <16400>; + }; + sb_8_tx: qcom,msm-dai-q6-sb-8-tx { compatible = "qcom,msm-dai-q6-dev"; qcom,msm-dai-q6-dev-id = <16401>; diff --git a/qcom/msm8917-gpu.dtsi b/qcom/msm8917-gpu.dtsi index a3ca272e..aa7d4104 100644 --- a/qcom/msm8917-gpu.dtsi +++ b/qcom/msm8917-gpu.dtsi @@ -8,21 +8,21 @@ compatible = "operating-points-v2"; opp-0 { opp-hz = /bits/ 64 < 0 >; }; /* OFF */ - opp-201 { opp-hz = /bits/ 64 < 769 >; }; /* 1. 201 MHz */ + opp-100 { opp-hz = /bits/ 64 < 769 >; }; /* 1. 100 MHz */ - opp-422 { opp-hz = /bits/ 64 < 1611 >; }; /* 2. 422 MHz */ + opp-211 { opp-hz = /bits/ 64 < 1611 >; }; /* 2. 211 MHz */ - opp-595 { opp-hz = /bits/ 64 < 2270 >; }; /* 3. 595 MHz */ + opp-297 { opp-hz = /bits/ 64 < 2270 >; }; /* 3. 297 MHz */ - opp-768 { opp-hz = /bits/ 64 < 2929 >; }; /* 4. 768 MHz */ + opp-384 { opp-hz = /bits/ 64 < 2929 >; }; /* 4. 384 MHz */ - opp-1113 { opp-hz = /bits/ 64 < 4248 >; }; /* 5. 1113 MHz */ + opp-557 { opp-hz = /bits/ 64 < 4248 >; }; /* 5. 557 MHz */ - opp-1190 { opp-hz = /bits/ 64 < 4541 >; }; /* 6. 1190 MHz */ + opp-595 { opp-hz = /bits/ 64 < 4541 >; }; /* 6. 595 MHz */ - opp-1344 { opp-hz = /bits/ 64 < 5126 >; }; /* 7. 1344 MHz */ + opp-672 { opp-hz = /bits/ 64 < 5126 >; }; /* 7. 672 MHz */ - opp-1478 { opp-hz = /bits/ 64 < 5639 >; }; /* 8. 1478 MHz */ + opp-739 { opp-hz = /bits/ 64 < 5639 >; }; /* 8. 739 MHz */ }; /* Bus governor */ diff --git a/qcom/msm8917-pm.dtsi b/qcom/msm8917-pm.dtsi index b9288ff7..30978710 100644 --- a/qcom/msm8917-pm.dtsi +++ b/qcom/msm8917-pm.dtsi @@ -33,7 +33,7 @@ reg = <0>; label = "perf-l2-wfi"; qcom,psci-mode = <1>; - qcom,entry-latency-us = <38>; /* TBD */ + qcom,entry-latency-us = <125>; qcom,exit-latency-us = <180>; qcom,min-residency-us = <305>; }; @@ -42,9 +42,9 @@ reg = <1>; label = "perf-l2-gdhs"; qcom,psci-mode = <4>; - qcom,entry-latency-us = <800>; /* TBD */ + qcom,entry-latency-us = <240>; qcom,exit-latency-us = <280>; - qcom,min-residency-us = <520>; + qcom,min-residency-us = <806>; qcom,min-child-idx = <1>; qcom,reset-level = <LPM_RESET_LVL_GDHS>; }; @@ -53,9 +53,9 @@ reg = <2>; label = "perf-l2-retention"; qcom,psci-mode = <2>; - qcom,entry-latency-us = <640>; /* TBD */ + qcom,entry-latency-us = <700>; qcom,exit-latency-us = <650>; - qcom,min-residency-us = <1350>; + qcom,min-residency-us = <1972>; qcom,min-child-idx = <1>; qcom,reset-level = <LPM_RESET_LVL_RET>; }; @@ -64,9 +64,9 @@ reg = <3>; label = "perf-l2-pc"; qcom,psci-mode = <5>; - qcom,entry-latency-us = <800>; /* TBD */ + qcom,entry-latency-us = <800>; qcom,exit-latency-us = <11200>; - qcom,min-residency-us = <1700>; + qcom,min-residency-us = <6501>; qcom,min-child-idx = <1>; qcom,is-reset; qcom,notify-rpm; @@ -84,7 +84,7 @@ reg = <0>; label = "wfi"; qcom,psci-cpu-mode = <1>; - qcom,entry-latency-us = <49>; /* TBD */ + qcom,entry-latency-us = <13>; qcom,exit-latency-us = <12>; qcom,min-residency-us = <25>; }; @@ -93,9 +93,9 @@ reg = <1>; label = "pc"; qcom,psci-cpu-mode = <3>; - qcom,entry-latency-us = <290>; /* TBD */ + qcom,entry-latency-us = <125>; qcom,exit-latency-us = <180>; - qcom,min-residency-us = <305>; + qcom,min-residency-us = <595>; qcom,use-broadcast-timer; qcom,is-reset; qcom,reset-level = <LPM_RESET_LVL_PC>; diff --git a/qcom/msm8917-vidc.dtsi b/qcom/msm8917-vidc.dtsi index 7b1ac1a2..982a9f6f 100644 --- a/qcom/msm8917-vidc.dtsi +++ b/qcom/msm8917-vidc.dtsi @@ -114,7 +114,7 @@ label = "venus-ddr"; qcom,bus-master = <MSM_BUS_MASTER_VIDEO_P0>; qcom,bus-slave = <MSM_BUS_SLAVE_EBI_CH0>; - qcom,bus-mode = "venus-ddr"; + qcom,mode = "venus-ddr"; qcom,bus-range-kbps = <1000 917000>; }; @@ -123,7 +123,7 @@ label = "venus-arm9-ddr"; qcom,bus-master = <MSM_BUS_MASTER_VIDEO_P0>; qcom,bus-slave = <MSM_BUS_SLAVE_EBI_CH0>; - qcom,bus-mode = "performance"; + qcom,mode = "performance"; qcom,bus-range-kbps = <1 1>; }; }; diff --git a/qcom/msm8917.dtsi b/qcom/msm8917.dtsi index 8628a7b3..037033b8 100644 --- a/qcom/msm8917.dtsi +++ b/qcom/msm8917.dtsi @@ -573,7 +573,7 @@ }; debugcc: qcom,cc-debug { - compatible = "qcom,msm8917-debugcc"; + compatible = "qcom,qm215-debugcc"; reg = <0x1874000 0x4>, <0xb01101c 0x8>; reg-names = "cc_base", "meas"; @@ -597,9 +597,10 @@ compatible = "qcom,cpu-clock-qm215"; reg = <0xb011050 0x8>, <0xb016000 0x34>, - <0x00a412c 0x8>; + <0x00a412c 0x8>, + <0xb011200 0x100>; reg-names = "apcs-c1-rcg-base", - "apcs_pll", "efuse"; + "apcs_pll1", "efuse", "spm_c1_base"; cpu-vdd-supply = <&apc_vreg_corner>; vdd_dig_ao-supply = <&pm8916_s1_level_ao>; vdd_hf_pll-supply = <&pm8916_l7_ao>; diff --git a/qcom/msm8937-audio.dtsi b/qcom/msm8937-audio.dtsi index 14701d6b..fbf539af 100644 --- a/qcom/msm8937-audio.dtsi +++ b/qcom/msm8937-audio.dtsi @@ -183,7 +183,7 @@ compatible = "qcom,audio-ref-clk"; qcom,codec-ext-clk-src = <AUDIO_LPASS_MCLK_2>; qcom,codec-lpass-ext-clk-freq = <9600000>; - qcom,codec-lpass-clk-id = <0x301>; + qcom,codec-lpass-clk-id = <0x300>; #clock-cells = <1>; }; @@ -257,23 +257,16 @@ asoc-cpu = <&dai_pri_auxpcm>, <&dai_mi2s2>, <&dai_mi2s3>, <&dai_mi2s5>, - /* TBD - * <&sb_0_rx>, <&sb_0_tx>, <&sb_1_rx>, <&sb_1_tx>, - * <&sb_2_rx>, <&sb_2_tx>, <&sb_3_rx>, <&sb_3_tx>, - * <&sb_4_rx>, <&sb_4_tx>, <&sb_5_tx>, - */ + <&sb_0_rx>, <&sb_0_tx>, <&sb_1_rx>, <&sb_1_tx>, + <&sb_2_rx>, <&sb_2_tx>, <&sb_3_rx>, <&sb_3_tx>, + <&sb_4_rx>, <&sb_4_tx>, <&sb_5_tx>, <&afe_pcm_rx>, <&afe_pcm_tx>, <&afe_proxy_rx>, <&afe_proxy_tx>, <&incall_record_rx>, <&incall_record_tx>, <&incall_music_rx>, <&incall_music_2_rx>, - /* TBD - * <&sb_5_rx>, <&bt_sco_rx>, <&bt_sco_tx>, - */ - <&int_fm_rx>, <&int_fm_tx>; - /* TBD - * , <&sb_6_rx>, - * <&proxy_rx>, <&proxy_tx>; - */ + <&sb_5_rx>, <&bt_sco_rx>, <&bt_sco_tx>, + <&int_fm_rx>, <&int_fm_tx>, <&sb_6_rx>, + <&proxy_rx>, <&proxy_tx>; asoc-cpu-names = "msm-dai-q6-auxpcm.1", "msm-dai-q6-mi2s.2", "msm-dai-q6-mi2s.3", @@ -289,10 +282,8 @@ "msm-dai-q6-dev.32773", "msm-dai-q6-dev.32770", "msm-dai-q6-dev.16394", "msm-dai-q6-dev.12288", "msm-dai-q6-dev.12289", "msm-dai-q6-dev.12292", - "msm-dai-q6-dev.12293", "msm-dai-q6-dev.16396"; - /* TBD - * "msm-dai-q6-dev.8194", "msm-dai-q6-dev.8195"; - */ + "msm-dai-q6-dev.12293", "msm-dai-q6-dev.16396", + "msm-dai-q6-dev.8194", "msm-dai-q6-dev.8195"; asoc-codec = <&stub_codec>, <&hdmi_dba>; asoc-codec-names = "msm-stub-codec.1", "msm-hdmi-dba-codec-rx"; @@ -322,6 +313,8 @@ clock_audio: audio_ext_clk { status = "disabled"; compatible = "qcom,audio-ref-clk"; + qcom,use-pinctrl = <1>; + qcom,codec-ext-clk-src = <14>; clock-names = "osr_clk"; qcom,node_has_rpm_clock; #clock-cells = <1>; @@ -364,10 +357,8 @@ qcom,wcd-rst-gpio-node = <&wcd_rst_gpio>; clock-names = "wcd_clk", "wcd_native_clk"; - /* TODO - * clocks = < &clock_audio clk_audio_pmi_clk>, - * <&clock_audio clk_audio_ap_clk2>; - */ + clocks = < &clock_audio 0>, + <&clock_audio_native 0>; qcom,cdc-static-supplies = "cdc-vdd-buck", diff --git a/qcom/msm8937-camera.dtsi b/qcom/msm8937-camera.dtsi index 16120ab7..98ed0d54 100644 --- a/qcom/msm8937-camera.dtsi +++ b/qcom/msm8937-camera.dtsi @@ -306,6 +306,7 @@ compatible = "qcom,msm-cam-smmu-cb"; iommus = <&apps_iommu 0x400 0x00>, <&apps_iommu 0x2400 0x00>; + iommu-cells = <2>; qcom,iommu-dma-addr-pool = <0x10000000 0x70000000>; label = "vfe"; qcom,scratch-buf-support; @@ -314,6 +315,7 @@ msm_cam_smmu_cb3: msm_cam_smmu_cb3 { compatible = "qcom,msm-cam-smmu-cb"; iommus = <&apps_iommu 0x1c00 0x00>; + iommu-cells = <2>; qcom,iommu-dma-addr-pool = <0x00020000 0x78000000>; label = "cpp"; }; @@ -321,6 +323,7 @@ msm_cam_smmu_cb4: msm_cam_smmu_cb4 { compatible = "qcom,msm-cam-smmu-cb"; iommus = <&apps_iommu 0x1800 0x00>; + iommu-cells = <2>; qcom,iommu-dma-addr-pool = <0x00020000 0x78000000>; label = "jpeg_enc0"; }; diff --git a/qcom/msm8937-coresight.dtsi b/qcom/msm8937-coresight.dtsi index cbaa44a9..68477095 100644 --- a/qcom/msm8937-coresight.dtsi +++ b/qcom/msm8937-coresight.dtsi @@ -1,7 +1,7 @@ &soc { tmc_etr: tmc@6028000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b961>; + arm,primecell-periphid = <0x000bb961>; reg = <0x6028000 0x1000>, <0x6044000 0x15000>; @@ -10,9 +10,9 @@ interrupts = <0 166 IRQ_TYPE_LEVEL_HIGH>; interrupt-names = "byte-cntr-irq"; - arm,buffer-size = <0x100000>; - arm,sg-enable; + arm,buffer-size = <0x400000>; qcom,force-reg-dump; + arm,scatter-gather; coresight-name = "coresight-tmc-etr"; coresight-csr = <&csr>; @@ -32,7 +32,7 @@ tmc_etf: tmc@6027000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b961>; + arm,primecell-periphid = <0x000bb961>; reg = <0x6027000 0x1000>; reg-names = "tmc-base"; @@ -73,7 +73,7 @@ replicator: replicator@6026000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b909>; + arm,primecell-periphid = <0x000bb909>; reg = <0x6026000 0x1000>; reg-names = "replicator-base"; @@ -108,7 +108,7 @@ funnel_in0: funnel@6021000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b908>; + arm,primecell-periphid = <0x000bb908>; reg = <0x6021000 0x1000>; reg-names = "funnel-base"; @@ -178,7 +178,7 @@ funnel_center: funnel@6100000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b908>; + arm,primecell-periphid = <0x000bb908>; reg = <0x6100000 0x1000>; reg-names = "funnel-base"; @@ -222,7 +222,7 @@ funnel_right: funnel@6120000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b908>; + arm,primecell-periphid = <0x000bb908>; reg = <0x6120000 0x1000>; reg-names = "funnel-base"; @@ -266,7 +266,7 @@ funnel_mm: funnel@6130000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b908>; + arm,primecell-periphid = <0x000bb908>; reg = <0x6130000 0x1000>; reg-names = "funnel-base"; @@ -327,7 +327,7 @@ funnel_cam: funnel@6132000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b908>; + arm,primecell-periphid = <0x000bb908>; reg = <0x6132000 0x1000>; reg-names = "funnel-base"; @@ -347,7 +347,7 @@ funnel_apss: funnel@61a1000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b908>; + arm,primecell-periphid = <0x000bb908>; reg = <0x61a1000 0x1000>; reg-names = "funnel-base"; @@ -613,7 +613,7 @@ stm: stm@6002000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b962>; + arm,primecell-periphid = <0x000bb962>; reg = <0x6002000 0x1000>, <0x9280000 0x180000>; @@ -634,7 +634,7 @@ cti0: cti@6010000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b966>; + arm,primecell-periphid = <0x000bb966>; reg = <0x6010000 0x1000>; reg-names = "cti-base"; @@ -647,7 +647,7 @@ cti1: cti@6011000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b966>; + arm,primecell-periphid = <0x000bb966>; reg = <0x6011000 0x1000>; reg-names = "cti-base"; @@ -660,7 +660,7 @@ cti2: cti@6012000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b966>; + arm,primecell-periphid = <0x000bb966>; reg = <0x6012000 0x1000>; reg-names = "cti-base"; @@ -673,7 +673,7 @@ cti3: cti@6013000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b966>; + arm,primecell-periphid = <0x000bb966>; reg = <0x6013000 0x1000>; reg-names = "cti-base"; @@ -686,7 +686,7 @@ cti4: cti@6014000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b966>; + arm,primecell-periphid = <0x000bb966>; reg = <0x6014000 0x1000>; reg-names = "cti-base"; @@ -699,7 +699,7 @@ cti5: cti@6015000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b966>; + arm,primecell-periphid = <0x000bb966>; reg = <0x6015000 0x1000>; reg-names = "cti-base"; @@ -712,7 +712,7 @@ cti6: cti@6016000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b966>; + arm,primecell-periphid = <0x000bb966>; reg = <0x6016000 0x1000>; reg-names = "cti-base"; @@ -725,7 +725,7 @@ cti7: cti@6017000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b966>; + arm,primecell-periphid = <0x000bb966>; reg = <0x6017000 0x1000>; reg-names = "cti-base"; @@ -738,7 +738,7 @@ cti8: cti@6018000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b966>; + arm,primecell-periphid = <0x000bb966>; reg = <0x6018000 0x1000>; reg-names = "cti-base"; @@ -751,7 +751,7 @@ cti9: cti@6019000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b966>; + arm,primecell-periphid = <0x000bb966>; reg = <0x6019000 0x1000>; reg-names = "cti-base"; @@ -764,7 +764,7 @@ cti10: cti@601a000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b966>; + arm,primecell-periphid = <0x000bb966>; reg = <0x601a000 0x1000>; reg-names = "cti-base"; @@ -777,7 +777,7 @@ cti11: cti@601b000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b966>; + arm,primecell-periphid = <0x000bb966>; reg = <0x601b000 0x1000>; reg-names = "cti-base"; @@ -790,7 +790,7 @@ cti12: cti@601c000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b966>; + arm,primecell-periphid = <0x000bb966>; reg = <0x601c000 0x1000>; reg-names = "cti-base"; @@ -803,7 +803,7 @@ cti13: cti@601d000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b966>; + arm,primecell-periphid = <0x000bb966>; reg = <0x601d000 0x1000>; reg-names = "cti-base"; @@ -816,7 +816,7 @@ cti14: cti@601e000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b966>; + arm,primecell-periphid = <0x000bb966>; reg = <0x601e000 0x1000>; reg-names = "cti-base"; @@ -829,7 +829,7 @@ cti15: cti@601f000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b966>; + arm,primecell-periphid = <0x000bb966>; reg = <0x601f000 0x1000>; reg-names = "cti-base"; @@ -842,7 +842,7 @@ cti_cpu0: cti@61b8000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b966>; + arm,primecell-periphid = <0x000bb966>; reg = <0x61b8000 0x1000>; reg-names = "cti-base"; @@ -857,7 +857,7 @@ cti_cpu1: cti@61b9000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b966>; + arm,primecell-periphid = <0x000bb966>; reg = <0x61b9000 0x1000>; reg-names = "cti-base"; @@ -872,7 +872,7 @@ cti_cpu2: cti@61ba000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b966>; + arm,primecell-periphid = <0x000bb966>; reg = <0x61ba000 0x1000>; reg-names = "cti-base"; @@ -887,7 +887,7 @@ cti_cpu3: cti@61bb000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b966>; + arm,primecell-periphid = <0x000bb966>; reg = <0x61bb000 0x1000>; reg-names = "cti-base"; @@ -902,7 +902,7 @@ cti_cpu4: cti@6198000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b966>; + arm,primecell-periphid = <0x000bb966>; reg = <0x6198000 0x1000>; reg-names = "cti-base"; @@ -917,7 +917,7 @@ cti_cpu5: cti@6199000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b966>; + arm,primecell-periphid = <0x000bb966>; reg = <0x6199000 0x1000>; reg-names = "cti-base"; @@ -932,7 +932,7 @@ cti_cpu6: cti@619a000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b966>; + arm,primecell-periphid = <0x000bb966>; reg = <0x619a000 0x1000>; reg-names = "cti-base"; @@ -947,7 +947,7 @@ cti_cpu7: cti@619b000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b966>; + arm,primecell-periphid = <0x000bb966>; reg = <0x619b000 0x1000>; reg-names = "cti-base"; @@ -962,7 +962,7 @@ cti_modem_cpu0: cti@6124000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b966>; + arm,primecell-periphid = <0x000bb966>; reg = <0x6124000 0x1000>; reg-names = "cti-base"; @@ -976,7 +976,7 @@ /* Venus CTI */ cti_video_cpu0: cti@6035000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b966>; + arm,primecell-periphid = <0x000bb966>; reg = <0x6035000 0x1000>; reg-names = "cti-base"; @@ -991,7 +991,7 @@ /* Pronto CTI */ cti_wcn_cpu0: cti@6039000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b966>; + arm,primecell-periphid = <0x000bb966>; reg = <0x6039000 0x1000>; reg-names = "cti-base"; @@ -1006,7 +1006,7 @@ /* LPASS CTI */ cti_audio_cpu0: cti@613c000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b966>; + arm,primecell-periphid = <0x000bb966>; reg = <0x613c000 0x1000>; reg-names = "cti-base"; @@ -1019,7 +1019,7 @@ cti_rpm_cpu0: cti@610c000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b966>; + arm,primecell-periphid = <0x000bb966>; reg = <0x610c000 0x1000>; reg-names = "cti-base"; @@ -1122,7 +1122,7 @@ tpda: tpda@6003000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b969>; + arm,primecell-periphid = <0x000bb969>; reg = <0x6003000 0x1000>; reg-names = "tpda-base"; @@ -1158,7 +1158,7 @@ tpdm_dcc: tpdm@6110000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b968>; + arm,primecell-periphid = <0x000bb968>; reg = <0x6110000 0x1000>; reg-names = "tpdm-base"; diff --git a/qcom/msm8937-interposer-sdm429.dtsi b/qcom/msm8937-interposer-sdm429.dtsi index 85cd896b..c05f0135 100644 --- a/qcom/msm8937-interposer-sdm429.dtsi +++ b/qcom/msm8937-interposer-sdm429.dtsi @@ -1,6 +1,15 @@ #include "msm8937-interposer-sdm439.dtsi" #include "sdm429-cpu.dtsi" +&apsscc { + qcom,cpu-isolation { + /delete-node/ cpu4-isolate; + /delete-node/ cpu5-isolate; + /delete-node/ cpu6-isolate; + /delete-node/ cpu7-isolate; + }; +}; + &soc { /delete-node/ etm@619c000; /delete-node/ etm@619d000; diff --git a/qcom/msm8937-interposer-sdm439.dtsi b/qcom/msm8937-interposer-sdm439.dtsi index 543e3632..4c9e5127 100644 --- a/qcom/msm8937-interposer-sdm439.dtsi +++ b/qcom/msm8937-interposer-sdm439.dtsi @@ -159,9 +159,9 @@ qcom,cpr-enable; }; - qcom,cpu-clock-8939@b111050 { + qcom,clock-cpu@b111050 { vdd-c0-supply = <&apc_vreg_corner>; - vdd-c1-supply = <&apc_vreg_corner>; + cpu-vdd-supply = <&apc_vreg_corner>; vdd-cci-supply = <&apc_vreg_corner>; }; }; diff --git a/qcom/msm8937-pm.dtsi b/qcom/msm8937-pm.dtsi index 69fe3b9d..0f2d91ff 100644 --- a/qcom/msm8937-pm.dtsi +++ b/qcom/msm8937-pm.dtsi @@ -37,8 +37,7 @@ reg = <0>; label = "system-active"; qcom,psci-mode = <0>; - /* TBD */ - qcom,entry-latency-us = <640>; + qcom,entry-latency-us = <565>; qcom,exit-latency-us = <415>; qcom,min-residency-us = <980>; }; @@ -47,10 +46,9 @@ reg = <1>; label = "system-wfi"; qcom,psci-mode = <1>; - /* TBD */ - qcom,entry-latency-us = <38>; + qcom,entry-latency-us = <575>; qcom,exit-latency-us = <475>; - qcom,min-residency-us = <1050>; + qcom,min-residency-us = <3288>; qcom,min-child-idx = <1>; }; @@ -58,10 +56,9 @@ reg = <2>; label = "system-ret"; qcom,psci-mode = <2>; - /* TBD */ - qcom,entry-latency-us = <640>; + qcom,entry-latency-us = <350>; qcom,exit-latency-us = <900>; - qcom,min-residency-us = <1250>; + qcom,min-residency-us = <6272>; qcom,min-child-idx = <1>; qcom,reset-level = <LPM_RESET_LVL_RET>; }; @@ -70,10 +67,9 @@ reg = <3>; label = "system-pc"; qcom,psci-mode = <3>; - /* TBD */ - qcom,entry-latency-us = <800>; + qcom,entry-latency-us = <644>; qcom,exit-latency-us = <10782>; - qcom,min-residency-us = <1426>; + qcom,min-residency-us = <7500>; qcom,min-child-idx = <2>; qcom,notify-rpm; qcom,is-reset; @@ -92,8 +88,7 @@ reg = <0>; label = "perf-l2-wfi"; qcom,psci-mode = <1>; - /* TBD */ - qcom,entry-latency-us = <38>; + qcom,entry-latency-us = <116>; qcom,exit-latency-us = <210>; qcom,min-residency-us = <326>; }; @@ -102,10 +97,9 @@ reg = <1>; label = "perf-l2-gdhs"; qcom,psci-mode = <4>; - /* TBD */ - qcom,entry-latency-us = <640>; + qcom,entry-latency-us = <360>; qcom,exit-latency-us = <267>; - qcom,min-residency-us = <627>; + qcom,min-residency-us = <967>; qcom,min-child-idx = <1>; qcom,reset-level = <LPM_RESET_LVL_GDHS>; }; @@ -114,10 +108,9 @@ reg = <2>; label = "perf-l2-pc"; qcom,psci-mode = <5>; - /* TBD */ - qcom,entry-latency-us = <800>; + qcom,entry-latency-us = <574>; qcom,exit-latency-us = <305>; - qcom,min-residency-us = <879>; + qcom,min-residency-us = <3118>; qcom,min-child-idx = <1>; qcom,is-reset; qcom,reset-level = <LPM_RESET_LVL_PC>; @@ -134,8 +127,7 @@ reg = <0>; qcom,psci-cpu-mode = <0>; label = "wfi"; - /* TBD */ - qcom,entry-latency-us = <49>; + qcom,entry-latency-us = <66>; qcom,exit-latency-us = <1>; qcom,min-residency-us = <67>; }; @@ -144,10 +136,9 @@ reg = <1>; qcom,psci-cpu-mode = <3>; label = "pc"; - /* TBD */ - qcom,entry-latency-us = <290>; + qcom,entry-latency-us = <136>; qcom,exit-latency-us = <190>; - qcom,min-residency-us = <326>; + qcom,min-residency-us = <901>; qcom,use-broadcast-timer; qcom,is-reset; qcom,reset-level = @@ -168,8 +159,7 @@ reg = <0>; label = "pwr-l2-wfi"; qcom,psci-mode = <1>; - /* TBD */ - qcom,entry-latency-us = <38>; + qcom,entry-latency-us = <179>; qcom,exit-latency-us = <221>; qcom,min-residency-us = <400>; }; @@ -178,10 +168,9 @@ reg = <1>; label = "pwr-l2-gdhs"; qcom,psci-mode = <4>; - /* TBD */ - qcom,entry-latency-us = <640>; + qcom,entry-latency-us = <380>; qcom,exit-latency-us = <337>; - qcom,min-residency-us = <717>; + qcom,min-residency-us = <981>; qcom,min-child-idx = <1>; qcom,reset-level = <LPM_RESET_LVL_GDHS>; @@ -191,10 +180,9 @@ reg = <2>; label = "pwr-l2-pc"; qcom,psci-mode = <5>; - /* TBD */ - qcom,entry-latency-us = <800>; + qcom,entry-latency-us = <565>; qcom,exit-latency-us = <415>; - qcom,min-residency-us = <980>; + qcom,min-residency-us = <3561>; qcom,min-child-idx = <1>; qcom,is-reset; qcom,reset-level = @@ -212,8 +200,7 @@ reg = <0>; qcom,psci-cpu-mode = <0>; label = "wfi"; - /* TBD */ - qcom,entry-latency-us = <49>; + qcom,entry-latency-us = <56>; qcom,exit-latency-us = <1>; qcom,min-residency-us = <57>; }; @@ -222,10 +209,9 @@ reg = <1>; qcom,psci-cpu-mode = <3>; label = "pc"; - /* TBD */ - qcom,entry-latency-us = <290>; + qcom,entry-latency-us = <179>; qcom,exit-latency-us = <221>; - qcom,min-residency-us = <400>; + qcom,min-residency-us = <401>; qcom,use-broadcast-timer; qcom,is-reset; qcom,reset-level = diff --git a/qcom/msm8937-thermal.dtsi b/qcom/msm8937-thermal.dtsi index 28788978..d7a05a55 100644 --- a/qcom/msm8937-thermal.dtsi +++ b/qcom/msm8937-thermal.dtsi @@ -1,6 +1,6 @@ #include <dt-bindings/thermal/thermal.h> -&clock_cpu { +&apsscc { qcom,cpu-isolation { compatible = "qcom,cpu-isolate"; cpu0_isolate: cpu0-isolate { diff --git a/qcom/msm8937-vidc.dtsi b/qcom/msm8937-vidc.dtsi index bea37e1e..fe387d30 100644 --- a/qcom/msm8937-vidc.dtsi +++ b/qcom/msm8937-vidc.dtsi @@ -115,7 +115,7 @@ label = "venus-ddr"; qcom,bus-master = <MSM_BUS_MASTER_VIDEO_P0>; qcom,bus-slave = <MSM_BUS_SLAVE_EBI_CH0>; - qcom,bus-mode = "venus-ddr"; + qcom,mode = "venus-ddr"; qcom,bus-range-kbps = <1000 917000>; }; @@ -124,7 +124,7 @@ label = "venus-arm9-ddr"; qcom,bus-master = <MSM_BUS_MASTER_VIDEO_P0>; qcom,bus-slave = <MSM_BUS_SLAVE_EBI_CH0>; - qcom,bus-mode = "performance"; + qcom,mode = "performance"; qcom,bus-range-kbps = <1 1>; }; }; diff --git a/qcom/msm8937.dtsi b/qcom/msm8937.dtsi index 8e26d756..dfacaa50 100644 --- a/qcom/msm8937.dtsi +++ b/qcom/msm8937.dtsi @@ -3,6 +3,7 @@ #include <dt-bindings/spmi/spmi.h> #include <dt-bindings/interrupt-controller/arm-gic.h> #include <dt-bindings/clock/qcom,gcc-sdm429w.h> +#include <dt-bindings/clock/qcom,cpu-sdm.h> #include <dt-bindings/clock/qcom,rpmcc.h> #include <dt-bindings/clock/mdss-28nm-pll-clk-legacy.h> @@ -584,12 +585,15 @@ #reset-cells = <1>; }; + cpu_debug: syscon@0b11101c { + compatible = "syscon"; + reg = <0xb11101c 0x4>; + }; + debugcc: qcom,cc-debug { - compatible = "qcom,msm8937-debugcc"; - reg = <0x1874000 0x4>, - <0xb11101c 0x8>; - reg-names = "cc_base", "meas"; + compatible = "qcom,sdm439-debugcc"; qcom,gcc = <&gcc>; + qcom,cpu = <&cpu_debug>; clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>; clock-names = "xo_clk_src"; #clock-cells = <1>; @@ -607,17 +611,19 @@ #clock-cells = <1>; }; - clock_cpu: qcom,cpu-clock-8939@b111050 { - compatible = "qcom,cpu-clock-8939"; + apsscc: qcom,clock-cpu@b111050 { + compatible = "qcom,cpu-clock-sdm439"; reg = <0xb011050 0x8>, - <0xb111050 0x8>, + <0xb016000 0x34>, + <0xb011200 0x100>, <0xb1d1050 0x8>, + <0xb111050 0x8>, + <0xb116000 0x34>, + <0xb111200 0x100>, <0x00a412c 0x8>; - reg-names = "apcs-c1-rcg-base", "apcs-c0-rcg-base", - "apcs-cci-rcg-base", "efuse"; - vdd-c0-supply = <&apc_vreg_corner>; - vdd-c1-supply = <&apc_vreg_corner>; - vdd-cci-supply = <&apc_vreg_corner>; + reg-names = "apcs-c1-rcg-base", "apcs_pll1", "spm_c1_base", + "apcs-cci-rcg-base", "apcs-c0-rcg-base", + "apcs_pll0", "spm_c0_base", "efuse"; clocks = <&rpmcc RPM_SMD_XO_A_CLK_SRC>, <&gcc GPLL0_AO_OUT_MAIN>; clock-names = "xo_ao", "gpll0_ao" ; @@ -878,20 +884,10 @@ msm_cpufreq: qcom,msm-cpufreq { compatible = "qcom,msm-cpufreq"; - clock-names = "l2_clk", "cpu0_clk", "cpu1_clk", "cpu2_clk", - "cpu3_clk", "cpu4_clk", "cpu5_clk", - "cpu6_clk", "cpu7_clk"; - /* TODO - *clocks = <&clock_cpu clk_cci_clk>, - * <&clock_cpu clk_a53_bc_clk>, - * <&clock_cpu clk_a53_bc_clk>, - * <&clock_cpu clk_a53_bc_clk>, - * <&clock_cpu clk_a53_bc_clk>, - * <&clock_cpu clk_a53_lc_clk>, - * <&clock_cpu clk_a53_lc_clk>, - * <&clock_cpu clk_a53_lc_clk>, - * <&clock_cpu clk_a53_lc_clki>; - */ + clocks = <&apsscc APCS_MUX_CCI_CLK>, + <&apsscc APCS_MUX_C1_CLK>, + <&apsscc APCS_MUX_C0_CLK>; + clock-names = "l2_clk", "cpu0_clk", "cpu4_clk"; qcom,governor-per-policy; @@ -915,9 +911,7 @@ cci_cache: qcom,cci { compatible = "devfreq-simple-dev"; clock-names = "devfreq_clk"; - /* TODO - * clocks = <&clock_cpu clk_cci_clk/>; - */ + clocks = <&apsscc APCS_MUX_CCI_CLK>; governor = "performance"; freq-tbl-khz = < 400000 >, @@ -956,7 +950,16 @@ qcom,target-dev = <&cpu_cpu_ddr_bw>; }; - cpu_cpu_ddr_latfloor: qcom,cpu-cpu-ddr-latfloor { + cpu0_cpu_ddr_latfloor: qcom,cpu0-cpu-ddr-latfloor { + compatible = "qcom,devbw"; + governor = "performance"; + qcom,src-dst-ports = + <MSM_BUS_MASTER_AMPSS_M0 MSM_BUS_SLAVE_EBI_CH0>; + qcom,active-only; + operating-points-v2 = <&ddr_bw_opp_table>; + }; + + cpu4_cpu_ddr_latfloor: qcom,cpu4-cpu-ddr-latfloor { compatible = "qcom,devbw"; governor = "performance"; qcom,src-dst-ports = @@ -972,7 +975,7 @@ cpu0_computemon: qcom,cpu0-computemon { compatible = "qcom,arm-compute-mon"; qcom,cpulist = <&CPU0 &CPU1 &CPU2 &CPU3>; - qcom,target-dev = <&cpu_cpu_ddr_latfloor>; + qcom,target-dev = <&cpu0_cpu_ddr_latfloor>; qcom,core-dev-table = < 1094400 MHZ_TO_MBPS(384, 8) >, < 1497600 MHZ_TO_MBPS(557, 8) >; @@ -986,7 +989,7 @@ cpu4_computemon: qcom,cpu4-computemon { compatible = "qcom,arm-compute-mon"; qcom,cpulist = <&CPU4 &CPU5 &CPU6 &CPU7>; - qcom,target-dev = <&cpu_cpu_ddr_latfloor>; + qcom,target-dev = <&cpu4_cpu_ddr_latfloor>; qcom,core-dev-table = < 998400 MHZ_TO_MBPS(384, 8) >, < 1209600 MHZ_TO_MBPS(557, 8) >; @@ -1042,6 +1045,7 @@ rpm_bus: qcom,rpm-smd { compatible = "qcom,rpm-smd"; rpm-channel-name = "rpm_requests"; + interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>; rpm-channel-type = <15>; /* SMD_APPS_RPM */ }; @@ -1061,7 +1065,6 @@ HSUSB_1p8-supply = <&pm8937_l7>; HSUSB_3p3-supply = <&pm8937_l13>; qcom,vdd-voltage-level = <0 1200000 1200000>; - vbus_otg-supply = <&smbcharger_charger_otg>; qcom,hsusb-otg-phy-type = <3>; /* SNPS Femto PHY */ qcom,hsusb-otg-mode = <3>; /* OTG mode */ @@ -2176,6 +2179,9 @@ qcom,snoc-wcnss-clock-freq = <200000000>; + qcom,smem-states = <&apps_smsm 10>, <&apps_smsm 9>, <&apps_smsm 12>; + qcom,smem-state-names = "tx-enable", "tx-rings-empty", "wake-state"; + qcom,has-autodetect-xo; qcom,is-pronto-v3; qcom,has-pronto-hw; diff --git a/qcom/pm7250b.dtsi b/qcom/pm7250b.dtsi index c92a2faa..5f6a40a2 100644 --- a/qcom/pm7250b.dtsi +++ b/qcom/pm7250b.dtsi @@ -34,6 +34,8 @@ 3500000 3000000 2500000 2000000 1500000 1000000 500000>; qcom,pmic-revid = <&pm7250b_revid>; + qcom,hvdcp2-max-icl-ua = <2000000>; + qcom,hvdcp2-12v-max-icl-ua = <1500000>; qcom,chgr@1000 { reg = <0x1000 0x100>; diff --git a/qcom/pm8008.dtsi b/qcom/pm8008.dtsi index 07c8824e..f4fc4e88 100644 --- a/qcom/pm8008.dtsi +++ b/qcom/pm8008.dtsi @@ -67,7 +67,7 @@ pm8008_9: qcom,pm8008@9 { regulator-min-microvolt = <528000>; regulator-max-microvolt = <1504000>; qcom,min-dropout-voltage = <225000>; - qcom,hpm-min-load = <10000>; + qcom,hpm-min-load = <0>; }; L2P: qcom,pm8008-l2@4100 { @@ -76,7 +76,7 @@ pm8008_9: qcom,pm8008@9 { regulator-min-microvolt = <528000>; regulator-max-microvolt = <1504000>; qcom,min-dropout-voltage = <225000>; - qcom,hpm-min-load = <10000>; + qcom,hpm-min-load = <0>; }; L3P: qcom,pm8008-l3@4200 { @@ -85,7 +85,7 @@ pm8008_9: qcom,pm8008@9 { regulator-min-microvolt = <1500000>; regulator-max-microvolt = <3400000>; qcom,min-dropout-voltage = <200000>; - qcom,hpm-min-load = <10000>; + qcom,hpm-min-load = <0>; }; L4P: qcom,pm8008-l4@4300 { @@ -94,7 +94,7 @@ pm8008_9: qcom,pm8008@9 { regulator-min-microvolt = <1500000>; regulator-max-microvolt = <3400000>; qcom,min-dropout-voltage = <200000>; - qcom,hpm-min-load = <10000>; + qcom,hpm-min-load = <0>; }; L5P: qcom,pm8008-l5@4400 { @@ -103,7 +103,7 @@ pm8008_9: qcom,pm8008@9 { regulator-min-microvolt = <1500000>; regulator-max-microvolt = <3400000>; qcom,min-dropout-voltage = <300000>; - qcom,hpm-min-load = <10000>; + qcom,hpm-min-load = <0>; }; L6P: qcom,pm8008-l6@4400 { @@ -112,7 +112,7 @@ pm8008_9: qcom,pm8008@9 { regulator-min-microvolt = <1500000>; regulator-max-microvolt = <3400000>; qcom,min-dropout-voltage = <300000>; - qcom,hpm-min-load = <10000>; + qcom,hpm-min-load = <0>; }; L7P: qcom,pm8008-l7@4400 { @@ -121,7 +121,7 @@ pm8008_9: qcom,pm8008@9 { regulator-min-microvolt = <1500000>; regulator-max-microvolt = <3400000>; qcom,min-dropout-voltage = <300000>; - qcom,hpm-min-load = <10000>; + qcom,hpm-min-load = <0>; }; }; }; diff --git a/qcom/pm8916.dtsi b/qcom/pm8916.dtsi index 2ceae733..f5059b43 100644 --- a/qcom/pm8916.dtsi +++ b/qcom/pm8916.dtsi @@ -1,3 +1,4 @@ +#include <dt-bindings/iio/qcom,spmi-vadc.h> #include <dt-bindings/interrupt-controller/irq.h> #include <dt-bindings/spmi/spmi.h> @@ -76,63 +77,67 @@ pm8916_vadc: vadc@3100 { compatible = "qcom,spmi-vadc"; reg = <0x3100 0x100>; + interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>; #address-cells = <1>; #size-cells = <0>; - interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>; - interrupt-names = "eoc-int-en-set"; - qcom,adc-bit-resolution = <15>; - qcom,adc-vdd-reference = <1800>; - qcom,vadc-poll-eoc; - qcom,pmic-revid = <&pm8916_revid>; - #thermal-sensor-cells = <1>; + #io-channel-cells = <1>; - chan@8 { + die_temp { + reg = <VADC_DIE_TEMP>; label = "die_temp"; - reg = <8>; - qcom,decimation = <0>; - qcom,pre-div-channel-scaling = <0>; - qcom,calibration-type = "absolute"; - qcom,scale-function = <3>; - qcom,hw-settle-time = <0>; - qcom,fast-avg-setup = <0>; + qcom,pre-scaling = <1 1>; }; - chan@9 { + ref_625mv { + reg = <VADC_REF_625MV>; label = "ref_625mv"; - reg = <9>; - qcom,decimation = <0>; - qcom,pre-div-channel-scaling = <0>; - qcom,calibration-type = "absolute"; - qcom,scale-function = <0>; - qcom,hw-settle-time = <0>; - qcom,fast-avg-setup = <0>; + qcom,pre-scaling = <1 1>; }; - chan@a { + ref_1250v { + reg = <VADC_REF_1250MV>; label = "ref_1250v"; - reg = <0xa>; - qcom,decimation = <0>; - qcom,pre-div-channel-scaling = <0>; - qcom,calibration-type = "absolute"; - qcom,scale-function = <0>; - qcom,hw-settle-time = <0>; - qcom,fast-avg-setup = <0>; + qcom,pre-scaling = <1 1>; + }; + + ref_buf_625mv { + reg = <VADC_SPARE1>; + label = "ref_buf_625mv"; + qcom,pre-scaling = <1 1>; + }; + + ref_vdd { + reg = <VADC_VDD_VADC>; + label = "ref_vdd"; + qcom,pre-scaling = <1 1>; + }; + + ref_gnd { + reg = <VADC_GND_REF>; + label = "ref_gnd"; + qcom,pre-scaling = <1 1>; }; }; - pm8916_tz: qcom,temp-alarm@2400 { + pm8916_tz: temp-alarm@2400 { compatible = "qcom,spmi-temp-alarm"; reg = <0x2400 0x100>; - interrupts = <0x0 0x24 0x0 IRQ_TYPE_EDGE_RISING>; - label = "pm8916_tz"; - qcom,channel-num = <8>; - qcom,threshold-set = <0>; - qcom,temp_alarm-vadc = <&pm8916_vadc>; + interrupts = <0 0x24 0 IRQ_TYPE_EDGE_RISING>; + io-channels = <&pm8916_vadc VADC_DIE_TEMP>; + io-channel-names = "thermal"; #thermal-sensor-cells = <0>; }; + pm8916_adc_tm_iio: adc_tm_iio { + compatible = "qcom,adc-tm5-iio"; + reg = <0x3500 0x100>; + #address-cells = <1>; + #size-cells = <0>; + #thermal-sensor-cells = <1>; + }; + pm8916_adc_tm: vadc@3400 { - compatible = "qcom,adc-tm-rev2"; + compatible = "qcom,qpnp-adc-tm"; reg = <0x3400 0x100>; #address-cells = <1>; #size-cells = <0>; @@ -142,10 +147,15 @@ interrupt-names = "eoc-int-en-set", "high-thr-en-set", "low-thr-en-set"; - qcom,adc-bit-resolution = <15>; qcom,adc-vdd-reference = <1800>; - qcom,adc_tm-vadc = <&pm8916_vadc>; + #thermal-sensor-cells = <1>; qcom,pmic-revid = <&pm8916_revid>; + io-channels = <&pm8916_vadc VADC_REF_625MV>, + <&pm8916_vadc VADC_REF_1250MV>, + <&pm8916_vadc VADC_VDD_VADC>, + <&pm8916_vadc VADC_GND_REF>; + io-channel-names = "ref_625mv", "ref_1250v", "ref_vdd", + "ref_gnd"; }; pm8916_chg: qcom,charger { @@ -154,6 +164,7 @@ #size-cells = <1>; #cooling-cells = <2>; + qcom,v-cutoff-mv = <3400>; qcom,vddmax-mv = <4200>; qcom,vddsafe-mv = <4200>; qcom,vinmin-mv = <4308>; @@ -169,7 +180,9 @@ qcom,batt-cold-percentage = <80>; qcom,tchg-mins = <232>; qcom,resume-soc = <99>; - qcom,chg-vadc = <&pm8916_vadc>; + io-channels = <&pm8916_vadc VADC_VBAT_SNS>, + <&pm8916_vadc VADC_LR_MUX1_BAT_THERM>; + io-channel-names = "vbat_sns", "batt_therm"; qcom,chg-adc_tm = <&pm8916_adc_tm>; status = "disabled"; @@ -230,7 +243,15 @@ qcom,s3-ocv-tolerence-uv = <1200>; qcom,s2-fifo-length = <5>; qcom,low-soc-fifo-length = <2>; - qcom,bms-vadc = <&pm8916_vadc>; + io-channels = <&pm8916_vadc VADC_REF_625MV>, + <&pm8916_vadc VADC_REF_1250MV>, + <&pm8916_vadc VADC_VBAT_SNS>, + <&pm8916_vadc VADC_LR_MUX1_BAT_THERM>, + <&pm8916_vadc VADC_DIE_TEMP>, + <&pm8916_vadc VADC_LR_MUX2_BAT_ID>; + io-channel-names = "ref_625mv", "ref_1250v", + "vbat_sns", "batt_therm", + "die_temp", "batt_id"; qcom,bms-adc_tm = <&pm8916_adc_tm>; qcom,pmic-revid = <&pm8916_revid>; diff --git a/qcom/pm8937.dtsi b/qcom/pm8937.dtsi index 2a9ed193..701ad1c5 100644 --- a/qcom/pm8937.dtsi +++ b/qcom/pm8937.dtsi @@ -1,3 +1,7 @@ +#include <dt-bindings/iio/qcom,spmi-vadc.h> +#include <dt-bindings/interrupt-controller/irq.h> +#include <dt-bindings/spmi/spmi.h> + &spmi_bus { qcom,pm8937@0 { @@ -37,14 +41,12 @@ }; }; - pm8937_temp_alarm: qcom,temp-alarm@2400 { + pm8937_tz: qcom,temp-alarm@2400 { compatible = "qcom,spmi-temp-alarm"; reg = <0x2400 0x100>; interrupts = <0x0 0x24 0x0 IRQ_TYPE_EDGE_RISING>; - label = "pm8937_tz"; - qcom,channel-num = <8>; - qcom,threshold-set = <0>; - qcom,temp_alarm-vadc = <&pm8937_vadc>; + io-channels = <&pm8937_vadc VADC_DIE_TEMP>; + io-channel-names = "thermal"; #thermal-sensor-cells = <0>; }; @@ -104,185 +106,197 @@ pm8937_vadc: vadc@3100 { compatible = "qcom,spmi-vadc"; reg = <0x3100 0x100>; + interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>; #address-cells = <1>; #size-cells = <0>; - interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>; - interrupt-names = "eoc-int-en-set"; - qcom,adc-bit-resolution = <15>; - qcom,adc-vdd-reference = <1800>; - qcom,vadc-poll-eoc; - #thermal-sensor-cells = <1>; + #io-channel-cells = <1>; + io-channel-ranges; pinctrl-names = "default"; pinctrl-0 = <&pa_therm1_default &cas_therm_default>; - chan@5 { + /* Channel nodes */ + vcoin { + reg = <VADC_VCOIN>; 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>; + qcom,pre-scaling = <1 3>; }; - chan@7 { + vph_pwr { + reg = <VADC_VSYS>; 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>; + qcom,pre-scaling = <1 3>; }; - chan@8 { + die_temp { + reg = <VADC_DIE_TEMP>; label = "die_temp"; - reg = <8>; - qcom,decimation = <0>; - qcom,pre-div-channel-scaling = <0>; - qcom,calibration-type = "absolute"; - qcom,scale-function = <3>; - qcom,hw-settle-time = <0>; - qcom,fast-avg-setup = <0>; + qcom,pre-scaling = <1 1>; }; - chan@9 { + ref_625mv { + reg = <VADC_REF_625MV>; label = "ref_625mv"; - reg = <9>; - qcom,decimation = <0>; - qcom,pre-div-channel-scaling = <0>; - qcom,calibration-type = "absolute"; - qcom,scale-function = <0>; - qcom,hw-settle-time = <0>; - qcom,fast-avg-setup = <0>; + qcom,pre-scaling = <1 1>; }; - chan@a { + ref_1250v { + reg = <VADC_REF_1250MV>; label = "ref_1250v"; - reg = <0xa>; - qcom,decimation = <0>; - qcom,pre-div-channel-scaling = <0>; - qcom,calibration-type = "absolute"; - qcom,scale-function = <0>; - qcom,hw-settle-time = <0>; - qcom,fast-avg-setup = <0>; + qcom,pre-scaling = <1 1>; }; - chan@c { + ref_buf_625mv { + reg = <VADC_SPARE1>; label = "ref_buf_625mv"; - reg = <0xc>; - qcom,decimation = <0>; - qcom,pre-div-channel-scaling = <0>; - qcom,calibration-type = "absolute"; - qcom,scale-function = <0>; - qcom,hw-settle-time = <0>; - qcom,fast-avg-setup = <0>; + qcom,pre-scaling = <1 1>; + }; + + ref_vdd { + reg = <VADC_VDD_VADC>; + label = "ref_vdd"; + qcom,pre-scaling = <1 1>; + }; + + ref_gnd { + reg = <VADC_GND_REF>; + label = "ref_gnd"; + qcom,pre-scaling = <1 1>; }; - chan@36 { + pa_therm0 { + reg = <VADC_LR_MUX7_HW_ID>; label = "pa_therm0"; - reg = <0x36>; - 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,ratiometric; + qcom,hw-settle-time = <200>; + qcom,pre-scaling = <1 1>; }; - chan@11 { + pa_therm1 { + reg = <VADC_P_MUX2_1_1>; label = "pa_therm1"; - reg = <0x11>; - 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,vadc-thermal-node; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + qcom,pre-scaling = <1 1>; }; - chan@32 { + xo_therm { + reg = <VADC_LR_MUX3_XO_THERM>; label = "xo_therm"; - reg = <0x32>; - 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,vadc-thermal-node; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + qcom,pre-scaling = <1 1>; }; - chan@3c { + xo_therm_buf { + reg = <VADC_LR_MUX3_BUF_XO_THERM>; label = "xo_therm_buf"; - reg = <0x3c>; - 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,vadc-thermal-node; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + qcom,pre-scaling = <1 1>; }; - chan@13 { + case_therm { + reg = <VADC_P_MUX4_1_1>; label = "case_therm"; - reg = <0x13>; - 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,vadc-thermal-node; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + qcom,pre-scaling = <1 1>; + }; + }; + + pm8937_adc_tm_iio: adc_tm_iio { + compatible = "qcom,adc-tm5-iio"; + reg = <0x3500 0x100>; + #address-cells = <1>; + #size-cells = <0>; + #thermal-sensor-cells = <1>; + io-channels = <&pm8937_vadc VADC_P_MUX2_1_1>, + <&pm8937_vadc VADC_LR_MUX3_XO_THERM>, + <&pm8937_vadc + VADC_LR_MUX3_BUF_XO_THERM>, + <&pm8937_vadc VADC_P_MUX4_1_1>; + + pa_therm1 { + reg = <VADC_P_MUX2_1_1>; + label = "pa_therm1"; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + qcom,pre-scaling = <1 1>; + }; + + xo_therm { + reg = <VADC_LR_MUX3_XO_THERM>; + label = "xo_therm"; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + qcom,pre-scaling = <1 1>; + }; + + xo_therm_buf { + reg = <VADC_LR_MUX3_BUF_XO_THERM>; + label = "xo_therm_buf"; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + qcom,pre-scaling = <1 1>; + }; + + case_therm { + reg = <VADC_P_MUX4_1_1>; + label = "case_therm"; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + qcom,pre-scaling = <1 1>; }; }; pm8937_adc_tm: vadc@3400 { - compatible = "qcom,adc-tm-rev2"; + compatible = "qcom,qpnp-adc-tm"; reg = <0x3400 0x100>; #address-cells = <1>; #size-cells = <0>; - interrupts = <0x0 0x34 0x0 IRQ_TYPE_EDGE_RISING>, + interrupts = <0x0 0x34 0x0 IRQ_TYPE_EDGE_RISING>, <0x0 0x34 0x3 IRQ_TYPE_EDGE_RISING>, <0x0 0x34 0x4 IRQ_TYPE_EDGE_RISING>; - interrupt-names = "eoc-int-en-set", + interrupt-names = "eoc-int-en-set", "high-thr-en-set", "low-thr-en-set"; - qcom,adc-bit-resolution = <15>; - qcom,adc-vdd-reference = <1800>; - qcom,adc_tm-vadc = <&pm8937_vadc>; #thermal-sensor-cells = <1>; - - chan@36 { + qcom,adc-vdd-reference = <1800>; + io-channels = <&pm8937_vadc VADC_REF_625MV>, + <&pm8937_vadc VADC_REF_1250MV>, + <&pm8937_vadc VADC_VDD_VADC>, + <&pm8937_vadc VADC_GND_REF>; + io-channel-names = "ref_625mv", "ref_1250v", "ref_vdd", + "ref_gnd"; + + pa_therm0 { label = "pa_therm0"; - reg = <0x36>; + reg = <VADC_LR_MUX7_HW_ID>; + io-channels = <&pm8937_vadc VADC_LR_MUX7_HW_ID>; + io-channel-names = "pa_therm0"; qcom,decimation = <0>; qcom,pre-div-channel-scaling = <0>; - qcom,calibration-type = "ratiometric"; - qcom,scale-function = <2>; + qcom,ratiometric; + qcom,scale-fn-type = <2>; qcom,hw-settle-time = <2>; qcom,fast-avg-setup = <0>; qcom,btm-channel-number = <0x48>; qcom,thermal-node; }; - chan@7 { + vph_pwr { label = "vph_pwr"; - reg = <0x7>; + reg = <VADC_VSYS>; + io-channels = <&pm8937_vadc VADC_VSYS>; + io-channel-names = "vph_pwr"; qcom,decimation = <0>; qcom,pre-div-channel-scaling = <1>; - qcom,calibration-type = "absolute"; - qcom,scale-function = <0>; + qcom,scale-fn-type = <0>; qcom,hw-settle-time = <0>; qcom,fast-avg-setup = <0>; qcom,btm-channel-number = <0x68>; }; }; - }; pm8937_1: qcom,pm8937@1 { @@ -307,7 +321,7 @@ pa-therm1-adc { polling-delay-passive = <0>; polling-delay = <0>; - thermal-sensors = <&pm8937_vadc 0x11>; + thermal-sensors = <&pm8937_adc_tm_iio VADC_P_MUX2_1_1>; thermal-governor = "user_space"; wake-capable-sensor; @@ -323,7 +337,7 @@ xo-therm-adc { polling-delay-passive = <0>; polling-delay = <0>; - thermal-sensors = <&pm8937_vadc 0x32>; + thermal-sensors = <&pm8937_adc_tm_iio VADC_LR_MUX3_XO_THERM>; thermal-governor = "user_space"; wake-capable-sensor; @@ -339,7 +353,8 @@ xo-therm-buf-adc { polling-delay-passive = <0>; polling-delay = <0>; - thermal-sensors = <&pm8937_vadc 0x3c>; + thermal-sensors = <&pm8937_adc_tm_iio + VADC_LR_MUX3_BUF_XO_THERM>; thermal-governor = "user_space"; wake-capable-sensor; @@ -355,7 +370,7 @@ case-therm-adc { polling-delay-passive = <0>; polling-delay = <0>; - thermal-sensors = <&pm8937_vadc 0x13>; + thermal-sensors = <&pm8937_adc_tm_iio VADC_P_MUX4_1_1>; thermal-governor = "user_space"; wake-capable-sensor; @@ -371,7 +386,7 @@ pa-therm0-adc { polling-delay-passive = <0>; polling-delay = <0>; - thermal-sensors = <&pm8937_adc_tm 0x36>; + thermal-sensors = <&pm8937_adc_tm VADC_LR_MUX7_HW_ID>; thermal-governor = "user_space"; wake-capable-sensor; @@ -385,10 +400,10 @@ }; pm8937_tz { - polling-delay-passive = <0>; + polling-delay-passive = <100>; polling-delay = <0>; thermal-governor = "step_wise"; - thermal-sensors = <&pm8937_temp_alarm>; + thermal-sensors = <&pm8937_tz>; wake-capable-sensor; trips { diff --git a/qcom/pm8953.dtsi b/qcom/pm8953.dtsi index 05a07ecf..ba8b0711 100644 --- a/qcom/pm8953.dtsi +++ b/qcom/pm8953.dtsi @@ -1,3 +1,7 @@ +#include <dt-bindings/iio/qcom,spmi-vadc.h> +#include <dt-bindings/interrupt-controller/irq.h> +#include <dt-bindings/spmi/spmi.h> + &spmi_bus { qcom,pm8953@0 { @@ -41,10 +45,8 @@ compatible = "qcom,spmi-temp-alarm"; reg = <0x2400 0x100>; interrupts = <0x0 0x24 0x0 IRQ_TYPE_EDGE_RISING>; - label = "pm8953_tz"; - qcom,channel-num = <8>; - qcom,threshold-set = <0>; - qcom,temp_alarm-vadc = <&pm8953_vadc>; + io-channels = <&pm8953_vadc VADC_DIE_TEMP>; + io-channel-names = "thermal"; #thermal-sensor-cells = <0>; }; @@ -103,178 +105,166 @@ pm8953_vadc: vadc@3100 { compatible = "qcom,spmi-vadc"; reg = <0x3100 0x100>; + interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>; #address-cells = <1>; #size-cells = <0>; - interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>; - interrupt-names = "eoc-int-en-set"; - qcom,adc-bit-resolution = <15>; - qcom,adc-vdd-reference = <1800>; - qcom,vadc-poll-eoc; - #thermal-sensor-cells = <1>; + #io-channel-cells = <1>; + io-channel-ranges; pinctrl-names = "default"; pinctrl-0 = <&pa_therm1_default &cas_therm_default>; - chan@5 { + /* Channel nodes */ + vcoin { + reg = <VADC_VCOIN>; 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>; + qcom,pre-scaling = <1 3>; }; - chan@7 { + vph_pwr { + reg = <VADC_VSYS>; 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>; + qcom,pre-scaling = <1 3>; }; - chan@8 { + die_temp { + reg = <VADC_DIE_TEMP>; label = "die_temp"; - reg = <8>; - qcom,decimation = <0>; - qcom,pre-div-channel-scaling = <0>; - qcom,calibration-type = "absolute"; - qcom,scale-function = <3>; - qcom,hw-settle-time = <0>; - qcom,fast-avg-setup = <0>; + qcom,pre-scaling = <1 1>; }; - chan@9 { + ref_625mv { + reg = <VADC_REF_625MV>; label = "ref_625mv"; - reg = <9>; - qcom,decimation = <0>; - qcom,pre-div-channel-scaling = <0>; - qcom,calibration-type = "absolute"; - qcom,scale-function = <0>; - qcom,hw-settle-time = <0>; - qcom,fast-avg-setup = <0>; + qcom,pre-scaling = <1 1>; }; - chan@a { + ref_1250v { + reg = <VADC_REF_1250MV>; label = "ref_1250v"; - reg = <0xa>; - qcom,decimation = <0>; - qcom,pre-div-channel-scaling = <0>; - qcom,calibration-type = "absolute"; - qcom,scale-function = <0>; - qcom,hw-settle-time = <0>; - qcom,fast-avg-setup = <0>; + qcom,pre-scaling = <1 1>; }; - chan@c { + ref_buf_625mv { + reg = <VADC_SPARE1>; label = "ref_buf_625mv"; - reg = <0xc>; - qcom,decimation = <0>; - qcom,pre-div-channel-scaling = <0>; - qcom,calibration-type = "absolute"; - qcom,scale-function = <0>; - qcom,hw-settle-time = <0>; - qcom,fast-avg-setup = <0>; + qcom,pre-scaling = <1 1>; + }; + + ref_vdd { + reg = <VADC_VDD_VADC>; + label = "ref_vdd"; + qcom,pre-scaling = <1 1>; }; - chan@36 { + ref_gnd { + reg = <VADC_GND_REF>; + label = "ref_gnd"; + qcom,pre-scaling = <1 1>; + }; + + pa_therm0 { + reg = <VADC_LR_MUX7_HW_ID>; label = "pa_therm0"; - reg = <0x36>; - 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,ratiometric; + qcom,hw-settle-time = <200>; + qcom,pre-scaling = <1 1>; }; - chan@11 { + pa_therm1 { + reg = <VADC_P_MUX2_1_1>; label = "pa_therm1"; - reg = <0x11>; - 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,ratiometric; + qcom,hw-settle-time = <200>; + qcom,pre-scaling = <1 1>; }; - - chan@32 { + xo_therm { + reg = <VADC_LR_MUX3_XO_THERM>; label = "xo_therm"; - reg = <0x32>; - 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,ratiometric; + qcom,hw-settle-time = <200>; + qcom,pre-scaling = <1 1>; }; - chan@3c { + xo_therm_buf { + reg = <VADC_LR_MUX3_BUF_XO_THERM>; label = "xo_therm_buf"; - reg = <0x3c>; - 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,vadc-thermal-node; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + qcom,pre-scaling = <1 1>; }; - chan@13 { + case_therm { + reg = <VADC_P_MUX4_1_1>; label = "case_therm"; - reg = <0x13>; - 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,vadc-thermal-node; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + qcom,pre-scaling = <1 1>; + }; + }; + + pm8953_adc_tm_iio: adc_tm_iio { + compatible = "qcom,adc-tm5-iio"; + reg = <0x3500 0x100>; + #thermal-sensor-cells = <1>; + #address-cells = <1>; + #size-cells = <0>; + io-channels = <&pm8953_vadc VADC_LR_MUX3_BUF_XO_THERM>; + + xo_therm_buf { + reg = <VADC_LR_MUX3_BUF_XO_THERM>; + label = "xo_therm_buf"; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + qcom,pre-scaling = <1 1>; }; }; pm8953_adc_tm: vadc@3400 { - compatible = "qcom,adc-tm-rev2"; + compatible = "qcom,qpnp-adc-tm"; reg = <0x3400 0x100>; #address-cells = <1>; #size-cells = <0>; - interrupts = <0x0 0x34 0x0 IRQ_TYPE_EDGE_RISING>, + interrupts = <0x0 0x34 0x0 IRQ_TYPE_EDGE_RISING>, <0x0 0x34 0x3 IRQ_TYPE_EDGE_RISING>, <0x0 0x34 0x4 IRQ_TYPE_EDGE_RISING>; - interrupt-names = "eoc-int-en-set", + interrupt-names = "eoc-int-en-set", "high-thr-en-set", "low-thr-en-set"; - qcom,adc-bit-resolution = <15>; - qcom,adc-vdd-reference = <1800>; - qcom,adc_tm-vadc = <&pm8953_vadc>; #thermal-sensor-cells = <1>; - - chan@36 { + qcom,adc-vdd-reference = <1800>; + io-channels = <&pm8953_vadc VADC_REF_625MV>, + <&pm8953_vadc VADC_REF_1250MV>, + <&pm8953_vadc VADC_VDD_VADC>, + <&pm8953_vadc VADC_GND_REF>; + io-channel-names = "ref_625mv", "ref_1250v", "ref_vdd", + "ref_gnd"; + + pa_therm0 { label = "pa_therm0"; - reg = <0x36>; + reg = <VADC_LR_MUX7_HW_ID>; + io-channels = <&pm8953_vadc VADC_LR_MUX7_HW_ID>; + io-channel-names = "pa_therm0"; qcom,pre-div-channel-scaling = <0>; qcom,decimation = <0>; - qcom,calibration-type = "ratiometric"; - qcom,scale-function = <2>; + qcom,ratiometric; + qcom,scale-fn-type = <2>; qcom,hw-settle-time = <2>; qcom,btm-channel-number = <0x48>; qcom,fast-avg-setup = <0>; qcom,thermal-node; }; - chan@32 { + xo_therm { label = "xo_therm"; - reg = <0x32>; + reg = <VADC_LR_MUX3_XO_THERM>; + io-channels = <&pm8953_vadc + VADC_LR_MUX3_XO_THERM>; + io-channel-names = "xo_therm"; qcom,pre-div-channel-scaling = <0>; qcom,decimation = <0>; - qcom,calibration-type = "ratiometric"; - qcom,scale-function = <4>; + qcom,ratiometric; + qcom,scale-fn-type = <4>; qcom,hw-settle-time = <2>; qcom,btm-channel-number = <0x68>; qcom,fast-avg-setup = <0>; @@ -329,7 +319,7 @@ xo-therm-adc { polling-delay-passive = <0>; polling-delay = <0>; - thermal-sensors = <&pm8953_adc_tm 0x32>; + thermal-sensors = <&pm8953_adc_tm VADC_LR_MUX3_XO_THERM>; thermal-governor = "user_space"; wake-capable-sensor; @@ -345,7 +335,8 @@ xo-therm-buf-adc { polling-delay-passive = <0>; polling-delay = <0>; - thermal-sensors = <&pm8953_vadc 0x3c>; + thermal-sensors = <&pm8953_adc_tm_iio + VADC_LR_MUX3_BUF_XO_THERM>; thermal-governor = "user_space"; wake-capable-sensor; @@ -358,9 +349,10 @@ }; }; - pm8953_tz { - polling-delay-passive = <0>; + pm8953_temp_alarm: pm8953_tz { + polling-delay-passive = <100>; polling-delay = <0>; + thermal-governor = "step_wise"; thermal-sensors = <&pm8953_tz>; wake-capable-sensor; diff --git a/qcom/qm215-camera.dtsi b/qcom/qm215-camera.dtsi index 9169b3b8..d41f7868 100644 --- a/qcom/qm215-camera.dtsi +++ b/qcom/qm215-camera.dtsi @@ -304,6 +304,7 @@ compatible = "qcom,msm-cam-smmu-cb"; iommus = <&apps_iommu 0x400 0x00>, <&apps_iommu 0x2400 0x00>; + iommu-cells = <2>; qcom,iommu-dma-addr-pool = <0x10000000 0x70000000>; label = "vfe"; qcom,scratch-buf-support; @@ -312,6 +313,7 @@ msm_cam_smmu_cb3: msm_cam_smmu_cb3 { compatible = "qcom,msm-cam-smmu-cb"; iommus = <&apps_iommu 0x1c00 0x00>; + iommu-cells = <2>; qcom,iommu-dma-addr-pool = <0x00020000 0x78000000>; label = "cpp"; }; @@ -319,6 +321,7 @@ msm_cam_smmu_cb4: msm_cam_smmu_cb4 { compatible = "qcom,msm-cam-smmu-cb"; iommus = <&apps_iommu 0x1800 0x00>; + iommu-cells = <2>; qcom,iommu-dma-addr-pool = <0x00020000 0x78000000>; label = "jpeg_enc0"; }; diff --git a/qcom/qm215-pm8916.dtsi b/qcom/qm215-pm8916.dtsi index 2433e885..13797f13 100644 --- a/qcom/qm215-pm8916.dtsi +++ b/qcom/qm215-pm8916.dtsi @@ -198,165 +198,159 @@ }; &pm8916_vadc { - chan@0 { + #thermal-sensor-cells = <1>; + usb_in { + reg = <VADC_USBIN>; label = "usb_in"; - reg = <0>; - qcom,decimation = <0>; - qcom,pre-div-channel-scaling = <7>; - qcom,calibration-type = "absolute"; - qcom,scale-function = <0>; - qcom,hw-settle-time = <0>; - qcom,fast-avg-setup = <0>; + qcom,pre-scaling = <1 10>; }; - chan@2 { + ireg_fb { + reg = <VADC_VCHG_SNS>; label = "ireg_fb"; - reg = <2>; - qcom,decimation = <0>; - qcom,pre-div-channel-scaling = <6>; - qcom,calibration-type = "absolute"; - qcom,scale-function = <0>; - qcom,hw-settle-time = <0>; - qcom,fast-avg-setup = <0>; + qcom,pre-scaling = <10 81>; }; - chan@5 { + vcoin { + reg = <VADC_VCOIN>; 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>; + qcom,pre-scaling = <1 3>; }; - chan@6 { + vbat_sns { + reg = <VADC_VBAT_SNS>; label = "vbat_sns"; - reg = <6>; - 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>; + qcom,pre-scaling = <1 3>; }; - chan@7 { + vph_pwr { + reg = <VADC_VSYS>; 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>; + qcom,pre-scaling = <1 3>; }; - chan@b { + chg_temp { + reg = <VADC_CHG_TEMP>; label = "chg_temp"; - reg = <0xb>; - qcom,decimation = <0>; - qcom,pre-div-channel-scaling = <0>; - qcom,calibration-type = "absolute"; - qcom,scale-function = <3>; - qcom,hw-settle-time = <0>; - qcom,fast-avg-setup = <0>; + qcom,pre-scaling = <1 1>; }; - chan@11 { + skin_therm { + reg = <VADC_P_MUX2_1_1>; label = "skin_therm"; - reg = <0x11>; - 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,vadc-thermal-node; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + qcom,pre-scaling = <1 1>; }; - chan@30 { + batt_therm { + reg = <VADC_LR_MUX1_BAT_THERM>; label = "batt_therm"; - reg = <0x30>; - qcom,decimation = <0>; - qcom,pre-div-channel-scaling = <0>; qcom,calibration-type = "ratiometric"; - qcom,scale-function = <26>; - qcom,hw-settle-time = <0xb>; - qcom,fast-avg-setup = <0>; + qcom,ratiometric; + qcom,hw-settle-time = <2000>; + qcom,pre-scaling = <1 1>; }; - chan@31 { + batt_id { + reg = <VADC_LR_MUX2_BAT_ID>; label = "batt_id"; - reg = <0x31>; - qcom,decimation = <0>; - qcom,pre-div-channel-scaling = <0>; - qcom,calibration-type = "ratiometric"; - qcom,scale-function = <0>; - qcom,hw-settle-time = <0xb>; - qcom,fast-avg-setup = <0>; + qcom,ratiometric; + qcom,hw-settle-time = <2000>; + qcom,pre-scaling = <1 1>; }; - chan@36 { + pa_therm0 { + reg = <VADC_LR_MUX7_HW_ID>; label = "pa_therm0"; - reg = <0x36>; - 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,vadc-thermal-node; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + qcom,pre-scaling = <1 1>; }; - chan@32 { + xo_therm { + reg = <VADC_LR_MUX3_XO_THERM>; label = "xo_therm"; - reg = <0x32>; - 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,vadc-thermal-node; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + qcom,pre-scaling = <1 1>; }; - chan@3c { + xo_therm_buf { + reg = <VADC_LR_MUX3_BUF_XO_THERM>; label = "xo_therm_buf"; - reg = <0x3c>; - 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,vadc-thermal-node; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + qcom,pre-scaling = <1 1>; + }; +}; + +&pm8916_adc_tm_iio { + io-channels = <&pm8916_vadc VADC_LR_MUX3_BUF_XO_THERM>, + <&pm8916_vadc VADC_LR_MUX3_XO_THERM>, + <&pm8916_vadc VADC_LR_MUX7_HW_ID>, + <&pm8916_vadc VADC_P_MUX2_1_1>; + io-channel-names = "xo_therm_buf", "xo_therm", "pa_therm0", + "skin_therm"; + + pa_therm0 { + reg = <VADC_LR_MUX7_HW_ID>; + label = "pa_therm0"; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + qcom,pre-scaling = <1 1>; + }; + + xo_therm { + reg = <VADC_LR_MUX3_XO_THERM>; + label = "xo_therm"; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + qcom,pre-scaling = <1 1>; + }; + + xo_therm_buf { + reg = <VADC_LR_MUX3_BUF_XO_THERM>; + label = "xo_therm_buf"; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + qcom,pre-scaling = <1 1>; + }; + + skin_therm { + reg = <VADC_P_MUX2_1_1>; + label = "skin_therm"; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + qcom,pre-scaling = <1 1>; }; }; &pm8916_adc_tm { - /* Channel Node */ - chan@30 { + /* Channel Nodes */ + batt_therm { + reg = <VADC_LR_MUX1_BAT_THERM>; label = "batt_therm"; - reg = <0x30>; - qcom,decimation = <0>; + io-channels = <&pm8916_vadc VADC_LR_MUX1_BAT_THERM>; + io-channel-names = "batt_therm"; qcom,pre-div-channel-scaling = <0>; - qcom,calibration-type = "ratiometric"; - qcom,scale-function = <8>; + qcom,decimation = <0>; + qcom,ratiometric; qcom,hw-settle-time = <0xb>; + qcom,scale-fn-type = <8>; qcom,fast-avg-setup = <0x2>; qcom,btm-channel-number = <0x48>; }; - chan@6 { + vbat_sns { + reg = <VADC_VBAT_SNS>; label = "vbat_sns"; - reg = <0x6>; - qcom,decimation = <0>; + io-channels = <&pm8916_vadc VADC_VBAT_SNS>; + io-channel-names = "vbat_sns"; qcom,pre-div-channel-scaling = <1>; - qcom,calibration-type = "absolute"; - qcom,scale-function = <0>; + qcom,decimation = <0>; qcom,hw-settle-time = <0xb>; + qcom,scale-fn-type = <0>; qcom,fast-avg-setup = <0x2>; qcom,btm-channel-number = <0x68>; }; @@ -367,7 +361,8 @@ xo-therm-buf-adc { polling-delay-passive = <0>; polling-delay = <5000>; - thermal-sensors = <&pm8916_vadc 0x3c>; + thermal-sensors = <&pm8916_adc_tm_iio + VADC_LR_MUX3_BUF_XO_THERM>; thermal-governor = "user_space"; trips { @@ -382,7 +377,8 @@ xo-therm-adc { polling-delay-passive = <0>; polling-delay = <5000>; - thermal-sensors = <&pm8916_vadc 0x32>; + thermal-sensors = <&pm8916_adc_tm_iio + VADC_LR_MUX3_XO_THERM>; thermal-governor = "user_space"; trips { @@ -397,7 +393,8 @@ pa-therm0-adc { polling-delay-passive = <0>; polling-delay = <5000>; - thermal-sensors = <&pm8916_vadc 0x36>; + thermal-sensors = <&pm8916_adc_tm_iio + VADC_LR_MUX7_HW_ID>; thermal-governor = "user_space"; trips { @@ -412,7 +409,8 @@ skin-therm-adc { polling-delay-passive = <0>; polling-delay = <5000>; - thermal-sensors = <&pm8916_vadc 0x11>; + thermal-sensors = <&pm8916_adc_tm_iio + VADC_P_MUX2_1_1>; thermal-governor = "user_space"; trips { @@ -433,7 +431,7 @@ }; pm8916_tz { - polling-delay-passive = <0>; + polling-delay-passive = <100>; polling-delay = <0>; thermal-governor = "step_wise"; thermal-sensors = <&pm8916_tz>; @@ -462,7 +460,8 @@ xo-therm-step { polling-delay-passive = <1000>; polling-delay = <5000>; - thermal-sensors = <&pm8916_vadc 0x32>; + thermal-sensors = <&pm8916_adc_tm_iio + VADC_LR_MUX3_XO_THERM>; thermal-governor = "step_wise"; trips { diff --git a/qcom/qm215-qrd-smb1360.dtsi b/qcom/qm215-qrd-smb1360.dtsi index 84e9e78b..97568702 100644 --- a/qcom/qm215-qrd-smb1360.dtsi +++ b/qcom/qm215-qrd-smb1360.dtsi @@ -1,4 +1,5 @@ #include "qm215-qrd.dtsi" +#include <dt-bindings/iio/qcom,spmi-vadc.h> &pm8916_chg { qcom,use-external-charger; @@ -71,6 +72,8 @@ qcom,cool-bat-mv = <4200>; qcom,warm-bat-ma = <1000>; qcom,cool-bat-ma = <1000>; + io-channels = <&pm8916_vadc VADC_LR_MUX2_BAT_ID>; + io-channel-names = "batt_id"; status= "okay"; }; }; diff --git a/qcom/qm215.dtsi b/qcom/qm215.dtsi index baddee56..3efe1657 100644 --- a/qcom/qm215.dtsi +++ b/qcom/qm215.dtsi @@ -27,10 +27,6 @@ compatible = "qcom,gcc-qm215", "syscon"; }; -&debugcc { - compatible = "qcom,qm215-debugcc"; -}; - &msm_cpufreq { /delete-property/qcom,cpufreq-table; qcom,cpufreq-table = diff --git a/qcom/qrb5165n-iot-rb5.dts b/qcom/qrb5165n-iot-rb5.dts new file mode 100644 index 00000000..b046e532 --- /dev/null +++ b/qcom/qrb5165n-iot-rb5.dts @@ -0,0 +1,10 @@ +/dts-v1/; + +#include "qrb5165n.dtsi" +#include "qrb5165n-iot-rb5.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. QRB5165N IOT RB5"; + compatible = "qcom,kona-iot", "qcom,kona", "qcom,iot"; + qcom,board-id = <11 3>; +}; diff --git a/qcom/qrb5165n-iot-rb5.dtsi b/qcom/qrb5165n-iot-rb5.dtsi new file mode 100644 index 00000000..4a59978f --- /dev/null +++ b/qcom/qrb5165n-iot-rb5.dtsi @@ -0,0 +1,48 @@ +#include "kona-v2.1-iot-rb5.dtsi" + +&pcie0 { + /delete-property/ qcom,config-recovery; + iommu-map = <0x0 &apps_smmu 0x1c00 0x1>, + <0x100 &apps_smmu 0x1c01 0x1>, + <0x200 &apps_smmu 0x1c02 0x1>, + <0x210 &apps_smmu 0x1c03 0x1>, + <0x230 &apps_smmu 0x1c04 0x1>, + <0x270 &apps_smmu 0x1c05 0x1>, + <0x500 &apps_smmu 0x1c06 0x1>; +}; + +&pcie0_rp { + #address-cells = <5>; + #size-cells = <0>; + + /delete-node/ cnss_pci; + asm2806_switch: asm2806_switch { + reg = <0x00010000 0x0 0x0 0x0 0x0>; + #address-cells = <5>; + #size-cells = <0>; + + lane6: lane6 { + reg = <0x00023000 0x0 0x0 0x0 0x0>; + #address-cells = <5>; + #size-cells = <0>; + + cnss_pci: cnss_pci { + reg = <0x00050000 0x0 0x0 0x0 0x0>; + qcom,iommu-group = <&cnss_pci_iommu_group>; + memory-region = <&cnss_wlan_mem>; + + #address-cells = <1>; + #size-cells = <1>; + + cnss_pci_iommu_group: cnss_pci_iommu_group { + qcom,iommu-dma-addr-pool = <0xa0000000 0x10000000>; + qcom,iommu-dma = "fastmap"; + qcom,iommu-pagetable = "coherent"; + qcom,iommu-faults = "stall-disable", "HUPCF", "no-CFRE", + "non-fatal"; + }; + }; + }; + }; +}; + diff --git a/qcom/qrb5165n.dtsi b/qcom/qrb5165n.dtsi new file mode 100644 index 00000000..ccd1c3ec --- /dev/null +++ b/qcom/qrb5165n.dtsi @@ -0,0 +1,7 @@ +#include "kona-v2.1.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. QRB5165N"; + compatible = "qcom,kona"; + qcom,msm-id = <496 0x20001>; +}; diff --git a/qcom/scuba-usb.dtsi b/qcom/scuba-usb.dtsi index 819e7442..1ac6525d 100644 --- a/qcom/scuba-usb.dtsi +++ b/qcom/scuba-usb.dtsi @@ -88,6 +88,7 @@ snps,dis_enblslpm_quirk; snps,has-lpm-erratum; snps,hird-threshold = /bits/ 8 <0x10>; + snps,usb3-u1u2-disable; snps,usb3_lpm_capable; usb-core-id = <0>; maximum-speed = "super-speed"; diff --git a/qcom/sdm429-cpu.dtsi b/qcom/sdm429-cpu.dtsi index d1749dc7..944023aa 100644 --- a/qcom/sdm429-cpu.dtsi +++ b/qcom/sdm429-cpu.dtsi @@ -31,25 +31,21 @@ reg = <0x100>; enable-method = "psci"; cpu-release-addr = <0x0 0x90000000>; - efficiency = <1024>; + capacity-dmips-mhz = <1024>; sched-energy-costs = <&CPU_COST_0>; next-level-cache = <&L2_1>; #cooling-cells = <2>; L2_1: l2-cache { compatible = "arm,arch-cache"; cache-level = <2>; - /* A53 L2 dump not supported */ - qcom,dump-size = <0x0>; }; L1_I_100: l1-icache { compatible = "arm,arch-cache"; - qcom,dump-size = <0x8800>; }; L1_D_100: l1-dcache { compatible = "arm,arch-cache"; - qcom,dump-size = <0x9000>; }; }; @@ -59,18 +55,16 @@ reg = <0x101>; enable-method = "psci"; cpu-release-addr = <0x0 0x90000000>; - efficiency = <1024>; + capacity-dmips-mhz = <1024>; sched-energy-costs = <&CPU_COST_0>; next-level-cache = <&L2_1>; #cooling-cells = <2>; L1_I_101: l1-icache { compatible = "arm,arch-cache"; - qcom,dump-size = <0x8800>; }; L1_D_101: l1-dcache { compatible = "arm,arch-cache"; - qcom,dump-size = <0x9000>; }; }; @@ -80,18 +74,16 @@ reg = <0x102>; enable-method = "psci"; cpu-release-addr = <0x0 0x90000000>; - efficiency = <1024>; + capacity-dmips-mhz = <1024>; sched-energy-costs = <&CPU_COST_0>; next-level-cache = <&L2_1>; #cooling-cells = <2>; L1_I_102: l1-icache { compatible = "arm,arch-cache"; - qcom,dump-size = <0x8800>; }; L1_D_102: l1-dcache { compatible = "arm,arch-cache"; - qcom,dump-size = <0x9000>; }; }; @@ -101,18 +93,16 @@ reg = <0x103>; enable-method = "psci"; cpu-release-addr = <0x0 0x90000000>; - efficiency = <1024>; + capacity-dmips-mhz = <1024>; sched-energy-costs = <&CPU_COST_0>; next-level-cache = <&L2_1>; #cooling-cells = <2>; L1_I_103: l1-icache { compatible = "arm,arch-cache"; - qcom,dump-size = <0x8800>; }; L1_D_103: l1-dcache { compatible = "arm,arch-cache"; - qcom,dump-size = <0x9000>; }; }; @@ -122,13 +112,13 @@ CPU_COST_0: core-cost0 { busy-cost-data = < - 960000 159 - 1305600 207 - 1497600 256 - 1708800 327 - 1804800 343 - 1958400 445 - 2016000 470 + 488 159 + 663 207 + 761 256 + 868 327 + 917 343 + 995 445 + 1024 470 >; }; }; diff --git a/qcom/sdm429.dtsi b/qcom/sdm429.dtsi index a7b859f6..bbe4452a 100644 --- a/qcom/sdm429.dtsi +++ b/qcom/sdm429.dtsi @@ -31,16 +31,18 @@ }; }; + /delete-node/ syscon@0b11101c; + cpu_debug: syscon@0b01101c { + compatible = "syscon"; + reg = <0x0b01101c 0x4>; + }; + /delete-node/ qcom,msm-cpufreq; msm_cpufreq: qcom,msm-cpufreq { compatible = "qcom,msm-cpufreq"; - clock-names = - "l2_clk", - "cpu0_clk"; - /* TODO - * clocks = <&clock_cpu clk_cci_clk>, - * <&clock_cpu clk_a53_bc_clk>; - */ + clocks = <&apsscc APCS_MUX_CCI_CLK>, + <&apsscc APCS_MUX_C1_CLK>; + clock-names = "l2_clk", "cpu0_clk"; qcom,governor-per-policy; @@ -54,6 +56,8 @@ < 2016000 >; }; + /delete-node/ qcom,cpu4-cpu-ddr-latfloor; + /delete-node/ qcom,cpu0-cpugrp; cpu0_memlat_cpugrp: qcom,cpu0-cpugrp { compatible = "qcom,arm-memlat-cpugrp"; @@ -62,10 +66,10 @@ cpu0_computemon: qcom,cpu0-computemon { compatible = "qcom,arm-compute-mon"; qcom,cpulist = <&CPU0 &CPU1 &CPU2 &CPU3>; - qcom,target-dev = <&cpu_cpu_ddr_latfloor>; + qcom,target-dev = <&cpu0_cpu_ddr_latfloor>; qcom,core-dev-table = < 1305600 MHZ_TO_MBPS(384, 8) >, - < 1804800 MHZ_TO_MBPS(557, 8) >; + < 1804800 MHZ_TO_MBPS(749, 8) >; }; }; @@ -109,36 +113,28 @@ }; &debugcc { - compatible = "qcom,msm8937-debugcc"; - reg = <0x1874000 0x4>, - <0xb01101c 0x8>; - reg-names = "cc_base", "meas"; - #clock-cells = <1>; + compatible = "qcom,sdm429-debugcc"; + qcom,cpu = <&cpu_debug>; }; &soc { - /delete-node/ qcom,cpu-clock-8939@b111050; - clock_cpu: qcom,cpu-clock-8939@b111050 { + /delete-node/ qcom,clock-cpu@b111050; + apsscc: qcom,clock-cpu@b111050 { compatible = "qcom,cpu-clock-sdm429"; - reg = <0xb011050 0x8>, <0xb1d1050 0x8>, - <0x00a412c 0x8>; + <0xb016000 0x34>, + <0x00a412c 0x8>, + <0xb011200 0x100>; reg-names = "apcs-c1-rcg-base", - "apcs-cci-rcg-base", "efuse"; - - qcom,num-cluster; - vdd-c1-supply = <&apc_vreg_corner>; - vdd-cci-supply = <&apc_vreg_corner>; - - clocks = <&gcc GPLL0_AO_CLK_SRC>, - /* TODO - * <&gcc A53SS_C1_PLL TODO>, - */ - <&gcc GPLL0_AO_CLK_SRC>, - <&gcc GPLL0_AO_CLK_SRC>; - clock-names = "clk-c1-4", "clk-c1-5", - "clk-cci-4", "clk-cci-2"; + "apcs-cci-rcg-base", "apcs_pll1", "efuse", + "spm_c1_base"; + clocks = <&rpmcc RPM_SMD_XO_A_CLK_SRC>, + <&gcc GPLL0_AO_OUT_MAIN>; + clock-names = "xo_ao", "gpll0_ao" ; + cpu-vdd-supply = <&apc_vreg_corner>; + vdd_dig_ao-supply = <&pm8953_s2_level_ao>; + vdd_hf_pll-supply = <&pm8953_l7_ao>; qcom,speed0-bin-v0-c1 = < 0 0>, @@ -193,6 +189,29 @@ < 533333333 3>; #clock-cells = <1>; + + qcom,cpu-isolation { + compatible = "qcom,cpu-isolate"; + cpu0_isolate: cpu0-isolate { + qcom,cpu = <&CPU0>; + #cooling-cells = <2>; + }; + + cpu1_isolate: cpu1-isolate { + qcom,cpu = <&CPU1>; + #cooling-cells = <2>; + }; + + cpu2_isolate: cpu2-isolate { + qcom,cpu = <&CPU2>; + #cooling-cells = <2>; + }; + + cpu3_isolate: cpu3-isolate { + qcom,cpu = <&CPU3>; + #cooling-cells = <2>; + }; + }; }; /* Disable secure_mem node */ diff --git a/qcom/sdm439-audio.dtsi b/qcom/sdm439-audio.dtsi index 45af372f..3c4bc7ec 100644 --- a/qcom/sdm439-audio.dtsi +++ b/qcom/sdm439-audio.dtsi @@ -16,6 +16,8 @@ clock_audio_native: audio_ext_clk_native { status = "disabled"; compatible = "qcom,audio-ref-clk"; + qcom,use-pinctrl = <1>; + qcom,codec-ext-clk-src = <2>; #clock-cells = <1>; qcom,codec-mclk-clk-freq = <11289600>; qcom,audio-ref-clk-gpio = <&tlmm 66 0>; diff --git a/qcom/sdm439-camera-sensor-cdp.dtsi b/qcom/sdm439-camera-sensor-cdp.dtsi index 6e93d685..2702749e 100644 --- a/qcom/sdm439-camera-sensor-cdp.dtsi +++ b/qcom/sdm439-camera-sensor-cdp.dtsi @@ -191,7 +191,7 @@ qcom,csiphy-sd-index = <0>; qcom,csid-sd-index = <0>; qcom,mount-angle = <270>; - qcom,led-flash-src = </*&led_flash0 TODO*/>; + qcom,led-flash-src = <&led_flash0>; qcom,eeprom-src = <&eeprom0>; qcom,actuator-src = <&actuator0>; cam_vana-supply = <&pm8953_l22>; diff --git a/qcom/sdm439-camera-sensor-mtp.dtsi b/qcom/sdm439-camera-sensor-mtp.dtsi index cb1f4a2f..58352526 100644 --- a/qcom/sdm439-camera-sensor-mtp.dtsi +++ b/qcom/sdm439-camera-sensor-mtp.dtsi @@ -15,7 +15,7 @@ qcom,cam-vreg-min-voltage = <2850000>; qcom,cam-vreg-max-voltage = <2850000>; qcom,cam-vreg-op-mode = <80000>; - status = "disabled"; + status = "ok"; }; actuator1: qcom,actuator@1 { @@ -28,7 +28,7 @@ qcom,cam-vreg-min-voltage = <2850000>; qcom,cam-vreg-max-voltage = <2850000>; qcom,cam-vreg-op-mode = <80000>; - status = "disabled"; + status = "ok"; }; eeprom0: qcom,eeprom@0 { @@ -62,7 +62,7 @@ qcom,gpio-req-tbl-label = "CAMIF_MCLK0", "CAM_RESET0", "CAM_VANA"; - status = "disabled"; + status = "ok"; clocks = <&gcc MCLK0_CLK_SRC>, <&gcc GCC_CAMSS_MCLK0_CLK>; clock-names = "cam_src_clk", "cam_clk"; @@ -142,7 +142,7 @@ "sensor_cam_mclk"; qcom,cam-power-seq-cfg-val = <1 1 1 1 1 24000000>; qcom,cam-power-seq-delay = <1 1 1 30 30 5>; - status = "disabled"; + status = "ok"; clocks = <&gcc MCLK2_CLK_SRC>, <&gcc GCC_CAMSS_MCLK2_CLK>; clock-names = "cam_src_clk", "cam_clk"; @@ -179,7 +179,7 @@ qcom,gpio-req-tbl-label = "CAMIF_MCLK2", "CAM_RESET2", "CAM_STANDBY2"; - status = "disabled"; + status = "ok"; clocks = <&gcc MCLK2_CLK_SRC>, <&gcc GCC_CAMSS_MCLK2_CLK>; clock-names = "cam_src_clk", "cam_clk"; @@ -193,7 +193,7 @@ qcom,csiphy-sd-index = <0>; qcom,csid-sd-index = <0>; qcom,mount-angle = <270>; - qcom,led-flash-src = </*&led_flash0 TODO*/>; + qcom,led-flash-src = <&led_flash0>; qcom,eeprom-src = <&eeprom0>; qcom,actuator-src = <&actuator0>; cam_vana-supply = <&pm8953_l22>; diff --git a/qcom/sdm439-camera-sensor-qrd.dtsi b/qcom/sdm439-camera-sensor-qrd.dtsi index 1c60c8df..25882a4b 100644 --- a/qcom/sdm439-camera-sensor-qrd.dtsi +++ b/qcom/sdm439-camera-sensor-qrd.dtsi @@ -15,7 +15,7 @@ qcom,cam-vreg-min-voltage = <2850000>; qcom,cam-vreg-max-voltage = <2850000>; qcom,cam-vreg-op-mode = <80000>; - status = "disabled"; + status = "ok"; }; actuator1: qcom,actuator@1 { @@ -28,7 +28,7 @@ qcom,cam-vreg-min-voltage = <2850000>; qcom,cam-vreg-max-voltage = <2850000>; qcom,cam-vreg-op-mode = <80000>; - status = "disabled"; + status = "ok"; }; eeprom0: qcom,eeprom@0 { @@ -62,7 +62,7 @@ qcom,gpio-req-tbl-label = "CAMIF_MCLK0", "CAM_RESET0", "CAM_VANA"; - status = "disabled"; + status = "ok"; clocks = <&gcc MCLK0_CLK_SRC>, <&gcc GCC_CAMSS_MCLK0_CLK>; clock-names = "cam_src_clk", "cam_clk"; @@ -143,7 +143,7 @@ "sensor_cam_mclk"; qcom,cam-power-seq-cfg-val = <1 1 1 1 1 24000000>; qcom,cam-power-seq-delay = <1 1 1 30 30 5>; - status = "disabled"; + status = "ok"; clocks = <&gcc MCLK2_CLK_SRC>, <&gcc GCC_CAMSS_MCLK2_CLK>; clock-names = "cam_src_clk", "cam_clk"; @@ -157,7 +157,7 @@ qcom,csiphy-sd-index = <0>; qcom,csid-sd-index = <0>; qcom,mount-angle = <90>; - qcom,led-flash-src = </*&led_flash0 TODO*/>; + qcom,led-flash-src = <&led_flash0>; qcom,eeprom-src = <&eeprom0>; qcom,actuator-src = <&actuator0>; cam_vana-supply = <&pm8953_l22>; diff --git a/qcom/sdm439-ext-audio-mtp.dtsi b/qcom/sdm439-ext-audio-mtp.dtsi index 2d53e873..ff2dc250 100644 --- a/qcom/sdm439-ext-audio-mtp.dtsi +++ b/qcom/sdm439-ext-audio-mtp.dtsi @@ -2,6 +2,10 @@ status = "disabled"; }; +&pmic_analog_codec { + status = "disabled"; +}; + &wsa881x_i2c_f { status = "disabled"; }; @@ -10,6 +14,10 @@ status = "disabled"; }; +&wsa881x_analog_clk { + status = "disabled"; +}; + &cdc_pri_mi2s_gpios { status = "disabled"; }; @@ -42,6 +50,10 @@ status = "okay"; }; +&clock_audio_native { + status = "okay"; +}; + &wcd9335 { status = "okay"; }; diff --git a/qcom/sdm439-pm8953.dtsi b/qcom/sdm439-pm8953.dtsi index 7dad3778..27b9179e 100644 --- a/qcom/sdm439-pm8953.dtsi +++ b/qcom/sdm439-pm8953.dtsi @@ -76,9 +76,9 @@ vdd_hf_pll-supply = <&pm8953_l7_ao>; }; - qcom,cpu-clock-8939@b111050 { + qcom,clock-cpu@b111050 { /delete-property/ vdd-c0-supply; - /delete-property/ vdd-c1-supply; + /delete-property/ cpu-vdd-supply; /delete-property/ vdd-cci-supply; }; @@ -271,7 +271,7 @@ pa-therm0 { polling-delay-passive = <0>; polling-delay = <0>; - thermal-sensors = <&pm8953_adc_tm 0x36>; + thermal-sensors = <&pm8953_adc_tm VADC_LR_MUX7_HW_ID>; thermal-governor = "user_space"; wake-capable-sensor; @@ -287,7 +287,7 @@ &pm8953_vadc { pinctrl-0 = <&pa_therm1_default>; - /delete-node/ chan@13; + /delete-node/ case_therm; }; &pm8953_mpps { diff --git a/qcom/sdm439-pmi632.dtsi b/qcom/sdm439-pmi632.dtsi index 6ddeacff..e9a3d57f 100644 --- a/qcom/sdm439-pmi632.dtsi +++ b/qcom/sdm439-pmi632.dtsi @@ -16,7 +16,6 @@ }; &usb_otg { - vbus_otg-supply = <&smb5_vbus>; extcon = <&pmi632_charger>; }; @@ -25,6 +24,17 @@ qcom,ps-hold-shutdown-disable; }; +&soc { + led_flash0: qcom,camera-flash { + cell-index = <0>; + compatible = "qcom,camera-flash"; + qcom,flash-type = <1>; + qcom,flash-source = <&pmi632_flash0 &pmi632_flash1>; + qcom,torch-source = <&pmi632_torch0 &pmi632_torch1>; + qcom,switch-source = <&pmi632_switch0>; + }; +}; + / { mtp_batterydata: qcom,battery-data { qcom,batt-id-range-pct = <15>; diff --git a/qcom/sdm439-qrd.dtsi b/qcom/sdm439-qrd.dtsi index b2b1384e..ddcaeb33 100644 --- a/qcom/sdm439-qrd.dtsi +++ b/qcom/sdm439-qrd.dtsi @@ -346,12 +346,6 @@ #include "smb1355.dtsi" }; -&pmi632_vadc { - chan@4a { - qcom,scale-function = <22>; - }; -}; - &pmi632_gpios { smb_en { smb_en_default: smb_en_default { diff --git a/qcom/sdm439.dtsi b/qcom/sdm439.dtsi index e740be3f..e0006c1f 100644 --- a/qcom/sdm439.dtsi +++ b/qcom/sdm439.dtsi @@ -36,15 +36,11 @@ /delete-node/ qcom,msm-cpufreq; msm_cpufreq: qcom,msm-cpufreq { compatible = "qcom,msm-cpufreq"; - clock-names = - "l2_clk", - "cpu0_clk", - "cpu4_clk"; - /* TODO - * clocks = <&clock_cpu clk_cci_clk>, - * <&clock_cpu clk_a53_bc_clk>, - * <&clock_cpu clk_a53_lc_clk>; - */ + + clocks = <&apsscc APCS_MUX_CCI_CLK>, + <&apsscc APCS_MUX_C1_CLK>, + <&apsscc APCS_MUX_C0_CLK>; + clock-names = "l2_clk", "cpu0_clk", "cpu4_clk"; qcom,governor-per-policy; @@ -101,13 +97,21 @@ operating-points-v2 = <&ddr_bw_opp_table>; }; + /delete-node/ qcom,cpu4-cpu-ddr-latfloor; + cpu4_cpu_ddr_latfloor: qcom,cpu4-cpu-ddr-latfloor { + compatible = "qcom,devbw"; + governor = "performance"; + qcom,src-dst-ports = + <MSM_BUS_MASTER_AMPSS_M0 MSM_BUS_SLAVE_EBI_CH0>; + qcom,active-only; + operating-points-v2 = <&ddr_bw_opp_table>; + }; + /delete-node/ qcom,cci; cci_cache: qcom,cci { compatible = "devfreq-simple-dev"; clock-names = "devfreq_clk"; - /* TODO - * clocks = <&clock_cpu clk_cci_clk>; - */ + clocks = <&apsscc APCS_MUX_CCI_CLK>; governor = "performance"; freq-tbl-khz = < 400000 >, @@ -125,7 +129,7 @@ cpu0_computemon: qcom,cpu0-computemon { compatible = "qcom,arm-compute-mon"; qcom,cpulist = <&CPU0 &CPU1 &CPU2 &CPU3>; - qcom,target-dev = <&cpu_cpu_ddr_latfloor>; + qcom,target-dev = <&cpu0_cpu_ddr_latfloor>; qcom,core-dev-table = < 1305600 MHZ_TO_MBPS(384, 8) >, < 1804800 MHZ_TO_MBPS(557, 8) >; @@ -140,7 +144,7 @@ cpu4_computemon: qcom,cpu4-computemon { compatible = "qcom,arm-compute-mon"; qcom,cpulist = <&CPU4 &CPU5 &CPU6 &CPU7>; - qcom,target-dev = <&cpu_cpu_ddr_latfloor>; + qcom,target-dev = <&cpu4_cpu_ddr_latfloor>; qcom,core-dev-table = < 1171200 MHZ_TO_MBPS(384, 8) >, < 1459200 MHZ_TO_MBPS(749, 8) >; @@ -155,13 +159,13 @@ CPU_COST_0: core-cost0 { busy-cost-data = < - 800000 137 - 1305600 207 - 1497600 256 - 1708800 327 - 1804800 343 - 1958400 445 - 2016000 470 + 406 137 + 663 207 + 761 256 + 868 327 + 917 343 + 995 445 + 1024 470 >; idle-cost-data = < 100 80 60 40 @@ -170,11 +174,11 @@ CPU_COST_1: core-cost1 { busy-cost-data = < - 768000 43 - 998400 56 - 1171200 71 - 1305600 89 - 1459200 120 + 355 43 + 461 56 + 541 71 + 603 89 + 674 120 >; }; }; @@ -233,11 +237,12 @@ }; }; -&clock_cpu { - compatible = "qcom,cpu-clock-sdm439"; - vdd-c0-supply = <&apc_vreg_corner>; - vdd-c1-supply = <&apc_vreg_corner>; - vdd-cci-supply = <&apc_vreg_corner>; +&apsscc { + cpu-vdd-supply = <&apc_vreg_corner>; + vdd_hf_pll-supply = <&pm8953_l7_ao>; + vdd_dig_ao-supply = <&pm8953_s2_level_ao>; + vdd_sr2_pll-supply = <&pm8953_l7_ao>; + vdd_sr2_dig_ao-supply = <&pm8953_s2_level_ao>; qcom,speed0-bin-v0-c0 = < 0 0>, < 768000000 1>, diff --git a/qcom/sdm660-camera.dtsi b/qcom/sdm660-camera.dtsi index bd3827a9..420102e1 100644 --- a/qcom/sdm660-camera.dtsi +++ b/qcom/sdm660-camera.dtsi @@ -298,6 +298,7 @@ <&mmss_bimc_smmu 0xc01>, <&mmss_bimc_smmu 0xc02>, <&mmss_bimc_smmu 0xc03>; + iommu-cells = <1>; label = "vfe"; qcom,scratch-buf-support; }; @@ -305,18 +306,21 @@ msm_cam_smmu_cb2 { compatible = "qcom,msm-cam-smmu-cb"; iommus = <&mmss_bimc_smmu 0xa00>; + iommu-cells = <1>; label = "cpp"; }; msm_cam_smmu_cb4 { compatible = "qcom,msm-cam-smmu-cb"; iommus = <&mmss_bimc_smmu 0x800>; + iommu-cells = <1>; label = "jpeg_enc0"; }; msm_cam_smmu_cb5 { compatible = "qcom,msm-cam-smmu-cb"; iommus = <&mmss_bimc_smmu 0x801>; + iommu-cells = <1>; label = "jpeg_dma"; }; }; diff --git a/qcom/sdm660-coresight.dtsi b/qcom/sdm660-coresight.dtsi index 041e8a4d..0758d73a 100644 --- a/qcom/sdm660-coresight.dtsi +++ b/qcom/sdm660-coresight.dtsi @@ -17,14 +17,14 @@ tmc_etr: tmc@6048000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b961>; + arm,primecell-periphid = <0x000bb961>; reg = <0x6048000 0x1000>, <0x6064000 0x15000>; reg-names = "tmc-base", "bam-base"; arm,buffer-size = <0x400000>; - arm,sg-enable; + arm,scatter-gather; arm,default-sink; coresight-csr = <&csr>; @@ -46,7 +46,7 @@ replicator_qdss: replicator@6046000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b909>; + arm,primecell-periphid = <0x000bb909>; reg = <0x6046000 0x1000>; reg-names = "replicator-base"; @@ -81,7 +81,7 @@ tmc_etf: tmc@6047000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b961>; + arm,primecell-periphid = <0x000bb961>; reg = <0x6047000 0x1000>; reg-names = "tmc-base"; @@ -120,7 +120,7 @@ funnel_merg: funnel@6045000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b908>; + arm,primecell-periphid = <0x000bb908>; reg = <0x6045000 0x1000>; reg-names = "funnel-base"; @@ -163,7 +163,7 @@ funnel_in0: funnel@6041000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b908>; + arm,primecell-periphid = <0x000bb908>; reg = <0x6041000 0x1000>; reg-names = "funnel-base"; @@ -213,7 +213,7 @@ funnel_in1: funnel@6042000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b908>; + arm,primecell-periphid = <0x000bb908>; reg = <0x6042000 0x1000>; reg-names = "funnel-base"; @@ -272,7 +272,7 @@ funnel_apss_merg: funnel@7b70000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b908>; + arm,primecell-periphid = <0x000bb908>; reg = <0x7b70000 0x1000>; reg-names = "funnel-base"; @@ -323,7 +323,7 @@ funnel_apss: funnel@7b60000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b908>; + arm,primecell-periphid = <0x000bb908>; reg = <0x7b60000 0x1000>; reg-names = "funnel-base"; @@ -414,7 +414,7 @@ stm: stm@6002000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b962>; + arm,primecell-periphid = <0x000bb962>; reg = <0x6002000 0x1000>, <0x16280000 0x180000>; @@ -596,7 +596,7 @@ cti0: cti@6010000 { compatible = "arm,primecell"; reg = <0x6010000 0x1000>; - arm,primecell-periphid = <0x0003b966>; + arm,primecell-periphid = <0x000bb966>; reg-names = "cti-base"; coresight-name = "coresight-cti0"; @@ -608,7 +608,7 @@ cti1: cti@6011000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b966>; + arm,primecell-periphid = <0x000bb966>; reg = <0x6011000 0x1000>; reg-names = "cti-base"; @@ -621,7 +621,7 @@ cti2: cti@6012000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b966>; + arm,primecell-periphid = <0x000bb966>; reg = <0x6012000 0x1000>; reg-names = "cti-base"; @@ -638,7 +638,7 @@ cti3: cti@6013000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b966>; + arm,primecell-periphid = <0x000bb966>; reg = <0x6013000 0x1000>; reg-names = "cti-base"; @@ -651,7 +651,7 @@ cti4: cti@6014000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b966>; + arm,primecell-periphid = <0x000bb966>; reg = <0x6014000 0x1000>; reg-names = "cti-base"; @@ -664,7 +664,7 @@ cti5: cti@6015000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b966>; + arm,primecell-periphid = <0x000bb966>; reg = <0x6015000 0x1000>; reg-names = "cti-base"; @@ -677,7 +677,7 @@ cti6: cti@6016000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b966>; + arm,primecell-periphid = <0x000bb966>; reg = <0x6016000 0x1000>; reg-names = "cti-base"; @@ -690,7 +690,7 @@ cti7: cti@6017000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b966>; + arm,primecell-periphid = <0x000bb966>; reg = <0x6017000 0x1000>; reg-names = "cti-base"; @@ -703,7 +703,7 @@ cti8: cti@6018000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b966>; + arm,primecell-periphid = <0x000bb966>; reg = <0x6018000 0x1000>; reg-names = "cti-base"; @@ -716,7 +716,7 @@ cti9: cti@6019000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b966>; + arm,primecell-periphid = <0x000bb966>; reg = <0x6019000 0x1000>; reg-names = "cti-base"; @@ -729,7 +729,7 @@ cti10: cti@601a000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b966>; + arm,primecell-periphid = <0x000bb966>; reg = <0x601a000 0x1000>; reg-names = "cti-base"; @@ -742,7 +742,7 @@ cti11: cti@601b000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b966>; + arm,primecell-periphid = <0x000bb966>; reg = <0x601b000 0x1000>; reg-names = "cti-base"; @@ -755,7 +755,7 @@ cti12: cti@601c000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b966>; + arm,primecell-periphid = <0x000bb966>; reg = <0x601c000 0x1000>; reg-names = "cti-base"; @@ -768,7 +768,7 @@ cti13: cti@601d000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b966>; + arm,primecell-periphid = <0x000bb966>; reg = <0x601d000 0x1000>; reg-names = "cti-base"; @@ -781,7 +781,7 @@ cti14: cti@601e000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b966>; + arm,primecell-periphid = <0x000bb966>; reg = <0x601e000 0x1000>; reg-names = "cti-base"; @@ -794,7 +794,7 @@ cti15: cti@601f000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b966>; + arm,primecell-periphid = <0x000bb966>; reg = <0x601f000 0x1000>; reg-names = "cti-base"; @@ -807,7 +807,7 @@ cti_cpu0: cti@7820000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b966>; + arm,primecell-periphid = <0x000bb966>; reg = <0x7820000 0x1000>; reg-names = "cti-base"; @@ -822,7 +822,7 @@ cti_cpu1: cti@7920000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b966>; + arm,primecell-periphid = <0x000bb966>; reg = <0x7920000 0x1000>; reg-names = "cti-base"; @@ -836,7 +836,7 @@ cti_cpu2: cti@7a20000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b966>; + arm,primecell-periphid = <0x000bb966>; reg = <0x7a20000 0x1000>; reg-names = "cti-base"; @@ -850,7 +850,7 @@ cti_cpu3: cti@7b20000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b966>; + arm,primecell-periphid = <0x000bb966>; reg = <0x7b20000 0x1000>; reg-names = "cti-base"; @@ -864,7 +864,7 @@ cti_cpu4: cti@7c20000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b966>; + arm,primecell-periphid = <0x000bb966>; reg = <0x7c20000 0x1000>; reg-names = "cti-base"; @@ -878,7 +878,7 @@ cti_cpu5: cti@7d20000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b966>; + arm,primecell-periphid = <0x000bb966>; reg = <0x7d20000 0x1000>; reg-names = "cti-base"; @@ -892,7 +892,7 @@ cti_cpu6: cti@7e20000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b966>; + arm,primecell-periphid = <0x000bb966>; reg = <0x7e20000 0x1000>; reg-names = "cti-base"; @@ -906,7 +906,7 @@ cti_cpu7: cti@7f20000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b966>; + arm,primecell-periphid = <0x000bb966>; reg = <0x7f20000 0x1000>; reg-names = "cti-base"; @@ -920,7 +920,7 @@ cti_apss: cti@7b80000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b966>; + arm,primecell-periphid = <0x000bb966>; reg = <0x7b80000 0x1000>; reg-names = "cti-base"; @@ -933,7 +933,7 @@ cti_apss_dl: cti@7bc1000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b966>; + arm,primecell-periphid = <0x000bb966>; reg = <0x7bc1000 0x1000>; reg-names = "cti-base"; @@ -946,7 +946,7 @@ cti_olc: cti@7b91000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b966>; + arm,primecell-periphid = <0x000bb966>; reg = <0x7b91000 0x1000>; reg-names = "cti-base"; @@ -959,7 +959,7 @@ cti_turing: cti@7068000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b966>; + arm,primecell-periphid = <0x000bb966>; reg = <0x7068000 0x1000>; reg-names = "cti-base"; @@ -972,7 +972,7 @@ cti_wcss0: cti@71a4000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b966>; + arm,primecell-periphid = <0x000bb966>; reg = <0x71a4000 0x1000>; reg-names = "cti-base"; @@ -986,7 +986,7 @@ cti_wcss1: cti@71a5000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b966>; + arm,primecell-periphid = <0x000bb966>; reg = <0x71a5000 0x1000>; reg-names = "cti-base"; @@ -1000,7 +1000,7 @@ cti_wcss2: cti@71a6000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b966>; + arm,primecell-periphid = <0x000bb966>; reg = <0x71a6000 0x1000>; reg-names = "cti-base"; @@ -1014,7 +1014,7 @@ cti_mmss: cti@7188000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b966>; + arm,primecell-periphid = <0x000bb966>; reg = <0x7188000 0x1000>; reg-names = "cti-base"; @@ -1027,7 +1027,7 @@ cti_isdb: cti@7121000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b966>; + arm,primecell-periphid = <0x000bb966>; reg = <0x7121000 0x1000>; reg-names = "cti-base"; @@ -1041,7 +1041,7 @@ cti_rpm: cti@7048000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b966>; + arm,primecell-periphid = <0x000bb966>; reg = <0x7048000 0x1000>; reg-names = "cti-base"; @@ -1054,7 +1054,7 @@ cti_mss: cti@7041000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b966>; + arm,primecell-periphid = <0x000bb966>; reg = <0x7041000 0x1000>; reg-names = "cti-base"; @@ -1067,7 +1067,7 @@ funnel_qatb: funnel@6005000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b908>; + arm,primecell-periphid = <0x000bb908>; reg = <0x6005000 0x1000>; reg-names = "funnel-base"; @@ -1525,7 +1525,7 @@ funnel_dlct: funnel@71c3000 { compatible = "arm,primecell"; - arm,primecell-periphid = <0x0003b908>; + arm,primecell-periphid = <0x000bb908>; reg = <0x71c3000 0x1000>; reg-names = "funnel-base"; diff --git a/qcom/sdm660-vidc.dtsi b/qcom/sdm660-vidc.dtsi index 00d9058c..6bcf1feb 100644 --- a/qcom/sdm660-vidc.dtsi +++ b/qcom/sdm660-vidc.dtsi @@ -14,7 +14,6 @@ qcom,hfi = "venus"; qcom,hfi-version = "3xx"; qcom,firmware-name = "venus"; - qcom,never-unload-fw; qcom,sw-power-collapse; qcom,max-secure-instances = <5>; qcom,reg-presets = diff --git a/qcom/sdm660.dtsi b/qcom/sdm660.dtsi index ba1e2bde..7bfc1f8e 100644 --- a/qcom/sdm660.dtsi +++ b/qcom/sdm660.dtsi @@ -387,7 +387,7 @@ alloc-ranges = <0x0 0x00000000 0x0 0xffffffff>; reusable; alignment = <0x0 0x400000>; - size = <0x0 0x140000>; + size = <0x0 0x1a0000>; }; venus_fw_mem: venus_fw_region { @@ -543,6 +543,101 @@ compatible = "qcom,mem-dump"; memory-region = <&dump_mem>; + rpm_sw_dump { + qcom,dump-size = <0x28000>; + qcom,dump-id = <0xea>; + }; + + pmic_dump { + qcom,dump-size = <0x10000>; + qcom,dump-id = <0xe4>; + }; + + vsense_dump { + qcom,dump-size = <0x1000>; + qcom,dump-id = <0xe9>; + }; + + tmc_etf_dump { + qcom,dump-size = <0x10000>; + qcom,dump-id = <0xf0>; + }; + + tmc_etr_reg_dump { + qcom,dump-size = <0x1000>; + qcom,dump-id = <0x100>; + }; + + tmc_etf_reg_dump { + qcom,dump-size = <0x1000>; + qcom,dump-id = <0x101>; + }; + + misc_data_dump { + qcom,dump-size = <0x1000>; + qcom,dump-id = <0xe8>; + }; + + dcc_reg_dump { + qcom,dump-size = <0x1000>; + qcom,dump-id = <0xe6>; + }; + + dcc_sram_dump { + qcom,dump-size = <0x2000>; + qcom,dump-id = <0xe7>; + }; + + log_buf_dump { + qcom,dump-size = <0x10000>; + qcom,dump-id = <0x110>; + }; + + log_buf_first_idx_dump { + qcom,dump-size = <0x0>; + qcom,dump-id = <0x111>; + }; + + etm_reg0_dump { + qcom,dump-size = <0x1000>; + qcom,dump-id = <0xa0>; + }; + + etm_reg1_dump { + qcom,dump-size = <0x1000>; + qcom,dump-id = <0xa1>; + }; + + etm_reg2_dump { + qcom,dump-size = <0x1000>; + qcom,dump-id = <0xa2>; + }; + + etm_reg3_dump { + qcom,dump-size = <0x1000>; + qcom,dump-id = <0xa3>; + }; + + etm_reg4_dump { + qcom,dump-size = <0x1000>; + qcom,dump-id = <0xa4>; + }; + + etm_reg5_dump { + qcom,dump-size = <0x1000>; + qcom,dump-id = <0xa5>; + }; + + etm_reg6_dump { + qcom,dump-size = <0x1000>; + qcom,dump-id = <0xa6>; + }; + + etm_reg7_dump { + qcom,dump-size = <0x1000>; + qcom,dump-id = <0xa7>; + }; + c_scandump { qcom,dump-size = <0x40000>; qcom,dump-id = <0xeb>; diff --git a/qcom/smb1394.dtsi b/qcom/smb1394.dtsi new file mode 100644 index 00000000..23d03b6b --- /dev/null +++ b/qcom/smb1394.dtsi @@ -0,0 +1,40 @@ +#include <dt-bindings/pinctrl/qcom,pmic-gpio.h> +#include <dt-bindings/interrupt-controller/irq.h> + +smb1394: qcom,smb1394@34 { + compatible = "qcom,i2c-pmic"; + reg = <0x34>; + #address-cells = <1>; + #size-cells = <0>; + interrupt-controller; + #interrupt-cells = <3>; + qcom,periph-map = <0x6 0x26 0x27>; + status = "disabled"; + + smb1394_revid: qcom,revid { + compatible = "qcom,qpnp-revid"; + reg = <0x100>; + }; + + smb1394_div2_cp_primary: qcom,div2_cp_pry { + compatible = "qcom,smb1394-div2-cp-primary"; + qcom,pmic-revid = <&smb1394_revid>; + #io-channel-cells = <1>; + interrupts = <0x26 0x1 IRQ_TYPE_EDGE_RISING>, + <0x26 0x3 IRQ_TYPE_EDGE_RISING>, + <0x26 0x5 IRQ_TYPE_EDGE_RISING>, + <0x26 0x7 IRQ_TYPE_EDGE_RISING>, + <0x27 0x5 IRQ_TYPE_EDGE_RISING>, + <0x27 0x6 IRQ_TYPE_EDGE_RISING>, + <0x27 0x7 IRQ_TYPE_EDGE_RISING>; + interrupt-names = "temp-shdwn", + "div2-irev", + "usbin-uv", + "usbin-ov", + "div2-ilim", + "div2-win-uv", + "div2-win-ov"; + qcom,div2-cp-min-ilim-ua = <1000000>; + status = "disabled"; + }; +}; |