|  | /* | 
|  | * Copyright (c) 2017 Powersoft | 
|  | * | 
|  | * SPDX-License-Identifier: Apache-2.0 | 
|  | */ | 
|  |  | 
|  | /dts-v1/; | 
|  | #include <st/f4/stm32f412Xg.dtsi> | 
|  | #include <st/f4/stm32f412z(e-g)tx-pinctrl.dtsi> | 
|  | #include "arduino_r3_connector.dtsi" | 
|  |  | 
|  | / { | 
|  | model = "STMicroelectronics STM32F412G-DISCO board"; | 
|  | compatible = "st,stm32f412g-disco"; | 
|  |  | 
|  | chosen { | 
|  | zephyr,console = &usart2; | 
|  | zephyr,shell-uart = &usart2; | 
|  | zephyr,sram = &sram0; | 
|  | zephyr,flash = &flash0; | 
|  | }; | 
|  |  | 
|  | leds { | 
|  | compatible = "gpio-leds"; | 
|  | green_led_1: led_1 { | 
|  | gpios = <&gpioe 0 GPIO_ACTIVE_HIGH>; | 
|  | label = "User LD1"; | 
|  | }; | 
|  | orange_led_2: led_2 { | 
|  | gpios = <&gpioe 1 GPIO_ACTIVE_HIGH>; | 
|  | label = "User LD2"; | 
|  | }; | 
|  | red_led_3: led_3 { | 
|  | gpios = <&gpioe 2 GPIO_ACTIVE_HIGH>; | 
|  | label = "User LD3"; | 
|  | }; | 
|  | blue_led_4: led_4 { | 
|  | gpios = <&gpioe 4 GPIO_ACTIVE_HIGH>; | 
|  | label = "User LD4"; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | gpio_keys { | 
|  | compatible = "gpio-keys"; | 
|  | joy_sel: joystick_selection { | 
|  | label = "joystick selection"; | 
|  | gpios = <&gpioa 0 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>; | 
|  | }; | 
|  | joy_down: joystick_down { | 
|  | label = "joystick down"; | 
|  | gpios = <&gpiog 1 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>; | 
|  | }; | 
|  | joy_up: joystick_up { | 
|  | label = "joystick up"; | 
|  | gpios = <&gpiog 0 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>; | 
|  | }; | 
|  | joy_left: joystick_left { | 
|  | label = "joystick left"; | 
|  | gpios = <&gpiof 15 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>; | 
|  | }; | 
|  | joy_right: joystick_right { | 
|  | label = "joystick right"; | 
|  | gpios = <&gpiof 14 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | aliases { | 
|  | led0 = &green_led_1; | 
|  | led1 = &orange_led_2; | 
|  | led2 = &red_led_3; | 
|  | led3 = &blue_led_4; | 
|  | sw0 = &joy_sel; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | &clk_hse { | 
|  | hse-bypass; | 
|  | clock-frequency = <DT_FREQ_M(8)>; /* STLink 8MHz clock */ | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | &pll { | 
|  | div-m = <4>; | 
|  | mul-n = <100>; | 
|  | div-p = <2>; | 
|  | div-q = <8>; | 
|  | clocks = <&clk_hse>; | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | &rcc { | 
|  | clocks = <&pll>; | 
|  | clock-frequency = <DT_FREQ_M(100)>; | 
|  | ahb-prescaler = <1>; | 
|  | apb1-prescaler = <2>; | 
|  | apb2-prescaler = <1>; | 
|  | }; | 
|  |  | 
|  | &usart2 { | 
|  | pinctrl-0 = <&usart2_tx_pa2 &usart2_rx_pa3>; | 
|  | pinctrl-names = "default"; | 
|  | current-speed = <115200>; | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | &usart6 { | 
|  | pinctrl-0 = <&usart6_tx_pg14 &usart6_rx_pg9>; | 
|  | pinctrl-names = "default"; | 
|  | current-speed = <115200>; | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | &i2c2 { | 
|  | pinctrl-0 = <&i2c2_scl_pb10 &i2c2_sda_pb9>; | 
|  | pinctrl-names = "default"; | 
|  | clock-frequency = <I2C_BITRATE_FAST>; | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | &spi1 { | 
|  | pinctrl-0 = <&spi1_nss_pa15 &spi1_sck_pa5 | 
|  | &spi1_miso_pa6 &spi1_mosi_pa7>; | 
|  | pinctrl-names = "default"; | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | &rtc { | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | &quadspi { | 
|  | pinctrl-0 = <&quadspi_clk_pb2 &quadspi_bk1_ncs_pg6 | 
|  | &quadspi_bk1_io0_pf8 &quadspi_bk1_io1_pf9 | 
|  | &quadspi_bk1_io2_pf7 &quadspi_bk1_io3_pf6>; | 
|  | pinctrl-names = "default"; | 
|  | status = "okay"; | 
|  |  | 
|  | n25q128a1: qspi-nor-flash@0 { | 
|  | compatible = "st,stm32-qspi-nor"; | 
|  | label = "N25Q128A1"; | 
|  | reg = <0>; | 
|  | qspi-max-frequency = <72000000>; | 
|  | size = <DT_SIZE_M(16*8)>; | 
|  | status = "okay"; | 
|  | }; | 
|  | }; |