Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: (GPL-2.0 OR MIT)
0002 /*
0003  * Copyright 2020 Compass Electronics Group, LLC
0004  */
0005 
0006 / {
0007         leds {
0008                 compatible = "gpio-leds";
0009 
0010                 led-0 {
0011                         label = "gen_led0";
0012                         gpios = <&pca6416_1 4 GPIO_ACTIVE_HIGH>;
0013                         default-state = "off";
0014                 };
0015 
0016                 led-1 {
0017                         label = "gen_led1";
0018                         gpios = <&pca6416_1 5 GPIO_ACTIVE_HIGH>;
0019                         default-state = "off";
0020                 };
0021 
0022                 led-2 {
0023                         label = "gen_led2";
0024                         gpios = <&pca6416_1 6 GPIO_ACTIVE_HIGH>;
0025                         default-state = "off";
0026                 };
0027 
0028                 led-3 {
0029                         pinctrl-names = "default";
0030                         pinctrl-0 = <&pinctrl_led3>;
0031                         label = "heartbeat";
0032                         gpios = <&gpio4 28 GPIO_ACTIVE_HIGH>;
0033                         linux,default-trigger = "heartbeat";
0034                 };
0035         };
0036 
0037         reg_audio: regulator-audio {
0038                 compatible = "regulator-fixed";
0039                 regulator-name = "3v3_aud";
0040                 regulator-min-microvolt = <3300000>;
0041                 regulator-max-microvolt = <3300000>;
0042                 gpio = <&pca6416_1 11 GPIO_ACTIVE_HIGH>;
0043                 enable-active-high;
0044         };
0045 
0046         reg_usdhc2_vmmc: regulator-usdhc2 {
0047                 compatible = "regulator-fixed";
0048                 regulator-name = "vsd_3v3";
0049                 regulator-min-microvolt = <3300000>;
0050                 regulator-max-microvolt = <3300000>;
0051                 gpio = <&gpio2 19 GPIO_ACTIVE_HIGH>;
0052                 enable-active-high;
0053         };
0054 
0055         reg_usb_otg_vbus: regulator-usb {
0056                 compatible = "regulator-fixed";
0057                 pinctrl-names = "default";
0058                 pinctrl-0 = <&pinctrl_reg_usb_otg>;
0059                 regulator-name = "usb_otg_vbus";
0060                 regulator-min-microvolt = <5000000>;
0061                 regulator-max-microvolt = <5000000>;
0062                 gpio = <&gpio4 29 GPIO_ACTIVE_HIGH>;
0063                 enable-active-high;
0064         };
0065 
0066         sound {
0067                 compatible = "fsl,imx-audio-wm8962";
0068                 model = "wm8962-audio";
0069                 audio-cpu = <&sai3>;
0070                 audio-codec = <&wm8962>;
0071                 audio-routing =
0072                         "Headphone Jack", "HPOUTL",
0073                         "Headphone Jack", "HPOUTR",
0074                         "Ext Spk", "SPKOUTL",
0075                         "Ext Spk", "SPKOUTR",
0076                         "AMIC", "MICBIAS",
0077                         "IN3R", "AMIC";
0078         };
0079 };
0080 
0081 &ecspi2 {
0082         pinctrl-names = "default";
0083         pinctrl-0 = <&pinctrl_espi2>;
0084         cs-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>;
0085         status = "okay";
0086 
0087         eeprom@0 {
0088                 compatible = "microchip,at25160bn", "atmel,at25";
0089                 reg = <0>;
0090                 spi-max-frequency = <5000000>;
0091                 spi-cpha;
0092                 spi-cpol;
0093                 pagesize = <32>;
0094                 size = <2048>;
0095                 address-width = <16>;
0096         };
0097 };
0098 
0099 &i2c4 {
0100         clock-frequency = <400000>;
0101         pinctrl-names = "default";
0102         pinctrl-0 = <&pinctrl_i2c4>;
0103         status = "okay";
0104 
0105         pca6416_0: gpio@20 {
0106                 compatible = "nxp,pcal6416";
0107                 reg = <0x20>;
0108                 pinctrl-names = "default";
0109                 pinctrl-0 = <&pinctrl_pcal6414>;
0110                 gpio-controller;
0111                 #gpio-cells = <2>;
0112                 interrupt-parent = <&gpio4>;
0113                 interrupts = <27 IRQ_TYPE_LEVEL_LOW>;
0114         };
0115 
0116         pca6416_1: gpio@21 {
0117                 compatible = "nxp,pcal6416";
0118                 reg = <0x21>;
0119                 gpio-controller;
0120                 #gpio-cells = <2>;
0121                 interrupt-parent = <&gpio4>;
0122                 interrupts = <27 IRQ_TYPE_LEVEL_LOW>;
0123         };
0124 
0125         wm8962: audio-codec@1a {
0126                 compatible = "wlf,wm8962";
0127                 reg = <0x1a>;
0128                 clocks = <&clk IMX8MN_CLK_SAI3_ROOT>;
0129                 DCVDD-supply = <&reg_audio>;
0130                 DBVDD-supply = <&reg_audio>;
0131                 AVDD-supply = <&reg_audio>;
0132                 CPVDD-supply = <&reg_audio>;
0133                 MICVDD-supply = <&reg_audio>;
0134                 PLLVDD-supply = <&reg_audio>;
0135                 SPKVDD1-supply = <&reg_audio>;
0136                 SPKVDD2-supply = <&reg_audio>;
0137                 gpio-cfg = <
0138                         0x0000 /* 0:Default */
0139                         0x0000 /* 1:Default */
0140                         0x0000 /* 2:FN_DMICCLK */
0141                         0x0000 /* 3:Default */
0142                         0x0000 /* 4:FN_DMICCDAT */
0143                         0x0000 /* 5:Default */
0144                 >;
0145         };
0146 };
0147 
0148 &easrc {
0149         fsl,asrc-rate = <48000>;
0150         status = "okay";
0151 };
0152 
0153 &sai3 {
0154         pinctrl-names = "default";
0155         pinctrl-0 = <&pinctrl_sai3>;
0156         assigned-clocks = <&clk IMX8MN_CLK_SAI3>;
0157         assigned-clock-parents = <&clk IMX8MN_AUDIO_PLL1_OUT>;
0158         assigned-clock-rates = <24576000>;
0159         fsl,sai-mclk-direction-output;
0160         status = "okay";
0161 };
0162 
0163 &snvs_pwrkey {
0164         status = "okay";
0165 };
0166 
0167 &uart2 { /* console */
0168         pinctrl-names = "default";
0169         pinctrl-0 = <&pinctrl_uart2>;
0170         status = "okay";
0171 };
0172 
0173 &uart3 {
0174         pinctrl-names = "default";
0175         pinctrl-0 = <&pinctrl_uart3>;
0176         assigned-clocks = <&clk IMX8MN_CLK_UART3>;
0177         assigned-clock-parents = <&clk IMX8MN_SYS_PLL1_80M>;
0178         uart-has-rtscts;
0179         status = "okay";
0180 };
0181 
0182 &usbotg1 {
0183         vbus-supply = <&reg_usb_otg_vbus>;
0184         disable-over-current;
0185         dr_mode = "otg";
0186         status = "okay";
0187 };
0188 
0189 &usdhc2 {
0190         pinctrl-names = "default", "state_100mhz", "state_200mhz";
0191         pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>;
0192         pinctrl-1 = <&pinctrl_usdhc2_100mhz>;
0193         pinctrl-2 = <&pinctrl_usdhc2_200mhz>;
0194         bus-width = <4>;
0195         vmmc-supply = <&reg_usdhc2_vmmc>;
0196         status = "okay";
0197 };
0198 
0199 &iomuxc {
0200         pinctrl_espi2: espi2grp {
0201                 fsl,pins = <
0202                         MX8MN_IOMUXC_ECSPI2_SCLK_ECSPI2_SCLK            0x82
0203                         MX8MN_IOMUXC_ECSPI2_MOSI_ECSPI2_MOSI            0x82
0204                         MX8MN_IOMUXC_ECSPI2_MISO_ECSPI2_MISO            0x82
0205                         MX8MN_IOMUXC_ECSPI1_SS0_GPIO5_IO9               0x41
0206                 >;
0207         };
0208 
0209         pinctrl_i2c2: i2c2grp {
0210                 fsl,pins = <
0211                         MX8MN_IOMUXC_I2C2_SCL_I2C2_SCL          0x400001c3
0212                         MX8MN_IOMUXC_I2C2_SDA_I2C2_SDA          0x400001c3
0213                 >;
0214         };
0215 
0216         pinctrl_i2c4: i2c4grp {
0217                 fsl,pins = <
0218                         MX8MN_IOMUXC_I2C4_SCL_I2C4_SCL          0x400001c3
0219                         MX8MN_IOMUXC_I2C4_SDA_I2C4_SDA          0x400001c3
0220                 >;
0221         };
0222 
0223         pinctrl_led3: led3grp {
0224                 fsl,pins = <
0225                         MX8MN_IOMUXC_SAI3_RXFS_GPIO4_IO28       0x41
0226                 >;
0227         };
0228 
0229         pinctrl_pcal6414: pcal6414-gpiogrp {
0230                 fsl,pins = <
0231                         MX8MN_IOMUXC_SAI2_MCLK_GPIO4_IO27               0x19
0232                 >;
0233         };
0234 
0235         pinctrl_reg_usb_otg: reg-otggrp {
0236                 fsl,pins = <
0237                         MX8MN_IOMUXC_SAI3_RXC_GPIO4_IO29     0x19
0238                 >;
0239         };
0240 
0241         pinctrl_sai3: sai3grp {
0242                 fsl,pins = <
0243                         MX8MN_IOMUXC_SAI3_TXFS_SAI3_TX_SYNC     0xd6
0244                         MX8MN_IOMUXC_SAI3_TXC_SAI3_TX_BCLK      0xd6
0245                         MX8MN_IOMUXC_SAI3_MCLK_SAI3_MCLK        0xd6
0246                         MX8MN_IOMUXC_SAI3_TXD_SAI3_TX_DATA0     0xd6
0247                         MX8MN_IOMUXC_SAI3_RXD_SAI3_RX_DATA0     0xd6
0248                 >;
0249         };
0250 
0251         pinctrl_uart2: uart2grp {
0252                 fsl,pins = <
0253                         MX8MN_IOMUXC_UART2_RXD_UART2_DCE_RX     0x140
0254                         MX8MN_IOMUXC_UART2_TXD_UART2_DCE_TX     0x140
0255                 >;
0256         };
0257 
0258         pinctrl_uart3: uart3grp {
0259                 fsl,pins = <
0260                         MX8MN_IOMUXC_ECSPI1_SCLK_UART3_DCE_RX   0x40
0261                         MX8MN_IOMUXC_ECSPI1_MOSI_UART3_DCE_TX   0x40
0262                         MX8MN_IOMUXC_ECSPI1_MISO_UART3_DCE_CTS_B        0x40
0263                         MX8MN_IOMUXC_ECSPI1_SS0_UART3_DCE_RTS_B 0x40
0264                 >;
0265         };
0266 
0267         pinctrl_usdhc2_gpio: usdhc2gpiogrp {
0268                 fsl,pins = <
0269                         MX8MN_IOMUXC_SD2_CD_B_USDHC2_CD_B       0x41
0270                         MX8MN_IOMUXC_SD2_RESET_B_GPIO2_IO19     0x41
0271                 >;
0272         };
0273 
0274         pinctrl_usdhc2: usdhc2grp {
0275                 fsl,pins = <
0276                         MX8MN_IOMUXC_SD2_CLK_USDHC2_CLK 0x190
0277                         MX8MN_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d0
0278                         MX8MN_IOMUXC_SD2_DATA0_USDHC2_DATA0     0x1d0
0279                         MX8MN_IOMUXC_SD2_DATA1_USDHC2_DATA1     0x1d0
0280                         MX8MN_IOMUXC_SD2_DATA2_USDHC2_DATA2     0x1d0
0281                         MX8MN_IOMUXC_SD2_DATA3_USDHC2_DATA3     0x1d0
0282                         MX8MN_IOMUXC_GPIO1_IO04_USDHC2_VSELECT  0x1d0
0283                 >;
0284         };
0285 
0286         pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp {
0287                 fsl,pins = <
0288                         MX8MN_IOMUXC_SD2_CLK_USDHC2_CLK 0x194
0289                         MX8MN_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d4
0290                         MX8MN_IOMUXC_SD2_DATA0_USDHC2_DATA0     0x1d4
0291                         MX8MN_IOMUXC_SD2_DATA1_USDHC2_DATA1     0x1d4
0292                         MX8MN_IOMUXC_SD2_DATA2_USDHC2_DATA2     0x1d4
0293                         MX8MN_IOMUXC_SD2_DATA3_USDHC2_DATA3     0x1d4
0294                         MX8MN_IOMUXC_GPIO1_IO04_USDHC2_VSELECT  0x1d0
0295                 >;
0296         };
0297 
0298         pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp {
0299                 fsl,pins = <
0300                         MX8MN_IOMUXC_SD2_CLK_USDHC2_CLK 0x196
0301                         MX8MN_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d6
0302                         MX8MN_IOMUXC_SD2_DATA0_USDHC2_DATA0     0x1d6
0303                         MX8MN_IOMUXC_SD2_DATA1_USDHC2_DATA1     0x1d6
0304                         MX8MN_IOMUXC_SD2_DATA2_USDHC2_DATA2     0x1d6
0305                         MX8MN_IOMUXC_SD2_DATA3_USDHC2_DATA3     0x1d6
0306                         MX8MN_IOMUXC_GPIO1_IO04_USDHC2_VSELECT  0x1d0
0307                 >;
0308         };
0309 };