The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/device-tree/src/arm/stm32f746.dtsi

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    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  * Or, alternatively,
   20  *
   21  *  b) Permission is hereby granted, free of charge, to any person
   22  *     obtaining a copy of this software and associated documentation
   23  *     files (the "Software"), to deal in the Software without
   24  *     restriction, including without limitation the rights to use,
   25  *     copy, modify, merge, publish, distribute, sublicense, and/or
   26  *     sell copies of the Software, and to permit persons to whom the
   27  *     Software is furnished to do so, subject to the following
   28  *     conditions:
   29  *
   30  *     The above copyright notice and this permission notice shall be
   31  *     included in all copies or substantial portions of the Software.
   32  *
   33  *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
   34  *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
   35  *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
   36  *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
   37  *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
   38  *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
   39  *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
   40  *     OTHER DEALINGS IN THE SOFTWARE.
   41  */
   42 
   43 #include "armv7-m.dtsi"
   44 #include <dt-bindings/clock/stm32fx-clock.h>
   45 #include <dt-bindings/mfd/stm32f7-rcc.h>
   46 
   47 / {
   48         #address-cells = <1>;
   49         #size-cells = <1>;
   50 
   51         clocks {
   52                 clk_hse: clk-hse {
   53                         #clock-cells = <0>;
   54                         compatible = "fixed-clock";
   55                         clock-frequency = <0>;
   56                 };
   57 
   58                 clk-lse {
   59                         #clock-cells = <0>;
   60                         compatible = "fixed-clock";
   61                         clock-frequency = <32768>;
   62                 };
   63 
   64                 clk-lsi {
   65                         #clock-cells = <0>;
   66                         compatible = "fixed-clock";
   67                         clock-frequency = <32000>;
   68                 };
   69 
   70                 clk_i2s_ckin: clk-i2s-ckin {
   71                         #clock-cells = <0>;
   72                         compatible = "fixed-clock";
   73                         clock-frequency = <48000000>;
   74                 };
   75         };
   76 
   77         soc {
   78                 timers2: timers@40000000 {
   79                         #address-cells = <1>;
   80                         #size-cells = <0>;
   81                         compatible = "st,stm32-timers";
   82                         reg = <0x40000000 0x400>;
   83                         clocks = <&rcc 0 STM32F7_APB1_CLOCK(TIM2)>;
   84                         clock-names = "int";
   85                         status = "disabled";
   86 
   87                         pwm {
   88                                 compatible = "st,stm32-pwm";
   89                                 #pwm-cells = <3>;
   90                                 status = "disabled";
   91                         };
   92 
   93                         timer@1 {
   94                                 compatible = "st,stm32-timer-trigger";
   95                                 reg = <1>;
   96                                 status = "disabled";
   97                         };
   98                 };
   99 
  100                 timers3: timers@40000400 {
  101                         #address-cells = <1>;
  102                         #size-cells = <0>;
  103                         compatible = "st,stm32-timers";
  104                         reg = <0x40000400 0x400>;
  105                         clocks = <&rcc 0 STM32F7_APB1_CLOCK(TIM3)>;
  106                         clock-names = "int";
  107                         status = "disabled";
  108 
  109                         pwm {
  110                                 compatible = "st,stm32-pwm";
  111                                 #pwm-cells = <3>;
  112                                 status = "disabled";
  113                         };
  114 
  115                         timer@2 {
  116                                 compatible = "st,stm32-timer-trigger";
  117                                 reg = <2>;
  118                                 status = "disabled";
  119                         };
  120                 };
  121 
  122                 timers4: timers@40000800 {
  123                         #address-cells = <1>;
  124                         #size-cells = <0>;
  125                         compatible = "st,stm32-timers";
  126                         reg = <0x40000800 0x400>;
  127                         clocks = <&rcc 0 STM32F7_APB1_CLOCK(TIM4)>;
  128                         clock-names = "int";
  129                         status = "disabled";
  130 
  131                         pwm {
  132                                 compatible = "st,stm32-pwm";
  133                                 #pwm-cells = <3>;
  134                                 status = "disabled";
  135                         };
  136 
  137                         timer@3 {
  138                                 compatible = "st,stm32-timer-trigger";
  139                                 reg = <3>;
  140                                 status = "disabled";
  141                         };
  142                 };
  143 
  144                 timers5: timers@40000c00 {
  145                         #address-cells = <1>;
  146                         #size-cells = <0>;
  147                         compatible = "st,stm32-timers";
  148                         reg = <0x40000C00 0x400>;
  149                         clocks = <&rcc 0 STM32F7_APB1_CLOCK(TIM5)>;
  150                         clock-names = "int";
  151                         status = "disabled";
  152 
  153                         pwm {
  154                                 compatible = "st,stm32-pwm";
  155                                 #pwm-cells = <3>;
  156                                 status = "disabled";
  157                         };
  158 
  159                         timer@4 {
  160                                 compatible = "st,stm32-timer-trigger";
  161                                 reg = <4>;
  162                                 status = "disabled";
  163                         };
  164                 };
  165 
  166                 timers6: timers@40001000 {
  167                         #address-cells = <1>;
  168                         #size-cells = <0>;
  169                         compatible = "st,stm32-timers";
  170                         reg = <0x40001000 0x400>;
  171                         clocks = <&rcc 0 STM32F7_APB1_CLOCK(TIM6)>;
  172                         clock-names = "int";
  173                         status = "disabled";
  174 
  175                         timer@5 {
  176                                 compatible = "st,stm32-timer-trigger";
  177                                 reg = <5>;
  178                                 status = "disabled";
  179                         };
  180                 };
  181 
  182                 timers7: timers@40001400 {
  183                         #address-cells = <1>;
  184                         #size-cells = <0>;
  185                         compatible = "st,stm32-timers";
  186                         reg = <0x40001400 0x400>;
  187                         clocks = <&rcc 0 STM32F7_APB1_CLOCK(TIM7)>;
  188                         clock-names = "int";
  189                         status = "disabled";
  190 
  191                         timer@6 {
  192                                 compatible = "st,stm32-timer-trigger";
  193                                 reg = <6>;
  194                                 status = "disabled";
  195                         };
  196                 };
  197 
  198                 timers12: timers@40001800 {
  199                         #address-cells = <1>;
  200                         #size-cells = <0>;
  201                         compatible = "st,stm32-timers";
  202                         reg = <0x40001800 0x400>;
  203                         clocks = <&rcc 0 STM32F7_APB1_CLOCK(TIM12)>;
  204                         clock-names = "int";
  205                         status = "disabled";
  206 
  207                         pwm {
  208                                 compatible = "st,stm32-pwm";
  209                                 #pwm-cells = <3>;
  210                                 status = "disabled";
  211                         };
  212 
  213                         timer@11 {
  214                                 compatible = "st,stm32-timer-trigger";
  215                                 reg = <11>;
  216                                 status = "disabled";
  217                         };
  218                 };
  219 
  220                 timers13: timers@40001c00 {
  221                         compatible = "st,stm32-timers";
  222                         reg = <0x40001C00 0x400>;
  223                         clocks = <&rcc 0 STM32F7_APB1_CLOCK(TIM13)>;
  224                         clock-names = "int";
  225                         status = "disabled";
  226 
  227                         pwm {
  228                                 compatible = "st,stm32-pwm";
  229                                 #pwm-cells = <3>;
  230                                 status = "disabled";
  231                         };
  232                 };
  233 
  234                 timers14: timers@40002000 {
  235                         compatible = "st,stm32-timers";
  236                         reg = <0x40002000 0x400>;
  237                         clocks = <&rcc 0 STM32F7_APB1_CLOCK(TIM14)>;
  238                         clock-names = "int";
  239                         status = "disabled";
  240 
  241                         pwm {
  242                                 compatible = "st,stm32-pwm";
  243                                 #pwm-cells = <3>;
  244                                 status = "disabled";
  245                         };
  246                 };
  247 
  248                 rtc: rtc@40002800 {
  249                         compatible = "st,stm32-rtc";
  250                         reg = <0x40002800 0x400>;
  251                         clocks = <&rcc 1 CLK_RTC>;
  252                         assigned-clocks = <&rcc 1 CLK_RTC>;
  253                         assigned-clock-parents = <&rcc 1 CLK_LSE>;
  254                         interrupt-parent = <&exti>;
  255                         interrupts = <17 1>;
  256                         st,syscfg = <&pwrcfg 0x00 0x100>;
  257                         status = "disabled";
  258                 };
  259 
  260                 usart2: serial@40004400 {
  261                         compatible = "st,stm32f7-uart";
  262                         reg = <0x40004400 0x400>;
  263                         interrupts = <38>;
  264                         clocks = <&rcc 1 CLK_USART2>;
  265                         status = "disabled";
  266                 };
  267 
  268                 usart3: serial@40004800 {
  269                         compatible = "st,stm32f7-uart";
  270                         reg = <0x40004800 0x400>;
  271                         interrupts = <39>;
  272                         clocks = <&rcc 1 CLK_USART3>;
  273                         status = "disabled";
  274                 };
  275 
  276                 usart4: serial@40004c00 {
  277                         compatible = "st,stm32f7-uart";
  278                         reg = <0x40004c00 0x400>;
  279                         interrupts = <52>;
  280                         clocks = <&rcc 1 CLK_UART4>;
  281                         status = "disabled";
  282                 };
  283 
  284                 usart5: serial@40005000 {
  285                         compatible = "st,stm32f7-uart";
  286                         reg = <0x40005000 0x400>;
  287                         interrupts = <53>;
  288                         clocks = <&rcc 1 CLK_UART5>;
  289                         status = "disabled";
  290                 };
  291 
  292                 i2c1: i2c@40005400 {
  293                         compatible = "st,stm32f7-i2c";
  294                         reg = <0x40005400 0x400>;
  295                         interrupts = <31>,
  296                                      <32>;
  297                         resets = <&rcc STM32F7_APB1_RESET(I2C1)>;
  298                         clocks = <&rcc 1 CLK_I2C1>;
  299                         #address-cells = <1>;
  300                         #size-cells = <0>;
  301                         status = "disabled";
  302                 };
  303 
  304                 i2c2: i2c@40005800 {
  305                         compatible = "st,stm32f7-i2c";
  306                         reg = <0x40005800 0x400>;
  307                         interrupts = <33>,
  308                                      <34>;
  309                         resets = <&rcc STM32F7_APB1_RESET(I2C2)>;
  310                         clocks = <&rcc 1 CLK_I2C2>;
  311                         #address-cells = <1>;
  312                         #size-cells = <0>;
  313                         status = "disabled";
  314                 };
  315 
  316                 i2c3: i2c@40005c00 {
  317                         compatible = "st,stm32f7-i2c";
  318                         reg = <0x40005c00 0x400>;
  319                         interrupts = <72>,
  320                                      <73>;
  321                         resets = <&rcc STM32F7_APB1_RESET(I2C3)>;
  322                         clocks = <&rcc 1 CLK_I2C3>;
  323                         #address-cells = <1>;
  324                         #size-cells = <0>;
  325                         status = "disabled";
  326                 };
  327 
  328                 i2c4: i2c@40006000 {
  329                         compatible = "st,stm32f7-i2c";
  330                         reg = <0x40006000 0x400>;
  331                         interrupts = <95>,
  332                                      <96>;
  333                         resets = <&rcc STM32F7_APB1_RESET(I2C4)>;
  334                         clocks = <&rcc 1 CLK_I2C4>;
  335                         #address-cells = <1>;
  336                         #size-cells = <0>;
  337                         status = "disabled";
  338                 };
  339 
  340                 cec: cec@40006c00 {
  341                         compatible = "st,stm32-cec";
  342                         reg = <0x40006C00 0x400>;
  343                         interrupts = <94>;
  344                         clocks = <&rcc 0 STM32F7_APB1_CLOCK(CEC)>, <&rcc 1 CLK_HDMI_CEC>;
  345                         clock-names = "cec", "hdmi-cec";
  346                         status = "disabled";
  347                 };
  348 
  349                 usart7: serial@40007800 {
  350                         compatible = "st,stm32f7-uart";
  351                         reg = <0x40007800 0x400>;
  352                         interrupts = <82>;
  353                         clocks = <&rcc 1 CLK_UART7>;
  354                         status = "disabled";
  355                 };
  356 
  357                 usart8: serial@40007c00 {
  358                         compatible = "st,stm32f7-uart";
  359                         reg = <0x40007c00 0x400>;
  360                         interrupts = <83>;
  361                         clocks = <&rcc 1 CLK_UART8>;
  362                         status = "disabled";
  363                 };
  364 
  365                 timers1: timers@40010000 {
  366                         #address-cells = <1>;
  367                         #size-cells = <0>;
  368                         compatible = "st,stm32-timers";
  369                         reg = <0x40010000 0x400>;
  370                         clocks = <&rcc 0 STM32F7_APB2_CLOCK(TIM1)>;
  371                         clock-names = "int";
  372                         status = "disabled";
  373 
  374                         pwm {
  375                                 compatible = "st,stm32-pwm";
  376                                 #pwm-cells = <3>;
  377                                 status = "disabled";
  378                         };
  379 
  380                         timer@0 {
  381                                 compatible = "st,stm32-timer-trigger";
  382                                 reg = <0>;
  383                                 status = "disabled";
  384                         };
  385                 };
  386 
  387                 timers8: timers@40010400 {
  388                         #address-cells = <1>;
  389                         #size-cells = <0>;
  390                         compatible = "st,stm32-timers";
  391                         reg = <0x40010400 0x400>;
  392                         clocks = <&rcc 0 STM32F7_APB2_CLOCK(TIM8)>;
  393                         clock-names = "int";
  394                         status = "disabled";
  395 
  396                         pwm {
  397                                 compatible = "st,stm32-pwm";
  398                                 #pwm-cells = <3>;
  399                                 status = "disabled";
  400                         };
  401 
  402                         timer@7 {
  403                                 compatible = "st,stm32-timer-trigger";
  404                                 reg = <7>;
  405                                 status = "disabled";
  406                         };
  407                 };
  408 
  409                 usart1: serial@40011000 {
  410                         compatible = "st,stm32f7-uart";
  411                         reg = <0x40011000 0x400>;
  412                         interrupts = <37>;
  413                         clocks = <&rcc 1 CLK_USART1>;
  414                         status = "disabled";
  415                 };
  416 
  417                 usart6: serial@40011400 {
  418                         compatible = "st,stm32f7-uart";
  419                         reg = <0x40011400 0x400>;
  420                         interrupts = <71>;
  421                         clocks = <&rcc 1 CLK_USART6>;
  422                         status = "disabled";
  423                 };
  424 
  425                 sdio2: mmc@40011c00 {
  426                         compatible = "arm,pl180", "arm,primecell";
  427                         arm,primecell-periphid = <0x00880180>;
  428                         reg = <0x40011c00 0x400>;
  429                         clocks = <&rcc 0 STM32F7_APB2_CLOCK(SDMMC2)>;
  430                         clock-names = "apb_pclk";
  431                         interrupts = <103>;
  432                         max-frequency = <48000000>;
  433                         status = "disabled";
  434                 };
  435 
  436                 sdio1: mmc@40012c00 {
  437                         compatible = "arm,pl180", "arm,primecell";
  438                         arm,primecell-periphid = <0x00880180>;
  439                         reg = <0x40012c00 0x400>;
  440                         clocks = <&rcc 0 STM32F7_APB2_CLOCK(SDMMC1)>;
  441                         clock-names = "apb_pclk";
  442                         interrupts = <49>;
  443                         max-frequency = <48000000>;
  444                         status = "disabled";
  445                 };
  446 
  447                 syscfg: syscon@40013800 {
  448                         compatible = "st,stm32-syscfg", "syscon";
  449                         reg = <0x40013800 0x400>;
  450                 };
  451 
  452                 exti: interrupt-controller@40013c00 {
  453                         compatible = "st,stm32-exti";
  454                         interrupt-controller;
  455                         #interrupt-cells = <2>;
  456                         reg = <0x40013C00 0x400>;
  457                         interrupts = <1>, <2>, <3>, <6>, <7>, <8>, <9>, <10>, <23>, <40>, <41>, <42>, <62>, <76>;
  458                 };
  459 
  460                 timers9: timers@40014000 {
  461                         #address-cells = <1>;
  462                         #size-cells = <0>;
  463                         compatible = "st,stm32-timers";
  464                         reg = <0x40014000 0x400>;
  465                         clocks = <&rcc 0 STM32F7_APB2_CLOCK(TIM9)>;
  466                         clock-names = "int";
  467                         status = "disabled";
  468 
  469                         pwm {
  470                                 compatible = "st,stm32-pwm";
  471                                 #pwm-cells = <3>;
  472                                 status = "disabled";
  473                         };
  474 
  475                         timer@8 {
  476                                 compatible = "st,stm32-timer-trigger";
  477                                 reg = <8>;
  478                                 status = "disabled";
  479                         };
  480                 };
  481 
  482                 timers10: timers@40014400 {
  483                         compatible = "st,stm32-timers";
  484                         reg = <0x40014400 0x400>;
  485                         clocks = <&rcc 0 STM32F7_APB2_CLOCK(TIM10)>;
  486                         clock-names = "int";
  487                         status = "disabled";
  488 
  489                         pwm {
  490                                 compatible = "st,stm32-pwm";
  491                                 #pwm-cells = <3>;
  492                                 status = "disabled";
  493                         };
  494                 };
  495 
  496                 timers11: timers@40014800 {
  497                         compatible = "st,stm32-timers";
  498                         reg = <0x40014800 0x400>;
  499                         clocks = <&rcc 0 STM32F7_APB2_CLOCK(TIM11)>;
  500                         clock-names = "int";
  501                         status = "disabled";
  502 
  503                         pwm {
  504                                 compatible = "st,stm32-pwm";
  505                                 #pwm-cells = <3>;
  506                                 status = "disabled";
  507                         };
  508                 };
  509 
  510                 pwrcfg: power-config@40007000 {
  511                         compatible = "st,stm32-power-config", "syscon";
  512                         reg = <0x40007000 0x400>;
  513                 };
  514 
  515                 crc: crc@40023000 {
  516                         compatible = "st,stm32f7-crc";
  517                         reg = <0x40023000 0x400>;
  518                         clocks = <&rcc 0 12>;
  519                         status = "disabled";
  520                 };
  521 
  522                 rcc: rcc@40023800 {
  523                         #reset-cells = <1>;
  524                         #clock-cells = <2>;
  525                         compatible = "st,stm32f746-rcc", "st,stm32-rcc";
  526                         reg = <0x40023800 0x400>;
  527                         clocks = <&clk_hse>, <&clk_i2s_ckin>;
  528                         st,syscfg = <&pwrcfg>;
  529                         assigned-clocks = <&rcc 1 CLK_HSE_RTC>;
  530                         assigned-clock-rates = <1000000>;
  531                 };
  532 
  533                 dma1: dma-controller@40026000 {
  534                         compatible = "st,stm32-dma";
  535                         reg = <0x40026000 0x400>;
  536                         interrupts = <11>,
  537                                      <12>,
  538                                      <13>,
  539                                      <14>,
  540                                      <15>,
  541                                      <16>,
  542                                      <17>,
  543                                      <47>;
  544                         clocks = <&rcc 0 STM32F7_AHB1_CLOCK(DMA1)>;
  545                         #dma-cells = <4>;
  546                         status = "disabled";
  547                 };
  548 
  549                 dma2: dma-controller@40026400 {
  550                         compatible = "st,stm32-dma";
  551                         reg = <0x40026400 0x400>;
  552                         interrupts = <56>,
  553                                      <57>,
  554                                      <58>,
  555                                      <59>,
  556                                      <60>,
  557                                      <68>,
  558                                      <69>,
  559                                      <70>;
  560                         clocks = <&rcc 0 STM32F7_AHB1_CLOCK(DMA2)>;
  561                         #dma-cells = <4>;
  562                         st,mem2mem;
  563                         status = "disabled";
  564                 };
  565 
  566                 usbotg_hs: usb@40040000 {
  567                         compatible = "st,stm32f7-hsotg";
  568                         reg = <0x40040000 0x40000>;
  569                         interrupts = <77>;
  570                         clocks = <&rcc 0 STM32F7_AHB1_CLOCK(OTGHS)>;
  571                         clock-names = "otg";
  572                         g-rx-fifo-size = <256>;
  573                         g-np-tx-fifo-size = <32>;
  574                         g-tx-fifo-size = <128 128 64 64 64 64 32 32>;
  575                         status = "disabled";
  576                 };
  577 
  578                 usbotg_fs: usb@50000000 {
  579                         compatible = "st,stm32f4x9-fsotg";
  580                         reg = <0x50000000 0x40000>;
  581                         interrupts = <67>;
  582                         clocks = <&rcc 0 STM32F7_AHB2_CLOCK(OTGFS)>;
  583                         clock-names = "otg";
  584                         status = "disabled";
  585                 };
  586         };
  587 };
  588 
  589 &systick {
  590         clocks = <&rcc 1 0>;
  591         status = "okay";
  592 };

Cache object: 7fd89e263a1685590dc73d14225d4a99


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.