// SPDX-License-Identifier: GPL-2.0
/*
 * Copyright (c) 2017 MediaTek Inc.
 * Author: Mars.C <mars.cheng@mediatek.com>
 */

#include <dt-bindings/clock/mt6797-clk.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/pinctrl/mt6797-pinfunc.h>

/ {
	compatible = "mediatek,mt6797";
	interrupt-parent = <&sysirq>;
	#address-cells = <2>;
	#size-cells = <2>;

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

	cpus {
		#address-cells = <1>;
		#size-cells = <0>;

		cpu0: cpu@0 {
			device_type = "cpu";
			compatible = "arm,cortex-a53";
			enable-method = "psci";
			reg = <0x000>;
		};

		cpu1: cpu@1 {
			device_type = "cpu";
			compatible = "arm,cortex-a53";
			enable-method = "psci";
			reg = <0x001>;
		};

		cpu2: cpu@2 {
			device_type = "cpu";
			compatible = "arm,cortex-a53";
			enable-method = "psci";
			reg = <0x002>;
		};

		cpu3: cpu@3 {
			device_type = "cpu";
			compatible = "arm,cortex-a53";
			enable-method = "psci";
			reg = <0x003>;
		};

		cpu4: cpu@100 {
			device_type = "cpu";
			compatible = "arm,cortex-a53";
			enable-method = "psci";
			reg = <0x100>;
		};

		cpu5: cpu@101 {
			device_type = "cpu";
			compatible = "arm,cortex-a53";
			enable-method = "psci";
			reg = <0x101>;
		};

		cpu6: cpu@102 {
			device_type = "cpu";
			compatible = "arm,cortex-a53";
			enable-method = "psci";
			reg = <0x102>;
		};

		cpu7: cpu@103 {
			device_type = "cpu";
			compatible = "arm,cortex-a53";
			enable-method = "psci";
			reg = <0x103>;
		};

		cpu8: cpu@200 {
			device_type = "cpu";
			compatible = "arm,cortex-a72";
			enable-method = "psci";
			reg = <0x200>;
		};

		cpu9: cpu@201 {
			device_type = "cpu";
			compatible = "arm,cortex-a72";
			enable-method = "psci";
			reg = <0x201>;
		};
	};

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

	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>;
	};

	topckgen: topckgen@10000000 {
		compatible = "mediatek,mt6797-topckgen";
		reg = <0 0x10000000 0 0x1000>;
		#clock-cells = <1>;
	};

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

	pio: pinctrl@10005000 {
		compatible = "mediatek,mt6797-pinctrl";
		reg = <0 0x10005000 0 0x1000>,
		      <0 0x10002000 0 0x400>,
		      <0 0x10002400 0 0x400>,
		      <0 0x10002800 0 0x400>,
		      <0 0x10002C00 0 0x400>;
		reg-names = "gpio", "iocfgl", "iocfgb",
			    "iocfgr", "iocfgt";
		gpio-controller;
		#gpio-cells = <2>;

		uart0_pins_a: uart0 {
			pins0 {
				pinmux = <MT6797_GPIO234__FUNC_UTXD0>,
					 <MT6797_GPIO235__FUNC_URXD0>;
			};
		};

		uart1_pins_a: uart1 {
			pins1 {
				pinmux = <MT6797_GPIO232__FUNC_URXD1>,
					 <MT6797_GPIO233__FUNC_UTXD1>;
			};
		};

		i2c0_pins_a: i2c0 {
			pins0 {
				pinmux = <MT6797_GPIO37__FUNC_SCL0_0>,
					 <MT6797_GPIO38__FUNC_SDA0_0>;
			};
		};

		i2c1_pins_a: i2c1 {
			pins1 {
				pinmux = <MT6797_GPIO55__FUNC_SCL1_0>,
					 <MT6797_GPIO56__FUNC_SDA1_0>;
			};
		};

		i2c2_pins_a: i2c2 {
			pins2 {
				pinmux = <MT6797_GPIO96__FUNC_SCL2_0>,
					 <MT6797_GPIO95__FUNC_SDA2_0>;
			};
		};

		i2c3_pins_a: i2c3 {
			pins3 {
				pinmux = <MT6797_GPIO75__FUNC_SDA3_0>,
					 <MT6797_GPIO74__FUNC_SCL3_0>;
			};
		};

		i2c4_pins_a: i2c4 {
			pins4 {
				pinmux = <MT6797_GPIO238__FUNC_SDA4_0>,
					 <MT6797_GPIO239__FUNC_SCL4_0>;
			};
		};

		i2c5_pins_a: i2c5 {
			pins5 {
				pinmux = <MT6797_GPIO240__FUNC_SDA5_0>,
					 <MT6797_GPIO241__FUNC_SCL5_0>;
			};
		};

		i2c6_pins_a: i2c6 {
			pins6 {
				pinmux = <MT6797_GPIO152__FUNC_SDA6_0>,
					 <MT6797_GPIO151__FUNC_SCL6_0>;
			};
		};

		i2c7_pins_a: i2c7 {
			pins7 {
				pinmux = <MT6797_GPIO154__FUNC_SDA7_0>,
					 <MT6797_GPIO153__FUNC_SCL7_0>;
			};
		};
	};

	scpsys: power-controller@10006000 {
		compatible = "mediatek,mt6797-scpsys";
		#power-domain-cells = <1>;
		reg = <0 0x10006000 0 0x1000>;
		clocks = <&topckgen CLK_TOP_MUX_MFG>,
			 <&topckgen CLK_TOP_MUX_MM>,
			 <&topckgen CLK_TOP_MUX_VDEC>;
		clock-names = "mfg", "mm", "vdec";
		infracfg = <&infrasys>;
	};

	watchdog: watchdog@10007000 {
		compatible = "mediatek,mt6797-wdt", "mediatek,mt6589-wdt";
		reg = <0 0x10007000 0 0x100>;
	};

	apmixedsys: apmixed@1000c000 {
		compatible = "mediatek,mt6797-apmixedsys";
		reg = <0 0x1000c000 0 0x1000>;
		#clock-cells = <1>;
	};

	sysirq: intpol-controller@10200620 {
		compatible = "mediatek,mt6797-sysirq",
			     "mediatek,mt6577-sysirq";
		interrupt-controller;
		#interrupt-cells = <3>;
		interrupt-parent = <&gic>;
		reg = <0 0x10220620 0 0x20>,
		      <0 0x10220690 0 0x10>;
	};

	uart0: serial@11002000 {
		compatible = "mediatek,mt6797-uart",
			     "mediatek,mt6577-uart";
		reg = <0 0x11002000 0 0x400>;
		interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_LOW>;
		clocks = <&infrasys CLK_INFRA_UART0>,
			 <&infrasys CLK_INFRA_AP_DMA>;
		clock-names = "baud", "bus";
		status = "disabled";
	};

	uart1: serial@11003000 {
		compatible = "mediatek,mt6797-uart",
			     "mediatek,mt6577-uart";
		reg = <0 0x11003000 0 0x400>;
		interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_LOW>;
		clocks = <&infrasys CLK_INFRA_UART1>,
			 <&infrasys CLK_INFRA_AP_DMA>;
		clock-names = "baud", "bus";
		status = "disabled";
	};

	uart2: serial@11004000 {
		compatible = "mediatek,mt6797-uart",
			     "mediatek,mt6577-uart";
		reg = <0 0x11004000 0 0x400>;
		interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_LOW>;
		clocks = <&infrasys CLK_INFRA_UART2>,
			 <&infrasys CLK_INFRA_AP_DMA>;
		clock-names = "baud", "bus";
		status = "disabled";
	};

	uart3: serial@11005000 {
		compatible = "mediatek,mt6797-uart",
			     "mediatek,mt6577-uart";
		reg = <0 0x11005000 0 0x400>;
		interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_LOW>;
		clocks = <&infrasys CLK_INFRA_UART3>,
			 <&infrasys CLK_INFRA_AP_DMA>;
		clock-names = "baud", "bus";
		status = "disabled";
	};

	i2c0: i2c@11007000 {
		compatible = "mediatek,mt6797-i2c",
			     "mediatek,mt6577-i2c";
		id = <0>;
		reg = <0 0x11007000 0 0x1000>,
		      <0 0x11000100 0 0x80>;
		interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_LOW>;
		clocks = <&infrasys CLK_INFRA_I2C0>,
			 <&infrasys CLK_INFRA_AP_DMA>;
		clock-names = "main", "dma";
		clock-div = <10>;
		#address-cells = <1>;
		#size-cells = <0>;
		status = "disabled";
	};

	i2c1: i2c@11008000 {
		compatible = "mediatek,mt6797-i2c",
			     "mediatek,mt6577-i2c";
		id = <1>;
		reg = <0 0x11008000 0 0x1000>,
		      <0 0x11000180 0 0x80>;
		interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_LOW>;
		clocks = <&infrasys CLK_INFRA_I2C1>,
			 <&infrasys CLK_INFRA_AP_DMA>;
		clock-names = "main", "dma";
		clock-div = <10>;
		#address-cells = <1>;
		#size-cells = <0>;
		status = "disabled";
	};

	i2c8: i2c@11009000 {
		compatible = "mediatek,mt6797-i2c",
			     "mediatek,mt6577-i2c";
		id = <8>;
		reg = <0 0x11009000 0 0x1000>,
		      <0 0x11000200 0 0x80>;
		interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_LOW>;
		clocks = <&infrasys CLK_INFRA_I2C2>,
			 <&infrasys CLK_INFRA_AP_DMA>,
			 <&infrasys CLK_INFRA_I2C2_ARB>;
		clock-names = "main", "dma", "arb";
		clock-div = <10>;
		#address-cells = <1>;
		#size-cells = <0>;
		status = "disabled";
	};

	i2c9: i2c@1100d000 {
		compatible = "mediatek,mt6797-i2c",
			     "mediatek,mt6577-i2c";
		id = <9>;
		reg = <0 0x1100d000 0 0x1000>,
		      <0 0x11000280 0 0x80>;
		interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_LOW>;
		clocks = <&infrasys CLK_INFRA_I2C3>,
			 <&infrasys CLK_INFRA_AP_DMA>,
			 <&infrasys CLK_INFRA_I2C3_ARB>;
		clock-names = "main", "dma", "arb";
		clock-div = <10>;
		#address-cells = <1>;
		#size-cells = <0>;
		status = "disabled";
	};

	i2c6: i2c@1100e000 {
		compatible = "mediatek,mt6797-i2c",
			     "mediatek,mt6577-i2c";
		id = <6>;
		reg = <0 0x1100e000 0 0x1000>,
		      <0 0x11000500 0 0x80>;
		interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_LOW>;
		clocks = <&infrasys CLK_INFRA_I2C_APPM>,
			 <&infrasys CLK_INFRA_AP_DMA>;
		clock-names = "main", "dma";
		clock-div = <10>;
		#address-cells = <1>;
		#size-cells = <0>;
		status = "disabled";
	};

	i2c7: i2c@11010000 {
		compatible = "mediatek,mt6797-i2c",
			     "mediatek,mt6577-i2c";
		id = <7>;
		reg = <0 0x11010000 0 0x1000>,
		      <0 0x11000580 0 0x80>;
		interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_LOW>;
		clocks = <&infrasys CLK_INFRA_I2C_GPUPM>,
			 <&infrasys CLK_INFRA_AP_DMA>;
		clock-names = "main", "dma";
		clock-div = <10>;
		#address-cells = <1>;
		#size-cells = <0>;
		status = "disabled";
	};

	i2c4: i2c@11011000 {
		compatible = "mediatek,mt6797-i2c",
			     "mediatek,mt6577-i2c";
		id = <4>;
		reg = <0 0x11011000 0 0x1000>,
		      <0 0x11000300 0 0x80>;
		interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_LOW>;
		clocks = <&infrasys CLK_INFRA_I2C4>,
			 <&infrasys CLK_INFRA_AP_DMA>;
		clock-names = "main", "dma";
		clock-div = <10>;
		#address-cells = <1>;
		#size-cells = <0>;
		status = "disabled";
	};

	i2c2: i2c@11013000 {
		compatible = "mediatek,mt6797-i2c",
			     "mediatek,mt6577-i2c";
		id = <2>;
		reg = <0 0x11013000 0 0x1000>,
		      <0 0x11000400 0 0x80>;
		interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_LOW>;
		clocks = <&infrasys CLK_INFRA_I2C2_IMM>,
			 <&infrasys CLK_INFRA_AP_DMA>,
			 <&infrasys CLK_INFRA_I2C2_ARB>;
		clock-names = "main", "dma", "arb";
		clock-div = <10>;
		#address-cells = <1>;
		#size-cells = <0>;
		status = "disabled";
	};

	i2c3: i2c@11014000 {
		compatible = "mediatek,mt6797-i2c",
			     "mediatek,mt6577-i2c";
		id = <3>;
		reg = <0 0x11014000 0 0x1000>,
		      <0 0x11000480 0 0x80>;
		interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_LOW>;
		clocks = <&infrasys CLK_INFRA_I2C3_IMM>,
			 <&infrasys CLK_INFRA_AP_DMA>,
			 <&infrasys CLK_INFRA_I2C3_ARB>;
		clock-names = "main", "dma", "arb";
		clock-div = <10>;
		#address-cells = <1>;
		#size-cells = <0>;
		status = "disabled";
	};

	i2c5: i2c@1101c000 {
		compatible = "mediatek,mt6797-i2c",
			     "mediatek,mt6577-i2c";
		id = <5>;
		reg = <0 0x1101c000 0 0x1000>,
		      <0 0x11000380 0 0x80>;
		interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_LOW>;
		clocks = <&infrasys CLK_INFRA_I2C5>,
			 <&infrasys CLK_INFRA_AP_DMA>;
		clock-names = "main", "dma";
		clock-div = <10>;
		#address-cells = <1>;
		#size-cells = <0>;
		status = "disabled";
	};

	mmsys: syscon@14000000 {
		compatible = "mediatek,mt6797-mmsys", "syscon";
		reg = <0 0x14000000 0 0x1000>;
		#clock-cells = <1>;
	};

	imgsys: imgsys_config@15000000  {
		compatible = "mediatek,mt6797-imgsys", "syscon";
		reg = <0 0x15000000 0 0x1000>;
		#clock-cells = <1>;
	};

	vdecsys: vdec_gcon@16000000 {
		compatible = "mediatek,mt6797-vdecsys", "syscon";
		reg = <0 0x16000000 0 0x10000>;
		#clock-cells = <1>;
	};

	vencsys: venc_gcon@17000000 {
		compatible = "mediatek,mt6797-vencsys", "syscon";
		reg = <0 0x17000000 0 0x1000>;
		#clock-cells = <1>;
	};

	gic: interrupt-controller@19000000 {
		compatible = "arm,gic-v3";
		#interrupt-cells = <3>;
		interrupt-parent = <&gic>;
		interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
		interrupt-controller;
		reg = <0 0x19000000 0 0x10000>,    /* GICD */
		      <0 0x19200000 0 0x200000>,   /* GICR */
		      <0 0x10240000 0 0x2000>;     /* GICC */
	};
};
