/*
 * Copyright 2024 NXP
 *
 * SPDX-License-Identifier: Apache-2.0
 */

#include "frdm_mcxn947-pinctrl.dtsi"
#include <zephyr/dt-bindings/i2c/i2c.h>

/ {
	aliases{
		led0 = &red_led;
		led1 = &green_led;
		led2 = &blue_led;
		sw0 = &user_button_2;
		sw1 = &user_button_3;
	};

	leds {
		compatible = "gpio-leds";
		green_led: led_1 {
			gpios = <&gpio0 27 GPIO_ACTIVE_LOW>;
			label = "Green LED";
			status = "disabled";
		};
		blue_led: led_2 {
			gpios = <&gpio1 2 GPIO_ACTIVE_LOW>;
			label = "Blue LED";
			status = "disabled";
		};
		red_led: led_3 {
			gpios = <&gpio0 10 GPIO_ACTIVE_LOW>;
			label = "Red LED";
			status = "disabled";
		};
	};

	gpio_keys {
		compatible = "gpio-keys";
		user_button_2: button_0 {
			label = "User SW2";
			gpios = <&gpio0 23 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
			status = "disabled";
		};
		user_button_3: button_1 {
			label = "User SW3";
			gpios = <&gpio0 6 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
			status = "disabled";
		};
	};
};

&flexcomm1_lpspi1 {
	pinctrl-0 = <&pinmux_flexcomm1_lpspi>;
	pinctrl-names = "default";
};

&flexcomm2_lpi2c2 {
	pinctrl-0 = <&pinmux_flexcomm2_lpi2c>;
	pinctrl-names = "default";
	clock-frequency = <I2C_BITRATE_STANDARD>;
};

&flexcomm2_lpuart2 {
	current-speed = <115200>;
	pinctrl-0 = <&pinmux_flexcomm2_lpuart>;
	pinctrl-names = "default";
};

&flexcomm4_lpuart4 {
	current-speed = <115200>;
	pinctrl-0 = <&pinmux_flexcomm4_lpuart>;
	pinctrl-names = "default";
};

/*
 * MCXN947 board uses OS timer as the kernel timer
 * In case we need to switch to SYSTICK timer, then
 * replace &os_timer with &systick
 */
&os_timer {
	status = "okay";
};

&flash {
	partitions {
		compatible = "fixed-partitions";
		#address-cells = <1>;
		#size-cells = <1>;

		boot_partition: partition@0 {
			label = "mcuboot";
			reg = <0x00000000 DT_SIZE_K(64)>;
		};
		/* Note slot 0 has one additional sector,
		 * this is intended for use with the swap move algorithm
		 */
		slot0_partition: partition@10000 {
			label = "image-0";
			reg = <0x00010000 DT_SIZE_K(992)>;
		};
		slot1_partition: partition@100000 {
			label = "image-1";
			reg = <0x00108000 DT_SIZE_K(984)>;
		};
		/* storage_partition is placed in WINBOND flash memory*/
	};
};

&flexspi {
	pinctrl-0 = <&pinmux_flexspi>;
	pinctrl-names = "default";
	ahb-prefetch;
	ahb-bufferable;
	ahb-cacheable;
	ahb-read-addr-opt;
	combination-mode;
	rx-clock-source = <1>;

	/* WINBOND flash memory*/
	w25q64jvssiq: w25q64jvssiq@0 {
		compatible = "nxp,imx-flexspi-nor";
		status = "disabled";
		size = <67108864>;
		reg = <0>;
		spi-max-frequency = <133000000>;
		jedec-id = [ef 40 17];
		erase-block-size = <4096>;
		write-block-size = <1>;
		cs-interval-unit = <1>;
		cs-interval = <2>;
		cs-hold-time = <3>;
		cs-setup-time = <3>;
		data-valid-time = <2>;
		column-space = <0>;
		partitions {
			compatible = "fixed-partitions";
			#address-cells = <1>;
			#size-cells = <1>;
			storage_partition: partition@0 {
				label = "storage";
				reg = <0x0 DT_SIZE_M(8)>;
			};
		};
	};
};

&dac0 {
	pinctrl-0 = <&pinmux_dac0>;
	pinctrl-names = "default";
};

&enet {
	pinctrl-0 = <&pinmux_enet_qos>;
	pinctrl-names = "default";
};

&enet_mac {
	phy-connection-type = "rmii";
	zephyr,random-mac-address;
	phy-handle = <&phy>;
};

&enet_mdio {
	phy: ethernet-phy@0 {
		compatible = "ethernet-phy";
		reg = <0>;
		status = "okay";
	};
};

&flexpwm1_pwm0 {
	pinctrl-0 = <&pinmux_flexpwm1_pwm0>;
	pinctrl-names = "default";
};
