Skip to content

Commit 9d97698

Browse files
committed
RM 2375: Static splash image on LCD in the Kinetis U-Boot
1 parent 80cce27 commit 9d97698

File tree

8 files changed

+811
-0
lines changed

8 files changed

+811
-0
lines changed

board/emcraft/k70-som/board.c

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -447,6 +447,66 @@ static const struct kinetis_gpio_pin_config k70_som_gpio[] = {
447447
/* E.28 = SD switch */
448448
{{KINETIS_GPIO_PORT_E, 28}, KINETIS_GPIO_CONFIG_PULLUP(1)},
449449
#endif
450+
451+
#ifdef CONFIG_LCD
452+
/* F.0 = GLCD_PCLK */
453+
{{KINETIS_GPIO_PORT_F, 0}, KINETIS_GPIO_CONFIG_DSE(7)},
454+
/* F.1 = GLCD_DE */
455+
{{KINETIS_GPIO_PORT_F, 1}, KINETIS_GPIO_CONFIG_DSE(7)},
456+
/* F.2 = GLCD_HFS */
457+
{{KINETIS_GPIO_PORT_F, 2}, KINETIS_GPIO_CONFIG_DSE(7)},
458+
/* F.3 = GLCD_VFS */
459+
{{KINETIS_GPIO_PORT_F, 3}, KINETIS_GPIO_CONFIG_DSE(7)},
460+
461+
/* F.4 = GLCD_D0 */
462+
{{KINETIS_GPIO_PORT_F, 4}, KINETIS_GPIO_CONFIG_DSE(7)},
463+
/* F.5 = GLCD_D1 */
464+
{{KINETIS_GPIO_PORT_F, 5}, KINETIS_GPIO_CONFIG_DSE(7)},
465+
/* F.6 = GLCD_D2 */
466+
{{KINETIS_GPIO_PORT_F, 6}, KINETIS_GPIO_CONFIG_DSE(7)},
467+
/* F.7 = GLCD_D3 */
468+
{{KINETIS_GPIO_PORT_F, 7}, KINETIS_GPIO_CONFIG_DSE(7)},
469+
/* F.8 = GLCD_D4 */
470+
{{KINETIS_GPIO_PORT_F, 8}, KINETIS_GPIO_CONFIG_DSE(7)},
471+
/* F.9 = GLCD_D5 */
472+
{{KINETIS_GPIO_PORT_F, 9}, KINETIS_GPIO_CONFIG_DSE(7)},
473+
/* F.10 = GLCD_D6 */
474+
{{KINETIS_GPIO_PORT_F, 10}, KINETIS_GPIO_CONFIG_DSE(7)},
475+
/* F.11 = GLCD_D7 */
476+
{{KINETIS_GPIO_PORT_F, 11}, KINETIS_GPIO_CONFIG_DSE(7)},
477+
/* F.12 = GLCD_D8 */
478+
{{KINETIS_GPIO_PORT_F, 12}, KINETIS_GPIO_CONFIG_DSE(7)},
479+
/* F.13 = GLCD_D9 */
480+
{{KINETIS_GPIO_PORT_F, 13}, KINETIS_GPIO_CONFIG_DSE(7)},
481+
/* F.14 = GLCD_D10 */
482+
{{KINETIS_GPIO_PORT_F, 14}, KINETIS_GPIO_CONFIG_DSE(7)},
483+
/* F.15 = GLCD_D11 */
484+
{{KINETIS_GPIO_PORT_F, 15}, KINETIS_GPIO_CONFIG_DSE(7)},
485+
/* F.16 = GLCD_D12 */
486+
{{KINETIS_GPIO_PORT_F, 16}, KINETIS_GPIO_CONFIG_DSE(5)},
487+
/* F.17 = GLCD_D13 */
488+
{{KINETIS_GPIO_PORT_F, 17}, KINETIS_GPIO_CONFIG_DSE(5)},
489+
/* F.18 = GLCD_D14 */
490+
{{KINETIS_GPIO_PORT_F, 18}, KINETIS_GPIO_CONFIG_DSE(5)},
491+
/* F.19 = GLCD_D15 */
492+
{{KINETIS_GPIO_PORT_F, 19}, KINETIS_GPIO_CONFIG_DSE(5)},
493+
/* F.20 = GLCD_D16 */
494+
{{KINETIS_GPIO_PORT_F, 20}, KINETIS_GPIO_CONFIG_DSE(5)},
495+
/* F.21 = GLCD_D17 */
496+
{{KINETIS_GPIO_PORT_F, 21}, KINETIS_GPIO_CONFIG_DSE(7)},
497+
/* F.22 = GLCD_D18 */
498+
{{KINETIS_GPIO_PORT_F, 22}, KINETIS_GPIO_CONFIG_DSE(7)},
499+
/* F.23 = GLCD_D19 */
500+
{{KINETIS_GPIO_PORT_F, 23}, KINETIS_GPIO_CONFIG_DSE(7)},
501+
/* F.24 = GLCD_D20 */
502+
{{KINETIS_GPIO_PORT_F, 24}, KINETIS_GPIO_CONFIG_DSE(7)},
503+
/* F.25 = GLCD_D21 */
504+
{{KINETIS_GPIO_PORT_F, 25}, KINETIS_GPIO_CONFIG_DSE(7)},
505+
/* F.26 = GLCD_D22 */
506+
{{KINETIS_GPIO_PORT_F, 26}, KINETIS_GPIO_CONFIG_DSE(7)},
507+
/* F.27 = GLCD_D23 */
508+
{{KINETIS_GPIO_PORT_F, 27}, KINETIS_GPIO_CONFIG_DSE(7)},
509+
#endif /* CONFIG_LCD */
450510
};
451511

452512
/*

board/freescale/twr-k70f120m/board.c

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -456,6 +456,66 @@ static const struct kinetis_gpio_pin_config twr_k70f120m_gpio[] = {
456456
/* E.28 = SD switch */
457457
{{KINETIS_GPIO_PORT_E, 28}, KINETIS_GPIO_CONFIG_PULLUP(1)},
458458
#endif
459+
460+
#ifdef CONFIG_LCD
461+
/* F.0 = GLCD_PCLK */
462+
{{KINETIS_GPIO_PORT_F, 0}, KINETIS_GPIO_CONFIG_DSE(7)},
463+
/* F.1 = GLCD_DE */
464+
{{KINETIS_GPIO_PORT_F, 1}, KINETIS_GPIO_CONFIG_DSE(7)},
465+
/* F.2 = GLCD_HFS */
466+
{{KINETIS_GPIO_PORT_F, 2}, KINETIS_GPIO_CONFIG_DSE(7)},
467+
/* F.3 = GLCD_VFS */
468+
{{KINETIS_GPIO_PORT_F, 3}, KINETIS_GPIO_CONFIG_DSE(7)},
469+
470+
/* F.4 = GLCD_D0 */
471+
{{KINETIS_GPIO_PORT_F, 4}, KINETIS_GPIO_CONFIG_DSE(7)},
472+
/* F.5 = GLCD_D1 */
473+
{{KINETIS_GPIO_PORT_F, 5}, KINETIS_GPIO_CONFIG_DSE(7)},
474+
/* F.6 = GLCD_D2 */
475+
{{KINETIS_GPIO_PORT_F, 6}, KINETIS_GPIO_CONFIG_DSE(7)},
476+
/* F.7 = GLCD_D3 */
477+
{{KINETIS_GPIO_PORT_F, 7}, KINETIS_GPIO_CONFIG_DSE(7)},
478+
/* F.8 = GLCD_D4 */
479+
{{KINETIS_GPIO_PORT_F, 8}, KINETIS_GPIO_CONFIG_DSE(7)},
480+
/* F.9 = GLCD_D5 */
481+
{{KINETIS_GPIO_PORT_F, 9}, KINETIS_GPIO_CONFIG_DSE(7)},
482+
/* F.10 = GLCD_D6 */
483+
{{KINETIS_GPIO_PORT_F, 10}, KINETIS_GPIO_CONFIG_DSE(7)},
484+
/* F.11 = GLCD_D7 */
485+
{{KINETIS_GPIO_PORT_F, 11}, KINETIS_GPIO_CONFIG_DSE(7)},
486+
/* F.12 = GLCD_D8 */
487+
{{KINETIS_GPIO_PORT_F, 12}, KINETIS_GPIO_CONFIG_DSE(7)},
488+
/* F.13 = GLCD_D9 */
489+
{{KINETIS_GPIO_PORT_F, 13}, KINETIS_GPIO_CONFIG_DSE(7)},
490+
/* F.14 = GLCD_D10 */
491+
{{KINETIS_GPIO_PORT_F, 14}, KINETIS_GPIO_CONFIG_DSE(7)},
492+
/* F.15 = GLCD_D11 */
493+
{{KINETIS_GPIO_PORT_F, 15}, KINETIS_GPIO_CONFIG_DSE(7)},
494+
/* F.16 = GLCD_D12 */
495+
{{KINETIS_GPIO_PORT_F, 16}, KINETIS_GPIO_CONFIG_DSE(5)},
496+
/* F.17 = GLCD_D13 */
497+
{{KINETIS_GPIO_PORT_F, 17}, KINETIS_GPIO_CONFIG_DSE(5)},
498+
/* F.18 = GLCD_D14 */
499+
{{KINETIS_GPIO_PORT_F, 18}, KINETIS_GPIO_CONFIG_DSE(5)},
500+
/* F.19 = GLCD_D15 */
501+
{{KINETIS_GPIO_PORT_F, 19}, KINETIS_GPIO_CONFIG_DSE(5)},
502+
/* F.20 = GLCD_D16 */
503+
{{KINETIS_GPIO_PORT_F, 20}, KINETIS_GPIO_CONFIG_DSE(5)},
504+
/* F.21 = GLCD_D17 */
505+
{{KINETIS_GPIO_PORT_F, 21}, KINETIS_GPIO_CONFIG_DSE(7)},
506+
/* F.22 = GLCD_D18 */
507+
{{KINETIS_GPIO_PORT_F, 22}, KINETIS_GPIO_CONFIG_DSE(7)},
508+
/* F.23 = GLCD_D19 */
509+
{{KINETIS_GPIO_PORT_F, 23}, KINETIS_GPIO_CONFIG_DSE(7)},
510+
/* F.24 = GLCD_D20 */
511+
{{KINETIS_GPIO_PORT_F, 24}, KINETIS_GPIO_CONFIG_DSE(7)},
512+
/* F.25 = GLCD_D21 */
513+
{{KINETIS_GPIO_PORT_F, 25}, KINETIS_GPIO_CONFIG_DSE(7)},
514+
/* F.26 = GLCD_D22 */
515+
{{KINETIS_GPIO_PORT_F, 26}, KINETIS_GPIO_CONFIG_DSE(7)},
516+
/* F.27 = GLCD_D23 */
517+
{{KINETIS_GPIO_PORT_F, 27}, KINETIS_GPIO_CONFIG_DSE(7)},
518+
#endif /* CONFIG_LCD */
459519
};
460520

461521
/*

drivers/gpio/kinetis_gpio.c

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,3 +139,40 @@ int kinetis_gpio_config_table(
139139
out:
140140
return rv;
141141
}
142+
143+
/*
144+
* Configure the GPIO pin to output and set it to high/low depending on val
145+
*/
146+
int kinetis_gpio_set_out(struct kinetis_gpio_dsc *dsc, int val)
147+
{
148+
int rv;
149+
150+
/*
151+
* Verify the function arguments
152+
*/
153+
rv = kinetis_validate_gpio(dsc);
154+
if (rv != 0)
155+
goto out;
156+
157+
/*
158+
* Configure Mux Control to GPIO
159+
*/
160+
kinetis_gpio_config(dsc, KINETIS_GPIO_CONFIG_MUX(1));
161+
162+
/*
163+
* Configure Data Direction to Output
164+
*/
165+
KINETIS_GPIO(dsc->port)->pddr |= (1 << dsc->pin);
166+
167+
/*
168+
* Set pin level
169+
*/
170+
if (val)
171+
KINETIS_GPIO(dsc->port)->psor |= (1 << dsc->pin);
172+
else
173+
KINETIS_GPIO(dsc->port)->pcor |= (1 << dsc->pin);
174+
175+
rv = 0;
176+
out:
177+
return rv;
178+
}

drivers/video/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ COBJS-$(CONFIG_VIDEO_SMI_LYNXEM) += smiLynxEM.o
4040
COBJS-$(CONFIG_VIDEO_VCXK) += bus_vcxk.o
4141
COBJS-$(CONFIG_LCD_ILI932x) += ili932x.o
4242
COBJS-$(CONFIG_VIDEO_STM32F4_LTDC) += stm32f4_lcdfb.o
43+
COBJS-$(CONFIG_VIDEO_IMXFB) += imxfb.o
4344
COBJS-y += videomodes.o
4445

4546
COBJS := $(COBJS-y)

0 commit comments

Comments
 (0)