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

/ {
	chosen {
		stdout-path = "serial2:115200n8";
		tick-timer = &timer1;
	};
};

&cbass_main{
	u-boot,dm-spl;
	timer1: timer@2400000 {
		compatible = "ti,omap5430-timer";
		reg = <0x0 0x2400000 0x0 0x80>;
		ti,timer-alwon;
		clock-frequency = <250000000>;
		u-boot,dm-spl;
	};
};

&main_conf {
	u-boot,dm-spl;
	chipid@14 {
		u-boot,dm-spl;
	};
};

&main_pmx0 {
	u-boot,dm-spl;
	main_i2c0_pins_default: main-i2c0-pins-default {
		u-boot,dm-spl;
		pinctrl-single,pins = <
			AM64X_IOPAD(0x0260, PIN_INPUT_PULLUP, 0) /* (A18) I2C0_SCL */
			AM64X_IOPAD(0x0264, PIN_INPUT_PULLUP, 0) /* (B18) I2C0_SDA */
		>;
	};
};

&main_i2c0 {
	u-boot,dm-spl;
	pinctrl-names = "default";
	pinctrl-0 = <&main_i2c0_pins_default>;
	clock-frequency = <400000>;
};

&main_uart0 {
	u-boot,dm-spl;
};

&usb0 {
	dr_mode="peripheral";
	u-boot,dm-spl;
};

&usbss0 {
	u-boot,dm-spl;
};

&main_usb0_pins_default {
	u-boot,dm-spl;
};

&dmss {
	u-boot,dm-spl;
};

&secure_proxy_main {
	u-boot,dm-spl;
};

&dmsc {
	u-boot,dm-spl;
	k3_sysreset: sysreset-controller {
		compatible = "ti,sci-sysreset";
		u-boot,dm-spl;
	};
};

&k3_pds {
	u-boot,dm-spl;
};

&k3_clks {
	u-boot,dm-spl;
};

&k3_reset {
	u-boot,dm-spl;
};

&sdhci0 {
	u-boot,dm-spl;
};

&sdhci1 {
	u-boot,dm-spl;
};

&cpsw3g {
	reg = <0x0 0x8000000 0x0 0x200000>,
	      <0x0 0x43000200 0x0 0x8>;
	reg-names = "cpsw_nuss", "mac_efuse";
	/delete-property/ ranges;

	cpsw-phy-sel@04044 {
		compatible = "ti,am64-phy-gmii-sel";
		reg = <0x0 0x43004044 0x0 0x8>;
	};
};

&cpsw_port2 {
	status = "disabled";
};
