Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: (GPL-2.0 OR MIT)
0002 /*
0003  * Copyright 2017-2019 NXP
0004  */
0005 
0006 /dts-v1/;
0007 
0008 #include "imx8mq.dtsi"
0009 #include <dt-bindings/interrupt-controller/irq.h>
0010 
0011 / {
0012         model = "Google i.MX8MQ Phanbell";
0013         compatible = "google,imx8mq-phanbell", "fsl,imx8mq";
0014 
0015         chosen {
0016                 stdout-path = &uart1;
0017         };
0018 
0019         memory@40000000 {
0020                 device_type = "memory";
0021                 reg = <0x00000000 0x40000000 0 0x40000000>;
0022         };
0023 
0024         pmic_osc: clock-pmic {
0025                 compatible = "fixed-clock";
0026                 #clock-cells = <0>;
0027                 clock-frequency = <32768>;
0028                 clock-output-names = "pmic_osc";
0029         };
0030 
0031         reg_usdhc2_vmmc: regulator-usdhc2-vmmc {
0032                 compatible = "regulator-fixed";
0033                 regulator-name = "VSD_3V3";
0034                 regulator-min-microvolt = <3300000>;
0035                 regulator-max-microvolt = <3300000>;
0036                 gpio = <&gpio2 19 GPIO_ACTIVE_HIGH>;
0037                 enable-active-high;
0038         };
0039 
0040         fan: gpio-fan {
0041                 compatible = "gpio-fan";
0042                 gpio-fan,speed-map = <0 0 8600 1>;
0043                 gpios = <&gpio3 5 GPIO_ACTIVE_HIGH>;
0044                 #cooling-cells = <2>;
0045                 pinctrl-names = "default";
0046                 pinctrl-0 = <&pinctrl_gpio_fan>;
0047                 status = "okay";
0048         };
0049 };
0050 
0051 &A53_0 {
0052         cpu-supply = <&buck2>;
0053 };
0054 
0055 &A53_1 {
0056         cpu-supply = <&buck2>;
0057 };
0058 
0059 &A53_2 {
0060         cpu-supply = <&buck2>;
0061 };
0062 
0063 &A53_3 {
0064         cpu-supply = <&buck2>;
0065 };
0066 
0067 &cpu_thermal {
0068         trips {
0069                 cpu_alert0: trip0 {
0070                         temperature = <75000>;
0071                         hysteresis = <2000>;
0072                         type = "passive";
0073                 };
0074 
0075                 cpu_alert1: trip1 {
0076                         temperature = <80000>;
0077                         hysteresis = <2000>;
0078                         type = "passive";
0079                 };
0080 
0081                 cpu_crit0: trip3 {
0082                         temperature = <90000>;
0083                         hysteresis = <2000>;
0084                         type = "critical";
0085                 };
0086 
0087                 fan_toggle0: trip4 {
0088                         temperature = <65000>;
0089                         hysteresis = <10000>;
0090                         type = "active";
0091                 };
0092         };
0093 
0094         cooling-maps {
0095                 map0 {
0096                         trip = <&cpu_alert0>;
0097                         cooling-device =
0098                         <&A53_0 0 1>; /* Exclude highest OPP */
0099                 };
0100 
0101                 map1 {
0102                         trip = <&cpu_alert1>;
0103                         cooling-device =
0104                         <&A53_0 0 2>; /* Exclude two highest OPPs */
0105                 };
0106 
0107                 map4 {
0108                         trip = <&fan_toggle0>;
0109                         cooling-device = <&fan 0 1>;
0110                 };
0111         };
0112 };
0113 
0114 &i2c1 {
0115         clock-frequency = <400000>;
0116         pinctrl-names = "default";
0117         pinctrl-0 = <&pinctrl_i2c1>;
0118         status = "okay";
0119 
0120         pmic: pmic@4b {
0121                 compatible = "rohm,bd71837";
0122                 reg = <0x4b>;
0123                 pinctrl-names = "default";
0124                 pinctrl-0 = <&pinctrl_pmic>;
0125                 #clock-cells = <0>;
0126                 clocks = <&pmic_osc>;
0127                 clock-output-names = "pmic_clk";
0128                 interrupt-parent = <&gpio1>;
0129                 interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
0130 
0131                 regulators {
0132                         buck1: BUCK1 {
0133                                 regulator-name = "buck1";
0134                                 regulator-min-microvolt = <700000>;
0135                                 regulator-max-microvolt = <1300000>;
0136                                 regulator-boot-on;
0137                                 regulator-always-on;
0138                                 regulator-ramp-delay = <1250>;
0139                                 rohm,dvs-run-voltage = <900000>;
0140                                 rohm,dvs-idle-voltage = <900000>;
0141                                 rohm,dvs-suspend-voltage = <800000>;
0142                         };
0143 
0144                         buck2: BUCK2 {
0145                                 regulator-name = "buck2";
0146                                 regulator-min-microvolt = <850000>;
0147                                 regulator-max-microvolt = <1000000>;
0148                                 regulator-boot-on;
0149                                 regulator-always-on;
0150                                 rohm,dvs-run-voltage = <1000000>;
0151                                 rohm,dvs-idle-voltage = <900000>;
0152                         };
0153 
0154                         buck3: BUCK3 {
0155                                 regulator-name = "buck3";
0156                                 regulator-min-microvolt = <700000>;
0157                                 regulator-max-microvolt = <1300000>;
0158                                 regulator-boot-on;
0159                                 rohm,dvs-run-voltage = <900000>;
0160                         };
0161 
0162                         buck4: BUCK4 {
0163                                 regulator-name = "buck4";
0164                                 regulator-min-microvolt = <700000>;
0165                                 regulator-max-microvolt = <1300000>;
0166                                 regulator-boot-on;
0167                                 regulator-always-on;
0168                                 rohm,dvs-run-voltage = <900000>;
0169                         };
0170 
0171                         buck5: BUCK5 {
0172                                 regulator-name = "buck5";
0173                                 regulator-min-microvolt = <700000>;
0174                                 regulator-max-microvolt = <1350000>;
0175                                 regulator-boot-on;
0176                                 regulator-always-on;
0177                         };
0178 
0179                         buck6: BUCK6 {
0180                                 regulator-name = "buck6";
0181                                 regulator-min-microvolt = <3000000>;
0182                                 regulator-max-microvolt = <3300000>;
0183                                 regulator-boot-on;
0184                                 regulator-always-on;
0185                         };
0186 
0187                         buck7: BUCK7 {
0188                                 regulator-name = "buck7";
0189                                 regulator-min-microvolt = <1605000>;
0190                                 regulator-max-microvolt = <1995000>;
0191                                 regulator-boot-on;
0192                                 regulator-always-on;
0193                         };
0194 
0195                         buck8: BUCK8 {
0196                                 regulator-name = "buck8";
0197                                 regulator-min-microvolt = <800000>;
0198                                 regulator-max-microvolt = <1400000>;
0199                                 regulator-boot-on;
0200                                 regulator-always-on;
0201                         };
0202 
0203                         ldo1: LDO1 {
0204                                 regulator-name = "ldo1";
0205                                 regulator-min-microvolt = <3000000>;
0206                                 regulator-max-microvolt = <3300000>;
0207                                 regulator-boot-on;
0208                                 regulator-always-on;
0209                         };
0210 
0211                         ldo2: LDO2 {
0212                                 regulator-name = "ldo2";
0213                                 regulator-min-microvolt = <900000>;
0214                                 regulator-max-microvolt = <900000>;
0215                                 regulator-boot-on;
0216                                 regulator-always-on;
0217                         };
0218 
0219                         ldo3: LDO3 {
0220                                 regulator-name = "ldo3";
0221                                 regulator-min-microvolt = <1800000>;
0222                                 regulator-max-microvolt = <3300000>;
0223                                 regulator-boot-on;
0224                                 regulator-always-on;
0225                         };
0226 
0227                         ldo4: LDO4 {
0228                                 regulator-name = "ldo4";
0229                                 regulator-min-microvolt = <900000>;
0230                                 regulator-max-microvolt = <1800000>;
0231                                 regulator-boot-on;
0232                                 regulator-always-on;
0233                         };
0234 
0235                         ldo5: LDO5 {
0236                                 regulator-name = "ldo5";
0237                                 regulator-min-microvolt = <1800000>;
0238                                 regulator-max-microvolt = <3300000>;
0239                                 regulator-boot-on;
0240                                 regulator-always-on;
0241                         };
0242 
0243                         ldo6: LDO6 {
0244                                 regulator-name = "ldo6";
0245                                 regulator-min-microvolt = <900000>;
0246                                 regulator-max-microvolt = <1800000>;
0247                                 regulator-boot-on;
0248                                 regulator-always-on;
0249                         };
0250 
0251                         ldo7: LDO7 {
0252                                 regulator-name = "ldo7";
0253                                 regulator-min-microvolt = <1800000>;
0254                                 regulator-max-microvolt = <3300000>;
0255                                 regulator-boot-on;
0256                                 regulator-always-on;
0257                         };
0258                 };
0259         };
0260 };
0261 
0262 &fec1 {
0263         pinctrl-names = "default";
0264         pinctrl-0 = <&pinctrl_fec1>;
0265         phy-mode = "rgmii-id";
0266         phy-handle = <&ethphy0>;
0267         fsl,magic-packet;
0268         status = "okay";
0269 
0270         mdio {
0271                 #address-cells = <1>;
0272                 #size-cells = <0>;
0273                 ethphy0: ethernet-phy@0 {
0274                         compatible = "ethernet-phy-ieee802.3-c22";
0275                         reg = <0>;
0276                         reset-gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
0277                         reset-assert-us = <10000>;
0278                         reset-deassert-us = <50000>;
0279                 };
0280         };
0281 };
0282 
0283 &uart1 {
0284         pinctrl-names = "default";
0285         pinctrl-0 = <&pinctrl_uart1>;
0286         status = "okay";
0287 };
0288 
0289 &usdhc1 {
0290         pinctrl-names = "default", "state_100mhz", "state_200mhz";
0291         pinctrl-0 = <&pinctrl_usdhc1>;
0292         pinctrl-1 = <&pinctrl_usdhc1_100mhz>;
0293         pinctrl-2 = <&pinctrl_usdhc1_200mhz>;
0294         bus-width = <8>;
0295         non-removable;
0296         status = "okay";
0297 };
0298 
0299 &usdhc2 {
0300         pinctrl-names = "default", "state_100mhz", "state_200mhz";
0301         pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>;
0302         pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_gpio>;
0303         pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>;
0304         bus-width = <4>;
0305         cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>;
0306         vmmc-supply = <&reg_usdhc2_vmmc>;
0307         status = "okay";
0308 };
0309 
0310 &usb3_phy0 {
0311         status = "okay";
0312 };
0313 
0314 &usb_dwc3_0 {
0315         dr_mode = "otg";
0316         status = "okay";
0317 };
0318 
0319 &usb3_phy1 {
0320         status = "okay";
0321 };
0322 
0323 &usb_dwc3_1 {
0324         dr_mode = "host";
0325         status = "okay";
0326 };
0327 
0328 &wdog1 {
0329         pinctrl-names = "default";
0330         pinctrl-0 = <&pinctrl_wdog>;
0331         fsl,ext-reset-output;
0332         status = "okay";
0333 };
0334 
0335 &iomuxc {
0336         pinctrl_fec1: fec1grp {
0337                 fsl,pins = <
0338                         MX8MQ_IOMUXC_ENET_MDC_ENET1_MDC                 0x3
0339                         MX8MQ_IOMUXC_ENET_MDIO_ENET1_MDIO               0x23
0340                         MX8MQ_IOMUXC_ENET_TD3_ENET1_RGMII_TD3           0x1f
0341                         MX8MQ_IOMUXC_ENET_TD2_ENET1_RGMII_TD2           0x1f
0342                         MX8MQ_IOMUXC_ENET_TD1_ENET1_RGMII_TD1           0x1f
0343                         MX8MQ_IOMUXC_ENET_TD0_ENET1_RGMII_TD0           0x1f
0344                         MX8MQ_IOMUXC_ENET_RD3_ENET1_RGMII_RD3           0x91
0345                         MX8MQ_IOMUXC_ENET_RD2_ENET1_RGMII_RD2           0x91
0346                         MX8MQ_IOMUXC_ENET_RD1_ENET1_RGMII_RD1           0x91
0347                         MX8MQ_IOMUXC_ENET_RD0_ENET1_RGMII_RD0           0x91
0348                         MX8MQ_IOMUXC_ENET_TXC_ENET1_RGMII_TXC           0x1f
0349                         MX8MQ_IOMUXC_ENET_RXC_ENET1_RGMII_RXC           0x91
0350                         MX8MQ_IOMUXC_ENET_RX_CTL_ENET1_RGMII_RX_CTL     0x91
0351                         MX8MQ_IOMUXC_ENET_TX_CTL_ENET1_RGMII_TX_CTL     0x1f
0352                         MX8MQ_IOMUXC_GPIO1_IO09_GPIO1_IO9               0x19
0353                 >;
0354         };
0355 
0356         pinctrl_gpio_fan: gpiofangrp {
0357                 fsl,pins = <
0358                         MX8MQ_IOMUXC_NAND_CLE_GPIO3_IO5                 0x16
0359                 >;
0360         };
0361 
0362         pinctrl_i2c1: i2c1grp {
0363                 fsl,pins = <
0364                         MX8MQ_IOMUXC_I2C1_SCL_I2C1_SCL                  0x4000007f
0365                         MX8MQ_IOMUXC_I2C1_SDA_I2C1_SDA                  0x4000007f
0366                 >;
0367         };
0368 
0369         pinctrl_pmic: pmicirqgrp {
0370                 fsl,pins = <
0371                         MX8MQ_IOMUXC_GPIO1_IO03_GPIO1_IO3       0x41
0372                 >;
0373         };
0374 
0375         pinctrl_uart1: uart1grp {
0376                 fsl,pins = <
0377                         MX8MQ_IOMUXC_UART1_RXD_UART1_DCE_RX             0x49
0378                         MX8MQ_IOMUXC_UART1_TXD_UART1_DCE_TX             0x49
0379                 >;
0380         };
0381 
0382         pinctrl_usdhc1: usdhc1grp {
0383                 fsl,pins = <
0384                         MX8MQ_IOMUXC_SD1_CLK_USDHC1_CLK                 0x83
0385                         MX8MQ_IOMUXC_SD1_CMD_USDHC1_CMD                 0xc3
0386                         MX8MQ_IOMUXC_SD1_DATA0_USDHC1_DATA0             0xc3
0387                         MX8MQ_IOMUXC_SD1_DATA1_USDHC1_DATA1             0xc3
0388                         MX8MQ_IOMUXC_SD1_DATA2_USDHC1_DATA2             0xc3
0389                         MX8MQ_IOMUXC_SD1_DATA3_USDHC1_DATA3             0xc3
0390                         MX8MQ_IOMUXC_SD1_DATA4_USDHC1_DATA4             0xc3
0391                         MX8MQ_IOMUXC_SD1_DATA5_USDHC1_DATA5             0xc3
0392                         MX8MQ_IOMUXC_SD1_DATA6_USDHC1_DATA6             0xc3
0393                         MX8MQ_IOMUXC_SD1_DATA7_USDHC1_DATA7             0xc3
0394                         MX8MQ_IOMUXC_SD1_STROBE_USDHC1_STROBE           0x83
0395                         MX8MQ_IOMUXC_SD1_RESET_B_USDHC1_RESET_B         0xc1
0396                 >;
0397         };
0398 
0399         pinctrl_usdhc1_100mhz: usdhc1-100mhzgrp {
0400                 fsl,pins = <
0401                         MX8MQ_IOMUXC_SD1_CLK_USDHC1_CLK                 0x85
0402                         MX8MQ_IOMUXC_SD1_CMD_USDHC1_CMD                 0xc5
0403                         MX8MQ_IOMUXC_SD1_DATA0_USDHC1_DATA0             0xc5
0404                         MX8MQ_IOMUXC_SD1_DATA1_USDHC1_DATA1             0xc5
0405                         MX8MQ_IOMUXC_SD1_DATA2_USDHC1_DATA2             0xc5
0406                         MX8MQ_IOMUXC_SD1_DATA3_USDHC1_DATA3             0xc5
0407                         MX8MQ_IOMUXC_SD1_DATA4_USDHC1_DATA4             0xc5
0408                         MX8MQ_IOMUXC_SD1_DATA5_USDHC1_DATA5             0xc5
0409                         MX8MQ_IOMUXC_SD1_DATA6_USDHC1_DATA6             0xc5
0410                         MX8MQ_IOMUXC_SD1_DATA7_USDHC1_DATA7             0xc5
0411                         MX8MQ_IOMUXC_SD1_STROBE_USDHC1_STROBE           0x85
0412                         MX8MQ_IOMUXC_SD1_RESET_B_USDHC1_RESET_B         0xc1
0413                 >;
0414         };
0415 
0416         pinctrl_usdhc1_200mhz: usdhc1-200mhzgrp {
0417                 fsl,pins = <
0418                         MX8MQ_IOMUXC_SD1_CLK_USDHC1_CLK                 0x87
0419                         MX8MQ_IOMUXC_SD1_CMD_USDHC1_CMD                 0xc7
0420                         MX8MQ_IOMUXC_SD1_DATA0_USDHC1_DATA0             0xc7
0421                         MX8MQ_IOMUXC_SD1_DATA1_USDHC1_DATA1             0xc7
0422                         MX8MQ_IOMUXC_SD1_DATA2_USDHC1_DATA2             0xc7
0423                         MX8MQ_IOMUXC_SD1_DATA3_USDHC1_DATA3             0xc7
0424                         MX8MQ_IOMUXC_SD1_DATA4_USDHC1_DATA4             0xc7
0425                         MX8MQ_IOMUXC_SD1_DATA5_USDHC1_DATA5             0xc7
0426                         MX8MQ_IOMUXC_SD1_DATA6_USDHC1_DATA6             0xc7
0427                         MX8MQ_IOMUXC_SD1_DATA7_USDHC1_DATA7             0xc7
0428                         MX8MQ_IOMUXC_SD1_STROBE_USDHC1_STROBE           0x87
0429                         MX8MQ_IOMUXC_SD1_RESET_B_USDHC1_RESET_B         0xc1
0430                 >;
0431         };
0432 
0433         pinctrl_usdhc2_gpio: usdhc2gpiogrp {
0434                 fsl,pins = <
0435                         MX8MQ_IOMUXC_SD2_CD_B_GPIO2_IO12        0x41
0436                         MX8MQ_IOMUXC_SD2_RESET_B_GPIO2_IO19     0x41
0437                 >;
0438         };
0439 
0440         pinctrl_usdhc2: usdhc2grp {
0441                 fsl,pins = <
0442                         MX8MQ_IOMUXC_SD2_CLK_USDHC2_CLK                 0x83
0443                         MX8MQ_IOMUXC_SD2_CMD_USDHC2_CMD                 0xc3
0444                         MX8MQ_IOMUXC_SD2_DATA0_USDHC2_DATA0             0xc3
0445                         MX8MQ_IOMUXC_SD2_DATA1_USDHC2_DATA1             0xc3
0446                         MX8MQ_IOMUXC_SD2_DATA2_USDHC2_DATA2             0xc3
0447                         MX8MQ_IOMUXC_SD2_DATA3_USDHC2_DATA3             0xc3
0448                         MX8MQ_IOMUXC_GPIO1_IO04_USDHC2_VSELECT          0xc1
0449                 >;
0450         };
0451 
0452         pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp {
0453                 fsl,pins = <
0454                         MX8MQ_IOMUXC_SD2_CLK_USDHC2_CLK                 0x85
0455                         MX8MQ_IOMUXC_SD2_CMD_USDHC2_CMD                 0xc5
0456                         MX8MQ_IOMUXC_SD2_DATA0_USDHC2_DATA0             0xc5
0457                         MX8MQ_IOMUXC_SD2_DATA1_USDHC2_DATA1             0xc5
0458                         MX8MQ_IOMUXC_SD2_DATA2_USDHC2_DATA2             0xc5
0459                         MX8MQ_IOMUXC_SD2_DATA3_USDHC2_DATA3             0xc5
0460                         MX8MQ_IOMUXC_GPIO1_IO04_USDHC2_VSELECT          0xc1
0461                 >;
0462         };
0463 
0464         pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp {
0465                 fsl,pins = <
0466                         MX8MQ_IOMUXC_SD2_CLK_USDHC2_CLK                 0x87
0467                         MX8MQ_IOMUXC_SD2_CMD_USDHC2_CMD                 0xc7
0468                         MX8MQ_IOMUXC_SD2_DATA0_USDHC2_DATA0             0xc7
0469                         MX8MQ_IOMUXC_SD2_DATA1_USDHC2_DATA1             0xc7
0470                         MX8MQ_IOMUXC_SD2_DATA2_USDHC2_DATA2             0xc7
0471                         MX8MQ_IOMUXC_SD2_DATA3_USDHC2_DATA3             0xc7
0472                         MX8MQ_IOMUXC_GPIO1_IO04_USDHC2_VSELECT          0xc1
0473                 >;
0474         };
0475 
0476         pinctrl_wdog: wdoggrp {
0477                 fsl,pins = <
0478                         MX8MQ_IOMUXC_GPIO1_IO02_WDOG1_WDOG_B 0xc6
0479                 >;
0480         };
0481 };