// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
 * Copyright 2023 Toradex
 */

#include "k3-am625-verdin-wifi-dev-binman.dtsi"

/ {
	aliases {
		eeprom0 = &eeprom_module;
		eeprom1 = &eeprom_carrier_board;
		eeprom2 = &eeprom_display_adapter;
	};

	memory@80000000 {
		bootph-all;
	};

	sysinfo {
		compatible = "toradex,sysinfo";
	};
};

&main_bcdma {
	reg = <0x00 0x485c0100 0x00 0x100>,
	      <0x00 0x4c000000 0x00 0x20000>,
	      <0x00 0x4a820000 0x00 0x20000>,
	      <0x00 0x4aa40000 0x00 0x20000>,
	      <0x00 0x4bc00000 0x00 0x100000>,
	      <0x00 0x48600000 0x00 0x8000>,
	      <0x00 0x484a4000 0x00 0x2000>,
	      <0x00 0x484c2000 0x00 0x2000>;
	reg-names = "gcfg", "bchanrt", "rchanrt", "tchanrt",
		    "ringrt" , "cfg", "tchan", "rchan";
	bootph-all;
};

&main_pktdma {
	reg = <0x00 0x485c0000 0x00 0x100>,
	      <0x00 0x4a800000 0x00 0x20000>,
	      <0x00 0x4aa00000 0x00 0x20000>,
	      <0x00 0x4b800000 0x00 0x200000>,
	      <0x00 0x485e0000 0x00 0x10000>,
	      <0x00 0x484a0000 0x00 0x2000>,
	      <0x00 0x484c0000 0x00 0x2000>,
	      <0x00 0x48430000 0x00 0x1000>;
	reg-names = "gcfg", "rchanrt", "tchanrt", "ringrt",
		    "cfg", "tchan", "rchan", "rflow";
	bootph-all;
};

&cpsw3g {
	bootph-all;
};

&cpsw3g_phy0 {
	bootph-all;
};

&cpsw3g_phy1 {
	bootph-all;
};

&cpsw_port1 {
	bootph-all;
};

&cpsw_port2 {
	bootph-all;
};

/* MDIO, shared by Verdin ETH_1 (On-module PHY) and Verdin ETH_2_RGMII */
&cpsw3g_mdio {
	/delete-property/ assigned-clocks;
	/delete-property/ assigned-clock-parents;
	/delete-property/ assigned-clock-rates;
	bootph-all;
};

&fss {
	bootph-all;
};

&main_gpio0 {
	bootph-all;

	ctrl-sleep-moci-hog {
		bootph-all;
		gpio-hog;
		gpios = <31 GPIO_ACTIVE_HIGH>;
		line-name = "CTRL_SLEEP_MOCI#";
		output-high;
	};
};

/* On-module I2C - PMIC_I2C */
&main_i2c0 {
	eeprom_module: eeprom@50 {
		compatible = "i2c-eeprom";
		pagesize = <16>;
		reg = <0x50>;
	};
};

/* Verdin I2C_1 */
&main_i2c1 {
	/* EEPROM on display adapter (MIPI DSI Display Adapter) */
	eeprom_display_adapter: eeprom@50 {
		compatible = "i2c-eeprom";
		reg = <0x50>;
		pagesize = <16>;
	};

	/* EEPROM on carrier board */
	eeprom_carrier_board: eeprom@57 {
		compatible = "i2c-eeprom";
		reg = <0x57>;
		pagesize = <16>;
	};
};

/* Verdin UART_3, used as the Linux console */
&main_uart0 {
	bootph-all;
};

/* Verdin UART_1 */
&main_uart1 {
	bootph-all;
};

&pinctrl_ctrl_sleep_moci {
	bootph-all;
};

&pinctrl_i2c0 {
	bootph-all;
};

&pinctrl_i2c1 {
	bootph-all;
};

&pinctrl_sdhci0 {
	bootph-all;
};

&pinctrl_uart0 {
	bootph-all;
};

&pinctrl_uart1 {
	bootph-all;
};

&pinctrl_wkup_uart0 {
	bootph-all;
};

&sdhci0 {
	bootph-all;
};

&sdhci2 {
	status = "disabled";
};

&usb0 {
	dr_mode = "peripheral";
	/* Since role switching is not supported in U-Boot */
	/delete-property/ extcon;
	bootph-pre-ram;
};

&usbss0 {
	bootph-pre-ram;
};

/* Verdin UART_2 */
&wkup_uart0 {
	bootph-all;
};
