ReactOS 0.4.15-dev-7907-g95bf896
arm.h
Go to the documentation of this file.
1/*
2 * PROJECT: ReactOS Boot Video Driver for ARM devices
3 * LICENSE: BSD - See COPYING.ARM in root directory
4 * PURPOSE: PrimeCell Color LCD Controller (PL110) definitions
5 * COPYRIGHT: Copyright 2008 ReactOS Portable Systems Group <ros.arm@reactos.org>
6 */
7
8#pragma once
9
10extern PUSHORT VgaArmBase;
11
12#define LCDTIMING0_PPL(x) ((((x) / 16 - 1) & 0x3f) << 2)
13#define LCDTIMING1_LPP(x) (((x) & 0x3ff) - 1)
14#define LCDCONTROL_LCDPWR (1 << 11)
15#define LCDCONTROL_LCDEN (1)
16#define LCDCONTROL_LCDBPP(x) (((x) & 7) << 1)
17#define LCDCONTROL_LCDTFT (1 << 5)
18
19#define PL110_LCDTIMING0 (PVOID)0xE0020000
20#define PL110_LCDTIMING1 (PVOID)0xE0020004
21#define PL110_LCDTIMING2 (PVOID)0xE0020008
22#define PL110_LCDUPBASE (PVOID)0xE0020010
23#define PL110_LCDLPBASE (PVOID)0xE0020014
24#define PL110_LCDCONTROL (PVOID)0xE0020018
25
26#define READ_REGISTER_ULONG(r) (*(volatile ULONG * const)(r))
27#define WRITE_REGISTER_ULONG(r, v) (*(volatile ULONG *)(r) = (v))
28
29#define READ_REGISTER_USHORT(r) (*(volatile USHORT * const)(r))
30#define WRITE_REGISTER_USHORT(r, v) (*(volatile USHORT *)(r) = (v))
31
36{
38
39 /* Extract color components */
43
44 /* Build the 16-bit color mask */
45 return ((Red & 0x1F) << 11) | ((Green & 0x1F) << 6) | ((Blue & 0x1F));
46}
47
48VOID
52
54VOID
56 _In_ ULONG Left,
59{
60 PUSHORT PixelPosition;
61
62 /* Calculate the pixel position */
63 PixelPosition = &VgaArmBase[Left + (Top * SCREEN_WIDTH)];
64
65 /* Set our color */
67}
68
69VOID
71 _In_ ULONG CurrentTop,
72 _In_ ULONG TopDelta,
73 _In_ BOOLEAN Restore);
74
75VOID
77 _In_ ULONG Scroll);
78
79VOID
81 _In_ CHAR Character,
82 _In_ ULONG Left,
84 _In_ ULONG TextColor,
85 _In_ ULONG BackColor);
unsigned char BOOLEAN
#define WRITE_REGISTER_USHORT(r, v)
Definition: arm.h:30
VOID PreserveRow(_In_ ULONG CurrentTop, _In_ ULONG TopDelta, _In_ BOOLEAN Restore)
Definition: bootvid.c:111
FORCEINLINE VOID SetPixel(_In_ ULONG Left, _In_ ULONG Top, _In_ UCHAR Color)
Definition: arm.h:55
VOID DisplayCharacter(_In_ CHAR Character, _In_ ULONG Left, _In_ ULONG Top, _In_ ULONG TextColor, _In_ ULONG BackColor)
Definition: bootvid.c:19
VOID DoScroll(_In_ ULONG Scroll)
Definition: bootvid.c:64
VOID InitPaletteWithTable(_In_ PULONG Table, _In_ ULONG Count)
Definition: bootvid.c:172
FORCEINLINE USHORT VidpBuildColor(_In_ UCHAR Color)
Definition: arm.h:34
PUSHORT VgaArmBase
Definition: bootvid.c:13
static LPHIST_ENTRY Top
Definition: history.c:53
@ Green
Definition: bl.h:199
@ Red
Definition: bl.h:201
@ Blue
Definition: bl.h:198
static const UCHAR DefaultPalette[]
Definition: blue.c:69
#define GetBValue(quad)
Definition: precomp.h:75
#define GetGValue(quad)
Definition: precomp.h:74
#define GetRValue(quad)
Definition: precomp.h:73
ASMGENDATA Table[]
Definition: genincdata.c:61
#define _In_
Definition: ms_sal.h:308
int Count
Definition: noreturn.cpp:7
#define SCREEN_WIDTH
Definition: pc98video.c:27
unsigned short USHORT
Definition: pedump.c:61
uint32_t * PULONG
Definition: typedefs.h:59
uint16_t * PUSHORT
Definition: typedefs.h:56
uint32_t ULONG
Definition: typedefs.h:59
#define FORCEINLINE
Definition: wdftypes.h:67
unsigned char UCHAR
Definition: xmlstorage.h:181
char CHAR
Definition: xmlstorage.h:175