162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
262306a36Sopenharmony_ci// Copyright 2021 Jonathan Neuschäfer
362306a36Sopenharmony_ci
462306a36Sopenharmony_ci/dts-v1/;
562306a36Sopenharmony_ci
662306a36Sopenharmony_ci/* The last 16 MiB are dedicated to the GPU */
762306a36Sopenharmony_ci/memreserve/ 0x07000000 0x01000000;
862306a36Sopenharmony_ci
962306a36Sopenharmony_ci#include "nuvoton-wpcm450.dtsi"
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ci#include <dt-bindings/input/linux-event-codes.h>
1262306a36Sopenharmony_ci#include <dt-bindings/gpio/gpio.h>
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ci/ {
1562306a36Sopenharmony_ci	model = "Supermicro X9SCi-LN4F BMC";
1662306a36Sopenharmony_ci	compatible = "supermicro,x9sci-ln4f-bmc", "nuvoton,wpcm450";
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ci	aliases {
1962306a36Sopenharmony_ci		serial0 = &serial0;
2062306a36Sopenharmony_ci		serial1 = &serial1;
2162306a36Sopenharmony_ci	};
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ci	chosen {
2462306a36Sopenharmony_ci		stdout-path = "serial0:115200n8";
2562306a36Sopenharmony_ci	};
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ci	memory@0 {
2862306a36Sopenharmony_ci		device_type = "memory";
2962306a36Sopenharmony_ci		reg = <0 0x08000000>; /* 128 MiB */
3062306a36Sopenharmony_ci	};
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ci	gpio-keys {
3362306a36Sopenharmony_ci		compatible = "gpio-keys";
3462306a36Sopenharmony_ci		pinctrl-names = "default";
3562306a36Sopenharmony_ci		pinctrl-0 = <&key_pins>;
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_ci		uid {
3862306a36Sopenharmony_ci			label = "UID button";
3962306a36Sopenharmony_ci			linux,code = <KEY_HOME>;
4062306a36Sopenharmony_ci			gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>;
4162306a36Sopenharmony_ci		};
4262306a36Sopenharmony_ci	};
4362306a36Sopenharmony_ci
4462306a36Sopenharmony_ci	gpio-leds {
4562306a36Sopenharmony_ci		compatible = "gpio-leds";
4662306a36Sopenharmony_ci		pinctrl-names = "default";
4762306a36Sopenharmony_ci		pinctrl-0 = <&led_pins>;
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_ci		uid {
5062306a36Sopenharmony_ci			label = "UID";
5162306a36Sopenharmony_ci			gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
5262306a36Sopenharmony_ci		};
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_ci		heartbeat {
5562306a36Sopenharmony_ci			label = "heartbeat";
5662306a36Sopenharmony_ci			gpios = <&gpio1 4 GPIO_ACTIVE_LOW>;
5762306a36Sopenharmony_ci		};
5862306a36Sopenharmony_ci	};
5962306a36Sopenharmony_ci};
6062306a36Sopenharmony_ci
6162306a36Sopenharmony_ci&fiu {
6262306a36Sopenharmony_ci	status = "okay";
6362306a36Sopenharmony_ci
6462306a36Sopenharmony_ci	flash@0 {
6562306a36Sopenharmony_ci		reg = <0>;
6662306a36Sopenharmony_ci		compatible = "jedec,spi-nor";
6762306a36Sopenharmony_ci	};
6862306a36Sopenharmony_ci};
6962306a36Sopenharmony_ci
7062306a36Sopenharmony_ci&gpio0 {
7162306a36Sopenharmony_ci	gpio-line-names =
7262306a36Sopenharmony_ci		/* 0 */ "", "host-reset-control-n", "", "", "", "", "", "",
7362306a36Sopenharmony_ci		/* 8 */ "", "", "", "", "power-chassis-control-n", "", "uid-button", "";
7462306a36Sopenharmony_ci};
7562306a36Sopenharmony_ci
7662306a36Sopenharmony_ci&gpio1 {
7762306a36Sopenharmony_ci	gpio-line-names =
7862306a36Sopenharmony_ci		/* 0 */ "", "", "", "", "led-heartbeat", "", "", "led-uid",
7962306a36Sopenharmony_ci		/* 8 */ "", "", "", "", "", "", "", "";
8062306a36Sopenharmony_ci};
8162306a36Sopenharmony_ci
8262306a36Sopenharmony_ci&gpio4 {
8362306a36Sopenharmony_ci	gpio-line-names =
8462306a36Sopenharmony_ci		/* 0 */ "", "", "", "", "", "", "", "",
8562306a36Sopenharmony_ci		/* 8 */ "", "", "", "", "", "", "", "power-chassis-good";
8662306a36Sopenharmony_ci};
8762306a36Sopenharmony_ci
8862306a36Sopenharmony_ci&pinctrl {
8962306a36Sopenharmony_ci	key_pins: mux-keys {
9062306a36Sopenharmony_ci		groups = "gspi", "sspi";
9162306a36Sopenharmony_ci		function = "gpio";
9262306a36Sopenharmony_ci	};
9362306a36Sopenharmony_ci
9462306a36Sopenharmony_ci	led_pins: mux-leds {
9562306a36Sopenharmony_ci		groups = "hg3", "hg0", "pwm4";
9662306a36Sopenharmony_ci		function = "gpio";
9762306a36Sopenharmony_ci	};
9862306a36Sopenharmony_ci};
9962306a36Sopenharmony_ci
10062306a36Sopenharmony_ci&serial0 {
10162306a36Sopenharmony_ci	/*
10262306a36Sopenharmony_ci	 * Debug serial port. TX is exposed on the right pad of unpopulated
10362306a36Sopenharmony_ci	 * resistor R1247, RX on the right pad of R1162.
10462306a36Sopenharmony_ci	 */
10562306a36Sopenharmony_ci	status = "okay";
10662306a36Sopenharmony_ci};
10762306a36Sopenharmony_ci
10862306a36Sopenharmony_ci&serial1 {
10962306a36Sopenharmony_ci	/* "Serial over LAN" port. Connected to ttyS2 of the host system. */
11062306a36Sopenharmony_ci	status = "okay";
11162306a36Sopenharmony_ci};
112