xref: /openbmc/linux/scripts/dtc/include-prefixes/arm64/freescale/imx8mq-nitrogen-som.dtsi (revision 03ab8e6297acd1bc0eedaa050e2a1635c576fd11)
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 = <&reg_arm_dram>;
42117c2509SLucas Stach};
43117c2509SLucas Stach
44117c2509SLucas Stach&A53_1 {
45117c2509SLucas Stach	cpu-supply = <&reg_arm_dram>;
46117c2509SLucas Stach};
47117c2509SLucas Stach
48117c2509SLucas Stach&A53_2 {
49117c2509SLucas Stach	cpu-supply = <&reg_arm_dram>;
50117c2509SLucas Stach};
51117c2509SLucas Stach
52117c2509SLucas Stach&A53_3 {
53117c2509SLucas Stach	cpu-supply = <&reg_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 = <&ethphy0>;
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 = <&reg_soc_gpu_vpu>;
149117c2509SLucas Stach};
150117c2509SLucas Stach
151117c2509SLucas Stach&pgc_vpu {
152117c2509SLucas Stach	power-supply = <&reg_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 = <&reg_1p8v>;
169117c2509SLucas Stach	vmmc-supply = <&reg_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