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/imx6qdl-ds.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+
    2 //
    3 // Copyright 2021 Dillon Min <dillon.minfei@gmail.com>
    4 //
    5 // Based on imx6qdl-sabresd.dtsi which is:
    6 // Copyright 2012 Freescale Semiconductor, Inc.
    7 // Copyright 2011 Linaro Ltd.
    8 
    9 #include <dt-bindings/clock/imx6qdl-clock.h>
   10 #include <dt-bindings/gpio/gpio.h>
   11 #include <dt-bindings/input/input.h>
   12 
   13 / {
   14         chosen {
   15                 stdout-path = &uart4;
   16         };
   17 
   18         memory@10000000 {
   19                 device_type = "memory";
   20                 reg = <0x10000000 0x80000000>;
   21         };
   22 
   23         reg_usb_otg_vbus: regulator-usb-otg-vbus {
   24                 compatible = "regulator-fixed";
   25                 regulator-name = "usb_otg_vbus";
   26                 regulator-min-microvolt = <5000000>;
   27                 regulator-max-microvolt = <5000000>;
   28         };
   29 
   30         reg_usb_h1_vbus: regulator-usb-h1-vbus {
   31                 compatible = "regulator-fixed";
   32                 regulator-name = "usb_h1_vbus";
   33                 regulator-min-microvolt = <5000000>;
   34                 regulator-max-microvolt = <5000000>;
   35         };
   36 
   37         leds {
   38                 compatible = "gpio-leds";
   39                 pinctrl-names = "default";
   40                 pinctrl-0 = <&pinctrl_gpio_leds>;
   41 
   42                 led-0 {
   43                         gpios = <&gpio4 8 GPIO_ACTIVE_HIGH>;
   44                         default-state = "on";
   45                         linux,default-trigger = "heartbeat";
   46                 };
   47         };
   48 };
   49 
   50 &ipu1_csi0_from_ipu1_csi0_mux {
   51         bus-width = <8>;
   52         data-shift = <12>; /* Lines 19:12 used */
   53         hsync-active = <1>;
   54         vsync-active = <1>;
   55 };
   56 
   57 &ipu1_csi0_mux_from_parallel_sensor {
   58         remote-endpoint = <&ov2659_to_ipu1_csi0_mux>;
   59 };
   60 
   61 &ipu1_csi0 {
   62         pinctrl-names = "default";
   63         pinctrl-0 = <&pinctrl_ipu1_csi0>;
   64         status = "okay";
   65 };
   66 
   67 &ecspi1 {
   68         cs-gpios = <&gpio4 9 GPIO_ACTIVE_LOW>;
   69         pinctrl-names = "default";
   70         pinctrl-0 = <&pinctrl_ecspi1>, <&pinctrl_ecspi1_gpio>;
   71         status = "okay";
   72 
   73         m25p80: flash@0 {
   74                 #address-cells = <1>;
   75                 #size-cells = <1>;
   76                 compatible = "st,m25p80", "jedec,spi-nor";
   77                 spi-max-frequency = <20000000>;
   78                 reg = <0>;
   79         };
   80 };
   81 
   82 &fec {
   83         pinctrl-names = "default";
   84         pinctrl-0 = <&pinctrl_enet>;
   85         phy-mode = "rgmii-id";
   86         phy-handle = <&phy>;
   87         fsl,magic-packet;
   88         status = "okay";
   89 
   90         mdio {
   91                 #address-cells = <1>;
   92                 #size-cells = <0>;
   93 
   94                 phy: ethernet-phy@1 {
   95                         reg = <1>;
   96                         qca,clk-out-frequency = <125000000>;
   97                         reset-gpios = <&gpio4 10 GPIO_ACTIVE_LOW>;
   98                         reset-assert-us = <10000>;
   99                 };
  100         };
  101 };
  102 
  103 &hdmi {
  104         pinctrl-names = "default";
  105         pinctrl-0 = <&pinctrl_hdmi_cec>;
  106         ddc-i2c-bus = <&i2c3>;
  107         status = "okay";
  108 };
  109 
  110 &i2c2 {
  111         clock-frequency = <100000>;
  112         pinctrl-names = "default";
  113         pinctrl-0 = <&pinctrl_i2c2>;
  114         status = "okay";
  115 
  116         pfuze100: pmic@8 {
  117                 compatible = "fsl,pfuze100";
  118                 reg = <0x08>;
  119 
  120                 regulators {
  121                         sw1a_reg: sw1ab {
  122                                 regulator-min-microvolt = <300000>;
  123                                 regulator-max-microvolt = <1875000>;
  124                                 regulator-boot-on;
  125                                 regulator-always-on;
  126                                 regulator-ramp-delay = <6250>;
  127                         };
  128 
  129                         sw1c_reg: sw1c {
  130                                 regulator-min-microvolt = <300000>;
  131                                 regulator-max-microvolt = <1875000>;
  132                                 regulator-boot-on;
  133                                 regulator-always-on;
  134                                 regulator-ramp-delay = <6250>;
  135                         };
  136 
  137                         sw2_reg: sw2 {
  138                                 regulator-min-microvolt = <800000>;
  139                                 regulator-max-microvolt = <3300000>;
  140                                 regulator-boot-on;
  141                                 regulator-always-on;
  142                                 regulator-ramp-delay = <6250>;
  143                         };
  144 
  145                         sw3a_reg: sw3a {
  146                                 regulator-min-microvolt = <400000>;
  147                                 regulator-max-microvolt = <1975000>;
  148                                 regulator-boot-on;
  149                                 regulator-always-on;
  150                         };
  151 
  152                         sw3b_reg: sw3b {
  153                                 regulator-min-microvolt = <400000>;
  154                                 regulator-max-microvolt = <1975000>;
  155                                 regulator-boot-on;
  156                                 regulator-always-on;
  157                         };
  158 
  159                         sw4_reg: sw4 {
  160                                 regulator-min-microvolt = <800000>;
  161                                 regulator-max-microvolt = <3300000>;
  162                                 regulator-always-on;
  163                         };
  164 
  165                         swbst_reg: swbst {
  166                                 regulator-min-microvolt = <5000000>;
  167                                 regulator-max-microvolt = <5150000>;
  168                         };
  169 
  170                         snvs_reg: vsnvs {
  171                                 regulator-min-microvolt = <1000000>;
  172                                 regulator-max-microvolt = <3000000>;
  173                                 regulator-boot-on;
  174                                 regulator-always-on;
  175                         };
  176 
  177                         vref_reg: vrefddr {
  178                                 regulator-boot-on;
  179                                 regulator-always-on;
  180                         };
  181 
  182                         vgen1_reg: vgen1 {
  183                                 regulator-min-microvolt = <800000>;
  184                                 regulator-max-microvolt = <1550000>;
  185                         };
  186 
  187                         vgen2_reg: vgen2 {
  188                                 regulator-min-microvolt = <800000>;
  189                                 regulator-max-microvolt = <1550000>;
  190                         };
  191 
  192                         vgen3_reg: vgen3 {
  193                                 regulator-min-microvolt = <1800000>;
  194                                 regulator-max-microvolt = <3300000>;
  195                         };
  196 
  197                         vgen4_reg: vgen4 {
  198                                 regulator-min-microvolt = <1800000>;
  199                                 regulator-max-microvolt = <3300000>;
  200                                 regulator-always-on;
  201                         };
  202 
  203                         vgen5_reg: vgen5 {
  204                                 regulator-min-microvolt = <1800000>;
  205                                 regulator-max-microvolt = <3300000>;
  206                                 regulator-always-on;
  207                         };
  208 
  209                         vgen6_reg: vgen6 {
  210                                 regulator-min-microvolt = <1800000>;
  211                                 regulator-max-microvolt = <3300000>;
  212                                 regulator-always-on;
  213                         };
  214                 };
  215         };
  216 };
  217 
  218 &i2c3 {
  219         clock-frequency = <100000>;
  220         pinctrl-names = "default";
  221         pinctrl-0 = <&pinctrl_i2c3>;
  222         status = "okay";
  223 
  224         ov2659: camera@30 {
  225                 compatible = "ovti,ov2659";
  226                 pinctrl-names = "default";
  227                 pinctrl-0 = <&pinctrl_ov2659>;
  228                 clocks = <&clks IMX6QDL_CLK_CKO>;
  229                 clock-names = "xvclk";
  230                 reg = <0x30>;
  231                 powerdown-gpios = <&gpio7 11 GPIO_ACTIVE_HIGH>;
  232                 reset-gpios = <&gpio1 7 GPIO_ACTIVE_LOW>;
  233                 status = "okay";
  234 
  235                 port {
  236                         ov2659_to_ipu1_csi0_mux: endpoint {
  237                                 remote-endpoint = <&ipu1_csi0_mux_from_parallel_sensor>;
  238                                 link-frequencies = /bits/ 64 <70000000>;
  239                                 bus-width = <8>;
  240                                 hsync-active = <1>;
  241                                 vsync-active = <1>;
  242                         };
  243                 };
  244         };
  245 };
  246 
  247 &iomuxc {
  248         pinctrl_ecspi1: ecspi1grp {
  249                 fsl,pins = <
  250                         MX6QDL_PAD_EIM_D16__ECSPI1_SCLK         0x100b1
  251                         MX6QDL_PAD_EIM_D18__ECSPI1_MOSI         0x100b1
  252                         MX6QDL_PAD_EIM_D17__ECSPI1_MISO         0x100b1
  253                 >;
  254         };
  255 
  256         pinctrl_ecspi1_gpio: ecspi1grpgpiogrp {
  257                 fsl,pins = <
  258                         MX6QDL_PAD_KEY_ROW1__GPIO4_IO09         0x1b0b0
  259                         MX6QDL_PAD_ENET_RXD0__GPIO1_IO27        0x1b0b0
  260                 >;
  261         };
  262 
  263         pinctrl_enet: enetgrp {
  264                 fsl,pins = <
  265                         MX6QDL_PAD_ENET_MDIO__ENET_MDIO         0x1b0b0
  266                         MX6QDL_PAD_ENET_MDC__ENET_MDC           0x1b0b0
  267                         MX6QDL_PAD_RGMII_TXC__RGMII_TXC         0x1b030
  268                         MX6QDL_PAD_RGMII_TD0__RGMII_TD0         0x1b030
  269                         MX6QDL_PAD_RGMII_TD1__RGMII_TD1         0x1b030
  270                         MX6QDL_PAD_RGMII_TD2__RGMII_TD2         0x1b030
  271                         MX6QDL_PAD_RGMII_TD3__RGMII_TD3         0x1b030
  272                         MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL   0x1b030
  273                         MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK    0x1b0b0
  274                         MX6QDL_PAD_RGMII_RXC__RGMII_RXC         0x1b030
  275                         MX6QDL_PAD_RGMII_RD0__RGMII_RD0         0x1b030
  276                         MX6QDL_PAD_RGMII_RD1__RGMII_RD1         0x1b030
  277                         MX6QDL_PAD_RGMII_RD2__RGMII_RD2         0x1b030
  278                         MX6QDL_PAD_RGMII_RD3__RGMII_RD3         0x1b030
  279                         MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL   0x1b030
  280                         MX6QDL_PAD_KEY_COL2__GPIO4_IO10         0x1b0b0
  281                 >;
  282         };
  283 
  284         pinctrl_hdmi_cec: hdmicecgrp {
  285                 fsl,pins = <
  286                         MX6QDL_PAD_EIM_A25__HDMI_TX_CEC_LINE    0x1f8b0
  287                 >;
  288         };
  289 
  290         pinctrl_i2c2: i2c2grp {
  291                 fsl,pins = <
  292                         MX6QDL_PAD_EIM_EB2__I2C2_SCL            0x4001b8b1
  293                         MX6QDL_PAD_KEY_ROW3__I2C2_SDA           0x4001b8b1
  294                 >;
  295         };
  296 
  297         pinctrl_i2c3: i2c3grp {
  298                 fsl,pins = <
  299                         MX6QDL_PAD_GPIO_5__I2C3_SCL             0x4001b8b1
  300                         MX6QDL_PAD_GPIO_6__I2C3_SDA             0x4001b8b1
  301                 >;
  302         };
  303 
  304         pinctrl_ipu1_csi0: ipu1csi0grp {
  305                 fsl,pins = <
  306                         MX6QDL_PAD_CSI0_DAT12__IPU1_CSI0_DATA12    0x1b0b0
  307                         MX6QDL_PAD_CSI0_DAT13__IPU1_CSI0_DATA13    0x1b0b0
  308                         MX6QDL_PAD_CSI0_DAT14__IPU1_CSI0_DATA14    0x1b0b0
  309                         MX6QDL_PAD_CSI0_DAT15__IPU1_CSI0_DATA15    0x1b0b0
  310                         MX6QDL_PAD_CSI0_DAT16__IPU1_CSI0_DATA16    0x1b0b0
  311                         MX6QDL_PAD_CSI0_DAT17__IPU1_CSI0_DATA17    0x1b0b0
  312                         MX6QDL_PAD_CSI0_DAT18__IPU1_CSI0_DATA18    0x1b0b0
  313                         MX6QDL_PAD_CSI0_DAT19__IPU1_CSI0_DATA19    0x1b0b0
  314                         MX6QDL_PAD_CSI0_PIXCLK__IPU1_CSI0_PIXCLK   0x1b0b0
  315                         MX6QDL_PAD_CSI0_MCLK__IPU1_CSI0_HSYNC      0x1b0b0
  316                         MX6QDL_PAD_CSI0_VSYNC__IPU1_CSI0_VSYNC     0x1b0b0
  317                 >;
  318         };
  319 
  320         pinctrl_ov2659: ov2659grp {
  321                 fsl,pins = <
  322                         MX6QDL_PAD_GPIO_16__GPIO7_IO11          0x1b0b0
  323                         MX6QDL_PAD_GPIO_7__GPIO1_IO07           0x1b0b0
  324                         MX6QDL_PAD_GPIO_0__CCM_CLKO1            0x130b0
  325                 >;
  326         };
  327 
  328         pinctrl_uart4: uart4grp {
  329                 fsl,pins = <
  330                         MX6QDL_PAD_KEY_COL0__UART4_TX_DATA      0x1b0b1
  331                         MX6QDL_PAD_KEY_ROW0__UART4_RX_DATA      0x1b0b1
  332                 >;
  333         };
  334 
  335         pinctrl_usbotg: usbotggrp {
  336                 fsl,pins = <
  337                         MX6QDL_PAD_ENET_RX_ER__USB_OTG_ID       0x17059
  338                 >;
  339         };
  340 
  341         pinctrl_usdhc1: usdhc1grp {
  342                 fsl,pins = <
  343                         MX6QDL_PAD_SD1_CMD__SD1_CMD             0x17059
  344                         MX6QDL_PAD_SD1_CLK__SD1_CLK             0x10059
  345                         MX6QDL_PAD_SD1_DAT0__SD1_DATA0          0x17059
  346                         MX6QDL_PAD_SD1_DAT1__SD1_DATA1          0x17059
  347                         MX6QDL_PAD_SD1_DAT2__SD1_DATA2          0x17059
  348                         MX6QDL_PAD_SD1_DAT3__SD1_DATA3          0x17059
  349                 >;
  350         };
  351 
  352         pinctrl_usdhc1_gpio: usdhc1grpgpiogrp {
  353                 fsl,pins = <
  354                         MX6QDL_PAD_ENET_TX_EN__GPIO1_IO28       0x1b0b0
  355                 >;
  356         };
  357 
  358         pinctrl_usdhc2: usdhc2grp {
  359                 fsl,pins = <
  360                         MX6QDL_PAD_SD2_CMD__SD2_CMD             0x17059
  361                         MX6QDL_PAD_SD2_CLK__SD2_CLK             0x10059
  362                         MX6QDL_PAD_SD2_DAT0__SD2_DATA0          0x17059
  363                         MX6QDL_PAD_SD2_DAT1__SD2_DATA1          0x17059
  364                         MX6QDL_PAD_SD2_DAT2__SD2_DATA2          0x17059
  365                         MX6QDL_PAD_SD2_DAT3__SD2_DATA3          0x17059
  366                 >;
  367         };
  368 
  369         pinctrl_usdhc2_gpio: usdhc2grpgpiogrp {
  370                 fsl,pins = <
  371                         MX6QDL_PAD_NANDF_D0__GPIO2_IO00         0x1b0b0
  372                         MX6QDL_PAD_NANDF_D1__GPIO2_IO01         0x1b0b0
  373                 >;
  374         };
  375 
  376         pinctrl_usdhc3: usdhc3grp {
  377                 fsl,pins = <
  378                         MX6QDL_PAD_SD3_CMD__SD3_CMD             0x17059
  379                         MX6QDL_PAD_SD3_CLK__SD3_CLK             0x10059
  380                         MX6QDL_PAD_SD3_DAT0__SD3_DATA0          0x17059
  381                         MX6QDL_PAD_SD3_DAT1__SD3_DATA1          0x17059
  382                         MX6QDL_PAD_SD3_DAT2__SD3_DATA2          0x17059
  383                         MX6QDL_PAD_SD3_DAT3__SD3_DATA3          0x17059
  384                         MX6QDL_PAD_SD3_DAT4__SD3_DATA4          0x17059
  385                         MX6QDL_PAD_SD3_DAT5__SD3_DATA5          0x17059
  386                         MX6QDL_PAD_SD3_DAT6__SD3_DATA6          0x17059
  387                         MX6QDL_PAD_SD3_DAT7__SD3_DATA7          0x17059
  388                 >;
  389         };
  390 
  391         pinctrl_wdog: wdoggrp {
  392                 fsl,pins = <
  393                         MX6QDL_PAD_GPIO_1__WDOG2_B              0x1b0b0
  394                 >;
  395         };
  396 
  397         pinctrl_gpio_leds: gpioledsgrp {
  398                 fsl,pins = <
  399                         MX6QDL_PAD_KEY_COL1__GPIO4_IO08 0x1b0b0
  400                 >;
  401         };
  402 };
  403 
  404 &uart4 {
  405         pinctrl-names = "default";
  406         pinctrl-0 = <&pinctrl_uart4>;
  407         status = "okay";
  408 };
  409 
  410 &usbh1 {
  411         vbus-supply = <&reg_usb_h1_vbus>;
  412         status = "okay";
  413 };
  414 
  415 &usbotg {
  416         vbus-supply = <&reg_usb_otg_vbus>;
  417         pinctrl-names = "default";
  418         pinctrl-0 = <&pinctrl_usbotg>;
  419         disable-over-current;
  420         status = "okay";
  421 };
  422 
  423 &usdhc1 {
  424         pinctrl-names = "default";
  425         pinctrl-0 = <&pinctrl_usdhc1>, <&pinctrl_usdhc1_gpio>;
  426         bus-width = <4>;
  427         cd-gpios = <&gpio1 28 GPIO_ACTIVE_LOW>;
  428         status = "okay";
  429 };
  430 
  431 &usdhc2 {
  432         pinctrl-names = "default";
  433         pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>;
  434         bus-width = <4>;
  435         cd-gpios = <&gpio2 0 GPIO_ACTIVE_LOW>;
  436         wp-gpios = <&gpio2 1 GPIO_ACTIVE_HIGH>;
  437         status = "disabled";
  438 };
  439 
  440 &usdhc3 {
  441         pinctrl-names = "default";
  442         pinctrl-0 = <&pinctrl_usdhc3>;
  443         bus-width = <8>;
  444         non-removable;
  445         no-1-8-v;
  446         status = "okay";
  447 };
  448 
  449 &wdog1 {
  450         status = "disabled";
  451 };
  452 
  453 &wdog2 {
  454         pinctrl-names = "default";
  455         pinctrl-0 = <&pinctrl_wdog>;
  456         fsl,ext-reset-output;
  457         status = "okay";
  458 };

Cache object: 9b6cf5609dfde1b45ba8b45c2dc475ad


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