summaryrefslogtreecommitdiff
path: root/drivers/video/Kconfig
blob: fcc0e85d2e69d120b52f53f327d7d9f39c453f46 (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
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
#
# Video configuration
#

menu "Graphics support"

config 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.

if VIDEO

config VIDEO_FONT_4X6
	bool "4 x 6 font size"
	help
	  Font for video console driver, 4 x 6 pixels.
	  Provides character bitmap data in header file.
	  When selecting multiple fonts, you may want to enable CMD_SELECT_FONT too.

config VIDEO_FONT_8X16
	bool "8 x 16 font size"
	default y
	help
	  Font for video console driver, 8 x 16 pixels
	  Provides character bitmap data in header file.
	  When selecting multiple fonts, you may want to enable CMD_SELECT_FONT too.

config VIDEO_FONT_SUN12X22
	bool "12 x 22 font size"
	help
	  Font for video console driver, 12 x 22 pixels
	  Provides character bitmap data in header file.
	  When selecting multiple fonts, you may want to enable CMD_SELECT_FONT too.

config VIDEO_FONT_16X32
	bool "16 x 32 font size"
	help
	  Font for video console driver, 16 x 32 pixels
	  Provides character bitmap data in header file.
	  When selecting multiple fonts, you may want to enable CMD_SELECT_FONT too.

config VIDEO_LOGO
	bool "Show the U-Boot logo on the display"
	default y if !SPLASH_SCREEN
	select VIDEO_BMP_RLE8
	help
	  This enables showing the U-Boot logo on the display when a video
	  device is probed. It appears at the top right. The logo itself is at
	  tools/logos/u-boot_logo.bmp and looks best when the display has a
	  black background.

config BACKLIGHT
	bool "Enable panel backlight uclass support"
	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"
	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"
	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 VIDEO_BPP8
	bool "Support 8-bit-per-pixel displays"
	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"
	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"
	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"
	default y if EFI_LOADER
	help
	  Enable ANSI escape sequence decoding for a more fully functional
	  console. Functionality includes changing the text colour and moving
	  the cursor. These date from the 1970s and are still widely used today
	  to control a text terminal. U-Boot implements these by decoding the
	  sequences and performing the appropriate operation.

config VIDEO_MIPI_DSI
	bool "Support MIPI DSI interface"
	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"
	default y
	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"
	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"
	select CMD_SELECT_FONT
	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 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 CONSOLE_TRUETYPE_MAX_METRICS
	int "TrueType maximum number of font / size combinations"
	depends on CONSOLE_TRUETYPE
	default 10 if EXPO
	default 1
	help
	  This sets the number of font / size combinations which can be used by
	  the console. For simple console use a single font is enough. When
	  boot menus are in use, this may need to be increased.

	  Note that a separate entry is needed for each font size, even if the
	  font itself is the same. This is because the entry caches various
	  font metrics which are expensive to regenerate each time the font
	  size changes.

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"
	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.

config PANEL_HX8238D
	bool "Enable Himax HX-8238D LCD driver"
	depends on PANEL
	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.

source "drivers/video/fonts/Kconfig"

config VIDCONSOLE_AS_LCD
	bool "Use 'vidconsole' when CONFIG_VIDCONSOLE_AS_NAME string is seen in stdout"
	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 || EFI_APP
	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"
	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"
	---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 ATMEL_LCD
	bool "Atmel LCD panel support"
	depends on ARCH_AT91

config ATMEL_LCD_BGR555
	bool "Display in BGR555 mode"
	help
	  Use the BGR555 output mode.  Otherwise RGB565 is used.

config VIDEO_BCM2835
	bool "Display support for BCM2835"
	help
	  The graphics processor already sets up the display so this driver
	  simply checks the resolution and then sets up the frame buffer with
	  that same resolution (or as near as possible) and 32bpp depth, so
	  that U-Boot can access it with full colour depth.

config VIDEO_LCD_ENDEAVORU
	tristate "Endeavoru 720x1280 DSI video mode panel"
	depends on PANEL && BACKLIGHT
	select VIDEO_MIPI_DSI
	help
	  Say Y here if you want to enable support for the IPS-LCD panel
	  module for HTC One X. Driver supports a family of panels,
	  made at least by 3 vendors (Sharp, Sony and AUO), but set up
	  using the same DSI command sequence. The panel has a 720x1280
	  resolution and uses 24 bit RGB per pixel.

config VIDEO_LCD_ORISETECH_OTM8009A
	bool "OTM8009A DSI LCD panel support"
	select VIDEO_MIPI_DSI
	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"
	select VIDEO_MIPI_DSI
	help
	Say Y here if you want to enable support for Raydium RM68200
	720x1280 DSI video mode panel.

config VIDEO_LCD_RENESAS_R61307
	tristate "Renesas R61307 DSI video mode panel"
	depends on PANEL && BACKLIGHT
	select VIDEO_MIPI_DSI
	help
	  Say Y here if you want to enable support for KOE tx13d100vm0eaa
	  IPS-LCD module with Renesas R69328 IC. The panel has a 1024x768
	  resolution and uses 24 bit RGB per pixel.

config VIDEO_LCD_RENESAS_R69328
	tristate "Renesas R69328 720x1280 DSI video mode panel"
	depends on PANEL && BACKLIGHT
	select VIDEO_MIPI_DSI
	help
	  Say Y here if you want to enable support for JDI dx12d100vm0eaa
	  IPS-LCD module with Renesas R69328 IC. The panel has a 720x1280
	  resolution and uses 24 bit RGB per pixel.

config VIDEO_LCD_SSD2828
	bool "SSD2828 bridge chip"
	---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 'sunxi_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"
	select VIDEO_MIPI_DSI
	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"
	---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 'sunxi_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 'sunxi_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 'sunxi_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 'sunxi_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"
	---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"
	help
	   This enables library for accessing EDID data from an LCD panel.

config DISPLAY
	bool "Enable Display support"
	depends on DM
	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
	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.

config BACKLIGHT_LM3533
	bool "Backlight Driver for LM3533"
	depends on BACKLIGHT
	select DM_I2C
	help
	  Say Y to enable the backlight driver for National Semiconductor / TI
	  LM3533 Lighting Power chip. Only Bank A is supported as for now.
	  Supported backlight level range is from 2 to 255 with step of 1.

source "drivers/video/ti/Kconfig"

source "drivers/video/exynos/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.

source "drivers/video/rockchip/Kconfig"

config VIDEO_ARM_MALIDP
	bool "Enable Arm Mali Display Processor support"
	depends on 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_SDL
	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"

source "drivers/video/tidss/Kconfig"

config VIDEO_TEGRA124
	bool "Enable video support on Tegra124"
	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/tegra20/Kconfig"

source "drivers/video/imx/Kconfig"

config VIDEO_MXS
	bool "Enable video support on i.MX28/i.MX6UL/i.MX7 SoCs"
	help
	  Enable framebuffer driver for i.MX28/i.MX6UL/i.MX7 processors

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_GPIO
	help
	  Enable support for the Syncoam PM-OLED display driver (RGB 160x128).
	  Currently driver is supporting only SPI interface.

config VIDEO_ZYNQMP_DPSUB
	bool "Enable video support for ZynqMP Display Port"
	depends on ZYNQMP_POWER_DOMAIN
	help
	  Enable support for Xilinx ZynqMP Display Port. Currently this file
	  is used as placeholder for driver. The main reason is to record
	  compatible string and calling power domain driver.

source "drivers/video/nexell/Kconfig"

config CONSOLE_SCROLL_LINES
	int "Number of lines to scroll the console by"
	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 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"
	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
	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.

if SPLASH_SCREEN

config SPLASH_SCREEN_ALIGN
	bool "Allow positioning the splash image anywhere on the display"
	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 HIDE_LOGO_VERSION
	bool "Hide the version information on the splash screen"
	help
	  Normally the U-Boot version string is shown on the display when the
	  splash screen is enabled. This information is not otherwise visible
	  since video starts up after U-Boot has displayed the initial banner.

	  Enable this option to hide this information.

config SPLASH_SOURCE
	bool "Control the source of the splash image"
	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.

endif # SPLASH_SCREEN

config VIDEO_BMP_GZIP
	bool "Gzip compressed BMP image support"
	depends on 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_LOGO_MAX_SIZE
	hex "Maximum size of the bitmap logo in bytes"
	default 0x100000
	help
	  Sets the maximum uncompressed size of the logo. This is needed when
	  decompressing a BMP file using the gzip algorithm, since it cannot
	  read the size from the bitmap header.

config VIDEO_BMP_RLE8
	bool "Run length encoded BMP image (RLE8) support"
	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"
	help
	  Support display of bitmaps file with 16-bit-per-pixel

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

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

endif # VIDEO

config SPL_VIDEO
	bool "Enable driver model support for LCD/video"
	depends on SPL_DM
	help
	  The video subsystem adds a small amount of overhead to the image.
	  If this is acceptable and you have a need to use video drivers in
	  SPL, enable this option. It might provide a cleaner interface to
	  setting up video within SPL, and allows the same drivers to be
	  used as U-Boot proper.

if SPL_VIDEO
source "drivers/video/tidss/Kconfig"

config SPL_VIDEO_LOGO
	bool "Show the U-Boot logo on the display at SPL"
	default y if !SPL_SPLASH_SCREEN
	select SPL_VIDEO_BMP_RLE8
	help
	  This enables showing the U-Boot logo on the display when a video
	  device is probed. It appears at the top right. The logo itself is at
	  tools/logos/u-boot_logo.bmp and looks best when the display has a
	  black background.

config SPL_SPLASH_SCREEN
	bool "Show a splash-screen image at SPL"
	help
	  If this option is set, the environment is checked for a variable
	  "splashimage" at spl stage.

config SPL_SYS_WHITE_ON_BLACK
	bool "Display console as white on a black background at SPL"
	help
	 Normally the display is black on a white background, Enable this
	 option to invert this, i.e. white on a black background at spl stage.
	 This can be better in low-light situations or to reduce eye strain in
	 some cases.

config SPL_VIDEO_PCI_DEFAULT_FB_SIZE
	hex "Default framebuffer size to use if no drivers request it at SPL"
	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 SPL_CONSOLE_SCROLL_LINES
	int "Number of lines to scroll the console by at SPL"
	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 SPL_CONSOLE_NORMAL
	bool "Support a simple text console at SPL"
	default y
	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 SPL_BACKLIGHT
	bool "Enable panel backlight uclass support at SPL"
	default y
	help
	  This provides backlight uclass driver that enables basic panel
	  backlight support.

config SPL_PANEL
	bool "Enable panel uclass support at SPL"
	default y
	help
	  This provides panel uclass driver that enables basic panel support.

config SPL_SIMPLE_PANEL
	bool "Enable simple panel support at SPL"
	depends on SPL_PANEL && SPL_BACKLIGHT && SPL_DM_GPIO
	default y
	help
	  This turns on a simple panel driver that enables a compatible
	  video panel.

config SPL_SYS_WHITE_ON_BLACK
	bool "Display console as white on a black background at SPL"
	help
	 Normally the display is black on a white background, Enable this
	 option to invert this, i.e. white on a black background at spl stage.
	 This can be better in low-light situations or to reduce eye strain in
	 some cases.

if SPL_SPLASH_SCREEN

config SPL_SPLASH_SCREEN_ALIGN
	bool "Allow positioning the splash image anywhere on the display at SPL"
	help
	  If this option is set the splash image can be freely positioned
	  on the screen only at SPL. 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.

config SPL_SPLASH_SOURCE
	bool "Control the source of the splash image at SPL"
	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.

endif # SPL_SPLASH_SCREEN

config SPL_VIDEO_BMP_GZIP
	bool "Gzip compressed BMP image support at SPL"
	depends on SPL_SPLASH_SCREEN || SPL_BMP
	help
	  If this option is set, additionally to standard BMP
	  images, gzipped BMP images can be displayed via the
	  splashscreen supportat SPL stage.

config SPL_VIDEO_LOGO_MAX_SIZE
	hex "Maximum size of the bitmap logo in bytes at SPL"
	default 0x100000
	help
	  Sets the maximum uncompressed size of the logo. This is needed when
	  decompressing a BMP file using the gzip algorithm, since it cannot
	  read the size from the bitmap header.

config SPL_VIDEO_BMP_RLE8
	bool "Run length encoded BMP image (RLE8) support at SPL"
	help
	  If this option is set, the 8-bit RLE compressed BMP images
	  is supported.

config SPL_BMP_16BPP
	bool "16-bit-per-pixel BMP image support at SPL"
	help
	  Support display of bitmaps file with 16-bit-per-pixel

config SPL_BMP_24BPP
	bool "24-bit-per-pixel BMP image support at SPL"
	help
	  Support display of bitmaps file with 24-bit-per-pixel.

config SPL_BMP_32BPP
	bool "32-bit-per-pixel BMP image support at SPL"
	help
	  Support display of bitmaps file with 32-bit-per-pixel.

config SPL_VIDEO_BPP8
	bool "Support 8-bit-per-pixel displays at SPL"
	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 SPL_VIDEO_BPP16
	bool "Support 16-bit-per-pixel displays at SPL"
	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 SPL_VIDEO_BPP32
	bool "Support 32-bit-per-pixel displays at SPL"
	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 SPL_HIDE_LOGO_VERSION
    bool "Hide the version information on the splash screen at SPL"
    help
      Normally the U-Boot version string is shown on the display when the
      splash screen is enabled. This information is not otherwise visible
      since video starts up after U-Boot has displayed the initial banner.

      Enable this option to hide this information.
endif

endmenu