xref: /openbmc/linux/arch/arm64/boot/dts/freescale/imx8mp-debix-som-a.dtsi (revision c900529f3d9161bfde5cca0754f83b4d3c3e0220)
1*21baf0b4SMarco Felsch// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2*21baf0b4SMarco Felsch/*
3*21baf0b4SMarco Felsch * Copyright 2019 NXP
4*21baf0b4SMarco Felsch * Copyright (C) 2023 Pengutronix, Marco Felsch <kernel@pengutronix.de>
5*21baf0b4SMarco Felsch */
6*21baf0b4SMarco Felsch
7*21baf0b4SMarco Felsch#include "imx8mp.dtsi"
8*21baf0b4SMarco Felsch
9*21baf0b4SMarco Felsch/ {
10*21baf0b4SMarco Felsch	model = "Polyhex i.MX8MPlus Debix SOM A";
11*21baf0b4SMarco Felsch	compatible = "polyhex,imx8mp-debix-som-a", "fsl,imx8mp";
12*21baf0b4SMarco Felsch
13*21baf0b4SMarco Felsch	reg_usdhc2_vmmc: regulator-usdhc2 {
14*21baf0b4SMarco Felsch		compatible = "regulator-fixed";
15*21baf0b4SMarco Felsch		pinctrl-names = "default";
16*21baf0b4SMarco Felsch		pinctrl-0 = <&pinctrl_reg_usdhc2_vmmc>;
17*21baf0b4SMarco Felsch		regulator-name = "VSD_3V3";
18*21baf0b4SMarco Felsch		regulator-min-microvolt = <3300000>;
19*21baf0b4SMarco Felsch		regulator-max-microvolt = <3300000>;
20*21baf0b4SMarco Felsch		gpio = <&gpio2 19 GPIO_ACTIVE_HIGH>;
21*21baf0b4SMarco Felsch		enable-active-high;
22*21baf0b4SMarco Felsch	};
23*21baf0b4SMarco Felsch};
24*21baf0b4SMarco Felsch
25*21baf0b4SMarco Felsch&A53_0 {
26*21baf0b4SMarco Felsch	cpu-supply = <&buck2>;
27*21baf0b4SMarco Felsch};
28*21baf0b4SMarco Felsch
29*21baf0b4SMarco Felsch&A53_1 {
30*21baf0b4SMarco Felsch	cpu-supply = <&buck2>;
31*21baf0b4SMarco Felsch};
32*21baf0b4SMarco Felsch
33*21baf0b4SMarco Felsch&A53_2 {
34*21baf0b4SMarco Felsch	cpu-supply = <&buck2>;
35*21baf0b4SMarco Felsch};
36*21baf0b4SMarco Felsch
37*21baf0b4SMarco Felsch&A53_3 {
38*21baf0b4SMarco Felsch	cpu-supply = <&buck2>;
39*21baf0b4SMarco Felsch};
40*21baf0b4SMarco Felsch
41*21baf0b4SMarco Felsch&i2c1 {
42*21baf0b4SMarco Felsch	clock-frequency = <400000>;
43*21baf0b4SMarco Felsch	pinctrl-names = "default";
44*21baf0b4SMarco Felsch	pinctrl-0 = <&pinctrl_i2c1>;
45*21baf0b4SMarco Felsch	status = "okay";
46*21baf0b4SMarco Felsch
47*21baf0b4SMarco Felsch	pmic@25 {
48*21baf0b4SMarco Felsch		compatible = "nxp,pca9450c";
49*21baf0b4SMarco Felsch		reg = <0x25>;
50*21baf0b4SMarco Felsch		pinctrl-names = "default";
51*21baf0b4SMarco Felsch		pinctrl-0 = <&pinctrl_pmic>;
52*21baf0b4SMarco Felsch		interrupt-parent = <&gpio1>;
53*21baf0b4SMarco Felsch		interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
54*21baf0b4SMarco Felsch
55*21baf0b4SMarco Felsch		regulators {
56*21baf0b4SMarco Felsch			buck1: BUCK1 {
57*21baf0b4SMarco Felsch				regulator-name = "BUCK1";
58*21baf0b4SMarco Felsch				regulator-min-microvolt = <600000>;
59*21baf0b4SMarco Felsch				regulator-max-microvolt = <2187500>;
60*21baf0b4SMarco Felsch				regulator-boot-on;
61*21baf0b4SMarco Felsch				regulator-always-on;
62*21baf0b4SMarco Felsch				regulator-ramp-delay = <3125>;
63*21baf0b4SMarco Felsch			};
64*21baf0b4SMarco Felsch
65*21baf0b4SMarco Felsch			buck2: BUCK2 {
66*21baf0b4SMarco Felsch				regulator-name = "BUCK2";
67*21baf0b4SMarco Felsch				regulator-min-microvolt = <600000>;
68*21baf0b4SMarco Felsch				regulator-max-microvolt = <2187500>;
69*21baf0b4SMarco Felsch				regulator-boot-on;
70*21baf0b4SMarco Felsch				regulator-always-on;
71*21baf0b4SMarco Felsch				regulator-ramp-delay = <3125>;
72*21baf0b4SMarco Felsch				nxp,dvs-run-voltage = <950000>;
73*21baf0b4SMarco Felsch				nxp,dvs-standby-voltage = <850000>;
74*21baf0b4SMarco Felsch			};
75*21baf0b4SMarco Felsch
76*21baf0b4SMarco Felsch			buck4: BUCK4 {
77*21baf0b4SMarco Felsch				regulator-name = "BUCK4";
78*21baf0b4SMarco Felsch				regulator-min-microvolt = <600000>;
79*21baf0b4SMarco Felsch				regulator-max-microvolt = <3400000>;
80*21baf0b4SMarco Felsch				regulator-boot-on;
81*21baf0b4SMarco Felsch				regulator-always-on;
82*21baf0b4SMarco Felsch			};
83*21baf0b4SMarco Felsch
84*21baf0b4SMarco Felsch			buck5: BUCK5 {
85*21baf0b4SMarco Felsch				regulator-name = "BUCK5";
86*21baf0b4SMarco Felsch				regulator-min-microvolt = <600000>;
87*21baf0b4SMarco Felsch				regulator-max-microvolt = <3400000>;
88*21baf0b4SMarco Felsch				regulator-boot-on;
89*21baf0b4SMarco Felsch				regulator-always-on;
90*21baf0b4SMarco Felsch			};
91*21baf0b4SMarco Felsch
92*21baf0b4SMarco Felsch			buck6: BUCK6 {
93*21baf0b4SMarco Felsch				regulator-name = "BUCK6";
94*21baf0b4SMarco Felsch				regulator-min-microvolt = <600000>;
95*21baf0b4SMarco Felsch				regulator-max-microvolt = <3400000>;
96*21baf0b4SMarco Felsch				regulator-boot-on;
97*21baf0b4SMarco Felsch				regulator-always-on;
98*21baf0b4SMarco Felsch			};
99*21baf0b4SMarco Felsch
100*21baf0b4SMarco Felsch			ldo1: LDO1 {
101*21baf0b4SMarco Felsch				regulator-name = "LDO1";
102*21baf0b4SMarco Felsch				regulator-min-microvolt = <1600000>;
103*21baf0b4SMarco Felsch				regulator-max-microvolt = <3300000>;
104*21baf0b4SMarco Felsch				regulator-boot-on;
105*21baf0b4SMarco Felsch				regulator-always-on;
106*21baf0b4SMarco Felsch			};
107*21baf0b4SMarco Felsch
108*21baf0b4SMarco Felsch			ldo2: LDO2 {
109*21baf0b4SMarco Felsch				regulator-name = "LDO2";
110*21baf0b4SMarco Felsch				regulator-min-microvolt = <800000>;
111*21baf0b4SMarco Felsch				regulator-max-microvolt = <1150000>;
112*21baf0b4SMarco Felsch				regulator-boot-on;
113*21baf0b4SMarco Felsch				regulator-always-on;
114*21baf0b4SMarco Felsch			};
115*21baf0b4SMarco Felsch
116*21baf0b4SMarco Felsch			ldo3: LDO3 {
117*21baf0b4SMarco Felsch				regulator-name = "LDO3";
118*21baf0b4SMarco Felsch				regulator-min-microvolt = <800000>;
119*21baf0b4SMarco Felsch				regulator-max-microvolt = <3300000>;
120*21baf0b4SMarco Felsch				regulator-boot-on;
121*21baf0b4SMarco Felsch				regulator-always-on;
122*21baf0b4SMarco Felsch			};
123*21baf0b4SMarco Felsch
124*21baf0b4SMarco Felsch			ldo4: LDO4 {
125*21baf0b4SMarco Felsch				regulator-name = "LDO4";
126*21baf0b4SMarco Felsch				regulator-min-microvolt = <800000>;
127*21baf0b4SMarco Felsch				regulator-max-microvolt = <3300000>;
128*21baf0b4SMarco Felsch				regulator-boot-on;
129*21baf0b4SMarco Felsch				regulator-always-on;
130*21baf0b4SMarco Felsch			};
131*21baf0b4SMarco Felsch
132*21baf0b4SMarco Felsch			ldo5: LDO5 {
133*21baf0b4SMarco Felsch				regulator-name = "LDO5";
134*21baf0b4SMarco Felsch				regulator-min-microvolt = <1800000>;
135*21baf0b4SMarco Felsch				regulator-max-microvolt = <3300000>;
136*21baf0b4SMarco Felsch				regulator-boot-on;
137*21baf0b4SMarco Felsch				regulator-always-on;
138*21baf0b4SMarco Felsch			};
139*21baf0b4SMarco Felsch		};
140*21baf0b4SMarco Felsch	};
141*21baf0b4SMarco Felsch};
142*21baf0b4SMarco Felsch
143*21baf0b4SMarco Felsch&i2c4 {
144*21baf0b4SMarco Felsch	clock-frequency = <400000>;
145*21baf0b4SMarco Felsch	pinctrl-names = "default";
146*21baf0b4SMarco Felsch	pinctrl-0 = <&pinctrl_i2c4>;
147*21baf0b4SMarco Felsch	status = "okay";
148*21baf0b4SMarco Felsch
149*21baf0b4SMarco Felsch	adc@48 {
150*21baf0b4SMarco Felsch		 compatible = "ti,ads1115";
151*21baf0b4SMarco Felsch		 reg = <0x48>;
152*21baf0b4SMarco Felsch		 #address-cells = <1>;
153*21baf0b4SMarco Felsch		 #size-cells = <0>;
154*21baf0b4SMarco Felsch
155*21baf0b4SMarco Felsch		 channel@4 {
156*21baf0b4SMarco Felsch			 reg = <4>;
157*21baf0b4SMarco Felsch			 ti,gain = <1>;
158*21baf0b4SMarco Felsch			 ti,datarate = <7>;
159*21baf0b4SMarco Felsch		 };
160*21baf0b4SMarco Felsch
161*21baf0b4SMarco Felsch		 channel@5 {
162*21baf0b4SMarco Felsch			 reg = <5>;
163*21baf0b4SMarco Felsch			 ti,gain = <1>;
164*21baf0b4SMarco Felsch			 ti,datarate = <7>;
165*21baf0b4SMarco Felsch		 };
166*21baf0b4SMarco Felsch
167*21baf0b4SMarco Felsch		 channel@6 {
168*21baf0b4SMarco Felsch			 reg = <6>;
169*21baf0b4SMarco Felsch			 ti,gain = <1>;
170*21baf0b4SMarco Felsch			 ti,datarate = <7>;
171*21baf0b4SMarco Felsch		 };
172*21baf0b4SMarco Felsch
173*21baf0b4SMarco Felsch		 channel@7 {
174*21baf0b4SMarco Felsch			 reg = <7>;
175*21baf0b4SMarco Felsch			 ti,gain = <1>;
176*21baf0b4SMarco Felsch			 ti,datarate = <7>;
177*21baf0b4SMarco Felsch		 };
178*21baf0b4SMarco Felsch	 };
179*21baf0b4SMarco Felsch};
180*21baf0b4SMarco Felsch
181*21baf0b4SMarco Felsch&snvs_pwrkey {
182*21baf0b4SMarco Felsch	status = "okay";
183*21baf0b4SMarco Felsch};
184*21baf0b4SMarco Felsch
185*21baf0b4SMarco Felsch/* eMMC */
186*21baf0b4SMarco Felsch&usdhc3 {
187*21baf0b4SMarco Felsch	pinctrl-names = "default", "state_100mhz", "state_200mhz";
188*21baf0b4SMarco Felsch	pinctrl-0 = <&pinctrl_usdhc3>;
189*21baf0b4SMarco Felsch	pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
190*21baf0b4SMarco Felsch	pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
191*21baf0b4SMarco Felsch	assigned-clocks = <&clk IMX8MP_CLK_USDHC3>;
192*21baf0b4SMarco Felsch	assigned-clock-rates = <400000000>;
193*21baf0b4SMarco Felsch	bus-width = <8>;
194*21baf0b4SMarco Felsch	non-removable;
195*21baf0b4SMarco Felsch	status = "okay";
196*21baf0b4SMarco Felsch};
197*21baf0b4SMarco Felsch
198*21baf0b4SMarco Felsch&wdog1 {
199*21baf0b4SMarco Felsch	pinctrl-names = "default";
200*21baf0b4SMarco Felsch	pinctrl-0 = <&pinctrl_wdog>;
201*21baf0b4SMarco Felsch	fsl,ext-reset-output;
202*21baf0b4SMarco Felsch	status = "okay";
203*21baf0b4SMarco Felsch};
204*21baf0b4SMarco Felsch
205*21baf0b4SMarco Felsch&iomuxc {
206*21baf0b4SMarco Felsch	pinctrl_i2c1: i2c1grp {
207*21baf0b4SMarco Felsch		fsl,pins = <
208*21baf0b4SMarco Felsch			MX8MP_IOMUXC_I2C1_SCL__I2C1_SCL			0x400001c2
209*21baf0b4SMarco Felsch			MX8MP_IOMUXC_I2C1_SDA__I2C1_SDA			0x400001c2
210*21baf0b4SMarco Felsch		>;
211*21baf0b4SMarco Felsch	};
212*21baf0b4SMarco Felsch
213*21baf0b4SMarco Felsch	pinctrl_i2c4: i2c4grp {
214*21baf0b4SMarco Felsch		fsl,pins = <
215*21baf0b4SMarco Felsch			MX8MP_IOMUXC_I2C4_SCL__I2C4_SCL			0x400001c3
216*21baf0b4SMarco Felsch			MX8MP_IOMUXC_I2C4_SDA__I2C4_SDA			0x400001c3
217*21baf0b4SMarco Felsch		>;
218*21baf0b4SMarco Felsch	};
219*21baf0b4SMarco Felsch
220*21baf0b4SMarco Felsch	pinctrl_pmic: pmicgrp {
221*21baf0b4SMarco Felsch		fsl,pins = <
222*21baf0b4SMarco Felsch			MX8MP_IOMUXC_GPIO1_IO03__GPIO1_IO03		0x41
223*21baf0b4SMarco Felsch		>;
224*21baf0b4SMarco Felsch	};
225*21baf0b4SMarco Felsch
226*21baf0b4SMarco Felsch	pinctrl_reg_usdhc2_vmmc: regusdhc2vmmcgrp {
227*21baf0b4SMarco Felsch		fsl,pins = <
228*21baf0b4SMarco Felsch			MX8MP_IOMUXC_SD2_RESET_B__GPIO2_IO19		0x41
229*21baf0b4SMarco Felsch		>;
230*21baf0b4SMarco Felsch	};
231*21baf0b4SMarco Felsch
232*21baf0b4SMarco Felsch	pinctrl_usdhc3: usdhc3grp {
233*21baf0b4SMarco Felsch		fsl,pins = <
234*21baf0b4SMarco Felsch			MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK		0x190
235*21baf0b4SMarco Felsch			MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD		0x1d0
236*21baf0b4SMarco Felsch			MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0		0x1d0
237*21baf0b4SMarco Felsch			MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1		0x1d0
238*21baf0b4SMarco Felsch			MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2		0x1d0
239*21baf0b4SMarco Felsch			MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3		0x1d0
240*21baf0b4SMarco Felsch			MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4		0x1d0
241*21baf0b4SMarco Felsch			MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5		0x1d0
242*21baf0b4SMarco Felsch			MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6		0x1d0
243*21baf0b4SMarco Felsch			MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7		0x1d0
244*21baf0b4SMarco Felsch			MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE		0x190
245*21baf0b4SMarco Felsch		>;
246*21baf0b4SMarco Felsch	};
247*21baf0b4SMarco Felsch
248*21baf0b4SMarco Felsch	pinctrl_usdhc3_100mhz: usdhc3-100mhzgrp {
249*21baf0b4SMarco Felsch		fsl,pins = <
250*21baf0b4SMarco Felsch			MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK		0x194
251*21baf0b4SMarco Felsch			MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD		0x1d4
252*21baf0b4SMarco Felsch			MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0		0x1d4
253*21baf0b4SMarco Felsch			MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1		0x1d4
254*21baf0b4SMarco Felsch			MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2		0x1d4
255*21baf0b4SMarco Felsch			MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3		0x1d4
256*21baf0b4SMarco Felsch			MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4		0x1d4
257*21baf0b4SMarco Felsch			MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5		0x1d4
258*21baf0b4SMarco Felsch			MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6		0x1d4
259*21baf0b4SMarco Felsch			MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7		0x1d4
260*21baf0b4SMarco Felsch			MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE		0x194
261*21baf0b4SMarco Felsch		>;
262*21baf0b4SMarco Felsch	};
263*21baf0b4SMarco Felsch
264*21baf0b4SMarco Felsch	pinctrl_usdhc3_200mhz: usdhc3-200mhzgrp {
265*21baf0b4SMarco Felsch		fsl,pins = <
266*21baf0b4SMarco Felsch			MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK		0x196
267*21baf0b4SMarco Felsch			MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD		0x1d6
268*21baf0b4SMarco Felsch			MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0		0x1d6
269*21baf0b4SMarco Felsch			MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1		0x1d6
270*21baf0b4SMarco Felsch			MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2		0x1d6
271*21baf0b4SMarco Felsch			MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3		0x1d6
272*21baf0b4SMarco Felsch			MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4		0x1d6
273*21baf0b4SMarco Felsch			MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5		0x1d6
274*21baf0b4SMarco Felsch			MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6		0x1d6
275*21baf0b4SMarco Felsch			MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7		0x1d6
276*21baf0b4SMarco Felsch			MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE		0x196
277*21baf0b4SMarco Felsch		>;
278*21baf0b4SMarco Felsch	};
279*21baf0b4SMarco Felsch
280*21baf0b4SMarco Felsch	pinctrl_wdog: wdoggrp {
281*21baf0b4SMarco Felsch		fsl,pins = <
282*21baf0b4SMarco Felsch			MX8MP_IOMUXC_GPIO1_IO02__WDOG1_WDOG_B		0xc6
283*21baf0b4SMarco Felsch		>;
284*21baf0b4SMarco Felsch	};
285*21baf0b4SMarco Felsch};
286