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-skov-cpu.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) 2020 Pengutronix, Ulrich Oelmann <kernel@pengutronix.de>
    4 
    5 #include <dt-bindings/gpio/gpio.h>
    6 #include <dt-bindings/leds/common.h>
    7 
    8 / {
    9         chosen {
   10                 stdout-path = &uart2;
   11         };
   12 
   13         aliases {
   14                 can0 = &can1;
   15                 can1 = &can2;
   16                 mdio-gpio0 = &mdio;
   17                 nand = &gpmi;
   18                 rtc0 = &i2c_rtc;
   19                 rtc1 = &snvs;
   20                 usb0 = &usbh1;
   21                 usb1 = &usbotg;
   22         };
   23 
   24         iio-hwmon {
   25                 compatible = "iio-hwmon";
   26                 io-channels = <&adc 0>, /* 24V */
   27                               <&adc 1>; /* temperature */
   28         };
   29 
   30         leds {
   31                 compatible = "gpio-leds";
   32 
   33                 led-0 {
   34                         label = "D1";
   35                         gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
   36                         function = LED_FUNCTION_STATUS;
   37                         default-state = "on";
   38                         linux,default-trigger = "heartbeat";
   39                 };
   40 
   41                 led-1 {
   42                         label = "D2";
   43                         gpios = <&gpio1 0 GPIO_ACTIVE_HIGH>;
   44                         default-state = "off";
   45                 };
   46 
   47                 led-2 {
   48                         label = "D3";
   49                         gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>;
   50                         default-state = "on";
   51                 };
   52         };
   53 
   54         mdio: mdio {
   55                 compatible = "microchip,mdio-smi0";
   56                 pinctrl-names = "default";
   57                 pinctrl-0 = <&pinctrl_mdio>;
   58                 #address-cells = <1>;
   59                 #size-cells = <0>;
   60                 gpios = <&gpio1 31 GPIO_ACTIVE_HIGH>,
   61                         <&gpio1 22 GPIO_ACTIVE_HIGH>;
   62 
   63                 switch@0 {
   64                         compatible = "microchip,ksz8873";
   65                         pinctrl-names = "default";
   66                         pinctrl-0 = <&pinctrl_switch>;
   67                         interrupt-parent = <&gpio3>;
   68                         interrupt = <30 IRQ_TYPE_LEVEL_HIGH>;
   69                         reset-gpios = <&gpio1 5 GPIO_ACTIVE_LOW>;
   70                         reg = <0>;
   71 
   72                         ports {
   73                                 #address-cells = <1>;
   74                                 #size-cells = <0>;
   75 
   76                                 ports@0 {
   77                                         reg = <0>;
   78                                         phy-mode = "internal";
   79                                         label = "lan1";
   80                                 };
   81 
   82                                 ports@1 {
   83                                         reg = <1>;
   84                                         phy-mode = "internal";
   85                                         label = "lan2";
   86                                 };
   87 
   88                                 ports@2 {
   89                                         reg = <2>;
   90                                         label = "cpu";
   91                                         ethernet = <&fec>;
   92                                         phy-mode = "rmii";
   93 
   94                                         fixed-link {
   95                                                 speed = <100>;
   96                                                 full-duplex;
   97                                         };
   98                                 };
   99                         };
  100                 };
  101 
  102         };
  103 
  104         clk50m_phy: phy-clock {
  105                 compatible = "fixed-clock";
  106                 #clock-cells = <0>;
  107                 clock-frequency = <50000000>;
  108         };
  109 
  110         reg_3v3: regulator-3v3 {
  111                 compatible = "regulator-fixed";
  112                 vin-supply = <&reg_5v0>;
  113                 regulator-name = "3v3";
  114                 regulator-min-microvolt = <3300000>;
  115                 regulator-max-microvolt = <3300000>;
  116         };
  117 
  118         reg_5v0: regulator-5v0 {
  119                 compatible = "regulator-fixed";
  120                 regulator-name = "5v0";
  121                 regulator-min-microvolt = <5000000>;
  122                 regulator-max-microvolt = <5000000>;
  123         };
  124 
  125         reg_24v0: regulator-24v0 {
  126                 compatible = "regulator-fixed";
  127                 regulator-name = "24v0";
  128                 regulator-min-microvolt = <24000000>;
  129                 regulator-max-microvolt = <24000000>;
  130         };
  131 
  132         reg_can1_stby: regulator-can1-stby {
  133                 compatible = "regulator-fixed";
  134                 pinctrl-names = "default";
  135                 pinctrl-0 = <&pinctrl_can1_stby>;
  136                 regulator-name = "can1-3v3";
  137                 regulator-min-microvolt = <3300000>;
  138                 regulator-max-microvolt = <3300000>;
  139                 gpio = <&gpio3 31 GPIO_ACTIVE_LOW>;
  140         };
  141 
  142         reg_can2_stby: regulator-can2-stby {
  143                 compatible = "regulator-fixed";
  144                 pinctrl-names = "default";
  145                 pinctrl-0 = <&pinctrl_can2_stby>;
  146                 regulator-name = "can2-3v3";
  147                 regulator-min-microvolt = <3300000>;
  148                 regulator-max-microvolt = <3300000>;
  149                 gpio = <&gpio4 11 GPIO_ACTIVE_LOW>;
  150         };
  151 
  152         reg_tft_vcom: regulator-tft-vcom {
  153                 compatible = "pwm-regulator";
  154                 pwms = <&pwm3 0 20000 0>;
  155                 regulator-name = "tft_vcom";
  156                 regulator-min-microvolt = <3600000>;
  157                 regulator-max-microvolt = <3600000>;
  158                 regulator-always-on;
  159                 voltage-table = <3600000 26>;
  160         };
  161 
  162         reg_vcc_mmc: regulator-vcc-mmc {
  163                 compatible = "regulator-fixed";
  164                 pinctrl-names = "default";
  165                 pinctrl-0 = <&pinctrl_vcc_mmc>;
  166                 vin-supply = <&reg_3v3>;
  167                 regulator-name = "mmc_vcc_supply";
  168                 regulator-min-microvolt = <3300000>;
  169                 regulator-max-microvolt = <3300000>;
  170                 regulator-always-on;
  171                 regulator-boot-on;
  172                 gpio = <&gpio7 8 GPIO_ACTIVE_HIGH>;
  173                 enable-active-high;
  174                 startup-delay-us = <100>;
  175         };
  176 
  177         reg_vcc_mmc_io: regulator-vcc-mmc-io {
  178                 compatible = "regulator-gpio";
  179                 pinctrl-names = "default";
  180                 pinctrl-0 = <&pinctrl_vcc_mmc_io>;
  181                 vin-supply = <&reg_5v0>;
  182                 regulator-name = "mmc_io_supply";
  183                 regulator-type = "voltage";
  184                 regulator-min-microvolt = <1800000>;
  185                 regulator-max-microvolt = <3300000>;
  186                 gpios = <&gpio7 13 GPIO_ACTIVE_HIGH>;
  187                 enable-active-high;
  188                 states = <1800000 0x1>, <3300000 0x0>;
  189                 startup-delay-us = <100>;
  190         };
  191 };
  192 
  193 &can1 {
  194         pinctrl-names = "default";
  195         pinctrl-0 = <&pinctrl_can1>;
  196         xceiver-supply = <&reg_can1_stby>;
  197         status = "okay";
  198 };
  199 
  200 &can2 {
  201         pinctrl-names = "default";
  202         pinctrl-0 = <&pinctrl_can2>;
  203         xceiver-supply = <&reg_can2_stby>;
  204         status = "okay";
  205 };
  206 
  207 &ecspi1 {
  208         pinctrl-names = "default";
  209         pinctrl-0 = <&pinctrl_ecspi1>;
  210         cs-gpios = <&gpio3 24 GPIO_ACTIVE_LOW>;
  211         status = "okay";
  212 
  213         flash@0 {
  214                 compatible = "jedec,spi-nor";
  215                 spi-max-frequency = <54000000>;
  216                 reg = <0>;
  217         };
  218 };
  219 
  220 &ecspi2 {
  221         pinctrl-names = "default";
  222         pinctrl-0 = <&pinctrl_ecspi2>;
  223         cs-gpios = <&gpio2 26 GPIO_ACTIVE_LOW>;
  224         status = "okay";
  225 
  226         adc: adc@0 {
  227                 compatible = "microchip,mcp3002";
  228                 reg = <0>;
  229                 vref-supply = <&reg_3v3>;
  230                 spi-max-frequency = <1000000>;
  231                 #io-channel-cells = <1>;
  232         };
  233 };
  234 
  235 &fec {
  236         pinctrl-names = "default";
  237         pinctrl-0 = <&pinctrl_enet>;
  238         clocks = <&clks IMX6QDL_CLK_ENET>,
  239                  <&clks IMX6QDL_CLK_ENET>,
  240                  <&clk50m_phy>;
  241         clock-names = "ipg", "ahb", "ptp";
  242         phy-mode = "rmii";
  243         phy-supply = <&reg_3v3>;
  244         status = "okay";
  245 
  246         fixed-link {
  247                 speed = <100>;
  248                 full-duplex;
  249         };
  250 };
  251 
  252 &gpmi {
  253         pinctrl-names = "default";
  254         pinctrl-0 = <&pinctrl_gpmi_nand>;
  255         nand-on-flash-bbt;
  256         #address-cells = <1>;
  257         #size-cells = <0>;
  258         status = "okay";
  259 };
  260 
  261 &i2c3 {
  262         pinctrl-names = "default";
  263         pinctrl-0 = <&pinctrl_i2c3>;
  264         clock-frequency = <400000>;
  265         status = "okay";
  266 
  267         i2c_rtc: rtc@51 {
  268                 compatible = "nxp,pcf85063";
  269                 reg = <0x51>;
  270                 quartz-load-femtofarads = <12500>;
  271         };
  272 };
  273 
  274 &pwm2 {
  275         pinctrl-names = "default";
  276         pinctrl-0 = <&pinctrl_pwm2>;
  277         #pwm-cells = <2>;
  278         status = "okay";
  279 };
  280 
  281 &pwm3 {
  282         /* used for LCD contrast control */
  283         pinctrl-names = "default";
  284         pinctrl-0 = <&pinctrl_pwm3>;
  285         status = "okay";
  286 };
  287 
  288 &uart2 {
  289         pinctrl-names = "default";
  290         pinctrl-0 = <&pinctrl_uart2>;
  291         status = "okay";
  292 };
  293 
  294 &usbh1 {
  295         vbus-supply = <&reg_5v0>;
  296         disable-over-current;
  297         status = "okay";
  298 };
  299 
  300 /* no usbh2 */
  301 &usbphynop1 {
  302         status = "disabled";
  303 };
  304 
  305 /* no usbh3 */
  306 &usbphynop2 {
  307         status = "disabled";
  308 };
  309 
  310 &usbotg {
  311         vbus-supply = <&reg_5v0>;
  312         disable-over-current;
  313         status = "okay";
  314 };
  315 
  316 &usdhc3 {
  317         pinctrl-names = "default";
  318         pinctrl-0 = <&pinctrl_usdhc3>;
  319         wp-gpios = <&gpio7 1 GPIO_ACTIVE_HIGH>;
  320         cd-gpios = <&gpio7 0 GPIO_ACTIVE_LOW>;
  321         cap-power-off-card;
  322         full-pwr-cycle;
  323         bus-width = <4>;
  324         max-frequency = <50000000>;
  325         cap-sd-highspeed;
  326         sd-uhs-sdr12;
  327         sd-uhs-sdr25;
  328         sd-uhs-sdr50;
  329         sd-uhs-ddr50;
  330         mmc-ddr-1_8v;
  331         vmmc-supply = <&reg_vcc_mmc>;
  332         vqmmc-supply = <&reg_vcc_mmc_io>;
  333         status = "okay";
  334 };
  335 
  336 &iomuxc {
  337         pinctrl_can1: can1grp {
  338                 fsl,pins = <
  339                         MX6QDL_PAD_GPIO_7__FLEXCAN1_TX                  0x3008
  340                         MX6QDL_PAD_GPIO_8__FLEXCAN1_RX                  0x1b000
  341                 >;
  342         };
  343 
  344         pinctrl_can1_stby: can1stbygrp {
  345                 fsl,pins = <
  346                         MX6QDL_PAD_EIM_D31__GPIO3_IO31                  0x13008
  347                 >;
  348         };
  349 
  350         pinctrl_can2: can2grp {
  351                 fsl,pins = <
  352                         MX6QDL_PAD_KEY_COL4__FLEXCAN2_TX                0x3008
  353                         MX6QDL_PAD_KEY_ROW4__FLEXCAN2_RX                0x1b000
  354                 >;
  355         };
  356 
  357         pinctrl_can2_stby: can2stbygrp {
  358                 fsl,pins = <
  359                         MX6QDL_PAD_KEY_ROW2__GPIO4_IO11                 0x13008
  360                 >;
  361         };
  362 
  363         pinctrl_ecspi1: ecspi1grp {
  364                 fsl,pins = <
  365                         MX6QDL_PAD_EIM_D17__ECSPI1_MISO                 0x100b1
  366                         MX6QDL_PAD_EIM_D18__ECSPI1_MOSI                 0xb1
  367                         MX6QDL_PAD_EIM_D16__ECSPI1_SCLK                 0xb1
  368                         /* *no* external pull up */
  369                         MX6QDL_PAD_EIM_D24__GPIO3_IO24                  0x58
  370                 >;
  371         };
  372 
  373         pinctrl_ecspi2: ecspi2grp {
  374                 fsl,pins = <
  375                         MX6QDL_PAD_EIM_OE__ECSPI2_MISO                  0x100b1
  376                         MX6QDL_PAD_EIM_CS1__ECSPI2_MOSI                 0xb1
  377                         MX6QDL_PAD_EIM_CS0__ECSPI2_SCLK                 0xb1
  378                         /* external pull up */
  379                         MX6QDL_PAD_EIM_RW__GPIO2_IO26                   0x58
  380                 >;
  381         };
  382 
  383         pinctrl_enet: enetgrp {
  384                 fsl,pins = <
  385                         /* RMII 50 MHz */
  386                         MX6QDL_PAD_ENET_CRS_DV__ENET_RX_EN              0x100f5
  387                         MX6QDL_PAD_ENET_TX_EN__ENET_TX_EN               0x100f5
  388                         MX6QDL_PAD_ENET_RXD0__ENET_RX_DATA0             0x100c0
  389                         MX6QDL_PAD_ENET_RXD1__ENET_RX_DATA1             0x100c0
  390                         MX6QDL_PAD_ENET_TXD0__ENET_TX_DATA0             0x100f5
  391                         MX6QDL_PAD_ENET_TXD1__ENET_TX_DATA1             0x100f5
  392                         MX6QDL_PAD_GPIO_16__ENET_REF_CLK                0x1b0b0
  393                         MX6QDL_PAD_GPIO_5__GPIO1_IO05                   0x58
  394                         /* GPIO for "link active" */
  395                         MX6QDL_PAD_ENET_RX_ER__GPIO1_IO24               0x3038
  396                 >;
  397         };
  398 
  399         pinctrl_gpmi_nand: gpminandgrp {
  400                 fsl,pins = <
  401                         MX6QDL_PAD_NANDF_CLE__NAND_CLE                  0xb0b1
  402                         MX6QDL_PAD_NANDF_ALE__NAND_ALE                  0xb0b1
  403                         MX6QDL_PAD_NANDF_RB0__NAND_READY_B              0xb000
  404                         MX6QDL_PAD_NANDF_CS0__NAND_CE0_B                0xb0b1
  405                         MX6QDL_PAD_NANDF_CS1__NAND_CE1_B                0xb0b1
  406                         MX6QDL_PAD_SD4_CMD__NAND_RE_B                   0xb0b1
  407                         MX6QDL_PAD_SD4_CLK__NAND_WE_B                   0xb0b1
  408                         MX6QDL_PAD_NANDF_D0__NAND_DATA00                0xb0b1
  409                         MX6QDL_PAD_NANDF_D1__NAND_DATA01                0xb0b1
  410                         MX6QDL_PAD_NANDF_D2__NAND_DATA02                0xb0b1
  411                         MX6QDL_PAD_NANDF_D3__NAND_DATA03                0xb0b1
  412                         MX6QDL_PAD_NANDF_D4__NAND_DATA04                0xb0b1
  413                         MX6QDL_PAD_NANDF_D5__NAND_DATA05                0xb0b1
  414                         MX6QDL_PAD_NANDF_D6__NAND_DATA06                0xb0b1
  415                         MX6QDL_PAD_NANDF_D7__NAND_DATA07                0xb0b1
  416                 >;
  417         };
  418 
  419         pinctrl_i2c3: i2c3grp {
  420                 fsl,pins = <
  421                         /* external 10 k pull up */
  422                         MX6QDL_PAD_GPIO_3__I2C3_SCL             0x40010878
  423                         /* external 10 k pull up */
  424                         MX6QDL_PAD_GPIO_6__I2C3_SDA             0x40010878
  425                 >;
  426         };
  427 
  428         pinctrl_mdio: mdiogrp {
  429                 fsl,pins = <
  430                         MX6QDL_PAD_ENET_MDIO__GPIO1_IO22                0x100b1
  431                         MX6QDL_PAD_ENET_MDC__GPIO1_IO31                 0xb1
  432                 >;
  433         };
  434 
  435         pinctrl_pwm2: pwm2grp {
  436                 fsl,pins = <
  437                         MX6QDL_PAD_GPIO_1__PWM2_OUT                     0x58
  438                 >;
  439         };
  440 
  441         pinctrl_pwm3: pwm3grp {
  442                 fsl,pins = <
  443                         MX6QDL_PAD_SD1_DAT1__PWM3_OUT                   0x58
  444                 >;
  445         };
  446 
  447         pinctrl_switch: switchgrp {
  448                 fsl,pins = <
  449                         MX6QDL_PAD_EIM_D30__GPIO3_IO30                  0xb0
  450                 >;
  451         };
  452 
  453         pinctrl_uart2: uart2grp {
  454                 fsl,pins = <
  455                         MX6QDL_PAD_EIM_D26__UART2_TX_DATA               0x1b0b1
  456                         MX6QDL_PAD_EIM_D27__UART2_RX_DATA               0x1b0b1
  457                 >;
  458         };
  459 
  460         pinctrl_usdhc3: usdhc3grp {
  461                 fsl,pins = <
  462                         /* SoC internal pull up required */
  463                         MX6QDL_PAD_SD3_CMD__SD3_CMD                     0x17059
  464                         MX6QDL_PAD_SD3_CLK__SD3_CLK                     0x10059
  465                         MX6QDL_PAD_SD3_DAT0__SD3_DATA0                  0x17059
  466                         MX6QDL_PAD_SD3_DAT1__SD3_DATA1                  0x17059
  467                         MX6QDL_PAD_SD3_DAT2__SD3_DATA2                  0x17059
  468                         MX6QDL_PAD_SD3_DAT3__SD3_DATA3                  0x17059
  469                         /* SoC internal pull up required */
  470                         MX6QDL_PAD_SD3_DAT4__GPIO7_IO01                 0x1b040
  471                         /* SoC internal pull up required */
  472                         MX6QDL_PAD_SD3_DAT5__GPIO7_IO00                 0x1b040
  473                 >;
  474         };
  475 
  476         pinctrl_vcc_mmc: vccmmcgrp {
  477                 fsl,pins = <
  478                         MX6QDL_PAD_SD3_RST__GPIO7_IO08                  0x58
  479                 >;
  480         };
  481 
  482         pinctrl_vcc_mmc_io: vccmmciogrp {
  483                 fsl,pins = <
  484                         MX6QDL_PAD_GPIO_18__GPIO7_IO13                  0x58
  485                 >;
  486         };
  487 };

Cache object: a25771e98085a3838f5ce4e84d7c0ea9


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