summaryrefslogtreecommitdiff
path: root/drivers/video/Kconfig
blob: 8b940d70eb2122ca6e7b10b03419297092aac107 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
#
# Video configuration
#

menu "Graphics support"

config DM_VIDEO
	bool "Enable driver model support for LCD/video"
	depends on DM
	help
	  This enables driver model for LCD and video devices. These support
	  a bitmap display of various sizes and depths which can be drawn on
	  to display a command-line console or splash screen. Enabling this
	  option compiles in the video uclass and routes all LCD/video access
	  through this.

config BACKLIGHT
	bool "Enable panel backlight uclass support"
	depends on DM_VIDEO
	default y
	help
	  This provides backlight uclass driver that enables basic panel
	  backlight support.

config VIDEO_PCI_DEFAULT_FB_SIZE
	hex "Default framebuffer size to use if no drivers request it"
	depends on DM_VIDEO
	default 0x1000000 if X86 && PCI
	default 0 if !(X86 && PCI)
	help
	  Generally, video drivers request the amount of memory they need for
	  the frame buffer when they are bound, by setting the size field in
	  struct video_uc_plat. That memory is then reserved for use after
	  relocation. But PCI drivers cannot be bound before relocation unless
	  they are mentioned in the devicetree.

	  With this value set appropriately, it is possible for PCI video
	  devices to have a framebuffer allocated by U-Boot.

	  Note: the framebuffer needs to be large enough to store all pixels at
	  maximum resolution. For example, at 1920 x 1200 with 32 bits per
	  pixel, 2560 * 1600 * 32 / 8 = 0xfa0000 bytes are needed.

config VIDEO_COPY
	bool "Enable copying the frame buffer to a hardware copy"
	depends on DM_VIDEO
	help
	  On some machines (e.g. x86), reading from the frame buffer is very
	  slow because it is uncached. To improve performance, this feature
	  allows the frame buffer to be kept in cached memory (allocated by
	  U-Boot) and then copied to the hardware frame-buffer as needed.

	  To use this, your video driver must set @copy_base in
	  struct video_uc_plat.

config BACKLIGHT_PWM
	bool "Generic PWM based Backlight Driver"
	depends on BACKLIGHT && DM_PWM
	default y
	help
	  If you have a LCD backlight adjustable by PWM, say Y to enable
	  this driver.
	  This driver can be use with "simple-panel" and
	  it understands the standard device tree
	  (leds/backlight/pwm-backlight.txt)

config BACKLIGHT_GPIO
	bool "Generic GPIO based Backlight Driver"
	depends on BACKLIGHT
	help
	  If you have a LCD backlight adjustable by GPIO, say Y to enable
	  this driver.
	  This driver can be used with "simple-panel" and
	  it understands the standard device tree
	  (leds/backlight/gpio-backlight.txt)

config CMD_VIDCONSOLE
	bool "Enable vidconsole commands lcdputs and setcurs"
	depends on DM_VIDEO
	default y
	help
	  Enabling this will provide 'setcurs' and 'lcdputs' commands which
	  support cursor positioning and drawing strings on video framebuffer.

config VIDEO_BPP8
	bool "Support 8-bit-per-pixel displays"
	depends on DM_VIDEO
	default y
	help
	  Support drawing text and bitmaps onto a 8-bit-per-pixel display.
	  Enabling this will include code to support this display. Without
	  this option, such displays will not be supported and console output
	  will be empty.

config VIDEO_BPP16
	bool "Support 16-bit-per-pixel displays"
	depends on DM_VIDEO
	default y
	help
	  Support drawing text and bitmaps onto a 16-bit-per-pixel display.
	  Enabling this will include code to support this display. Without
	  this option, such displays will not be supported and console output
	  will be empty.

config VIDEO_BPP32
	bool "Support 32-bit-per-pixel displays"
	depends on DM_VIDEO
	default y
	help
	  Support drawing text and bitmaps onto a 32-bit-per-pixel display.
	  Enabling this will include code to support this display. Without
	  this option, such displays will not be supported and console output
	  will be empty.

config VIDEO_ANSI
	bool "Support ANSI escape sequences in video console"
	depends on DM_VIDEO
	default y
	help
	  Enable ANSI escape sequence decoding for a more fully functional
	  console.

config VIDEO_MIPI_DSI
	bool "Support MIPI DSI interface"
	depends on DM_VIDEO
	help
	  Support MIPI DSI interface for driving a MIPI compatible device.
	  The MIPI Display Serial Interface (MIPI DSI) defines a high-speed
	  serial interface between a host processor and a display module.

config CONSOLE_NORMAL
	bool "Support a simple text console"
	depends on DM_VIDEO
	default y if DM_VIDEO
	help
	  Support drawing text on the frame buffer console so that it can be
	  used as a console. Rotation is not supported by this driver (see
	  CONFIG_CONSOLE_ROTATION for that). A built-in 8x16 font is used
	  for the display.

config CONSOLE_ROTATION
	bool "Support rotated displays"
	depends on DM_VIDEO
	help
	  Sometimes, for example if the display is mounted in portrait
	  mode or even if it's mounted landscape but rotated by 180degree,
	  we need to rotate our content of the display relative to the
	  framebuffer, so that user can read the messages which are
	  printed out. Enable this option to include a text driver which can
	  support this. The rotation is set by the 'rot' parameter in
	  struct video_priv: 0=unrotated, 1=90 degrees clockwise, 2=180
	  degrees, 3=270 degrees.

config CONSOLE_TRUETYPE
	bool "Support a console that uses TrueType fonts"
	depends on DM_VIDEO
	help
	  TrueTrype fonts can provide outline-drawing capability rather than
	  needing to provide a bitmap for each font and size that is needed.
	  With this option you can adjust the text size and use a variety of
	  fonts. Note that this is noticeably slower than with normal console.

config DM_PANEL_HX8238D
	bool "Enable Himax HX-8238D LCD driver"
	depends on DM_VIDEO
	help
	  Support for HX-8238D LCD Panel
	  The  HX8238-D is a single chip controller and driver LSI that
	  integrates the power circuit.
	  It can drive a maximum 960x240 dot graphics on a-TFT panel
	  displays in 16M colors with dithering.

config CONSOLE_TRUETYPE_SIZE
	int "TrueType font size"
	depends on CONSOLE_TRUETYPE
	default 18
	help
	  This sets the font size for the console. The size is measured in
	  pixels and is the nominal height of a character. Note that fonts
	  are commonly measured in 'points', being 1/72 inch (about 3.52mm).
	  However that measurement depends on the size of your display and
	  there is no standard display density. At present there is not a
	  method to select the display's physical size, which would allow
	  U-Boot to calculate the correct font size.

config SYS_WHITE_ON_BLACK
	bool "Display console as white on a black background"
	default y if ARCH_AT91 || ARCH_EXYNOS || ARCH_ROCKCHIP || ARCH_TEGRA || X86 || ARCH_SUNXI
	help
	 Normally the display is black on a white background, Enable this
	 option to invert this, i.e. white on a black background. This can be
	 better in low-light situations or to reduce eye strain in some
	 cases.

config NO_FB_CLEAR
	bool "Skip framebuffer clear"
	help
	  If firmware (whatever loads u-boot) has already put a splash image
	  on screen, you might want to preserve it until whatever u-boot
	  loads takes over the screen.  This, for example, can be used to
	  keep splash image on screen until grub graphical boot menu starts.

config PANEL
	bool "Enable panel uclass support"
	depends on DM_VIDEO
	default y
	help
	  This provides panel uclass driver that enables basic panel support.

config SIMPLE_PANEL
	bool "Enable simple panel support"
	depends on PANEL && BACKLIGHT && DM_GPIO
	default y
	help
	  This turns on a simple panel driver that enables a compatible
	  video panel.

source "drivers/video/fonts/Kconfig"

config VIDCONSOLE_AS_LCD
	bool "Use 'vidconsole' when CONFIG_VIDCONSOLE_AS_NAME string is seen in stdout"
	depends on DM_VIDEO
	help
	  This is a work-around for boards which have 'lcd' or 'vga' in their
	  stdout environment variable, but have moved to use driver model for
	  video. In this case the console will no-longer work. While it is
	  possible to update the environment, the breakage may be confusing for
	  users. This option will be removed around the end of 2020.

config VIDCONSOLE_AS_NAME
	string "Use 'vidconsole' when string defined here is seen in stdout"
	depends on VIDCONSOLE_AS_LCD
	default "lcd" if LCD || TEGRA_COMMON
	default "vga" if !LCD
	help
	  This is a work-around for boards which have 'lcd' or 'vga' in their
	  stdout environment variable, but have moved to use driver model for
	  video. In this case the console will no-longer work. While it is
	  possible to update the environment, the breakage may be confusing for
	  users. This option will be removed around the end of 2020.

config VIDEO_COREBOOT
	bool "Enable coreboot framebuffer driver support"
	depends on X86
	help
	  Turn on this option to enable a framebuffer driver when U-Boot is
	  loaded by coreboot where the graphics device is configured by
	  coreboot already. This can in principle be used with any platform
	  that coreboot supports.

config VIDEO_EFI
	bool "Enable EFI framebuffer driver support"
	depends on EFI_STUB
	help
	  Turn on this option to enable a framebuffeer driver when U-Boot is
	  loaded as a payload (see README.u-boot_on_efi) by an EFI BIOS where
	  the graphics device is configured by the EFI BIOS already. This can
	  in principle be used with any platform that has an EFI BIOS.

config VIDEO_VESA
	bool "Enable VESA video driver support"
	default n
	help
	  Turn on this option to enable a very simple driver which uses vesa
	  to discover the video mode and then provides a frame buffer for use
	  by U-Boot. This can in principle be used with any platform that
	  supports PCI and video cards that support VESA BIOS Extension (VBE).

config FRAMEBUFFER_SET_VESA_MODE
	bool "Set framebuffer graphics resolution"
	depends on VIDEO_VESA || VIDEO_BROADWELL_IGD
	help
	  Set VESA/native framebuffer mode (needed for bootsplash and graphical
	  framebuffer console)

choice
	prompt "framebuffer graphics resolution"
	default FRAMEBUFFER_VESA_MODE_118
	depends on FRAMEBUFFER_SET_VESA_MODE
	help
	  This option sets the resolution used for the U-Boot framebuffer (and
	  bootsplash screen).

config FRAMEBUFFER_VESA_MODE_100
	bool "640x400 256-color"

config FRAMEBUFFER_VESA_MODE_101
	bool "640x480 256-color"

config FRAMEBUFFER_VESA_MODE_102
	bool "800x600 16-color"

config FRAMEBUFFER_VESA_MODE_103
	bool "800x600 256-color"

config FRAMEBUFFER_VESA_MODE_104
	bool "1024x768 16-color"

config FRAMEBUFFER_VESA_MODE_105
	bool "1024x768 256-color"

config FRAMEBUFFER_VESA_MODE_106
	bool "1280x1024 16-color"

config FRAMEBUFFER_VESA_MODE_107
	bool "1280x1024 256-color"

config FRAMEBUFFER_VESA_MODE_108
	bool "80x60 text"

config FRAMEBUFFER_VESA_MODE_109
	bool "132x25 text"

config FRAMEBUFFER_VESA_MODE_10A
	bool "132x43 text"

config FRAMEBUFFER_VESA_MODE_10B
	bool "132x50 text"

config FRAMEBUFFER_VESA_MODE_10C
	bool "132x60 text"

config FRAMEBUFFER_VESA_MODE_10D
	bool "320x200 32k-color (1:5:5:5)"

config FRAMEBUFFER_VESA_MODE_10E
	bool "320x200 64k-color (5:6:5)"

config FRAMEBUFFER_VESA_MODE_10F
	bool "320x200 16.8M-color (8:8:8)"

config FRAMEBUFFER_VESA_MODE_110
	bool "640x480 32k-color (1:5:5:5)"

config FRAMEBUFFER_VESA_MODE_111
	bool "640x480 64k-color (5:6:5)"

config FRAMEBUFFER_VESA_MODE_112
	bool "640x480 16.8M-color (8:8:8)"

config FRAMEBUFFER_VESA_MODE_113
	bool "800x600 32k-color (1:5:5:5)"

config FRAMEBUFFER_VESA_MODE_114
	bool "800x600 64k-color (5:6:5)"

config FRAMEBUFFER_VESA_MODE_115
	bool "800x600 16.8M-color (8:8:8)"

config FRAMEBUFFER_VESA_MODE_116
	bool "1024x768 32k-color (1:5:5:5)"

config FRAMEBUFFER_VESA_MODE_117
	bool "1024x768 64k-color (5:6:5)"

config FRAMEBUFFER_VESA_MODE_118
	bool "1024x768 16.8M-color (8:8:8)"

config FRAMEBUFFER_VESA_MODE_119
	bool "1280x1024 32k-color (1:5:5:5)"

config FRAMEBUFFER_VESA_MODE_11A
	bool "1280x1024 64k-color (5:6:5)"

config FRAMEBUFFER_VESA_MODE_11B
	bool "1280x1024 16.8M-color (8:8:8)"

config FRAMEBUFFER_VESA_MODE_USER
	bool "Manually select VESA mode"

endchoice

# Map the config names to an integer (KB).
config FRAMEBUFFER_VESA_MODE
	prompt "VESA mode" if FRAMEBUFFER_VESA_MODE_USER
	hex
	default 0x100 if FRAMEBUFFER_VESA_MODE_100
	default 0x101 if FRAMEBUFFER_VESA_MODE_101
	default 0x102 if FRAMEBUFFER_VESA_MODE_102
	default 0x103 if FRAMEBUFFER_VESA_MODE_103
	default 0x104 if FRAMEBUFFER_VESA_MODE_104
	default 0x105 if FRAMEBUFFER_VESA_MODE_105
	default 0x106 if FRAMEBUFFER_VESA_MODE_106
	default 0x107 if FRAMEBUFFER_VESA_MODE_107
	default 0x108 if FRAMEBUFFER_VESA_MODE_108
	default 0x109 if FRAMEBUFFER_VESA_MODE_109
	default 0x10A if FRAMEBUFFER_VESA_MODE_10A
	default 0x10B if FRAMEBUFFER_VESA_MODE_10B
	default 0x10C if FRAMEBUFFER_VESA_MODE_10C
	default 0x10D if FRAMEBUFFER_VESA_MODE_10D
	default 0x10E if FRAMEBUFFER_VESA_MODE_10E
	default 0x10F if FRAMEBUFFER_VESA_MODE_10F
	default 0x110 if FRAMEBUFFER_VESA_MODE_110
	default 0x111 if FRAMEBUFFER_VESA_MODE_111
	default 0x112 if FRAMEBUFFER_VESA_MODE_112
	default 0x113 if FRAMEBUFFER_VESA_MODE_113
	default 0x114 if FRAMEBUFFER_VESA_MODE_114
	default 0x115 if FRAMEBUFFER_VESA_MODE_115
	default 0x116 if FRAMEBUFFER_VESA_MODE_116
	default 0x117 if FRAMEBUFFER_VESA_MODE_117
	default 0x118 if FRAMEBUFFER_VESA_MODE_118
	default 0x119 if FRAMEBUFFER_VESA_MODE_119
	default 0x11A if FRAMEBUFFER_VESA_MODE_11A
	default 0x11B if FRAMEBUFFER_VESA_MODE_11B
	default 0x117 if FRAMEBUFFER_VESA_MODE_USER

config VIDEO_LCD_ANX9804
	bool "ANX9804 bridge chip"
	default n
	---help---
	Support for the ANX9804 bridge chip, which can take pixel data coming
	from a parallel LCD interface and translate it on the fy into a DP
	interface for driving eDP TFT displays. It uses I2C for configuration.

config VIDEO_LCD_ORISETECH_OTM8009A
	bool "OTM8009A DSI LCD panel support"
	depends on DM_VIDEO
	select VIDEO_MIPI_DSI
	default n
	help
	Say Y here if you want to enable support for Orise Technology
	otm8009a 480x800 dsi 2dl panel.

config VIDEO_LCD_RAYDIUM_RM68200
	bool "RM68200 DSI LCD panel support"
	depends on DM_VIDEO
	select VIDEO_MIPI_DSI
	default n
	help
	Say Y here if you want to enable support for Raydium RM68200
	720x1280 DSI video mode panel.

config VIDEO_LCD_SSD2828
	bool "SSD2828 bridge chip"
	default n
	---help---
	Support for the SSD2828 bridge chip, which can take pixel data coming
	from a parallel LCD interface and translate it on the fly into MIPI DSI
	interface for driving a MIPI compatible LCD panel. It uses SPI for
	configuration.

config VIDEO_LCD_SSD2828_TX_CLK
	int "SSD2828 TX_CLK frequency (in MHz)"
	depends on VIDEO_LCD_SSD2828
	default 0
	---help---
	The frequency of the crystal, which is clocking SSD2828. It may be
	anything in the 8MHz-30MHz range and the exact value should be
	retrieved from the board schematics. Or in the case of Allwinner
	hardware, it can be usually found as 'lcd_xtal_freq' variable in
	FEX files. It can be also set to 0 for selecting PCLK from the
	parallel LCD interface instead of TX_CLK as the PLL clock source.

config VIDEO_LCD_SSD2828_RESET
	string "RESET pin of SSD2828"
	depends on VIDEO_LCD_SSD2828
	default ""
	---help---
	The reset pin of SSD2828 chip. This takes a string in the format
	understood by 'name_to_gpio' function, e.g. PH1 for pin 1 of port H.

config VIDEO_LCD_TDO_TL070WSH30
	bool "TDO TL070WSH30 DSI LCD panel support"
	depends on DM_VIDEO
	select VIDEO_MIPI_DSI
	default n
	help
	Say Y here if you want to enable support for TDO TL070WSH30
	1024x600 DSI video mode panel.

config VIDEO_LCD_HITACHI_TX18D42VM
	bool "Hitachi tx18d42vm LVDS LCD panel support"
	default n
	---help---
	Support for Hitachi tx18d42vm LVDS LCD panels, these panels have a
	lcd controller which needs to be initialized over SPI, once that is
	done they work like a regular LVDS panel.

config VIDEO_LCD_SPI_CS
	string "SPI CS pin for LCD related config job"
	depends on VIDEO_LCD_SSD2828 || VIDEO_LCD_HITACHI_TX18D42VM
	default ""
	---help---
	This is one of the SPI communication pins, involved in setting up a
	working LCD configuration. The exact role of SPI may differ for
	different hardware setups. The option takes a string in the format
	understood by 'name_to_gpio' function, e.g. PH1 for pin 1 of port H.

config VIDEO_LCD_SPI_SCLK
	string "SPI SCLK pin for LCD related config job"
	depends on VIDEO_LCD_SSD2828 || VIDEO_LCD_HITACHI_TX18D42VM
	default ""
	---help---
	This is one of the SPI communication pins, involved in setting up a
	working LCD configuration. The exact role of SPI may differ for
	different hardware setups. The option takes a string in the format
	understood by 'name_to_gpio' function, e.g. PH1 for pin 1 of port H.

config VIDEO_LCD_SPI_MOSI
	string "SPI MOSI pin for LCD related config job"
	depends on VIDEO_LCD_SSD2828 || VIDEO_LCD_HITACHI_TX18D42VM
	default ""
	---help---
	This is one of the SPI communication pins, involved in setting up a
	working LCD configuration. The exact role of SPI may differ for
	different hardware setups. The option takes a string in the format
	understood by 'name_to_gpio' function, e.g. PH1 for pin 1 of port H.

config VIDEO_LCD_SPI_MISO
	string "SPI MISO pin for LCD related config job (optional)"
	depends on VIDEO_LCD_SSD2828
	default ""
	---help---
	This is one of the SPI communication pins, involved in setting up a
	working LCD configuration. The exact role of SPI may differ for
	different hardware setups. If wired up, this pin may provide additional
	useful functionality. Such as bi-directional communication with the
	hardware and LCD panel id retrieval (if the panel can report it). The
	option takes a string in the format understood by 'name_to_gpio'
	function, e.g. PH1 for pin 1 of port H.

source "drivers/video/meson/Kconfig"

config VIDEO_MVEBU
	bool "Armada XP LCD controller"
	default n
	---help---
	Support for the LCD controller integrated in the Marvell
	Armada XP SoC.

config VIDEO_OMAP3
	bool "Enable OMAP3+ DSS Support"
	depends on ARCH_OMAP2PLUS
	help
	  This enables the Display subsystem (DSS) on OMAP3+ boards.

config I2C_EDID
	bool "Enable EDID library"
	default n
	help
	   This enables library for accessing EDID data from an LCD panel.

config DISPLAY
	bool "Enable Display support"
	depends on DM
	default n
	select I2C_EDID
	help
	   This supports drivers that provide a display, such as eDP (Embedded
	   DisplayPort) and HDMI (High Definition Multimedia Interface).
	   The devices provide a simple interface to start up the display,
	   read display information and enable it.

config NXP_TDA19988
	bool "Enable NXP TDA19988 support"
	depends on DISPLAY
	default n
	help
	  This enables support for the NXP TDA19988 HDMI encoder. This encoder
	  will convert RGB data streams into HDMI-encoded signals.

config ATMEL_HLCD
	bool "Enable ATMEL video support using HLCDC"
	help
	   HLCDC supports video output to an attached LCD panel.

source "drivers/video/ti/Kconfig"

config LOGICORE_DP_TX
	bool "Enable Logicore DP TX driver"
	depends on DISPLAY
	help
	  Enable the driver for the transmitter part of the Xilinx LogiCORE
	  DisplayPort, a IP core for Xilinx FPGAs that implements a DisplayPort
	  video interface as defined by VESA DisplayPort v1.2.

	  Note that this is a pure transmitter device, and has no display
	  capabilities by itself.

config VIDEO_BROADWELL_IGD
	bool "Enable Intel Broadwell integrated graphics device"
	depends on X86
	help
	  This enables support for integrated graphics on Intel broadwell
	  devices. Initialisation is mostly performed by a VGA boot ROM, with
	  some setup handled by U-Boot itself. The graphics adaptor works as
	  a VESA device and supports LCD panels, eDP and LVDS outputs.
	  Configuration of most aspects of device operation is performed using
	  a special tool which configures the VGA ROM, but the graphics
	  resolution can be selected in U-Boot.

config VIDEO_IVYBRIDGE_IGD
	bool "Enable Intel Ivybridge integration graphics support"
	depends on X86
	help
	  This enables support for integrated graphics on Intel ivybridge
	  devices. Initialisation is mostly performed by a VGA boot ROM, with
	  some setup handled by U-Boot itself. The graphics adaptor works as
	  a VESA device and supports LCD panels, eDP and LVDS outputs.
	  Configuration of most aspects of device operation is performed using
	  a special tool which configures the VGA ROM, but the graphics
	  resolution can be selected in U-Boot.

config VIDEO_FSL_DCU_FB
	bool "Enable Freescale Display Control Unit"
	depends on VIDEO || DM_VIDEO
	help
	 This enables support for Freescale Display Control Unit (DCU4)
	 module found on Freescale Vybrid and QorIQ family of SoCs.

config VIDEO_FSL_DCU_MAX_FB_SIZE_MB
	int "Freescale DCU framebuffer size"
	depends on VIDEO_FSL_DCU_FB
	default 4194304
	help
	 Set maximum framebuffer size to be used for Freescale Display
	 Controller Unit (DCU4).

source "drivers/video/rockchip/Kconfig"

config VIDEO_ARM_MALIDP
	bool "Enable Arm Mali Display Processor support"
	depends on DM_VIDEO && OF_CONTROL
	select VEXPRESS_CLK
	help
	  This enables support for Arm Ltd Mali Display Processors from
	  the DP500, DP550 and DP650 family.

config VIDEO_SANDBOX_SDL
	bool "Enable sandbox video console using SDL"
	depends on SANDBOX
	help
	  When using sandbox you can enable an emulated LCD display which
	  appears as an SDL (Simple DirectMedia Layer) window. This is a
	  console device and can display stdout output. Within U-Boot is is
	  a normal bitmap display and can display images as well as text.

source "drivers/video/stm32/Kconfig"

config VIDEO_TEGRA20
	bool "Enable LCD support on Tegra20"
	depends on OF_CONTROL
	help
	   Tegra20 supports video output to an attached LCD panel as well as
	   other options such as HDMI. Only the LCD is supported in U-Boot.
	   This option enables this support which can be used on devices which
	   have an LCD display connected.

config VIDEO_TEGRA124
	bool "Enable video support on Tegra124"
	depends on DM_VIDEO
	help
	   Tegra124 supports many video output options including eDP and
	   HDMI. At present only eDP is supported by U-Boot. This option
	   enables this support which can be used on devices which
	   have an eDP display connected.

source "drivers/video/bridge/Kconfig"

source "drivers/video/imx/Kconfig"

config VIDEO_NX
	bool "Enable video support on Nexell SoC"
	depends on ARCH_S5P6818 || ARCH_S5P4418
	help
	   Nexell SoC supports many video output options including eDP and
	   HDMI. This option enables this support which can be used on devices
	   which have an eDP display connected.

config VIDEO_SEPS525
	bool "Enable video support for Seps525"
	depends on DM_VIDEO
	help
	  Enable support for the Syncoam PM-OLED display driver (RGB 160x128).
	  Currently driver is supporting only SPI interface.

source "drivers/video/nexell/Kconfig"

config VIDEO
	bool "Enable legacy video support"
	depends on !DM_VIDEO
	help
	  Define this for video support, without using driver model. Some
	  drivers use this because they are not yet converted to driver
	  model. Video drivers typically provide a colour text console and
	  cursor.

config CFB_CONSOLE
	bool "Enable colour frame buffer console"
	depends on VIDEO || ARCH_OMAP2PLUS
	default y if VIDEO
	help
	  Enables the colour frame buffer driver. This supports colour
	  output on a bitmap display from an in-memory frame buffer.
	  Several colour devices are supported along with various options to
	  adjust the supported features. The driver is implemented in
	  cfb_console.c

	  The following defines are needed (cf. smiLynxEM, i8042)
		VIDEO_FB_LITTLE_ENDIAN	graphic memory organisation
					(default big endian)
		VIDEO_HW_RECTFILL	graphic chip supports
					rectangle fill (cf. smiLynxEM)
		VIDEO_HW_BITBLT		graphic chip supports
					bit-blit (cf. smiLynxEM)
		VIDEO_VISIBLE_COLS	visible pixel columns (cols=pitch)
		VIDEO_VISIBLE_ROWS	visible pixel rows
		VIDEO_PIXEL_SIZE	bytes per pixel
		VIDEO_DATA_FORMAT	graphic data format
					(0-5, cf. cfb_console.c)
		VIDEO_FB_ADRS		framebuffer address
		VIDEO_KBD_INIT_FCT	keyboard int fct (i.e. rx51_kp_init())
		VIDEO_TSTC_FCT		test char fct (i.e. rx51_kp_tstc)
		VIDEO_GETC_FCT		get char fct (i.e. rx51_kp_getc)
		CONFIG_VIDEO_LOGO	display Linux logo in upper left corner
		CONFIG_VIDEO_BMP_LOGO	use bmp_logo.h instead of linux_logo.h
					for logo. Requires CONFIG_VIDEO_LOGO
		CONFIG_CONSOLE_EXTRA_INFO
					additional board info beside
					the logo
		CONFIG_HIDE_LOGO_VERSION
					do not display bootloader
					version string

	  When CONFIG_CFB_CONSOLE is defined, the video console is the
	  default console. The serial console can be forced by setting the
	  environment 'console=serial'.

config CFB_CONSOLE_ANSI
	bool "Support ANSI escape sequences"
	depends on CFB_CONSOLE
	help
	  This allows the colour buffer frame buffer driver to support
	  a limited number of ANSI escape sequences (cursor control,
	  erase functions and limited graphics rendition control). Normal
	  output from U-Boot will pass through this filter.

config VGA_AS_SINGLE_DEVICE
	bool "Set the video as an output-only device"
	depends on CFB_CONSOLE
	default y
	help
	  If enable the framebuffer device will be initialized as an
	  output-only device. The Keyboard driver will not be set up. This
	  may be used if you have no keyboard device, or more than one
	  (USB Keyboard, AT Keyboard).

config VIDEO_SW_CURSOR
	bool "Enable a software cursor"
	depends on CFB_CONSOLE
	default y if CFB_CONSOLE
	help
	  This draws a cursor after the last character. No blinking is
	  provided. This makes it possible to see the current cursor
	  position when entering text on the console. It is recommended to
	  enable this.

config CONSOLE_EXTRA_INFO
	bool "Display additional board information"
	depends on CFB_CONSOLE
	help
	  Display additional board information strings that normally go to
	  the serial port. When this option is enabled, a board-specific
	  function video_get_info_str() is called to get the string for
	  each line of the display. The function should return the string,
	  which can be empty if there is nothing to display for that line.

config CONSOLE_SCROLL_LINES
	int "Number of lines to scroll the console by"
	depends on CFB_CONSOLE || DM_VIDEO || LCD
	default 1
	help
	  When the console need to be scrolled, this is the number of
	  lines to scroll by. It defaults to 1. Increasing this makes the
	  console jump but can help speed up operation when scrolling
	  is slow.

config SYS_CONSOLE_BG_COL
	hex "Background colour"
	depends on CFB_CONSOLE
	default 0x00
	help
	  Defines the background colour for the console. The value is from
	  0x00 to 0xff and the meaning depends on the graphics card.
	  Typically, 0x00 means black and 0xff means white. Do not set
	  the background and foreground to the same colour or you will see
	  nothing.

config SYS_CONSOLE_FG_COL
	hex "Foreground colour"
	depends on CFB_CONSOLE
	default 0xa0
	help
	  Defines the foreground colour for the console. The value is from
	  0x00 to 0xff and the meaning depends on the graphics card.
	  Typically, 0x00 means black and 0xff means white. Do not set
	  the background and foreground to the same colour or you will see
	  nothing.

config LCD
	bool "Enable legacy LCD support"
	help
	  Define this to enable LCD support (for output to LCD display).
	  You will also need to select an LCD driver using an additional
	  CONFIG option. See the README for details. Drives which have been
	  converted to driver model will instead used CONFIG_DM_VIDEO.

config VIDEO_DW_HDMI
	bool
	help
	  Enables the common driver code for the Designware HDMI TX
	  block found in SoCs from various vendors.
	  As this does not provide any functionality by itself (but
	  rather requires a SoC-specific glue driver to call it), it
	  can not be enabled from the configuration menu.

config VIDEO_DSI_HOST_SANDBOX
	bool "Enable sandbox for dsi host"
	depends on SANDBOX
	select VIDEO_MIPI_DSI
	help
	  Enable support for sandbox dsi host device used for testing
	  purposes.
	  Display Serial Interface (DSI) defines a serial bus and
	  a communication protocol between the host and the device
	  (panel, bridge).

config VIDEO_DW_MIPI_DSI
	bool
	select VIDEO_MIPI_DSI
	help
	  Enables the common driver code for the Synopsis Designware
	  MIPI DSI block found in SoCs from various vendors.
	  As this does not provide any functionality by itself (but
	  rather requires a SoC-specific glue driver to call it), it
	  can not be enabled from the configuration menu.

config VIDEO_SIMPLE
	bool "Simple display driver for preconfigured display"
	help
	  Enables a simple generic display driver which utilizes the
	  simple-framebuffer devicetree bindings.

	  This driver assumes that the display hardware has been initialized
	  before u-boot starts, and u-boot will simply render to the pre-
	  allocated frame buffer surface.

config VIDEO_DT_SIMPLEFB
	bool "Enable SimpleFB support for passing framebuffer to OS"
	help
	  Enables the code to pass the framebuffer to the kernel as a
	  simple framebuffer in the device tree.
	  The video output is initialized by U-Boot, and kept by the
	  kernel.

config VIDEO_MCDE_SIMPLE
	bool "Simple driver for ST-Ericsson MCDE with preconfigured display"
	depends on DM_VIDEO
	help
	  Enables a simple display driver for ST-Ericsson MCDE
	  (Multichannel Display Engine), which reads the configuration from
	  the MCDE registers.

	  This driver assumes that the display hardware has been initialized
	  before u-boot starts, and u-boot will simply render to the pre-
	  allocated frame buffer surface.

config OSD
	bool "Enable OSD support"
	depends on DM
	default n
	help
	   This supports drivers that provide a OSD (on-screen display), which
	   is a (usually text-oriented) graphics buffer to show information on
	   a display.

config SANDBOX_OSD
	bool "Enable sandbox OSD"
	depends on OSD
	help
	  Enable support for sandbox OSD device used for testing purposes.

config IHS_VIDEO_OUT
	bool "Enable IHS video out driver"
	depends on OSD
	help
	  Enable support for the gdsys Integrated Hardware Systems (IHS) video
	  out On-screen Display (OSD) used on gdsys FPGAs to control dynamic
	  textual overlays of the display outputs.

config SPLASH_SCREEN
	bool "Show a splash-screen image"
	help
	  If this option is set, the environment is checked for a variable
	  "splashimage". If found, the usual display of logo, copyright and
	  system information on the LCD is suppressed and the BMP image at the
	  address specified in "splashimage" is loaded instead. The console is
	  redirected to the "nulldev", too. This allows for a "silent" boot
	  where a splash screen is loaded very quickly after power-on.

	  The splash_screen_prepare() function is a weak function defined in
	  common/splash.c. It is called as part of the splash screen display
	  sequence. It gives the board an opportunity to prepare the splash
	  image data before it is processed and sent to the frame buffer by
	  U-Boot. Define your own version to use this feature.

config SPLASHIMAGE_GUARD
	bool "Support unaligned BMP images"
	depends on SPLASH_SCREEN
	help
	  If this option is set, then U-Boot will prevent the environment
	  variable "splashimage" from being set to a problematic address
	  (see doc/README.displaying-bmps).

	  This option is useful for targets where, due to alignment
	  restrictions, an improperly aligned BMP image will cause a data
	  abort. If you think you will not have problems with unaligned
	  accesses (for example because your toolchain prevents them)
	  there is no need to set this option.

config SPLASH_SCREEN_ALIGN
	bool "Allow positioning the splash image anywhere on the display"
	depends on SPLASH_SCREEN || CMD_BMP
	help
	  If this option is set the splash image can be freely positioned
	  on the screen. Environment variable "splashpos" specifies the
	  position as "x,y". If a positive number is given it is used as
	  number of pixel from left/top. If a negative number is given it
	  is used as number of pixel from right/bottom. You can also
	  specify 'm' for centering the image.

	  Example:
	  setenv splashpos m,m
	  	=> image at center of screen

	  setenv splashpos 30,20
	  	=> image at x = 30 and y = 20

	  setenv splashpos -10,m
	  	=> vertically centered image
	  	   at x = dspWidth - bmpWidth - 9

config SPLASH_SOURCE
	bool "Control the source of the splash image"
	depends on SPLASH_SCREEN
	help
	  Use the splash_source.c library. This library provides facilities to
	  declare board specific splash image locations, routines for loading
	  splash image from supported locations, and a way of controlling the
	  selected splash location using the "splashsource" environment
	  variable.

	  This CONFIG works as follows:

	  - If splashsource is set to a supported location name as defined by
	    board code, use that splash location.
	  - If splashsource is undefined, use the first splash location as
	    default.
	  - If splashsource is set to an unsupported value, do not load a splash
	    screen.

	  A splash source location can describe either storage with raw data, a
	  storage formatted with a file system or a FIT image. In case of a
	  filesystem, the splash screen data is loaded as a file. The name of
	  the splash screen file can be controlled with the environment variable
	  "splashfile".

	  To enable loading the splash image from a FIT image, CONFIG_FIT must
	  be enabled. The FIT image has to start at the 'offset' field address
	  in the selected splash location. The name of splash image within the
	  FIT shall be specified by the environment variable "splashfile".

	  In case the environment variable "splashfile" is not defined the
	  default name 'splash.bmp' will be used.

config VIDEO_BMP_GZIP
	bool "Gzip compressed BMP image support"
	depends on CMD_BMP || SPLASH_SCREEN
	help
	  If this option is set, additionally to standard BMP
	  images, gzipped BMP images can be displayed via the
	  splashscreen support or the bmp command.

config VIDEO_BMP_RLE8
	bool "Run length encoded BMP image (RLE8) support"
	depends on DM_VIDEO || CFB_CONSOLE
	help
	  If this option is set, the 8-bit RLE compressed BMP images
	  is supported.

config BMP_16BPP
	bool "16-bit-per-pixel BMP image support"
	depends on DM_VIDEO || LCD
	help
	  Support display of bitmaps file with 16-bit-per-pixel

config BMP_24BPP
	bool "24-bit-per-pixel BMP image support"
	depends on DM_VIDEO || LCD
	help
	  Support display of bitmaps file with 24-bit-per-pixel.

config BMP_32BPP
	bool "32-bit-per-pixel BMP image support"
	depends on DM_VIDEO || LCD
	help
	  Support display of bitmaps file with 32-bit-per-pixel.

config VIDEO_VCXK
	bool "Enable VCXK video controller driver support"
	default n
	help
	  This enables VCXK driver which can be used with VC2K, VC4K
	  and VC8K devices on various boards from BuS Elektronik GmbH.

endmenu