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-ev1.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 "stm32mp157c-ed1.dts"
    9 #include <dt-bindings/gpio/gpio.h>
   10 #include <dt-bindings/input/input.h>
   11 
   12 / {
   13         model = "STMicroelectronics STM32MP157C eval daughter on eval mother";
   14         compatible = "st,stm32mp157c-ev1", "st,stm32mp157c-ed1", "st,stm32mp157";
   15 
   16         chosen {
   17                 stdout-path = "serial0:115200n8";
   18         };
   19 
   20         aliases {
   21                 serial0 = &uart4;
   22                 serial1 = &usart3;
   23                 ethernet0 = &ethernet0;
   24         };
   25 
   26         clocks {
   27                 clk_ext_camera: clk-ext-camera {
   28                         #clock-cells = <0>;
   29                         compatible = "fixed-clock";
   30                         clock-frequency = <24000000>;
   31                 };
   32         };
   33 
   34         joystick {
   35                 compatible = "gpio-keys";
   36                 pinctrl-0 = <&joystick_pins>;
   37                 pinctrl-names = "default";
   38                 button-0 {
   39                         label = "JoySel";
   40                         linux,code = <KEY_ENTER>;
   41                         interrupt-parent = <&stmfx_pinctrl>;
   42                         interrupts = <0 IRQ_TYPE_EDGE_RISING>;
   43                 };
   44                 button-1 {
   45                         label = "JoyDown";
   46                         linux,code = <KEY_DOWN>;
   47                         interrupt-parent = <&stmfx_pinctrl>;
   48                         interrupts = <1 IRQ_TYPE_EDGE_RISING>;
   49                 };
   50                 button-2 {
   51                         label = "JoyLeft";
   52                         linux,code = <KEY_LEFT>;
   53                         interrupt-parent = <&stmfx_pinctrl>;
   54                         interrupts = <2 IRQ_TYPE_EDGE_RISING>;
   55                 };
   56                 button-3 {
   57                         label = "JoyRight";
   58                         linux,code = <KEY_RIGHT>;
   59                         interrupt-parent = <&stmfx_pinctrl>;
   60                         interrupts = <3 IRQ_TYPE_EDGE_RISING>;
   61                 };
   62                 button-4 {
   63                         label = "JoyUp";
   64                         linux,code = <KEY_UP>;
   65                         interrupt-parent = <&stmfx_pinctrl>;
   66                         interrupts = <4 IRQ_TYPE_EDGE_RISING>;
   67                 };
   68         };
   69 
   70         panel_backlight: panel-backlight {
   71                 compatible = "gpio-backlight";
   72                 gpios = <&gpiod 13 GPIO_ACTIVE_LOW>;
   73                 default-on;
   74                 status = "okay";
   75         };
   76 };
   77 
   78 &cec {
   79         pinctrl-names = "default";
   80         pinctrl-0 = <&cec_pins_a>;
   81         status = "okay";
   82 };
   83 
   84 &dcmi {
   85         status = "okay";
   86         pinctrl-names = "default", "sleep";
   87         pinctrl-0 = <&dcmi_pins_a>;
   88         pinctrl-1 = <&dcmi_sleep_pins_a>;
   89 
   90         port {
   91                 dcmi_0: endpoint {
   92                         remote-endpoint = <&ov5640_0>;
   93                         bus-type = <5>;
   94                         bus-width = <8>;
   95                         hsync-active = <0>;
   96                         vsync-active = <0>;
   97                         pclk-sample = <1>;
   98                 };
   99         };
  100 };
  101 
  102 &dsi {
  103         phy-dsi-supply = <&reg18>;
  104         status = "okay";
  105 
  106         ports {
  107                 port@0 {
  108                         reg = <0>;
  109                         dsi_in: endpoint {
  110                                 remote-endpoint = <&ltdc_ep0_out>;
  111                         };
  112                 };
  113 
  114                 port@1 {
  115                         reg = <1>;
  116                         dsi_out: endpoint {
  117                                 remote-endpoint = <&dsi_panel_in>;
  118                         };
  119                 };
  120         };
  121 
  122         panel-dsi@0 {
  123                 compatible = "raydium,rm68200";
  124                 reg = <0>;
  125                 reset-gpios = <&gpiof 15 GPIO_ACTIVE_LOW>;
  126                 backlight = <&panel_backlight>;
  127                 power-supply = <&v3v3>;
  128                 status = "okay";
  129 
  130                 port {
  131                         dsi_panel_in: endpoint {
  132                                 remote-endpoint = <&dsi_out>;
  133                         };
  134                 };
  135         };
  136 };
  137 
  138 &ethernet0 {
  139         status = "okay";
  140         pinctrl-0 = <&ethernet0_rgmii_pins_a>;
  141         pinctrl-1 = <&ethernet0_rgmii_sleep_pins_a>;
  142         pinctrl-names = "default", "sleep";
  143         phy-mode = "rgmii-id";
  144         max-speed = <1000>;
  145         phy-handle = <&phy0>;
  146 
  147         mdio0 {
  148                 #address-cells = <1>;
  149                 #size-cells = <0>;
  150                 compatible = "snps,dwmac-mdio";
  151                 phy0: ethernet-phy@0 {
  152                         reg = <0>;
  153                 };
  154         };
  155 };
  156 
  157 &fmc {
  158         pinctrl-names = "default", "sleep";
  159         pinctrl-0 = <&fmc_pins_a>;
  160         pinctrl-1 = <&fmc_sleep_pins_a>;
  161         status = "okay";
  162 
  163         nand-controller@4,0 {
  164                 status = "okay";
  165 
  166                 nand@0 {
  167                         reg = <0>;
  168                         nand-on-flash-bbt;
  169                         #address-cells = <1>;
  170                         #size-cells = <1>;
  171                 };
  172         };
  173 };
  174 
  175 &i2c2 {
  176         pinctrl-names = "default", "sleep";
  177         pinctrl-0 = <&i2c2_pins_a>;
  178         pinctrl-1 = <&i2c2_sleep_pins_a>;
  179         i2c-scl-rising-time-ns = <185>;
  180         i2c-scl-falling-time-ns = <20>;
  181         status = "okay";
  182 
  183         ov5640: camera@3c {
  184                 compatible = "ovti,ov5640";
  185                 reg = <0x3c>;
  186                 clocks = <&clk_ext_camera>;
  187                 clock-names = "xclk";
  188                 DOVDD-supply = <&v2v8>;
  189                 powerdown-gpios = <&stmfx_pinctrl 18 (GPIO_ACTIVE_HIGH | GPIO_PUSH_PULL)>;
  190                 reset-gpios = <&stmfx_pinctrl 19 (GPIO_ACTIVE_LOW | GPIO_PUSH_PULL)>;
  191                 rotation = <180>;
  192                 status = "okay";
  193 
  194                 port {
  195                         ov5640_0: endpoint {
  196                                 remote-endpoint = <&dcmi_0>;
  197                                 bus-width = <8>;
  198                                 data-shift = <2>; /* lines 9:2 are used */
  199                                 hsync-active = <0>;
  200                                 vsync-active = <0>;
  201                                 pclk-sample = <1>;
  202                         };
  203                 };
  204         };
  205 
  206         stmfx: stmfx@42 {
  207                 compatible = "st,stmfx-0300";
  208                 reg = <0x42>;
  209                 interrupts = <8 IRQ_TYPE_EDGE_RISING>;
  210                 interrupt-parent = <&gpioi>;
  211                 vdd-supply = <&v3v3>;
  212 
  213                 stmfx_pinctrl: pinctrl {
  214                         compatible = "st,stmfx-0300-pinctrl";
  215                         gpio-controller;
  216                         #gpio-cells = <2>;
  217                         interrupt-controller;
  218                         #interrupt-cells = <2>;
  219                         gpio-ranges = <&stmfx_pinctrl 0 0 24>;
  220 
  221                         joystick_pins: joystick-pins {
  222                                 pins = "gpio0", "gpio1", "gpio2", "gpio3", "gpio4";
  223                                 bias-pull-down;
  224                         };
  225                 };
  226         };
  227 };
  228 
  229 &i2c5 {
  230         pinctrl-names = "default", "sleep";
  231         pinctrl-0 = <&i2c5_pins_a>;
  232         pinctrl-1 = <&i2c5_sleep_pins_a>;
  233         i2c-scl-rising-time-ns = <185>;
  234         i2c-scl-falling-time-ns = <20>;
  235         status = "okay";
  236 };
  237 
  238 &ltdc {
  239         status = "okay";
  240 
  241         port {
  242                 ltdc_ep0_out: endpoint@0 {
  243                         reg = <0>;
  244                         remote-endpoint = <&dsi_in>;
  245                 };
  246         };
  247 };
  248 
  249 &m_can1 {
  250         pinctrl-names = "default", "sleep";
  251         pinctrl-0 = <&m_can1_pins_a>;
  252         pinctrl-1 = <&m_can1_sleep_pins_a>;
  253         status = "okay";
  254 };
  255 
  256 &qspi {
  257         pinctrl-names = "default", "sleep";
  258         pinctrl-0 = <&qspi_clk_pins_a &qspi_bk1_pins_a &qspi_bk2_pins_a>;
  259         pinctrl-1 = <&qspi_clk_sleep_pins_a &qspi_bk1_sleep_pins_a &qspi_bk2_sleep_pins_a>;
  260         reg = <0x58003000 0x1000>, <0x70000000 0x4000000>;
  261         #address-cells = <1>;
  262         #size-cells = <0>;
  263         status = "okay";
  264 
  265         flash0: flash@0 {
  266                 compatible = "jedec,spi-nor";
  267                 reg = <0>;
  268                 spi-rx-bus-width = <4>;
  269                 spi-max-frequency = <108000000>;
  270                 #address-cells = <1>;
  271                 #size-cells = <1>;
  272         };
  273 
  274         flash1: flash@1 {
  275                 compatible = "jedec,spi-nor";
  276                 reg = <1>;
  277                 spi-rx-bus-width = <4>;
  278                 spi-max-frequency = <108000000>;
  279                 #address-cells = <1>;
  280                 #size-cells = <1>;
  281         };
  282 };
  283 
  284 &sdmmc3 {
  285         pinctrl-names = "default", "opendrain", "sleep";
  286         pinctrl-0 = <&sdmmc3_b4_pins_a>;
  287         pinctrl-1 = <&sdmmc3_b4_od_pins_a>;
  288         pinctrl-2 = <&sdmmc3_b4_sleep_pins_a>;
  289         broken-cd;
  290         st,neg-edge;
  291         bus-width = <4>;
  292         vmmc-supply = <&v3v3>;
  293         status = "disabled";
  294 };
  295 
  296 &spi1 {
  297         pinctrl-names = "default";
  298         pinctrl-0 = <&spi1_pins_a>;
  299         status = "disabled";
  300 };
  301 
  302 &timers2 {
  303         /* spare dmas for other usage (un-delete to enable pwm capture) */
  304         /delete-property/dmas;
  305         /delete-property/dma-names;
  306         status = "disabled";
  307         pwm {
  308                 pinctrl-0 = <&pwm2_pins_a>;
  309                 pinctrl-1 = <&pwm2_sleep_pins_a>;
  310                 pinctrl-names = "default", "sleep";
  311                 status = "okay";
  312         };
  313         timer@1 {
  314                 status = "okay";
  315         };
  316 };
  317 
  318 &timers8 {
  319         /delete-property/dmas;
  320         /delete-property/dma-names;
  321         status = "disabled";
  322         pwm {
  323                 pinctrl-0 = <&pwm8_pins_a>;
  324                 pinctrl-1 = <&pwm8_sleep_pins_a>;
  325                 pinctrl-names = "default", "sleep";
  326                 status = "okay";
  327         };
  328         timer@7 {
  329                 status = "okay";
  330         };
  331 };
  332 
  333 &timers12 {
  334         /delete-property/dmas;
  335         /delete-property/dma-names;
  336         status = "disabled";
  337         pwm {
  338                 pinctrl-0 = <&pwm12_pins_a>;
  339                 pinctrl-1 = <&pwm12_sleep_pins_a>;
  340                 pinctrl-names = "default", "sleep";
  341                 status = "okay";
  342         };
  343         timer@11 {
  344                 status = "okay";
  345         };
  346 };
  347 
  348 &usart3 {
  349         pinctrl-names = "default", "sleep", "idle";
  350         pinctrl-0 = <&usart3_pins_b>;
  351         pinctrl-1 = <&usart3_sleep_pins_b>;
  352         pinctrl-2 = <&usart3_idle_pins_b>;
  353         /*
  354          * HW flow control USART3_RTS is optional, and isn't default wired to
  355          * the connector. SB23 needs to be soldered in order to use it, and R77
  356          * (ETH_CLK) should be removed.
  357          */
  358         uart-has-rtscts;
  359         status = "disabled";
  360 };
  361 
  362 &usbh_ehci {
  363         phys = <&usbphyc_port0>;
  364         status = "okay";
  365 };
  366 
  367 &usbotg_hs {
  368         pinctrl-0 = <&usbotg_hs_pins_a>;
  369         pinctrl-names = "default";
  370         phys = <&usbphyc_port1 0>;
  371         phy-names = "usb2-phy";
  372         status = "okay";
  373 };
  374 
  375 &usbphyc {
  376         status = "okay";
  377 };
  378 
  379 &usbphyc_port0 {
  380         st,tune-hs-dc-level = <2>;
  381         st,enable-fs-rftime-tuning;
  382         st,enable-hs-rftime-reduction;
  383         st,trim-hs-current = <15>;
  384         st,trim-hs-impedance = <1>;
  385         st,tune-squelch-level = <3>;
  386         st,tune-hs-rx-offset = <2>;
  387         st,no-lsfs-sc;
  388 };
  389 
  390 &usbphyc_port1 {
  391         st,tune-hs-dc-level = <2>;
  392         st,enable-fs-rftime-tuning;
  393         st,enable-hs-rftime-reduction;
  394         st,trim-hs-current = <15>;
  395         st,trim-hs-impedance = <1>;
  396         st,tune-squelch-level = <3>;
  397         st,tune-hs-rx-offset = <2>;
  398         st,no-lsfs-sc;
  399 };

Cache object: 28b6351ba9ffd1bde84c8f7f671ab235


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