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-ed1.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) STMicroelectronics 2017 - All Rights Reserved
    4  * Author: Ludovic Barre <ludovic.barre@st.com> for STMicroelectronics.
    5  */
    6 /dts-v1/;
    7 
    8 #include "stm32mp157.dtsi"
    9 #include "stm32mp15xc.dtsi"
   10 #include "stm32mp15-pinctrl.dtsi"
   11 #include "stm32mp15xxaa-pinctrl.dtsi"
   12 #include <dt-bindings/gpio/gpio.h>
   13 #include <dt-bindings/mfd/st,stpmic1.h>
   14 
   15 / {
   16         model = "STMicroelectronics STM32MP157C eval daughter";
   17         compatible = "st,stm32mp157c-ed1", "st,stm32mp157";
   18 
   19         chosen {
   20                 stdout-path = "serial0:115200n8";
   21         };
   22 
   23         memory@c0000000 {
   24                 device_type = "memory";
   25                 reg = <0xC0000000 0x40000000>;
   26         };
   27 
   28         reserved-memory {
   29                 #address-cells = <1>;
   30                 #size-cells = <1>;
   31                 ranges;
   32 
   33                 mcuram2: mcuram2@10000000 {
   34                         compatible = "shared-dma-pool";
   35                         reg = <0x10000000 0x40000>;
   36                         no-map;
   37                 };
   38 
   39                 vdev0vring0: vdev0vring0@10040000 {
   40                         compatible = "shared-dma-pool";
   41                         reg = <0x10040000 0x1000>;
   42                         no-map;
   43                 };
   44 
   45                 vdev0vring1: vdev0vring1@10041000 {
   46                         compatible = "shared-dma-pool";
   47                         reg = <0x10041000 0x1000>;
   48                         no-map;
   49                 };
   50 
   51                 vdev0buffer: vdev0buffer@10042000 {
   52                         compatible = "shared-dma-pool";
   53                         reg = <0x10042000 0x4000>;
   54                         no-map;
   55                 };
   56 
   57                 mcuram: mcuram@30000000 {
   58                         compatible = "shared-dma-pool";
   59                         reg = <0x30000000 0x40000>;
   60                         no-map;
   61                 };
   62 
   63                 retram: retram@38000000 {
   64                         compatible = "shared-dma-pool";
   65                         reg = <0x38000000 0x10000>;
   66                         no-map;
   67                 };
   68 
   69                 gpu_reserved: gpu@e8000000 {
   70                         reg = <0xe8000000 0x8000000>;
   71                         no-map;
   72                 };
   73         };
   74 
   75         aliases {
   76                 serial0 = &uart4;
   77         };
   78 
   79         sd_switch: regulator-sd_switch {
   80                 compatible = "regulator-gpio";
   81                 regulator-name = "sd_switch";
   82                 regulator-min-microvolt = <1800000>;
   83                 regulator-max-microvolt = <2900000>;
   84                 regulator-type = "voltage";
   85                 regulator-always-on;
   86 
   87                 gpios = <&gpiof 14 GPIO_ACTIVE_HIGH>;
   88                 gpios-states = <0>;
   89                 states = <1800000 0x1>,
   90                          <2900000 0x0>;
   91         };
   92 
   93         vin: vin {
   94                 compatible = "regulator-fixed";
   95                 regulator-name = "vin";
   96                 regulator-min-microvolt = <5000000>;
   97                 regulator-max-microvolt = <5000000>;
   98                 regulator-always-on;
   99         };
  100 };
  101 
  102 &adc {
  103         /* ANA0, ANA1 are dedicated pins and don't need pinctrl: only in6. */
  104         pinctrl-0 = <&adc1_in6_pins_a>;
  105         pinctrl-names = "default";
  106         vdd-supply = <&vdd>;
  107         vdda-supply = <&vdda>;
  108         vref-supply = <&vdda>;
  109         status = "disabled";
  110         adc1: adc@0 {
  111                 st,adc-channels = <0 1 6>;
  112                 /* 16.5 ck_cycles sampling time */
  113                 st,min-sample-time-nsecs = <400>;
  114                 status = "okay";
  115         };
  116 };
  117 
  118 &crc1 {
  119         status = "okay";
  120 };
  121 
  122 &cryp1 {
  123         status = "okay";
  124 };
  125 
  126 &dac {
  127         pinctrl-names = "default";
  128         pinctrl-0 = <&dac_ch1_pins_a &dac_ch2_pins_a>;
  129         vref-supply = <&vdda>;
  130         status = "disabled";
  131         dac1: dac@1 {
  132                 status = "okay";
  133         };
  134         dac2: dac@2 {
  135                 status = "okay";
  136         };
  137 };
  138 
  139 &dts {
  140         status = "okay";
  141 };
  142 
  143 &gpu {
  144         contiguous-area = <&gpu_reserved>;
  145 };
  146 
  147 &hash1 {
  148         status = "okay";
  149 };
  150 
  151 &i2c4 {
  152         pinctrl-names = "default", "sleep";
  153         pinctrl-0 = <&i2c4_pins_a>;
  154         pinctrl-1 = <&i2c4_sleep_pins_a>;
  155         i2c-scl-rising-time-ns = <185>;
  156         i2c-scl-falling-time-ns = <20>;
  157         clock-frequency = <400000>;
  158         status = "okay";
  159         /* spare dmas for other usage */
  160         /delete-property/dmas;
  161         /delete-property/dma-names;
  162 
  163         pmic: stpmic@33 {
  164                 compatible = "st,stpmic1";
  165                 reg = <0x33>;
  166                 interrupts-extended = <&gpioa 0 IRQ_TYPE_EDGE_FALLING>;
  167                 interrupt-controller;
  168                 #interrupt-cells = <2>;
  169                 status = "okay";
  170 
  171                 regulators {
  172                         compatible = "st,stpmic1-regulators";
  173                         buck1-supply = <&vin>;
  174                         buck2-supply = <&vin>;
  175                         buck3-supply = <&vin>;
  176                         buck4-supply = <&vin>;
  177                         ldo1-supply = <&v3v3>;
  178                         ldo2-supply = <&v3v3>;
  179                         ldo3-supply = <&vdd_ddr>;
  180                         ldo4-supply = <&vin>;
  181                         ldo5-supply = <&v3v3>;
  182                         ldo6-supply = <&v3v3>;
  183                         vref_ddr-supply = <&vin>;
  184                         boost-supply = <&vin>;
  185                         pwr_sw1-supply = <&bst_out>;
  186                         pwr_sw2-supply = <&bst_out>;
  187 
  188                         vddcore: buck1 {
  189                                 regulator-name = "vddcore";
  190                                 regulator-min-microvolt = <1200000>;
  191                                 regulator-max-microvolt = <1350000>;
  192                                 regulator-always-on;
  193                                 regulator-initial-mode = <0>;
  194                                 regulator-over-current-protection;
  195                         };
  196 
  197                         vdd_ddr: buck2 {
  198                                 regulator-name = "vdd_ddr";
  199                                 regulator-min-microvolt = <1350000>;
  200                                 regulator-max-microvolt = <1350000>;
  201                                 regulator-always-on;
  202                                 regulator-initial-mode = <0>;
  203                                 regulator-over-current-protection;
  204                         };
  205 
  206                         vdd: buck3 {
  207                                 regulator-name = "vdd";
  208                                 regulator-min-microvolt = <3300000>;
  209                                 regulator-max-microvolt = <3300000>;
  210                                 regulator-always-on;
  211                                 st,mask-reset;
  212                                 regulator-initial-mode = <0>;
  213                                 regulator-over-current-protection;
  214                         };
  215 
  216                         v3v3: buck4 {
  217                                 regulator-name = "v3v3";
  218                                 regulator-min-microvolt = <3300000>;
  219                                 regulator-max-microvolt = <3300000>;
  220                                 regulator-always-on;
  221                                 regulator-over-current-protection;
  222                                 regulator-initial-mode = <0>;
  223                         };
  224 
  225                         vdda: ldo1 {
  226                                 regulator-name = "vdda";
  227                                 regulator-min-microvolt = <2900000>;
  228                                 regulator-max-microvolt = <2900000>;
  229                                 interrupts = <IT_CURLIM_LDO1 0>;
  230                         };
  231 
  232                         v2v8: ldo2 {
  233                                 regulator-name = "v2v8";
  234                                 regulator-min-microvolt = <2800000>;
  235                                 regulator-max-microvolt = <2800000>;
  236                                 interrupts = <IT_CURLIM_LDO2 0>;
  237                         };
  238 
  239                         vtt_ddr: ldo3 {
  240                                 regulator-name = "vtt_ddr";
  241                                 regulator-min-microvolt = <500000>;
  242                                 regulator-max-microvolt = <750000>;
  243                                 regulator-always-on;
  244                                 regulator-over-current-protection;
  245                         };
  246 
  247                         vdd_usb: ldo4 {
  248                                 regulator-name = "vdd_usb";
  249                                 interrupts = <IT_CURLIM_LDO4 0>;
  250                         };
  251 
  252                         vdd_sd: ldo5 {
  253                                 regulator-name = "vdd_sd";
  254                                 regulator-min-microvolt = <2900000>;
  255                                 regulator-max-microvolt = <2900000>;
  256                                 interrupts = <IT_CURLIM_LDO5 0>;
  257                                 regulator-boot-on;
  258                         };
  259 
  260                         v1v8: ldo6 {
  261                                 regulator-name = "v1v8";
  262                                 regulator-min-microvolt = <1800000>;
  263                                 regulator-max-microvolt = <1800000>;
  264                                 interrupts = <IT_CURLIM_LDO6 0>;
  265                         };
  266 
  267                         vref_ddr: vref_ddr {
  268                                 regulator-name = "vref_ddr";
  269                                 regulator-always-on;
  270                         };
  271 
  272                         bst_out: boost {
  273                                 regulator-name = "bst_out";
  274                                 interrupts = <IT_OCP_BOOST 0>;
  275                         };
  276 
  277                         vbus_otg: pwr_sw1 {
  278                                 regulator-name = "vbus_otg";
  279                                 interrupts = <IT_OCP_OTG 0>;
  280                          };
  281 
  282                          vbus_sw: pwr_sw2 {
  283                                 regulator-name = "vbus_sw";
  284                                 interrupts = <IT_OCP_SWOUT 0>;
  285                                 regulator-active-discharge = <1>;
  286                          };
  287                 };
  288 
  289                 onkey {
  290                         compatible = "st,stpmic1-onkey";
  291                         interrupts = <IT_PONKEY_F 0>, <IT_PONKEY_R 0>;
  292                         interrupt-names = "onkey-falling", "onkey-rising";
  293                         power-off-time-sec = <10>;
  294                         status = "okay";
  295                 };
  296 
  297                 watchdog {
  298                         compatible = "st,stpmic1-wdt";
  299                         status = "disabled";
  300                 };
  301         };
  302 };
  303 
  304 &ipcc {
  305         status = "okay";
  306 };
  307 
  308 &iwdg2 {
  309         timeout-sec = <32>;
  310         status = "okay";
  311 };
  312 
  313 &m4_rproc {
  314         memory-region = <&retram>, <&mcuram>, <&mcuram2>, <&vdev0vring0>,
  315                         <&vdev0vring1>, <&vdev0buffer>;
  316         mboxes = <&ipcc 0>, <&ipcc 1>, <&ipcc 2>, <&ipcc 3>;
  317         mbox-names = "vq0", "vq1", "shutdown", "detach";
  318         interrupt-parent = <&exti>;
  319         interrupts = <68 1>;
  320         status = "okay";
  321 };
  322 
  323 &pwr_regulators {
  324         vdd-supply = <&vdd>;
  325         vdd_3v3_usbfs-supply = <&vdd_usb>;
  326 };
  327 
  328 &rng1 {
  329         status = "okay";
  330 };
  331 
  332 &rtc {
  333         status = "okay";
  334 };
  335 
  336 &sdmmc1 {
  337         pinctrl-names = "default", "opendrain", "sleep";
  338         pinctrl-0 = <&sdmmc1_b4_pins_a &sdmmc1_dir_pins_a>;
  339         pinctrl-1 = <&sdmmc1_b4_od_pins_a &sdmmc1_dir_pins_a>;
  340         pinctrl-2 = <&sdmmc1_b4_sleep_pins_a &sdmmc1_dir_sleep_pins_a>;
  341         cd-gpios = <&gpiog 1 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
  342         disable-wp;
  343         st,sig-dir;
  344         st,neg-edge;
  345         st,use-ckin;
  346         bus-width = <4>;
  347         vmmc-supply = <&vdd_sd>;
  348         vqmmc-supply = <&sd_switch>;
  349         sd-uhs-sdr12;
  350         sd-uhs-sdr25;
  351         sd-uhs-sdr50;
  352         sd-uhs-ddr50;
  353         status = "okay";
  354 };
  355 
  356 &sdmmc2 {
  357         pinctrl-names = "default", "opendrain", "sleep";
  358         pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_a>;
  359         pinctrl-1 = <&sdmmc2_b4_od_pins_a &sdmmc2_d47_pins_a>;
  360         pinctrl-2 = <&sdmmc2_b4_sleep_pins_a &sdmmc2_d47_sleep_pins_a>;
  361         non-removable;
  362         no-sd;
  363         no-sdio;
  364         st,neg-edge;
  365         bus-width = <8>;
  366         vmmc-supply = <&v3v3>;
  367         vqmmc-supply = <&vdd>;
  368         mmc-ddr-3_3v;
  369         status = "okay";
  370 };
  371 
  372 &timers6 {
  373         status = "okay";
  374         /* spare dmas for other usage */
  375         /delete-property/dmas;
  376         /delete-property/dma-names;
  377         timer@5 {
  378                 status = "okay";
  379         };
  380 };
  381 
  382 &uart4 {
  383         pinctrl-names = "default", "sleep", "idle";
  384         pinctrl-0 = <&uart4_pins_a>;
  385         pinctrl-1 = <&uart4_sleep_pins_a>;
  386         pinctrl-2 = <&uart4_idle_pins_a>;
  387         /delete-property/dmas;
  388         /delete-property/dma-names;
  389         status = "okay";
  390 };
  391 
  392 &usbotg_hs {
  393         vbus-supply = <&vbus_otg>;
  394 };
  395 
  396 &usbphyc_port0 {
  397         phy-supply = <&vdd_usb>;
  398 };
  399 
  400 &usbphyc_port1 {
  401         phy-supply = <&vdd_usb>;
  402 };

Cache object: 128e737b48f93e648158d35c7e9f51b6


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