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 Intel Corporation
 *
 * SPDX-License-Identifier: Apache-2.0
 */

/dts-v1/;
#include <st/f4/stm32f407Xe.dtsi>
#include <st/f4/stm32f407v(e-g)tx-pinctrl.dtsi>

/ {
	model = "black_f407ve board";
	compatible = "st,stm32f407";

	chosen {
		zephyr,console = &usart2;
		zephyr,shell-uart = &usart2;
		zephyr,sram = &sram0;
		zephyr,flash = &flash0;
		zephyr,ccm = &ccm0;
		zephyr,can-primary = &can2;
	};

	leds {
		compatible = "gpio-leds";
		green_led_1: led_1 {
			gpios = <&gpioa 6 GPIO_ACTIVE_LOW>;
			label = "User LD1";
		};
		green_led_2: led_2 {
			gpios = <&gpioa 7 GPIO_ACTIVE_LOW>;
			label = "User LD2";
		};
	};

	gpio_keys {
		compatible = "gpio-keys";
		user_button_0: K0 {
			label = "Key K0";
			gpios = <&gpioe 4 GPIO_ACTIVE_LOW>;
		};
		user_button_1: K1 {
			label = "Key K1";
			gpios = <&gpioe 3 GPIO_ACTIVE_LOW>;
		};
		user_button_UP: K_UP {
			label = "Key WK_UP";
			gpios = <&gpioa 0 GPIO_ACTIVE_HIGH>;
		};
	};

	aliases {
		led0 = &green_led_1;
		led1 = &green_led_2;
		sw0 = &user_button_UP;
	};
};

&clk_hse {
	clock-frequency = <DT_FREQ_M(8)>;
	status = "okay";
};

&pll {
	div-m = <8>;
	mul-n = <336>;
	div-p = <2>;
	div-q = <7>;
	clocks = <&clk_hse>;
	status = "okay";
};

&rcc {
	clocks = <&pll>;
	clock-frequency = <DT_FREQ_M(168)>;
	ahb-prescaler = <1>;
	apb1-prescaler = <4>;
	apb2-prescaler = <2>;
};

&usart1 {
	pinctrl-0 = <&usart1_tx_pb6 &usart1_rx_pb7>;
	current-speed = <115200>;
	status = "okay";
};

&usart2 {
	pinctrl-0 = <&usart2_tx_pa2 &usart2_rx_pa3>;
	current-speed = <115200>;
	status = "okay";
};

&timers2 {
	status = "okay";

	pwm2: pwm {
		status = "okay";
		pinctrl-0 = <&tim2_ch1_pa0>;
	};
};

&rtc {
	status = "okay";
};

&usbotg_fs {
	pinctrl-0 = <&usb_otg_fs_dm_pa11 &usb_otg_fs_dp_pa12>;
	status = "okay";
};

&can1 {
	pinctrl-0 = <&can1_rx_pd0 &can1_tx_pd1>;
	bus-speed = <125000>;
	status = "disabled";
};

&can2 {
	pinctrl-0 = <&can2_rx_pb12 &can2_tx_pb13>;
	bus-speed = <125000>;
	status = "okay";
};

&spi1 {
	pinctrl-0 = <&spi1_sck_pb3 &spi1_miso_pb4 &spi1_mosi_pb5>;
	status = "okay";
	cs-gpios = <&gpiob 0 GPIO_ACTIVE_LOW>;
	w25q16cv: w25q16cv@0 {
		compatible = "jedec,spi-nor";
		label = "W25Q16CV";
		reg = <0>;
		spi-max-frequency = <40000000>;
		size = <0x1000000>;
		has-dpd;
		t-enter-dpd = <4000>;
		t-exit-dpd = <25000>;
		jedec-id = [ef 40 15];
	};
};

&spi2 {
	pinctrl-0 = <&spi2_sck_pb10 &spi2_miso_pc2 &spi2_mosi_pc3>;
	status = "okay";
};