1// SPDX-License-Identifier: GPL-2.0+
2/*
3 * Copyright 2019~2020, 2022 NXP
4 */
5
6/delete-node/ &enet1_lpcg;
7/delete-node/ &fec2;
8
9&conn_subsys {
10	conn_enet0_root_clk: clock-conn-enet0-root {
11		compatible = "fixed-clock";
12		#clock-cells = <0>;
13		clock-frequency = <250000000>;
14		clock-output-names = "conn_enet0_root_clk";
15	};
16
17	eqos: ethernet@5b050000 {
18		compatible = "nxp,imx8dxl-dwmac-eqos", "snps,dwmac-5.10a";
19		reg = <0x5b050000 0x10000>;
20		interrupt-parent = <&gic>;
21		interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>,
22			     <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>;
23		interrupt-names = "eth_wake_irq", "macirq";
24		clocks = <&eqos_lpcg IMX_LPCG_CLK_4>,
25			 <&eqos_lpcg IMX_LPCG_CLK_6>,
26			 <&eqos_lpcg IMX_LPCG_CLK_0>,
27			 <&eqos_lpcg IMX_LPCG_CLK_5>,
28			 <&eqos_lpcg IMX_LPCG_CLK_2>;
29		clock-names = "stmmaceth", "pclk", "ptp_ref", "tx", "mem";
30		assigned-clocks = <&clk IMX_SC_R_ENET_1 IMX_SC_PM_CLK_PER>;
31		assigned-clock-rates = <125000000>;
32		power-domains = <&pd IMX_SC_R_ENET_1>;
33		status = "disabled";
34	};
35
36	usbotg2: usb@5b0e0000 {
37		compatible = "fsl,imx8dxl-usb", "fsl,imx7ulp-usb", "fsl,imx6ul-usb";
38		reg = <0x5b0e0000 0x200>;
39		interrupt-parent = <&gic>;
40		interrupts = <GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>;
41		fsl,usbphy = <&usbphy2>;
42		fsl,usbmisc = <&usbmisc2 0>;
43		/*
44		 * usbotg1 and usbotg2 share one clcok.
45		 * scu firmware disables the access to the clock and keeps
46		 * it always on in case other core (M4) uses one of these.
47		 */
48		clocks = <&clk_dummy>;
49		ahb-burst-config = <0x0>;
50		tx-burst-size-dword = <0x10>;
51		rx-burst-size-dword = <0x10>;
52		power-domains = <&pd IMX_SC_R_USB_1>;
53		status = "disabled";
54
55		clk_dummy: clock-dummy {
56			compatible = "fixed-clock";
57			#clock-cells = <0>;
58			clock-frequency = <0>;
59			clock-output-names = "clk_dummy";
60		};
61	};
62
63	usbmisc2: usbmisc@5b0e0200 {
64		#index-cells = <1>;
65		compatible = "fsl,imx7ulp-usbmisc", "fsl,imx7d-usbmisc", "fsl,imx6q-usbmisc";
66		reg = <0x5b0e0200 0x200>;
67	};
68
69	usbphy2: usbphy@5b110000 {
70		compatible = "fsl,imx8dxl-usbphy", "fsl,imx7ulp-usbphy";
71		reg = <0x5b110000 0x1000>;
72		clocks = <&usb2_2_lpcg IMX_LPCG_CLK_7>;
73		power-domains = <&pd IMX_SC_R_USB_1_PHY>;
74		status = "disabled";
75	};
76
77	eqos_lpcg: clock-controller@5b240000 {
78		compatible = "fsl,imx8qxp-lpcg";
79		reg = <0x5b240000 0x10000>;
80		#clock-cells = <1>;
81		clocks = <&conn_enet0_root_clk>,
82			 <&conn_axi_clk>,
83			 <&conn_axi_clk>,
84			 <&clk IMX_SC_R_ENET_1 IMX_SC_PM_CLK_PER>,
85			 <&conn_ipg_clk>;
86		clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_2>,
87				<IMX_LPCG_CLK_4>, <IMX_LPCG_CLK_5>,
88				<IMX_LPCG_CLK_6>;
89		clock-output-names = "eqos_ptp",
90				     "eqos_mem_clk",
91				     "eqos_aclk",
92				     "eqos_clk",
93				     "eqos_csr_clk";
94		power-domains = <&pd IMX_SC_R_ENET_1>;
95	};
96
97	usb2_2_lpcg: clock-controller@5b280000 {
98		compatible = "fsl,imx8qxp-lpcg";
99		reg = <0x5b280000 0x10000>;
100		#clock-cells = <1>;
101		clock-indices = <IMX_LPCG_CLK_7>;
102		clocks = <&conn_ipg_clk>;
103		clock-output-names = "usboh3_2_phy_ipg_clk";
104		power-domains = <&pd IMX_SC_R_USB_1_PHY>;
105	};
106
107};
108
109&enet0_lpcg {
110	clocks = <&conn_enet0_root_clk>,
111		 <&conn_enet0_root_clk>,
112		 <&conn_axi_clk>,
113		 <&clk IMX_SC_R_ENET_0 IMX_SC_C_TXCLK>,
114		 <&conn_ipg_clk>,
115		 <&conn_ipg_clk>;
116};
117
118&fec1 {
119	compatible = "fsl,imx8qm-fec";
120	interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>,
121		     <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>,
122		     <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>,
123		     <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>;
124	assigned-clocks = <&clk IMX_SC_R_ENET_0 IMX_SC_C_CLKDIV>;
125	assigned-clock-rates = <125000000>;
126};
127
128&usdhc1 {
129	compatible = "fsl,imx8dxl-usdhc", "fsl,imx8qxp-usdhc";
130	interrupts = <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
131};
132
133&usdhc2 {
134	compatible = "fsl,imx8dxl-usdhc", "fsl,imx8qxp-usdhc";
135	interrupts = <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>;
136};
137
138&usdhc3 {
139	compatible = "fsl,imx8dxl-usdhc", "fsl,imx8qxp-usdhc";
140	interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
141};
142
143&usbotg1 {
144	interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>;
145	/*
146	 * usbotg1 and usbotg2 share one clock
147	 * scfw disable clock access and keep it always on
148	 * in case other core (M4) use one of these.
149	 */
150	clocks = <&clk_dummy>;
151};
152