162306a36Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright 2023 Logic PD, Inc dba Beacon EmbeddedWorks 462306a36Sopenharmony_ci */ 562306a36Sopenharmony_ci 662306a36Sopenharmony_ci/dts-v1/; 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci#include <dt-bindings/usb/pd.h> 962306a36Sopenharmony_ci#include <dt-bindings/phy/phy-imx8-pcie.h> 1062306a36Sopenharmony_ci#include "imx8mp.dtsi" 1162306a36Sopenharmony_ci#include "imx8mp-beacon-som.dtsi" 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ci/ { 1462306a36Sopenharmony_ci model = "Beacon EmbeddedWorks i.MX8MPlus Development kit"; 1562306a36Sopenharmony_ci compatible = "beacon,imx8mp-beacon-kit", "fsl,imx8mp"; 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ci aliases { 1862306a36Sopenharmony_ci ethernet0 = &eqos; 1962306a36Sopenharmony_ci ethernet1 = &fec; 2062306a36Sopenharmony_ci }; 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_ci chosen { 2362306a36Sopenharmony_ci stdout-path = &uart2; 2462306a36Sopenharmony_ci }; 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ci connector { 2762306a36Sopenharmony_ci compatible = "usb-c-connector"; 2862306a36Sopenharmony_ci label = "USB-C"; 2962306a36Sopenharmony_ci data-role = "dual"; 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ci ports { 3262306a36Sopenharmony_ci #address-cells = <1>; 3362306a36Sopenharmony_ci #size-cells = <0>; 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_ci port@0 { 3662306a36Sopenharmony_ci reg = <0>; 3762306a36Sopenharmony_ci 3862306a36Sopenharmony_ci hs_ep: endpoint { 3962306a36Sopenharmony_ci remote-endpoint = <&usb3_hs_ep>; 4062306a36Sopenharmony_ci }; 4162306a36Sopenharmony_ci }; 4262306a36Sopenharmony_ci port@1 { 4362306a36Sopenharmony_ci reg = <1>; 4462306a36Sopenharmony_ci 4562306a36Sopenharmony_ci ss_ep: endpoint { 4662306a36Sopenharmony_ci remote-endpoint = <&hd3ss3220_in_ep>; 4762306a36Sopenharmony_ci }; 4862306a36Sopenharmony_ci }; 4962306a36Sopenharmony_ci }; 5062306a36Sopenharmony_ci }; 5162306a36Sopenharmony_ci 5262306a36Sopenharmony_ci gpio-keys { 5362306a36Sopenharmony_ci compatible = "gpio-keys"; 5462306a36Sopenharmony_ci autorepeat; 5562306a36Sopenharmony_ci 5662306a36Sopenharmony_ci button-0 { 5762306a36Sopenharmony_ci label = "btn0"; 5862306a36Sopenharmony_ci linux,code = <BTN_0>; 5962306a36Sopenharmony_ci gpios = <&pca6416_1 12 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; 6062306a36Sopenharmony_ci wakeup-source; 6162306a36Sopenharmony_ci }; 6262306a36Sopenharmony_ci 6362306a36Sopenharmony_ci button-1 { 6462306a36Sopenharmony_ci label = "btn1"; 6562306a36Sopenharmony_ci linux,code = <BTN_1>; 6662306a36Sopenharmony_ci gpios = <&pca6416_1 13 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; 6762306a36Sopenharmony_ci wakeup-source; 6862306a36Sopenharmony_ci }; 6962306a36Sopenharmony_ci 7062306a36Sopenharmony_ci button-2 { 7162306a36Sopenharmony_ci label = "btn2"; 7262306a36Sopenharmony_ci linux,code = <BTN_2>; 7362306a36Sopenharmony_ci gpios = <&pca6416_1 14 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; 7462306a36Sopenharmony_ci wakeup-source; 7562306a36Sopenharmony_ci }; 7662306a36Sopenharmony_ci 7762306a36Sopenharmony_ci button-3 { 7862306a36Sopenharmony_ci label = "btn3"; 7962306a36Sopenharmony_ci linux,code = <BTN_3>; 8062306a36Sopenharmony_ci gpios = <&pca6416_1 15 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; 8162306a36Sopenharmony_ci wakeup-source; 8262306a36Sopenharmony_ci }; 8362306a36Sopenharmony_ci }; 8462306a36Sopenharmony_ci 8562306a36Sopenharmony_ci leds { 8662306a36Sopenharmony_ci compatible = "gpio-leds"; 8762306a36Sopenharmony_ci pinctrl-names = "default"; 8862306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_led3>; 8962306a36Sopenharmony_ci 9062306a36Sopenharmony_ci led-0 { 9162306a36Sopenharmony_ci label = "gen_led0"; 9262306a36Sopenharmony_ci gpios = <&pca6416_1 4 GPIO_ACTIVE_HIGH>; 9362306a36Sopenharmony_ci default-state = "off"; 9462306a36Sopenharmony_ci }; 9562306a36Sopenharmony_ci 9662306a36Sopenharmony_ci led-1 { 9762306a36Sopenharmony_ci label = "gen_led1"; 9862306a36Sopenharmony_ci gpios = <&pca6416_1 5 GPIO_ACTIVE_HIGH>; 9962306a36Sopenharmony_ci default-state = "off"; 10062306a36Sopenharmony_ci }; 10162306a36Sopenharmony_ci 10262306a36Sopenharmony_ci led-2 { 10362306a36Sopenharmony_ci label = "gen_led2"; 10462306a36Sopenharmony_ci gpios = <&pca6416_1 6 GPIO_ACTIVE_HIGH>; 10562306a36Sopenharmony_ci default-state = "off"; 10662306a36Sopenharmony_ci }; 10762306a36Sopenharmony_ci 10862306a36Sopenharmony_ci led-3 { 10962306a36Sopenharmony_ci label = "heartbeat"; 11062306a36Sopenharmony_ci gpios = <&gpio4 28 GPIO_ACTIVE_HIGH>; 11162306a36Sopenharmony_ci linux,default-trigger = "heartbeat"; 11262306a36Sopenharmony_ci }; 11362306a36Sopenharmony_ci }; 11462306a36Sopenharmony_ci 11562306a36Sopenharmony_ci pcie0_refclk: clock-pcie { 11662306a36Sopenharmony_ci compatible = "fixed-clock"; 11762306a36Sopenharmony_ci #clock-cells = <0>; 11862306a36Sopenharmony_ci clock-frequency = <100000000>; 11962306a36Sopenharmony_ci }; 12062306a36Sopenharmony_ci 12162306a36Sopenharmony_ci reg_audio: regulator-wm8962 { 12262306a36Sopenharmony_ci compatible = "regulator-fixed"; 12362306a36Sopenharmony_ci regulator-name = "3v3_aud"; 12462306a36Sopenharmony_ci regulator-min-microvolt = <3300000>; 12562306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 12662306a36Sopenharmony_ci gpio = <&pca6416_1 11 GPIO_ACTIVE_HIGH>; 12762306a36Sopenharmony_ci enable-active-high; 12862306a36Sopenharmony_ci }; 12962306a36Sopenharmony_ci 13062306a36Sopenharmony_ci reg_usdhc2_vmmc: regulator-usdhc2 { 13162306a36Sopenharmony_ci compatible = "regulator-fixed"; 13262306a36Sopenharmony_ci regulator-name = "VSD_3V3"; 13362306a36Sopenharmony_ci regulator-min-microvolt = <3300000>; 13462306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 13562306a36Sopenharmony_ci gpio = <&gpio2 19 GPIO_ACTIVE_HIGH>; 13662306a36Sopenharmony_ci enable-active-high; 13762306a36Sopenharmony_ci startup-delay-us = <100>; 13862306a36Sopenharmony_ci off-on-delay-us = <20000>; 13962306a36Sopenharmony_ci }; 14062306a36Sopenharmony_ci 14162306a36Sopenharmony_ci reg_usb1_host_vbus: regulator-usb1-vbus { 14262306a36Sopenharmony_ci compatible = "regulator-fixed"; 14362306a36Sopenharmony_ci regulator-name = "usb1_host_vbus"; 14462306a36Sopenharmony_ci regulator-max-microvolt = <5000000>; 14562306a36Sopenharmony_ci regulator-min-microvolt = <5000000>; 14662306a36Sopenharmony_ci gpio = <&pca6416_1 0 GPIO_ACTIVE_HIGH>; 14762306a36Sopenharmony_ci enable-active-high; 14862306a36Sopenharmony_ci }; 14962306a36Sopenharmony_ci 15062306a36Sopenharmony_ci sound-wm8962 { 15162306a36Sopenharmony_ci compatible = "simple-audio-card"; 15262306a36Sopenharmony_ci simple-audio-card,name = "wm8962"; 15362306a36Sopenharmony_ci simple-audio-card,format = "i2s"; 15462306a36Sopenharmony_ci simple-audio-card,widgets = "Headphone", "Headphones", 15562306a36Sopenharmony_ci "Microphone", "Headset Mic", 15662306a36Sopenharmony_ci "Speaker", "Speaker"; 15762306a36Sopenharmony_ci simple-audio-card,routing = "Headphones", "HPOUTL", 15862306a36Sopenharmony_ci "Headphones", "HPOUTR", 15962306a36Sopenharmony_ci "Speaker", "SPKOUTL", 16062306a36Sopenharmony_ci "Speaker", "SPKOUTR", 16162306a36Sopenharmony_ci "Headset Mic", "MICBIAS", 16262306a36Sopenharmony_ci "IN3R", "Headset Mic"; 16362306a36Sopenharmony_ci 16462306a36Sopenharmony_ci simple-audio-card,cpu { 16562306a36Sopenharmony_ci sound-dai = <&sai3>; 16662306a36Sopenharmony_ci }; 16762306a36Sopenharmony_ci 16862306a36Sopenharmony_ci simple-audio-card,codec { 16962306a36Sopenharmony_ci sound-dai = <&wm8962>; 17062306a36Sopenharmony_ci clocks = <&clk IMX8MP_CLK_IPP_DO_CLKO1>; 17162306a36Sopenharmony_ci frame-master; 17262306a36Sopenharmony_ci bitclock-master; 17362306a36Sopenharmony_ci }; 17462306a36Sopenharmony_ci }; 17562306a36Sopenharmony_ci}; 17662306a36Sopenharmony_ci 17762306a36Sopenharmony_ci&ecspi2 { 17862306a36Sopenharmony_ci pinctrl-names = "default"; 17962306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_ecspi2>; 18062306a36Sopenharmony_ci cs-gpios = <&gpio5 13 GPIO_ACTIVE_LOW>; 18162306a36Sopenharmony_ci status = "okay"; 18262306a36Sopenharmony_ci 18362306a36Sopenharmony_ci tpm: tpm@0 { 18462306a36Sopenharmony_ci compatible = "infineon,slb9670"; 18562306a36Sopenharmony_ci reg = <0>; 18662306a36Sopenharmony_ci pinctrl-names = "default"; 18762306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_tpm>; 18862306a36Sopenharmony_ci reset-gpios = <&gpio4 0 GPIO_ACTIVE_LOW>; 18962306a36Sopenharmony_ci spi-max-frequency = <18500000>; 19062306a36Sopenharmony_ci }; 19162306a36Sopenharmony_ci}; 19262306a36Sopenharmony_ci 19362306a36Sopenharmony_ci&fec { 19462306a36Sopenharmony_ci pinctrl-names = "default"; 19562306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_fec>; 19662306a36Sopenharmony_ci phy-mode = "rgmii-id"; 19762306a36Sopenharmony_ci phy-handle = <ðphy1>; 19862306a36Sopenharmony_ci fsl,magic-packet; 19962306a36Sopenharmony_ci status = "okay"; 20062306a36Sopenharmony_ci 20162306a36Sopenharmony_ci mdio { 20262306a36Sopenharmony_ci #address-cells = <1>; 20362306a36Sopenharmony_ci #size-cells = <0>; 20462306a36Sopenharmony_ci 20562306a36Sopenharmony_ci ethphy1: ethernet-phy@3 { 20662306a36Sopenharmony_ci compatible = "ethernet-phy-id0022.1640", 20762306a36Sopenharmony_ci "ethernet-phy-ieee802.3-c22"; 20862306a36Sopenharmony_ci reg = <3>; 20962306a36Sopenharmony_ci reset-gpios = <&gpio4 18 GPIO_ACTIVE_LOW>; 21062306a36Sopenharmony_ci reset-assert-us = <10000>; 21162306a36Sopenharmony_ci reset-deassert-us = <150000>; 21262306a36Sopenharmony_ci interrupt-parent = <&gpio4>; 21362306a36Sopenharmony_ci interrupts = <2 IRQ_TYPE_LEVEL_LOW>; 21462306a36Sopenharmony_ci }; 21562306a36Sopenharmony_ci }; 21662306a36Sopenharmony_ci}; 21762306a36Sopenharmony_ci 21862306a36Sopenharmony_ci&flexcan1 { 21962306a36Sopenharmony_ci pinctrl-names = "default"; 22062306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_flexcan1>; 22162306a36Sopenharmony_ci status = "okay"; 22262306a36Sopenharmony_ci}; 22362306a36Sopenharmony_ci 22462306a36Sopenharmony_ci&gpio2 { 22562306a36Sopenharmony_ci usb-mux-hog { 22662306a36Sopenharmony_ci gpio-hog; 22762306a36Sopenharmony_ci gpios = <20 0>; 22862306a36Sopenharmony_ci output-low; 22962306a36Sopenharmony_ci line-name = "USB-C Mux En"; 23062306a36Sopenharmony_ci }; 23162306a36Sopenharmony_ci}; 23262306a36Sopenharmony_ci 23362306a36Sopenharmony_ci&i2c2 { 23462306a36Sopenharmony_ci clock-frequency = <384000>; 23562306a36Sopenharmony_ci pinctrl-names = "default"; 23662306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_i2c2>; 23762306a36Sopenharmony_ci status = "okay"; 23862306a36Sopenharmony_ci 23962306a36Sopenharmony_ci pca6416_3: gpio@20 { 24062306a36Sopenharmony_ci compatible = "nxp,pcal6416"; 24162306a36Sopenharmony_ci reg = <0x20>; 24262306a36Sopenharmony_ci gpio-controller; 24362306a36Sopenharmony_ci #gpio-cells = <2>; 24462306a36Sopenharmony_ci interrupt-parent = <&gpio4>; 24562306a36Sopenharmony_ci interrupts = <27 IRQ_TYPE_EDGE_FALLING>; 24662306a36Sopenharmony_ci interrupt-controller; 24762306a36Sopenharmony_ci #interrupt-cells = <2>; 24862306a36Sopenharmony_ci }; 24962306a36Sopenharmony_ci}; 25062306a36Sopenharmony_ci 25162306a36Sopenharmony_ci&i2c3 { 25262306a36Sopenharmony_ci /* Connected to USB Hub */ 25362306a36Sopenharmony_ci usb-typec@52 { 25462306a36Sopenharmony_ci compatible = "nxp,ptn5110"; 25562306a36Sopenharmony_ci reg = <0x52>; 25662306a36Sopenharmony_ci pinctrl-names = "default"; 25762306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_typec>; 25862306a36Sopenharmony_ci interrupt-parent = <&gpio4>; 25962306a36Sopenharmony_ci interrupts = <1 IRQ_TYPE_LEVEL_LOW>; 26062306a36Sopenharmony_ci 26162306a36Sopenharmony_ci connector { 26262306a36Sopenharmony_ci compatible = "usb-c-connector"; 26362306a36Sopenharmony_ci label = "USB-C"; 26462306a36Sopenharmony_ci power-role = "source"; 26562306a36Sopenharmony_ci data-role = "host"; 26662306a36Sopenharmony_ci source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>; 26762306a36Sopenharmony_ci }; 26862306a36Sopenharmony_ci }; 26962306a36Sopenharmony_ci}; 27062306a36Sopenharmony_ci 27162306a36Sopenharmony_ci&i2c4 { 27262306a36Sopenharmony_ci pinctrl-names = "default"; 27362306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_i2c4>; 27462306a36Sopenharmony_ci clock-frequency = <384000>; 27562306a36Sopenharmony_ci status = "okay"; 27662306a36Sopenharmony_ci 27762306a36Sopenharmony_ci wm8962: audio-codec@1a { 27862306a36Sopenharmony_ci compatible = "wlf,wm8962"; 27962306a36Sopenharmony_ci reg = <0x1a>; 28062306a36Sopenharmony_ci pinctrl-names = "default"; 28162306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_wm8962>; 28262306a36Sopenharmony_ci clocks = <&clk IMX8MP_CLK_IPP_DO_CLKO1>; 28362306a36Sopenharmony_ci assigned-clocks = <&clk IMX8MP_CLK_IPP_DO_CLKO1>; 28462306a36Sopenharmony_ci assigned-clock-parents = <&clk IMX8MP_AUDIO_PLL2_OUT>; 28562306a36Sopenharmony_ci assigned-clock-rates = <22576000>; 28662306a36Sopenharmony_ci DCVDD-supply = <®_audio>; 28762306a36Sopenharmony_ci DBVDD-supply = <®_audio>; 28862306a36Sopenharmony_ci AVDD-supply = <®_audio>; 28962306a36Sopenharmony_ci CPVDD-supply = <®_audio>; 29062306a36Sopenharmony_ci MICVDD-supply = <®_audio>; 29162306a36Sopenharmony_ci PLLVDD-supply = <®_audio>; 29262306a36Sopenharmony_ci SPKVDD1-supply = <®_audio>; 29362306a36Sopenharmony_ci SPKVDD2-supply = <®_audio>; 29462306a36Sopenharmony_ci gpio-cfg = < 29562306a36Sopenharmony_ci 0x0000 /* 0:Default */ 29662306a36Sopenharmony_ci 0x0000 /* 1:Default */ 29762306a36Sopenharmony_ci 0x0000 /* 2:FN_DMICCLK */ 29862306a36Sopenharmony_ci 0x0000 /* 3:Default */ 29962306a36Sopenharmony_ci 0x0000 /* 4:FN_DMICCDAT */ 30062306a36Sopenharmony_ci 0x0000 /* 5:Default */ 30162306a36Sopenharmony_ci >; 30262306a36Sopenharmony_ci #sound-dai-cells = <0>; 30362306a36Sopenharmony_ci }; 30462306a36Sopenharmony_ci 30562306a36Sopenharmony_ci pca6416: gpio@20 { 30662306a36Sopenharmony_ci compatible = "nxp,pcal6416"; 30762306a36Sopenharmony_ci reg = <0x20>; 30862306a36Sopenharmony_ci pinctrl-names = "default"; 30962306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_pcal6414>; 31062306a36Sopenharmony_ci gpio-controller; 31162306a36Sopenharmony_ci #gpio-cells = <2>; 31262306a36Sopenharmony_ci interrupt-parent = <&gpio4>; 31362306a36Sopenharmony_ci interrupts = <27 IRQ_TYPE_EDGE_FALLING>; 31462306a36Sopenharmony_ci interrupt-controller; 31562306a36Sopenharmony_ci #interrupt-cells = <2>; 31662306a36Sopenharmony_ci }; 31762306a36Sopenharmony_ci 31862306a36Sopenharmony_ci pca6416_1: gpio@21 { 31962306a36Sopenharmony_ci compatible = "nxp,pcal6416"; 32062306a36Sopenharmony_ci reg = <0x21>; 32162306a36Sopenharmony_ci gpio-controller; 32262306a36Sopenharmony_ci #gpio-cells = <2>; 32362306a36Sopenharmony_ci interrupt-parent = <&gpio4>; 32462306a36Sopenharmony_ci interrupts = <27 IRQ_TYPE_EDGE_FALLING>; 32562306a36Sopenharmony_ci interrupt-controller; 32662306a36Sopenharmony_ci #interrupt-cells = <2>; 32762306a36Sopenharmony_ci 32862306a36Sopenharmony_ci usb-hub-hog { 32962306a36Sopenharmony_ci gpio-hog; 33062306a36Sopenharmony_ci gpios = <7 0>; 33162306a36Sopenharmony_ci output-low; 33262306a36Sopenharmony_ci line-name = "USB Hub Enable"; 33362306a36Sopenharmony_ci }; 33462306a36Sopenharmony_ci }; 33562306a36Sopenharmony_ci 33662306a36Sopenharmony_ci usb-typec@47 { 33762306a36Sopenharmony_ci compatible = "ti,hd3ss3220"; 33862306a36Sopenharmony_ci reg = <0x47>; 33962306a36Sopenharmony_ci pinctrl-names = "default"; 34062306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_hd3ss3220>; 34162306a36Sopenharmony_ci interrupt-parent = <&gpio4>; 34262306a36Sopenharmony_ci interrupts = <19 IRQ_TYPE_LEVEL_LOW>; 34362306a36Sopenharmony_ci 34462306a36Sopenharmony_ci ports { 34562306a36Sopenharmony_ci #address-cells = <1>; 34662306a36Sopenharmony_ci #size-cells = <0>; 34762306a36Sopenharmony_ci 34862306a36Sopenharmony_ci port@0 { 34962306a36Sopenharmony_ci reg = <0>; 35062306a36Sopenharmony_ci 35162306a36Sopenharmony_ci hd3ss3220_in_ep: endpoint { 35262306a36Sopenharmony_ci remote-endpoint = <&ss_ep>; 35362306a36Sopenharmony_ci }; 35462306a36Sopenharmony_ci }; 35562306a36Sopenharmony_ci 35662306a36Sopenharmony_ci port@1 { 35762306a36Sopenharmony_ci reg = <1>; 35862306a36Sopenharmony_ci 35962306a36Sopenharmony_ci hd3ss3220_out_ep: endpoint { 36062306a36Sopenharmony_ci remote-endpoint = <&usb3_role_switch>; 36162306a36Sopenharmony_ci }; 36262306a36Sopenharmony_ci }; 36362306a36Sopenharmony_ci }; 36462306a36Sopenharmony_ci }; 36562306a36Sopenharmony_ci}; 36662306a36Sopenharmony_ci 36762306a36Sopenharmony_ci&pcie { 36862306a36Sopenharmony_ci pinctrl-names = "default"; 36962306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_pcie>; 37062306a36Sopenharmony_ci reset-gpio = <&gpio4 21 GPIO_ACTIVE_LOW>; 37162306a36Sopenharmony_ci status = "okay"; 37262306a36Sopenharmony_ci}; 37362306a36Sopenharmony_ci 37462306a36Sopenharmony_ci&pcie_phy { 37562306a36Sopenharmony_ci fsl,refclk-pad-mode = <IMX8_PCIE_REFCLK_PAD_INPUT>; 37662306a36Sopenharmony_ci clocks = <&pcie0_refclk>; 37762306a36Sopenharmony_ci clock-names = "ref"; 37862306a36Sopenharmony_ci status = "okay"; 37962306a36Sopenharmony_ci}; 38062306a36Sopenharmony_ci 38162306a36Sopenharmony_ci&sai3 { 38262306a36Sopenharmony_ci pinctrl-names = "default"; 38362306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_sai3>; 38462306a36Sopenharmony_ci assigned-clocks = <&clk IMX8MP_CLK_SAI3>, 38562306a36Sopenharmony_ci <&clk IMX8MP_AUDIO_PLL2> ; 38662306a36Sopenharmony_ci assigned-clock-parents = <&clk IMX8MP_AUDIO_PLL2_OUT>; 38762306a36Sopenharmony_ci assigned-clock-rates = <12288000>, <361267200>; 38862306a36Sopenharmony_ci fsl,sai-mclk-direction-output; 38962306a36Sopenharmony_ci status = "okay"; 39062306a36Sopenharmony_ci}; 39162306a36Sopenharmony_ci 39262306a36Sopenharmony_ci&snvs_pwrkey { 39362306a36Sopenharmony_ci status = "okay"; 39462306a36Sopenharmony_ci}; 39562306a36Sopenharmony_ci 39662306a36Sopenharmony_ci&uart2 { 39762306a36Sopenharmony_ci pinctrl-names = "default"; 39862306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_uart2>; 39962306a36Sopenharmony_ci status = "okay"; 40062306a36Sopenharmony_ci}; 40162306a36Sopenharmony_ci 40262306a36Sopenharmony_ci&uart3 { 40362306a36Sopenharmony_ci pinctrl-names = "default"; 40462306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_uart3>; 40562306a36Sopenharmony_ci assigned-clocks = <&clk IMX8MP_CLK_UART3>; 40662306a36Sopenharmony_ci assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_80M>; 40762306a36Sopenharmony_ci uart-has-rtscts; 40862306a36Sopenharmony_ci status = "okay"; 40962306a36Sopenharmony_ci}; 41062306a36Sopenharmony_ci 41162306a36Sopenharmony_ci&usb3_0 { 41262306a36Sopenharmony_ci status = "okay"; 41362306a36Sopenharmony_ci}; 41462306a36Sopenharmony_ci 41562306a36Sopenharmony_ci&usb_dwc3_0 { 41662306a36Sopenharmony_ci dr_mode = "otg"; 41762306a36Sopenharmony_ci hnp-disable; 41862306a36Sopenharmony_ci srp-disable; 41962306a36Sopenharmony_ci adp-disable; 42062306a36Sopenharmony_ci usb-role-switch; 42162306a36Sopenharmony_ci status = "okay"; 42262306a36Sopenharmony_ci 42362306a36Sopenharmony_ci ports { 42462306a36Sopenharmony_ci #address-cells = <1>; 42562306a36Sopenharmony_ci #size-cells = <0>; 42662306a36Sopenharmony_ci 42762306a36Sopenharmony_ci port@0 { 42862306a36Sopenharmony_ci reg = <0>; 42962306a36Sopenharmony_ci usb3_hs_ep: endpoint { 43062306a36Sopenharmony_ci remote-endpoint = <&hs_ep>; 43162306a36Sopenharmony_ci }; 43262306a36Sopenharmony_ci }; 43362306a36Sopenharmony_ci port@1 { 43462306a36Sopenharmony_ci reg = <1>; 43562306a36Sopenharmony_ci usb3_role_switch: endpoint { 43662306a36Sopenharmony_ci remote-endpoint = <&hd3ss3220_out_ep>; 43762306a36Sopenharmony_ci }; 43862306a36Sopenharmony_ci }; 43962306a36Sopenharmony_ci }; 44062306a36Sopenharmony_ci}; 44162306a36Sopenharmony_ci 44262306a36Sopenharmony_ci&usb3_phy0 { 44362306a36Sopenharmony_ci vbus-supply = <®_usb1_host_vbus>; 44462306a36Sopenharmony_ci status = "okay"; 44562306a36Sopenharmony_ci}; 44662306a36Sopenharmony_ci 44762306a36Sopenharmony_ci&usb3_1 { 44862306a36Sopenharmony_ci status = "okay"; 44962306a36Sopenharmony_ci}; 45062306a36Sopenharmony_ci 45162306a36Sopenharmony_ci&usb_dwc3_1 { 45262306a36Sopenharmony_ci dr_mode = "host"; 45362306a36Sopenharmony_ci status = "okay"; 45462306a36Sopenharmony_ci}; 45562306a36Sopenharmony_ci 45662306a36Sopenharmony_ci&usb3_phy1 { 45762306a36Sopenharmony_ci status = "okay"; 45862306a36Sopenharmony_ci}; 45962306a36Sopenharmony_ci 46062306a36Sopenharmony_ci&usdhc2 { 46162306a36Sopenharmony_ci pinctrl-names = "default", "state_100mhz", "state_200mhz"; 46262306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>; 46362306a36Sopenharmony_ci pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_gpio>; 46462306a36Sopenharmony_ci pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>; 46562306a36Sopenharmony_ci cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>; 46662306a36Sopenharmony_ci vmmc-supply = <®_usdhc2_vmmc>; 46762306a36Sopenharmony_ci bus-width = <4>; 46862306a36Sopenharmony_ci status = "okay"; 46962306a36Sopenharmony_ci}; 47062306a36Sopenharmony_ci 47162306a36Sopenharmony_ci&iomuxc { 47262306a36Sopenharmony_ci pinctrl_ecspi2: ecspi2grp { 47362306a36Sopenharmony_ci fsl,pins = < 47462306a36Sopenharmony_ci MX8MP_IOMUXC_ECSPI2_SCLK__ECSPI2_SCLK 0x82 47562306a36Sopenharmony_ci MX8MP_IOMUXC_ECSPI2_MOSI__ECSPI2_MOSI 0x82 47662306a36Sopenharmony_ci MX8MP_IOMUXC_ECSPI2_MISO__ECSPI2_MISO 0x82 47762306a36Sopenharmony_ci MX8MP_IOMUXC_ECSPI2_SS0__GPIO5_IO13 0x40000 47862306a36Sopenharmony_ci >; 47962306a36Sopenharmony_ci }; 48062306a36Sopenharmony_ci 48162306a36Sopenharmony_ci pinctrl_fec: fecgrp { 48262306a36Sopenharmony_ci fsl,pins = < 48362306a36Sopenharmony_ci MX8MP_IOMUXC_SAI1_RXD2__ENET1_MDC 0x2 48462306a36Sopenharmony_ci MX8MP_IOMUXC_SAI1_RXD3__ENET1_MDIO 0x2 48562306a36Sopenharmony_ci MX8MP_IOMUXC_SAI1_RXD4__ENET1_RGMII_RD0 0x90 48662306a36Sopenharmony_ci MX8MP_IOMUXC_SAI1_RXD5__ENET1_RGMII_RD1 0x90 48762306a36Sopenharmony_ci MX8MP_IOMUXC_SAI1_RXD6__ENET1_RGMII_RD2 0x90 48862306a36Sopenharmony_ci MX8MP_IOMUXC_SAI1_RXD7__ENET1_RGMII_RD3 0x90 48962306a36Sopenharmony_ci MX8MP_IOMUXC_SAI1_TXC__ENET1_RGMII_RXC 0x90 49062306a36Sopenharmony_ci MX8MP_IOMUXC_SAI1_TXFS__ENET1_RGMII_RX_CTL 0x90 49162306a36Sopenharmony_ci MX8MP_IOMUXC_SAI1_TXD0__ENET1_RGMII_TD0 0x16 49262306a36Sopenharmony_ci MX8MP_IOMUXC_SAI1_TXD1__ENET1_RGMII_TD1 0x16 49362306a36Sopenharmony_ci MX8MP_IOMUXC_SAI1_TXD2__ENET1_RGMII_TD2 0x16 49462306a36Sopenharmony_ci MX8MP_IOMUXC_SAI1_TXD3__ENET1_RGMII_TD3 0x16 49562306a36Sopenharmony_ci MX8MP_IOMUXC_SAI1_TXD4__ENET1_RGMII_TX_CTL 0x16 49662306a36Sopenharmony_ci MX8MP_IOMUXC_SAI1_TXD5__ENET1_RGMII_TXC 0x16 49762306a36Sopenharmony_ci MX8MP_IOMUXC_SAI1_RXD0__GPIO4_IO02 0x140 49862306a36Sopenharmony_ci MX8MP_IOMUXC_SAI1_TXD6__GPIO4_IO18 0x10 49962306a36Sopenharmony_ci >; 50062306a36Sopenharmony_ci }; 50162306a36Sopenharmony_ci 50262306a36Sopenharmony_ci pinctrl_flexcan1: flexcan1grp { 50362306a36Sopenharmony_ci fsl,pins = < 50462306a36Sopenharmony_ci MX8MP_IOMUXC_SPDIF_RX__CAN1_RX 0x154 50562306a36Sopenharmony_ci MX8MP_IOMUXC_SPDIF_TX__CAN1_TX 0x154 50662306a36Sopenharmony_ci >; 50762306a36Sopenharmony_ci }; 50862306a36Sopenharmony_ci 50962306a36Sopenharmony_ci pinctrl_hd3ss3220: hd3ss3220grp { 51062306a36Sopenharmony_ci fsl,pins = < 51162306a36Sopenharmony_ci MX8MP_IOMUXC_SAI1_TXD7__GPIO4_IO19 0x140 51262306a36Sopenharmony_ci >; 51362306a36Sopenharmony_ci }; 51462306a36Sopenharmony_ci 51562306a36Sopenharmony_ci pinctrl_i2c2: i2c2grp { 51662306a36Sopenharmony_ci fsl,pins = < 51762306a36Sopenharmony_ci MX8MP_IOMUXC_I2C2_SCL__I2C2_SCL 0x400001c2 51862306a36Sopenharmony_ci MX8MP_IOMUXC_I2C2_SDA__I2C2_SDA 0x400001c2 51962306a36Sopenharmony_ci >; 52062306a36Sopenharmony_ci }; 52162306a36Sopenharmony_ci 52262306a36Sopenharmony_ci pinctrl_i2c4: i2c4grp { 52362306a36Sopenharmony_ci fsl,pins = < 52462306a36Sopenharmony_ci MX8MP_IOMUXC_I2C4_SCL__I2C4_SCL 0x400001c2 52562306a36Sopenharmony_ci MX8MP_IOMUXC_I2C4_SDA__I2C4_SDA 0x400001c2 52662306a36Sopenharmony_ci >; 52762306a36Sopenharmony_ci }; 52862306a36Sopenharmony_ci 52962306a36Sopenharmony_ci pinctrl_led3: led3grp { 53062306a36Sopenharmony_ci fsl,pins = < 53162306a36Sopenharmony_ci MX8MP_IOMUXC_SAI3_RXFS__GPIO4_IO28 0x41 53262306a36Sopenharmony_ci >; 53362306a36Sopenharmony_ci }; 53462306a36Sopenharmony_ci 53562306a36Sopenharmony_ci pinctrl_pcal6414: pcal6414-gpiogrp { 53662306a36Sopenharmony_ci fsl,pins = < 53762306a36Sopenharmony_ci MX8MP_IOMUXC_SAI2_MCLK__GPIO4_IO27 0x10 53862306a36Sopenharmony_ci >; 53962306a36Sopenharmony_ci }; 54062306a36Sopenharmony_ci 54162306a36Sopenharmony_ci pinctrl_pcie: pciegrp { 54262306a36Sopenharmony_ci fsl,pins = < 54362306a36Sopenharmony_ci MX8MP_IOMUXC_GPIO1_IO05__GPIO1_IO05 0x10 /* PCIe_nDIS */ 54462306a36Sopenharmony_ci MX8MP_IOMUXC_SAI2_RXFS__GPIO4_IO21 0x10 /* PCIe_nRST */ 54562306a36Sopenharmony_ci >; 54662306a36Sopenharmony_ci }; 54762306a36Sopenharmony_ci 54862306a36Sopenharmony_ci pinctrl_reg_usdhc2_vmmc: regusdhc2vmmcgrp { 54962306a36Sopenharmony_ci fsl,pins = < 55062306a36Sopenharmony_ci MX8MP_IOMUXC_SD2_RESET_B__GPIO2_IO19 0x40 55162306a36Sopenharmony_ci >; 55262306a36Sopenharmony_ci }; 55362306a36Sopenharmony_ci 55462306a36Sopenharmony_ci pinctrl_sai3: sai3grp { 55562306a36Sopenharmony_ci fsl,pins = < 55662306a36Sopenharmony_ci MX8MP_IOMUXC_SAI3_TXFS__AUDIOMIX_SAI3_TX_SYNC 0xd6 55762306a36Sopenharmony_ci MX8MP_IOMUXC_SAI3_TXC__AUDIOMIX_SAI3_TX_BCLK 0xd6 55862306a36Sopenharmony_ci MX8MP_IOMUXC_SAI3_RXD__AUDIOMIX_SAI3_RX_DATA00 0xd6 55962306a36Sopenharmony_ci MX8MP_IOMUXC_SAI3_TXD__AUDIOMIX_SAI3_TX_DATA00 0xd6 56062306a36Sopenharmony_ci MX8MP_IOMUXC_SAI3_MCLK__AUDIOMIX_SAI3_MCLK 0xd6 56162306a36Sopenharmony_ci >; 56262306a36Sopenharmony_ci }; 56362306a36Sopenharmony_ci 56462306a36Sopenharmony_ci pinctrl_tpm: tpmgrp { 56562306a36Sopenharmony_ci fsl,pins = < 56662306a36Sopenharmony_ci MX8MP_IOMUXC_SAI1_RXFS__GPIO4_IO00 0x19 /* Reset */ 56762306a36Sopenharmony_ci MX8MP_IOMUXC_SAI3_RXC__GPIO4_IO29 0x1d6 /* IRQ */ 56862306a36Sopenharmony_ci >; 56962306a36Sopenharmony_ci }; 57062306a36Sopenharmony_ci 57162306a36Sopenharmony_ci pinctrl_typec: typec1grp { 57262306a36Sopenharmony_ci fsl,pins = < 57362306a36Sopenharmony_ci MX8MP_IOMUXC_SAI1_RXC__GPIO4_IO01 0xc4 57462306a36Sopenharmony_ci >; 57562306a36Sopenharmony_ci }; 57662306a36Sopenharmony_ci 57762306a36Sopenharmony_ci pinctrl_uart2: uart2grp { 57862306a36Sopenharmony_ci fsl,pins = < 57962306a36Sopenharmony_ci MX8MP_IOMUXC_UART2_RXD__UART2_DCE_RX 0x140 58062306a36Sopenharmony_ci MX8MP_IOMUXC_UART2_TXD__UART2_DCE_TX 0x140 58162306a36Sopenharmony_ci >; 58262306a36Sopenharmony_ci }; 58362306a36Sopenharmony_ci 58462306a36Sopenharmony_ci pinctrl_uart3: uart3grp { 58562306a36Sopenharmony_ci fsl,pins = < 58662306a36Sopenharmony_ci MX8MP_IOMUXC_ECSPI1_SCLK__UART3_DCE_RX 0x140 58762306a36Sopenharmony_ci MX8MP_IOMUXC_ECSPI1_MOSI__UART3_DCE_TX 0x140 58862306a36Sopenharmony_ci MX8MP_IOMUXC_ECSPI1_SS0__UART3_DCE_RTS 0x140 58962306a36Sopenharmony_ci MX8MP_IOMUXC_ECSPI1_MISO__UART3_DCE_CTS 0x140 59062306a36Sopenharmony_ci >; 59162306a36Sopenharmony_ci }; 59262306a36Sopenharmony_ci 59362306a36Sopenharmony_ci pinctrl_usdhc2: usdhc2grp { 59462306a36Sopenharmony_ci fsl,pins = < 59562306a36Sopenharmony_ci MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x190 59662306a36Sopenharmony_ci MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x1d0 59762306a36Sopenharmony_ci MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 0x1d0 59862306a36Sopenharmony_ci MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d0 59962306a36Sopenharmony_ci MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x1d0 60062306a36Sopenharmony_ci MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x1d0 60162306a36Sopenharmony_ci MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0xc0 60262306a36Sopenharmony_ci >; 60362306a36Sopenharmony_ci }; 60462306a36Sopenharmony_ci 60562306a36Sopenharmony_ci pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp { 60662306a36Sopenharmony_ci fsl,pins = < 60762306a36Sopenharmony_ci MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x194 60862306a36Sopenharmony_ci MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x1d4 60962306a36Sopenharmony_ci MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 0x1d4 61062306a36Sopenharmony_ci MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d4 61162306a36Sopenharmony_ci MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x1d4 61262306a36Sopenharmony_ci MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x1d4 61362306a36Sopenharmony_ci MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0xc0 61462306a36Sopenharmony_ci >; 61562306a36Sopenharmony_ci }; 61662306a36Sopenharmony_ci 61762306a36Sopenharmony_ci pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp { 61862306a36Sopenharmony_ci fsl,pins = < 61962306a36Sopenharmony_ci MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x196 62062306a36Sopenharmony_ci MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x1d6 62162306a36Sopenharmony_ci MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 0x1d6 62262306a36Sopenharmony_ci MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d6 62362306a36Sopenharmony_ci MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x1d6 62462306a36Sopenharmony_ci MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x1d6 62562306a36Sopenharmony_ci MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0xc0 62662306a36Sopenharmony_ci >; 62762306a36Sopenharmony_ci }; 62862306a36Sopenharmony_ci 62962306a36Sopenharmony_ci pinctrl_usdhc2_gpio: usdhc2gpiogrp { 63062306a36Sopenharmony_ci fsl,pins = < 63162306a36Sopenharmony_ci MX8MP_IOMUXC_SD2_CD_B__GPIO2_IO12 0x1c4 63262306a36Sopenharmony_ci >; 63362306a36Sopenharmony_ci }; 63462306a36Sopenharmony_ci 63562306a36Sopenharmony_ci pinctrl_wm8962: wm8962grp { 63662306a36Sopenharmony_ci fsl,pins = < 63762306a36Sopenharmony_ci MX8MP_IOMUXC_GPIO1_IO14__CCM_CLKO1 0x59 63862306a36Sopenharmony_ci >; 63962306a36Sopenharmony_ci }; 64062306a36Sopenharmony_ci}; 641