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