Linux preempt-rt

Check our new training course

Real-Time Linux with PREEMPT_RT

Check our new training course
with Creative Commons CC-BY-SA
lecture and lab materials

Bootlin logo

Elixir Cross Referencer

/*
 * Copyright (c) 2020 Antmicro <www.antmicro.com>
 *
 * SPDX-License-Identifier: Apache-2.0
 */

#include <mem.h>
#include <arm/armv7-m.dtsi>
#include <dt-bindings/gpio/gpio.h>

/ {
	cpus {
		#address-cells = <1>;
		#size-cells = <0>;

		cpu0: cpu@0 {
			device_type = "cpu";
			compatible = "arm,cortex-m4f";
			reg = <0>;
			#address-cells = <1>;
			#size-cells = <1>;

			mpu: mpu@e000ed90 {
				compatible = "arm,armv7m-mpu";
				reg = <0xe000ed90 0x40>;
				arm,num-mpu-regions = <8>;
			};
		};
	};

	sram0: memory@20000000 {
		compatible = "mmio-sram";
		reg = <0x20000000 DT_SIZE_K(512)>;
	};

	uartclk: uart-clock {
		compatible = "fixed-clock";
		clock-frequency = <5120000>;
		#clock-cells = <0>;
	};

	soc {
		uart0: uart@40010000 {
			compatible = "arm,pl011";
			reg = <0x40010000 DT_SIZE_K(4)>;
			clocks = <&uartclk>;
			interrupts = <7 3>;
			interrupt-names = "rx";
			label = "UART_0";
		};

		gpio: gpio {
			compatible = "quicklogic,eos-s3-gpio";
			status = "disabled";
			interrupts = <5 2>;
			#gpio-cells = <2>;
			ngpios = <8>;
			pin-secondary-config = <0x00>;
			gpio-controller;
			label = "GPIO";
		};
	};
};

&nvic {
	arm,num-irq-priority-bits = <3>;
};