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/arm64/freescale/imx8mq-phanbell.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 MIT)
    2 /*
    3  * Copyright 2017-2019 NXP
    4  */
    5 
    6 /dts-v1/;
    7 
    8 #include "imx8mq.dtsi"
    9 #include <dt-bindings/interrupt-controller/irq.h>
   10 
   11 / {
   12         model = "Google i.MX8MQ Phanbell";
   13         compatible = "google,imx8mq-phanbell", "fsl,imx8mq";
   14 
   15         chosen {
   16                 stdout-path = &uart1;
   17         };
   18 
   19         memory@40000000 {
   20                 device_type = "memory";
   21                 reg = <0x00000000 0x40000000 0 0x40000000>;
   22         };
   23 
   24         pmic_osc: clock-pmic {
   25                 compatible = "fixed-clock";
   26                 #clock-cells = <0>;
   27                 clock-frequency = <32768>;
   28                 clock-output-names = "pmic_osc";
   29         };
   30 
   31         reg_usdhc2_vmmc: regulator-usdhc2-vmmc {
   32                 compatible = "regulator-fixed";
   33                 regulator-name = "VSD_3V3";
   34                 regulator-min-microvolt = <3300000>;
   35                 regulator-max-microvolt = <3300000>;
   36                 gpio = <&gpio2 19 GPIO_ACTIVE_HIGH>;
   37                 enable-active-high;
   38         };
   39 
   40         fan: gpio-fan {
   41                 compatible = "gpio-fan";
   42                 gpio-fan,speed-map = <0 0 8600 1>;
   43                 gpios = <&gpio3 5 GPIO_ACTIVE_HIGH>;
   44                 #cooling-cells = <2>;
   45                 pinctrl-names = "default";
   46                 pinctrl-0 = <&pinctrl_gpio_fan>;
   47                 status = "okay";
   48         };
   49 };
   50 
   51 &A53_0 {
   52         cpu-supply = <&buck2>;
   53 };
   54 
   55 &A53_1 {
   56         cpu-supply = <&buck2>;
   57 };
   58 
   59 &A53_2 {
   60         cpu-supply = <&buck2>;
   61 };
   62 
   63 &A53_3 {
   64         cpu-supply = <&buck2>;
   65 };
   66 
   67 &cpu_thermal {
   68         trips {
   69                 cpu_alert0: trip0 {
   70                         temperature = <75000>;
   71                         hysteresis = <2000>;
   72                         type = "passive";
   73                 };
   74 
   75                 cpu_alert1: trip1 {
   76                         temperature = <80000>;
   77                         hysteresis = <2000>;
   78                         type = "passive";
   79                 };
   80 
   81                 cpu_crit0: trip3 {
   82                         temperature = <90000>;
   83                         hysteresis = <2000>;
   84                         type = "critical";
   85                 };
   86 
   87                 fan_toggle0: trip4 {
   88                         temperature = <65000>;
   89                         hysteresis = <10000>;
   90                         type = "active";
   91                 };
   92         };
   93 
   94         cooling-maps {
   95                 map0 {
   96                         trip = <&cpu_alert0>;
   97                         cooling-device =
   98                         <&A53_0 0 1>; /* Exclude highest OPP */
   99                 };
  100 
  101                 map1 {
  102                         trip = <&cpu_alert1>;
  103                         cooling-device =
  104                         <&A53_0 0 2>; /* Exclude two highest OPPs */
  105                 };
  106 
  107                 map4 {
  108                         trip = <&fan_toggle0>;
  109                         cooling-device = <&fan 0 1>;
  110                 };
  111         };
  112 };
  113 
  114 &i2c1 {
  115         clock-frequency = <400000>;
  116         pinctrl-names = "default";
  117         pinctrl-0 = <&pinctrl_i2c1>;
  118         status = "okay";
  119 
  120         pmic: pmic@4b {
  121                 compatible = "rohm,bd71837";
  122                 reg = <0x4b>;
  123                 pinctrl-names = "default";
  124                 pinctrl-0 = <&pinctrl_pmic>;
  125                 #clock-cells = <0>;
  126                 clocks = <&pmic_osc>;
  127                 clock-output-names = "pmic_clk";
  128                 interrupt-parent = <&gpio1>;
  129                 interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
  130 
  131                 regulators {
  132                         buck1: BUCK1 {
  133                                 regulator-name = "buck1";
  134                                 regulator-min-microvolt = <700000>;
  135                                 regulator-max-microvolt = <1300000>;
  136                                 regulator-boot-on;
  137                                 regulator-always-on;
  138                                 regulator-ramp-delay = <1250>;
  139                                 rohm,dvs-run-voltage = <900000>;
  140                                 rohm,dvs-idle-voltage = <900000>;
  141                                 rohm,dvs-suspend-voltage = <800000>;
  142                         };
  143 
  144                         buck2: BUCK2 {
  145                                 regulator-name = "buck2";
  146                                 regulator-min-microvolt = <850000>;
  147                                 regulator-max-microvolt = <1000000>;
  148                                 regulator-boot-on;
  149                                 regulator-always-on;
  150                                 rohm,dvs-run-voltage = <1000000>;
  151                                 rohm,dvs-idle-voltage = <900000>;
  152                         };
  153 
  154                         buck3: BUCK3 {
  155                                 regulator-name = "buck3";
  156                                 regulator-min-microvolt = <700000>;
  157                                 regulator-max-microvolt = <1300000>;
  158                                 regulator-boot-on;
  159                                 rohm,dvs-run-voltage = <900000>;
  160                         };
  161 
  162                         buck4: BUCK4 {
  163                                 regulator-name = "buck4";
  164                                 regulator-min-microvolt = <700000>;
  165                                 regulator-max-microvolt = <1300000>;
  166                                 regulator-boot-on;
  167                                 regulator-always-on;
  168                                 rohm,dvs-run-voltage = <900000>;
  169                         };
  170 
  171                         buck5: BUCK5 {
  172                                 regulator-name = "buck5";
  173                                 regulator-min-microvolt = <700000>;
  174                                 regulator-max-microvolt = <1350000>;
  175                                 regulator-boot-on;
  176                                 regulator-always-on;
  177                         };
  178 
  179                         buck6: BUCK6 {
  180                                 regulator-name = "buck6";
  181                                 regulator-min-microvolt = <3000000>;
  182                                 regulator-max-microvolt = <3300000>;
  183                                 regulator-boot-on;
  184                                 regulator-always-on;
  185                         };
  186 
  187                         buck7: BUCK7 {
  188                                 regulator-name = "buck7";
  189                                 regulator-min-microvolt = <1605000>;
  190                                 regulator-max-microvolt = <1995000>;
  191                                 regulator-boot-on;
  192                                 regulator-always-on;
  193                         };
  194 
  195                         buck8: BUCK8 {
  196                                 regulator-name = "buck8";
  197                                 regulator-min-microvolt = <800000>;
  198                                 regulator-max-microvolt = <1400000>;
  199                                 regulator-boot-on;
  200                                 regulator-always-on;
  201                         };
  202 
  203                         ldo1: LDO1 {
  204                                 regulator-name = "ldo1";
  205                                 regulator-min-microvolt = <3000000>;
  206                                 regulator-max-microvolt = <3300000>;
  207                                 regulator-boot-on;
  208                                 regulator-always-on;
  209                         };
  210 
  211                         ldo2: LDO2 {
  212                                 regulator-name = "ldo2";
  213                                 regulator-min-microvolt = <900000>;
  214                                 regulator-max-microvolt = <900000>;
  215                                 regulator-boot-on;
  216                                 regulator-always-on;
  217                         };
  218 
  219                         ldo3: LDO3 {
  220                                 regulator-name = "ldo3";
  221                                 regulator-min-microvolt = <1800000>;
  222                                 regulator-max-microvolt = <3300000>;
  223                                 regulator-boot-on;
  224                                 regulator-always-on;
  225                         };
  226 
  227                         ldo4: LDO4 {
  228                                 regulator-name = "ldo4";
  229                                 regulator-min-microvolt = <900000>;
  230                                 regulator-max-microvolt = <1800000>;
  231                                 regulator-boot-on;
  232                                 regulator-always-on;
  233                         };
  234 
  235                         ldo5: LDO5 {
  236                                 regulator-name = "ldo5";
  237                                 regulator-min-microvolt = <1800000>;
  238                                 regulator-max-microvolt = <3300000>;
  239                                 regulator-boot-on;
  240                                 regulator-always-on;
  241                         };
  242 
  243                         ldo6: LDO6 {
  244                                 regulator-name = "ldo6";
  245                                 regulator-min-microvolt = <900000>;
  246                                 regulator-max-microvolt = <1800000>;
  247                                 regulator-boot-on;
  248                                 regulator-always-on;
  249                         };
  250 
  251                         ldo7: LDO7 {
  252                                 regulator-name = "ldo7";
  253                                 regulator-min-microvolt = <1800000>;
  254                                 regulator-max-microvolt = <3300000>;
  255                                 regulator-boot-on;
  256                                 regulator-always-on;
  257                         };
  258                 };
  259         };
  260 };
  261 
  262 &fec1 {
  263         pinctrl-names = "default";
  264         pinctrl-0 = <&pinctrl_fec1>;
  265         phy-mode = "rgmii-id";
  266         phy-handle = <&ethphy0>;
  267         fsl,magic-packet;
  268         status = "okay";
  269 
  270         mdio {
  271                 #address-cells = <1>;
  272                 #size-cells = <0>;
  273                 ethphy0: ethernet-phy@0 {
  274                         compatible = "ethernet-phy-ieee802.3-c22";
  275                         reg = <0>;
  276                         reset-gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
  277                         reset-assert-us = <10000>;
  278                         reset-deassert-us = <50000>;
  279                 };
  280         };
  281 };
  282 
  283 &uart1 {
  284         pinctrl-names = "default";
  285         pinctrl-0 = <&pinctrl_uart1>;
  286         status = "okay";
  287 };
  288 
  289 &usdhc1 {
  290         pinctrl-names = "default", "state_100mhz", "state_200mhz";
  291         pinctrl-0 = <&pinctrl_usdhc1>;
  292         pinctrl-1 = <&pinctrl_usdhc1_100mhz>;
  293         pinctrl-2 = <&pinctrl_usdhc1_200mhz>;
  294         bus-width = <8>;
  295         non-removable;
  296         status = "okay";
  297 };
  298 
  299 &usdhc2 {
  300         pinctrl-names = "default", "state_100mhz", "state_200mhz";
  301         pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>;
  302         pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_gpio>;
  303         pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>;
  304         bus-width = <4>;
  305         cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>;
  306         vmmc-supply = <&reg_usdhc2_vmmc>;
  307         status = "okay";
  308 };
  309 
  310 &usb3_phy0 {
  311         status = "okay";
  312 };
  313 
  314 &usb_dwc3_0 {
  315         dr_mode = "otg";
  316         status = "okay";
  317 };
  318 
  319 &usb3_phy1 {
  320         status = "okay";
  321 };
  322 
  323 &usb_dwc3_1 {
  324         dr_mode = "host";
  325         status = "okay";
  326 };
  327 
  328 &wdog1 {
  329         pinctrl-names = "default";
  330         pinctrl-0 = <&pinctrl_wdog>;
  331         fsl,ext-reset-output;
  332         status = "okay";
  333 };
  334 
  335 &iomuxc {
  336         pinctrl_fec1: fec1grp {
  337                 fsl,pins = <
  338                         MX8MQ_IOMUXC_ENET_MDC_ENET1_MDC                 0x3
  339                         MX8MQ_IOMUXC_ENET_MDIO_ENET1_MDIO               0x23
  340                         MX8MQ_IOMUXC_ENET_TD3_ENET1_RGMII_TD3           0x1f
  341                         MX8MQ_IOMUXC_ENET_TD2_ENET1_RGMII_TD2           0x1f
  342                         MX8MQ_IOMUXC_ENET_TD1_ENET1_RGMII_TD1           0x1f
  343                         MX8MQ_IOMUXC_ENET_TD0_ENET1_RGMII_TD0           0x1f
  344                         MX8MQ_IOMUXC_ENET_RD3_ENET1_RGMII_RD3           0x91
  345                         MX8MQ_IOMUXC_ENET_RD2_ENET1_RGMII_RD2           0x91
  346                         MX8MQ_IOMUXC_ENET_RD1_ENET1_RGMII_RD1           0x91
  347                         MX8MQ_IOMUXC_ENET_RD0_ENET1_RGMII_RD0           0x91
  348                         MX8MQ_IOMUXC_ENET_TXC_ENET1_RGMII_TXC           0x1f
  349                         MX8MQ_IOMUXC_ENET_RXC_ENET1_RGMII_RXC           0x91
  350                         MX8MQ_IOMUXC_ENET_RX_CTL_ENET1_RGMII_RX_CTL     0x91
  351                         MX8MQ_IOMUXC_ENET_TX_CTL_ENET1_RGMII_TX_CTL     0x1f
  352                         MX8MQ_IOMUXC_GPIO1_IO09_GPIO1_IO9               0x19
  353                 >;
  354         };
  355 
  356         pinctrl_gpio_fan: gpiofangrp {
  357                 fsl,pins = <
  358                         MX8MQ_IOMUXC_NAND_CLE_GPIO3_IO5                 0x16
  359                 >;
  360         };
  361 
  362         pinctrl_i2c1: i2c1grp {
  363                 fsl,pins = <
  364                         MX8MQ_IOMUXC_I2C1_SCL_I2C1_SCL                  0x4000007f
  365                         MX8MQ_IOMUXC_I2C1_SDA_I2C1_SDA                  0x4000007f
  366                 >;
  367         };
  368 
  369         pinctrl_pmic: pmicirqgrp {
  370                 fsl,pins = <
  371                         MX8MQ_IOMUXC_GPIO1_IO03_GPIO1_IO3       0x41
  372                 >;
  373         };
  374 
  375         pinctrl_uart1: uart1grp {
  376                 fsl,pins = <
  377                         MX8MQ_IOMUXC_UART1_RXD_UART1_DCE_RX             0x49
  378                         MX8MQ_IOMUXC_UART1_TXD_UART1_DCE_TX             0x49
  379                 >;
  380         };
  381 
  382         pinctrl_usdhc1: usdhc1grp {
  383                 fsl,pins = <
  384                         MX8MQ_IOMUXC_SD1_CLK_USDHC1_CLK                 0x83
  385                         MX8MQ_IOMUXC_SD1_CMD_USDHC1_CMD                 0xc3
  386                         MX8MQ_IOMUXC_SD1_DATA0_USDHC1_DATA0             0xc3
  387                         MX8MQ_IOMUXC_SD1_DATA1_USDHC1_DATA1             0xc3
  388                         MX8MQ_IOMUXC_SD1_DATA2_USDHC1_DATA2             0xc3
  389                         MX8MQ_IOMUXC_SD1_DATA3_USDHC1_DATA3             0xc3
  390                         MX8MQ_IOMUXC_SD1_DATA4_USDHC1_DATA4             0xc3
  391                         MX8MQ_IOMUXC_SD1_DATA5_USDHC1_DATA5             0xc3
  392                         MX8MQ_IOMUXC_SD1_DATA6_USDHC1_DATA6             0xc3
  393                         MX8MQ_IOMUXC_SD1_DATA7_USDHC1_DATA7             0xc3
  394                         MX8MQ_IOMUXC_SD1_STROBE_USDHC1_STROBE           0x83
  395                         MX8MQ_IOMUXC_SD1_RESET_B_USDHC1_RESET_B         0xc1
  396                 >;
  397         };
  398 
  399         pinctrl_usdhc1_100mhz: usdhc1-100mhzgrp {
  400                 fsl,pins = <
  401                         MX8MQ_IOMUXC_SD1_CLK_USDHC1_CLK                 0x85
  402                         MX8MQ_IOMUXC_SD1_CMD_USDHC1_CMD                 0xc5
  403                         MX8MQ_IOMUXC_SD1_DATA0_USDHC1_DATA0             0xc5
  404                         MX8MQ_IOMUXC_SD1_DATA1_USDHC1_DATA1             0xc5
  405                         MX8MQ_IOMUXC_SD1_DATA2_USDHC1_DATA2             0xc5
  406                         MX8MQ_IOMUXC_SD1_DATA3_USDHC1_DATA3             0xc5
  407                         MX8MQ_IOMUXC_SD1_DATA4_USDHC1_DATA4             0xc5
  408                         MX8MQ_IOMUXC_SD1_DATA5_USDHC1_DATA5             0xc5
  409                         MX8MQ_IOMUXC_SD1_DATA6_USDHC1_DATA6             0xc5
  410                         MX8MQ_IOMUXC_SD1_DATA7_USDHC1_DATA7             0xc5
  411                         MX8MQ_IOMUXC_SD1_STROBE_USDHC1_STROBE           0x85
  412                         MX8MQ_IOMUXC_SD1_RESET_B_USDHC1_RESET_B         0xc1
  413                 >;
  414         };
  415 
  416         pinctrl_usdhc1_200mhz: usdhc1-200mhzgrp {
  417                 fsl,pins = <
  418                         MX8MQ_IOMUXC_SD1_CLK_USDHC1_CLK                 0x87
  419                         MX8MQ_IOMUXC_SD1_CMD_USDHC1_CMD                 0xc7
  420                         MX8MQ_IOMUXC_SD1_DATA0_USDHC1_DATA0             0xc7
  421                         MX8MQ_IOMUXC_SD1_DATA1_USDHC1_DATA1             0xc7
  422                         MX8MQ_IOMUXC_SD1_DATA2_USDHC1_DATA2             0xc7
  423                         MX8MQ_IOMUXC_SD1_DATA3_USDHC1_DATA3             0xc7
  424                         MX8MQ_IOMUXC_SD1_DATA4_USDHC1_DATA4             0xc7
  425                         MX8MQ_IOMUXC_SD1_DATA5_USDHC1_DATA5             0xc7
  426                         MX8MQ_IOMUXC_SD1_DATA6_USDHC1_DATA6             0xc7
  427                         MX8MQ_IOMUXC_SD1_DATA7_USDHC1_DATA7             0xc7
  428                         MX8MQ_IOMUXC_SD1_STROBE_USDHC1_STROBE           0x87
  429                         MX8MQ_IOMUXC_SD1_RESET_B_USDHC1_RESET_B         0xc1
  430                 >;
  431         };
  432 
  433         pinctrl_usdhc2_gpio: usdhc2gpiogrp {
  434                 fsl,pins = <
  435                         MX8MQ_IOMUXC_SD2_CD_B_GPIO2_IO12        0x41
  436                         MX8MQ_IOMUXC_SD2_RESET_B_GPIO2_IO19     0x41
  437                 >;
  438         };
  439 
  440         pinctrl_usdhc2: usdhc2grp {
  441                 fsl,pins = <
  442                         MX8MQ_IOMUXC_SD2_CLK_USDHC2_CLK                 0x83
  443                         MX8MQ_IOMUXC_SD2_CMD_USDHC2_CMD                 0xc3
  444                         MX8MQ_IOMUXC_SD2_DATA0_USDHC2_DATA0             0xc3
  445                         MX8MQ_IOMUXC_SD2_DATA1_USDHC2_DATA1             0xc3
  446                         MX8MQ_IOMUXC_SD2_DATA2_USDHC2_DATA2             0xc3
  447                         MX8MQ_IOMUXC_SD2_DATA3_USDHC2_DATA3             0xc3
  448                         MX8MQ_IOMUXC_GPIO1_IO04_USDHC2_VSELECT          0xc1
  449                 >;
  450         };
  451 
  452         pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp {
  453                 fsl,pins = <
  454                         MX8MQ_IOMUXC_SD2_CLK_USDHC2_CLK                 0x85
  455                         MX8MQ_IOMUXC_SD2_CMD_USDHC2_CMD                 0xc5
  456                         MX8MQ_IOMUXC_SD2_DATA0_USDHC2_DATA0             0xc5
  457                         MX8MQ_IOMUXC_SD2_DATA1_USDHC2_DATA1             0xc5
  458                         MX8MQ_IOMUXC_SD2_DATA2_USDHC2_DATA2             0xc5
  459                         MX8MQ_IOMUXC_SD2_DATA3_USDHC2_DATA3             0xc5
  460                         MX8MQ_IOMUXC_GPIO1_IO04_USDHC2_VSELECT          0xc1
  461                 >;
  462         };
  463 
  464         pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp {
  465                 fsl,pins = <
  466                         MX8MQ_IOMUXC_SD2_CLK_USDHC2_CLK                 0x87
  467                         MX8MQ_IOMUXC_SD2_CMD_USDHC2_CMD                 0xc7
  468                         MX8MQ_IOMUXC_SD2_DATA0_USDHC2_DATA0             0xc7
  469                         MX8MQ_IOMUXC_SD2_DATA1_USDHC2_DATA1             0xc7
  470                         MX8MQ_IOMUXC_SD2_DATA2_USDHC2_DATA2             0xc7
  471                         MX8MQ_IOMUXC_SD2_DATA3_USDHC2_DATA3             0xc7
  472                         MX8MQ_IOMUXC_GPIO1_IO04_USDHC2_VSELECT          0xc1
  473                 >;
  474         };
  475 
  476         pinctrl_wdog: wdoggrp {
  477                 fsl,pins = <
  478                         MX8MQ_IOMUXC_GPIO1_IO02_WDOG1_WDOG_B 0xc6
  479                 >;
  480         };
  481 };

Cache object: 40741951752ed9db1250ac47f079be3e


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