| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- /*
- * Copyright (c) 2006-2023, RT-Thread Development Team
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Change Logs:
- * Date Author Notes
- * 2022-03-05 bernard first version.
- */
- #ifndef RT_LCD_H__
- #define RT_LCD_H__
- /* ioctls
- 0x46 is 'F' */
- #define FBIOGET_VSCREENINFO 0x4600
- #define FBIOPUT_VSCREENINFO 0x4601
- #define FBIOGET_FSCREENINFO 0x4602
- #define FBIOGET_PIXELINFO 0x4603
- #define FBIOGETCMAP 0x4604
- #define FBIOPUTCMAP 0x4605
- #define FBIOPAN_DISPLAY 0x4606
- #define FBIO_CURSOR 0x4608
- /* #define FBIOGET_MONITORSPEC 0x460C */
- /* #define FBIOPUT_MONITORSPEC 0x460D */
- /* #define FBIOSWITCH_MONIBIT 0x460E */
- #define FBIOGET_CON2FBMAP 0x460F
- #define FBIOPUT_CON2FBMAP 0x4610
- #define FBIOBLANK 0x4611 /* arg: 0 or vesa level + 1 */
- #define FBIOGET_VBLANK 0x4612
- #define FBIO_ALLOC 0x4613
- #define FBIO_FREE 0x4614
- #define FBIOGET_GLYPH 0x4615
- #define FBIOGET_HWCINFO 0x4616
- #define FBIOPUT_MODEINFO 0x4617
- #define FBIOGET_DISPINFO 0x4618
- #define FBIO_WAITFORVSYNC 0x4620
- struct fb_bitfield
- {
- uint32_t offset; /* beginning of bitfield */
- uint32_t length; /* length of bitfield */
- uint32_t msb_right; /* != 0 : Most significant bit is */
- /* right */
- };
- struct fb_var_screeninfo
- {
- uint32_t xres; /* visible resolution */
- uint32_t yres;
- uint32_t xres_virtual; /* virtual resolution */
- uint32_t yres_virtual;
- uint32_t xoffset; /* offset from virtual to visible */
- uint32_t yoffset; /* resolution */
- uint32_t bits_per_pixel; /* guess what */
- uint32_t grayscale; /* 0 = color, 1 = grayscale, */
- /* >1 = FOURCC */
- struct fb_bitfield red; /* bitfield in fb mem if true color, */
- struct fb_bitfield green; /* else only length is significant */
- struct fb_bitfield blue;
- struct fb_bitfield transp; /* transparency */
- uint32_t nonstd; /* != 0 Non standard pixel format */
- uint32_t activate; /* see FB_ACTIVATE_* */
- uint32_t height; /* height of picture in mm */
- uint32_t width; /* width of picture in mm */
- uint32_t accel_flags; /* (OBSOLETE) see fb_info.flags */
- /* Timing: All values in pixclocks, except pixclock (of course) */
- uint32_t pixclock; /* pixel clock in ps (pico seconds) */
- uint32_t left_margin; /* time from sync to picture */
- uint32_t right_margin; /* time from picture to sync */
- uint32_t upper_margin; /* time from sync to picture */
- uint32_t lower_margin;
- uint32_t hsync_len; /* length of horizontal sync */
- uint32_t vsync_len; /* length of vertical sync */
- uint32_t sync; /* see FB_SYNC_* */
- uint32_t vmode; /* see FB_VMODE_* */
- uint32_t rotate; /* angle we rotate counter clockwise */
- uint32_t colorspace; /* colorspace for FOURCC-based modes */
- uint32_t reserved[4]; /* Reserved for future compatibility */
- };
- struct fb_fix_screeninfo
- {
- char id[16]; /* identification string eg "TT Builtin" */
- unsigned long smem_start; /* Start of frame buffer mem */
- /* (physical address) */
- uint32_t smem_len; /* Length of frame buffer mem */
- uint32_t type; /* see FB_TYPE_* */
- uint32_t type_aux; /* Interleave for interleaved Planes */
- uint32_t visual; /* see FB_VISUAL_* */
- uint16_t xpanstep; /* zero if no hardware panning */
- uint16_t ypanstep; /* zero if no hardware panning */
- uint16_t ywrapstep; /* zero if no hardware ywrap */
- uint32_t line_length; /* length of a line in bytes */
- unsigned long mmio_start; /* Start of Memory Mapped I/O */
- /* (physical address) */
- uint32_t mmio_len; /* Length of Memory Mapped I/O */
- uint32_t accel; /* Indicate to driver which */
- /* specific chip/card we have */
- uint16_t capabilities; /* see FB_CAP_* */
- uint16_t reserved[2]; /* Reserved for future compatibility */
- };
- #endif
|