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

qcom-ipq8064.dtsi (28321B)


      1// SPDX-License-Identifier: GPL-2.0
      2/dts-v1/;
      3
      4#include <dt-bindings/interrupt-controller/arm-gic.h>
      5#include <dt-bindings/mfd/qcom-rpm.h>
      6#include <dt-bindings/clock/qcom,rpmcc.h>
      7#include <dt-bindings/clock/qcom,gcc-ipq806x.h>
      8#include <dt-bindings/clock/qcom,lcc-ipq806x.h>
      9#include <dt-bindings/gpio/gpio.h>
     10#include <dt-bindings/reset/qcom,gcc-ipq806x.h>
     11#include <dt-bindings/soc/qcom,gsbi.h>
     12#include <dt-bindings/interrupt-controller/arm-gic.h>
     13
     14/ {
     15	#address-cells = <1>;
     16	#size-cells = <1>;
     17	model = "Qualcomm IPQ8064";
     18	compatible = "qcom,ipq8064";
     19	interrupt-parent = <&intc>;
     20
     21	cpus {
     22		#address-cells = <1>;
     23		#size-cells = <0>;
     24
     25		cpu0: cpu@0 {
     26			compatible = "qcom,krait";
     27			enable-method = "qcom,kpss-acc-v1";
     28			device_type = "cpu";
     29			reg = <0>;
     30			next-level-cache = <&L2>;
     31			qcom,acc = <&acc0>;
     32			qcom,saw = <&saw0>;
     33		};
     34
     35		cpu1: cpu@1 {
     36			compatible = "qcom,krait";
     37			enable-method = "qcom,kpss-acc-v1";
     38			device_type = "cpu";
     39			reg = <1>;
     40			next-level-cache = <&L2>;
     41			qcom,acc = <&acc1>;
     42			qcom,saw = <&saw1>;
     43		};
     44
     45		L2: l2-cache {
     46			compatible = "cache";
     47			cache-level = <2>;
     48		};
     49	};
     50
     51	thermal-zones {
     52		sensor0-thermal {
     53			polling-delay-passive = <0>;
     54			polling-delay = <0>;
     55			thermal-sensors = <&tsens 0>;
     56
     57			trips {
     58				cpu-critical {
     59					temperature = <105000>;
     60					hysteresis = <2000>;
     61					type = "critical";
     62				};
     63
     64				cpu-hot {
     65					temperature = <95000>;
     66					hysteresis = <2000>;
     67					type = "hot";
     68				};
     69			};
     70		};
     71
     72		sensor1-thermal {
     73			polling-delay-passive = <0>;
     74			polling-delay = <0>;
     75			thermal-sensors = <&tsens 1>;
     76
     77			trips {
     78				cpu-critical {
     79					temperature = <105000>;
     80					hysteresis = <2000>;
     81					type = "critical";
     82				};
     83
     84				cpu-hot {
     85					temperature = <95000>;
     86					hysteresis = <2000>;
     87					type = "hot";
     88				};
     89			};
     90		};
     91
     92		sensor2-thermal {
     93			polling-delay-passive = <0>;
     94			polling-delay = <0>;
     95			thermal-sensors = <&tsens 2>;
     96
     97			trips {
     98				cpu-critical {
     99					temperature = <105000>;
    100					hysteresis = <2000>;
    101					type = "critical";
    102				};
    103
    104				cpu-hot {
    105					temperature = <95000>;
    106					hysteresis = <2000>;
    107					type = "hot";
    108				};
    109			};
    110		};
    111
    112		sensor3-thermal {
    113			polling-delay-passive = <0>;
    114			polling-delay = <0>;
    115			thermal-sensors = <&tsens 3>;
    116
    117			trips {
    118				cpu-critical {
    119					temperature = <105000>;
    120					hysteresis = <2000>;
    121					type = "critical";
    122				};
    123
    124				cpu-hot {
    125					temperature = <95000>;
    126					hysteresis = <2000>;
    127					type = "hot";
    128				};
    129			};
    130		};
    131
    132		sensor4-thermal {
    133			polling-delay-passive = <0>;
    134			polling-delay = <0>;
    135			thermal-sensors = <&tsens 4>;
    136
    137			trips {
    138				cpu-critical {
    139					temperature = <105000>;
    140					hysteresis = <2000>;
    141					type = "critical";
    142				};
    143
    144				cpu-hot {
    145					temperature = <95000>;
    146					hysteresis = <2000>;
    147					type = "hot";
    148				};
    149			};
    150		};
    151
    152		sensor5-thermal {
    153			polling-delay-passive = <0>;
    154			polling-delay = <0>;
    155			thermal-sensors = <&tsens 5>;
    156
    157			trips {
    158				cpu-critical {
    159					temperature = <105000>;
    160					hysteresis = <2000>;
    161					type = "critical";
    162				};
    163
    164				cpu-hot {
    165					temperature = <95000>;
    166					hysteresis = <2000>;
    167					type = "hot";
    168				};
    169			};
    170		};
    171
    172		sensor6-thermal {
    173			polling-delay-passive = <0>;
    174			polling-delay = <0>;
    175			thermal-sensors = <&tsens 6>;
    176
    177			trips {
    178				cpu-critical {
    179					temperature = <105000>;
    180					hysteresis = <2000>;
    181					type = "critical";
    182				};
    183
    184				cpu-hot {
    185					temperature = <95000>;
    186					hysteresis = <2000>;
    187					type = "hot";
    188				};
    189			};
    190		};
    191
    192		sensor7-thermal {
    193			polling-delay-passive = <0>;
    194			polling-delay = <0>;
    195			thermal-sensors = <&tsens 7>;
    196
    197			trips {
    198				cpu-critical {
    199					temperature = <105000>;
    200					hysteresis = <2000>;
    201					type = "critical";
    202				};
    203
    204				cpu-hot {
    205					temperature = <95000>;
    206					hysteresis = <2000>;
    207					type = "hot";
    208				};
    209			};
    210		};
    211
    212		sensor8-thermal {
    213			polling-delay-passive = <0>;
    214			polling-delay = <0>;
    215			thermal-sensors = <&tsens 8>;
    216
    217			trips {
    218				cpu-critical {
    219					temperature = <105000>;
    220					hysteresis = <2000>;
    221					type = "critical";
    222				};
    223
    224				cpu-hot {
    225					temperature = <95000>;
    226					hysteresis = <2000>;
    227					type = "hot";
    228				};
    229			};
    230		};
    231
    232		sensor9-thermal {
    233			polling-delay-passive = <0>;
    234			polling-delay = <0>;
    235			thermal-sensors = <&tsens 9>;
    236
    237			trips {
    238				cpu-critical {
    239					temperature = <105000>;
    240					hysteresis = <2000>;
    241					type = "critical";
    242				};
    243
    244				cpu-hot {
    245					temperature = <95000>;
    246					hysteresis = <2000>;
    247					type = "hot";
    248				};
    249			};
    250		};
    251
    252		sensor10-thermal {
    253			polling-delay-passive = <0>;
    254			polling-delay = <0>;
    255			thermal-sensors = <&tsens 10>;
    256
    257			trips {
    258				cpu-critical {
    259					temperature = <105000>;
    260					hysteresis = <2000>;
    261					type = "critical";
    262				};
    263
    264				cpu-hot {
    265					temperature = <95000>;
    266					hysteresis = <2000>;
    267					type = "hot";
    268				};
    269			};
    270		};
    271	};
    272
    273	memory {
    274		device_type = "memory";
    275		reg = <0x0 0x0>;
    276	};
    277
    278	cpu-pmu {
    279		compatible = "qcom,krait-pmu";
    280		interrupts = <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) |
    281					  IRQ_TYPE_LEVEL_HIGH)>;
    282	};
    283
    284	reserved-memory {
    285		#address-cells = <1>;
    286		#size-cells = <1>;
    287		ranges;
    288
    289		nss@40000000 {
    290			reg = <0x40000000 0x1000000>;
    291			no-map;
    292		};
    293
    294		smem: smem@41000000 {
    295			reg = <0x41000000 0x200000>;
    296			no-map;
    297		};
    298	};
    299
    300	clocks {
    301		cxo_board: cxo_board {
    302			compatible = "fixed-clock";
    303			#clock-cells = <0>;
    304			clock-frequency = <25000000>;
    305		};
    306
    307		pxo_board: pxo_board {
    308			compatible = "fixed-clock";
    309			#clock-cells = <0>;
    310			clock-frequency = <25000000>;
    311		};
    312
    313		sleep_clk: sleep_clk {
    314			compatible = "fixed-clock";
    315			clock-frequency = <32768>;
    316			#clock-cells = <0>;
    317		};
    318	};
    319
    320	firmware {
    321		scm {
    322			compatible = "qcom,scm-ipq806x", "qcom,scm";
    323		};
    324	};
    325
    326	soc: soc {
    327		#address-cells = <1>;
    328		#size-cells = <1>;
    329		ranges;
    330		compatible = "simple-bus";
    331
    332		lpass@28100000 {
    333			compatible = "qcom,lpass-cpu";
    334			status = "disabled";
    335			clocks = <&lcc AHBIX_CLK>,
    336					<&lcc MI2S_OSR_CLK>,
    337					<&lcc MI2S_BIT_CLK>;
    338			clock-names = "ahbix-clk",
    339					"mi2s-osr-clk",
    340					"mi2s-bit-clk";
    341			interrupts = <GIC_SPI 85 IRQ_TYPE_EDGE_RISING>;
    342			interrupt-names = "lpass-irq-lpaif";
    343			reg = <0x28100000 0x10000>;
    344			reg-names = "lpass-lpaif";
    345		};
    346
    347		qcom_pinmux: pinmux@800000 {
    348			compatible = "qcom,ipq8064-pinctrl";
    349			reg = <0x800000 0x4000>;
    350
    351			gpio-controller;
    352			gpio-ranges = <&qcom_pinmux 0 0 69>;
    353			#gpio-cells = <2>;
    354			interrupt-controller;
    355			#interrupt-cells = <2>;
    356			interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
    357
    358			pcie0_pins: pcie0_pinmux {
    359				mux {
    360					pins = "gpio3";
    361					function = "pcie1_rst";
    362					drive-strength = <12>;
    363					bias-disable;
    364				};
    365			};
    366
    367			pcie1_pins: pcie1_pinmux {
    368				mux {
    369					pins = "gpio48";
    370					function = "pcie2_rst";
    371					drive-strength = <12>;
    372					bias-disable;
    373				};
    374			};
    375
    376			pcie2_pins: pcie2_pinmux {
    377				mux {
    378					pins = "gpio63";
    379					function = "pcie3_rst";
    380					drive-strength = <12>;
    381					bias-disable;
    382				};
    383			};
    384
    385			spi_pins: spi_pins {
    386				mux {
    387					pins = "gpio18", "gpio19", "gpio21";
    388					function = "gsbi5";
    389					drive-strength = <10>;
    390					bias-none;
    391				};
    392			};
    393
    394			leds_pins: leds_pins {
    395				mux {
    396					pins = "gpio7", "gpio8", "gpio9",
    397					       "gpio26", "gpio53";
    398					function = "gpio";
    399					drive-strength = <2>;
    400					bias-pull-down;
    401					output-low;
    402				};
    403			};
    404
    405			buttons_pins: buttons_pins {
    406				mux {
    407					pins = "gpio54";
    408					drive-strength = <2>;
    409					bias-pull-up;
    410				};
    411			};
    412
    413			nand_pins: nand_pins {
    414				mux {
    415					pins = "gpio34", "gpio35", "gpio36",
    416					       "gpio37", "gpio38", "gpio39",
    417					       "gpio40", "gpio41", "gpio42",
    418					       "gpio43", "gpio44", "gpio45",
    419					       "gpio46", "gpio47";
    420					function = "nand";
    421					drive-strength = <10>;
    422					bias-disable;
    423				};
    424
    425				pullups {
    426					pins = "gpio39";
    427					bias-pull-up;
    428				};
    429
    430				hold {
    431					pins = "gpio40", "gpio41", "gpio42",
    432					       "gpio43", "gpio44", "gpio45",
    433					       "gpio46", "gpio47";
    434					bias-bus-hold;
    435				};
    436			};
    437		};
    438
    439		intc: interrupt-controller@2000000 {
    440			compatible = "qcom,msm-qgic2";
    441			interrupt-controller;
    442			#interrupt-cells = <3>;
    443			reg = <0x02000000 0x1000>,
    444			      <0x02002000 0x1000>;
    445		};
    446
    447		timer@200a000 {
    448			compatible = "qcom,kpss-timer",
    449				     "qcom,kpss-wdt-ipq8064", "qcom,msm-timer";
    450			interrupts = <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(2) |
    451						 IRQ_TYPE_EDGE_RISING)>,
    452				     <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(2) |
    453						 IRQ_TYPE_EDGE_RISING)>,
    454				     <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(2) |
    455						 IRQ_TYPE_EDGE_RISING)>,
    456				     <GIC_PPI 4 (GIC_CPU_MASK_SIMPLE(2) |
    457						 IRQ_TYPE_EDGE_RISING)>,
    458				     <GIC_PPI 5 (GIC_CPU_MASK_SIMPLE(2) |
    459						 IRQ_TYPE_EDGE_RISING)>;
    460			reg = <0x0200a000 0x100>;
    461			clock-frequency = <25000000>,
    462					  <32768>;
    463			clocks = <&sleep_clk>;
    464			clock-names = "sleep";
    465			cpu-offset = <0x80000>;
    466		};
    467
    468		acc0: clock-controller@2088000 {
    469			compatible = "qcom,kpss-acc-v1";
    470			reg = <0x02088000 0x1000>, <0x02008000 0x1000>;
    471		};
    472
    473		acc1: clock-controller@2098000 {
    474			compatible = "qcom,kpss-acc-v1";
    475			reg = <0x02098000 0x1000>, <0x02008000 0x1000>;
    476		};
    477
    478		adm_dma: dma-controller@18300000 {
    479			compatible = "qcom,adm";
    480			reg = <0x18300000 0x100000>;
    481			interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>;
    482			#dma-cells = <1>;
    483
    484			clocks = <&gcc ADM0_CLK>, <&gcc ADM0_PBUS_CLK>;
    485			clock-names = "core", "iface";
    486
    487			resets = <&gcc ADM0_RESET>,
    488				 <&gcc ADM0_PBUS_RESET>,
    489				 <&gcc ADM0_C0_RESET>,
    490				 <&gcc ADM0_C1_RESET>,
    491				 <&gcc ADM0_C2_RESET>;
    492			reset-names = "clk", "pbus", "c0", "c1", "c2";
    493			qcom,ee = <0>;
    494
    495			status = "disabled";
    496		};
    497
    498		saw0: regulator@2089000 {
    499			compatible = "qcom,saw2";
    500			reg = <0x02089000 0x1000>, <0x02009000 0x1000>;
    501			regulator;
    502		};
    503
    504		saw1: regulator@2099000 {
    505			compatible = "qcom,saw2";
    506			reg = <0x02099000 0x1000>, <0x02009000 0x1000>;
    507			regulator;
    508		};
    509
    510		gsbi2: gsbi@12480000 {
    511			compatible = "qcom,gsbi-v1.0.0";
    512			cell-index = <2>;
    513			reg = <0x12480000 0x100>;
    514			clocks = <&gcc GSBI2_H_CLK>;
    515			clock-names = "iface";
    516			#address-cells = <1>;
    517			#size-cells = <1>;
    518			ranges;
    519			status = "disabled";
    520
    521			syscon-tcsr = <&tcsr>;
    522
    523			gsbi2_serial: serial@12490000 {
    524				compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
    525				reg = <0x12490000 0x1000>,
    526				      <0x12480000 0x1000>;
    527				interrupts = <GIC_SPI 195 IRQ_TYPE_LEVEL_HIGH>;
    528				clocks = <&gcc GSBI2_UART_CLK>, <&gcc GSBI2_H_CLK>;
    529				clock-names = "core", "iface";
    530				status = "disabled";
    531			};
    532
    533			i2c@124a0000 {
    534				compatible = "qcom,i2c-qup-v1.1.1";
    535				reg = <0x124a0000 0x1000>;
    536				interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>;
    537
    538				clocks = <&gcc GSBI2_QUP_CLK>, <&gcc GSBI2_H_CLK>;
    539				clock-names = "core", "iface";
    540				status = "disabled";
    541
    542				#address-cells = <1>;
    543				#size-cells = <0>;
    544			};
    545		};
    546
    547		gsbi4: gsbi@16300000 {
    548			compatible = "qcom,gsbi-v1.0.0";
    549			cell-index = <4>;
    550			reg = <0x16300000 0x100>;
    551			clocks = <&gcc GSBI4_H_CLK>;
    552			clock-names = "iface";
    553			#address-cells = <1>;
    554			#size-cells = <1>;
    555			ranges;
    556			status = "disabled";
    557
    558			syscon-tcsr = <&tcsr>;
    559
    560			gsbi4_serial: serial@16340000 {
    561				compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
    562				reg = <0x16340000 0x1000>,
    563				      <0x16300000 0x1000>;
    564				interrupts = <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>;
    565				clocks = <&gcc GSBI4_UART_CLK>, <&gcc GSBI4_H_CLK>;
    566				clock-names = "core", "iface";
    567				status = "disabled";
    568			};
    569
    570			i2c@16380000 {
    571				compatible = "qcom,i2c-qup-v1.1.1";
    572				reg = <0x16380000 0x1000>;
    573				interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>;
    574
    575				clocks = <&gcc GSBI4_QUP_CLK>, <&gcc GSBI4_H_CLK>;
    576				clock-names = "core", "iface";
    577				status = "disabled";
    578
    579				#address-cells = <1>;
    580				#size-cells = <0>;
    581			};
    582		};
    583
    584		gsbi5: gsbi@1a200000 {
    585			compatible = "qcom,gsbi-v1.0.0";
    586			cell-index = <5>;
    587			reg = <0x1a200000 0x100>;
    588			clocks = <&gcc GSBI5_H_CLK>;
    589			clock-names = "iface";
    590			#address-cells = <1>;
    591			#size-cells = <1>;
    592			ranges;
    593			status = "disabled";
    594
    595			syscon-tcsr = <&tcsr>;
    596
    597			gsbi5_serial: serial@1a240000 {
    598				compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
    599				reg = <0x1a240000 0x1000>,
    600				      <0x1a200000 0x1000>;
    601				interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>;
    602				clocks = <&gcc GSBI5_UART_CLK>, <&gcc GSBI5_H_CLK>;
    603				clock-names = "core", "iface";
    604				status = "disabled";
    605			};
    606
    607			i2c@1a280000 {
    608				compatible = "qcom,i2c-qup-v1.1.1";
    609				reg = <0x1a280000 0x1000>;
    610				interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
    611
    612				clocks = <&gcc GSBI5_QUP_CLK>, <&gcc GSBI5_H_CLK>;
    613				clock-names = "core", "iface";
    614				status = "disabled";
    615
    616				#address-cells = <1>;
    617				#size-cells = <0>;
    618			};
    619
    620			spi@1a280000 {
    621				compatible = "qcom,spi-qup-v1.1.1";
    622				reg = <0x1a280000 0x1000>;
    623				interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
    624
    625				clocks = <&gcc GSBI5_QUP_CLK>, <&gcc GSBI5_H_CLK>;
    626				clock-names = "core", "iface";
    627				status = "disabled";
    628
    629				#address-cells = <1>;
    630				#size-cells = <0>;
    631			};
    632		};
    633
    634		gsbi7: gsbi@16600000 {
    635			status = "disabled";
    636			compatible = "qcom,gsbi-v1.0.0";
    637			cell-index = <7>;
    638			reg = <0x16600000 0x100>;
    639			clocks = <&gcc GSBI7_H_CLK>;
    640			clock-names = "iface";
    641			#address-cells = <1>;
    642			#size-cells = <1>;
    643			ranges;
    644			syscon-tcsr = <&tcsr>;
    645
    646			gsbi7_serial: serial@16640000 {
    647				compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
    648				reg = <0x16640000 0x1000>,
    649				      <0x16600000 0x1000>;
    650				interrupts = <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>;
    651				clocks = <&gcc GSBI7_UART_CLK>, <&gcc GSBI7_H_CLK>;
    652				clock-names = "core", "iface";
    653				status = "disabled";
    654			};
    655		};
    656
    657		rng@1a500000 {
    658			compatible = "qcom,prng";
    659			reg = <0x1a500000 0x200>;
    660			clocks = <&gcc PRNG_CLK>;
    661			clock-names = "core";
    662		};
    663
    664		sata_phy: sata-phy@1b400000 {
    665			compatible = "qcom,ipq806x-sata-phy";
    666			reg = <0x1b400000 0x200>;
    667
    668			clocks = <&gcc SATA_PHY_CFG_CLK>;
    669			clock-names = "cfg";
    670
    671			#phy-cells = <0>;
    672			status = "disabled";
    673		};
    674
    675		nand: nand-controller@1ac00000 {
    676			compatible = "qcom,ipq806x-nand";
    677			reg = <0x1ac00000 0x800>;
    678
    679			pinctrl-0 = <&nand_pins>;
    680			pinctrl-names = "default";
    681
    682			clocks = <&gcc EBI2_CLK>,
    683				 <&gcc EBI2_AON_CLK>;
    684			clock-names = "core", "aon";
    685
    686			dmas = <&adm_dma 3>;
    687			dma-names = "rxtx";
    688			qcom,cmd-crci = <15>;
    689			qcom,data-crci = <3>;
    690
    691			#address-cells = <1>;
    692			#size-cells = <0>;
    693
    694			status = "disabled";
    695		};
    696
    697		sata: sata@29000000 {
    698			compatible = "qcom,ipq806x-ahci", "generic-ahci";
    699			reg = <0x29000000 0x180>;
    700
    701			interrupts = <GIC_SPI 209 IRQ_TYPE_LEVEL_HIGH>;
    702
    703			clocks = <&gcc SFAB_SATA_S_H_CLK>,
    704				 <&gcc SATA_H_CLK>,
    705				 <&gcc SATA_A_CLK>,
    706				 <&gcc SATA_RXOOB_CLK>,
    707				 <&gcc SATA_PMALIVE_CLK>;
    708			clock-names = "slave_face", "iface", "core",
    709					"rxoob", "pmalive";
    710
    711			assigned-clocks = <&gcc SATA_RXOOB_CLK>, <&gcc SATA_PMALIVE_CLK>;
    712			assigned-clock-rates = <100000000>, <100000000>;
    713
    714			phys = <&sata_phy>;
    715			phy-names = "sata-phy";
    716			status = "disabled";
    717		};
    718
    719		qcom,ssbi@500000 {
    720			compatible = "qcom,ssbi";
    721			reg = <0x00500000 0x1000>;
    722			qcom,controller-type = "pmic-arbiter";
    723		};
    724
    725		qfprom: qfprom@700000 {
    726			compatible = "qcom,qfprom";
    727			reg = <0x00700000 0x1000>;
    728			#address-cells = <1>;
    729			#size-cells = <1>;
    730			tsens_calib: calib@400 {
    731				reg = <0x400 0xb>;
    732			};
    733			tsens_calib_backup: calib_backup@410 {
    734				reg = <0x410 0xb>;
    735			};
    736		};
    737
    738		gcc: clock-controller@900000 {
    739			compatible = "qcom,gcc-ipq8064", "syscon";
    740			clocks = <&pxo_board>, <&cxo_board>;
    741			clock-names = "pxo", "cxo";
    742			reg = <0x00900000 0x4000>;
    743			#clock-cells = <1>;
    744			#reset-cells = <1>;
    745			#power-domain-cells = <1>;
    746
    747			tsens: thermal-sensor@900000 {
    748				compatible = "qcom,ipq8064-tsens";
    749
    750				nvmem-cells = <&tsens_calib>, <&tsens_calib_backup>;
    751				nvmem-cell-names = "calib", "calib_backup";
    752				interrupts = <GIC_SPI 178 IRQ_TYPE_LEVEL_HIGH>;
    753				interrupt-names = "uplow";
    754
    755				#qcom,sensors = <11>;
    756				#thermal-sensor-cells = <1>;
    757			};
    758		};
    759
    760		rpm: rpm@108000 {
    761			compatible = "qcom,rpm-ipq8064";
    762			reg = <0x108000 0x1000>;
    763			qcom,ipc = <&l2cc 0x8 2>;
    764
    765			interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>,
    766					<GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>,
    767					<GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
    768			interrupt-names = "ack", "err", "wakeup";
    769
    770			clocks = <&gcc RPM_MSG_RAM_H_CLK>;
    771			clock-names = "ram";
    772
    773			rpmcc: clock-controller {
    774				compatible = "qcom,rpmcc-ipq806x", "qcom,rpmcc";
    775				#clock-cells = <1>;
    776			};
    777		};
    778
    779		tcsr: syscon@1a400000 {
    780			compatible = "qcom,tcsr-ipq8064", "syscon";
    781			reg = <0x1a400000 0x100>;
    782		};
    783
    784		l2cc: clock-controller@2011000 {
    785			compatible = "qcom,kpss-gcc", "syscon";
    786			reg = <0x2011000 0x1000>;
    787			clocks = <&gcc PLL8_VOTE>, <&gcc PXO_SRC>;
    788			clock-names = "pll8_vote", "pxo";
    789			clock-output-names = "acpu_l2_aux";
    790		};
    791
    792		lcc: clock-controller@28000000 {
    793			compatible = "qcom,lcc-ipq8064";
    794			reg = <0x28000000 0x1000>;
    795			#clock-cells = <1>;
    796			#reset-cells = <1>;
    797		};
    798
    799		pcie0: pci@1b500000 {
    800			compatible = "qcom,pcie-ipq8064";
    801			reg = <0x1b500000 0x1000
    802			       0x1b502000 0x80
    803			       0x1b600000 0x100
    804			       0x0ff00000 0x100000>;
    805			reg-names = "dbi", "elbi", "parf", "config";
    806			device_type = "pci";
    807			linux,pci-domain = <0>;
    808			bus-range = <0x00 0xff>;
    809			num-lanes = <1>;
    810			#address-cells = <3>;
    811			#size-cells = <2>;
    812
    813			ranges = <0x81000000 0 0x0fe00000 0x0fe00000 0 0x00100000   /* downstream I/O */
    814				  0x82000000 0 0x08000000 0x08000000 0 0x07e00000>; /* non-prefetchable memory */
    815
    816			interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
    817			interrupt-names = "msi";
    818			#interrupt-cells = <1>;
    819			interrupt-map-mask = <0 0 0 0x7>;
    820			interrupt-map = <0 0 0 1 &intc 0 36 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
    821					<0 0 0 2 &intc 0 37 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
    822					<0 0 0 3 &intc 0 38 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
    823					<0 0 0 4 &intc 0 39 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
    824
    825			clocks = <&gcc PCIE_A_CLK>,
    826				 <&gcc PCIE_H_CLK>,
    827				 <&gcc PCIE_PHY_CLK>,
    828				 <&gcc PCIE_AUX_CLK>,
    829				 <&gcc PCIE_ALT_REF_CLK>;
    830			clock-names = "core", "iface", "phy", "aux", "ref";
    831
    832			assigned-clocks = <&gcc PCIE_ALT_REF_CLK>;
    833			assigned-clock-rates = <100000000>;
    834
    835			resets = <&gcc PCIE_ACLK_RESET>,
    836				 <&gcc PCIE_HCLK_RESET>,
    837				 <&gcc PCIE_POR_RESET>,
    838				 <&gcc PCIE_PCI_RESET>,
    839				 <&gcc PCIE_PHY_RESET>,
    840				 <&gcc PCIE_EXT_RESET>;
    841			reset-names = "axi", "ahb", "por", "pci", "phy", "ext";
    842
    843			pinctrl-0 = <&pcie0_pins>;
    844			pinctrl-names = "default";
    845
    846			status = "disabled";
    847			perst-gpio = <&qcom_pinmux 3 GPIO_ACTIVE_LOW>;
    848		};
    849
    850		pcie1: pci@1b700000 {
    851			compatible = "qcom,pcie-ipq8064";
    852			reg = <0x1b700000 0x1000
    853			       0x1b702000 0x80
    854			       0x1b800000 0x100
    855			       0x31f00000 0x100000>;
    856			reg-names = "dbi", "elbi", "parf", "config";
    857			device_type = "pci";
    858			linux,pci-domain = <1>;
    859			bus-range = <0x00 0xff>;
    860			num-lanes = <1>;
    861			#address-cells = <3>;
    862			#size-cells = <2>;
    863
    864			ranges = <0x81000000 0 0x31e00000 0x31e00000 0 0x00100000   /* downstream I/O */
    865				  0x82000000 0 0x2e000000 0x2e000000 0 0x03e00000>; /* non-prefetchable memory */
    866
    867			interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
    868			interrupt-names = "msi";
    869			#interrupt-cells = <1>;
    870			interrupt-map-mask = <0 0 0 0x7>;
    871			interrupt-map = <0 0 0 1 &intc 0 58 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
    872					<0 0 0 2 &intc 0 59 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
    873					<0 0 0 3 &intc 0 60 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
    874					<0 0 0 4 &intc 0 61 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
    875
    876			clocks = <&gcc PCIE_1_A_CLK>,
    877				 <&gcc PCIE_1_H_CLK>,
    878				 <&gcc PCIE_1_PHY_CLK>,
    879				 <&gcc PCIE_1_AUX_CLK>,
    880				 <&gcc PCIE_1_ALT_REF_CLK>;
    881			clock-names = "core", "iface", "phy", "aux", "ref";
    882
    883			assigned-clocks = <&gcc PCIE_1_ALT_REF_CLK>;
    884			assigned-clock-rates = <100000000>;
    885
    886			resets = <&gcc PCIE_1_ACLK_RESET>,
    887				 <&gcc PCIE_1_HCLK_RESET>,
    888				 <&gcc PCIE_1_POR_RESET>,
    889				 <&gcc PCIE_1_PCI_RESET>,
    890				 <&gcc PCIE_1_PHY_RESET>,
    891				 <&gcc PCIE_1_EXT_RESET>;
    892			reset-names = "axi", "ahb", "por", "pci", "phy", "ext";
    893
    894			pinctrl-0 = <&pcie1_pins>;
    895			pinctrl-names = "default";
    896
    897			status = "disabled";
    898			perst-gpio = <&qcom_pinmux 48 GPIO_ACTIVE_LOW>;
    899		};
    900
    901		pcie2: pci@1b900000 {
    902			compatible = "qcom,pcie-ipq8064";
    903			reg = <0x1b900000 0x1000
    904			       0x1b902000 0x80
    905			       0x1ba00000 0x100
    906			       0x35f00000 0x100000>;
    907			reg-names = "dbi", "elbi", "parf", "config";
    908			device_type = "pci";
    909			linux,pci-domain = <2>;
    910			bus-range = <0x00 0xff>;
    911			num-lanes = <1>;
    912			#address-cells = <3>;
    913			#size-cells = <2>;
    914
    915			ranges = <0x81000000 0 0x35e00000 0x35e00000 0 0x00100000   /* downstream I/O */
    916				  0x82000000 0 0x32000000 0x32000000 0 0x03e00000>; /* non-prefetchable memory */
    917
    918			interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
    919			interrupt-names = "msi";
    920			#interrupt-cells = <1>;
    921			interrupt-map-mask = <0 0 0 0x7>;
    922			interrupt-map = <0 0 0 1 &intc 0 72 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
    923					<0 0 0 2 &intc 0 73 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
    924					<0 0 0 3 &intc 0 74 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
    925					<0 0 0 4 &intc 0 75 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
    926
    927			clocks = <&gcc PCIE_2_A_CLK>,
    928				 <&gcc PCIE_2_H_CLK>,
    929				 <&gcc PCIE_2_PHY_CLK>,
    930				 <&gcc PCIE_2_AUX_CLK>,
    931				 <&gcc PCIE_2_ALT_REF_CLK>;
    932			clock-names = "core", "iface", "phy", "aux", "ref";
    933
    934			assigned-clocks = <&gcc PCIE_2_ALT_REF_CLK>;
    935			assigned-clock-rates = <100000000>;
    936
    937			resets = <&gcc PCIE_2_ACLK_RESET>,
    938				 <&gcc PCIE_2_HCLK_RESET>,
    939				 <&gcc PCIE_2_POR_RESET>,
    940				 <&gcc PCIE_2_PCI_RESET>,
    941				 <&gcc PCIE_2_PHY_RESET>,
    942				 <&gcc PCIE_2_EXT_RESET>;
    943			reset-names = "axi", "ahb", "por", "pci", "phy", "ext";
    944
    945			pinctrl-0 = <&pcie2_pins>;
    946			pinctrl-names = "default";
    947
    948			status = "disabled";
    949			perst-gpio = <&qcom_pinmux 63 GPIO_ACTIVE_LOW>;
    950		};
    951
    952		nss_common: syscon@03000000 {
    953			compatible = "syscon";
    954			reg = <0x03000000 0x0000FFFF>;
    955		};
    956
    957		qsgmii_csr: syscon@1bb00000 {
    958			compatible = "syscon";
    959			reg = <0x1bb00000 0x000001FF>;
    960		};
    961
    962		stmmac_axi_setup: stmmac-axi-config {
    963			snps,wr_osr_lmt = <7>;
    964			snps,rd_osr_lmt = <7>;
    965			snps,blen = <16 0 0 0 0 0 0>;
    966		};
    967
    968		gmac0: ethernet@37000000 {
    969			device_type = "network";
    970			compatible = "qcom,ipq806x-gmac";
    971			reg = <0x37000000 0x200000>;
    972			interrupts = <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH>;
    973			interrupt-names = "macirq";
    974
    975			snps,axi-config = <&stmmac_axi_setup>;
    976			snps,pbl = <32>;
    977			snps,aal;
    978
    979			qcom,nss-common = <&nss_common>;
    980			qcom,qsgmii-csr = <&qsgmii_csr>;
    981
    982			clocks = <&gcc GMAC_CORE1_CLK>;
    983			clock-names = "stmmaceth";
    984
    985			resets = <&gcc GMAC_CORE1_RESET>,
    986				 <&gcc GMAC_AHB_RESET>;
    987			reset-names = "stmmaceth", "ahb";
    988
    989			status = "disabled";
    990		};
    991
    992		gmac1: ethernet@37200000 {
    993			device_type = "network";
    994			compatible = "qcom,ipq806x-gmac";
    995			reg = <0x37200000 0x200000>;
    996			interrupts = <GIC_SPI 223 IRQ_TYPE_LEVEL_HIGH>;
    997			interrupt-names = "macirq";
    998
    999			snps,axi-config = <&stmmac_axi_setup>;
   1000			snps,pbl = <32>;
   1001			snps,aal;
   1002
   1003			qcom,nss-common = <&nss_common>;
   1004			qcom,qsgmii-csr = <&qsgmii_csr>;
   1005
   1006			clocks = <&gcc GMAC_CORE2_CLK>;
   1007			clock-names = "stmmaceth";
   1008
   1009			resets = <&gcc GMAC_CORE2_RESET>,
   1010				 <&gcc GMAC_AHB_RESET>;
   1011			reset-names = "stmmaceth", "ahb";
   1012
   1013			status = "disabled";
   1014		};
   1015
   1016		gmac2: ethernet@37400000 {
   1017			device_type = "network";
   1018			compatible = "qcom,ipq806x-gmac";
   1019			reg = <0x37400000 0x200000>;
   1020			interrupts = <GIC_SPI 226 IRQ_TYPE_LEVEL_HIGH>;
   1021			interrupt-names = "macirq";
   1022
   1023			snps,axi-config = <&stmmac_axi_setup>;
   1024			snps,pbl = <32>;
   1025			snps,aal;
   1026
   1027			qcom,nss-common = <&nss_common>;
   1028			qcom,qsgmii-csr = <&qsgmii_csr>;
   1029
   1030			clocks = <&gcc GMAC_CORE3_CLK>;
   1031			clock-names = "stmmaceth";
   1032
   1033			resets = <&gcc GMAC_CORE3_RESET>,
   1034				 <&gcc GMAC_AHB_RESET>;
   1035			reset-names = "stmmaceth", "ahb";
   1036
   1037			status = "disabled";
   1038		};
   1039
   1040		gmac3: ethernet@37600000 {
   1041			device_type = "network";
   1042			compatible = "qcom,ipq806x-gmac";
   1043			reg = <0x37600000 0x200000>;
   1044			interrupts = <GIC_SPI 229 IRQ_TYPE_LEVEL_HIGH>;
   1045			interrupt-names = "macirq";
   1046
   1047			snps,axi-config = <&stmmac_axi_setup>;
   1048			snps,pbl = <32>;
   1049			snps,aal;
   1050
   1051			qcom,nss-common = <&nss_common>;
   1052			qcom,qsgmii-csr = <&qsgmii_csr>;
   1053
   1054			clocks = <&gcc GMAC_CORE4_CLK>;
   1055			clock-names = "stmmaceth";
   1056
   1057			resets = <&gcc GMAC_CORE4_RESET>,
   1058				 <&gcc GMAC_AHB_RESET>;
   1059			reset-names = "stmmaceth", "ahb";
   1060
   1061			status = "disabled";
   1062		};
   1063
   1064		hs_phy_0: phy@100f8800 {
   1065			compatible = "qcom,ipq806x-usb-phy-hs";
   1066			reg = <0x100f8800 0x30>;
   1067			clocks = <&gcc USB30_0_UTMI_CLK>;
   1068			clock-names = "ref";
   1069			#phy-cells = <0>;
   1070
   1071			status = "disabled";
   1072		};
   1073
   1074		ss_phy_0: phy@100f8830 {
   1075			compatible = "qcom,ipq806x-usb-phy-ss";
   1076			reg = <0x100f8830 0x30>;
   1077			clocks = <&gcc USB30_0_MASTER_CLK>;
   1078			clock-names = "ref";
   1079			#phy-cells = <0>;
   1080
   1081			status = "disabled";
   1082		};
   1083
   1084		usb3_0: usb3@100f8800 {
   1085			compatible = "qcom,ipq8064-dwc3", "qcom,dwc3";
   1086			#address-cells = <1>;
   1087			#size-cells = <1>;
   1088			reg = <0x100f8800 0x8000>;
   1089			clocks = <&gcc USB30_0_MASTER_CLK>;
   1090			clock-names = "core";
   1091
   1092			ranges;
   1093
   1094			resets = <&gcc USB30_0_MASTER_RESET>;
   1095			reset-names = "master";
   1096
   1097			status = "disabled";
   1098
   1099			dwc3_0: dwc3@10000000 {
   1100				compatible = "snps,dwc3";
   1101				reg = <0x10000000 0xcd00>;
   1102				interrupts = <GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH>;
   1103				phys = <&hs_phy_0>, <&ss_phy_0>;
   1104				phy-names = "usb2-phy", "usb3-phy";
   1105				dr_mode = "host";
   1106				snps,dis_u3_susphy_quirk;
   1107			};
   1108		};
   1109
   1110		hs_phy_1: phy@110f8800 {
   1111			compatible = "qcom,ipq806x-usb-phy-hs";
   1112			reg = <0x110f8800 0x30>;
   1113			clocks = <&gcc USB30_1_UTMI_CLK>;
   1114			clock-names = "ref";
   1115			#phy-cells = <0>;
   1116		};
   1117
   1118		ss_phy_1: phy@110f8830 {
   1119			compatible = "qcom,ipq806x-usb-phy-ss";
   1120			reg = <0x110f8830 0x30>;
   1121			clocks = <&gcc USB30_1_MASTER_CLK>;
   1122			clock-names = "ref";
   1123			#phy-cells = <0>;
   1124		};
   1125
   1126		usb3_1: usb3@110f8800 {
   1127			compatible = "qcom,ipq8064-dwc3", "qcom,dwc3";
   1128			#address-cells = <1>;
   1129			#size-cells = <1>;
   1130			reg = <0x110f8800 0x8000>;
   1131			clocks = <&gcc USB30_1_MASTER_CLK>;
   1132			clock-names = "core";
   1133
   1134			ranges;
   1135
   1136			resets = <&gcc USB30_1_MASTER_RESET>;
   1137			reset-names = "master";
   1138
   1139			status = "disabled";
   1140
   1141			dwc3_1: dwc3@11000000 {
   1142				compatible = "snps,dwc3";
   1143				reg = <0x11000000 0xcd00>;
   1144				interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
   1145				phys = <&hs_phy_1>, <&ss_phy_1>;
   1146				phy-names = "usb2-phy", "usb3-phy";
   1147				dr_mode = "host";
   1148				snps,dis_u3_susphy_quirk;
   1149			};
   1150		};
   1151
   1152		vsdcc_fixed: vsdcc-regulator {
   1153			compatible = "regulator-fixed";
   1154			regulator-name = "SDCC Power";
   1155			regulator-min-microvolt = <3300000>;
   1156			regulator-max-microvolt = <3300000>;
   1157			regulator-always-on;
   1158		};
   1159
   1160		sdcc1bam: dma-controller@12402000 {
   1161			compatible = "qcom,bam-v1.3.0";
   1162			reg = <0x12402000 0x8000>;
   1163			interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
   1164			clocks = <&gcc SDC1_H_CLK>;
   1165			clock-names = "bam_clk";
   1166			#dma-cells = <1>;
   1167			qcom,ee = <0>;
   1168		};
   1169
   1170		sdcc3bam: dma-controller@12182000 {
   1171			compatible = "qcom,bam-v1.3.0";
   1172			reg = <0x12182000 0x8000>;
   1173			interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
   1174			clocks = <&gcc SDC3_H_CLK>;
   1175			clock-names = "bam_clk";
   1176			#dma-cells = <1>;
   1177			qcom,ee = <0>;
   1178		};
   1179
   1180		amba: amba {
   1181			compatible = "simple-bus";
   1182			#address-cells = <1>;
   1183			#size-cells = <1>;
   1184			ranges;
   1185
   1186			sdcc1: mmc@12400000 {
   1187				status          = "disabled";
   1188				compatible      = "arm,pl18x", "arm,primecell";
   1189				arm,primecell-periphid = <0x00051180>;
   1190				reg             = <0x12400000 0x2000>;
   1191				interrupts      = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
   1192				interrupt-names = "cmd_irq";
   1193				clocks          = <&gcc SDC1_CLK>, <&gcc SDC1_H_CLK>;
   1194				clock-names     = "mclk", "apb_pclk";
   1195				bus-width       = <8>;
   1196				max-frequency   = <96000000>;
   1197				non-removable;
   1198				cap-sd-highspeed;
   1199				cap-mmc-highspeed;
   1200				mmc-ddr-1_8v;
   1201				vmmc-supply = <&vsdcc_fixed>;
   1202				dmas = <&sdcc1bam 2>, <&sdcc1bam 1>;
   1203				dma-names = "tx", "rx";
   1204			};
   1205
   1206			sdcc3: mmc@12180000 {
   1207				compatible      = "arm,pl18x", "arm,primecell";
   1208				arm,primecell-periphid = <0x00051180>;
   1209				status          = "disabled";
   1210				reg             = <0x12180000 0x2000>;
   1211				interrupts      = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
   1212				interrupt-names = "cmd_irq";
   1213				clocks          = <&gcc SDC3_CLK>, <&gcc SDC3_H_CLK>;
   1214				clock-names     = "mclk", "apb_pclk";
   1215				bus-width       = <8>;
   1216				cap-sd-highspeed;
   1217				cap-mmc-highspeed;
   1218				max-frequency   = <192000000>;
   1219				sd-uhs-sdr104;
   1220				sd-uhs-ddr50;
   1221				vqmmc-supply = <&vsdcc_fixed>;
   1222				dmas = <&sdcc3bam 2>, <&sdcc3bam 1>;
   1223				dma-names = "tx", "rx";
   1224			};
   1225		};
   1226	};
   1227};