cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

stm32f429.dtsi (18289B)


      1/*
      2 * Copyright 2015 - Maxime Coquelin <mcoquelin.stm32@gmail.com>
      3 *
      4 * This file is dual-licensed: you can use it either under the terms
      5 * of the GPL or the X11 license, at your option. Note that this dual
      6 * licensing only applies to this file, and not this project as a
      7 * whole.
      8 *
      9 *  a) This file is free software; you can redistribute it and/or
     10 *     modify it under the terms of the GNU General Public License as
     11 *     published by the Free Software Foundation; either version 2 of the
     12 *     License, or (at your option) any later version.
     13 *
     14 *     This file is distributed in the hope that it will be useful,
     15 *     but WITHOUT ANY WARRANTY; without even the implied warranty of
     16 *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     17 *     GNU General Public License for more details.
     18 *
     19 *     You should have received a copy of the GNU General Public
     20 *     License along with this file; if not, write to the Free
     21 *     Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
     22 *     MA 02110-1301 USA
     23 *
     24 * Or, alternatively,
     25 *
     26 *  b) Permission is hereby granted, free of charge, to any person
     27 *     obtaining a copy of this software and associated documentation
     28 *     files (the "Software"), to deal in the Software without
     29 *     restriction, including without limitation the rights to use,
     30 *     copy, modify, merge, publish, distribute, sublicense, and/or
     31 *     sell copies of the Software, and to permit persons to whom the
     32 *     Software is furnished to do so, subject to the following
     33 *     conditions:
     34 *
     35 *     The above copyright notice and this permission notice shall be
     36 *     included in all copies or substantial portions of the Software.
     37 *
     38 *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
     39 *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
     40 *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
     41 *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
     42 *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
     43 *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
     44 *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
     45 *     OTHER DEALINGS IN THE SOFTWARE.
     46 */
     47
     48#include "armv7-m.dtsi"
     49#include <dt-bindings/clock/stm32fx-clock.h>
     50#include <dt-bindings/mfd/stm32f4-rcc.h>
     51
     52/ {
     53	#address-cells = <1>;
     54	#size-cells = <1>;
     55
     56	clocks {
     57		clk_hse: clk-hse {
     58			#clock-cells = <0>;
     59			compatible = "fixed-clock";
     60			clock-frequency = <0>;
     61		};
     62
     63		clk_lse: clk-lse {
     64			#clock-cells = <0>;
     65			compatible = "fixed-clock";
     66			clock-frequency = <32768>;
     67		};
     68
     69		clk_lsi: clk-lsi {
     70			#clock-cells = <0>;
     71			compatible = "fixed-clock";
     72			clock-frequency = <32000>;
     73		};
     74
     75		clk_i2s_ckin: i2s-ckin {
     76			#clock-cells = <0>;
     77			compatible = "fixed-clock";
     78			clock-frequency = <0>;
     79		};
     80	};
     81
     82	soc {
     83		romem: efuse@1fff7800 {
     84			compatible = "st,stm32f4-otp";
     85			reg = <0x1fff7800 0x400>;
     86			#address-cells = <1>;
     87			#size-cells = <1>;
     88			ts_cal1: calib@22c {
     89				reg = <0x22c 0x2>;
     90			};
     91			ts_cal2: calib@22e {
     92				reg = <0x22e 0x2>;
     93			};
     94		};
     95
     96		timers2: timers@40000000 {
     97			#address-cells = <1>;
     98			#size-cells = <0>;
     99			compatible = "st,stm32-timers";
    100			reg = <0x40000000 0x400>;
    101			clocks = <&rcc 0 STM32F4_APB1_CLOCK(TIM2)>;
    102			clock-names = "int";
    103			status = "disabled";
    104
    105			pwm {
    106				compatible = "st,stm32-pwm";
    107				#pwm-cells = <3>;
    108				status = "disabled";
    109			};
    110
    111			timer@1 {
    112				compatible = "st,stm32-timer-trigger";
    113				reg = <1>;
    114				status = "disabled";
    115			};
    116		};
    117
    118		timers3: timers@40000400 {
    119			#address-cells = <1>;
    120			#size-cells = <0>;
    121			compatible = "st,stm32-timers";
    122			reg = <0x40000400 0x400>;
    123			clocks = <&rcc 0 STM32F4_APB1_CLOCK(TIM3)>;
    124			clock-names = "int";
    125			status = "disabled";
    126
    127			pwm {
    128				compatible = "st,stm32-pwm";
    129				#pwm-cells = <3>;
    130				status = "disabled";
    131			};
    132
    133			timer@2 {
    134				compatible = "st,stm32-timer-trigger";
    135				reg = <2>;
    136				status = "disabled";
    137			};
    138		};
    139
    140		timers4: timers@40000800 {
    141			#address-cells = <1>;
    142			#size-cells = <0>;
    143			compatible = "st,stm32-timers";
    144			reg = <0x40000800 0x400>;
    145			clocks = <&rcc 0 STM32F4_APB1_CLOCK(TIM4)>;
    146			clock-names = "int";
    147			status = "disabled";
    148
    149			pwm {
    150				compatible = "st,stm32-pwm";
    151				#pwm-cells = <3>;
    152				status = "disabled";
    153			};
    154
    155			timer@3 {
    156				compatible = "st,stm32-timer-trigger";
    157				reg = <3>;
    158				status = "disabled";
    159			};
    160		};
    161
    162		timers5: timers@40000c00 {
    163			#address-cells = <1>;
    164			#size-cells = <0>;
    165			compatible = "st,stm32-timers";
    166			reg = <0x40000C00 0x400>;
    167			clocks = <&rcc 0 STM32F4_APB1_CLOCK(TIM5)>;
    168			clock-names = "int";
    169			status = "disabled";
    170
    171			pwm {
    172				compatible = "st,stm32-pwm";
    173				#pwm-cells = <3>;
    174				status = "disabled";
    175			};
    176
    177			timer@4 {
    178				compatible = "st,stm32-timer-trigger";
    179				reg = <4>;
    180				status = "disabled";
    181			};
    182		};
    183
    184		timers6: timers@40001000 {
    185			#address-cells = <1>;
    186			#size-cells = <0>;
    187			compatible = "st,stm32-timers";
    188			reg = <0x40001000 0x400>;
    189			clocks = <&rcc 0 STM32F4_APB1_CLOCK(TIM6)>;
    190			clock-names = "int";
    191			status = "disabled";
    192
    193			timer@5 {
    194				compatible = "st,stm32-timer-trigger";
    195				reg = <5>;
    196				status = "disabled";
    197			};
    198		};
    199
    200		timers7: timers@40001400 {
    201			#address-cells = <1>;
    202			#size-cells = <0>;
    203			compatible = "st,stm32-timers";
    204			reg = <0x40001400 0x400>;
    205			clocks = <&rcc 0 STM32F4_APB1_CLOCK(TIM7)>;
    206			clock-names = "int";
    207			status = "disabled";
    208
    209			timer@6 {
    210				compatible = "st,stm32-timer-trigger";
    211				reg = <6>;
    212				status = "disabled";
    213			};
    214		};
    215
    216		timers12: timers@40001800 {
    217			#address-cells = <1>;
    218			#size-cells = <0>;
    219			compatible = "st,stm32-timers";
    220			reg = <0x40001800 0x400>;
    221			clocks = <&rcc 0 STM32F4_APB1_CLOCK(TIM12)>;
    222			clock-names = "int";
    223			status = "disabled";
    224
    225			pwm {
    226				compatible = "st,stm32-pwm";
    227				#pwm-cells = <3>;
    228				status = "disabled";
    229			};
    230
    231			timer@11 {
    232				compatible = "st,stm32-timer-trigger";
    233				reg = <11>;
    234				status = "disabled";
    235			};
    236		};
    237
    238		timers13: timers@40001c00 {
    239			compatible = "st,stm32-timers";
    240			reg = <0x40001C00 0x400>;
    241			clocks = <&rcc 0 STM32F4_APB1_CLOCK(TIM13)>;
    242			clock-names = "int";
    243			status = "disabled";
    244
    245			pwm {
    246				compatible = "st,stm32-pwm";
    247				#pwm-cells = <3>;
    248				status = "disabled";
    249			};
    250		};
    251
    252		timers14: timers@40002000 {
    253			compatible = "st,stm32-timers";
    254			reg = <0x40002000 0x400>;
    255			clocks = <&rcc 0 STM32F4_APB1_CLOCK(TIM14)>;
    256			clock-names = "int";
    257			status = "disabled";
    258
    259			pwm {
    260				compatible = "st,stm32-pwm";
    261				#pwm-cells = <3>;
    262				status = "disabled";
    263			};
    264		};
    265
    266		rtc: rtc@40002800 {
    267			compatible = "st,stm32-rtc";
    268			reg = <0x40002800 0x400>;
    269			clocks = <&rcc 1 CLK_RTC>;
    270			assigned-clocks = <&rcc 1 CLK_RTC>;
    271			assigned-clock-parents = <&rcc 1 CLK_LSE>;
    272			interrupt-parent = <&exti>;
    273			interrupts = <17 1>;
    274			st,syscfg = <&pwrcfg 0x00 0x100>;
    275			status = "disabled";
    276		};
    277
    278		iwdg: watchdog@40003000 {
    279			compatible = "st,stm32-iwdg";
    280			reg = <0x40003000 0x400>;
    281			clocks = <&clk_lsi>;
    282			clock-names = "lsi";
    283			status = "disabled";
    284		};
    285
    286		spi2: spi@40003800 {
    287			#address-cells = <1>;
    288			#size-cells = <0>;
    289			compatible = "st,stm32f4-spi";
    290			reg = <0x40003800 0x400>;
    291			interrupts = <36>;
    292			clocks = <&rcc 0 STM32F4_APB1_CLOCK(SPI2)>;
    293			status = "disabled";
    294		};
    295
    296		spi3: spi@40003c00 {
    297			#address-cells = <1>;
    298			#size-cells = <0>;
    299			compatible = "st,stm32f4-spi";
    300			reg = <0x40003c00 0x400>;
    301			interrupts = <51>;
    302			clocks = <&rcc 0 STM32F4_APB1_CLOCK(SPI3)>;
    303			status = "disabled";
    304		};
    305
    306		usart2: serial@40004400 {
    307			compatible = "st,stm32-uart";
    308			reg = <0x40004400 0x400>;
    309			interrupts = <38>;
    310			clocks = <&rcc 0 STM32F4_APB1_CLOCK(UART2)>;
    311			status = "disabled";
    312		};
    313
    314		usart3: serial@40004800 {
    315			compatible = "st,stm32-uart";
    316			reg = <0x40004800 0x400>;
    317			interrupts = <39>;
    318			clocks = <&rcc 0 STM32F4_APB1_CLOCK(UART3)>;
    319			status = "disabled";
    320			dmas = <&dma1 1 4 0x400 0x0>,
    321			       <&dma1 3 4 0x400 0x0>;
    322			dma-names = "rx", "tx";
    323		};
    324
    325		usart4: serial@40004c00 {
    326			compatible = "st,stm32-uart";
    327			reg = <0x40004c00 0x400>;
    328			interrupts = <52>;
    329			clocks = <&rcc 0 STM32F4_APB1_CLOCK(UART4)>;
    330			status = "disabled";
    331		};
    332
    333		usart5: serial@40005000 {
    334			compatible = "st,stm32-uart";
    335			reg = <0x40005000 0x400>;
    336			interrupts = <53>;
    337			clocks = <&rcc 0 STM32F4_APB1_CLOCK(UART5)>;
    338			status = "disabled";
    339		};
    340
    341		i2c1: i2c@40005400 {
    342			compatible = "st,stm32f4-i2c";
    343			reg = <0x40005400 0x400>;
    344			interrupts = <31>,
    345				     <32>;
    346			resets = <&rcc STM32F4_APB1_RESET(I2C1)>;
    347			clocks = <&rcc 0 STM32F4_APB1_CLOCK(I2C1)>;
    348			#address-cells = <1>;
    349			#size-cells = <0>;
    350			status = "disabled";
    351		};
    352
    353		i2c3: i2c@40005c00 {
    354			compatible = "st,stm32f4-i2c";
    355			reg = <0x40005c00 0x400>;
    356			interrupts = <72>,
    357				     <73>;
    358			resets = <&rcc STM32F4_APB1_RESET(I2C3)>;
    359			clocks = <&rcc 0 STM32F4_APB1_CLOCK(I2C3)>;
    360			#address-cells = <1>;
    361			#size-cells = <0>;
    362			status = "disabled";
    363		};
    364
    365		dac: dac@40007400 {
    366			compatible = "st,stm32f4-dac-core";
    367			reg = <0x40007400 0x400>;
    368			resets = <&rcc STM32F4_APB1_RESET(DAC)>;
    369			clocks = <&rcc 0 STM32F4_APB1_CLOCK(DAC)>;
    370			clock-names = "pclk";
    371			#address-cells = <1>;
    372			#size-cells = <0>;
    373			status = "disabled";
    374
    375			dac1: dac@1 {
    376				compatible = "st,stm32-dac";
    377				#io-channel-cells = <1>;
    378				reg = <1>;
    379				status = "disabled";
    380			};
    381
    382			dac2: dac@2 {
    383				compatible = "st,stm32-dac";
    384				#io-channel-cells = <1>;
    385				reg = <2>;
    386				status = "disabled";
    387			};
    388		};
    389
    390		usart7: serial@40007800 {
    391			compatible = "st,stm32-uart";
    392			reg = <0x40007800 0x400>;
    393			interrupts = <82>;
    394			clocks = <&rcc 0 STM32F4_APB1_CLOCK(UART7)>;
    395			status = "disabled";
    396		};
    397
    398		usart8: serial@40007c00 {
    399			compatible = "st,stm32-uart";
    400			reg = <0x40007c00 0x400>;
    401			interrupts = <83>;
    402			clocks = <&rcc 0 STM32F4_APB1_CLOCK(UART8)>;
    403			status = "disabled";
    404		};
    405
    406		timers1: timers@40010000 {
    407			#address-cells = <1>;
    408			#size-cells = <0>;
    409			compatible = "st,stm32-timers";
    410			reg = <0x40010000 0x400>;
    411			clocks = <&rcc 0 STM32F4_APB2_CLOCK(TIM1)>;
    412			clock-names = "int";
    413			status = "disabled";
    414
    415			pwm {
    416				compatible = "st,stm32-pwm";
    417				#pwm-cells = <3>;
    418				status = "disabled";
    419			};
    420
    421			timer@0 {
    422				compatible = "st,stm32-timer-trigger";
    423				reg = <0>;
    424				status = "disabled";
    425			};
    426		};
    427
    428		timers8: timers@40010400 {
    429			#address-cells = <1>;
    430			#size-cells = <0>;
    431			compatible = "st,stm32-timers";
    432			reg = <0x40010400 0x400>;
    433			clocks = <&rcc 0 STM32F4_APB2_CLOCK(TIM8)>;
    434			clock-names = "int";
    435			status = "disabled";
    436
    437			pwm {
    438				compatible = "st,stm32-pwm";
    439				#pwm-cells = <3>;
    440				status = "disabled";
    441			};
    442
    443			timer@7 {
    444				compatible = "st,stm32-timer-trigger";
    445				reg = <7>;
    446				status = "disabled";
    447			};
    448		};
    449
    450		usart1: serial@40011000 {
    451			compatible = "st,stm32-uart";
    452			reg = <0x40011000 0x400>;
    453			interrupts = <37>;
    454			clocks = <&rcc 0 STM32F4_APB2_CLOCK(USART1)>;
    455			status = "disabled";
    456			dmas = <&dma2 2 4 0x400 0x0>,
    457			       <&dma2 7 4 0x400 0x0>;
    458			dma-names = "rx", "tx";
    459		};
    460
    461		usart6: serial@40011400 {
    462			compatible = "st,stm32-uart";
    463			reg = <0x40011400 0x400>;
    464			interrupts = <71>;
    465			clocks = <&rcc 0 STM32F4_APB2_CLOCK(USART6)>;
    466			status = "disabled";
    467		};
    468
    469		adc: adc@40012000 {
    470			compatible = "st,stm32f4-adc-core";
    471			reg = <0x40012000 0x400>;
    472			interrupts = <18>;
    473			clocks = <&rcc 0 STM32F4_APB2_CLOCK(ADC1)>;
    474			clock-names = "adc";
    475			interrupt-controller;
    476			#interrupt-cells = <1>;
    477			#address-cells = <1>;
    478			#size-cells = <0>;
    479			status = "disabled";
    480
    481			adc1: adc@0 {
    482				compatible = "st,stm32f4-adc";
    483				#io-channel-cells = <1>;
    484				reg = <0x0>;
    485				clocks = <&rcc 0 STM32F4_APB2_CLOCK(ADC1)>;
    486				interrupt-parent = <&adc>;
    487				interrupts = <0>;
    488				dmas = <&dma2 0 0 0x400 0x0>;
    489				dma-names = "rx";
    490				status = "disabled";
    491			};
    492
    493			adc2: adc@100 {
    494				compatible = "st,stm32f4-adc";
    495				#io-channel-cells = <1>;
    496				reg = <0x100>;
    497				clocks = <&rcc 0 STM32F4_APB2_CLOCK(ADC2)>;
    498				interrupt-parent = <&adc>;
    499				interrupts = <1>;
    500				dmas = <&dma2 3 1 0x400 0x0>;
    501				dma-names = "rx";
    502				status = "disabled";
    503			};
    504
    505			adc3: adc@200 {
    506				compatible = "st,stm32f4-adc";
    507				#io-channel-cells = <1>;
    508				reg = <0x200>;
    509				clocks = <&rcc 0 STM32F4_APB2_CLOCK(ADC3)>;
    510				interrupt-parent = <&adc>;
    511				interrupts = <2>;
    512				dmas = <&dma2 1 2 0x400 0x0>;
    513				dma-names = "rx";
    514				status = "disabled";
    515			};
    516		};
    517
    518		sdio: mmc@40012c00 {
    519			compatible = "arm,pl180", "arm,primecell";
    520			arm,primecell-periphid = <0x00880180>;
    521			reg = <0x40012c00 0x400>;
    522			clocks = <&rcc 0 STM32F4_APB2_CLOCK(SDIO)>;
    523			clock-names = "apb_pclk";
    524			interrupts = <49>;
    525			max-frequency = <48000000>;
    526			status = "disabled";
    527		};
    528
    529		spi1: spi@40013000 {
    530			#address-cells = <1>;
    531			#size-cells = <0>;
    532			compatible = "st,stm32f4-spi";
    533			reg = <0x40013000 0x400>;
    534			interrupts = <35>;
    535			clocks = <&rcc 0 STM32F4_APB2_CLOCK(SPI1)>;
    536			status = "disabled";
    537		};
    538
    539		spi4: spi@40013400 {
    540			#address-cells = <1>;
    541			#size-cells = <0>;
    542			compatible = "st,stm32f4-spi";
    543			reg = <0x40013400 0x400>;
    544			interrupts = <84>;
    545			clocks = <&rcc 0 STM32F4_APB2_CLOCK(SPI4)>;
    546			status = "disabled";
    547		};
    548
    549		syscfg: syscon@40013800 {
    550			compatible = "st,stm32-syscfg", "syscon";
    551			reg = <0x40013800 0x400>;
    552		};
    553
    554		exti: interrupt-controller@40013c00 {
    555			compatible = "st,stm32-exti";
    556			interrupt-controller;
    557			#interrupt-cells = <2>;
    558			reg = <0x40013C00 0x400>;
    559			interrupts = <1>, <2>, <3>, <6>, <7>, <8>, <9>, <10>, <23>, <40>, <41>, <42>, <62>, <76>;
    560		};
    561
    562		timers9: timers@40014000 {
    563			#address-cells = <1>;
    564			#size-cells = <0>;
    565			compatible = "st,stm32-timers";
    566			reg = <0x40014000 0x400>;
    567			clocks = <&rcc 0 STM32F4_APB2_CLOCK(TIM9)>;
    568			clock-names = "int";
    569			status = "disabled";
    570
    571			pwm {
    572				compatible = "st,stm32-pwm";
    573				#pwm-cells = <3>;
    574				status = "disabled";
    575			};
    576
    577			timer@8 {
    578				compatible = "st,stm32-timer-trigger";
    579				reg = <8>;
    580				status = "disabled";
    581			};
    582		};
    583
    584		timers10: timers@40014400 {
    585			compatible = "st,stm32-timers";
    586			reg = <0x40014400 0x400>;
    587			clocks = <&rcc 0 STM32F4_APB2_CLOCK(TIM10)>;
    588			clock-names = "int";
    589			status = "disabled";
    590
    591			pwm {
    592				compatible = "st,stm32-pwm";
    593				#pwm-cells = <3>;
    594				status = "disabled";
    595			};
    596		};
    597
    598		timers11: timers@40014800 {
    599			compatible = "st,stm32-timers";
    600			reg = <0x40014800 0x400>;
    601			clocks = <&rcc 0 STM32F4_APB2_CLOCK(TIM11)>;
    602			clock-names = "int";
    603			status = "disabled";
    604
    605			pwm {
    606				compatible = "st,stm32-pwm";
    607				#pwm-cells = <3>;
    608				status = "disabled";
    609			};
    610		};
    611
    612		spi5: spi@40015000 {
    613			#address-cells = <1>;
    614			#size-cells = <0>;
    615			compatible = "st,stm32f4-spi";
    616			reg = <0x40015000 0x400>;
    617			interrupts = <85>;
    618			clocks = <&rcc 0 STM32F4_APB2_CLOCK(SPI5)>;
    619			dmas = <&dma2 3 2 0x400 0x0>,
    620				<&dma2 4 2 0x400 0x0>;
    621			dma-names = "rx", "tx";
    622			status = "disabled";
    623		};
    624
    625		spi6: spi@40015400 {
    626			#address-cells = <1>;
    627			#size-cells = <0>;
    628			compatible = "st,stm32f4-spi";
    629			reg = <0x40015400 0x400>;
    630			interrupts = <86>;
    631			clocks = <&rcc 0 STM32F4_APB2_CLOCK(SPI6)>;
    632			status = "disabled";
    633		};
    634
    635		pwrcfg: power-config@40007000 {
    636			compatible = "st,stm32-power-config", "syscon";
    637			reg = <0x40007000 0x400>;
    638		};
    639
    640		ltdc: display-controller@40016800 {
    641			compatible = "st,stm32-ltdc";
    642			reg = <0x40016800 0x200>;
    643			interrupts = <88>, <89>;
    644			resets = <&rcc STM32F4_APB2_RESET(LTDC)>;
    645			clocks = <&rcc 1 CLK_LCD>;
    646			clock-names = "lcd";
    647			status = "disabled";
    648		};
    649
    650		crc: crc@40023000 {
    651			compatible = "st,stm32f4-crc";
    652			reg = <0x40023000 0x400>;
    653			clocks = <&rcc 0 STM32F4_AHB1_CLOCK(CRC)>;
    654			status = "disabled";
    655		};
    656
    657		rcc: rcc@40023800 {
    658			#reset-cells = <1>;
    659			#clock-cells = <2>;
    660			compatible = "st,stm32f42xx-rcc", "st,stm32-rcc";
    661			reg = <0x40023800 0x400>;
    662			clocks = <&clk_hse>, <&clk_i2s_ckin>;
    663			st,syscfg = <&pwrcfg>;
    664			assigned-clocks = <&rcc 1 CLK_HSE_RTC>;
    665			assigned-clock-rates = <1000000>;
    666		};
    667
    668		dma1: dma-controller@40026000 {
    669			compatible = "st,stm32-dma";
    670			reg = <0x40026000 0x400>;
    671			interrupts = <11>,
    672				     <12>,
    673				     <13>,
    674				     <14>,
    675				     <15>,
    676				     <16>,
    677				     <17>,
    678				     <47>;
    679			clocks = <&rcc 0 STM32F4_AHB1_CLOCK(DMA1)>;
    680			#dma-cells = <4>;
    681		};
    682
    683		dma2: dma-controller@40026400 {
    684			compatible = "st,stm32-dma";
    685			reg = <0x40026400 0x400>;
    686			interrupts = <56>,
    687				     <57>,
    688				     <58>,
    689				     <59>,
    690				     <60>,
    691				     <68>,
    692				     <69>,
    693				     <70>;
    694			clocks = <&rcc 0 STM32F4_AHB1_CLOCK(DMA2)>;
    695			#dma-cells = <4>;
    696			st,mem2mem;
    697		};
    698
    699		mac: ethernet@40028000 {
    700			compatible = "st,stm32-dwmac", "snps,dwmac-3.50a";
    701			reg = <0x40028000 0x8000>;
    702			reg-names = "stmmaceth";
    703			interrupts = <61>;
    704			interrupt-names = "macirq";
    705			clock-names = "stmmaceth", "mac-clk-tx", "mac-clk-rx";
    706			clocks = <&rcc 0 STM32F4_AHB1_CLOCK(ETHMAC)>,
    707					<&rcc 0 STM32F4_AHB1_CLOCK(ETHMACTX)>,
    708					<&rcc 0 STM32F4_AHB1_CLOCK(ETHMACRX)>;
    709			st,syscon = <&syscfg 0x4>;
    710			snps,pbl = <8>;
    711			snps,mixed-burst;
    712			status = "disabled";
    713		};
    714
    715		dma2d: dma2d@4002b000 {
    716			compatible = "st,stm32-dma2d";
    717			reg = <0x4002b000 0xc00>;
    718			interrupts = <90>;
    719			resets = <&rcc STM32F4_AHB1_RESET(DMA2D)>;
    720			clocks = <&rcc 0 STM32F4_AHB1_CLOCK(DMA2D)>;
    721			clock-names = "dma2d";
    722			status = "disabled";
    723		};
    724
    725		usbotg_hs: usb@40040000 {
    726			compatible = "snps,dwc2";
    727			reg = <0x40040000 0x40000>;
    728			interrupts = <77>;
    729			clocks = <&rcc 0 STM32F4_AHB1_CLOCK(OTGHS)>;
    730			clock-names = "otg";
    731			status = "disabled";
    732		};
    733
    734		usbotg_fs: usb@50000000 {
    735			compatible = "st,stm32f4x9-fsotg";
    736			reg = <0x50000000 0x40000>;
    737			interrupts = <67>;
    738			clocks = <&rcc 0 39>;
    739			clock-names = "otg";
    740			status = "disabled";
    741		};
    742
    743		dcmi: dcmi@50050000 {
    744			compatible = "st,stm32-dcmi";
    745			reg = <0x50050000 0x400>;
    746			interrupts = <78>;
    747			resets = <&rcc STM32F4_AHB2_RESET(DCMI)>;
    748			clocks = <&rcc 0 STM32F4_AHB2_CLOCK(DCMI)>;
    749			clock-names = "mclk";
    750			pinctrl-names = "default";
    751			pinctrl-0 = <&dcmi_pins>;
    752			dmas = <&dma2 1 1 0x414 0x3>;
    753			dma-names = "tx";
    754			status = "disabled";
    755		};
    756
    757		rng: rng@50060800 {
    758			compatible = "st,stm32-rng";
    759			reg = <0x50060800 0x400>;
    760			clocks = <&rcc 0 STM32F4_AHB2_CLOCK(RNG)>;
    761
    762		};
    763	};
    764};
    765
    766&systick {
    767	clocks = <&rcc 1 SYSTICK>;
    768	status = "okay";
    769};