// SPDX-License-Identifier: GPL-2.0
/*
 * Copyright (C) 2023 Nuvoton Technology Corp.
 * Author: Shan-Chun Hung <schung@nuvoton.com>
 *         Jacky huang <ychuang3@nuvoton.com>
 */

/dts-v1/;
#include "ma35d1.dtsi"

/ {
	model = "Nuvoton MA35D1-IoT";
	compatible = "nuvoton,ma35d1-iot", "nuvoton,ma35d1";

	aliases {
		serial0 = &uart0;
		serial10 = &uart10;
		serial12 = &uart12;
		serial13 = &uart13;
		serial14 = &uart14;
	};

	chosen {
		stdout-path = "serial0:115200n8";
	};

	mem: memory@80000000 {
		device_type = "memory";
		reg = <0x00000000 0x80000000 0 0x20000000>; /* 512M DRAM */
	};

	clk_hxt: clock-hxt {
		compatible = "fixed-clock";
		#clock-cells = <0>;
		clock-frequency = <24000000>;
		clock-output-names = "clk_hxt";
	};
};

&clk {
	assigned-clocks = <&clk CAPLL>,
			  <&clk DDRPLL>,
			  <&clk APLL>,
			  <&clk EPLL>,
			  <&clk VPLL>;
	assigned-clock-rates = <800000000>,
			       <266000000>,
			       <180000000>,
			       <500000000>,
			       <102000000>;
	nuvoton,pll-mode = "integer",
			   "fractional",
			   "integer",
			   "integer",
			   "integer";
};

&pinctrl {
	uart-grp {
		pinctrl_uart0: uart0-pins {
			nuvoton,pins = <4 14 1>,
				       <4 15 1>;
			bias-disable;
			power-source = <1>;
		};

		pinctrl_uart10: uart10-pins {
			nuvoton,pins = <7 4 2>,
				       <7 5 2>,
				       <7 6 2>,
				       <7 7 2>;
			bias-disable;
			power-source = <1>;
		};

		pinctrl_uart12: uart12-pins {
			nuvoton,pins = <2 13 2>,
				       <2 14 2>,
				       <2 15 2>;
			bias-disable;
			power-source = <1>;
		};

		pinctrl_uart13: uart13-pins {
			nuvoton,pins = <7 12 3>,
				       <7 13 3>;
			bias-disable;
			power-source = <1>;
		};

		pinctrl_uart14: uart14-pins {
			nuvoton,pins = <7 14 2>,
				       <7 15 2>;
			bias-disable;
			power-source = <1>;
		};
	};
};

&uart0 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_uart0>;
	status = "okay";
};

&uart10 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_uart10>;
	status = "okay";
};

&uart12 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_uart12>;
	status = "okay";
};

&uart13 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_uart13>;
	status = "okay";
};

&uart14 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_uart14>;
	status = "okay";
};
