xref: /openbmc/linux/Documentation/fb/tridentfb.rst (revision 0898782247ae533d1f4e47a06bc5d4870931b284)
1*ab42b818SMauro Carvalho Chehab=========
2*ab42b818SMauro Carvalho ChehabTridentfb
3*ab42b818SMauro Carvalho Chehab=========
4*ab42b818SMauro Carvalho Chehab
5*ab42b818SMauro Carvalho ChehabTridentfb is a framebuffer driver for some Trident chip based cards.
6*ab42b818SMauro Carvalho Chehab
7*ab42b818SMauro Carvalho ChehabThe following list of chips is thought to be supported although not all are
8*ab42b818SMauro Carvalho Chehabtested:
9*ab42b818SMauro Carvalho Chehab
10*ab42b818SMauro Carvalho Chehabthose from the TGUI series 9440/96XX and with Cyber in their names
11*ab42b818SMauro Carvalho Chehabthose from the Image series and with Cyber in their names
12*ab42b818SMauro Carvalho Chehabthose with Blade in their names (Blade3D,CyberBlade...)
13*ab42b818SMauro Carvalho Chehabthe newer CyberBladeXP family
14*ab42b818SMauro Carvalho Chehab
15*ab42b818SMauro Carvalho ChehabAll families are accelerated. Only PCI/AGP based cards are supported,
16*ab42b818SMauro Carvalho Chehabnone of the older Tridents.
17*ab42b818SMauro Carvalho ChehabThe driver supports 8, 16 and 32 bits per pixel depths.
18*ab42b818SMauro Carvalho ChehabThe TGUI family requires a line length to be power of 2 if acceleration
19*ab42b818SMauro Carvalho Chehabis enabled. This means that range of possible resolutions and bpp is
20*ab42b818SMauro Carvalho Chehablimited comparing to the range if acceleration is disabled (see list
21*ab42b818SMauro Carvalho Chehabof parameters below).
22*ab42b818SMauro Carvalho Chehab
23*ab42b818SMauro Carvalho ChehabKnown bugs:
24*ab42b818SMauro Carvalho Chehab
25*ab42b818SMauro Carvalho Chehab1. The driver randomly locks up on 3DImage975 chip with acceleration
26*ab42b818SMauro Carvalho Chehab   enabled. The same happens in X11 (Xorg).
27*ab42b818SMauro Carvalho Chehab2. The ramdac speeds require some more fine tuning. It is possible to
28*ab42b818SMauro Carvalho Chehab   switch resolution which the chip does not support at some depths for
29*ab42b818SMauro Carvalho Chehab   older chips.
30*ab42b818SMauro Carvalho Chehab
31*ab42b818SMauro Carvalho ChehabHow to use it?
32*ab42b818SMauro Carvalho Chehab==============
33*ab42b818SMauro Carvalho Chehab
34*ab42b818SMauro Carvalho ChehabWhen booting you can pass the video parameter::
35*ab42b818SMauro Carvalho Chehab
36*ab42b818SMauro Carvalho Chehab	video=tridentfb
37*ab42b818SMauro Carvalho Chehab
38*ab42b818SMauro Carvalho ChehabThe parameters for tridentfb are concatenated with a ':' as in this example::
39*ab42b818SMauro Carvalho Chehab
40*ab42b818SMauro Carvalho Chehab	video=tridentfb:800x600-16@75,noaccel
41*ab42b818SMauro Carvalho Chehab
42*ab42b818SMauro Carvalho ChehabThe second level parameters that tridentfb understands are:
43*ab42b818SMauro Carvalho Chehab
44*ab42b818SMauro Carvalho Chehab========  =====================================================================
45*ab42b818SMauro Carvalho Chehabnoaccel   turns off acceleration (when it doesn't work for your card)
46*ab42b818SMauro Carvalho Chehab
47*ab42b818SMauro Carvalho Chehabfp	  use flat panel related stuff
48*ab42b818SMauro Carvalho Chehabcrt 	  assume monitor is present instead of fp
49*ab42b818SMauro Carvalho Chehab
50*ab42b818SMauro Carvalho Chehabcenter 	  for flat panels and resolutions smaller than native size center the
51*ab42b818SMauro Carvalho Chehab	  image, otherwise use
52*ab42b818SMauro Carvalho Chehabstretch
53*ab42b818SMauro Carvalho Chehab
54*ab42b818SMauro Carvalho Chehabmemsize   integer value in KB, use if your card's memory size is misdetected.
55*ab42b818SMauro Carvalho Chehab	  look at the driver output to see what it says when initializing.
56*ab42b818SMauro Carvalho Chehab
57*ab42b818SMauro Carvalho Chehabmemdiff   integer value in KB, should be nonzero if your card reports
58*ab42b818SMauro Carvalho Chehab	  more memory than it actually has. For instance mine is 192K less than
59*ab42b818SMauro Carvalho Chehab	  detection says in all three BIOS selectable situations 2M, 4M, 8M.
60*ab42b818SMauro Carvalho Chehab	  Only use if your video memory is taken from main memory hence of
61*ab42b818SMauro Carvalho Chehab	  configurable size. Otherwise use memsize.
62*ab42b818SMauro Carvalho Chehab	  If in some modes which barely fit the memory you see garbage
63*ab42b818SMauro Carvalho Chehab	  at the bottom this might help by not letting change to that mode
64*ab42b818SMauro Carvalho Chehab	  anymore.
65*ab42b818SMauro Carvalho Chehab
66*ab42b818SMauro Carvalho Chehabnativex   the width in pixels of the flat panel.If you know it (usually 1024
67*ab42b818SMauro Carvalho Chehab	  800 or 1280) and it is not what the driver seems to detect use it.
68*ab42b818SMauro Carvalho Chehab
69*ab42b818SMauro Carvalho Chehabbpp	  bits per pixel (8,16 or 32)
70*ab42b818SMauro Carvalho Chehabmode	  a mode name like 800x600-8@75 as described in
71*ab42b818SMauro Carvalho Chehab	  Documentation/fb/modedb.rst
72*ab42b818SMauro Carvalho Chehab========  =====================================================================
73*ab42b818SMauro Carvalho Chehab
74*ab42b818SMauro Carvalho ChehabUsing insane values for the above parameters will probably result in driver
75*ab42b818SMauro Carvalho Chehabmisbehaviour so take care(for instance memsize=12345678 or memdiff=23784 or
76*ab42b818SMauro Carvalho Chehabnativex=93)
77*ab42b818SMauro Carvalho Chehab
78*ab42b818SMauro Carvalho ChehabContact: jani@astechnix.ro
79