Go to the documentation of this file.
73 #ifndef __DEV_ARM_HDLCD_HH__
74 #define __DEV_ARM_HDLCD_HH__
93 HDLcd(
const HDLcdParams *
p);
173 static constexpr uint32_t INT_DMA_END = (1UL << 0);
196 Bitfield<0> vsync_polarity;
231 const VersionReg version;
368 unsigned request_size,
unsigned max_pending,
369 size_t line_size, ssize_t line_pitch,
unsigned num_lines);
Bitfield< 30, 5 > reserved_30_5
void intMask(uint32_t mask)
Convenience function to update the interrupt mask.
TimingReg v_data
Vertical data width register.
DmaEngine(HDLcd &_parent, size_t size, unsigned request_size, unsigned max_pending, size_t line_size, ssize_t line_pitch, unsigned num_lines)
Bitfield< 7, 5 > reserved_7_5
static constexpr uint32_t INT_UNDERRUN
Bitfield< 4 > pxlclk_polarity
const bool workaroundDmaLineCount
static constexpr size_t MAX_PIXEL_SIZE
Maximum number of bytes per pixel.
AddrRangeList getAddrRanges() const override
Every PIO device is obliged to provide an implementation that returns the address ranges the device r...
DisplayTimings displayTimings() const
Configurable RGB pixel converter.
void regStats() override
Callback to set stat parameters.
Enums::ImageFormat imgFormat
Image Format.
uint32_t fb_base
Frame buffer base address register.
TimingReg v_back_porch
Vertical back porch width register.
HDLcd(const HDLcdParams *p)
Bitfield< 31, 1 > reserved_31_1
TimingReg h_front_porch
Horizontal front porch width reg.
ColorSelectReg blue_select
Blue color select register.
CommandReg command
Command register.
uint64_t Tick
Tick count type.
static constexpr size_t BUS_OPTIONS_RESETV
Reset value for Bus_Options register.
ColorSelectReg green_select
Green color select register.
EventFunctionWrapper virtRefreshEvent
The ClockDomain provides clock to group of clocked objects bundled under the same clock domain.
const Addr pixelBufferSize
std::unique_ptr< DmaEngine > dmaEngine
uint32_t intStatus() const
Masked interrupt status register.
void serialize(CheckpointOut &cp) const override
Serialize an object.
void intClear(uint32_t ints)
Convenience function to clear interrupts.
PixelFormatReg pixel_format
Pixel format register.
Timing generator for a pixel-based display.
Bitfield< 31, 24 > reserved_31_24
This is a simple scalar statistic, like a counter.
PolaritiesReg polarities
Polarities register.
BusOptsReg bus_options
Bus options register.
static constexpr size_t MAX_BURST_LEN
max number of beats delivered in one dma burst
uint32_t fb_line_length
Frame buffer Line length register.
Bitfield< 3 > data_polarity
Bitfield< 1 > hsync_polarity
Bitfield< 4, 3 > bytes_per_pixel
EndBitUnion(VersionReg) static const expr uint32_t INT_DMA_END
void unserialize(CheckpointIn &cp) override
Unserialize an object.
Tick read(PacketPtr pkt) override
Pure virtual function that the device must implement.
void setInterrupts(uint32_t ints, uint32_t mask)
Assign new interrupt values and update interrupt signals.
const Tick virtRefreshRate
TimingReg h_back_porch
Horizontal back porch width register.
void onEndOfBlock() override
End of block callback.
void unserialize(CheckpointIn &cp) override
Unserialize an object.
TimingReg v_front_porch
Vertical front porch width register.
RegisterOffset
ARM HDLcd register offsets.
static constexpr size_t VERSION_RESETV
Reset value for Version register.
Bitfield< 31, 16 > product_id
Bitfield< 15, 8 > version_major
PixelPump(HDLcd &p, ClockDomain &pxl_clk, unsigned pixel_chunk)
TimingReg h_sync
Horizontal sync width register.
static constexpr size_t AXI_PORT_WIDTH
AXI port width in bytes.
void onUnderrun(unsigned x, unsigned y) override
Buffer underrun occurred on a frame.
OutputStream * pic
Picture of what the current frame buffer looks like.
void startFrame(Addr fb_base)
bool nextPixel(Pixel &p) override
Get the next pixel from the scan line buffer.
uint32_t int_mask
Interrupt mask register.
Buffered DMA engine helper class.
PixelConverter conv
Cached pixel converter, set when the converter is enabled.
Internal gem5 representation of a Pixel.
int32_t fb_line_pitch
Frame buffer Line pitch register.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
TimingReg h_data
Horizontal data width register.
Bitfield< 31, 5 > reserved_31_5
BitUnion32(VersionReg) Bitfield< 7
void writeReg(Addr offset, uint32_t value)
void onFrameDone() override
Finished displaying the visible region of a frame.
Bitfield< 31 > big_endian
std::unique_ptr< ImgWriter > imgWriter
Helper to write out bitmaps.
Bitfield< 31, 12 > reserved_31_12
void onVSyncEnd() override
Callback on the first pixel of the line after the end VSync region (typically the first pixel of the ...
uint32_t readReg(Addr offset)
uint32_t int_rawstat
Interrupt raw status register.
static constexpr uint32_t INT_VSYNC
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
void virtRefresh()
Handler for fast frame refresh in KVM-mode.
const AddrRangeList addrRanges
void intRaise(uint32_t ints)
Convenience function to raise a new interrupt.
Bitfield< 2 > dataen_polarity
size_t size() const
Get the amount of data stored in the FIFO.
ColorSelectReg red_select
Red color select register.
void onIdle() override
Last response received callback.
std::ostream CheckpointOut
Tick write(PacketPtr pkt) override
Pure virtual function that the device must implement.
PixelConverter pixelConverter() const
void serialize(CheckpointOut &cp) const override
Serialize an object.
const bool workaroundSwapRB
void onVSyncBegin() override
First pixel clock of the first VSync line.
TimingReg v_sync
Vertical sync width register.
Bitfield< 15, 12 > reserved_15_12
void drainResume() override
Resume execution after a successful drain.
static constexpr uint32_t INT_BUS_ERROR
Bitfield< 23, 16 > default_color
Bitfield< 11, 8 > max_outstanding
Generated on Wed Sep 30 2020 14:02:10 for gem5 by doxygen 1.8.17