Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0+ OR MIT
0002 /*
0003  * Copyright (C) 2019 Kontron Electronics GmbH
0004  */
0005 
0006 /dts-v1/;
0007 
0008 #include "imx8mm-kontron-n801x-som.dtsi"
0009 
0010 / {
0011         model = "Kontron i.MX8MM N801X S";
0012         compatible = "kontron,imx8mm-n801x-s", "kontron,imx8mm-n801x-som", "fsl,imx8mm";
0013 
0014         aliases {
0015                 ethernet1 = &usbnet;
0016         };
0017 
0018         /* fixed crystal dedicated to mcp2515 */
0019         osc_can: clock-osc-can {
0020                 compatible = "fixed-clock";
0021                 #clock-cells = <0>;
0022                 clock-frequency = <16000000>;
0023                 clock-output-names = "osc-can";
0024         };
0025 
0026         leds {
0027                 compatible = "gpio-leds";
0028                 pinctrl-names = "default";
0029                 pinctrl-0 = <&pinctrl_gpio_led>;
0030 
0031                 led1 {
0032                         label = "led1";
0033                         gpios = <&gpio4 17 GPIO_ACTIVE_LOW>;
0034                         linux,default-trigger = "heartbeat";
0035                 };
0036 
0037                 led2 {
0038                         label = "led2";
0039                         gpios = <&gpio4 19 GPIO_ACTIVE_LOW>;
0040                 };
0041 
0042                 led3 {
0043                         label = "led3";
0044                         gpios = <&gpio4 18 GPIO_ACTIVE_LOW>;
0045                 };
0046 
0047                 led4 {
0048                         label = "led4";
0049                         gpios = <&gpio4 8 GPIO_ACTIVE_LOW>;
0050                 };
0051 
0052                 led5 {
0053                         label = "led5";
0054                         gpios = <&gpio4 9 GPIO_ACTIVE_LOW>;
0055                 };
0056 
0057                 led6 {
0058                         label = "led6";
0059                         gpios = <&gpio4 7 GPIO_ACTIVE_LOW>;
0060                 };
0061         };
0062 
0063         pwm-beeper {
0064                 compatible = "pwm-beeper";
0065                 pwms = <&pwm2 0 5000 0>;
0066         };
0067 
0068         reg_rst_eth2: regulator-rst-eth2 {
0069                 compatible = "regulator-fixed";
0070                 regulator-name = "rst-usb-eth2";
0071                 pinctrl-names = "default";
0072                 pinctrl-0 = <&pinctrl_usb_eth2>;
0073                 gpio = <&gpio3 2 GPIO_ACTIVE_HIGH>;
0074                 enable-active-high;
0075                 regulator-always-on;
0076         };
0077 
0078         reg_vdd_5v: regulator-5v {
0079                 compatible = "regulator-fixed";
0080                 regulator-name = "vdd-5v";
0081                 regulator-min-microvolt = <5000000>;
0082                 regulator-max-microvolt = <5000000>;
0083         };
0084 };
0085 
0086 &ecspi2 {
0087         pinctrl-names = "default";
0088         pinctrl-0 = <&pinctrl_ecspi2>;
0089         cs-gpios = <&gpio5 13 GPIO_ACTIVE_LOW>;
0090         status = "okay";
0091 
0092         can0: can@0 {
0093                 compatible = "microchip,mcp2515";
0094                 reg = <0>;
0095                 pinctrl-names = "default";
0096                 pinctrl-0 = <&pinctrl_can>;
0097                 clocks = <&osc_can>;
0098                 interrupt-parent = <&gpio4>;
0099                 interrupts = <28 IRQ_TYPE_EDGE_FALLING>;
0100                 spi-max-frequency = <10000000>;
0101                 vdd-supply = <&reg_vdd_3v3>;
0102                 xceiver-supply = <&reg_vdd_5v>;
0103         };
0104 };
0105 
0106 &ecspi3 {
0107         pinctrl-names = "default";
0108         pinctrl-0 = <&pinctrl_ecspi3>;
0109         cs-gpios = <&gpio5 25 GPIO_ACTIVE_LOW>;
0110         status = "okay";
0111 };
0112 
0113 &fec1 {
0114         pinctrl-names = "default";
0115         pinctrl-0 = <&pinctrl_enet>;
0116         phy-connection-type = "rgmii-rxid";
0117         phy-handle = <&ethphy>;
0118         status = "okay";
0119 
0120         mdio {
0121                 #address-cells = <1>;
0122                 #size-cells = <0>;
0123 
0124                 ethphy: ethernet-phy@0 {
0125                         reg = <0>;
0126                         reset-assert-us = <1>;
0127                         reset-deassert-us = <15000>;
0128                         reset-gpios = <&gpio4 27 GPIO_ACTIVE_LOW>;
0129                 };
0130         };
0131 };
0132 
0133 &i2c4 {
0134         clock-frequency = <100000>;
0135         pinctrl-names = "default";
0136         pinctrl-0 = <&pinctrl_i2c4>;
0137         status = "okay";
0138 
0139         rtc@32 {
0140                 compatible = "epson,rx8900";
0141                 reg = <0x32>;
0142         };
0143 };
0144 
0145 &pwm2 {
0146         pinctrl-names = "default";
0147         pinctrl-0 = <&pinctrl_pwm2>;
0148         status = "okay";
0149 };
0150 
0151 &uart1 {
0152         pinctrl-names = "default";
0153         pinctrl-0 = <&pinctrl_uart1>;
0154         uart-has-rtscts;
0155         status = "okay";
0156 };
0157 
0158 &uart2 {
0159         pinctrl-names = "default";
0160         pinctrl-0 = <&pinctrl_uart2>;
0161         linux,rs485-enabled-at-boot-time;
0162         uart-has-rtscts;
0163         status = "okay";
0164 };
0165 
0166 &usbotg1 {
0167         dr_mode = "otg";
0168         over-current-active-low;
0169         status = "okay";
0170 };
0171 
0172 &usbotg2 {
0173         dr_mode = "host";
0174         disable-over-current;
0175         #address-cells = <1>;
0176         #size-cells = <0>;
0177         status = "okay";
0178 
0179         usb1@1 {
0180                 compatible = "usb424,9514";
0181                 reg = <1>;
0182                 #address-cells = <1>;
0183                 #size-cells = <0>;
0184 
0185                 usbnet: ethernet@1 {
0186                         compatible = "usb424,ec00";
0187                         reg = <1>;
0188                         local-mac-address = [ 00 00 00 00 00 00 ];
0189                 };
0190         };
0191 };
0192 
0193 &usdhc2 {
0194         pinctrl-names = "default", "state_100mhz", "state_200mhz";
0195         pinctrl-0 = <&pinctrl_usdhc2>;
0196         pinctrl-1 = <&pinctrl_usdhc2_100mhz>;
0197         pinctrl-2 = <&pinctrl_usdhc2_200mhz>;
0198         vmmc-supply = <&reg_vdd_3v3>;
0199         vqmmc-supply = <&reg_nvcc_sd>;
0200         cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>;
0201         status = "okay";
0202 };
0203 
0204 &iomuxc {
0205         pinctrl-names = "default";
0206         pinctrl-0 = <&pinctrl_gpio>;
0207 
0208         pinctrl_can: cangrp {
0209                 fsl,pins = <
0210                         MX8MM_IOMUXC_SAI3_RXFS_GPIO4_IO28               0x19
0211                 >;
0212         };
0213 
0214         pinctrl_ecspi2: ecspi2grp {
0215                 fsl,pins = <
0216                         MX8MM_IOMUXC_ECSPI2_MISO_ECSPI2_MISO            0x82
0217                         MX8MM_IOMUXC_ECSPI2_MOSI_ECSPI2_MOSI            0x82
0218                         MX8MM_IOMUXC_ECSPI2_SCLK_ECSPI2_SCLK            0x82
0219                         MX8MM_IOMUXC_ECSPI2_SS0_GPIO5_IO13              0x19
0220                 >;
0221         };
0222 
0223         pinctrl_ecspi3: ecspi3grp {
0224                 fsl,pins = <
0225                         MX8MM_IOMUXC_UART2_RXD_ECSPI3_MISO              0x82
0226                         MX8MM_IOMUXC_UART1_TXD_ECSPI3_MOSI              0x82
0227                         MX8MM_IOMUXC_UART1_RXD_ECSPI3_SCLK              0x82
0228                         MX8MM_IOMUXC_UART2_TXD_GPIO5_IO25               0x19
0229                 >;
0230         };
0231 
0232         pinctrl_enet: enetgrp {
0233                 fsl,pins = <
0234                         MX8MM_IOMUXC_ENET_MDC_ENET1_MDC                 0x3
0235                         MX8MM_IOMUXC_ENET_MDIO_ENET1_MDIO               0x3
0236                         MX8MM_IOMUXC_ENET_TD3_ENET1_RGMII_TD3           0x1f
0237                         MX8MM_IOMUXC_ENET_TD2_ENET1_RGMII_TD2           0x1f
0238                         MX8MM_IOMUXC_ENET_TD1_ENET1_RGMII_TD1           0x1f
0239                         MX8MM_IOMUXC_ENET_TD0_ENET1_RGMII_TD0           0x1f
0240                         MX8MM_IOMUXC_ENET_RD3_ENET1_RGMII_RD3           0x91
0241                         MX8MM_IOMUXC_ENET_RD2_ENET1_RGMII_RD2           0x91
0242                         MX8MM_IOMUXC_ENET_RD1_ENET1_RGMII_RD1           0x91
0243                         MX8MM_IOMUXC_ENET_RD0_ENET1_RGMII_RD0           0x91
0244                         MX8MM_IOMUXC_ENET_TXC_ENET1_RGMII_TXC           0x1f
0245                         MX8MM_IOMUXC_ENET_RXC_ENET1_RGMII_RXC           0x91
0246                         MX8MM_IOMUXC_ENET_RX_CTL_ENET1_RGMII_RX_CTL     0x91
0247                         MX8MM_IOMUXC_ENET_TX_CTL_ENET1_RGMII_TX_CTL     0x1f
0248                         MX8MM_IOMUXC_SAI2_MCLK_GPIO4_IO27               0x19 /* PHY RST */
0249                         MX8MM_IOMUXC_SAI2_TXC_GPIO4_IO25                0x19 /* ETH IRQ */
0250                 >;
0251         };
0252 
0253         pinctrl_gpio_led: gpioledgrp {
0254                 fsl,pins = <
0255                         MX8MM_IOMUXC_NAND_READY_B_GPIO3_IO16            0x19
0256                         MX8MM_IOMUXC_SAI1_RXD5_GPIO4_IO7                0x19
0257                         MX8MM_IOMUXC_SAI1_RXD6_GPIO4_IO8                0x19
0258                         MX8MM_IOMUXC_SAI1_RXD7_GPIO4_IO9                0x19
0259                         MX8MM_IOMUXC_SAI1_TXD5_GPIO4_IO17               0x19
0260                         MX8MM_IOMUXC_SAI1_TXD6_GPIO4_IO18               0x19
0261                         MX8MM_IOMUXC_SAI1_TXD7_GPIO4_IO19               0x19
0262                 >;
0263         };
0264 
0265         pinctrl_gpio: gpiogrp {
0266                 fsl,pins = <
0267                         MX8MM_IOMUXC_GPIO1_IO03_GPIO1_IO3               0x19
0268                         MX8MM_IOMUXC_GPIO1_IO07_GPIO1_IO7               0x19
0269                         MX8MM_IOMUXC_GPIO1_IO09_GPIO1_IO9               0x19
0270                         MX8MM_IOMUXC_GPIO1_IO11_GPIO1_IO11              0x19
0271                         MX8MM_IOMUXC_GPIO1_IO06_GPIO1_IO6               0x19
0272                         MX8MM_IOMUXC_GPIO1_IO08_GPIO1_IO8               0x19
0273                         MX8MM_IOMUXC_GPIO1_IO10_GPIO1_IO10              0x19
0274                         MX8MM_IOMUXC_SAI3_MCLK_GPIO5_IO2                0x19
0275                 >;
0276         };
0277 
0278         pinctrl_i2c4: i2c4grp {
0279                 fsl,pins = <
0280                         MX8MM_IOMUXC_I2C4_SCL_I2C4_SCL                  0x400001c3
0281                         MX8MM_IOMUXC_I2C4_SDA_I2C4_SDA                  0x400001c3
0282                 >;
0283         };
0284 
0285         pinctrl_pwm2: pwm2grp {
0286                 fsl,pins = <
0287                         MX8MM_IOMUXC_SPDIF_RX_PWM2_OUT                  0x19
0288                 >;
0289         };
0290 
0291         pinctrl_uart1: uart1grp {
0292                 fsl,pins = <
0293                         MX8MM_IOMUXC_SAI2_RXC_UART1_DCE_RX              0x140
0294                         MX8MM_IOMUXC_SAI2_RXFS_UART1_DCE_TX             0x140
0295                         MX8MM_IOMUXC_SAI2_RXD0_UART1_DCE_RTS_B          0x140
0296                         MX8MM_IOMUXC_SAI2_TXFS_UART1_DCE_CTS_B          0x140
0297                 >;
0298         };
0299 
0300         pinctrl_uart2: uart2grp {
0301                 fsl,pins = <
0302                         MX8MM_IOMUXC_SAI3_TXFS_UART2_DCE_RX             0x140
0303                         MX8MM_IOMUXC_SAI3_TXC_UART2_DCE_TX              0x140
0304                         MX8MM_IOMUXC_SAI3_RXD_UART2_DCE_RTS_B           0x140
0305                         MX8MM_IOMUXC_SAI3_RXC_UART2_DCE_CTS_B           0x140
0306                 >;
0307         };
0308 
0309         pinctrl_usb_eth2: usbeth2grp {
0310                 fsl,pins = <
0311                         MX8MM_IOMUXC_NAND_CE1_B_GPIO3_IO2               0x19
0312                 >;
0313         };
0314 
0315         pinctrl_usdhc2: usdhc2grp {
0316                 fsl,pins = <
0317                         MX8MM_IOMUXC_SD2_CLK_USDHC2_CLK                 0x190
0318                         MX8MM_IOMUXC_SD2_CMD_USDHC2_CMD                 0x1d0
0319                         MX8MM_IOMUXC_SD2_DATA0_USDHC2_DATA0             0x1d0
0320                         MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1             0x1d0
0321                         MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2             0x1d0
0322                         MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3             0x1d0
0323                         MX8MM_IOMUXC_SD2_CD_B_GPIO2_IO12                0x019
0324                 >;
0325         };
0326 
0327         pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp {
0328                 fsl,pins = <
0329                         MX8MM_IOMUXC_SD2_CLK_USDHC2_CLK                 0x194
0330                         MX8MM_IOMUXC_SD2_CMD_USDHC2_CMD                 0x1d4
0331                         MX8MM_IOMUXC_SD2_DATA0_USDHC2_DATA0             0x1d4
0332                         MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1             0x1d4
0333                         MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2             0x1d4
0334                         MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3             0x1d4
0335                         MX8MM_IOMUXC_SD2_CD_B_GPIO2_IO12                0x019
0336                 >;
0337         };
0338 
0339         pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp {
0340                 fsl,pins = <
0341                         MX8MM_IOMUXC_SD2_CLK_USDHC2_CLK                 0x196
0342                         MX8MM_IOMUXC_SD2_CMD_USDHC2_CMD                 0x1d6
0343                         MX8MM_IOMUXC_SD2_DATA0_USDHC2_DATA0             0x1d6
0344                         MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1             0x1d6
0345                         MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2             0x1d6
0346                         MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3             0x1d6
0347                         MX8MM_IOMUXC_SD2_CD_B_GPIO2_IO12                0x019
0348                 >;
0349         };
0350 };