Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenhwclcd.c
Go to the documentation of this file.
00001 /* 00002 * PROJECT: ReactOS Boot Loader 00003 * LICENSE: BSD - See COPYING.ARM in the top level directory 00004 * FILE: boot/armllb/hw/versatile/hwclcd.c 00005 * PURPOSE: LLB CLCD Routines for Versatile 00006 * PROGRAMMERS: ReactOS Portable Systems Group 00007 */ 00008 00009 #include "precomp.h" 00010 00011 #define LCDTIMING0_PPL(x) ((((x) / 16 - 1) & 0x3f) << 2) 00012 #define LCDTIMING1_LPP(x) (((x) & 0x3ff) - 1) 00013 #define LCDCONTROL_LCDPWR (1 << 11) 00014 #define LCDCONTROL_LCDEN (1) 00015 #define LCDCONTROL_LCDBPP(x) (((x) & 7) << 1) 00016 #define LCDCONTROL_LCDTFT (1 << 5) 00017 00018 #define PL110_LCDTIMING0 (PVOID)0x10120000 00019 #define PL110_LCDTIMING1 (PVOID)0x10120004 00020 #define PL110_LCDTIMING2 (PVOID)0x10120008 00021 #define PL110_LCDUPBASE (PVOID)0x10120010 00022 #define PL110_LCDLPBASE (PVOID)0x10120014 00023 #define PL110_LCDCONTROL (PVOID)0x10120018 00024 00025 PUSHORT LlbHwVideoBuffer; 00026 00027 VOID 00028 NTAPI 00029 LlbHwVersaClcdInitialize(VOID) 00030 { 00031 /* Set framebuffer address */ 00032 WRITE_REGISTER_ULONG(PL110_LCDUPBASE, (ULONG)LlbHwGetFrameBuffer()); 00033 WRITE_REGISTER_ULONG(PL110_LCDLPBASE, (ULONG)LlbHwGetFrameBuffer()); 00034 00035 /* Initialize timings to 720x400 */ 00036 WRITE_REGISTER_ULONG(PL110_LCDTIMING0, LCDTIMING0_PPL(LlbHwGetScreenWidth())); 00037 WRITE_REGISTER_ULONG(PL110_LCDTIMING1, LCDTIMING1_LPP(LlbHwGetScreenHeight())); 00038 00039 /* Enable the TFT/LCD Display */ 00040 WRITE_REGISTER_ULONG(PL110_LCDCONTROL, 00041 LCDCONTROL_LCDEN | 00042 LCDCONTROL_LCDTFT | 00043 LCDCONTROL_LCDPWR | 00044 LCDCONTROL_LCDBPP(4)); 00045 } 00046 00047 ULONG 00048 NTAPI 00049 LlbHwGetScreenWidth(VOID) 00050 { 00051 return 720; 00052 } 00053 00054 ULONG 00055 NTAPI 00056 LlbHwGetScreenHeight(VOID) 00057 { 00058 return 400; 00059 } 00060 00061 PVOID 00062 NTAPI 00063 LlbHwGetFrameBuffer(VOID) 00064 { 00065 return (PVOID)0x000A0000; 00066 } 00067 00068 ULONG 00069 NTAPI 00070 LlbHwVideoCreateColor(IN ULONG Red, 00071 IN ULONG Green, 00072 IN ULONG Blue) 00073 { 00074 return (((Blue >> 3) << 11)| ((Green >> 2) << 5)| ((Red >> 3) << 0)); 00075 } 00076 00077 /* EOF */ Generated on Sat May 26 2012 04:17:47 for ReactOS by
1.7.6.1
|