1/dts-v1/;
2#include <ambiq/ambiq_apollo4p_blue.dtsi>
3#include <zephyr/dt-bindings/input/input-event-codes.h>
4
5#include "apollo4p_blue_kxr_evb-pinctrl.dtsi"
6
7/ {
8	model = "Ambiq Apollo4 Blue Plus KXR evaluation board";
9	compatible = "ambiq,apollo4p_blue_kxr_evb";
10
11	chosen {
12		zephyr,itcm = &tcm;
13		zephyr,sram = &sram0;
14		zephyr,flash = &flash0;
15		zephyr,console = &uart0;
16		zephyr,shell-uart = &uart0;
17		zephyr,uart-pipe = &uart0;
18		zephyr,flash-controller = &flash;
19		zephyr,bt-hci = &bt_hci_apollo;
20	};
21
22	aliases {
23		watchdog0 = &wdt0;
24		led0 = &led0;
25		led1 = &led1;
26		led2 = &led2;
27		sw0 = &button0;
28		sw1 = &button1;
29		rtc = &rtc0;
30	};
31
32	leds {
33		compatible = "gpio-leds";
34		led0: led_0 {
35			gpios = <&gpio0_31 30 GPIO_ACTIVE_LOW>;
36			label = "LED 0";
37		};
38		led1: led_1 {
39			gpios = <&gpio0_31 16 GPIO_ACTIVE_LOW>;
40			label = "LED 1";
41		};
42		led2: led_2 {
43			gpios = <&gpio64_95 27 GPIO_ACTIVE_LOW>;
44			label = "LED 2";
45		};
46	};
47
48	buttons {
49		compatible = "gpio-keys";
50		polling-mode;
51		button0: button_0 {
52			gpios = <&gpio0_31 17 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
53			label = "BTN0";
54			zephyr,code = <INPUT_KEY_0>;
55			status = "okay";
56		};
57		button1: button_1 {
58			gpios = <&gpio0_31 19 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
59			label = "BTN1";
60			zephyr,code = <INPUT_KEY_1>;
61			status = "okay";
62		};
63	};
64};
65
66&uart0 {
67	current-speed = <115200>;
68	pinctrl-0 = <&uart0_default>;
69	pinctrl-names = "default";
70	status = "okay";
71};
72
73&itm {
74	pinctrl-0 = <&itm_default>;
75	pinctrl-names = "default";
76	status = "okay";
77};
78
79&counter0 {
80	status = "okay";
81};
82
83&rtc0 {
84	status = "okay";
85	clock = "XTAL";
86};
87
88&wdt0 {
89	status = "okay";
90};
91
92&i2c0 {
93	compatible = "ambiq,i2c";
94	pinctrl-0 = <&i2c0_default>;
95	pinctrl-names = "default";
96	clock-frequency = <I2C_BITRATE_STANDARD>;
97	scl-gpios = <&gpio0_31 5 (GPIO_OPEN_DRAIN | GPIO_PULL_UP)>;
98	sda-gpios = <&gpio0_31 6 (GPIO_OPEN_DRAIN | GPIO_PULL_UP)>;
99	status = "okay";
100};
101
102&spi1 {
103	compatible = "ambiq,spi";
104	pinctrl-0 = <&spi1_default>;
105	pinctrl-names = "default";
106	cs-gpios = <&gpio0_31 11 GPIO_ACTIVE_LOW>;
107	clock-frequency = <DT_FREQ_M(1)>;
108	status = "okay";
109};
110
111&spi4 {
112	pinctrl-0 = <&spi4_default>;
113	pinctrl-names = "default";
114	status = "okay";
115};
116
117&mspi0 {
118	pinctrl-0 = <&mspi0_default>;
119	pinctrl-names = "default";
120	status = "okay";
121};
122
123&flash0 {
124	erase-block-size = <2048>;
125	write-block-size = <16>;
126
127	partitions {
128		compatible = "fixed-partitions";
129		#address-cells = <1>;
130		#size-cells = <1>;
131
132		/* Set 16KB of storage at the end of the 1952KB of flash */
133		storage_partition: partition@1e4000 {
134			label = "storage";
135			reg = <0x001e4000 0x4000>;
136		};
137	};
138};
139
140&stimer0 {
141	clk-source = <3>;
142};
143
144&xo32m {
145	pinctrl-0 = <&xo32m_default>;
146	pinctrl-names = "default";
147	status = "okay";
148};
149
150&xo32k {
151	pinctrl-0 = <&xo32k_default>;
152	pinctrl-names = "default";
153	status = "okay";
154};
155
156zephyr_udc0: &usb {
157	vddusb33-gpios = <&gpio0_31 13 (GPIO_PULL_UP)>;
158	vddusb0p9-gpios = <&gpio0_31 15 (GPIO_PULL_UP)>;
159	status = "okay";
160};
161
162&gpio0_31 {
163	status = "okay";
164};
165
166&gpio32_63 {
167	status = "okay";
168};
169
170&gpio64_95 {
171	status = "okay";
172};
173
174&gpio96_127 {
175	status = "okay";
176};
177