| /* Copyright (c) 2017-2019, The Linux Foundation. All rights reserved. |
| * |
| * This program is free software; you can redistribute it and/or modify |
| * it under the terms of the GNU General Public License version 2 and |
| * only version 2 as published by the Free Software Foundation. |
| * |
| * This program is distributed in the hope that it will be useful, |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| * GNU General Public License for more details. |
| */ |
| |
| #include <dt-bindings/soc/qcom,tcs-mbox.h> |
| #include "skeleton.dtsi" |
| #include <dt-bindings/clock/qcom,rpmh.h> |
| #include <dt-bindings/clock/qcom,cpu-a7.h> |
| #include <dt-bindings/clock/qcom,gcc-sdxpoorwills.h> |
| #include <dt-bindings/interrupt-controller/arm-gic.h> |
| #include <dt-bindings/regulator/qcom,rpmh-regulator.h> |
| #include <dt-bindings/clock/qcom,aop-qmp.h> |
| #include <dt-bindings/msm/msm-bus-ids.h> |
| |
| #define MHZ_TO_MBPS(mhz, w) ((mhz * 1000000 * w) / (1024 * 1024)) |
| |
| / { |
| model = "Qualcomm Technologies, Inc. SDX POORWILLS"; |
| compatible = "qcom,sdxpoorwills"; |
| qcom,msm-id = <334 0x0>, <335 0x0>, <408 0x0>; |
| interrupt-parent = <&pdc>; |
| |
| reserved-memory { |
| #address-cells = <1>; |
| #size-cells = <1>; |
| ranges; |
| |
| peripheral2_mem: peripheral2_region@8fe00000 { |
| compatible = "removed-dma-pool"; |
| no-map; |
| reg = <0x8fe00000 0xe00000>; |
| label = "peripheral2_mem"; |
| }; |
| |
| sbl_region: sbl_region@8fd00000 { |
| no-map; |
| reg = <0x8fd00000 0x100000>; |
| label = "sbl_mem"; |
| }; |
| |
| flex_sec_apps_mem: flex_sec_apps_regions@8fcfd000 { |
| no-map; |
| reg = <0x8fcfd000 0x3000>; |
| }; |
| |
| access_control_mem: access_control_mem@8fc80000 { |
| no-map; |
| reg = <0x8fc80000 0x40000>; |
| }; |
| |
| hyp_region: hyp_region@8fc00000 { |
| no-map; |
| reg = <0x8fc00000 0x80000>; |
| label = "hyp_mem"; |
| }; |
| |
| mss_mem: mss_region@86400000 { |
| compatible = "removed-dma-pool"; |
| no-map; |
| reg = <0x86400000 0x9300000>; |
| label = "mss_mem"; |
| }; |
| |
| audio_mem: audio_region@0 { |
| compatible = "shared-dma-pool"; |
| reusable; |
| size = <0x400000>; |
| }; |
| |
| dump_mem: mem_dump_region { |
| compatible = "shared-dma-pool"; |
| reusable; |
| size = <0x400000>; |
| }; |
| |
| qseecom_mem: qseecom_region@0 { |
| compatible = "shared-dma-pool"; |
| reusable; |
| alignment = <0x400000>; |
| size = <0x400000>; |
| status = "disabled"; |
| }; |
| |
| qseecom_ta_mem: qseecom_ta_region@0 { |
| compatible = "shared-dma-pool"; |
| reusable; |
| alignment = <0x400000>; |
| size = <0x400000>; |
| status = "disabled"; |
| }; |
| }; |
| |
| cpus { |
| #size-cells = <0>; |
| #address-cells = <1>; |
| |
| CPU0: cpu@0 { |
| device_type = "cpu"; |
| compatible = "arm,cortex-a7"; |
| enable-method = "psci"; |
| reg = <0x0>; |
| #cooling-cells = <2>; |
| }; |
| }; |
| |
| aliases { |
| qpic_nand1 = &qnand_1; |
| pci-domain0 = &pcie0; |
| sdhc1 = &sdhc_1; /* SDC1 eMMC/SD/SDIO slot */ |
| }; |
| |
| psci { |
| compatible = "arm,psci-1.0"; |
| method = "smc"; |
| }; |
| |
| soc: soc { }; |
| }; |
| |
| |
| &soc { |
| #address-cells = <1>; |
| #size-cells = <1>; |
| ranges; |
| |
| intc: interrupt-controller@17800000 { |
| compatible = "qcom,msm-qgic2"; |
| interrupt-controller; |
| #interrupt-cells = <3>; |
| reg = <0x17800000 0x1000>, |
| <0x17802000 0x1000>; |
| interrupt-parent = <&intc>; |
| }; |
| |
| pdc: interrupt-controller@b210000{ |
| compatible = "qcom,pdc-sdxpoorwills"; |
| reg = <0xb210000 0x30000>; |
| #interrupt-cells = <3>; |
| interrupt-parent = <&intc>; |
| interrupt-controller; |
| }; |
| |
| timer { |
| compatible = "arm,armv7-timer"; |
| interrupts = <1 13 0xf08>, |
| <1 12 0xf08>, |
| <1 10 0xf08>, |
| <1 11 0xf08>; |
| clock-frequency = <19200000>; |
| }; |
| |
| timer@17820000 { |
| #address-cells = <1>; |
| #size-cells = <1>; |
| ranges; |
| compatible = "arm,armv7-timer-mem"; |
| reg = <0x17820000 0x1000>; |
| clock-frequency = <19200000>; |
| |
| frame@17821000 { |
| frame-number = <0>; |
| interrupts = <0 7 0x4>, |
| <0 6 0x4>; |
| reg = <0x17821000 0x1000>, |
| <0x17822000 0x1000>; |
| }; |
| |
| frame@17823000 { |
| frame-number = <1>; |
| interrupts = <0 8 0x4>; |
| reg = <0x17823000 0x1000>; |
| status = "disabled"; |
| }; |
| |
| frame@17824000 { |
| frame-number = <2>; |
| interrupts = <0 9 0x4>; |
| reg = <0x17824000 0x1000>; |
| status = "disabled"; |
| }; |
| |
| frame@17825000 { |
| frame-number = <3>; |
| interrupts = <0 10 0x4>; |
| reg = <0x17825000 0x1000>; |
| status = "disabled"; |
| }; |
| |
| frame@17826000 { |
| frame-number = <4>; |
| interrupts = <0 11 0x4>; |
| reg = <0x17826000 0x1000>; |
| status = "disabled"; |
| }; |
| |
| frame@17827000 { |
| frame-number = <5>; |
| interrupts = <0 12 0x4>; |
| reg = <0x17827000 0x1000>; |
| status = "disabled"; |
| }; |
| |
| frame@17828000 { |
| frame-number = <6>; |
| interrupts = <0 13 0x4>; |
| reg = <0x17828000 0x1000>; |
| status = "disabled"; |
| }; |
| |
| frame@17829000 { |
| frame-number = <7>; |
| interrupts = <0 14 0x4>; |
| reg = <0x17829000 0x1000>; |
| status = "disabled"; |
| }; |
| }; |
| |
| msm_cpufreq: qcom,msm-cpufreq { |
| compatible = "qcom,msm-cpufreq"; |
| clocks = <&clock_cpu APCS_CLK>; |
| clock-names = "cpu0_clk"; |
| |
| qcom,cpufreq-table-0 = |
| < 153600 >, |
| < 300000 >, |
| < 345600 >, |
| < 576000 >, |
| < 1094400 >, |
| < 1497600 >; |
| }; |
| |
| cpubw: qcom,cpubw { |
| compatible = "qcom,devbw"; |
| governor = "performance"; |
| qcom,src-dst-ports = <1 512>; |
| qcom,active-only; |
| qcom,bw-tbl = |
| < MHZ_TO_MBPS(200, 4) >, /* 762 MB/s */ |
| < MHZ_TO_MBPS(470, 4) >, /* 1792 MB/s */ |
| < MHZ_TO_MBPS(547, 4) >, /* 2086 MB/s */ |
| < MHZ_TO_MBPS(691, 4) >, /* 2634 MB/s */ |
| < MHZ_TO_MBPS(806, 4) >, /* 3074 MB/s */ |
| < MHZ_TO_MBPS(940, 4) >, /* 3584 MB/s */ |
| < MHZ_TO_MBPS(1383, 4) >; /* 5274 MB/s */ |
| }; |
| |
| devfreq_compute: qcom,devfreq-compute { |
| compatible = "qcom,arm-cpu-mon"; |
| qcom,cpulist = <&CPU0>; |
| qcom,target-dev = <&cpubw>; |
| qcom,core-dev-table = |
| < 153600 MHZ_TO_MBPS( 200, 4) >, |
| < 576000 MHZ_TO_MBPS( 691, 4) >, |
| < 1497600 MHZ_TO_MBPS(1383, 4)>; |
| }; |
| |
| clock_gcc: qcom,gcc@100000 { |
| compatible = "qcom,gcc-sdxpoorwills", "syscon"; |
| reg = <0x100000 0x1f0000>; |
| reg-names = "cc_base"; |
| vdd_cx-supply = <&pmxpoorwills_s5_level>; |
| vdd_cx_ao-supply = <&pmxpoorwills_s5_level_ao>; |
| #clock-cells = <1>; |
| #reset-cells = <1>; |
| }; |
| |
| clock_cpu: qcom,clock-a7@17808100 { |
| compatible = "qcom,cpu-sdxpoorwills"; |
| clocks = <&clock_rpmh RPMH_CXO_CLK_A>; |
| clock-names = "xo_ao"; |
| qcom,a7cc-init-rate = <1497600000>; |
| reg = <0x17808100 0x7F10>; |
| reg-names = "apcs_pll"; |
| qcom,rcg-reg-offset = <0x7F08>; |
| |
| vdd_dig_ao-supply = <&pmxpoorwills_s5_level_ao>; |
| cpu-vdd-supply = <&pmxpoorwills_s5_level_ao>; |
| qcom,speed0-bin-v0 = |
| < 0 RPMH_REGULATOR_LEVEL_OFF>, |
| < 345600000 RPMH_REGULATOR_LEVEL_LOW_SVS>, |
| < 576000000 RPMH_REGULATOR_LEVEL_SVS>, |
| < 1094400000 RPMH_REGULATOR_LEVEL_NOM>, |
| < 1497600000 RPMH_REGULATOR_LEVEL_TURBO>; |
| #clock-cells = <1>; |
| }; |
| |
| clock_rpmh: qcom,rpmhclk { |
| compatible = "qcom,rpmh-clk-sdxpoorwills"; |
| #clock-cells = <1>; |
| mboxes = <&apps_rsc 0>; |
| mbox-names = "apps"; |
| }; |
| |
| clock_aop: qcom,aopclk { |
| compatible = "qcom,aop-qmp-clk-v1"; |
| #clock-cells = <1>; |
| mboxes = <&qmp_aop 0>; |
| mbox-names = "qdss_clk"; |
| }; |
| |
| snoc_cnoc_keepalive: qcom,snoc_cnoc_keepalive { |
| compatible = "qcom,devbw"; |
| governor = "powersave"; |
| qcom,src-dst-ports = <53 747>; |
| qcom,active-only; |
| status = "ok"; |
| qcom,bw-tbl = |
| < 1 >; |
| }; |
| |
| clock_debug: qcom,cc-debug { |
| compatible = "qcom,debugcc-sdxpoorwills"; |
| qcom,gcc = <&clock_gcc>; |
| clock-names = "xo_clk_src"; |
| clocks = <&clock_rpmh RPMH_CXO_CLK>; |
| #clock-cells = <1>; |
| }; |
| |
| serial_uart: serial@831000 { |
| compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm"; |
| reg = <0x831000 0x200>; |
| interrupts = <0 26 0>; |
| status = "disabled"; |
| clocks = <&clock_gcc GCC_BLSP1_UART3_APPS_CLK>, |
| <&clock_gcc GCC_BLSP1_AHB_CLK>; |
| clock-names = "core", "iface"; |
| pinctrl-names = "default", "sleep"; |
| pinctrl-0 = <&uart3_console_active>; |
| pinctrl-1 = <&uart3_console_sleep>; |
| }; |
| |
| gdsc_usb30: qcom,gdsc@10b004 { |
| compatible = "qcom,gdsc"; |
| regulator-name = "gdsc_usb30"; |
| reg = <0x0010b004 0x4>; |
| }; |
| |
| qcom,sps { |
| compatible = "qcom,msm_sps_4k"; |
| qcom,pipe-attr-ee; |
| }; |
| |
| gdsc_pcie: qcom,gdsc@137004 { |
| compatible = "qcom,gdsc"; |
| regulator-name = "gdsc_pcie"; |
| reg = <0x00137004 0x4>; |
| }; |
| |
| pcie_ep: qcom,pcie@40002000 { |
| compatible = "qcom,pcie-ep"; |
| |
| reg = <0x40002000 0x1000>, |
| <0x40000000 0xf1d>, |
| <0x40000f20 0xa8>, |
| <0x40001000 0x1000>, |
| <0x01c00000 0x2000>, |
| <0x01c02000 0x1000>, |
| <0x01c04000 0x1000>, |
| <0x01fcb000 0x1000>; |
| reg-names = "msi", "dm_core", "elbi", "iatu", "parf", |
| "phy", "mmio", "tcsr_pcie_perst_en"; |
| |
| #address-cells = <0>; |
| interrupt-parent = <&pcie_ep>; |
| interrupts = <0>; |
| #interrupt-cells = <1>; |
| interrupt-map-mask = <0xffffffff>; |
| interrupt-map = <0 &intc 0 140 0>; |
| interrupt-names = "int_global"; |
| |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pcie_ep_clkreq_default &pcie_ep_perst_default |
| &pcie_ep_wake_default>; |
| |
| clkreq-gpio = <&tlmm 56 0>; |
| perst-gpio = <&tlmm 57 0>; |
| wake-gpio = <&tlmm 53 0>; |
| |
| gdsc-vdd-supply = <&gdsc_pcie>; |
| vreg-1.8-supply = <&pmxpoorwills_l1>; |
| vreg-0.9-supply = <&pmxpoorwills_l4>; |
| |
| qcom,vreg-1.8-voltage-level = <1200000 1200000 24000>; |
| qcom,vreg-0.9-voltage-level = <872000 872000 24000>; |
| |
| clocks = <&clock_gcc GCC_PCIE_PIPE_CLK>, |
| <&clock_gcc GCC_PCIE_CFG_AHB_CLK>, |
| <&clock_gcc GCC_PCIE_MSTR_AXI_CLK>, |
| <&clock_gcc GCC_PCIE_SLV_AXI_CLK>, |
| <&clock_gcc GCC_PCIE_AUX_CLK>, |
| <&clock_gcc GCC_PCIE_0_CLKREF_CLK>, |
| <&clock_gcc GCC_PCIE_SLEEP_CLK>, |
| <&clock_gcc GCC_PCIE_SLV_Q2A_AXI_CLK>; |
| |
| clock-names = "pcie_0_pipe_clk", "pcie_0_cfg_ahb_clk", |
| "pcie_0_mstr_axi_clk", "pcie_0_slv_axi_clk", |
| "pcie_0_aux_clk", "pcie_0_ldo", |
| "pcie_0_sleep_clk", |
| "pcie_0_slv_q2a_axi_clk"; |
| |
| resets = <&clock_gcc GCC_PCIE_BCR>, |
| <&clock_gcc GCC_PCIE_PHY_BCR>; |
| |
| reset-names = "pcie_0_core_reset", |
| "pcie_0_phy_reset"; |
| |
| qcom,msm-bus,name = "pcie-ep"; |
| qcom,msm-bus,num-cases = <2>; |
| qcom,msm-bus,num-paths = <1>; |
| qcom,msm-bus,vectors-KBps = |
| <45 512 0 0>, |
| <45 512 500 800>; |
| |
| qcom,pcie-vendor-id = /bits/ 16 <0x17cb>; |
| qcom,pcie-device-id = /bits/ 16 <0x0304>; |
| qcom,pcie-link-speed = <2>; |
| qcom,pcie-phy-ver = <6>; |
| qcom,pcie-active-config; |
| qcom,pcie-aggregated-irq; |
| qcom,pcie-mhi-a7-irq; |
| qcom,phy-status-reg = <0x814>; |
| |
| qcom,phy-init = <0x840 0x001 0x0 0x1 |
| 0x094 0x000 0x0 0x1 |
| 0x058 0x00f 0x0 0x1 |
| 0x0a4 0x042 0x0 0x1 |
| 0x110 0x024 0x0 0x1 |
| 0x1bc 0x011 0x0 0x1 |
| 0x0bc 0x019 0x0 0x1 |
| 0x0b0 0x004 0x0 0x1 |
| 0x0ac 0x0ff 0x0 0x1 |
| 0x158 0x001 0x0 0x1 |
| 0x074 0x028 0x0 0x1 |
| 0x07c 0x00d 0x0 0x1 |
| 0x084 0x000 0x0 0x1 |
| 0x1b0 0x01d 0x0 0x1 |
| 0x1ac 0x056 0x0 0x1 |
| 0x04c 0x007 0x0 0x1 |
| 0x050 0x007 0x0 0x1 |
| 0x0f0 0x003 0x0 0x1 |
| 0x0ec 0x0fb 0x0 0x1 |
| 0x00c 0x002 0x0 0x1 |
| 0x29c 0x012 0x0 0x1 |
| 0x284 0x005 0x0 0x1 |
| 0x234 0x0d9 0x0 0x1 |
| 0x238 0x0cc 0x0 0x1 |
| 0x51c 0x003 0x0 0x1 |
| 0x518 0x01c 0x0 0x1 |
| 0x524 0x014 0x0 0x1 |
| 0x4ec 0x00e 0x0 0x1 |
| 0x4f0 0x04a 0x0 0x1 |
| 0x4f4 0x00f 0x0 0x1 |
| 0x5b4 0x004 0x0 0x1 |
| 0x434 0x07f 0x0 0x1 |
| 0x444 0x070 0x0 0x1 |
| 0x510 0x017 0x0 0x1 |
| 0x4d8 0x001 0x0 0x1 |
| 0x598 0x0e0 0x0 0x1 |
| 0x59c 0x0c8 0x0 0x1 |
| 0x5a0 0x0c8 0x0 0x1 |
| 0x5a4 0x009 0x0 0x1 |
| 0x5a8 0x0b1 0x0 0x1 |
| 0x584 0x024 0x0 0x1 |
| 0x588 0x0e4 0x0 0x1 |
| 0x58c 0x0ec 0x0 0x1 |
| 0x590 0x039 0x0 0x1 |
| 0x594 0x036 0x0 0x1 |
| 0x570 0x0ef 0x0 0x1 |
| 0x574 0x0ef 0x0 0x1 |
| 0x578 0x02f 0x0 0x1 |
| 0x57c 0x0d3 0x0 0x1 |
| 0x580 0x040 0x0 0x1 |
| 0x4fc 0x000 0x0 0x1 |
| 0x4f8 0x0c0 0x0 0x1 |
| 0x9a4 0x001 0x0 0x1 |
| 0x840 0x001 0x0 0x1 |
| 0x848 0x001 0x0 0x1 |
| 0x8a0 0x011 0x0 0x1 |
| 0x988 0x088 0x0 0x1 |
| 0x998 0x008 0x0 0x1 |
| 0x8dc 0x00d 0x0 0x1 |
| 0x800 0x000 0x0 0x1 |
| 0x844 0x003 0x0 0x1>; |
| |
| status = "disabled"; |
| }; |
| |
| mhi_device: mhi_dev@1c04000 { |
| compatible = "qcom,msm-mhi-dev"; |
| reg = <0x1c04000 0x1000>, |
| <0x1e22000 0x4>, |
| <0x1e22148 0x4>; |
| reg-names = "mhi_mmio_base", "ipa_uc_mbox_crdb", |
| "ipa_uc_mbox_erdb"; |
| qcom,mhi-ep-msi = <0>; |
| qcom,mhi-version = <0x1000000>; |
| qcom,use-ipa-software-channel; |
| interrupts = <0 145 0>; |
| interrupt-names = "mhi-device-inta"; |
| qcom,mhi-ifc-id = <0x030417cb>; |
| qcom,mhi-interrupt; |
| status = "disabled"; |
| }; |
| |
| gdsc_emac: qcom,gdsc@147004 { |
| compatible = "qcom,gdsc"; |
| regulator-name = "gdsc_emac"; |
| reg = <0x00147004 0x4>; |
| }; |
| |
| qnand_1: nand@1b00000 { |
| compatible = "qcom,msm-nand"; |
| reg = < 0x01b00000 0x10000>, |
| <0x01b04000 0x1a000>; |
| reg-names = "nand_phys", |
| "bam_phys"; |
| qcom,reg-adjustment-offset = <0x4000>; |
| qcom,qpic-clk-rpmh; |
| |
| interrupts = <0 135 0>; |
| interrupt-names = "bam_irq"; |
| |
| qcom,msm-bus,name = "qpic_nand"; |
| qcom,msm-bus,num-cases = <2>; |
| qcom,msm-bus,num-paths = <1>; |
| |
| qcom,msm-bus,vectors-KBps = |
| <91 512 0 0>, |
| /* Voting for max b/w on PNOC bus for now */ |
| <91 512 400000 400000>; |
| |
| status = "disabled"; |
| }; |
| |
| sdhc_1: sdhci@8804000 { |
| compatible = "qcom,sdhci-msm-v5"; |
| reg = <0x8804000 0x1000>; |
| reg-names = "hc_mem"; |
| |
| interrupts = <0 210 0>, <0 227 0>; |
| interrupt-names = "hc_irq", "pwr_irq"; |
| |
| qcom,bus-width = <4>; |
| |
| qcom,msm-bus,name = "sdhc1"; |
| qcom,msm-bus,num-cases = <8>; |
| qcom,msm-bus,num-paths = <1>; |
| qcom,msm-bus,vectors-KBps = <78 512 0 0>, /* No vote */ |
| <78 512 1600 3200>, /* 400 KB/s*/ |
| <78 512 80000 160000>, /* 20 MB/s */ |
| <78 512 100000 200000>, /* 25 MB/s */ |
| <78 512 200000 400000>, /* 50 MB/s */ |
| <78 512 400000 800000>, /* 100 MB/s */ |
| <78 512 400000 800000>, /* 200 MB/s */ |
| <78 512 2048000 4096000>; /* Max. bandwidth */ |
| qcom,bus-bw-vectors-bps = <0 400000 20000000 25000000 50000000 |
| 100000000 200000000 4294967295>; |
| |
| /* PM QoS */ |
| qcom,pm-qos-cpu-groups = <0x0>; |
| qcom,pm-qos-cmdq-latency-us = <70>; |
| qcom,pm-qos-legacy-latency-us = <70>; |
| qcom,pm-qos-irq-type = "affine_cores"; |
| qcom,pm-qos-irq-cpu = <0>; |
| qcom,pm-qos-irq-latency = <70>; |
| |
| clocks = <&clock_gcc GCC_SDCC1_AHB_CLK>, |
| <&clock_gcc GCC_SDCC1_APPS_CLK>; |
| clock-names = "iface_clk", "core_clk"; |
| |
| qcom,restore-after-cx-collapse; |
| |
| status = "disabled"; |
| }; |
| |
| qcom,msm-imem@1468B000 { |
| compatible = "qcom,msm-imem"; |
| reg = <0x1468B000 0x1000>; /* Address and size of IMEM */ |
| ranges = <0x0 0x1468B000 0x1000>; |
| #address-cells = <1>; |
| #size-cells = <1>; |
| |
| mem_dump_table@10 { |
| compatible = "qcom,msm-imem-mem_dump_table"; |
| reg = <0x10 8>; |
| }; |
| |
| restart_reason@65c { |
| compatible = "qcom,msm-imem-restart_reason"; |
| reg = <0x65c 4>; |
| }; |
| |
| boot_stats@6b0 { |
| compatible = "qcom,msm-imem-boot_stats"; |
| reg = <0x6b0 32>; |
| }; |
| |
| pil@94c { |
| compatible = "qcom,msm-imem-pil"; |
| reg = <0x94c 200>; |
| }; |
| |
| diag_dload@c8 { |
| compatible = "qcom,msm-imem-diag-dload"; |
| reg = <0xc8 200>; |
| }; |
| }; |
| |
| qcom,mpm2-sleep-counter@c221000 { |
| compatible = "qcom,mpm2-sleep-counter"; |
| reg = <0x0c221000 0x1000>; |
| clock-frequency = <32768>; |
| }; |
| |
| restart_pshold: restart@c264000 { |
| compatible = "qcom,pshold"; |
| reg = <0x0c264000 0x4>, |
| <0x01fd3000 0x4>; |
| reg-names = "pshold-base", "tcsr-boot-misc-detect"; |
| }; |
| |
| tsens0: tsens@c222000 { |
| compatible = "qcom,tsens24xx"; |
| reg = <0xc222000 0x4>, |
| <0xc263000 0x1ff>; |
| reg-names = "tsens_srot_physical", |
| "tsens_tm_physical"; |
| interrupts = <0 163 0>, <0 165 0>; |
| interrupt-names = "tsens-upper-lower", "tsens-critical"; |
| #thermal-sensor-cells = <1>; |
| }; |
| |
| thermal_zones: thermal-zones { }; |
| |
| qcom,ipa_fws { |
| compatible = "qcom,pil-tz-generic"; |
| qcom,pas-id = <0xf>; |
| qcom,firmware-name = "ipa_fws"; |
| qcom,pil-force-shutdown; |
| }; |
| |
| spmi_bus: qcom,spmi@c440000 { |
| compatible = "qcom,spmi-pmic-arb"; |
| reg = <0xc440000 0x1100>, |
| <0xc600000 0x2000000>, |
| <0xe600000 0x100000>, |
| <0xe700000 0xa0000>, |
| <0xc40a000 0x26000>; |
| reg-names = "core", "chnls", "obsrvr", "intr", "cnfg"; |
| interrupt-names = "periph_irq"; |
| interrupts = <GIC_SPI 148 IRQ_TYPE_NONE>; |
| qcom,ee = <0>; |
| qcom,channel = <0>; |
| #address-cells = <2>; |
| #size-cells = <0>; |
| interrupt-controller; |
| #interrupt-cells = <4>; |
| cell-index = <0>; |
| }; |
| |
| qcom,ipc-spinlock@1f40000 { |
| compatible = "qcom,ipc-spinlock-sfpb"; |
| reg = <0x1f40000 0x8000>; |
| qcom,num-locks = <8>; |
| }; |
| |
| qcom,smem@8fe40000 { |
| compatible = "qcom,smem"; |
| reg = <0x8fe40000 0xc0000>, |
| <0x17811008 0x4>, |
| <0x1fd4000 0x8>; |
| reg-names = "smem", "irq-reg-base", |
| "smem_targ_info_reg"; |
| qcom,mpu-enabled; |
| }; |
| |
| qcom,glink-smem-native-xprt-modem@8fe40000 { |
| compatible = "qcom,glink-smem-native-xprt"; |
| reg = <0x8fe40000 0xc0000>, |
| <0x17811008 0x4>; |
| reg-names = "smem", "irq-reg-base"; |
| qcom,irq-mask = <0x8000>; |
| interrupts = <GIC_SPI 114 IRQ_TYPE_EDGE_RISING>; |
| label = "mpss"; |
| }; |
| |
| qcom,ipc_router { |
| compatible = "qcom,ipc_router"; |
| qcom,node-id = <1>; |
| }; |
| |
| qcom,ipc_router_modem_xprt { |
| compatible = "qcom,ipc_router_glink_xprt"; |
| qcom,ch-name = "IPCRTR"; |
| qcom,xprt-remote = "mpss"; |
| qcom,glink-xprt = "smem"; |
| qcom,xprt-linkid = <1>; |
| qcom,xprt-version = <1>; |
| qcom,fragmented-data; |
| }; |
| |
| qcom,glink-ssr-modem { |
| compatible = "qcom,glink_ssr"; |
| label = "modem"; |
| qcom,edge = "mpss"; |
| qcom,xprt = "smem"; |
| }; |
| |
| qcom,glink_pkt { |
| compatible = "qcom,glinkpkt"; |
| |
| qcom,glinkpkt-at-mdm0 { |
| qcom,glinkpkt-transport = "smem"; |
| qcom,glinkpkt-edge = "mpss"; |
| qcom,glinkpkt-ch-name = "DS"; |
| qcom,glinkpkt-dev-name = "at_mdm0"; |
| }; |
| |
| qcom,glinkpkt-loopback_cntl { |
| qcom,glinkpkt-transport = "lloop"; |
| qcom,glinkpkt-edge = "local"; |
| qcom,glinkpkt-ch-name = "LOCAL_LOOPBACK_CLNT"; |
| qcom,glinkpkt-dev-name = "glink_pkt_loopback_ctrl"; |
| }; |
| |
| qcom,glinkpkt-loopback_data { |
| qcom,glinkpkt-transport = "lloop"; |
| qcom,glinkpkt-edge = "local"; |
| qcom,glinkpkt-ch-name = "glink_pkt_lloop_CLNT"; |
| qcom,glinkpkt-dev-name = "glink_pkt_loopback"; |
| }; |
| |
| qcom,glinkpkt-data5-cntl { |
| qcom,glinkpkt-transport = "smem"; |
| qcom,glinkpkt-edge = "mpss"; |
| qcom,glinkpkt-ch-name = "DATA5_CNTL"; |
| qcom,glinkpkt-dev-name = "smdcntl0"; |
| }; |
| |
| qcom,glinkpkt-data6-cntl { |
| qcom,glinkpkt-transport = "smem"; |
| qcom,glinkpkt-edge = "mpss"; |
| qcom,glinkpkt-ch-name = "DATA6_CNTL"; |
| qcom,glinkpkt-dev-name = "smdcntl1"; |
| }; |
| |
| qcom,glinkpkt-apr-apps2 { |
| qcom,glinkpkt-transport = "smem"; |
| qcom,glinkpkt-edge = "mpss"; |
| qcom,glinkpkt-ch-name = "apr_apps2"; |
| qcom,glinkpkt-dev-name = "apr_apps2"; |
| }; |
| |
| qcom,glinkpkt-data22 { |
| qcom,glinkpkt-transport = "smem"; |
| qcom,glinkpkt-edge = "mpss"; |
| qcom,glinkpkt-ch-name = "DATA22"; |
| qcom,glinkpkt-dev-name = "smd22"; |
| }; |
| |
| qcom,glinkpkt-data40-cntl { |
| qcom,glinkpkt-transport = "smem"; |
| qcom,glinkpkt-edge = "mpss"; |
| qcom,glinkpkt-ch-name = "DATA40_CNTL"; |
| qcom,glinkpkt-dev-name = "smdcntl8"; |
| }; |
| |
| qcom,glinkpkt-data1 { |
| qcom,glinkpkt-transport = "smem"; |
| qcom,glinkpkt-edge = "mpss"; |
| qcom,glinkpkt-ch-name = "DATA1"; |
| qcom,glinkpkt-dev-name = "smd7"; |
| }; |
| |
| qcom,glinkpkt-data4 { |
| qcom,glinkpkt-transport = "smem"; |
| qcom,glinkpkt-edge = "mpss"; |
| qcom,glinkpkt-ch-name = "DATA4"; |
| qcom,glinkpkt-dev-name = "smd8"; |
| }; |
| |
| qcom,glinkpkt-data11 { |
| qcom,glinkpkt-transport = "smem"; |
| qcom,glinkpkt-edge = "mpss"; |
| qcom,glinkpkt-ch-name = "DATA11"; |
| qcom,glinkpkt-dev-name = "smd11"; |
| }; |
| |
| qcom,glinkpkt-data21 { |
| qcom,glinkpkt-transport = "smem"; |
| qcom,glinkpkt-edge = "mpss"; |
| qcom,glinkpkt-ch-name = "DATA21"; |
| qcom,glinkpkt-dev-name = "smd21"; |
| }; |
| }; |
| |
| pil_modem: qcom,mss@4080000 { |
| compatible = "qcom,pil-tz-generic"; |
| reg = <0x4080000 0x100>; |
| interrupts = <0 250 1>; |
| |
| clocks = <&clock_rpmh RPMH_CXO_CLK>; |
| clock-names = "xo"; |
| qcom,proxy-clock-names = "xo"; |
| |
| vdd_cx-supply = <&pmxpoorwills_s5_level>; |
| qcom,proxy-reg-names = "vdd_cx"; |
| |
| qcom,pas-id = <4>; |
| qcom,smem-id = <421>; |
| qcom,proxy-timeout-ms = <10000>; |
| qcom,sysmon-id = <0>; |
| qcom,ssctl-instance-id = <0x12>; |
| qcom,firmware-name = "modem"; |
| memory-region = <&mss_mem>; |
| status = "ok"; |
| |
| /* GPIO inputs from mss */ |
| qcom,gpio-err-fatal = <&smp2pgpio_ssr_smp2p_1_in 0 0>; |
| qcom,gpio-err-ready = <&smp2pgpio_ssr_smp2p_1_in 1 0>; |
| qcom,gpio-proxy-unvote = <&smp2pgpio_ssr_smp2p_1_in 2 0>; |
| qcom,gpio-stop-ack = <&smp2pgpio_ssr_smp2p_1_in 3 0>; |
| |
| /* GPIO output to mss */ |
| qcom,gpio-force-stop = <&smp2pgpio_ssr_smp2p_1_out 0 0>; |
| }; |
| |
| apps_rsc: mailbox@17840000 { |
| compatible = "qcom,tcs-drv"; |
| label = "apps_rsc"; |
| reg = <0x17840000 0x100>, <0x17840d00 0x3000>; |
| interrupts = <0 17 0>; |
| #mbox-cells = <1>; |
| qcom,drv-id = <1>; |
| qcom,tcs-config = <ACTIVE_TCS 2>, |
| <SLEEP_TCS 2>, |
| <WAKE_TCS 2>, |
| <CONTROL_TCS 1>; |
| }; |
| |
| cmd_db: qcom,cmd-db@c37000c { |
| compatible = "qcom,cmd-db"; |
| reg = <0xc37000c 8>; |
| }; |
| |
| mem_dump { |
| compatible = "qcom,mem-dump"; |
| memory-region = <&dump_mem>; |
| |
| rpmh_dump { |
| qcom,dump-size = <0x300000>; |
| qcom,dump-id = <0xec>; |
| }; |
| |
| fcm_dump { |
| qcom,dump-size = <0x8400>; |
| qcom,dump-id = <0xee>; |
| }; |
| |
| rpm_sw_dump { |
| qcom,dump-size = <0x28000>; |
| qcom,dump-id = <0xea>; |
| }; |
| |
| pmic_dump { |
| qcom,dump-size = <0x10000>; |
| qcom,dump-id = <0xe4>; |
| }; |
| |
| 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>; |
| }; |
| |
| tpdm_swao_dump { |
| qcom,dump-size = <0x512>; |
| qcom,dump-id = <0xf2>; |
| }; |
| }; |
| |
| qcom,msm_gsi { |
| compatible = "qcom,msm_gsi"; |
| }; |
| |
| qcom,rmnet-ipa { |
| compatible = "qcom,rmnet-ipa3"; |
| qcom,rmnet-ipa-ssr; |
| }; |
| |
| dcc: dcc_v2@10a2000 { |
| compatible = "qcom,dcc-v2"; |
| reg = <0x10a2000 0x1000>, |
| <0x10ae400 0x1c00>; |
| reg-names = "dcc-base", "dcc-ram-base"; |
| |
| dcc-ram-offset = <0x400>; |
| }; |
| |
| system_pm { |
| compatible = "qcom,system-pm"; |
| mboxes = <&apps_rsc 0>; |
| }; |
| |
| ipa_hw: qcom,ipa@01e00000 { |
| compatible = "qcom,ipa"; |
| reg = <0x1e00000 0x34000>, |
| <0x1e04000 0x28000>; |
| reg-names = "ipa-base", "gsi-base"; |
| interrupts = |
| <0 241 0>, |
| <0 47 0>; |
| interrupt-names = "ipa-irq", "gsi-irq"; |
| qcom,ipa-hw-ver = <14>; /* IPA core version = IPAv4.0 */ |
| qcom,ipa-hw-mode = <0>; |
| qcom,ee = <0>; |
| qcom,use-ipa-tethering-bridge; |
| qcom,mhi-event-ring-id-limits = <9 11>; /* start and end */ |
| qcom,modem-cfg-emb-pipe-flt; |
| qcom,use-ipa-pm; |
| qcom,wlan-ce-db-over-pcie; |
| qcom,arm-smmu; |
| qcom,smmu-fast-map; |
| qcom,bandwidth-vote-for-ipa; |
| qcom,msm-bus,name = "ipa"; |
| qcom,msm-bus,num-cases = <5>; |
| qcom,msm-bus,num-paths = <5>; |
| qcom,msm-bus,vectors-KBps = |
| /* No vote */ |
| <MSM_BUS_MASTER_IPA MSM_BUS_SLAVE_SNOC_MEM_NOC_GC 0 0>, |
| <MSM_BUS_MASTER_SNOC_GC_MEM_NOC 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>, |
| <MSM_BUS_MASTER_IPA_CORE MSM_BUS_SLAVE_IPA_CORE 0 0>, |
| |
| /* SVS2 */ |
| <MSM_BUS_MASTER_IPA MSM_BUS_SLAVE_SNOC_MEM_NOC_GC 116000 480000>, |
| <MSM_BUS_MASTER_SNOC_GC_MEM_NOC MSM_BUS_SLAVE_EBI_CH0 116000 1800000>, |
| <MSM_BUS_MASTER_IPA MSM_BUS_SLAVE_OCIMEM 60000 600000>, |
| <MSM_BUS_MASTER_AMPSS_M0 MSM_BUS_SLAVE_IPA_CFG 17900 179000>, |
| <MSM_BUS_MASTER_IPA_CORE MSM_BUS_SLAVE_IPA_CORE 0 120>, |
| |
| /* SVS */ |
| <MSM_BUS_MASTER_IPA MSM_BUS_SLAVE_SNOC_MEM_NOC_GC 225000 720000>, |
| <MSM_BUS_MASTER_SNOC_GC_MEM_NOC MSM_BUS_SLAVE_EBI_CH0 225000 3060000>, |
| <MSM_BUS_MASTER_IPA MSM_BUS_SLAVE_OCIMEM 80000 800000>, |
| <MSM_BUS_MASTER_AMPSS_M0 MSM_BUS_SLAVE_IPA_CFG 19900 199000>, |
| <MSM_BUS_MASTER_IPA_CORE MSM_BUS_SLAVE_IPA_CORE 0 250>, |
| |
| /* NOMINAL */ |
| <MSM_BUS_MASTER_IPA MSM_BUS_SLAVE_SNOC_MEM_NOC_GC 375000 1560000>, |
| <MSM_BUS_MASTER_SNOC_GC_MEM_NOC MSM_BUS_SLAVE_EBI_CH0 375000 5184000>, |
| <MSM_BUS_MASTER_IPA MSM_BUS_SLAVE_OCIMEM 160000 1600000>, |
| <MSM_BUS_MASTER_AMPSS_M0 MSM_BUS_SLAVE_IPA_CFG 39900 399000>, |
| <MSM_BUS_MASTER_IPA_CORE MSM_BUS_SLAVE_IPA_CORE 0 440>, |
| |
| /* TURBO */ |
| <MSM_BUS_MASTER_IPA MSM_BUS_SLAVE_SNOC_MEM_NOC_GC 960000 1920000>, |
| <MSM_BUS_MASTER_SNOC_GC_MEM_NOC MSM_BUS_SLAVE_EBI_CH0 2592000 5184000>, |
| <MSM_BUS_MASTER_IPA MSM_BUS_SLAVE_OCIMEM 960000 1920000>, |
| <MSM_BUS_MASTER_AMPSS_M0 MSM_BUS_SLAVE_IPA_CFG 266000 531000>, |
| <MSM_BUS_MASTER_IPA_CORE MSM_BUS_SLAVE_IPA_CORE 0 500>; |
| |
| qcom,bus-vector-names = "MIN", "SVS2", "SVS", "NOMINAL", |
| "TURBO"; |
| qcom,throughput-threshold = <310 600 1000>; |
| qcom,scaling-exceptions = <>; |
| |
| /* ipa tz unlock registers */ |
| qcom,ipa-tz-unlock-reg = |
| <0x4043583c 0x1000>; /* 32-bit reg addr and size*/ |
| |
| /* IPA RAM mmap */ |
| qcom,ipa-ram-mmap = < |
| 0x280 /* ofst_start; */ |
| 0x0 /* nat_ofst; */ |
| 0x0 /* nat_size; */ |
| 0x288 /* v4_flt_hash_ofst; */ |
| 0x78 /* v4_flt_hash_size; */ |
| 0x4000 /* v4_flt_hash_size_ddr; */ |
| 0x308 /* v4_flt_nhash_ofst; */ |
| 0x78 /* v4_flt_nhash_size; */ |
| 0x4000 /* v4_flt_nhash_size_ddr; */ |
| 0x388 /* v6_flt_hash_ofst; */ |
| 0x78 /* v6_flt_hash_size; */ |
| 0x4000 /* v6_flt_hash_size_ddr; */ |
| 0x408 /* v6_flt_nhash_ofst; */ |
| 0x78 /* v6_flt_nhash_size; */ |
| 0x4000 /* v6_flt_nhash_size_ddr; */ |
| 0xf /* v4_rt_num_index; */ |
| 0x0 /* v4_modem_rt_index_lo; */ |
| 0x7 /* v4_modem_rt_index_hi; */ |
| 0x8 /* v4_apps_rt_index_lo; */ |
| 0xe /* v4_apps_rt_index_hi; */ |
| 0x488 /* v4_rt_hash_ofst; */ |
| 0x78 /* v4_rt_hash_size; */ |
| 0x4000 /* v4_rt_hash_size_ddr; */ |
| 0x508 /* v4_rt_nhash_ofst; */ |
| 0x78 /* v4_rt_nhash_size; */ |
| 0x4000 /* v4_rt_nhash_size_ddr; */ |
| 0xf /* v6_rt_num_index; */ |
| 0x0 /* v6_modem_rt_index_lo; */ |
| 0x7 /* v6_modem_rt_index_hi; */ |
| 0x8 /* v6_apps_rt_index_lo; */ |
| 0xe /* v6_apps_rt_index_hi; */ |
| 0x588 /* v6_rt_hash_ofst; */ |
| 0x78 /* v6_rt_hash_size; */ |
| 0x4000 /* v6_rt_hash_size_ddr; */ |
| 0x608 /* v6_rt_nhash_ofst; */ |
| 0x78 /* v6_rt_nhash_size; */ |
| 0x4000 /* v6_rt_nhash_size_ddr; */ |
| 0x688 /* modem_hdr_ofst; */ |
| 0x140 /* modem_hdr_size; */ |
| 0x7c8 /* apps_hdr_ofst; */ |
| 0x0 /* apps_hdr_size; */ |
| 0x800 /* apps_hdr_size_ddr; */ |
| 0x7d0 /* modem_hdr_proc_ctx_ofst; */ |
| 0x200 /* modem_hdr_proc_ctx_size; */ |
| 0x9d0 /* apps_hdr_proc_ctx_ofst; */ |
| 0x200 /* apps_hdr_proc_ctx_size; */ |
| 0x0 /* apps_hdr_proc_ctx_size_ddr; */ |
| 0x0 /* modem_comp_decomp_ofst; diff */ |
| 0x0 /* modem_comp_decomp_size; diff */ |
| 0x13f0 /* modem_ofst; */ |
| 0x100c /* modem_size; */ |
| 0x23fc /* apps_v4_flt_hash_ofst; */ |
| 0x0 /* apps_v4_flt_hash_size; */ |
| 0x23fc /* apps_v4_flt_nhash_ofst; */ |
| 0x0 /* apps_v4_flt_nhash_size; */ |
| 0x23fc /* apps_v6_flt_hash_ofst; */ |
| 0x0 /* apps_v6_flt_hash_size; */ |
| 0x23fc /* apps_v6_flt_nhash_ofst; */ |
| 0x0 /* apps_v6_flt_nhash_size; */ |
| 0x80 /* uc_info_ofst; */ |
| 0x200 /* uc_info_size; */ |
| 0x2800 /* end_ofst; */ |
| 0x23fc /* apps_v4_rt_hash_ofst; */ |
| 0x0 /* apps_v4_rt_hash_size; */ |
| 0x23fc /* apps_v4_rt_nhash_ofst; */ |
| 0x0 /* apps_v4_rt_nhash_size; */ |
| 0x23fc /* apps_v6_rt_hash_ofst; */ |
| 0x0 /* apps_v6_rt_hash_size; */ |
| 0x23fc /* apps_v6_rt_nhash_ofst; */ |
| 0x0 /* apps_v6_rt_nhash_size; */ |
| 0x2400 /* uc_event_ring_ofst; */ |
| 0x400 /* uc_event_ring_size;*/ |
| 0xbd8 /* pdn_config_ofst; */ |
| 0x50 /* pdn_config_size; */ |
| 0xc30 /* stats_quota_ofst */ |
| 0x60 /* stats_quota_size */ |
| 0xc90 /* stats_tethering_ofst */ |
| 0x140 /* stats_tethering_size */ |
| 0xdd0 /* stats_flt_v4_ofst */ |
| 0x180 /* stats_flt_v4_size */ |
| 0xf50 /* stats_flt_v6_ofst */ |
| 0x180 /* stats_flt_v6_size */ |
| 0x10d0 /* stats_rt_v4_ofst */ |
| 0x180 /* stats_rt_v4_size */ |
| 0x1250 /* stats_rt_v6_ofst */ |
| 0x180 /* stats_rt_v6_size */ |
| 0x13d0 /* stats_drop_ofst */ |
| 0x20 /* stats_drop_size */ |
| >; |
| |
| /* smp2p gpio information */ |
| qcom,smp2pgpio_map_ipa_1_out { |
| compatible = "qcom,smp2pgpio-map-ipa-1-out"; |
| gpios = <&smp2pgpio_ipa_1_out 0 0>; |
| }; |
| |
| qcom,smp2pgpio_map_ipa_1_in { |
| compatible = "qcom,smp2pgpio-map-ipa-1-in"; |
| gpios = <&smp2pgpio_ipa_1_in 0 0>; |
| }; |
| |
| ipa_smmu_ap: ipa_smmu_ap { |
| compatible = "qcom,ipa-smmu-ap-cb"; |
| iommus = <&apps_smmu 0x5E0 0x0>; |
| qcom,iova-mapping = <0x20000000 0x40000000>; |
| qcom,additional-mapping = |
| /* modem tables in IMEM */ |
| <0x14686000 0x14686000 0x3000>; |
| qcom,ipa-q6-smem-size = <16384>; |
| }; |
| |
| ipa_smmu_wlan: ipa_smmu_wlan { |
| compatible = "qcom,ipa-smmu-wlan-cb"; |
| iommus = <&apps_smmu 0x5E1 0x0>; |
| qcom,additional-mapping = |
| /* ipa-uc ram */ |
| <0x1E60000 0x1E60000 0xA000>; |
| }; |
| |
| ipa_smmu_uc: ipa_smmu_uc { |
| compatible = "qcom,ipa-smmu-uc-cb"; |
| iommus = <&apps_smmu 0x5E2 0x0>; |
| qcom,iova-mapping = <0x40000000 0x20000000>; |
| }; |
| }; |
| |
| qmp_aop: qcom,qmp-aop@c300000 { |
| compatible = "qcom,qmp-mbox"; |
| label = "aop"; |
| reg = <0xc300000 0x400>, |
| <0x17811008 0x4>; |
| reg-names = "msgram", "irq-reg-base"; |
| qcom,irq-mask = <0x2>; |
| interrupts = <GIC_SPI 221 IRQ_TYPE_EDGE_RISING>; |
| priority = <0>; |
| mbox-desc-offset = <0x0>; |
| #mbox-cells = <1>; |
| }; |
| |
| aop-msg-client { |
| compatible = "qcom,debugfs-qmp-client"; |
| mboxes = <&qmp_aop 0>; |
| mbox-names = "aop"; |
| }; |
| |
| vbus_detect: qcom,pmd-vbus-det { |
| compatible = "qcom,pmd-vbus-det"; |
| interrupt-parent = <&spmi_bus>; |
| interrupts = <0x0 0x0d 0x0 IRQ_TYPE_NONE>; |
| interrupt-names = "usb_vbus"; |
| status = "disabled"; |
| }; |
| |
| qcom,wdt@17817000{ |
| compatible = "qcom,msm-watchdog"; |
| reg = <0x17817000 0x1000>; |
| reg-names = "wdt-base"; |
| interrupts = <1 3 0>, <1 2 0>; |
| qcom,bark-time = <11000>; |
| qcom,pet-time = <10000>; |
| }; |
| |
| qcom_rng: qrng@793000{ |
| compatible = "qcom,msm-rng"; |
| reg = <0x793000 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 = |
| <1 618 0 0>, /* No vote */ |
| <1 618 0 800>; /* 100 KHz */ |
| clocks = <&clock_gcc GCC_PRNG_AHB_CLK>; |
| clock-names = "iface_clk"; |
| }; |
| |
| qcom_tzlog: tz-log@1468B720 { |
| compatible = "qcom,tz-log"; |
| reg = <0x1468B720 0x2000>; |
| }; |
| |
| qcom_seecom: qseecom@90000000{ |
| compatible = "qcom,qseecom"; |
| reg = <0x90000000 0x600000>; |
| reg-names = "secapp-region"; |
| qcom,hlos-num-ce-hw-instances = <1>; |
| qcom,hlos-ce-hw-instance = <0>; |
| qcom,qsee-ce-hw-instance = <0>; |
| qcom,no-clock-support; |
| qcom,msm-bus,name = "qseecom-noc"; |
| qcom,msm-bus,num-cases = <4>; |
| qcom,msm-bus,num-paths = <1>; |
| clocks = <&clock_gcc GCC_CE1_CLK>, |
| <&clock_gcc GCC_CE1_CLK>, |
| <&clock_gcc GCC_CE1_AHB_CLK>, |
| <&clock_gcc GCC_CE1_AXI_CLK>; |
| qcom,msm-bus,vectors-KBps = |
| <125 512 0 0>, |
| <125 512 20000 40000>, |
| <125 512 30000 80000>, |
| <125 512 40000 100000>; |
| clock-names = "core_clk_src", "core_clk", |
| "iface_clk", "bus_clk"; |
| qcom,ce-opp-freq = <171430000>; |
| qcom,qsee-reentrancy-support = <2>; |
| status = "disabled"; |
| }; |
| |
| qcom_cedev: qcedev@1de0000 { |
| compatible = "qcom,qcedev"; |
| reg = <0x1de0000 0x20000>, |
| <0x1dc4000 0x24000>; |
| reg-names = "crypto-base","crypto-bam-base"; |
| interrupts = <0 252 0>; |
| qcom,bam-pipe-pair = <3>; |
| 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 = "qcedev-noc"; |
| qcom,msm-bus,num-cases = <2>; |
| qcom,msm-bus,num-paths = <1>; |
| qcom,msm-bus,vectors-KBps = |
| <125 512 0 0>, |
| <125 512 393600 393600>; |
| clock-names = "core_clk_src", "core_clk", |
| "iface_clk", "bus_clk"; |
| clocks = <&clock_gcc GCC_CE1_CLK>, |
| <&clock_gcc GCC_CE1_CLK>, |
| <&clock_gcc GCC_CE1_AHB_CLK>, |
| <&clock_gcc GCC_CE1_AXI_CLK>; |
| qcom,ce-opp-freq = <171430000>; |
| qcom,request-bw-before-clk; |
| iommus = <&apps_smmu 0x66 0x1>, |
| <&apps_smmu 0x76 0x1>; |
| }; |
| |
| qcom_crypto: qcrypto@1de0000 { |
| compatible = "qcom,qcrypto"; |
| reg = <0x1de0000 0x20000>, |
| <0x1dc4000 0x24000>; |
| reg-names = "crypto-base","crypto-bam-base"; |
| interrupts = <0 252 0>; |
| 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 = |
| <125 512 0 0>, |
| <125 512 393600 393600>; |
| clock-names = "core_clk_src", "core_clk", |
| "iface_clk", "bus_clk"; |
| clocks = <&clock_gcc GCC_CE1_CLK>, |
| <&clock_gcc GCC_CE1_CLK>, |
| <&clock_gcc GCC_CE1_AHB_CLK>, |
| <&clock_gcc GCC_CE1_AXI_CLK>; |
| qcom,ce-opp-freq = <171430000>; |
| qcom,request-bw-before-clk; |
| qcom,use-sw-aes-cbc-ecb-ctr-algo; |
| qcom,use-sw-aes-xts-algo; |
| qcom,use-sw-aes-ccm-algo; |
| qcom,use-sw-aead-algo; |
| qcom,use-sw-ahash-algo; |
| qcom,use-sw-hmac-algo; |
| iommus = <&apps_smmu 0x64 0x1>, |
| <&apps_smmu 0x74 0x1>; |
| }; |
| |
| qcom,msm-rtb { |
| compatible = "qcom,msm-rtb"; |
| qcom,rtb-size = <0x100000>; |
| }; |
| |
| cnss_pcie: qcom,cnss { |
| compatible = "qcom,cnss"; |
| wlan-en-gpio = <&tlmm 52 0>; |
| vdd-wlan-supply = <&vreg_wlan>; |
| vdd-wlan-xtal-supply = <&pmxpoorwills_l6>; |
| vdd-wlan-io-supply = <&pmxpoorwills_l6>; |
| qcom,notify-modem-status; |
| pinctrl-names = "wlan_en_active", "wlan_en_sleep"; |
| pinctrl-0 = <&cnss_wlan_en_active>; |
| pinctrl-1 = <&cnss_wlan_en_sleep>; |
| qcom,wlan-rc-num = <0>; |
| qcom,wlan-ramdump-dynamic = <0x200000>; |
| |
| qcom,msm-bus,name = "msm-cnss"; |
| qcom,msm-bus,num-cases = <4>; |
| qcom,msm-bus,num-paths = <2>; |
| qcom,msm-bus,vectors-KBps = |
| <45 512 0 0>, <1 512 0 0>, |
| /* Upto 200 Mbps */ |
| <45 512 41421 655360>, <1 512 41421 655360>, |
| /* Upto 400 Mbps */ |
| <45 512 98572 655360>, <1 512 98572 1600000>, |
| /* Upto 800 Mbps */ |
| <45 512 207108 1146880>, <1 512 207108 3124992>; |
| |
| qcom,wlan-smmu-iova-address = <0x10000000 0x10000000>; |
| qcom,wlan-smmu-iova-ipa = <0x20000000 0x10000>; |
| }; |
| |
| cnss_sdio: qcom,cnss_sdio { |
| compatible = "qcom,cnss_sdio"; |
| subsys-name = "AR6320_SDIO"; |
| vdd-wlan-supply = <&vreg_wlan>; |
| vdd-wlan-xtal-supply = <&pmxpoorwills_l5>; |
| vdd-wlan-io-supply = <&pmxpoorwills_l6>; |
| qcom,wlan-ramdump-dynamic = <0x200000>; |
| pinctrl-names = "active", "sleep"; |
| pinctrl-0 = <&cnss_sdio_active>; |
| pinctrl-1 = <&cnss_sdio_sleep>; |
| qcom,is-antenna-shared; |
| status = "disabled"; |
| vdd-wlan-xtal-min = <1704000>; |
| vdd-wlan-xtal-max = <1704000>; |
| }; |
| }; |
| |
| #include "pmxpoorwills.dtsi" |
| #include "sdxpoorwills-blsp.dtsi" |
| #include "sdxpoorwills-regulator.dtsi" |
| #include "sdxpoorwills-smp2p.dtsi" |
| #include "sdxpoorwills-usb.dtsi" |
| #include "sdxpoorwills-pcie.dtsi" |
| #include "sdxpoorwills-bus.dtsi" |
| #include "sdxpoorwills-thermal.dtsi" |
| #include "sdxpoorwills-audio.dtsi" |
| #include "sdxpoorwills-ion.dtsi" |
| #include "msm-arm-smmu-sdxpoorwills.dtsi" |
| #include "sdxpoorwills-coresight.dtsi" |
| |
| &soc { |
| emac_hw: qcom,emac@00020000 { |
| compatible = "qcom,emac-dwc-eqos"; |
| qcom,arm-smmu; |
| emac-core-version = <1>; |
| reg = <0x20000 0x10000>, |
| <0x36000 0x100>, |
| <0x3900000 0x300000>; |
| reg-names = "emac-base", "rgmii-base", "tlmm-central-base"; |
| interrupts-extended = <&pdc 0 62 4>, <&pdc 0 60 4>, |
| <&tlmm 84 2>, <&pdc 0 49 4>, |
| <&pdc 0 50 4>, <&pdc 0 51 4>, |
| <&pdc 0 52 4>, <&pdc 0 53 4>, |
| <&pdc 0 54 4>, <&pdc 0 55 4>, |
| <&pdc 0 56 4>, <&pdc 0 57 4>; |
| interrupt-names = "sbd-intr", "lpi-intr", |
| "phy-intr", "tx-ch0-intr", |
| "tx-ch1-intr", "tx-ch2-intr", |
| "tx-ch3-intr", "tx-ch4-intr", |
| "rx-ch0-intr", "rx-ch1-intr", |
| "rx-ch2-intr", "rx-ch3-intr"; |
| qcom,msm-bus,name = "emac"; |
| qcom,msm-bus,num-cases = <4>; |
| qcom,msm-bus,num-paths = <2>; |
| qcom,msm-bus,vectors-KBps = |
| <98 512 0 0>, <1 781 0 0>, /* No vote */ |
| <98 512 2500 0>, <1 781 0 40000>, /* 10Mbps vote */ |
| <98 512 25000 0>, <1 781 0 40000>, /* 100Mbps vote */ |
| <98 512 250000 0>, <1 781 0 40000>; /* 1000Mbps vote */ |
| qcom,bus-vector-names = "0", "10", "100", "1000"; |
| clocks = <&clock_gcc GCC_ETH_AXI_CLK>, |
| <&clock_gcc GCC_ETH_PTP_CLK>, |
| <&clock_gcc GCC_ETH_RGMII_CLK>, |
| <&clock_gcc GCC_ETH_SLAVE_AHB_CLK>; |
| clock-names = "eth_axi_clk", "eth_ptp_clk", |
| "eth_rgmii_clk", "eth_slave_ahb_clk"; |
| qcom,phy-intr-redirect = <&tlmm 84 GPIO_ACTIVE_LOW>; |
| qcom,phy-reset = <&tlmm 85 GPIO_ACTIVE_LOW>; |
| vreg_rgmii-supply = <&vreg_rgmii>; |
| vreg_emac_phy-supply = <&vreg_emac_phy>; |
| vreg_rgmii_io_pads-supply = <&vreg_rgmii_io_pads>; |
| gdsc_emac-supply = <&gdsc_emac>; |
| mboxes = <&qmp_aop 0>; |
| mbox-names = "emac_aop"; |
| io-macro-info { |
| io-macro-bypass-mode = <0>; |
| io-interface = "rgmii"; |
| }; |
| |
| emac_emb_smmu: emac_emb_smmu { |
| compatible = "qcom,emac-smmu-embedded"; |
| iommus = <&apps_smmu 0x220 0xf>; |
| qcom,iova-mapping = <0x80000000 0x40000000>; |
| }; |
| }; |
| |
| ess-instance { |
| num_devices = <0x1>; |
| ess-switch@0 { |
| compatible = "qcom,ess-switch-qca83xx"; |
| qcom,switch-access-mode = "mdio"; |
| qcom,ar8327-initvals = < |
| 0x00004 0x4200000 /* PAD0_MODE */ |
| 0x00008 0x0 /* PAD5_MODE */ |
| 0x000e4 0xaa545 /* MAC_POWER_SEL */ |
| 0x000e0 0xc74164de /* SGMII_CTRL */ |
| 0x0007c 0x4e /* PORT0_STATUS */ |
| 0x00094 0x4e /* PORT6_STATUS */ |
| >; |
| qcom,link-intr-gpio = <84>; |
| qcom,switch-cpu-bmp = <0x01>; /* cpu port bitmap */ |
| qcom,switch-lan-bmp = <0x3e>; /* lan port bitmap */ |
| qcom,switch-wan-bmp = <0x0>; /* wan port bitmap */ |
| }; |
| }; |
| }; |
| |
| #include "pmxpoorwills.dtsi" |
| #include "sdxpoorwills-blsp.dtsi" |
| #include "sdxpoorwills-regulator.dtsi" |
| #include "sdxpoorwills-smp2p.dtsi" |
| #include "sdxpoorwills-usb.dtsi" |
| #include "sdxpoorwills-pcie.dtsi" |
| #include "sdxpoorwills-bus.dtsi" |
| #include "sdxpoorwills-thermal.dtsi" |
| #include "sdxpoorwills-audio.dtsi" |
| #include "sdxpoorwills-ion.dtsi" |
| #include "msm-arm-smmu-sdxpoorwills.dtsi" |
| #include "sdxpoorwills-pm.dtsi" |