| /* |
| * 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>; |
| }; |
| }; |