162306a36Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0 OR MIT) 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright (C) 2018 Jon Nettleton <jon@solid-run.com> 462306a36Sopenharmony_ci */ 562306a36Sopenharmony_ci 662306a36Sopenharmony_ci#include "imx8mq.dtsi" 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci/ { 962306a36Sopenharmony_ci reg_vdd_3v3: regulator-vdd-3v3 { 1062306a36Sopenharmony_ci compatible = "regulator-fixed"; 1162306a36Sopenharmony_ci regulator-always-on; 1262306a36Sopenharmony_ci regulator-name = "vdd_3v3"; 1362306a36Sopenharmony_ci regulator-min-microvolt = <3300000>; 1462306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 1562306a36Sopenharmony_ci }; 1662306a36Sopenharmony_ci}; 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ci&fec1 { 1962306a36Sopenharmony_ci pinctrl-names = "default"; 2062306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_fec1>; 2162306a36Sopenharmony_ci phy-mode = "rgmii-id"; 2262306a36Sopenharmony_ci phy-handle = <ðphy0>; 2362306a36Sopenharmony_ci fsl,magic-packet; 2462306a36Sopenharmony_ci status = "okay"; 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ci mdio { 2762306a36Sopenharmony_ci #address-cells = <1>; 2862306a36Sopenharmony_ci #size-cells = <0>; 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_ci ethphy0: ethernet-phy@4 { 3162306a36Sopenharmony_ci compatible = "ethernet-phy-ieee802.3-c22"; 3262306a36Sopenharmony_ci reg = <4>; 3362306a36Sopenharmony_ci reset-gpios = <&gpio1 9 GPIO_ACTIVE_LOW>; 3462306a36Sopenharmony_ci reset-assert-us = <2000>; 3562306a36Sopenharmony_ci }; 3662306a36Sopenharmony_ci }; 3762306a36Sopenharmony_ci}; 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_ci&i2c1 { 4062306a36Sopenharmony_ci pinctrl-names = "default"; 4162306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_i2c1>; 4262306a36Sopenharmony_ci clock-frequency = <400000>; 4362306a36Sopenharmony_ci status = "okay"; 4462306a36Sopenharmony_ci 4562306a36Sopenharmony_ci pmic: pmic@8 { 4662306a36Sopenharmony_ci compatible = "fsl,pfuze100"; 4762306a36Sopenharmony_ci reg = <0x08>; 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_ci regulators { 5062306a36Sopenharmony_ci sw1a_reg: sw1ab { 5162306a36Sopenharmony_ci regulator-min-microvolt = <300000>; 5262306a36Sopenharmony_ci regulator-max-microvolt = <1875000>; 5362306a36Sopenharmony_ci }; 5462306a36Sopenharmony_ci 5562306a36Sopenharmony_ci sw1c_reg: sw1c { 5662306a36Sopenharmony_ci regulator-min-microvolt = <300000>; 5762306a36Sopenharmony_ci regulator-max-microvolt = <1875000>; 5862306a36Sopenharmony_ci }; 5962306a36Sopenharmony_ci 6062306a36Sopenharmony_ci sw2_reg: sw2 { 6162306a36Sopenharmony_ci regulator-min-microvolt = <800000>; 6262306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 6362306a36Sopenharmony_ci regulator-always-on; 6462306a36Sopenharmony_ci }; 6562306a36Sopenharmony_ci 6662306a36Sopenharmony_ci sw3a_reg: sw3ab { 6762306a36Sopenharmony_ci regulator-min-microvolt = <400000>; 6862306a36Sopenharmony_ci regulator-max-microvolt = <1975000>; 6962306a36Sopenharmony_ci regulator-always-on; 7062306a36Sopenharmony_ci }; 7162306a36Sopenharmony_ci 7262306a36Sopenharmony_ci sw4_reg: sw4 { 7362306a36Sopenharmony_ci regulator-min-microvolt = <800000>; 7462306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 7562306a36Sopenharmony_ci regulator-always-on; 7662306a36Sopenharmony_ci }; 7762306a36Sopenharmony_ci 7862306a36Sopenharmony_ci swbst_reg: swbst { 7962306a36Sopenharmony_ci regulator-min-microvolt = <5000000>; 8062306a36Sopenharmony_ci regulator-max-microvolt = <5150000>; 8162306a36Sopenharmony_ci }; 8262306a36Sopenharmony_ci 8362306a36Sopenharmony_ci snvs_reg: vsnvs { 8462306a36Sopenharmony_ci regulator-min-microvolt = <1000000>; 8562306a36Sopenharmony_ci regulator-max-microvolt = <3000000>; 8662306a36Sopenharmony_ci regulator-always-on; 8762306a36Sopenharmony_ci }; 8862306a36Sopenharmony_ci 8962306a36Sopenharmony_ci vref_reg: vrefddr { 9062306a36Sopenharmony_ci regulator-always-on; 9162306a36Sopenharmony_ci }; 9262306a36Sopenharmony_ci 9362306a36Sopenharmony_ci vgen1_reg: vgen1 { 9462306a36Sopenharmony_ci regulator-min-microvolt = <800000>; 9562306a36Sopenharmony_ci regulator-max-microvolt = <1550000>; 9662306a36Sopenharmony_ci }; 9762306a36Sopenharmony_ci 9862306a36Sopenharmony_ci vgen2_reg: vgen2 { 9962306a36Sopenharmony_ci regulator-min-microvolt = <800000>; 10062306a36Sopenharmony_ci regulator-max-microvolt = <1550000>; 10162306a36Sopenharmony_ci regulator-always-on; 10262306a36Sopenharmony_ci }; 10362306a36Sopenharmony_ci 10462306a36Sopenharmony_ci vgen3_reg: vgen3 { 10562306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 10662306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 10762306a36Sopenharmony_ci regulator-always-on; 10862306a36Sopenharmony_ci }; 10962306a36Sopenharmony_ci 11062306a36Sopenharmony_ci vgen4_reg: vgen4 { 11162306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 11262306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 11362306a36Sopenharmony_ci regulator-always-on; 11462306a36Sopenharmony_ci }; 11562306a36Sopenharmony_ci 11662306a36Sopenharmony_ci vgen5_reg: vgen5 { 11762306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 11862306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 11962306a36Sopenharmony_ci regulator-always-on; 12062306a36Sopenharmony_ci }; 12162306a36Sopenharmony_ci 12262306a36Sopenharmony_ci vgen6_reg: vgen6 { 12362306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 12462306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 12562306a36Sopenharmony_ci }; 12662306a36Sopenharmony_ci }; 12762306a36Sopenharmony_ci }; 12862306a36Sopenharmony_ci 12962306a36Sopenharmony_ci eeprom@50 { 13062306a36Sopenharmony_ci compatible = "atmel,24c01"; 13162306a36Sopenharmony_ci reg = <0x50>; 13262306a36Sopenharmony_ci status = "okay"; 13362306a36Sopenharmony_ci }; 13462306a36Sopenharmony_ci}; 13562306a36Sopenharmony_ci 13662306a36Sopenharmony_ci&pgc_gpu { 13762306a36Sopenharmony_ci power-supply = <&sw1a_reg>; 13862306a36Sopenharmony_ci}; 13962306a36Sopenharmony_ci 14062306a36Sopenharmony_ci&pgc_vpu { 14162306a36Sopenharmony_ci power-supply = <&sw1c_reg>; 14262306a36Sopenharmony_ci}; 14362306a36Sopenharmony_ci 14462306a36Sopenharmony_ci&qspi0 { 14562306a36Sopenharmony_ci pinctrl-names = "default"; 14662306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_qspi>; 14762306a36Sopenharmony_ci status = "okay"; 14862306a36Sopenharmony_ci 14962306a36Sopenharmony_ci /* SPI flash; not assembled by default */ 15062306a36Sopenharmony_ci spi_flash: flash@0 { 15162306a36Sopenharmony_ci #address-cells = <1>; 15262306a36Sopenharmony_ci #size-cells = <1>; 15362306a36Sopenharmony_ci reg = <0>; 15462306a36Sopenharmony_ci compatible = "micron,n25q256a", "jedec,spi-nor"; 15562306a36Sopenharmony_ci spi-max-frequency = <29000000>; 15662306a36Sopenharmony_ci status = "disabled"; 15762306a36Sopenharmony_ci }; 15862306a36Sopenharmony_ci}; 15962306a36Sopenharmony_ci 16062306a36Sopenharmony_ci&uart1 { /* console */ 16162306a36Sopenharmony_ci pinctrl-names = "default"; 16262306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_uart1>; 16362306a36Sopenharmony_ci assigned-clocks = <&clk IMX8MQ_CLK_UART1>; 16462306a36Sopenharmony_ci assigned-clock-parents = <&clk IMX8MQ_CLK_25M>; 16562306a36Sopenharmony_ci assigned-clock-rates = <25000000>; 16662306a36Sopenharmony_ci status = "okay"; 16762306a36Sopenharmony_ci}; 16862306a36Sopenharmony_ci 16962306a36Sopenharmony_ci&uart4 { /* ublox BT */ 17062306a36Sopenharmony_ci pinctrl-names = "default"; 17162306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_uart4>; 17262306a36Sopenharmony_ci assigned-clocks = <&clk IMX8MQ_CLK_UART4>; 17362306a36Sopenharmony_ci assigned-clock-parents = <&clk IMX8MQ_SYS1_PLL_80M>; 17462306a36Sopenharmony_ci assigned-clock-rates = <80000000>; 17562306a36Sopenharmony_ci status = "okay"; 17662306a36Sopenharmony_ci}; 17762306a36Sopenharmony_ci 17862306a36Sopenharmony_ci&usdhc1 { 17962306a36Sopenharmony_ci assigned-clocks = <&clk IMX8MQ_CLK_USDHC1>; 18062306a36Sopenharmony_ci assigned-clock-rates = <400000000>; 18162306a36Sopenharmony_ci pinctrl-names = "default", "state_100mhz", "state_200mhz"; 18262306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_usdhc1>; 18362306a36Sopenharmony_ci pinctrl-1 = <&pinctrl_usdhc1_100mhz>; 18462306a36Sopenharmony_ci pinctrl-2 = <&pinctrl_usdhc1_200mhz>; 18562306a36Sopenharmony_ci bus-width = <8>; 18662306a36Sopenharmony_ci non-removable; 18762306a36Sopenharmony_ci status = "okay"; 18862306a36Sopenharmony_ci}; 18962306a36Sopenharmony_ci 19062306a36Sopenharmony_ci&wdog1 { 19162306a36Sopenharmony_ci pinctrl-names = "default"; 19262306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_wdog>; 19362306a36Sopenharmony_ci fsl,ext-reset-output; 19462306a36Sopenharmony_ci status = "okay"; 19562306a36Sopenharmony_ci}; 19662306a36Sopenharmony_ci 19762306a36Sopenharmony_ci&iomuxc { 19862306a36Sopenharmony_ci pinctrl_fec1: fec1grp { 19962306a36Sopenharmony_ci fsl,pins = < 20062306a36Sopenharmony_ci MX8MQ_IOMUXC_ENET_MDC_ENET1_MDC 0x3 20162306a36Sopenharmony_ci MX8MQ_IOMUXC_ENET_MDIO_ENET1_MDIO 0x23 20262306a36Sopenharmony_ci MX8MQ_IOMUXC_ENET_TD3_ENET1_RGMII_TD3 0x1f 20362306a36Sopenharmony_ci MX8MQ_IOMUXC_ENET_TD2_ENET1_RGMII_TD2 0x1f 20462306a36Sopenharmony_ci MX8MQ_IOMUXC_ENET_TD1_ENET1_RGMII_TD1 0x1f 20562306a36Sopenharmony_ci MX8MQ_IOMUXC_ENET_TD0_ENET1_RGMII_TD0 0x1f 20662306a36Sopenharmony_ci MX8MQ_IOMUXC_ENET_RD3_ENET1_RGMII_RD3 0x91 20762306a36Sopenharmony_ci MX8MQ_IOMUXC_ENET_RD2_ENET1_RGMII_RD2 0x91 20862306a36Sopenharmony_ci MX8MQ_IOMUXC_ENET_RD1_ENET1_RGMII_RD1 0x91 20962306a36Sopenharmony_ci MX8MQ_IOMUXC_ENET_RD0_ENET1_RGMII_RD0 0x91 21062306a36Sopenharmony_ci MX8MQ_IOMUXC_ENET_TXC_ENET1_RGMII_TXC 0x1f 21162306a36Sopenharmony_ci MX8MQ_IOMUXC_ENET_RXC_ENET1_RGMII_RXC 0x91 21262306a36Sopenharmony_ci MX8MQ_IOMUXC_ENET_RX_CTL_ENET1_RGMII_RX_CTL 0x91 21362306a36Sopenharmony_ci MX8MQ_IOMUXC_ENET_TX_CTL_ENET1_RGMII_TX_CTL 0x1f 21462306a36Sopenharmony_ci MX8MQ_IOMUXC_GPIO1_IO09_GPIO1_IO9 0x19 21562306a36Sopenharmony_ci >; 21662306a36Sopenharmony_ci }; 21762306a36Sopenharmony_ci 21862306a36Sopenharmony_ci pinctrl_i2c1: i2c1grp { 21962306a36Sopenharmony_ci fsl,pins = < 22062306a36Sopenharmony_ci MX8MQ_IOMUXC_I2C1_SCL_I2C1_SCL 0x4000007f 22162306a36Sopenharmony_ci MX8MQ_IOMUXC_I2C1_SDA_I2C1_SDA 0x4000007f 22262306a36Sopenharmony_ci >; 22362306a36Sopenharmony_ci }; 22462306a36Sopenharmony_ci 22562306a36Sopenharmony_ci pinctrl_pcie0: pcie0grp { 22662306a36Sopenharmony_ci fsl,pins = < 22762306a36Sopenharmony_ci MX8MQ_IOMUXC_I2C4_SCL_PCIE1_CLKREQ_B 0x74 22862306a36Sopenharmony_ci MX8MQ_IOMUXC_SPDIF_EXT_CLK_GPIO5_IO5 0x16 22962306a36Sopenharmony_ci MX8MQ_IOMUXC_SAI2_RXFS_GPIO4_IO21 0x16 23062306a36Sopenharmony_ci >; 23162306a36Sopenharmony_ci }; 23262306a36Sopenharmony_ci 23362306a36Sopenharmony_ci pinctrl_qspi: qspigrp { 23462306a36Sopenharmony_ci fsl,pins = < 23562306a36Sopenharmony_ci MX8MQ_IOMUXC_NAND_ALE_QSPI_A_SCLK 0x82 23662306a36Sopenharmony_ci MX8MQ_IOMUXC_NAND_CE0_B_QSPI_A_SS0_B 0x82 23762306a36Sopenharmony_ci MX8MQ_IOMUXC_NAND_DATA00_QSPI_A_DATA0 0x82 23862306a36Sopenharmony_ci MX8MQ_IOMUXC_NAND_DATA01_QSPI_A_DATA1 0x82 23962306a36Sopenharmony_ci MX8MQ_IOMUXC_NAND_DATA02_QSPI_A_DATA2 0x82 24062306a36Sopenharmony_ci MX8MQ_IOMUXC_NAND_DATA03_QSPI_A_DATA3 0x82 24162306a36Sopenharmony_ci 24262306a36Sopenharmony_ci >; 24362306a36Sopenharmony_ci }; 24462306a36Sopenharmony_ci 24562306a36Sopenharmony_ci pinctrl_uart1: uart1grp { 24662306a36Sopenharmony_ci fsl,pins = < 24762306a36Sopenharmony_ci MX8MQ_IOMUXC_UART1_RXD_UART1_DCE_RX 0x49 24862306a36Sopenharmony_ci MX8MQ_IOMUXC_UART1_TXD_UART1_DCE_TX 0x49 24962306a36Sopenharmony_ci MX8MQ_IOMUXC_NAND_CE1_B_GPIO3_IO2 0x19 25062306a36Sopenharmony_ci >; 25162306a36Sopenharmony_ci }; 25262306a36Sopenharmony_ci 25362306a36Sopenharmony_ci pinctrl_uart4: uart4grp { 25462306a36Sopenharmony_ci fsl,pins = < 25562306a36Sopenharmony_ci MX8MQ_IOMUXC_UART4_TXD_UART4_DCE_TX 0x49 25662306a36Sopenharmony_ci MX8MQ_IOMUXC_UART4_RXD_UART4_DCE_RX 0x49 25762306a36Sopenharmony_ci MX8MQ_IOMUXC_SAI3_TXD_GPIO5_IO1 0x19 25862306a36Sopenharmony_ci >; 25962306a36Sopenharmony_ci }; 26062306a36Sopenharmony_ci 26162306a36Sopenharmony_ci pinctrl_usdhc1: usdhc1grp { 26262306a36Sopenharmony_ci fsl,pins = < 26362306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_CLK_USDHC1_CLK 0x83 26462306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_CMD_USDHC1_CMD 0xc3 26562306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_DATA0_USDHC1_DATA0 0xc3 26662306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_DATA1_USDHC1_DATA1 0xc3 26762306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_DATA2_USDHC1_DATA2 0xc3 26862306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_DATA3_USDHC1_DATA3 0xc3 26962306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_DATA4_USDHC1_DATA4 0xc3 27062306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_DATA5_USDHC1_DATA5 0xc3 27162306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_DATA6_USDHC1_DATA6 0xc3 27262306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_DATA7_USDHC1_DATA7 0xc3 27362306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_STROBE_USDHC1_STROBE 0x83 27462306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_RESET_B_USDHC1_RESET_B 0xc1 27562306a36Sopenharmony_ci >; 27662306a36Sopenharmony_ci }; 27762306a36Sopenharmony_ci 27862306a36Sopenharmony_ci pinctrl_usdhc1_100mhz: usdhc1-100mhzgrp { 27962306a36Sopenharmony_ci fsl,pins = < 28062306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_CLK_USDHC1_CLK 0x8d 28162306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_CMD_USDHC1_CMD 0xcd 28262306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_DATA0_USDHC1_DATA0 0xcd 28362306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_DATA1_USDHC1_DATA1 0xcd 28462306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_DATA2_USDHC1_DATA2 0xcd 28562306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_DATA3_USDHC1_DATA3 0xcd 28662306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_DATA4_USDHC1_DATA4 0xcd 28762306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_DATA5_USDHC1_DATA5 0xcd 28862306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_DATA6_USDHC1_DATA6 0xcd 28962306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_DATA7_USDHC1_DATA7 0xcd 29062306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_STROBE_USDHC1_STROBE 0x8d 29162306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_RESET_B_USDHC1_RESET_B 0xc1 29262306a36Sopenharmony_ci >; 29362306a36Sopenharmony_ci }; 29462306a36Sopenharmony_ci 29562306a36Sopenharmony_ci pinctrl_usdhc1_200mhz: usdhc1-200mhzgrp { 29662306a36Sopenharmony_ci fsl,pins = < 29762306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_CLK_USDHC1_CLK 0x9f 29862306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_CMD_USDHC1_CMD 0xdf 29962306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_DATA0_USDHC1_DATA0 0xdf 30062306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_DATA1_USDHC1_DATA1 0xdf 30162306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_DATA2_USDHC1_DATA2 0xdf 30262306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_DATA3_USDHC1_DATA3 0xdf 30362306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_DATA4_USDHC1_DATA4 0xdf 30462306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_DATA5_USDHC1_DATA5 0xdf 30562306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_DATA6_USDHC1_DATA6 0xdf 30662306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_DATA7_USDHC1_DATA7 0xdf 30762306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_STROBE_USDHC1_STROBE 0x9f 30862306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_RESET_B_USDHC1_RESET_B 0xc1 30962306a36Sopenharmony_ci >; 31062306a36Sopenharmony_ci }; 31162306a36Sopenharmony_ci 31262306a36Sopenharmony_ci pinctrl_wdog: wdoggrp { 31362306a36Sopenharmony_ci fsl,pins = < 31462306a36Sopenharmony_ci MX8MQ_IOMUXC_GPIO1_IO02_WDOG1_WDOG_B 0xc6 31562306a36Sopenharmony_ci >; 31662306a36Sopenharmony_ci }; 31762306a36Sopenharmony_ci}; 318