1117c2509SLucas Stach// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2117c2509SLucas Stach/* 3117c2509SLucas Stach * Copyright 2018 Boundary Devices 4117c2509SLucas Stach * Copyright 2021 Lucas Stach <dev@lynxeye.de> 5117c2509SLucas Stach */ 6117c2509SLucas Stach 7117c2509SLucas Stach#include "imx8mq.dtsi" 8117c2509SLucas Stach 9117c2509SLucas Stach/ { 10117c2509SLucas Stach model = "Boundary Devices i.MX8MQ Nitrogen8M"; 11117c2509SLucas Stach compatible = "boundary,imx8mq-nitrogen8m-som", "fsl,imx8mq"; 12117c2509SLucas Stach 13117c2509SLucas Stach chosen { 14117c2509SLucas Stach stdout-path = &uart1; 15117c2509SLucas Stach }; 16117c2509SLucas Stach 17117c2509SLucas Stach reg_1p8v: regulator-fixed-1v8 { 18117c2509SLucas Stach compatible = "regulator-fixed"; 19117c2509SLucas Stach regulator-name = "1P8V"; 20117c2509SLucas Stach regulator-min-microvolt = <1800000>; 21117c2509SLucas Stach regulator-max-microvolt = <1800000>; 22117c2509SLucas Stach }; 23117c2509SLucas Stach 24117c2509SLucas Stach reg_snvs: regulator-fixed-snvs { 25117c2509SLucas Stach compatible = "regulator-fixed"; 26117c2509SLucas Stach regulator-name = "VDD_SNVS"; 27117c2509SLucas Stach regulator-min-microvolt = <3300000>; 28117c2509SLucas Stach regulator-max-microvolt = <3300000>; 29117c2509SLucas Stach }; 30117c2509SLucas Stach}; 31117c2509SLucas Stach 32117c2509SLucas Stach&{/opp-table/opp-800000000} { 33117c2509SLucas Stach opp-microvolt = <1000000>; 34117c2509SLucas Stach}; 35117c2509SLucas Stach 36117c2509SLucas Stach&{/opp-table/opp-1000000000} { 37117c2509SLucas Stach opp-microvolt = <1000000>; 38117c2509SLucas Stach}; 39117c2509SLucas Stach 40117c2509SLucas Stach&A53_0 { 41117c2509SLucas Stach cpu-supply = <®_arm_dram>; 42117c2509SLucas Stach}; 43117c2509SLucas Stach 44117c2509SLucas Stach&A53_1 { 45117c2509SLucas Stach cpu-supply = <®_arm_dram>; 46117c2509SLucas Stach}; 47117c2509SLucas Stach 48117c2509SLucas Stach&A53_2 { 49117c2509SLucas Stach cpu-supply = <®_arm_dram>; 50117c2509SLucas Stach}; 51117c2509SLucas Stach 52117c2509SLucas Stach&A53_3 { 53117c2509SLucas Stach cpu-supply = <®_arm_dram>; 54117c2509SLucas Stach}; 55117c2509SLucas Stach 56117c2509SLucas Stach&fec1 { 57117c2509SLucas Stach pinctrl-names = "default"; 58117c2509SLucas Stach pinctrl-0 = <&pinctrl_fec1>; 59117c2509SLucas Stach phy-mode = "rgmii-id"; 60117c2509SLucas Stach phy-handle = <ðphy0>; 61117c2509SLucas Stach fsl,magic-packet; 62117c2509SLucas Stach 63117c2509SLucas Stach mdio { 64117c2509SLucas Stach #address-cells = <1>; 65117c2509SLucas Stach #size-cells = <0>; 66117c2509SLucas Stach 67117c2509SLucas Stach ethphy0: ethernet-phy@4 { 68117c2509SLucas Stach compatible = "ethernet-phy-ieee802.3-c22"; 69117c2509SLucas Stach reg = <4>; 70117c2509SLucas Stach interrupt-parent = <&gpio1>; 71117c2509SLucas Stach interrupts = <11 IRQ_TYPE_LEVEL_LOW>; 72ee47d510SLucas Stach reset-gpios = <&gpio1 9 GPIO_ACTIVE_LOW>; 73ee47d510SLucas Stach reset-assert-us = <10000>; 74ee47d510SLucas Stach reset-deassert-us = <300>; 75117c2509SLucas Stach }; 76117c2509SLucas Stach }; 77117c2509SLucas Stach}; 78117c2509SLucas Stach 79117c2509SLucas Stach&i2c1 { 80117c2509SLucas Stach clock-frequency = <400000>; 81117c2509SLucas Stach pinctrl-names = "default"; 82117c2509SLucas Stach pinctrl-0 = <&pinctrl_i2c1>; 83117c2509SLucas Stach status = "okay"; 84117c2509SLucas Stach 85117c2509SLucas Stach i2c-mux@70 { 86117c2509SLucas Stach compatible = "nxp,pca9546"; 87117c2509SLucas Stach pinctrl-names = "default"; 88117c2509SLucas Stach pinctrl-0 = <&pinctrl_i2c1_pca9546>; 89117c2509SLucas Stach reg = <0x70>; 90117c2509SLucas Stach reset-gpios = <&gpio1 8 GPIO_ACTIVE_LOW>; 91117c2509SLucas Stach #address-cells = <1>; 92117c2509SLucas Stach #size-cells = <0>; 93117c2509SLucas Stach 94117c2509SLucas Stach i2c1a: i2c@0 { 95117c2509SLucas Stach reg = <0>; 96117c2509SLucas Stach #address-cells = <1>; 97117c2509SLucas Stach #size-cells = <0>; 98117c2509SLucas Stach 99117c2509SLucas Stach reg_arm_dram: regulator@60 { 100117c2509SLucas Stach compatible = "fcs,fan53555"; 101117c2509SLucas Stach reg = <0x60>; 102117c2509SLucas Stach regulator-name = "VDD_ARM_DRAM_1V"; 103117c2509SLucas Stach regulator-min-microvolt = <1000000>; 104117c2509SLucas Stach regulator-max-microvolt = <1000000>; 105117c2509SLucas Stach regulator-always-on; 106117c2509SLucas Stach }; 107117c2509SLucas Stach }; 108117c2509SLucas Stach 109117c2509SLucas Stach i2c1b: i2c@1 { 110117c2509SLucas Stach reg = <1>; 111117c2509SLucas Stach #address-cells = <1>; 112117c2509SLucas Stach #size-cells = <0>; 113117c2509SLucas Stach 114117c2509SLucas Stach reg_dram_1p1v: regulator@60 { 115117c2509SLucas Stach compatible = "fcs,fan53555"; 116117c2509SLucas Stach reg = <0x60>; 117117c2509SLucas Stach regulator-name = "NVCC_DRAM_1P1V"; 118117c2509SLucas Stach regulator-min-microvolt = <1100000>; 119117c2509SLucas Stach regulator-max-microvolt = <1100000>; 120117c2509SLucas Stach regulator-always-on; 121117c2509SLucas Stach }; 122117c2509SLucas Stach }; 123117c2509SLucas Stach 124117c2509SLucas Stach i2c1c: i2c@2 { 125117c2509SLucas Stach reg = <2>; 126117c2509SLucas Stach #address-cells = <1>; 127117c2509SLucas Stach #size-cells = <0>; 128117c2509SLucas Stach 129117c2509SLucas Stach reg_soc_gpu_vpu: regulator@60 { 130117c2509SLucas Stach compatible = "fcs,fan53555"; 131117c2509SLucas Stach reg = <0x60>; 132117c2509SLucas Stach regulator-name = "VDD_SOC_GPU_VPU"; 133117c2509SLucas Stach regulator-min-microvolt = <900000>; 134117c2509SLucas Stach regulator-max-microvolt = <900000>; 135117c2509SLucas Stach regulator-always-on; 136117c2509SLucas Stach }; 137117c2509SLucas Stach }; 138117c2509SLucas Stach 139117c2509SLucas Stach i2c1d: i2c@3 { 140117c2509SLucas Stach reg = <3>; 141117c2509SLucas Stach #address-cells = <1>; 142117c2509SLucas Stach #size-cells = <0>; 143117c2509SLucas Stach }; 144117c2509SLucas Stach }; 145117c2509SLucas Stach}; 146117c2509SLucas Stach 147117c2509SLucas Stach&pgc_gpu { 148117c2509SLucas Stach power-supply = <®_soc_gpu_vpu>; 149117c2509SLucas Stach}; 150117c2509SLucas Stach 151117c2509SLucas Stach&pgc_vpu { 152117c2509SLucas Stach power-supply = <®_soc_gpu_vpu>; 153117c2509SLucas Stach}; 154117c2509SLucas Stach 155117c2509SLucas Stach&uart1 { 156117c2509SLucas Stach pinctrl-names = "default"; 157117c2509SLucas Stach pinctrl-0 = <&pinctrl_uart1>; 158117c2509SLucas Stach status = "okay"; 159117c2509SLucas Stach}; 160117c2509SLucas Stach 161117c2509SLucas Stach&usdhc1 { 162117c2509SLucas Stach assigned-clocks = <&clk IMX8MQ_CLK_USDHC1>; 163117c2509SLucas Stach assigned-clock-rates = <400000000>; 164117c2509SLucas Stach pinctrl-names = "default", "state_100mhz", "state_200mhz"; 165117c2509SLucas Stach pinctrl-0 = <&pinctrl_usdhc1>; 166117c2509SLucas Stach pinctrl-1 = <&pinctrl_usdhc1_100mhz>; 167117c2509SLucas Stach pinctrl-2 = <&pinctrl_usdhc1_200mhz>; 168117c2509SLucas Stach vqmmc-supply = <®_1p8v>; 169117c2509SLucas Stach vmmc-supply = <®_snvs>; 170117c2509SLucas Stach bus-width = <8>; 171117c2509SLucas Stach non-removable; 172117c2509SLucas Stach no-mmc-hs400; 173117c2509SLucas Stach no-sdio; 174117c2509SLucas Stach no-sd; 175117c2509SLucas Stach status = "okay"; 176117c2509SLucas Stach}; 177117c2509SLucas Stach 178117c2509SLucas Stach&wdog1 { 179117c2509SLucas Stach pinctrl-names = "default"; 180117c2509SLucas Stach pinctrl-0 = <&pinctrl_wdog>; 181117c2509SLucas Stach fsl,ext-reset-output; 182117c2509SLucas Stach status = "okay"; 183117c2509SLucas Stach}; 184117c2509SLucas Stach 185117c2509SLucas Stach&iomuxc { 186117c2509SLucas Stach pinctrl_fec1: fec1grp { 187117c2509SLucas Stach fsl,pins = < 188117c2509SLucas Stach MX8MQ_IOMUXC_ENET_MDC_ENET1_MDC 0x3 189117c2509SLucas Stach MX8MQ_IOMUXC_ENET_MDIO_ENET1_MDIO 0x23 190117c2509SLucas Stach MX8MQ_IOMUXC_ENET_TX_CTL_ENET1_RGMII_TX_CTL 0x1f 191117c2509SLucas Stach MX8MQ_IOMUXC_ENET_TXC_ENET1_RGMII_TXC 0x1f 192117c2509SLucas Stach MX8MQ_IOMUXC_ENET_TD0_ENET1_RGMII_TD0 0x1f 193117c2509SLucas Stach MX8MQ_IOMUXC_ENET_TD1_ENET1_RGMII_TD1 0x1f 194117c2509SLucas Stach MX8MQ_IOMUXC_ENET_TD2_ENET1_RGMII_TD2 0x1f 195117c2509SLucas Stach MX8MQ_IOMUXC_ENET_TD3_ENET1_RGMII_TD3 0x1f 196117c2509SLucas Stach MX8MQ_IOMUXC_ENET_RX_CTL_ENET1_RGMII_RX_CTL 0x91 197ee47d510SLucas Stach MX8MQ_IOMUXC_ENET_RXC_ENET1_RGMII_RXC 0xd1 198117c2509SLucas Stach MX8MQ_IOMUXC_ENET_RD0_ENET1_RGMII_RD0 0x91 199117c2509SLucas Stach MX8MQ_IOMUXC_ENET_RD1_ENET1_RGMII_RD1 0x91 200117c2509SLucas Stach MX8MQ_IOMUXC_ENET_RD2_ENET1_RGMII_RD2 0x91 201ee47d510SLucas Stach MX8MQ_IOMUXC_ENET_RD3_ENET1_RGMII_RD3 0xd1 202ee47d510SLucas Stach MX8MQ_IOMUXC_GPIO1_IO09_GPIO1_IO9 0x1 203ee47d510SLucas Stach MX8MQ_IOMUXC_GPIO1_IO11_GPIO1_IO11 0x41 204117c2509SLucas Stach >; 205117c2509SLucas Stach }; 206117c2509SLucas Stach 207117c2509SLucas Stach pinctrl_i2c1: i2c1grp { 208117c2509SLucas Stach fsl,pins = < 209*92d2c17eSLucas Stach MX8MQ_IOMUXC_I2C1_SCL_I2C1_SCL 0x40000022 210*92d2c17eSLucas Stach MX8MQ_IOMUXC_I2C1_SDA_I2C1_SDA 0x40000022 211117c2509SLucas Stach >; 212117c2509SLucas Stach }; 213117c2509SLucas Stach 214117c2509SLucas Stach pinctrl_i2c1_pca9546: i2c1-pca9546grp { 215117c2509SLucas Stach fsl,pins = < 216117c2509SLucas Stach MX8MQ_IOMUXC_GPIO1_IO08_GPIO1_IO8 0x49 217117c2509SLucas Stach >; 218117c2509SLucas Stach }; 219117c2509SLucas Stach 220117c2509SLucas Stach pinctrl_uart1: uart1grp { 221117c2509SLucas Stach fsl,pins = < 222117c2509SLucas Stach MX8MQ_IOMUXC_UART1_RXD_UART1_DCE_RX 0x45 223117c2509SLucas Stach MX8MQ_IOMUXC_UART1_TXD_UART1_DCE_TX 0x45 224117c2509SLucas Stach >; 225117c2509SLucas Stach }; 226117c2509SLucas Stach 227117c2509SLucas Stach pinctrl_usdhc1: usdhc1grp { 228117c2509SLucas Stach fsl,pins = < 229117c2509SLucas Stach MX8MQ_IOMUXC_SD1_CLK_USDHC1_CLK 0x83 230117c2509SLucas Stach MX8MQ_IOMUXC_SD1_CMD_USDHC1_CMD 0xc3 231117c2509SLucas Stach MX8MQ_IOMUXC_SD1_DATA0_USDHC1_DATA0 0xc3 232117c2509SLucas Stach MX8MQ_IOMUXC_SD1_DATA1_USDHC1_DATA1 0xc3 233117c2509SLucas Stach MX8MQ_IOMUXC_SD1_DATA2_USDHC1_DATA2 0xc3 234117c2509SLucas Stach MX8MQ_IOMUXC_SD1_DATA3_USDHC1_DATA3 0xc3 235117c2509SLucas Stach MX8MQ_IOMUXC_SD1_DATA4_USDHC1_DATA4 0xc3 236117c2509SLucas Stach MX8MQ_IOMUXC_SD1_DATA5_USDHC1_DATA5 0xc3 237117c2509SLucas Stach MX8MQ_IOMUXC_SD1_DATA6_USDHC1_DATA6 0xc3 238117c2509SLucas Stach MX8MQ_IOMUXC_SD1_DATA7_USDHC1_DATA7 0xc3 239117c2509SLucas Stach MX8MQ_IOMUXC_SD1_RESET_B_USDHC1_RESET_B 0xc1 240117c2509SLucas Stach >; 241117c2509SLucas Stach }; 242117c2509SLucas Stach 243117c2509SLucas Stach pinctrl_usdhc1_100mhz: usdhc1-100mhzgrp { 244117c2509SLucas Stach fsl,pins = < 245117c2509SLucas Stach MX8MQ_IOMUXC_SD1_CLK_USDHC1_CLK 0x8d 246117c2509SLucas Stach MX8MQ_IOMUXC_SD1_CMD_USDHC1_CMD 0xcd 247117c2509SLucas Stach MX8MQ_IOMUXC_SD1_DATA0_USDHC1_DATA0 0xcd 248117c2509SLucas Stach MX8MQ_IOMUXC_SD1_DATA1_USDHC1_DATA1 0xcd 249117c2509SLucas Stach MX8MQ_IOMUXC_SD1_DATA2_USDHC1_DATA2 0xcd 250117c2509SLucas Stach MX8MQ_IOMUXC_SD1_DATA3_USDHC1_DATA3 0xcd 251117c2509SLucas Stach MX8MQ_IOMUXC_SD1_DATA4_USDHC1_DATA4 0xcd 252117c2509SLucas Stach MX8MQ_IOMUXC_SD1_DATA5_USDHC1_DATA5 0xcd 253117c2509SLucas Stach MX8MQ_IOMUXC_SD1_DATA6_USDHC1_DATA6 0xcd 254117c2509SLucas Stach MX8MQ_IOMUXC_SD1_DATA7_USDHC1_DATA7 0xcd 255117c2509SLucas Stach >; 256117c2509SLucas Stach }; 257117c2509SLucas Stach 258117c2509SLucas Stach pinctrl_usdhc1_200mhz: usdhc1-200mhzgrp { 259117c2509SLucas Stach fsl,pins = < 260117c2509SLucas Stach MX8MQ_IOMUXC_SD1_CLK_USDHC1_CLK 0x9f 261117c2509SLucas Stach MX8MQ_IOMUXC_SD1_CMD_USDHC1_CMD 0xdf 262117c2509SLucas Stach MX8MQ_IOMUXC_SD1_DATA0_USDHC1_DATA0 0xdf 263117c2509SLucas Stach MX8MQ_IOMUXC_SD1_DATA1_USDHC1_DATA1 0xdf 264117c2509SLucas Stach MX8MQ_IOMUXC_SD1_DATA2_USDHC1_DATA2 0xdf 265117c2509SLucas Stach MX8MQ_IOMUXC_SD1_DATA3_USDHC1_DATA3 0xdf 266117c2509SLucas Stach MX8MQ_IOMUXC_SD1_DATA4_USDHC1_DATA4 0xdf 267117c2509SLucas Stach MX8MQ_IOMUXC_SD1_DATA5_USDHC1_DATA5 0xdf 268117c2509SLucas Stach MX8MQ_IOMUXC_SD1_DATA6_USDHC1_DATA6 0xdf 269117c2509SLucas Stach MX8MQ_IOMUXC_SD1_DATA7_USDHC1_DATA7 0xdf 270117c2509SLucas Stach >; 271117c2509SLucas Stach }; 272117c2509SLucas Stach 273117c2509SLucas Stach pinctrl_wdog: wdoggrp { 274117c2509SLucas Stach fsl,pins = < 275117c2509SLucas Stach MX8MQ_IOMUXC_GPIO1_IO02_WDOG1_WDOG_B 0xc6 276117c2509SLucas Stach >; 277117c2509SLucas Stach }; 278117c2509SLucas Stach}; 279