// SPDX-License-Identifier: GPL-2.0
/*
 * Copyright (c) Siemens AG, 2018-2021
 *
 * Authors:
 *   Le Jin <le.jin@siemens.com>
 *   Jan Kiszka <jan.kiszka@siemens.com>
 *
 * Common bits of the IOT2050 Basic and Advanced variants, PG1 and PG2
 */

#include "k3-am654.dtsi"
#include <dt-bindings/phy/phy.h>

/ {
	aliases {
		spi0 = &mcu_spi0;
		mmc0 = &sdhci1;
		mmc1 = &sdhci0;
	};

	chosen {
		stdout-path = "serial3:115200n8";
	};

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

		secure_ddr: secure-ddr@9e800000 {
			reg = <0 0x9e800000 0 0x01800000>; /* for OP-TEE */
			alignment = <0x1000>;
			no-map;
		};

		mcu_r5fss0_core0_dma_memory_region: r5f-dma-memory@a0000000 {
			compatible = "shared-dma-pool";
			reg = <0 0xa0000000 0 0x100000>;
			no-map;
		};

		mcu_r5fss0_core0_memory_region: r5f-memory@a0100000 {
			compatible = "shared-dma-pool";
			reg = <0 0xa0100000 0 0xf00000>;
			no-map;
		};

		mcu_r5fss0_core1_dma_memory_region: r5f-dma-memory@a1000000 {
			compatible = "shared-dma-pool";
			reg = <0 0xa1000000 0 0x100000>;
			no-map;
		};

		mcu_r5fss0_core1_memory_region: r5f-memory@a1100000 {
			compatible = "shared-dma-pool";
			reg = <0 0xa1100000 0 0xf00000>;
			no-map;
		};

		rtos_ipc_memory_region: ipc-memories@a2000000 {
			reg = <0x00 0xa2000000 0x00 0x00200000>;
			alignment = <0x1000>;
			no-map;
		};
	};

	leds {
		compatible = "gpio-leds";
		pinctrl-names = "default";
		pinctrl-0 = <&leds_pins_default>;

		status-led-red {
			gpios = <&wkup_gpio0 32 GPIO_ACTIVE_HIGH>;
			panic-indicator;
		};

		status-led-green {
			gpios = <&wkup_gpio0 24 GPIO_ACTIVE_HIGH>;
		};

		user-led1-red {
			gpios = <&pcal9535_3 14 GPIO_ACTIVE_HIGH>;
		};

		user-led1-green {
			gpios = <&pcal9535_2 15 GPIO_ACTIVE_HIGH>;
		};

		user-led2-red {
			gpios = <&wkup_gpio0 17 GPIO_ACTIVE_HIGH>;
		};

		user-led2-green {
			gpios = <&wkup_gpio0 22 GPIO_ACTIVE_HIGH>;
		};
	};

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

&wkup_pmx0 {
	wkup_i2c0_pins_default: wkup-i2c0-default-pins {
		pinctrl-single,pins = <
			/* (AC7) WKUP_I2C0_SCL */
			AM65X_WKUP_IOPAD(0x00e0, PIN_INPUT,  0)
			/* (AD6) WKUP_I2C0_SDA */
			AM65X_WKUP_IOPAD(0x00e4, PIN_INPUT,  0)
		>;
	};

	mcu_i2c0_pins_default: mcu-i2c0-default-pins {
		pinctrl-single,pins = <
			/* (AD8) MCU_I2C0_SCL */
			AM65X_WKUP_IOPAD(0x00e8, PIN_INPUT,  0)
			/* (AD7) MCU_I2C0_SDA */
			AM65X_WKUP_IOPAD(0x00ec, PIN_INPUT,  0)
		>;
	};

	arduino_i2c_aio_switch_pins_default: arduino-i2c-aio-switch-default-pins {
		pinctrl-single,pins = <
			/* (R2) WKUP_GPIO0_21 */
			AM65X_WKUP_IOPAD(0x0024, PIN_OUTPUT, 7)
		>;
	};

	push_button_pins_default: push-button-default-pins {
		pinctrl-single,pins = <
			/* (T1) MCU_OSPI1_CLK.WKUP_GPIO0_25 */
			AM65X_WKUP_IOPAD(0x0034, PIN_INPUT,  7)
		>;
	};

	arduino_uart_pins_default: arduino-uart-default-pins {
		pinctrl-single,pins = <
			/* (P4) MCU_UART0_RXD */
			AM65X_WKUP_IOPAD(0x0044, PIN_INPUT,  4)
			/* (P5) MCU_UART0_TXD */
			AM65X_WKUP_IOPAD(0x0048, PIN_OUTPUT, 4)
		>;
	};

	arduino_io_d2_to_d3_pins_default: arduino-io-d2-to-d3-default-pins {
		pinctrl-single,pins = <
			/* (P1) WKUP_GPIO0_31 */
			AM65X_WKUP_IOPAD(0x004C, PIN_OUTPUT, 7)
			/* (N3) WKUP_GPIO0_33 */
			AM65X_WKUP_IOPAD(0x0054, PIN_OUTPUT, 7)
		>;
	};

	arduino_io_oe_pins_default: arduino-io-oe-default-pins {
		pinctrl-single,pins = <
			/* (N4) WKUP_GPIO0_34 */
			AM65X_WKUP_IOPAD(0x0058, PIN_OUTPUT, 7)
			/* (M2) WKUP_GPIO0_36 */
			AM65X_WKUP_IOPAD(0x0060, PIN_OUTPUT, 7)
			/* (M3) WKUP_GPIO0_37 */
			AM65X_WKUP_IOPAD(0x0064, PIN_OUTPUT, 7)
			/* (M4) WKUP_GPIO0_38 */
			AM65X_WKUP_IOPAD(0x0068, PIN_OUTPUT, 7)
			/* (M1) WKUP_GPIO0_41 */
			AM65X_WKUP_IOPAD(0x0074, PIN_OUTPUT, 7)
		>;
	};

	mcu_fss0_ospi0_pins_default: mcu-fss0-ospi0-default-pins {
		pinctrl-single,pins = <
			/* (V1) MCU_OSPI0_CLK */
			AM65X_WKUP_IOPAD(0x0000, PIN_OUTPUT, 0)
			/* (U2) MCU_OSPI0_DQS */
			AM65X_WKUP_IOPAD(0x0008, PIN_INPUT,  0)
			/* (U4) MCU_OSPI0_D0 */
			AM65X_WKUP_IOPAD(0x000c, PIN_INPUT,  0)
			/* (U5) MCU_OSPI0_D1 */
			AM65X_WKUP_IOPAD(0x0010, PIN_INPUT,  0)
			/* (R4) MCU_OSPI0_CSn0 */
			AM65X_WKUP_IOPAD(0x002c, PIN_OUTPUT, 0)
		>;
	};

	db9_com_mode_pins_default: db9-com-mode-default-pins {
		pinctrl-single,pins = <
			/* (AD3) WKUP_GPIO0_5, used as uart0 mode 0 */
			AM65X_WKUP_IOPAD(0x00c4, PIN_OUTPUT, 7)
			/* (AC3) WKUP_GPIO0_4, used as uart0 mode 1 */
			AM65X_WKUP_IOPAD(0x00c0, PIN_OUTPUT, 7)
			/* (AC1) WKUP_GPIO0_7, used as uart0 term */
			AM65X_WKUP_IOPAD(0x00cc, PIN_OUTPUT, 7)
			/* (AC2) WKUP_GPIO0_6, used as uart0 en */
			AM65X_WKUP_IOPAD(0x00c8, PIN_OUTPUT, 7)
		>;
	};

	leds_pins_default: leds-default-pins {
		pinctrl-single,pins = <
			/* (T2) WKUP_GPIO0_17, used as user led1 red */
			AM65X_WKUP_IOPAD(0x0014, PIN_OUTPUT, 7)
			/* (R3) WKUP_GPIO0_22, used as user led1 green */
			AM65X_WKUP_IOPAD(0x0028, PIN_OUTPUT, 7)
			/* (R5) WKUP_GPIO0_24, used as status led red */
			AM65X_WKUP_IOPAD(0x0030, PIN_OUTPUT, 7)
			/* (N2) WKUP_GPIO0_32, used as status led green */
			AM65X_WKUP_IOPAD(0x0050, PIN_OUTPUT, 7)
		>;
	};

	mcu_spi0_pins_default: mcu-spi0-default-pins {
		pinctrl-single,pins = <
			/* (Y1) MCU_SPI0_CLK */
			AM65X_WKUP_IOPAD(0x0090, PIN_INPUT,  0)
			/* (Y3) MCU_SPI0_D0 */
			AM65X_WKUP_IOPAD(0x0094, PIN_INPUT,  0)
			/* (Y2) MCU_SPI0_D1 */
			AM65X_WKUP_IOPAD(0x0098, PIN_INPUT,  0)
			/* (Y4) MCU_SPI0_CS0 */
			AM65X_WKUP_IOPAD(0x009c, PIN_OUTPUT, 0)
		>;
	};

	minipcie_pins_default: minipcie-default-pins {
		pinctrl-single,pins = <
			/* (P2) MCU_OSPI1_DQS.WKUP_GPIO0_27 */
			AM65X_WKUP_IOPAD(0x003C, PIN_OUTPUT, 7)
		>;
	};
};

&main_pmx0 {
	main_uart1_pins_default: main-uart1-default-pins {
		pinctrl-single,pins = <
			AM65X_IOPAD(0x0174, PIN_INPUT,  6)  /* (AE23) UART1_RXD */
			AM65X_IOPAD(0x014c, PIN_OUTPUT, 6)  /* (AD23) UART1_TXD */
			AM65X_IOPAD(0x0178, PIN_INPUT,  6)  /* (AD22) UART1_CTSn */
			AM65X_IOPAD(0x017c, PIN_OUTPUT, 6)  /* (AC21) UART1_RTSn */
		>;
	};

	main_i2c3_pins_default: main-i2c3-default-pins {
		pinctrl-single,pins = <
			AM65X_IOPAD(0x01c0, PIN_INPUT,  2)  /* (AF13) I2C3_SCL */
			AM65X_IOPAD(0x01d4, PIN_INPUT,  2)  /* (AG12) I2C3_SDA */
		>;
	};

	main_mmc1_pins_default: main-mmc1-default-pins {
		pinctrl-single,pins = <
			AM65X_IOPAD(0x02d4, PIN_INPUT_PULLDOWN, 0)  /* (C27) MMC1_CLK */
			AM65X_IOPAD(0x02d8, PIN_INPUT_PULLUP,   0)  /* (C28) MMC1_CMD */
			AM65X_IOPAD(0x02d0, PIN_INPUT_PULLUP,   0)  /* (D28) MMC1_DAT0 */
			AM65X_IOPAD(0x02cc, PIN_INPUT_PULLUP,   0)  /* (E27) MMC1_DAT1 */
			AM65X_IOPAD(0x02c8, PIN_INPUT_PULLUP,   0)  /* (D26) MMC1_DAT2 */
			AM65X_IOPAD(0x02c4, PIN_INPUT_PULLUP,   0)  /* (D27) MMC1_DAT3 */
			AM65X_IOPAD(0x02dc, PIN_INPUT_PULLUP,   0)  /* (B24) MMC1_SDCD */
			AM65X_IOPAD(0x02e0, PIN_INPUT_PULLUP,   0)  /* (C24) MMC1_SDWP */
		>;
	};

	usb0_pins_default: usb0-default-pins {
		pinctrl-single,pins = <
			AM65X_IOPAD(0x02bc, PIN_OUTPUT, 0)  /* (AD9) USB0_DRVVBUS */
		>;
	};

	usb1_pins_default: usb1-default-pins {
		pinctrl-single,pins = <
			AM65X_IOPAD(0x02c0, PIN_OUTPUT, 0)  /* (AC8) USB1_DRVVBUS */
		>;
	};

	arduino_io_d4_to_d9_pins_default: arduino-io-d4-to-d9-default-pins {
		pinctrl-single,pins = <
			AM65X_IOPAD(0x0084, PIN_OUTPUT, 7)  /* (AG18) GPIO0_33 */
			AM65X_IOPAD(0x008C, PIN_OUTPUT, 7)  /* (AF17) GPIO0_35 */
			AM65X_IOPAD(0x0098, PIN_OUTPUT, 7)  /* (AH16) GPIO0_38 */
			AM65X_IOPAD(0x00AC, PIN_OUTPUT, 7)  /* (AH15) GPIO0_43 */
			AM65X_IOPAD(0x00C0, PIN_OUTPUT, 7)  /* (AG15) GPIO0_48 */
			AM65X_IOPAD(0x00CC, PIN_OUTPUT, 7)  /* (AD15) GPIO0_51 */
		>;
	};

	dss_vout1_pins_default: dss-vout1-default-pins {
		pinctrl-single,pins = <
			AM65X_IOPAD(0x0000, PIN_OUTPUT, 1)  /* VOUT1_DATA0 */
			AM65X_IOPAD(0x0004, PIN_OUTPUT, 1)  /* VOUT1_DATA1 */
			AM65X_IOPAD(0x0008, PIN_OUTPUT, 1)  /* VOUT1_DATA2 */
			AM65X_IOPAD(0x000c, PIN_OUTPUT, 1)  /* VOUT1_DATA3 */
			AM65X_IOPAD(0x0010, PIN_OUTPUT, 1)  /* VOUT1_DATA4 */
			AM65X_IOPAD(0x0014, PIN_OUTPUT, 1)  /* VOUT1_DATA5 */
			AM65X_IOPAD(0x0018, PIN_OUTPUT, 1)  /* VOUT1_DATA6 */
			AM65X_IOPAD(0x001c, PIN_OUTPUT, 1)  /* VOUT1_DATA7 */
			AM65X_IOPAD(0x0020, PIN_OUTPUT, 1)  /* VOUT1_DATA8 */
			AM65X_IOPAD(0x0024, PIN_OUTPUT, 1)  /* VOUT1_DATA9 */
			AM65X_IOPAD(0x0028, PIN_OUTPUT, 1)  /* VOUT1_DATA10 */
			AM65X_IOPAD(0x002c, PIN_OUTPUT, 1)  /* VOUT1_DATA11 */
			AM65X_IOPAD(0x0030, PIN_OUTPUT, 1)  /* VOUT1_DATA12 */
			AM65X_IOPAD(0x0034, PIN_OUTPUT, 1)  /* VOUT1_DATA13 */
			AM65X_IOPAD(0x0038, PIN_OUTPUT, 1)  /* VOUT1_DATA14 */
			AM65X_IOPAD(0x003c, PIN_OUTPUT, 1)  /* VOUT1_DATA15 */
			AM65X_IOPAD(0x0040, PIN_OUTPUT, 1)  /* VOUT1_DATA16 */
			AM65X_IOPAD(0x0044, PIN_OUTPUT, 1)  /* VOUT1_DATA17 */
			AM65X_IOPAD(0x0048, PIN_OUTPUT, 1)  /* VOUT1_DATA18 */
			AM65X_IOPAD(0x004c, PIN_OUTPUT, 1)  /* VOUT1_DATA19 */
			AM65X_IOPAD(0x0050, PIN_OUTPUT, 1)  /* VOUT1_DATA20 */
			AM65X_IOPAD(0x0054, PIN_OUTPUT, 1)  /* VOUT1_DATA21 */
			AM65X_IOPAD(0x0058, PIN_OUTPUT, 1)  /* VOUT1_DATA22 */
			AM65X_IOPAD(0x005c, PIN_OUTPUT, 1)  /* VOUT1_DATA23 */
			AM65X_IOPAD(0x0060, PIN_OUTPUT, 1)  /* VOUT1_VSYNC */
			AM65X_IOPAD(0x0064, PIN_OUTPUT, 1)  /* VOUT1_HSYNC */
			AM65X_IOPAD(0x0068, PIN_OUTPUT, 1)  /* VOUT1_PCLK */
			AM65X_IOPAD(0x006c, PIN_OUTPUT, 1)  /* VOUT1_DE */
		>;
	};

	dp_pins_default: dp-default-pins {
		pinctrl-single,pins = <
			AM65X_IOPAD(0x0078, PIN_OUTPUT, 7)  /* (AF18) DP rst_n */
		>;
	};

	main_i2c2_pins_default: main-i2c2-default-pins {
		pinctrl-single,pins = <
			AM65X_IOPAD(0x0074, PIN_INPUT,  5)  /* (T27) I2C2_SCL */
			AM65X_IOPAD(0x0070, PIN_INPUT,  5)  /* (R25) I2C2_SDA */
		>;
	};
};

&main_pmx1 {
	main_i2c0_pins_default: main-i2c0-default-pins {
		pinctrl-single,pins = <
			AM65X_IOPAD(0x0000, PIN_INPUT,  0)  /* (D20) I2C0_SCL */
			AM65X_IOPAD(0x0004, PIN_INPUT,  0)  /* (C21) I2C0_SDA */
		>;
	};

	main_i2c1_pins_default: main-i2c1-default-pins {
		pinctrl-single,pins = <
			AM65X_IOPAD(0x0008, PIN_INPUT,  0)  /* (B21) I2C1_SCL */
			AM65X_IOPAD(0x000c, PIN_INPUT,  0)  /* (E21) I2C1_SDA */
		>;
	};

	ecap0_pins_default: ecap0-default-pins {
		pinctrl-single,pins = <
			AM65X_IOPAD(0x0010, PIN_INPUT,  0)  /* (D21) ECAP0_IN_APWM_OUT */
		>;
	};
};

&wkup_uart0 {
	/* Wakeup UART is used by System firmware */
	status = "reserved";
};

&main_uart1 {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&main_uart1_pins_default>;
};

&mcu_uart0 {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&arduino_uart_pins_default>;
};

&main_gpio0 {
	pinctrl-names = "default";
	pinctrl-0 = <&arduino_io_d4_to_d9_pins_default>;
	gpio-line-names =
		"main_gpio0-base", "", "", "", "", "", "", "", "", "",
		"", "", "", "", "", "", "", "", "", "",
		"", "", "", "", "", "", "", "", "", "",
		"", "", "", "IO4", "", "IO5", "", "", "IO6", "",
		"", "", "", "IO7", "", "", "", "", "IO8", "",
		"", "IO9";
};

&wkup_gpio0 {
	pinctrl-names = "default";
	pinctrl-0 =
		<&arduino_io_d2_to_d3_pins_default>,
		<&arduino_i2c_aio_switch_pins_default>,
		<&arduino_io_oe_pins_default>,
		<&push_button_pins_default>,
		<&db9_com_mode_pins_default>;
	gpio-line-names =
		/* 0..9 */
		"wkup_gpio0-base", "", "", "", "UART0-mode1", "UART0-mode0",
		"UART0-enable", "UART0-terminate", "", "WIFI-disable",
		/* 10..19 */
		"", "", "", "", "", "", "", "", "", "",
		/* 20..29 */
		"", "A4A5-I2C-mux", "", "", "", "USER-button", "", "", "","IO0",
		/* 30..39 */
		"IO1", "IO2", "", "IO3", "IO17-direction", "A5",
		"IO16-direction", "IO15-direction", "IO14-direction", "A3",
		/* 40..49 */
		"", "IO18-direction", "A4", "A2", "A1", "A0", "", "", "IO13",
		"IO11",
		/* 50..51 */
		"IO12", "IO10";
};

&wkup_i2c0 {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&wkup_i2c0_pins_default>;
	clock-frequency = <400000>;
};

&mcu_i2c0 {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&mcu_i2c0_pins_default>;
	clock-frequency = <400000>;

	psu: regulator@60 {
		compatible = "ti,tps62363";
		reg = <0x60>;
		regulator-name = "tps62363-vout";
		regulator-min-microvolt = <500000>;
		regulator-max-microvolt = <1500000>;
		regulator-boot-on;
		ti,vsel0-state-high;
		ti,vsel1-state-high;
		ti,enable-vout-discharge;
	};

	/* D4200 */
	pcal9535_1: gpio@20 {
		compatible = "nxp,pcal9535";
		reg = <0x20>;
		#gpio-cells = <2>;
		gpio-controller;
		gpio-line-names =
			"A0-pull", "A1-pull", "A2-pull", "A3-pull", "A4-pull",
			"A5-pull", "", "",
			"IO14-enable", "IO15-enable", "IO16-enable",
			"IO17-enable", "IO18-enable", "IO19-enable";
	};

	/* D4201 */
	pcal9535_2: gpio@21 {
		compatible = "nxp,pcal9535";
		reg = <0x21>;
		#gpio-cells = <2>;
		gpio-controller;
		gpio-line-names =
			"IO0-direction", "IO1-direction", "IO2-direction",
			"IO3-direction", "IO4-direction", "IO5-direction",
			"IO6-direction", "IO7-direction",
			"IO8-direction", "IO9-direction", "IO10-direction",
			"IO11-direction", "IO12-direction", "IO13-direction",
			"IO19-direction";
	};

	/* D4202 */
	pcal9535_3: gpio@25 {
		compatible = "nxp,pcal9535";
		reg = <0x25>;
		#gpio-cells = <2>;
		gpio-controller;
		gpio-line-names =
			"IO0-pull", "IO1-pull", "IO2-pull", "IO3-pull",
			"IO4-pull", "IO5-pull", "IO6-pull", "IO7-pull",
			"IO8-pull", "IO9-pull", "IO10-pull", "IO11-pull",
			"IO12-pull", "IO13-pull";
	};
};

&main_i2c0 {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&main_i2c0_pins_default>;
	clock-frequency = <400000>;

	rtc: rtc@51 {
		compatible = "nxp,pcf8563";
		reg = <0x51>;
	};

	eeprom: eeprom@54 {
		compatible = "atmel,24c08";
		reg = <0x54>;
		pagesize = <16>;
	};
};

&main_i2c1 {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&main_i2c1_pins_default>;
	clock-frequency = <400000>;
};

&main_i2c2 {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&main_i2c2_pins_default>;
	clock-frequency = <400000>;
};

&main_i2c3 {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&main_i2c3_pins_default>;
	clock-frequency = <400000>;

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

	edp-bridge@f {
		compatible = "toshiba,tc358767";
		reg = <0x0f>;
		pinctrl-names = "default";
		pinctrl-0 = <&dp_pins_default>;
		reset-gpios = <&main_gpio0 30 GPIO_ACTIVE_HIGH>;

		clock-names = "ref";
		clocks = <&dp_refclk>;

		toshiba,hpd-pin = <0>;

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

			port@1 {
				reg = <1>;

				bridge_in: endpoint {
					remote-endpoint = <&dpi_out>;
				};
			};
		};
	};
};

&mcu_cpsw {
	status = "disabled";
};

&ecap0 {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&ecap0_pins_default>;
};

&sdhci1 {
	pinctrl-names = "default";
	pinctrl-0 = <&main_mmc1_pins_default>;
	ti,driver-strength-ohm = <50>;
	disable-wp;
};

&usb0 {
	pinctrl-names = "default";
	pinctrl-0 = <&usb0_pins_default>;
	dr_mode = "host";
};

&usb1 {
	pinctrl-names = "default";
	pinctrl-0 = <&usb1_pins_default>;
	dr_mode = "host";
};

&mcu_spi0 {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&mcu_spi0_pins_default>;

	#address-cells = <1>;
	#size-cells = <0>;
	ti,pindir-d0-out-d1-in;
};

&tscadc1 {
	status = "okay";
	adc {
		ti,adc-channels = <0 1 2 3 4 5>;
	};
};

&ospi0 {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&mcu_fss0_ospi0_pins_default>;

	flash@0 {
		compatible = "jedec,spi-nor";
		reg = <0x0>;
		spi-tx-bus-width = <1>;
		spi-rx-bus-width = <1>;
		spi-max-frequency = <50000000>;
		cdns,tshsl-ns = <60>;
		cdns,tsd2d-ns = <60>;
		cdns,tchsh-ns = <60>;
		cdns,tslch-ns = <60>;
		cdns,read-delay = <2>;

		partitions {
			compatible = "fixed-partitions";
			#address-cells = <1>;
			#size-cells = <1>;

			seboot@0 {
				label = "seboot";
				reg = <0x0 0x180000>; /* 1.5M */
			};

			tispl@180000 {
				label = "tispl";
				reg = <0x180000 0x200000>; /* 2M */
			};

			u-boot@380000 {
				label = "u-boot";
				reg = <0x380000 0x300000>; /* 3M */
			};

			env@680000 {
				label = "env";
				reg = <0x680000 0x20000>; /* 128K */
			};

			env-backup@6a0000 {
				label = "env.backup";
				reg = <0x6a0000 0x20000>; /* 128K */
			};

			otpcmd@6c0000 {
				label = "otpcmd";
				reg = <0x6c0000 0x10000>; /* 64K */
			};

			unused@6d0000 {
				label = "unused";
				reg = <0x6d0000 0x7b0000>; /* 7872K */
			};

			seboot-backup@e80000 {
				label = "seboot.backup";
				reg = <0xe80000 0x180000>; /* 1.5M */
			};
		};
	};
};

&dss {
	pinctrl-names = "default";
	pinctrl-0 = <&dss_vout1_pins_default>;

	assigned-clocks = <&k3_clks 67 2>;
	assigned-clock-parents = <&k3_clks 67 5>;
};

&dss_ports {
	#address-cells = <1>;
	#size-cells = <0>;
	port@1 {
		reg = <1>;

		dpi_out: endpoint {
			remote-endpoint = <&bridge_in>;
		};
	};
};

&pcie1_rc {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&minipcie_pins_default>;

	num-lanes = <1>;
	phys = <&serdes1 PHY_TYPE_PCIE 0>;
	phy-names = "pcie-phy0";
	reset-gpios = <&wkup_gpio0 27 GPIO_ACTIVE_HIGH>;
};

&mailbox0_cluster0 {
	status = "okay";
	interrupts = <436>;

	mbox_mcu_r5fss0_core0: mbox-mcu-r5fss0-core0 {
		ti,mbox-tx = <1 0 0>;
		ti,mbox-rx = <0 0 0>;
	};
};

&mailbox0_cluster1 {
	status = "okay";
	interrupts = <432>;

	mbox_mcu_r5fss0_core1: mbox-mcu-r5fss0-core1 {
		ti,mbox-tx = <1 0 0>;
		ti,mbox-rx = <0 0 0>;
	};
};

&mcu_r5fss0_core0 {
	memory-region = <&mcu_r5fss0_core0_dma_memory_region>,
			<&mcu_r5fss0_core0_memory_region>;
	mboxes = <&mailbox0_cluster0>, <&mbox_mcu_r5fss0_core0>;
};

&mcu_r5fss0_core1 {
	memory-region = <&mcu_r5fss0_core1_dma_memory_region>,
			<&mcu_r5fss0_core1_memory_region>;
	mboxes = <&mailbox0_cluster1>, <&mbox_mcu_r5fss0_core1>;
};