1/* SPDX-License-Identifier: Apache-2.0 */
2
3/dts-v1/;
4
5#include <nxp/nxp_k6x.dtsi>
6#include <zephyr/dt-bindings/pwm/pwm.h>
7#include "hexiwear_k64-pinctrl.dtsi"
8
9/ {
10	model = "Hexiwear K64 board";
11	compatible = "nxp,hexiwear", "nxp,k64f", "nxp,k6x";
12
13	aliases {
14		led0 = &green_led;
15		led1 = &blue_led;
16		led2 = &red_led;
17		pwm-led0 = &green_pwm_led;
18		red-pwm-led = &red_pwm_led;
19		green-pwm-led = &green_pwm_led;
20		blue-pwm-led = &blue_pwm_led;
21		magn0 = &fxos8700;
22		accel0 = &fxos8700;
23	};
24
25	chosen {
26		zephyr,sram = &sram0;
27		zephyr,flash = &flash0;
28		zephyr,code-partition = &slot0_partition;
29		zephyr,console = &uart0;
30		zephyr,shell-uart = &uart0;
31		zephyr,bt-uart = &uart4;
32	};
33
34	leds {
35		compatible = "gpio-leds";
36		red_led: led_0 {
37			gpios = <&gpioc 8 GPIO_ACTIVE_LOW>;
38			label = "User LD1";
39		};
40		green_led: led_1 {
41			gpios = <&gpiod 0 GPIO_ACTIVE_LOW>;
42			label = "User LD2";
43		};
44		blue_led: led_2 {
45			gpios = <&gpioc 9 GPIO_ACTIVE_LOW>;
46			label = "User LD3";
47		};
48	};
49
50	pwmleds {
51		compatible = "pwm-leds";
52
53		red_pwm_led: red_pwm_led {
54			pwms = <&ftm3 4 15625000 PWM_POLARITY_INVERTED>;
55		};
56		green_pwm_led: green_pwm_led {
57			pwms = <&ftm3 0 15625000 PWM_POLARITY_INVERTED>;
58		};
59		blue_pwm_led: blue_pwm_led {
60			pwms = <&ftm3 5 15625000 PWM_POLARITY_INVERTED>;
61		};
62	};
63
64	en_bat_sens: enable-battery-sense {
65		compatible = "regulator-fixed";
66		regulator-name = "en_bat_sens";
67		enable-gpios = <&gpioc 14 GPIO_ACTIVE_LOW>;
68		regulator-boot-on;
69	};
70
71	en_ldo: enable-ldo {
72		compatible = "regulator-fixed";
73		regulator-name = "en_ldo";
74		enable-gpios = <&gpioa 29 GPIO_ACTIVE_HIGH>;
75		regulator-boot-on;
76	};
77
78	en_3v3b: enable-3v3b {
79		compatible = "regulator-fixed";
80		regulator-name = "en_3v3b";
81		enable-gpios = <&gpiob 12 GPIO_ACTIVE_LOW>;
82		regulator-boot-on;
83	};
84};
85
86&sim {
87	pllfll-select = <KINETIS_SIM_PLLFLLSEL_MCGPLLCLK>;
88	er32k-select = <KINETIS_SIM_ER32KSEL_RTC>;
89};
90
91&cpu0 {
92	clock-frequency = <120000000>;
93};
94
95&adc0 {
96	status = "okay";
97};
98
99&adc1 {
100	status = "okay";
101};
102
103&ftm3 {
104	status = "okay";
105	compatible = "nxp,kinetis-ftm-pwm";
106	#pwm-cells = <3>;
107	pinctrl-0 = <&ftm3_default>;
108	pinctrl-names = "default";
109};
110
111&i2c0 {
112	status = "okay";
113	pinctrl-0 = <&i2c0_default>;
114	pinctrl-names = "default";
115
116	max30101@57 {
117		status = "disabled";
118		compatible = "maxim,max30101";
119		reg = <0x57>;
120	};
121};
122
123&i2c1 {
124	status = "okay";
125	pinctrl-0 = <&i2c1_default>;
126	pinctrl-names = "default";
127
128	fxos8700: fxos8700@1e {
129		compatible = "nxp,fxos8700";
130		reg = <0x1e>;
131		int1-gpios = <&gpioc 1 GPIO_ACTIVE_LOW>;
132		int2-gpios = <&gpiod 13 GPIO_ACTIVE_LOW>;
133	};
134
135	fxas21002@20 {
136		compatible = "nxp,fxas21002";
137		reg = <0x20>;
138		int1-gpios = <&gpiod 1 GPIO_ACTIVE_LOW>;
139		int2-gpios = <&gpioc 18 GPIO_ACTIVE_LOW>;
140	};
141};
142
143&uart0 {
144	status = "okay";
145	current-speed = <115200>;
146	pinctrl-0 = <&uart0_default>;
147	pinctrl-names = "default";
148};
149
150&uart4 {
151	status = "okay";
152	current-speed = <115200>;
153	pinctrl-0 = <&uart4_default>;
154	pinctrl-names = "default";
155};
156
157&gpioa {
158	status = "okay";
159};
160
161&gpiob {
162	status = "okay";
163};
164
165&gpioc {
166	status = "okay";
167};
168
169&gpiod {
170	status = "okay";
171};
172
173&gpioe {
174	status = "okay";
175};
176
177&flash0 {
178
179	partitions {
180		compatible = "fixed-partitions";
181		#address-cells = <1>;
182		#size-cells = <1>;
183
184		boot_partition: partition@0 {
185			label = "mcuboot";
186			reg = <0x00000000 0x00010000>;
187			read-only;
188		};
189
190		/*
191		 * The flash starting at 0x00010000 and ending at
192		 * 0x0001ffff (sectors 16-31) is reserved for use
193		 * by the application.
194		 */
195
196		slot0_partition: partition@20000 {
197			label = "image-0";
198			reg = <0x00020000 0x00060000>;
199		};
200		slot1_partition: partition@80000 {
201			label = "image-1";
202			reg = <0x00080000 0x00060000>;
203		};
204		scratch_partition: partition@e0000 {
205			label = "image-scratch";
206			reg = <0x000e0000 0x00020000>;
207		};
208	};
209};
210