1/*
2 * Copyright (c) 2019 Linaro Limited
3 * Copyright 2025 Arm Limited and/or its affiliates <open-source-office@arm.com>
4 *
5 * SPDX-License-Identifier: Apache-2.0
6 */
7
8sysclk: system-clock {
9	compatible = "fixed-clock";
10	clock-frequency = <25000000>;
11	#clock-cells = <0>;
12};
13
14timer0: timer@0 {
15	compatible = "arm,cmsdk-timer";
16	reg = <0x0 0x1000>;
17	interrupts = <3 3>;
18};
19
20timer1: timer@1000 {
21	compatible = "arm,cmsdk-timer";
22	reg = <0x1000 0x1000>;
23	interrupts = <4 3>;
24};
25
26dtimer0: dtimer@2000 {
27	compatible = "arm,cmsdk-dtimer";
28	reg = <0x2000 0x1000>;
29	interrupts = <5 3>;
30};
31
32mhu0: mhu@3000 {
33	compatible = "arm,mhu";
34	reg = <0x3000 0x1000>;
35	interrupts = <6 3>;
36};
37
38mhu1: mhu@4000 {
39	compatible = "arm,mhu";
40	reg = <0x4000 0x1000>;
41	interrupts = <7 3>;
42};
43
44gpio0: gpio@100000 {
45	compatible = "arm,cmsdk-gpio";
46	reg = <0x100000 0x1000>;
47	interrupts = <68 3>;
48	gpio-controller;
49	#gpio-cells = <2>;
50};
51
52gpio1: gpio@101000 {
53	compatible = "arm,cmsdk-gpio";
54	reg = <0x101000 0x1000>;
55	interrupts = <69 3>;
56	gpio-controller;
57	#gpio-cells = <2>;
58};
59
60gpio2: gpio@102000 {
61	compatible = "arm,cmsdk-gpio";
62	reg = <0x102000 0x1000>;
63	interrupts = <70 3>;
64	gpio-controller;
65	#gpio-cells = <2>;
66};
67
68gpio3: gpio@103000 {
69	compatible = "arm,cmsdk-gpio";
70	reg = <0x103000 0x1000>;
71	interrupts = <71 3>;
72	gpio-controller;
73	#gpio-cells = <2>;
74};
75
76wdog0: wdog@81000 {
77	compatible = "arm,cmsdk-watchdog";
78	reg = <0x81000 0x1000>;
79	clocks = <&sysclk>;
80};
81
82uart0: uart@200000 {
83	compatible = "arm,cmsdk-uart";
84	reg = <0x200000 0x1000>;
85	interrupts = <33 3 32 3>;
86	interrupt-names = "tx", "rx";
87	clocks = <&sysclk>;
88	current-speed = <115200>;
89};
90
91uart1: uart@201000 {
92	compatible = "arm,cmsdk-uart";
93	reg = <0x201000 0x1000>;
94	interrupts = <35 3 34 3>;
95	interrupt-names = "tx", "rx";
96	clocks = <&sysclk>;
97	current-speed = <115200>;
98};
99
100uart2: uart@202000 {
101	compatible = "arm,cmsdk-uart";
102	reg = <0x202000 0x1000>;
103	interrupts = <37 3 36 3>;
104	interrupt-names = "tx", "rx";
105	clocks = <&sysclk>;
106	current-speed = <115200>;
107};
108
109uart3: uart@203000 {
110	compatible = "arm,cmsdk-uart";
111	reg = <0x203000 0x1000>;
112	interrupts = <39 3 38 3>;
113	interrupt-names = "tx", "rx";
114	clocks = <&sysclk>;
115	current-speed = <115200>;
116	pinctrl-0 = <&uart3_default>;
117	pinctrl-names = "default";
118};
119
120uart4: uart@204000 {
121	compatible = "arm,cmsdk-uart";
122	reg = <0x204000 0x1000>;
123	interrupts = <41 3 40 3>;
124	interrupt-names = "tx", "rx";
125	clocks = <&sysclk>;
126	current-speed = <115200>;
127	pinctrl-0 = <&uart4_default>;
128	pinctrl-names = "default";
129};
130
131i2c_touch: i2c@207000 {
132	compatible = "arm,versatile-i2c";
133	clock-frequency = <I2C_BITRATE_STANDARD>;
134	#address-cells = <1>;
135	#size-cells = <0>;
136	reg = <0x207000 0x1000>;
137};
138
139i2c_audio_conf: i2c@208000 {
140	compatible = "arm,versatile-i2c";
141	clock-frequency = <I2C_BITRATE_STANDARD>;
142	#address-cells = <1>;
143	#size-cells = <0>;
144	reg = <0x208000 0x1000>;
145};
146
147i2c_shield0: i2c@20c000 {
148	compatible = "arm,versatile-i2c";
149	clock-frequency = <I2C_BITRATE_STANDARD>;
150	#address-cells = <1>;
151	#size-cells = <0>;
152	reg = <0x20c000 0x1000>;
153	pinctrl-0 = <&sbcon0_default>;
154	pinctrl-names = "default";
155};
156
157i2c_shield1: i2c@20d000 {
158	compatible = "arm,versatile-i2c";
159	clock-frequency = <I2C_BITRATE_STANDARD>;
160	#address-cells = <1>;
161	#size-cells = <0>;
162	reg = <0x20d000 0x1000>;
163	pinctrl-0 = <&sbcon1_default>;
164	pinctrl-names = "default";
165};
166
167gpio_led0: mps2_fpgaio@302000 {
168	compatible = "arm,mmio32-gpio";
169
170	reg = <0x302000 0x4>;
171	gpio-controller;
172	#gpio-cells = <1>;
173	ngpios = <2>;
174};
175
176gpio_button: mps2_fpgaio@302008 {
177	compatible = "arm,mmio32-gpio";
178
179	reg = <0x302008 0x4>;
180	gpio-controller;
181	#gpio-cells = <1>;
182	ngpios = <2>;
183	direction-input;
184};
185
186gpio_misc: mps2_fpgaio@30204c {
187	compatible = "arm,mmio32-gpio";
188
189	reg = <0x30204c 0x4>;
190	gpio-controller;
191	#gpio-cells = <1>;
192	ngpios = <10>;
193};
194
195eth0: eth@2000000 {
196	/* Linux has "smsc,lan9115" */
197	compatible = "smsc,lan9220";
198	/* Actual reg range is ~0x200 */
199	reg = <0x2000000 0x100000>;
200	interrupts = <48 3>;
201};
202
203pinctrl: pinctrl {
204	compatible = "arm,mps2-pinctrl";
205	status = "okay";
206};
207