Registered User mNo edit summary |
Registered User mNo edit summary Tag: 2017 source edit |
||
(23 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{ApplicableFor | |||
|MPUs list=STM32MP13x, STM32MP15x, STM32MP25x | |||
|MPUs checklist=STM32MP13x, STM32MP15x, STM32MP25x | |||
}} | |||
<noinclude></noinclude> | |||
== Article purpose == | == Article purpose == | ||
The purpose of this article is to: | The purpose of this article is to: | ||
* List the display panel hardware components that might be integrated in the different [[:Category: | * List the display panel hardware components that might be integrated in the different [[:Category:STM32_MPU_boards|boards]]. | ||
* Link these components to the corresponding software framework(s). | * Link these components to the corresponding software framework(s). | ||
* Point to the appropriate component datasheets. | * Point to the appropriate component datasheets. | ||
* Explain, when necessary, how to configure these components. | * Explain, when necessary, how to configure these components. | ||
{{Info|Some of these hardware components are part of the [https://www.st.com/en/evaluation-tools/accessories-for-stm32-boards/products.html accessories for STM32 boards] like the [https://www.st.com/en/evaluation-tools/b-lvds7-wsvga.html B-LVDS7-WSVGA] and the [https://www.st.com/en/evaluation-tools/b-lcd40-dsi1.html B-LCDAD-RPI1] for instance.}} | |||
== Software frameworks == | == Software frameworks == | ||
{{:STM32MP15_internal_peripherals_software_table_template}} | {{:STM32MP15_internal_peripherals_software_table_template}} | ||
| Visual | | Visual | ||
| [[# | | [[#Raydium_RM68200_(MIPI%C2%AE_DSI) | Raydium RM68200 (MIPI<sup>®</sup> DSI)]] | ||
| | |||
| [[DRM KMS overview | DRM/KMS framework]] | |||
| | |||
| MIPI<sup>®</sup> DSI panel driver | |||
|- | |||
| Visual | |||
| [[#Orise_Tech_OTM8009a_(MIPI%C2%AE_DSI) | Orise Tech OTM8009a (MIPI<sup>®</sup> DSI)]] | |||
| | |||
| [[DRM KMS overview | DRM/KMS framework]] | |||
| | |||
| MIPI<sup>®</sup> DSI panel driver | |||
|- | |||
| Visual | |||
| [[#EDT_ETML0700Z9NDHA_(LVDS) | EDT ETML0700Z9NDHA (LVDS)]] | |||
| | | | ||
| [[DRM KMS overview | DRM/KMS framework]] | | [[DRM KMS overview | DRM/KMS framework]] | ||
| | | | ||
| | | LVDS panel driver | ||
|- | |- | ||
| Visual | | Visual | ||
| [[# | | [[#Raspberry_Pi_7"_Touch_(MIPI%C2%AE_DSI) | Raspberry Pi 7" Touch (MIPI<sup>®</sup> DSI)]] | ||
| | | | ||
| [[DRM KMS overview | DRM/KMS framework]] | | [[DRM KMS overview | DRM/KMS framework]] | ||
| | | | ||
| DSI panel driver | | MIPI<sup>®</sup> DSI panel driver | ||
|- | |- | ||
| Visual | | Visual | ||
| [[# | | [[#Rocktech_rk043fn48h_(Parallel_RGB_DPI) | Rocktech rk043fn48h (Parallel RGB DPI)]] | ||
| | | | ||
| [[DRM KMS overview | DRM/KMS framework]] | | [[DRM KMS overview | DRM/KMS framework]] | ||
| | | | ||
| | | Parallel RGB (DPI) panel driver | ||
|} | |} | ||
== Raydium RM68200 == | == Raydium RM68200 (MIPI<sup>®</sup> DSI) == | ||
The Raydium RM68200 is a single-chip solution for a-Si TFT LCD that incorporates gate drivers and is capable of driving | The Raydium RM68200 is a single-chip solution for a-Si TFT LCD that incorporates gate drivers and is capable of driving | ||
different panel resolutions. It supports MIPI<sup>®</sup> DSI Interface. | different panel resolutions. It supports MIPI<sup>®</sup> DSI Interface. | ||
For details and the datasheet please contact the RM68200 driver provider. | For details and the datasheet please contact the RM68200 driver provider. | ||
{{Info | This panel driver can be found on some [[:Category:STM32_MPU_boards| STM32MP15 Evaluation boards]].}} | |||
=== Linux driver === | === Linux driver === | ||
Line 40: | Line 64: | ||
Sources: {{CodeSource | Linux kernel | drivers/gpu/drm/panel/panel-raydium-rm68200.c}} | Sources: {{CodeSource | Linux kernel | drivers/gpu/drm/panel/panel-raydium-rm68200.c}} | ||
Configuration: DRM_PANEL_RAYDIUM_RM68200 | |||
<div class="mw-collapsible mw-collapsed" data-expandtext="Click here to show the example" data-collapsetext="Click here to hide the example"> | |||
Devicetree example: {{CodeSource | Linux kernel | arch/arm/boot/dts/stm32mp157d-ev1.dts}} | |||
<div class="mw-collapsible-content"> | |||
<syntaxhighlight lang="dts"> | |||
/ { | |||
... | |||
panel_backlight: panel-backlight { | |||
compatible = "gpio-backlight"; | |||
gpios = <&gpiod 13 GPIO_ACTIVE_LOW>; | |||
default-on; | |||
status = "okay"; | |||
}; | |||
}; | |||
&dsi { | |||
#address-cells = <1>; | |||
#size-cells = <0>; | |||
status = "okay"; | |||
ports { | |||
#address-cells = <1>; | |||
#size-cells = <0>; | |||
port@0 { | |||
reg = <0>; | |||
dsi_in: endpoint { | |||
remote-endpoint = <<dc_ep0_out>; | |||
}; | |||
}; | |||
port@1 { | |||
reg = <1>; | |||
dsi_out: endpoint { | |||
remote-endpoint = <&dsi_panel_in>; | |||
}; | |||
}; | |||
}; | |||
panel_dsi: panel-dsi@0 { | |||
compatible = "raydium,rm68200"; | |||
reg = <0>; | |||
reset-gpios = <&gpiof 15 GPIO_ACTIVE_LOW>; | |||
backlight = <&panel_backlight>; | |||
power-supply = <&v3v3>; | |||
status = "okay"; | |||
port { | |||
dsi_panel_in: endpoint { | |||
remote-endpoint = <&dsi_out>; | |||
}; | |||
}; | |||
}; | |||
}; | |||
&i2c2 { | |||
gt9147: goodix_ts@5d { | |||
compatible = "goodix,gt9147"; | |||
reg = <0x5d>; | |||
panel = <&panel_dsi>; | |||
pinctrl-0 = <&goodix_pins>; | |||
pinctrl-names = "default"; | |||
status = "okay"; | |||
interrupts = <14 IRQ_TYPE_EDGE_RISING>; | |||
interrupt-parent = <&stmfx_pinctrl>; | |||
}; | |||
}; | |||
<dc { | |||
status = "okay"; | |||
port { | |||
ltdc_ep0_out: endpoint@0 { | |||
reg = <0>; | |||
remote-endpoint = <&dsi_in>; | |||
}; | |||
}; | |||
}; | |||
</syntaxhighlight> | |||
</div> | |||
</div> | |||
=== U-Boot driver === | === U-Boot driver === | ||
Sources: {{CodeSource | U-Boot | drivers/video/raydium-rm68200.c}} | |||
== Orise Tech OTM8009a == | == Orise Tech OTM8009a (MIPI<sup>®</sup> DSI) == | ||
The Orise Tech OTM8009a is a MIPI<sup>®</sup> DSI panel driver. | The Orise Tech OTM8009a is a MIPI<sup>®</sup> DSI panel driver. | ||
For details and the datasheet please contact the OTM8009a driver provider. | For details and the datasheet please contact the OTM8009a driver provider. | ||
{{Info | This panel driver can be found on some [[:Category:STM32_MPU_boards| STM32MP15 Discovery kits]] and in the [https://www.st.com/en/evaluation-tools/b-lcd40-dsi1.html B-LCD40-DSI1] STM32 accessory.}} | |||
=== Linux driver === | === Linux driver === | ||
Line 53: | Line 163: | ||
Sources: {{CodeSource | Linux kernel | drivers/gpu/drm/panel/panel-orisetech-otm8009a.c}} | Sources: {{CodeSource | Linux kernel | drivers/gpu/drm/panel/panel-orisetech-otm8009a.c}} | ||
Configuration: DRM_PANEL_ORISETECH_OTM8009A | |||
<div class="mw-collapsible mw-collapsed" data-expandtext="Click here to show the example" data-collapsetext="Click here to hide the example"> | |||
Devicetree example: {{CodeSource | Linux kernel | arch/arm/boot/dts/stm32mp157f-dk2.dts}} | |||
<div class="mw-collapsible-content"> | |||
<syntaxhighlight lang="dts"> | |||
&dsi { | |||
status = "okay"; | |||
ports { | |||
port@0 { | |||
reg = <0>; | |||
dsi_in: endpoint { | |||
remote-endpoint = <<dc_ep1_out>; | |||
}; | |||
}; | |||
port@1 { | |||
reg = <1>; | |||
dsi_out: endpoint { | |||
remote-endpoint = <&panel_in>; | |||
}; | |||
}; | |||
}; | |||
panel_otm8009a: panel-otm8009a@0 { | |||
compatible = "orisetech,otm8009a"; | |||
reg = <0>; | |||
reset-gpios = <&gpioe 4 GPIO_ACTIVE_LOW>; | |||
power-supply = <&v3v3>; | |||
status = "okay"; | |||
port { | |||
panel_in: endpoint { | |||
remote-endpoint = <&dsi_out>; | |||
}; | |||
}; | |||
}; | |||
}; | |||
&i2c1 { | |||
touchscreen@2a { | |||
compatible = "focaltech,ft6236"; | |||
reg = <0x2a>; | |||
interrupts = <2 2>; | |||
interrupt-parent = <&gpiof>; | |||
interrupt-controller; | |||
touchscreen-size-x = <480>; | |||
touchscreen-size-y = <800>; | |||
panel = <&panel_otm8009a>; | |||
vcc-supply = <&v3v3>; | |||
iovcc-supply = <&v3v3>; | |||
status = "okay"; | |||
}; | |||
touchscreen@38 { | |||
compatible = "focaltech,ft6236"; | |||
reg = <0x38>; | |||
interrupts = <2 2>; | |||
interrupt-parent = <&gpiof>; | |||
interrupt-controller; | |||
touchscreen-size-x = <480>; | |||
touchscreen-size-y = <800>; | |||
panel = <&panel_otm8009a>; | |||
vcc-supply = <&v3v3>; | |||
iovcc-supply = <&v3v3>; | |||
status = "okay"; | |||
}; | |||
}; | |||
<dc { | |||
status = "okay"; | |||
port { | |||
ltdc_ep1_out: endpoint@1 { | |||
reg = <1>; | |||
remote-endpoint = <&dsi_in>; | |||
}; | |||
}; | |||
}; | |||
</syntaxhighlight> | |||
</div> | |||
</div> | |||
=== U-Boot driver === | === U-Boot driver === | ||
Sources: {{CodeSource | U-Boot | drivers/video/orisetech_otm8009a.c}} | |||
== EDT ETML0700Z9NDHA (LVDS) == | |||
The EDT ETML0700Z9NDHA is a LVDS panel. | |||
For details and the datasheet please contact the ETML0700Z9NDHA panel provider. | |||
{{Info | This panel can be found on some [[:Category:STM32_MPU_boards| STM32MP257F EV1 Evaluation boards]] and in the [https://www.st.com/en/evaluation-tools/b-lvds7-wsvga.html B-LVDS7-WSVGA] STM32 accessory.}} | |||
=== Linux driver === | |||
Bindings: {{CodeSource | Linux kernel | Documentation/devicetree/bindings/display/lvds.yaml}} | |||
== Raspberry Pi 7" Touch == | Sources: {{CodeSource | Linux kernel | drivers/gpu/drm/panel/panel-lvds.c}} | ||
Devicetree example: {{CodeSource | Linux kernel | arch/arm64/boot/dts/st/stm32mp257f-ev1.dts}} | |||
=== U-Boot driver === | |||
There is no software driver dedicated to this LVDS panel. This panel configuration is directly described in the [[Device tree]] and the related [[LVDS internal peripheral]] software driver is in charge of loading it. | |||
Sources: {{CodeSource | U-Boot | drivers/video/stm32/stm32_lvds.c}} (Related LVDS internal peripheral software driver) | |||
== Raspberry Pi 7" Touch (MIPI<sup>®</sup> DSI) == | |||
The Raspberry Pi 7" Touch Display is an integrated module including: | The Raspberry Pi 7" Touch Display is an integrated module including: | ||
* a DSI to DPI bridge Toshiba TC358762; | * a DSI to DPI bridge Toshiba TC358762; | ||
Line 65: | Line 278: | ||
For details and datasheet please contact the display provider | For details and datasheet please contact the display provider | ||
<ref>https://www.raspberrypi.com/products/raspberry-pi-touch-display/</ref>. | <ref>[https://www.raspberrypi.com/products/raspberry-pi-touch-display/ Raspberry Pi Touch Display]</ref>. | ||
The display can be plugged in the DSI connector CN4 of the board STM32MP157F-DK2 through the ribbon cable provided with the display. | The display can be plugged in the DSI connector CN4 of the board STM32MP157F-DK2 through the ribbon cable provided with the display. | ||
Line 74: | Line 287: | ||
* STM32MP157F-DK2 connector CN2 pin 2 to display connector GPIO pin 5V; | * STM32MP157F-DK2 connector CN2 pin 2 to display connector GPIO pin 5V; | ||
* STM32MP157F-DK2 connector CN2 pin 6 to display connector GPIO pin GND. | * STM32MP157F-DK2 connector CN2 pin 6 to display connector GPIO pin GND. | ||
{{Info | This panel can be found in the [https://www.st.com/en/evaluation-tools/b-lcdad-rpi1.html B-LCDAD-RPI1] STM32 accessory.}} | |||
=== Linux driver === | === Linux driver === | ||
Line 94: | Line 309: | ||
{{Info | Don't use the old driver {{CodeSource | Linux kernel | Documentation/devicetree/bindings/display/panel/raspberrypi,7inch-touchscreen.yaml}}.<br>It has been replaced by the new driver since kernel v5.10.}} | {{Info | Don't use the old driver {{CodeSource | Linux kernel | Documentation/devicetree/bindings/display/panel/raspberrypi,7inch-touchscreen.yaml}}.<br>It has been replaced by the new driver since kernel v5.10.}} | ||
<div class="mw-collapsible mw-collapsed" data-expandtext="Click here to show the example" data-collapsetext="Click here to hide the example"> | |||
Devicetree example: | |||
<div class="mw-collapsible | <div class="mw-collapsible-content"> | ||
<syntaxhighlight lang=" | <syntaxhighlight lang="dts"> | ||
&dsi { | &dsi { | ||
status = "okay"; | status = "okay"; | ||
Line 168: | Line 383: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
</div> | </div> | ||
</div> | |||
=== U-Boot driver === | |||
Not available. | |||
== Rocktech rk043fn48h (Parallel RGB DPI) == | |||
The Rocktech rk043fn48h is a parallel RGB panel driver. | |||
For details and the datasheet please contact the rk043fn48h driver provider. | |||
{{Info | This panel driver can be found on some [[:Category:STM32_MPU_boards | STM32MP13 Discovery kits]].}} | |||
=== Linux driver === | |||
Bindings: {{CodeSource | Linux kernel | Documentation/devicetree/bindings/display/panel/panel-dpi.yaml}} | |||
Sources: {{CodeSource | Linux kernel | drivers/gpu/drm/panel/panel-simple.c}} | |||
Configuration: DRM_PANEL_SIMPLE | |||
<div class="mw-collapsible mw-collapsed" data-expandtext="Click here to show the example" data-collapsetext="Click here to hide the example"> | |||
Devicetree example: {{CodeSource | Linux kernel | arch/arm/boot/dts/stm32mp135f-dk.dts}} | |||
<div class="mw-collapsible-content"> | |||
<syntaxhighlight lang="dts"> | |||
/ { | |||
... | |||
panel_backlight: panel-backlight { | |||
compatible = "gpio-backlight"; | |||
gpios = <&gpioe 12 GPIO_ACTIVE_HIGH>; | |||
default-on; | |||
default-brightness-level = <0>; | |||
status = "okay"; | |||
}; | |||
panel_rgb: panel-rgb { | |||
compatible = "rocktech,rk043fn48h", "panel-dpi"; | |||
enable-gpios = <&gpioi 7 GPIO_ACTIVE_HIGH>; | |||
backlight = <&panel_backlight>; | |||
power-supply = <&scmi_v3v3_sw>; | |||
status = "okay"; | |||
width-mm = <105>; | |||
height-mm = <67>; | |||
port { | |||
panel_in_rgb: endpoint { | |||
remote-endpoint = <<dc_out_rgb>; | |||
}; | |||
}; | |||
panel-timing { | |||
clock-frequency = <10000000>; | |||
hactive = <480>; | |||
vactive = <272>; | |||
hsync-len = <52>; | |||
hfront-porch = <10>; | |||
hback-porch = <10>; | |||
vsync-len = <10>; | |||
vfront-porch = <10>; | |||
vback-porch = <10>; | |||
}; | |||
}; | |||
... | |||
}; | |||
&i2c5 { | |||
... | |||
goodix: goodix_ts@5d { | |||
compatible = "goodix,gt911"; | |||
reg = <0x5d>; | |||
pinctrl-names = "default"; | |||
pinctrl-0 = <&goodix_pins_a>; | |||
interrupt-parent = <&gpiof>; | |||
interrupts = <5 IRQ_TYPE_EDGE_FALLING>; | |||
reset-gpios = <&gpioh 2 GPIO_ACTIVE_LOW>; | |||
AVDD28-supply = <&scmi_v3v3_sw>; | |||
VDDIO-supply = <&scmi_v3v3_sw>; | |||
touchscreen-size-x = <480>; | |||
touchscreen-size-y = <272>; | |||
status = "okay" ; | |||
}; | |||
}; | |||
<dc { | |||
pinctrl-names = "default", "sleep"; | |||
pinctrl-0 = <<dc_pins_a>; | |||
pinctrl-1 = <<dc_sleep_pins_a>; | |||
status = "okay"; | |||
port { | |||
#address-cells = <1>; | |||
#size-cells = <0>; | |||
ltdc_out_rgb: endpoint@0 { | |||
reg = <0>; | |||
remote-endpoint = <&panel_in_rgb>; | |||
}; | |||
}; | |||
}; | |||
</syntaxhighlight> | |||
</div> | |||
</div> | |||
<div class="mw-collapsible mw-collapsed" data-expandtext="Click here to show the example" data-collapsetext="Click here to hide the example"> | |||
Devicetree pin control bindings example: {{CodeSource | Linux kernel | arch/arm/boot/dts/stm32mp13-pinctrl.dtsi}} | |||
<div class="mw-collapsible-content"> | |||
<syntaxhighlight lang="dts"> | |||
&pinctrl { | |||
... | |||
ltdc_pins_a: ltdc-0 { | |||
pins { | |||
pinmux = <STM32_PINMUX('D', 9, AF13)>, /* LCD_CLK */ | |||
<STM32_PINMUX('C', 6, AF14)>, /* LCD_HSYNC */ | |||
<STM32_PINMUX('G', 4, AF11)>, /* LCD_VSYNC */ | |||
<STM32_PINMUX('H', 9, AF11)>, /* LCD_DE */ | |||
<STM32_PINMUX('G', 7, AF14)>, /* LCD_R2 */ | |||
<STM32_PINMUX('B', 12, AF13)>, /* LCD_R3 */ | |||
<STM32_PINMUX('D', 14, AF14)>, /* LCD_R4 */ | |||
<STM32_PINMUX('E', 7, AF14)>, /* LCD_R5 */ | |||
<STM32_PINMUX('E', 13, AF14)>, /* LCD_R6 */ | |||
<STM32_PINMUX('E', 9, AF14)>, /* LCD_R7 */ | |||
<STM32_PINMUX('H', 13, AF14)>, /* LCD_G2 */ | |||
<STM32_PINMUX('F', 3, AF14)>, /* LCD_G3 */ | |||
<STM32_PINMUX('D', 5, AF14)>, /* LCD_G4 */ | |||
<STM32_PINMUX('G', 0, AF14)>, /* LCD_G5 */ | |||
<STM32_PINMUX('C', 7, AF14)>, /* LCD_G6 */ | |||
<STM32_PINMUX('A', 15, AF11)>, /* LCD_G7 */ | |||
<STM32_PINMUX('D', 10, AF14)>, /* LCD_B2 */ | |||
<STM32_PINMUX('F', 2, AF14)>, /* LCD_B3 */ | |||
<STM32_PINMUX('H', 14, AF11)>, /* LCD_B4 */ | |||
<STM32_PINMUX('E', 0, AF14)>, /* LCD_B5 */ | |||
<STM32_PINMUX('B', 6, AF7)>, /* LCD_B6 */ | |||
<STM32_PINMUX('F', 1, AF13)>; /* LCD_B7 */ | |||
bias-disable; | |||
drive-push-pull; | |||
slew-rate = <0>; | |||
}; | |||
}; | |||
ltdc_sleep_pins_a: ltdc-sleep-0 { | |||
pins { | |||
pinmux = <STM32_PINMUX('D', 9, ANALOG)>, /* LCD_CLK */ | |||
<STM32_PINMUX('C', 6, ANALOG)>, /* LCD_HSYNC */ | |||
<STM32_PINMUX('G', 4, ANALOG)>, /* LCD_VSYNC */ | |||
<STM32_PINMUX('H', 9, ANALOG)>, /* LCD_DE */ | |||
<STM32_PINMUX('G', 7, ANALOG)>, /* LCD_R2 */ | |||
<STM32_PINMUX('B', 12, ANALOG)>, /* LCD_R3 */ | |||
<STM32_PINMUX('D', 14, ANALOG)>, /* LCD_R4 */ | |||
<STM32_PINMUX('E', 7, ANALOG)>, /* LCD_R5 */ | |||
<STM32_PINMUX('E', 13, ANALOG)>, /* LCD_R6 */ | |||
<STM32_PINMUX('E', 9, ANALOG)>, /* LCD_R7 */ | |||
<STM32_PINMUX('H', 13, ANALOG)>, /* LCD_G2 */ | |||
<STM32_PINMUX('F', 3, ANALOG)>, /* LCD_G3 */ | |||
<STM32_PINMUX('D', 5, ANALOG)>, /* LCD_G4 */ | |||
<STM32_PINMUX('G', 0, ANALOG)>, /* LCD_G5 */ | |||
<STM32_PINMUX('C', 7, ANALOG)>, /* LCD_G6 */ | |||
<STM32_PINMUX('A', 15, ANALOG)>, /* LCD_G7 */ | |||
<STM32_PINMUX('D', 10, ANALOG)>, /* LCD_B2 */ | |||
<STM32_PINMUX('F', 2, ANALOG)>, /* LCD_B3 */ | |||
<STM32_PINMUX('H', 14, ANALOG)>, /* LCD_B4 */ | |||
<STM32_PINMUX('E', 0, ANALOG)>, /* LCD_B5 */ | |||
<STM32_PINMUX('B', 6, ANALOG)>, /* LCD_B6 */ | |||
<STM32_PINMUX('F', 1, ANALOG)>; /* LCD_B7 */ | |||
}; | |||
}; | |||
}; | |||
</syntaxhighlight> | |||
</div> | |||
</div> | |||
=== U-Boot driver === | === U-Boot driver === | ||
There is no software driver dedicated to this panel. This panel configuration is directly described in the [[Device tree]] and the related '''U-Boot panel simple''' software driver is in charge of loading it. | |||
Sources: {{CodeSource | U-Boot | drivers/video/simple_panel.c}} (Related panel simple software driver) | |||
==References== | |||
<references/> | |||
<noinclude> | <noinclude> |
Latest revision as of 14:00, 30 July 2024
1. Article purpose
The purpose of this article is to:
- List the display panel hardware components that might be integrated in the different boards.
- Link these components to the corresponding software framework(s).
- Point to the appropriate component datasheets.
- Explain, when necessary, how to configure these components.
2. Software frameworks
Domain | Peripheral | Software components | Comment | ||
---|---|---|---|---|---|
OP-TEE | Linux | STM32Cube | |||
Visual | Raydium RM68200 (MIPI® DSI) | DRM/KMS framework | MIPI® DSI panel driver | ||
Visual | Orise Tech OTM8009a (MIPI® DSI) | DRM/KMS framework | MIPI® DSI panel driver | ||
Visual | EDT ETML0700Z9NDHA (LVDS) | DRM/KMS framework | LVDS panel driver | ||
Visual | Raspberry Pi 7" Touch (MIPI® DSI) | DRM/KMS framework | MIPI® DSI panel driver | ||
Visual | Rocktech rk043fn48h (Parallel RGB DPI) | DRM/KMS framework | Parallel RGB (DPI) panel driver |
3. Raydium RM68200 (MIPI® DSI)
The Raydium RM68200 is a single-chip solution for a-Si TFT LCD that incorporates gate drivers and is capable of driving different panel resolutions. It supports MIPI® DSI Interface.
For details and the datasheet please contact the RM68200 driver provider.
3.1. Linux driver
Bindings: Documentation/devicetree/bindings/display/panel/raydium,rm68200.yaml
Sources: drivers/gpu/drm/panel/panel-raydium-rm68200.c
Configuration: DRM_PANEL_RAYDIUM_RM68200
Devicetree example: arch/arm/boot/dts/stm32mp157d-ev1.dts
3.2. U-Boot driver
Sources: drivers/video/raydium-rm68200.c
4. Orise Tech OTM8009a (MIPI® DSI)
The Orise Tech OTM8009a is a MIPI® DSI panel driver.
For details and the datasheet please contact the OTM8009a driver provider.
4.1. Linux driver
Bindings: Documentation/devicetree/bindings/display/panel/orisetech,otm8009a.yaml
Sources: drivers/gpu/drm/panel/panel-orisetech-otm8009a.c
Configuration: DRM_PANEL_ORISETECH_OTM8009A
Devicetree example: arch/arm/boot/dts/stm32mp157f-dk2.dts
4.2. U-Boot driver
Sources: drivers/video/orisetech_otm8009a.c
5. EDT ETML0700Z9NDHA (LVDS)
The EDT ETML0700Z9NDHA is a LVDS panel.
For details and the datasheet please contact the ETML0700Z9NDHA panel provider.
5.1. Linux driver
Bindings: Documentation/devicetree/bindings/display/lvds.yaml
Sources: drivers/gpu/drm/panel/panel-lvds.c
Devicetree example: arch/arm64/boot/dts/st/stm32mp257f-ev1.dts
5.2. U-Boot driver
There is no software driver dedicated to this LVDS panel. This panel configuration is directly described in the Device tree and the related LVDS internal peripheral software driver is in charge of loading it.
Sources: drivers/video/stm32/stm32_lvds.c (Related LVDS internal peripheral software driver)
6. Raspberry Pi 7" Touch (MIPI® DSI)
The Raspberry Pi 7" Touch Display is an integrated module including:
- a DSI to DPI bridge Toshiba TC358762;
- a DPI panel 800x480 7 inches with touchscreen;
- a power controller;
- a touchscreen controller.
For details and datasheet please contact the display provider [1].
The display can be plugged in the DSI connector CN4 of the board STM32MP157F-DK2 through the ribbon cable provided with the display.
Pay attention that the connector CN4 is wider than the ribbon cable; the proper connection requires the pin 1 of the ribbon cable to be plugged at the pin 1 of CN4. This requires the ribbon cable to touch only the edge of the connector CN4 that is closer to the ethernet plug, thus having empty space between the ribbon cable and the other edge of the connector CN4.
Two additional wires for 5V supply and GND are required between STM32MP157F-DK2 board and the display. Don't use a USB cable to power the display from the board because the board's USB plugs would be enabled too late for the display to operate. Use instead two of the spare wires provided with the display and connect:
- STM32MP157F-DK2 connector CN2 pin 2 to display connector GPIO pin 5V;
- STM32MP157F-DK2 connector CN2 pin 6 to display connector GPIO pin GND.
6.1. Linux driver
Bindings:
- Documentation/devicetree/bindings/display/bridge/toshiba,tc358762.yaml
- Documentation/devicetree/bindings/display/panel/panel-simple.yaml
- Documentation/devicetree/bindings/regulator/raspberrypi,7inch-touchscreen-panel-regulator.yaml
Sources:
- drivers/gpu/drm/bridge/tc358762.c
- drivers/gpu/drm/panel/panel-simple.c
- drivers/regulator/rpi-panel-attiny-regulator.c
Configuration:
- DRM_TOSHIBA_TC358762
- DRM_PANEL_SIMPLE
- REGULATOR_RASPBERRYPI_TOUCHSCREEN_ATTINY
Devicetree example:
6.2. U-Boot driver
Not available.
7. Rocktech rk043fn48h (Parallel RGB DPI)
The Rocktech rk043fn48h is a parallel RGB panel driver.
For details and the datasheet please contact the rk043fn48h driver provider.
7.1. Linux driver
Bindings: Documentation/devicetree/bindings/display/panel/panel-dpi.yaml
Sources: drivers/gpu/drm/panel/panel-simple.c
Configuration: DRM_PANEL_SIMPLE
Devicetree example: arch/arm/boot/dts/stm32mp135f-dk.dts
Devicetree pin control bindings example: arch/arm/boot/dts/stm32mp13-pinctrl.dtsi
7.2. U-Boot driver
There is no software driver dedicated to this panel. This panel configuration is directly described in the Device tree and the related U-Boot panel simple software driver is in charge of loading it.
Sources: drivers/video/simple_panel.c (Related panel simple software driver)
8. References