Commit 8b86cde1e6b9c5a9d0a22a5602d4e2c57293d6eb

Authored by Ye Li
1 parent 0d1c2404e1

MLK-23964-26 mx7dsabresd: Convert to DM video and enable splash screen

Enable the splash screen basing on video link and DM video
Update the DTS to fix the bpp in lcdif node and add alias

Signed-off-by: Ye Li <ye.li@nxp.com>
(cherry picked from commit d27ebc05a6620cf66d568c7c7224e7fa449eaa73)

Showing 11 changed files with 29 additions and 72 deletions Side-by-side Diff

arch/arm/dts/imx7d-sdb.dts
... ... @@ -602,7 +602,7 @@
602 602 status = "okay";
603 603  
604 604 display0: display@0 {
605   - bits-per-pixel = <16>;
  605 + bits-per-pixel = <24>;
606 606 bus-width = <24>;
607 607  
608 608 display-timings {
... ... @@ -1000,7 +1000,7 @@
1000 1000 MX7D_PAD_LCD_ENABLE__LCD_ENABLE 0x79
1001 1001 MX7D_PAD_LCD_VSYNC__LCD_VSYNC 0x79
1002 1002 MX7D_PAD_LCD_HSYNC__LCD_HSYNC 0x79
1003   - MX7D_PAD_LCD_RESET__LCD_RESET 0x79
  1003 + MX7D_PAD_LCD_RESET__GPIO3_IO4 0x80000000
1004 1004 >;
1005 1005 };
1006 1006  
arch/arm/dts/imx7s.dtsi
... ... @@ -88,6 +88,7 @@
88 88 ethernet0 = &fec1;
89 89 usb0 = &usbotg1;
90 90 usbgadget0 = &usbg1;
  91 + video0 = &lcdif;
91 92 };
92 93  
93 94 cpus {
board/freescale/mx7dsabresd/mx7dsabresd.c
... ... @@ -163,37 +163,8 @@
163 163 }
164 164 #endif
165 165  
166   -#ifdef CONFIG_VIDEO_MXS
  166 +#ifdef CONFIG_DM_VIDEO
167 167 static iomux_v3_cfg_t const lcd_pads[] = {
168   - MX7D_PAD_LCD_CLK__LCD_CLK | MUX_PAD_CTRL(LCD_PAD_CTRL),
169   - MX7D_PAD_LCD_ENABLE__LCD_ENABLE | MUX_PAD_CTRL(LCD_PAD_CTRL),
170   - MX7D_PAD_LCD_HSYNC__LCD_HSYNC | MUX_PAD_CTRL(LCD_PAD_CTRL),
171   - MX7D_PAD_LCD_VSYNC__LCD_VSYNC | MUX_PAD_CTRL(LCD_PAD_CTRL),
172   - MX7D_PAD_LCD_DATA00__LCD_DATA0 | MUX_PAD_CTRL(LCD_PAD_CTRL),
173   - MX7D_PAD_LCD_DATA01__LCD_DATA1 | MUX_PAD_CTRL(LCD_PAD_CTRL),
174   - MX7D_PAD_LCD_DATA02__LCD_DATA2 | MUX_PAD_CTRL(LCD_PAD_CTRL),
175   - MX7D_PAD_LCD_DATA03__LCD_DATA3 | MUX_PAD_CTRL(LCD_PAD_CTRL),
176   - MX7D_PAD_LCD_DATA04__LCD_DATA4 | MUX_PAD_CTRL(LCD_PAD_CTRL),
177   - MX7D_PAD_LCD_DATA05__LCD_DATA5 | MUX_PAD_CTRL(LCD_PAD_CTRL),
178   - MX7D_PAD_LCD_DATA06__LCD_DATA6 | MUX_PAD_CTRL(LCD_PAD_CTRL),
179   - MX7D_PAD_LCD_DATA07__LCD_DATA7 | MUX_PAD_CTRL(LCD_PAD_CTRL),
180   - MX7D_PAD_LCD_DATA08__LCD_DATA8 | MUX_PAD_CTRL(LCD_PAD_CTRL),
181   - MX7D_PAD_LCD_DATA09__LCD_DATA9 | MUX_PAD_CTRL(LCD_PAD_CTRL),
182   - MX7D_PAD_LCD_DATA10__LCD_DATA10 | MUX_PAD_CTRL(LCD_PAD_CTRL),
183   - MX7D_PAD_LCD_DATA11__LCD_DATA11 | MUX_PAD_CTRL(LCD_PAD_CTRL),
184   - MX7D_PAD_LCD_DATA12__LCD_DATA12 | MUX_PAD_CTRL(LCD_PAD_CTRL),
185   - MX7D_PAD_LCD_DATA13__LCD_DATA13 | MUX_PAD_CTRL(LCD_PAD_CTRL),
186   - MX7D_PAD_LCD_DATA14__LCD_DATA14 | MUX_PAD_CTRL(LCD_PAD_CTRL),
187   - MX7D_PAD_LCD_DATA15__LCD_DATA15 | MUX_PAD_CTRL(LCD_PAD_CTRL),
188   - MX7D_PAD_LCD_DATA16__LCD_DATA16 | MUX_PAD_CTRL(LCD_PAD_CTRL),
189   - MX7D_PAD_LCD_DATA17__LCD_DATA17 | MUX_PAD_CTRL(LCD_PAD_CTRL),
190   - MX7D_PAD_LCD_DATA18__LCD_DATA18 | MUX_PAD_CTRL(LCD_PAD_CTRL),
191   - MX7D_PAD_LCD_DATA19__LCD_DATA19 | MUX_PAD_CTRL(LCD_PAD_CTRL),
192   - MX7D_PAD_LCD_DATA20__LCD_DATA20 | MUX_PAD_CTRL(LCD_PAD_CTRL),
193   - MX7D_PAD_LCD_DATA21__LCD_DATA21 | MUX_PAD_CTRL(LCD_PAD_CTRL),
194   - MX7D_PAD_LCD_DATA22__LCD_DATA22 | MUX_PAD_CTRL(LCD_PAD_CTRL),
195   - MX7D_PAD_LCD_DATA23__LCD_DATA23 | MUX_PAD_CTRL(LCD_PAD_CTRL),
196   -
197 168 MX7D_PAD_LCD_RESET__GPIO3_IO4 | MUX_PAD_CTRL(LCD_PAD_CTRL),
198 169 };
199 170  
... ... @@ -202,7 +173,7 @@
202 173 MX7D_PAD_GPIO1_IO01__GPIO1_IO1 | MUX_PAD_CTRL(NO_PAD_CTRL),
203 174 };
204 175  
205   -void do_enable_parallel_lcd(struct display_info_t const *dev)
  176 +static int setup_lcd(void)
206 177 {
207 178 int ret;
208 179 struct gpio_desc desc;
209 180  
... ... @@ -215,13 +186,13 @@
215 186 ret = dm_gpio_lookup_name("GPIO3_4", &desc);
216 187 if (ret) {
217 188 printf("%s lookup GPIO3_4 failed ret = %d\n", __func__, ret);
218   - return;
  189 + return -ENODEV;
219 190 }
220 191  
221 192 ret = dm_gpio_request(&desc, "lcd reset");
222 193 if (ret) {
223 194 printf("%s request lcd reset failed ret = %d\n", __func__, ret);
224   - return;
  195 + return -ENODEV;
225 196 }
226 197  
227 198 dm_gpio_set_dir_flags(&desc, GPIOD_IS_OUT);
228 199  
229 200  
230 201  
231 202  
... ... @@ -233,44 +204,23 @@
233 204 ret = dm_gpio_lookup_name("GPIO1_1", &desc);
234 205 if (ret) {
235 206 printf("%s lookup GPIO1_1 failed ret = %d\n", __func__, ret);
236   - return;
  207 + return -ENODEV;
237 208 }
238 209  
239 210 ret = dm_gpio_request(&desc, "lcd backlight");
240 211 if (ret) {
241 212 printf("%s request lcd backlight failed ret = %d\n", __func__, ret);
242   - return;
  213 + return -ENODEV;
243 214 }
244 215  
245 216 dm_gpio_set_dir_flags(&desc, GPIOD_IS_OUT | GPIOD_IS_OUT_ACTIVE);
246 217  
247   - return;
  218 + return 0;
248 219 }
249   -
250   -struct display_info_t const displays[] = {{
251   - .bus = ELCDIF1_IPS_BASE_ADDR,
252   - .addr = 0,
253   - .pixfmt = 24,
254   - .detect = NULL,
255   - .enable = do_enable_parallel_lcd,
256   - .mode = {
257   - .name = "TFT43AB",
258   - .xres = 480,
259   - .yres = 272,
260   - .pixclock = 108695,
261   - .left_margin = 8,
262   - .right_margin = 4,
263   - .upper_margin = 2,
264   - .lower_margin = 4,
265   - .hsync_len = 41,
266   - .vsync_len = 10,
267   - .sync = 0,
268   - .vmode = FB_VMODE_NONINTERLACED
269   -} } };
270   -size_t display_count = ARRAY_SIZE(displays);
  220 +#else
  221 +static inline int setup_lcd(void) { return 0; }
271 222 #endif
272 223  
273   -
274 224 static void setup_iomux_uart(void)
275 225 {
276 226 imx_iomux_v3_setup_multiple_pads(uart1_pads, ARRAY_SIZE(uart1_pads));
... ... @@ -683,6 +633,8 @@
683 633 #ifdef CONFIG_ENV_IS_IN_MMC
684 634 board_late_mmc_env_init();
685 635 #endif
  636 +
  637 + setup_lcd();
686 638  
687 639 imx_iomux_v3_setup_multiple_pads(wdog_pads, ARRAY_SIZE(wdog_pads));
688 640  
configs/mx7dsabresd_defconfig
... ... @@ -86,7 +86,8 @@
86 86 CONFIG_USB_GADGET_DOWNLOAD=y
87 87 CONFIG_USB_HOST_ETHER=y
88 88 CONFIG_USB_ETHER_ASIX=y
89   -CONFIG_VIDEO=y
  89 +CONFIG_DM_VIDEO=y
  90 +CONFIG_SYS_WHITE_ON_BLACK=y
90 91 CONFIG_ERRNO_STR=y
91 92  
92 93 CONFIG_CMD_FASTBOOT=y
configs/mx7dsabresd_epdc_defconfig
... ... @@ -88,7 +88,6 @@
88 88 CONFIG_USB_GADGET_DOWNLOAD=y
89 89 CONFIG_USB_HOST_ETHER=y
90 90 CONFIG_USB_ETHER_ASIX=y
91   -CONFIG_VIDEO=y
92 91 CONFIG_ERRNO_STR=y
93 92  
94 93 CONFIG_CMD_FASTBOOT=y
configs/mx7dsabresd_optee_defconfig
... ... @@ -87,7 +87,8 @@
87 87 CONFIG_USB_GADGET_DOWNLOAD=y
88 88 CONFIG_USB_HOST_ETHER=y
89 89 CONFIG_USB_ETHER_ASIX=y
90   -CONFIG_VIDEO=y
  90 +CONFIG_DM_VIDEO=y
  91 +CONFIG_SYS_WHITE_ON_BLACK=y
91 92 CONFIG_ERRNO_STR=y
92 93  
93 94 CONFIG_CMD_FASTBOOT=y
configs/mx7dsabresd_plugin_defconfig
... ... @@ -87,7 +87,8 @@
87 87 CONFIG_USB_GADGET_DOWNLOAD=y
88 88 CONFIG_USB_HOST_ETHER=y
89 89 CONFIG_USB_ETHER_ASIX=y
90   -CONFIG_VIDEO=y
  90 +CONFIG_DM_VIDEO=y
  91 +CONFIG_SYS_WHITE_ON_BLACK=y
91 92 CONFIG_ERRNO_STR=y
92 93  
93 94 CONFIG_CMD_FASTBOOT=y
configs/mx7dsabresd_qspi1_defconfig
... ... @@ -98,7 +98,8 @@
98 98 CONFIG_USB_GADGET_DOWNLOAD=y
99 99 CONFIG_USB_HOST_ETHER=y
100 100 CONFIG_USB_ETHER_ASIX=y
101   -CONFIG_VIDEO=y
  101 +CONFIG_DM_VIDEO=y
  102 +CONFIG_SYS_WHITE_ON_BLACK=y
102 103 CONFIG_ERRNO_STR=y
103 104  
104 105 CONFIG_CMD_FASTBOOT=y
configs/mx7dsabresd_reva_defconfig
... ... @@ -86,7 +86,8 @@
86 86 CONFIG_USB_GADGET_DOWNLOAD=y
87 87 CONFIG_USB_HOST_ETHER=y
88 88 CONFIG_USB_ETHER_ASIX=y
89   -CONFIG_VIDEO=y
  89 +CONFIG_DM_VIDEO=y
  90 +CONFIG_SYS_WHITE_ON_BLACK=y
90 91 CONFIG_ERRNO_STR=y
91 92  
92 93 CONFIG_CMD_FASTBOOT=y
configs/mx7dsabresd_revb_defconfig
... ... @@ -86,7 +86,8 @@
86 86 CONFIG_USB_GADGET_DOWNLOAD=y
87 87 CONFIG_USB_HOST_ETHER=y
88 88 CONFIG_USB_ETHER_ASIX=y
89   -CONFIG_VIDEO=y
  89 +CONFIG_DM_VIDEO=y
  90 +CONFIG_SYS_WHITE_ON_BLACK=y
90 91 CONFIG_ERRNO_STR=y
91 92  
92 93 CONFIG_CMD_FASTBOOT=y
include/configs/mx7dsabresd.h
... ... @@ -87,7 +87,6 @@
87 87 #define CONFIG_EXTRA_ENV_SETTINGS \
88 88 CONFIG_MFG_ENV_SETTINGS \
89 89 TEE_ENV \
90   - "panel=TFT43AB\0" \
91 90 "fdt_addr=0x83000000\0" \
92 91 "tee_addr=0x84000000\0" \
93 92 "fdt_high=0xffffffff\0" \
... ... @@ -122,7 +121,7 @@
122 121 "tee_file=uTee-7dsdb\0" \
123 122 "boot_fdt=try\0" \
124 123 "ip_dyn=yes\0" \
125   - "panel=TFT43AB\0" \" \
  124 + "splashimage=0x8c000000\0" \" \
126 125 "mmcdev="__stringify(CONFIG_SYS_MMC_ENV_DEV)"\0" \
127 126 "mmcpart=" __stringify(CONFIG_SYS_MMC_IMG_LOAD_PART) "\0" \
128 127 "mmcroot=" CONFIG_MMCROOT " rootwait rw\0" \
... ... @@ -270,7 +269,8 @@
270 269  
271 270 #define CONFIG_IMX_THERMAL
272 271  
273   -#ifdef CONFIG_VIDEO
  272 +#ifdef CONFIG_DM_VIDEO
  273 +#define CONFIG_VIDEO_LINK
274 274 #define CONFIG_VIDEO_MXS
275 275 #define CONFIG_VIDEO_LOGO
276 276 #define CONFIG_SPLASH_SCREEN
... ... @@ -278,7 +278,6 @@
278 278 #define CONFIG_BMP_16BPP
279 279 #define CONFIG_VIDEO_BMP_RLE8
280 280 #define CONFIG_VIDEO_BMP_LOGO
281   -#define CONFIG_IMX_VIDEO_SKIP
282 281 #endif
283 282  
284 283 /* #define CONFIG_SPLASH_SCREEN*/