cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

qcs404.dtsi (39943B)


      1// SPDX-License-Identifier: GPL-2.0
      2// Copyright (c) 2018, Linaro Limited
      3
      4#include <dt-bindings/interrupt-controller/arm-gic.h>
      5#include <dt-bindings/clock/qcom,gcc-qcs404.h>
      6#include <dt-bindings/clock/qcom,turingcc-qcs404.h>
      7#include <dt-bindings/clock/qcom,rpmcc.h>
      8#include <dt-bindings/power/qcom-rpmpd.h>
      9#include <dt-bindings/thermal/thermal.h>
     10
     11/ {
     12	interrupt-parent = <&intc>;
     13
     14	#address-cells = <2>;
     15	#size-cells = <2>;
     16
     17	chosen { };
     18
     19	clocks {
     20		xo_board: xo-board {
     21			compatible = "fixed-clock";
     22			#clock-cells = <0>;
     23			clock-frequency = <19200000>;
     24		};
     25
     26		sleep_clk: sleep-clk {
     27			compatible = "fixed-clock";
     28			#clock-cells = <0>;
     29			clock-frequency = <32768>;
     30		};
     31	};
     32
     33	cpus {
     34		#address-cells = <1>;
     35		#size-cells = <0>;
     36
     37		CPU0: cpu@100 {
     38			device_type = "cpu";
     39			compatible = "arm,cortex-a53";
     40			reg = <0x100>;
     41			enable-method = "psci";
     42			cpu-idle-states = <&CPU_SLEEP_0>;
     43			next-level-cache = <&L2_0>;
     44			#cooling-cells = <2>;
     45			clocks = <&apcs_glb>;
     46			operating-points-v2 = <&cpu_opp_table>;
     47			power-domains = <&cpr>;
     48			power-domain-names = "cpr";
     49		};
     50
     51		CPU1: cpu@101 {
     52			device_type = "cpu";
     53			compatible = "arm,cortex-a53";
     54			reg = <0x101>;
     55			enable-method = "psci";
     56			cpu-idle-states = <&CPU_SLEEP_0>;
     57			next-level-cache = <&L2_0>;
     58			#cooling-cells = <2>;
     59			clocks = <&apcs_glb>;
     60			operating-points-v2 = <&cpu_opp_table>;
     61			power-domains = <&cpr>;
     62			power-domain-names = "cpr";
     63		};
     64
     65		CPU2: cpu@102 {
     66			device_type = "cpu";
     67			compatible = "arm,cortex-a53";
     68			reg = <0x102>;
     69			enable-method = "psci";
     70			cpu-idle-states = <&CPU_SLEEP_0>;
     71			next-level-cache = <&L2_0>;
     72			#cooling-cells = <2>;
     73			clocks = <&apcs_glb>;
     74			operating-points-v2 = <&cpu_opp_table>;
     75			power-domains = <&cpr>;
     76			power-domain-names = "cpr";
     77		};
     78
     79		CPU3: cpu@103 {
     80			device_type = "cpu";
     81			compatible = "arm,cortex-a53";
     82			reg = <0x103>;
     83			enable-method = "psci";
     84			cpu-idle-states = <&CPU_SLEEP_0>;
     85			next-level-cache = <&L2_0>;
     86			#cooling-cells = <2>;
     87			clocks = <&apcs_glb>;
     88			operating-points-v2 = <&cpu_opp_table>;
     89			power-domains = <&cpr>;
     90			power-domain-names = "cpr";
     91		};
     92
     93		L2_0: l2-cache {
     94			compatible = "cache";
     95			cache-level = <2>;
     96		};
     97
     98		idle-states {
     99			entry-method = "psci";
    100
    101			CPU_SLEEP_0: cpu-sleep-0 {
    102				compatible = "arm,idle-state";
    103				idle-state-name = "standalone-power-collapse";
    104				arm,psci-suspend-param = <0x40000003>;
    105				entry-latency-us = <125>;
    106				exit-latency-us = <180>;
    107				min-residency-us = <595>;
    108				local-timer-stop;
    109			};
    110		};
    111	};
    112
    113	cpu_opp_table: opp-table-cpu {
    114		compatible = "operating-points-v2-kryo-cpu";
    115		opp-shared;
    116
    117		opp-1094400000 {
    118			opp-hz = /bits/ 64 <1094400000>;
    119			required-opps = <&cpr_opp1>;
    120		};
    121		opp-1248000000 {
    122			opp-hz = /bits/ 64 <1248000000>;
    123			required-opps = <&cpr_opp2>;
    124		};
    125		opp-1401600000 {
    126			opp-hz = /bits/ 64 <1401600000>;
    127			required-opps = <&cpr_opp3>;
    128		};
    129	};
    130
    131	cpr_opp_table: opp-table-cpr {
    132		compatible = "operating-points-v2-qcom-level";
    133
    134		cpr_opp1: opp1 {
    135			opp-level = <1>;
    136			qcom,opp-fuse-level = <1>;
    137		};
    138		cpr_opp2: opp2 {
    139			opp-level = <2>;
    140			qcom,opp-fuse-level = <2>;
    141		};
    142		cpr_opp3: opp3 {
    143			opp-level = <3>;
    144			qcom,opp-fuse-level = <3>;
    145		};
    146	};
    147
    148	firmware {
    149		scm: scm {
    150			compatible = "qcom,scm-qcs404", "qcom,scm";
    151			#reset-cells = <1>;
    152		};
    153	};
    154
    155	memory@80000000 {
    156		device_type = "memory";
    157		/* We expect the bootloader to fill in the size */
    158		reg = <0 0x80000000 0 0>;
    159	};
    160
    161	psci {
    162		compatible = "arm,psci-1.0";
    163		method = "smc";
    164	};
    165
    166	reserved-memory {
    167		#address-cells = <2>;
    168		#size-cells = <2>;
    169		ranges;
    170
    171		tz_apps_mem: memory@85900000 {
    172			reg = <0 0x85900000 0 0x500000>;
    173			no-map;
    174		};
    175
    176		xbl_mem: memory@85e00000 {
    177			reg = <0 0x85e00000 0 0x100000>;
    178			no-map;
    179		};
    180
    181		smem_region: memory@85f00000 {
    182			reg = <0 0x85f00000 0 0x200000>;
    183			no-map;
    184		};
    185
    186		tz_mem: memory@86100000 {
    187			reg = <0 0x86100000 0 0x300000>;
    188			no-map;
    189		};
    190
    191		wlan_fw_mem: memory@86400000 {
    192			reg = <0 0x86400000 0 0x1100000>;
    193			no-map;
    194		};
    195
    196		adsp_fw_mem: memory@87500000 {
    197			reg = <0 0x87500000 0 0x1a00000>;
    198			no-map;
    199		};
    200
    201		cdsp_fw_mem: memory@88f00000 {
    202			reg = <0 0x88f00000 0 0x600000>;
    203			no-map;
    204		};
    205
    206		wlan_msa_mem: memory@89500000 {
    207			reg = <0 0x89500000 0 0x100000>;
    208			no-map;
    209		};
    210
    211		uefi_mem: memory@9f800000 {
    212			reg = <0 0x9f800000 0 0x800000>;
    213			no-map;
    214		};
    215	};
    216
    217	rpm-glink {
    218		compatible = "qcom,glink-rpm";
    219
    220		interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
    221		qcom,rpm-msg-ram = <&rpm_msg_ram>;
    222		mboxes = <&apcs_glb 0>;
    223
    224		rpm_requests: glink-channel {
    225			compatible = "qcom,rpm-qcs404";
    226			qcom,glink-channels = "rpm_requests";
    227
    228			rpmcc: clock-controller {
    229				compatible = "qcom,rpmcc-qcs404", "qcom,rpmcc";
    230				#clock-cells = <1>;
    231			};
    232
    233			rpmpd: power-controller {
    234				compatible = "qcom,qcs404-rpmpd";
    235				#power-domain-cells = <1>;
    236				operating-points-v2 = <&rpmpd_opp_table>;
    237
    238				rpmpd_opp_table: opp-table {
    239					compatible = "operating-points-v2";
    240
    241					rpmpd_opp_ret: opp1 {
    242						opp-level = <16>;
    243					};
    244
    245					rpmpd_opp_ret_plus: opp2 {
    246						opp-level = <32>;
    247					};
    248
    249					rpmpd_opp_min_svs: opp3 {
    250						opp-level = <48>;
    251					};
    252
    253					rpmpd_opp_low_svs: opp4 {
    254						opp-level = <64>;
    255					};
    256
    257					rpmpd_opp_svs: opp5 {
    258						opp-level = <128>;
    259					};
    260
    261					rpmpd_opp_svs_plus: opp6 {
    262						opp-level = <192>;
    263					};
    264
    265					rpmpd_opp_nom: opp7 {
    266						opp-level = <256>;
    267					};
    268
    269					rpmpd_opp_nom_plus: opp8 {
    270						opp-level = <320>;
    271					};
    272
    273					rpmpd_opp_turbo: opp9 {
    274						opp-level = <384>;
    275					};
    276
    277					rpmpd_opp_turbo_no_cpr: opp10 {
    278						opp-level = <416>;
    279					};
    280
    281					rpmpd_opp_turbo_plus: opp11 {
    282						opp-level = <512>;
    283					};
    284				};
    285			};
    286		};
    287	};
    288
    289	smem {
    290		compatible = "qcom,smem";
    291
    292		memory-region = <&smem_region>;
    293		qcom,rpm-msg-ram = <&rpm_msg_ram>;
    294
    295		hwlocks = <&tcsr_mutex 3>;
    296	};
    297
    298	tcsr_mutex: hwlock {
    299		compatible = "qcom,tcsr-mutex";
    300		syscon = <&tcsr_mutex_regs 0 0x1000>;
    301		#hwlock-cells = <1>;
    302	};
    303
    304	soc: soc@0 {
    305		#address-cells = <1>;
    306		#size-cells = <1>;
    307		ranges = <0 0 0 0xffffffff>;
    308		compatible = "simple-bus";
    309
    310		turingcc: clock-controller@800000 {
    311			compatible = "qcom,qcs404-turingcc";
    312			reg = <0x00800000 0x30000>;
    313			clocks = <&gcc GCC_CDSP_CFG_AHB_CLK>;
    314
    315			#clock-cells = <1>;
    316			#reset-cells = <1>;
    317
    318			status = "disabled";
    319		};
    320
    321		rpm_msg_ram: sram@60000 {
    322			compatible = "qcom,rpm-msg-ram";
    323			reg = <0x00060000 0x6000>;
    324		};
    325
    326		usb3_phy: phy@78000 {
    327			compatible = "qcom,usb-ss-28nm-phy";
    328			reg = <0x00078000 0x400>;
    329			#phy-cells = <0>;
    330			clocks = <&rpmcc RPM_SMD_LN_BB_CLK>,
    331				 <&gcc GCC_USB_HS_PHY_CFG_AHB_CLK>,
    332				 <&gcc GCC_USB3_PHY_PIPE_CLK>;
    333			clock-names = "ref", "ahb", "pipe";
    334			resets = <&gcc GCC_USB3_PHY_BCR>,
    335				 <&gcc GCC_USB3PHY_PHY_BCR>;
    336			reset-names = "com", "phy";
    337			status = "disabled";
    338		};
    339
    340		usb2_phy_prim: phy@7a000 {
    341			compatible = "qcom,usb-hs-28nm-femtophy";
    342			reg = <0x0007a000 0x200>;
    343			#phy-cells = <0>;
    344			clocks = <&rpmcc RPM_SMD_LN_BB_CLK>,
    345				 <&gcc GCC_USB_HS_PHY_CFG_AHB_CLK>,
    346				 <&gcc GCC_USB2A_PHY_SLEEP_CLK>;
    347			clock-names = "ref", "ahb", "sleep";
    348			resets = <&gcc GCC_USB_HS_PHY_CFG_AHB_BCR>,
    349				 <&gcc GCC_USB2A_PHY_BCR>;
    350			reset-names = "phy", "por";
    351			status = "disabled";
    352		};
    353
    354		usb2_phy_sec: phy@7c000 {
    355			compatible = "qcom,usb-hs-28nm-femtophy";
    356			reg = <0x0007c000 0x200>;
    357			#phy-cells = <0>;
    358			clocks = <&rpmcc RPM_SMD_LN_BB_CLK>,
    359				 <&gcc GCC_USB_HS_PHY_CFG_AHB_CLK>,
    360				 <&gcc GCC_USB2A_PHY_SLEEP_CLK>;
    361			clock-names = "ref", "ahb", "sleep";
    362			resets = <&gcc GCC_QUSB2_PHY_BCR>,
    363				 <&gcc GCC_USB2_HS_PHY_ONLY_BCR>;
    364			reset-names = "phy", "por";
    365			status = "disabled";
    366		};
    367
    368		qfprom: qfprom@a4000 {
    369			compatible = "qcom,qfprom";
    370			reg = <0x000a4000 0x1000>;
    371			#address-cells = <1>;
    372			#size-cells = <1>;
    373			tsens_caldata: caldata@d0 {
    374				reg = <0x1f8 0x14>;
    375			};
    376			cpr_efuse_speedbin: speedbin@13c {
    377				reg = <0x13c 0x4>;
    378				bits = <2 3>;
    379			};
    380			cpr_efuse_quot_offset1: qoffset1@231 {
    381				reg = <0x231 0x4>;
    382				bits = <4 7>;
    383			};
    384			cpr_efuse_quot_offset2: qoffset2@232 {
    385				reg = <0x232 0x4>;
    386				bits = <3 7>;
    387			};
    388			cpr_efuse_quot_offset3: qoffset3@233 {
    389				reg = <0x233 0x4>;
    390				bits = <2 7>;
    391			};
    392			cpr_efuse_init_voltage1: ivoltage1@229 {
    393				reg = <0x229 0x4>;
    394				bits = <4 6>;
    395			};
    396			cpr_efuse_init_voltage2: ivoltage2@22a {
    397				reg = <0x22a 0x4>;
    398				bits = <2 6>;
    399			};
    400			cpr_efuse_init_voltage3: ivoltage3@22b {
    401				reg = <0x22b 0x4>;
    402				bits = <0 6>;
    403			};
    404			cpr_efuse_quot1: quot1@22b {
    405				reg = <0x22b 0x4>;
    406				bits = <6 12>;
    407			};
    408			cpr_efuse_quot2: quot2@22d {
    409				reg = <0x22d 0x4>;
    410				bits = <2 12>;
    411			};
    412			cpr_efuse_quot3: quot3@230 {
    413				reg = <0x230 0x4>;
    414				bits = <0 12>;
    415			};
    416			cpr_efuse_ring1: ring1@228 {
    417				reg = <0x228 0x4>;
    418				bits = <0 3>;
    419			};
    420			cpr_efuse_ring2: ring2@228 {
    421				reg = <0x228 0x4>;
    422				bits = <4 3>;
    423			};
    424			cpr_efuse_ring3: ring3@229 {
    425				reg = <0x229 0x4>;
    426				bits = <0 3>;
    427			};
    428			cpr_efuse_revision: revision@218 {
    429				reg = <0x218 0x4>;
    430				bits = <3 3>;
    431			};
    432		};
    433
    434		rng: rng@e3000 {
    435			compatible = "qcom,prng-ee";
    436			reg = <0x000e3000 0x1000>;
    437			clocks = <&gcc GCC_PRNG_AHB_CLK>;
    438			clock-names = "core";
    439		};
    440
    441		bimc: interconnect@400000 {
    442			reg = <0x00400000 0x80000>;
    443			compatible = "qcom,qcs404-bimc";
    444			#interconnect-cells = <1>;
    445			clock-names = "bus", "bus_a";
    446			clocks = <&rpmcc RPM_SMD_BIMC_CLK>,
    447				<&rpmcc RPM_SMD_BIMC_A_CLK>;
    448		};
    449
    450		tsens: thermal-sensor@4a9000 {
    451			compatible = "qcom,qcs404-tsens", "qcom,tsens-v1";
    452			reg = <0x004a9000 0x1000>, /* TM */
    453			      <0x004a8000 0x1000>; /* SROT */
    454			nvmem-cells = <&tsens_caldata>;
    455			nvmem-cell-names = "calib";
    456			#qcom,sensors = <10>;
    457			interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
    458			interrupt-names = "uplow";
    459			#thermal-sensor-cells = <1>;
    460		};
    461
    462		pcnoc: interconnect@500000 {
    463			reg = <0x00500000 0x15080>;
    464			compatible = "qcom,qcs404-pcnoc";
    465			#interconnect-cells = <1>;
    466			clock-names = "bus", "bus_a";
    467			clocks = <&rpmcc RPM_SMD_PNOC_CLK>,
    468				<&rpmcc RPM_SMD_PNOC_A_CLK>;
    469		};
    470
    471		snoc: interconnect@580000 {
    472			reg = <0x00580000 0x23080>;
    473			compatible = "qcom,qcs404-snoc";
    474			#interconnect-cells = <1>;
    475			clock-names = "bus", "bus_a";
    476			clocks = <&rpmcc RPM_SMD_SNOC_CLK>,
    477				<&rpmcc RPM_SMD_SNOC_A_CLK>;
    478		};
    479
    480		remoteproc_cdsp: remoteproc@b00000 {
    481			compatible = "qcom,qcs404-cdsp-pas";
    482			reg = <0x00b00000 0x4040>;
    483
    484			interrupts-extended = <&intc GIC_SPI 229 IRQ_TYPE_EDGE_RISING>,
    485					      <&cdsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
    486					      <&cdsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
    487					      <&cdsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
    488					      <&cdsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
    489			interrupt-names = "wdog", "fatal", "ready",
    490					  "handover", "stop-ack";
    491
    492			clocks = <&xo_board>,
    493				 <&gcc GCC_CDSP_CFG_AHB_CLK>,
    494				 <&gcc GCC_CDSP_TBU_CLK>,
    495				 <&gcc GCC_BIMC_CDSP_CLK>,
    496				 <&turingcc TURING_WRAPPER_AON_CLK>,
    497				 <&turingcc TURING_Q6SS_AHBS_AON_CLK>,
    498				 <&turingcc TURING_Q6SS_AHBM_AON_CLK>,
    499				 <&turingcc TURING_Q6SS_Q6_AXIM_CLK>;
    500			clock-names = "xo",
    501				      "sway",
    502				      "tbu",
    503				      "bimc",
    504				      "ahb_aon",
    505				      "q6ss_slave",
    506				      "q6ss_master",
    507				      "q6_axim";
    508
    509			resets = <&gcc GCC_CDSP_RESTART>;
    510			reset-names = "restart";
    511
    512			qcom,halt-regs = <&tcsr 0x19004>;
    513
    514			memory-region = <&cdsp_fw_mem>;
    515
    516			qcom,smem-states = <&cdsp_smp2p_out 0>;
    517			qcom,smem-state-names = "stop";
    518
    519			status = "disabled";
    520
    521			glink-edge {
    522				interrupts = <GIC_SPI 141 IRQ_TYPE_EDGE_RISING>;
    523
    524				qcom,remote-pid = <5>;
    525				mboxes = <&apcs_glb 12>;
    526
    527				label = "cdsp";
    528			};
    529		};
    530
    531		usb3: usb@7678800 {
    532			compatible = "qcom,qcs404-dwc3", "qcom,dwc3";
    533			reg = <0x07678800 0x400>;
    534			#address-cells = <1>;
    535			#size-cells = <1>;
    536			ranges;
    537			clocks = <&gcc GCC_USB30_MASTER_CLK>,
    538				 <&gcc GCC_SYS_NOC_USB3_CLK>,
    539				 <&gcc GCC_USB30_SLEEP_CLK>,
    540				 <&gcc GCC_USB30_MOCK_UTMI_CLK>;
    541			clock-names = "core", "iface", "sleep", "mock_utmi";
    542			assigned-clocks = <&gcc GCC_USB20_MOCK_UTMI_CLK>,
    543					  <&gcc GCC_USB30_MASTER_CLK>;
    544			assigned-clock-rates = <19200000>, <200000000>;
    545			status = "disabled";
    546
    547			usb3_dwc3: usb@7580000 {
    548				compatible = "snps,dwc3";
    549				reg = <0x07580000 0xcd00>;
    550				interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
    551				phys = <&usb2_phy_sec>, <&usb3_phy>;
    552				phy-names = "usb2-phy", "usb3-phy";
    553				snps,has-lpm-erratum;
    554				snps,hird-threshold = /bits/ 8 <0x10>;
    555				snps,usb3_lpm_capable;
    556				dr_mode = "otg";
    557			};
    558		};
    559
    560		usb2: usb@79b8800 {
    561			compatible = "qcom,qcs404-dwc3", "qcom,dwc3";
    562			reg = <0x079b8800 0x400>;
    563			#address-cells = <1>;
    564			#size-cells = <1>;
    565			ranges;
    566			clocks = <&gcc GCC_USB_HS_SYSTEM_CLK>,
    567				 <&gcc GCC_PCNOC_USB2_CLK>,
    568				 <&gcc GCC_USB_HS_INACTIVITY_TIMERS_CLK>,
    569				 <&gcc GCC_USB20_MOCK_UTMI_CLK>;
    570			clock-names = "core", "iface", "sleep", "mock_utmi";
    571			assigned-clocks = <&gcc GCC_USB20_MOCK_UTMI_CLK>,
    572					  <&gcc GCC_USB_HS_SYSTEM_CLK>;
    573			assigned-clock-rates = <19200000>, <133333333>;
    574			status = "disabled";
    575
    576			usb@78c0000 {
    577				compatible = "snps,dwc3";
    578				reg = <0x078c0000 0xcc00>;
    579				interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
    580				phys = <&usb2_phy_prim>;
    581				phy-names = "usb2-phy";
    582				snps,has-lpm-erratum;
    583				snps,hird-threshold = /bits/ 8 <0x10>;
    584				snps,usb3_lpm_capable;
    585				dr_mode = "peripheral";
    586			};
    587		};
    588
    589		tlmm: pinctrl@1000000 {
    590			compatible = "qcom,qcs404-pinctrl";
    591			reg = <0x01000000 0x200000>,
    592			      <0x01300000 0x200000>,
    593			      <0x07b00000 0x200000>;
    594			reg-names = "south", "north", "east";
    595			interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
    596			gpio-ranges = <&tlmm 0 0 120>;
    597			gpio-controller;
    598			#gpio-cells = <2>;
    599			interrupt-controller;
    600			#interrupt-cells = <2>;
    601
    602			blsp1_i2c0_default: blsp1-i2c0-default {
    603				pins = "gpio32", "gpio33";
    604				function = "blsp_i2c0";
    605			};
    606
    607			blsp1_i2c1_default: blsp1-i2c1-default {
    608				pins = "gpio24", "gpio25";
    609				function = "blsp_i2c1";
    610			};
    611
    612			blsp1_i2c2_default: blsp1-i2c2-default {
    613				sda {
    614					pins = "gpio19";
    615					function = "blsp_i2c_sda_a2";
    616				};
    617
    618				scl {
    619					pins = "gpio20";
    620					function = "blsp_i2c_scl_a2";
    621				};
    622			};
    623
    624			blsp1_i2c3_default: blsp1-i2c3-default {
    625				pins = "gpio84", "gpio85";
    626				function = "blsp_i2c3";
    627			};
    628
    629			blsp1_i2c4_default: blsp1-i2c4-default {
    630				pins = "gpio117", "gpio118";
    631				function = "blsp_i2c4";
    632			};
    633
    634			blsp1_uart0_default: blsp1-uart0-default {
    635				pins = "gpio30", "gpio31", "gpio32", "gpio33";
    636				function = "blsp_uart0";
    637			};
    638
    639			blsp1_uart1_default: blsp1-uart1-default {
    640				pins = "gpio22", "gpio23";
    641				function = "blsp_uart1";
    642			};
    643
    644			blsp1_uart2_default: blsp1-uart2-default {
    645				rx {
    646					pins = "gpio18";
    647					function = "blsp_uart_rx_a2";
    648				};
    649
    650				tx {
    651					pins = "gpio17";
    652					function = "blsp_uart_tx_a2";
    653				};
    654			};
    655
    656			blsp1_uart3_default: blsp1-uart3-default {
    657				pins = "gpio82", "gpio83", "gpio84", "gpio85";
    658				function = "blsp_uart3";
    659			};
    660
    661			blsp2_i2c0_default: blsp2-i2c0-default {
    662				pins = "gpio28", "gpio29";
    663				function = "blsp_i2c5";
    664			};
    665
    666			blsp1_spi0_default: blsp1-spi0-default {
    667				pins = "gpio30", "gpio31", "gpio32", "gpio33";
    668				function = "blsp_spi0";
    669			};
    670
    671			blsp1_spi1_default: blsp1-spi1-default {
    672				pins = "gpio22", "gpio23", "gpio24", "gpio25";
    673				function = "blsp_spi1";
    674			};
    675
    676			blsp1_spi2_default: blsp1-spi2-default {
    677				pins = "gpio17", "gpio18", "gpio19", "gpio20";
    678				function = "blsp_spi2";
    679			};
    680
    681			blsp1_spi3_default: blsp1-spi3-default {
    682				pins = "gpio82", "gpio83", "gpio84", "gpio85";
    683				function = "blsp_spi3";
    684			};
    685
    686			blsp1_spi4_default: blsp1-spi4-default {
    687				pins = "gpio37", "gpio38", "gpio117", "gpio118";
    688				function = "blsp_spi4";
    689			};
    690
    691			blsp2_spi0_default: blsp2-spi0-default {
    692				pins = "gpio26", "gpio27", "gpio28", "gpio29";
    693				function = "blsp_spi5";
    694			};
    695
    696			blsp2_uart0_default: blsp2-uart0-default {
    697				pins = "gpio26", "gpio27", "gpio28", "gpio29";
    698				function = "blsp_uart5";
    699			};
    700		};
    701
    702		gcc: clock-controller@1800000 {
    703			compatible = "qcom,gcc-qcs404";
    704			reg = <0x01800000 0x80000>;
    705			#clock-cells = <1>;
    706			#reset-cells = <1>;
    707
    708			assigned-clocks = <&gcc GCC_APSS_AHB_CLK_SRC>;
    709			assigned-clock-rates = <19200000>;
    710		};
    711
    712		tcsr_mutex_regs: syscon@1905000 {
    713			compatible = "syscon";
    714			reg = <0x01905000 0x20000>;
    715		};
    716
    717		tcsr: syscon@1937000 {
    718			compatible = "syscon";
    719			reg = <0x01937000 0x25000>;
    720		};
    721
    722		sram@290000 {
    723			compatible = "qcom,rpm-stats";
    724			reg = <0x00290000 0x10000>;
    725		};
    726
    727		spmi_bus: spmi@200f000 {
    728			compatible = "qcom,spmi-pmic-arb";
    729			reg = <0x0200f000 0x001000>,
    730			      <0x02400000 0x800000>,
    731			      <0x02c00000 0x800000>,
    732			      <0x03800000 0x200000>,
    733			      <0x0200a000 0x002100>;
    734			reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
    735			interrupt-names = "periph_irq";
    736			interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
    737			qcom,ee = <0>;
    738			qcom,channel = <0>;
    739			#address-cells = <2>;
    740			#size-cells = <0>;
    741			interrupt-controller;
    742			#interrupt-cells = <4>;
    743		};
    744
    745		remoteproc_wcss: remoteproc@7400000 {
    746			compatible = "qcom,qcs404-wcss-pas";
    747			reg = <0x07400000 0x4040>;
    748
    749			interrupts-extended = <&intc GIC_SPI 153 IRQ_TYPE_EDGE_RISING>,
    750					      <&wcss_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
    751					      <&wcss_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
    752					      <&wcss_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
    753					      <&wcss_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
    754			interrupt-names = "wdog", "fatal", "ready",
    755					  "handover", "stop-ack";
    756
    757			clocks = <&xo_board>;
    758			clock-names = "xo";
    759
    760			memory-region = <&wlan_fw_mem>;
    761
    762			qcom,smem-states = <&wcss_smp2p_out 0>;
    763			qcom,smem-state-names = "stop";
    764
    765			status = "disabled";
    766
    767			glink-edge {
    768				interrupts = <GIC_SPI 156 IRQ_TYPE_EDGE_RISING>;
    769
    770				qcom,remote-pid = <1>;
    771				mboxes = <&apcs_glb 16>;
    772
    773				label = "wcss";
    774			};
    775		};
    776
    777		pcie_phy: phy@7786000 {
    778			compatible = "qcom,qcs404-pcie2-phy", "qcom,pcie2-phy";
    779			reg = <0x07786000 0xb8>;
    780
    781			clocks = <&gcc GCC_PCIE_0_PIPE_CLK>;
    782			resets = <&gcc GCC_PCIEPHY_0_PHY_BCR>,
    783				 <&gcc 21>;
    784			reset-names = "phy", "pipe";
    785
    786			clock-output-names = "pcie_0_pipe_clk";
    787			#phy-cells = <0>;
    788
    789			status = "disabled";
    790		};
    791
    792		sdcc1: sdcc@7804000 {
    793			compatible = "qcom,qcs404-sdhci", "qcom,sdhci-msm-v5";
    794			reg = <0x07804000 0x1000>, <0x7805000 0x1000>;
    795			reg-names = "hc", "cqhci";
    796
    797			interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
    798				     <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
    799			interrupt-names = "hc_irq", "pwr_irq";
    800
    801			clocks = <&gcc GCC_SDCC1_APPS_CLK>,
    802				 <&gcc GCC_SDCC1_AHB_CLK>,
    803				 <&xo_board>;
    804			clock-names = "core", "iface", "xo";
    805
    806			status = "disabled";
    807		};
    808
    809		blsp1_dma: dma-controller@7884000 {
    810			compatible = "qcom,bam-v1.7.0";
    811			reg = <0x07884000 0x25000>;
    812			interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>;
    813			clocks = <&gcc GCC_BLSP1_AHB_CLK>;
    814			clock-names = "bam_clk";
    815			#dma-cells = <1>;
    816			qcom,ee = <0>;
    817			status = "okay";
    818		};
    819
    820		blsp1_uart0: serial@78af000 {
    821			compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
    822			reg = <0x078af000 0x200>;
    823			interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
    824			clocks = <&gcc GCC_BLSP1_UART0_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>;
    825			clock-names = "core", "iface";
    826			dmas = <&blsp1_dma 0>, <&blsp1_dma 1>;
    827			dma-names = "tx", "rx";
    828			pinctrl-names = "default";
    829			pinctrl-0 = <&blsp1_uart0_default>;
    830			status = "disabled";
    831		};
    832
    833		blsp1_uart1: serial@78b0000 {
    834			compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
    835			reg = <0x078b0000 0x200>;
    836			interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
    837			clocks = <&gcc GCC_BLSP1_UART1_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>;
    838			clock-names = "core", "iface";
    839			dmas = <&blsp1_dma 2>, <&blsp1_dma 3>;
    840			dma-names = "tx", "rx";
    841			pinctrl-names = "default";
    842			pinctrl-0 = <&blsp1_uart1_default>;
    843			status = "disabled";
    844		};
    845
    846		blsp1_uart2: serial@78b1000 {
    847			compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
    848			reg = <0x078b1000 0x200>;
    849			interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
    850			clocks = <&gcc GCC_BLSP1_UART2_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>;
    851			clock-names = "core", "iface";
    852			dmas = <&blsp1_dma 4>, <&blsp1_dma 5>;
    853			dma-names = "tx", "rx";
    854			pinctrl-names = "default";
    855			pinctrl-0 = <&blsp1_uart2_default>;
    856			status = "okay";
    857		};
    858
    859		ethernet: ethernet@7a80000 {
    860			compatible = "qcom,qcs404-ethqos";
    861			reg = <0x07a80000 0x10000>,
    862				<0x07a96000 0x100>;
    863			reg-names = "stmmaceth", "rgmii";
    864			clock-names = "stmmaceth", "pclk", "ptp_ref", "rgmii";
    865			clocks = <&gcc GCC_ETH_AXI_CLK>,
    866				<&gcc GCC_ETH_SLAVE_AHB_CLK>,
    867				<&gcc GCC_ETH_PTP_CLK>,
    868				<&gcc GCC_ETH_RGMII_CLK>;
    869			interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,
    870					<GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
    871			interrupt-names = "macirq", "eth_lpi";
    872
    873			snps,tso;
    874			rx-fifo-depth = <4096>;
    875			tx-fifo-depth = <4096>;
    876
    877			status = "disabled";
    878		};
    879
    880		wifi: wifi@a000000 {
    881			compatible = "qcom,wcn3990-wifi";
    882			reg = <0xa000000 0x800000>;
    883			reg-names = "membase";
    884			memory-region = <&wlan_msa_mem>;
    885			interrupts = <GIC_SPI 277 IRQ_TYPE_LEVEL_HIGH>,
    886				     <GIC_SPI 278 IRQ_TYPE_LEVEL_HIGH>,
    887				     <GIC_SPI 279 IRQ_TYPE_LEVEL_HIGH>,
    888				     <GIC_SPI 280 IRQ_TYPE_LEVEL_HIGH>,
    889				     <GIC_SPI 281 IRQ_TYPE_LEVEL_HIGH>,
    890				     <GIC_SPI 282 IRQ_TYPE_LEVEL_HIGH>,
    891				     <GIC_SPI 283 IRQ_TYPE_LEVEL_HIGH>,
    892				     <GIC_SPI 284 IRQ_TYPE_LEVEL_HIGH>,
    893				     <GIC_SPI 285 IRQ_TYPE_LEVEL_HIGH>,
    894				     <GIC_SPI 286 IRQ_TYPE_LEVEL_HIGH>,
    895				     <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>,
    896				     <GIC_SPI 288 IRQ_TYPE_LEVEL_HIGH>;
    897			status = "disabled";
    898		};
    899
    900		blsp1_uart3: serial@78b2000 {
    901			compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
    902			reg = <0x078b2000 0x200>;
    903			interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
    904			clocks = <&gcc GCC_BLSP1_UART3_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>;
    905			clock-names = "core", "iface";
    906			dmas = <&blsp1_dma 6>, <&blsp1_dma 7>;
    907			dma-names = "tx", "rx";
    908			pinctrl-names = "default";
    909			pinctrl-0 = <&blsp1_uart3_default>;
    910			status = "disabled";
    911		};
    912
    913		blsp1_i2c0: i2c@78b5000 {
    914			compatible = "qcom,i2c-qup-v2.2.1";
    915			reg = <0x078b5000 0x600>;
    916			interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
    917			clocks = <&gcc GCC_BLSP1_QUP0_I2C_APPS_CLK>,
    918				 <&gcc GCC_BLSP1_AHB_CLK>;
    919			clock-names = "core", "iface";
    920			pinctrl-names = "default";
    921			pinctrl-0 = <&blsp1_i2c0_default>;
    922			#address-cells = <1>;
    923			#size-cells = <0>;
    924			status = "disabled";
    925		};
    926
    927		blsp1_spi0: spi@78b5000 {
    928			compatible = "qcom,spi-qup-v2.2.1";
    929			reg = <0x078b5000 0x600>;
    930			interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
    931			clocks = <&gcc GCC_BLSP1_QUP0_SPI_APPS_CLK>,
    932				 <&gcc GCC_BLSP1_AHB_CLK>;
    933			clock-names = "core", "iface";
    934			pinctrl-names = "default";
    935			pinctrl-0 = <&blsp1_spi0_default>;
    936			#address-cells = <1>;
    937			#size-cells = <0>;
    938			status = "disabled";
    939		};
    940
    941		blsp1_i2c1: i2c@78b6000 {
    942			compatible = "qcom,i2c-qup-v2.2.1";
    943			reg = <0x078b6000 0x600>;
    944			interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
    945			clocks = <&gcc GCC_BLSP1_QUP1_I2C_APPS_CLK>,
    946				 <&gcc GCC_BLSP1_AHB_CLK>;
    947			clock-names = "core", "iface";
    948			pinctrl-names = "default";
    949			pinctrl-0 = <&blsp1_i2c1_default>;
    950			#address-cells = <1>;
    951			#size-cells = <0>;
    952			status = "disabled";
    953		};
    954
    955		blsp1_spi1: spi@78b6000 {
    956			compatible = "qcom,spi-qup-v2.2.1";
    957			reg = <0x078b6000 0x600>;
    958			interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
    959			clocks = <&gcc GCC_BLSP1_QUP1_SPI_APPS_CLK>,
    960				 <&gcc GCC_BLSP1_AHB_CLK>;
    961			clock-names = "core", "iface";
    962			pinctrl-names = "default";
    963			pinctrl-0 = <&blsp1_spi1_default>;
    964			#address-cells = <1>;
    965			#size-cells = <0>;
    966			status = "disabled";
    967		};
    968
    969		blsp1_i2c2: i2c@78b7000 {
    970			compatible = "qcom,i2c-qup-v2.2.1";
    971			reg = <0x078b7000 0x600>;
    972			interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
    973			clocks = <&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>,
    974				 <&gcc GCC_BLSP1_AHB_CLK>;
    975			clock-names = "core", "iface";
    976			pinctrl-names = "default";
    977			pinctrl-0 = <&blsp1_i2c2_default>;
    978			#address-cells = <1>;
    979			#size-cells = <0>;
    980			status = "disabled";
    981		};
    982
    983		blsp1_spi2: spi@78b7000 {
    984			compatible = "qcom,spi-qup-v2.2.1";
    985			reg = <0x078b7000 0x600>;
    986			interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
    987			clocks = <&gcc GCC_BLSP1_QUP2_SPI_APPS_CLK>,
    988				 <&gcc GCC_BLSP1_AHB_CLK>;
    989			clock-names = "core", "iface";
    990			pinctrl-names = "default";
    991			pinctrl-0 = <&blsp1_spi2_default>;
    992			#address-cells = <1>;
    993			#size-cells = <0>;
    994			status = "disabled";
    995		};
    996
    997		blsp1_i2c3: i2c@78b8000 {
    998			compatible = "qcom,i2c-qup-v2.2.1";
    999			reg = <0x078b8000 0x600>;
   1000			interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
   1001			clocks = <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>,
   1002				 <&gcc GCC_BLSP1_AHB_CLK>;
   1003			clock-names = "core", "iface";
   1004			pinctrl-names = "default";
   1005			pinctrl-0 = <&blsp1_i2c3_default>;
   1006			#address-cells = <1>;
   1007			#size-cells = <0>;
   1008			status = "disabled";
   1009		};
   1010
   1011		blsp1_spi3: spi@78b8000 {
   1012			compatible = "qcom,spi-qup-v2.2.1";
   1013			reg = <0x078b8000 0x600>;
   1014			interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
   1015			clocks = <&gcc GCC_BLSP1_QUP3_SPI_APPS_CLK>,
   1016				 <&gcc GCC_BLSP1_AHB_CLK>;
   1017			clock-names = "core", "iface";
   1018			pinctrl-names = "default";
   1019			pinctrl-0 = <&blsp1_spi3_default>;
   1020			#address-cells = <1>;
   1021			#size-cells = <0>;
   1022			status = "disabled";
   1023		};
   1024
   1025		blsp1_i2c4: i2c@78b9000 {
   1026			compatible = "qcom,i2c-qup-v2.2.1";
   1027			reg = <0x078b9000 0x600>;
   1028			interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
   1029			clocks = <&gcc GCC_BLSP1_QUP4_I2C_APPS_CLK>,
   1030				 <&gcc GCC_BLSP1_AHB_CLK>;
   1031			clock-names = "core", "iface";
   1032			pinctrl-names = "default";
   1033			pinctrl-0 = <&blsp1_i2c4_default>;
   1034			#address-cells = <1>;
   1035			#size-cells = <0>;
   1036			status = "disabled";
   1037		};
   1038
   1039		blsp1_spi4: spi@78b9000 {
   1040			compatible = "qcom,spi-qup-v2.2.1";
   1041			reg = <0x078b9000 0x600>;
   1042			interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
   1043			clocks = <&gcc GCC_BLSP1_QUP4_SPI_APPS_CLK>,
   1044				 <&gcc GCC_BLSP1_AHB_CLK>;
   1045			clock-names = "core", "iface";
   1046			pinctrl-names = "default";
   1047			pinctrl-0 = <&blsp1_spi4_default>;
   1048			#address-cells = <1>;
   1049			#size-cells = <0>;
   1050			status = "disabled";
   1051		};
   1052
   1053		blsp2_dma: dma-controller@7ac4000 {
   1054			compatible = "qcom,bam-v1.7.0";
   1055			reg = <0x07ac4000 0x17000>;
   1056			interrupts = <GIC_SPI 239 IRQ_TYPE_LEVEL_HIGH>;
   1057			clocks = <&gcc GCC_BLSP2_AHB_CLK>;
   1058			clock-names = "bam_clk";
   1059			#dma-cells = <1>;
   1060			qcom,ee = <0>;
   1061			status = "disabled";
   1062		};
   1063
   1064		blsp2_uart0: serial@7aef000 {
   1065			compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
   1066			reg = <0x07aef000 0x200>;
   1067			interrupts = <GIC_SPI 297 IRQ_TYPE_LEVEL_HIGH>;
   1068			clocks = <&gcc GCC_BLSP2_UART0_APPS_CLK>, <&gcc GCC_BLSP2_AHB_CLK>;
   1069			clock-names = "core", "iface";
   1070			dmas = <&blsp2_dma 0>, <&blsp2_dma 1>;
   1071			dma-names = "tx", "rx";
   1072			pinctrl-names = "default";
   1073			pinctrl-0 = <&blsp2_uart0_default>;
   1074			status = "disabled";
   1075		};
   1076
   1077		blsp2_i2c0: i2c@7af5000 {
   1078			compatible = "qcom,i2c-qup-v2.2.1";
   1079			reg = <0x07af5000 0x600>;
   1080			interrupts = <GIC_SPI 299 IRQ_TYPE_LEVEL_HIGH>;
   1081			clocks = <&gcc GCC_BLSP2_QUP0_I2C_APPS_CLK>,
   1082				 <&gcc GCC_BLSP2_AHB_CLK>;
   1083			clock-names = "core", "iface";
   1084			pinctrl-names = "default";
   1085			pinctrl-0 = <&blsp2_i2c0_default>;
   1086			#address-cells = <1>;
   1087			#size-cells = <0>;
   1088			status = "disabled";
   1089		};
   1090
   1091		blsp2_spi0: spi@7af5000 {
   1092			compatible = "qcom,spi-qup-v2.2.1";
   1093			reg = <0x07af5000 0x600>;
   1094			interrupts = <GIC_SPI 299 IRQ_TYPE_LEVEL_HIGH>;
   1095			clocks = <&gcc GCC_BLSP2_QUP0_SPI_APPS_CLK>,
   1096				 <&gcc GCC_BLSP2_AHB_CLK>;
   1097			clock-names = "core", "iface";
   1098			pinctrl-names = "default";
   1099			pinctrl-0 = <&blsp2_spi0_default>;
   1100			#address-cells = <1>;
   1101			#size-cells = <0>;
   1102			status = "disabled";
   1103		};
   1104
   1105		imem@8600000 {
   1106			compatible = "simple-mfd";
   1107			reg = <0x08600000 0x1000>;
   1108
   1109			#address-cells = <1>;
   1110			#size-cells = <1>;
   1111
   1112			ranges = <0 0x08600000 0x1000>;
   1113
   1114			pil-reloc@94c {
   1115				compatible = "qcom,pil-reloc-info";
   1116				reg = <0x94c 0xc8>;
   1117			};
   1118		};
   1119
   1120		intc: interrupt-controller@b000000 {
   1121			compatible = "qcom,msm-qgic2";
   1122			interrupt-controller;
   1123			#interrupt-cells = <3>;
   1124			reg = <0x0b000000 0x1000>,
   1125			      <0x0b002000 0x1000>;
   1126		};
   1127
   1128		apcs_glb: mailbox@b011000 {
   1129			compatible = "qcom,qcs404-apcs-apps-global", "syscon";
   1130			reg = <0x0b011000 0x1000>;
   1131			#mbox-cells = <1>;
   1132			clocks = <&apcs_hfpll>, <&gcc GCC_GPLL0_AO_OUT_MAIN>;
   1133			clock-names = "pll", "aux";
   1134			#clock-cells = <0>;
   1135		};
   1136
   1137		apcs_hfpll: clock-controller@b016000 {
   1138			compatible = "qcom,hfpll";
   1139			reg = <0x0b016000 0x30>;
   1140			#clock-cells = <0>;
   1141			clock-output-names = "apcs_hfpll";
   1142			clocks = <&xo_board>;
   1143			clock-names = "xo";
   1144		};
   1145
   1146		watchdog@b017000 {
   1147			compatible = "qcom,apss-wdt-qcs404", "qcom,kpss-wdt";
   1148			reg = <0x0b017000 0x1000>;
   1149			clocks = <&sleep_clk>;
   1150		};
   1151
   1152		cpr: power-controller@b018000 {
   1153			compatible = "qcom,qcs404-cpr", "qcom,cpr";
   1154			reg = <0x0b018000 0x1000>;
   1155			interrupts = <0 15 IRQ_TYPE_EDGE_RISING>;
   1156			clocks = <&xo_board>;
   1157			clock-names = "ref";
   1158			vdd-apc-supply = <&pms405_s3>;
   1159			#power-domain-cells = <0>;
   1160			operating-points-v2 = <&cpr_opp_table>;
   1161			acc-syscon = <&tcsr>;
   1162
   1163			nvmem-cells = <&cpr_efuse_quot_offset1>,
   1164				<&cpr_efuse_quot_offset2>,
   1165				<&cpr_efuse_quot_offset3>,
   1166				<&cpr_efuse_init_voltage1>,
   1167				<&cpr_efuse_init_voltage2>,
   1168				<&cpr_efuse_init_voltage3>,
   1169				<&cpr_efuse_quot1>,
   1170				<&cpr_efuse_quot2>,
   1171				<&cpr_efuse_quot3>,
   1172				<&cpr_efuse_ring1>,
   1173				<&cpr_efuse_ring2>,
   1174				<&cpr_efuse_ring3>,
   1175				<&cpr_efuse_revision>;
   1176			nvmem-cell-names = "cpr_quotient_offset1",
   1177				"cpr_quotient_offset2",
   1178				"cpr_quotient_offset3",
   1179				"cpr_init_voltage1",
   1180				"cpr_init_voltage2",
   1181				"cpr_init_voltage3",
   1182				"cpr_quotient1",
   1183				"cpr_quotient2",
   1184				"cpr_quotient3",
   1185				"cpr_ring_osc1",
   1186				"cpr_ring_osc2",
   1187				"cpr_ring_osc3",
   1188				"cpr_fuse_revision";
   1189		};
   1190
   1191		timer@b120000 {
   1192			#address-cells = <1>;
   1193			#size-cells = <1>;
   1194			ranges;
   1195			compatible = "arm,armv7-timer-mem";
   1196			reg = <0x0b120000 0x1000>;
   1197			clock-frequency = <19200000>;
   1198
   1199			frame@b121000 {
   1200				frame-number = <0>;
   1201				interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
   1202					     <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
   1203				reg = <0x0b121000 0x1000>,
   1204				      <0x0b122000 0x1000>;
   1205			};
   1206
   1207			frame@b123000 {
   1208				frame-number = <1>;
   1209				interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
   1210				reg = <0x0b123000 0x1000>;
   1211				status = "disabled";
   1212			};
   1213
   1214			frame@b124000 {
   1215				frame-number = <2>;
   1216				interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
   1217				reg = <0x0b124000 0x1000>;
   1218				status = "disabled";
   1219			};
   1220
   1221			frame@b125000 {
   1222				frame-number = <3>;
   1223				interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
   1224				reg = <0x0b125000 0x1000>;
   1225				status = "disabled";
   1226			};
   1227
   1228			frame@b126000 {
   1229				frame-number = <4>;
   1230				interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
   1231				reg = <0x0b126000 0x1000>;
   1232				status = "disabled";
   1233			};
   1234
   1235			frame@b127000 {
   1236				frame-number = <5>;
   1237				interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
   1238				reg = <0xb127000 0x1000>;
   1239				status = "disabled";
   1240			};
   1241
   1242			frame@b128000 {
   1243				frame-number = <6>;
   1244				interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
   1245				reg = <0x0b128000 0x1000>;
   1246				status = "disabled";
   1247			};
   1248		};
   1249
   1250		remoteproc_adsp: remoteproc@c700000 {
   1251			compatible = "qcom,qcs404-adsp-pas";
   1252			reg = <0x0c700000 0x4040>;
   1253
   1254			interrupts-extended = <&intc GIC_SPI 293 IRQ_TYPE_EDGE_RISING>,
   1255					      <&adsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
   1256					      <&adsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
   1257					      <&adsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
   1258					      <&adsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
   1259			interrupt-names = "wdog", "fatal", "ready",
   1260					  "handover", "stop-ack";
   1261
   1262			clocks = <&xo_board>;
   1263			clock-names = "xo";
   1264
   1265			memory-region = <&adsp_fw_mem>;
   1266
   1267			qcom,smem-states = <&adsp_smp2p_out 0>;
   1268			qcom,smem-state-names = "stop";
   1269
   1270			status = "disabled";
   1271
   1272			glink-edge {
   1273				interrupts = <GIC_SPI 289 IRQ_TYPE_EDGE_RISING>;
   1274
   1275				qcom,remote-pid = <2>;
   1276				mboxes = <&apcs_glb 8>;
   1277
   1278				label = "adsp";
   1279			};
   1280		};
   1281
   1282		pcie: pci@10000000 {
   1283			compatible = "qcom,pcie-qcs404", "snps,dw-pcie";
   1284			reg =  <0x10000000 0xf1d>,
   1285			       <0x10000f20 0xa8>,
   1286			       <0x07780000 0x2000>,
   1287			       <0x10001000 0x2000>;
   1288			reg-names = "dbi", "elbi", "parf", "config";
   1289			device_type = "pci";
   1290			linux,pci-domain = <0>;
   1291			bus-range = <0x00 0xff>;
   1292			num-lanes = <1>;
   1293			#address-cells = <3>;
   1294			#size-cells = <2>;
   1295
   1296			ranges = <0x81000000 0 0          0x10003000 0 0x00010000>, /* I/O */
   1297				 <0x82000000 0 0x10013000 0x10013000 0 0x007ed000>; /* memory */
   1298
   1299			interrupts = <GIC_SPI 266 IRQ_TYPE_LEVEL_HIGH>;
   1300			interrupt-names = "msi";
   1301			#interrupt-cells = <1>;
   1302			interrupt-map-mask = <0 0 0 0x7>;
   1303			interrupt-map = <0 0 0 1 &intc GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
   1304					<0 0 0 2 &intc GIC_SPI 224 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
   1305					<0 0 0 3 &intc GIC_SPI 267 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
   1306					<0 0 0 4 &intc GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
   1307			clocks = <&gcc GCC_PCIE_0_CFG_AHB_CLK>,
   1308				 <&gcc GCC_PCIE_0_AUX_CLK>,
   1309				 <&gcc GCC_PCIE_0_MSTR_AXI_CLK>,
   1310				 <&gcc GCC_PCIE_0_SLV_AXI_CLK>;
   1311			clock-names = "iface", "aux", "master_bus", "slave_bus";
   1312
   1313			resets = <&gcc 18>,
   1314				 <&gcc 17>,
   1315				 <&gcc 15>,
   1316				 <&gcc 19>,
   1317				 <&gcc GCC_PCIE_0_BCR>,
   1318				 <&gcc 16>;
   1319			reset-names = "axi_m",
   1320				      "axi_s",
   1321				      "axi_m_sticky",
   1322				      "pipe_sticky",
   1323				      "pwr",
   1324				      "ahb";
   1325
   1326			phys = <&pcie_phy>;
   1327			phy-names = "pciephy";
   1328
   1329			status = "disabled";
   1330		};
   1331	};
   1332
   1333	timer {
   1334		compatible = "arm,armv8-timer";
   1335		interrupts = <GIC_PPI 2 0xff08>,
   1336			     <GIC_PPI 3 0xff08>,
   1337			     <GIC_PPI 4 0xff08>,
   1338			     <GIC_PPI 1 0xff08>;
   1339	};
   1340
   1341	smp2p-adsp {
   1342		compatible = "qcom,smp2p";
   1343		qcom,smem = <443>, <429>;
   1344		interrupts = <GIC_SPI 291 IRQ_TYPE_EDGE_RISING>;
   1345		mboxes = <&apcs_glb 10>;
   1346		qcom,local-pid = <0>;
   1347		qcom,remote-pid = <2>;
   1348
   1349		adsp_smp2p_out: master-kernel {
   1350			qcom,entry-name = "master-kernel";
   1351			#qcom,smem-state-cells = <1>;
   1352		};
   1353
   1354		adsp_smp2p_in: slave-kernel {
   1355			qcom,entry-name = "slave-kernel";
   1356			interrupt-controller;
   1357			#interrupt-cells = <2>;
   1358		};
   1359	};
   1360
   1361	smp2p-cdsp {
   1362		compatible = "qcom,smp2p";
   1363		qcom,smem = <94>, <432>;
   1364		interrupts = <GIC_SPI 143 IRQ_TYPE_EDGE_RISING>;
   1365		mboxes = <&apcs_glb 14>;
   1366		qcom,local-pid = <0>;
   1367		qcom,remote-pid = <5>;
   1368
   1369		cdsp_smp2p_out: master-kernel {
   1370			qcom,entry-name = "master-kernel";
   1371			#qcom,smem-state-cells = <1>;
   1372		};
   1373
   1374		cdsp_smp2p_in: slave-kernel {
   1375			qcom,entry-name = "slave-kernel";
   1376			interrupt-controller;
   1377			#interrupt-cells = <2>;
   1378		};
   1379	};
   1380
   1381	smp2p-wcss {
   1382		compatible = "qcom,smp2p";
   1383		qcom,smem = <435>, <428>;
   1384		interrupts = <GIC_SPI 158 IRQ_TYPE_EDGE_RISING>;
   1385		mboxes = <&apcs_glb 18>;
   1386		qcom,local-pid = <0>;
   1387		qcom,remote-pid = <1>;
   1388
   1389		wcss_smp2p_out: master-kernel {
   1390			qcom,entry-name = "master-kernel";
   1391			#qcom,smem-state-cells = <1>;
   1392		};
   1393
   1394		wcss_smp2p_in: slave-kernel {
   1395			qcom,entry-name = "slave-kernel";
   1396			interrupt-controller;
   1397			#interrupt-cells = <2>;
   1398		};
   1399	};
   1400
   1401	thermal-zones {
   1402		aoss-thermal {
   1403			polling-delay-passive = <250>;
   1404			polling-delay = <1000>;
   1405
   1406			thermal-sensors = <&tsens 0>;
   1407
   1408			trips {
   1409				aoss_alert0: trip-point0 {
   1410					temperature = <105000>;
   1411					hysteresis = <2000>;
   1412					type = "hot";
   1413				};
   1414			};
   1415		};
   1416
   1417		q6-hvx-thermal {
   1418			polling-delay-passive = <250>;
   1419			polling-delay = <1000>;
   1420
   1421			thermal-sensors = <&tsens 1>;
   1422
   1423			trips {
   1424				q6_hvx_alert0: trip-point0 {
   1425					temperature = <105000>;
   1426					hysteresis = <2000>;
   1427					type = "hot";
   1428				};
   1429			};
   1430		};
   1431
   1432		lpass-thermal {
   1433			polling-delay-passive = <250>;
   1434			polling-delay = <1000>;
   1435
   1436			thermal-sensors = <&tsens 2>;
   1437
   1438			trips {
   1439				lpass_alert0: trip-point0 {
   1440					temperature = <105000>;
   1441					hysteresis = <2000>;
   1442					type = "hot";
   1443				};
   1444			};
   1445		};
   1446
   1447		wlan-thermal {
   1448			polling-delay-passive = <250>;
   1449			polling-delay = <1000>;
   1450
   1451			thermal-sensors = <&tsens 3>;
   1452
   1453			trips {
   1454				wlan_alert0: trip-point0 {
   1455					temperature = <105000>;
   1456					hysteresis = <2000>;
   1457					type = "hot";
   1458				};
   1459			};
   1460		};
   1461
   1462		cluster-thermal {
   1463			polling-delay-passive = <250>;
   1464			polling-delay = <1000>;
   1465
   1466			thermal-sensors = <&tsens 4>;
   1467
   1468			trips {
   1469				cluster_alert0: trip-point0 {
   1470					temperature = <95000>;
   1471					hysteresis = <2000>;
   1472					type = "hot";
   1473				};
   1474				cluster_alert1: trip-point1 {
   1475					temperature = <105000>;
   1476					hysteresis = <2000>;
   1477					type = "passive";
   1478				};
   1479				cluster_crit: cluster_crit {
   1480					temperature = <120000>;
   1481					hysteresis = <2000>;
   1482					type = "critical";
   1483				};
   1484			};
   1485			cooling-maps {
   1486				map0 {
   1487					trip = <&cluster_alert1>;
   1488					cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
   1489						       <&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
   1490						       <&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
   1491						       <&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
   1492				};
   1493			};
   1494		};
   1495
   1496		cpu0-thermal {
   1497			polling-delay-passive = <250>;
   1498			polling-delay = <1000>;
   1499
   1500			thermal-sensors = <&tsens 5>;
   1501
   1502			trips {
   1503				cpu0_alert0: trip-point0 {
   1504					temperature = <95000>;
   1505					hysteresis = <2000>;
   1506					type = "hot";
   1507				};
   1508				cpu0_alert1: trip-point1 {
   1509					temperature = <105000>;
   1510					hysteresis = <2000>;
   1511					type = "passive";
   1512				};
   1513				cpu0_crit: cpu_crit {
   1514					temperature = <120000>;
   1515					hysteresis = <2000>;
   1516					type = "critical";
   1517				};
   1518			};
   1519			cooling-maps {
   1520				map0 {
   1521					trip = <&cpu0_alert1>;
   1522					cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
   1523						       <&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
   1524						       <&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
   1525						       <&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
   1526				};
   1527			};
   1528		};
   1529
   1530		cpu1-thermal {
   1531			polling-delay-passive = <250>;
   1532			polling-delay = <1000>;
   1533
   1534			thermal-sensors = <&tsens 6>;
   1535
   1536			trips {
   1537				cpu1_alert0: trip-point0 {
   1538					temperature = <95000>;
   1539					hysteresis = <2000>;
   1540					type = "hot";
   1541				};
   1542				cpu1_alert1: trip-point1 {
   1543					temperature = <105000>;
   1544					hysteresis = <2000>;
   1545					type = "passive";
   1546				};
   1547				cpu1_crit: cpu_crit {
   1548					temperature = <120000>;
   1549					hysteresis = <2000>;
   1550					type = "critical";
   1551				};
   1552			};
   1553			cooling-maps {
   1554				map0 {
   1555					trip = <&cpu1_alert1>;
   1556					cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
   1557						       <&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
   1558						       <&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
   1559						       <&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
   1560				};
   1561			};
   1562		};
   1563
   1564		cpu2-thermal {
   1565			polling-delay-passive = <250>;
   1566			polling-delay = <1000>;
   1567
   1568			thermal-sensors = <&tsens 7>;
   1569
   1570			trips {
   1571				cpu2_alert0: trip-point0 {
   1572					temperature = <95000>;
   1573					hysteresis = <2000>;
   1574					type = "hot";
   1575				};
   1576				cpu2_alert1: trip-point1 {
   1577					temperature = <105000>;
   1578					hysteresis = <2000>;
   1579					type = "passive";
   1580				};
   1581				cpu2_crit: cpu_crit {
   1582					temperature = <120000>;
   1583					hysteresis = <2000>;
   1584					type = "critical";
   1585				};
   1586			};
   1587			cooling-maps {
   1588				map0 {
   1589					trip = <&cpu2_alert1>;
   1590					cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
   1591						       <&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
   1592						       <&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
   1593						       <&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
   1594				};
   1595			};
   1596		};
   1597
   1598		cpu3-thermal {
   1599			polling-delay-passive = <250>;
   1600			polling-delay = <1000>;
   1601
   1602			thermal-sensors = <&tsens 8>;
   1603
   1604			trips {
   1605				cpu3_alert0: trip-point0 {
   1606					temperature = <95000>;
   1607					hysteresis = <2000>;
   1608					type = "hot";
   1609				};
   1610				cpu3_alert1: trip-point1 {
   1611					temperature = <105000>;
   1612					hysteresis = <2000>;
   1613					type = "passive";
   1614				};
   1615				cpu3_crit: cpu_crit {
   1616					temperature = <120000>;
   1617					hysteresis = <2000>;
   1618					type = "critical";
   1619				};
   1620			};
   1621			cooling-maps {
   1622				map0 {
   1623					trip = <&cpu3_alert1>;
   1624					cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
   1625						       <&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
   1626						       <&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
   1627						       <&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
   1628				};
   1629			};
   1630		};
   1631
   1632		gpu-thermal {
   1633			polling-delay-passive = <250>;
   1634			polling-delay = <1000>;
   1635
   1636			thermal-sensors = <&tsens 9>;
   1637
   1638			trips {
   1639				gpu_alert0: trip-point0 {
   1640					temperature = <95000>;
   1641					hysteresis = <2000>;
   1642					type = "hot";
   1643				};
   1644			};
   1645		};
   1646	};
   1647};