Commit b2d1e450 authored by Mahesh Mahadevan's avatar Mahesh Mahadevan Committed by Anas Nashif
Browse files

boards: frdm_mcxn947: Add Display support



Add support for the LCD-PAR-S035 display over the
FlexIO interface.

Signed-off-by: default avatarMahesh Mahadevan <mahesh.mahadevan@nxp.com>
parent 3fbd689e
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -302,6 +302,11 @@ static int frdm_mcxn947_init(void)
	CLOCK_SetupClk16KClocking(kCLOCK_Clk16KToVsys);
#endif

#if DT_NODE_HAS_STATUS(DT_NODELABEL(flexio0), okay)
	CLOCK_SetClkDiv(kCLOCK_DivFlexioClk, 1u);
	CLOCK_AttachClk(kPLL0_to_FLEXIO);
#endif

	/* Set SystemCoreClock variable. */
	SystemCoreClock = CLOCK_INIT_CORE_CLOCK;

+5 −0
Original line number Diff line number Diff line
@@ -96,6 +96,11 @@ The FRDM-MCXN947 board configuration supports the following hardware features:
+-----------+------------+-------------------------------------+
| LPTMR     | on-chip    | counter                             |
+-----------+------------+-------------------------------------+
| FLEXIO    | on-chip    | flexio                              |
+-----------+------------+-------------------------------------+
| DISPLAY   | on-chip    | flexio; MIPI-DBI. Tested with       |
|           |            | :ref:`lcd_par_s035`                 |
+-----------+------------+-------------------------------------+

Targets available
==================
+42 −0
Original line number Diff line number Diff line
@@ -148,6 +148,7 @@
			input-enable;
		};
	};

	pinmux_lpadc0: pinmux_lpadc0 {
		group0 {
			pinmux = <ADC0_A2_PIO4_23>,
@@ -176,4 +177,45 @@
			input-enable;
		};
	};

	pinmux_flexio_lcd: pinmux_flexio_lcd {
		group0 {
			pinmux = <FLEXIO0_D16_PIO2_8>,
				<FLEXIO0_D17_PIO2_9>,
				<FLEXIO0_D18_PIO2_10>,
				<FLEXIO0_D19_PIO2_11>,
				<FLEXIO0_D20_PIO4_12>,
				<FLEXIO0_D21_PIO4_13>,
				<FLEXIO0_D22_PIO4_14>,
				<FLEXIO0_D23_PIO4_15>,
				<FLEXIO0_D24_PIO4_16>,
				<FLEXIO0_D25_PIO4_17>,
				<FLEXIO0_D26_PIO4_18>,
				<FLEXIO0_D27_PIO4_19>,
				<FLEXIO0_D28_PIO4_20>,
				<FLEXIO0_D29_PIO4_21>,
				<FLEXIO0_D30_PIO4_22>,
				<FLEXIO0_D31_PIO4_23>,
				<PIO0_7>,
				<PIO0_12>,
				<PIO4_7>;
			slew-rate = "fast";
			drive-strength = "low";
			input-enable;
		};
		group1 {
			pinmux = <FLEXIO0_D0_PIO0_8>;
			slew-rate = "fast";
			drive-strength = "low";
			input-enable;
			bias-pull-up;
		};
		group2 {
			pinmux = <FLEXIO0_D1_PIO0_9>;
			slew-rate = "slow";
			drive-strength = "low";
			input-enable;
			bias-pull-up;
		};
	};
};
+16 −0
Original line number Diff line number Diff line
@@ -196,6 +196,22 @@
	pinctrl-names = "default";
};

nxp_flexio_lcd: &flexio0_lcd {
	/* DMA channels 0, muxed to FlexIO TX */
	dmas = <&edma0 0 61>;
	dma-names = "tx";
	shifters-count = <8>;
	timers-count = <1>;
	enwr-pin = <1>;
	rd-pin = <0>;
	data-pin-start = <16>;
	reset-gpios = <&gpio4 7 GPIO_ACTIVE_HIGH>;
	cs-gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>;
	rs-gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>;
	pinctrl-0 = <&pinmux_flexio_lcd>;
	pinctrl-names = "default";
};

&lpcmp0 {
	pinctrl-0 = <&pinmux_lpcmp0>;
	pinctrl-names = "default";
+4 −0
Original line number Diff line number Diff line
@@ -178,3 +178,7 @@ zephyr_udc0: &usb1 {
&lptmr0 {
	status = "okay";
};

&flexio0 {
	status = "okay";
};