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

#include "k3-am64x-binman.dtsi"

/ {
	chosen {
		tick-timer = &main_timer0;
	};

	memory@80000000 {
		bootph-pre-ram;
	};
};

&cbass_main{
	bootph-pre-ram;
};

&cbass_mcu {
	bootph-pre-ram;
};

&main_timer0 {
	bootph-pre-ram;
	clock-frequency = <200000000>;
};

&main_conf {
	bootph-pre-ram;
	chipid@14 {
		bootph-pre-ram;
	};
};

&main_pmx0 {
	bootph-pre-ram;
};

&main_i2c0_pins_default {
	bootph-pre-ram;
};

&main_i2c0 {
	bootph-pre-ram;
};

&main_uart0_pins_default {
	bootph-pre-ram;
};

&main_uart0 {
	bootph-pre-ram;
};

&dmss {
	bootph-pre-ram;
};

&secure_proxy_main {
	bootph-pre-ram;
};

&dmsc {
	bootph-pre-ram;
	k3_sysreset: sysreset-controller {
		compatible = "ti,sci-sysreset";
		bootph-pre-ram;
	};
};

&k3_pds {
	bootph-pre-ram;
};

&k3_clks {
	bootph-pre-ram;
};

&k3_reset {
	bootph-pre-ram;
};

&sdhci0 {
	status = "disabled";
	bootph-pre-ram;
};

&sdhci1 {
	bootph-pre-ram;
};

&main_mmc1_pins_default {
	bootph-pre-ram;
};

&cpsw3g {
	bootph-pre-ram;

	ethernet-ports {
		bootph-pre-ram;
	};
};

&cpsw_port2 {
	bootph-pre-ram;
};

&main_bcdma {
	bootph-pre-ram;
};

&main_pktdma {
	bootph-pre-ram;
};

&rgmii1_pins_default {
	bootph-pre-ram;
};

&rgmii2_pins_default {
	bootph-pre-ram;
};

&mdio1_pins_default {
	bootph-pre-ram;
};

&cpsw3g_phy1 {
	bootph-pre-ram;
};

&main_usb0_pins_default {
	bootph-pre-ram;
};

&serdes_ln_ctrl {
	u-boot,mux-autoprobe;
};

&usbss0 {
	bootph-pre-ram;
};

&usb0 {
	bootph-pre-ram;
};

&serdes_wiz0 {
	bootph-pre-ram;
};

&serdes0_usb_link {
	bootph-pre-ram;
};

&serdes0 {
	bootph-pre-ram;
};

&serdes_refclk {
	bootph-pre-ram;
};
