1// SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2// Copyright 2021 Jonathan Neuschäfer
3
4/dts-v1/;
5
6/* The last 16 MiB are dedicated to the GPU */
7/memreserve/ 0x07000000 0x01000000;
8
9#include "nuvoton-wpcm450.dtsi"
10
11#include <dt-bindings/input/linux-event-codes.h>
12#include <dt-bindings/gpio/gpio.h>
13
14/ {
15	model = "Supermicro X9SCi-LN4F BMC";
16	compatible = "supermicro,x9sci-ln4f-bmc", "nuvoton,wpcm450";
17
18	aliases {
19		serial0 = &serial0;
20		serial1 = &serial1;
21	};
22
23	chosen {
24		stdout-path = "serial0:115200n8";
25	};
26
27	memory@0 {
28		device_type = "memory";
29		reg = <0 0x08000000>; /* 128 MiB */
30	};
31
32	gpio-keys {
33		compatible = "gpio-keys";
34		pinctrl-names = "default";
35		pinctrl-0 = <&key_pins>;
36
37		uid {
38			label = "UID button";
39			linux,code = <KEY_HOME>;
40			gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>;
41		};
42	};
43
44	gpio-leds {
45		compatible = "gpio-leds";
46		pinctrl-names = "default";
47		pinctrl-0 = <&led_pins>;
48
49		uid {
50			label = "UID";
51			gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
52		};
53
54		heartbeat {
55			label = "heartbeat";
56			gpios = <&gpio1 4 GPIO_ACTIVE_LOW>;
57		};
58	};
59};
60
61&fiu {
62	status = "okay";
63
64	flash@0 {
65		reg = <0>;
66		compatible = "jedec,spi-nor";
67	};
68};
69
70&gpio0 {
71	gpio-line-names =
72		/* 0 */ "", "host-reset-control-n", "", "", "", "", "", "",
73		/* 8 */ "", "", "", "", "power-chassis-control-n", "", "uid-button", "";
74};
75
76&gpio1 {
77	gpio-line-names =
78		/* 0 */ "", "", "", "", "led-heartbeat", "", "", "led-uid",
79		/* 8 */ "", "", "", "", "", "", "", "";
80};
81
82&gpio4 {
83	gpio-line-names =
84		/* 0 */ "", "", "", "", "", "", "", "",
85		/* 8 */ "", "", "", "", "", "", "", "power-chassis-good";
86};
87
88&pinctrl {
89	key_pins: mux-keys {
90		groups = "gspi", "sspi";
91		function = "gpio";
92	};
93
94	led_pins: mux-leds {
95		groups = "hg3", "hg0", "pwm4";
96		function = "gpio";
97	};
98};
99
100&serial0 {
101	/*
102	 * Debug serial port. TX is exposed on the right pad of unpopulated
103	 * resistor R1247, RX on the right pad of R1162.
104	 */
105	status = "okay";
106};
107
108&serial1 {
109	/* "Serial over LAN" port. Connected to ttyS2 of the host system. */
110	status = "okay";
111};
112