[PATCH v1 1/6] Add device tree for Nuvoton RunBMC Module board
Samuel.Jiang at quantatw.com
Samuel.Jiang at quantatw.com
Fri Feb 1 19:40:22 AEDT 2019
From: Samuel Jiang <Samuel.Jiang at quantatw.com>
Initial device tree for Nuvoton RunBMC Module based on Nuvoton EVB board
Including features:
1. image partitions
2. pwm fan controller
3. lpc and kcs
4. usb
5. serial port
6. spi
7. fiu
8. watchdog
Signed-off-by: Samuel Jiang <Samuel.Jiang at quantatw.com>
---
arch/arm/boot/dts/nuvoton-npcm750-runbmc.dts | 343 +++++++++++++++++++
1 file changed, 343 insertions(+)
create mode 100644 arch/arm/boot/dts/nuvoton-npcm750-runbmc.dts
diff --git a/arch/arm/boot/dts/nuvoton-npcm750-runbmc.dts b/arch/arm/boot/dts/nuvoton-npcm750-runbmc.dts
new file mode 100644
index 000000000000..7ab03add7f9c
--- /dev/null
+++ b/arch/arm/boot/dts/nuvoton-npcm750-runbmc.dts
@@ -0,0 +1,343 @@
+// SPDX-License-Identifier: GPL-2.0
+// Copyright (c) 2018 Nuvoton Technology tomer.maimon at nuvoton.com
+// Copyright 2018 Google, Inc.
+
+/dts-v1/;
+#include "nuvoton-npcm750.dtsi"
+
+/ {
+ model = "Nuvoton npcm750 RunBMC Module";
+ compatible = "nuvoton,npcm750";
+
+ aliases {
+ serial0 = &serial0;
+ serial1 = &serial1;
+ serial2 = &serial2;
+ serial3 = &serial3;
+ udc0 = &udc0;
+ udc1 = &udc1;
+ udc2 = &udc2;
+ udc3 = &udc3;
+ udc4 = &udc4;
+ udc5 = &udc5;
+ udc6 = &udc6;
+ udc7 = &udc7;
+ udc8 = &udc8;
+ udc9 = &udc9;
+ emmc0 = &sdhci0;
+ spi0 = &spi0;
+ spi1 = &spi1;
+ fiu0 = &fiu0;
+ fiu1 = &fiu3;
+ fiu2 = &fiux;
+ };
+
+ chosen {
+ stdout-path = &serial3;
+ };
+
+ memory {
+ reg = <0 0x40000000>;
+ };
+
+ ahb {
+
+ ehci1: usb at f0806000 {
+ status = "okay";
+ };
+
+ ohci1: ohci at f0807000 {
+ status = "okay";
+ };
+
+ udc0:udc at f0830000 {
+ status = "okay";
+ };
+
+ udc1:udc at f0831000 {
+ status = "okay";
+ };
+
+ udc2:udc at f0832000 {
+ status = "okay";
+ };
+
+ udc3:udc at f0833000 {
+ status = "okay";
+ };
+
+ udc4:udc at f0834000 {
+ status = "okay";
+ };
+
+ udc5:udc at f0835000 {
+ status = "okay";
+ };
+
+ udc6:udc at f0836000 {
+ status = "okay";
+ };
+
+ udc7:udc at f0837000 {
+ status = "okay";
+ };
+
+ udc8:udc at f0838000 {
+ status = "okay";
+ };
+
+ udc9:udc at f0839000 {
+ status = "okay";
+ };
+
+ aes:aes at f0858000 {
+ status = "okay";
+ };
+
+ sha:sha at f085a000 {
+ status = "okay";
+ };
+
+ fiu0: fiu at fb000000 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&spi0cs1_pins>;
+ status = "okay";
+ spi-nor at 0 {
+ compatible = "jedec,spi-nor";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ reg = <0>;
+ spi-rx-bus-width = <2>;
+ partitions at 80000000 {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ bmc at 0{
+ label = "bmc";
+ reg = <0x0000000 0x2000000>;
+ };
+ u-boot at 0 {
+ label = "u-boot";
+ reg = <0x0000000 0x80000>;
+ };
+ envparam at 100000 {
+ label = "env-param";
+ reg = <0x0100000 0x40000>;
+ };
+ kernel at 200000 {
+ label = "kernel";
+ reg = <0x0200000 0x580000>;
+ };
+ rofs at 780000 {
+ label = "rofs";
+ reg = <0x0780000 0x1680000>;
+ };
+ rwfs at 1e00000 {
+ label = "rwfs";
+ reg = <0x1e00000 0x200000>;
+ };
+ };
+ };
+ spi-nor at 1 {
+ compatible = "jedec,spi-nor";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ reg = <1>;
+ npcm,fiu-rx-bus-width = <2>;
+ partitions at 88000000 {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ spare1 at 0 {
+ label = "spi0-cs1-spare1";
+ reg = <0x0 0x800000>;
+ };
+ spare2 at 800000 {
+ label = "spi0-cs1-spare2";
+ reg = <0x800000 0x0>;
+ };
+ };
+ };
+ };
+
+ fiu3: fiu at c0000000 {
+ pinctrl-0 = <&spi3_pins>;
+ status = "okay";
+ spi-nor at 0 {
+ compatible = "jedec,spi-nor";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ reg = <0>;
+ spi-rx-bus-width = <2>;
+ partitions at A0000000 {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ system1 at 0 {
+ label = "spi3-system1";
+ reg = <0x0 0x800000>;
+ };
+ system2 at 800000 {
+ label = "spi3-system2";
+ reg = <0x800000 0x0>;
+ };
+ };
+ };
+ };
+
+ fiux: fiu at fb001000 {
+ status = "disabled";
+ spix-mode;
+ };
+
+ sdhci0: sdhci at f0842000 {
+ status = "okay";
+ };
+
+ pcimbox: pcimbox at f0848000 {
+ status = "okay";
+ };
+
+ vcd: vcd at f0810000 {
+ status = "okay";
+ };
+
+ ece: ece at f0820000 {
+ status = "okay";
+ };
+
+ apb {
+
+ watchdog1: watchdog at 901C {
+ status = "okay";
+ };
+
+ rng: rng at b000 {
+ status = "okay";
+ };
+
+ serial0: serial at 1000 {
+ status = "okay";
+ };
+
+ serial1: serial at 2000 {
+ status = "okay";
+ };
+
+ serial2: serial at 3000 {
+ status = "okay";
+ };
+
+ serial3: serial at 4000 {
+ status = "okay";
+ };
+
+ adc: adc at c000 {
+ status = "okay";
+ };
+ otp:otp at 189000 {
+ status = "okay";
+ };
+
+ lpc_kcs: lpc_kcs at 7000 {
+ kcs1: kcs1 at 0 {
+ status = "okay";
+ };
+
+ kcs2: kcs2 at 0 {
+ status = "okay";
+ };
+
+ kcs3: kcs3 at 0 {
+ status = "okay";
+ };
+ };
+
+ lpc_host: lpc_host at 7000 {
+ lpc_bpc: lpc_bpc at 40 {
+ monitor-ports = <0x80>;
+ status = "okay";
+ };
+ };
+
+ pwm_fan:pwm-fan-controller at 103000 {
+ pinctrl-names = "default";
+ pinctrl-0 = < &pwm0_pins &pwm1_pins
+ &fanin0_pins &fanin1_pins
+ &fanin2_pins &fanin3_pins
+ &fanin4_pins &fanin5_pins
+ &fanin6_pins &fanin7_pins
+ &fanin8_pins &fanin9_pins
+ &fanin10_pins &fanin11_pins>;
+ status = "okay";
+
+ fan at 0 {
+ reg = <0x00>;
+ fan-tach-ch = /bits/ 8 <0x00 0x01>;
+ cooling-levels = <127 255>;
+ };
+ fan at 1 {
+ reg = <0x01>;
+ fan-tach-ch = /bits/ 8 <0x02 0x03>;
+ cooling-levels = /bits/ 8 <127 255>;
+ };
+ fan at 2 {
+ reg = <0x02>;
+ fan-tach-ch = /bits/ 8 <0x04 0x05>;
+ cooling-levels = /bits/ 8 <127 255>;
+ };
+ fan at 3 {
+ reg = <0x03>;
+ fan-tach-ch = /bits/ 8 <0x06 0x07>;
+ cooling-levels = /bits/ 8 <127 255>;
+ };
+ fan at 4 {
+ reg = <0x04>;
+ fan-tach-ch = /bits/ 8 <0x08 0x09>;
+ cooling-levels = /bits/ 8 <127 255>;
+ };
+ fan at 5 {
+ reg = <0x05>;
+ fan-tach-ch = /bits/ 8 <0x0A 0x0B>;
+ cooling-levels = /bits/ 8 <127 255>;
+ };
+ fan at 6 {
+ reg = <0x06>;
+ fan-tach-ch = /bits/ 8 <0x0C 0x0D>;
+ cooling-levels = /bits/ 8 <127 255>;
+ };
+ fan at 7 {
+ reg = <0x07>;
+ fan-tach-ch = /bits/ 8 <0x0E 0x0F>;
+ cooling-levels = /bits/ 8 <127 255>;
+ };
+ };
+
+ spi0: spi at 200000 {
+ cs-gpios = <&gpio6 11 GPIO_ACTIVE_LOW>;
+ status = "okay";
+ };
+
+ spi1: spi at 201000 {
+ status = "okay";
+ };
+
+ };
+ };
+
+ pinctrl: pinctrl at f0800000 {
+ pinctrl-names = "default";
+
+ };
+
+};
+
+&gcr {
+ serial_port_mux: mux-controller {
+ compatible = "mmio-mux";
+ #mux-control-cells = <1>;
+
+ mux-reg-masks = <0x38 0x07>;
+ idle-states = <6>; /* Serial port mode 7 (takeover) */
+ };
+};
--
2.17.1
More information about the openbmc
mailing list