/*
 * Copyright 2015-2016 Freescale Semiconductor, Inc.
 * Copyright 2017 NXP
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 */

#include <dt-bindings/clock/imx7ulp-clock.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/pwm/pwm.h>
#include "skeleton.dtsi"
#include "imx7ulp-pinfunc.h"

/ {
	interrupt-parent = <&intc>;

	aliases {
		gpio0 = &gpio_ptc;
		gpio1 = &gpio_ptd;
		gpio2 = &gpio_pte;
		gpio3 = &gpio_ptf;
		mmc0 = &usdhc0;
		mmc1 = &usdhc1;
		serial0 = &lpuart4;
		serial1 = &lpuart5;
		serial2 = &lpuart6;
		serial3 = &lpuart7;
		usbphy0 = &usbphy1;
	};

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

		cpu0: cpu@0 {
			compatible = "arm,cortex-a7";
			device_type = "cpu";
			clock-latency = <61036>; /* two CLK32 periods */
			reg = <0>;

		operating-points = <
			/* KHz	uV */
			720000	1125000
			500210	1025000
		>;
		clocks = <&clks IMX7ULP_CLK_ARM>,
			 <&clks IMX7ULP_CLK_CORE_DIV>,
			 <&clks IMX7ULP_CLK_SYS_SEL>,
			 <&clks IMX7ULP_CLK_HSRUN_SYS_SEL>,
			 <&clks IMX7ULP_CLK_HSRUN_CORE>,
			 <&clks IMX7ULP_CLK_SPLL_PFD0>,
			 <&clks IMX7ULP_CLK_SPLL_SEL>,
			 <&clks IMX7ULP_CLK_FIRC>,
			 <&clks IMX7ULP_CLK_SPLL>;
		clock-names = "arm", "core_div", "sys_sel", "hsrun_sys_sel",
			      "hsrun_core", "spll_pfd0", "spll_sel", "firc",
			      "spll";
		};
	};

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

		/* global autoconfigured region for contiguous allocations */
		linux,cma {
			compatible = "shared-dma-pool";
			reusable;
			size = <0xC000000>;
			alignment = <0x2000>;
			linux,cma-default;
		};

		rpmsg_reserved: rpmsg@9FFF0000 {
			no-map;
			reg = <0x9FF00000 0x100000>;
		};

	};

	intc: interrupt-controller@40021000 {
		compatible = "arm,cortex-a7-gic";
		#interrupt-cells = <3>;
		interrupt-controller;
		reg = <0x40021000 0x1000>,
		      <0x40022000 0x100>;
	};

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

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

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

		sirc: clock@2 {
			compatible = "fixed-clock";
			#clock-cells = <0>;
			clock-frequency = <16000000>;
			clock-output-names = "sirc";
		};

		firc: clock@3 {
			compatible = "fixed-clock";
			#clock-cells = <0>;
			clock-frequency = <48000000>;
			clock-output-names = "firc";
		};

		upll: clock@4 {
			compatible = "fixed-clock";
			#clock-cells = <0>;
			clock-frequency = <480000000>;
			clock-output-names = "upll";
		};

		mpll: clock@5 {
			compatible = "fixed-clock";
			#clock-cells = <0>;
			clock-frequency = <480000000>;
			clock-output-names = "mpll";
		};
	};

	sram: sram@20000000 {
		compatible = "fsl,lpm-sram";
		reg = <0x1fffc000 0x4000>;
	};

	caam_sm: caam-sm@26000000 {
			 compatible = "fsl,imx6q-caam-sm";
			 reg = <0x26000000 0x7fff>;
	};

	ahbbridge0: ahb-bridge0@40000000 {
		compatible = "fsl,aips-bus", "simple-bus";
		#address-cells = <1>;
		#size-cells = <1>;
		reg = <0x40000000 0x800000>;
		ranges;

		edma0: dma-controller@40080000 {
			#dma-cells = <2>;
			compatible = "nxp,imx7ulp-edma";
			reg = <0x40080000 0x2000>,
				<0x40210000 0x1000>;
			dma-channels = <32>;
			interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
					<GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
					<GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
					<GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
					<GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
					<GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
					<GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
					<GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
					<GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
					<GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
					<GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
					<GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
					<GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
					<GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
					<GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
					<GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>,
					<GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
			clock-names = "dma", "dmamux0";
			clocks = <&clks IMX7ULP_CLK_DMA1>, <&clks IMX7ULP_CLK_DMA_MUX1>;
		};

		mu: mu@40220000 {
			compatible = "fsl,imx7ulp-mu", "fsl,imx6sx-mu";
			reg = <0x40220000 0x1000>;
			interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>,
					<GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
			status = "okay";
		};

		nmi: nmi@40220000 {
			compatible = "fsl,imx7ulp-nmi";
			reg = <0x40220000 0x1000>;
			interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
			status = "okay";
		};

		crypto: caam@40240000 {
			compatible = "fsl,imx7d-caam", "fsl,sec-v4.0";
			#address-cells = <1>;
			#size-cells = <1>;
			reg = <0x40240000 0x40000>;
			ranges = <0 0x40240000 0x40000>;
			clocks = <&clks IMX7ULP_CLK_CAAM>,
				<&clks IMX7ULP_CLK_NIC1_DIV>;
			clock-names = "ipg", "aclk";

			sec_ctrl: ctrl@0 {
				/* CAAM Page 0 only accessible */
				/*	by secure world */
				compatible = "fsl,sec-v4.0-ctrl";
				reg = <0x40240000 0x1000>;
				secure-status = "okay";
				status = "disabled";
			};

			sec_jr0: jr0@1000 {
				compatible = "fsl,sec-v4.0-job-ring";
				reg = <0x1000 0x1000>;
				interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
			};

			sec_jr1: jr1@2000 {
				compatible = "fsl,sec-v4.0-job-ring";
				reg = <0x2000 0x1000>;
				interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
				status = "disabled";
			};
		};

		rpmsg: rpmsg{
			compatible = "fsl,imx7ulp-rpmsg";
			memory-region = <&rpmsg_reserved>;
			status = "disabled";
		};

		pwm0: tpm@40250000 {
			compatible = "nxp,tpm-pwm";
			reg = <0x40250000 0x1000>;
			nxp,pwm-number = <6>;
			assigned-clocks = <&clks IMX7ULP_CLK_LPTPM4>;
			assigned-clock-parents = <&clks IMX7ULP_CLK_SOSC_BUS_CLK>;
			clocks = <&clks IMX7ULP_CLK_LPTPM4>;
			#pwm-cells = <2>;
		};

		tpm5: tpm@40260000 {
			compatible = "fsl,imx7ulp-tpm";
			reg = <0x40260000 0x1000>;
			interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&clks IMX7ULP_CLK_LPTPM5>,
				 <&clks IMX7ULP_CLK_NIC1_BUS_DIV>;
			clock-names = "per", "ipg";
		};

		lpit: 1@40270000 {
			compatible = "fsl,imx-lpit";
			reg = <0x40270000 0x1000>;
			interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
			/*    clocks = <&lpclk>;*/
			clocks = <&clks IMX7ULP_CLK_LPIT1>;
			assigned-clock-rates = <48000000>;
			assigned-clocks = <&clks IMX7ULP_CLK_LPIT1>;
			assigned-clock-parents = <&clks IMX7ULP_CLK_FIRC_BUS_CLK>;
		};

		lpi2c4: lpi2c4@402B0000 {
			compatible = "fsl,imx7ulp-lpi2c";
			reg = <0x402B0000 0x10000>;
			interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&clks IMX7ULP_CLK_LPI2C4>,
				 <&clks IMX7ULP_CLK_NIC1_BUS_DIV>;
			clock-names = "per", "ipg";
			assigned-clocks = <&clks IMX7ULP_CLK_LPI2C4>;
			assigned-clock-parents = <&clks IMX7ULP_CLK_FIRC_BUS_CLK>;
			assigned-clock-rates = <48000000>;
			status = "disabled";
		};

		lpi2c5: lpi2c5@402C0000 {
			compatible = "fsl,imx7ulp-lpi2c";
			reg = <0x402C0000 0x10000>;
			interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&clks IMX7ULP_CLK_LPI2C5>,
				 <&clks IMX7ULP_CLK_NIC1_BUS_DIV>;
			clock-names = "per", "ipg";
			assigned-clocks = <&clks IMX7ULP_CLK_LPI2C5>;
			assigned-clock-parents = <&clks IMX7ULP_CLK_FIRC_BUS_CLK>;
			assigned-clock-rates = <48000000>;
		};

		lpspi2: lpspi@40290000 {
			compatible = "fsl,imx7ulp-spi";
			reg = <0x40290000 0x10000>;
			interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&clks IMX7ULP_CLK_LPSPI2>,
				 <&clks IMX7ULP_CLK_DUMMY>;
			clock-names = "per", "ipg";
			assigned-clocks = <&clks IMX7ULP_CLK_LPSPI2>;
			assigned-clock-parents = <&clks IMX7ULP_CLK_FIRC_BUS_CLK>;
			assigned-clock-rates = <48000000>;
			status = "disabled";
		};

		lpspi3: lpspi@402A0000 {
			compatible = "fsl,imx7ulp-spi";
			reg = <0x402A0000 0x10000>;
			interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&clks IMX7ULP_CLK_LPSPI3>,
				 <&clks IMX7ULP_CLK_DUMMY>;
			clock-names = "per", "ipg";
			assigned-clocks = <&clks IMX7ULP_CLK_LPSPI3>;
			assigned-clock-parents = <&clks IMX7ULP_CLK_FIRC_BUS_CLK>;
			assigned-clock-rates = <48000000>;
			status = "disabled";
		};

		lpuart4: serial@402D0000 {
			compatible = "fsl,imx7ulp-lpuart";
			reg = <0x402D0000 0x1000>;
			interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&clks IMX7ULP_CLK_LPUART4>;
			clock-names = "ipg";
			assigned-clocks = <&clks IMX7ULP_CLK_LPUART4>;
			assigned-clock-parents = <&clks IMX7ULP_CLK_SOSC_BUS_CLK>;
			assigned-clock-rates = <24000000>;
			status = "disabled";
		};

		lpuart5: serial@402E0000 {
			compatible = "fsl,imx7ulp-lpuart";
			reg = <0x402E0000 0x1000>;
			interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&clks IMX7ULP_CLK_LPUART5>;
			clock-names = "ipg";
			assigned-clocks = <&clks IMX7ULP_CLK_LPUART5>;
			assigned-clock-parents = <&clks IMX7ULP_CLK_FIRC_BUS_CLK>;
			assigned-clock-rates = <48000000>;
			dmas = <&edma0 0 20>, <&edma0 0 19>;
			dma-names = "tx","rx";
			status = "disabled";
		};

		usbotg1: usb@40330000 {
			compatible = "fsl,imx7ulp-usb", "fsl,imx6ul-usb",
				"fsl,imx27-usb";
			reg = <0x40330000 0x200>;
			interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&clks IMX7ULP_CLK_USB0>;
			fsl,usbphy = <&usbphy1>;
			fsl,usbmisc = <&usbmisc1 0>;
			ahb-burst-config = <0x0>;
			tx-burst-size-dword = <0x8>;
			rx-burst-size-dword = <0x8>;
			status = "disabled";
		};

		usbmisc1: usbmisc@40330200 {
			#index-cells = <1>;
			compatible = "fsl,imx7ulp-usbmisc", "fsl,imx7d-usbmisc",
				"fsl,imx6q-usbmisc";
			reg = <0x40330200 0x200>;
		};

		usbphy1: usbphy@0x40350000 {
			compatible = "fsl,imx7ulp-usbphy",
				"fsl,imx6ul-usbphy", "fsl,imx23-usbphy";
			reg = <0x40350000 0x1000>;
			interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&clks IMX7ULP_CLK_USB_PHY>;
			nxp,sim = <&sim>;
		};

		usdhc0: usdhc@40370000 {
			compatible = "fsl,imx7ulp-usdhc";
			reg = <0x40370000 0x10000>;
			interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&clks IMX7ULP_CLK_NIC1_BUS_DIV>,
				 <&clks IMX7ULP_CLK_NIC1_DIV>,
				 <&clks IMX7ULP_CLK_USDHC0>;
			clock-names ="ipg", "ahb", "per";
			bus-width = <4>;
			assigned-clocks = <&clks IMX7ULP_CLK_APLL_PFD1>, <&clks IMX7ULP_CLK_USDHC0>;
			assigned-clock-parents = <0>, <&clks IMX7ULP_CLK_APLL_PFD1>;
			assigned-clock-rates = <0>, <352800000>;
			fsl,tuning-start-tap = <20>;
			fsl,tuning-step= <2>;
			status = "disabled";
		};

		usdhc1: usdhc@40380000 {
			compatible = "fsl,imx7ulp-usdhc";
			reg = <0x40380000 0x10000>;
			interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&clks IMX7ULP_CLK_NIC1_BUS_DIV>,
				 <&clks IMX7ULP_CLK_NIC1_DIV>,
				 <&clks IMX7ULP_CLK_USDHC1>;
			clock-names ="ipg", "ahb", "per";
			bus-width = <4>;
			assigned-clocks = <&clks IMX7ULP_CLK_APLL_PFD1>, <&clks IMX7ULP_CLK_USDHC1>;
			assigned-clock-parents = <0>, <&clks IMX7ULP_CLK_APLL_PFD1>;
			assigned-clock-rates = <0>, <176400000>;
			fsl,tuning-start-tap = <20>;
			fsl,tuning-step= <2>;
			status = "disabled";
		};

		wdog1: wdog@403D0000 {
			compatible = "fsl,imx7ulp-wdt";
			reg = <0x403D0000 0x10000>;
			interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&clks IMX7ULP_CLK_WDG1>;
			assigned-clocks = <&clks IMX7ULP_CLK_WDG1>;
			assigned-clocks-parents = <&clks IMX7ULP_CLK_FIRC_BUS_CLK>;
			/*
			 * As the 1KHz LPO clock rate is not trimed,the actually clock
			 * is about 667Hz, so the init timeout 60s should set 40*1000
			 * in the TOVAL register.
			 */
			timeout-sec = <40>;
		};

		wdog2: wdog@40430000 {
			compatible = "fsl,imx7ulp-wdt";
			reg = <0x40430000 0x10000>;
			interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&clks IMX7ULP_CLK_WDG2>;
			assigned-clocks = <&clks IMX7ULP_CLK_WDG2>;
			assigned-clocks-parents = <&clks IMX7ULP_CLK_FIRC_BUS_CLK>;
			timeout-sec = <40>;
		};

		clks: scg1@403E0000 {
			compatible = "fsl,imx7ulp-scg1";
			reg = <0x403E0000 0x10000>;
			clocks = <&rosc>, <&sosc>, <&sirc>,
				<&firc>, <&upll>, <&mpll>;
			clock-names = "rosc", "sosc", "sirc",
				"firc", "upll", "mpll";
			#clock-cells = <1>;
			assigned-clocks = <&clks IMX7ULP_CLK_LPTPM5>;
			assigned-clock-parents = <&clks IMX7ULP_CLK_SOSC_BUS_CLK>;
		};

		pcc2: pcc2@403F0000 {
			compatible  = "fsl,imx7ulp-pcc2";
			reg = <0x403F0000 0x10000>;
		};

		pmc1: pmc1@40400000 {
			compatible = "fsl,imx7ulp-pmc1";
			reg = <0x40400000 0x1000>;
		};

		smc1: smc1@40410000 {
			compatible = "fsl,imx7ulp-smc1";
			reg = <0x40410000 0x1000>;
		};

	};

	ahbbridge1: ahb-bridge1@40800000 {
		compatible = "fsl,aips-bus", "simple-bus";
		#address-cells = <1>;
		#size-cells = <1>;
		reg = <0x40800000 0x800000>;
		ranges;

		lpi2c6: lpi2c6@40A40000 {
			compatible = "fsl,imx7ulp-lpi2c";
			reg = <0x40A40000 0x10000>;
			interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&clks IMX7ULP_CLK_LPI2C6>,
				 <&clks IMX7ULP_CLK_NIC1_BUS_DIV>;
			clock-names = "per", "ipg";
			assigned-clocks = <&clks IMX7ULP_CLK_LPI2C6>;
			assigned-clock-parents = <&clks IMX7ULP_CLK_FIRC_BUS_CLK>;
			assigned-clock-rates = <48000000>;
			status = "disabled";
		};

		lpi2c7: lpi2c7@40A50000 {
			compatible = "fsl,imx7ulp-lpi2c";
			reg = <0x40A50000 0x10000>;
			interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&clks IMX7ULP_CLK_LPI2C7>,
				 <&clks IMX7ULP_CLK_NIC1_BUS_DIV>;
			clock-names = "per", "ipg";
			assigned-clocks = <&clks IMX7ULP_CLK_LPI2C7>;
			assigned-clock-parents = <&clks IMX7ULP_CLK_FIRC_BUS_CLK>;
			assigned-clock-rates = <48000000>;
			status = "disabled";
		};

		lpuart6: serial@40A60000 {
			compatible = "fsl,imx7ulp-lpuart";
			reg = <0x40A60000 0x1000>;
			interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&clks IMX7ULP_CLK_LPUART6>;
			clock-names = "ipg";
			assigned-clocks = <&clks IMX7ULP_CLK_LPUART6>;
			assigned-clock-parents = <&clks IMX7ULP_CLK_FIRC_BUS_CLK>;
			assigned-clock-rates = <48000000>;
			dmas = <&edma0 0 22>, <&edma0 0 21>;
			dma-names = "tx","rx";
			status = "disabled";
		};

		lpuart7: serial@40A70000 {
			compatible = "fsl,imx7ulp-lpuart";
			reg = <0x40A70000 0x1000>;
			interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&clks IMX7ULP_CLK_LPUART7>;
			clock-names = "ipg";
			assigned-clocks = <&clks IMX7ULP_CLK_LPUART7>;
			assigned-clock-parents = <&clks IMX7ULP_CLK_FIRC_BUS_CLK>;
			assigned-clock-rates = <48000000>;
			dmas = <&edma0 0 24>, <&edma0 0 23>;
			dma-names = "tx","rx";
			status = "disabled";
		};

		lcdif: lcdif@40AA0000 {
			compatible = "fsl,imx7ulp-lcdif";
			reg = <0x40aa0000 0x10000>;
			interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&clks IMX7ULP_CLK_DUMMY>,
				 <&clks IMX7ULP_CLK_LCDIF>,
				 <&clks IMX7ULP_CLK_DUMMY>;
			clock-names = "axi", "pix", "disp_axi";
			status = "disabled";
		};

		mipi_dsi: mipi_dsi@40A90000 {
			compatible = "fsl,imx7ulp-mipi-dsi";
			reg = <0x40A90000 0x10000>;
			interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&clks IMX7ULP_CLK_DSI>;
			clock-names = "mipi_dsi_clk";
			data-lanes-num = <2>;
			phy-ref-clkfreq = <24000000>;
			max-data-rate  = <800000000>;
			sim = <&sim>;
			status = "disabled";
		};

		mmdc: mmdc@40ab0000 {
			compatible = "fsl,imx7ulp-mmdc", "fsl,imx6q-mmdc";
			reg = <0x40ab0000 0x4000>;
		};

		pcc3: pcc3@40B30000 {
			compatible  = "fsl,imx7ulp-pcc3";
			reg = <0x40B30000 0x10000>;
		};

		iomuxc: iomuxc@4103D000 {
			compatible = "fsl,imx7ulp-iomuxc-0";
			reg = <0x4103D000 0x1000>;
			status = "disabled";
		};

		iomuxc1: iomuxc1@40ac0000 {
			compatible = "fsl,imx7ulp-iomuxc-1";
			reg = <0x40ac0000 0x1000>;
		};

		gpio_ptc: gpio@40ae0000 {
			compatible = "fsl,vf610-gpio";
			reg = <0x40ae0000 0x1000 0x400F0000 0x40>;
			gpio-controller;
			#gpio-cells = <2>;
			interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
			interrupt-controller;
			#interrupt-cells = <2>;
			clocks = <&clks IMX7ULP_CLK_RGPIO2P1>,
				 <&clks IMX7ULP_CLK_PCTLC>;
			clock-names = "port", "gpio";
			gpio-ranges = <&iomuxc1 0 0 32>;
		};

		gpio_ptd: gpio@40af0000 {
			compatible = "fsl,vf610-gpio";
			reg = <0x40af0000 0x1000 0x400F0040 0x40>;
			gpio-controller;
			#gpio-cells = <2>;
			interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
			interrupt-controller;
			#interrupt-cells = <2>;
			clocks = <&clks IMX7ULP_CLK_RGPIO2P1>,
				 <&clks IMX7ULP_CLK_PCTLD>;
			clock-names = "port", "gpio";
			gpio-ranges = <&iomuxc1 0 32 32>;
		};

		gpio_pte: gpio@40b00000 {
			compatible = "fsl,vf610-gpio";
			reg = <0x40b00000 0x1000 0x400F0080 0x40>;
			gpio-controller;
			#gpio-cells = <2>;
			interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
			interrupt-controller;
			#interrupt-cells = <2>;
			clocks = <&clks IMX7ULP_CLK_RGPIO2P1>,
				 <&clks IMX7ULP_CLK_PCTLE>;
			clock-names = "port", "gpio";
			gpio-ranges = <&iomuxc1 0 64 32>;
		};

		gpio_ptf: gpio@40b10000 {
			compatible = "fsl,vf610-gpio";
			reg = <0x40b10000 0x1000 0x400F00c0 0x40>;
			gpio-controller;
			#gpio-cells = <2>;
			interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
			interrupt-controller;
			#interrupt-cells = <2>;
			clocks = <&clks IMX7ULP_CLK_RGPIO2P1>,
				 <&clks IMX7ULP_CLK_PCTLF>;
			clock-names = "port", "gpio";
			gpio-ranges = <&iomuxc1 0 96 32>;
		};

		pmc0: pmc0@410a1000 {
			compatible = "fsl,imx7ulp-pmc0";
			reg = <0x410a1000 0x1000>;
		};

		sim: sim@410a3000 {
			compatible = "fsl,imx7ulp-sim", "syscon";
			reg = <0x410a3000 0x1000>;
		};

		qspi1: qspi@410A5000 {
			#address-cells = <1>;
			#size-cells = <0>;
			compatible = "fsl,imx7ulp-qspi";
			reg = <0x410A5000 0x1000>, <0xC0000000 0x10000000>;
			reg-names = "QuadSPI", "QuadSPI-memory";
			interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&clks IMX7ULP_CLK_DUMMY>,
				 <&clks IMX7ULP_CLK_DUMMY>;
			clock-names = "qspi_en", "qspi";
			status = "disabled";
		};

		ocotp: ocotp@410a6000 {
			compatible = "fsl,imx7ulp-ocotp";
			reg = <0x410a6000 0x4000>;
			clocks = <&clks IMX7ULP_CLK_DUMMY>;
		};

		gpu: gpu@41800000 {
			compatible = "fsl,imx6q-gpu";
			reg = <0x41800000 0x80000>, <0x41880000 0x80000>,
				<0x60000000 0x40000000>, <0x0 0x4000000>;
			reg-names = "iobase_3d", "iobase_2d",
				"phys_baseaddr", "contiguous_mem";
			interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>,
				<GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
			interrupt-names = "irq_3d", "irq_2d";
			clocks = <&clks IMX7ULP_CLK_GPU3D>,
				<&clks IMX7ULP_CLK_DUMMY>,
				<&clks IMX7ULP_CLK_GPU_DIV>,
				<&clks IMX7ULP_CLK_GPU2D>,
				<&clks IMX7ULP_CLK_NIC1_DIV>;
			clock-names = "gpu3d_clk", "gpu3d_shader_clk",
				"gpu3d_axi_clk", "gpu2d_clk",
				"gpu2d_axi_clk";
		};
	};

	heartbeat-rpmsg {
		compatible = "fsl,heartbeat-rpmsg";
	};

	rtc-rpmsg {
		compatible = "fsl,imx-rpmsg-rtc";
	};

	imx_ion {
		compatible = "fsl,mxc-ion";
		fsl,heap-id = <0>;
	};
};
