Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: dts: Add devicetree for Nuvoton WPCM450 BMC chip

The WPCM450 is an older BMC SoC in the Nuvoton NPCM family, originally
marketed as Winbond WPCM450.

This patch adds a devicetree with basic functionality.

Signed-off-by: Jonathan Neuschäfer <j.neuschaefer@gmx.net>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Link: https://lore.kernel.org/r/20210406120921.2484986-9-j.neuschaefer@gmx.net
Signed-off-by: Joel Stanley <joel@jms.id.au>

authored by

Jonathan Neuschäfer and committed by
Joel Stanley
ed09d269 328d1c1a

+76
+76
arch/arm/boot/dts/nuvoton-wpcm450.dtsi
··· 1 + // SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2 + // Copyright 2021 Jonathan Neuschäfer 3 + 4 + #include <dt-bindings/interrupt-controller/irq.h> 5 + 6 + / { 7 + compatible = "nuvoton,wpcm450"; 8 + #address-cells = <1>; 9 + #size-cells = <1>; 10 + 11 + cpus { 12 + #address-cells = <1>; 13 + #size-cells = <0>; 14 + 15 + cpu@0 { 16 + compatible = "arm,arm926ej-s"; 17 + device_type = "cpu"; 18 + reg = <0>; 19 + }; 20 + }; 21 + 22 + clk24m: clock-24mhz { 23 + /* 24 MHz dummy clock */ 24 + compatible = "fixed-clock"; 25 + clock-frequency = <24000000>; 26 + #clock-cells = <0>; 27 + }; 28 + 29 + soc { 30 + compatible = "simple-bus"; 31 + #address-cells = <1>; 32 + #size-cells = <1>; 33 + interrupt-parent = <&aic>; 34 + ranges; 35 + 36 + serial0: serial@b8000000 { 37 + compatible = "nuvoton,wpcm450-uart"; 38 + reg = <0xb8000000 0x20>; 39 + reg-shift = <2>; 40 + interrupts = <7 IRQ_TYPE_LEVEL_HIGH>; 41 + clocks = <&clk24m>; 42 + status = "disabled"; 43 + }; 44 + 45 + serial1: serial@b8000100 { 46 + compatible = "nuvoton,wpcm450-uart"; 47 + reg = <0xb8000100 0x20>; 48 + reg-shift = <2>; 49 + interrupts = <8 IRQ_TYPE_LEVEL_HIGH>; 50 + clocks = <&clk24m>; 51 + status = "disabled"; 52 + }; 53 + 54 + timer0: timer@b8001000 { 55 + compatible = "nuvoton,wpcm450-timer"; 56 + interrupts = <12 IRQ_TYPE_LEVEL_HIGH>; 57 + reg = <0xb8001000 0x1c>; 58 + clocks = <&clk24m>; 59 + }; 60 + 61 + watchdog0: watchdog@b800101c { 62 + compatible = "nuvoton,wpcm450-wdt"; 63 + interrupts = <1 IRQ_TYPE_LEVEL_HIGH>; 64 + reg = <0xb800101c 0x4>; 65 + clocks = <&clk24m>; 66 + status = "disabled"; 67 + }; 68 + 69 + aic: interrupt-controller@b8002000 { 70 + compatible = "nuvoton,wpcm450-aic"; 71 + reg = <0xb8002000 0x1000>; 72 + interrupt-controller; 73 + #interrupt-cells = <2>; 74 + }; 75 + }; 76 + };