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/stm32mp157c-emstamp-argon.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 // SPDX-License-Identifier: (GPL-2.0 or MIT)
    2 //
    3 // Copyright (c) 2021 emtrion GmbH
    4 // Author: Reinhold Müller <reinhold.mueller@emtrion.de>.
    5 //
    6 
    7 #include "stm32mp157.dtsi"
    8 #include "stm32mp15xc.dtsi"
    9 #include "stm32mp15-pinctrl.dtsi"
   10 #include "stm32mp15xxac-pinctrl.dtsi"
   11 #include <dt-bindings/gpio/gpio.h>
   12 #include <dt-bindings/mfd/st,stpmic1.h>
   13 
   14 / {
   15         aliases {
   16                 ethernet0 = &ethernet0;
   17                 serial0 = &uart4;
   18                 serial1 = &usart2;
   19                 serial2 = &usart3;
   20         };
   21 
   22         chosen {
   23                 stdout-path = "serial0:115200n8";
   24         };
   25 
   26         memory@c0000000 {
   27                 device_type = "memory";
   28                 reg = <0xc0000000 0x20000000>;
   29         };
   30 
   31         reserved-memory {
   32                 #address-cells = <1>;
   33                 #size-cells = <1>;
   34                 ranges;
   35 
   36                 mcuram2: mcuram2@10000000 {
   37                         compatible = "shared-dma-pool";
   38                         reg = <0x10000000 0x40000>;
   39                         no-map;
   40                 };
   41 
   42                 vdev0vring0: vdev0vring0@10040000 {
   43                         compatible = "shared-dma-pool";
   44                         reg = <0x10040000 0x2000>;
   45                         no-map;
   46                 };
   47 
   48                 vdev0vring1: vdev0vring1@10042000 {
   49                         compatible = "shared-dma-pool";
   50                         reg = <0x10042000 0x2000>;
   51                         no-map;
   52                 };
   53 
   54                 vdev0buffer: vdev0buffer@10044000 {
   55                         compatible = "shared-dma-pool";
   56                         reg = <0x10044000 0x4000>;
   57                         no-map;
   58                 };
   59 
   60                 mcuram: mcuram@30000000 {
   61                         compatible = "shared-dma-pool";
   62                         reg = <0x30000000 0x40000>;
   63                         no-map;
   64                 };
   65 
   66                 retram: retram@38000000 {
   67                         compatible = "shared-dma-pool";
   68                         reg = <0x38000000 0x10000>;
   69                         no-map;
   70                 };
   71 
   72                 gpu_reserved: gpu@dc000000 {
   73                         reg = <0xdc000000 0x4000000>;
   74                         no-map;
   75                 };
   76         };
   77 
   78         led: gpio_leds {
   79                 compatible = "gpio-leds";
   80                 led-0 {
   81                         label = "panic";
   82                         gpios = <&gpioa 13 GPIO_ACTIVE_LOW>;
   83                         linux,default-trigger = "none";
   84                         default-state = "off";
   85                         panic-indicator;
   86                 };
   87                 led-1 {
   88                         label = "heartbeat";
   89                         gpios = <&gpioa 14 GPIO_ACTIVE_LOW>;
   90                         linux,default-trigger = "heartbeat";
   91                         default-state = "on";
   92                 };
   93         };
   94 };
   95 
   96 &adc {
   97         vdd-supply = <&vdd>;
   98         vdda-supply = <&vdd>;
   99         vref-supply = <&vrefbuf>;
  100         status = "okay";
  101 
  102         adc1: adc@0 {
  103                 pinctrl-names = "default";
  104                 pinctrl-0 = <&adc1_in6_pins_a>;
  105                 st,min-sample-time-nsecs = <5000>;
  106                 st,adc-channels = <6>;
  107                 status = "disabled";
  108         };
  109 
  110         adc2: adc@100 {
  111                 #address-cells = <1>;
  112                 #size-cells = <0>;
  113                 status = "okay";
  114                 channel@12 {
  115                         reg = <12>;
  116                         label = "sense_temp";
  117                         st,min-sample-time-ns = <9000>;
  118                 };
  119                 channel@15 {
  120                         reg = <15>;
  121                         label = "vbat";
  122                         st,min-sample-time-ns = <9000>;
  123                 };
  124                 channel@16 {
  125                         reg = <16>;
  126                         label = "dac_out1";
  127                         st,min-sample-time-ns = <9000>;
  128                 };
  129                 channel@17 {
  130                         reg = <17>;
  131                         label = "dac_out1";
  132                         st,min-sample-time-ns = <9000>;
  133                 };
  134         };
  135 };
  136 
  137 &crc1 {
  138         status = "okay";
  139 };
  140 
  141 &cryp1 {
  142         status = "okay";
  143 };
  144 
  145 &dac {
  146         pinctrl-names = "default";
  147         pinctrl-0 = <&dac_ch1_pins_a &dac_ch2_pins_a>;
  148         vref-supply = <&vdda>;
  149         status = "disabled";
  150 
  151         dac1: dac@1 {
  152                 status = "okay";
  153         };
  154         dac2: dac@2 {
  155                 status = "okay";
  156         };
  157 };
  158 
  159 &dts {
  160         status = "okay";
  161 };
  162 
  163 &ethernet0 {
  164         status = "okay";
  165         snps,reset-gpio = <&gpioa 1 GPIO_ACTIVE_LOW>;
  166         snps,reset-active-low;
  167         snps,reset-delays-us = <0 30000 50000>;
  168         pinctrl-0 = <&ethernet0_rmii_pins_b>;
  169         pinctrl-1 = <&ethernet0_rmii_sleep_pins_b>;
  170         pinctrl-names = "default", "sleep";
  171         phy-mode = "rmii";
  172         max-speed = <100>;
  173         phy-handle = <&phy0>;
  174         st,eth-ref-clk-sel;
  175 
  176         mdio0 {
  177                 #address-cells = <1>;
  178                 #size-cells = <0>;
  179                 compatible = "snps,dwmac-mdio";
  180                 phy0: ethernet-phy@0 {
  181                         reg = <0>;
  182                 };
  183         };
  184 };
  185 
  186 &gpu {
  187         contiguous-area = <&gpu_reserved>;
  188 };
  189 
  190 &hash1 {
  191         status = "okay";
  192 };
  193 
  194 &i2c1 {
  195         pinctrl-names = "default", "sleep";
  196         pinctrl-0 = <&i2c1_pins_a>;
  197         pinctrl-1 = <&i2c1_sleep_pins_a>;
  198         i2c-scl-rising-time-ns = <100>;
  199         i2c-scl-falling-time-ns = <7>;
  200         status = "disabled";
  201         /delete-property/dmas;
  202         /delete-property/dma-names;
  203 };
  204 
  205 &i2c4 {
  206         pinctrl-names = "default", "sleep";
  207         pinctrl-0 = <&i2c4_pins_a>;
  208         pinctrl-1 = <&i2c4_sleep_pins_a>;
  209         i2c-scl-rising-time-ns = <185>;
  210         i2c-scl-falling-time-ns = <20>;
  211         status = "okay";
  212         /delete-property/dmas;
  213         /delete-property/dma-names;
  214 
  215         pmic: stpmic@33 {
  216                 compatible = "st,stpmic1";
  217                 reg = <0x33>;
  218                 interrupts-extended = <&gpioa 0 IRQ_TYPE_EDGE_FALLING>;
  219                 interrupt-controller;
  220                 #interrupt-cells = <2>;
  221                 status = "okay";
  222 
  223                 regulators {
  224                         compatible = "st,stpmic1-regulators";
  225 
  226                         ldo1-supply = <&v3v3>;
  227                         ldo3-supply = <&vdd_ddr>;
  228                         ldo6-supply = <&v3v3>;
  229                         pwr_sw1-supply = <&bst_out>;
  230                         pwr_sw2-supply = <&bst_out>;
  231 
  232                         vddcore: buck1 {
  233                                 regulator-name = "vddcore";
  234                                 regulator-min-microvolt = <1200000>;
  235                                 regulator-max-microvolt = <1350000>;
  236                                 regulator-always-on;
  237                                 regulator-initial-mode = <0>;
  238                                 regulator-over-current-protection;
  239                         };
  240 
  241                         vdd_ddr: buck2 {
  242                                 regulator-name = "vdd_ddr";
  243                                 regulator-min-microvolt = <1350000>;
  244                                 regulator-max-microvolt = <1350000>;
  245                                 regulator-always-on;
  246                                 regulator-initial-mode = <0>;
  247                                 regulator-over-current-protection;
  248                         };
  249 
  250                         vdd: buck3 {
  251                                 regulator-name = "vdd";
  252                                 regulator-min-microvolt = <3300000>;
  253                                 regulator-max-microvolt = <3300000>;
  254                                 regulator-always-on;
  255                                 st,mask-reset;
  256                                 regulator-initial-mode = <0>;
  257                                 regulator-over-current-protection;
  258                         };
  259 
  260                         v3v3: buck4 {
  261                                 regulator-name = "v3v3";
  262                                 regulator-min-microvolt = <3300000>;
  263                                 regulator-max-microvolt = <3300000>;
  264                                 regulator-always-on;
  265                                 regulator-over-current-protection;
  266                                 regulator-initial-mode = <0>;
  267                         };
  268 
  269                         v1v8_audio: ldo1 {
  270                                 regulator-name = "v1v8_audio";
  271                                 regulator-min-microvolt = <1800000>;
  272                                 regulator-max-microvolt = <1800000>;
  273                                 regulator-always-on;
  274                                 interrupts = <IT_CURLIM_LDO1 0>;
  275                         };
  276 
  277                         v3v3_hdmi: ldo2 {
  278                                 regulator-name = "v3v3_hdmi";
  279                                 regulator-min-microvolt = <3300000>;
  280                                 regulator-max-microvolt = <3300000>;
  281                                 regulator-always-on;
  282                                 interrupts = <IT_CURLIM_LDO2 0>;
  283                         };
  284 
  285                         vtt_ddr: ldo3 {
  286                                 regulator-name = "vtt_ddr";
  287                                 regulator-min-microvolt = <500000>;
  288                                 regulator-max-microvolt = <750000>;
  289                                 regulator-always-on;
  290                                 regulator-over-current-protection;
  291                         };
  292 
  293                         vdd_usb: ldo4 {
  294                                 regulator-name = "vdd_usb";
  295                                 regulator-min-microvolt = <3300000>;
  296                                 regulator-max-microvolt = <3300000>;
  297                                 interrupts = <IT_CURLIM_LDO4 0>;
  298                         };
  299 
  300                         vdd_sd: ldo5 {
  301                                 regulator-name = "vdd_sd";
  302                                 regulator-min-microvolt = <3300000>;
  303                                 regulator-max-microvolt = <3300000>;
  304                                 interrupts = <IT_CURLIM_LDO5 0>;
  305                                 regulator-always-on;
  306                         };
  307 
  308                         vdda: ldo6 {
  309                                 regulator-name = "vdda";
  310                                 regulator-min-microvolt = <2900000>;
  311                                 regulator-max-microvolt = <2900000>;
  312                                 regulator-always-on;
  313                                 interrupts = <IT_CURLIM_LDO6 0>;
  314                                 regulator-boot-on;
  315                         };
  316 
  317                         vref_ddr: vref_ddr {
  318                                 regulator-name = "vref_ddr";
  319                                 regulator-always-on;
  320                                 regulator-over-current-protection;
  321                         };
  322 
  323                         bst_out: boost {
  324                                 regulator-name = "bst_out";
  325                                 interrupts = <IT_OCP_BOOST 0>;
  326                         };
  327 
  328                         vbus_otg: pwr_sw1 {
  329                                 regulator-name = "vbus_otg";
  330                                 interrupts = <IT_OCP_OTG 0>;
  331                                 regulator-active-discharge;
  332                         };
  333 
  334                         vbus_usbh: pwr_sw2 {
  335                                 regulator-name = "usbh_vbus";
  336                                 interrupts = <IT_OCP_SWOUT 0>;
  337                                 regulator-always-on;
  338                                 regulator-boot-on;
  339                         };
  340                 };
  341 
  342                 onkey {
  343                         compatible = "st,stpmic1-onkey";
  344                         interrupts = <IT_PONKEY_F 0>, <IT_PONKEY_R 1>;
  345                         interrupt-names = "onkey-falling", "onkey-rising";
  346                         status = "okay";
  347                 };
  348 
  349                 watchdog {
  350                         compatible = "st,stpmic1-wdt";
  351                         status = "disabled";
  352                 };
  353         };
  354 };
  355 
  356 &i2c5 {
  357         pinctrl-names = "default", "sleep";
  358         pinctrl-0 = <&i2c5_pins_a>;
  359         pinctrl-1 = <&i2c5_sleep_pins_a>;
  360         i2c-scl-rising-time-ns = <185>;
  361         i2c-scl-falling-time-ns = <20>;
  362         /delete-property/dmas;
  363         /delete-property/dma-names;
  364 };
  365 
  366 &ipcc {
  367         status = "okay";
  368 };
  369 
  370 &iwdg2 {
  371         timeout-sec = <32>;
  372         status = "okay";
  373 };
  374 
  375 &m4_rproc {
  376         memory-region = <&retram>, <&mcuram>, <&mcuram2>, <&vdev0vring0>,
  377                         <&vdev0vring1>, <&vdev0buffer>;
  378         mboxes = <&ipcc 0>, <&ipcc 1>, <&ipcc 2>;
  379         mbox-names = "vq0", "vq1", "shutdown";
  380         interrupt-parent = <&exti>;
  381         interrupts = <68 1>;
  382         interrupt-names = "wdg";
  383         recovery;
  384         status = "okay";
  385 };
  386 
  387 &pwr_regulators {
  388         vdd-supply = <&vdd>;
  389         vdd_3v3_usbfs-supply = <&vdd_usb>;
  390 };
  391 
  392 &qspi {
  393         pinctrl-names = "default", "sleep";
  394         pinctrl-0 = <&qspi_clk_pins_a &qspi_bk1_pins_a>;
  395         pinctrl-1 = <&qspi_clk_sleep_pins_a &qspi_bk1_sleep_pins_a>;
  396         reg = <0x58003000 0x1000>, <0x70000000 0x4000000>;
  397         #address-cells = <1>;
  398         #size-cells = <0>;
  399         status = "okay";
  400 
  401         flash0: flash@0 {
  402                 compatible = "jedec,spi-nor";
  403                 reg = <0>;
  404                 spi-max-frequency = <133000000>;
  405                 spi-rx-bus-width = <1>;
  406                 spi-tx-bus-width = <1>;
  407                 #address-cells = <1>;
  408                 #size-cells = <1>;
  409         };
  410 };
  411 
  412 &rng1 {
  413         status = "okay";
  414 };
  415 
  416 &rtc {
  417         status = "okay";
  418 };
  419 
  420 &sdmmc2 {
  421         arm,primecell-periphid = <0x10153180>;
  422         pinctrl-names = "default", "opendrain", "sleep";
  423         pinctrl-0 = <&sdmmc2_b4_pins_b>;
  424         pinctrl-1 = <&sdmmc2_b4_od_pins_b>;
  425         pinctrl-2 = <&sdmmc2_b4_sleep_pins_a>;
  426         non-removable;
  427         st,neg-edge;
  428         bus-width = <4>;
  429         vmmc-supply = <&v3v3>;
  430         status = "okay";
  431 };
  432 
  433 &spi1 {
  434         pinctrl-names = "default";
  435         pinctrl-0 = <&spi1_pins_a>;
  436         cs-gpios = <&gpioz 3 0>;
  437         status = "disabled";
  438 
  439         spidev@0  {
  440                 compatible = "spidev";
  441                 reg = <0>;
  442                 spi-max-frequency = <100000>;
  443         };
  444 };
  445 
  446 &timers1 {
  447         /* spare dmas for other usage */
  448         /delete-property/dmas;
  449         /delete-property/dma-names;
  450         pwm {
  451                 pinctrl-0 = <&pwm1_pins_b>;
  452                 pinctrl-1 = <&pwm1_sleep_pins_b>;
  453                 pinctrl-names = "default", "sleep";
  454                 status = "okay";
  455         };
  456         timer@0 {
  457                 status = "okay";
  458         };
  459 };
  460 
  461 &timers4 {
  462         /delete-property/dmas;
  463         /delete-property/dma-names;
  464         pwm {
  465                 pinctrl-0 = <&pwm4_pins_b>;
  466                 pinctrl-1 = <&pwm4_sleep_pins_b>;
  467                 pinctrl-names = "default", "sleep";
  468                 status = "okay";
  469         };
  470         timer@3 {
  471                 status = "okay";
  472         };
  473 };
  474 
  475 &timers5 {
  476         /delete-property/dmas;
  477         /delete-property/dma-names;
  478         pwm {
  479                 pinctrl-0 = <&pwm5_pins_a>;
  480                 pinctrl-1 = <&pwm5_sleep_pins_a>;
  481                 pinctrl-names = "default", "sleep";
  482                 status = "okay";
  483         };
  484         timer@4 {
  485                 status = "okay";
  486         };
  487 };
  488 
  489 &uart4 {
  490         pinctrl-names = "default", "sleep", "idle";
  491         pinctrl-0 = <&uart4_pins_a>;
  492         pinctrl-1 = <&uart4_sleep_pins_a>;
  493         pinctrl-2 = <&uart4_idle_pins_a>;
  494         status = "okay";
  495 };
  496 
  497 &usart2 {
  498         pinctrl-names = "default", "sleep";
  499         pinctrl-0 = <&usart2_pins_a>;
  500         pinctrl-1 = <&usart2_sleep_pins_a>;
  501         status = "okay";
  502 };
  503 
  504 &usart3 {
  505         pinctrl-names = "default", "sleep", "idle";
  506         pinctrl-0 = <&usart3_pins_d>;
  507         pinctrl-1 = <&usart3_sleep_pins_d>;
  508         pinctrl-2 = <&usart3_idle_pins_d>;
  509         status = "okay";
  510 };
  511 
  512 &usbh_ehci {
  513         phys = <&usbphyc_port0>;
  514         phy-names = "usb";
  515         status = "okay";
  516 };
  517 
  518 &usbh_ohci {
  519         phys = <&usbphyc_port0>;
  520         phy-names = "usb";
  521         status = "okay";
  522 };
  523 
  524 &usbotg_hs {
  525         dr_mode = "peripheral";
  526         pinctrl-names = "default";
  527         pinctrl-0 = <&usbotg_hs_pins_a>;
  528         phy-names = "usb2-phy";
  529         phys = <&usbphyc_port1 0>;
  530         vbus-supply = <&vbus_otg>;
  531         status = "okay";
  532 };
  533 
  534 &usbphyc {
  535         status = "okay";
  536 };
  537 
  538 &usbphyc_port0 {
  539         phy-supply = <&vdd_usb>;
  540 };
  541 
  542 &usbphyc_port1 {
  543         phy-supply = <&vdd_usb>;
  544 };
  545 
  546 &vrefbuf {
  547         regulator-min-microvolt = <2500000>;
  548         regulator-max-microvolt = <2500000>;
  549         vdda-supply = <&vdd>;
  550         status = "okay";
  551 };
  552 

Cache object: 4ab7bc7400dacf7f1d440e5fdaef287b


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