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

&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 {
	status = "disabled";
	bootph-all;
};

&sdhci1 {
	bootph-all;
};

&main_mmc1_pins_default {
	bootph-all;
};

&inta_main_dmss {
	bootph-all;
};

&mdio1_pins_default {
	bootph-all;
};

&cpsw3g_mdio {
	bootph-all;
};

&cpsw3g_phy0 {
	bootph-all;
};

&cpsw3g_phy1 {
	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_port2 {
	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";
	bootph-all;
};

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

&rgmii1_pins_default {
	bootph-all;
};

&rgmii2_pins_default {
	bootph-all;
};

&mdio1_pins_default {
	bootph-all;
};

&cpsw3g_phy1 {
	bootph-all;
};

&main_usb0_pins_default {
	bootph-all;
};

&serdes_ln_ctrl {
	bootph-all;
};

&usbss0 {
	bootph-all;
};

&usb0 {
	bootph-all;
};

&serdes_wiz0 {
	bootph-all;
};

&serdes0_usb_link {
	bootph-all;
};

&serdes0 {
	bootph-all;
};

&serdes_refclk {
	bootph-all;
};

&ospi0_pins_default {
	bootph-all;
};

&fss {
	bootph-all;
};

&ospi0 {
 	bootph-all;

	flash@0 {
		bootph-all;
	};
};
