136ca3c8cSAdam Ford// SPDX-License-Identifier: (GPL-2.0 OR MIT) 236ca3c8cSAdam Ford/* 336ca3c8cSAdam Ford * Copyright 2020 Compass Electronics Group, LLC 436ca3c8cSAdam Ford */ 536ca3c8cSAdam Ford 636ca3c8cSAdam Ford/ { 736ca3c8cSAdam Ford leds { 836ca3c8cSAdam Ford compatible = "gpio-leds"; 936ca3c8cSAdam Ford 1036ca3c8cSAdam Ford led-0 { 1136ca3c8cSAdam Ford label = "gen_led0"; 1236ca3c8cSAdam Ford gpios = <&pca6416_1 4 GPIO_ACTIVE_HIGH>; 1336ca3c8cSAdam Ford default-state = "off"; 1436ca3c8cSAdam Ford }; 1536ca3c8cSAdam Ford 1636ca3c8cSAdam Ford led-1 { 1736ca3c8cSAdam Ford label = "gen_led1"; 1836ca3c8cSAdam Ford gpios = <&pca6416_1 5 GPIO_ACTIVE_HIGH>; 1936ca3c8cSAdam Ford default-state = "off"; 2036ca3c8cSAdam Ford }; 2136ca3c8cSAdam Ford 2236ca3c8cSAdam Ford led-2 { 2336ca3c8cSAdam Ford label = "gen_led2"; 2436ca3c8cSAdam Ford gpios = <&pca6416_1 6 GPIO_ACTIVE_HIGH>; 2536ca3c8cSAdam Ford default-state = "off"; 2636ca3c8cSAdam Ford }; 2736ca3c8cSAdam Ford 2836ca3c8cSAdam Ford led-3 { 2936ca3c8cSAdam Ford pinctrl-names = "default"; 3036ca3c8cSAdam Ford pinctrl-0 = <&pinctrl_led3>; 3136ca3c8cSAdam Ford label = "heartbeat"; 3236ca3c8cSAdam Ford gpios = <&gpio4 28 GPIO_ACTIVE_HIGH>; 3336ca3c8cSAdam Ford linux,default-trigger = "heartbeat"; 3436ca3c8cSAdam Ford }; 3536ca3c8cSAdam Ford }; 3636ca3c8cSAdam Ford 3736ca3c8cSAdam Ford reg_audio: regulator-audio { 3836ca3c8cSAdam Ford compatible = "regulator-fixed"; 3936ca3c8cSAdam Ford regulator-name = "3v3_aud"; 4036ca3c8cSAdam Ford regulator-min-microvolt = <3300000>; 4136ca3c8cSAdam Ford regulator-max-microvolt = <3300000>; 4236ca3c8cSAdam Ford gpio = <&pca6416_1 11 GPIO_ACTIVE_HIGH>; 4336ca3c8cSAdam Ford enable-active-high; 4436ca3c8cSAdam Ford }; 4536ca3c8cSAdam Ford 4636ca3c8cSAdam Ford reg_usdhc2_vmmc: regulator-usdhc2 { 4736ca3c8cSAdam Ford compatible = "regulator-fixed"; 4836ca3c8cSAdam Ford regulator-name = "vsd_3v3"; 4936ca3c8cSAdam Ford regulator-min-microvolt = <3300000>; 5036ca3c8cSAdam Ford regulator-max-microvolt = <3300000>; 5136ca3c8cSAdam Ford gpio = <&gpio2 19 GPIO_ACTIVE_HIGH>; 5236ca3c8cSAdam Ford enable-active-high; 5336ca3c8cSAdam Ford }; 5436ca3c8cSAdam Ford 5536ca3c8cSAdam Ford reg_usb_otg_vbus: regulator-usb { 5636ca3c8cSAdam Ford compatible = "regulator-fixed"; 5736ca3c8cSAdam Ford pinctrl-names = "default"; 5836ca3c8cSAdam Ford pinctrl-0 = <&pinctrl_reg_usb_otg>; 5936ca3c8cSAdam Ford regulator-name = "usb_otg_vbus"; 6036ca3c8cSAdam Ford regulator-min-microvolt = <5000000>; 6136ca3c8cSAdam Ford regulator-max-microvolt = <5000000>; 6236ca3c8cSAdam Ford gpio = <&gpio4 29 GPIO_ACTIVE_HIGH>; 6336ca3c8cSAdam Ford enable-active-high; 6436ca3c8cSAdam Ford }; 6536ca3c8cSAdam Ford 6636ca3c8cSAdam Ford sound { 6736ca3c8cSAdam Ford compatible = "fsl,imx-audio-wm8962"; 6836ca3c8cSAdam Ford model = "wm8962-audio"; 6936ca3c8cSAdam Ford audio-cpu = <&sai3>; 7036ca3c8cSAdam Ford audio-codec = <&wm8962>; 7136ca3c8cSAdam Ford audio-routing = 7236ca3c8cSAdam Ford "Headphone Jack", "HPOUTL", 7336ca3c8cSAdam Ford "Headphone Jack", "HPOUTR", 7436ca3c8cSAdam Ford "Ext Spk", "SPKOUTL", 7536ca3c8cSAdam Ford "Ext Spk", "SPKOUTR", 7636ca3c8cSAdam Ford "AMIC", "MICBIAS", 7736ca3c8cSAdam Ford "IN3R", "AMIC"; 7836ca3c8cSAdam Ford }; 7936ca3c8cSAdam Ford}; 8036ca3c8cSAdam Ford 8136ca3c8cSAdam Ford&ecspi2 { 8236ca3c8cSAdam Ford pinctrl-names = "default"; 8336ca3c8cSAdam Ford pinctrl-0 = <&pinctrl_espi2>; 8436ca3c8cSAdam Ford cs-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>; 8536ca3c8cSAdam Ford status = "okay"; 8636ca3c8cSAdam Ford 8736ca3c8cSAdam Ford eeprom@0 { 8836ca3c8cSAdam Ford compatible = "microchip,at25160bn", "atmel,at25"; 8936ca3c8cSAdam Ford reg = <0>; 9036ca3c8cSAdam Ford spi-max-frequency = <5000000>; 9136ca3c8cSAdam Ford spi-cpha; 9236ca3c8cSAdam Ford spi-cpol; 9336ca3c8cSAdam Ford pagesize = <32>; 9436ca3c8cSAdam Ford size = <2048>; 9536ca3c8cSAdam Ford address-width = <16>; 9636ca3c8cSAdam Ford }; 9736ca3c8cSAdam Ford}; 9836ca3c8cSAdam Ford 9936ca3c8cSAdam Ford&i2c4 { 10036ca3c8cSAdam Ford clock-frequency = <400000>; 10136ca3c8cSAdam Ford pinctrl-names = "default"; 10236ca3c8cSAdam Ford pinctrl-0 = <&pinctrl_i2c4>; 10336ca3c8cSAdam Ford status = "okay"; 10436ca3c8cSAdam Ford 10536ca3c8cSAdam Ford pca6416_0: gpio@20 { 10636ca3c8cSAdam Ford compatible = "nxp,pcal6416"; 10736ca3c8cSAdam Ford reg = <0x20>; 10836ca3c8cSAdam Ford pinctrl-names = "default"; 10936ca3c8cSAdam Ford pinctrl-0 = <&pinctrl_pcal6414>; 11036ca3c8cSAdam Ford gpio-controller; 11136ca3c8cSAdam Ford #gpio-cells = <2>; 11236ca3c8cSAdam Ford interrupt-parent = <&gpio4>; 11336ca3c8cSAdam Ford interrupts = <27 IRQ_TYPE_LEVEL_LOW>; 11436ca3c8cSAdam Ford }; 11536ca3c8cSAdam Ford 11636ca3c8cSAdam Ford pca6416_1: gpio@21 { 11736ca3c8cSAdam Ford compatible = "nxp,pcal6416"; 11836ca3c8cSAdam Ford reg = <0x21>; 11936ca3c8cSAdam Ford gpio-controller; 12036ca3c8cSAdam Ford #gpio-cells = <2>; 12136ca3c8cSAdam Ford interrupt-parent = <&gpio4>; 12236ca3c8cSAdam Ford interrupts = <27 IRQ_TYPE_LEVEL_LOW>; 12336ca3c8cSAdam Ford }; 12436ca3c8cSAdam Ford 12536ca3c8cSAdam Ford wm8962: audio-codec@1a { 12636ca3c8cSAdam Ford compatible = "wlf,wm8962"; 12736ca3c8cSAdam Ford reg = <0x1a>; 12836ca3c8cSAdam Ford clocks = <&clk IMX8MN_CLK_SAI3_ROOT>; 12936ca3c8cSAdam Ford DCVDD-supply = <®_audio>; 13036ca3c8cSAdam Ford DBVDD-supply = <®_audio>; 13136ca3c8cSAdam Ford AVDD-supply = <®_audio>; 13236ca3c8cSAdam Ford CPVDD-supply = <®_audio>; 13336ca3c8cSAdam Ford MICVDD-supply = <®_audio>; 13436ca3c8cSAdam Ford PLLVDD-supply = <®_audio>; 13536ca3c8cSAdam Ford SPKVDD1-supply = <®_audio>; 13636ca3c8cSAdam Ford SPKVDD2-supply = <®_audio>; 13736ca3c8cSAdam Ford gpio-cfg = < 13836ca3c8cSAdam Ford 0x0000 /* 0:Default */ 13936ca3c8cSAdam Ford 0x0000 /* 1:Default */ 14036ca3c8cSAdam Ford 0x0000 /* 2:FN_DMICCLK */ 14136ca3c8cSAdam Ford 0x0000 /* 3:Default */ 14236ca3c8cSAdam Ford 0x0000 /* 4:FN_DMICCDAT */ 14336ca3c8cSAdam Ford 0x0000 /* 5:Default */ 14436ca3c8cSAdam Ford >; 14536ca3c8cSAdam Ford }; 14636ca3c8cSAdam Ford}; 14736ca3c8cSAdam Ford 14836ca3c8cSAdam Ford&easrc { 14936ca3c8cSAdam Ford fsl,asrc-rate = <48000>; 15036ca3c8cSAdam Ford status = "okay"; 15136ca3c8cSAdam Ford}; 15236ca3c8cSAdam Ford 15336ca3c8cSAdam Ford&sai3 { 15436ca3c8cSAdam Ford pinctrl-names = "default"; 15536ca3c8cSAdam Ford pinctrl-0 = <&pinctrl_sai3>; 15636ca3c8cSAdam Ford assigned-clocks = <&clk IMX8MN_CLK_SAI3>; 15736ca3c8cSAdam Ford assigned-clock-parents = <&clk IMX8MN_AUDIO_PLL1_OUT>; 15836ca3c8cSAdam Ford assigned-clock-rates = <24576000>; 15936ca3c8cSAdam Ford fsl,sai-mclk-direction-output; 16036ca3c8cSAdam Ford status = "okay"; 16136ca3c8cSAdam Ford}; 16236ca3c8cSAdam Ford 16336ca3c8cSAdam Ford&snvs_pwrkey { 16436ca3c8cSAdam Ford status = "okay"; 16536ca3c8cSAdam Ford}; 16636ca3c8cSAdam Ford 16736ca3c8cSAdam Ford&uart2 { /* console */ 16836ca3c8cSAdam Ford pinctrl-names = "default"; 16936ca3c8cSAdam Ford pinctrl-0 = <&pinctrl_uart2>; 17036ca3c8cSAdam Ford status = "okay"; 17136ca3c8cSAdam Ford}; 17236ca3c8cSAdam Ford 17336ca3c8cSAdam Ford&uart3 { 17436ca3c8cSAdam Ford pinctrl-names = "default"; 17536ca3c8cSAdam Ford pinctrl-0 = <&pinctrl_uart3>; 17636ca3c8cSAdam Ford assigned-clocks = <&clk IMX8MN_CLK_UART3>; 17736ca3c8cSAdam Ford assigned-clock-parents = <&clk IMX8MN_SYS_PLL1_80M>; 178*5446ff1aSAdam Ford uart-has-rtscts; 17936ca3c8cSAdam Ford status = "okay"; 18036ca3c8cSAdam Ford}; 18136ca3c8cSAdam Ford 18236ca3c8cSAdam Ford&usbotg1 { 18336ca3c8cSAdam Ford vbus-supply = <®_usb_otg_vbus>; 18436ca3c8cSAdam Ford disable-over-current; 18536ca3c8cSAdam Ford dr_mode="otg"; 18636ca3c8cSAdam Ford status = "okay"; 18736ca3c8cSAdam Ford}; 18836ca3c8cSAdam Ford 18936ca3c8cSAdam Ford&usdhc2 { 19036ca3c8cSAdam Ford pinctrl-names = "default", "state_100mhz", "state_200mhz"; 19136ca3c8cSAdam Ford pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>; 19236ca3c8cSAdam Ford pinctrl-1 = <&pinctrl_usdhc2_100mhz>; 19336ca3c8cSAdam Ford pinctrl-2 = <&pinctrl_usdhc2_200mhz>; 19436ca3c8cSAdam Ford bus-width = <4>; 19536ca3c8cSAdam Ford vmmc-supply = <®_usdhc2_vmmc>; 19636ca3c8cSAdam Ford status = "okay"; 19736ca3c8cSAdam Ford}; 19836ca3c8cSAdam Ford 19936ca3c8cSAdam Ford&iomuxc { 20036ca3c8cSAdam Ford pinctrl_espi2: espi2grp { 20136ca3c8cSAdam Ford fsl,pins = < 20236ca3c8cSAdam Ford MX8MN_IOMUXC_ECSPI2_SCLK_ECSPI2_SCLK 0x82 20336ca3c8cSAdam Ford MX8MN_IOMUXC_ECSPI2_MOSI_ECSPI2_MOSI 0x82 20436ca3c8cSAdam Ford MX8MN_IOMUXC_ECSPI2_MISO_ECSPI2_MISO 0x82 20536ca3c8cSAdam Ford MX8MN_IOMUXC_ECSPI1_SS0_GPIO5_IO9 0x41 20636ca3c8cSAdam Ford >; 20736ca3c8cSAdam Ford }; 20836ca3c8cSAdam Ford 20936ca3c8cSAdam Ford pinctrl_i2c2: i2c2grp { 21036ca3c8cSAdam Ford fsl,pins = < 21136ca3c8cSAdam Ford MX8MN_IOMUXC_I2C2_SCL_I2C2_SCL 0x400001c3 21236ca3c8cSAdam Ford MX8MN_IOMUXC_I2C2_SDA_I2C2_SDA 0x400001c3 21336ca3c8cSAdam Ford >; 21436ca3c8cSAdam Ford }; 21536ca3c8cSAdam Ford 21636ca3c8cSAdam Ford pinctrl_i2c4: i2c4grp { 21736ca3c8cSAdam Ford fsl,pins = < 21836ca3c8cSAdam Ford MX8MN_IOMUXC_I2C4_SCL_I2C4_SCL 0x400001c3 21936ca3c8cSAdam Ford MX8MN_IOMUXC_I2C4_SDA_I2C4_SDA 0x400001c3 22036ca3c8cSAdam Ford >; 22136ca3c8cSAdam Ford }; 22236ca3c8cSAdam Ford 22336ca3c8cSAdam Ford pinctrl_led3: led3grp { 22436ca3c8cSAdam Ford fsl,pins = < 22536ca3c8cSAdam Ford MX8MN_IOMUXC_SAI3_RXFS_GPIO4_IO28 0x41 22636ca3c8cSAdam Ford >; 22736ca3c8cSAdam Ford }; 22836ca3c8cSAdam Ford 22936ca3c8cSAdam Ford pinctrl_pcal6414: pcal6414-gpiogrp { 23036ca3c8cSAdam Ford fsl,pins = < 23136ca3c8cSAdam Ford MX8MN_IOMUXC_SAI2_MCLK_GPIO4_IO27 0x19 23236ca3c8cSAdam Ford >; 23336ca3c8cSAdam Ford }; 23436ca3c8cSAdam Ford 23536ca3c8cSAdam Ford pinctrl_reg_usb_otg: reg-otggrp { 23636ca3c8cSAdam Ford fsl,pins = < 23736ca3c8cSAdam Ford MX8MN_IOMUXC_SAI3_RXC_GPIO4_IO29 0x19 23836ca3c8cSAdam Ford >; 23936ca3c8cSAdam Ford }; 24036ca3c8cSAdam Ford 24136ca3c8cSAdam Ford pinctrl_sai3: sai3grp { 24236ca3c8cSAdam Ford fsl,pins = < 24336ca3c8cSAdam Ford MX8MN_IOMUXC_SAI3_TXFS_SAI3_TX_SYNC 0xd6 24436ca3c8cSAdam Ford MX8MN_IOMUXC_SAI3_TXC_SAI3_TX_BCLK 0xd6 24536ca3c8cSAdam Ford MX8MN_IOMUXC_SAI3_MCLK_SAI3_MCLK 0xd6 24636ca3c8cSAdam Ford MX8MN_IOMUXC_SAI3_TXD_SAI3_TX_DATA0 0xd6 24736ca3c8cSAdam Ford MX8MN_IOMUXC_SAI3_RXD_SAI3_RX_DATA0 0xd6 24836ca3c8cSAdam Ford >; 24936ca3c8cSAdam Ford }; 25036ca3c8cSAdam Ford 25136ca3c8cSAdam Ford pinctrl_uart2: uart2grp { 25236ca3c8cSAdam Ford fsl,pins = < 25336ca3c8cSAdam Ford MX8MN_IOMUXC_UART2_RXD_UART2_DCE_RX 0x140 25436ca3c8cSAdam Ford MX8MN_IOMUXC_UART2_TXD_UART2_DCE_TX 0x140 25536ca3c8cSAdam Ford >; 25636ca3c8cSAdam Ford }; 25736ca3c8cSAdam Ford 25836ca3c8cSAdam Ford pinctrl_uart3: uart3grp { 25936ca3c8cSAdam Ford fsl,pins = < 26036ca3c8cSAdam Ford MX8MN_IOMUXC_ECSPI1_SCLK_UART3_DCE_RX 0x40 26136ca3c8cSAdam Ford MX8MN_IOMUXC_ECSPI1_MOSI_UART3_DCE_TX 0x40 262*5446ff1aSAdam Ford MX8MN_IOMUXC_ECSPI1_MISO_UART3_DCE_CTS_B 0x40 263*5446ff1aSAdam Ford MX8MN_IOMUXC_ECSPI1_SS0_UART3_DCE_RTS_B 0x40 26436ca3c8cSAdam Ford >; 26536ca3c8cSAdam Ford }; 26636ca3c8cSAdam Ford 26736ca3c8cSAdam Ford pinctrl_usdhc2_gpio: usdhc2gpiogrp { 26836ca3c8cSAdam Ford fsl,pins = < 26936ca3c8cSAdam Ford MX8MN_IOMUXC_SD2_CD_B_USDHC2_CD_B 0x41 27036ca3c8cSAdam Ford MX8MN_IOMUXC_SD2_RESET_B_GPIO2_IO19 0x41 27136ca3c8cSAdam Ford >; 27236ca3c8cSAdam Ford }; 27336ca3c8cSAdam Ford 27436ca3c8cSAdam Ford pinctrl_usdhc2: usdhc2grp { 27536ca3c8cSAdam Ford fsl,pins = < 27636ca3c8cSAdam Ford MX8MN_IOMUXC_SD2_CLK_USDHC2_CLK 0x190 27736ca3c8cSAdam Ford MX8MN_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d0 27836ca3c8cSAdam Ford MX8MN_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x1d0 27936ca3c8cSAdam Ford MX8MN_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d0 28036ca3c8cSAdam Ford MX8MN_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d0 28136ca3c8cSAdam Ford MX8MN_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d0 28236ca3c8cSAdam Ford MX8MN_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x1d0 28336ca3c8cSAdam Ford >; 28436ca3c8cSAdam Ford }; 28536ca3c8cSAdam Ford 28636ca3c8cSAdam Ford pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp { 28736ca3c8cSAdam Ford fsl,pins = < 28836ca3c8cSAdam Ford MX8MN_IOMUXC_SD2_CLK_USDHC2_CLK 0x194 28936ca3c8cSAdam Ford MX8MN_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d4 29036ca3c8cSAdam Ford MX8MN_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x1d4 29136ca3c8cSAdam Ford MX8MN_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d4 29236ca3c8cSAdam Ford MX8MN_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d4 29336ca3c8cSAdam Ford MX8MN_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d4 29436ca3c8cSAdam Ford MX8MN_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x1d0 29536ca3c8cSAdam Ford >; 29636ca3c8cSAdam Ford }; 29736ca3c8cSAdam Ford 29836ca3c8cSAdam Ford pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp { 29936ca3c8cSAdam Ford fsl,pins = < 30036ca3c8cSAdam Ford MX8MN_IOMUXC_SD2_CLK_USDHC2_CLK 0x196 30136ca3c8cSAdam Ford MX8MN_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d6 30236ca3c8cSAdam Ford MX8MN_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x1d6 30336ca3c8cSAdam Ford MX8MN_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d6 30436ca3c8cSAdam Ford MX8MN_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d6 30536ca3c8cSAdam Ford MX8MN_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d6 30636ca3c8cSAdam Ford MX8MN_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x1d0 30736ca3c8cSAdam Ford >; 30836ca3c8cSAdam Ford }; 30936ca3c8cSAdam Ford}; 310