boards: nxp: rd_rw612_bga: enable with LCD_PAR_S035 shield
Enable the rd_rw612_bga board with the LCD_PAR_S035 shield. This shield cannot be connected directly to the board, but the connection can be made with a set of jumper wires. Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
This commit is contained in:
parent
f8f70c2ac7
commit
404041621f
2 changed files with 122 additions and 1 deletions
|
|
@ -76,6 +76,22 @@
|
||||||
<20 0 &hsgpio0 16 0>, /* D14 */
|
<20 0 &hsgpio0 16 0>, /* D14 */
|
||||||
<21 0 &hsgpio0 17 0>; /* D15 */
|
<21 0 &hsgpio0 17 0>; /* D15 */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The pins for this interface are chosen arbitrarily- the RD-RW612
|
||||||
|
* board does not have the NXP 8080 interface, but can support displays
|
||||||
|
* using it by connecting signals directly with jumper wires.
|
||||||
|
*/
|
||||||
|
nxp_lcd_8080_connector: lcd-8080-connector {
|
||||||
|
compatible = "nxp,lcd-8080";
|
||||||
|
#gpio-cells = <2>;
|
||||||
|
gpio-map-mask = <0xffffffff 0xffffffc0>;
|
||||||
|
gpio-map-pass-thru = <0 0x3f>;
|
||||||
|
gpio-map = <9 0 &hsgpio0 3 0>, /* Pin 9, LCD touch INT */
|
||||||
|
<10 0 &hsgpio0 2 0>, /* Pin 10, LCD backlight control */
|
||||||
|
<11 0 &hsgpio0 4 0>; /* Pin 11, LCD and touch reset */
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
&wwdt {
|
&wwdt {
|
||||||
|
|
@ -231,12 +247,22 @@ zephyr_udc0: &usb_otg {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
&lcdic {
|
zephyr_mipi_dbi_parallel: &lcdic {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
pinctrl-0 = <&pinmux_lcdic>;
|
pinctrl-0 = <&pinmux_lcdic>;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Similar to the flexio connection, these pins are not
|
||||||
|
* broken out in the format required to connect directly to
|
||||||
|
* an NXP 8080 display, but they can be connected with jumper
|
||||||
|
* wires.
|
||||||
|
*/
|
||||||
|
nxp_8080_touch_panel_i2c: &arduino_i2c {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
&mrt0_channel0 {
|
&mrt0_channel0 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
|
||||||
95
boards/shields/lcd_par_s035/boards/rd_rw612_bga.overlay
Normal file
95
boards/shields/lcd_par_s035/boards/rd_rw612_bga.overlay
Normal file
|
|
@ -0,0 +1,95 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2024 NXP
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <zephyr/dt-bindings/mipi_dbi/mipi_dbi.h>
|
||||||
|
|
||||||
|
/*
|
||||||
|
* To use this board with this display, perform the following modifications:
|
||||||
|
* - Depopulate resistors R78, R604, R598, R15, R245, R243, R11, R20, R237,
|
||||||
|
* R235, R431, R447, R420, R459, R485, and R486
|
||||||
|
* - Populate resistors R286, R19, R246, R242, R123, R239, R124, R125, R236,
|
||||||
|
* R233, and R12
|
||||||
|
* - Remove jumper JP30
|
||||||
|
* - Set jumper JP40 to postion 1-2, JP38 to 1-2, and JP16 to position 2-3
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* To connect the display configure SW1 on the display to
|
||||||
|
* ON-ON-OFF (8 bit 8080 mode), and connect the following pins
|
||||||
|
* | Board Pin | Display Pin | Function |
|
||||||
|
* |-----------|-------------|----------|
|
||||||
|
* | HD2.8 | D0 | D[0] |
|
||||||
|
* | HD2.16 | D1 | D[1] |
|
||||||
|
* | J5.2 | TE | TE |
|
||||||
|
* | J5.4 | D2 | D[2] |
|
||||||
|
* | J5.1 | D3 | D[3] |
|
||||||
|
* | J5.6 | RD | RDX |
|
||||||
|
* | J5.3 | D4 | D[4] |
|
||||||
|
* | HD2.7 | D5 | D[5] |
|
||||||
|
* | HD2.6 | D6 | D[6] |
|
||||||
|
* | HD2.1 | D7 | D[7] |
|
||||||
|
* | HD2.2 | WR | WR |
|
||||||
|
* | HD8.1 | CS | CS |
|
||||||
|
* | HD8.2 | D/C | DC |
|
||||||
|
* | J13.8 | GND | GND |
|
||||||
|
* | J13.7 | VDD | 3V3 |
|
||||||
|
* | J5.10 | SCL | IC2_SCL |
|
||||||
|
* | J5.9 | SDA | IC2_SDA |
|
||||||
|
* | HD2.4 | INT | INT |
|
||||||
|
* | HD2.5 | RST | RESET |
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Expand the LCDIC pinmux to cover all 8080 mode pins */
|
||||||
|
&pinmux_lcdic {
|
||||||
|
group0 {
|
||||||
|
pinmux = <IO_MUX_LCD_8080_IO42>,
|
||||||
|
<IO_MUX_LCD_8080_IO43>,
|
||||||
|
<IO_MUX_LCD_8080_IO44>,
|
||||||
|
<IO_MUX_LCD_8080_IO45>,
|
||||||
|
<IO_MUX_LCD_8080_IO46>,
|
||||||
|
<IO_MUX_LCD_8080_IO47>,
|
||||||
|
<IO_MUX_LCD_8080_IO48>,
|
||||||
|
<IO_MUX_LCD_8080_IO49>,
|
||||||
|
<IO_MUX_LCD_8080_IO51>,
|
||||||
|
<IO_MUX_LCD_8080_IO52>,
|
||||||
|
<IO_MUX_LCD_8080_IO53>,
|
||||||
|
<IO_MUX_LCD_8080_IO54>,
|
||||||
|
<IO_MUX_LCD_8080_IO56>,
|
||||||
|
<IO_MUX_LCD_8080_IO57>;
|
||||||
|
slew-rate = "ultra";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&st7796s {
|
||||||
|
mipi-mode = <MIPI_DBI_MODE_8080_BUS_8_BIT>;
|
||||||
|
/*
|
||||||
|
* Display supports minimum write cycle time of 66ns. This
|
||||||
|
* means we can clock the LCDIC module at 30MHz, as
|
||||||
|
* the minimum write duration will be 2x the module
|
||||||
|
* clock. Note that this frequency is too fast for reading
|
||||||
|
* from the display module
|
||||||
|
*/
|
||||||
|
mipi-max-frequency = <30000000>;
|
||||||
|
/*
|
||||||
|
* Note that this display is *not* buggy- we use rgb-is-inverted
|
||||||
|
* as a workaround here to get the display to report an inverted
|
||||||
|
* color format. This is because the "nxp,swap-bytes" setting
|
||||||
|
* on the LCDIC will apply byte swapping in hardware, so the
|
||||||
|
* display should report an inverted color format to account
|
||||||
|
* for this. This results in better performance for applications
|
||||||
|
* like LVGL, which would otherwise have to swap RGB565 data in
|
||||||
|
* software
|
||||||
|
*/
|
||||||
|
rgb-is-inverted;
|
||||||
|
};
|
||||||
|
|
||||||
|
&lcdic {
|
||||||
|
/* Enable byte swapping */
|
||||||
|
nxp,swap-bytes;
|
||||||
|
/* Set pulse width for write active and write inactive to min value */
|
||||||
|
nxp,write-active-cycles = <1>;
|
||||||
|
nxp,write-inactive-cycles = <1>;
|
||||||
|
};
|
||||||
Loading…
Reference in a new issue