162306a36Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright 2018 Boundary Devices 462306a36Sopenharmony_ci * Copyright 2021 Lucas Stach <dev@lynxeye.de> 562306a36Sopenharmony_ci */ 662306a36Sopenharmony_ci 762306a36Sopenharmony_ci#include "imx8mq.dtsi" 862306a36Sopenharmony_ci 962306a36Sopenharmony_ci/ { 1062306a36Sopenharmony_ci model = "Boundary Devices i.MX8MQ Nitrogen8M"; 1162306a36Sopenharmony_ci compatible = "boundary,imx8mq-nitrogen8m-som", "fsl,imx8mq"; 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ci chosen { 1462306a36Sopenharmony_ci stdout-path = &uart1; 1562306a36Sopenharmony_ci }; 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ci reg_1p8v: regulator-fixed-1v8 { 1862306a36Sopenharmony_ci compatible = "regulator-fixed"; 1962306a36Sopenharmony_ci regulator-name = "1P8V"; 2062306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 2162306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 2262306a36Sopenharmony_ci }; 2362306a36Sopenharmony_ci 2462306a36Sopenharmony_ci reg_snvs: regulator-fixed-snvs { 2562306a36Sopenharmony_ci compatible = "regulator-fixed"; 2662306a36Sopenharmony_ci regulator-name = "VDD_SNVS"; 2762306a36Sopenharmony_ci regulator-min-microvolt = <3300000>; 2862306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 2962306a36Sopenharmony_ci }; 3062306a36Sopenharmony_ci}; 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ci&{/opp-table/opp-800000000} { 3362306a36Sopenharmony_ci opp-microvolt = <1000000>; 3462306a36Sopenharmony_ci}; 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_ci&{/opp-table/opp-1000000000} { 3762306a36Sopenharmony_ci opp-microvolt = <1000000>; 3862306a36Sopenharmony_ci}; 3962306a36Sopenharmony_ci 4062306a36Sopenharmony_ci&A53_0 { 4162306a36Sopenharmony_ci cpu-supply = <®_arm_dram>; 4262306a36Sopenharmony_ci}; 4362306a36Sopenharmony_ci 4462306a36Sopenharmony_ci&A53_1 { 4562306a36Sopenharmony_ci cpu-supply = <®_arm_dram>; 4662306a36Sopenharmony_ci}; 4762306a36Sopenharmony_ci 4862306a36Sopenharmony_ci&A53_2 { 4962306a36Sopenharmony_ci cpu-supply = <®_arm_dram>; 5062306a36Sopenharmony_ci}; 5162306a36Sopenharmony_ci 5262306a36Sopenharmony_ci&A53_3 { 5362306a36Sopenharmony_ci cpu-supply = <®_arm_dram>; 5462306a36Sopenharmony_ci}; 5562306a36Sopenharmony_ci 5662306a36Sopenharmony_ci&fec1 { 5762306a36Sopenharmony_ci pinctrl-names = "default"; 5862306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_fec1>; 5962306a36Sopenharmony_ci phy-mode = "rgmii-id"; 6062306a36Sopenharmony_ci phy-handle = <ðphy0>; 6162306a36Sopenharmony_ci fsl,magic-packet; 6262306a36Sopenharmony_ci 6362306a36Sopenharmony_ci mdio { 6462306a36Sopenharmony_ci #address-cells = <1>; 6562306a36Sopenharmony_ci #size-cells = <0>; 6662306a36Sopenharmony_ci 6762306a36Sopenharmony_ci ethphy0: ethernet-phy@4 { 6862306a36Sopenharmony_ci compatible = "ethernet-phy-ieee802.3-c22"; 6962306a36Sopenharmony_ci reg = <4>; 7062306a36Sopenharmony_ci interrupt-parent = <&gpio1>; 7162306a36Sopenharmony_ci interrupts = <11 IRQ_TYPE_LEVEL_LOW>; 7262306a36Sopenharmony_ci reset-gpios = <&gpio1 9 GPIO_ACTIVE_LOW>; 7362306a36Sopenharmony_ci reset-assert-us = <10000>; 7462306a36Sopenharmony_ci reset-deassert-us = <300>; 7562306a36Sopenharmony_ci }; 7662306a36Sopenharmony_ci }; 7762306a36Sopenharmony_ci}; 7862306a36Sopenharmony_ci 7962306a36Sopenharmony_ci&i2c1 { 8062306a36Sopenharmony_ci clock-frequency = <400000>; 8162306a36Sopenharmony_ci pinctrl-names = "default"; 8262306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_i2c1>; 8362306a36Sopenharmony_ci status = "okay"; 8462306a36Sopenharmony_ci 8562306a36Sopenharmony_ci i2c-mux@70 { 8662306a36Sopenharmony_ci compatible = "nxp,pca9546"; 8762306a36Sopenharmony_ci pinctrl-names = "default"; 8862306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_i2c1_pca9546>; 8962306a36Sopenharmony_ci reg = <0x70>; 9062306a36Sopenharmony_ci reset-gpios = <&gpio1 8 GPIO_ACTIVE_LOW>; 9162306a36Sopenharmony_ci #address-cells = <1>; 9262306a36Sopenharmony_ci #size-cells = <0>; 9362306a36Sopenharmony_ci 9462306a36Sopenharmony_ci i2c1a: i2c@0 { 9562306a36Sopenharmony_ci reg = <0>; 9662306a36Sopenharmony_ci #address-cells = <1>; 9762306a36Sopenharmony_ci #size-cells = <0>; 9862306a36Sopenharmony_ci 9962306a36Sopenharmony_ci reg_arm_dram: regulator@60 { 10062306a36Sopenharmony_ci compatible = "fcs,fan53555"; 10162306a36Sopenharmony_ci reg = <0x60>; 10262306a36Sopenharmony_ci regulator-name = "VDD_ARM_DRAM_1V"; 10362306a36Sopenharmony_ci regulator-min-microvolt = <1000000>; 10462306a36Sopenharmony_ci regulator-max-microvolt = <1000000>; 10562306a36Sopenharmony_ci regulator-always-on; 10662306a36Sopenharmony_ci }; 10762306a36Sopenharmony_ci }; 10862306a36Sopenharmony_ci 10962306a36Sopenharmony_ci i2c1b: i2c@1 { 11062306a36Sopenharmony_ci reg = <1>; 11162306a36Sopenharmony_ci #address-cells = <1>; 11262306a36Sopenharmony_ci #size-cells = <0>; 11362306a36Sopenharmony_ci 11462306a36Sopenharmony_ci reg_dram_1p1v: regulator@60 { 11562306a36Sopenharmony_ci compatible = "fcs,fan53555"; 11662306a36Sopenharmony_ci reg = <0x60>; 11762306a36Sopenharmony_ci regulator-name = "NVCC_DRAM_1P1V"; 11862306a36Sopenharmony_ci regulator-min-microvolt = <1100000>; 11962306a36Sopenharmony_ci regulator-max-microvolt = <1100000>; 12062306a36Sopenharmony_ci regulator-always-on; 12162306a36Sopenharmony_ci }; 12262306a36Sopenharmony_ci }; 12362306a36Sopenharmony_ci 12462306a36Sopenharmony_ci i2c1c: i2c@2 { 12562306a36Sopenharmony_ci reg = <2>; 12662306a36Sopenharmony_ci #address-cells = <1>; 12762306a36Sopenharmony_ci #size-cells = <0>; 12862306a36Sopenharmony_ci 12962306a36Sopenharmony_ci reg_soc_gpu_vpu: regulator@60 { 13062306a36Sopenharmony_ci compatible = "fcs,fan53555"; 13162306a36Sopenharmony_ci reg = <0x60>; 13262306a36Sopenharmony_ci regulator-name = "VDD_SOC_GPU_VPU"; 13362306a36Sopenharmony_ci regulator-min-microvolt = <900000>; 13462306a36Sopenharmony_ci regulator-max-microvolt = <900000>; 13562306a36Sopenharmony_ci regulator-always-on; 13662306a36Sopenharmony_ci }; 13762306a36Sopenharmony_ci }; 13862306a36Sopenharmony_ci 13962306a36Sopenharmony_ci i2c1d: i2c@3 { 14062306a36Sopenharmony_ci reg = <3>; 14162306a36Sopenharmony_ci #address-cells = <1>; 14262306a36Sopenharmony_ci #size-cells = <0>; 14362306a36Sopenharmony_ci }; 14462306a36Sopenharmony_ci }; 14562306a36Sopenharmony_ci}; 14662306a36Sopenharmony_ci 14762306a36Sopenharmony_ci&pgc_gpu { 14862306a36Sopenharmony_ci power-supply = <®_soc_gpu_vpu>; 14962306a36Sopenharmony_ci}; 15062306a36Sopenharmony_ci 15162306a36Sopenharmony_ci&pgc_vpu { 15262306a36Sopenharmony_ci power-supply = <®_soc_gpu_vpu>; 15362306a36Sopenharmony_ci}; 15462306a36Sopenharmony_ci 15562306a36Sopenharmony_ci&uart1 { 15662306a36Sopenharmony_ci pinctrl-names = "default"; 15762306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_uart1>; 15862306a36Sopenharmony_ci status = "okay"; 15962306a36Sopenharmony_ci}; 16062306a36Sopenharmony_ci 16162306a36Sopenharmony_ci&usdhc1 { 16262306a36Sopenharmony_ci assigned-clocks = <&clk IMX8MQ_CLK_USDHC1>; 16362306a36Sopenharmony_ci assigned-clock-rates = <400000000>; 16462306a36Sopenharmony_ci pinctrl-names = "default", "state_100mhz", "state_200mhz"; 16562306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_usdhc1>; 16662306a36Sopenharmony_ci pinctrl-1 = <&pinctrl_usdhc1_100mhz>; 16762306a36Sopenharmony_ci pinctrl-2 = <&pinctrl_usdhc1_200mhz>; 16862306a36Sopenharmony_ci vqmmc-supply = <®_1p8v>; 16962306a36Sopenharmony_ci vmmc-supply = <®_snvs>; 17062306a36Sopenharmony_ci bus-width = <8>; 17162306a36Sopenharmony_ci non-removable; 17262306a36Sopenharmony_ci no-mmc-hs400; 17362306a36Sopenharmony_ci no-sdio; 17462306a36Sopenharmony_ci no-sd; 17562306a36Sopenharmony_ci status = "okay"; 17662306a36Sopenharmony_ci}; 17762306a36Sopenharmony_ci 17862306a36Sopenharmony_ci&wdog1 { 17962306a36Sopenharmony_ci pinctrl-names = "default"; 18062306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_wdog>; 18162306a36Sopenharmony_ci fsl,ext-reset-output; 18262306a36Sopenharmony_ci status = "okay"; 18362306a36Sopenharmony_ci}; 18462306a36Sopenharmony_ci 18562306a36Sopenharmony_ci&iomuxc { 18662306a36Sopenharmony_ci pinctrl_fec1: fec1grp { 18762306a36Sopenharmony_ci fsl,pins = < 18862306a36Sopenharmony_ci MX8MQ_IOMUXC_ENET_MDC_ENET1_MDC 0x3 18962306a36Sopenharmony_ci MX8MQ_IOMUXC_ENET_MDIO_ENET1_MDIO 0x23 19062306a36Sopenharmony_ci MX8MQ_IOMUXC_ENET_TX_CTL_ENET1_RGMII_TX_CTL 0x1f 19162306a36Sopenharmony_ci MX8MQ_IOMUXC_ENET_TXC_ENET1_RGMII_TXC 0x1f 19262306a36Sopenharmony_ci MX8MQ_IOMUXC_ENET_TD0_ENET1_RGMII_TD0 0x1f 19362306a36Sopenharmony_ci MX8MQ_IOMUXC_ENET_TD1_ENET1_RGMII_TD1 0x1f 19462306a36Sopenharmony_ci MX8MQ_IOMUXC_ENET_TD2_ENET1_RGMII_TD2 0x1f 19562306a36Sopenharmony_ci MX8MQ_IOMUXC_ENET_TD3_ENET1_RGMII_TD3 0x1f 19662306a36Sopenharmony_ci MX8MQ_IOMUXC_ENET_RX_CTL_ENET1_RGMII_RX_CTL 0x91 19762306a36Sopenharmony_ci MX8MQ_IOMUXC_ENET_RXC_ENET1_RGMII_RXC 0xd1 19862306a36Sopenharmony_ci MX8MQ_IOMUXC_ENET_RD0_ENET1_RGMII_RD0 0x91 19962306a36Sopenharmony_ci MX8MQ_IOMUXC_ENET_RD1_ENET1_RGMII_RD1 0x91 20062306a36Sopenharmony_ci MX8MQ_IOMUXC_ENET_RD2_ENET1_RGMII_RD2 0x91 20162306a36Sopenharmony_ci MX8MQ_IOMUXC_ENET_RD3_ENET1_RGMII_RD3 0xd1 20262306a36Sopenharmony_ci MX8MQ_IOMUXC_GPIO1_IO09_GPIO1_IO9 0x1 20362306a36Sopenharmony_ci MX8MQ_IOMUXC_GPIO1_IO11_GPIO1_IO11 0x41 20462306a36Sopenharmony_ci >; 20562306a36Sopenharmony_ci }; 20662306a36Sopenharmony_ci 20762306a36Sopenharmony_ci pinctrl_i2c1: i2c1grp { 20862306a36Sopenharmony_ci fsl,pins = < 20962306a36Sopenharmony_ci MX8MQ_IOMUXC_I2C1_SCL_I2C1_SCL 0x40000022 21062306a36Sopenharmony_ci MX8MQ_IOMUXC_I2C1_SDA_I2C1_SDA 0x40000022 21162306a36Sopenharmony_ci >; 21262306a36Sopenharmony_ci }; 21362306a36Sopenharmony_ci 21462306a36Sopenharmony_ci pinctrl_i2c1_pca9546: i2c1-pca9546grp { 21562306a36Sopenharmony_ci fsl,pins = < 21662306a36Sopenharmony_ci MX8MQ_IOMUXC_GPIO1_IO08_GPIO1_IO8 0x49 21762306a36Sopenharmony_ci >; 21862306a36Sopenharmony_ci }; 21962306a36Sopenharmony_ci 22062306a36Sopenharmony_ci pinctrl_uart1: uart1grp { 22162306a36Sopenharmony_ci fsl,pins = < 22262306a36Sopenharmony_ci MX8MQ_IOMUXC_UART1_RXD_UART1_DCE_RX 0x45 22362306a36Sopenharmony_ci MX8MQ_IOMUXC_UART1_TXD_UART1_DCE_TX 0x45 22462306a36Sopenharmony_ci >; 22562306a36Sopenharmony_ci }; 22662306a36Sopenharmony_ci 22762306a36Sopenharmony_ci pinctrl_usdhc1: usdhc1grp { 22862306a36Sopenharmony_ci fsl,pins = < 22962306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_CLK_USDHC1_CLK 0x83 23062306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_CMD_USDHC1_CMD 0xc3 23162306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_DATA0_USDHC1_DATA0 0xc3 23262306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_DATA1_USDHC1_DATA1 0xc3 23362306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_DATA2_USDHC1_DATA2 0xc3 23462306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_DATA3_USDHC1_DATA3 0xc3 23562306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_DATA4_USDHC1_DATA4 0xc3 23662306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_DATA5_USDHC1_DATA5 0xc3 23762306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_DATA6_USDHC1_DATA6 0xc3 23862306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_DATA7_USDHC1_DATA7 0xc3 23962306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_RESET_B_USDHC1_RESET_B 0xc1 24062306a36Sopenharmony_ci >; 24162306a36Sopenharmony_ci }; 24262306a36Sopenharmony_ci 24362306a36Sopenharmony_ci pinctrl_usdhc1_100mhz: usdhc1-100mhzgrp { 24462306a36Sopenharmony_ci fsl,pins = < 24562306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_CLK_USDHC1_CLK 0x8d 24662306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_CMD_USDHC1_CMD 0xcd 24762306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_DATA0_USDHC1_DATA0 0xcd 24862306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_DATA1_USDHC1_DATA1 0xcd 24962306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_DATA2_USDHC1_DATA2 0xcd 25062306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_DATA3_USDHC1_DATA3 0xcd 25162306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_DATA4_USDHC1_DATA4 0xcd 25262306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_DATA5_USDHC1_DATA5 0xcd 25362306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_DATA6_USDHC1_DATA6 0xcd 25462306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_DATA7_USDHC1_DATA7 0xcd 25562306a36Sopenharmony_ci >; 25662306a36Sopenharmony_ci }; 25762306a36Sopenharmony_ci 25862306a36Sopenharmony_ci pinctrl_usdhc1_200mhz: usdhc1-200mhzgrp { 25962306a36Sopenharmony_ci fsl,pins = < 26062306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_CLK_USDHC1_CLK 0x9f 26162306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_CMD_USDHC1_CMD 0xdf 26262306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_DATA0_USDHC1_DATA0 0xdf 26362306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_DATA1_USDHC1_DATA1 0xdf 26462306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_DATA2_USDHC1_DATA2 0xdf 26562306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_DATA3_USDHC1_DATA3 0xdf 26662306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_DATA4_USDHC1_DATA4 0xdf 26762306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_DATA5_USDHC1_DATA5 0xdf 26862306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_DATA6_USDHC1_DATA6 0xdf 26962306a36Sopenharmony_ci MX8MQ_IOMUXC_SD1_DATA7_USDHC1_DATA7 0xdf 27062306a36Sopenharmony_ci >; 27162306a36Sopenharmony_ci }; 27262306a36Sopenharmony_ci 27362306a36Sopenharmony_ci pinctrl_wdog: wdoggrp { 27462306a36Sopenharmony_ci fsl,pins = < 27562306a36Sopenharmony_ci MX8MQ_IOMUXC_GPIO1_IO02_WDOG1_WDOG_B 0xc6 27662306a36Sopenharmony_ci >; 27762306a36Sopenharmony_ci }; 27862306a36Sopenharmony_ci}; 279