pl111.cc (12086:069c529a76fd) pl111.cc (13230:2988dc5d1d6f)
1/*
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

--- 171 unchanged lines hidden (view full) ---

180 data = clcdCrsrRis;
181 break;
182 case ClcdCrsrMis:
183 data = clcdCrsrMis;
184 break;
185 default:
186 if (readId(pkt, AMBA_ID, pioAddr)) {
187 // Hack for variable size accesses
1/*
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

--- 171 unchanged lines hidden (view full) ---

180 data = clcdCrsrRis;
181 break;
182 case ClcdCrsrMis:
183 data = clcdCrsrMis;
184 break;
185 default:
186 if (readId(pkt, AMBA_ID, pioAddr)) {
187 // Hack for variable size accesses
188 data = pkt->get();
188 data = pkt->getLE<uint32_t>();
189 break;
190 } else if (daddr >= CrsrImage && daddr <= 0xBFC) {
191 // CURSOR IMAGE
192 int index;
193 index = (daddr - CrsrImage) >> 2;
194 data= cursorImage[index];
195 break;
196 } else if (daddr >= LcdPalette && daddr <= 0x3FC) {

--- 6 unchanged lines hidden (view full) ---

203 panic("Tried to read CLCD register at offset %#x that "
204 "doesn't exist\n", daddr);
205 break;
206 }
207 }
208
209 switch(pkt->getSize()) {
210 case 1:
189 break;
190 } else if (daddr >= CrsrImage && daddr <= 0xBFC) {
191 // CURSOR IMAGE
192 int index;
193 index = (daddr - CrsrImage) >> 2;
194 data= cursorImage[index];
195 break;
196 } else if (daddr >= LcdPalette && daddr <= 0x3FC) {

--- 6 unchanged lines hidden (view full) ---

203 panic("Tried to read CLCD register at offset %#x that "
204 "doesn't exist\n", daddr);
205 break;
206 }
207 }
208
209 switch(pkt->getSize()) {
210 case 1:
211 pkt->set(data);
211 pkt->setLE<uint8_t>(data);
212 break;
213 case 2:
212 break;
213 case 2:
214 pkt->set(data);
214 pkt->setLE<uint16_t>(data);
215 break;
216 case 4:
215 break;
216 case 4:
217 pkt->set(data);
217 pkt->setLE<uint32_t>(data);
218 break;
219 default:
220 panic("CLCD controller read size too big?\n");
221 break;
222 }
223
224 pkt->makeAtomicResponse();
225 return pioDelay;

--- 5 unchanged lines hidden (view full) ---

231{
232 // use a temporary data since the LCD registers are read/written with
233 // different size operations
234 //
235 uint32_t data = 0;
236
237 switch(pkt->getSize()) {
238 case 1:
218 break;
219 default:
220 panic("CLCD controller read size too big?\n");
221 break;
222 }
223
224 pkt->makeAtomicResponse();
225 return pioDelay;

--- 5 unchanged lines hidden (view full) ---

231{
232 // use a temporary data since the LCD registers are read/written with
233 // different size operations
234 //
235 uint32_t data = 0;
236
237 switch(pkt->getSize()) {
238 case 1:
239 data = pkt->get();
239 data = pkt->getLE<uint8_t>();
240 break;
241 case 2:
240 break;
241 case 2:
242 data = pkt->get();
242 data = pkt->getLE<uint16_t>();
243 break;
244 case 4:
243 break;
244 case 4:
245 data = pkt->get();
245 data = pkt->getLE<uint32_t>();
246 break;
247 default:
248 panic("PL111 CLCD controller write size too big?\n");
249 break;
250 }
251
252 assert(pkt->getAddr() >= pioAddr &&
253 pkt->getAddr() < pioAddr + pioSize);
254
255 Addr daddr = pkt->getAddr() - pioAddr;
256
257 DPRINTF(PL111, " write register %#x value %#x size=%d\n", daddr,
246 break;
247 default:
248 panic("PL111 CLCD controller write size too big?\n");
249 break;
250 }
251
252 assert(pkt->getAddr() >= pioAddr &&
253 pkt->getAddr() < pioAddr + pioSize);
254
255 Addr daddr = pkt->getAddr() - pioAddr;
256
257 DPRINTF(PL111, " write register %#x value %#x size=%d\n", daddr,
258 pkt->get(), pkt->getSize());
258 pkt->getLE<uint8_t>(), pkt->getSize());
259
260 switch (daddr) {
261 case LcdTiming0:
262 lcdTiming0 = data;
263 // width = 16 * (PPL+1)
264 width = (lcdTiming0.ppl + 1) << 4;
265 break;
266 case LcdTiming1:

--- 518 unchanged lines hidden ---
259
260 switch (daddr) {
261 case LcdTiming0:
262 lcdTiming0 = data;
263 // width = 16 * (PPL+1)
264 width = (lcdTiming0.ppl + 1) << 4;
265 break;
266 case LcdTiming1:

--- 518 unchanged lines hidden ---