linux/arch/arm64/boot/dts/nuvoton/ma35d1-iot-512m.dts

// SPDX-License-Identifier: GPL-2.0
/*
 * Copyright (C) 2023 Nuvoton Technology Corp.
 * Author: Shan-Chun Hung <[email protected]>
 *         Jacky huang <[email protected]>
 */

/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";
};