arch/arm/boot/dts/nuvoton/nuvoton-wpcm450.dtsi

Source file repositories/reference/linux-study-clean/arch/arm/boot/dts/nuvoton/nuvoton-wpcm450.dtsi

File Facts

System
Linux kernel
Corpus path
arch/arm/boot/dts/nuvoton/nuvoton-wpcm450.dtsi
Extension
.dtsi
Size
8369 bytes
Lines
496
Domain
Architecture Layer
Bucket
arch/arm
Inferred role
Architecture Layer: configuration, schema, or hardware description
Status
atlas-only

Why This File Exists

CPU and platform-specific kernel glue: boot entry, traps, syscall entry, interrupts, page tables, context switch, and low-level barriers.

Dependency Surface

Detected Declarations

Annotated Snippet

// 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";

Annotation

Implementation Notes