[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