xref: /linux/arch/arm64/boot/dts/amlogic/amlogic-c3.dtsi (revision 520b792e83171efc8ec0b004412b44dabc044de0)
102310be6SXianwei Zhao// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
202310be6SXianwei Zhao/*
302310be6SXianwei Zhao * Copyright (c) 2021 Amlogic, Inc. All rights reserved.
402310be6SXianwei Zhao */
502310be6SXianwei Zhao
602310be6SXianwei Zhao#include <dt-bindings/interrupt-controller/irq.h>
702310be6SXianwei Zhao#include <dt-bindings/interrupt-controller/arm-gic.h>
802310be6SXianwei Zhao#include <dt-bindings/gpio/gpio.h>
91e75c227SZelong Dong#include <dt-bindings/reset/amlogic,c3-reset.h>
10520b792eSXianwei Zhao#include <dt-bindings/clock/amlogic,c3-pll-clkc.h>
11520b792eSXianwei Zhao#include <dt-bindings/clock/amlogic,c3-scmi-clkc.h>
12520b792eSXianwei Zhao#include <dt-bindings/clock/amlogic,c3-peripherals-clkc.h>
13520b792eSXianwei Zhao#include <dt-bindings/power/amlogic,c3-pwrc.h>
14520b792eSXianwei Zhao#include <dt-bindings/gpio/amlogic-c3-gpio.h>
1502310be6SXianwei Zhao
1602310be6SXianwei Zhao/ {
1702310be6SXianwei Zhao	cpus {
1802310be6SXianwei Zhao		#address-cells = <2>;
1902310be6SXianwei Zhao		#size-cells = <0>;
2002310be6SXianwei Zhao
2102310be6SXianwei Zhao		cpu0: cpu@0 {
2202310be6SXianwei Zhao			device_type = "cpu";
2302310be6SXianwei Zhao			compatible = "arm,cortex-a35";
2402310be6SXianwei Zhao			reg = <0x0 0x0>;
2502310be6SXianwei Zhao			enable-method = "psci";
2602310be6SXianwei Zhao		};
2702310be6SXianwei Zhao
2802310be6SXianwei Zhao		cpu1: cpu@1 {
2902310be6SXianwei Zhao			device_type = "cpu";
3002310be6SXianwei Zhao			compatible = "arm,cortex-a35";
3102310be6SXianwei Zhao			reg = <0x0 0x1>;
3202310be6SXianwei Zhao			enable-method = "psci";
3302310be6SXianwei Zhao		};
3402310be6SXianwei Zhao	};
3502310be6SXianwei Zhao
3602310be6SXianwei Zhao	timer {
3702310be6SXianwei Zhao		compatible = "arm,armv8-timer";
3802310be6SXianwei Zhao		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
3902310be6SXianwei Zhao			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
4002310be6SXianwei Zhao			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
4102310be6SXianwei Zhao			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
4202310be6SXianwei Zhao	};
4302310be6SXianwei Zhao
4402310be6SXianwei Zhao	psci {
4502310be6SXianwei Zhao		compatible = "arm,psci-1.0";
4602310be6SXianwei Zhao		method = "smc";
4702310be6SXianwei Zhao	};
4802310be6SXianwei Zhao
4902310be6SXianwei Zhao	xtal: xtal-clk {
5002310be6SXianwei Zhao		compatible = "fixed-clock";
5102310be6SXianwei Zhao		clock-frequency = <24000000>;
5202310be6SXianwei Zhao		clock-output-names = "xtal";
5302310be6SXianwei Zhao		#clock-cells = <0>;
5402310be6SXianwei Zhao	};
5502310be6SXianwei Zhao
5622a9b2a4SXianwei Zhao	sm: secure-monitor {
5722a9b2a4SXianwei Zhao		compatible = "amlogic,meson-gxbb-sm";
5822a9b2a4SXianwei Zhao
5922a9b2a4SXianwei Zhao		pwrc: power-controller {
6022a9b2a4SXianwei Zhao			compatible = "amlogic,c3-pwrc";
6122a9b2a4SXianwei Zhao			#power-domain-cells = <1>;
6222a9b2a4SXianwei Zhao		};
6322a9b2a4SXianwei Zhao	};
6422a9b2a4SXianwei Zhao
65520b792eSXianwei Zhao	sram {
66520b792eSXianwei Zhao		compatible = "mmio-sram";
67520b792eSXianwei Zhao		reg = <0x0 0x07f50e00 0x0 0x100>;
68520b792eSXianwei Zhao		#address-cells = <1>;
69520b792eSXianwei Zhao		#size-cells = <1>;
70520b792eSXianwei Zhao		ranges = <0 0x0 0x07f50e00 0x100>;
71520b792eSXianwei Zhao
72520b792eSXianwei Zhao		scmi_shmem: sram@0 {
73520b792eSXianwei Zhao			compatible = "arm,scmi-shmem";
74520b792eSXianwei Zhao			reg = <0x0 0x100>;
75520b792eSXianwei Zhao		};
76520b792eSXianwei Zhao	};
77520b792eSXianwei Zhao
78520b792eSXianwei Zhao	firmware {
79520b792eSXianwei Zhao		scmi: scmi {
80520b792eSXianwei Zhao			compatible = "arm,scmi-smc";
81520b792eSXianwei Zhao			arm,smc-id = <0x820000C1>;
82520b792eSXianwei Zhao			shmem = <&scmi_shmem>;
83520b792eSXianwei Zhao			#address-cells = <1>;
84520b792eSXianwei Zhao			#size-cells = <0>;
85520b792eSXianwei Zhao
86520b792eSXianwei Zhao			scmi_clk: protocol@14 {
87520b792eSXianwei Zhao				reg = <0x14>;
88520b792eSXianwei Zhao				#clock-cells = <1>;
89520b792eSXianwei Zhao			};
90520b792eSXianwei Zhao		};
91520b792eSXianwei Zhao	};
92520b792eSXianwei Zhao
9302310be6SXianwei Zhao	soc {
9402310be6SXianwei Zhao		compatible = "simple-bus";
9502310be6SXianwei Zhao		#address-cells = <2>;
9602310be6SXianwei Zhao		#size-cells = <2>;
9702310be6SXianwei Zhao		ranges;
9802310be6SXianwei Zhao
9902310be6SXianwei Zhao		gic: interrupt-controller@fff01000 {
10002310be6SXianwei Zhao			compatible = "arm,gic-400";
10102310be6SXianwei Zhao			#interrupt-cells = <3>;
10202310be6SXianwei Zhao			#address-cells = <0>;
10302310be6SXianwei Zhao			interrupt-controller;
10402310be6SXianwei Zhao			reg = <0x0 0xfff01000 0 0x1000>,
10502310be6SXianwei Zhao			      <0x0 0xfff02000 0 0x2000>,
10602310be6SXianwei Zhao			      <0x0 0xfff04000 0 0x2000>,
10702310be6SXianwei Zhao			      <0x0 0xfff06000 0 0x2000>;
10802310be6SXianwei Zhao			interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
10902310be6SXianwei Zhao		};
11002310be6SXianwei Zhao
11102310be6SXianwei Zhao		apb4: bus@fe000000 {
11202310be6SXianwei Zhao			compatible = "simple-bus";
11302310be6SXianwei Zhao			reg = <0x0 0xfe000000 0x0 0x480000>;
11402310be6SXianwei Zhao			#address-cells = <2>;
11502310be6SXianwei Zhao			#size-cells = <2>;
11602310be6SXianwei Zhao			ranges = <0x0 0x0 0x0 0xfe000000 0x0 0x480000>;
11702310be6SXianwei Zhao
118520b792eSXianwei Zhao			clkc_periphs: clock-controller@0 {
119520b792eSXianwei Zhao				compatible = "amlogic,c3-peripherals-clkc";
120520b792eSXianwei Zhao				reg = <0x0 0x0 0x0 0x49c>;
121520b792eSXianwei Zhao				#clock-cells = <1>;
122520b792eSXianwei Zhao				clocks = <&xtal>,
123520b792eSXianwei Zhao					 <&scmi_clk CLKID_OSC>,
124520b792eSXianwei Zhao					 <&scmi_clk CLKID_FIXED_PLL_OSC>,
125520b792eSXianwei Zhao					 <&clkc_pll CLKID_FCLK_DIV2>,
126520b792eSXianwei Zhao					 <&clkc_pll CLKID_FCLK_DIV2P5>,
127520b792eSXianwei Zhao					 <&clkc_pll CLKID_FCLK_DIV3>,
128520b792eSXianwei Zhao					 <&clkc_pll CLKID_FCLK_DIV4>,
129520b792eSXianwei Zhao					 <&clkc_pll CLKID_FCLK_DIV5>,
130520b792eSXianwei Zhao					 <&clkc_pll CLKID_FCLK_DIV7>,
131520b792eSXianwei Zhao					 <&clkc_pll CLKID_GP0_PLL>,
132520b792eSXianwei Zhao					 <&scmi_clk CLKID_GP1_PLL_OSC>,
133520b792eSXianwei Zhao					 <&clkc_pll CLKID_HIFI_PLL>,
134520b792eSXianwei Zhao					 <&scmi_clk CLKID_SYS_CLK>,
135520b792eSXianwei Zhao					 <&scmi_clk CLKID_AXI_CLK>,
136520b792eSXianwei Zhao					 <&scmi_clk CLKID_SYS_PLL_DIV16>,
137520b792eSXianwei Zhao					 <&scmi_clk CLKID_CPU_CLK_DIV16>;
138520b792eSXianwei Zhao				clock-names = "xtal_24m",
139520b792eSXianwei Zhao					      "oscin",
140520b792eSXianwei Zhao					      "fix",
141520b792eSXianwei Zhao					      "fdiv2",
142520b792eSXianwei Zhao					      "fdiv2p5",
143520b792eSXianwei Zhao					      "fdiv3",
144520b792eSXianwei Zhao					      "fdiv4",
145520b792eSXianwei Zhao					      "fdiv5",
146520b792eSXianwei Zhao					      "fdiv7",
147520b792eSXianwei Zhao					      "gp0",
148520b792eSXianwei Zhao					      "gp1",
149520b792eSXianwei Zhao					      "hifi",
150520b792eSXianwei Zhao					      "sysclk",
151520b792eSXianwei Zhao					      "axiclk",
152520b792eSXianwei Zhao					      "sysplldiv16",
153520b792eSXianwei Zhao					      "cpudiv16";
154520b792eSXianwei Zhao			};
155520b792eSXianwei Zhao
1561e75c227SZelong Dong			reset: reset-controller@2000 {
1571e75c227SZelong Dong				compatible = "amlogic,c3-reset";
1581e75c227SZelong Dong				reg = <0x0 0x2000 0x0 0x98>;
1591e75c227SZelong Dong				#reset-cells = <1>;
1601e75c227SZelong Dong			};
1611e75c227SZelong Dong
162a30c7a73SHuqiang Qin			watchdog@2100 {
163a30c7a73SHuqiang Qin				compatible = "amlogic,c3-wdt", "amlogic,t7-wdt";
164a30c7a73SHuqiang Qin				reg = <0x0 0x2100 0x0 0x10>;
165a30c7a73SHuqiang Qin				clocks = <&xtal>;
166a30c7a73SHuqiang Qin			};
167a30c7a73SHuqiang Qin
168cac34b2bSHuqiang Qin			periphs_pinctrl: pinctrl@4000 {
169cac34b2bSHuqiang Qin				compatible = "amlogic,c3-periphs-pinctrl";
170cac34b2bSHuqiang Qin				#address-cells = <2>;
171cac34b2bSHuqiang Qin				#size-cells = <2>;
172cac34b2bSHuqiang Qin				ranges;
173cac34b2bSHuqiang Qin
174cac34b2bSHuqiang Qin				gpio: bank@4000 {
175cac34b2bSHuqiang Qin					reg = <0x0 0x4000 0x0 0x004c>,
176cac34b2bSHuqiang Qin					      <0x0 0x4100 0x0 0x01de>;
177cac34b2bSHuqiang Qin					reg-names = "mux", "gpio";
178cac34b2bSHuqiang Qin					gpio-controller;
179cac34b2bSHuqiang Qin					#gpio-cells = <2>;
180cac34b2bSHuqiang Qin					gpio-ranges = <&periphs_pinctrl 0 0 55>;
181cac34b2bSHuqiang Qin				};
182520b792eSXianwei Zhao
183520b792eSXianwei Zhao				i2c0_pins1: i2c0-pins1 {
184520b792eSXianwei Zhao					mux {
185520b792eSXianwei Zhao						groups = "i2c0_sda_e",
186520b792eSXianwei Zhao							 "i2c0_scl_e";
187520b792eSXianwei Zhao						function = "i2c0";
188520b792eSXianwei Zhao						bias-disable;
189520b792eSXianwei Zhao						drive-strength-microamp = <3000>;
190520b792eSXianwei Zhao					};
191520b792eSXianwei Zhao				};
192520b792eSXianwei Zhao
193520b792eSXianwei Zhao				i2c0_pins2: i2c0-pins2 {
194520b792eSXianwei Zhao					mux {
195520b792eSXianwei Zhao						groups = "i2c0_sda_d",
196520b792eSXianwei Zhao							 "i2c0_scl_d";
197520b792eSXianwei Zhao						function = "i2c0";
198520b792eSXianwei Zhao						bias-disable;
199520b792eSXianwei Zhao						drive-strength-microamp = <3000>;
200520b792eSXianwei Zhao					};
201520b792eSXianwei Zhao				};
202520b792eSXianwei Zhao
203520b792eSXianwei Zhao				i2c1_pins1: i2c1-pins1 {
204520b792eSXianwei Zhao					mux {
205520b792eSXianwei Zhao						groups = "i2c1_sda_x",
206520b792eSXianwei Zhao							 "i2c1_scl_x";
207520b792eSXianwei Zhao						function = "i2c1";
208520b792eSXianwei Zhao						bias-disable;
209520b792eSXianwei Zhao						drive-strength-microamp = <3000>;
210520b792eSXianwei Zhao					};
211520b792eSXianwei Zhao				};
212520b792eSXianwei Zhao
213520b792eSXianwei Zhao				i2c1_pins2: i2c1-pins2 {
214520b792eSXianwei Zhao					mux {
215520b792eSXianwei Zhao						groups = "i2c1_sda_d",
216520b792eSXianwei Zhao							 "i2c1_scl_d";
217520b792eSXianwei Zhao						function = "i2c1";
218520b792eSXianwei Zhao						bias-disable;
219520b792eSXianwei Zhao						drive-strength-microamp = <3000>;
220520b792eSXianwei Zhao					};
221520b792eSXianwei Zhao				};
222520b792eSXianwei Zhao
223520b792eSXianwei Zhao				i2c1_pins3: i2c1-pins3 {
224520b792eSXianwei Zhao					mux {
225520b792eSXianwei Zhao						groups = "i2c1_sda_a",
226520b792eSXianwei Zhao							 "i2c1_scl_a";
227520b792eSXianwei Zhao						function = "i2c1";
228520b792eSXianwei Zhao						bias-disable;
229520b792eSXianwei Zhao						drive-strength-microamp = <3000>;
230520b792eSXianwei Zhao					};
231520b792eSXianwei Zhao				};
232520b792eSXianwei Zhao
233520b792eSXianwei Zhao				i2c1_pins4: i2c1-pins4 {
234520b792eSXianwei Zhao					mux {
235520b792eSXianwei Zhao						groups = "i2c1_sda_b",
236520b792eSXianwei Zhao							 "i2c1_scl_b";
237520b792eSXianwei Zhao						function = "i2c1";
238520b792eSXianwei Zhao						bias-disable;
239520b792eSXianwei Zhao						drive-strength-microamp = <3000>;
240520b792eSXianwei Zhao					};
241520b792eSXianwei Zhao				};
242520b792eSXianwei Zhao
243520b792eSXianwei Zhao				i2c2_pins1: i2c2-pins1 {
244520b792eSXianwei Zhao					mux {
245520b792eSXianwei Zhao						groups = "i2c2_sda",
246520b792eSXianwei Zhao							 "i2c2_scl";
247520b792eSXianwei Zhao						function = "i2c2";
248520b792eSXianwei Zhao						bias-disable;
249520b792eSXianwei Zhao						drive-strength-microamp = <3000>;
250520b792eSXianwei Zhao					};
251520b792eSXianwei Zhao				};
252520b792eSXianwei Zhao
253520b792eSXianwei Zhao				i2c3_pins1: i2c3-pins1 {
254520b792eSXianwei Zhao					mux {
255520b792eSXianwei Zhao						groups = "i2c3_sda_c",
256520b792eSXianwei Zhao							 "i2c3_scl_c";
257520b792eSXianwei Zhao						function = "i2c3";
258520b792eSXianwei Zhao						bias-disable;
259520b792eSXianwei Zhao						drive-strength-microamp = <3000>;
260520b792eSXianwei Zhao					};
261520b792eSXianwei Zhao				};
262520b792eSXianwei Zhao
263520b792eSXianwei Zhao				i2c3_pins2: i2c3-pins2 {
264520b792eSXianwei Zhao					mux {
265520b792eSXianwei Zhao						groups = "i2c3_sda_x",
266520b792eSXianwei Zhao							 "i2c3_scl_x";
267520b792eSXianwei Zhao						function = "i2c3";
268520b792eSXianwei Zhao						bias-disable;
269520b792eSXianwei Zhao						drive-strength-microamp = <3000>;
270520b792eSXianwei Zhao					};
271520b792eSXianwei Zhao				};
272520b792eSXianwei Zhao
273520b792eSXianwei Zhao				i2c3_pins3: i2c3-pins3 {
274520b792eSXianwei Zhao					mux {
275520b792eSXianwei Zhao						groups = "i2c3_sda_d",
276520b792eSXianwei Zhao							 "i2c3_scl_d";
277520b792eSXianwei Zhao						function = "i2c3";
278520b792eSXianwei Zhao						bias-disable;
279520b792eSXianwei Zhao						drive-strength-microamp = <3000>;
280520b792eSXianwei Zhao					};
281520b792eSXianwei Zhao				};
282520b792eSXianwei Zhao
283520b792eSXianwei Zhao				nand_pins: nand-pins {
284520b792eSXianwei Zhao					mux {
285520b792eSXianwei Zhao						groups = "emmc_nand_d0",
286520b792eSXianwei Zhao							 "emmc_nand_d1",
287520b792eSXianwei Zhao							 "emmc_nand_d2",
288520b792eSXianwei Zhao							 "emmc_nand_d3",
289520b792eSXianwei Zhao							 "emmc_nand_d4",
290520b792eSXianwei Zhao							 "emmc_nand_d5",
291520b792eSXianwei Zhao							 "emmc_nand_d6",
292520b792eSXianwei Zhao							 "emmc_nand_d7",
293520b792eSXianwei Zhao							 "nand_ce0",
294520b792eSXianwei Zhao							 "nand_ale",
295520b792eSXianwei Zhao							 "nand_cle",
296520b792eSXianwei Zhao							 "nand_wen_clk",
297520b792eSXianwei Zhao							 "nand_ren_wr";
298520b792eSXianwei Zhao						function = "nand";
299520b792eSXianwei Zhao						input-enable;
300520b792eSXianwei Zhao					};
301520b792eSXianwei Zhao				};
302520b792eSXianwei Zhao
303520b792eSXianwei Zhao				sdcard_pins: sdcard-pins {
304520b792eSXianwei Zhao					mux {
305520b792eSXianwei Zhao						groups = "sdcard_d0",
306520b792eSXianwei Zhao							 "sdcard_d1",
307520b792eSXianwei Zhao							 "sdcard_d2",
308520b792eSXianwei Zhao							 "sdcard_d3",
309520b792eSXianwei Zhao							 "sdcard_clk",
310520b792eSXianwei Zhao							 "sdcard_cmd";
311520b792eSXianwei Zhao						function = "sdcard";
312520b792eSXianwei Zhao						bias-pull-up;
313520b792eSXianwei Zhao						drive-strength-microamp = <4000>;
314520b792eSXianwei Zhao					};
315520b792eSXianwei Zhao				};
316520b792eSXianwei Zhao
317520b792eSXianwei Zhao				sdcard_clk_gate_pins: sdcard-clk-cmd-pins {
318520b792eSXianwei Zhao					mux {
319520b792eSXianwei Zhao						groups = "GPIOC_4";
320520b792eSXianwei Zhao						function = "gpio_periphs";
321520b792eSXianwei Zhao						bias-pull-down;
322520b792eSXianwei Zhao						drive-strength-microamp = <4000>;
323520b792eSXianwei Zhao					};
324520b792eSXianwei Zhao				};
325520b792eSXianwei Zhao
326520b792eSXianwei Zhao				sdio_m_clk_gate_pins: sdio-m-clk-cmd-pins {
327520b792eSXianwei Zhao					mux {
328520b792eSXianwei Zhao						groups = "sdio_clk";
329520b792eSXianwei Zhao						function = "sdio";
330520b792eSXianwei Zhao						bias-pull-down;
331520b792eSXianwei Zhao						drive-strength-microamp = <4000>;
332520b792eSXianwei Zhao					};
333520b792eSXianwei Zhao				};
334520b792eSXianwei Zhao
335520b792eSXianwei Zhao				sdio_m_pins: sdio-m-all-pins {
336520b792eSXianwei Zhao					mux {
337520b792eSXianwei Zhao						groups = "sdio_d0",
338520b792eSXianwei Zhao							 "sdio_d1",
339520b792eSXianwei Zhao							 "sdio_d2",
340520b792eSXianwei Zhao							 "sdio_d3",
341520b792eSXianwei Zhao							 "sdio_clk",
342520b792eSXianwei Zhao							 "sdio_cmd";
343520b792eSXianwei Zhao						function = "sdio";
344520b792eSXianwei Zhao						input-enable;
345520b792eSXianwei Zhao						bias-pull-up;
346520b792eSXianwei Zhao						drive-strength-microamp = <4000>;
347520b792eSXianwei Zhao					};
348520b792eSXianwei Zhao				};
349520b792eSXianwei Zhao
350520b792eSXianwei Zhao				spicc0_pins1: spicc0-pins1 {
351520b792eSXianwei Zhao					mux {
352520b792eSXianwei Zhao						groups = "spi_a_mosi_b",
353520b792eSXianwei Zhao							 "spi_a_miso_b",
354520b792eSXianwei Zhao							 "spi_a_clk_b";
355520b792eSXianwei Zhao						function = "spi_a";
356520b792eSXianwei Zhao						drive-strength-microamp = <3000>;
357520b792eSXianwei Zhao					};
358520b792eSXianwei Zhao				};
359520b792eSXianwei Zhao
360520b792eSXianwei Zhao				spicc0_pins2: spicc0-pins2 {
361520b792eSXianwei Zhao					mux {
362520b792eSXianwei Zhao						groups = "spi_a_mosi_c",
363520b792eSXianwei Zhao							 "spi_a_miso_c",
364520b792eSXianwei Zhao							 "spi_a_clk_c";
365520b792eSXianwei Zhao						function = "spi_a";
366520b792eSXianwei Zhao						drive-strength-microamp = <3000>;
367520b792eSXianwei Zhao					};
368520b792eSXianwei Zhao				};
369520b792eSXianwei Zhao
370520b792eSXianwei Zhao				spicc0_pins3: spicc0-pins3 {
371520b792eSXianwei Zhao					mux {
372520b792eSXianwei Zhao						groups = "spi_a_mosi_x",
373520b792eSXianwei Zhao							 "spi_a_miso_x",
374520b792eSXianwei Zhao							 "spi_a_clk_x";
375520b792eSXianwei Zhao						function = "spi_a";
376520b792eSXianwei Zhao						drive-strength-microamp = <3000>;
377520b792eSXianwei Zhao					};
378520b792eSXianwei Zhao				};
379520b792eSXianwei Zhao
380520b792eSXianwei Zhao				spicc1_pins1: spicc1-pins1 {
381520b792eSXianwei Zhao					mux {
382520b792eSXianwei Zhao						groups = "spi_b_mosi_d",
383520b792eSXianwei Zhao							 "spi_b_miso_d",
384520b792eSXianwei Zhao							 "spi_b_clk_d";
385520b792eSXianwei Zhao						function = "spi_b";
386520b792eSXianwei Zhao						drive-strength-microamp = <3000>;
387520b792eSXianwei Zhao					};
388520b792eSXianwei Zhao				};
389520b792eSXianwei Zhao
390520b792eSXianwei Zhao				spicc1_pins2: spicc1-pins2 {
391520b792eSXianwei Zhao					mux {
392520b792eSXianwei Zhao						groups = "spi_b_mosi_x",
393520b792eSXianwei Zhao							 "spi_b_miso_x",
394520b792eSXianwei Zhao							 "spi_b_clk_x";
395520b792eSXianwei Zhao						function = "spi_b";
396520b792eSXianwei Zhao						drive-strength-microamp = <3000>;
397520b792eSXianwei Zhao					};
398520b792eSXianwei Zhao				};
399520b792eSXianwei Zhao
400520b792eSXianwei Zhao				spifc_pins: spifc-pins {
401520b792eSXianwei Zhao					mux {
402520b792eSXianwei Zhao						groups = "spif_mo",
403520b792eSXianwei Zhao							 "spif_mi",
404520b792eSXianwei Zhao							 "spif_clk",
405520b792eSXianwei Zhao							 "spif_cs",
406520b792eSXianwei Zhao							 "spif_hold",
407520b792eSXianwei Zhao							 "spif_wp",
408520b792eSXianwei Zhao							 "spif_clk_loop";
409520b792eSXianwei Zhao						function = "spif";
410520b792eSXianwei Zhao						drive-strength-microamp = <4000>;
411520b792eSXianwei Zhao					};
412520b792eSXianwei Zhao				};
413cac34b2bSHuqiang Qin			};
414cac34b2bSHuqiang Qin
415cac34b2bSHuqiang Qin			gpio_intc: interrupt-controller@4080 {
416e5d4d006SNeil Armstrong				compatible = "amlogic,c3-gpio-intc", "amlogic,meson-gpio-intc";
417cac34b2bSHuqiang Qin				reg = <0x0 0x4080 0x0 0x0020>;
418cac34b2bSHuqiang Qin				interrupt-controller;
419cac34b2bSHuqiang Qin				#interrupt-cells = <2>;
420cac34b2bSHuqiang Qin				amlogic,channel-interrupts =
421cac34b2bSHuqiang Qin					<10 11 12 13 14 15 16 17 18 19 20 21>;
422cac34b2bSHuqiang Qin			};
423cac34b2bSHuqiang Qin
424520b792eSXianwei Zhao			clkc_pll: clock-controller@8000 {
425520b792eSXianwei Zhao				compatible = "amlogic,c3-pll-clkc";
426520b792eSXianwei Zhao				reg = <0x0 0x8000 0x0 0x1a4>;
427520b792eSXianwei Zhao				#clock-cells = <1>;
428520b792eSXianwei Zhao				clocks = <&scmi_clk CLKID_TOP_PLL_OSC>,
429520b792eSXianwei Zhao					 <&scmi_clk CLKID_MCLK_PLL_OSC>,
430520b792eSXianwei Zhao					 <&scmi_clk CLKID_FIXED_PLL_OSC>;
431520b792eSXianwei Zhao				clock-names = "top",
432520b792eSXianwei Zhao					      "mclk",
433520b792eSXianwei Zhao					      "fix";
434520b792eSXianwei Zhao			};
435520b792eSXianwei Zhao
436520b792eSXianwei Zhao			eth_phy: mdio-multiplexer@28000 {
437520b792eSXianwei Zhao				compatible = "amlogic,g12a-mdio-mux";
438520b792eSXianwei Zhao				reg = <0x0 0x28000 0x0 0xa4>;
439520b792eSXianwei Zhao
440520b792eSXianwei Zhao				clocks = <&clkc_periphs CLKID_SYS_ETH_PHY>,
441520b792eSXianwei Zhao					 <&xtal>,
442520b792eSXianwei Zhao					 <&clkc_pll CLKID_FCLK_50M>;
443520b792eSXianwei Zhao				clock-names = "pclk", "clkin0", "clkin1";
444520b792eSXianwei Zhao				mdio-parent-bus = <&mdio0>;
445520b792eSXianwei Zhao				#address-cells = <1>;
446520b792eSXianwei Zhao				#size-cells = <0>;
447520b792eSXianwei Zhao
448520b792eSXianwei Zhao				ext_mdio: mdio@0 {
449520b792eSXianwei Zhao					reg = <0>;
450520b792eSXianwei Zhao					#address-cells = <1>;
451520b792eSXianwei Zhao					#size-cells = <0>;
452520b792eSXianwei Zhao				};
453520b792eSXianwei Zhao
454520b792eSXianwei Zhao				int_mdio: mdio@1 {
455520b792eSXianwei Zhao					reg = <1>;
456520b792eSXianwei Zhao					#address-cells = <1>;
457520b792eSXianwei Zhao					#size-cells = <0>;
458520b792eSXianwei Zhao
459520b792eSXianwei Zhao					internal_ephy: ethernet_phy@8 {
460520b792eSXianwei Zhao						compatible = "ethernet-phy-id0180.3301",
461520b792eSXianwei Zhao							     "ethernet-phy-ieee802.3-c22";
462520b792eSXianwei Zhao						interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
463520b792eSXianwei Zhao						reg = <8>;
464520b792eSXianwei Zhao						max-speed = <100>;
465520b792eSXianwei Zhao					};
466520b792eSXianwei Zhao				};
467520b792eSXianwei Zhao			};
468520b792eSXianwei Zhao
469520b792eSXianwei Zhao			spicc0: spi@50000 {
470520b792eSXianwei Zhao				compatible = "amlogic,meson-g12a-spicc";
471520b792eSXianwei Zhao				reg = <0x0 0x50000 0x0 0x44>;
472520b792eSXianwei Zhao				interrupts = <GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH>;
473520b792eSXianwei Zhao				clocks = <&clkc_periphs CLKID_SYS_SPICC_0>,
474520b792eSXianwei Zhao					 <&clkc_periphs CLKID_SPICC_A>;
475520b792eSXianwei Zhao				clock-names = "core", "pclk";
476520b792eSXianwei Zhao				#address-cells = <1>;
477520b792eSXianwei Zhao				#size-cells = <0>;
478520b792eSXianwei Zhao				status = "disabled";
479520b792eSXianwei Zhao			};
480520b792eSXianwei Zhao
481520b792eSXianwei Zhao			spicc1: spi@52000 {
482520b792eSXianwei Zhao				compatible = "amlogic,meson-g12a-spicc";
483520b792eSXianwei Zhao				reg = <0x0 0x52000 0x0 0x44>;
484520b792eSXianwei Zhao				interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
485520b792eSXianwei Zhao				clocks = <&clkc_periphs CLKID_SYS_SPICC_1>,
486520b792eSXianwei Zhao					 <&clkc_periphs CLKID_SPICC_B>;
487520b792eSXianwei Zhao				clock-names = "core", "pclk";
488520b792eSXianwei Zhao				#address-cells = <1>;
489520b792eSXianwei Zhao				#size-cells = <0>;
490520b792eSXianwei Zhao				status = "disabled";
491520b792eSXianwei Zhao			};
492520b792eSXianwei Zhao
493520b792eSXianwei Zhao			spifc: spi@56000 {
494520b792eSXianwei Zhao				compatible = "amlogic,a1-spifc";
495520b792eSXianwei Zhao				reg = <0x0 0x56000 0x0 0x290>;
496520b792eSXianwei Zhao				interrupts = <GIC_SPI 182 IRQ_TYPE_EDGE_RISING>;
497520b792eSXianwei Zhao				clocks = <&clkc_periphs CLKID_SPIFC>;
498520b792eSXianwei Zhao				clock-names = "core";
499520b792eSXianwei Zhao				status = "disabled";
500520b792eSXianwei Zhao			};
501520b792eSXianwei Zhao
502520b792eSXianwei Zhao			i2c0: i2c@66000 {
503520b792eSXianwei Zhao				compatible = "amlogic,meson-axg-i2c";
504520b792eSXianwei Zhao				reg = <0x0 0x66000 0x0 0x24>;
505520b792eSXianwei Zhao				interrupts = <GIC_SPI 160 IRQ_TYPE_EDGE_RISING>;
506520b792eSXianwei Zhao				#address-cells = <1>;
507520b792eSXianwei Zhao				#size-cells = <0>;
508520b792eSXianwei Zhao				clocks = <&clkc_periphs CLKID_SYS_I2C_M_A>;
509520b792eSXianwei Zhao				status = "disabled";
510520b792eSXianwei Zhao			};
511520b792eSXianwei Zhao
512520b792eSXianwei Zhao			i2c1: i2c@68000 {
513520b792eSXianwei Zhao				compatible = "amlogic,meson-axg-i2c";
514520b792eSXianwei Zhao				reg = <0x0 0x68000 0x0 0x24>;
515520b792eSXianwei Zhao				interrupts = <GIC_SPI 161 IRQ_TYPE_EDGE_RISING>;
516520b792eSXianwei Zhao				#address-cells = <1>;
517520b792eSXianwei Zhao				#size-cells = <0>;
518520b792eSXianwei Zhao				clocks = <&clkc_periphs CLKID_SYS_I2C_M_B>;
519520b792eSXianwei Zhao				status = "disabled";
520520b792eSXianwei Zhao			};
521520b792eSXianwei Zhao
522520b792eSXianwei Zhao			i2c2: i2c@6a000 {
523520b792eSXianwei Zhao				compatible = "amlogic,meson-axg-i2c";
524520b792eSXianwei Zhao				reg = <0x0 0x6a000 0x0 0x24>;
525520b792eSXianwei Zhao				interrupts = <GIC_SPI 162 IRQ_TYPE_EDGE_RISING>;
526520b792eSXianwei Zhao				#address-cells = <1>;
527520b792eSXianwei Zhao				#size-cells = <0>;
528520b792eSXianwei Zhao				clocks = <&clkc_periphs CLKID_SYS_I2C_M_C>;
529520b792eSXianwei Zhao				status = "disabled";
530520b792eSXianwei Zhao			};
531520b792eSXianwei Zhao
532520b792eSXianwei Zhao			i2c3: i2c@6c000 {
533520b792eSXianwei Zhao				compatible = "amlogic,meson-axg-i2c";
534520b792eSXianwei Zhao				reg = <0x0 0x6c000 0x0 0x24>;
535520b792eSXianwei Zhao				interrupts = <GIC_SPI 163 IRQ_TYPE_EDGE_RISING>;
536520b792eSXianwei Zhao				#address-cells = <1>;
537520b792eSXianwei Zhao				#size-cells = <0>;
538520b792eSXianwei Zhao				clocks = <&clkc_periphs CLKID_SYS_I2C_M_D>;
539520b792eSXianwei Zhao				status = "disabled";
540520b792eSXianwei Zhao			};
541520b792eSXianwei Zhao
54202310be6SXianwei Zhao			uart_b: serial@7a000 {
54302310be6SXianwei Zhao				compatible = "amlogic,meson-s4-uart",
54402310be6SXianwei Zhao					   "amlogic,meson-ao-uart";
54502310be6SXianwei Zhao				reg = <0x0 0x7a000 0x0 0x18>;
54602310be6SXianwei Zhao				interrupts = <GIC_SPI 169 IRQ_TYPE_EDGE_RISING>;
54702310be6SXianwei Zhao				status = "disabled";
548520b792eSXianwei Zhao				clocks = <&xtal>, <&clkc_periphs CLKID_SYS_UART_B>, <&xtal>;
54902310be6SXianwei Zhao				clock-names = "xtal", "pclk", "baud";
55002310be6SXianwei Zhao			};
55102310be6SXianwei Zhao
55284ed73eeSXianwei Zhao			sec_ao: ao-secure@10220 {
55384ed73eeSXianwei Zhao				compatible = "amlogic,c3-ao-secure",
55484ed73eeSXianwei Zhao					     "amlogic,meson-gx-ao-secure",
55584ed73eeSXianwei Zhao					     "syscon";
55684ed73eeSXianwei Zhao				reg = <0x0 0x10220 0x0 0x140>;
55784ed73eeSXianwei Zhao				amlogic,has-chip-id;
55884ed73eeSXianwei Zhao			};
559520b792eSXianwei Zhao
560520b792eSXianwei Zhao			sdio: mmc@88000 {
561520b792eSXianwei Zhao				compatible = "amlogic,meson-axg-mmc";
562520b792eSXianwei Zhao				reg = <0x0 0x88000 0x0 0x800>;
563520b792eSXianwei Zhao				interrupts = <GIC_SPI 176 IRQ_TYPE_EDGE_RISING>;
564520b792eSXianwei Zhao				power-domains = <&pwrc PWRC_C3_SDIOA_ID>;
565520b792eSXianwei Zhao				clocks = <&clkc_periphs CLKID_SYS_SD_EMMC_A>,
566520b792eSXianwei Zhao					  <&clkc_periphs CLKID_SD_EMMC_A>,
567520b792eSXianwei Zhao					  <&clkc_pll CLKID_FCLK_DIV2>;
568520b792eSXianwei Zhao				clock-names = "core","clkin0", "clkin1";
569520b792eSXianwei Zhao				no-mmc;
570520b792eSXianwei Zhao				no-sd;
571520b792eSXianwei Zhao				resets = <&reset RESET_SD_EMMC_A>;
572520b792eSXianwei Zhao				status = "disabled";
573520b792eSXianwei Zhao			};
574520b792eSXianwei Zhao
575520b792eSXianwei Zhao			sd: mmc@8a000 {
576520b792eSXianwei Zhao				compatible = "amlogic,meson-axg-mmc";
577520b792eSXianwei Zhao				reg = <0x0 0x8a000 0x0 0x800>;
578520b792eSXianwei Zhao				interrupts = <GIC_SPI 177 IRQ_TYPE_EDGE_RISING>;
579520b792eSXianwei Zhao				power-domains = <&pwrc PWRC_C3_SDCARD_ID>;
580520b792eSXianwei Zhao				clocks = <&clkc_periphs CLKID_SYS_SD_EMMC_B>,
581520b792eSXianwei Zhao					<&clkc_periphs CLKID_SD_EMMC_B>,
582520b792eSXianwei Zhao					<&clkc_pll CLKID_FCLK_DIV2>;
583520b792eSXianwei Zhao				clock-names = "core", "clkin0", "clkin1";
584520b792eSXianwei Zhao				no-mmc;
585520b792eSXianwei Zhao				no-sdio;
586520b792eSXianwei Zhao				resets = <&reset RESET_SD_EMMC_B>;
587520b792eSXianwei Zhao				status = "disabled";
588520b792eSXianwei Zhao			};
589520b792eSXianwei Zhao
590520b792eSXianwei Zhao			nand: nand-controller@8d000 {
591520b792eSXianwei Zhao				compatible = "amlogic,meson-axg-nfc";
592520b792eSXianwei Zhao				reg = <0x0 0x8d000 0x0 0x200>,
593520b792eSXianwei Zhao					<0x0 0x8C000 0x0 0x4>;
594520b792eSXianwei Zhao				reg-names = "nfc", "emmc";
595520b792eSXianwei Zhao				interrupts = <GIC_SPI 87 IRQ_TYPE_EDGE_RISING>;
596520b792eSXianwei Zhao				clocks = <&clkc_periphs CLKID_SYS_SD_EMMC_C>,
597520b792eSXianwei Zhao					<&clkc_pll CLKID_FCLK_DIV2>;
598520b792eSXianwei Zhao				clock-names = "core", "device";
599520b792eSXianwei Zhao				status = "disabled";
600520b792eSXianwei Zhao			};
601520b792eSXianwei Zhao		};
602520b792eSXianwei Zhao
603520b792eSXianwei Zhao		ethmac: ethernet@fdc00000 {
604520b792eSXianwei Zhao			compatible = "amlogic,meson-g12a-dwmac",
605520b792eSXianwei Zhao				     "snps,dwmac-3.70a",
606520b792eSXianwei Zhao				     "snps,dwmac";
607520b792eSXianwei Zhao			reg = <0x0 0xfdc00000 0x0 0x10000>,
608520b792eSXianwei Zhao			      <0x0 0xfe024000 0x0 0x8>;
609520b792eSXianwei Zhao			interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
610520b792eSXianwei Zhao			interrupt-names = "macirq";
611520b792eSXianwei Zhao			power-domains = <&pwrc PWRC_C3_ETH_ID>;
612520b792eSXianwei Zhao			clocks = <&clkc_periphs CLKID_SYS_ETH_MAC>,
613520b792eSXianwei Zhao				 <&clkc_pll CLKID_FCLK_DIV2>,
614520b792eSXianwei Zhao				 <&clkc_pll CLKID_FCLK_50M>;
615520b792eSXianwei Zhao			clock-names = "stmmaceth", "clkin0", "clkin1";
616520b792eSXianwei Zhao			rx-fifo-depth = <4096>;
617520b792eSXianwei Zhao			tx-fifo-depth = <2048>;
618520b792eSXianwei Zhao			status = "disabled";
619520b792eSXianwei Zhao
620520b792eSXianwei Zhao			mdio0: mdio {
621520b792eSXianwei Zhao				compatible = "snps,dwmac-mdio";
622520b792eSXianwei Zhao				#address-cells = <1>;
623520b792eSXianwei Zhao				#size-cells = <0>;
624520b792eSXianwei Zhao			};
62502310be6SXianwei Zhao		};
62602310be6SXianwei Zhao	};
62702310be6SXianwei Zhao};
628