494 lines
8.1 KiB
Plaintext
494 lines
8.1 KiB
Plaintext
|
// SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||
|
// Copyright 2021 Jonathan Neuschäfer
|
||
|
|
||
|
#include <dt-bindings/interrupt-controller/irq.h>
|
||
|
|
||
|
/ {
|
||
|
compatible = "nuvoton,wpcm450";
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <1>;
|
||
|
|
||
|
aliases {
|
||
|
gpio0 = &gpio0;
|
||
|
gpio1 = &gpio1;
|
||
|
gpio2 = &gpio2;
|
||
|
gpio3 = &gpio3;
|
||
|
gpio4 = &gpio4;
|
||
|
gpio5 = &gpio5;
|
||
|
gpio6 = &gpio6;
|
||
|
gpio7 = &gpio7;
|
||
|
};
|
||
|
|
||
|
cpus {
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
|
||
|
cpu@0 {
|
||
|
compatible = "arm,arm926ej-s";
|
||
|
device_type = "cpu";
|
||
|
reg = <0>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
clk24m: clock-24mhz {
|
||
|
/* 24 MHz dummy clock */
|
||
|
compatible = "fixed-clock";
|
||
|
clock-frequency = <24000000>;
|
||
|
#clock-cells = <0>;
|
||
|
};
|
||
|
|
||
|
refclk: clock-48mhz {
|
||
|
/* 48 MHz reference oscillator */
|
||
|
compatible = "fixed-clock";
|
||
|
clock-output-names = "ref";
|
||
|
clock-frequency = <48000000>;
|
||
|
#clock-cells = <0>;
|
||
|
};
|
||
|
|
||
|
soc {
|
||
|
compatible = "simple-bus";
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <1>;
|
||
|
interrupt-parent = <&aic>;
|
||
|
ranges;
|
||
|
|
||
|
gcr: syscon@b0000000 {
|
||
|
compatible = "nuvoton,wpcm450-gcr", "syscon", "simple-mfd";
|
||
|
reg = <0xb0000000 0x200>;
|
||
|
};
|
||
|
|
||
|
clk: clock-controller@b0000200 {
|
||
|
compatible = "nuvoton,wpcm450-clk";
|
||
|
reg = <0xb0000200 0x100>;
|
||
|
clocks = <&refclk>;
|
||
|
clock-names = "ref";
|
||
|
#clock-cells = <1>;
|
||
|
#reset-cells = <1>;
|
||
|
};
|
||
|
|
||
|
serial0: serial@b8000000 {
|
||
|
compatible = "nuvoton,wpcm450-uart";
|
||
|
reg = <0xb8000000 0x20>;
|
||
|
reg-shift = <2>;
|
||
|
interrupts = <7 IRQ_TYPE_LEVEL_HIGH>;
|
||
|
clocks = <&clk24m>;
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <&bsp_pins>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
serial1: serial@b8000100 {
|
||
|
compatible = "nuvoton,wpcm450-uart";
|
||
|
reg = <0xb8000100 0x20>;
|
||
|
reg-shift = <2>;
|
||
|
interrupts = <8 IRQ_TYPE_LEVEL_HIGH>;
|
||
|
clocks = <&clk24m>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
timer0: timer@b8001000 {
|
||
|
compatible = "nuvoton,wpcm450-timer";
|
||
|
interrupts = <12 IRQ_TYPE_LEVEL_HIGH>;
|
||
|
reg = <0xb8001000 0x1c>;
|
||
|
clocks = <&clk24m>;
|
||
|
};
|
||
|
|
||
|
watchdog0: watchdog@b800101c {
|
||
|
compatible = "nuvoton,wpcm450-wdt";
|
||
|
interrupts = <1 IRQ_TYPE_LEVEL_HIGH>;
|
||
|
reg = <0xb800101c 0x4>;
|
||
|
clocks = <&clk24m>;
|
||
|
};
|
||
|
|
||
|
aic: interrupt-controller@b8002000 {
|
||
|
compatible = "nuvoton,wpcm450-aic";
|
||
|
reg = <0xb8002000 0x1000>;
|
||
|
interrupt-controller;
|
||
|
#interrupt-cells = <2>;
|
||
|
};
|
||
|
|
||
|
pinctrl: pinctrl@b8003000 {
|
||
|
compatible = "nuvoton,wpcm450-pinctrl";
|
||
|
reg = <0xb8003000 0x1000>;
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
|
||
|
gpio0: gpio@0 {
|
||
|
reg = <0>;
|
||
|
gpio-controller;
|
||
|
#gpio-cells = <2>;
|
||
|
interrupts = <2 IRQ_TYPE_LEVEL_HIGH>,
|
||
|
<3 IRQ_TYPE_LEVEL_HIGH>,
|
||
|
<4 IRQ_TYPE_LEVEL_HIGH>;
|
||
|
interrupt-controller;
|
||
|
};
|
||
|
|
||
|
gpio1: gpio@1 {
|
||
|
reg = <1>;
|
||
|
gpio-controller;
|
||
|
#gpio-cells = <2>;
|
||
|
interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;
|
||
|
interrupt-controller;
|
||
|
};
|
||
|
|
||
|
gpio2: gpio@2 {
|
||
|
reg = <2>;
|
||
|
gpio-controller;
|
||
|
#gpio-cells = <2>;
|
||
|
};
|
||
|
|
||
|
gpio3: gpio@3 {
|
||
|
reg = <3>;
|
||
|
gpio-controller;
|
||
|
#gpio-cells = <2>;
|
||
|
};
|
||
|
|
||
|
gpio4: gpio@4 {
|
||
|
reg = <4>;
|
||
|
gpio-controller;
|
||
|
#gpio-cells = <2>;
|
||
|
};
|
||
|
|
||
|
gpio5: gpio@5 {
|
||
|
reg = <5>;
|
||
|
gpio-controller;
|
||
|
#gpio-cells = <2>;
|
||
|
};
|
||
|
|
||
|
gpio6: gpio@6 {
|
||
|
reg = <6>;
|
||
|
gpio-controller;
|
||
|
#gpio-cells = <2>;
|
||
|
};
|
||
|
|
||
|
gpio7: gpio@7 {
|
||
|
reg = <7>;
|
||
|
gpio-controller;
|
||
|
#gpio-cells = <2>;
|
||
|
};
|
||
|
|
||
|
smb3_pins: mux-smb3 {
|
||
|
groups = "smb3";
|
||
|
function = "smb3";
|
||
|
};
|
||
|
|
||
|
smb4_pins: mux-smb4 {
|
||
|
groups = "smb4";
|
||
|
function = "smb4";
|
||
|
};
|
||
|
|
||
|
smb5_pins: mux-smb5 {
|
||
|
groups = "smb5";
|
||
|
function = "smb5";
|
||
|
};
|
||
|
|
||
|
scs1_pins: mux-scs1 {
|
||
|
groups = "scs1";
|
||
|
function = "scs1";
|
||
|
};
|
||
|
|
||
|
scs2_pins: mux-scs2 {
|
||
|
groups = "scs2";
|
||
|
function = "scs2";
|
||
|
};
|
||
|
|
||
|
scs3_pins: mux-scs3 {
|
||
|
groups = "scs3";
|
||
|
function = "scs3";
|
||
|
};
|
||
|
|
||
|
smb0_pins: mux-smb0 {
|
||
|
groups = "smb0";
|
||
|
function = "smb0";
|
||
|
};
|
||
|
|
||
|
smb1_pins: mux-smb1 {
|
||
|
groups = "smb1";
|
||
|
function = "smb1";
|
||
|
};
|
||
|
|
||
|
smb2_pins: mux-smb2 {
|
||
|
groups = "smb2";
|
||
|
function = "smb2";
|
||
|
};
|
||
|
|
||
|
bsp_pins: mux-bsp {
|
||
|
groups = "bsp";
|
||
|
function = "bsp";
|
||
|
};
|
||
|
|
||
|
hsp1_pins: mux-hsp1 {
|
||
|
groups = "hsp1";
|
||
|
function = "hsp1";
|
||
|
};
|
||
|
|
||
|
hsp2_pins: mux-hsp2 {
|
||
|
groups = "hsp2";
|
||
|
function = "hsp2";
|
||
|
};
|
||
|
|
||
|
r1err_pins: mux-r1err {
|
||
|
groups = "r1err";
|
||
|
function = "r1err";
|
||
|
};
|
||
|
|
||
|
r1md_pins: mux-r1md {
|
||
|
groups = "r1md";
|
||
|
function = "r1md";
|
||
|
};
|
||
|
|
||
|
rmii2_pins: mux-rmii2 {
|
||
|
groups = "rmii2";
|
||
|
function = "rmii2";
|
||
|
};
|
||
|
|
||
|
r2err_pins: mux-r2err {
|
||
|
groups = "r2err";
|
||
|
function = "r2err";
|
||
|
};
|
||
|
|
||
|
r2md_pins: mux-r2md {
|
||
|
groups = "r2md";
|
||
|
function = "r2md";
|
||
|
};
|
||
|
|
||
|
kbcc_pins: mux-kbcc {
|
||
|
groups = "kbcc";
|
||
|
function = "kbcc";
|
||
|
};
|
||
|
|
||
|
dvo0_pins: mux-dvo0 {
|
||
|
groups = "dvo";
|
||
|
function = "dvo0";
|
||
|
};
|
||
|
|
||
|
dvo3_pins: mux-dvo3 {
|
||
|
groups = "dvo";
|
||
|
function = "dvo3";
|
||
|
};
|
||
|
|
||
|
clko_pins: mux-clko {
|
||
|
groups = "clko";
|
||
|
function = "clko";
|
||
|
};
|
||
|
|
||
|
smi_pins: mux-smi {
|
||
|
groups = "smi";
|
||
|
function = "smi";
|
||
|
};
|
||
|
|
||
|
uinc_pins: mux-uinc {
|
||
|
groups = "uinc";
|
||
|
function = "uinc";
|
||
|
};
|
||
|
|
||
|
gspi_pins: mux-gspi {
|
||
|
groups = "gspi";
|
||
|
function = "gspi";
|
||
|
};
|
||
|
|
||
|
mben_pins: mux-mben {
|
||
|
groups = "mben";
|
||
|
function = "mben";
|
||
|
};
|
||
|
|
||
|
xcs2_pins: mux-xcs2 {
|
||
|
groups = "xcs2";
|
||
|
function = "xcs2";
|
||
|
};
|
||
|
|
||
|
xcs1_pins: mux-xcs1 {
|
||
|
groups = "xcs1";
|
||
|
function = "xcs1";
|
||
|
};
|
||
|
|
||
|
sdio_pins: mux-sdio {
|
||
|
groups = "sdio";
|
||
|
function = "sdio";
|
||
|
};
|
||
|
|
||
|
sspi_pins: mux-sspi {
|
||
|
groups = "sspi";
|
||
|
function = "sspi";
|
||
|
};
|
||
|
|
||
|
fi0_pins: mux-fi0 {
|
||
|
groups = "fi0";
|
||
|
function = "fi0";
|
||
|
};
|
||
|
|
||
|
fi1_pins: mux-fi1 {
|
||
|
groups = "fi1";
|
||
|
function = "fi1";
|
||
|
};
|
||
|
|
||
|
fi2_pins: mux-fi2 {
|
||
|
groups = "fi2";
|
||
|
function = "fi2";
|
||
|
};
|
||
|
|
||
|
fi3_pins: mux-fi3 {
|
||
|
groups = "fi3";
|
||
|
function = "fi3";
|
||
|
};
|
||
|
|
||
|
fi4_pins: mux-fi4 {
|
||
|
groups = "fi4";
|
||
|
function = "fi4";
|
||
|
};
|
||
|
|
||
|
fi5_pins: mux-fi5 {
|
||
|
groups = "fi5";
|
||
|
function = "fi5";
|
||
|
};
|
||
|
|
||
|
fi6_pins: mux-fi6 {
|
||
|
groups = "fi6";
|
||
|
function = "fi6";
|
||
|
};
|
||
|
|
||
|
fi7_pins: mux-fi7 {
|
||
|
groups = "fi7";
|
||
|
function = "fi7";
|
||
|
};
|
||
|
|
||
|
fi8_pins: mux-fi8 {
|
||
|
groups = "fi8";
|
||
|
function = "fi8";
|
||
|
};
|
||
|
|
||
|
fi9_pins: mux-fi9 {
|
||
|
groups = "fi9";
|
||
|
function = "fi9";
|
||
|
};
|
||
|
|
||
|
fi10_pins: mux-fi10 {
|
||
|
groups = "fi10";
|
||
|
function = "fi10";
|
||
|
};
|
||
|
|
||
|
fi11_pins: mux-fi11 {
|
||
|
groups = "fi11";
|
||
|
function = "fi11";
|
||
|
};
|
||
|
|
||
|
fi12_pins: mux-fi12 {
|
||
|
groups = "fi12";
|
||
|
function = "fi12";
|
||
|
};
|
||
|
|
||
|
fi13_pins: mux-fi13 {
|
||
|
groups = "fi13";
|
||
|
function = "fi13";
|
||
|
};
|
||
|
|
||
|
fi14_pins: mux-fi14 {
|
||
|
groups = "fi14";
|
||
|
function = "fi14";
|
||
|
};
|
||
|
|
||
|
fi15_pins: mux-fi15 {
|
||
|
groups = "fi15";
|
||
|
function = "fi15";
|
||
|
};
|
||
|
|
||
|
pwm0_pins: mux-pwm0 {
|
||
|
groups = "pwm0";
|
||
|
function = "pwm0";
|
||
|
};
|
||
|
|
||
|
pwm1_pins: mux-pwm1 {
|
||
|
groups = "pwm1";
|
||
|
function = "pwm1";
|
||
|
};
|
||
|
|
||
|
pwm2_pins: mux-pwm2 {
|
||
|
groups = "pwm2";
|
||
|
function = "pwm2";
|
||
|
};
|
||
|
|
||
|
pwm3_pins: mux-pwm3 {
|
||
|
groups = "pwm3";
|
||
|
function = "pwm3";
|
||
|
};
|
||
|
|
||
|
pwm4_pins: mux-pwm4 {
|
||
|
groups = "pwm4";
|
||
|
function = "pwm4";
|
||
|
};
|
||
|
|
||
|
pwm5_pins: mux-pwm5 {
|
||
|
groups = "pwm5";
|
||
|
function = "pwm5";
|
||
|
};
|
||
|
|
||
|
pwm6_pins: mux-pwm6 {
|
||
|
groups = "pwm6";
|
||
|
function = "pwm6";
|
||
|
};
|
||
|
|
||
|
pwm7_pins: mux-pwm7 {
|
||
|
groups = "pwm7";
|
||
|
function = "pwm7";
|
||
|
};
|
||
|
|
||
|
hg0_pins: mux-hg0 {
|
||
|
groups = "hg0";
|
||
|
function = "hg0";
|
||
|
};
|
||
|
|
||
|
hg1_pins: mux-hg1 {
|
||
|
groups = "hg1";
|
||
|
function = "hg1";
|
||
|
};
|
||
|
|
||
|
hg2_pins: mux-hg2 {
|
||
|
groups = "hg2";
|
||
|
function = "hg2";
|
||
|
};
|
||
|
|
||
|
hg3_pins: mux-hg3 {
|
||
|
groups = "hg3";
|
||
|
function = "hg3";
|
||
|
};
|
||
|
|
||
|
hg4_pins: mux-hg4 {
|
||
|
groups = "hg4";
|
||
|
function = "hg4";
|
||
|
};
|
||
|
|
||
|
hg5_pins: mux-hg5 {
|
||
|
groups = "hg5";
|
||
|
function = "hg5";
|
||
|
};
|
||
|
|
||
|
hg6_pins: mux-hg6 {
|
||
|
groups = "hg6";
|
||
|
function = "hg6";
|
||
|
};
|
||
|
|
||
|
hg7_pins: mux-hg7 {
|
||
|
groups = "hg7";
|
||
|
function = "hg7";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
fiu: spi-controller@c8000000 {
|
||
|
compatible = "nuvoton,wpcm450-fiu";
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
reg = <0xc8000000 0x1000>, <0xc0000000 0x4000000>;
|
||
|
reg-names = "control", "memory";
|
||
|
clocks = <&clk 0>;
|
||
|
nuvoton,shm = <&shm>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
shm: syscon@c8001000 {
|
||
|
compatible = "nuvoton,wpcm450-shm", "syscon";
|
||
|
reg = <0xc8001000 0x1000>;
|
||
|
reg-io-width = <1>;
|
||
|
};
|
||
|
};
|
||
|
};
|