[PATCH dev-5.17 v1 1/6] ARM: dts: nuvoton: Add Nuvoton RunBMC DeviceTree
Samuel Jiang
chyishian.jiang at gmail.com
Mon Jul 1 16:01:32 AEST 2019
From: Samuel Jiang <Samuel.Jiang at quantatw.com>
Initial Nuvoton RunBMC Module which use NPCM750 SoC.
Including features:
1. image partitions
2. lpc and kcs
3. usb
4. serial port
5. spi
6. fiu
7. watchdog
Testeed:
Build Qunata runbmc-nuvoton image and load on RunBMC-nuvoton module
Signed-off-by: Samuel Jiang <Samuel.Jiang at quantatw.com>
---
arch/arm/boot/dts/nuvoton-npcm750-runbmc.dts | 292 +++++++++++++++++++
1 file changed, 292 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..eec815d2a638
--- /dev/null
+++ b/arch/arm/boot/dts/nuvoton-npcm750-runbmc.dts
@@ -0,0 +1,292 @@
+// SPDX-License-Identifier: GPL-2.0
+// Copyright (c) 2019 Nuvoton Technology kwliu at nuvoton.com
+// Copyright (c) 2019 Quanta Computer Inc. Samuel.Jiang at quantatw.com
+
+/dts-v1/;
+#include "nuvoton-npcm750.dtsi"
+
+/ {
+ model = "Nuvoton npcm750 RunBMC Module";
+ compatible = "nuvoton,npcm750";
+
+ aliases {
+ ethernet0 = &emc0;
+ ethernet1 = &gmac0;
+ 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;
+ };
+
+ chosen {
+ stdout-path = &serial3;
+ };
+
+ memory {
+ reg = <0 0x40000000>;
+ };
+
+ ahb {
+ gmac0: eth at f0802000 {
+ phy-mode = "rgmii-id";
+ snps,eee-force-disable;
+ status = "okay";
+ };
+
+ emc0: eth at f0825000 {
+ phy-mode = "rmii";
+ use-ncsi;
+ status = "okay";
+ };
+
+ 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 = <0x000000 0x4000000>;
+ };
+ u-boot at 0 {
+ label = "u-boot";
+ read-only;
+ reg = <0x0000000 0x80000>;
+ };
+ u-boot-env at 100000 {
+ label = "u-boot-env";
+ reg = <0x00100000 0x40000>;
+ };
+ kernel at 200000 {
+ label = "kernel";
+ reg = <0x0200000 0x600000>;
+ };
+ rofs at 800000 {
+ label = "rofs";
+ reg = <0x0800000 0x1500000>;
+ };
+ rwfs at 1c00000 {
+ label = "rwfs";
+ reg = <0x1c00000 0x300000>;
+ };
+ };
+ };
+ 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>;
+ };
+ };
+ };
+ };
+
+ 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";
+ };
+ };
+
+ spi0: spi at 200000 {
+ cs-gpios = <&gpio6 11 GPIO_ACTIVE_LOW>;
+ status = "okay";
+ };
+
+ spi1: spi at 201000 {
+ status = "okay";
+ };
+ };
+ };
+};
+
+&gcr {
+ serial_port_mux: mux-controller {
+ compatible = "mmio-mux";
+ #mux-control-cells = <1>;
+
+ mux-reg-masks = <0x38 0x07>;
+ idle-states = <6>;
+ };
+};
--
2.20.1
More information about the openbmc
mailing list