18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0 OR MIT) 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * Copyright 2020 Compass Electronics Group, LLC 48c2ecf20Sopenharmony_ci */ 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_ci/ { 78c2ecf20Sopenharmony_ci leds { 88c2ecf20Sopenharmony_ci compatible = "gpio-leds"; 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_ci led0 { 118c2ecf20Sopenharmony_ci label = "gen_led0"; 128c2ecf20Sopenharmony_ci gpios = <&pca6416_1 4 GPIO_ACTIVE_HIGH>; 138c2ecf20Sopenharmony_ci default-state = "off"; 148c2ecf20Sopenharmony_ci }; 158c2ecf20Sopenharmony_ci 168c2ecf20Sopenharmony_ci led1 { 178c2ecf20Sopenharmony_ci label = "gen_led1"; 188c2ecf20Sopenharmony_ci gpios = <&pca6416_1 5 GPIO_ACTIVE_HIGH>; 198c2ecf20Sopenharmony_ci default-state = "off"; 208c2ecf20Sopenharmony_ci }; 218c2ecf20Sopenharmony_ci 228c2ecf20Sopenharmony_ci led2 { 238c2ecf20Sopenharmony_ci label = "gen_led2"; 248c2ecf20Sopenharmony_ci gpios = <&pca6416_1 6 GPIO_ACTIVE_HIGH>; 258c2ecf20Sopenharmony_ci default-state = "off"; 268c2ecf20Sopenharmony_ci }; 278c2ecf20Sopenharmony_ci 288c2ecf20Sopenharmony_ci led3 { 298c2ecf20Sopenharmony_ci pinctrl-names = "default"; 308c2ecf20Sopenharmony_ci pinctrl-0 = <&pinctrl_led3>; 318c2ecf20Sopenharmony_ci label = "heartbeat"; 328c2ecf20Sopenharmony_ci gpios = <&gpio4 28 GPIO_ACTIVE_HIGH>; 338c2ecf20Sopenharmony_ci linux,default-trigger = "heartbeat"; 348c2ecf20Sopenharmony_ci }; 358c2ecf20Sopenharmony_ci }; 368c2ecf20Sopenharmony_ci 378c2ecf20Sopenharmony_ci reg_audio: regulator-audio { 388c2ecf20Sopenharmony_ci compatible = "regulator-fixed"; 398c2ecf20Sopenharmony_ci regulator-name = "3v3_aud"; 408c2ecf20Sopenharmony_ci regulator-min-microvolt = <3300000>; 418c2ecf20Sopenharmony_ci regulator-max-microvolt = <3300000>; 428c2ecf20Sopenharmony_ci gpio = <&pca6416_1 11 GPIO_ACTIVE_HIGH>; 438c2ecf20Sopenharmony_ci enable-active-high; 448c2ecf20Sopenharmony_ci }; 458c2ecf20Sopenharmony_ci 468c2ecf20Sopenharmony_ci reg_usdhc2_vmmc: regulator-usdhc2 { 478c2ecf20Sopenharmony_ci compatible = "regulator-fixed"; 488c2ecf20Sopenharmony_ci regulator-name = "VSD_3V3"; 498c2ecf20Sopenharmony_ci regulator-min-microvolt = <3300000>; 508c2ecf20Sopenharmony_ci regulator-max-microvolt = <3300000>; 518c2ecf20Sopenharmony_ci gpio = <&gpio2 19 GPIO_ACTIVE_HIGH>; 528c2ecf20Sopenharmony_ci enable-active-high; 538c2ecf20Sopenharmony_ci }; 548c2ecf20Sopenharmony_ci 558c2ecf20Sopenharmony_ci sound { 568c2ecf20Sopenharmony_ci compatible = "fsl,imx-audio-wm8962"; 578c2ecf20Sopenharmony_ci model = "wm8962-audio"; 588c2ecf20Sopenharmony_ci audio-cpu = <&sai3>; 598c2ecf20Sopenharmony_ci audio-codec = <&wm8962>; 608c2ecf20Sopenharmony_ci audio-routing = 618c2ecf20Sopenharmony_ci "Headphone Jack", "HPOUTL", 628c2ecf20Sopenharmony_ci "Headphone Jack", "HPOUTR", 638c2ecf20Sopenharmony_ci "Ext Spk", "SPKOUTL", 648c2ecf20Sopenharmony_ci "Ext Spk", "SPKOUTR", 658c2ecf20Sopenharmony_ci "AMIC", "MICBIAS", 668c2ecf20Sopenharmony_ci "IN3R", "AMIC"; 678c2ecf20Sopenharmony_ci }; 688c2ecf20Sopenharmony_ci}; 698c2ecf20Sopenharmony_ci 708c2ecf20Sopenharmony_ci&ecspi2 { 718c2ecf20Sopenharmony_ci pinctrl-names = "default"; 728c2ecf20Sopenharmony_ci pinctrl-0 = <&pinctrl_espi2>; 738c2ecf20Sopenharmony_ci cs-gpios = <&gpio5 13 GPIO_ACTIVE_LOW>; 748c2ecf20Sopenharmony_ci status = "okay"; 758c2ecf20Sopenharmony_ci 768c2ecf20Sopenharmony_ci eeprom@0 { 778c2ecf20Sopenharmony_ci compatible = "microchip,at25160bn", "atmel,at25"; 788c2ecf20Sopenharmony_ci reg = <0>; 798c2ecf20Sopenharmony_ci spi-max-frequency = <5000000>; 808c2ecf20Sopenharmony_ci spi-cpha; 818c2ecf20Sopenharmony_ci spi-cpol; 828c2ecf20Sopenharmony_ci pagesize = <32>; 838c2ecf20Sopenharmony_ci size = <2048>; 848c2ecf20Sopenharmony_ci address-width = <16>; 858c2ecf20Sopenharmony_ci }; 868c2ecf20Sopenharmony_ci}; 878c2ecf20Sopenharmony_ci 888c2ecf20Sopenharmony_ci&i2c2 { 898c2ecf20Sopenharmony_ci clock-frequency = <400000>; 908c2ecf20Sopenharmony_ci pinctrl-names = "default"; 918c2ecf20Sopenharmony_ci pinctrl-0 = <&pinctrl_i2c2>; 928c2ecf20Sopenharmony_ci status = "okay"; 938c2ecf20Sopenharmony_ci}; 948c2ecf20Sopenharmony_ci 958c2ecf20Sopenharmony_ci&i2c4 { 968c2ecf20Sopenharmony_ci clock-frequency = <400000>; 978c2ecf20Sopenharmony_ci pinctrl-names = "default"; 988c2ecf20Sopenharmony_ci pinctrl-0 = <&pinctrl_i2c4>; 998c2ecf20Sopenharmony_ci status = "okay"; 1008c2ecf20Sopenharmony_ci 1018c2ecf20Sopenharmony_ci wm8962: audio-codec@1a { 1028c2ecf20Sopenharmony_ci compatible = "wlf,wm8962"; 1038c2ecf20Sopenharmony_ci reg = <0x1a>; 1048c2ecf20Sopenharmony_ci clocks = <&clk IMX8MM_CLK_SAI3_ROOT>; 1058c2ecf20Sopenharmony_ci clock-names = "xclk"; 1068c2ecf20Sopenharmony_ci DCVDD-supply = <®_audio>; 1078c2ecf20Sopenharmony_ci DBVDD-supply = <®_audio>; 1088c2ecf20Sopenharmony_ci AVDD-supply = <®_audio>; 1098c2ecf20Sopenharmony_ci CPVDD-supply = <®_audio>; 1108c2ecf20Sopenharmony_ci MICVDD-supply = <®_audio>; 1118c2ecf20Sopenharmony_ci PLLVDD-supply = <®_audio>; 1128c2ecf20Sopenharmony_ci SPKVDD1-supply = <®_audio>; 1138c2ecf20Sopenharmony_ci SPKVDD2-supply = <®_audio>; 1148c2ecf20Sopenharmony_ci gpio-cfg = < 1158c2ecf20Sopenharmony_ci 0x0000 /* 0:Default */ 1168c2ecf20Sopenharmony_ci 0x0000 /* 1:Default */ 1178c2ecf20Sopenharmony_ci 0x0000 /* 2:FN_DMICCLK */ 1188c2ecf20Sopenharmony_ci 0x0000 /* 3:Default */ 1198c2ecf20Sopenharmony_ci 0x0000 /* 4:FN_DMICCDAT */ 1208c2ecf20Sopenharmony_ci 0x0000 /* 5:Default */ 1218c2ecf20Sopenharmony_ci >; 1228c2ecf20Sopenharmony_ci }; 1238c2ecf20Sopenharmony_ci 1248c2ecf20Sopenharmony_ci pca6416_0: gpio@20 { 1258c2ecf20Sopenharmony_ci compatible = "nxp,pcal6416"; 1268c2ecf20Sopenharmony_ci reg = <0x20>; 1278c2ecf20Sopenharmony_ci pinctrl-names = "default"; 1288c2ecf20Sopenharmony_ci pinctrl-0 = <&pinctrl_pcal6414>; 1298c2ecf20Sopenharmony_ci gpio-controller; 1308c2ecf20Sopenharmony_ci #gpio-cells = <2>; 1318c2ecf20Sopenharmony_ci interrupt-parent = <&gpio4>; 1328c2ecf20Sopenharmony_ci interrupts = <27 IRQ_TYPE_LEVEL_LOW>; 1338c2ecf20Sopenharmony_ci }; 1348c2ecf20Sopenharmony_ci 1358c2ecf20Sopenharmony_ci pca6416_1: gpio@21 { 1368c2ecf20Sopenharmony_ci compatible = "nxp,pcal6416"; 1378c2ecf20Sopenharmony_ci reg = <0x21>; 1388c2ecf20Sopenharmony_ci gpio-controller; 1398c2ecf20Sopenharmony_ci #gpio-cells = <2>; 1408c2ecf20Sopenharmony_ci interrupt-parent = <&gpio4>; 1418c2ecf20Sopenharmony_ci interrupts = <27 IRQ_TYPE_LEVEL_LOW>; 1428c2ecf20Sopenharmony_ci }; 1438c2ecf20Sopenharmony_ci}; 1448c2ecf20Sopenharmony_ci 1458c2ecf20Sopenharmony_ci&sai3 { 1468c2ecf20Sopenharmony_ci pinctrl-names = "default"; 1478c2ecf20Sopenharmony_ci pinctrl-0 = <&pinctrl_sai3>; 1488c2ecf20Sopenharmony_ci assigned-clocks = <&clk IMX8MM_CLK_SAI3>; 1498c2ecf20Sopenharmony_ci assigned-clock-parents = <&clk IMX8MM_AUDIO_PLL1_OUT>; 1508c2ecf20Sopenharmony_ci assigned-clock-rates = <24576000>; 1518c2ecf20Sopenharmony_ci fsl,sai-mclk-direction-output; 1528c2ecf20Sopenharmony_ci status = "okay"; 1538c2ecf20Sopenharmony_ci}; 1548c2ecf20Sopenharmony_ci 1558c2ecf20Sopenharmony_ci&snvs_pwrkey { 1568c2ecf20Sopenharmony_ci status = "okay"; 1578c2ecf20Sopenharmony_ci}; 1588c2ecf20Sopenharmony_ci 1598c2ecf20Sopenharmony_ci&uart2 { /* console */ 1608c2ecf20Sopenharmony_ci pinctrl-names = "default"; 1618c2ecf20Sopenharmony_ci pinctrl-0 = <&pinctrl_uart2>; 1628c2ecf20Sopenharmony_ci status = "okay"; 1638c2ecf20Sopenharmony_ci}; 1648c2ecf20Sopenharmony_ci 1658c2ecf20Sopenharmony_ci&uart3 { 1668c2ecf20Sopenharmony_ci pinctrl-names = "default"; 1678c2ecf20Sopenharmony_ci pinctrl-0 = <&pinctrl_uart3>; 1688c2ecf20Sopenharmony_ci assigned-clocks = <&clk IMX8MM_CLK_UART3>; 1698c2ecf20Sopenharmony_ci assigned-clock-parents = <&clk IMX8MM_SYS_PLL1_80M>; 1708c2ecf20Sopenharmony_ci uart-has-rtscts; 1718c2ecf20Sopenharmony_ci status = "okay"; 1728c2ecf20Sopenharmony_ci}; 1738c2ecf20Sopenharmony_ci 1748c2ecf20Sopenharmony_ci&usdhc2 { 1758c2ecf20Sopenharmony_ci pinctrl-names = "default", "state_100mhz", "state_200mhz"; 1768c2ecf20Sopenharmony_ci pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>; 1778c2ecf20Sopenharmony_ci pinctrl-1 = <&pinctrl_usdhc2_100mhz>; 1788c2ecf20Sopenharmony_ci pinctrl-2 = <&pinctrl_usdhc2_200mhz>; 1798c2ecf20Sopenharmony_ci bus-width = <4>; 1808c2ecf20Sopenharmony_ci vmmc-supply = <®_usdhc2_vmmc>; 1818c2ecf20Sopenharmony_ci status = "okay"; 1828c2ecf20Sopenharmony_ci}; 1838c2ecf20Sopenharmony_ci 1848c2ecf20Sopenharmony_ci&iomuxc { 1858c2ecf20Sopenharmony_ci pinctrl_espi2: espi2grp { 1868c2ecf20Sopenharmony_ci fsl,pins = < 1878c2ecf20Sopenharmony_ci MX8MM_IOMUXC_ECSPI2_SCLK_ECSPI2_SCLK 0x82 1888c2ecf20Sopenharmony_ci MX8MM_IOMUXC_ECSPI2_MOSI_ECSPI2_MOSI 0x82 1898c2ecf20Sopenharmony_ci MX8MM_IOMUXC_ECSPI2_MISO_ECSPI2_MISO 0x82 1908c2ecf20Sopenharmony_ci MX8MM_IOMUXC_ECSPI2_SS0_GPIO5_IO13 0x41 1918c2ecf20Sopenharmony_ci >; 1928c2ecf20Sopenharmony_ci }; 1938c2ecf20Sopenharmony_ci 1948c2ecf20Sopenharmony_ci pinctrl_i2c2: i2c2grp { 1958c2ecf20Sopenharmony_ci fsl,pins = < 1968c2ecf20Sopenharmony_ci MX8MM_IOMUXC_I2C2_SCL_I2C2_SCL 0x400001c3 1978c2ecf20Sopenharmony_ci MX8MM_IOMUXC_I2C2_SDA_I2C2_SDA 0x400001c3 1988c2ecf20Sopenharmony_ci >; 1998c2ecf20Sopenharmony_ci }; 2008c2ecf20Sopenharmony_ci 2018c2ecf20Sopenharmony_ci pinctrl_i2c4: i2c4grp { 2028c2ecf20Sopenharmony_ci fsl,pins = < 2038c2ecf20Sopenharmony_ci MX8MM_IOMUXC_I2C4_SCL_I2C4_SCL 0x400001c3 2048c2ecf20Sopenharmony_ci MX8MM_IOMUXC_I2C4_SDA_I2C4_SDA 0x400001c3 2058c2ecf20Sopenharmony_ci >; 2068c2ecf20Sopenharmony_ci }; 2078c2ecf20Sopenharmony_ci 2088c2ecf20Sopenharmony_ci pinctrl_led3: led3grp { 2098c2ecf20Sopenharmony_ci fsl,pins = < 2108c2ecf20Sopenharmony_ci MX8MM_IOMUXC_SAI3_RXFS_GPIO4_IO28 0x41 2118c2ecf20Sopenharmony_ci >; 2128c2ecf20Sopenharmony_ci }; 2138c2ecf20Sopenharmony_ci 2148c2ecf20Sopenharmony_ci pinctrl_pcal6414: pcal6414-gpiogrp { 2158c2ecf20Sopenharmony_ci fsl,pins = < 2168c2ecf20Sopenharmony_ci MX8MM_IOMUXC_SAI2_MCLK_GPIO4_IO27 0x19 2178c2ecf20Sopenharmony_ci >; 2188c2ecf20Sopenharmony_ci }; 2198c2ecf20Sopenharmony_ci 2208c2ecf20Sopenharmony_ci pinctrl_sai3: sai3grp { 2218c2ecf20Sopenharmony_ci fsl,pins = < 2228c2ecf20Sopenharmony_ci MX8MM_IOMUXC_SAI3_TXFS_SAI3_TX_SYNC 0xd6 2238c2ecf20Sopenharmony_ci MX8MM_IOMUXC_SAI3_TXC_SAI3_TX_BCLK 0xd6 2248c2ecf20Sopenharmony_ci MX8MM_IOMUXC_SAI3_MCLK_SAI3_MCLK 0xd6 2258c2ecf20Sopenharmony_ci MX8MM_IOMUXC_SAI3_TXD_SAI3_TX_DATA0 0xd6 2268c2ecf20Sopenharmony_ci MX8MM_IOMUXC_SAI3_RXD_SAI3_RX_DATA0 0xd6 2278c2ecf20Sopenharmony_ci >; 2288c2ecf20Sopenharmony_ci }; 2298c2ecf20Sopenharmony_ci 2308c2ecf20Sopenharmony_ci pinctrl_uart2: uart2grp { 2318c2ecf20Sopenharmony_ci fsl,pins = < 2328c2ecf20Sopenharmony_ci MX8MM_IOMUXC_UART2_RXD_UART2_DCE_RX 0x140 2338c2ecf20Sopenharmony_ci MX8MM_IOMUXC_UART2_TXD_UART2_DCE_TX 0x140 2348c2ecf20Sopenharmony_ci >; 2358c2ecf20Sopenharmony_ci }; 2368c2ecf20Sopenharmony_ci 2378c2ecf20Sopenharmony_ci pinctrl_uart3: uart3grp { 2388c2ecf20Sopenharmony_ci fsl,pins = < 2398c2ecf20Sopenharmony_ci MX8MM_IOMUXC_ECSPI1_SCLK_UART3_DCE_RX 0x40 2408c2ecf20Sopenharmony_ci MX8MM_IOMUXC_ECSPI1_MOSI_UART3_DCE_TX 0x40 2418c2ecf20Sopenharmony_ci MX8MM_IOMUXC_ECSPI1_MISO_UART3_DCE_CTS_B 0x40 2428c2ecf20Sopenharmony_ci MX8MM_IOMUXC_ECSPI1_SS0_UART3_DCE_RTS_B 0x40 2438c2ecf20Sopenharmony_ci >; 2448c2ecf20Sopenharmony_ci }; 2458c2ecf20Sopenharmony_ci 2468c2ecf20Sopenharmony_ci pinctrl_usdhc2_gpio: usdhc2gpiogrp { 2478c2ecf20Sopenharmony_ci fsl,pins = < 2488c2ecf20Sopenharmony_ci MX8MM_IOMUXC_SD2_CD_B_USDHC2_CD_B 0x41 2498c2ecf20Sopenharmony_ci MX8MM_IOMUXC_SD2_RESET_B_GPIO2_IO19 0x41 2508c2ecf20Sopenharmony_ci >; 2518c2ecf20Sopenharmony_ci }; 2528c2ecf20Sopenharmony_ci 2538c2ecf20Sopenharmony_ci pinctrl_usdhc2: usdhc2grp { 2548c2ecf20Sopenharmony_ci fsl,pins = < 2558c2ecf20Sopenharmony_ci MX8MM_IOMUXC_SD2_CLK_USDHC2_CLK 0x190 2568c2ecf20Sopenharmony_ci MX8MM_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d0 2578c2ecf20Sopenharmony_ci MX8MM_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x1d0 2588c2ecf20Sopenharmony_ci MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d0 2598c2ecf20Sopenharmony_ci MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d0 2608c2ecf20Sopenharmony_ci MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d0 2618c2ecf20Sopenharmony_ci MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x1d0 2628c2ecf20Sopenharmony_ci >; 2638c2ecf20Sopenharmony_ci }; 2648c2ecf20Sopenharmony_ci 2658c2ecf20Sopenharmony_ci pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp { 2668c2ecf20Sopenharmony_ci fsl,pins = < 2678c2ecf20Sopenharmony_ci MX8MM_IOMUXC_SD2_CLK_USDHC2_CLK 0x194 2688c2ecf20Sopenharmony_ci MX8MM_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d4 2698c2ecf20Sopenharmony_ci MX8MM_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x1d4 2708c2ecf20Sopenharmony_ci MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d4 2718c2ecf20Sopenharmony_ci MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d4 2728c2ecf20Sopenharmony_ci MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d4 2738c2ecf20Sopenharmony_ci MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x1d0 2748c2ecf20Sopenharmony_ci >; 2758c2ecf20Sopenharmony_ci }; 2768c2ecf20Sopenharmony_ci 2778c2ecf20Sopenharmony_ci pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp { 2788c2ecf20Sopenharmony_ci fsl,pins = < 2798c2ecf20Sopenharmony_ci MX8MM_IOMUXC_SD2_CLK_USDHC2_CLK 0x196 2808c2ecf20Sopenharmony_ci MX8MM_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d6 2818c2ecf20Sopenharmony_ci MX8MM_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x1d6 2828c2ecf20Sopenharmony_ci MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d6 2838c2ecf20Sopenharmony_ci MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d6 2848c2ecf20Sopenharmony_ci MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d6 2858c2ecf20Sopenharmony_ci MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x1d0 2868c2ecf20Sopenharmony_ci >; 2878c2ecf20Sopenharmony_ci }; 2888c2ecf20Sopenharmony_ci}; 289