Commit 0d1c2404e1e3bea3a022aaf654ba8c0109482982

Authored by Ye Li
1 parent fdb9681eb3

MLK-23964-25 imx6sll_evk: Enable splash screen

Enable the splash screen basing on video link
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 93a53c60a73dab539fdf98542a367e83820df775)

Showing 8 changed files with 30 additions and 66 deletions Side-by-side Diff

arch/arm/dts/imx6sll-evk.dts
... ... @@ -98,7 +98,7 @@
98 98 compatible = "regulator-fixed";
99 99 reg = <4>;
100 100 regulator-name = "lcd-pwr";
101   - gpio = <&gpio4 8 0>;
  101 + gpio = <&gpio4 3 0>;
102 102 enable-active-high;
103 103 };
104 104  
... ... @@ -501,8 +501,8 @@
501 501 MX6SLL_PAD_LCD_ENABLE__LCD_ENABLE 0x79
502 502 MX6SLL_PAD_LCD_HSYNC__LCD_HSYNC 0x79
503 503 MX6SLL_PAD_LCD_VSYNC__LCD_VSYNC 0x79
504   - MX6SLL_PAD_LCD_RESET__LCD_RESET 0x79
505   - MX6SLL_PAD_ECSPI1_SCLK__GPIO4_IO08 0x79
  504 + MX6SLL_PAD_LCD_RESET__GPIO2_IO19 0x17059
  505 + MX6SLL_PAD_KEY_ROW5__GPIO4_IO03 0x17059
506 506 >;
507 507 };
508 508  
... ... @@ -719,7 +719,7 @@
719 719 status = "okay";
720 720  
721 721 display0: display@0 {
722   - bits-per-pixel = <16>;
  722 + bits-per-pixel = <24>;
723 723 bus-width = <24>;
724 724  
725 725 display-timings {
arch/arm/dts/imx6sll.dtsi
... ... @@ -42,6 +42,7 @@
42 42 usb1 = &usbotg2;
43 43 usbgadget0 = &usbg1;
44 44 usbgadget1 = &usbg2;
  45 + video0 = &lcdif;
45 46 };
46 47  
47 48 cpus {
board/freescale/mx6sllevk/mx6sllevk.c
... ... @@ -105,36 +105,8 @@
105 105 }
106 106 #endif
107 107  
108   -#ifdef CONFIG_VIDEO_MXS
  108 +#ifdef CONFIG_DM_VIDEO
109 109 static iomux_v3_cfg_t const lcd_pads[] = {
110   - MX6_PAD_LCD_CLK__LCD_CLK | MUX_PAD_CTRL(LCD_PAD_CTRL),
111   - MX6_PAD_LCD_ENABLE__LCD_ENABLE | MUX_PAD_CTRL(LCD_PAD_CTRL),
112   - MX6_PAD_LCD_HSYNC__LCD_HSYNC | MUX_PAD_CTRL(LCD_PAD_CTRL),
113   - MX6_PAD_LCD_VSYNC__LCD_VSYNC | MUX_PAD_CTRL(LCD_PAD_CTRL),
114   - MX6_PAD_LCD_DATA00__LCD_DATA00 | MUX_PAD_CTRL(LCD_PAD_CTRL),
115   - MX6_PAD_LCD_DATA01__LCD_DATA01 | MUX_PAD_CTRL(LCD_PAD_CTRL),
116   - MX6_PAD_LCD_DATA02__LCD_DATA02 | MUX_PAD_CTRL(LCD_PAD_CTRL),
117   - MX6_PAD_LCD_DATA03__LCD_DATA03 | MUX_PAD_CTRL(LCD_PAD_CTRL),
118   - MX6_PAD_LCD_DATA04__LCD_DATA04 | MUX_PAD_CTRL(LCD_PAD_CTRL),
119   - MX6_PAD_LCD_DATA05__LCD_DATA05 | MUX_PAD_CTRL(LCD_PAD_CTRL),
120   - MX6_PAD_LCD_DATA06__LCD_DATA06 | MUX_PAD_CTRL(LCD_PAD_CTRL),
121   - MX6_PAD_LCD_DATA07__LCD_DATA07 | MUX_PAD_CTRL(LCD_PAD_CTRL),
122   - MX6_PAD_LCD_DATA08__LCD_DATA08 | MUX_PAD_CTRL(LCD_PAD_CTRL),
123   - MX6_PAD_LCD_DATA09__LCD_DATA09 | MUX_PAD_CTRL(LCD_PAD_CTRL),
124   - MX6_PAD_LCD_DATA10__LCD_DATA10 | MUX_PAD_CTRL(LCD_PAD_CTRL),
125   - MX6_PAD_LCD_DATA11__LCD_DATA11 | MUX_PAD_CTRL(LCD_PAD_CTRL),
126   - MX6_PAD_LCD_DATA12__LCD_DATA12 | MUX_PAD_CTRL(LCD_PAD_CTRL),
127   - MX6_PAD_LCD_DATA13__LCD_DATA13 | MUX_PAD_CTRL(LCD_PAD_CTRL),
128   - MX6_PAD_LCD_DATA14__LCD_DATA14 | MUX_PAD_CTRL(LCD_PAD_CTRL),
129   - MX6_PAD_LCD_DATA15__LCD_DATA15 | MUX_PAD_CTRL(LCD_PAD_CTRL),
130   - MX6_PAD_LCD_DATA16__LCD_DATA16 | MUX_PAD_CTRL(LCD_PAD_CTRL),
131   - MX6_PAD_LCD_DATA17__LCD_DATA17 | MUX_PAD_CTRL(LCD_PAD_CTRL),
132   - MX6_PAD_LCD_DATA18__LCD_DATA18 | MUX_PAD_CTRL(LCD_PAD_CTRL),
133   - MX6_PAD_LCD_DATA19__LCD_DATA19 | MUX_PAD_CTRL(LCD_PAD_CTRL),
134   - MX6_PAD_LCD_DATA20__LCD_DATA20 | MUX_PAD_CTRL(LCD_PAD_CTRL),
135   - MX6_PAD_LCD_DATA21__LCD_DATA21 | MUX_PAD_CTRL(LCD_PAD_CTRL),
136   - MX6_PAD_LCD_DATA22__LCD_DATA22 | MUX_PAD_CTRL(LCD_PAD_CTRL),
137   - MX6_PAD_LCD_DATA23__LCD_DATA23 | MUX_PAD_CTRL(LCD_PAD_CTRL),
138 110 MX6_PAD_KEY_ROW5__GPIO4_IO03 | MUX_PAD_CTRL(NO_PAD_CTRL),
139 111 MX6_PAD_LCD_RESET__GPIO2_IO19 | MUX_PAD_CTRL(NO_PAD_CTRL),
140 112  
141 113  
142 114  
... ... @@ -142,15 +114,14 @@
142 114 MX6_PAD_PWM1__GPIO3_IO23 | MUX_PAD_CTRL(NO_PAD_CTRL),
143 115 };
144 116  
145   -void do_enable_parallel_lcd(struct display_info_t const *dev)
146   -
  117 +static int setup_lcd(void)
147 118 {
148 119 int ret;
149 120  
150   - ret = enable_lcdif_clock(dev->bus, 1);
  121 + ret = enable_lcdif_clock(MX6SLL_LCDIF_BASE_ADDR, 1);
151 122 if (ret) {
152 123 printf("Enable LCDIF clock failed, %d\n", ret);
153   - return;
  124 + return -EPERM;
154 125 }
155 126  
156 127 imx_iomux_v3_setup_multiple_pads(lcd_pads, ARRAY_SIZE(lcd_pads));
157 128  
... ... @@ -167,29 +138,11 @@
167 138 /* Set Brightness to high */
168 139 gpio_request(IMX_GPIO_NR(3, 23), "backlight");
169 140 gpio_direction_output(IMX_GPIO_NR(3, 23) , 1);
170   -}
171 141  
172   -struct display_info_t const displays[] = {{
173   - .bus = MX6SLL_LCDIF_BASE_ADDR,
174   - .addr = 0,
175   - .pixfmt = 24,
176   - .detect = NULL,
177   - .enable = do_enable_parallel_lcd,
178   - .mode = {
179   - .name = "MCIMX28LCD",
180   - .xres = 800,
181   - .yres = 480,
182   - .pixclock = 29850,
183   - .left_margin = 89,
184   - .right_margin = 164,
185   - .upper_margin = 23,
186   - .lower_margin = 10,
187   - .hsync_len = 10,
188   - .vsync_len = 10,
189   - .sync = 0,
190   - .vmode = FB_VMODE_NONINTERLACED
191   -} } };
192   -size_t display_count = ARRAY_SIZE(displays);
  142 + return 0;
  143 +}
  144 +#else
  145 +static inline int setup_lcd(void) { return 0; }
193 146 #endif
194 147  
195 148 #ifdef CONFIG_MXC_EPDC
... ... @@ -436,6 +389,8 @@
436 389 #ifdef CONFIG_ENV_IS_IN_MMC
437 390 board_late_mmc_env_init();
438 391 #endif
  392 +
  393 + setup_lcd();
439 394  
440 395 imx_iomux_v3_setup_multiple_pads(wdog_pads, ARRAY_SIZE(wdog_pads));
441 396  
configs/mx6sllevk_defconfig
... ... @@ -9,7 +9,6 @@
9 9 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/mx6sllevk/imximage.cfg"
10 10 CONFIG_SUPPORT_RAW_INITRD=y
11 11 CONFIG_BOUNCE_BUFFER=y
12   -CONFIG_VIDEO=y
13 12 CONFIG_BOOTDELAY=3
14 13 CONFIG_BOARD_EARLY_INIT_F=y
15 14 CONFIG_HUSH_PARSER=y
... ... @@ -22,6 +21,7 @@
22 21 CONFIG_CMD_USB=y
23 22 CONFIG_CMD_DHCP=y
24 23 CONFIG_CMD_PING=y
  24 +CONFIG_CMD_BMP=y
25 25 CONFIG_CMD_CACHE=y
26 26 CONFIG_CMD_REGULATOR=y
27 27 CONFIG_CMD_EXT2=y
... ... @@ -54,6 +54,9 @@
54 54 CONFIG_USB_ETHER_RTL8152=y
55 55 CONFIG_DM_ETH=y
56 56 CONFIG_PHYLIB=y
  57 +
  58 +CONFIG_DM_VIDEO=y
  59 +CONFIG_SYS_WHITE_ON_BLACK=y
57 60  
58 61 CONFIG_USB_GADGET=y
59 62 CONFIG_USB_GADGET_DOWNLOAD=y
configs/mx6sllevk_epdc_defconfig
... ... @@ -9,7 +9,6 @@
9 9 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/mx6sllevk/imximage.cfg"
10 10 CONFIG_SUPPORT_RAW_INITRD=y
11 11 CONFIG_BOUNCE_BUFFER=y
12   -CONFIG_VIDEO=y
13 12 CONFIG_MXC_EPDC=y
14 13 CONFIG_LCD=y
15 14 CONFIG_BOOTDELAY=3
configs/mx6sllevk_optee_defconfig
... ... @@ -9,7 +9,6 @@
9 9 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/mx6sllevk/imximage.cfg"
10 10 CONFIG_SUPPORT_RAW_INITRD=y
11 11 CONFIG_BOUNCE_BUFFER=y
12   -CONFIG_VIDEO=y
13 12 CONFIG_IMX_OPTEE=y
14 13 CONFIG_BOOTDELAY=3
15 14 CONFIG_BOARD_EARLY_INIT_F=y
... ... @@ -23,6 +22,7 @@
23 22 CONFIG_CMD_USB=y
24 23 CONFIG_CMD_DHCP=y
25 24 CONFIG_CMD_PING=y
  25 +CONFIG_CMD_BMP=y
26 26 CONFIG_CMD_CACHE=y
27 27 CONFIG_CMD_REGULATOR=y
28 28 CONFIG_CMD_EXT2=y
... ... @@ -55,6 +55,9 @@
55 55 CONFIG_USB_ETHER_RTL8152=y
56 56 CONFIG_DM_ETH=y
57 57 CONFIG_PHYLIB=y
  58 +
  59 +CONFIG_DM_VIDEO=y
  60 +CONFIG_SYS_WHITE_ON_BLACK=y
58 61  
59 62 CONFIG_USB_GADGET=y
60 63 CONFIG_USB_GADGET_DOWNLOAD=y
configs/mx6sllevk_plugin_defconfig
... ... @@ -10,7 +10,6 @@
10 10 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/mx6sllevk/imximage.cfg"
11 11 CONFIG_SUPPORT_RAW_INITRD=y
12 12 CONFIG_BOUNCE_BUFFER=y
13   -CONFIG_VIDEO=y
14 13 CONFIG_BOOTDELAY=3
15 14 CONFIG_BOARD_EARLY_INIT_F=y
16 15 CONFIG_HUSH_PARSER=y
... ... @@ -23,6 +22,7 @@
23 22 CONFIG_CMD_USB=y
24 23 CONFIG_CMD_DHCP=y
25 24 CONFIG_CMD_PING=y
  25 +CONFIG_CMD_BMP=y
26 26 CONFIG_CMD_CACHE=y
27 27 CONFIG_CMD_REGULATOR=y
28 28 CONFIG_CMD_EXT2=y
... ... @@ -54,6 +54,9 @@
54 54 CONFIG_USB_ETHER_RTL8152=y
55 55 CONFIG_DM_ETH=y
56 56 CONFIG_PHYLIB=y
  57 +
  58 +CONFIG_DM_VIDEO=y
  59 +CONFIG_SYS_WHITE_ON_BLACK=y
57 60  
58 61 CONFIG_USB_GADGET=y
59 62 CONFIG_USB_GADGET_DOWNLOAD=y
include/configs/mx6sllevk.h
... ... @@ -52,6 +52,7 @@
52 52 "tee_file=uTee-6sllevk\0" \
53 53 "boot_fdt=try\0" \
54 54 "ip_dyn=yes\0" \
  55 + "splashimage=0x8c000000\0" \
55 56 "mmcdev="__stringify(CONFIG_SYS_MMC_ENV_DEV)"\0" \
56 57 "mmcpart=1\0" \
57 58 "mmcroot=" CONFIG_MMCROOT " rootwait rw\0" \
58 59  
59 60  
60 61  
... ... @@ -169,16 +170,15 @@
169 170 #define CONFIG_MXC_USB_PORTSC (PORT_PTS_UTMI | PORT_PTS_PTW)
170 171 #endif
171 172  
172   -#ifdef CONFIG_VIDEO
  173 +#ifdef CONFIG_DM_VIDEO
173 174 #define CONFIG_VIDEO_MXS
  175 +#define CONFIG_VIDEO_LINK
174 176 #define CONFIG_VIDEO_LOGO
175 177 #define CONFIG_SPLASH_SCREEN
176 178 #define CONFIG_SPLASH_SCREEN_ALIGN
177   -#define CONFIG_CMD_BMP
178 179 #define CONFIG_BMP_16BPP
179 180 #define CONFIG_VIDEO_BMP_RLE8
180 181 #define CONFIG_VIDEO_BMP_LOGO
181   -#define CONFIG_IMX_VIDEO_SKIP
182 182 #endif
183 183  
184 184 /*