// SPDX-License-Identifier: (GPL-2.0 OR MIT)
/*
 * Copyright (C) 2021 MediaTek Inc.
 * Author: Sam.Shih <sam.shih@mediatek.com>
 */

#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/phy/phy.h>
#include <dt-bindings/reset/ti-syscon.h>
#include <dt-bindings/clock/mt7988-clk.h>
#include <dt-bindings/pinctrl/mt65xx.h>
#include <dt-bindings/thermal/thermal.h>
#include <dt-bindings/regulator/richtek,rt5190a-regulator.h>
#include <dt-bindings/power/mt7988-power.h>

/ {
	compatible = "mediatek,mt7988-rfb";
	interrupt-parent = <&gic>;
	#address-cells = <2>;
	#size-cells = <2>;
	cpus {
		#address-cells = <1>;
		#size-cells = <0>;
		cpu@0 {
			device_type = "cpu";
			compatible = "arm,cortex-a73";
			enable-method = "psci";
			reg = <0x0>;
			clocks = <&mcusys CK_MCU_ARM_DIV_SEL>,
				 <&topckgen CK_TOP_CB_NET1_D4>,
				 <&apmixedsys CK_APMIXED_ARM_B>,
				 <&mcusys CK_MCU_BUS_DIV_SEL>,
				 <&apmixedsys CK_APMIXED_CCIPLL2_B>;
			clock-names = "cpu", "intermediate", "armpll", "cci",
				      "ccipll";
			operating-points-v2 = <&cluster0_opp>;
			nvmem-cells = <&cpufreq_calibration>;
			nvmem-cell-names = "calibration-data";
		};

		cpu@1 {
			device_type = "cpu";
			compatible = "arm,cortex-a73";
			enable-method = "psci";
			reg = <0x1>;
			clocks = <&mcusys CK_MCU_ARM_DIV_SEL>,
				 <&topckgen CK_TOP_CB_NET1_D4>,
				 <&apmixedsys CK_APMIXED_ARM_B>,
				 <&mcusys CK_MCU_BUS_DIV_SEL>,
				 <&apmixedsys CK_APMIXED_CCIPLL2_B>;
			clock-names = "cpu", "intermediate", "armpll", "cci",
				      "ccipll";
			operating-points-v2 = <&cluster0_opp>;
			nvmem-cells = <&cpufreq_calibration>;
			nvmem-cell-names = "calibration-data";
		};

		cpu@2 {
			device_type = "cpu";
			compatible = "arm,cortex-a73";
			enable-method = "psci";
			reg = <0x2>;
			clocks = <&mcusys CK_MCU_ARM_DIV_SEL>,
				 <&topckgen CK_TOP_CB_NET1_D4>,
				 <&apmixedsys CK_APMIXED_ARM_B>,
				 <&mcusys CK_MCU_BUS_DIV_SEL>,
				 <&apmixedsys CK_APMIXED_CCIPLL2_B>;
			clock-names = "cpu", "intermediate", "armpll", "cci",
				      "ccipll";
			operating-points-v2 = <&cluster0_opp>;
			nvmem-cells = <&cpufreq_calibration>;
			nvmem-cell-names = "calibration-data";
		};

		cpu@3 {
			device_type = "cpu";
			compatible = "arm,cortex-a73";
			enable-method = "psci";
			reg = <0x3>;
			clocks = <&mcusys CK_MCU_ARM_DIV_SEL>,
				 <&topckgen CK_TOP_CB_NET1_D4>,
				 <&apmixedsys CK_APMIXED_ARM_B>,
				 <&mcusys CK_MCU_BUS_DIV_SEL>,
				 <&apmixedsys CK_APMIXED_CCIPLL2_B>;
			clock-names = "cpu", "intermediate", "armpll", "cci",
				      "ccipll";
			operating-points-v2 = <&cluster0_opp>;
			nvmem-cells = <&cpufreq_calibration>;
			nvmem-cell-names = "calibration-data";
		};

		cluster0_opp: opp_table0 {
			compatible = "operating-points-v2";
			opp-shared;
			opp00 {
				opp-hz = /bits/ 64 <800000000>;
				opp-microvolt = <850000>;
			};
			opp01 {
				opp-hz = /bits/ 64 <1100000000>;
				opp-microvolt = <850000>;
			};
			opp02 {
				opp-hz = /bits/ 64 <1500000000>;
				opp-microvolt = <850000>;
			};
			opp03 {
				opp-hz = /bits/ 64 <1800000000>;
				opp-microvolt = <900000>;
			};
		};
	};

	pmu {
		compatible = "arm,cortex-a73-pmu";
		interrupt-parent = <&gic>;
		interrupt = <GIC_PPI 7 IRQ_TYPE_LEVEL_LOW>;
	};

	thermal-zones {
		cpu_thermal: cpu-thermal {
			polling-delay-passive = <1000>;
			polling-delay = <1000>;
			thermal-sensors = <&lvts 0>;
			trips {
				cpu_trip_crit: crit {
					temperature = <125000>;
					hysteresis = <2000>;
					type = "critical";
				};

				cpu_trip_hot: hot {
					temperature = <120000>;
					hysteresis = <2000>;
					type = "hot";
				};

				cpu_trip_active_high: active-high {
					temperature = <115000>;
					hysteresis = <2000>;
					type = "active";
				};

				cpu_trip_active_low: active-low {
					temperature = <85000>;
					hysteresis = <2000>;
					type = "active";
				};

				cpu_trip_passive: passive {
					temperature = <40000>;
					hysteresis = <2000>;
					type = "passive";
				};
			};

			cooling-maps {
				cpu-active-high {
				/* active: set fan to cooling level 2 */
					cooling-device = <&fan 2 2>;
					trip = <&cpu_trip_active_high>;
				};

				cpu-active-low {
				/* active: set fan to cooling level 1 */
					cooling-device = <&fan 1 1>;
					trip = <&cpu_trip_active_low>;
				};

				cpu-passive {
				/* passive: set fan to cooling level 0 */
					cooling-device = <&fan 0 0>;
					trip = <&cpu_trip_passive>;
				};
			};

		};
	};

	mmc0: mmc@11230000 {
		compatible = "mediatek,mt7986-mmc";
		reg = <0 0x11230000 0 0x1000>,
		      <0 0x11D60000 0 0x1000>;
		interrupts = <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
		clocks = <&infracfg_ao CK_INFRA_MSDC400>,
			 <&infracfg_ao CK_INFRA_MSDC2_HCK>,
			 <&infracfg_ao CK_INFRA_133M_MSDC_0_HCK>,
			 <&infracfg_ao CK_INFRA_66M_MSDC_0_HCK>;
		clock-names = "source", "hclk", "ahb_cg", "axi_cg";
		status = "disabled";
	};

	wed: wed@15010000 {
		compatible = "mediatek,wed";
		wed_num = <3>;
		/* add this property for wed get the pci slot number. */
		pci_slot_map = <0>, <1>, <2>;
		reg = <0 0x15010000 0 0x2000>,
		      <0 0x15012000 0 0x2000>,
		      <0 0x15014000 0 0x2000>;
		interrupt-parent = <&gic>;
		interrupts = <GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 206 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 270 IRQ_TYPE_LEVEL_HIGH>;
	};

	wed2: wed2@15012000 {
		compatible = "mediatek,wed2";
		wed_num = <3>;
		/* add this property for wed get the pci slot number. */
		reg = <0 0x15010000 0 0x2000>,
		      <0 0x15012000 0 0x2000>,
		      <0 0x15014000 0 0x2000>;
		interrupt-parent = <&gic>;
		interrupts = <GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 206 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 270 IRQ_TYPE_LEVEL_HIGH>;
	};

	wed3: wed3@15014000 {
		compatible = "mediatek,wed3";
		wed_num = <3>;
		/* add this property for wed get the pci slot number. */
		reg = <0 0x15010000 0 0x2000>,
		      <0 0x15012000 0 0x2000>,
		      <0 0x15014000 0 0x2000>;
		interrupt-parent = <&gic>;
		interrupts = <GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 206 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 270 IRQ_TYPE_LEVEL_HIGH>;
	};

	wdma: wdma@15104800 {
		compatible = "mediatek,wed-wdma";
		reg = <0 0x15104800 0 0x400>,
		      <0 0x15104c00 0 0x400>,
		      <0 0x15105000 0 0x400>;
	};

	ap2woccif: ap2woccif@151A5000 {
		compatible = "mediatek,ap2woccif";
		reg = <0 0x151A5000 0 0x1000>,
		      <0 0x152A5000 0 0x1000>,
		      <0 0x153A5000 0 0x1000>;
		interrupt-parent = <&gic>;
		interrupts = <GIC_SPI 211 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 212 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 272 IRQ_TYPE_LEVEL_HIGH>;
	};

	wocpu0_ilm: wocpu0_ilm@151E0000 {
		compatible = "mediatek,wocpu0_ilm";
		reg = <0 0x151E0000 0 0x8000>;
	};

	wocpu1_ilm: wocpu1_ilm@152E0000 {
		compatible = "mediatek,wocpu1_ilm";
		reg = <0 0x152E0000 0 0x8000>;
	};

	wocpu2_ilm: wocpu2_ilm@153E0000 {
		compatible = "mediatek,wocpu2_ilm";
		reg = <0 0x153E0000 0 0x8000>;
	};

	wocpu_dlm: wocpu_dlm@151E8000 {
		compatible = "mediatek,wocpu_dlm";
		reg = <0 0x151E8000 0 0x2000>,
		      <0 0x152E8000 0 0x2000>,
		      <0 0x153E8000 0 0x2000>;

		resets = <&ethsysrst 0>;
		reset-names = "wocpu_rst";
	};

	cpu_boot: wocpu_boot@15194000 {
		compatible = "mediatek,wocpu_boot";
		reg = <0 0x15194000 0 0x1000>,
		      <0 0x15294000 0 0x1000>,
		      <0 0x15394000 0 0x1000>;
	};

	reserved-memory {
		#address-cells = <2>;
		#size-cells = <2>;
		ranges;

		ramoops: ramoops@42ff0000{
			compatible = "ramoops";
			reg = <0x0 0x42ff0000 0x0 0x10000>;
			record-size = <0x2000>;
			console-size = <0x2000>;
			pmsg-size = <0x2000>;
		};

		/* 320 KiB reserved for ARM Trusted Firmware (BL31 + BL32) */
		secmon_reserved: secmon@43000000 {
			reg = <0 0x43000000 0 0x50000>;
			no-map;
		};

		wmcpu_emi: wmcpu-reserved@47CC0000 {
			compatible = "mediatek,wmcpu-reserved";
			no-map;
			reg = <0 0x47CC0000 0 0x00100000>;
		};

		wocpu0_emi: wocpu0_emi@4F600000 {
			compatible = "mediatek,wocpu0_emi";
			no-map;
			reg = <0 0x4F600000 0 0x40000>;
			shared = <0>;
		};

		wocpu1_emi: wocpu1_emi@4F640000 {
			compatible = "mediatek,wocpu1_emi";
			no-map;
			reg = <0 0x4F640000 0 0x40000>;
			shared = <0>;
		};

		wocpu2_emi: wocpu2_emi@4F680000 {
			compatible = "mediatek,wocpu2_emi";
			no-map;
			reg = <0 0x4F680000 0 0x40000>;
			shared = <0>;
		};

		wocpu_data: wocpu_data@4F700000 {
			compatible = "mediatek,wocpu_data";
			no-map;
			reg = <0 0x4F700000 0 0x800000>;
			shared = <1>;
		};
	};

	psci {
		compatible  = "arm,psci-0.2";
		method      = "smc";
	};

	system_clk: dummy_system_clk {
		compatible = "fixed-clock";
		clock-frequency = <40000000>;
		#clock-cells = <0>;
	};

	timer {
		compatible = "arm,armv8-timer";
		interrupt-parent = <&gic>;
		interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>,
			     <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>,
			     <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>,
			     <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>;

	};

	watchdog: watchdog@1001c000 {
		compatible = "mediatek,mt7622-wdt",
			     "mediatek,mt6589-wdt",
			     "syscon";
		reg = <0 0x1001c000 0 0x1000>;
		interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
		#reset-cells = <1>;
	};

	phyfw: phy-firmware@f000000 {
		compatible = "mediatek,2p5gphy-fw";
		reg = <0 0x0f000000 0 0x8000>,
		      <0 0x0f100000 0 0x20000>,
		      <0 0x0f0f0000 0 0x200>;
	};

	boottrap: boottrap@1001f6f0 {
		compatible = "mediatek,boottrap";
		reg = <0 0x1001f6f0 0 0x20>;
	};

	gic: interrupt-controller@c000000 {
		compatible = "arm,gic-v3";
		#interrupt-cells = <3>;
		interrupt-parent = <&gic>;
		interrupt-controller;
		reg = <0 0x0c000000 0 0x40000>,  /* GICD */
		      <0 0x0c080000 0 0x200000>; /* GICR */

		interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
	};

	trng: trng@1020f000 {
		compatible = "mediatek,mt7988-rng";
	};

	uart0: serial@11000000 {
		compatible = "mediatek,mt7986-uart",
			     "mediatek,mt6577-uart";
		reg = <0 0x11000000 0 0x100>;
		interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>;
		clocks = <&infracfg_ao CK_INFRA_52M_UART0_CK>;
		clock-names = "bus";
		assigned-clocks = <&topckgen CK_TOP_UART_SEL>,
				  <&infracfg_ao CK_INFRA_MUX_UART0_SEL>;
		assigned-clock-parents = <&topckgen CK_TOP_CB_CKSQ_40M>,
					 <&infracfg CK_INFRA_UART_O0>;
		status = "disabled";
	};

	uart1: serial@11000100 {
		compatible = "mediatek,mt7986-uart",
			     "mediatek,mt6577-uart";
		reg = <0 0x11000100 0 0x100>;
		interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>;
		clocks = <&infracfg_ao CK_INFRA_52M_UART1_CK>;
		clock-names = "bus";
		assigned-clocks = <&topckgen CK_TOP_UART_SEL>,
				  <&infracfg_ao CK_INFRA_MUX_UART1_SEL>;
		assigned-clock-parents = <&topckgen CK_TOP_CB_CKSQ_40M>,
					 <&infracfg CK_INFRA_UART_O1>;
		status = "disabled";
	};

	uart2: serial@11000200 {
		compatible = "mediatek,mt7986-uart",
			     "mediatek,mt6577-uart";
		reg = <0 0x11000200 0 0x100>;
		interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
		clocks = <&infracfg_ao CK_INFRA_52M_UART2_CK>;
		clock-names = "bus";
		assigned-clocks = <&topckgen CK_TOP_UART_SEL>,
				  <&infracfg_ao CK_INFRA_MUX_UART2_SEL>;
		assigned-clock-parents = <&topckgen CK_TOP_CB_CKSQ_40M>,
					 <&infracfg CK_INFRA_UART_O2>;
		status = "disabled";
	};

	i2c0: i2c@11003000 {
		compatible = "mediatek,mt7988-i2c",
			"mediatek,mt7981-i2c";
		reg = <0 0x11003000 0 0x1000>,
		      <0 0x10217080 0 0x80>;
		interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
		clock-div = <1>;
		clocks = <&infracfg_ao CK_INFRA_I2C_BCK>,
			 <&infracfg_ao CK_INFRA_66M_AP_DMA_BCK>;
		clock-names = "main", "dma";
		#address-cells = <1>;
		#size-cells = <0>;
		status = "disabled";
	};

	i2c1: i2c@11004000 {
		compatible = "mediatek,mt7988-i2c",
			"mediatek,mt7981-i2c";
		reg = <0 0x11004000 0 0x1000>,
		      <0 0x10217100 0 0x80>;
		interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>;
		clock-div = <1>;
		clocks = <&infracfg_ao CK_INFRA_I2C_BCK>,
			 <&infracfg_ao CK_INFRA_66M_AP_DMA_BCK>;
		clock-names = "main", "dma";
		#address-cells = <1>;
		#size-cells = <0>;
		status = "disabled";
	};

	i2c2: i2c@11005000 {
		compatible = "mediatek,mt7988-i2c",
			"mediatek,mt7981-i2c";
		reg = <0 0x11005000 0 0x1000>,
		      <0 0x10217180 0 0x80>;
		interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>;
		clock-div = <1>;
		clocks = <&infracfg_ao CK_INFRA_I2C_BCK>,
			 <&infracfg_ao CK_INFRA_66M_AP_DMA_BCK>;
		clock-names = "main", "dma";
		#address-cells = <1>;
		#size-cells = <0>;
		status = "disabled";
	};

	pwm: pwm@10048000 {
		compatible = "mediatek,mt7988-pwm";
		reg = <0 0x10048000 0 0x1000>;
		#pwm-cells = <2>;
		clocks = <&infracfg_ao CK_INFRA_66M_PWM_BCK>,
			 <&infracfg_ao CK_INFRA_66M_PWM_HCK>,
			 <&infracfg_ao CK_INFRA_66M_PWM_CK1>,
			 <&infracfg_ao CK_INFRA_66M_PWM_CK2>,
			 <&infracfg_ao CK_INFRA_66M_PWM_CK3>,
			 <&infracfg_ao CK_INFRA_66M_PWM_CK4>,
			 <&infracfg_ao CK_INFRA_66M_PWM_CK5>,
			 <&infracfg_ao CK_INFRA_66M_PWM_CK6>,
			 <&infracfg_ao CK_INFRA_66M_PWM_CK7>,
			 <&infracfg_ao CK_INFRA_66M_PWM_CK8>;
		clock-names = "top", "main", "pwm1", "pwm2", "pwm3",
			      "pwm4","pwm5","pwm6","pwm7","pwm8";
		status = "disabled";
	};

	fan: pwm-fan {
		compatible = "pwm-fan";
		/* cooling level (0, 1, 2) : (0% duty, 50% duty, 100% duty) */
		cooling-levels = <0 128 255>;
		#cooling-cells = <2>;
		#thermal-sensor-cells = <1>;
		status = "disabled";
	};

	lvts: lvts@1100a000 {
		compatible = "mediatek,mt7988-lvts";
		#thermal-sensor-cells = <1>;
		reg = <0 0x1100a000 0 0x1000>;
		clocks = <&infracfg_ao CK_INFRA_26M_THERM_SYSTEM>;
		clock-names = "lvts_clk";
		nvmem-cells = <&lvts_calibration>;
		nvmem-cell-names = "e_data1";
	};

	crypto: crypto@15600000 {
		compatible = "inside-secure,safexcel-eip197b";
		reg = <0 0x15600000 0 0x180000>;
		interrupts = <GIC_SPI 214 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 215 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 216 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH>;
		interrupt-names = "ring0", "ring1", "ring2", "ring3";
		status = "okay";
	};

	afe: audio-controller@11210000 {
		compatible = "mediatek,mt79xx-audio";
		reg = <0 0x11210000 0 0x9000>;
		interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
		clocks = <&infracfg_ao CK_INFRA_66M_AUD_SLV_BCK>,
			 <&infracfg_ao CK_INFRA_AUD_26M>,
			 <&infracfg_ao CK_INFRA_AUD_L>,
			 <&infracfg_ao CK_INFRA_AUD_AUD>,
			 <&infracfg_ao CK_INFRA_AUD_EG2>,
			 <&topckgen CK_TOP_AUD_SEL>,
			 <&topckgen CK_TOP_AUD_I2S_M>;
		clock-names = "aud_bus_ck",
			      "aud_26m_ck",
			      "aud_l_ck",
			      "aud_aud_ck",
			      "aud_eg2_ck",
			      "aud_sel",
			      "aud_i2s_m";
		assigned-clocks = <&topckgen CK_TOP_AUD_SEL>,
				  <&topckgen CK_TOP_A1SYS_SEL>,
				  <&topckgen CK_TOP_AUD_L_SEL>,
				  <&topckgen CK_TOP_A_TUNER_SEL>;
		assigned-clock-parents = <&topckgen CK_TOP_CB_APLL2_196M>,
					 <&topckgen CK_TOP_CB_APLL2_D4>,
					 <&topckgen CK_TOP_CB_APLL2_196M>,
					 <&topckgen CK_TOP_CB_APLL2_D4>;
		status = "disabled";
	};

	pcie0: pcie@11300000 {
		compatible = "mediatek,mt7988-pcie",
			     "mediatek,mt7986-pcie";
		device_type = "pci";
		#address-cells = <3>;
		#size-cells = <2>;
		reg = <0 0x11300000 0 0x2000>;
		reg-names = "pcie-mac";
		linux,pci-domain = <0>;
		interrupts = <GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>;
		bus-range = <0x00 0xff>;
		ranges = <0x81000000 0x00 0x30000000 0x00
			  0x30000000 0x00 0x00200000>,
			 <0x82000000 0x00 0x30200000 0x00
			  0x30200000 0x00 0x07e00000>;
		clocks = <&infracfg_ao CK_INFRA_PCIE_PIPE_P0>,
			 <&infracfg_ao CK_INFRA_PCIE_GFMUX_TL_P0>,
			 <&infracfg_ao CK_INFRA_PCIE_PERI_26M_CK_P0>,
			 <&infracfg_ao CK_INFRA_133M_PCIE_CK_P0>;
		clock-names = "pl_250m", "tl_26m", "peri_26m", "top_133m";
		status = "disabled";

		#interrupt-cells = <1>;
		interrupt-map-mask = <0 0 0 0x7>;
		interrupt-map = <0 0 0 1 &pcie_intc0 0>,
				<0 0 0 2 &pcie_intc0 1>,
				<0 0 0 3 &pcie_intc0 2>,
				<0 0 0 4 &pcie_intc0 3>;
		pcie_intc0: interrupt-controller {
			#address-cells = <0>;
			#interrupt-cells = <1>;
			interrupt-controller;
		};

		slot0: pcie@0,0 {
			reg = <0x0000 0 0 0 0>;
		};
	};

	pcie1: pcie@11310000 {
		compatible = "mediatek,mt7988-pcie",
			     "mediatek,mt7986-pcie";
		device_type = "pci";
		#address-cells = <3>;
		#size-cells = <2>;
		reg = <0 0x11310000 0 0x2000>;
		reg-names = "pcie-mac";
		linux,pci-domain = <1>;
		interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>;
		bus-range = <0x00 0xff>;
		ranges = <0x81000000 0x00 0x38000000 0x00
			  0x38000000 0x00 0x00200000>,
			 <0x82000000 0x00 0x38200000 0x00
			  0x38200000 0x00 0x07e00000>;
		clocks = <&infracfg_ao CK_INFRA_PCIE_PIPE_P1>,
			 <&infracfg_ao CK_INFRA_PCIE_GFMUX_TL_P1>,
			 <&infracfg_ao CK_INFRA_PCIE_PERI_26M_CK_P1>,
			 <&infracfg_ao CK_INFRA_133M_PCIE_CK_P1>;
		clock-names = "pl_250m", "tl_26m", "peri_26m", "top_133m";
		status = "disabled";

		#interrupt-cells = <1>;
		interrupt-map-mask = <0 0 0 0x7>;
		interrupt-map = <0 0 0 1 &pcie_intc1 0>,
				<0 0 0 2 &pcie_intc1 1>,
				<0 0 0 3 &pcie_intc1 2>,
				<0 0 0 4 &pcie_intc1 3>;
		pcie_intc1: interrupt-controller {
			#address-cells = <0>;
			#interrupt-cells = <1>;
			interrupt-controller;
		};
	};

	pcie2: pcie@11280000 {
		compatible = "mediatek,mt7988-pcie",
			     "mediatek,mt7986-pcie";
		device_type = "pci";
		#address-cells = <3>;
		#size-cells = <2>;
		reg = <0 0x11280000 0 0x2000>;
		reg-names = "pcie-mac";
		linux,pci-domain = <3>;
		interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>;
		bus-range = <0x00 0xff>;
		ranges = <0x81000000 0x00 0x20000000 0x00
			  0x20000000 0x00 0x00200000>,
			 <0x82000000 0x00 0x20200000 0x00
			  0x20200000 0x00 0x07e00000>;
		clocks = <&infracfg_ao CK_INFRA_PCIE_PIPE_P2>,
			 <&infracfg_ao CK_INFRA_PCIE_GFMUX_TL_P2>,
			 <&infracfg_ao CK_INFRA_PCIE_PERI_26M_CK_P2>,
			 <&infracfg_ao CK_INFRA_133M_PCIE_CK_P2>;
		clock-names = "pl_250m", "tl_26m", "peri_26m", "top_133m";
		status = "disabled";

		phys = <&xphyu3port0 PHY_TYPE_PCIE>;
		phy-names = "pcie-phy";

		#interrupt-cells = <1>;
		interrupt-map-mask = <0 0 0 0x7>;
		interrupt-map = <0 0 0 1 &pcie_intc2 0>,
				<0 0 0 2 &pcie_intc2 1>,
				<0 0 0 3 &pcie_intc2 2>,
				<0 0 0 4 &pcie_intc2 3>;
		pcie_intc2: interrupt-controller {
			#address-cells = <0>;
			#interrupt-cells = <1>;
			interrupt-controller;
		};
	};

	pcie3: pcie@11290000 {
		compatible = "mediatek,mt7988-pcie",
			     "mediatek,mt7986-pcie";
		device_type = "pci";
		#address-cells = <3>;
		#size-cells = <2>;
		reg = <0 0x11290000 0 0x2000>;
		reg-names = "pcie-mac";
		linux,pci-domain = <2>;
		interrupts = <GIC_SPI 171 IRQ_TYPE_LEVEL_HIGH>;
		bus-range = <0x00 0xff>;
		ranges = <0x81000000 0x00 0x28000000 0x00
			  0x28000000 0x00 0x00200000>,
			 <0x82000000 0x00 0x28200000 0x00
			  0x28200000 0x00 0x07e00000>;
		clocks = <&infracfg_ao CK_INFRA_PCIE_PIPE_P3>,
			 <&infracfg_ao CK_INFRA_PCIE_GFMUX_TL_P3>,
			 <&infracfg_ao CK_INFRA_PCIE_PERI_26M_CK_P3>,
			 <&infracfg_ao CK_INFRA_133M_PCIE_CK_P3>;
		clock-names = "pl_250m", "tl_26m", "peri_26m", "top_133m";
		status = "disabled";

		#interrupt-cells = <1>;
		interrupt-map-mask = <0 0 0 0x7>;
		interrupt-map = <0 0 0 1 &pcie_intc3 0>,
				<0 0 0 2 &pcie_intc3 1>,
				<0 0 0 3 &pcie_intc3 2>,
				<0 0 0 4 &pcie_intc3 3>;
		pcie_intc3: interrupt-controller {
			#address-cells = <0>;
			#interrupt-cells = <1>;
			interrupt-controller;
		};
	};

	pio: pinctrl@1001f000 {
		compatible = "mediatek,mt7988-pinctrl";
		reg = <0 0x1001f000 0 0x1000>,
		      <0 0x11c10000 0 0x1000>,
		      <0 0x11d00000 0 0x1000>,
		      <0 0x11d20000 0 0x1000>,
		      <0 0x11e00000 0 0x1000>,
		      <0 0x11f00000 0 0x1000>,
		      <0 0x1000b000 0 0x1000>;
		reg-names = "gpio_base", "iocfg_tr_base", "iocfg_br_base",
			    "iocfg_rb_base", "iocfg_lb_base", "iocfg_tl_base",
			    "eint";
		gpio-controller;
		#gpio-cells = <2>;
		gpio-ranges = <&pio 0 0 83>;
		interrupt-controller;
		interrupts = <GIC_SPI 225 IRQ_TYPE_LEVEL_HIGH>;
		interrupt-parent = <&gic>;
		#interrupt-cells = <2>;
	};

	ethsys: syscon@15000000 {
		#address-cells = <1>;
		#size-cells = <1>;
		compatible = "mediatek,mt7988-ethsys",
			     "syscon";
		reg = <0 0x15000000 0 0x1000>;
		#clock-cells = <1>;
		#reset-cells = <1>;

		ethsysrst: reset-controller {
			compatible = "ti,syscon-reset";
			#reset-cells = <1>;
			ti,reset-bits =
				<0x34 4 0x34 4 0x34 4
				 (ASSERT_SET | DEASSERT_CLEAR | STATUS_SET)>;
		};
	};

	ethwarp: syscon@15031000 {
		compatible = "mediatek,mt7988-ethwarp", "syscon";
		reg = <0 0x15031000 0 0x1000>;
		#clock-cells = <1>;
	};

	switch0: switch0@15020000 {
		#address-cells = <1>;
		#size-cells = <1>;
		compatible = "mediatek,mt7988-switch", "syscon";
		reg = <0 0x15020000 0 0x8000>;
	};

	eth: ethernet@15100000 {
		compatible = "mediatek,mt7988-eth";
		reg = <0 0x15100000 0 0x80000>,
		      <0 0x15400000 0 0x380000>;
		interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH>;
		clocks = <&ethsys CK_ETHDMA_XGP1_EN>,
			 <&ethsys CK_ETHDMA_XGP2_EN>,
			 <&ethsys CK_ETHDMA_XGP3_EN>,
			 <&ethsys CK_ETHDMA_FE_EN>,
			 <&ethsys CK_ETHDMA_GP2_EN>,
			 <&ethsys CK_ETHDMA_GP1_EN>,
			 <&ethsys CK_ETHDMA_GP3_EN>,
			 <&ethsys CK_ETHDMA_ESW_EN>,
			 <&ethsys CK_ETHDMA_CRYPT0_EN>,
			 <&sgmiisys0 CK_SGM0_TX_EN>,
			 <&sgmiisys0 CK_SGM0_RX_EN>,
			 <&sgmiisys1 CK_SGM1_TX_EN>,
			 <&sgmiisys1 CK_SGM1_RX_EN>,
			 <&ethwarp CK_ETHWARP_WOCPU2_EN>,
			 <&ethwarp CK_ETHWARP_WOCPU1_EN>,
			 <&ethwarp CK_ETHWARP_WOCPU0_EN>,
			 <&topckgen CK_TOP_USXGMII_SBUS_0_SEL>,
			 <&topckgen CK_TOP_USXGMII_SBUS_1_SEL>,
			 <&topckgen CK_TOP_SGM_0_SEL>,
			 <&topckgen CK_TOP_SGM_1_SEL>,
			 <&topckgen CK_TOP_XFI_PHY_0_XTAL_SEL>,
			 <&topckgen CK_TOP_XFI_PHY_1_XTAL_SEL>,
			 <&topckgen CK_TOP_ETH_GMII_SEL>,
			 <&topckgen CK_TOP_ETH_REFCK_50M_SEL>,
			 <&topckgen CK_TOP_ETH_SYS_200M_SEL>,
			 <&topckgen CK_TOP_ETH_SYS_SEL>,
			 <&topckgen CK_TOP_ETH_XGMII_SEL>,
			 <&topckgen CK_TOP_ETH_MII_SEL>,
			 <&topckgen CK_TOP_NETSYS_SEL>,
			 <&topckgen CK_TOP_NETSYS_500M_SEL>,
			 <&topckgen CK_TOP_NETSYS_PAO_2X_SEL>,
			 <&topckgen CK_TOP_NETSYS_SYNC_250M_SEL>,
			 <&topckgen CK_TOP_NETSYS_PPEFB_250M_SEL>,
			 <&topckgen CK_TOP_NETSYS_WARP_SEL>;
		clock-names = "xgp1", "xgp2", "xgp3", "fe", "gp2", "gp1",
			      "gp3", "esw", "crypto", "sgmii_tx250m",
			      "sgmii_rx250m", "sgmii2_tx250m", "sgmii2_rx250m",
			      "ethwarp_wocpu2", "ethwarp_wocpu1",
			      "ethwarp_wocpu0", "top_usxgmii0_sel",
			      "top_usxgmii1_sel", "top_sgm0_sel",
			      "top_sgm1_sel", "top_xfi_phy0_xtal_sel",
			      "top_xfi_phy1_xtal_sel", "top_eth_gmii_sel",
			      "top_eth_refck_50m_sel", "top_eth_sys_200m_sel",
			      "top_eth_sys_sel", "top_eth_xgmii_sel",
			      "top_eth_mii_sel", "top_netsys_sel",
			      "top_netsys_500m_sel", "top_netsys_pao_2x_sel",
			      "top_netsys_sync_250m_sel",
			      "top_netsys_ppefb_250m_sel",
			      "top_netsys_warp_sel";
		assigned-clocks = <&topckgen CK_TOP_NETSYS_2X_SEL>,
				  <&topckgen CK_TOP_NETSYS_GSW_SEL>,
				  <&topckgen CK_TOP_USXGMII_SBUS_0_SEL>,
				  <&topckgen CK_TOP_USXGMII_SBUS_1_SEL>,
				  <&topckgen CK_TOP_SGM_0_SEL>,
				  <&topckgen CK_TOP_SGM_1_SEL>;
		assigned-clock-parents = <&topckgen CK_TOP_CB_NET2_800M>,
					 <&topckgen CK_TOP_CB_NET1_D4>,
					 <&topckgen CK_TOP_NET1_D8_D4>,
					 <&topckgen CK_TOP_NET1_D8_D4>,
					 <&topckgen CK_TOP_CB_SGM_325M>,
					 <&topckgen CK_TOP_CB_SGM_325M>;
		mediatek,ethsys = <&ethsys>;
		mediatek,sgmiisys = <&sgmiisys0>, <&sgmiisys1>;
		mediatek,usxgmiisys = <&usxgmiisys0>, <&usxgmiisys1>;
		mediatek,xfi_pextp = <&xfi_pextp0>, <&xfi_pextp1>;
		mediatek,xfi_pll = <&xfi_pll>;
		mediatek,infracfg = <&topmisc>;
		mediatek,toprgu = <&watchdog>;
		#reset-cells = <1>;
		#address-cells = <1>;
		#size-cells = <0>;
		status = "disabled";
	};

	hnat: hnat@15000000 {
		compatible = "mediatek,mtk-hnat_v5";
		reg = <0 0x15100000 0 0x80000>;
		resets = <&ethsys 0>;
		reset-names = "mtketh";
		status = "disabled";
	};

	sgmiisys0: syscon@10060000 {
		compatible = "mediatek,mt7988-sgmiisys",
			     "mediatek,mt7988-sgmiisys_0",
			     "syscon";
		reg = <0 0x10060000 0 0x1000>;
		#clock-cells = <1>;
	};

	sgmiisys1: syscon@10070000 {
		compatible = "mediatek,mt7988-sgmiisys",
			     "mediatek,mt7988-sgmiisys_1",
			     "syscon";
		reg = <0 0x10070000 0 0x1000>;
		#clock-cells = <1>;
	};

	usxgmiisys0: usxgmiisys@10080000 {
		compatible = "mediatek,mt7988-usxgmiisys",
			     "mediatek,mt7988-usxgmiisys_0",
			     "syscon";
		reg = <0 0x10080000 0 0x1000>;
		#clock-cells = <1>;
	};

	usxgmiisys1: usxgmiisys@10081000 {
		compatible = "mediatek,mt7988-usxgmiisys",
			     "mediatek,mt7988-usxgmiisys_1",
			     "syscon";
		reg = <0 0x10081000 0 0x1000>;
		#clock-cells = <1>;
	};

	xfi_pextp0: xfi_pextp@11f20000 {
		compatible = "mediatek,mt7988-xfi_pextp",
			     "mediatek,mt7988-xfi_pextp_0",
			     "syscon";
		reg = <0 0x11f20000 0 0x10000>;
		#clock-cells = <1>;
	};

	xfi_pextp1: xfi_pextp@11f30000 {
		compatible = "mediatek,mt7988-xfi_pextp",
			     "mediatek,mt7988-xfi_pextp_1",
			     "syscon";
		reg = <0 0x11f30000 0 0x10000>;
		#clock-cells = <1>;
	};

	xfi_pll: xfi_pll@11f40000 {
		compatible = "mediatek,mt7988-xfi_pll", "syscon";
		reg = <0 0x11f40000 0 0x1000>;
		#clock-cells = <1>;
	};

	topmisc: topmisc@11d10000 {
		compatible = "mediatek,mt7988-topmisc", "syscon",
			     "mediatek,mt7988-power-controller";
		reg = <0 0x11d10000 0 0x10000>;
		#clock-cells = <1>;
		#power-domain-cells = <1>;
		#address-cells = <1>;
		#size-cells = <0>;
		/* power domain of the SoC */
		tops0@MT7988_POWER_DOMAIN_TOPS0 {
			reg = <MT7988_POWER_DOMAIN_TOPS0>;
			#power-domain-cells = <0>;
		};
		tops1@MT7988_POWER_DOMAIN_TOPS1 {
			reg = <MT7988_POWER_DOMAIN_TOPS1>;
			#power-domain-cells = <0>;
		};
		eth2p5@MT7988_POWER_DOMAIN_ETH2P5 {
			reg = <MT7988_POWER_DOMAIN_ETH2P5>;
			#power-domain-cells = <0>;
		};
	};

	snand: snfi@11001000 {
		compatible = "mediatek,mt7988-snand";
		reg = <0 0x11001000 0 0x1000>, <0 0x11002000 0 0x1000>;
		reg-names = "nfi", "ecc";
		interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>;
		clocks = <&infracfg_ao CK_INFRA_SPINFI>,
			 <&infracfg_ao CK_INFRA_NFI>;
		clock-names = "pad_clk", "nfi_clk";
		assigned-clocks = <&topckgen CK_TOP_SPINFI_SEL>,
				  <&topckgen CK_TOP_NFI1X_SEL>;
		assigned-clock-parents = <&topckgen CK_TOP_CB_M_D8>,
					 <&topckgen CK_TOP_CB_M_D8>;
		#address-cells = <1>;
		#size-cells = <0>;
		status = "disabled";
	};

	wbsys: wbsys@18000000 {
		compatible = "mediatek,wbsys";
		reg = <0 0x18000000 0  0x1000000>;
		linux,pci-domain = <4>;
		interrupts = <GIC_SPI 213 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 214 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 215 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 216 IRQ_TYPE_LEVEL_HIGH>;
		chip_id = <0x7981>;
	};

	wed_pcie: wed_pcie@10003000 {
		compatible = "mediatek,wed_pcie";
		reg = <0 0x10003000 0 0x10>;
	};

	infra_bus_prot: infra_bus_prot@1000310c {
		compatible = "mediatek,infracfg_ao_bus_hang_prot";
		reg = <0 0x1000310c 0 0x14>;
	};

	spi0: spi@11007000 {
		compatible = "mediatek,ipm-spi-quad";
		reg = <0 0x11007000 0 0x100>;
		interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
		clocks = <&topckgen CK_TOP_CB_M_D2>,
			 <&topckgen CK_TOP_SPI_SEL>,
			 <&infracfg_ao CK_INFRA_104M_SPI0>,
			 <&infracfg_ao CK_INFRA_66M_SPI0_HCK>;
		clock-names = "parent-clk", "sel-clk", "spi-clk", "spi-hclk";
		status = "disabled";
	};

	spi1: spi@11008000 {
		compatible = "mediatek,ipm-spi-single";
		reg = <0 0x11008000 0 0x100>;
		interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>;
		clocks = <&topckgen CK_TOP_CB_M_D2>,
			 <&topckgen CK_TOP_SPI_SEL>,
			 <&infracfg_ao CK_INFRA_104M_SPI1>,
			 <&infracfg_ao CK_INFRA_66M_SPI1_HCK>;
		clock-names = "parent-clk", "sel-clk", "spi-clk", "spi-hclk";
		status = "disabled";
	};

	spi2: spi@11009000 {
		compatible = "mediatek,ipm-spi-quad";
		reg = <0 0x11009000 0 0x100>;
		interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>;
		clocks = <&topckgen CK_TOP_CB_M_D2>,
			 <&topckgen CK_TOP_SPI_SEL>,
			 <&infracfg_ao CK_INFRA_104M_SPI2_BCK>,
			 <&infracfg_ao CK_INFRA_66M_SPI2_HCK>;
		clock-names = "parent-clk", "sel-clk", "spi-clk", "spi-hclk";
		status = "disabled";
	};

	consys: consys@10000000 {
		compatible = "mediatek,mt7981-consys";
		reg = <0 0x10000000 0 0x8600000>;
		memory-region = <&wmcpu_emi>;
	};

	xhci0: xhci@11190000 {
		compatible = "mediatek,mt7988-xhci",
			     "mediatek,mtk-xhci";
		reg = <0 0x11190000 0 0x2e00>,
		      <0 0x11193e00 0 0x0100>;
		reg-names = "mac", "ippc";
		interrupts = <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>;
		phys = <&xphyu2port0 PHY_TYPE_USB2>,
		       <&xphyu3port0 PHY_TYPE_USB3>;
		clocks = <&infracfg_ao CK_INFRA_USB_SYS>,
			 <&infracfg_ao CK_INFRA_USB_XHCI>,
			 <&infracfg_ao CK_INFRA_USB_REF>,
			 <&infracfg_ao CK_INFRA_66M_USB_HCK>,
			 <&infracfg_ao CK_INFRA_133M_USB_HCK>;
		clock-names = "sys_ck",
			      "xhci_ck",
			      "ref_ck",
			      "mcu_ck",
			      "dma_ck";
		#address-cells = <2>;
		#size-cells = <2>;
		mediatek,p0_speed_fixup;
		status = "okay";
	};

	usbxphy: usb-phy@11e10000 {
		compatible = "mediatek,mt7988",
			     "mediatek,xsphy";
		#address-cells = <2>;
		#size-cells = <2>;
		ranges;
		status = "okay";

		xphyu2port0: usb-phy@11e10000 {
			reg = <0 0x11e10000 0 0x400>;
			clocks = <&infracfg_ao CK_INFRA_USB_UTMI>;
			clock-names = "ref";
			#phy-cells = <1>;
			status = "okay";
		};

		xphyu3port0: usb-phy@11e13000 {
			reg = <0 0x11e13400 0 0x500>;
			clocks = <&infracfg_ao CK_INFRA_USB_PIPE>;
			clock-names = "ref";
			#phy-cells = <1>;
			mediatek,syscon-type = <&topmisc 0x218 0>;
			status = "okay";
		};
	};

	xhci1: xhci@11200000 {
		compatible = "mediatek,mt7988-xhci",
			     "mediatek,mtk-xhci";
		reg = <0 0x11200000 0 0x2e00>,
		      <0 0x11203e00 0 0x0100>;
		reg-names = "mac", "ippc";
		interrupts = <GIC_SPI 172 IRQ_TYPE_LEVEL_HIGH>;
		phys = <&tphyu2port0 PHY_TYPE_USB2>,
		       <&tphyu3port0 PHY_TYPE_USB3>;
		clocks = <&infracfg_ao CK_INFRA_USB_SYS_CK_P1>,
			 <&infracfg_ao CK_INFRA_USB_XHCI_CK_P1>,
			 <&infracfg_ao CK_INFRA_USB_CK_P1>,
			 <&infracfg_ao CK_INFRA_66M_USB_HCK_CK_P1>,
			 <&infracfg_ao CK_INFRA_133M_USB_HCK_CK_P1>;
		clock-names = "sys_ck",
			      "xhci_ck",
			      "ref_ck",
			      "mcu_ck",
			      "dma_ck";
		#address-cells = <2>;
		#size-cells = <2>;
		status = "okay";
	};

	usbtphy: usb-phy@11c50000 {
		compatible = "mediatek,mt7988",
			     "mediatek,generic-tphy-v2";
		#address-cells = <2>;
		#size-cells = <2>;
		ranges;
		status = "okay";

		tphyu2port0: usb-phy@11c50000 {
			reg = <0 0x11c50000 0 0x700>;
			clocks = <&infracfg_ao CK_INFRA_USB_UTMI_CK_P1>;
			clock-names = "ref";
			#phy-cells = <1>;
			status = "okay";
		};

		tphyu3port0: usb-phy@11c50700 {
			reg = <0 0x11c50700 0 0x900>;
			clocks = <&infracfg_ao CK_INFRA_USB_PIPE_CK_P1>;
			clock-names = "ref";
			#phy-cells = <1>;
			mediatek,usb3-pll-ssc-delta;
			mediatek,usb3-pll-ssc-delta1;
			status = "okay";
		};
	};

	clk40m: oscillator@0 {
		compatible = "fixed-clock";
		#clock-cells = <0>;
		clock-frequency = <40000000>;
		clock-output-names = "clkxtal";
	};

	infracfg_ao: infracfg_ao@10001000 {
		compatible = "mediatek,mt7988-infracfg_ao", "syscon";
		reg = <0 0x10001000 0 0x1000>;
		#clock-cells = <1>;
	};

	infracfg: infracfg@10209000 {
		compatible = "mediatek,mt7988-infracfg", "syscon";
		reg = <0 0x10209000 0 0x1000>;
		#clock-cells = <1>;
	};

	topckgen: topckgen@1001B000 {
		compatible = "mediatek,mt7988-topckgen", "syscon";
		reg = <0 0x1001B000 0 0x1000>;
		#clock-cells = <1>;
	};

	apmixedsys: apmixedsys@1001E000 {
		compatible = "mediatek,mt7988-apmixedsys", "syscon";
		reg = <0 0x1001E000 0 0x1000>;
		#clock-cells = <1>;
	};

	mcusys: mcusys@100E0000 {
	compatible = "mediatek,mt7988-mcusys", "syscon";
	reg = <0 0x100E0000 0 0x1000>;
	#clock-cells = <1>;
	};

	clkitg: clkitg {
		compatible = "simple-bus";
	};

	efuse: efuse@11f50000 {
		compatible = "mediatek,efuse";
		reg = <0 0x11f50000 0 0x1000>;
		#address-cells = <1>;
		#size-cells = <1>;

		lvts_calibration: calib@918 {
			reg = <0x918 0x28>;
		};
		phy_calibration_p0: calib@940 {
			reg = <0x940 0x10>;
		};
		phy_calibration_p1: calib@954 {
			reg = <0x954 0x10>;
		};
		phy_calibration_p2: calib@968 {
			reg = <0x968 0x10>;
		};
		phy_calibration_p3: calib@97c {
			reg = <0x97c 0x10>;
		};
		cpufreq_calibration: calib@278 {
			reg = <0x278 0x1>;
		};
	};
};

#include "mt7988-clkitg.dtsi"
