// 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;
	};

	chosen {
		tick-timer = &main_timer0;
	};

	memory@80000000 {
		bootph-all;
	};
};

&cbass_main {
	bootph-all;

	timer@2400000 {
		clock-frequency = <25000000>;
		bootph-all;
	};
};

&cbass_mcu {
	bootph-all;
};

&cbass_wakeup {
	bootph-all;
};

&chipid {
	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;
};

&dmsc {
	bootph-all;

	k3_sysreset: sysreset-controller {
		compatible = "ti,sci-sysreset";
		bootph-all;
	};
};

&dmss {
	bootph-all;
};

&fss {
	bootph-all;
};

&k3_clks {
	bootph-all;
};

&k3_pds {
	bootph-all;
};

&k3_reset {
	bootph-all;
};

&main_gpio0 {
	bootph-all;
};

/* 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>;
	};
};

&main_pmx0 {
	bootph-all;
};

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

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

&mcu_pmx0 {
	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";
};

&secure_proxy_main {
	bootph-all;
};

&verdin_ctrl_sleep_moci {
	bootph-all;
};

&wkup_conf {
	bootph-all;
};

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