imxfb.h 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. /*
  2. * This structure describes the machine which we are running on.
  3. */
  4. #include <linux/fb.h>
  5. #define PCR_TFT (1 << 31)
  6. #define PCR_COLOR (1 << 30)
  7. #define PCR_PBSIZ_1 (0 << 28)
  8. #define PCR_PBSIZ_2 (1 << 28)
  9. #define PCR_PBSIZ_4 (2 << 28)
  10. #define PCR_PBSIZ_8 (3 << 28)
  11. #define PCR_BPIX_1 (0 << 25)
  12. #define PCR_BPIX_2 (1 << 25)
  13. #define PCR_BPIX_4 (2 << 25)
  14. #define PCR_BPIX_8 (3 << 25)
  15. #define PCR_BPIX_12 (4 << 25)
  16. #define PCR_BPIX_16 (5 << 25)
  17. #define PCR_BPIX_18 (6 << 25)
  18. #define PCR_PIXPOL (1 << 24)
  19. #define PCR_FLMPOL (1 << 23)
  20. #define PCR_LPPOL (1 << 22)
  21. #define PCR_CLKPOL (1 << 21)
  22. #define PCR_OEPOL (1 << 20)
  23. #define PCR_SCLKIDLE (1 << 19)
  24. #define PCR_END_SEL (1 << 18)
  25. #define PCR_END_BYTE_SWAP (1 << 17)
  26. #define PCR_REV_VS (1 << 16)
  27. #define PCR_ACD_SEL (1 << 15)
  28. #define PCR_ACD(x) (((x) & 0x7f) << 8)
  29. #define PCR_SCLK_SEL (1 << 7)
  30. #define PCR_SHARP (1 << 6)
  31. #define PCR_PCD(x) ((x) & 0x3f)
  32. #define PWMR_CLS(x) (((x) & 0x1ff) << 16)
  33. #define PWMR_LDMSK (1 << 15)
  34. #define PWMR_SCR1 (1 << 10)
  35. #define PWMR_SCR0 (1 << 9)
  36. #define PWMR_CC_EN (1 << 8)
  37. #define PWMR_PW(x) ((x) & 0xff)
  38. #define LSCR1_PS_RISE_DELAY(x) (((x) & 0x7f) << 26)
  39. #define LSCR1_CLS_RISE_DELAY(x) (((x) & 0x3f) << 16)
  40. #define LSCR1_REV_TOGGLE_DELAY(x) (((x) & 0xf) << 8)
  41. #define LSCR1_GRAY2(x) (((x) & 0xf) << 4)
  42. #define LSCR1_GRAY1(x) (((x) & 0xf))
  43. #define DMACR_BURST (1 << 31)
  44. #define DMACR_HM(x) (((x) & 0xf) << 16)
  45. #define DMACR_TM(x) ((x) & 0xf)
  46. struct imx_fb_videomode {
  47. struct fb_videomode mode;
  48. u32 pcr;
  49. unsigned char bpp;
  50. };
  51. struct imx_fb_platform_data {
  52. struct imx_fb_videomode *mode;
  53. int num_modes;
  54. u_int cmap_greyscale:1,
  55. cmap_inverse:1,
  56. cmap_static:1,
  57. unused:29;
  58. u_int pwmr;
  59. u_int lscr1;
  60. u_int dmacr;
  61. u_char * fixed_screen_cpu;
  62. dma_addr_t fixed_screen_dma;
  63. int (*init)(struct platform_device *);
  64. void (*exit)(struct platform_device *);
  65. void (*lcd_power)(int);
  66. void (*backlight_power)(int);
  67. };
  68. void set_imx_fb_info(struct imx_fb_platform_data *);