162306a36Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Copyright 2019 NXP
462306a36Sopenharmony_ci * Copyright (C) 2023 Pengutronix, Marco Felsch <kernel@pengutronix.de>
562306a36Sopenharmony_ci */
662306a36Sopenharmony_ci
762306a36Sopenharmony_ci#include "imx8mp.dtsi"
862306a36Sopenharmony_ci
962306a36Sopenharmony_ci/ {
1062306a36Sopenharmony_ci	model = "Polyhex i.MX8MPlus Debix SOM A";
1162306a36Sopenharmony_ci	compatible = "polyhex,imx8mp-debix-som-a", "fsl,imx8mp";
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci	reg_usdhc2_vmmc: regulator-usdhc2 {
1462306a36Sopenharmony_ci		compatible = "regulator-fixed";
1562306a36Sopenharmony_ci		pinctrl-names = "default";
1662306a36Sopenharmony_ci		pinctrl-0 = <&pinctrl_reg_usdhc2_vmmc>;
1762306a36Sopenharmony_ci		regulator-name = "VSD_3V3";
1862306a36Sopenharmony_ci		regulator-min-microvolt = <3300000>;
1962306a36Sopenharmony_ci		regulator-max-microvolt = <3300000>;
2062306a36Sopenharmony_ci		gpio = <&gpio2 19 GPIO_ACTIVE_HIGH>;
2162306a36Sopenharmony_ci		enable-active-high;
2262306a36Sopenharmony_ci	};
2362306a36Sopenharmony_ci};
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ci&A53_0 {
2662306a36Sopenharmony_ci	cpu-supply = <&buck2>;
2762306a36Sopenharmony_ci};
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ci&A53_1 {
3062306a36Sopenharmony_ci	cpu-supply = <&buck2>;
3162306a36Sopenharmony_ci};
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ci&A53_2 {
3462306a36Sopenharmony_ci	cpu-supply = <&buck2>;
3562306a36Sopenharmony_ci};
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_ci&A53_3 {
3862306a36Sopenharmony_ci	cpu-supply = <&buck2>;
3962306a36Sopenharmony_ci};
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ci&i2c1 {
4262306a36Sopenharmony_ci	clock-frequency = <400000>;
4362306a36Sopenharmony_ci	pinctrl-names = "default";
4462306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_i2c1>;
4562306a36Sopenharmony_ci	status = "okay";
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ci	pmic@25 {
4862306a36Sopenharmony_ci		compatible = "nxp,pca9450c";
4962306a36Sopenharmony_ci		reg = <0x25>;
5062306a36Sopenharmony_ci		pinctrl-names = "default";
5162306a36Sopenharmony_ci		pinctrl-0 = <&pinctrl_pmic>;
5262306a36Sopenharmony_ci		interrupt-parent = <&gpio1>;
5362306a36Sopenharmony_ci		interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
5462306a36Sopenharmony_ci
5562306a36Sopenharmony_ci		regulators {
5662306a36Sopenharmony_ci			buck1: BUCK1 {
5762306a36Sopenharmony_ci				regulator-name = "BUCK1";
5862306a36Sopenharmony_ci				regulator-min-microvolt = <600000>;
5962306a36Sopenharmony_ci				regulator-max-microvolt = <2187500>;
6062306a36Sopenharmony_ci				regulator-boot-on;
6162306a36Sopenharmony_ci				regulator-always-on;
6262306a36Sopenharmony_ci				regulator-ramp-delay = <3125>;
6362306a36Sopenharmony_ci			};
6462306a36Sopenharmony_ci
6562306a36Sopenharmony_ci			buck2: BUCK2 {
6662306a36Sopenharmony_ci				regulator-name = "BUCK2";
6762306a36Sopenharmony_ci				regulator-min-microvolt = <600000>;
6862306a36Sopenharmony_ci				regulator-max-microvolt = <2187500>;
6962306a36Sopenharmony_ci				regulator-boot-on;
7062306a36Sopenharmony_ci				regulator-always-on;
7162306a36Sopenharmony_ci				regulator-ramp-delay = <3125>;
7262306a36Sopenharmony_ci				nxp,dvs-run-voltage = <950000>;
7362306a36Sopenharmony_ci				nxp,dvs-standby-voltage = <850000>;
7462306a36Sopenharmony_ci			};
7562306a36Sopenharmony_ci
7662306a36Sopenharmony_ci			buck4: BUCK4 {
7762306a36Sopenharmony_ci				regulator-name = "BUCK4";
7862306a36Sopenharmony_ci				regulator-min-microvolt = <600000>;
7962306a36Sopenharmony_ci				regulator-max-microvolt = <3400000>;
8062306a36Sopenharmony_ci				regulator-boot-on;
8162306a36Sopenharmony_ci				regulator-always-on;
8262306a36Sopenharmony_ci			};
8362306a36Sopenharmony_ci
8462306a36Sopenharmony_ci			buck5: BUCK5 {
8562306a36Sopenharmony_ci				regulator-name = "BUCK5";
8662306a36Sopenharmony_ci				regulator-min-microvolt = <600000>;
8762306a36Sopenharmony_ci				regulator-max-microvolt = <3400000>;
8862306a36Sopenharmony_ci				regulator-boot-on;
8962306a36Sopenharmony_ci				regulator-always-on;
9062306a36Sopenharmony_ci			};
9162306a36Sopenharmony_ci
9262306a36Sopenharmony_ci			buck6: BUCK6 {
9362306a36Sopenharmony_ci				regulator-name = "BUCK6";
9462306a36Sopenharmony_ci				regulator-min-microvolt = <600000>;
9562306a36Sopenharmony_ci				regulator-max-microvolt = <3400000>;
9662306a36Sopenharmony_ci				regulator-boot-on;
9762306a36Sopenharmony_ci				regulator-always-on;
9862306a36Sopenharmony_ci			};
9962306a36Sopenharmony_ci
10062306a36Sopenharmony_ci			ldo1: LDO1 {
10162306a36Sopenharmony_ci				regulator-name = "LDO1";
10262306a36Sopenharmony_ci				regulator-min-microvolt = <1600000>;
10362306a36Sopenharmony_ci				regulator-max-microvolt = <3300000>;
10462306a36Sopenharmony_ci				regulator-boot-on;
10562306a36Sopenharmony_ci				regulator-always-on;
10662306a36Sopenharmony_ci			};
10762306a36Sopenharmony_ci
10862306a36Sopenharmony_ci			ldo2: LDO2 {
10962306a36Sopenharmony_ci				regulator-name = "LDO2";
11062306a36Sopenharmony_ci				regulator-min-microvolt = <800000>;
11162306a36Sopenharmony_ci				regulator-max-microvolt = <1150000>;
11262306a36Sopenharmony_ci				regulator-boot-on;
11362306a36Sopenharmony_ci				regulator-always-on;
11462306a36Sopenharmony_ci			};
11562306a36Sopenharmony_ci
11662306a36Sopenharmony_ci			ldo3: LDO3 {
11762306a36Sopenharmony_ci				regulator-name = "LDO3";
11862306a36Sopenharmony_ci				regulator-min-microvolt = <800000>;
11962306a36Sopenharmony_ci				regulator-max-microvolt = <3300000>;
12062306a36Sopenharmony_ci				regulator-boot-on;
12162306a36Sopenharmony_ci				regulator-always-on;
12262306a36Sopenharmony_ci			};
12362306a36Sopenharmony_ci
12462306a36Sopenharmony_ci			ldo4: LDO4 {
12562306a36Sopenharmony_ci				regulator-name = "LDO4";
12662306a36Sopenharmony_ci				regulator-min-microvolt = <800000>;
12762306a36Sopenharmony_ci				regulator-max-microvolt = <3300000>;
12862306a36Sopenharmony_ci				regulator-boot-on;
12962306a36Sopenharmony_ci				regulator-always-on;
13062306a36Sopenharmony_ci			};
13162306a36Sopenharmony_ci
13262306a36Sopenharmony_ci			ldo5: LDO5 {
13362306a36Sopenharmony_ci				regulator-name = "LDO5";
13462306a36Sopenharmony_ci				regulator-min-microvolt = <1800000>;
13562306a36Sopenharmony_ci				regulator-max-microvolt = <3300000>;
13662306a36Sopenharmony_ci				regulator-boot-on;
13762306a36Sopenharmony_ci				regulator-always-on;
13862306a36Sopenharmony_ci			};
13962306a36Sopenharmony_ci		};
14062306a36Sopenharmony_ci	};
14162306a36Sopenharmony_ci};
14262306a36Sopenharmony_ci
14362306a36Sopenharmony_ci&i2c4 {
14462306a36Sopenharmony_ci	clock-frequency = <400000>;
14562306a36Sopenharmony_ci	pinctrl-names = "default";
14662306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_i2c4>;
14762306a36Sopenharmony_ci	status = "okay";
14862306a36Sopenharmony_ci
14962306a36Sopenharmony_ci	adc@48 {
15062306a36Sopenharmony_ci		 compatible = "ti,ads1115";
15162306a36Sopenharmony_ci		 reg = <0x48>;
15262306a36Sopenharmony_ci		 #address-cells = <1>;
15362306a36Sopenharmony_ci		 #size-cells = <0>;
15462306a36Sopenharmony_ci
15562306a36Sopenharmony_ci		 channel@4 {
15662306a36Sopenharmony_ci			 reg = <4>;
15762306a36Sopenharmony_ci			 ti,gain = <1>;
15862306a36Sopenharmony_ci			 ti,datarate = <7>;
15962306a36Sopenharmony_ci		 };
16062306a36Sopenharmony_ci
16162306a36Sopenharmony_ci		 channel@5 {
16262306a36Sopenharmony_ci			 reg = <5>;
16362306a36Sopenharmony_ci			 ti,gain = <1>;
16462306a36Sopenharmony_ci			 ti,datarate = <7>;
16562306a36Sopenharmony_ci		 };
16662306a36Sopenharmony_ci
16762306a36Sopenharmony_ci		 channel@6 {
16862306a36Sopenharmony_ci			 reg = <6>;
16962306a36Sopenharmony_ci			 ti,gain = <1>;
17062306a36Sopenharmony_ci			 ti,datarate = <7>;
17162306a36Sopenharmony_ci		 };
17262306a36Sopenharmony_ci
17362306a36Sopenharmony_ci		 channel@7 {
17462306a36Sopenharmony_ci			 reg = <7>;
17562306a36Sopenharmony_ci			 ti,gain = <1>;
17662306a36Sopenharmony_ci			 ti,datarate = <7>;
17762306a36Sopenharmony_ci		 };
17862306a36Sopenharmony_ci	 };
17962306a36Sopenharmony_ci};
18062306a36Sopenharmony_ci
18162306a36Sopenharmony_ci&snvs_pwrkey {
18262306a36Sopenharmony_ci	status = "okay";
18362306a36Sopenharmony_ci};
18462306a36Sopenharmony_ci
18562306a36Sopenharmony_ci/* eMMC */
18662306a36Sopenharmony_ci&usdhc3 {
18762306a36Sopenharmony_ci	pinctrl-names = "default", "state_100mhz", "state_200mhz";
18862306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_usdhc3>;
18962306a36Sopenharmony_ci	pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
19062306a36Sopenharmony_ci	pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
19162306a36Sopenharmony_ci	assigned-clocks = <&clk IMX8MP_CLK_USDHC3>;
19262306a36Sopenharmony_ci	assigned-clock-rates = <400000000>;
19362306a36Sopenharmony_ci	bus-width = <8>;
19462306a36Sopenharmony_ci	non-removable;
19562306a36Sopenharmony_ci	status = "okay";
19662306a36Sopenharmony_ci};
19762306a36Sopenharmony_ci
19862306a36Sopenharmony_ci&wdog1 {
19962306a36Sopenharmony_ci	pinctrl-names = "default";
20062306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_wdog>;
20162306a36Sopenharmony_ci	fsl,ext-reset-output;
20262306a36Sopenharmony_ci	status = "okay";
20362306a36Sopenharmony_ci};
20462306a36Sopenharmony_ci
20562306a36Sopenharmony_ci&iomuxc {
20662306a36Sopenharmony_ci	pinctrl_i2c1: i2c1grp {
20762306a36Sopenharmony_ci		fsl,pins = <
20862306a36Sopenharmony_ci			MX8MP_IOMUXC_I2C1_SCL__I2C1_SCL			0x400001c2
20962306a36Sopenharmony_ci			MX8MP_IOMUXC_I2C1_SDA__I2C1_SDA			0x400001c2
21062306a36Sopenharmony_ci		>;
21162306a36Sopenharmony_ci	};
21262306a36Sopenharmony_ci
21362306a36Sopenharmony_ci	pinctrl_i2c4: i2c4grp {
21462306a36Sopenharmony_ci		fsl,pins = <
21562306a36Sopenharmony_ci			MX8MP_IOMUXC_I2C4_SCL__I2C4_SCL			0x400001c3
21662306a36Sopenharmony_ci			MX8MP_IOMUXC_I2C4_SDA__I2C4_SDA			0x400001c3
21762306a36Sopenharmony_ci		>;
21862306a36Sopenharmony_ci	};
21962306a36Sopenharmony_ci
22062306a36Sopenharmony_ci	pinctrl_pmic: pmicgrp {
22162306a36Sopenharmony_ci		fsl,pins = <
22262306a36Sopenharmony_ci			MX8MP_IOMUXC_GPIO1_IO03__GPIO1_IO03		0x41
22362306a36Sopenharmony_ci		>;
22462306a36Sopenharmony_ci	};
22562306a36Sopenharmony_ci
22662306a36Sopenharmony_ci	pinctrl_reg_usdhc2_vmmc: regusdhc2vmmcgrp {
22762306a36Sopenharmony_ci		fsl,pins = <
22862306a36Sopenharmony_ci			MX8MP_IOMUXC_SD2_RESET_B__GPIO2_IO19		0x41
22962306a36Sopenharmony_ci		>;
23062306a36Sopenharmony_ci	};
23162306a36Sopenharmony_ci
23262306a36Sopenharmony_ci	pinctrl_usdhc3: usdhc3grp {
23362306a36Sopenharmony_ci		fsl,pins = <
23462306a36Sopenharmony_ci			MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK		0x190
23562306a36Sopenharmony_ci			MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD		0x1d0
23662306a36Sopenharmony_ci			MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0		0x1d0
23762306a36Sopenharmony_ci			MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1		0x1d0
23862306a36Sopenharmony_ci			MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2		0x1d0
23962306a36Sopenharmony_ci			MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3		0x1d0
24062306a36Sopenharmony_ci			MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4		0x1d0
24162306a36Sopenharmony_ci			MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5		0x1d0
24262306a36Sopenharmony_ci			MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6		0x1d0
24362306a36Sopenharmony_ci			MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7		0x1d0
24462306a36Sopenharmony_ci			MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE		0x190
24562306a36Sopenharmony_ci		>;
24662306a36Sopenharmony_ci	};
24762306a36Sopenharmony_ci
24862306a36Sopenharmony_ci	pinctrl_usdhc3_100mhz: usdhc3-100mhzgrp {
24962306a36Sopenharmony_ci		fsl,pins = <
25062306a36Sopenharmony_ci			MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK		0x194
25162306a36Sopenharmony_ci			MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD		0x1d4
25262306a36Sopenharmony_ci			MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0		0x1d4
25362306a36Sopenharmony_ci			MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1		0x1d4
25462306a36Sopenharmony_ci			MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2		0x1d4
25562306a36Sopenharmony_ci			MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3		0x1d4
25662306a36Sopenharmony_ci			MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4		0x1d4
25762306a36Sopenharmony_ci			MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5		0x1d4
25862306a36Sopenharmony_ci			MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6		0x1d4
25962306a36Sopenharmony_ci			MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7		0x1d4
26062306a36Sopenharmony_ci			MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE		0x194
26162306a36Sopenharmony_ci		>;
26262306a36Sopenharmony_ci	};
26362306a36Sopenharmony_ci
26462306a36Sopenharmony_ci	pinctrl_usdhc3_200mhz: usdhc3-200mhzgrp {
26562306a36Sopenharmony_ci		fsl,pins = <
26662306a36Sopenharmony_ci			MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK		0x196
26762306a36Sopenharmony_ci			MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD		0x1d6
26862306a36Sopenharmony_ci			MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0		0x1d6
26962306a36Sopenharmony_ci			MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1		0x1d6
27062306a36Sopenharmony_ci			MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2		0x1d6
27162306a36Sopenharmony_ci			MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3		0x1d6
27262306a36Sopenharmony_ci			MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4		0x1d6
27362306a36Sopenharmony_ci			MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5		0x1d6
27462306a36Sopenharmony_ci			MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6		0x1d6
27562306a36Sopenharmony_ci			MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7		0x1d6
27662306a36Sopenharmony_ci			MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE		0x196
27762306a36Sopenharmony_ci		>;
27862306a36Sopenharmony_ci	};
27962306a36Sopenharmony_ci
28062306a36Sopenharmony_ci	pinctrl_wdog: wdoggrp {
28162306a36Sopenharmony_ci		fsl,pins = <
28262306a36Sopenharmony_ci			MX8MP_IOMUXC_GPIO1_IO02__WDOG1_WDOG_B		0xc6
28362306a36Sopenharmony_ci		>;
28462306a36Sopenharmony_ci	};
28562306a36Sopenharmony_ci};
286