Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0+ OR MIT
0002 /*
0003  * Copyright 2021-2022 Marek Vasut <marex@denx.de>
0004  */
0005 
0006 /dts-v1/;
0007 
0008 #include "imx8mm-verdin.dtsi"
0009 
0010 / {
0011         model = "MENLO MX8MM EMBEDDED DEVICE";
0012         compatible = "menlo,mx8menlo",
0013                      "toradex,verdin-imx8mm",
0014                      "fsl,imx8mm";
0015 
0016         /delete-node/ gpio-keys;
0017 
0018         leds {
0019                 compatible = "gpio-leds";
0020                 pinctrl-names = "default";
0021                 pinctrl-0 = <&pinctrl_led>;
0022 
0023                 led-1 {
0024                         label = "TestLed601";
0025                         gpios = <&gpio4 18 GPIO_ACTIVE_HIGH>;
0026                         linux,default-trigger = "mmc0";
0027                 };
0028 
0029                 led-2 {
0030                         label = "TestLed602";
0031                         gpios = <&gpio4 10 GPIO_ACTIVE_HIGH>;
0032                         linux,default-trigger = "heartbeat";
0033                 };
0034         };
0035 
0036         beeper {
0037                 compatible = "gpio-beeper";
0038                 pinctrl-names = "default";
0039                 pinctrl-0 = <&pinctrl_beeper>;
0040                 gpios = <&gpio5 3 GPIO_ACTIVE_HIGH>;
0041         };
0042 
0043         /* Fixed clock dedicated to SPI CAN on carrier board */
0044         clk_xtal20: clk-xtal20 {
0045                 compatible = "fixed-clock";
0046                 #clock-cells = <0>;
0047                 clock-frequency = <20000000>;
0048         };
0049 };
0050 
0051 &ecspi1 {
0052         #address-cells = <1>;
0053         #size-cells = <0>;
0054         pinctrl-names = "default";
0055         pinctrl-0 = <&pinctrl_ecspi1>;
0056         cs-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>;
0057         status = "okay";
0058 
0059         /* CAN controller on the baseboard */
0060         canfd: can@0 {
0061                 compatible = "microchip,mcp2518fd";
0062                 clocks = <&clk_xtal20>;
0063                 interrupt-parent = <&gpio1>;
0064                 interrupts = <8 IRQ_TYPE_EDGE_FALLING>;
0065                 reg = <0>;
0066                 spi-max-frequency = <2000000>;
0067         };
0068 
0069 };
0070 
0071 &ecspi2 {
0072         pinctrl-0 = <&pinctrl_ecspi2 &pinctrl_gpio1>;
0073         cs-gpios = <&gpio5 13 GPIO_ACTIVE_LOW>, <&gpio3 4 GPIO_ACTIVE_LOW>;
0074         status = "okay";
0075 
0076         spidev@0 {
0077                 compatible = "menlo,m53cpld";
0078                 reg = <0>;
0079                 spi-max-frequency = <25000000>;
0080         };
0081 
0082         spidev@1 {
0083                 compatible = "menlo,m53cpld";
0084                 reg = <1>;
0085                 spi-max-frequency = <25000000>;
0086         };
0087 
0088 };
0089 
0090 &ethphy0 {
0091         max-speed = <100>;
0092 };
0093 
0094 &fec1 {
0095         status = "okay";
0096 };
0097 
0098 &flexspi {
0099         status = "okay";
0100 
0101         flash@0 {
0102                 reg = <0>;
0103                 #address-cells = <1>;
0104                 #size-cells = <1>;
0105                 compatible = "jedec,spi-nor";
0106                 spi-max-frequency = <66000000>;
0107                 spi-rx-bus-width = <4>;
0108                 spi-tx-bus-width = <4>;
0109         };
0110 };
0111 
0112 &gpio1 {
0113         gpio-line-names =
0114                 "", "", "", "",
0115                 "", "", "", "",
0116                 "", "", "", "",
0117                 "", "", "", "",
0118                 "", "", "", "",
0119                 "", "", "", "",
0120                 "", "", "", "",
0121                 "", "", "", "";
0122 };
0123 
0124 &gpio2 {
0125         gpio-line-names =
0126                 "", "", "", "",
0127                 "", "", "", "",
0128                 "", "", "", "",
0129                 "", "", "", "",
0130                 "", "", "", "",
0131                 "", "", "", "",
0132                 "", "", "", "",
0133                 "", "", "", "";
0134 };
0135 
0136 &gpio3 {
0137         gpio-line-names =
0138                 "", "", "", "",
0139                 "", "", "", "",
0140                 "", "", "", "",
0141                 "", "", "", "",
0142                 "", "", "", "",
0143                 "", "", "DISP_reset", "KBD_intI",
0144                 "", "", "", "",
0145                 "", "", "", "";
0146 };
0147 
0148 &gpio4 {
0149         /*
0150          * CPLD_D[n] is ARM_CPLD[n] in schematic
0151          * CPLD_int is SA_INTERRUPT in schematic
0152          * CPLD_reset is RESET_SOFT in schematic
0153          */
0154         gpio-line-names =
0155                 "CPLD_D[6]", "CPLD_int", "CPLD_reset", "",
0156                 "", "CPLD_D[7]", "", "",
0157                 "", "", "", "CPLD_D[5]",
0158                 "CPLD_D[4]", "CPLD_D[3]", "CPLD_D[2]", "CPLD_D[1]",
0159                 "CPLD_D[0]", "", "", "",
0160                 "", "", "", "",
0161                 "", "", "", "KBD_intK",
0162                 "", "", "", "";
0163 };
0164 
0165 &gpio5 {
0166         gpio-line-names =
0167                 "", "", "", "",
0168                 "", "", "", "",
0169                 "", "", "", "",
0170                 "", "", "", "",
0171                 "", "", "", "",
0172                 "", "", "", "",
0173                 "", "", "", "",
0174                 "", "", "", "";
0175 };
0176 
0177 &gpio_expander_21 {
0178         status = "okay";
0179 };
0180 
0181 &hwmon {
0182         status = "okay";
0183 };
0184 
0185 &i2c3 {
0186         status = "okay";
0187 };
0188 
0189 &i2c4 {
0190         /* None of this is present on the SoM. */
0191         /delete-node/ bridge@2c;
0192         /delete-node/ hdmi@48;
0193         /delete-node/ touch@4a;
0194         /delete-node/ sensor@4f;
0195         /delete-node/ eeprom@50;
0196         /delete-node/ eeprom@57;
0197 };
0198 
0199 &iomuxc {
0200         pinctrl-0 = <&pinctrl_gpio7>, <&pinctrl_gpio_hog1>,
0201                     <&pinctrl_gpio_hog2>, <&pinctrl_gpio_hog3>;
0202 
0203         pinctrl_beeper: beepergrp {
0204                 fsl,pins = <
0205                         MX8MM_IOMUXC_SPDIF_TX_GPIO5_IO3                 0x1c4
0206                 >;
0207         };
0208 
0209         pinctrl_ecspi1: ecspi1grp {
0210                 fsl,pins = <
0211                         MX8MM_IOMUXC_ECSPI1_SCLK_ECSPI1_SCLK            0x4
0212                         MX8MM_IOMUXC_ECSPI1_MOSI_ECSPI1_MOSI            0x4
0213                         MX8MM_IOMUXC_ECSPI1_MISO_ECSPI1_MISO            0x1c4
0214                         MX8MM_IOMUXC_ECSPI1_SS0_GPIO5_IO9               0x1c4
0215                 >;
0216         };
0217 
0218         pinctrl_led: ledgrp {
0219                 fsl,pins = <
0220                         MX8MM_IOMUXC_SAI1_TXD6_GPIO4_IO18               0x1c4
0221                         MX8MM_IOMUXC_SAI1_TXFS_GPIO4_IO10               0x1c4
0222                 >;
0223         };
0224 
0225         pinctrl_uart4_rts: uart4rtsgrp {
0226                 fsl,pins = <
0227                         /* SODIMM 222 */
0228                         MX8MM_IOMUXC_GPIO1_IO09_GPIO1_IO9               0x184
0229                 >;
0230         };
0231 };
0232 
0233 &pinctrl_gpio1 {
0234         fsl,pins = <
0235                 /* SODIMM 206 */
0236                 MX8MM_IOMUXC_NAND_CE3_B_GPIO3_IO4                       0x1c4
0237         >;
0238 };
0239 
0240 &pinctrl_gpio_hog1 {
0241         fsl,pins = <
0242                 /* SODIMM 88 */
0243                 MX8MM_IOMUXC_SAI1_MCLK_GPIO4_IO20                       0x1c4
0244                 /* CPLD_int */
0245                 MX8MM_IOMUXC_SAI1_RXC_GPIO4_IO1                         0x1c4
0246                 /* CPLD_reset */
0247                 MX8MM_IOMUXC_SAI1_RXD0_GPIO4_IO2                        0x1c4
0248                 /* SODIMM 94 */
0249                 MX8MM_IOMUXC_SAI1_RXD1_GPIO4_IO3                        0x1c4
0250                 /* SODIMM 96 */
0251                 MX8MM_IOMUXC_SAI1_RXD2_GPIO4_IO4                        0x1c4
0252                 /* CPLD_D[7] */
0253                 MX8MM_IOMUXC_SAI1_RXD3_GPIO4_IO5                        0x1c4
0254                 /* CPLD_D[6] */
0255                 MX8MM_IOMUXC_SAI1_RXFS_GPIO4_IO0                        0x1c4
0256                 /* CPLD_D[5] */
0257                 MX8MM_IOMUXC_SAI1_TXC_GPIO4_IO11                        0x1c4
0258                 /* CPLD_D[4] */
0259                 MX8MM_IOMUXC_SAI1_TXD0_GPIO4_IO12                       0x1c4
0260                 /* CPLD_D[3] */
0261                 MX8MM_IOMUXC_SAI1_TXD1_GPIO4_IO13                       0x1c4
0262                 /* CPLD_D[2] */
0263                 MX8MM_IOMUXC_SAI1_TXD2_GPIO4_IO14                       0x1c4
0264                 /* CPLD_D[1] */
0265                 MX8MM_IOMUXC_SAI1_TXD3_GPIO4_IO15                       0x1c4
0266                 /* CPLD_D[0] */
0267                 MX8MM_IOMUXC_SAI1_TXD4_GPIO4_IO16                       0x1c4
0268                 /* KBD_intK */
0269                 MX8MM_IOMUXC_SAI2_MCLK_GPIO4_IO27                       0x1c4
0270                 /* DISP_reset */
0271                 MX8MM_IOMUXC_SAI5_RXD1_GPIO3_IO22                       0x1c4
0272                 /* KBD_intI */
0273                 MX8MM_IOMUXC_SAI5_RXD2_GPIO3_IO23                       0x1c4
0274                 /* SODIMM 46 */
0275                 MX8MM_IOMUXC_SAI5_RXD3_GPIO3_IO24                       0x1c4
0276         >;
0277 };
0278 
0279 &pinctrl_uart1 {
0280         fsl,pins = <
0281                 /* SODIMM 149 */
0282                 MX8MM_IOMUXC_SAI2_RXFS_UART1_DCE_TX                     0x1c4
0283                 /* SODIMM 147 */
0284                 MX8MM_IOMUXC_SAI2_RXC_UART1_DCE_RX                      0x1c4
0285                 /* SODIMM 210 */
0286                 MX8MM_IOMUXC_UART3_RXD_UART1_DTE_RTS_B                  0x1c4
0287                 /* SODIMM 212 */
0288                 MX8MM_IOMUXC_UART3_TXD_UART1_DTE_CTS_B                  0x1c4
0289         >;
0290 };
0291 
0292 &reg_usb_otg1_vbus {
0293         /delete-property/ enable-active-high;
0294         gpio = <&gpio1 12 GPIO_ACTIVE_LOW>;
0295 };
0296 
0297 &reg_usb_otg2_vbus {
0298         /delete-property/ enable-active-high;
0299         gpio = <&gpio1 14 GPIO_ACTIVE_LOW>;
0300 };
0301 
0302 &sai2 {
0303         status = "disabled";
0304 };
0305 
0306 &uart1 {
0307         uart-has-rtscts;
0308         status = "okay";
0309 };
0310 
0311 &uart2 {
0312         status = "okay";
0313 };
0314 
0315 &uart4 {
0316         pinctrl-0 = <&pinctrl_uart4 &pinctrl_uart4_rts>;
0317         linux,rs485-enabled-at-boot-time;
0318         rts-gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>;
0319         status = "okay";
0320 };
0321 
0322 &usbotg1 {
0323         dr_mode = "peripheral";
0324         status = "okay";
0325 };
0326 
0327 &usbotg2 {
0328         dr_mode = "host";
0329         status = "okay";
0330 };
0331 
0332 &usdhc2 {
0333         status = "okay";
0334 };