Lines Matching +full:stm32 +full:- +full:dma +full:- +full:v2
6 * SPDX-License-Identifier: Apache-2.0
10 #include <arm/armv7-m.dtsi>
11 #include <zephyr/dt-bindings/clock/stm32g4_clock.h>
12 #include <zephyr/dt-bindings/i2c/i2c.h>
13 #include <zephyr/dt-bindings/gpio/gpio.h>
14 #include <zephyr/dt-bindings/pwm/pwm.h>
15 #include <zephyr/dt-bindings/adc/adc.h>
16 #include <zephyr/dt-bindings/pwm/stm32_pwm.h>
17 #include <zephyr/dt-bindings/dma/stm32_dma.h>
18 #include <zephyr/dt-bindings/adc/stm32l4_adc.h>
19 #include <zephyr/dt-bindings/reset/stm32g4_l4_5_reset.h>
25 zephyr,flash-controller = &flash;
29 #address-cells = <1>;
30 #size-cells = <0>;
34 compatible = "arm,cortex-m4f";
36 cpu-power-states = <&stop0 &stop1>;
39 power-states {
41 compatible = "zephyr,power-state";
42 power-state-name = "suspend-to-idle";
43 substate-id = <1>;
44 min-residency-us = <20>;
47 compatible = "zephyr,power-state";
48 power-state-name = "suspend-to-idle";
49 substate-id = <2>;
50 min-residency-us = <100>;
56 compatible = "mmio-sram";
60 clk_hse: clk-hse {
61 #clock-cells = <0>;
62 compatible = "st,stm32-hse-clock";
66 clk_hsi: clk-hsi {
67 #clock-cells = <0>;
68 compatible = "fixed-clock";
69 clock-frequency = <DT_FREQ_M(16)>;
73 clk_hsi48: clk-hsi48 {
74 #clock-cells = <0>;
75 compatible = "fixed-clock";
76 clock-frequency = <DT_FREQ_M(48)>;
80 clk_lse: clk-lse {
81 #clock-cells = <0>;
82 compatible = "st,stm32-lse-clock";
83 clock-frequency = <32768>;
84 driving-capability = <0>;
88 clk_lsi: clk-lsi {
89 #clock-cells = <0>;
90 compatible = "fixed-clock";
91 clock-frequency = <DT_FREQ_K(32)>;
96 #clock-cells = <0>;
97 compatible = "st,stm32g4-pll-clock";
107 compatible = "st,stm32-adc";
112 #io-channel-cells = <1>;
117 sampling-times = <3 7 13 25 48 93 248 641>;
118 st,adc-sequencer = "FULLY_CONFIGURABLE";
119 st,adc-oversampler = "OVERSAMPLER_MINIMAL";
123 compatible = "st,stm32-adc";
128 #io-channel-cells = <1>;
133 sampling-times = <3 7 13 25 48 93 248 641>;
134 st,adc-sequencer = "FULLY_CONFIGURABLE";
135 st,adc-oversampler = "OVERSAMPLER_MINIMAL";
139 compatible = "st,stm32-dac";
143 #io-channel-cells = <1>;
147 compatible = "st,stm32-dac";
151 #io-channel-cells = <1>;
154 flash: flash-controller@40022000 {
155 compatible = "st,stm32-flash-controller", "st,stm32g4-flash-controller";
160 #address-cells = <1>;
161 #size-cells = <1>;
164 compatible = "st,stm32-nv-flash", "soc-nv-flash";
166 write-block-size = <8>;
167 erase-block-size = <2048>;
169 max-erase-time = <25>;
174 compatible = "st,stm32-rcc";
175 #clock-cells = <2>;
177 undershoot-prevention;
179 rctl: reset-controller {
180 compatible = "st,stm32-rcc-rctl";
181 #reset-cells = <1>;
185 exti: interrupt-controller@40010400 {
186 compatible = "st,stm32-exti";
187 interrupt-controller;
188 #interrupt-cells = <1>;
189 #address-cells = <1>;
191 num-lines = <16>;
194 interrupt-names = "line0", "line1", "line2-TSC", "line3",
195 "line4", "line5-9", "line10-15";
196 line-ranges = <0 1>, <1 1>, <2 1>, <3 1>,
200 pinctrl: pin-controller@48000000 {
201 compatible = "st,stm32-pinctrl";
202 #address-cells = <1>;
203 #size-cells = <1>;
207 compatible = "st,stm32-gpio";
208 gpio-controller;
209 #gpio-cells = <2>;
215 compatible = "st,stm32-gpio";
216 gpio-controller;
217 #gpio-cells = <2>;
223 compatible = "st,stm32-gpio";
224 gpio-controller;
225 #gpio-cells = <2>;
231 compatible = "st,stm32-gpio";
232 gpio-controller;
233 #gpio-cells = <2>;
239 compatible = "st,stm32-gpio";
240 gpio-controller;
241 #gpio-cells = <2>;
247 compatible = "st,stm32-gpio";
248 gpio-controller;
249 #gpio-cells = <2>;
255 compatible = "st,stm32-gpio";
256 gpio-controller;
257 #gpio-cells = <2>;
264 compatible = "st,stm32-usart", "st,stm32-uart";
273 compatible = "st,stm32-usart", "st,stm32-uart";
282 compatible = "st,stm32-usart", "st,stm32-uart";
291 compatible = "st,stm32-uart";
300 compatible = "st,stm32-lpuart", "st,stm32-uart";
309 compatible = "st,stm32-watchdog";
315 compatible = "st,stm32-window-watchdog";
323 compatible = "st,stm32-i2c-v2";
324 clock-frequency = <I2C_BITRATE_STANDARD>;
325 #address-cells = <1>;
326 #size-cells = <0>;
330 interrupt-names = "event", "error";
335 compatible = "st,stm32-i2c-v2";
336 clock-frequency = <I2C_BITRATE_STANDARD>;
337 #address-cells = <1>;
338 #size-cells = <0>;
342 interrupt-names = "event", "error";
347 compatible = "st,stm32-i2c-v2";
348 clock-frequency = <I2C_BITRATE_STANDARD>;
349 #address-cells = <1>;
350 #size-cells = <0>;
354 interrupt-names = "event", "error";
359 compatible = "st,stm32-spi-fifo", "st,stm32-spi";
360 #address-cells = <1>;
361 #size-cells = <0>;
369 compatible = "st,stm32-spi-fifo", "st,stm32-spi";
370 #address-cells = <1>;
371 #size-cells = <0>;
379 compatible = "st,stm32-spi-fifo", "st,stm32-spi";
380 #address-cells = <1>;
381 #size-cells = <0>;
389 compatible = "st,stm32-fdcan";
391 reg-names = "m_can", "message_ram";
393 interrupt-names = "int0", "int1";
395 bosch,mram-cfg = <0x0 28 8 3 3 0 3 3>;
400 compatible = "st,stm32-lptim";
402 #address-cells = <1>;
403 #size-cells = <0>;
406 interrupt-names = "wakeup";
411 compatible = "st,stm32-timers";
416 interrupt-names = "brk", "up", "trgcom", "cc";
421 compatible = "st,stm32-pwm";
423 #pwm-cells = <3>;
428 compatible = "st,stm32-timers";
433 interrupt-names = "global";
438 compatible = "st,stm32-counter";
443 compatible = "st,stm32-pwm";
445 #pwm-cells = <3>;
450 compatible = "st,stm32-timers";
455 interrupt-names = "global";
460 compatible = "st,stm32-counter";
465 compatible = "st,stm32-pwm";
467 #pwm-cells = <3>;
472 compatible = "st,stm32-timers";
477 interrupt-names = "global";
482 compatible = "st,stm32-counter";
487 compatible = "st,stm32-pwm";
489 #pwm-cells = <3>;
494 compatible = "st,stm32-timers";
499 interrupt-names = "global";
505 compatible = "st,stm32-timers";
510 interrupt-names = "global";
516 compatible = "st,stm32-timers";
521 interrupt-names = "brk", "up", "trgcom", "cc";
526 compatible = "st,stm32-pwm";
528 #pwm-cells = <3>;
533 compatible = "st,stm32-timers";
538 interrupt-names = "global";
543 compatible = "st,stm32-pwm";
545 #pwm-cells = <3>;
549 compatible = "st,stm32-counter";
555 compatible = "st,stm32-timers";
560 interrupt-names = "global";
565 compatible = "st,stm32-pwm";
567 #pwm-cells = <3>;
571 compatible = "st,stm32-counter";
577 compatible = "st,stm32-timers";
582 interrupt-names = "global";
587 compatible = "st,stm32-pwm";
589 #pwm-cells = <3>;
593 compatible = "st,stm32-counter";
599 compatible = "st,stm32-rtc";
604 alarms-count = <2>;
605 alrm-exti-line = <17>;
610 compatible = "st,stm32-rng";
618 compatible = "st,stm32-usb";
621 interrupt-names = "usb", "usbhp";
622 num-bidir-endpoints = <8>;
623 ram-size = <1024>;
630 dma1: dma@40020000 {
631 compatible = "st,stm32-dma-v2";
632 #dma-cells = <3>;
635 dma-offset = <0>;
639 dma2: dma@40020400 {
640 compatible = "st,stm32-dma-v2";
641 #dma-cells = <3>;
648 compatible = "st,stm32-dmamux";
649 #dma-cells = <3>;
653 dma-generators = <4>;
654 dma-requests= <111>;
659 compatible = "st,stm32-ucpd";
668 compatible = "st,stm32-temp-cal";
669 ts-cal1-addr = <0x1FFF75A8>;
670 ts-cal2-addr = <0x1FFF75CA>;
671 ts-cal1-temp = <30>;
672 ts-cal2-temp = <130>;
673 ts-cal-vrefanalog = <3000>;
674 io-channels = <&adc1 16>;
679 compatible = "st,stm32-vref";
680 vrefint-cal-addr = <0x1FFF75AA>;
681 vrefint-cal-mv = <3000>;
682 io-channels = <&adc1 18>;
687 compatible = "st,stm32-vbat";
689 io-channels = <&adc1 17>;
694 compatible = "usb-nop-xceiv";
695 #phy-cells = <0>;
699 compatible = "st,stm32-smbus";
700 #address-cells = <1>;
701 #size-cells = <0>;
707 compatible = "st,stm32-smbus";
708 #address-cells = <1>;
709 #size-cells = <0>;
715 compatible = "st,stm32-smbus";
716 #address-cells = <1>;
717 #size-cells = <0>;
724 arm,num-irq-priority-bits = <4>;