162306a36Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Copyright 2023 Emtop Embedded Solutions
462306a36Sopenharmony_ci */
562306a36Sopenharmony_ci
662306a36Sopenharmony_ci/dts-v1/;
762306a36Sopenharmony_ci
862306a36Sopenharmony_ci#include <dt-bindings/gpio/gpio.h>
962306a36Sopenharmony_ci#include <dt-bindings/leds/common.h>
1062306a36Sopenharmony_ci#include <dt-bindings/usb/pd.h>
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci#include "imx8mm.dtsi"
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ci/ {
1562306a36Sopenharmony_ci	model = "Emtop Embedded Solutions i.MX8M Mini SOM-IMX8MMLPD4 SoM";
1662306a36Sopenharmony_ci	compatible = "ees,imx8mm-emtop-som", "fsl,imx8mm";
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ci	chosen {
1962306a36Sopenharmony_ci		stdout-path = &uart2;
2062306a36Sopenharmony_ci	};
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ci	leds {
2362306a36Sopenharmony_ci		compatible = "gpio-leds";
2462306a36Sopenharmony_ci		pinctrl-names = "default";
2562306a36Sopenharmony_ci		pinctrl-0 = <&pinctrl_gpio_led>;
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ci		led-0 {
2862306a36Sopenharmony_ci			function = LED_FUNCTION_POWER;
2962306a36Sopenharmony_ci			gpios = <&gpio3 16 GPIO_ACTIVE_HIGH>;
3062306a36Sopenharmony_ci			linux,default-trigger = "heartbeat";
3162306a36Sopenharmony_ci		};
3262306a36Sopenharmony_ci	};
3362306a36Sopenharmony_ci};
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ci&A53_0 {
3662306a36Sopenharmony_ci	cpu-supply = <&buck2>;
3762306a36Sopenharmony_ci};
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ci&A53_1 {
4062306a36Sopenharmony_ci	cpu-supply = <&buck2>;
4162306a36Sopenharmony_ci};
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ci&A53_2 {
4462306a36Sopenharmony_ci	cpu-supply = <&buck2>;
4562306a36Sopenharmony_ci};
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ci&A53_3 {
4862306a36Sopenharmony_ci	cpu-supply = <&buck2>;
4962306a36Sopenharmony_ci};
5062306a36Sopenharmony_ci
5162306a36Sopenharmony_ci&i2c1 {
5262306a36Sopenharmony_ci	clock-frequency = <400000>;
5362306a36Sopenharmony_ci	pinctrl-names = "default";
5462306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_i2c1>;
5562306a36Sopenharmony_ci	status = "okay";
5662306a36Sopenharmony_ci
5762306a36Sopenharmony_ci	pmic@25 {
5862306a36Sopenharmony_ci		compatible = "nxp,pca9450c";
5962306a36Sopenharmony_ci		reg = <0x25>;
6062306a36Sopenharmony_ci		pinctrl-names = "default";
6162306a36Sopenharmony_ci		pinctrl-0 = <&pinctrl_pmic>;
6262306a36Sopenharmony_ci		interrupt-parent = <&gpio1>;
6362306a36Sopenharmony_ci		interrupts = <3 IRQ_TYPE_EDGE_RISING>;
6462306a36Sopenharmony_ci
6562306a36Sopenharmony_ci		regulators {
6662306a36Sopenharmony_ci			buck1: BUCK1 {
6762306a36Sopenharmony_ci				regulator-name = "BUCK1";
6862306a36Sopenharmony_ci				regulator-min-microvolt = <800000>;
6962306a36Sopenharmony_ci				regulator-max-microvolt = <1000000>;
7062306a36Sopenharmony_ci				regulator-boot-on;
7162306a36Sopenharmony_ci				regulator-always-on;
7262306a36Sopenharmony_ci				regulator-ramp-delay = <3125>;
7362306a36Sopenharmony_ci			};
7462306a36Sopenharmony_ci
7562306a36Sopenharmony_ci			buck2: BUCK2 {
7662306a36Sopenharmony_ci				regulator-name = "BUCK2";
7762306a36Sopenharmony_ci				regulator-min-microvolt = <800000>;
7862306a36Sopenharmony_ci				regulator-max-microvolt = <900000>;
7962306a36Sopenharmony_ci				regulator-boot-on;
8062306a36Sopenharmony_ci				regulator-always-on;
8162306a36Sopenharmony_ci				regulator-ramp-delay = <3125>;
8262306a36Sopenharmony_ci			};
8362306a36Sopenharmony_ci
8462306a36Sopenharmony_ci			buck3: BUCK3 {
8562306a36Sopenharmony_ci				regulator-name = "BUCK3";
8662306a36Sopenharmony_ci				regulator-min-microvolt = <800000>;
8762306a36Sopenharmony_ci				regulator-max-microvolt = <1000000>;
8862306a36Sopenharmony_ci				regulator-boot-on;
8962306a36Sopenharmony_ci				regulator-always-on;
9062306a36Sopenharmony_ci			};
9162306a36Sopenharmony_ci
9262306a36Sopenharmony_ci			buck4: BUCK4 {
9362306a36Sopenharmony_ci				regulator-name = "BUCK4";
9462306a36Sopenharmony_ci				regulator-min-microvolt = <3000000>;
9562306a36Sopenharmony_ci				regulator-max-microvolt = <3600000>;
9662306a36Sopenharmony_ci				regulator-boot-on;
9762306a36Sopenharmony_ci				regulator-always-on;
9862306a36Sopenharmony_ci			};
9962306a36Sopenharmony_ci
10062306a36Sopenharmony_ci			buck5: BUCK5 {
10162306a36Sopenharmony_ci				regulator-name = "BUCK5";
10262306a36Sopenharmony_ci				regulator-min-microvolt = <1650000>;
10362306a36Sopenharmony_ci				regulator-max-microvolt = <1950000>;
10462306a36Sopenharmony_ci				regulator-boot-on;
10562306a36Sopenharmony_ci				regulator-always-on;
10662306a36Sopenharmony_ci			};
10762306a36Sopenharmony_ci
10862306a36Sopenharmony_ci			buck6: BUCK6 {
10962306a36Sopenharmony_ci				regulator-name = "BUCK6";
11062306a36Sopenharmony_ci				regulator-min-microvolt = <1100000>;
11162306a36Sopenharmony_ci				regulator-max-microvolt = <1200000>;
11262306a36Sopenharmony_ci				regulator-boot-on;
11362306a36Sopenharmony_ci				regulator-always-on;
11462306a36Sopenharmony_ci			};
11562306a36Sopenharmony_ci
11662306a36Sopenharmony_ci			ldo1: LDO1 {
11762306a36Sopenharmony_ci				regulator-name = "LDO1";
11862306a36Sopenharmony_ci				regulator-min-microvolt = <1650000>;
11962306a36Sopenharmony_ci				regulator-max-microvolt = <1950000>;
12062306a36Sopenharmony_ci				regulator-boot-on;
12162306a36Sopenharmony_ci				regulator-always-on;
12262306a36Sopenharmony_ci			};
12362306a36Sopenharmony_ci
12462306a36Sopenharmony_ci			ldo2: LDO2 {
12562306a36Sopenharmony_ci				regulator-name = "LDO2";
12662306a36Sopenharmony_ci				regulator-min-microvolt = <800000>;
12762306a36Sopenharmony_ci				regulator-max-microvolt = <945000>;
12862306a36Sopenharmony_ci				regulator-boot-on;
12962306a36Sopenharmony_ci				regulator-always-on;
13062306a36Sopenharmony_ci			};
13162306a36Sopenharmony_ci
13262306a36Sopenharmony_ci			ldo3: LDO3 {
13362306a36Sopenharmony_ci				regulator-name = "LDO3";
13462306a36Sopenharmony_ci				regulator-min-microvolt = <1710000>;
13562306a36Sopenharmony_ci				regulator-max-microvolt = <1890000>;
13662306a36Sopenharmony_ci				regulator-boot-on;
13762306a36Sopenharmony_ci				regulator-always-on;
13862306a36Sopenharmony_ci			};
13962306a36Sopenharmony_ci
14062306a36Sopenharmony_ci			ldo4: LDO4 {
14162306a36Sopenharmony_ci				regulator-name = "LDO4";
14262306a36Sopenharmony_ci				regulator-min-microvolt = <810000>;
14362306a36Sopenharmony_ci				regulator-max-microvolt = <945000>;
14462306a36Sopenharmony_ci				regulator-boot-on;
14562306a36Sopenharmony_ci				regulator-always-on;
14662306a36Sopenharmony_ci			};
14762306a36Sopenharmony_ci
14862306a36Sopenharmony_ci			ldo5: LDO5 {
14962306a36Sopenharmony_ci				regulator-name = "LDO5";
15062306a36Sopenharmony_ci				regulator-min-microvolt = <1650000>;
15162306a36Sopenharmony_ci				regulator-max-microvolt = <3600000>;
15262306a36Sopenharmony_ci			};
15362306a36Sopenharmony_ci		};
15462306a36Sopenharmony_ci	};
15562306a36Sopenharmony_ci};
15662306a36Sopenharmony_ci
15762306a36Sopenharmony_ci&uart2 {
15862306a36Sopenharmony_ci	pinctrl-names = "default";
15962306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_uart2>;
16062306a36Sopenharmony_ci	status = "okay";
16162306a36Sopenharmony_ci};
16262306a36Sopenharmony_ci
16362306a36Sopenharmony_ci&usdhc3 {
16462306a36Sopenharmony_ci	pinctrl-names = "default", "state_100mhz", "state_200mhz";
16562306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_usdhc3>;
16662306a36Sopenharmony_ci	pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
16762306a36Sopenharmony_ci	pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
16862306a36Sopenharmony_ci	bus-width = <8>;
16962306a36Sopenharmony_ci	non-removable;
17062306a36Sopenharmony_ci	status = "okay";
17162306a36Sopenharmony_ci};
17262306a36Sopenharmony_ci
17362306a36Sopenharmony_ci&wdog1 {
17462306a36Sopenharmony_ci	pinctrl-names = "default";
17562306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_wdog>;
17662306a36Sopenharmony_ci	fsl,ext-reset-output;
17762306a36Sopenharmony_ci	status = "okay";
17862306a36Sopenharmony_ci};
17962306a36Sopenharmony_ci
18062306a36Sopenharmony_ci&iomuxc {
18162306a36Sopenharmony_ci	pinctrl_gpio_led: emtop-gpio-led-grp {
18262306a36Sopenharmony_ci		fsl,pins = <
18362306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_READY_B_GPIO3_IO16			0x19
18462306a36Sopenharmony_ci			MX8MM_IOMUXC_SAI3_RXC_GPIO4_IO29			0x19
18562306a36Sopenharmony_ci		>;
18662306a36Sopenharmony_ci	};
18762306a36Sopenharmony_ci
18862306a36Sopenharmony_ci	pinctrl_i2c1: emtop-i2c1-grp {
18962306a36Sopenharmony_ci		fsl,pins = <
19062306a36Sopenharmony_ci			MX8MM_IOMUXC_I2C1_SCL_I2C1_SCL				0x400001c3
19162306a36Sopenharmony_ci			MX8MM_IOMUXC_I2C1_SDA_I2C1_SDA				0x400001c3
19262306a36Sopenharmony_ci		>;
19362306a36Sopenharmony_ci	};
19462306a36Sopenharmony_ci
19562306a36Sopenharmony_ci	pinctrl_pmic: emtop-pmic-grp {
19662306a36Sopenharmony_ci		fsl,pins = <
19762306a36Sopenharmony_ci			MX8MM_IOMUXC_GPIO1_IO03_GPIO1_IO3			0x41
19862306a36Sopenharmony_ci		>;
19962306a36Sopenharmony_ci	};
20062306a36Sopenharmony_ci
20162306a36Sopenharmony_ci	pinctrl_uart2: emtop-uart2-grp {
20262306a36Sopenharmony_ci		fsl,pins = <
20362306a36Sopenharmony_ci			MX8MM_IOMUXC_UART2_RXD_UART2_DCE_RX			0x140
20462306a36Sopenharmony_ci			MX8MM_IOMUXC_UART2_TXD_UART2_DCE_TX			0x140
20562306a36Sopenharmony_ci		>;
20662306a36Sopenharmony_ci	};
20762306a36Sopenharmony_ci
20862306a36Sopenharmony_ci	pinctrl_usdhc3: emtop-usdhc3-grp {
20962306a36Sopenharmony_ci		fsl,pins = <
21062306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_WE_B_USDHC3_CLK			0x190
21162306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_WP_B_USDHC3_CMD			0x1d0
21262306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_DATA04_USDHC3_DATA0			0x1d0
21362306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_DATA05_USDHC3_DATA1			0x1d0
21462306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_DATA06_USDHC3_DATA2			0x1d0
21562306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_DATA07_USDHC3_DATA3			0x1d0
21662306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_RE_B_USDHC3_DATA4			0x1d0
21762306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_CE2_B_USDHC3_DATA5			0x1d0
21862306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_CE3_B_USDHC3_DATA6			0x1d0
21962306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_CLE_USDHC3_DATA7			0x1d0
22062306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_CE1_B_USDHC3_STROBE			0x190
22162306a36Sopenharmony_ci		>;
22262306a36Sopenharmony_ci	};
22362306a36Sopenharmony_ci
22462306a36Sopenharmony_ci	pinctrl_usdhc3_100mhz: emtop-usdhc3-100mhz-grp {
22562306a36Sopenharmony_ci		fsl,pins = <
22662306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_WE_B_USDHC3_CLK			0x194
22762306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_WP_B_USDHC3_CMD			0x1d4
22862306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_DATA04_USDHC3_DATA0			0x1d4
22962306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_DATA05_USDHC3_DATA1			0x1d4
23062306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_DATA06_USDHC3_DATA2			0x1d4
23162306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_DATA07_USDHC3_DATA3			0x1d4
23262306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_RE_B_USDHC3_DATA4			0x1d4
23362306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_CE2_B_USDHC3_DATA5			0x1d4
23462306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_CE3_B_USDHC3_DATA6			0x1d4
23562306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_CLE_USDHC3_DATA7			0x1d4
23662306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_CE1_B_USDHC3_STROBE			0x194
23762306a36Sopenharmony_ci		>;
23862306a36Sopenharmony_ci	};
23962306a36Sopenharmony_ci
24062306a36Sopenharmony_ci	pinctrl_usdhc3_200mhz: emtop-usdhc3-200mhz-grp {
24162306a36Sopenharmony_ci		fsl,pins = <
24262306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_WE_B_USDHC3_CLK			0x196
24362306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_WP_B_USDHC3_CMD			0x1d6
24462306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_DATA04_USDHC3_DATA0			0x1d6
24562306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_DATA05_USDHC3_DATA1			0x1d6
24662306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_DATA06_USDHC3_DATA2			0x1d6
24762306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_DATA07_USDHC3_DATA3			0x1d6
24862306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_RE_B_USDHC3_DATA4			0x1d6
24962306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_CE2_B_USDHC3_DATA5			0x1d6
25062306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_CE3_B_USDHC3_DATA6			0x1d6
25162306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_CLE_USDHC3_DATA7			0x1d6
25262306a36Sopenharmony_ci			MX8MM_IOMUXC_NAND_CE1_B_USDHC3_STROBE			0x196
25362306a36Sopenharmony_ci		>;
25462306a36Sopenharmony_ci	};
25562306a36Sopenharmony_ci
25662306a36Sopenharmony_ci	pinctrl_wdog: emtop-wdog-grp {
25762306a36Sopenharmony_ci		fsl,pins = <
25862306a36Sopenharmony_ci			MX8MM_IOMUXC_GPIO1_IO02_WDOG1_WDOG_B			0xc6
25962306a36Sopenharmony_ci		>;
26062306a36Sopenharmony_ci	};
26162306a36Sopenharmony_ci};
262