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

#include "k3-am64x-binman.dtsi"

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

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

&cbass_main {
	bootph-all;
};

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

&main_conf {
	bootph-all;
	chipid@14 {
		bootph-all;
	};
};

&main_pmx0 {
	bootph-all;
};

&main_i2c0_pins_default {
	bootph-all;
};

&main_i2c0 {
	bootph-all;
};

&main_uart0_pins_default {
	bootph-all;
};

&main_uart0 {
	bootph-all;
};

&main_usb0_pins_default {
	bootph-all;
};

&usb0 {
	dr_mode="peripheral";
	bootph-all;
};

&usbss0 {
	bootph-all;
};

&main_mmc1_pins_default {
	bootph-all;
};

&main_usb0_pins_default {
	bootph-all;
};

&dmss {
	bootph-all;
};

&secure_proxy_main {
	bootph-all;
};

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

&k3_pds {
	bootph-all;
};

&k3_clks {
	bootph-all;
};

&k3_reset {
	bootph-all;
};

&sdhci0 {
	bootph-all;
};

&main_mmc1_pins_default {
	bootph-all;
};

&sdhci1 {
	bootph-all;
};

&inta_main_dmss {
	bootph-all;
};

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

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

&mdio1_pins_default {
	bootph-all;
};

&cpsw3g_mdio {
	bootph-all;
};

&cpsw3g_phy0 {
	bootph-all;
};

&rgmii1_pins_default {
	bootph-all;
};

&rgmii2_pins_default {
	bootph-all;
};

&cpsw3g {
	bootph-all;

	ethernet-ports {
		bootph-all;
	};
};

&phy_gmii_sel {
	bootph-all;
};

&cpsw_port1 {
	bootph-all;
};

&cpsw_port2 {
	status = "disabled";
};
