ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

hwclcd.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 doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.