1/*
2 * Copyright (c) 2017, NXP
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7/dts-v1/;
8
9#include <nxp/nxp_lpc54xxx_m4.dtsi>
10#include "lpcxpresso54114.dtsi"
11#include <zephyr/dt-bindings/input/input-event-codes.h>
12
13/ {
14	model = "NXP LPCXpresso54114 board";
15	compatible = "nxp,lpc54xxx", "nxp,lpc";
16
17	aliases{
18		sw0 = &user_button_1;
19		sw1 = &user_button_2;
20		sw2 = &user_button_3;
21	};
22
23	chosen {
24		zephyr,sram = &sram0;
25		zephyr,flash = &flash0;
26		zephyr,console = &flexcomm0;
27		zephyr,shell-uart = &flexcomm0;
28		zephyr,code-partition = &slot0_partition;
29		zephyr,uart-mcumgr = &flexcomm0;
30	};
31
32	gpio_keys {
33		compatible = "gpio-keys";
34		user_button_1: button_0 {
35			label = "User SW1";
36			gpios = <&gpio0 24 GPIO_ACTIVE_LOW>;
37			zephyr,code = <INPUT_KEY_0>;
38		};
39		user_button_2: button_1 {
40			label = "User SW2";
41			gpios = <&gpio0 31 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
42			zephyr,code = <INPUT_KEY_1>;
43		};
44		user_button_3: button_2 {
45			label = "User SW3";
46			gpios = <&gpio0 4 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
47			zephyr,code = <INPUT_KEY_2>;
48		};
49	};
50};
51
52/*
53 * Default for this board is to allocate SRAM0-1 to M4 CPU but the
54 * application can have an application specific device tree to
55 * allocate the SRAM0-3 differently.
56 *
57 */
58&sram0 {
59	compatible = "mmio-sram";
60	reg = <0x20000000 DT_SIZE_K(128)>;
61};
62
63&cpu0 {
64	clock-frequency = <48000000>;
65};
66
67&mailbox0 {
68	status = "okay";
69};
70
71&red_led {
72	status = "okay";
73};
74
75&green_led {
76	status = "okay";
77};
78
79&blue_led {
80	status = "okay";
81};
82
83&flexcomm0 {
84	status = "okay";
85};
86
87&flexcomm4 {
88	status = "okay";
89};
90
91&flexcomm5 {
92	status = "okay";
93};
94
95&flash0 {
96	/*
97	 * LPC flash controller requires minimum 256 byte write to flash,
98	 * so MCUBoot is not supported. Just provide storage and code partition.
99	 */
100	partitions {
101		compatible = "fixed-partitions";
102		#address-cells = <1>;
103		#size-cells = <1>;
104		slot0_partition: partition@0 {
105			label = "image-0";
106			reg = <0x00000000 DT_SIZE_K(196)>;
107		};
108		storage_partition: partition@30000 {
109			label = "storage";
110			reg = <0x00030000 DT_SIZE_K(64)>;
111		};
112	};
113};
114