/*
 * Copyright (c) 2023 Enphase Energy
 *
 * SPDX-License-Identifier: Apache-2.0
 */

/dts-v1/;

#include <ti/ti_am6234_a53.dtsi>

/ {
	model = "PHYTEC phyCORE-AM62x A53";
	compatible = "ti,am6234";

	chosen {
		zephyr,console = &uart0;
		zephyr,shell-uart = &uart0;
		zephyr,sram = &ddr0;
	};

	cpus {
		cpu@0 {
			status = "okay";
		};
		cpu@1 {
			status = "disabled";
		};
		cpu@2 {
			status = "disabled";
		};
		cpu@3 {
			status = "disabled";
		};
	};

	ddr0: memory@82000000 {
		/* Note: This board actually has 2GB DRAM available */
		reg = <0x82000000 DT_SIZE_M(1)>;
	};
};

&pinctrl {
	uart0_rx_default: uart0_rx_default {
		pinmux = <K3_PINMUX(0x1c8, PIN_INPUT, MUX_MODE_0)>;
	};
	uart0_tx_default: uart0_tx_default {
		pinmux = <K3_PINMUX(0x1cc, PIN_OUTPUT, MUX_MODE_0)>;
	};
};

&uart0 {
	current-speed = <115200>;
	pinctrl-0 = <&uart0_rx_default &uart0_tx_default>;
	pinctrl-names = "default";
	status = "okay";
};
