// SPDX-License-Identifier: GPL-2.0
/*
 * Copyright (C) 2017 Texas Instruments Incorporated - https://www.ti.com/
 */

#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include "am57xx-idk-common.dtsi"
#include "dra74-ipu-dsp-common.dtsi"

/ {
	memory@0 {
		device_type = "memory";
		reg = <0x0 0x80000000 0x0 0x80000000>;
	};

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

		ipu2_memory_region: ipu2-memory@95800000 {
			compatible = "shared-dma-pool";
			reg = <0x0 0x95800000 0x0 0x3800000>;
			reusable;
			status = "okay";
		};

		dsp1_memory_region: dsp1-memory@99000000 {
			compatible = "shared-dma-pool";
			reg = <0x0 0x99000000 0x0 0x4000000>;
			reusable;
			status = "okay";
		};

		ipu1_memory_region: ipu1-memory@9d000000 {
			compatible = "shared-dma-pool";
			reg = <0x0 0x9d000000 0x0 0x2000000>;
			reusable;
			status = "okay";
		};

		dsp2_memory_region: dsp2-memory@9f000000 {
			compatible = "shared-dma-pool";
			reg = <0x0 0x9f000000 0x0 0x800000>;
			reusable;
			status = "okay";
		};
	};

	status-leds {
		compatible = "gpio-leds";
		cpu0-led {
			label = "status0:red:cpu0";
			gpios = <&gpio4 0 GPIO_ACTIVE_HIGH>;
			default-state = "off";
			linux,default-trigger = "cpu0";
		};

		usr0-led {
			label = "status0:green:usr";
			gpios = <&gpio3 11 GPIO_ACTIVE_HIGH>;
			default-state = "off";
		};

		heartbeat-led {
			label = "status0:blue:heartbeat";
			gpios = <&gpio3 12 GPIO_ACTIVE_HIGH>;
			default-state = "off";
			linux,default-trigger = "heartbeat";
		};

		cpu1-led {
			label = "status1:red:cpu1";
			gpios = <&gpio3 10 GPIO_ACTIVE_HIGH>;
			default-state = "off";
			linux,default-trigger = "cpu1";
		};

		usr1-led {
			label = "status1:green:usr";
			gpios = <&gpio7 23 GPIO_ACTIVE_HIGH>;
			default-state = "off";
		};

		mmc0-led {
			label = "status1:blue:mmc0";
			gpios = <&gpio7 22 GPIO_ACTIVE_HIGH>;
			default-state = "off";
			linux,default-trigger = "mmc0";
		};
	};

	idk-leds {
		status = "disabled";
		compatible = "gpio-leds";
		red0-led {
			label = "idk:red0";
			gpios = <&gpio6 19 GPIO_ACTIVE_HIGH>;
			default-state = "off";
		};

		green0-led {
			label = "idk:green0";
			gpios = <&gpio3 9 GPIO_ACTIVE_HIGH>;
			default-state = "off";
		};

		blue0-led {
			label = "idk:blue0";
			gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>;
			default-state = "off";
		};

		red1-led {
			label = "idk:red1";
			gpios = <&gpio6 7 GPIO_ACTIVE_HIGH>;
			default-state = "off";
		};

		green1-led {
			label = "idk:green1";
			gpios = <&gpio2 29 GPIO_ACTIVE_HIGH>;
			default-state = "off";
		};

		blue1-led {
			label = "idk:blue1";
			gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;
			default-state = "off";
		};

		red2-led {
			label = "idk:red2";
			gpios = <&gpio7 9 GPIO_ACTIVE_HIGH>;
			default-state = "off";
		};

		green2-led {
			label = "idk:green2";
			gpios = <&gpio7 8 GPIO_ACTIVE_HIGH>;
			default-state = "off";
		};

		blue2-led {
			label = "idk:blue2";
			gpios = <&gpio7 10 GPIO_ACTIVE_HIGH>;
			default-state = "off";
		};

		red3-led {
			label = "idk:red3";
			gpios = <&gpio7 11 GPIO_ACTIVE_HIGH>;
			default-state = "off";
		};

		green3-led {
			label = "idk:green3";
			gpios = <&gpio3 17 GPIO_ACTIVE_HIGH>;
			default-state = "off";
		};

		blue3-led {
			label = "idk:blue3";
			gpios = <&gpio3 18 GPIO_ACTIVE_HIGH>;
			default-state = "off";
		};
	};
};

&extcon_usb2 {
	id-gpio = <&gpio3 16 GPIO_ACTIVE_HIGH>;
	vbus-gpio = <&gpio3 26 GPIO_ACTIVE_HIGH>;
};

&sn65hvs882 {
	load-gpios = <&gpio3 19 GPIO_ACTIVE_LOW>;
};

&pcie1_rc {
	status = "okay";
	gpios = <&gpio3 23 GPIO_ACTIVE_HIGH>;
};

&ipu2 {
	status = "okay";
	memory-region = <&ipu2_memory_region>;
};

&ipu1 {
	status = "okay";
	memory-region = <&ipu1_memory_region>;
};

&dsp1 {
	status = "okay";
	memory-region = <&dsp1_memory_region>;
};

&dsp2 {
	status = "okay";
	memory-region = <&dsp2_memory_region>;
};