/*
 * Copyright (c) 2019, NXP
 *
 * SPDX-License-Identifier: Apache-2.0
 */

/dts-v1/;

#include <nxp/nxp_lpc55S6x.dtsi>
#include "lpcxpresso55s69.dtsi"

/ {
	model = "NXP LPCXpresso55S69 board";
	compatible = "nxp,lpc55xxx", "nxp,lpc";

	cpus {
		/delete-node/ cpu@1;
	};

	aliases{
		sw0 = &user_button_1;
		sw1 = &user_button_2;
		sw2 = &user_button_3;
	};

	chosen {
		zephyr,sram = &sram0;
		zephyr,flash = &flash0;
		zephyr,code-partition = &slot0_partition;
		zephyr,code-cpu1-partition = &slot1_partition;
		zephyr,sram-cpu1-partition = &sram3;
		zephyr,console = &flexcomm0;
		zephyr,shell-uart = &flexcomm0;
		zephyr,entropy = &rng;
	};

	gpio_keys {
		compatible = "gpio-keys";
		user_button_1: button_0 {
			label = "User SW1";
			gpios = <&gpio0 5 GPIO_ACTIVE_HIGH>;
		};
		user_button_2: button_1 {
			label = "User SW2";
			gpios = <&gpio1 18 GPIO_ACTIVE_LOW>;
		};
		user_button_3: button_2 {
			label = "User SW3";
			gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
		};
	};
};

&gpio0 {
	status = "okay";
};

&gpio1 {
	status = "okay";
};

&green_led {
	status = "okay";
};

&red_led {
	status = "okay";
};

&flexcomm0 {
	status = "okay";
};

&flexcomm4 {
	status = "okay";
};

&hs_lspi {
	status = "okay";
	dmas = <&dma0 2>, <&dma0 3>;
	dma-names = "rx", "tx";
};

&wwdt0 {
	status = "okay";
};

&adc0 {
	status = "okay";
};

&dma0 {
	/*
	 * The total number of dma channels available is defined by
	 * FSL_FEATURE_DMA_NUMBER_OF_CHANNELS in the SoC features file.
	 * Since memory from the heap pool is allocated based on the number
	 * of DMA channels, set this property to as many channels is needed
	 * for the platform. Adjust HEAP_MEM_POOL_SIZE in case you need more
	 * memory.
	 */
	dma-channels = <20>;
	status = "okay";
};

&mailbox0 {
	status = "okay";
};

zephyr_udc0: &usbhs {
	status = "okay";
};

&ctimer0 {
	status = "okay";
};

&ctimer1 {
	status = "okay";
};

&ctimer2 {
	status = "okay";
};

&ctimer3 {
	status = "okay";
};

&ctimer4 {
	status = "okay";
};

/* I2S receive channel */
i2s0: &flexcomm6 {
	status = "okay";
	compatible = "nxp,lpc-i2s";
	label = "I2S_0";
	#address-cells = <1>;
	#size-cells = <0>;
	dmas = <&dma0 16>;
	dma-names = "rx";
};

/* I2S transmit channel */
i2s1: &flexcomm7 {
	status = "okay";
	compatible = "nxp,lpc-i2s";
	label = "I2S_1";
	#address-cells = <1>;
	#size-cells = <0>;
	dmas = <&dma0 19>;
	dma-names = "tx";
};
