// SPDX-License-Identifier: GPL-2.0
/*
 * https://beagleboard.org/play
 *
 * Copyright (C) 2022-2023 Texas Instruments Incorporated - https://www.ti.com/
 * Copyright (C) 2022-2023 Robert Nelson, BeagleBoard.org Foundation
 */

#include "k3-am625-beagleplay.dts"
#include "k3-am625-beagleplay-ddr4-1600MTs.dtsi"
#include "k3-am62-ddr.dtsi"

#include "k3-am625-beagleplay-u-boot.dtsi"

/ {
	aliases {
		remoteproc0 = &sysctrler;
		remoteproc1 = &a53_0;
	};

	a53_0: a53@0 {
		compatible = "ti,am654-rproc";
		reg = <0x00 0x00a90000 0x00 0x10>;
		power-domains = <&k3_pds 61 TI_SCI_PD_EXCLUSIVE>,
				<&k3_pds 135 TI_SCI_PD_EXCLUSIVE>;
		resets = <&k3_reset 135 0>;
		clocks = <&k3_clks 61 0>;
		assigned-clocks = <&k3_clks 61 0>, <&k3_clks 135 0>;
		assigned-clock-parents = <&k3_clks 61 2>;
		assigned-clock-rates = <200000000>, <1250000000>;
		ti,sci = <&dmsc>;
		ti,sci-proc-id = <32>;
		ti,sci-host-id = <10>;
		bootph-pre-ram;
	};

	dm_tifs: dm-tifs {
		compatible = "ti,j721e-dm-sci";
		ti,host-id = <36>;
		ti,secure-host;
		mbox-names = "rx", "tx";
		mboxes= <&secure_proxy_main 22>,
			<&secure_proxy_main 23>;
		bootph-pre-ram;
	};
};

&dmsc {
	mboxes= <&secure_proxy_main 0>,
		<&secure_proxy_main 1>,
		<&secure_proxy_main 0>;
	mbox-names = "rx", "tx", "notify";
	ti,host-id = <35>;
	ti,secure-host;
};

&mcu_esm {
	bootph-pre-ram;
};

&secure_proxy_sa3 {
	bootph-pre-ram;
	/* We require this for boot handshake */
	status = "okay";
};

&cbass_main {
	sysctrler: sysctrler {
		compatible = "ti,am654-system-controller";
		mboxes= <&secure_proxy_main 1>, <&secure_proxy_main 0>, <&secure_proxy_sa3 0>;
		mbox-names = "tx", "rx", "boot_notify";
		bootph-pre-ram;
	};
};

&main_esm {
	bootph-pre-ram;
};

&main_pktdma {
	ti,sci = <&dm_tifs>;
};

&main_bcdma {
	ti,sci = <&dm_tifs>;
};

&binman {
	tiboot3-am62x-gp-evm.bin {
		filename = "tiboot3-am62x-gp-evm.bin";
		ti-secure-rom {
			content = <&u_boot_spl_unsigned>, <&ti_fs_gp>,
				<&combined_tifs_cfg_gp>, <&combined_dm_cfg_gp>;
			combined;
			dm-data;
			content-sbl = <&u_boot_spl_unsigned>;
			load = <0x43c00000>;
			content-sysfw = <&ti_fs_gp>;
			load-sysfw = <0x40000>;
			content-sysfw-data = <&combined_tifs_cfg_gp>;
			load-sysfw-data = <0x67000>;
			content-dm-data = <&combined_dm_cfg_gp>;
			load-dm-data = <0x43c3a800>;
			sw-rev = <1>;
			keyfile = "ti-degenerate-key.pem";
		};
		u_boot_spl_unsigned: u-boot-spl {
			no-expanded;
		};
		ti_fs_gp: ti-fs-gp.bin {
			filename = "ti-sysfw/ti-fs-firmware-am62x-gp.bin";
			type = "blob-ext";
			optional;
		};
		combined_tifs_cfg_gp: combined-tifs-cfg-gp.bin {
			filename = "combined-tifs-cfg.bin";
			type = "blob-ext";
		};
		combined_dm_cfg_gp: combined-dm-cfg-gp.bin {
			filename = "combined-dm-cfg.bin";
			type = "blob-ext";
		};

	};
};
