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/stm32mp151a-prtt1c.dts

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 // SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
    2 /*
    3  * Copyright (C) Protonic Holland
    4  * Author: David Jander <david@protonic.nl>
    5  */
    6 /dts-v1/;
    7 
    8 #include "stm32mp151a-prtt1l.dtsi"
    9 
   10 / {
   11         model = "Protonic PRTT1C";
   12         compatible = "prt,prtt1c", "st,stm32mp151";
   13 
   14         clock_ksz9031: clock-ksz9031 {
   15                 compatible = "fixed-clock";
   16                 #clock-cells = <0>;
   17                 clock-frequency = <25000000>;
   18         };
   19 
   20         clock_sja1105: clock-sja1105 {
   21                 compatible = "fixed-clock";
   22                 #clock-cells = <0>;
   23                 clock-frequency = <25000000>;
   24         };
   25 
   26         mdio0: mdio {
   27                 compatible = "virtual,mdio-gpio";
   28                 #address-cells = <1>;
   29                 #size-cells = <0>;
   30                 gpios = <&gpioc 1 GPIO_ACTIVE_HIGH
   31                          &gpioa 2 GPIO_ACTIVE_HIGH>;
   32 
   33         };
   34 
   35         wifi_pwrseq: wifi-pwrseq {
   36                 compatible = "mmc-pwrseq-simple";
   37                 reset-gpios = <&gpiod 8 GPIO_ACTIVE_LOW>;
   38         };
   39 };
   40 
   41 &ethernet0 {
   42         fixed-link {
   43                 speed = <100>;
   44                 full-duplex;
   45         };
   46 };
   47 
   48 &gpioa {
   49         gpio-line-names =
   50                 "", "", "", "PHY0_nRESET", "PHY0_nINT", "", "", "",
   51                 "", "", "", "", "", "", "", "SPI1_nSS";
   52 };
   53 
   54 &gpiod {
   55         gpio-line-names =
   56                 "", "", "", "", "", "", "", "",
   57                 "WFM_RESET", "", "", "", "", "", "", "";
   58 };
   59 
   60 &gpioe {
   61         gpio-line-names =
   62                 "SDMMC2_nRESET", "", "", "", "", "", "SPI1_nRESET", "",
   63                 "", "", "", "", "WFM_nIRQ", "", "", "";
   64 };
   65 
   66 &gpiog {
   67         gpio-line-names =
   68                 "", "", "", "", "", "", "", "PHY3_nINT",
   69                 "PHY1_nINT", "PHY3_nRESET", "PHY2_nINT", "PHY2_nRESET",
   70                 "PHY1_nRESET", "SPE1_PWR", "SPE0_PWR", "";
   71 };
   72 
   73 &mdio0 {
   74         /* All this DP83TD510E PHYs can't be probed before switch@0 is
   75          * probed so we need to use compatible with PHYid
   76          */
   77         /* TI DP83TD510E */
   78         t1l0_phy: ethernet-phy@6 {
   79                 compatible = "ethernet-phy-id2000.0181";
   80                 reg = <6>;
   81                 interrupts-extended = <&gpioa 4 IRQ_TYPE_LEVEL_LOW>;
   82                 reset-gpios = <&gpioa 3 GPIO_ACTIVE_LOW>;
   83                 reset-assert-us = <10>;
   84                 reset-deassert-us = <35>;
   85         };
   86 
   87         /* TI DP83TD510E */
   88         t1l1_phy: ethernet-phy@7 {
   89                 compatible = "ethernet-phy-id2000.0181";
   90                 reg = <7>;
   91                 interrupts-extended = <&gpiog 8 IRQ_TYPE_LEVEL_LOW>;
   92                 reset-gpios = <&gpiog 12 GPIO_ACTIVE_LOW>;
   93                 reset-assert-us = <10>;
   94                 reset-deassert-us = <35>;
   95         };
   96 
   97         /* TI DP83TD510E */
   98         t1l2_phy: ethernet-phy@10 {
   99                 compatible = "ethernet-phy-id2000.0181";
  100                 reg = <10>;
  101                 interrupts-extended = <&gpiog 10 IRQ_TYPE_LEVEL_LOW>;
  102                 reset-gpios = <&gpiog 11 GPIO_ACTIVE_LOW>;
  103                 reset-assert-us = <10>;
  104                 reset-deassert-us = <35>;
  105         };
  106 
  107         /* Micrel KSZ9031 */
  108         rj45_phy: ethernet-phy@2 {
  109                 reg = <2>;
  110                 interrupts-extended = <&gpiog 7 IRQ_TYPE_LEVEL_LOW>;
  111                 reset-gpios = <&gpiog 9 GPIO_ACTIVE_LOW>;
  112                 reset-assert-us = <10000>;
  113                 reset-deassert-us = <1000>;
  114 
  115                 clocks = <&clock_ksz9031>;
  116         };
  117 };
  118 
  119 &qspi {
  120         status = "disabled";
  121 };
  122 
  123 &sdmmc2 {
  124         pinctrl-names = "default", "opendrain", "sleep";
  125         pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_a>;
  126         pinctrl-1 = <&sdmmc2_b4_od_pins_a &sdmmc2_d47_pins_a>;
  127         pinctrl-2 = <&sdmmc2_b4_sleep_pins_a &sdmmc2_d47_sleep_pins_a>;
  128         non-removable;
  129         no-sd;
  130         no-sdio;
  131         no-1-8-v;
  132         st,neg-edge;
  133         bus-width = <8>;
  134         vmmc-supply = <&reg_3v3>;
  135         vqmmc-supply = <&reg_3v3>;
  136         status = "okay";
  137 };
  138 
  139 &sdmmc2_b4_od_pins_a {
  140         pins1 {
  141                 pinmux = <STM32_PINMUX('B', 14, AF9)>, /* SDMMC2_D0 */
  142                          <STM32_PINMUX('B', 7, AF10)>, /* SDMMC2_D1 */
  143                          <STM32_PINMUX('B', 3, AF9)>, /* SDMMC2_D2 */
  144                          <STM32_PINMUX('B', 4, AF9)>; /* SDMMC2_D3 */
  145         };
  146 };
  147 
  148 &sdmmc2_b4_pins_a {
  149         pins1 {
  150                 pinmux = <STM32_PINMUX('B', 14, AF9)>, /* SDMMC2_D0 */
  151                          <STM32_PINMUX('B', 7, AF10)>, /* SDMMC2_D1 */
  152                          <STM32_PINMUX('B', 3, AF9)>, /* SDMMC2_D2 */
  153                          <STM32_PINMUX('B', 4, AF9)>, /* SDMMC2_D3 */
  154                          <STM32_PINMUX('G', 6, AF10)>; /* SDMMC2_CMD */
  155         };
  156 };
  157 
  158 &sdmmc2_b4_sleep_pins_a {
  159         pins {
  160                 pinmux = <STM32_PINMUX('B', 14, ANALOG)>, /* SDMMC2_D0 */
  161                          <STM32_PINMUX('B', 7, ANALOG)>, /* SDMMC2_D1 */
  162                          <STM32_PINMUX('B', 3, ANALOG)>, /* SDMMC2_D2 */
  163                          <STM32_PINMUX('B', 4, ANALOG)>, /* SDMMC2_D3 */
  164                          <STM32_PINMUX('E', 3, ANALOG)>, /* SDMMC2_CK */
  165                          <STM32_PINMUX('G', 6, ANALOG)>; /* SDMMC2_CMD */
  166         };
  167 };
  168 
  169 &sdmmc2_d47_pins_a {
  170         pins {
  171                 pinmux = <STM32_PINMUX('A', 8, AF9)>, /* SDMMC2_D4 */
  172                          <STM32_PINMUX('A', 9, AF10)>, /* SDMMC2_D5 */
  173                          <STM32_PINMUX('C', 6, AF10)>, /* SDMMC2_D6 */
  174                          <STM32_PINMUX('C', 7, AF10)>; /* SDMMC2_D7 */
  175         };
  176 };
  177 
  178 &sdmmc2_d47_sleep_pins_a {
  179         pins {
  180                 pinmux = <STM32_PINMUX('A', 8, ANALOG)>, /* SDMMC2_D4 */
  181                          <STM32_PINMUX('A', 9, ANALOG)>, /* SDMMC2_D5 */
  182                          <STM32_PINMUX('C', 6, ANALOG)>, /* SDMMC2_D6 */
  183                          <STM32_PINMUX('D', 3, ANALOG)>; /* SDMMC2_D7 */
  184         };
  185 };
  186 
  187 &sdmmc3 {
  188         pinctrl-names = "default", "opendrain", "sleep";
  189         pinctrl-0 = <&sdmmc3_b4_pins_b>;
  190         pinctrl-1 = <&sdmmc3_b4_od_pins_b>;
  191         pinctrl-2 = <&sdmmc3_b4_sleep_pins_b>;
  192         non-removable;
  193         no-1-8-v;
  194         st,neg-edge;
  195         bus-width = <4>;
  196         vmmc-supply = <&reg_3v3>;
  197         vqmmc-supply = <&reg_3v3>;
  198         mmc-pwrseq = <&wifi_pwrseq>;
  199         #address-cells = <1>;
  200         #size-cells = <0>;
  201         status = "okay";
  202 
  203         mmc@1 {
  204                 compatible = "prt,prtt1c-wfm200", "silabs,wf200";
  205                 reg = <1>;
  206         };
  207 };
  208 
  209 &sdmmc3_b4_od_pins_b {
  210         pins1 {
  211                 pinmux = <STM32_PINMUX('D', 1, AF10)>, /* SDMMC3_D0 */
  212                          <STM32_PINMUX('D', 4, AF10)>, /* SDMMC3_D1 */
  213                          <STM32_PINMUX('D', 5, AF10)>, /* SDMMC3_D2 */
  214                          <STM32_PINMUX('D', 7, AF10)>; /* SDMMC3_D3 */
  215         };
  216 };
  217 
  218 &sdmmc3_b4_pins_b {
  219         pins1 {
  220                 pinmux = <STM32_PINMUX('D', 1, AF10)>, /* SDMMC3_D0 */
  221                          <STM32_PINMUX('D', 4, AF10)>, /* SDMMC3_D1 */
  222                          <STM32_PINMUX('D', 5, AF10)>, /* SDMMC3_D2 */
  223                          <STM32_PINMUX('D', 7, AF10)>, /* SDMMC3_D3 */
  224                          <STM32_PINMUX('D', 0, AF10)>; /* SDMMC3_CMD */
  225         };
  226 };
  227 
  228 &sdmmc3_b4_sleep_pins_b {
  229         pins {
  230                 pinmux = <STM32_PINMUX('D', 1, ANALOG)>, /* SDMMC3_D0 */
  231                          <STM32_PINMUX('D', 4, ANALOG)>, /* SDMMC3_D1 */
  232                          <STM32_PINMUX('D', 5, ANALOG)>, /* SDMMC3_D2 */
  233                          <STM32_PINMUX('D', 7, ANALOG)>, /* SDMMC3_D3 */
  234                          <STM32_PINMUX('G', 15, ANALOG)>, /* SDMMC3_CK */
  235                          <STM32_PINMUX('D', 0, ANALOG)>; /* SDMMC3_CMD */
  236         };
  237 };
  238 
  239 &spi1 {
  240         pinctrl-0 = <&spi1_pins_b>;
  241         pinctrl-names = "default";
  242         cs-gpios = <&gpioa 15 GPIO_ACTIVE_LOW>;
  243         /delete-property/dmas;
  244         /delete-property/dma-names;
  245         status = "okay";
  246 
  247         switch@0 {
  248                 compatible = "nxp,sja1105q";
  249                 reg = <0>;
  250                 spi-max-frequency = <4000000>;
  251                 spi-rx-delay-us = <1>;
  252                 spi-tx-delay-us = <1>;
  253                 spi-cpha;
  254 
  255                 reset-gpios = <&gpioe 6 GPIO_ACTIVE_LOW>;
  256 
  257                 clocks = <&clock_sja1105>;
  258 
  259                 ports {
  260                         #address-cells = <1>;
  261                         #size-cells = <0>;
  262 
  263                         port@0 {
  264                                 reg = <0>;
  265                                 label = "t1l0";
  266                                 phy-mode = "rmii";
  267                                 phy-handle = <&t1l0_phy>;
  268                         };
  269 
  270                         port@1 {
  271                                 reg = <1>;
  272                                 label = "t1l1";
  273                                 phy-mode = "rmii";
  274                                 phy-handle = <&t1l1_phy>;
  275                         };
  276 
  277                         port@2 {
  278                                 reg = <2>;
  279                                 label = "t1l2";
  280                                 phy-mode = "rmii";
  281                                 phy-handle = <&t1l2_phy>;
  282                         };
  283 
  284                         port@3 {
  285                                 reg = <3>;
  286                                 label = "rj45";
  287                                 phy-handle = <&rj45_phy>;
  288                                 phy-mode = "rgmii-id";
  289                         };
  290 
  291                         port@4 {
  292                                 reg = <4>;
  293                                 label = "cpu";
  294                                 ethernet = <&ethernet0>;
  295                                 phy-mode = "rmii";
  296 
  297                                 fixed-link {
  298                                         speed = <100>;
  299                                         full-duplex;
  300                                 };
  301                         };
  302                 };
  303         };
  304 };

Cache object: e2e51d25551567e96d2fb096df1af0c0


[ 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.