// SPDX-License-Identifier: GPL-2.0
/*
 * Samsung's ExynosAuto v9 SoC device tree source
 *
 * Copyright (c) 2021 Samsung Electronics Co., Ltd.
 *
 */

#include <dt-bindings/clock/samsung,exynosautov9.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/soc/samsung,boot-mode.h>
#include <dt-bindings/soc/samsung,exynos-usi.h>

/ {
	compatible = "samsung,exynosautov9";
	#address-cells = <2>;
	#size-cells = <1>;

	interrupt-parent = <&gic>;

	aliases {
		pinctrl0 = &pinctrl_alive;
		pinctrl1 = &pinctrl_aud;
		pinctrl2 = &pinctrl_fsys0;
		pinctrl3 = &pinctrl_fsys1;
		pinctrl4 = &pinctrl_fsys2;
		pinctrl5 = &pinctrl_peric0;
		pinctrl6 = &pinctrl_peric1;
	};

	arm-pmu {
		compatible = "arm,cortex-a76-pmu";
		interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
		interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>,
				     <&cpu4>, <&cpu5>, <&cpu6>, <&cpu7>;
	};

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

		cpu-map {
			cluster0 {
				core0 {
					cpu = <&cpu0>;
				};
				core1 {
					cpu = <&cpu1>;
				};
				core2 {
					cpu = <&cpu2>;
				};
				core3 {
					cpu = <&cpu3>;
				};
			};

			cluster1 {
				core0 {
					cpu = <&cpu4>;
				};
				core1 {
					cpu = <&cpu5>;
				};
				core2 {
					cpu = <&cpu6>;
				};
				core3 {
					cpu = <&cpu7>;
				};
			};
		};

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

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

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

		cpu3: cpu@300 {
			device_type = "cpu";
			compatible = "arm,cortex-a76";
			reg = <0x300>;
			enable-method = "psci";
		};

		cpu4: cpu@10000 {
			device_type = "cpu";
			compatible = "arm,cortex-a76";
			reg = <0x10000>;
			enable-method = "psci";
		};

		cpu5: cpu@10100 {
			device_type = "cpu";
			compatible = "arm,cortex-a76";
			reg = <0x10100>;
			enable-method = "psci";
		};

		cpu6: cpu@10200 {
			device_type = "cpu";
			compatible = "arm,cortex-a76";
			reg = <0x10200>;
			enable-method = "psci";
		};

		cpu7: cpu@10300 {
			device_type = "cpu";
			compatible = "arm,cortex-a76";
			reg = <0x10300>;
			enable-method = "psci";
		};
	};

	psci {
		compatible = "arm,psci-1.0";
		method = "smc";
		cpu_suspend = <0xc4000001>;
		cpu_off = <0x84000002>;
		cpu_on = <0xc4000003>;
	};

	timer {
		compatible = "arm,armv8-timer";
		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>;
	};

	fixed-rate-clocks {
		xtcxo: clock {
			compatible = "fixed-clock";
			#clock-cells = <0>;
			clock-output-names = "oscclk";
		};
	};

	soc: soc@0 {
		compatible = "simple-bus";
		#address-cells = <1>;
		#size-cells = <1>;
		ranges = <0x0 0x0 0x0 0x20000000>;

		chipid@10000000 {
			compatible = "samsung,exynosautov9-chipid",
				     "samsung,exynos850-chipid";
			reg = <0x10000000 0x24>;
		};

		cmu_peris: clock-controller@10020000 {
			compatible = "samsung,exynosautov9-cmu-peris";
			reg = <0x10020000 0x8000>;
			#clock-cells = <1>;

			clocks = <&xtcxo>,
				 <&cmu_top DOUT_CLKCMU_PERIS_BUS>;
			clock-names = "oscclk",
				      "dout_clkcmu_peris_bus";
		};

		cmu_peric0: clock-controller@10200000 {
			compatible = "samsung,exynosautov9-cmu-peric0";
			reg = <0x10200000 0x8000>;
			#clock-cells = <1>;

			clocks = <&xtcxo>,
				 <&cmu_top DOUT_CLKCMU_PERIC0_BUS>,
				 <&cmu_top DOUT_CLKCMU_PERIC0_IP>;
			clock-names = "oscclk",
				      "dout_clkcmu_peric0_bus",
				      "dout_clkcmu_peric0_ip";
		};

		cmu_peric1: clock-controller@10800000 {
			compatible = "samsung,exynosautov9-cmu-peric1";
			reg = <0x10800000 0x8000>;
			#clock-cells = <1>;

			clocks = <&xtcxo>,
				 <&cmu_top DOUT_CLKCMU_PERIC1_BUS>,
				 <&cmu_top DOUT_CLKCMU_PERIC1_IP>;
			clock-names = "oscclk",
				      "dout_clkcmu_peric1_bus",
				      "dout_clkcmu_peric1_ip";
		};

		cmu_fsys1: clock-controller@17040000 {
			compatible = "samsung,exynosautov9-cmu-fsys1";
			reg = <0x17040000 0x8000>;
			#clock-cells = <1>;

			clocks = <&xtcxo>,
				 <&cmu_top DOUT_CLKCMU_FSYS1_BUS>,
				 <&cmu_top GOUT_CLKCMU_FSYS1_MMC_CARD>,
				 <&cmu_top DOUT_CLKCMU_FSYS1_USBDRD>;
			clock-names = "oscclk",
				      "dout_clkcmu_fsys1_bus",
				      "gout_clkcmu_fsys1_mmc_card",
				      "dout_clkcmu_fsys1_usbdrd";
		};

		cmu_fsys0: clock-controller@17700000 {
			compatible = "samsung,exynosautov9-cmu-fsys0";
			reg = <0x17700000 0x8000>;
			#clock-cells = <1>;

			clocks = <&xtcxo>,
				 <&cmu_top DOUT_CLKCMU_FSYS0_BUS>,
				 <&cmu_top DOUT_CLKCMU_FSYS0_PCIE>;
			clock-names = "oscclk",
				      "dout_clkcmu_fsys0_bus",
				      "dout_clkcmu_fsys0_pcie";
		};

		cmu_fsys2: clock-controller@17c00000 {
			compatible = "samsung,exynosautov9-cmu-fsys2";
			reg = <0x17c00000 0x8000>;
			#clock-cells = <1>;

			clocks = <&xtcxo>,
				 <&cmu_top DOUT_CLKCMU_FSYS2_BUS>,
				 <&cmu_top DOUT_CLKCMU_FSYS2_UFS_EMBD>,
				 <&cmu_top DOUT_CLKCMU_FSYS2_ETHERNET>;
			clock-names = "oscclk",
				      "dout_clkcmu_fsys2_bus",
				      "dout_fsys2_clkcmu_ufs_embd",
				      "dout_fsys2_clkcmu_ethernet";
		};

		cmu_core: clock-controller@1b030000 {
			compatible = "samsung,exynosautov9-cmu-core";
			reg = <0x1b030000 0x8000>;
			#clock-cells = <1>;

			clocks = <&xtcxo>,
				 <&cmu_top DOUT_CLKCMU_CORE_BUS>;
			clock-names = "oscclk",
				      "dout_clkcmu_core_bus";
		};

		cmu_busmc: clock-controller@1b200000 {
			compatible = "samsung,exynosautov9-cmu-busmc";
			reg = <0x1b200000 0x8000>;
			#clock-cells = <1>;

			clocks = <&xtcxo>,
				 <&cmu_top DOUT_CLKCMU_BUSMC_BUS>;
			clock-names = "oscclk",
				      "dout_clkcmu_busmc_bus";
		};

		cmu_top: clock-controller@1b240000 {
			compatible = "samsung,exynosautov9-cmu-top";
			reg = <0x1b240000 0x8000>;
			#clock-cells = <1>;

			clocks = <&xtcxo>;
			clock-names = "oscclk";
		};

		gic: interrupt-controller@10101000 {
			compatible = "arm,gic-400";
			#interrupt-cells = <3>;
			#address-cells = <0>;
			interrupt-controller;
			reg = <0x10101000 0x1000>,
			      <0x10102000 0x2000>,
			      <0x10104000 0x2000>,
			      <0x10106000 0x2000>;
			interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(8) |
						 IRQ_TYPE_LEVEL_HIGH)>;
		};

		pdma0: dma-controller@1b2e0000 {
			compatible = "arm,pl330", "arm,primecell";
			reg = <0x1b2e0000 0x1000>;
			interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&cmu_busmc CLK_GOUT_BUSMC_PDMA0_PCLK>;
			clock-names = "apb_pclk";
			arm,pl330-broken-no-flushp;
			#dma-cells = <1>;
		};

		pinctrl_alive: pinctrl@10450000 {
			compatible = "samsung,exynosautov9-pinctrl";
			reg = <0x10450000 0x1000>;

			wakeup-interrupt-controller {
				compatible = "samsung,exynosautov9-wakeup-eint",
					     "samsung,exynos850-wakeup-eint",
					     "samsung,exynos7-wakeup-eint";
			};
		};

		pinctrl_aud: pinctrl@19c60000 {
			compatible = "samsung,exynosautov9-pinctrl";
			reg = <0x19c60000 0x1000>;
		};

		pinctrl_fsys0: pinctrl@17740000 {
			compatible = "samsung,exynosautov9-pinctrl";
			reg = <0x17740000 0x1000>;
			interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>;
		};

		pinctrl_fsys1: pinctrl@17060000 {
			compatible = "samsung,exynosautov9-pinctrl";
			reg = <0x17060000 0x1000>;
			interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>;
		};

		pinctrl_fsys2: pinctrl@17c30000 {
			compatible = "samsung,exynosautov9-pinctrl";
			reg = <0x17c30000 0x1000>;
			interrupts = <GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH>;
		};

		pinctrl_peric0: pinctrl@10230000 {
			compatible = "samsung,exynosautov9-pinctrl";
			reg = <0x10230000 0x1000>;
			interrupts = <GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH>;
		};

		pinctrl_peric1: pinctrl@10830000 {
			compatible = "samsung,exynosautov9-pinctrl";
			reg = <0x10830000 0x1000>;
			interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>;
		};

		pmu_system_controller: system-controller@10460000 {
			compatible = "samsung,exynosautov9-pmu",
				     "samsung,exynos7-pmu", "syscon";
			reg = <0x10460000 0x10000>;

			reboot: syscon-reboot {
				compatible = "syscon-reboot";
				regmap = <&pmu_system_controller>;
				offset = <0x3a00>; /* SYSTEM_CONFIGURATION */
				value = <0x2>;
				mask = <0x2>;
			};

			reboot-mode {
				compatible = "syscon-reboot-mode";
				offset = <0x810>; /* SYSIP_DAT0 */
				mode-bootloader = <EXYNOSAUTOV9_BOOT_BOOTLOADER>;
				mode-fastboot = <EXYNOSAUTOV9_BOOT_FASTBOOT>;
				mode-recovery = <EXYNOSAUTOV9_BOOT_RECOVERY>;
			};
		};

		syscon_fsys2: syscon@17c20000 {
			compatible = "samsung,exynosautov9-fsys2-sysreg",
				     "samsung,exynosautov9-sysreg", "syscon";
			reg = <0x17c20000 0x1000>;
		};

		syscon_peric0: syscon@10220000 {
			compatible = "samsung,exynosautov9-peric0-sysreg",
				     "samsung,exynosautov9-sysreg", "syscon";
			reg = <0x10220000 0x2000>;
		};

		syscon_peric1: syscon@10820000 {
			compatible = "samsung,exynosautov9-peric1-sysreg",
				     "samsung,exynosautov9-sysreg", "syscon";
			reg = <0x10820000 0x2000>;
		};

		usi_0: usi@103000c0 {
			compatible = "samsung,exynosautov9-usi",
				     "samsung,exynos850-usi";
			reg = <0x103000c0 0x20>;
			samsung,sysreg = <&syscon_peric0 0x1000>;
			samsung,mode = <USI_V2_UART>;
			#address-cells = <1>;
			#size-cells = <1>;
			ranges;
			clocks = <&cmu_peric0 CLK_GOUT_PERIC0_PCLK_0>,
				 <&cmu_peric0 CLK_GOUT_PERIC0_IPCLK_0>;
			clock-names = "pclk", "ipclk";
			status = "disabled";

			serial_0: serial@10300000 {
				compatible = "samsung,exynosautov9-uart",
					     "samsung,exynos850-uart";
				reg = <0x10300000 0xc0>;
				interrupts = <GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>;
				pinctrl-names = "default";
				pinctrl-0 = <&uart0_bus>;
				clocks = <&cmu_peric0 CLK_GOUT_PERIC0_PCLK_0>,
					 <&cmu_peric0 CLK_GOUT_PERIC0_IPCLK_0>;
				clock-names = "uart", "clk_uart_baud0";
				samsung,uart-fifosize = <256>;
				status = "disabled";
			};

			spi_0: spi@10300000 {
				compatible = "samsung,exynosautov9-spi";
				reg = <0x10300000 0x30>;
				interrupts = <GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>;
				pinctrl-names = "default";
				pinctrl-0 = <&spi0_bus &spi0_cs_func>;
				clocks = <&cmu_peric0 CLK_GOUT_PERIC0_IPCLK_0>,
					 <&cmu_peric0 CLK_DOUT_PERIC0_USI00_USI>,
					 <&cmu_peric0 CLK_GOUT_PERIC0_PCLK_0>;
				clock-names = "spi", "spi_busclk0", "spi_ioclk";
				samsung,spi-src-clk = <0>;
				dmas = <&pdma0 1>, <&pdma0 0>;
				dma-names = "tx", "rx";
				num-cs = <1>;
				#address-cells = <1>;
				#size-cells = <0>;
				status = "disabled";
			};

			hsi2c_0: i2c@10300000 {
				compatible = "samsung,exynosautov9-hsi2c";
				reg = <0x10300000 0xc0>;
				interrupts = <GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>;
				pinctrl-names = "default";
				pinctrl-0 = <&hsi2c0_bus>;
				clocks = <&cmu_peric0 CLK_GOUT_PERIC0_IPCLK_0>,
					 <&cmu_peric0 CLK_GOUT_PERIC0_PCLK_0>;
				clock-names = "hsi2c", "hsi2c_pclk";
				#address-cells = <1>;
				#size-cells = <0>;
				status = "disabled";
			};
		};

		usi_i2c_0: usi@103100c0 {
			compatible = "samsung,exynosautov9-usi",
				     "samsung,exynos850-usi";
			reg = <0x103100c0 0x20>;
			samsung,sysreg = <&syscon_peric0 0x1004>;
			samsung,mode = <USI_V2_I2C>;
			#address-cells = <1>;
			#size-cells = <1>;
			ranges;
			clocks = <&cmu_peric0 CLK_GOUT_PERIC0_PCLK_1>,
				 <&cmu_peric0 CLK_GOUT_PERIC0_IPCLK_1>;
			clock-names = "pclk", "ipclk";
			status = "disabled";

			hsi2c_1: i2c@10310000 {
				compatible = "samsung,exynosautov9-hsi2c";
				reg = <0x10310000 0xc0>;
				interrupts = <GIC_SPI 344 IRQ_TYPE_LEVEL_HIGH>;
				pinctrl-names = "default";
				pinctrl-0 = <&hsi2c1_bus>;
				clocks = <&cmu_peric0 CLK_GOUT_PERIC0_IPCLK_1>,
					 <&cmu_peric0 CLK_GOUT_PERIC0_PCLK_1>;
				clock-names = "hsi2c", "hsi2c_pclk";
				#address-cells = <1>;
				#size-cells = <0>;
				status = "disabled";
			};
		};

		usi_1: usi@103200c0 {
			compatible = "samsung,exynosautov9-usi",
				     "samsung,exynos850-usi";
			reg = <0x103200c0 0x20>;
			samsung,sysreg = <&syscon_peric0 0x1008>;
			samsung,mode = <USI_V2_UART>;
			#address-cells = <1>;
			#size-cells = <1>;
			ranges;
			clocks = <&cmu_peric0 CLK_GOUT_PERIC0_PCLK_2>,
				 <&cmu_peric0 CLK_GOUT_PERIC0_IPCLK_2>;
			clock-names = "pclk", "ipclk";
			status = "disabled";

			serial_1: serial@10320000 {
				compatible = "samsung,exynosautov9-uart",
					     "samsung,exynos850-uart";
				reg = <0x10320000 0xc0>;
				interrupts = <GIC_SPI 347 IRQ_TYPE_LEVEL_HIGH>;
				pinctrl-names = "default";
				pinctrl-0 = <&uart1_bus>;
				clocks = <&cmu_peric0 CLK_GOUT_PERIC0_PCLK_2>,
					 <&cmu_peric0 CLK_GOUT_PERIC0_IPCLK_2>;
				clock-names = "uart", "clk_uart_baud0";
				samsung,uart-fifosize = <256>;
				status = "disabled";
			};

			spi_1: spi@10320000 {
				compatible = "samsung,exynosautov9-spi";
				reg = <0x10320000 0x30>;
				interrupts = <GIC_SPI 347 IRQ_TYPE_LEVEL_HIGH>;
				pinctrl-names = "default";
				pinctrl-0 = <&spi1_bus &spi1_cs_func>;
				clocks = <&cmu_peric0 CLK_GOUT_PERIC0_IPCLK_2>,
					 <&cmu_peric0 CLK_DOUT_PERIC0_USI01_USI>,
					 <&cmu_peric0 CLK_GOUT_PERIC0_PCLK_2>;
				clock-names = "spi", "spi_busclk0", "spi_ioclk";
				samsung,spi-src-clk = <0>;
				dmas = <&pdma0 3>, <&pdma0 2>;
				dma-names = "tx", "rx";
				num-cs = <1>;
				#address-cells = <1>;
				#size-cells = <0>;
				status = "disabled";
			};

			hsi2c_2: i2c@10320000 {
				compatible = "samsung,exynosautov9-hsi2c";
				reg = <0x10320000 0xc0>;
				interrupts = <GIC_SPI 347 IRQ_TYPE_LEVEL_HIGH>;
				pinctrl-names = "default";
				pinctrl-0 = <&hsi2c2_bus>;
				clocks = <&cmu_peric0 CLK_GOUT_PERIC0_IPCLK_2>,
					 <&cmu_peric0 CLK_GOUT_PERIC0_PCLK_2>;
				clock-names = "hsi2c", "hsi2c_pclk";
				#address-cells = <1>;
				#size-cells = <0>;
				status = "disabled";
			};
		};

		usi_i2c_1: usi@103300c0 {
			compatible = "samsung,exynosautov9-usi",
				     "samsung,exynos850-usi";
			reg = <0x103300c0 0x20>;
			samsung,sysreg = <&syscon_peric0 0x100c>;
			samsung,mode = <USI_V2_I2C>;
			#address-cells = <1>;
			#size-cells = <1>;
			ranges;
			clocks = <&cmu_peric0 CLK_GOUT_PERIC0_PCLK_3>,
				 <&cmu_peric0 CLK_GOUT_PERIC0_IPCLK_3>;
			clock-names = "pclk", "ipclk";
			status = "disabled";

			hsi2c_3: i2c@10330000 {
				compatible = "samsung,exynosautov9-hsi2c";
				reg = <0x10330000 0xc0>;
				interrupts = <GIC_SPI 346 IRQ_TYPE_LEVEL_HIGH>;
				pinctrl-names = "default";
				pinctrl-0 = <&hsi2c3_bus>;
				clocks = <&cmu_peric0 CLK_GOUT_PERIC0_IPCLK_3>,
					 <&cmu_peric0 CLK_GOUT_PERIC0_PCLK_3>;
				clock-names = "hsi2c", "hsi2c_pclk";
				#address-cells = <1>;
				#size-cells = <0>;
				status = "disabled";
			};
		};

		usi_2: usi@103400c0 {
			compatible = "samsung,exynosautov9-usi",
				     "samsung,exynos850-usi";
			reg = <0x103400c0 0x20>;
			samsung,sysreg = <&syscon_peric0 0x1010>;
			samsung,mode = <USI_V2_UART>;
			#address-cells = <1>;
			#size-cells = <1>;
			ranges;
			clocks = <&cmu_peric0 CLK_GOUT_PERIC0_PCLK_4>,
				 <&cmu_peric0 CLK_GOUT_PERIC0_IPCLK_4>;
			clock-names = "pclk", "ipclk";
			status = "disabled";

			serial_2: serial@10340000 {
				compatible = "samsung,exynosautov9-uart",
					     "samsung,exynos850-uart";
				reg = <0x10340000 0xc0>;
				interrupts = <GIC_SPI 349 IRQ_TYPE_LEVEL_HIGH>;
				pinctrl-names = "default";
				pinctrl-0 = <&uart2_bus>;
				clocks = <&cmu_peric0 CLK_GOUT_PERIC0_PCLK_4>,
					 <&cmu_peric0 CLK_GOUT_PERIC0_IPCLK_4>;
				clock-names = "uart", "clk_uart_baud0";
				samsung,uart-fifosize = <64>;
				status = "disabled";
			};

			spi_2: spi@10340000 {
				compatible = "samsung,exynosautov9-spi";
				reg = <0x10340000 0x30>;
				interrupts = <GIC_SPI 349 IRQ_TYPE_LEVEL_HIGH>;
				pinctrl-names = "default";
				pinctrl-0 = <&spi2_bus &spi2_cs_func>;
				clocks = <&cmu_peric0 CLK_GOUT_PERIC0_IPCLK_4>,
					 <&cmu_peric0 CLK_DOUT_PERIC0_USI02_USI>,
					 <&cmu_peric0 CLK_GOUT_PERIC0_PCLK_4>;
				clock-names = "spi", "spi_busclk0", "spi_ioclk";
				samsung,spi-src-clk = <0>;
				dmas = <&pdma0 5>, <&pdma0 4>;
				dma-names = "tx", "rx";
				num-cs = <1>;
				#address-cells = <1>;
				#size-cells = <0>;
				status = "disabled";
			};

			hsi2c_4: i2c@10340000 {
				compatible = "samsung,exynosautov9-hsi2c";
				reg = <0x10340000 0xc0>;
				interrupts = <GIC_SPI 349 IRQ_TYPE_LEVEL_HIGH>;
				pinctrl-names = "default";
				pinctrl-0 = <&hsi2c4_bus>;
				clocks = <&cmu_peric0 CLK_GOUT_PERIC0_IPCLK_4>,
					 <&cmu_peric0 CLK_GOUT_PERIC0_PCLK_4>;
				clock-names = "hsi2c", "hsi2c_pclk";
				#address-cells = <1>;
				#size-cells = <0>;
				status = "disabled";
			};
		};

		usi_i2c_2: usi@103500c0 {
			compatible = "samsung,exynosautov9-usi",
				     "samsung,exynos850-usi";
			reg = <0x103500c0 0x20>;
			samsung,sysreg = <&syscon_peric0 0x1014>;
			samsung,mode = <USI_V2_I2C>;
			#address-cells = <1>;
			#size-cells = <1>;
			ranges;
			clocks = <&cmu_peric0 CLK_GOUT_PERIC0_PCLK_5>,
				 <&cmu_peric0 CLK_GOUT_PERIC0_IPCLK_5>;
			clock-names = "pclk", "ipclk";
			status = "disabled";

			hsi2c_5: i2c@10350000 {
				compatible = "samsung,exynosautov9-hsi2c";
				reg = <0x10350000 0xc0>;
				interrupts = <GIC_SPI 348 IRQ_TYPE_LEVEL_HIGH>;
				pinctrl-names = "default";
				pinctrl-0 = <&hsi2c5_bus>;
				clocks = <&cmu_peric0 CLK_GOUT_PERIC0_IPCLK_5>,
					 <&cmu_peric0 CLK_GOUT_PERIC0_PCLK_5>;
				clock-names = "hsi2c", "hsi2c_pclk";
				#address-cells = <1>;
				#size-cells = <0>;
				status = "disabled";
			};
		};

		usi_3: usi@103600c0 {
			compatible = "samsung,exynosautov9-usi",
				     "samsung,exynos850-usi";
			reg = <0x103600c0 0x20>;
			samsung,sysreg = <&syscon_peric0 0x1018>;
			samsung,mode = <USI_V2_UART>;
			#address-cells = <1>;
			#size-cells = <1>;
			ranges;
			clocks = <&cmu_peric0 CLK_GOUT_PERIC0_PCLK_6>,
				 <&cmu_peric0 CLK_GOUT_PERIC0_IPCLK_6>;
			clock-names = "pclk", "ipclk";
			status = "disabled";

			serial_3: serial@10360000 {
				compatible = "samsung,exynosautov9-uart",
					     "samsung,exynos850-uart";
				reg = <0x10360000 0xc0>;
				interrupts = <GIC_SPI 351 IRQ_TYPE_LEVEL_HIGH>;
				pinctrl-names = "default";
				pinctrl-0 = <&uart3_bus>;
				clocks = <&cmu_peric0 CLK_GOUT_PERIC0_PCLK_6>,
					 <&cmu_peric0 CLK_GOUT_PERIC0_IPCLK_6>;
				clock-names = "uart", "clk_uart_baud0";
				samsung,uart-fifosize = <64>;
				status = "disabled";
			};

			spi_3: spi@10360000 {
				compatible = "samsung,exynosautov9-spi";
				reg = <0x10360000 0x30>;
				interrupts = <GIC_SPI 351 IRQ_TYPE_LEVEL_HIGH>;
				pinctrl-names = "default";
				pinctrl-0 = <&spi3_bus &spi3_cs_func>;
				clocks = <&cmu_peric0 CLK_GOUT_PERIC0_IPCLK_6>,
					 <&cmu_peric0 CLK_DOUT_PERIC0_USI03_USI>,
					 <&cmu_peric0 CLK_GOUT_PERIC0_PCLK_6>;
				clock-names = "spi", "spi_busclk0", "spi_ioclk";
				samsung,spi-src-clk = <0>;
				dmas = <&pdma0 7>, <&pdma0 6>;
				dma-names = "tx", "rx";
				num-cs = <1>;
				#address-cells = <1>;
				#size-cells = <0>;
				status = "disabled";
			};

			hsi2c_6: i2c@10360000 {
				compatible = "samsung,exynosautov9-hsi2c";
				reg = <0x10360000 0xc0>;
				interrupts = <GIC_SPI 351 IRQ_TYPE_LEVEL_HIGH>;
				pinctrl-names = "default";
				pinctrl-0 = <&hsi2c6_bus>;
				clocks = <&cmu_peric0 CLK_GOUT_PERIC0_IPCLK_6>,
					 <&cmu_peric0 CLK_GOUT_PERIC0_PCLK_6>;
				clock-names = "hsi2c", "hsi2c_pclk";
				#address-cells = <1>;
				#size-cells = <0>;
				status = "disabled";
			};
		};

		usi_i2c_3: usi@103700c0 {
			compatible = "samsung,exynosautov9-usi",
				     "samsung,exynos850-usi";
			reg = <0x103700c0 0x20>;
			samsung,sysreg = <&syscon_peric0 0x101c>;
			samsung,mode = <USI_V2_I2C>;
			#address-cells = <1>;
			#size-cells = <1>;
			ranges;
			clocks = <&cmu_peric0 CLK_GOUT_PERIC0_PCLK_7>,
				 <&cmu_peric0 CLK_GOUT_PERIC0_IPCLK_7>;
			clock-names = "pclk", "ipclk";
			status = "disabled";

			hsi2c_7: i2c@10370000 {
				compatible = "samsung,exynosautov9-hsi2c";
				reg = <0x10370000 0xc0>;
				interrupts = <GIC_SPI 350 IRQ_TYPE_LEVEL_HIGH>;
				pinctrl-names = "default";
				pinctrl-0 = <&hsi2c7_bus>;
				clocks = <&cmu_peric0 CLK_GOUT_PERIC0_IPCLK_7>,
					 <&cmu_peric0 CLK_GOUT_PERIC0_PCLK_7>;
				clock-names = "hsi2c", "hsi2c_pclk";
				#address-cells = <1>;
				#size-cells = <0>;
				status = "disabled";
			};
		};

		usi_4: usi@103800c0 {
			compatible = "samsung,exynosautov9-usi",
				     "samsung,exynos850-usi";
			reg = <0x103800c0 0x20>;
			samsung,sysreg = <&syscon_peric0 0x1020>;
			samsung,mode = <USI_V2_UART>;
			#address-cells = <1>;
			#size-cells = <1>;
			ranges;
			clocks = <&cmu_peric0 CLK_GOUT_PERIC0_PCLK_8>,
				 <&cmu_peric0 CLK_GOUT_PERIC0_IPCLK_8>;
			clock-names = "pclk", "ipclk";
			status = "disabled";

			serial_4: serial@10380000 {
				compatible = "samsung,exynosautov9-uart",
					     "samsung,exynos850-uart";
				reg = <0x10380000 0xc0>;
				interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>;
				pinctrl-names = "default";
				pinctrl-0 = <&uart4_bus>;
				clocks = <&cmu_peric0 CLK_GOUT_PERIC0_PCLK_8>,
					 <&cmu_peric0 CLK_GOUT_PERIC0_IPCLK_8>;
				clock-names = "uart", "clk_uart_baud0";
				samsung,uart-fifosize = <64>;
				status = "disabled";
			};

			spi_4: spi@10380000 {
				compatible = "samsung,exynosautov9-spi";
				reg = <0x10380000 0x30>;
				interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>;
				pinctrl-names = "default";
				pinctrl-0 = <&spi4_bus &spi4_cs_func>;
				clocks = <&cmu_peric0 CLK_GOUT_PERIC0_IPCLK_8>,
					 <&cmu_peric0 CLK_DOUT_PERIC0_USI04_USI>,
					 <&cmu_peric0 CLK_GOUT_PERIC0_PCLK_8>;
				clock-names = "spi", "spi_busclk0", "spi_ioclk";
				samsung,spi-src-clk = <0>;
				dmas = <&pdma0 9>, <&pdma0 8>;
				dma-names = "tx", "rx";
				num-cs = <1>;
				#address-cells = <1>;
				#size-cells = <0>;
				status = "disabled";
			};

			hsi2c_8: i2c@10380000 {
				compatible = "samsung,exynosautov9-hsi2c";
				reg = <0x10380000 0xc0>;
				interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>;
				pinctrl-names = "default";
				pinctrl-0 = <&hsi2c8_bus>;
				clocks = <&cmu_peric0 CLK_GOUT_PERIC0_IPCLK_8>,
					 <&cmu_peric0 CLK_GOUT_PERIC0_PCLK_8>;
				clock-names = "hsi2c", "hsi2c_pclk";
				#address-cells = <1>;
				#size-cells = <0>;
				status = "disabled";
			};
		};

		usi_i2c_4: usi@103900c0 {
			compatible = "samsung,exynosautov9-usi",
				     "samsung,exynos850-usi";
			reg = <0x103900c0 0x20>;
			samsung,sysreg = <&syscon_peric0 0x1024>;
			samsung,mode = <USI_V2_I2C>;
			#address-cells = <1>;
			#size-cells = <1>;
			ranges;
			clocks = <&cmu_peric0 CLK_GOUT_PERIC0_PCLK_9>,
				 <&cmu_peric0 CLK_GOUT_PERIC0_IPCLK_9>;
			clock-names = "pclk", "ipclk";
			status = "disabled";

			hsi2c_9: i2c@10390000 {
				compatible = "samsung,exynosautov9-hsi2c";
				reg = <0x10390000 0xc0>;
				interrupts = <GIC_SPI 352 IRQ_TYPE_LEVEL_HIGH>;
				pinctrl-names = "default";
				pinctrl-0 = <&hsi2c9_bus>;
				clocks = <&cmu_peric0 CLK_GOUT_PERIC0_IPCLK_9>,
					 <&cmu_peric0 CLK_GOUT_PERIC0_PCLK_9>;
				clock-names = "hsi2c", "hsi2c_pclk";
				#address-cells = <1>;
				#size-cells = <0>;
				status = "disabled";
			};
		};

		usi_5: usi@103a00c0 {
			compatible = "samsung,exynosautov9-usi",
				     "samsung,exynos850-usi";
			reg = <0x103a00c0 0x20>;
			samsung,sysreg = <&syscon_peric0 0x1028>;
			samsung,mode = <USI_V2_UART>;
			#address-cells = <1>;
			#size-cells = <1>;
			ranges;
			clocks = <&cmu_peric0 CLK_GOUT_PERIC0_PCLK_10>,
				 <&cmu_peric0 CLK_GOUT_PERIC0_IPCLK_10>;
			clock-names = "pclk", "ipclk";
			status = "disabled";

			serial_5: serial@103a0000 {
				compatible = "samsung,exynosautov9-uart",
					     "samsung,exynos850-uart";
				reg = <0x103a0000 0xc0>;
				interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>;
				pinctrl-names = "default";
				pinctrl-0 = <&uart5_bus>;
				clocks = <&cmu_peric0 CLK_GOUT_PERIC0_PCLK_10>,
					 <&cmu_peric0 CLK_GOUT_PERIC0_IPCLK_10>;
				clock-names = "uart", "clk_uart_baud0";
				samsung,uart-fifosize = <64>;
				status = "disabled";
			};

			spi_5: spi@103a0000 {
				compatible = "samsung,exynosautov9-spi";
				reg = <0x103a0000 0x30>;
				interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>;
				pinctrl-names = "default";
				pinctrl-0 = <&spi5_bus &spi5_cs_func>;
				clocks = <&cmu_peric0 CLK_GOUT_PERIC0_IPCLK_10>,
					 <&cmu_peric0 CLK_DOUT_PERIC0_USI05_USI>,
					 <&cmu_peric0 CLK_GOUT_PERIC0_PCLK_10>;
				clock-names = "spi", "spi_busclk0", "spi_ioclk";
				samsung,spi-src-clk = <0>;
				dmas = <&pdma0 11>, <&pdma0 10>;
				dma-names = "tx", "rx";
				num-cs = <1>;
				#address-cells = <1>;
				#size-cells = <0>;
				status = "disabled";
			};

			hsi2c_10: i2c@103a0000 {
				compatible = "samsung,exynosautov9-hsi2c";
				reg = <0x103a0000 0xc0>;
				interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>;
				pinctrl-names = "default";
				pinctrl-0 = <&hsi2c10_bus>;
				clocks = <&cmu_peric0 CLK_GOUT_PERIC0_IPCLK_10>,
					 <&cmu_peric0 CLK_GOUT_PERIC0_PCLK_10>;
				clock-names = "hsi2c", "hsi2c_pclk";
				#address-cells = <1>;
				#size-cells = <0>;
				status = "disabled";
			};
		};

		usi_i2c_5: usi@103b00c0 {
			compatible = "samsung,exynosautov9-usi",
				     "samsung,exynos850-usi";
			reg = <0x103b00c0 0x20>;
			samsung,sysreg = <&syscon_peric0 0x102c>;
			samsung,mode = <USI_V2_I2C>;
			#address-cells = <1>;
			#size-cells = <1>;
			ranges;
			clocks = <&cmu_peric0 CLK_GOUT_PERIC0_PCLK_11>,
				 <&cmu_peric0 CLK_GOUT_PERIC0_IPCLK_11>;
			clock-names = "pclk", "ipclk";
			status = "disabled";

			hsi2c_11: i2c@103b0000 {
				compatible = "samsung,exynosautov9-hsi2c";
				reg = <0x103b0000 0xc0>;
				interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>;
				pinctrl-names = "default";
				pinctrl-0 = <&hsi2c11_bus>;
				clocks = <&cmu_peric0 CLK_GOUT_PERIC0_IPCLK_11>,
					 <&cmu_peric0 CLK_GOUT_PERIC0_PCLK_11>;
				clock-names = "hsi2c", "hsi2c_pclk";
				#address-cells = <1>;
				#size-cells = <0>;
				status = "disabled";
			};
		};

		usi_6: usi@109000c0 {
			compatible = "samsung,exynosautov9-usi",
				     "samsung,exynos850-usi";
			reg = <0x109000c0 0x20>;
			samsung,sysreg = <&syscon_peric1 0x1000>;
			samsung,mode = <USI_V2_UART>;
			#address-cells = <1>;
			#size-cells = <1>;
			ranges;
			clocks = <&cmu_peric1 CLK_GOUT_PERIC1_PCLK_0>,
				 <&cmu_peric1 CLK_GOUT_PERIC1_IPCLK_0>;
			clock-names = "pclk", "ipclk";
			status = "disabled";

			serial_6: serial@10900000 {
				compatible = "samsung,exynosautov9-uart",
					     "samsung,exynos850-uart";
				reg = <0x10900000 0xc0>;
				interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>;
				pinctrl-names = "default";
				pinctrl-0 = <&uart6_bus>;
				clocks = <&cmu_peric1 CLK_GOUT_PERIC1_PCLK_0>,
					 <&cmu_peric1 CLK_GOUT_PERIC1_IPCLK_0>;
				clock-names = "uart", "clk_uart_baud0";
				samsung,uart-fifosize = <256>;
				status = "disabled";
			};

			spi_6: spi@10900000 {
				compatible = "samsung,exynosautov9-spi";
				reg = <0x10900000 0x30>;
				interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>;
				pinctrl-names = "default";
				pinctrl-0 = <&spi6_bus &spi6_cs_func>;
				clocks = <&cmu_peric1 CLK_GOUT_PERIC1_IPCLK_0>,
					 <&cmu_peric1 CLK_DOUT_PERIC1_USI06_USI>,
					 <&cmu_peric1 CLK_GOUT_PERIC1_PCLK_0>;
				clock-names = "spi", "spi_busclk0", "spi_ioclk";
				samsung,spi-src-clk = <0>;
				dmas = <&pdma0 13>, <&pdma0 12>;
				dma-names = "tx", "rx";
				num-cs = <1>;
				#address-cells = <1>;
				#size-cells = <0>;
				status = "disabled";
			};

			hsi2c_12: i2c@10900000 {
				compatible = "samsung,exynosautov9-hsi2c";
				reg = <0x10900000 0xc0>;
				interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>;
				pinctrl-names = "default";
				pinctrl-0 = <&hsi2c12_bus>;
				clocks = <&cmu_peric1 CLK_GOUT_PERIC1_IPCLK_0>,
					 <&cmu_peric1 CLK_GOUT_PERIC1_PCLK_0>;
				clock-names = "hsi2c", "hsi2c_pclk";
				#address-cells = <1>;
				#size-cells = <0>;
				status = "disabled";
			};
		};

		usi_i2c_6: usi@109100c0 {
			compatible = "samsung,exynosautov9-usi",
				     "samsung,exynos850-usi";
			reg = <0x109100c0 0x20>;
			samsung,sysreg = <&syscon_peric1 0x1004>;
			samsung,mode = <USI_V2_I2C>;
			#address-cells = <1>;
			#size-cells = <1>;
			ranges;
			clocks = <&cmu_peric1 CLK_GOUT_PERIC1_PCLK_1>,
				 <&cmu_peric1 CLK_GOUT_PERIC1_IPCLK_1>;
			clock-names = "pclk", "ipclk";
			status = "disabled";

			hsi2c_13: i2c@10910000 {
				compatible = "samsung,exynosautov9-hsi2c";
				reg = <0x10910000 0xc0>;
				interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>;
				pinctrl-names = "default";
				pinctrl-0 = <&hsi2c13_bus>;
				clocks = <&cmu_peric1 CLK_GOUT_PERIC1_IPCLK_1>,
					 <&cmu_peric1 CLK_GOUT_PERIC1_PCLK_1>;
				clock-names = "hsi2c", "hsi2c_pclk";
				#address-cells = <1>;
				#size-cells = <0>;
				status = "disabled";
			};
		};

		usi_7: usi@109200c0 {
			compatible = "samsung,exynosautov9-usi",
				     "samsung,exynos850-usi";
			reg = <0x109200c0 0x20>;
			samsung,sysreg = <&syscon_peric1 0x1008>;
			samsung,mode = <USI_V2_UART>;
			#address-cells = <1>;
			#size-cells = <1>;
			ranges;
			clocks = <&cmu_peric1 CLK_GOUT_PERIC1_PCLK_2>,
				 <&cmu_peric1 CLK_GOUT_PERIC1_IPCLK_2>;
			clock-names = "pclk", "ipclk";
			status = "disabled";

			serial_7: serial@10920000 {
				compatible = "samsung,exynosautov9-uart",
					     "samsung,exynos850-uart";
				reg = <0x10920000 0xc0>;
				interrupts = <GIC_SPI 360 IRQ_TYPE_LEVEL_HIGH>;
				pinctrl-names = "default";
				pinctrl-0 = <&uart7_bus>;
				clocks = <&cmu_peric1 CLK_GOUT_PERIC1_PCLK_2>,
					 <&cmu_peric1 CLK_GOUT_PERIC1_IPCLK_2>;
				clock-names = "uart", "clk_uart_baud0";
				samsung,uart-fifosize = <64>;
				status = "disabled";
			};

			spi_7: spi@10920000 {
				compatible = "samsung,exynosautov9-spi";
				reg = <0x10920000 0x30>;
				interrupts = <GIC_SPI 360 IRQ_TYPE_LEVEL_HIGH>;
				pinctrl-names = "default";
				pinctrl-0 = <&spi7_bus &spi7_cs_func>;
				clocks = <&cmu_peric1 CLK_GOUT_PERIC1_IPCLK_2>,
					 <&cmu_peric1 CLK_DOUT_PERIC1_USI07_USI>,
					 <&cmu_peric1 CLK_GOUT_PERIC1_PCLK_2>;
				clock-names = "spi", "spi_busclk0", "spi_ioclk";
				samsung,spi-src-clk = <0>;
				dmas = <&pdma0 15>, <&pdma0 14>;
				dma-names = "tx", "rx";
				num-cs = <1>;
				#address-cells = <1>;
				#size-cells = <0>;
				status = "disabled";
			};

			hsi2c_14: i2c@10920000 {
				compatible = "samsung,exynosautov9-hsi2c";
				reg = <0x10920000 0xc0>;
				interrupts = <GIC_SPI 360 IRQ_TYPE_LEVEL_HIGH>;
				pinctrl-names = "default";
				pinctrl-0 = <&hsi2c14_bus>;
				clocks = <&cmu_peric1 CLK_GOUT_PERIC1_IPCLK_2>,
					 <&cmu_peric1 CLK_GOUT_PERIC1_PCLK_2>;
				clock-names = "hsi2c", "hsi2c_pclk";
				#address-cells = <1>;
				#size-cells = <0>;
				status = "disabled";
			};
		};

		usi_i2c_7: usi@109300c0 {
			compatible = "samsung,exynosautov9-usi",
				     "samsung,exynos850-usi";
			reg = <0x109300c0 0x20>;
			samsung,sysreg = <&syscon_peric1 0x100c>;
			samsung,mode = <USI_V2_I2C>;
			#address-cells = <1>;
			#size-cells = <1>;
			ranges;
			clocks = <&cmu_peric1 CLK_GOUT_PERIC1_PCLK_3>,
				 <&cmu_peric1 CLK_GOUT_PERIC1_IPCLK_3>;
			clock-names = "pclk", "ipclk";
			status = "disabled";

			hsi2c_15: i2c@10930000 {
				compatible = "samsung,exynosautov9-hsi2c";
				reg = <0x10930000 0xc0>;
				interrupts = <GIC_SPI 359 IRQ_TYPE_LEVEL_HIGH>;
				pinctrl-names = "default";
				pinctrl-0 = <&hsi2c15_bus>;
				clocks = <&cmu_peric1 CLK_GOUT_PERIC1_IPCLK_3>,
					 <&cmu_peric1 CLK_GOUT_PERIC1_PCLK_3>;
				clock-names = "hsi2c", "hsi2c_pclk";
				#address-cells = <1>;
				#size-cells = <0>;
				status = "disabled";
			};
		};

		usi_8: usi@109400c0 {
			compatible = "samsung,exynosautov9-usi",
				     "samsung,exynos850-usi";
			reg = <0x109400c0 0x20>;
			samsung,sysreg = <&syscon_peric1 0x1010>;
			samsung,mode = <USI_V2_UART>;
			#address-cells = <1>;
			#size-cells = <1>;
			ranges;
			clocks = <&cmu_peric1 CLK_GOUT_PERIC1_PCLK_4>,
				 <&cmu_peric1 CLK_GOUT_PERIC1_IPCLK_4>;
			clock-names = "pclk", "ipclk";
			status = "disabled";

			serial_8: serial@10940000 {
				compatible = "samsung,exynosautov9-uart",
					     "samsung,exynos850-uart";
				reg = <0x10940000 0xc0>;
				interrupts = <GIC_SPI 362 IRQ_TYPE_LEVEL_HIGH>;
				pinctrl-names = "default";
				pinctrl-0 = <&uart8_bus>;
				clocks = <&cmu_peric1 CLK_GOUT_PERIC1_PCLK_4>,
					 <&cmu_peric1 CLK_GOUT_PERIC1_IPCLK_4>;
				clock-names = "uart", "clk_uart_baud0";
				samsung,uart-fifosize = <64>;
				status = "disabled";
			};

			spi_8: spi@10940000 {
				compatible = "samsung,exynosautov9-spi";
				reg = <0x10940000 0x30>;
				interrupts = <GIC_SPI 362 IRQ_TYPE_LEVEL_HIGH>;
				pinctrl-names = "default";
				pinctrl-0 = <&spi8_bus &spi8_cs_func>;
				clocks = <&cmu_peric1 CLK_GOUT_PERIC1_IPCLK_4>,
					 <&cmu_peric1 CLK_DOUT_PERIC1_USI08_USI>,
					 <&cmu_peric1 CLK_GOUT_PERIC1_PCLK_4>;
				clock-names = "spi", "spi_busclk0", "spi_ioclk";
				samsung,spi-src-clk = <0>;
				dmas = <&pdma0 17>, <&pdma0 16>;
				dma-names = "tx", "rx";
				num-cs = <1>;
				#address-cells = <1>;
				#size-cells = <0>;
				status = "disabled";
			};

			hsi2c_16: i2c@10940000 {
				compatible = "samsung,exynosautov9-hsi2c";
				reg = <0x10940000 0xc0>;
				interrupts = <GIC_SPI 362 IRQ_TYPE_LEVEL_HIGH>;
				pinctrl-names = "default";
				pinctrl-0 = <&hsi2c16_bus>;
				clocks = <&cmu_peric1 CLK_GOUT_PERIC1_IPCLK_4>,
					 <&cmu_peric1 CLK_GOUT_PERIC1_PCLK_4>;
				clock-names = "hsi2c", "hsi2c_pclk";
				#address-cells = <1>;
				#size-cells = <0>;
				status = "disabled";
			};
		};

		usi_i2c_8: usi@109500c0 {
			compatible = "samsung,exynosautov9-usi",
				     "samsung,exynos850-usi";
			reg = <0x109500c0 0x20>;
			samsung,sysreg = <&syscon_peric1 0x1014>;
			samsung,mode = <USI_V2_I2C>;
			#address-cells = <1>;
			#size-cells = <1>;
			ranges;
			clocks = <&cmu_peric1 CLK_GOUT_PERIC1_PCLK_5>,
				 <&cmu_peric1 CLK_GOUT_PERIC1_IPCLK_5>;
			clock-names = "pclk", "ipclk";
			status = "disabled";

			hsi2c_17: i2c@10950000 {
				compatible = "samsung,exynosautov9-hsi2c";
				reg = <0x10950000 0xc0>;
				interrupts = <GIC_SPI 361 IRQ_TYPE_LEVEL_HIGH>;
				pinctrl-names = "default";
				pinctrl-0 = <&hsi2c17_bus>;
				clocks = <&cmu_peric1 CLK_GOUT_PERIC1_IPCLK_5>,
					 <&cmu_peric1 CLK_GOUT_PERIC1_PCLK_5>;
				clock-names = "hsi2c", "hsi2c_pclk";
				#address-cells = <1>;
				#size-cells = <0>;
				status = "disabled";
			};
		};

		usi_9: usi@109600c0 {
			compatible = "samsung,exynosautov9-usi",
				     "samsung,exynos850-usi";
			reg = <0x109600c0 0x20>;
			samsung,sysreg = <&syscon_peric1 0x1018>;
			samsung,mode = <USI_V2_UART>;
			#address-cells = <1>;
			#size-cells = <1>;
			ranges;
			clocks = <&cmu_peric1 CLK_GOUT_PERIC1_PCLK_6>,
				 <&cmu_peric1 CLK_GOUT_PERIC1_IPCLK_6>;
			clock-names = "pclk", "ipclk";
			status = "disabled";

			serial_9: serial@10960000 {
				compatible = "samsung,exynosautov9-uart",
					     "samsung,exynos850-uart";
				reg = <0x10960000 0xc0>;
				interrupts = <GIC_SPI 364 IRQ_TYPE_LEVEL_HIGH>;
				pinctrl-names = "default";
				pinctrl-0 = <&uart9_bus>;
				clocks = <&cmu_peric1 CLK_GOUT_PERIC1_PCLK_6>,
					 <&cmu_peric1 CLK_GOUT_PERIC1_IPCLK_6>;
				clock-names = "uart", "clk_uart_baud0";
				samsung,uart-fifosize = <64>;
				status = "disabled";
			};

			spi_9: spi@10960000 {
				compatible = "samsung,exynosautov9-spi";
				reg = <0x10960000 0x30>;
				interrupts = <GIC_SPI 364 IRQ_TYPE_LEVEL_HIGH>;
				pinctrl-names = "default";
				pinctrl-0 = <&spi9_bus &spi9_cs_func>;
				clocks = <&cmu_peric1 CLK_GOUT_PERIC1_IPCLK_6>,
					 <&cmu_peric1 CLK_DOUT_PERIC1_USI09_USI>,
					 <&cmu_peric1 CLK_GOUT_PERIC1_PCLK_6>;
				clock-names = "spi", "spi_busclk0", "spi_ioclk";
				samsung,spi-src-clk = <0>;
				dmas = <&pdma0 19>, <&pdma0 18>;
				dma-names = "tx", "rx";
				num-cs = <1>;
				#address-cells = <1>;
				#size-cells = <0>;
				status = "disabled";
			};

			hsi2c_18: i2c@10960000 {
				compatible = "samsung,exynosautov9-hsi2c";
				reg = <0x10960000 0xc0>;
				interrupts = <GIC_SPI 364 IRQ_TYPE_LEVEL_HIGH>;
				pinctrl-names = "default";
				pinctrl-0 = <&hsi2c18_bus>;
				clocks = <&cmu_peric1 CLK_GOUT_PERIC1_IPCLK_6>,
					 <&cmu_peric1 CLK_GOUT_PERIC1_PCLK_6>;
				clock-names = "hsi2c", "hsi2c_pclk";
				#address-cells = <1>;
				#size-cells = <0>;
				status = "disabled";
			};
		};

		usi_i2c_9: usi@109700c0 {
			compatible = "samsung,exynosautov9-usi",
				     "samsung,exynos850-usi";
			reg = <0x109700c0 0x20>;
			samsung,sysreg = <&syscon_peric1 0x101c>;
			samsung,mode = <USI_V2_I2C>;
			#address-cells = <1>;
			#size-cells = <1>;
			ranges;
			clocks = <&cmu_peric1 CLK_GOUT_PERIC1_PCLK_7>,
				 <&cmu_peric1 CLK_GOUT_PERIC1_IPCLK_7>;
			clock-names = "pclk", "ipclk";
			status = "disabled";

			hsi2c_19: i2c@10970000 {
				compatible = "samsung,exynosautov9-hsi2c";
				reg = <0x10970000 0xc0>;
				interrupts = <GIC_SPI 363 IRQ_TYPE_LEVEL_HIGH>;
				pinctrl-names = "default";
				pinctrl-0 = <&hsi2c19_bus>;
				clocks = <&cmu_peric1 CLK_GOUT_PERIC1_IPCLK_7>,
					 <&cmu_peric1 CLK_GOUT_PERIC1_PCLK_7>;
				clock-names = "hsi2c", "hsi2c_pclk";
				#address-cells = <1>;
				#size-cells = <0>;
				status = "disabled";
			};
		};

		usi_10: usi@109800c0 {
			compatible = "samsung,exynosautov9-usi",
				     "samsung,exynos850-usi";
			reg = <0x109800c0 0x20>;
			samsung,sysreg = <&syscon_peric1 0x1020>;
			samsung,mode = <USI_V2_UART>;
			#address-cells = <1>;
			#size-cells = <1>;
			ranges;
			clocks = <&cmu_peric1 CLK_GOUT_PERIC1_PCLK_8>,
				 <&cmu_peric1 CLK_GOUT_PERIC1_IPCLK_8>;
			clock-names = "pclk", "ipclk";
			status = "disabled";

			serial_10: serial@10980000 {
				compatible = "samsung,exynosautov9-uart",
					     "samsung,exynos850-uart";
				reg = <0x10980000 0xc0>;
				interrupts = <GIC_SPI 366 IRQ_TYPE_LEVEL_HIGH>;
				pinctrl-names = "default";
				pinctrl-0 = <&uart10_bus>;
				clocks = <&cmu_peric1 CLK_GOUT_PERIC1_PCLK_8>,
					 <&cmu_peric1 CLK_GOUT_PERIC1_IPCLK_8>;
				clock-names = "uart", "clk_uart_baud0";
				samsung,uart-fifosize = <64>;
				status = "disabled";
			};

			spi_10: spi@10980000 {
				compatible = "samsung,exynosautov9-spi";
				reg = <0x10980000 0x30>;
				interrupts = <GIC_SPI 366 IRQ_TYPE_LEVEL_HIGH>;
				pinctrl-names = "default";
				pinctrl-0 = <&spi10_bus &spi10_cs_func>;
				clocks = <&cmu_peric1 CLK_GOUT_PERIC1_IPCLK_8>,
					 <&cmu_peric1 CLK_DOUT_PERIC1_USI10_USI>,
					 <&cmu_peric1 CLK_GOUT_PERIC1_PCLK_8>;
				clock-names = "spi", "spi_busclk0", "spi_ioclk";
				samsung,spi-src-clk = <0>;
				dmas = <&pdma0 21>, <&pdma0 20>;
				dma-names = "tx", "rx";
				num-cs = <1>;
				#address-cells = <1>;
				#size-cells = <0>;
				status = "disabled";
			};

			hsi2c_20: i2c@10980000 {
				compatible = "samsung,exynosautov9-hsi2c";
				reg = <0x10980000 0xc0>;
				interrupts = <GIC_SPI 366 IRQ_TYPE_LEVEL_HIGH>;
				pinctrl-names = "default";
				pinctrl-0 = <&hsi2c20_bus>;
				clocks = <&cmu_peric1 CLK_GOUT_PERIC1_IPCLK_8>,
					 <&cmu_peric1 CLK_GOUT_PERIC1_PCLK_8>;
				clock-names = "hsi2c", "hsi2c_pclk";
				#address-cells = <1>;
				#size-cells = <0>;
				status = "disabled";
			};
		};

		usi_i2c_10: usi@109900c0 {
			compatible = "samsung,exynosautov9-usi",
				     "samsung,exynos850-usi";
			reg = <0x109900c0 0x20>;
			samsung,sysreg = <&syscon_peric1 0x1024>;
			samsung,mode = <USI_V2_I2C>;
			#address-cells = <1>;
			#size-cells = <1>;
			ranges;
			clocks = <&cmu_peric1 CLK_GOUT_PERIC1_PCLK_9>,
				 <&cmu_peric1 CLK_GOUT_PERIC1_IPCLK_9>;
			clock-names = "pclk", "ipclk";
			status = "disabled";

			hsi2c_21: i2c@10990000 {
				compatible = "samsung,exynosautov9-hsi2c";
				reg = <0x10990000 0xc0>;
				interrupts = <GIC_SPI 365 IRQ_TYPE_LEVEL_HIGH>;
				pinctrl-names = "default";
				pinctrl-0 = <&hsi2c21_bus>;
				clocks = <&cmu_peric1 CLK_GOUT_PERIC1_IPCLK_9>,
					 <&cmu_peric1 CLK_GOUT_PERIC1_PCLK_9>;
				clock-names = "hsi2c", "hsi2c_pclk";
				#address-cells = <1>;
				#size-cells = <0>;
				status = "disabled";
			};
		};

		usi_11: usi@109a00c0 {
			compatible = "samsung,exynosautov9-usi",
				     "samsung,exynos850-usi";
			reg = <0x109a00c0 0x20>;
			samsung,sysreg = <&syscon_peric1 0x1028>;
			samsung,mode = <USI_V2_UART>;
			#address-cells = <1>;
			#size-cells = <1>;
			ranges;
			clocks = <&cmu_peric1 CLK_GOUT_PERIC1_PCLK_10>,
				 <&cmu_peric1 CLK_GOUT_PERIC1_IPCLK_10>;
			clock-names = "pclk", "ipclk";
			status = "disabled";

			serial_11: serial@109a0000 {
				compatible = "samsung,exynosautov9-uart",
					     "samsung,exynos850-uart";
				reg = <0x109a0000 0xc0>;
				interrupts = <GIC_SPI 368 IRQ_TYPE_LEVEL_HIGH>;
				pinctrl-names = "default";
				pinctrl-0 = <&uart11_bus>;
				clocks = <&cmu_peric1 CLK_GOUT_PERIC1_PCLK_10>,
					 <&cmu_peric1 CLK_GOUT_PERIC1_IPCLK_10>;
				clock-names = "uart", "clk_uart_baud0";
				samsung,uart-fifosize = <64>;
				status = "disabled";
			};

			spi_11: spi@109a0000 {
				compatible = "samsung,exynosautov9-spi";
				reg = <0x109a0000 0x30>;
				interrupts = <GIC_SPI 368 IRQ_TYPE_LEVEL_HIGH>;
				pinctrl-names = "default";
				pinctrl-0 = <&spi11_bus &spi11_cs_func>;
				clocks = <&cmu_peric1 CLK_GOUT_PERIC1_IPCLK_10>,
					 <&cmu_peric1 CLK_DOUT_PERIC1_USI11_USI>,
					 <&cmu_peric1 CLK_GOUT_PERIC1_PCLK_10>;
				clock-names = "spi", "spi_busclk0", "spi_ioclk";
				samsung,spi-src-clk = <0>;
				num-cs = <1>;
				#address-cells = <1>;
				#size-cells = <0>;
				status = "disabled";
			};

			hsi2c_22: i2c@109a0000 {
				compatible = "samsung,exynosautov9-hsi2c";
				reg = <0x109a0000 0xc0>;
				pinctrl-names = "default";
				pinctrl-0 = <&hsi2c22_bus>;
				interrupts = <GIC_SPI 368 IRQ_TYPE_LEVEL_HIGH>;
				clocks = <&cmu_peric1 CLK_GOUT_PERIC1_IPCLK_10>,
					 <&cmu_peric1 CLK_GOUT_PERIC1_PCLK_10>;
				clock-names = "hsi2c", "hsi2c_pclk";
				#address-cells = <1>;
				#size-cells = <0>;
				status = "disabled";
			};
		};

		usi_i2c_11: usi@109b00c0 {
			compatible = "samsung,exynosautov9-usi",
				     "samsung,exynos850-usi";
			reg = <0x109b00c0 0x20>;
			samsung,sysreg = <&syscon_peric1 0x102c>;
			samsung,mode = <USI_V2_I2C>;
			#address-cells = <1>;
			#size-cells = <1>;
			ranges;
			clocks = <&cmu_peric1 CLK_GOUT_PERIC1_PCLK_11>,
				 <&cmu_peric1 CLK_GOUT_PERIC1_IPCLK_11>;
			clock-names = "pclk", "ipclk";
			status = "disabled";

			hsi2c_23: i2c@109b0000 {
				compatible = "samsung,exynosautov9-hsi2c";
				reg = <0x109b0000 0xc0>;
				interrupts = <GIC_SPI 367 IRQ_TYPE_LEVEL_HIGH>;
				pinctrl-names = "default";
				pinctrl-0 = <&hsi2c23_bus>;
				clocks = <&cmu_peric1 CLK_GOUT_PERIC1_IPCLK_11>,
					 <&cmu_peric1 CLK_GOUT_PERIC1_PCLK_11>;
				clock-names = "hsi2c", "hsi2c_pclk";
				#address-cells = <1>;
				#size-cells = <0>;
				status = "disabled";
			};
		};

		ufs_0_phy: phy@17e04000 {
			compatible = "samsung,exynosautov9-ufs-phy";
			reg = <0x17e04000 0xc00>;
			reg-names = "phy-pma";
			samsung,pmu-syscon = <&pmu_system_controller>;
			#phy-cells = <0>;
			clocks = <&xtcxo>;
			clock-names = "ref_clk";
			status = "disabled";
		};

		ufs_0: ufs@17e00000 {
			compatible = "samsung,exynosautov9-ufs";

			reg = <0x17e00000 0x100>,
			      <0x17e01100 0x410>,
			      <0x17e80000 0x8000>,
			      <0x17dc0000 0x2200>;
			reg-names = "hci", "vs_hci", "unipro", "ufsp";
			interrupts = <GIC_SPI 227 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&cmu_fsys2 CLK_GOUT_FSYS2_UFS_EMBD0_ACLK>,
				 <&cmu_fsys2 CLK_GOUT_FSYS2_UFS_EMBD0_UNIPRO>;
			clock-names = "core_clk", "sclk_unipro_main";
			freq-table-hz = <0 0>, <0 0>;
			pinctrl-names = "default";
			pinctrl-0 = <&ufs_rst_n &ufs_refclk_out>;
			phys = <&ufs_0_phy>;
			phy-names = "ufs-phy";
			samsung,sysreg = <&syscon_fsys2 0x710>;
			status = "disabled";
		};

		ufs_1_phy: phy@17f04000 {
			compatible = "samsung,exynosautov9-ufs-phy";
			reg = <0x17f04000 0xc00>;
			reg-names = "phy-pma";
			samsung,pmu-syscon = <&pmu_system_controller 0x72c>;
			#phy-cells = <0>;
			clocks = <&xtcxo>;
			clock-names = "ref_clk";
			status = "disabled";
		};

		ufs_1: ufs@17f00000 {
			compatible = "samsung,exynosautov9-ufs";

			reg = <0x17f00000 0x100>,
			      <0x17f01100 0x410>,
			      <0x17f80000 0x8000>,
			      <0x17de0000 0x2200>;
			reg-names = "hci", "vs_hci", "unipro", "ufsp";
			interrupts = <GIC_SPI 235 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&cmu_fsys2 CLK_GOUT_FSYS2_UFS_EMBD1_ACLK>,
				 <&cmu_fsys2 CLK_GOUT_FSYS2_UFS_EMBD1_UNIPRO>;
			clock-names = "core_clk", "sclk_unipro_main";
			freq-table-hz = <0 0>, <0 0>;
			pinctrl-names = "default";
			pinctrl-0 = <&ufs_rst_n_1 &ufs_refclk_out_1>;
			phys = <&ufs_1_phy>;
			phy-names = "ufs-phy";
			samsung,sysreg = <&syscon_fsys2 0x714>;
			status = "disabled";
		};

		watchdog_cl0: watchdog@10050000 {
			compatible = "samsung,exynosautov9-wdt";
			reg = <0x10050000 0x100>;
			interrupts = <GIC_SPI 476 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&cmu_peris CLK_GOUT_WDT_CLUSTER0>, <&xtcxo>;
			clock-names = "watchdog", "watchdog_src";
			samsung,syscon-phandle = <&pmu_system_controller>;
			samsung,cluster-index = <0>;
		};

		watchdog_cl1: watchdog@10060000 {
			compatible = "samsung,exynosautov9-wdt";
			reg = <0x10060000 0x100>;
			interrupts = <GIC_SPI 475 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&cmu_peris CLK_GOUT_WDT_CLUSTER1>, <&xtcxo>;
			clock-names = "watchdog", "watchdog_src";
			samsung,syscon-phandle = <&pmu_system_controller>;
			samsung,cluster-index = <1>;
		};

		pwm: pwm@103f0000 {
			compatible = "samsung,exynosautov9-pwm",
				     "samsung,exynos4210-pwm";
			reg = <0x103f0000 0x100>;
			samsung,pwm-outputs = <0>, <1>, <2>, <3>;
			#pwm-cells = <3>;
			clocks = <&xtcxo>;
			clock-names = "timers";
			status = "disabled";
		};
	};
};

#include "exynosautov9-pinctrl.dtsi"
