-
Notifications
You must be signed in to change notification settings - Fork 8.2k
Add st_b_lcd40_dsi1_mb1166 display shield support for stm32f769i_disco board #74646
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
b8ad3d0
b739a26
5e57d84
8dc6ac6
0a2eac2
bae1cef
1540fce
f7b7bfd
d5a0771
8f03a5e
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| # Copyright (c) 2024 Linumiz | ||
| # SPDX-License-Identifier: Apache-2.0 | ||
|
|
||
| # Initialize after LTDC and MIPI-DSI | ||
| CONFIG_DISPLAY_OTM8009A_INIT_PRIORITY=87 | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,6 @@ | ||
| # Copyright (c) 2024 Linumiz | ||
| # SPDX-License-Identifier: Apache-2.0 | ||
|
|
||
| CONFIG_MEMC=y | ||
| CONFIG_STM32_LTDC_RGB888=y | ||
| CONFIG_HEAP_MEM_POOL_SIZE=65536 |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,24 @@ | ||
| /* | ||
| * Copyright (c) 2024 Linumiz | ||
| * | ||
| * SPDX-License-Identifier: Apache-2.0 | ||
| */ | ||
|
|
||
| #include <zephyr/dt-bindings/display/panel.h> | ||
|
|
||
| &zephyr_lcd_controller { | ||
| status = "okay"; | ||
| ext-sdram = <&sdram1>; | ||
| }; | ||
|
|
||
| &zephyr_mipi_dsi { | ||
| status = "okay"; | ||
|
|
||
| pll-ndiv = <100>; | ||
| pll-idf = <5>; | ||
| pll-odf = <0>; | ||
|
|
||
| vs-active-high; | ||
| hs-active-high; | ||
| de-active-high; | ||
| }; |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -125,6 +125,29 @@ The STM32F769I Discovery kit has up to 8 UARTs. The Zephyr console output is ass | |
| which connected to the onboard ST-LINK/V2 Virtual COM port interface. Default communication | ||
| settings are 115200 8N1. | ||
|
|
||
| Display | ||
| ======= | ||
|
|
||
| The STM32F769I Discovery kit has a dedicated DSI LCD connector **CN1**, where | ||
| the MB1166 (B-LCD40-DSI1) display extension board can be mounted. Enable display | ||
| support in Zephyr by adding the shield ``st_b_lcd40_dsi1_mb1166`` or | ||
| ``st_b_lcd40_dsi1_mb1166_a09`` to your build command, for example: | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. But you only added config file for revision with otm8009a . |
||
|
|
||
| .. zephyr-app-commands:: | ||
| :zephyr-app: samples/drivers/display | ||
| :board: stm32f769i_disco | ||
| :shield: st_b_lcd40_dsi1_mb1166 | ||
| :goals: build flash | ||
|
|
||
| .. note:: | ||
| The shield comes in different hardware revisions, the MB1166-A09 | ||
| is utilizing a NT35510 panel controller and shall specifically | ||
| use ``st_b_lcd40_dsi1_mb1166_a09`` as SHIELD when building. | ||
| Prior versions are utilizing an OTM8009a controller and shall | ||
| use shield name without postfix, that is: ``st_b_lcd40_dsi1_mb1166``. | ||
| Shield version is printed on a sticker placed below the two bottom | ||
ajarmouni-st marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| mounting holes and has the format: MB1166-Axx. | ||
|
|
||
| Programming and Debugging | ||
| ************************* | ||
|
|
||
|
|
||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Commit message is no longer accurate, touch controller node was already moved to shield overlay in a previous PR. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -22,7 +22,6 @@ | |
| zephyr,flash = &flash0; | ||
| zephyr,dtcm = &dtcm; | ||
| zephyr,flash-controller = &mx25l51245g; | ||
| zephyr,touch = &ft6202; | ||
| }; | ||
|
|
||
| sdram1: sdram@c0000000 { | ||
|
|
@@ -63,11 +62,6 @@ | |
| }; | ||
| }; | ||
|
|
||
| lvgl_pointer { | ||
| compatible = "zephyr,lvgl-pointer-input"; | ||
| input = <&ft6202>; | ||
| }; | ||
|
|
||
| aliases { | ||
| led0 = &red_led_1; | ||
| led1 = &green_led_2; | ||
|
|
@@ -81,6 +75,30 @@ | |
| zephyr,memory-region = "QSPI_AVAIL"; | ||
| zephyr,memory-attr = <( DT_MEM_ARM(ATTR_MPU_IO) )>; | ||
| }; | ||
|
|
||
| dsi_lcd_qsh_030: connector_dsi_lcd { | ||
| compatible = "st,dsi-lcd-qsh-030"; | ||
| #gpio-cells = <2>; | ||
| gpio-map-mask = <0xffffffff 0xffffffc0>; | ||
| gpio-map-pass-thru = <0 0x3f>; | ||
| gpio-map = <4 0 &gpioi 13 0>, /* TOUCH_INT */ | ||
| <35 0 &gpiod 12 0>, /* SCLK/MCLK */ | ||
| <39 0 &gpiod 11 0>, /* I2S */ | ||
| <40 0 &gpiob 9 0>, /* I2C4_SDA */ | ||
| <44 0 &gpiob 8 0>, /* I2C4_SCL */ | ||
| <45 0 &gpioa 8 0>, /* CEC_CLK */ | ||
| <47 0 &gpioa 15 0>, /* CEC */ | ||
| <49 0 &gpioj 2 0>, /* DSI_TE */ | ||
| <53 0 &gpioi 14 0>, /* LCD_BL_CTRL */ | ||
| <57 0 &gpioj 15 0>; /* DSI_RESET */ | ||
| }; | ||
| }; | ||
|
|
||
| qsh_030_i2c: &i2c4 { | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Perhaps add this comment |
||
| pinctrl-0 = <&i2c4_scl_pd12 &i2c4_sda_pb7>; | ||
| pinctrl-names = "default"; | ||
| clock-frequency = <I2C_BITRATE_FAST>; | ||
| status = "okay"; | ||
| }; | ||
|
|
||
| &clk_hse { | ||
|
|
@@ -93,6 +111,7 @@ | |
| mul-n = <432>; | ||
| div-p = <2>; | ||
| div-q = <9>; | ||
| div-r = <7>; | ||
| clocks = <&clk_hse>; | ||
| status = "okay"; | ||
| }; | ||
|
|
@@ -130,19 +149,6 @@ arduino_serial: &usart6 {}; | |
| clock-frequency = <I2C_BITRATE_FAST>; | ||
| }; | ||
|
|
||
| &i2c4 { | ||
ssekar15 marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| pinctrl-0 = <&i2c4_scl_pd12 &i2c4_sda_pb7>; | ||
| pinctrl-names = "default"; | ||
| status = "okay"; | ||
| clock-frequency = <I2C_BITRATE_FAST>; | ||
|
|
||
| ft6202: ft6202@2a { | ||
| compatible = "focaltech,ft5336"; | ||
| reg = <0x2a>; | ||
| int-gpios = <&gpioi 13 GPIO_ACTIVE_LOW>; | ||
| }; | ||
| }; | ||
|
|
||
| &spi2 { | ||
| pinctrl-0 = <&spi2_nss_pa11 &spi2_sck_pa12 &spi2_miso_pb14 &spi2_mosi_pb15>; | ||
| pinctrl-names = "default"; | ||
|
|
@@ -265,3 +271,9 @@ zephyr_udc0: &usbotg_hs { | |
| phys = <&otghs_ulpi_phy>; | ||
| status = "okay"; | ||
| }; | ||
|
|
||
| /* alias used by display shields */ | ||
| zephyr_mipi_dsi: &mipi_dsi {}; | ||
|
|
||
| /* alias used by LCD display shields */ | ||
| zephyr_lcd_controller: <dc {}; | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -64,13 +64,37 @@ | |
| led1 = &orange_led_2; | ||
| sw0 = &wake_up; | ||
| }; | ||
|
|
||
| dsi_lcd_qsh_030: connector_dsi_lcd { | ||
| compatible = "st,dsi-lcd-qsh-030"; | ||
erwango marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| #gpio-cells = <2>; | ||
| gpio-map-mask = <0xffffffff 0xffffffc0>; | ||
| gpio-map-pass-thru = <0 0x3f>; | ||
| gpio-map = <4 0 &gpiok 7 0>, /* TOUCH_INT */ | ||
| <35 0 &gpioe 5 0>, /* SCLK/MCLK */ | ||
| <39 0 &gpioe 6 0>, /* I2S */ | ||
| <40 0 &gpiod 13 0>, /* I2C4_SDA */ | ||
| <44 0 &gpiod 12 0>, /* I2C4_SCL */ | ||
| <45 0 &gpioa 8 0>, /* CEC_CLK */ | ||
| <47 0 &gpiob 6 0>, /* CEC */ | ||
| <49 0 &gpioj 2 0>, /* DSI_TE */ | ||
| <53 0 &gpioj 12 0>, /* LCD_BL_CTRL */ | ||
| <57 0 &gpiog 3 0>; /* DSI_RESET */ | ||
| }; | ||
| }; | ||
|
|
||
| &clk_hse { | ||
| clock-frequency = <DT_FREQ_M(25)>; | ||
| status = "okay"; | ||
| }; | ||
|
|
||
| qsh_030_i2c: &i2c4 { | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Already exists below, was added in 330abc4 |
||
| pinctrl-0 = <&i2c4_scl_pd12 &i2c4_sda_pd13>; | ||
| pinctrl-names = "default"; | ||
| clock-frequency = <I2C_BITRATE_FAST>; | ||
| status = "okay"; | ||
| }; | ||
|
|
||
| &clk_hsi48 { | ||
| status = "okay"; | ||
| }; | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -15,6 +15,24 @@ tests: | |
| - CONFIG_SDL_DISPLAY=n | ||
| - CONFIG_TEST=y | ||
| tags: display | ||
| sample.display.max7219: | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. !?? |
||
| platform_allow: nrf52840dk/nrf52840 | ||
| extra_args: SHIELD=max7219_8x8 | ||
| tags: | ||
| - display | ||
| - shield | ||
| harness: console | ||
| harness_config: | ||
| fixture: fixture_display | ||
| sample.display.st_b_lcd40_dsi1_mb1166: | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
|
||
| filter: dt_compat_enabled("orisetech,otm8009a") | ||
| platform_allow: | ||
| - stm32h747i_disco/stm32h747xx/m7 | ||
| - stm32f769i_disco | ||
| extra_args: SHIELD=st_b_lcd40_dsi1_mb1166 | ||
| tags: | ||
| - display | ||
| - shield | ||
| harness: console | ||
| harness_config: | ||
| fixture: fixture_display | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: 2025