forked from KolibriOS/kolibrios
254037c81d
git-svn-id: svn://kolibrios.org@8331 a494cfbc-eb01-0410-851d-a64ba20cac60
64 lines
1.0 KiB
C
Executable File
64 lines
1.0 KiB
C
Executable File
#ifndef _PXA255_LCD_H_
|
|
#define _PXA255_LCD_H_
|
|
|
|
#include "mem.h"
|
|
#include "CPU.h"
|
|
#include "pxa255_IC.h"
|
|
|
|
#ifndef EMBEDDED
|
|
#define PXA255_LCD_SUPPORTS_PALLETES
|
|
#endif
|
|
|
|
|
|
/*
|
|
PXA255 OS LCD controller
|
|
|
|
PURRPOSE: it's nice to have a framebuffer
|
|
|
|
*/
|
|
|
|
#define PXA255_LCD_BASE 0x44000000UL
|
|
#define PXA255_LCD_SIZE 0x00001000UL
|
|
|
|
|
|
|
|
|
|
#define LCD_STATE_IDLE 0
|
|
#define LCD_STATE_DMA_0_START 1
|
|
#define LCD_STATE_DMA_0_END 2
|
|
|
|
typedef struct{
|
|
|
|
Pxa255ic* ic;
|
|
ArmMem* mem;
|
|
|
|
//registers
|
|
UInt32 lccr0, lccr1, lccr2, lccr3, fbr0, fbr1, liicr, trgbr, tcr;
|
|
UInt32 fdadr0, fsadr0, fidr0, ldcmd0;
|
|
UInt32 fdadr1, fsadr1, fidr1, ldcmd1;
|
|
UInt16 lcsr; //yes, 16-bit :)
|
|
|
|
//for our use
|
|
UInt16 intMask;
|
|
|
|
UInt8 state : 6;
|
|
UInt8 intWasPending : 1;
|
|
UInt8 enbChanged : 1;
|
|
|
|
#ifdef PXA255_LCD_SUPPORTS_PALLETES
|
|
|
|
UInt8 palette[512];
|
|
|
|
#endif
|
|
|
|
UInt32 frameNum;
|
|
|
|
}Pxa255lcd;
|
|
|
|
Boolean pxa255lcdInit(Pxa255lcd* lcd, ArmMem* physMem, Pxa255ic* ic);
|
|
void pxa255lcdFrame(Pxa255lcd* lcd);
|
|
|
|
|
|
#endif
|
|
|