summaryrefslogtreecommitdiffstats
path: root/Documentation/fb/ep93xx-fb.txt
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/fb/ep93xx-fb.txt')
-rw-r--r--Documentation/fb/ep93xx-fb.txt135
1 files changed, 0 insertions, 135 deletions
diff --git a/Documentation/fb/ep93xx-fb.txt b/Documentation/fb/ep93xx-fb.txt
deleted file mode 100644
index 5af1bd9..0000000
--- a/Documentation/fb/ep93xx-fb.txt
+++ /dev/null
@@ -1,135 +0,0 @@
-================================
-Driver for EP93xx LCD controller
-================================
-
-The EP93xx LCD controller can drive both standard desktop monitors and
-embedded LCD displays. If you have a standard desktop monitor then you
-can use the standard Linux video mode database. In your board file:
-
- static struct ep93xxfb_mach_info some_board_fb_info = {
- .num_modes = EP93XXFB_USE_MODEDB,
- .bpp = 16,
- };
-
-If you have an embedded LCD display then you need to define a video
-mode for it as follows:
-
- static struct fb_videomode some_board_video_modes[] = {
- {
- .name = "some_lcd_name",
- /* Pixel clock, porches, etc */
- },
- };
-
-Note that the pixel clock value is in pico-seconds. You can use the
-KHZ2PICOS macro to convert the pixel clock value. Most other values
-are in pixel clocks. See Documentation/fb/framebuffer.txt for further
-details.
-
-The ep93xxfb_mach_info structure for your board should look like the
-following:
-
- static struct ep93xxfb_mach_info some_board_fb_info = {
- .num_modes = ARRAY_SIZE(some_board_video_modes),
- .modes = some_board_video_modes,
- .default_mode = &some_board_video_modes[0],
- .bpp = 16,
- };
-
-The framebuffer device can be registered by adding the following to
-your board initialisation function:
-
- ep93xx_register_fb(&some_board_fb_info);
-
-=====================
-Video Attribute Flags
-=====================
-
-The ep93xxfb_mach_info structure has a flags field which can be used
-to configure the controller. The video attributes flags are fully
-documented in section 7 of the EP93xx users' guide. The following
-flags are available:
-
-EP93XXFB_PCLK_FALLING Clock data on the falling edge of the
- pixel clock. The default is to clock
- data on the rising edge.
-
-EP93XXFB_SYNC_BLANK_HIGH Blank signal is active high. By
- default the blank signal is active low.
-
-EP93XXFB_SYNC_HORIZ_HIGH Horizontal sync is active high. By
- default the horizontal sync is active low.
-
-EP93XXFB_SYNC_VERT_HIGH Vertical sync is active high. By
- default the vertical sync is active high.
-
-The physical address of the framebuffer can be controlled using the
-following flags:
-
-EP93XXFB_USE_SDCSN0 Use SDCSn[0] for the framebuffer. This
- is the default setting.
-
-EP93XXFB_USE_SDCSN1 Use SDCSn[1] for the framebuffer.
-
-EP93XXFB_USE_SDCSN2 Use SDCSn[2] for the framebuffer.
-
-EP93XXFB_USE_SDCSN3 Use SDCSn[3] for the framebuffer.
-
-==================
-Platform callbacks
-==================
-
-The EP93xx framebuffer driver supports three optional platform
-callbacks: setup, teardown and blank. The setup and teardown functions
-are called when the framebuffer driver is installed and removed
-respectively. The blank function is called whenever the display is
-blanked or unblanked.
-
-The setup and teardown devices pass the platform_device structure as
-an argument. The fb_info and ep93xxfb_mach_info structures can be
-obtained as follows:
-
- static int some_board_fb_setup(struct platform_device *pdev)
- {
- struct ep93xxfb_mach_info *mach_info = pdev->dev.platform_data;
- struct fb_info *fb_info = platform_get_drvdata(pdev);
-
- /* Board specific framebuffer setup */
- }
-
-======================
-Setting the video mode
-======================
-
-The video mode is set using the following syntax:
-
- video=XRESxYRES[-BPP][@REFRESH]
-
-If the EP93xx video driver is built-in then the video mode is set on
-the Linux kernel command line, for example:
-
- video=ep93xx-fb:800x600-16@60
-
-If the EP93xx video driver is built as a module then the video mode is
-set when the module is installed:
-
- modprobe ep93xx-fb video=320x240
-
-==============
-Screenpage bug
-==============
-
-At least on the EP9315 there is a silicon bug which causes bit 27 of
-the VIDSCRNPAGE (framebuffer physical offset) to be tied low. There is
-an unofficial errata for this bug at:
- http://marc.info/?l=linux-arm-kernel&m=110061245502000&w=2
-
-By default the EP93xx framebuffer driver checks if the allocated physical
-address has bit 27 set. If it does, then the memory is freed and an
-error is returned. The check can be disabled by adding the following
-option when loading the driver:
-
- ep93xx-fb.check_screenpage_bug=0
-
-In some cases it may be possible to reconfigure your SDRAM layout to
-avoid this bug. See section 13 of the EP93xx users' guide for details.