Files
linux/arch/arm/boot/dts/nuvoton/nuvoton-wpcm450.dtsi
Rob Herring 724ba67515 ARM: dts: Move .dts files to vendor sub-directories
The arm dts directory has grown to 1559 boards which makes it a bit
unwieldy to maintain and use. Past attempts stalled out due to plans to
move .dts files out of the kernel tree. Doing that is no longer planned
(any time soon at least), so let's go ahead and group .dts files by
vendors. This move aligns arm with arm64 .dts file structure.

There's no change to dtbs_install as the flat structure is maintained on
install.

The naming of vendor directories is roughly in this order of preference:
- Matching original and current SoC vendor prefix/name (e.g. ti, qcom)
- Current vendor prefix/name if still actively sold (SoCs which have
  been aquired) (e.g. nxp/imx)
- Existing platform name for older platforms not sold/maintained by any
  company (e.g. gemini, nspire)

The whole move was scripted with the exception of MAINTAINERS and a few
makefile fixups.

Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Acked-by: Michal Simek <michal.simek@amd.com> #Xilinx
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Acked-by: Neil Armstrong <neil.armstrong@linaro.org>
Acked-by: Paul Barker <paul.barker@sancloud.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Acked-by: Gregory CLEMENT <gregory.clement@bootlin.com>
Acked-by: Heiko Stuebner <heiko@sntech.de>
Acked-by: Wei Xu <xuwei5@hisilicon.com> #hisilicon
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Nick Hawkins <nick.hawkins@hpe.com>
Acked-by: Baruch Siach <baruch@tkos.co.il>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Acked-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Claudiu Beznea <claudiu.beznea@microchip.com>
Acked-by: Peter Rosin <peda@axentia.se>
Acked-by: Jesper Nilsson <jesper.nilsson@axis.com>
Acked-by: Sudeep Holla <sudeep.holla@arm.com>
Acked-by: Florian Fainelli <f.fainelli@gmail.com> #broadcom
Acked-by: Manivannan Sadhasivam <mani@kernel.org>
Reviewed-by: Jisheng Zhang <jszhang@kernel.org>
Acked-by: Patrice Chotard <patrice.chotard@foss.st.com>
Acked-by: Romain Perier <romain.perier@gmail.com>
Acked-by: Alexandre TORGUE <alexandre.torgue@st.com>
Acked-by: Shawn Guo <shawnguo@kernel.org>
Acked-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
Acked-by: Enric Balletbo i Serra <eballetbo@gmail.com>
Signed-off-by: Rob Herring <robh@kernel.org>
2023-06-21 11:39:50 -06:00

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>;
};
};
};