1/*
2 * Copyright (c) 2020 DENX Software Engineering GmbH
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7/dts-v1/;
8
9#include <nxp/nxp_k66.dtsi>
10
11#include "ip_k66f-pinctrl.dtsi"
12
13/ {
14	model = "SEGGER MK66F IP Switch board";
15	compatible = "nxp,mk66f18", "nxp,k66f", "nxp,k6x";
16
17	aliases {
18		led0 = &red0_led;
19		led2 = &red2_led;
20		dsa-spi = &spi1;
21	};
22
23	chosen {
24		zephyr,sram = &sram0;
25		zephyr,flash = &flash0;
26		zephyr,code-partition = &slot0_partition;
27	};
28
29	leds {
30		compatible = "gpio-leds";
31		red0_led: led_0 {
32			gpios = <&gpioa 8 GPIO_ACTIVE_HIGH>;
33			label = "User LD1";
34		};
35
36		red2_led: led_2 {
37			gpios = <&gpioa 10 GPIO_ACTIVE_HIGH>;
38			label = "User LD2";
39		};
40	};
41};
42
43&cpu0 {
44	clock-frequency = <120000000>;
45};
46
47&sim {
48	pllfll-select = <KINETIS_SIM_PLLFLLSEL_MCGPLLCLK>;
49	er32k-select = <KINETIS_SIM_ER32KSEL_RTC>;
50
51	bus_clk {
52		clock-div = <3>;
53	};
54
55	flash_clk {
56		clock-div = <7>;
57	};
58};
59
60&gpioa {
61	status = "okay";
62};
63
64&gpiob {
65	status = "okay";
66};
67
68&flash0 {
69
70	partitions {
71		compatible = "fixed-partitions";
72		#address-cells = <1>;
73		#size-cells = <1>;
74
75		boot_partition: partition@0 {
76			label = "mcuboot";
77			reg = <0x00000000 0x00010000>;
78			read-only;
79		};
80
81		/*
82		 * The flash starting at 0x00010000 and ending at
83		 * 0x0001ffff (sectors 16-31) is reserved for use
84		 * by the application.
85		 */
86		storage_partition: partition@1e000 {
87			label = "storage";
88			reg = <0x0001e000 0x00002000>;
89		};
90
91		slot0_partition: partition@20000 {
92			label = "image-0";
93			reg = <0x00020000 0x00060000>;
94		};
95		slot1_partition: partition@80000 {
96			label = "image-1";
97			reg = <0x00080000 0x00060000>;
98		};
99		scratch_partition: partition@e0000 {
100			label = "image-scratch";
101			reg = <0x000e0000 0x00020000>;
102		};
103	};
104};
105
106&enet_mac {
107	status = "okay";
108	pinctrl-0 = <&enet_default>;
109	pinctrl-names = "default";
110	zephyr,random-mac-address;
111	phy-connection-type = "rmii";
112	phy-handle = <&phy>;
113};
114
115&enet_mdio {
116	status = "okay";
117	pinctrl-0 = <&enet_default>;
118	pinctrl-names = "default";
119	phy: phy@0 {
120		compatible = "ethernet-phy";
121		reg = <0>;
122		status = "okay";
123		fixed-link = "100BASE-T Full-Duplex";
124	};
125};
126
127&spi1 {
128	status = "okay";
129	pinctrl-0 = <&spi1_default>;
130	pinctrl-names = "default";
131
132	clock-frequency = <44000000>;
133	cs-gpios = <&gpioe 4 GPIO_ACTIVE_LOW>;
134
135	ksz8794: dsa@0 {
136		compatible = "microchip,ksz8794";
137		reg = <0>;
138
139		spi-max-frequency = <44000000>;
140		reset-gpios = <&gpiob 22 GPIO_ACTIVE_LOW>;
141
142		spi-cpol;
143		spi-cpha;
144		dsa-master-port = <&enet_mac>;
145		dsa-slave-ports = <3>;
146
147		lan3: lan_3 {
148		};
149
150		lan2: lan_2 {
151		};
152
153		lan1: lan_1 {
154		};
155	};
156};
157
158&gpioa {
159	status = "okay";
160};
161
162&gpiob {
163	status = "okay";
164};
165
166&gpioe {
167	status = "okay";
168};
169