1/*
2 * Copyright (c) 2023 Andes Technology Corporation
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7/dts-v1/;
8
9#include <andes/andes_v5_ae350.dtsi>
10#include <zephyr/dt-bindings/input/input-event-codes.h>
11
12/ {
13	model = "Andes ADP-XC7K AE350";
14	compatible = "andestech,adp_xc7k_ae350";
15
16	aliases {
17		gpio-0 = &gpio0;
18		counter-0 = &pit0;
19		i2c-0 = &i2c0;
20		led0 = &seg7_led1_g;
21		led1 = &seg7_led2_g;
22		sw0 = &user_button1;
23		eeprom-0 = &eeprom;
24	};
25
26	chosen {
27		zephyr,console = &uart1;
28		zephyr,shell-uart = &uart1;
29		zephyr,sram = &dram;
30		zephyr,flash = &mx25u16;
31		zephyr,flash-controller = &mx25u16;
32	};
33
34	leds {
35		compatible = "gpio-leds";
36
37		seg7_led1_a: led_1 {
38			label = "7SEG LED1 A";
39			gpios = <&gpio0 16 GPIO_ACTIVE_LOW>;
40		};
41		seg7_led1_b: led_2 {
42			label = "7SEG LED1 B";
43			gpios = <&gpio0 17 GPIO_ACTIVE_LOW>;
44		};
45		seg7_led1_c: led_3 {
46			label = "7SEG LED1 C";
47			gpios = <&gpio0 18 GPIO_ACTIVE_LOW>;
48		};
49		seg7_led1_d: led_4 {
50			label = "7SEG LED1 D";
51			gpios = <&gpio0 19 GPIO_ACTIVE_LOW>;
52		};
53		seg7_led1_e: led_5 {
54			label = "7SEG LED1 E";
55			gpios = <&gpio0 20 GPIO_ACTIVE_LOW>;
56		};
57		seg7_led1_f: led_6 {
58			label = "7SEG LED1 F";
59			gpios = <&gpio0 21 GPIO_ACTIVE_LOW>;
60		};
61		seg7_led1_g: led_7 {
62			label = "7SEG LED1 G";
63			gpios = <&gpio0 22 GPIO_ACTIVE_LOW>;
64		};
65		seg7_led1_dp: led_8 {
66			label = "7SEG LED1 DP";
67			gpios = <&gpio0 23 GPIO_ACTIVE_LOW>;
68		};
69
70		seg7_led2_a: led_9 {
71			label = "7SEG LED2 A";
72			gpios = <&gpio0 24 GPIO_ACTIVE_LOW>;
73		};
74		seg7_led2_b: led_10 {
75			label = "7SEG LED2 B";
76			gpios = <&gpio0 25 GPIO_ACTIVE_LOW>;
77		};
78		seg7_led2_c: led_11 {
79			label = "7SEG LED2 C";
80			gpios = <&gpio0 26 GPIO_ACTIVE_LOW>;
81		};
82		seg7_led2_d: led_12 {
83			label = "7SEG LED2 D";
84			gpios = <&gpio0 27 GPIO_ACTIVE_LOW>;
85		};
86		seg7_led2_e: led_13 {
87			label = "7SEG LED2 E";
88			gpios = <&gpio0 28 GPIO_ACTIVE_LOW>;
89		};
90		seg7_led2_f: led_14 {
91			label = "7SEG LED2 F";
92			gpios = <&gpio0 29 GPIO_ACTIVE_LOW>;
93		};
94		seg7_led2_g: led_15 {
95			label = "7SEG LED2 G";
96			gpios = <&gpio0 30 GPIO_ACTIVE_LOW>;
97		};
98		seg7_led2_dp: led_16 {
99			label = "7SEG LED2 DP";
100			gpios = <&gpio0 31 GPIO_ACTIVE_LOW>;
101		};
102	};
103
104	gpio_keys {
105		compatible = "gpio-keys";
106
107		user_button1: button_1 {
108			label = "User SW1";
109			gpios = <&gpio0 0 GPIO_ACTIVE_LOW>;
110			zephyr,code = <INPUT_KEY_0>;
111		};
112		user_button2: button_2 {
113			label = "User SW2";
114			gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
115			zephyr,code = <INPUT_KEY_1>;
116		};
117		user_button3: button_3 {
118			label = "User SW3";
119			gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
120			zephyr,code = <INPUT_KEY_2>;
121		};
122		user_button4: button_4 {
123			label = "User SW4";
124			gpios = <&gpio0 3 GPIO_ACTIVE_LOW>;
125			zephyr,code = <INPUT_KEY_3>;
126		};
127		user_button5: button_5 {
128			label = "User SW5";
129			gpios = <&gpio0 4 GPIO_ACTIVE_LOW>;
130			zephyr,code = <INPUT_KEY_4>;
131		};
132		user_button6: button_6 {
133			label = "User SW6";
134			gpios = <&gpio0 5 GPIO_ACTIVE_LOW>;
135			zephyr,code = <INPUT_KEY_5>;
136		};
137		user_button7: button_7 {
138			label = "User SW7";
139			gpios = <&gpio0 6 GPIO_ACTIVE_LOW>;
140			zephyr,code = <INPUT_KEY_6>;
141		};
142	};
143};
144
145&l2_cache {
146	status = "okay";
147};
148
149&syscon {
150	status = "okay";
151};
152
153&uart1 {
154	status = "okay";
155	clock-frequency = <19660800>;
156	current-speed = <115200>;
157};
158
159&gpio0 {
160	status = "okay";
161};
162
163&pit0 {
164	status = "okay";
165};
166
167&spi0 {
168	status = "okay";
169	mx25u16: qspi-nor-flash@0 {
170		compatible = "jedec,spi-nor", "andestech,qspi-nor";
171		size = <16777216>;
172		spi-max-frequency = <10000000>;
173		jedec-id = [c2 25 35];
174		status = "okay";
175		reg = <0>;
176		sfdp-bfp = [
177			e5 20 f1 ff  ff ff ff 00  44 eb 08 6b  08 3b 04 bb
178			fe ff ff ff  ff ff 00 ff  ff ff 44 eb  0c 20 0f 52
179			10 d8 00 ff
180		];
181		partitions {
182			compatible = "fixed-partitions";
183			#address-cells = <1>;
184			#size-cells = <1>;
185			storage_partition: partition@0 {
186				label = "storage";
187				reg = <0x0 DT_SIZE_K(1024)>;
188			};
189		};
190	};
191};
192
193&i2c0 {
194	status = "okay";
195	eeprom: eeprom@50 {
196		compatible = "atmel,at24";
197		reg = <0x50>;
198		status = "okay";
199		size = <16384>;
200		pagesize = <64>;
201		address-width = <16>;
202		timeout = <5>;
203	};
204};
205
206&spi1 {
207	status = "okay";
208	cs-gpios = <&gpio0 7 GPIO_ACTIVE_LOW>;
209};
210
211&wdt {
212	status = "okay";
213};
214
215&dma0 {
216	status = "okay";
217};
218
219&mbox {
220	status = "okay";
221};
222