Linux Audio

Check our new training course

Loading...
/*
 * Copyright 2019,2024 NXP
 *
 * SPDX-License-Identifier: Apache-2.0
 */

/dts-v1/;

#include <nxp/nxp_lpc55S6x.dtsi>
#include "lpcxpresso55s69.dtsi"
#include <zephyr/dt-bindings/pwm/pwm.h>
#include <zephyr/dt-bindings/input/input-event-codes.h>

/ {
	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;
		watchdog0 = &wwdt0;
		/* For pwm test suites */
		pwm-0 = &sc_timer;
		pwm-led0 = &red_pwm_led;
		red-pwm-led = &red_pwm_led;
		sdhc0 = &sdhc0;
		accel0 = &mma8652fc;
		sdhc0 = &sdif;
		mcuboot-button0 = &user_button_1;
	};

	chosen {
		zephyr,sram = &sram0;
		zephyr,flash = &flash0;
		zephyr,code-partition = &slot0_partition;
		zephyr,uart-mcumgr = &flexcomm0;
		zephyr,code-cpu1-partition = &slot0_ns_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 | GPIO_PULL_UP)>;
			zephyr,code = <INPUT_KEY_0>;
		};
		user_button_2: button_1 {
			label = "User SW2";
			gpios = <&gpio1 18 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
			zephyr,code = <INPUT_KEY_1>;
		};
		user_button_3: button_2 {
			label = "User SW3";
			gpios = <&gpio1 9 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
			zephyr,code = <INPUT_KEY_2>;
		};
	};

	pwmleds {
		compatible = "pwm-leds";
		red_pwm_led: red_pwm_led {
			pwms = <&sc_timer 0 PWM_MSEC(20) PWM_POLARITY_NORMAL>;
			label = "Red PWM LED";
			status = "okay";
		};
	};
};

/*
 * Default for this board is to allocate SRAM0-2 to cpu0 but the
 * application can have an application specific device tree to
 * allocate the SRAM0-4 differently.
 *
 * For example, SRAM0-3 could be allocated to cpu0 with only SRAM4
 * for cpu1. This would require the zephyr,sram chosen value for cpu1
 * to be changed to sram4 and the value of sram0 to have a DT_SIZE_K
 * of 256.
 *
 */
&sram0 {
	compatible = "mmio-sram";
	reg = <0x20000000 DT_SIZE_K(192)>;
};

&gpio0 {
	status = "okay";
};

&gpio1 {
	status = "okay";
};

&green_led {
	status = "okay";
};

&red_led {
	status = "okay";
};

&flexcomm0 {
	status = "okay";
};

&flexcomm4 {
	status = "okay";
};

&sdif {
	status = "okay";
	pinctrl-0 = <&pinmux_sdif_default>;
	pinctrl-names = "default";
	mmc {
		compatible = "zephyr,sdmmc-disk";
		status = "okay";
	};
};

&hs_lspi {
	status = "okay";
	cs-gpios = <&gpio1 1 GPIO_ACTIVE_LOW>;
};

&wwdt0 {
	status = "okay";
};

&adc0 {
	status = "okay";
	pinctrl-0 = <&pinmux_lpadc0>;
	pinctrl-names = "default";
};

&mailbox0 {
	status = "okay";
};

&usbfs {
	pinctrl-0 = <&pinmux_usbfs>;
	pinctrl-names = "default";
};

zephyr_udc0: &usbhs {
	status = "okay";
	phy_handle = <&usbphy1>;
};

&usbphy1 {
	status = "okay";
	tx-d-cal = <5>;
	tx-cal-45-dp-ohms = <10>;
	tx-cal-45-dm-ohms = <10>;
};

&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";
	#address-cells = <1>;
	#size-cells = <0>;
};

/* I2S transmit channel */
i2s1: &flexcomm7 {
	status = "okay";
	compatible = "nxp,lpc-i2s";
	#address-cells = <1>;
	#size-cells = <0>;
};

&sc_timer {
	status = "okay";
};

&dma0 {
	status = "okay";
};

&dma1 {
	status = "okay";
};

&mrt_channel0 {
	status = "okay";
};