1 1.1 mw /* 2 1.1 mw * Driver for custom chips display. 3 1.1 mw */ 4 1.1 mw 5 1.1 mw /* this is a mere collection of data, the registers itself are in the 6 1.1 mw custom chip area */ 7 1.1 mw 8 1.1 mw struct ccfb { 9 1.1 mw int disp_width; 10 1.1 mw int disp_height; 11 1.1 mw int disp_x, disp_y; /* this defines the dimension and 12 1.1 mw relative position of the display. */ 13 1.1 mw int disp_z; /* display depth */ 14 1.1 mw 15 1.1 mw u_char *fb; /* frame buffer, ie. block in chipmem 16 1.1 mw containing bitplane(s) */ 17 1.1 mw int fb_width; 18 1.1 mw int fb_height; /* dimension of the framebuffer. Can 19 1.1 mw be larger than the display! */ 20 1.1 mw int fb_x, fb_y; /* offset of the framebuffer relative 21 1.1 mw to the display (disp_*) values */ 22 1.1 mw int fb_z; /* frame buffer depth */ 23 1.1 mw 24 1.1 mw u_short col[16]; /* color palette */ 25 1.1 mw 26 1.1 mw u_short bplstart_off; /* offset in copperlist where the bitplane 27 1.1 mw start is set. This is used for smooth 28 1.1 mw scrolling of oversized framebuffers */ 29 1.1 mw u_short *cop1, *cop2; /* both copperlists */ 30 1.1 mw }; 31 1.1 mw 32 1.1 mw 33 1.1 mw /* these are the initial values for changeable parameters: */ 34 1.1 mw #define DEF_DISP_WIDTH 640 35 1.1 mw #define DEF_DISP_HEIGHT 400 36 1.1 mw #define DEF_DISP_X 258 /* "" */ 37 1.1 mw #define DEF_DISP_Y 88 /* hardware preferred values.. */ 38 1.1 mw #define DEF_FB_X 0 39 1.1 mw #define DEF_FB_Y 0 40 1.1 mw #define DEF_COL0 0x123 41 1.1 mw #define DEF_COL1 0xccc 42 1.1 mw 43 1.1 mw /* these are currently not changeable easily (would require reallocation 44 1.1 mw of display memory and rebuild of copperlists. Do this later perhaps) */ 45 1.1 mw #define DEF_FB_WIDTH 1024 46 1.1 mw #define DEF_FB_HEIGHT 1024 47 1.1 mw #define DEF_FB_Z 1 48 1.1 mw #define DEF_DISP_Z 1 49