Commit c745b50c924ae60269a66a33bb1f2b8f7dd5a7e5
1 parent
b7fe5ca10c
Exists in
smarc_8mq_lf_v2020.04
and in
4 other branches
MLK-23964-17 imx8mm_evk: Enable video splash screen on DDR4 and LPDDR4 EVK
Update board codes and DTS files to add display relevant nodes and configurations. Support two video links with MIPI DSI: 1. MIPI DSI to HDMI convertor, this is default 2. RM67191 panel Signed-off-by: Ye Li <ye.li@nxp.com> (cherry picked from commit 05498bdd53c77c5d6ead68da82cd34afde0ba17a)
Showing 9 changed files with 155 additions and 1 deletions Side-by-side Diff
arch/arm/dts/imx8mm-evk-u-boot.dtsi
... | ... | @@ -169,4 +169,17 @@ |
169 | 169 | assigned-clocks = <&clk IMX8MM_CLK_QSPI>; |
170 | 170 | assigned-clock-parents = <&clk IMX8MM_SYS_PLL1_100M>; |
171 | 171 | }; |
172 | + | |
173 | +&lcdif { | |
174 | + enable_polarity_low; | |
175 | + /delete-property/ assigned-clocks; | |
176 | + /delete-property/ assigned-clock-parents; | |
177 | + /delete-property/ assigned-clock-rates; | |
178 | +}; | |
179 | + | |
180 | +&mipi_dsi { | |
181 | + /delete-property/ assigned-clocks; | |
182 | + /delete-property/ assigned-clock-parents; | |
183 | + /delete-property/ assigned-clock-rates; | |
184 | +}; |
arch/arm/dts/imx8mm-evk.dts
... | ... | @@ -71,6 +71,32 @@ |
71 | 71 | clocks = <&clk IMX8MM_CLK_SAI3_ROOT>; |
72 | 72 | }; |
73 | 73 | }; |
74 | + | |
75 | + dsi_host: dsi-host { | |
76 | + compatible = "samsung,sec-mipi-dsi"; | |
77 | + status = "okay"; | |
78 | + }; | |
79 | + | |
80 | + rm67191_panel { | |
81 | + compatible = "raydium,rm67191"; | |
82 | + pinctrl-names = "default"; | |
83 | + pinctrl-0 = <&pinctrl_mipi_dsi_en>; | |
84 | + reset-gpio = <&gpio1 8 GPIO_ACTIVE_LOW>; | |
85 | + dsi-lanes = <4>; | |
86 | + video-mode = <2>; /* 0: burst mode | |
87 | + * 1: non-burst mode with sync event | |
88 | + * 2: non-burst mode with sync pulse | |
89 | + */ | |
90 | + panel-width-mm = <68>; | |
91 | + panel-height-mm = <121>; | |
92 | + status = "okay"; | |
93 | + | |
94 | + port { | |
95 | + rm67191_from_dsim: endpoint { | |
96 | + remote-endpoint = <&dsim_to_rm67191>; | |
97 | + }; | |
98 | + }; | |
99 | + }; | |
74 | 100 | }; |
75 | 101 | |
76 | 102 | &A53_0 { |
... | ... | @@ -237,6 +263,20 @@ |
237 | 263 | sda-gpios = <&gpio5 17 GPIO_ACTIVE_HIGH>; |
238 | 264 | status = "okay"; |
239 | 265 | |
266 | + adv_bridge: adv7535@3d { | |
267 | + compatible = "adi,adv7533"; | |
268 | + reg = <0x3d>; | |
269 | + adi,addr-cec = <0x3c>; | |
270 | + adi,dsi-lanes = <4>; | |
271 | + status = "okay"; | |
272 | + | |
273 | + port { | |
274 | + adv7535_from_dsim: endpoint { | |
275 | + remote-endpoint = <&dsim_to_adv7535>; | |
276 | + }; | |
277 | + }; | |
278 | + }; | |
279 | + | |
240 | 280 | ptn5110: tcpc@50 { |
241 | 281 | compatible = "nxp,ptn5110"; |
242 | 282 | pinctrl-names = "default"; |
... | ... | @@ -354,6 +394,32 @@ |
354 | 394 | status = "okay"; |
355 | 395 | }; |
356 | 396 | |
397 | +&lcdif { | |
398 | + display = <&display0>; | |
399 | + status = "okay"; | |
400 | + | |
401 | + display0: display@0 { | |
402 | + bits-per-pixel = <24>; | |
403 | + bus-width = <24>; | |
404 | + }; | |
405 | +}; | |
406 | + | |
407 | +&mipi_dsi { | |
408 | + status = "okay"; | |
409 | + | |
410 | + port@1 { | |
411 | + dsim_to_adv7535: endpoint { | |
412 | + remote-endpoint = <&adv7535_from_dsim>; | |
413 | + }; | |
414 | + }; | |
415 | + | |
416 | + port@2 { | |
417 | + dsim_to_rm67191: endpoint { | |
418 | + remote-endpoint = <&rm67191_from_dsim>; | |
419 | + }; | |
420 | + }; | |
421 | +}; | |
422 | + | |
357 | 423 | &iomuxc { |
358 | 424 | pinctrl-names = "default"; |
359 | 425 | |
... | ... | @@ -569,6 +635,12 @@ |
569 | 635 | pinctrl_wdog: wdoggrp { |
570 | 636 | fsl,pins = < |
571 | 637 | MX8MM_IOMUXC_GPIO1_IO02_WDOG1_WDOG_B 0xc6 |
638 | + >; | |
639 | + }; | |
640 | + | |
641 | + pinctrl_mipi_dsi_en: mipi_dsi_en { | |
642 | + fsl,pins = < | |
643 | + MX8MM_IOMUXC_GPIO1_IO08_GPIO1_IO8 0x19 | |
572 | 644 | >; |
573 | 645 | }; |
574 | 646 | }; |
arch/arm/dts/imx8mm.dtsi
... | ... | @@ -40,6 +40,7 @@ |
40 | 40 | spi0 = &flexspi; |
41 | 41 | usb0 = &usbotg1; |
42 | 42 | usb1 = &usbotg2; |
43 | + video0 = &lcdif; | |
43 | 44 | }; |
44 | 45 | |
45 | 46 | cpus { |
... | ... | @@ -1030,7 +1031,7 @@ |
1030 | 1031 | assigned-clock-parents = <&clk IMX8MM_VIDEO_PLL1_OUT>, |
1031 | 1032 | <&clk IMX8MM_SYS_PLL2_1000M>, |
1032 | 1033 | <&clk IMX8MM_SYS_PLL1_800M>; |
1033 | - assigned-clock-rate = <594000000>, <500000000>, <200000000>; | |
1034 | + assigned-clock-rates = <594000000>, <500000000>, <200000000>; | |
1034 | 1035 | interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>; |
1035 | 1036 | lcdif-gpr = <&dispmix_gpr>; |
1036 | 1037 | resets = <&lcdif_resets>; |
... | ... | @@ -1278,6 +1279,11 @@ |
1278 | 1279 | #address-cells = <1>; |
1279 | 1280 | #size-cells = <0>; |
1280 | 1281 | #reset-cells = <0>; |
1282 | + | |
1283 | + lcdif-soft-resetn { | |
1284 | + compatible = "lcdif,soft-resetn"; | |
1285 | + resets = <&dispmix_sft_rstn IMX8MM_BUS_RSTN_BLK_SYNC>; | |
1286 | + }; | |
1281 | 1287 | |
1282 | 1288 | lcdif-clk-enable { |
1283 | 1289 | compatible = "lcdif,clk-enable"; |
board/freescale/imx8mm_evk/imx8mm_evk.c
... | ... | @@ -287,6 +287,11 @@ |
287 | 287 | |
288 | 288 | #endif |
289 | 289 | |
290 | +#define FSL_SIP_GPC 0xC2000000 | |
291 | +#define FSL_SIP_CONFIG_GPC_PM_DOMAIN 0x3 | |
292 | +#define DISPMIX 9 | |
293 | +#define MIPI 10 | |
294 | + | |
290 | 295 | int board_init(void) |
291 | 296 | { |
292 | 297 | #ifdef CONFIG_USB_TCPC |
... | ... | @@ -295,6 +300,9 @@ |
295 | 300 | |
296 | 301 | if (IS_ENABLED(CONFIG_FEC_MXC)) |
297 | 302 | setup_fec(); |
303 | + | |
304 | + call_imx_sip(FSL_SIP_GPC, FSL_SIP_CONFIG_GPC_PM_DOMAIN, DISPMIX, true, 0); | |
305 | + call_imx_sip(FSL_SIP_GPC, FSL_SIP_CONFIG_GPC_PM_DOMAIN, MIPI, true, 0); | |
298 | 306 | |
299 | 307 | return 0; |
300 | 308 | } |
configs/imx8mm_ddr4_evk_defconfig
... | ... | @@ -124,4 +124,14 @@ |
124 | 124 | CONFIG_NAND_MXS_DT=y |
125 | 125 | |
126 | 126 | CONFIG_OF_LIBFDT_OVERLAY=y |
127 | + | |
128 | +CONFIG_REGMAP=y | |
129 | +CONFIG_SYSCON=y | |
130 | +CONFIG_DM_RESET=y | |
131 | +CONFIG_RESET_DISPMIX=y | |
132 | +CONFIG_VIDEO_IMX_SEC_DSI=y | |
133 | +CONFIG_DM_VIDEO=y | |
134 | +CONFIG_VIDEO_LCD_RAYDIUM_RM67191=y | |
135 | +CONFIG_VIDEO_ADV7535=y | |
136 | +CONFIG_SYS_WHITE_ON_BLACK=y |
configs/imx8mm_ddr4_evk_nand_defconfig
... | ... | @@ -127,4 +127,14 @@ |
127 | 127 | CONFIG_NAND_MXS_DT=y |
128 | 128 | |
129 | 129 | CONFIG_OF_LIBFDT_OVERLAY=y |
130 | + | |
131 | +CONFIG_REGMAP=y | |
132 | +CONFIG_SYSCON=y | |
133 | +CONFIG_DM_RESET=y | |
134 | +CONFIG_RESET_DISPMIX=y | |
135 | +CONFIG_VIDEO_IMX_SEC_DSI=y | |
136 | +CONFIG_DM_VIDEO=y | |
137 | +CONFIG_VIDEO_LCD_RAYDIUM_RM67191=y | |
138 | +CONFIG_VIDEO_ADV7535=y | |
139 | +CONFIG_SYS_WHITE_ON_BLACK=y |
configs/imx8mm_evk_defconfig
... | ... | @@ -129,4 +129,14 @@ |
129 | 129 | CONFIG_SDP_LOADADDR=0x40400000 |
130 | 130 | |
131 | 131 | CONFIG_OF_LIBFDT_OVERLAY=y |
132 | + | |
133 | +CONFIG_REGMAP=y | |
134 | +CONFIG_SYSCON=y | |
135 | +CONFIG_DM_RESET=y | |
136 | +CONFIG_RESET_DISPMIX=y | |
137 | +CONFIG_VIDEO_IMX_SEC_DSI=y | |
138 | +CONFIG_DM_VIDEO=y | |
139 | +CONFIG_VIDEO_LCD_RAYDIUM_RM67191=y | |
140 | +CONFIG_VIDEO_ADV7535=y | |
141 | +CONFIG_SYS_WHITE_ON_BLACK=y |
configs/imx8mm_evk_fspi_defconfig
... | ... | @@ -130,4 +130,14 @@ |
130 | 130 | CONFIG_SDP_LOADADDR=0x40400000 |
131 | 131 | |
132 | 132 | CONFIG_OF_LIBFDT_OVERLAY=y |
133 | + | |
134 | +CONFIG_REGMAP=y | |
135 | +CONFIG_SYSCON=y | |
136 | +CONFIG_DM_RESET=y | |
137 | +CONFIG_RESET_DISPMIX=y | |
138 | +CONFIG_VIDEO_IMX_SEC_DSI=y | |
139 | +CONFIG_DM_VIDEO=y | |
140 | +CONFIG_VIDEO_LCD_RAYDIUM_RM67191=y | |
141 | +CONFIG_VIDEO_ADV7535=y | |
142 | +CONFIG_SYS_WHITE_ON_BLACK=y |
include/configs/imx8mm_evk.h
... | ... | @@ -97,6 +97,7 @@ |
97 | 97 | #if defined(CONFIG_NAND_BOOT) |
98 | 98 | #define CONFIG_EXTRA_ENV_SETTINGS \ |
99 | 99 | CONFIG_MFG_ENV_SETTINGS \ |
100 | + "splashimage=0x50000000\0" \ | |
100 | 101 | "fdt_addr=0x43000000\0" \ |
101 | 102 | "fdt_high=0xffffffffffffffff\0" \ |
102 | 103 | "mtdparts=" MFG_NAND_PARTITION "\0" \ |
... | ... | @@ -115,6 +116,7 @@ |
115 | 116 | JAILHOUSE_ENV \ |
116 | 117 | "script=boot.scr\0" \ |
117 | 118 | "image=Image\0" \ |
119 | + "splashimage=0x50000000\0" \ | |
118 | 120 | "console=ttymxc1,115200\0" \ |
119 | 121 | "fdt_addr=0x43000000\0" \ |
120 | 122 | "fdt_high=0xffffffffffffffff\0" \ |
... | ... | @@ -272,6 +274,19 @@ |
272 | 274 | |
273 | 275 | #define CONFIG_MXC_USB_PORTSC (PORT_PTS_UTMI | PORT_PTS_PTW) |
274 | 276 | #define CONFIG_USB_MAX_CONTROLLER_COUNT 2 |
277 | + | |
278 | +#ifdef CONFIG_DM_VIDEO | |
279 | +#define CONFIG_VIDEO_MXS | |
280 | +#define CONFIG_VIDEO_LOGO | |
281 | +#define CONFIG_SPLASH_SCREEN | |
282 | +#define CONFIG_SPLASH_SCREEN_ALIGN | |
283 | +#define CONFIG_CMD_BMP | |
284 | +#define CONFIG_BMP_16BPP | |
285 | +#define CONFIG_BMP_24BPP | |
286 | +#define CONFIG_BMP_32BPP | |
287 | +#define CONFIG_VIDEO_BMP_RLE8 | |
288 | +#define CONFIG_VIDEO_BMP_LOGO | |
289 | +#endif | |
275 | 290 | |
276 | 291 | #endif |
-
mentioned in commit b36a4a