125a5ccdcSAdam Ford// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 225a5ccdcSAdam Ford/* 325a5ccdcSAdam Ford * Copyright 2023 Logic PD, Inc dba Beacon EmbeddedWorks 425a5ccdcSAdam Ford */ 525a5ccdcSAdam Ford 625a5ccdcSAdam Ford/dts-v1/; 725a5ccdcSAdam Ford 825a5ccdcSAdam Ford#include <dt-bindings/usb/pd.h> 925a5ccdcSAdam Ford#include <dt-bindings/phy/phy-imx8-pcie.h> 1025a5ccdcSAdam Ford#include "imx8mp.dtsi" 1125a5ccdcSAdam Ford#include "imx8mp-beacon-som.dtsi" 1225a5ccdcSAdam Ford 1325a5ccdcSAdam Ford/ { 1425a5ccdcSAdam Ford model = "Beacon EmbeddedWorks i.MX8MPlus Development kit"; 1525a5ccdcSAdam Ford compatible = "beacon,imx8mp-beacon-kit", "fsl,imx8mp"; 1625a5ccdcSAdam Ford 1725a5ccdcSAdam Ford aliases { 1825a5ccdcSAdam Ford ethernet0 = &eqos; 1925a5ccdcSAdam Ford ethernet1 = &fec; 2025a5ccdcSAdam Ford }; 2125a5ccdcSAdam Ford 2225a5ccdcSAdam Ford chosen { 2325a5ccdcSAdam Ford stdout-path = &uart2; 2425a5ccdcSAdam Ford }; 2525a5ccdcSAdam Ford 2625a5ccdcSAdam Ford connector { 2725a5ccdcSAdam Ford compatible = "usb-c-connector"; 2825a5ccdcSAdam Ford label = "USB-C"; 2925a5ccdcSAdam Ford data-role = "dual"; 3025a5ccdcSAdam Ford 3125a5ccdcSAdam Ford ports { 3225a5ccdcSAdam Ford #address-cells = <1>; 3325a5ccdcSAdam Ford #size-cells = <0>; 3425a5ccdcSAdam Ford 3525a5ccdcSAdam Ford port@0 { 3625a5ccdcSAdam Ford reg = <0>; 3725a5ccdcSAdam Ford 3825a5ccdcSAdam Ford hs_ep: endpoint { 3925a5ccdcSAdam Ford remote-endpoint = <&usb3_hs_ep>; 4025a5ccdcSAdam Ford }; 4125a5ccdcSAdam Ford }; 4225a5ccdcSAdam Ford port@1 { 4325a5ccdcSAdam Ford reg = <1>; 4425a5ccdcSAdam Ford 4525a5ccdcSAdam Ford ss_ep: endpoint { 4625a5ccdcSAdam Ford remote-endpoint = <&hd3ss3220_in_ep>; 4725a5ccdcSAdam Ford }; 4825a5ccdcSAdam Ford }; 4925a5ccdcSAdam Ford }; 5025a5ccdcSAdam Ford }; 5125a5ccdcSAdam Ford 5225a5ccdcSAdam Ford gpio-keys { 5325a5ccdcSAdam Ford compatible = "gpio-keys"; 5425a5ccdcSAdam Ford autorepeat; 5525a5ccdcSAdam Ford 5625a5ccdcSAdam Ford button-0 { 5725a5ccdcSAdam Ford label = "btn0"; 5825a5ccdcSAdam Ford linux,code = <BTN_0>; 5925a5ccdcSAdam Ford gpios = <&pca6416_1 12 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; 6025a5ccdcSAdam Ford wakeup-source; 6125a5ccdcSAdam Ford }; 6225a5ccdcSAdam Ford 6325a5ccdcSAdam Ford button-1 { 6425a5ccdcSAdam Ford label = "btn1"; 6525a5ccdcSAdam Ford linux,code = <BTN_1>; 6625a5ccdcSAdam Ford gpios = <&pca6416_1 13 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; 6725a5ccdcSAdam Ford wakeup-source; 6825a5ccdcSAdam Ford }; 6925a5ccdcSAdam Ford 7025a5ccdcSAdam Ford button-2 { 7125a5ccdcSAdam Ford label = "btn2"; 7225a5ccdcSAdam Ford linux,code = <BTN_2>; 7325a5ccdcSAdam Ford gpios = <&pca6416_1 14 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; 7425a5ccdcSAdam Ford wakeup-source; 7525a5ccdcSAdam Ford }; 7625a5ccdcSAdam Ford 7725a5ccdcSAdam Ford button-3 { 7825a5ccdcSAdam Ford label = "btn3"; 7925a5ccdcSAdam Ford linux,code = <BTN_3>; 8025a5ccdcSAdam Ford gpios = <&pca6416_1 15 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; 8125a5ccdcSAdam Ford wakeup-source; 8225a5ccdcSAdam Ford }; 8325a5ccdcSAdam Ford }; 8425a5ccdcSAdam Ford 8525a5ccdcSAdam Ford leds { 8625a5ccdcSAdam Ford compatible = "gpio-leds"; 8725a5ccdcSAdam Ford pinctrl-names = "default"; 8825a5ccdcSAdam Ford pinctrl-0 = <&pinctrl_led3>; 8925a5ccdcSAdam Ford 9025a5ccdcSAdam Ford led-0 { 9125a5ccdcSAdam Ford label = "gen_led0"; 9225a5ccdcSAdam Ford gpios = <&pca6416_1 4 GPIO_ACTIVE_HIGH>; 9325a5ccdcSAdam Ford default-state = "off"; 9425a5ccdcSAdam Ford }; 9525a5ccdcSAdam Ford 9625a5ccdcSAdam Ford led-1 { 9725a5ccdcSAdam Ford label = "gen_led1"; 9825a5ccdcSAdam Ford gpios = <&pca6416_1 5 GPIO_ACTIVE_HIGH>; 9925a5ccdcSAdam Ford default-state = "off"; 10025a5ccdcSAdam Ford }; 10125a5ccdcSAdam Ford 10225a5ccdcSAdam Ford led-2 { 10325a5ccdcSAdam Ford label = "gen_led2"; 10425a5ccdcSAdam Ford gpios = <&pca6416_1 6 GPIO_ACTIVE_HIGH>; 10525a5ccdcSAdam Ford default-state = "off"; 10625a5ccdcSAdam Ford }; 10725a5ccdcSAdam Ford 10825a5ccdcSAdam Ford led-3 { 10925a5ccdcSAdam Ford label = "heartbeat"; 11025a5ccdcSAdam Ford gpios = <&gpio4 28 GPIO_ACTIVE_HIGH>; 11125a5ccdcSAdam Ford linux,default-trigger = "heartbeat"; 11225a5ccdcSAdam Ford }; 11325a5ccdcSAdam Ford }; 11425a5ccdcSAdam Ford 11525a5ccdcSAdam Ford pcie0_refclk: clock-pcie { 11625a5ccdcSAdam Ford compatible = "fixed-clock"; 11725a5ccdcSAdam Ford #clock-cells = <0>; 11825a5ccdcSAdam Ford clock-frequency = <100000000>; 11925a5ccdcSAdam Ford }; 12025a5ccdcSAdam Ford 12169e2f37aSAdam Ford reg_audio: regulator-wm8962 { 12269e2f37aSAdam Ford compatible = "regulator-fixed"; 12369e2f37aSAdam Ford regulator-name = "3v3_aud"; 12469e2f37aSAdam Ford regulator-min-microvolt = <3300000>; 12569e2f37aSAdam Ford regulator-max-microvolt = <3300000>; 12669e2f37aSAdam Ford gpio = <&pca6416_1 11 GPIO_ACTIVE_HIGH>; 12769e2f37aSAdam Ford enable-active-high; 12869e2f37aSAdam Ford }; 12969e2f37aSAdam Ford 13025a5ccdcSAdam Ford reg_usdhc2_vmmc: regulator-usdhc2 { 13125a5ccdcSAdam Ford compatible = "regulator-fixed"; 13225a5ccdcSAdam Ford regulator-name = "VSD_3V3"; 13325a5ccdcSAdam Ford regulator-min-microvolt = <3300000>; 13425a5ccdcSAdam Ford regulator-max-microvolt = <3300000>; 13525a5ccdcSAdam Ford gpio = <&gpio2 19 GPIO_ACTIVE_HIGH>; 13625a5ccdcSAdam Ford enable-active-high; 13725a5ccdcSAdam Ford startup-delay-us = <100>; 13825a5ccdcSAdam Ford off-on-delay-us = <20000>; 13925a5ccdcSAdam Ford }; 14025a5ccdcSAdam Ford 14125a5ccdcSAdam Ford reg_usb1_host_vbus: regulator-usb1-vbus { 14225a5ccdcSAdam Ford compatible = "regulator-fixed"; 14325a5ccdcSAdam Ford regulator-name = "usb1_host_vbus"; 14425a5ccdcSAdam Ford regulator-max-microvolt = <5000000>; 14525a5ccdcSAdam Ford regulator-min-microvolt = <5000000>; 14625a5ccdcSAdam Ford gpio = <&pca6416_1 0 GPIO_ACTIVE_HIGH>; 14725a5ccdcSAdam Ford enable-active-high; 14825a5ccdcSAdam Ford }; 14969e2f37aSAdam Ford 15069e2f37aSAdam Ford sound-wm8962 { 15169e2f37aSAdam Ford compatible = "simple-audio-card"; 15269e2f37aSAdam Ford simple-audio-card,name = "wm8962"; 15369e2f37aSAdam Ford simple-audio-card,format = "i2s"; 15469e2f37aSAdam Ford simple-audio-card,widgets = "Headphone", "Headphones", 15569e2f37aSAdam Ford "Microphone", "Headset Mic", 15669e2f37aSAdam Ford "Speaker", "Speaker"; 15769e2f37aSAdam Ford simple-audio-card,routing = "Headphones", "HPOUTL", 15869e2f37aSAdam Ford "Headphones", "HPOUTR", 15969e2f37aSAdam Ford "Speaker", "SPKOUTL", 16069e2f37aSAdam Ford "Speaker", "SPKOUTR", 16169e2f37aSAdam Ford "Headset Mic", "MICBIAS", 16269e2f37aSAdam Ford "IN3R", "Headset Mic"; 16369e2f37aSAdam Ford 16469e2f37aSAdam Ford simple-audio-card,cpu { 16569e2f37aSAdam Ford sound-dai = <&sai3>; 166*228d69f9SAdam Ford frame-master; 167*228d69f9SAdam Ford bitclock-master; 16869e2f37aSAdam Ford }; 16969e2f37aSAdam Ford 17069e2f37aSAdam Ford simple-audio-card,codec { 17169e2f37aSAdam Ford sound-dai = <&wm8962>; 17269e2f37aSAdam Ford }; 17369e2f37aSAdam Ford }; 17425a5ccdcSAdam Ford}; 17525a5ccdcSAdam Ford 17625a5ccdcSAdam Ford&ecspi2 { 17725a5ccdcSAdam Ford pinctrl-names = "default"; 17825a5ccdcSAdam Ford pinctrl-0 = <&pinctrl_ecspi2>; 17925a5ccdcSAdam Ford cs-gpios = <&gpio5 13 GPIO_ACTIVE_LOW>; 18025a5ccdcSAdam Ford status = "okay"; 18125a5ccdcSAdam Ford 18225a5ccdcSAdam Ford tpm: tpm@0 { 18325a5ccdcSAdam Ford compatible = "infineon,slb9670"; 18425a5ccdcSAdam Ford reg = <0>; 18525a5ccdcSAdam Ford pinctrl-names = "default"; 18625a5ccdcSAdam Ford pinctrl-0 = <&pinctrl_tpm>; 18725a5ccdcSAdam Ford reset-gpios = <&gpio4 0 GPIO_ACTIVE_LOW>; 18825a5ccdcSAdam Ford spi-max-frequency = <18500000>; 18925a5ccdcSAdam Ford }; 19025a5ccdcSAdam Ford}; 19125a5ccdcSAdam Ford 19225a5ccdcSAdam Ford&fec { 19325a5ccdcSAdam Ford pinctrl-names = "default"; 19425a5ccdcSAdam Ford pinctrl-0 = <&pinctrl_fec>; 19525a5ccdcSAdam Ford phy-mode = "rgmii-id"; 19625a5ccdcSAdam Ford phy-handle = <ðphy1>; 19725a5ccdcSAdam Ford fsl,magic-packet; 19825a5ccdcSAdam Ford status = "okay"; 19925a5ccdcSAdam Ford 20025a5ccdcSAdam Ford mdio { 20125a5ccdcSAdam Ford #address-cells = <1>; 20225a5ccdcSAdam Ford #size-cells = <0>; 20325a5ccdcSAdam Ford 20425a5ccdcSAdam Ford ethphy1: ethernet-phy@3 { 20525a5ccdcSAdam Ford compatible = "ethernet-phy-id0022.1640", 20625a5ccdcSAdam Ford "ethernet-phy-ieee802.3-c22"; 20725a5ccdcSAdam Ford reg = <3>; 20825a5ccdcSAdam Ford reset-gpios = <&gpio4 18 GPIO_ACTIVE_LOW>; 20925a5ccdcSAdam Ford reset-assert-us = <10000>; 21025a5ccdcSAdam Ford reset-deassert-us = <150000>; 21125a5ccdcSAdam Ford interrupt-parent = <&gpio4>; 21225a5ccdcSAdam Ford interrupts = <2 IRQ_TYPE_LEVEL_LOW>; 21325a5ccdcSAdam Ford }; 21425a5ccdcSAdam Ford }; 21525a5ccdcSAdam Ford}; 21625a5ccdcSAdam Ford 21725a5ccdcSAdam Ford&flexcan1 { 21825a5ccdcSAdam Ford pinctrl-names = "default"; 21925a5ccdcSAdam Ford pinctrl-0 = <&pinctrl_flexcan1>; 22025a5ccdcSAdam Ford status = "okay"; 22125a5ccdcSAdam Ford}; 22225a5ccdcSAdam Ford 22325a5ccdcSAdam Ford&gpio2 { 22425a5ccdcSAdam Ford usb-mux-hog { 22525a5ccdcSAdam Ford gpio-hog; 22625a5ccdcSAdam Ford gpios = <20 0>; 22725a5ccdcSAdam Ford output-low; 22825a5ccdcSAdam Ford line-name = "USB-C Mux En"; 22925a5ccdcSAdam Ford }; 23025a5ccdcSAdam Ford}; 23125a5ccdcSAdam Ford 23225a5ccdcSAdam Ford&i2c2 { 23325a5ccdcSAdam Ford clock-frequency = <384000>; 23425a5ccdcSAdam Ford pinctrl-names = "default"; 23525a5ccdcSAdam Ford pinctrl-0 = <&pinctrl_i2c2>; 23625a5ccdcSAdam Ford status = "okay"; 23725a5ccdcSAdam Ford 23825a5ccdcSAdam Ford pca6416_3: gpio@20 { 23925a5ccdcSAdam Ford compatible = "nxp,pcal6416"; 24025a5ccdcSAdam Ford reg = <0x20>; 24125a5ccdcSAdam Ford gpio-controller; 24225a5ccdcSAdam Ford #gpio-cells = <2>; 24325a5ccdcSAdam Ford interrupt-parent = <&gpio4>; 24425a5ccdcSAdam Ford interrupts = <27 IRQ_TYPE_EDGE_FALLING>; 24525a5ccdcSAdam Ford interrupt-controller; 24625a5ccdcSAdam Ford #interrupt-cells = <2>; 24725a5ccdcSAdam Ford }; 24825a5ccdcSAdam Ford}; 24925a5ccdcSAdam Ford 25025a5ccdcSAdam Ford&i2c3 { 25125a5ccdcSAdam Ford /* Connected to USB Hub */ 25225a5ccdcSAdam Ford usb-typec@52 { 25325a5ccdcSAdam Ford compatible = "nxp,ptn5110"; 25425a5ccdcSAdam Ford reg = <0x52>; 25525a5ccdcSAdam Ford pinctrl-names = "default"; 25625a5ccdcSAdam Ford pinctrl-0 = <&pinctrl_typec>; 25725a5ccdcSAdam Ford interrupt-parent = <&gpio4>; 25825a5ccdcSAdam Ford interrupts = <1 IRQ_TYPE_LEVEL_LOW>; 25925a5ccdcSAdam Ford 26025a5ccdcSAdam Ford connector { 26125a5ccdcSAdam Ford compatible = "usb-c-connector"; 26225a5ccdcSAdam Ford label = "USB-C"; 26325a5ccdcSAdam Ford power-role = "source"; 26425a5ccdcSAdam Ford data-role = "host"; 26525a5ccdcSAdam Ford source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>; 26625a5ccdcSAdam Ford }; 26725a5ccdcSAdam Ford }; 26825a5ccdcSAdam Ford}; 26925a5ccdcSAdam Ford 27025a5ccdcSAdam Ford&i2c4 { 27125a5ccdcSAdam Ford pinctrl-names = "default"; 27225a5ccdcSAdam Ford pinctrl-0 = <&pinctrl_i2c4>; 27325a5ccdcSAdam Ford clock-frequency = <384000>; 27425a5ccdcSAdam Ford status = "okay"; 27525a5ccdcSAdam Ford 27669e2f37aSAdam Ford wm8962: audio-codec@1a { 27769e2f37aSAdam Ford compatible = "wlf,wm8962"; 27869e2f37aSAdam Ford reg = <0x1a>; 27969e2f37aSAdam Ford pinctrl-names = "default"; 28069e2f37aSAdam Ford pinctrl-0 = <&pinctrl_wm8962>; 28169e2f37aSAdam Ford clocks = <&clk IMX8MP_CLK_IPP_DO_CLKO1>; 28269e2f37aSAdam Ford assigned-clocks = <&clk IMX8MP_CLK_IPP_DO_CLKO1>; 28369e2f37aSAdam Ford assigned-clock-parents = <&clk IMX8MP_AUDIO_PLL2_OUT>; 28469e2f37aSAdam Ford assigned-clock-rates = <22576000>; 28569e2f37aSAdam Ford DCVDD-supply = <®_audio>; 28669e2f37aSAdam Ford DBVDD-supply = <®_audio>; 28769e2f37aSAdam Ford AVDD-supply = <®_audio>; 28869e2f37aSAdam Ford CPVDD-supply = <®_audio>; 28969e2f37aSAdam Ford MICVDD-supply = <®_audio>; 29069e2f37aSAdam Ford PLLVDD-supply = <®_audio>; 29169e2f37aSAdam Ford SPKVDD1-supply = <®_audio>; 29269e2f37aSAdam Ford SPKVDD2-supply = <®_audio>; 29369e2f37aSAdam Ford gpio-cfg = < 29469e2f37aSAdam Ford 0x0000 /* 0:Default */ 29569e2f37aSAdam Ford 0x0000 /* 1:Default */ 29669e2f37aSAdam Ford 0x0000 /* 2:FN_DMICCLK */ 29769e2f37aSAdam Ford 0x0000 /* 3:Default */ 29869e2f37aSAdam Ford 0x0000 /* 4:FN_DMICCDAT */ 29969e2f37aSAdam Ford 0x0000 /* 5:Default */ 30069e2f37aSAdam Ford >; 30169e2f37aSAdam Ford #sound-dai-cells = <0>; 30269e2f37aSAdam Ford }; 30369e2f37aSAdam Ford 30425a5ccdcSAdam Ford pca6416: gpio@20 { 30525a5ccdcSAdam Ford compatible = "nxp,pcal6416"; 30625a5ccdcSAdam Ford reg = <0x20>; 30725a5ccdcSAdam Ford pinctrl-names = "default"; 30825a5ccdcSAdam Ford pinctrl-0 = <&pinctrl_pcal6414>; 30925a5ccdcSAdam Ford gpio-controller; 31025a5ccdcSAdam Ford #gpio-cells = <2>; 31125a5ccdcSAdam Ford interrupt-parent = <&gpio4>; 31225a5ccdcSAdam Ford interrupts = <27 IRQ_TYPE_EDGE_FALLING>; 31325a5ccdcSAdam Ford interrupt-controller; 31425a5ccdcSAdam Ford #interrupt-cells = <2>; 31525a5ccdcSAdam Ford }; 31625a5ccdcSAdam Ford 31725a5ccdcSAdam Ford pca6416_1: gpio@21 { 31825a5ccdcSAdam Ford compatible = "nxp,pcal6416"; 31925a5ccdcSAdam Ford reg = <0x21>; 32025a5ccdcSAdam Ford gpio-controller; 32125a5ccdcSAdam Ford #gpio-cells = <2>; 32225a5ccdcSAdam Ford interrupt-parent = <&gpio4>; 32325a5ccdcSAdam Ford interrupts = <27 IRQ_TYPE_EDGE_FALLING>; 32425a5ccdcSAdam Ford interrupt-controller; 32525a5ccdcSAdam Ford #interrupt-cells = <2>; 32625a5ccdcSAdam Ford 32725a5ccdcSAdam Ford usb-hub-hog { 32825a5ccdcSAdam Ford gpio-hog; 32925a5ccdcSAdam Ford gpios = <7 0>; 33025a5ccdcSAdam Ford output-low; 33125a5ccdcSAdam Ford line-name = "USB Hub Enable"; 33225a5ccdcSAdam Ford }; 33325a5ccdcSAdam Ford }; 33425a5ccdcSAdam Ford 33525a5ccdcSAdam Ford usb-typec@47 { 33625a5ccdcSAdam Ford compatible = "ti,hd3ss3220"; 33725a5ccdcSAdam Ford reg = <0x47>; 33825a5ccdcSAdam Ford pinctrl-names = "default"; 33925a5ccdcSAdam Ford pinctrl-0 = <&pinctrl_hd3ss3220>; 34025a5ccdcSAdam Ford interrupt-parent = <&gpio4>; 34125a5ccdcSAdam Ford interrupts = <19 IRQ_TYPE_LEVEL_LOW>; 34225a5ccdcSAdam Ford 34325a5ccdcSAdam Ford ports { 34425a5ccdcSAdam Ford #address-cells = <1>; 34525a5ccdcSAdam Ford #size-cells = <0>; 34625a5ccdcSAdam Ford 34725a5ccdcSAdam Ford port@0 { 34825a5ccdcSAdam Ford reg = <0>; 34925a5ccdcSAdam Ford 35025a5ccdcSAdam Ford hd3ss3220_in_ep: endpoint { 35125a5ccdcSAdam Ford remote-endpoint = <&ss_ep>; 35225a5ccdcSAdam Ford }; 35325a5ccdcSAdam Ford }; 35425a5ccdcSAdam Ford 35525a5ccdcSAdam Ford port@1 { 35625a5ccdcSAdam Ford reg = <1>; 35725a5ccdcSAdam Ford 35825a5ccdcSAdam Ford hd3ss3220_out_ep: endpoint { 35925a5ccdcSAdam Ford remote-endpoint = <&usb3_role_switch>; 36025a5ccdcSAdam Ford }; 36125a5ccdcSAdam Ford }; 36225a5ccdcSAdam Ford }; 36325a5ccdcSAdam Ford }; 36425a5ccdcSAdam Ford}; 36525a5ccdcSAdam Ford 36625a5ccdcSAdam Ford&pcie { 36725a5ccdcSAdam Ford pinctrl-names = "default"; 36825a5ccdcSAdam Ford pinctrl-0 = <&pinctrl_pcie>; 36925a5ccdcSAdam Ford reset-gpio = <&gpio4 21 GPIO_ACTIVE_LOW>; 37025a5ccdcSAdam Ford status = "okay"; 37125a5ccdcSAdam Ford}; 37225a5ccdcSAdam Ford 37325a5ccdcSAdam Ford&pcie_phy { 37425a5ccdcSAdam Ford fsl,refclk-pad-mode = <IMX8_PCIE_REFCLK_PAD_INPUT>; 37525a5ccdcSAdam Ford clocks = <&pcie0_refclk>; 37625a5ccdcSAdam Ford clock-names = "ref"; 37725a5ccdcSAdam Ford status = "okay"; 37825a5ccdcSAdam Ford}; 37925a5ccdcSAdam Ford 38069e2f37aSAdam Ford&sai3 { 38169e2f37aSAdam Ford pinctrl-names = "default"; 38269e2f37aSAdam Ford pinctrl-0 = <&pinctrl_sai3>; 383*228d69f9SAdam Ford assigned-clocks = <&clk IMX8MP_CLK_SAI3>; 384*228d69f9SAdam Ford assigned-clock-parents = <&clk IMX8MP_AUDIO_PLL1_OUT>; 385*228d69f9SAdam Ford assigned-clock-rates = <12288000>; 38669e2f37aSAdam Ford fsl,sai-mclk-direction-output; 38769e2f37aSAdam Ford status = "okay"; 38869e2f37aSAdam Ford}; 38969e2f37aSAdam Ford 39025a5ccdcSAdam Ford&snvs_pwrkey { 39125a5ccdcSAdam Ford status = "okay"; 39225a5ccdcSAdam Ford}; 39325a5ccdcSAdam Ford 39425a5ccdcSAdam Ford&uart2 { 39525a5ccdcSAdam Ford pinctrl-names = "default"; 39625a5ccdcSAdam Ford pinctrl-0 = <&pinctrl_uart2>; 39725a5ccdcSAdam Ford status = "okay"; 39825a5ccdcSAdam Ford}; 39925a5ccdcSAdam Ford 40025a5ccdcSAdam Ford&uart3 { 40125a5ccdcSAdam Ford pinctrl-names = "default"; 40225a5ccdcSAdam Ford pinctrl-0 = <&pinctrl_uart3>; 40325a5ccdcSAdam Ford assigned-clocks = <&clk IMX8MP_CLK_UART3>; 40425a5ccdcSAdam Ford assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_80M>; 40525a5ccdcSAdam Ford uart-has-rtscts; 40625a5ccdcSAdam Ford status = "okay"; 40725a5ccdcSAdam Ford}; 40825a5ccdcSAdam Ford 40925a5ccdcSAdam Ford&usb3_0 { 41025a5ccdcSAdam Ford status = "okay"; 41125a5ccdcSAdam Ford}; 41225a5ccdcSAdam Ford 41325a5ccdcSAdam Ford&usb_dwc3_0 { 41425a5ccdcSAdam Ford dr_mode = "otg"; 41525a5ccdcSAdam Ford hnp-disable; 41625a5ccdcSAdam Ford srp-disable; 41725a5ccdcSAdam Ford adp-disable; 41825a5ccdcSAdam Ford usb-role-switch; 41925a5ccdcSAdam Ford status = "okay"; 42025a5ccdcSAdam Ford 42125a5ccdcSAdam Ford ports { 42225a5ccdcSAdam Ford #address-cells = <1>; 42325a5ccdcSAdam Ford #size-cells = <0>; 42425a5ccdcSAdam Ford 42525a5ccdcSAdam Ford port@0 { 42625a5ccdcSAdam Ford reg = <0>; 42725a5ccdcSAdam Ford usb3_hs_ep: endpoint { 42825a5ccdcSAdam Ford remote-endpoint = <&hs_ep>; 42925a5ccdcSAdam Ford }; 43025a5ccdcSAdam Ford }; 43125a5ccdcSAdam Ford port@1 { 43225a5ccdcSAdam Ford reg = <1>; 43325a5ccdcSAdam Ford usb3_role_switch: endpoint { 43425a5ccdcSAdam Ford remote-endpoint = <&hd3ss3220_out_ep>; 43525a5ccdcSAdam Ford }; 43625a5ccdcSAdam Ford }; 43725a5ccdcSAdam Ford }; 43825a5ccdcSAdam Ford}; 43925a5ccdcSAdam Ford 44025a5ccdcSAdam Ford&usb3_phy0 { 44125a5ccdcSAdam Ford vbus-supply = <®_usb1_host_vbus>; 44225a5ccdcSAdam Ford status = "okay"; 44325a5ccdcSAdam Ford}; 44425a5ccdcSAdam Ford 44525a5ccdcSAdam Ford&usb3_1 { 44625a5ccdcSAdam Ford status = "okay"; 44725a5ccdcSAdam Ford}; 44825a5ccdcSAdam Ford 44925a5ccdcSAdam Ford&usb_dwc3_1 { 45025a5ccdcSAdam Ford dr_mode = "host"; 45125a5ccdcSAdam Ford status = "okay"; 45225a5ccdcSAdam Ford}; 45325a5ccdcSAdam Ford 45425a5ccdcSAdam Ford&usb3_phy1 { 45525a5ccdcSAdam Ford status = "okay"; 45625a5ccdcSAdam Ford}; 45725a5ccdcSAdam Ford 45825a5ccdcSAdam Ford&usdhc2 { 45925a5ccdcSAdam Ford pinctrl-names = "default", "state_100mhz", "state_200mhz"; 46025a5ccdcSAdam Ford pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>; 46125a5ccdcSAdam Ford pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_gpio>; 46225a5ccdcSAdam Ford pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>; 46325a5ccdcSAdam Ford cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>; 46425a5ccdcSAdam Ford vmmc-supply = <®_usdhc2_vmmc>; 46525a5ccdcSAdam Ford bus-width = <4>; 46625a5ccdcSAdam Ford status = "okay"; 46725a5ccdcSAdam Ford}; 46825a5ccdcSAdam Ford 46925a5ccdcSAdam Ford&iomuxc { 47025a5ccdcSAdam Ford pinctrl_ecspi2: ecspi2grp { 47125a5ccdcSAdam Ford fsl,pins = < 47225a5ccdcSAdam Ford MX8MP_IOMUXC_ECSPI2_SCLK__ECSPI2_SCLK 0x82 47325a5ccdcSAdam Ford MX8MP_IOMUXC_ECSPI2_MOSI__ECSPI2_MOSI 0x82 47425a5ccdcSAdam Ford MX8MP_IOMUXC_ECSPI2_MISO__ECSPI2_MISO 0x82 47525a5ccdcSAdam Ford MX8MP_IOMUXC_ECSPI2_SS0__GPIO5_IO13 0x40000 47625a5ccdcSAdam Ford >; 47725a5ccdcSAdam Ford }; 47825a5ccdcSAdam Ford 47925a5ccdcSAdam Ford pinctrl_fec: fecgrp { 48025a5ccdcSAdam Ford fsl,pins = < 48125a5ccdcSAdam Ford MX8MP_IOMUXC_SAI1_RXD2__ENET1_MDC 0x2 48225a5ccdcSAdam Ford MX8MP_IOMUXC_SAI1_RXD3__ENET1_MDIO 0x2 48325a5ccdcSAdam Ford MX8MP_IOMUXC_SAI1_RXD4__ENET1_RGMII_RD0 0x90 48425a5ccdcSAdam Ford MX8MP_IOMUXC_SAI1_RXD5__ENET1_RGMII_RD1 0x90 48525a5ccdcSAdam Ford MX8MP_IOMUXC_SAI1_RXD6__ENET1_RGMII_RD2 0x90 48625a5ccdcSAdam Ford MX8MP_IOMUXC_SAI1_RXD7__ENET1_RGMII_RD3 0x90 48725a5ccdcSAdam Ford MX8MP_IOMUXC_SAI1_TXC__ENET1_RGMII_RXC 0x90 48825a5ccdcSAdam Ford MX8MP_IOMUXC_SAI1_TXFS__ENET1_RGMII_RX_CTL 0x90 48925a5ccdcSAdam Ford MX8MP_IOMUXC_SAI1_TXD0__ENET1_RGMII_TD0 0x16 49025a5ccdcSAdam Ford MX8MP_IOMUXC_SAI1_TXD1__ENET1_RGMII_TD1 0x16 49125a5ccdcSAdam Ford MX8MP_IOMUXC_SAI1_TXD2__ENET1_RGMII_TD2 0x16 49225a5ccdcSAdam Ford MX8MP_IOMUXC_SAI1_TXD3__ENET1_RGMII_TD3 0x16 49325a5ccdcSAdam Ford MX8MP_IOMUXC_SAI1_TXD4__ENET1_RGMII_TX_CTL 0x16 49425a5ccdcSAdam Ford MX8MP_IOMUXC_SAI1_TXD5__ENET1_RGMII_TXC 0x16 49525a5ccdcSAdam Ford MX8MP_IOMUXC_SAI1_RXD0__GPIO4_IO02 0x140 49625a5ccdcSAdam Ford MX8MP_IOMUXC_SAI1_TXD6__GPIO4_IO18 0x10 49725a5ccdcSAdam Ford >; 49825a5ccdcSAdam Ford }; 49925a5ccdcSAdam Ford 50025a5ccdcSAdam Ford pinctrl_flexcan1: flexcan1grp { 50125a5ccdcSAdam Ford fsl,pins = < 50225a5ccdcSAdam Ford MX8MP_IOMUXC_SPDIF_RX__CAN1_RX 0x154 50325a5ccdcSAdam Ford MX8MP_IOMUXC_SPDIF_TX__CAN1_TX 0x154 50425a5ccdcSAdam Ford >; 50525a5ccdcSAdam Ford }; 50625a5ccdcSAdam Ford 50725a5ccdcSAdam Ford pinctrl_hd3ss3220: hd3ss3220grp { 50825a5ccdcSAdam Ford fsl,pins = < 50925a5ccdcSAdam Ford MX8MP_IOMUXC_SAI1_TXD7__GPIO4_IO19 0x140 51025a5ccdcSAdam Ford >; 51125a5ccdcSAdam Ford }; 51225a5ccdcSAdam Ford 51325a5ccdcSAdam Ford pinctrl_i2c2: i2c2grp { 51425a5ccdcSAdam Ford fsl,pins = < 51525a5ccdcSAdam Ford MX8MP_IOMUXC_I2C2_SCL__I2C2_SCL 0x400001c2 51625a5ccdcSAdam Ford MX8MP_IOMUXC_I2C2_SDA__I2C2_SDA 0x400001c2 51725a5ccdcSAdam Ford >; 51825a5ccdcSAdam Ford }; 51925a5ccdcSAdam Ford 52025a5ccdcSAdam Ford pinctrl_i2c4: i2c4grp { 52125a5ccdcSAdam Ford fsl,pins = < 52225a5ccdcSAdam Ford MX8MP_IOMUXC_I2C4_SCL__I2C4_SCL 0x400001c2 52325a5ccdcSAdam Ford MX8MP_IOMUXC_I2C4_SDA__I2C4_SDA 0x400001c2 52425a5ccdcSAdam Ford >; 52525a5ccdcSAdam Ford }; 52625a5ccdcSAdam Ford 52725a5ccdcSAdam Ford pinctrl_led3: led3grp { 52825a5ccdcSAdam Ford fsl,pins = < 52925a5ccdcSAdam Ford MX8MP_IOMUXC_SAI3_RXFS__GPIO4_IO28 0x41 53025a5ccdcSAdam Ford >; 53125a5ccdcSAdam Ford }; 53225a5ccdcSAdam Ford 53325a5ccdcSAdam Ford pinctrl_pcal6414: pcal6414-gpiogrp { 53425a5ccdcSAdam Ford fsl,pins = < 53525a5ccdcSAdam Ford MX8MP_IOMUXC_SAI2_MCLK__GPIO4_IO27 0x10 53625a5ccdcSAdam Ford >; 53725a5ccdcSAdam Ford }; 53825a5ccdcSAdam Ford 53925a5ccdcSAdam Ford pinctrl_pcie: pciegrp { 54025a5ccdcSAdam Ford fsl,pins = < 54125a5ccdcSAdam Ford MX8MP_IOMUXC_GPIO1_IO05__GPIO1_IO05 0x10 /* PCIe_nDIS */ 54225a5ccdcSAdam Ford MX8MP_IOMUXC_SAI2_RXFS__GPIO4_IO21 0x10 /* PCIe_nRST */ 54325a5ccdcSAdam Ford >; 54425a5ccdcSAdam Ford }; 54525a5ccdcSAdam Ford 54625a5ccdcSAdam Ford pinctrl_reg_usdhc2_vmmc: regusdhc2vmmcgrp { 54725a5ccdcSAdam Ford fsl,pins = < 54825a5ccdcSAdam Ford MX8MP_IOMUXC_SD2_RESET_B__GPIO2_IO19 0x40 54925a5ccdcSAdam Ford >; 55025a5ccdcSAdam Ford }; 55125a5ccdcSAdam Ford 55269e2f37aSAdam Ford pinctrl_sai3: sai3grp { 55369e2f37aSAdam Ford fsl,pins = < 55469e2f37aSAdam Ford MX8MP_IOMUXC_SAI3_TXFS__AUDIOMIX_SAI3_TX_SYNC 0xd6 55569e2f37aSAdam Ford MX8MP_IOMUXC_SAI3_TXC__AUDIOMIX_SAI3_TX_BCLK 0xd6 55669e2f37aSAdam Ford MX8MP_IOMUXC_SAI3_RXD__AUDIOMIX_SAI3_RX_DATA00 0xd6 55769e2f37aSAdam Ford MX8MP_IOMUXC_SAI3_TXD__AUDIOMIX_SAI3_TX_DATA00 0xd6 55869e2f37aSAdam Ford MX8MP_IOMUXC_SAI3_MCLK__AUDIOMIX_SAI3_MCLK 0xd6 55969e2f37aSAdam Ford >; 56069e2f37aSAdam Ford }; 56169e2f37aSAdam Ford 56225a5ccdcSAdam Ford pinctrl_tpm: tpmgrp { 56325a5ccdcSAdam Ford fsl,pins = < 56425a5ccdcSAdam Ford MX8MP_IOMUXC_SAI1_RXFS__GPIO4_IO00 0x19 /* Reset */ 56525a5ccdcSAdam Ford MX8MP_IOMUXC_SAI3_RXC__GPIO4_IO29 0x1d6 /* IRQ */ 56625a5ccdcSAdam Ford >; 56725a5ccdcSAdam Ford }; 56825a5ccdcSAdam Ford 56925a5ccdcSAdam Ford pinctrl_typec: typec1grp { 57025a5ccdcSAdam Ford fsl,pins = < 57125a5ccdcSAdam Ford MX8MP_IOMUXC_SAI1_RXC__GPIO4_IO01 0xc4 57225a5ccdcSAdam Ford >; 57325a5ccdcSAdam Ford }; 57425a5ccdcSAdam Ford 57525a5ccdcSAdam Ford pinctrl_uart2: uart2grp { 57625a5ccdcSAdam Ford fsl,pins = < 57725a5ccdcSAdam Ford MX8MP_IOMUXC_UART2_RXD__UART2_DCE_RX 0x140 57825a5ccdcSAdam Ford MX8MP_IOMUXC_UART2_TXD__UART2_DCE_TX 0x140 57925a5ccdcSAdam Ford >; 58025a5ccdcSAdam Ford }; 58125a5ccdcSAdam Ford 58225a5ccdcSAdam Ford pinctrl_uart3: uart3grp { 58325a5ccdcSAdam Ford fsl,pins = < 58425a5ccdcSAdam Ford MX8MP_IOMUXC_ECSPI1_SCLK__UART3_DCE_RX 0x140 58525a5ccdcSAdam Ford MX8MP_IOMUXC_ECSPI1_MOSI__UART3_DCE_TX 0x140 58625a5ccdcSAdam Ford MX8MP_IOMUXC_ECSPI1_SS0__UART3_DCE_RTS 0x140 58725a5ccdcSAdam Ford MX8MP_IOMUXC_ECSPI1_MISO__UART3_DCE_CTS 0x140 58825a5ccdcSAdam Ford >; 58925a5ccdcSAdam Ford }; 59025a5ccdcSAdam Ford 59125a5ccdcSAdam Ford pinctrl_usdhc2: usdhc2grp { 59225a5ccdcSAdam Ford fsl,pins = < 59325a5ccdcSAdam Ford MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x190 59425a5ccdcSAdam Ford MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x1d0 59525a5ccdcSAdam Ford MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 0x1d0 59625a5ccdcSAdam Ford MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d0 59725a5ccdcSAdam Ford MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x1d0 59825a5ccdcSAdam Ford MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x1d0 59925a5ccdcSAdam Ford MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0xc0 60025a5ccdcSAdam Ford >; 60125a5ccdcSAdam Ford }; 60225a5ccdcSAdam Ford 60325a5ccdcSAdam Ford pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp { 60425a5ccdcSAdam Ford fsl,pins = < 60525a5ccdcSAdam Ford MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x194 60625a5ccdcSAdam Ford MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x1d4 60725a5ccdcSAdam Ford MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 0x1d4 60825a5ccdcSAdam Ford MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d4 60925a5ccdcSAdam Ford MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x1d4 61025a5ccdcSAdam Ford MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x1d4 61125a5ccdcSAdam Ford MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0xc0 61225a5ccdcSAdam Ford >; 61325a5ccdcSAdam Ford }; 61425a5ccdcSAdam Ford 61525a5ccdcSAdam Ford pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp { 61625a5ccdcSAdam Ford fsl,pins = < 61725a5ccdcSAdam Ford MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x196 61825a5ccdcSAdam Ford MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x1d6 61925a5ccdcSAdam Ford MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 0x1d6 62025a5ccdcSAdam Ford MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d6 62125a5ccdcSAdam Ford MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x1d6 62225a5ccdcSAdam Ford MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x1d6 62325a5ccdcSAdam Ford MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0xc0 62425a5ccdcSAdam Ford >; 62525a5ccdcSAdam Ford }; 62625a5ccdcSAdam Ford 62725a5ccdcSAdam Ford pinctrl_usdhc2_gpio: usdhc2gpiogrp { 62825a5ccdcSAdam Ford fsl,pins = < 62925a5ccdcSAdam Ford MX8MP_IOMUXC_SD2_CD_B__GPIO2_IO12 0x1c4 63025a5ccdcSAdam Ford >; 63125a5ccdcSAdam Ford }; 63269e2f37aSAdam Ford 63369e2f37aSAdam Ford pinctrl_wm8962: wm8962grp { 63469e2f37aSAdam Ford fsl,pins = < 63569e2f37aSAdam Ford MX8MP_IOMUXC_GPIO1_IO14__CCM_CLKO1 0x59 63669e2f37aSAdam Ford >; 63769e2f37aSAdam Ford }; 63825a5ccdcSAdam Ford}; 639