// SPDX-License-Identifier: GPL-2.0
#include <dt-bindings/clock/jz4780-cgu.h>
#include <dt-bindings/dma/jz4780-dma.h>

/ {
	#address-cells = <1>;
	#size-cells = <1>;
	compatible = "ingenic,jz4780";

	cpuintc: interrupt-controller {
		#address-cells = <0>;
		#interrupt-cells = <1>;
		interrupt-controller;
		compatible = "mti,cpu-interrupt-controller";
	};

	intc: interrupt-controller@10001000 {
		compatible = "ingenic,jz4780-intc";
		reg = <0x10001000 0x50>;

		interrupt-controller;
		#interrupt-cells = <1>;

		interrupt-parent = <&cpuintc>;
		interrupts = <2>;
	};

	ext: ext {
		compatible = "fixed-clock";
		#clock-cells = <0>;
	};

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

	cgu: jz4780-cgu@10000000 {
		compatible = "ingenic,jz4780-cgu";
		reg = <0x10000000 0x100>;

		clocks = <&ext>, <&rtc>;
		clock-names = "ext", "rtc";

		#clock-cells = <1>;
	};

	rtc_dev: rtc@10003000 {
		compatible = "ingenic,jz4780-rtc";
		reg = <0x10003000 0x4c>;

		interrupt-parent = <&intc>;
		interrupts = <32>;

		clocks = <&cgu JZ4780_CLK_RTCLK>;
		clock-names = "rtc";
	};

	pinctrl: pin-controller@10010000 {
		compatible = "ingenic,jz4780-pinctrl";
		reg = <0x10010000 0x600>;

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

		gpa: gpio@0 {
			compatible = "ingenic,jz4780-gpio";
			reg = <0>;

			gpio-controller;
			gpio-ranges = <&pinctrl 0 0 32>;
			#gpio-cells = <2>;

			interrupt-controller;
			#interrupt-cells = <2>;

			interrupt-parent = <&intc>;
			interrupts = <17>;
		};

		gpb: gpio@1 {
			compatible = "ingenic,jz4780-gpio";
			reg = <1>;

			gpio-controller;
			gpio-ranges = <&pinctrl 0 32 32>;
			#gpio-cells = <2>;

			interrupt-controller;
			#interrupt-cells = <2>;

			interrupt-parent = <&intc>;
			interrupts = <16>;
		};

		gpc: gpio@2 {
			compatible = "ingenic,jz4780-gpio";
			reg = <2>;

			gpio-controller;
			gpio-ranges = <&pinctrl 0 64 32>;
			#gpio-cells = <2>;

			interrupt-controller;
			#interrupt-cells = <2>;

			interrupt-parent = <&intc>;
			interrupts = <15>;
		};

		gpd: gpio@3 {
			compatible = "ingenic,jz4780-gpio";
			reg = <3>;

			gpio-controller;
			gpio-ranges = <&pinctrl 0 96 32>;
			#gpio-cells = <2>;

			interrupt-controller;
			#interrupt-cells = <2>;

			interrupt-parent = <&intc>;
			interrupts = <14>;
		};

		gpe: gpio@4 {
			compatible = "ingenic,jz4780-gpio";
			reg = <4>;

			gpio-controller;
			gpio-ranges = <&pinctrl 0 128 32>;
			#gpio-cells = <2>;

			interrupt-controller;
			#interrupt-cells = <2>;

			interrupt-parent = <&intc>;
			interrupts = <13>;
		};

		gpf: gpio@5 {
			compatible = "ingenic,jz4780-gpio";
			reg = <5>;

			gpio-controller;
			gpio-ranges = <&pinctrl 0 160 32>;
			#gpio-cells = <2>;

			interrupt-controller;
			#interrupt-cells = <2>;

			interrupt-parent = <&intc>;
			interrupts = <12>;
		};
	};

	uart0: serial@10030000 {
		compatible = "ingenic,jz4780-uart";
		reg = <0x10030000 0x100>;

		interrupt-parent = <&intc>;
		interrupts = <51>;

		clocks = <&ext>, <&cgu JZ4780_CLK_UART0>;
		clock-names = "baud", "module";

		status = "disabled";
	};

	uart1: serial@10031000 {
		compatible = "ingenic,jz4780-uart";
		reg = <0x10031000 0x100>;

		interrupt-parent = <&intc>;
		interrupts = <50>;

		clocks = <&ext>, <&cgu JZ4780_CLK_UART1>;
		clock-names = "baud", "module";

		status = "disabled";
	};

	uart2: serial@10032000 {
		compatible = "ingenic,jz4780-uart";
		reg = <0x10032000 0x100>;

		interrupt-parent = <&intc>;
		interrupts = <49>;

		clocks = <&ext>, <&cgu JZ4780_CLK_UART2>;
		clock-names = "baud", "module";

		status = "disabled";
	};

	uart3: serial@10033000 {
		compatible = "ingenic,jz4780-uart";
		reg = <0x10033000 0x100>;

		interrupt-parent = <&intc>;
		interrupts = <48>;

		clocks = <&ext>, <&cgu JZ4780_CLK_UART3>;
		clock-names = "baud", "module";

		status = "disabled";
	};

	uart4: serial@10034000 {
		compatible = "ingenic,jz4780-uart";
		reg = <0x10034000 0x100>;

		interrupt-parent = <&intc>;
		interrupts = <34>;

		clocks = <&ext>, <&cgu JZ4780_CLK_UART4>;
		clock-names = "baud", "module";

		status = "disabled";
	};

	watchdog: watchdog@10002000 {
		compatible = "ingenic,jz4780-watchdog";
		reg = <0x10002000 0x10>;

		clocks = <&cgu JZ4780_CLK_RTCLK>;
		clock-names = "rtc";
	};

	nemc: nemc@13410000 {
		compatible = "ingenic,jz4780-nemc";
		reg = <0x13410000 0x10000>;
		#address-cells = <2>;
		#size-cells = <1>;
		ranges = <1 0 0x1b000000 0x1000000
			  2 0 0x1a000000 0x1000000
			  3 0 0x19000000 0x1000000
			  4 0 0x18000000 0x1000000
			  5 0 0x17000000 0x1000000
			  6 0 0x16000000 0x1000000>;

		clocks = <&cgu JZ4780_CLK_NEMC>;

		status = "disabled";
	};

	dma: dma@13420000 {
		compatible = "ingenic,jz4780-dma";
		reg = <0x13420000 0x10000>;
		#dma-cells = <2>;

		interrupt-parent = <&intc>;
		interrupts = <10>;

		clocks = <&cgu JZ4780_CLK_PDMA>;
	};

	mmc0: mmc@13450000 {
		compatible = "ingenic,jz4780-mmc";
		reg = <0x13450000 0x1000>;

		interrupt-parent = <&intc>;
		interrupts = <37>;

		clocks = <&cgu JZ4780_CLK_MSC0>;
		clock-names = "mmc";

		cap-sd-highspeed;
		cap-mmc-highspeed;
		cap-sdio-irq;
		dmas = <&dma JZ4780_DMA_MSC0_RX 0xffffffff>,
		       <&dma JZ4780_DMA_MSC0_TX 0xffffffff>;
		dma-names = "rx", "tx";

		status = "disabled";
	};

	mmc1: mmc@13460000 {
		compatible = "ingenic,jz4780-mmc";
		reg = <0x13460000 0x1000>;

		interrupt-parent = <&intc>;
		interrupts = <36>;

		clocks = <&cgu JZ4780_CLK_MSC1>;
		clock-names = "mmc";

		cap-sd-highspeed;
		cap-mmc-highspeed;
		cap-sdio-irq;
		dmas = <&dma JZ4780_DMA_MSC1_RX 0xffffffff>,
		       <&dma JZ4780_DMA_MSC1_TX 0xffffffff>;
		dma-names = "rx", "tx";

		status = "disabled";
	};

	bch: bch@134d0000 {
		compatible = "ingenic,jz4780-bch";
		reg = <0x134d0000 0x10000>;

		clocks = <&cgu JZ4780_CLK_BCH>;

		status = "disabled";
	};
};
