linux/arch/arm64/boot/dts/nuvoton/ma35d1-som-256m.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-SOM";
	compatible = "nuvoton,ma35d1-som", "nuvoton,ma35d1";

	aliases {
		serial0 = &uart0;
		serial11 = &uart11;
		serial12 = &uart12;
		serial14 = &uart14;
		serial16 = &uart16;
	};

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

	mem: memory@80000000 {
		device_type = "memory";
		reg = <0x00000000 0x80000000 0 0x10000000>; /* 256M 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_uart11: uart11-pins {
			nuvoton,pins = <11 0 2>,
				       <11 1 2>,
				       <11 2 2>,
				       <11 3 2>;
			bias-disable;
			power-source = <1>;
		};

		pinctrl_uart12: uart12-pins {
			nuvoton,pins = <8 1 2>,
				       <8 2 2>,
				       <8 3 2>;
			bias-disable;
			power-source = <1>;
		};

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

		pinctrl_uart16: uart16-pins {
			nuvoton,pins = <10 0 2>,
				       <10 1 2>,
				       <10 2 2>,
				       <10 3 2>;
			bias-disable;
			power-source = <1>;
		};
	};
};

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

&uart11 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_uart11>;
	status = "okay";
};

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

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

&uart16 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_uart16>;
	status = "okay";
};