pl111.hh (10546:288eb5ee4b00) | pl111.hh (10839:10cac0f0f419) |
---|---|
1/* | 1/* |
2 * Copyright (c) 2010-2012 ARM Limited | 2 * Copyright (c) 2010-2012, 2015 ARM Limited |
3 * All rights reserved 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software 9 * licensed hereunder. You may use the software subject to the license 10 * terms below provided that you ensure that this notice is replicated --- 31 unchanged lines hidden (view full) --- 42/** @file 43 * Implementiation of a PL111 CLCD controller 44 */ 45 46#ifndef __DEV_ARM_PL111_HH__ 47#define __DEV_ARM_PL111_HH__ 48 49#include <fstream> | 3 * All rights reserved 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software 9 * licensed hereunder. You may use the software subject to the license 10 * terms below provided that you ensure that this notice is replicated --- 31 unchanged lines hidden (view full) --- 42/** @file 43 * Implementiation of a PL111 CLCD controller 44 */ 45 46#ifndef __DEV_ARM_PL111_HH__ 47#define __DEV_ARM_PL111_HH__ 48 49#include <fstream> |
50#include <memory> |
|
50 | 51 |
52#include "base/bitmap.hh" 53#include "base/framebuffer.hh" |
|
51#include "dev/arm/amba_device.hh" 52#include "params/Pl111.hh" 53#include "sim/serialize.hh" 54 55class VncInput; | 54#include "dev/arm/amba_device.hh" 55#include "params/Pl111.hh" 56#include "sim/serialize.hh" 57 58class VncInput; |
56class Bitmap; | |
57 58class Pl111: public AmbaDmaDevice 59{ 60 protected: 61 static const uint64_t AMBA_ID = ULL(0xb105f00d00141111); 62 /** ARM PL111 register map*/ 63 static const int LcdTiming0 = 0x000; 64 static const int LcdTiming1 = 0x004; --- 186 unchanged lines hidden (view full) --- 251 InterruptReg clcdCrsrRis; 252 253 /** Cursor masked interrupt status register - const */ 254 InterruptReg clcdCrsrMis; 255 256 /** Pixel clock */ 257 Tick pixelClock; 258 | 59 60class Pl111: public AmbaDmaDevice 61{ 62 protected: 63 static const uint64_t AMBA_ID = ULL(0xb105f00d00141111); 64 /** ARM PL111 register map*/ 65 static const int LcdTiming0 = 0x000; 66 static const int LcdTiming1 = 0x004; --- 186 unchanged lines hidden (view full) --- 253 InterruptReg clcdCrsrRis; 254 255 /** Cursor masked interrupt status register - const */ 256 InterruptReg clcdCrsrMis; 257 258 /** Pixel clock */ 259 Tick pixelClock; 260 |
261 PixelConverter converter; 262 FrameBuffer fb; 263 |
|
259 /** VNC server */ 260 VncInput *vnc; 261 262 /** Helper to write out bitmaps */ | 264 /** VNC server */ 265 VncInput *vnc; 266 267 /** Helper to write out bitmaps */ |
263 Bitmap *bmp; | 268 Bitmap bmp; |
264 265 /** Picture of what the current frame buffer looks like */ 266 std::ostream *pic; 267 268 /** Frame buffer width - pixels per line */ 269 uint16_t width; 270 271 /** Frame buffer height - lines per panel */ --- 18 unchanged lines hidden (view full) --- 290 Addr curAddr; 291 292 /** DMA FIFO watermark */ 293 uint32_t waterMark; 294 295 /** Number of pending dma reads */ 296 uint32_t dmaPendingNum; 297 | 269 270 /** Picture of what the current frame buffer looks like */ 271 std::ostream *pic; 272 273 /** Frame buffer width - pixels per line */ 274 uint16_t width; 275 276 /** Frame buffer height - lines per panel */ --- 18 unchanged lines hidden (view full) --- 295 Addr curAddr; 296 297 /** DMA FIFO watermark */ 298 uint32_t waterMark; 299 300 /** Number of pending dma reads */ 301 uint32_t dmaPendingNum; 302 |
303 PixelConverter pixelConverter() const; 304 |
|
298 /** Send updated parameters to the vnc server */ 299 void updateVideoParams(); 300 301 /** DMA framebuffer read */ 302 void readFramebuffer(); 303 304 /** Generate dma framebuffer read event */ 305 void generateReadEvent(); --- 73 unchanged lines hidden --- | 305 /** Send updated parameters to the vnc server */ 306 void updateVideoParams(); 307 308 /** DMA framebuffer read */ 309 void readFramebuffer(); 310 311 /** Generate dma framebuffer read event */ 312 void generateReadEvent(); --- 73 unchanged lines hidden --- |