// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * Copyright 2021 NXP
 */

#include <dt-bindings/clock/imx8ulp-clock.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/power/imx8ulp-power.h>

#include "imx8ulp-pinfunc.h"

/ {
	interrupt-parent = <&gic>;
	#address-cells = <2>;
	#size-cells = <2>;

	aliases {
		gpio0 = &gpiod;
		gpio1 = &gpioe;
		gpio2 = &gpiof;
		mmc0 = &usdhc0;
		mmc1 = &usdhc1;
		mmc2 = &usdhc2;
		serial0 = &lpuart4;
		serial1 = &lpuart5;
		serial2 = &lpuart6;
		serial3 = &lpuart7;
	};

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

		A35_0: cpu@0 {
			device_type = "cpu";
			compatible = "arm,cortex-a35";
			reg = <0x0 0x0>;
			enable-method = "psci";
			next-level-cache = <&A35_L2>;
		};

		A35_1: cpu@1 {
			device_type = "cpu";
			compatible = "arm,cortex-a35";
			reg = <0x0 0x1>;
			enable-method = "psci";
			next-level-cache = <&A35_L2>;
		};

		A35_L2: l2-cache0 {
			compatible = "cache";
		};
	};

	gic: interrupt-controller@2d400000 {
		compatible = "arm,gic-v3";
		reg = <0x0 0x2d400000 0 0x10000>, /* GIC Dist */
		      <0x0 0x2d440000 0 0xc0000>; /* GICR (RD_base + SGI_base) */
		#interrupt-cells = <3>;
		interrupt-controller;
		interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
	};

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

	timer {
		compatible = "arm,armv8-timer";
		interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>, /* Physical Secure */
			     <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>, /* Physical Non-Secure */
			     <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>, /* Virtual */
			     <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>; /* Hypervisor */
	};

	frosc: clock-frosc {
		compatible = "fixed-clock";
		clock-frequency = <192000000>;
		clock-output-names = "frosc";
		#clock-cells = <0>;
	};

	lposc: clock-lposc {
		compatible = "fixed-clock";
		clock-frequency = <1000000>;
		clock-output-names = "lposc";
		#clock-cells = <0>;
	};

	rosc: clock-rosc {
		compatible = "fixed-clock";
		clock-frequency = <32768>;
		clock-output-names = "rosc";
		#clock-cells = <0>;
	};

	sosc: clock-sosc {
		compatible = "fixed-clock";
		clock-frequency = <24000000>;
		clock-output-names = "sosc";
		#clock-cells = <0>;
	};

	sram@2201f000 {
		compatible = "mmio-sram";
		reg = <0x0 0x2201f000 0x0 0x1000>;

		#address-cells = <1>;
		#size-cells = <1>;
		ranges = <0 0x0 0x2201f000 0x1000>;

		scmi_buf: scmi-buf@0 {
			compatible = "arm,scmi-shmem";
			reg = <0x0 0x400>;
		};
	};

	firmware {
		scmi {
			compatible = "arm,scmi-smc";
			arm,smc-id = <0xc20000fe>;
			#address-cells = <1>;
			#size-cells = <0>;
			shmem = <&scmi_buf>;

			scmi_devpd: protocol@11 {
				reg = <0x11>;
				#power-domain-cells = <1>;
			};

			scmi_sensor: protocol@15 {
				reg = <0x15>;
				#thermal-sensor-cells = <1>;
			};
		};
	};

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

		per_bridge3: bus@29000000 {
			compatible = "simple-bus";
			reg = <0x29000000 0x800000>;
			#address-cells = <1>;
			#size-cells = <1>;
			ranges;

			wdog3: watchdog@292a0000 {
				compatible = "fsl,imx8ulp-wdt", "fsl,imx7ulp-wdt";
				reg = <0x292a0000 0x10000>;
				interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
				clocks = <&pcc3 IMX8ULP_CLK_WDOG3>;
				assigned-clocks = <&pcc3 IMX8ULP_CLK_WDOG3>;
				assigned-clock-parents = <&cgc1 IMX8ULP_CLK_SOSC_DIV2>;
				timeout-sec = <40>;
			};

			cgc1: clock-controller@292c0000 {
				compatible = "fsl,imx8ulp-cgc1";
				reg = <0x292c0000 0x10000>;
				clocks = <&rosc>, <&sosc>, <&frosc>, <&lposc>;
				clock-names = "rosc", "sosc", "frosc", "lposc";
				#clock-cells = <1>;
			};

			pcc3: clock-controller@292d0000 {
				compatible = "fsl,imx8ulp-pcc3";
				reg = <0x292d0000 0x10000>;
				#clock-cells = <1>;
			};

			tpm5: tpm@29340000 {
				compatible = "fsl,imx8ulp-tpm", "fsl,imx7ulp-tpm";
				reg = <0x29340000 0x1000>;
				interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
				clocks = <&pcc3 IMX8ULP_CLK_TPM5>,
					 <&pcc3 IMX8ULP_CLK_TPM5>;
				clock-names = "ipg", "per";
				status = "disabled";
			};

			lpi2c4: i2c@29370000 {
				compatible = "fsl,imx8ulp-lpi2c", "fsl,imx7ulp-lpi2c";
				reg = <0x29370000 0x10000>;
				interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
				clocks = <&pcc3 IMX8ULP_CLK_LPI2C4>,
					 <&pcc3 IMX8ULP_CLK_LPI2C4>;
				clock-names = "per", "ipg";
				assigned-clocks = <&pcc3 IMX8ULP_CLK_LPI2C4>;
				assigned-clock-parents = <&cgc1 IMX8ULP_CLK_XBAR_DIVBUS>;
				assigned-clock-rates = <48000000>;
				status = "disabled";
			};

			lpi2c5: i2c@29380000 {
				compatible = "fsl,imx8ulp-lpi2c", "fsl,imx7ulp-lpi2c";
				reg = <0x29380000 0x10000>;
				interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
				clocks = <&pcc3 IMX8ULP_CLK_LPI2C5>,
					 <&pcc3 IMX8ULP_CLK_LPI2C5>;
				clock-names = "per", "ipg";
				assigned-clocks = <&pcc3 IMX8ULP_CLK_LPI2C5>;
				assigned-clock-parents = <&cgc1 IMX8ULP_CLK_XBAR_DIVBUS>;
				assigned-clock-rates = <48000000>;
				status = "disabled";
			};

			lpuart4: serial@29390000 {
				compatible = "fsl,imx8ulp-lpuart", "fsl,imx7ulp-lpuart";
				reg = <0x29390000 0x1000>;
				interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
				clocks = <&pcc3 IMX8ULP_CLK_LPUART4>;
				clock-names = "ipg";
				status = "disabled";
			};

			lpuart5: serial@293a0000 {
				compatible = "fsl,imx8ulp-lpuart", "fsl,imx7ulp-lpuart";
				reg = <0x293a0000 0x1000>;
				interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
				clocks = <&pcc3 IMX8ULP_CLK_LPUART5>;
				clock-names = "ipg";
				status = "disabled";
			};

			lpspi4: spi@293b0000 {
				#address-cells = <1>;
				#size-cells = <0>;
				compatible = "fsl,imx8ulp-spi", "fsl,imx7ulp-spi";
				reg = <0x293b0000 0x10000>;
				interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
				clocks = <&pcc3 IMX8ULP_CLK_LPSPI4>,
					 <&pcc3 IMX8ULP_CLK_LPSPI4>;
				clock-names = "per", "ipg";
				assigned-clocks = <&pcc3 IMX8ULP_CLK_LPSPI4>;
				assigned-clock-parents = <&cgc1 IMX8ULP_CLK_XBAR_DIVBUS>;
				assigned-clock-rates = <16000000>;
				status = "disabled";
			};

			lpspi5: spi@293c0000 {
				#address-cells = <1>;
				#size-cells = <0>;
				compatible = "fsl,imx8ulp-spi", "fsl,imx7ulp-spi";
				reg = <0x293c0000 0x10000>;
				interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
				clocks = <&pcc3 IMX8ULP_CLK_LPSPI5>,
					 <&pcc3 IMX8ULP_CLK_LPSPI5>;
				clock-names = "per", "ipg";
				assigned-clocks = <&pcc3 IMX8ULP_CLK_LPSPI5>;
				assigned-clock-parents = <&cgc1 IMX8ULP_CLK_XBAR_DIVBUS>;
				assigned-clock-rates = <16000000>;
				status = "disabled";
			};
		};

		per_bridge4: bus@29800000 {
			compatible = "simple-bus";
			reg = <0x29800000 0x800000>;
			#address-cells = <1>;
			#size-cells = <1>;
			ranges;

			pcc4: clock-controller@29800000 {
				compatible = "fsl,imx8ulp-pcc4";
				reg = <0x29800000 0x10000>;
				#clock-cells = <1>;
			};

			lpi2c6: i2c@29840000 {
				compatible = "fsl,imx8ulp-lpi2c", "fsl,imx7ulp-lpi2c";
				reg = <0x29840000 0x10000>;
				interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
				clocks = <&pcc4 IMX8ULP_CLK_LPI2C6>,
					 <&pcc4 IMX8ULP_CLK_LPI2C6>;
				clock-names = "per", "ipg";
				assigned-clocks = <&pcc4 IMX8ULP_CLK_LPI2C6>;
				assigned-clock-parents = <&cgc1 IMX8ULP_CLK_XBAR_DIVBUS>;
				assigned-clock-rates = <48000000>;
				status = "disabled";
			};

			lpi2c7: i2c@29850000 {
				compatible = "fsl,imx8ulp-lpi2c", "fsl,imx7ulp-lpi2c";
				reg = <0x29850000 0x10000>;
				interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
				clocks = <&pcc4 IMX8ULP_CLK_LPI2C7>,
					 <&pcc4 IMX8ULP_CLK_LPI2C7>;
				clock-names = "per", "ipg";
				assigned-clocks = <&pcc4 IMX8ULP_CLK_LPI2C7>;
				assigned-clock-parents = <&cgc1 IMX8ULP_CLK_XBAR_DIVBUS>;
				assigned-clock-rates = <48000000>;
				status = "disabled";
			};

			lpuart6: serial@29860000 {
				compatible = "fsl,imx8ulp-lpuart", "fsl,imx7ulp-lpuart";
				reg = <0x29860000 0x1000>;
				interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
				clocks = <&pcc4 IMX8ULP_CLK_LPUART6>;
				clock-names = "ipg";
				status = "disabled";
			};

			lpuart7: serial@29870000 {
				compatible = "fsl,imx8ulp-lpuart", "fsl,imx7ulp-lpuart";
				reg = <0x29870000 0x1000>;
				interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
				clocks = <&pcc4 IMX8ULP_CLK_LPUART7>;
				clock-names = "ipg";
				status = "disabled";
			};

			iomuxc1: pinctrl@298c0000 {
				compatible = "fsl,imx8ulp-iomuxc1";
				reg = <0x298c0000 0x10000>;
			};

			usdhc0: mmc@298d0000 {
				compatible = "fsl,imx8ulp-usdhc", "fsl,imx8mm-usdhc";
				reg = <0x298d0000 0x10000>;
				interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>;
				clocks = <&cgc1 IMX8ULP_CLK_XBAR_DIVBUS>,
					 <&cgc1 IMX8ULP_CLK_XBAR_AD_DIVPLAT>,
					 <&pcc4 IMX8ULP_CLK_USDHC0>;
				clock-names = "ipg", "ahb", "per";
				power-domains = <&scmi_devpd IMX8ULP_PD_USDHC0>;
				fsl,tuning-start-tap = <20>;
				fsl,tuning-step= <2>;
				bus-width = <4>;
				status = "disabled";
			};

			usdhc1: mmc@298e0000 {
				compatible = "fsl,imx8ulp-usdhc", "fsl,imx8mm-usdhc";
				reg = <0x298e0000 0x10000>;
				interrupts = <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
				clocks = <&cgc1 IMX8ULP_CLK_XBAR_DIVBUS>,
					 <&cgc1 IMX8ULP_CLK_NIC_PER_DIVPLAT>,
					 <&pcc4 IMX8ULP_CLK_USDHC1>;
				clock-names = "ipg", "ahb", "per";
				power-domains = <&scmi_devpd IMX8ULP_PD_USDHC1>;
				fsl,tuning-start-tap = <20>;
				fsl,tuning-step= <2>;
				bus-width = <4>;
				status = "disabled";
			};

			usdhc2: mmc@298f0000 {
				compatible = "fsl,imx8ulp-usdhc", "fsl,imx8mm-usdhc";
				reg = <0x298f0000 0x10000>;
				interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>;
				clocks = <&cgc1 IMX8ULP_CLK_XBAR_DIVBUS>,
					 <&cgc1 IMX8ULP_CLK_NIC_PER_DIVPLAT>,
					 <&pcc4 IMX8ULP_CLK_USDHC2>;
				clock-names = "ipg", "ahb", "per";
				power-domains = <&scmi_devpd IMX8ULP_PD_USDHC2_USB1>;
				fsl,tuning-start-tap = <20>;
				fsl,tuning-step= <2>;
				bus-width = <4>;
				status = "disabled";
			};
		};

		gpioe: gpio@2d000000 {
				compatible = "fsl,imx8ulp-gpio", "fsl,imx7ulp-gpio";
				reg = <0x2d000080 0x1000>, <0x2d000040 0x40>;
				gpio-controller;
				#gpio-cells = <2>;
				interrupts = <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>;
				interrupt-controller;
				#interrupt-cells = <2>;
				clocks = <&pcc4 IMX8ULP_CLK_RGPIOE>,
					 <&pcc4 IMX8ULP_CLK_PCTLE>;
				clock-names = "gpio", "port";
				gpio-ranges = <&iomuxc1 0 32 24>;
		};

		gpiof: gpio@2d010000 {
				compatible = "fsl,imx8ulp-gpio", "fsl,imx7ulp-gpio";
				reg = <0x2d010080 0x1000>, <0x2d010040 0x40>;
				gpio-controller;
				#gpio-cells = <2>;
				interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>;
				interrupt-controller;
				#interrupt-cells = <2>;
				clocks = <&pcc4 IMX8ULP_CLK_RGPIOF>,
					 <&pcc4 IMX8ULP_CLK_PCTLF>;
				clock-names = "gpio", "port";
				gpio-ranges = <&iomuxc1 0 64 32>;
		};

		per_bridge5: bus@2d800000 {
			compatible = "simple-bus";
			reg = <0x2d800000 0x800000>;
			#address-cells = <1>;
			#size-cells = <1>;
			ranges;

			cgc2: clock-controller@2da60000 {
				compatible = "fsl,imx8ulp-cgc2";
				reg = <0x2da60000 0x10000>;
				clocks = <&sosc>, <&frosc>;
				clock-names = "sosc", "frosc";
				#clock-cells = <1>;
			};

			pcc5: clock-controller@2da70000 {
				compatible = "fsl,imx8ulp-pcc5";
				reg = <0x2da70000 0x10000>;
				#clock-cells = <1>;
			};
		};

		gpiod: gpio@2e200000 {
			compatible = "fsl,imx8ulp-gpio", "fsl,imx7ulp-gpio";
			reg = <0x2e200080 0x1000>, <0x2e200040 0x40>;
			gpio-controller;
			#gpio-cells = <2>;
			interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
			interrupt-controller;
			#interrupt-cells = <2>;
			clocks = <&pcc5 IMX8ULP_CLK_RGPIOD>,
				 <&pcc5 IMX8ULP_CLK_RGPIOD>;
			clock-names = "gpio", "port";
			gpio-ranges = <&iomuxc1 0 0 24>;
		};
	};
};
