19079aca4SLucas Stach// SPDX-License-Identifier: (GPL-2.0 OR MIT) 29079aca4SLucas Stach/* 39079aca4SLucas Stach * Copyright 2017 NXP 49079aca4SLucas Stach * Copyright (C) 2017-2018 Pengutronix, Lucas Stach <kernel@pengutronix.de> 59079aca4SLucas Stach */ 69079aca4SLucas Stach 79079aca4SLucas Stach/dts-v1/; 89079aca4SLucas Stach 99079aca4SLucas Stach#include "imx8mq.dtsi" 109079aca4SLucas Stach 119079aca4SLucas Stach/ { 129079aca4SLucas Stach model = "NXP i.MX8MQ EVK"; 139079aca4SLucas Stach compatible = "fsl,imx8mq-evk", "fsl,imx8mq"; 149079aca4SLucas Stach 159079aca4SLucas Stach chosen { 169079aca4SLucas Stach stdout-path = &uart1; 179079aca4SLucas Stach }; 189079aca4SLucas Stach 199079aca4SLucas Stach memory@40000000 { 209079aca4SLucas Stach device_type = "memory"; 219079aca4SLucas Stach reg = <0x00000000 0x40000000 0 0xc0000000>; 229079aca4SLucas Stach }; 239079aca4SLucas Stach 24cdfdea07SAndrey Smirnov pcie0_refclk: pcie0-refclk { 25cdfdea07SAndrey Smirnov compatible = "fixed-clock"; 26cdfdea07SAndrey Smirnov #clock-cells = <0>; 27cdfdea07SAndrey Smirnov clock-frequency = <100000000>; 28cdfdea07SAndrey Smirnov }; 29cdfdea07SAndrey Smirnov 30*5edaa224SRichard Zhu reg_pcie1: regulator-pcie { 31*5edaa224SRichard Zhu compatible = "regulator-fixed"; 32*5edaa224SRichard Zhu pinctrl-names = "default"; 33*5edaa224SRichard Zhu pinctrl-0 = <&pinctrl_pcie1_reg>; 34*5edaa224SRichard Zhu regulator-name = "MPCIE_3V3"; 35*5edaa224SRichard Zhu regulator-min-microvolt = <3300000>; 36*5edaa224SRichard Zhu regulator-max-microvolt = <3300000>; 37*5edaa224SRichard Zhu gpio = <&gpio5 10 GPIO_ACTIVE_HIGH>; 38*5edaa224SRichard Zhu enable-active-high; 39*5edaa224SRichard Zhu }; 40*5edaa224SRichard Zhu 419079aca4SLucas Stach reg_usdhc2_vmmc: regulator-vsd-3v3 { 429079aca4SLucas Stach pinctrl-names = "default"; 439079aca4SLucas Stach pinctrl-0 = <&pinctrl_reg_usdhc2>; 449079aca4SLucas Stach compatible = "regulator-fixed"; 459079aca4SLucas Stach regulator-name = "VSD_3V3"; 469079aca4SLucas Stach regulator-min-microvolt = <3300000>; 479079aca4SLucas Stach regulator-max-microvolt = <3300000>; 489079aca4SLucas Stach gpio = <&gpio2 19 GPIO_ACTIVE_HIGH>; 499079aca4SLucas Stach enable-active-high; 509079aca4SLucas Stach }; 519b87ebb1SAbel Vesa 529b87ebb1SAbel Vesa buck2_reg: regulator-buck2 { 539b87ebb1SAbel Vesa pinctrl-names = "default"; 549b87ebb1SAbel Vesa pinctrl-0 = <&pinctrl_buck2>; 559b87ebb1SAbel Vesa compatible = "regulator-gpio"; 569b87ebb1SAbel Vesa regulator-name = "vdd_arm"; 579b87ebb1SAbel Vesa regulator-min-microvolt = <900000>; 589b87ebb1SAbel Vesa regulator-max-microvolt = <1000000>; 599b87ebb1SAbel Vesa gpios = <&gpio1 13 GPIO_ACTIVE_HIGH>; 609b87ebb1SAbel Vesa states = <1000000 0x0 619b87ebb1SAbel Vesa 900000 0x1>; 6213645b1aSAnson Huang regulator-boot-on; 6313645b1aSAnson Huang regulator-always-on; 649b87ebb1SAbel Vesa }; 65c6578d98SDaniel Baluta 66431e4628SRogerio Pimentel da Silva ir-receiver { 67431e4628SRogerio Pimentel da Silva compatible = "gpio-ir-receiver"; 68431e4628SRogerio Pimentel da Silva gpios = <&gpio1 12 GPIO_ACTIVE_LOW>; 69431e4628SRogerio Pimentel da Silva pinctrl-names = "default"; 70431e4628SRogerio Pimentel da Silva pinctrl-0 = <&pinctrl_ir>; 714d583263SJoakim Zhang linux,autosuspend-period = <125>; 72431e4628SRogerio Pimentel da Silva }; 73431e4628SRogerio Pimentel da Silva 74c6578d98SDaniel Baluta wm8524: audio-codec { 75c6578d98SDaniel Baluta #sound-dai-cells = <0>; 76c6578d98SDaniel Baluta compatible = "wlf,wm8524"; 77c6578d98SDaniel Baluta wlf,mute-gpios = <&gpio1 8 GPIO_ACTIVE_LOW>; 78c6578d98SDaniel Baluta }; 79c6578d98SDaniel Baluta 80c6578d98SDaniel Baluta sound-wm8524 { 81c6578d98SDaniel Baluta compatible = "simple-audio-card"; 82c6578d98SDaniel Baluta simple-audio-card,name = "wm8524-audio"; 83c6578d98SDaniel Baluta simple-audio-card,format = "i2s"; 84c6578d98SDaniel Baluta simple-audio-card,frame-master = <&cpudai>; 85c6578d98SDaniel Baluta simple-audio-card,bitclock-master = <&cpudai>; 86c6578d98SDaniel Baluta simple-audio-card,widgets = 87c6578d98SDaniel Baluta "Line", "Left Line Out Jack", 88c6578d98SDaniel Baluta "Line", "Right Line Out Jack"; 89c6578d98SDaniel Baluta simple-audio-card,routing = 90c6578d98SDaniel Baluta "Left Line Out Jack", "LINEVOUTL", 91c6578d98SDaniel Baluta "Right Line Out Jack", "LINEVOUTR"; 92c6578d98SDaniel Baluta 93c6578d98SDaniel Baluta cpudai: simple-audio-card,cpu { 94c6578d98SDaniel Baluta sound-dai = <&sai2>; 95c6578d98SDaniel Baluta }; 96c6578d98SDaniel Baluta 97c6578d98SDaniel Baluta link_codec: simple-audio-card,codec { 98c6578d98SDaniel Baluta sound-dai = <&wm8524>; 99c6578d98SDaniel Baluta clocks = <&clk IMX8MQ_CLK_SAI2_ROOT>; 100c6578d98SDaniel Baluta }; 101c6578d98SDaniel Baluta }; 10208a1a2e2SShengjiu Wang 10308a1a2e2SShengjiu Wang sound-spdif { 10408a1a2e2SShengjiu Wang compatible = "fsl,imx-audio-spdif"; 10508a1a2e2SShengjiu Wang model = "imx-spdif"; 10608a1a2e2SShengjiu Wang spdif-controller = <&spdif1>; 10708a1a2e2SShengjiu Wang spdif-out; 10808a1a2e2SShengjiu Wang spdif-in; 10908a1a2e2SShengjiu Wang }; 11008a1a2e2SShengjiu Wang 11108a1a2e2SShengjiu Wang sound-hdmi-arc { 11208a1a2e2SShengjiu Wang compatible = "fsl,imx-audio-spdif"; 11308a1a2e2SShengjiu Wang model = "imx-hdmi-arc"; 11408a1a2e2SShengjiu Wang spdif-controller = <&spdif2>; 11508a1a2e2SShengjiu Wang spdif-in; 11608a1a2e2SShengjiu Wang }; 1179b87ebb1SAbel Vesa}; 1189b87ebb1SAbel Vesa 1199b87ebb1SAbel Vesa&A53_0 { 1209b87ebb1SAbel Vesa cpu-supply = <&buck2_reg>; 1219b87ebb1SAbel Vesa}; 1229b87ebb1SAbel Vesa 1239b87ebb1SAbel Vesa&A53_1 { 1249b87ebb1SAbel Vesa cpu-supply = <&buck2_reg>; 1259b87ebb1SAbel Vesa}; 1269b87ebb1SAbel Vesa 1279b87ebb1SAbel Vesa&A53_2 { 1289b87ebb1SAbel Vesa cpu-supply = <&buck2_reg>; 1299b87ebb1SAbel Vesa}; 1309b87ebb1SAbel Vesa 1319b87ebb1SAbel Vesa&A53_3 { 1329b87ebb1SAbel Vesa cpu-supply = <&buck2_reg>; 1339079aca4SLucas Stach}; 1349079aca4SLucas Stach 1350376f6ecSLeonard Crestez&ddrc { 1360376f6ecSLeonard Crestez operating-points-v2 = <&ddrc_opp_table>; 1370bcc4bf0SLucas Stach status = "okay"; 1380376f6ecSLeonard Crestez 1390376f6ecSLeonard Crestez ddrc_opp_table: opp-table { 1400376f6ecSLeonard Crestez compatible = "operating-points-v2"; 1410376f6ecSLeonard Crestez 1420376f6ecSLeonard Crestez opp-25M { 1430376f6ecSLeonard Crestez opp-hz = /bits/ 64 <25000000>; 1440376f6ecSLeonard Crestez }; 1450376f6ecSLeonard Crestez 1460376f6ecSLeonard Crestez opp-100M { 1470376f6ecSLeonard Crestez opp-hz = /bits/ 64 <100000000>; 1480376f6ecSLeonard Crestez }; 1490376f6ecSLeonard Crestez 1500376f6ecSLeonard Crestez /* 1510376f6ecSLeonard Crestez * On imx8mq B0 PLL can't be bypassed so low bus is 166M 1520376f6ecSLeonard Crestez */ 1530376f6ecSLeonard Crestez opp-166M { 1540376f6ecSLeonard Crestez opp-hz = /bits/ 64 <166935483>; 1550376f6ecSLeonard Crestez }; 1560376f6ecSLeonard Crestez 1570376f6ecSLeonard Crestez opp-800M { 1580376f6ecSLeonard Crestez opp-hz = /bits/ 64 <800000000>; 1590376f6ecSLeonard Crestez }; 1600376f6ecSLeonard Crestez }; 1610376f6ecSLeonard Crestez}; 1620376f6ecSLeonard Crestez 163d367e7d3SFabio Estevam&dphy { 164d367e7d3SFabio Estevam status = "okay"; 165d367e7d3SFabio Estevam}; 166d367e7d3SFabio Estevam 1679079aca4SLucas Stach&fec1 { 1689079aca4SLucas Stach pinctrl-names = "default"; 1699079aca4SLucas Stach pinctrl-0 = <&pinctrl_fec1>; 1709079aca4SLucas Stach phy-mode = "rgmii-id"; 17155b0b15aSCarlo Caione phy-handle = <ðphy0>; 172f196ef19SCarlo Caione fsl,magic-packet; 1739079aca4SLucas Stach status = "okay"; 17455b0b15aSCarlo Caione 17555b0b15aSCarlo Caione mdio { 17655b0b15aSCarlo Caione #address-cells = <1>; 17755b0b15aSCarlo Caione #size-cells = <0>; 17855b0b15aSCarlo Caione 17955b0b15aSCarlo Caione ethphy0: ethernet-phy@0 { 18055b0b15aSCarlo Caione compatible = "ethernet-phy-ieee802.3-c22"; 18155b0b15aSCarlo Caione reg = <0>; 182b73af7fcSKrzysztof Kozlowski reset-gpios = <&gpio1 9 GPIO_ACTIVE_LOW>; 183b73af7fcSKrzysztof Kozlowski reset-assert-us = <10000>; 18420b6559eSJoakim Zhang qca,disable-smarteee; 18509e5ccddSJoakim Zhang vddio-supply = <&vddh>; 18609e5ccddSJoakim Zhang 18709e5ccddSJoakim Zhang vddh: vddh-regulator { 18809e5ccddSJoakim Zhang }; 18955b0b15aSCarlo Caione }; 19055b0b15aSCarlo Caione }; 1919079aca4SLucas Stach}; 1929079aca4SLucas Stach 193cdfdea07SAndrey Smirnov&gpio5 { 194cdfdea07SAndrey Smirnov pinctrl-names = "default"; 195cdfdea07SAndrey Smirnov pinctrl-0 = <&pinctrl_wifi_reset>; 196cdfdea07SAndrey Smirnov 197878cc5a2SKrzysztof Kozlowski wl-reg-on-hog { 198cdfdea07SAndrey Smirnov gpio-hog; 199cdfdea07SAndrey Smirnov gpios = <29 GPIO_ACTIVE_HIGH>; 200cdfdea07SAndrey Smirnov output-high; 201cdfdea07SAndrey Smirnov }; 202cdfdea07SAndrey Smirnov}; 203cdfdea07SAndrey Smirnov 2049079aca4SLucas Stach&i2c1 { 2059079aca4SLucas Stach clock-frequency = <100000>; 2069079aca4SLucas Stach pinctrl-names = "default"; 2079079aca4SLucas Stach pinctrl-0 = <&pinctrl_i2c1>; 2089079aca4SLucas Stach status = "okay"; 2099079aca4SLucas Stach 2109079aca4SLucas Stach pmic@8 { 2119079aca4SLucas Stach compatible = "fsl,pfuze100"; 2129079aca4SLucas Stach reg = <0x8>; 2139079aca4SLucas Stach 2149079aca4SLucas Stach regulators { 2159079aca4SLucas Stach sw1a_reg: sw1ab { 2169079aca4SLucas Stach regulator-min-microvolt = <825000>; 2179079aca4SLucas Stach regulator-max-microvolt = <1100000>; 2189079aca4SLucas Stach }; 2199079aca4SLucas Stach 2209079aca4SLucas Stach sw1c_reg: sw1c { 2219079aca4SLucas Stach regulator-min-microvolt = <825000>; 2229079aca4SLucas Stach regulator-max-microvolt = <1100000>; 2239079aca4SLucas Stach }; 2249079aca4SLucas Stach 2259079aca4SLucas Stach sw2_reg: sw2 { 2269079aca4SLucas Stach regulator-min-microvolt = <1100000>; 2279079aca4SLucas Stach regulator-max-microvolt = <1100000>; 2289079aca4SLucas Stach regulator-always-on; 2299079aca4SLucas Stach }; 2309079aca4SLucas Stach 2319079aca4SLucas Stach sw3a_reg: sw3ab { 2329079aca4SLucas Stach regulator-min-microvolt = <825000>; 2339079aca4SLucas Stach regulator-max-microvolt = <1100000>; 2349079aca4SLucas Stach regulator-always-on; 2359079aca4SLucas Stach }; 2369079aca4SLucas Stach 2379079aca4SLucas Stach sw4_reg: sw4 { 2389079aca4SLucas Stach regulator-min-microvolt = <1800000>; 2399079aca4SLucas Stach regulator-max-microvolt = <1800000>; 2409079aca4SLucas Stach regulator-always-on; 2419079aca4SLucas Stach }; 2429079aca4SLucas Stach 2439079aca4SLucas Stach swbst_reg: swbst { 2449079aca4SLucas Stach regulator-min-microvolt = <5000000>; 2459079aca4SLucas Stach regulator-max-microvolt = <5150000>; 2469079aca4SLucas Stach }; 2479079aca4SLucas Stach 2489079aca4SLucas Stach snvs_reg: vsnvs { 2499079aca4SLucas Stach regulator-min-microvolt = <1000000>; 2509079aca4SLucas Stach regulator-max-microvolt = <3000000>; 2519079aca4SLucas Stach regulator-always-on; 2529079aca4SLucas Stach }; 2539079aca4SLucas Stach 2549079aca4SLucas Stach vref_reg: vrefddr { 2559079aca4SLucas Stach regulator-always-on; 2569079aca4SLucas Stach }; 2579079aca4SLucas Stach 2589079aca4SLucas Stach vgen1_reg: vgen1 { 2599079aca4SLucas Stach regulator-min-microvolt = <800000>; 2609079aca4SLucas Stach regulator-max-microvolt = <1550000>; 2619079aca4SLucas Stach }; 2629079aca4SLucas Stach 2639079aca4SLucas Stach vgen2_reg: vgen2 { 2649079aca4SLucas Stach regulator-min-microvolt = <850000>; 2659079aca4SLucas Stach regulator-max-microvolt = <975000>; 2669079aca4SLucas Stach regulator-always-on; 2679079aca4SLucas Stach }; 2689079aca4SLucas Stach 2699079aca4SLucas Stach vgen3_reg: vgen3 { 2709079aca4SLucas Stach regulator-min-microvolt = <1675000>; 2719079aca4SLucas Stach regulator-max-microvolt = <1975000>; 2729079aca4SLucas Stach regulator-always-on; 2739079aca4SLucas Stach }; 2749079aca4SLucas Stach 2759079aca4SLucas Stach vgen4_reg: vgen4 { 2769079aca4SLucas Stach regulator-min-microvolt = <1625000>; 2779079aca4SLucas Stach regulator-max-microvolt = <1875000>; 2789079aca4SLucas Stach regulator-always-on; 2799079aca4SLucas Stach }; 2809079aca4SLucas Stach 2819079aca4SLucas Stach vgen5_reg: vgen5 { 2829079aca4SLucas Stach regulator-min-microvolt = <3075000>; 2839079aca4SLucas Stach regulator-max-microvolt = <3625000>; 2849079aca4SLucas Stach regulator-always-on; 2859079aca4SLucas Stach }; 2869079aca4SLucas Stach 2879079aca4SLucas Stach vgen6_reg: vgen6 { 2889079aca4SLucas Stach regulator-min-microvolt = <1800000>; 2899079aca4SLucas Stach regulator-max-microvolt = <3300000>; 2909079aca4SLucas Stach }; 2919079aca4SLucas Stach }; 2929079aca4SLucas Stach }; 2939079aca4SLucas Stach}; 2949079aca4SLucas Stach 295d367e7d3SFabio Estevam&lcdif { 296d367e7d3SFabio Estevam status = "okay"; 297d367e7d3SFabio Estevam}; 298d367e7d3SFabio Estevam 299d367e7d3SFabio Estevam&mipi_dsi { 300d367e7d3SFabio Estevam #address-cells = <1>; 301d367e7d3SFabio Estevam #size-cells = <0>; 302d367e7d3SFabio Estevam status = "okay"; 303d367e7d3SFabio Estevam 304d367e7d3SFabio Estevam panel@0 { 305d367e7d3SFabio Estevam pinctrl-0 = <&pinctrl_mipi_dsi>; 306d367e7d3SFabio Estevam pinctrl-names = "default"; 307d367e7d3SFabio Estevam compatible = "raydium,rm67191"; 308d367e7d3SFabio Estevam reg = <0>; 309d367e7d3SFabio Estevam reset-gpios = <&gpio5 6 GPIO_ACTIVE_LOW>; 310d367e7d3SFabio Estevam dsi-lanes = <4>; 311d367e7d3SFabio Estevam 312d367e7d3SFabio Estevam port { 313d367e7d3SFabio Estevam panel_in: endpoint { 314d367e7d3SFabio Estevam remote-endpoint = <&mipi_dsi_out>; 315d367e7d3SFabio Estevam }; 316d367e7d3SFabio Estevam }; 317d367e7d3SFabio Estevam }; 318d367e7d3SFabio Estevam 319d367e7d3SFabio Estevam ports { 320d367e7d3SFabio Estevam port@1 { 321d367e7d3SFabio Estevam reg = <1>; 322d367e7d3SFabio Estevam mipi_dsi_out: endpoint { 323d367e7d3SFabio Estevam remote-endpoint = <&panel_in>; 324d367e7d3SFabio Estevam }; 325d367e7d3SFabio Estevam }; 326d367e7d3SFabio Estevam }; 327d367e7d3SFabio Estevam}; 328d367e7d3SFabio Estevam 329cdfdea07SAndrey Smirnov&pcie0 { 330cdfdea07SAndrey Smirnov pinctrl-names = "default"; 331cdfdea07SAndrey Smirnov pinctrl-0 = <&pinctrl_pcie0>; 332cdfdea07SAndrey Smirnov reset-gpio = <&gpio5 28 GPIO_ACTIVE_LOW>; 333cdfdea07SAndrey Smirnov clocks = <&clk IMX8MQ_CLK_PCIE1_ROOT>, 334cdfdea07SAndrey Smirnov <&clk IMX8MQ_CLK_PCIE1_AUX>, 335cdfdea07SAndrey Smirnov <&clk IMX8MQ_CLK_PCIE1_PHY>, 336cdfdea07SAndrey Smirnov <&pcie0_refclk>; 337cdfdea07SAndrey Smirnov clock-names = "pcie", "pcie_aux", "pcie_phy", "pcie_bus"; 3389b95c44bSRichard Zhu vph-supply = <&vgen5_reg>; 339cdfdea07SAndrey Smirnov status = "okay"; 340cdfdea07SAndrey Smirnov}; 341cdfdea07SAndrey Smirnov 342*5edaa224SRichard Zhu&pcie1 { 343*5edaa224SRichard Zhu pinctrl-names = "default"; 344*5edaa224SRichard Zhu pinctrl-0 = <&pinctrl_pcie1>; 345*5edaa224SRichard Zhu reset-gpio = <&gpio5 12 GPIO_ACTIVE_LOW>; 346*5edaa224SRichard Zhu clocks = <&clk IMX8MQ_CLK_PCIE2_ROOT>, 347*5edaa224SRichard Zhu <&clk IMX8MQ_CLK_PCIE2_AUX>, 348*5edaa224SRichard Zhu <&clk IMX8MQ_CLK_PCIE2_PHY>, 349*5edaa224SRichard Zhu <&pcie0_refclk>; 350*5edaa224SRichard Zhu clock-names = "pcie", "pcie_aux", "pcie_phy", "pcie_bus"; 351*5edaa224SRichard Zhu vpcie-supply = <®_pcie1>; 352*5edaa224SRichard Zhu vph-supply = <&vgen5_reg>; 353*5edaa224SRichard Zhu status = "okay"; 354*5edaa224SRichard Zhu}; 355*5edaa224SRichard Zhu 356eda73fc8SLucas Stach&pgc_gpu { 357eda73fc8SLucas Stach power-supply = <&sw1a_reg>; 358eda73fc8SLucas Stach}; 359eda73fc8SLucas Stach 3601a42daaaSAdam Ford&pgc_vpu { 3611a42daaaSAdam Ford power-supply = <&sw1c_reg>; 3621a42daaaSAdam Ford}; 3631a42daaaSAdam Ford 3640169002fSAnson Huang&qspi0 { 3650169002fSAnson Huang pinctrl-names = "default"; 3660169002fSAnson Huang pinctrl-0 = <&pinctrl_qspi>; 3670169002fSAnson Huang status = "okay"; 3680169002fSAnson Huang 3690169002fSAnson Huang n25q256a: flash@0 { 3700169002fSAnson Huang reg = <0>; 3710169002fSAnson Huang #address-cells = <1>; 3720169002fSAnson Huang #size-cells = <1>; 3730169002fSAnson Huang compatible = "micron,n25q256a", "jedec,spi-nor"; 3740169002fSAnson Huang spi-max-frequency = <29000000>; 37504aa946dSHaibo Chen spi-tx-bus-width = <1>; 37604aa946dSHaibo Chen spi-rx-bus-width = <4>; 3770169002fSAnson Huang }; 3780169002fSAnson Huang}; 3790169002fSAnson Huang 3800169002fSAnson Huang&sai2 { 3810169002fSAnson Huang pinctrl-names = "default"; 3820169002fSAnson Huang pinctrl-0 = <&pinctrl_sai2>; 3830169002fSAnson Huang assigned-clocks = <&clk IMX8MQ_AUDIO_PLL1_BYPASS>, <&clk IMX8MQ_CLK_SAI2>; 3840169002fSAnson Huang assigned-clock-parents = <&clk IMX8MQ_AUDIO_PLL1>, <&clk IMX8MQ_AUDIO_PLL1_OUT>; 3850169002fSAnson Huang assigned-clock-rates = <0>, <24576000>; 3860169002fSAnson Huang status = "okay"; 3870169002fSAnson Huang}; 3880169002fSAnson Huang 3893c3a8e50SAnson Huang&snvs_pwrkey { 3903c3a8e50SAnson Huang status = "okay"; 3913c3a8e50SAnson Huang}; 3923c3a8e50SAnson Huang 39308a1a2e2SShengjiu Wang&spdif1 { 39408a1a2e2SShengjiu Wang pinctrl-names = "default"; 39508a1a2e2SShengjiu Wang pinctrl-0 = <&pinctrl_spdif1>; 39608a1a2e2SShengjiu Wang assigned-clocks = <&clk IMX8MQ_CLK_SPDIF1>; 39708a1a2e2SShengjiu Wang assigned-clock-parents = <&clk IMX8MQ_AUDIO_PLL1_OUT>; 39808a1a2e2SShengjiu Wang assigned-clock-rates = <24576000>; 39908a1a2e2SShengjiu Wang status = "okay"; 40008a1a2e2SShengjiu Wang}; 40108a1a2e2SShengjiu Wang 40208a1a2e2SShengjiu Wang&spdif2 { 40308a1a2e2SShengjiu Wang assigned-clocks = <&clk IMX8MQ_CLK_SPDIF2>; 40408a1a2e2SShengjiu Wang assigned-clock-parents = <&clk IMX8MQ_AUDIO_PLL1_OUT>; 40508a1a2e2SShengjiu Wang assigned-clock-rates = <24576000>; 40608a1a2e2SShengjiu Wang status = "okay"; 40708a1a2e2SShengjiu Wang}; 40808a1a2e2SShengjiu Wang 4099079aca4SLucas Stach&uart1 { 4109079aca4SLucas Stach pinctrl-names = "default"; 4119079aca4SLucas Stach pinctrl-0 = <&pinctrl_uart1>; 4129079aca4SLucas Stach status = "okay"; 4139079aca4SLucas Stach}; 4149079aca4SLucas Stach 41549e6d2b2SLucas Stach&usb3_phy1 { 41649e6d2b2SLucas Stach status = "okay"; 41749e6d2b2SLucas Stach}; 41849e6d2b2SLucas Stach 41949e6d2b2SLucas Stach&usb_dwc3_1 { 42049e6d2b2SLucas Stach dr_mode = "host"; 42149e6d2b2SLucas Stach status = "okay"; 42249e6d2b2SLucas Stach}; 42349e6d2b2SLucas Stach 4249079aca4SLucas Stach&usdhc1 { 425e045f044SAnson Huang assigned-clocks = <&clk IMX8MQ_CLK_USDHC1>; 426e045f044SAnson Huang assigned-clock-rates = <400000000>; 4279079aca4SLucas Stach pinctrl-names = "default", "state_100mhz", "state_200mhz"; 4289079aca4SLucas Stach pinctrl-0 = <&pinctrl_usdhc1>; 4299079aca4SLucas Stach pinctrl-1 = <&pinctrl_usdhc1_100mhz>; 4309079aca4SLucas Stach pinctrl-2 = <&pinctrl_usdhc1_200mhz>; 4319079aca4SLucas Stach vqmmc-supply = <&sw4_reg>; 4329079aca4SLucas Stach bus-width = <8>; 4339079aca4SLucas Stach non-removable; 4349079aca4SLucas Stach no-sd; 4359079aca4SLucas Stach no-sdio; 4369079aca4SLucas Stach status = "okay"; 4379079aca4SLucas Stach}; 4389079aca4SLucas Stach 4399079aca4SLucas Stach&usdhc2 { 440e045f044SAnson Huang assigned-clocks = <&clk IMX8MQ_CLK_USDHC2>; 441e045f044SAnson Huang assigned-clock-rates = <200000000>; 4429079aca4SLucas Stach pinctrl-names = "default", "state_100mhz", "state_200mhz"; 4437e5f3146SKwon Tae-young pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>; 4447e5f3146SKwon Tae-young pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_gpio>; 4457e5f3146SKwon Tae-young pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>; 4469079aca4SLucas Stach cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>; 4479079aca4SLucas Stach vmmc-supply = <®_usdhc2_vmmc>; 4489079aca4SLucas Stach status = "okay"; 4499079aca4SLucas Stach}; 4509079aca4SLucas Stach 4513bbc9abbSBaruch Siach&wdog1 { 4523bbc9abbSBaruch Siach pinctrl-names = "default"; 4533bbc9abbSBaruch Siach pinctrl-0 = <&pinctrl_wdog>; 4543bbc9abbSBaruch Siach fsl,ext-reset-output; 4553bbc9abbSBaruch Siach status = "okay"; 4563bbc9abbSBaruch Siach}; 4573bbc9abbSBaruch Siach 4589079aca4SLucas Stach&iomuxc { 4599b87ebb1SAbel Vesa pinctrl_buck2: vddarmgrp { 4609b87ebb1SAbel Vesa fsl,pins = < 4619b87ebb1SAbel Vesa MX8MQ_IOMUXC_GPIO1_IO13_GPIO1_IO13 0x19 4629b87ebb1SAbel Vesa >; 4639b87ebb1SAbel Vesa }; 4649b87ebb1SAbel Vesa 4659079aca4SLucas Stach pinctrl_fec1: fec1grp { 4669079aca4SLucas Stach fsl,pins = < 4679079aca4SLucas Stach MX8MQ_IOMUXC_ENET_MDC_ENET1_MDC 0x3 4689079aca4SLucas Stach MX8MQ_IOMUXC_ENET_MDIO_ENET1_MDIO 0x23 4699079aca4SLucas Stach MX8MQ_IOMUXC_ENET_TD3_ENET1_RGMII_TD3 0x1f 4709079aca4SLucas Stach MX8MQ_IOMUXC_ENET_TD2_ENET1_RGMII_TD2 0x1f 4719079aca4SLucas Stach MX8MQ_IOMUXC_ENET_TD1_ENET1_RGMII_TD1 0x1f 4729079aca4SLucas Stach MX8MQ_IOMUXC_ENET_TD0_ENET1_RGMII_TD0 0x1f 4739079aca4SLucas Stach MX8MQ_IOMUXC_ENET_RD3_ENET1_RGMII_RD3 0x91 4749079aca4SLucas Stach MX8MQ_IOMUXC_ENET_RD2_ENET1_RGMII_RD2 0x91 4759079aca4SLucas Stach MX8MQ_IOMUXC_ENET_RD1_ENET1_RGMII_RD1 0x91 4769079aca4SLucas Stach MX8MQ_IOMUXC_ENET_RD0_ENET1_RGMII_RD0 0x91 4779079aca4SLucas Stach MX8MQ_IOMUXC_ENET_TXC_ENET1_RGMII_TXC 0x1f 4789079aca4SLucas Stach MX8MQ_IOMUXC_ENET_RXC_ENET1_RGMII_RXC 0x91 4799079aca4SLucas Stach MX8MQ_IOMUXC_ENET_RX_CTL_ENET1_RGMII_RX_CTL 0x91 4809079aca4SLucas Stach MX8MQ_IOMUXC_ENET_TX_CTL_ENET1_RGMII_TX_CTL 0x1f 4819079aca4SLucas Stach MX8MQ_IOMUXC_GPIO1_IO09_GPIO1_IO9 0x19 4829079aca4SLucas Stach >; 4839079aca4SLucas Stach }; 4849079aca4SLucas Stach 4859079aca4SLucas Stach pinctrl_i2c1: i2c1grp { 4869079aca4SLucas Stach fsl,pins = < 4879079aca4SLucas Stach MX8MQ_IOMUXC_I2C1_SCL_I2C1_SCL 0x4000007f 4889079aca4SLucas Stach MX8MQ_IOMUXC_I2C1_SDA_I2C1_SDA 0x4000007f 4899079aca4SLucas Stach >; 4909079aca4SLucas Stach }; 4919079aca4SLucas Stach 492431e4628SRogerio Pimentel da Silva pinctrl_ir: irgrp { 493431e4628SRogerio Pimentel da Silva fsl,pins = < 494431e4628SRogerio Pimentel da Silva MX8MQ_IOMUXC_GPIO1_IO12_GPIO1_IO12 0x4f 495431e4628SRogerio Pimentel da Silva >; 496431e4628SRogerio Pimentel da Silva }; 497431e4628SRogerio Pimentel da Silva 498d367e7d3SFabio Estevam pinctrl_mipi_dsi: mipidsigrp { 499d367e7d3SFabio Estevam fsl,pins = < 500d367e7d3SFabio Estevam MX8MQ_IOMUXC_ECSPI1_SCLK_GPIO5_IO6 0x16 501d367e7d3SFabio Estevam >; 502d367e7d3SFabio Estevam }; 503d367e7d3SFabio Estevam 504cdfdea07SAndrey Smirnov pinctrl_pcie0: pcie0grp { 505cdfdea07SAndrey Smirnov fsl,pins = < 506cdfdea07SAndrey Smirnov MX8MQ_IOMUXC_I2C4_SCL_PCIE1_CLKREQ_B 0x76 507cdfdea07SAndrey Smirnov MX8MQ_IOMUXC_UART4_RXD_GPIO5_IO28 0x16 508cdfdea07SAndrey Smirnov >; 509cdfdea07SAndrey Smirnov }; 510cdfdea07SAndrey Smirnov 511*5edaa224SRichard Zhu pinctrl_pcie1: pcie1grp { 512*5edaa224SRichard Zhu fsl,pins = < 513*5edaa224SRichard Zhu MX8MQ_IOMUXC_I2C4_SDA_PCIE2_CLKREQ_B 0x76 514*5edaa224SRichard Zhu MX8MQ_IOMUXC_ECSPI2_MISO_GPIO5_IO12 0x16 515*5edaa224SRichard Zhu >; 516*5edaa224SRichard Zhu }; 517*5edaa224SRichard Zhu 518*5edaa224SRichard Zhu pinctrl_pcie1_reg: pcie1reggrp { 519*5edaa224SRichard Zhu fsl,pins = < 520*5edaa224SRichard Zhu MX8MQ_IOMUXC_ECSPI2_SCLK_GPIO5_IO10 0x16 521*5edaa224SRichard Zhu >; 522*5edaa224SRichard Zhu }; 523*5edaa224SRichard Zhu 524f9f818cfSCarlo Caione pinctrl_qspi: qspigrp { 525f9f818cfSCarlo Caione fsl,pins = < 526f9f818cfSCarlo Caione MX8MQ_IOMUXC_NAND_ALE_QSPI_A_SCLK 0x82 527f9f818cfSCarlo Caione MX8MQ_IOMUXC_NAND_CE0_B_QSPI_A_SS0_B 0x82 528f9f818cfSCarlo Caione MX8MQ_IOMUXC_NAND_DATA00_QSPI_A_DATA0 0x82 529f9f818cfSCarlo Caione MX8MQ_IOMUXC_NAND_DATA01_QSPI_A_DATA1 0x82 530f9f818cfSCarlo Caione MX8MQ_IOMUXC_NAND_DATA02_QSPI_A_DATA2 0x82 531f9f818cfSCarlo Caione MX8MQ_IOMUXC_NAND_DATA03_QSPI_A_DATA3 0x82 532f9f818cfSCarlo Caione >; 533f9f818cfSCarlo Caione }; 534f9f818cfSCarlo Caione 535ad5260e0SKrzysztof Kozlowski pinctrl_reg_usdhc2: regusdhc2gpiogrp { 5369079aca4SLucas Stach fsl,pins = < 5379079aca4SLucas Stach MX8MQ_IOMUXC_SD2_RESET_B_GPIO2_IO19 0x41 5389079aca4SLucas Stach >; 5399079aca4SLucas Stach }; 5409079aca4SLucas Stach 541c6578d98SDaniel Baluta pinctrl_sai2: sai2grp { 542c6578d98SDaniel Baluta fsl,pins = < 543c6578d98SDaniel Baluta MX8MQ_IOMUXC_SAI2_TXFS_SAI2_TX_SYNC 0xd6 544c6578d98SDaniel Baluta MX8MQ_IOMUXC_SAI2_TXC_SAI2_TX_BCLK 0xd6 545c6578d98SDaniel Baluta MX8MQ_IOMUXC_SAI2_MCLK_SAI2_MCLK 0xd6 546c6578d98SDaniel Baluta MX8MQ_IOMUXC_SAI2_TXD0_SAI2_TX_DATA0 0xd6 547c6578d98SDaniel Baluta MX8MQ_IOMUXC_GPIO1_IO08_GPIO1_IO8 0xd6 548c6578d98SDaniel Baluta >; 549c6578d98SDaniel Baluta }; 550c6578d98SDaniel Baluta 55108a1a2e2SShengjiu Wang pinctrl_spdif1: spdif1grp { 55208a1a2e2SShengjiu Wang fsl,pins = < 55308a1a2e2SShengjiu Wang MX8MQ_IOMUXC_SPDIF_TX_SPDIF1_OUT 0xd6 55408a1a2e2SShengjiu Wang MX8MQ_IOMUXC_SPDIF_RX_SPDIF1_IN 0xd6 55508a1a2e2SShengjiu Wang >; 55608a1a2e2SShengjiu Wang }; 55708a1a2e2SShengjiu Wang 5589079aca4SLucas Stach pinctrl_uart1: uart1grp { 5599079aca4SLucas Stach fsl,pins = < 5609079aca4SLucas Stach MX8MQ_IOMUXC_UART1_RXD_UART1_DCE_RX 0x49 5619079aca4SLucas Stach MX8MQ_IOMUXC_UART1_TXD_UART1_DCE_TX 0x49 5629079aca4SLucas Stach >; 5639079aca4SLucas Stach }; 5649079aca4SLucas Stach 5659079aca4SLucas Stach pinctrl_usdhc1: usdhc1grp { 5669079aca4SLucas Stach fsl,pins = < 5679079aca4SLucas Stach MX8MQ_IOMUXC_SD1_CLK_USDHC1_CLK 0x83 5689079aca4SLucas Stach MX8MQ_IOMUXC_SD1_CMD_USDHC1_CMD 0xc3 5699079aca4SLucas Stach MX8MQ_IOMUXC_SD1_DATA0_USDHC1_DATA0 0xc3 5709079aca4SLucas Stach MX8MQ_IOMUXC_SD1_DATA1_USDHC1_DATA1 0xc3 5719079aca4SLucas Stach MX8MQ_IOMUXC_SD1_DATA2_USDHC1_DATA2 0xc3 5729079aca4SLucas Stach MX8MQ_IOMUXC_SD1_DATA3_USDHC1_DATA3 0xc3 5739079aca4SLucas Stach MX8MQ_IOMUXC_SD1_DATA4_USDHC1_DATA4 0xc3 5749079aca4SLucas Stach MX8MQ_IOMUXC_SD1_DATA5_USDHC1_DATA5 0xc3 5759079aca4SLucas Stach MX8MQ_IOMUXC_SD1_DATA6_USDHC1_DATA6 0xc3 5769079aca4SLucas Stach MX8MQ_IOMUXC_SD1_DATA7_USDHC1_DATA7 0xc3 5779079aca4SLucas Stach MX8MQ_IOMUXC_SD1_STROBE_USDHC1_STROBE 0x83 5789079aca4SLucas Stach MX8MQ_IOMUXC_SD1_RESET_B_USDHC1_RESET_B 0xc1 5799079aca4SLucas Stach >; 5809079aca4SLucas Stach }; 5819079aca4SLucas Stach 5829079aca4SLucas Stach pinctrl_usdhc1_100mhz: usdhc1-100grp { 5839079aca4SLucas Stach fsl,pins = < 584f2ce6ed3SCarlo Caione MX8MQ_IOMUXC_SD1_CLK_USDHC1_CLK 0x8d 585f2ce6ed3SCarlo Caione MX8MQ_IOMUXC_SD1_CMD_USDHC1_CMD 0xcd 586f2ce6ed3SCarlo Caione MX8MQ_IOMUXC_SD1_DATA0_USDHC1_DATA0 0xcd 587f2ce6ed3SCarlo Caione MX8MQ_IOMUXC_SD1_DATA1_USDHC1_DATA1 0xcd 588f2ce6ed3SCarlo Caione MX8MQ_IOMUXC_SD1_DATA2_USDHC1_DATA2 0xcd 589f2ce6ed3SCarlo Caione MX8MQ_IOMUXC_SD1_DATA3_USDHC1_DATA3 0xcd 590f2ce6ed3SCarlo Caione MX8MQ_IOMUXC_SD1_DATA4_USDHC1_DATA4 0xcd 591f2ce6ed3SCarlo Caione MX8MQ_IOMUXC_SD1_DATA5_USDHC1_DATA5 0xcd 592f2ce6ed3SCarlo Caione MX8MQ_IOMUXC_SD1_DATA6_USDHC1_DATA6 0xcd 593f2ce6ed3SCarlo Caione MX8MQ_IOMUXC_SD1_DATA7_USDHC1_DATA7 0xcd 594f2ce6ed3SCarlo Caione MX8MQ_IOMUXC_SD1_STROBE_USDHC1_STROBE 0x8d 5959079aca4SLucas Stach MX8MQ_IOMUXC_SD1_RESET_B_USDHC1_RESET_B 0xc1 5969079aca4SLucas Stach >; 5979079aca4SLucas Stach }; 5989079aca4SLucas Stach 5999079aca4SLucas Stach pinctrl_usdhc1_200mhz: usdhc1-200grp { 6009079aca4SLucas Stach fsl,pins = < 601f2ce6ed3SCarlo Caione MX8MQ_IOMUXC_SD1_CLK_USDHC1_CLK 0x9f 602f2ce6ed3SCarlo Caione MX8MQ_IOMUXC_SD1_CMD_USDHC1_CMD 0xdf 603f2ce6ed3SCarlo Caione MX8MQ_IOMUXC_SD1_DATA0_USDHC1_DATA0 0xdf 604f2ce6ed3SCarlo Caione MX8MQ_IOMUXC_SD1_DATA1_USDHC1_DATA1 0xdf 605f2ce6ed3SCarlo Caione MX8MQ_IOMUXC_SD1_DATA2_USDHC1_DATA2 0xdf 606f2ce6ed3SCarlo Caione MX8MQ_IOMUXC_SD1_DATA3_USDHC1_DATA3 0xdf 607f2ce6ed3SCarlo Caione MX8MQ_IOMUXC_SD1_DATA4_USDHC1_DATA4 0xdf 608f2ce6ed3SCarlo Caione MX8MQ_IOMUXC_SD1_DATA5_USDHC1_DATA5 0xdf 609f2ce6ed3SCarlo Caione MX8MQ_IOMUXC_SD1_DATA6_USDHC1_DATA6 0xdf 610f2ce6ed3SCarlo Caione MX8MQ_IOMUXC_SD1_DATA7_USDHC1_DATA7 0xdf 611f2ce6ed3SCarlo Caione MX8MQ_IOMUXC_SD1_STROBE_USDHC1_STROBE 0x9f 6129079aca4SLucas Stach MX8MQ_IOMUXC_SD1_RESET_B_USDHC1_RESET_B 0xc1 6139079aca4SLucas Stach >; 6149079aca4SLucas Stach }; 6159079aca4SLucas Stach 6167e5f3146SKwon Tae-young pinctrl_usdhc2_gpio: usdhc2gpiogrp { 6177e5f3146SKwon Tae-young fsl,pins = < 6187e5f3146SKwon Tae-young MX8MQ_IOMUXC_SD2_CD_B_GPIO2_IO12 0x41 6197e5f3146SKwon Tae-young >; 6207e5f3146SKwon Tae-young }; 6217e5f3146SKwon Tae-young 6229079aca4SLucas Stach pinctrl_usdhc2: usdhc2grp { 6239079aca4SLucas Stach fsl,pins = < 6249079aca4SLucas Stach MX8MQ_IOMUXC_SD2_CLK_USDHC2_CLK 0x83 6259079aca4SLucas Stach MX8MQ_IOMUXC_SD2_CMD_USDHC2_CMD 0xc3 6269079aca4SLucas Stach MX8MQ_IOMUXC_SD2_DATA0_USDHC2_DATA0 0xc3 6279079aca4SLucas Stach MX8MQ_IOMUXC_SD2_DATA1_USDHC2_DATA1 0xc3 6289079aca4SLucas Stach MX8MQ_IOMUXC_SD2_DATA2_USDHC2_DATA2 0xc3 6299079aca4SLucas Stach MX8MQ_IOMUXC_SD2_DATA3_USDHC2_DATA3 0xc3 6309079aca4SLucas Stach MX8MQ_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0xc1 6319079aca4SLucas Stach >; 6329079aca4SLucas Stach }; 6339079aca4SLucas Stach 6349079aca4SLucas Stach pinctrl_usdhc2_100mhz: usdhc2-100grp { 6359079aca4SLucas Stach fsl,pins = < 6369079aca4SLucas Stach MX8MQ_IOMUXC_SD2_CLK_USDHC2_CLK 0x85 6379079aca4SLucas Stach MX8MQ_IOMUXC_SD2_CMD_USDHC2_CMD 0xc5 6389079aca4SLucas Stach MX8MQ_IOMUXC_SD2_DATA0_USDHC2_DATA0 0xc5 6399079aca4SLucas Stach MX8MQ_IOMUXC_SD2_DATA1_USDHC2_DATA1 0xc5 6409079aca4SLucas Stach MX8MQ_IOMUXC_SD2_DATA2_USDHC2_DATA2 0xc5 6419079aca4SLucas Stach MX8MQ_IOMUXC_SD2_DATA3_USDHC2_DATA3 0xc5 6429079aca4SLucas Stach MX8MQ_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0xc1 6439079aca4SLucas Stach >; 6449079aca4SLucas Stach }; 6459079aca4SLucas Stach 6469079aca4SLucas Stach pinctrl_usdhc2_200mhz: usdhc2-200grp { 6479079aca4SLucas Stach fsl,pins = < 6489079aca4SLucas Stach MX8MQ_IOMUXC_SD2_CLK_USDHC2_CLK 0x87 6499079aca4SLucas Stach MX8MQ_IOMUXC_SD2_CMD_USDHC2_CMD 0xc7 6509079aca4SLucas Stach MX8MQ_IOMUXC_SD2_DATA0_USDHC2_DATA0 0xc7 6519079aca4SLucas Stach MX8MQ_IOMUXC_SD2_DATA1_USDHC2_DATA1 0xc7 6529079aca4SLucas Stach MX8MQ_IOMUXC_SD2_DATA2_USDHC2_DATA2 0xc7 6539079aca4SLucas Stach MX8MQ_IOMUXC_SD2_DATA3_USDHC2_DATA3 0xc7 6549079aca4SLucas Stach MX8MQ_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0xc1 6559079aca4SLucas Stach >; 6569079aca4SLucas Stach }; 6573bbc9abbSBaruch Siach 6583bbc9abbSBaruch Siach pinctrl_wdog: wdog1grp { 6593bbc9abbSBaruch Siach fsl,pins = < 6603bbc9abbSBaruch Siach MX8MQ_IOMUXC_GPIO1_IO02_WDOG1_WDOG_B 0xc6 6613bbc9abbSBaruch Siach >; 6623bbc9abbSBaruch Siach }; 663cdfdea07SAndrey Smirnov 664cdfdea07SAndrey Smirnov pinctrl_wifi_reset: wifiresetgrp { 665cdfdea07SAndrey Smirnov fsl,pins = < 666cdfdea07SAndrey Smirnov MX8MQ_IOMUXC_UART4_TXD_GPIO5_IO29 0x16 667cdfdea07SAndrey Smirnov >; 668cdfdea07SAndrey Smirnov }; 6699079aca4SLucas Stach}; 670