160ac3526SJagan Teki// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
260ac3526SJagan Teki/*
360ac3526SJagan Teki * Copyright (c) 2018 NXP
460ac3526SJagan Teki * Copyright (c) 2019 Engicam srl
5*4d50d2bfSJagan Teki * Copyright (c) 2020 Amarula Solutions(India)
660ac3526SJagan Teki */
760ac3526SJagan Teki
860ac3526SJagan Teki/ {
960ac3526SJagan Teki	compatible = "engicam,icore-mx8mm", "fsl,imx8mm";
1060ac3526SJagan Teki};
1160ac3526SJagan Teki
1260ac3526SJagan Teki&A53_0 {
1360ac3526SJagan Teki	cpu-supply = <&reg_buck4>;
1460ac3526SJagan Teki};
1560ac3526SJagan Teki
1660ac3526SJagan Teki&A53_1 {
1760ac3526SJagan Teki	cpu-supply = <&reg_buck4>;
1860ac3526SJagan Teki};
1960ac3526SJagan Teki
2060ac3526SJagan Teki&A53_2 {
2160ac3526SJagan Teki	cpu-supply = <&reg_buck4>;
2260ac3526SJagan Teki};
2360ac3526SJagan Teki
2460ac3526SJagan Teki&A53_3 {
2560ac3526SJagan Teki	cpu-supply = <&reg_buck4>;
2660ac3526SJagan Teki};
2760ac3526SJagan Teki
2860ac3526SJagan Teki&fec1 {
2960ac3526SJagan Teki	pinctrl-names = "default";
3060ac3526SJagan Teki	pinctrl-0 = <&pinctrl_fec1>;
3160ac3526SJagan Teki	phy-mode = "rgmii-id";
3260ac3526SJagan Teki	phy-handle = <&ethphy>;
3360ac3526SJagan Teki
3460ac3526SJagan Teki	mdio {
3560ac3526SJagan Teki		#address-cells = <1>;
3660ac3526SJagan Teki		#size-cells = <0>;
3760ac3526SJagan Teki
3860ac3526SJagan Teki		ethphy: ethernet-phy@3 {
3960ac3526SJagan Teki			compatible = "ethernet-phy-ieee802.3-c22";
4060ac3526SJagan Teki			reg = <3>;
4160ac3526SJagan Teki			reset-gpios = <&gpio3 7 GPIO_ACTIVE_LOW>;
4260ac3526SJagan Teki			reset-assert-us = <10000>;
4360ac3526SJagan Teki		};
4460ac3526SJagan Teki	};
4560ac3526SJagan Teki};
4660ac3526SJagan Teki
4760ac3526SJagan Teki&i2c1 {
4860ac3526SJagan Teki	clock-frequency = <400000>;
4960ac3526SJagan Teki	pinctrl-names = "default";
5060ac3526SJagan Teki	pinctrl-0 = <&pinctrl_i2c1>;
5160ac3526SJagan Teki	status = "okay";
5260ac3526SJagan Teki
5360ac3526SJagan Teki	pmic@8 {
5460ac3526SJagan Teki		compatible = "nxp,pf8121a";
5560ac3526SJagan Teki		reg = <0x08>;
5660ac3526SJagan Teki
5760ac3526SJagan Teki		regulators {
5860ac3526SJagan Teki			reg_ldo1: ldo1 {
5960ac3526SJagan Teki				regulator-min-microvolt = <1500000>;
6060ac3526SJagan Teki				regulator-max-microvolt = <5000000>;
6160ac3526SJagan Teki				regulator-always-on;
6260ac3526SJagan Teki				regulator-boot-on;
6360ac3526SJagan Teki			};
6460ac3526SJagan Teki
6560ac3526SJagan Teki			reg_ldo2: ldo2 {
6660ac3526SJagan Teki				regulator-min-microvolt = <1500000>;
6760ac3526SJagan Teki				regulator-max-microvolt = <5000000>;
6860ac3526SJagan Teki				regulator-always-on;
6960ac3526SJagan Teki				regulator-boot-on;
7060ac3526SJagan Teki			};
7160ac3526SJagan Teki
7260ac3526SJagan Teki			reg_ldo3: ldo3 {
7360ac3526SJagan Teki				regulator-min-microvolt = <1500000>;
7460ac3526SJagan Teki				regulator-max-microvolt = <5000000>;
7560ac3526SJagan Teki				regulator-always-on;
7660ac3526SJagan Teki				regulator-boot-on;
7760ac3526SJagan Teki			};
7860ac3526SJagan Teki
7960ac3526SJagan Teki			reg_ldo4: ldo4 {
8060ac3526SJagan Teki				regulator-min-microvolt = <1500000>;
8160ac3526SJagan Teki				regulator-max-microvolt = <5000000>;
8260ac3526SJagan Teki				regulator-always-on;
8360ac3526SJagan Teki				regulator-boot-on;
8460ac3526SJagan Teki			};
8560ac3526SJagan Teki
8660ac3526SJagan Teki			reg_buck1: buck1 {
8760ac3526SJagan Teki				regulator-min-microvolt = <400000>;
8860ac3526SJagan Teki				regulator-max-microvolt = <1800000>;
8960ac3526SJagan Teki				regulator-always-on;
9060ac3526SJagan Teki				regulator-boot-on;
9160ac3526SJagan Teki			};
9260ac3526SJagan Teki
9360ac3526SJagan Teki			reg_buck2: buck2 {
9460ac3526SJagan Teki				regulator-min-microvolt = <400000>;
9560ac3526SJagan Teki				regulator-max-microvolt = <1800000>;
9660ac3526SJagan Teki				regulator-always-on;
9760ac3526SJagan Teki				regulator-boot-on;
9860ac3526SJagan Teki			};
9960ac3526SJagan Teki
10060ac3526SJagan Teki			reg_buck3: buck3 {
10160ac3526SJagan Teki				regulator-min-microvolt = <400000>;
10260ac3526SJagan Teki				regulator-max-microvolt = <1800000>;
10360ac3526SJagan Teki				regulator-always-on;
10460ac3526SJagan Teki				regulator-boot-on;
10560ac3526SJagan Teki			};
10660ac3526SJagan Teki
10760ac3526SJagan Teki			reg_buck4: buck4 {
10860ac3526SJagan Teki				regulator-min-microvolt = <400000>;
10960ac3526SJagan Teki				regulator-max-microvolt = <1800000>;
11060ac3526SJagan Teki				regulator-always-on;
11160ac3526SJagan Teki				regulator-boot-on;
11260ac3526SJagan Teki			};
11360ac3526SJagan Teki
11460ac3526SJagan Teki			reg_buck5: buck5 {
11560ac3526SJagan Teki				regulator-min-microvolt = <400000>;
11660ac3526SJagan Teki				regulator-max-microvolt = <1800000>;
11760ac3526SJagan Teki				regulator-always-on;
11860ac3526SJagan Teki				regulator-boot-on;
11960ac3526SJagan Teki			};
12060ac3526SJagan Teki
12160ac3526SJagan Teki			reg_buck6: buck6 {
12260ac3526SJagan Teki				regulator-min-microvolt = <400000>;
12360ac3526SJagan Teki				regulator-max-microvolt = <1800000>;
12460ac3526SJagan Teki				regulator-always-on;
12560ac3526SJagan Teki				regulator-boot-on;
12660ac3526SJagan Teki			};
12760ac3526SJagan Teki
12860ac3526SJagan Teki			reg_buck7: buck7 {
12960ac3526SJagan Teki				regulator-min-microvolt = <3300000>;
13060ac3526SJagan Teki				regulator-max-microvolt = <3300000>;
13160ac3526SJagan Teki				regulator-always-on;
13260ac3526SJagan Teki				regulator-boot-on;
13360ac3526SJagan Teki			};
13460ac3526SJagan Teki
13560ac3526SJagan Teki			reg_vsnvs: vsnvs {
13660ac3526SJagan Teki				regulator-min-microvolt = <1800000>;
13760ac3526SJagan Teki				regulator-max-microvolt = <3300000>;
13860ac3526SJagan Teki				regulator-always-on;
13960ac3526SJagan Teki				regulator-boot-on;
14060ac3526SJagan Teki			};
14160ac3526SJagan Teki		};
14260ac3526SJagan Teki	};
14360ac3526SJagan Teki};
14460ac3526SJagan Teki
14560ac3526SJagan Teki&iomuxc {
14660ac3526SJagan Teki	pinctrl_fec1: fec1grp {
14760ac3526SJagan Teki		fsl,pins = <
14860ac3526SJagan Teki			MX8MM_IOMUXC_ENET_MDC_ENET1_MDC			0x3
14960ac3526SJagan Teki			MX8MM_IOMUXC_ENET_MDIO_ENET1_MDIO		0x3
15060ac3526SJagan Teki			MX8MM_IOMUXC_ENET_TD3_ENET1_RGMII_TD3		0x1f
15160ac3526SJagan Teki			MX8MM_IOMUXC_ENET_TD2_ENET1_RGMII_TD2		0x1f
15260ac3526SJagan Teki			MX8MM_IOMUXC_ENET_TD1_ENET1_RGMII_TD1		0x1f
15360ac3526SJagan Teki			MX8MM_IOMUXC_ENET_TD0_ENET1_RGMII_TD0		0x1f
15460ac3526SJagan Teki			MX8MM_IOMUXC_ENET_RD3_ENET1_RGMII_RD3		0x91
15560ac3526SJagan Teki			MX8MM_IOMUXC_ENET_RD2_ENET1_RGMII_RD2		0x91
15660ac3526SJagan Teki			MX8MM_IOMUXC_ENET_RD1_ENET1_RGMII_RD1		0x91
15760ac3526SJagan Teki			MX8MM_IOMUXC_ENET_RD0_ENET1_RGMII_RD0		0x91
15860ac3526SJagan Teki			MX8MM_IOMUXC_ENET_TXC_ENET1_RGMII_TXC		0x1f
15960ac3526SJagan Teki			MX8MM_IOMUXC_ENET_RXC_ENET1_RGMII_RXC		0x91
16060ac3526SJagan Teki			MX8MM_IOMUXC_ENET_RX_CTL_ENET1_RGMII_RX_CTL	0x91
16160ac3526SJagan Teki			MX8MM_IOMUXC_ENET_TX_CTL_ENET1_RGMII_TX_CTL	0x1f
16260ac3526SJagan Teki			MX8MM_IOMUXC_NAND_DATA01_GPIO3_IO7		0x19
16360ac3526SJagan Teki		>;
16460ac3526SJagan Teki	};
16560ac3526SJagan Teki
16660ac3526SJagan Teki	pinctrl_i2c1: i2c1grp {
16760ac3526SJagan Teki		fsl,pins = <
16860ac3526SJagan Teki			MX8MM_IOMUXC_I2C1_SCL_I2C1_SCL		0x400001c3
16960ac3526SJagan Teki			MX8MM_IOMUXC_I2C1_SDA_I2C1_SDA		0x400001c3
17060ac3526SJagan Teki		>;
17160ac3526SJagan Teki	};
17260ac3526SJagan Teki
17360ac3526SJagan Teki	pinctrl_usdhc3: usdhc3grp {
17460ac3526SJagan Teki		fsl,pins = <
17560ac3526SJagan Teki			MX8MM_IOMUXC_NAND_WE_B_USDHC3_CLK               0x190
17660ac3526SJagan Teki			MX8MM_IOMUXC_NAND_WP_B_USDHC3_CMD               0x1d0
17760ac3526SJagan Teki			MX8MM_IOMUXC_NAND_DATA04_USDHC3_DATA0           0x1d0
17860ac3526SJagan Teki			MX8MM_IOMUXC_NAND_DATA05_USDHC3_DATA1           0x1d0
17960ac3526SJagan Teki			MX8MM_IOMUXC_NAND_DATA06_USDHC3_DATA2           0x1d0
18060ac3526SJagan Teki			MX8MM_IOMUXC_NAND_DATA06_USDHC3_DATA2           0x1d0
18160ac3526SJagan Teki			MX8MM_IOMUXC_NAND_DATA07_USDHC3_DATA3           0x1d0
18260ac3526SJagan Teki			MX8MM_IOMUXC_NAND_RE_B_USDHC3_DATA4             0x1d0
18360ac3526SJagan Teki			MX8MM_IOMUXC_NAND_CE2_B_USDHC3_DATA5            0x1d0
18460ac3526SJagan Teki			MX8MM_IOMUXC_NAND_CE3_B_USDHC3_DATA6            0x1d0
18560ac3526SJagan Teki			MX8MM_IOMUXC_NAND_CLE_USDHC3_DATA7              0x1d0
18660ac3526SJagan Teki			MX8MM_IOMUXC_NAND_CE1_B_USDHC3_STROBE           0x190
18760ac3526SJagan Teki		>;
18860ac3526SJagan Teki	};
18960ac3526SJagan Teki
19060ac3526SJagan Teki	pinctrl_usdhc3_100mhz: usdhc3-100mhzgrp {
19160ac3526SJagan Teki		fsl,pins = <
19260ac3526SJagan Teki			MX8MM_IOMUXC_NAND_WE_B_USDHC3_CLK               0x194
19360ac3526SJagan Teki			MX8MM_IOMUXC_NAND_WP_B_USDHC3_CMD               0x1d4
19460ac3526SJagan Teki			MX8MM_IOMUXC_NAND_DATA04_USDHC3_DATA0           0x1d4
19560ac3526SJagan Teki			MX8MM_IOMUXC_NAND_DATA05_USDHC3_DATA1           0x1d4
19660ac3526SJagan Teki			MX8MM_IOMUXC_NAND_DATA06_USDHC3_DATA2           0x1d4
19760ac3526SJagan Teki			MX8MM_IOMUXC_NAND_DATA07_USDHC3_DATA3           0x1d4
19860ac3526SJagan Teki			MX8MM_IOMUXC_NAND_RE_B_USDHC3_DATA4             0x1d4
19960ac3526SJagan Teki			MX8MM_IOMUXC_NAND_CE2_B_USDHC3_DATA5            0x1d4
20060ac3526SJagan Teki			MX8MM_IOMUXC_NAND_CE3_B_USDHC3_DATA6            0x1d4
20160ac3526SJagan Teki			MX8MM_IOMUXC_NAND_CLE_USDHC3_DATA7              0x1d4
20260ac3526SJagan Teki			MX8MM_IOMUXC_NAND_CE1_B_USDHC3_STROBE           0x194
20360ac3526SJagan Teki		>;
20460ac3526SJagan Teki	};
20560ac3526SJagan Teki
20660ac3526SJagan Teki	pinctrl_usdhc3_200mhz: usdhc3-200mhzgrp {
20760ac3526SJagan Teki		fsl,pins = <
20860ac3526SJagan Teki			MX8MM_IOMUXC_NAND_WE_B_USDHC3_CLK               0x196
20960ac3526SJagan Teki			MX8MM_IOMUXC_NAND_WP_B_USDHC3_CMD               0x1d6
21060ac3526SJagan Teki			MX8MM_IOMUXC_NAND_DATA04_USDHC3_DATA0           0x1d6
21160ac3526SJagan Teki			MX8MM_IOMUXC_NAND_DATA05_USDHC3_DATA1           0x1d6
21260ac3526SJagan Teki			MX8MM_IOMUXC_NAND_DATA06_USDHC3_DATA2           0x1d6
21360ac3526SJagan Teki			MX8MM_IOMUXC_NAND_DATA07_USDHC3_DATA3           0x1d6
21460ac3526SJagan Teki			MX8MM_IOMUXC_NAND_RE_B_USDHC3_DATA4             0x1d6
21560ac3526SJagan Teki			MX8MM_IOMUXC_NAND_CE2_B_USDHC3_DATA5            0x1d6
21660ac3526SJagan Teki			MX8MM_IOMUXC_NAND_CE3_B_USDHC3_DATA6            0x1d6
21760ac3526SJagan Teki			MX8MM_IOMUXC_NAND_CLE_USDHC3_DATA7              0x1d6
21860ac3526SJagan Teki			MX8MM_IOMUXC_NAND_CE1_B_USDHC3_STROBE           0x196
21960ac3526SJagan Teki		>;
22060ac3526SJagan Teki	};
22160ac3526SJagan Teki};
22260ac3526SJagan Teki
22360ac3526SJagan Teki/* eMMC */
22460ac3526SJagan Teki&usdhc3 {
22560ac3526SJagan Teki	pinctrl-names = "default", "state_100mhz", "state_200mhz";
22660ac3526SJagan Teki	pinctrl-0 = <&pinctrl_usdhc3>;
22760ac3526SJagan Teki	pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
22860ac3526SJagan Teki	pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
22960ac3526SJagan Teki	bus-width = <8>;
23060ac3526SJagan Teki	non-removable;
23160ac3526SJagan Teki	status = "okay";
23260ac3526SJagan Teki};
233