/*
 * 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 AM62x M4 phyBOARD-Lyra";
	compatible = "phytec,am62x-m4-phyboard-lyra", "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";
};
