/*
 * Copyright (C) 2023 PHYTEC Messtechnik GmbH
 * Author: Daniel Schultz <d.schultz@phytec.de>
 *
 * SPDX-License-Identifier: Apache-2.0
 */

/dts-v1/;

#include <ti/am62x_m4.dtsi>

/ {
	model = "PHYTEC phyBOARD-Lyra AM62x M4";
	compatible = "phytec,phyboard-lyra-am62xx-m4", "ti,am625";

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

	aliases {
		led0 = &heartbeat_led;
	};

	cpus {
		cpu@0 {
			status = "okay";
			clock-frequency = <400000000>;
		};
	};

	ddr0:memory@9CC00000{
		compatible = "zephyr,memory-region", "mmio-sram";
		reg = <0x9CC00000 DT_SIZE_K(4)>;
		zephyr,memory-region = "DDR";
	};

	leds: leds {
		compatible = "gpio-leds";
		heartbeat_led: led_0 {
			gpios = <&gpio0 0 GPIO_ACTIVE_HIGH>;
			label = "Heartbeat LED";
		};
	};
};

&pinctrl {
	mcu_uart0_rx_default: mcu_uart0_rx_default {
		pinmux = <K3_PINMUX(0x0014, PIN_INPUT, MUX_MODE_0)>;
	};
	mcu_uart0_tx_default: mcu_uart0_tx_default {
		pinmux = <K3_PINMUX(0x0018, PIN_OUTPUT, MUX_MODE_0)>;
	};
	mcu_gpio0_led_default: mcu_gpio0_led_default {
		pinmux = <K3_PINMUX(0x0000, PIN_OUTPUT, MUX_MODE_7)>;
	};
};

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

&gpio0 {
	pinctrl-0 = <&mcu_gpio0_led_default>;
	pinctrl-names = "default";
	status = "okay";
};
