241 lines
5.8 KiB
Plaintext
241 lines
5.8 KiB
Plaintext
/*
|
|
* Copyright (c) 2020 Alexander Kozhinov <AlexanderKozhinov@yandex.com>
|
|
* Copyright (c) 2022 Georgij Cernysiov <geo.cgv@gmail.com>
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
#include <mem.h>
|
|
#include <st/h7/stm32h7.dtsi>
|
|
#include <zephyr/dt-bindings/display/panel.h>
|
|
#include <zephyr/dt-bindings/flash_controller/ospi.h>
|
|
|
|
/ {
|
|
soc {
|
|
compatible = "st,stm32h723", "st,stm32h7", "simple-bus";
|
|
|
|
flash-controller@52002000 {
|
|
flash0: flash@8000000 {
|
|
compatible = "st,stm32-nv-flash", "soc-nv-flash";
|
|
write-block-size = <32>;
|
|
erase-block-size = <DT_SIZE_K(128)>;
|
|
/* maximum erase time for a 128K sector */
|
|
max-erase-time = <4000>;
|
|
};
|
|
};
|
|
|
|
uart9: serial@40011800 {
|
|
compatible = "st,stm32-uart";
|
|
reg = <0x40011800 0x400>;
|
|
clocks = <&rcc STM32_CLOCK_BUS_APB2 0x00000040>;
|
|
resets = <&rctl STM32_RESET(APB2, 6U)>;
|
|
interrupts = <155 0>;
|
|
status = "disabled";
|
|
};
|
|
|
|
usart10: serial@40011c00 {
|
|
compatible = "st,stm32-usart", "st,stm32-uart";
|
|
reg = <0x40011c00 0x400>;
|
|
clocks = <&rcc STM32_CLOCK_BUS_APB2 0x00000080>;
|
|
resets = <&rctl STM32_RESET(APB2, 7U)>;
|
|
interrupts = <156 0>;
|
|
status = "disabled";
|
|
};
|
|
|
|
/*
|
|
* ADC3 on STM32H723, 725, 730, 733 & 735 is a 12-bit resolution
|
|
* ADC, so we redefine the resolution for these devices.
|
|
*/
|
|
adc3: adc@58026000 {
|
|
resolutions = <STM32H72X_ADC3_RES(12, 0x00)
|
|
STM32H72X_ADC3_RES(10, 0x01)
|
|
STM32H72X_ADC3_RES(8, 0x02)
|
|
STM32H72X_ADC3_RES(6, 0x03)>;
|
|
sampling-times = <3 7 13 25 48 93 248 641>;
|
|
st,adc-sequencer = <FULLY_CONFIGURABLE>;
|
|
};
|
|
|
|
dmamux1: dmamux@40020800 {
|
|
dma-requests= <129>;
|
|
};
|
|
|
|
dmamux2: dmamux@58025800 {
|
|
dma-requests= <129>;
|
|
};
|
|
|
|
rng: rng@48021800 {
|
|
health-test-magic = <0x17590abc>;
|
|
health-test-config = <0xaa74>;
|
|
};
|
|
|
|
usbotg_hs: usb@40040000 {
|
|
compatible = "st,stm32-otghs";
|
|
reg = <0x40040000 0x40000>;
|
|
interrupts = <77 0>, <74 0>, <75 0>;
|
|
interrupt-names = "otghs", "ep1_out", "ep1_in";
|
|
num-bidir-endpoints = <9>;
|
|
ram-size = <DT_SIZE_K(4)>;
|
|
maximum-speed = "full-speed";
|
|
clocks = <&rcc STM32_CLOCK_BUS_AHB1 0x02000000>,
|
|
<&rcc STM32_SRC_HSI48 USB_SEL(3)>;
|
|
phys = <&otghs_fs_phy>;
|
|
status = "disabled";
|
|
};
|
|
|
|
ltdc: display-controller@50001000 {
|
|
compatible = "st,stm32-ltdc";
|
|
reg = <0x50001000 0x200>;
|
|
interrupts = <88 0>, <89 0>;
|
|
interrupt-names = "ltdc", "ltdc_er";
|
|
clocks = <&rcc STM32_CLOCK_BUS_APB3 0x00000008>;
|
|
status = "disabled";
|
|
};
|
|
|
|
octospi1: octospi@52005000 {
|
|
compatible = "st,stm32-ospi";
|
|
reg = <0x52005000 0x1000>;
|
|
interrupts = <92 0>;
|
|
clock-names = "ospix", "ospi-ker";
|
|
clocks = <&rcc STM32_CLOCK_BUS_AHB3 0x00004000>,
|
|
<&rcc STM32_SRC_PLL1_Q OSPI_SEL(1)>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
status = "disabled";
|
|
};
|
|
|
|
octospi2: octospi@5200a000 {
|
|
compatible = "st,stm32-ospi";
|
|
reg = <0x5200a000 0x1000>;
|
|
interrupts = <150 0>;
|
|
clock-names = "ospix", "ospi-ker";
|
|
clocks = <&rcc STM32_CLOCK_BUS_AHB3 0x000080000>,
|
|
<&rcc STM32_SRC_PLL1_Q OSPI_SEL(1)>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
status = "disabled";
|
|
};
|
|
|
|
fdcan3: can@4000d400 {
|
|
compatible = "st,stm32h7-fdcan";
|
|
reg = <0x4000d400 0x400>, <0x4000ac00 0x9f0>;
|
|
reg-names = "m_can", "message_ram";
|
|
clocks = <&rcc STM32_CLOCK_BUS_APB1_2 0x00000100>;
|
|
interrupts = <159 0>, <160 0>, <63 0>;
|
|
interrupt-names = "int0", "int1", "calib";
|
|
bosch,mram-cfg = <0x6a0 28 8 3 3 0 3 3>;
|
|
status = "disabled";
|
|
};
|
|
|
|
rtc@58004000 {
|
|
bbram: backup_regs {
|
|
compatible = "st,stm32-bbram";
|
|
st,backup-regs = <32>;
|
|
status = "disabled";
|
|
};
|
|
};
|
|
|
|
timers23: timers@4000e000 {
|
|
compatible = "st,stm32-timers";
|
|
reg = <0x4000e000 0x400>;
|
|
clocks = <&rcc STM32_CLOCK_BUS_APB1_2 0x01000000>;
|
|
resets = <&rctl STM32_RESET(APB1H, 24U)>;
|
|
interrupts = <161 0>;
|
|
interrupt-names = "global";
|
|
st,prescaler = <0>;
|
|
status = "disabled";
|
|
|
|
pwm {
|
|
compatible = "st,stm32-pwm";
|
|
status = "disabled";
|
|
#pwm-cells = <3>;
|
|
};
|
|
|
|
counter {
|
|
compatible = "st,stm32-counter";
|
|
status = "disabled";
|
|
};
|
|
};
|
|
|
|
timers24: timers@4000e400 {
|
|
compatible = "st,stm32-timers";
|
|
reg = <0x4000e400 0x400>;
|
|
clocks = <&rcc STM32_CLOCK_BUS_APB1_2 0x02000000>;
|
|
resets = <&rctl STM32_RESET(APB1H, 25U)>;
|
|
interrupts = <162 0>;
|
|
interrupt-names = "global";
|
|
st,prescaler = <0>;
|
|
status = "disabled";
|
|
|
|
pwm {
|
|
compatible = "st,stm32-pwm";
|
|
status = "disabled";
|
|
#pwm-cells = <3>;
|
|
};
|
|
|
|
counter {
|
|
compatible = "st,stm32-counter";
|
|
status = "disabled";
|
|
};
|
|
};
|
|
};
|
|
|
|
/* D1 domain, AXI SRAM (128KB with shared ITCM 192KB as `TCM_AXI_SHARED` is `000`) */
|
|
sram0: memory@24000000 {
|
|
reg = <0x24000000 DT_SIZE_K(320)>;
|
|
compatible = "mmio-sram";
|
|
};
|
|
|
|
/* D2 domain, AHB SRAM */
|
|
sram1: memory@30000000 {
|
|
reg = <0x30000000 DT_SIZE_K(16)>;
|
|
compatible = "zephyr,memory-region", "mmio-sram";
|
|
zephyr,memory-region = "SRAM1";
|
|
};
|
|
|
|
/* D2 domain, AHB SRAM */
|
|
sram2: memory@30004000 {
|
|
reg = <0x30004000 DT_SIZE_K(16)>;
|
|
compatible = "zephyr,memory-region", "mmio-sram";
|
|
zephyr,memory-region = "SRAM2";
|
|
};
|
|
|
|
/* D3 domain, AHB SRAM */
|
|
sram4: memory@38000000 {
|
|
reg = <0x38000000 DT_SIZE_K(16)>;
|
|
compatible = "zephyr,memory-region", "mmio-sram";
|
|
zephyr,memory-region = "SRAM4";
|
|
};
|
|
|
|
/* Data TCM RAM */
|
|
dtcm: memory@20000000 {
|
|
compatible = "zephyr,memory-region", "arm,dtcm";
|
|
reg = <0x20000000 DT_SIZE_K(128)>;
|
|
zephyr,memory-region = "DTCM";
|
|
};
|
|
|
|
/* Instruction TCM RAM (64KB as `TCM_AXI_SHARED` is `000`) */
|
|
itcm: memory@0 {
|
|
compatible = "zephyr,memory-region", "arm,itcm";
|
|
reg = <0x00000000 DT_SIZE_K(64)>;
|
|
zephyr,memory-region = "ITCM";
|
|
};
|
|
|
|
otghs_fs_phy: otghs_fs_phy {
|
|
compatible = "usb-nop-xceiv";
|
|
#phy-cells = <0>;
|
|
};
|
|
|
|
die_temp: dietemp {
|
|
io-channels = <&adc3 17>;
|
|
ts-cal2-temp = <130>;
|
|
};
|
|
|
|
vref: vref {
|
|
io-channels = <&adc3 18>;
|
|
};
|
|
|
|
vbat: vbat {
|
|
io-channels = <&adc3 16>;
|
|
};
|
|
};
|