Skip to content
Snippets Groups Projects
Commit ca7b468b authored by Mark Cave-Ayland's avatar Mark Cave-Ayland
Browse files

lasi: use constants for device register offsets


Instead of generating the offset based upon the physical address of the
register, add constants for each of the device registers to lasi.h and
update lasi.c to use them.

Signed-off-by: default avatarMark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Acked-by: default avatarHelge Deller <deller@gmx.de>
Message-Id: <20220504092600.10048-40-mark.cave-ayland@ilande.co.uk>
Reviewed-by: default avatarRichard Henderson <richard.henderson@linaro.org>
Signed-off-by: default avatarMark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
parent e881e3c8
No related branches found
No related tags found
No related merge requests found
......@@ -36,10 +36,10 @@ static bool lasi_chip_mem_valid(void *opaque, hwaddr addr,
case LASI_ICR:
case LASI_IAR:
case (LASI_LAN_HPA - LASI_HPA):
case (LASI_LPT_HPA - LASI_HPA):
case (LASI_UART_HPA - LASI_HPA):
case (LASI_RTC_HPA - LASI_HPA):
case LASI_LPT:
case LASI_UART:
case LASI_LAN:
case LASI_RTC:
case LASI_PCR ... LASI_AMR:
ret = true;
......@@ -76,12 +76,12 @@ static MemTxResult lasi_chip_read_with_attrs(void *opaque, hwaddr addr,
val = s->iar;
break;
case (LASI_LAN_HPA - LASI_HPA):
case (LASI_LPT_HPA - LASI_HPA):
case (LASI_UART_HPA - LASI_HPA):
case LASI_LPT:
case LASI_UART:
case LASI_LAN:
val = 0;
break;
case (LASI_RTC_HPA - LASI_HPA):
case LASI_RTC:
val = time(NULL);
val += s->rtc_ref;
break;
......@@ -141,16 +141,16 @@ static MemTxResult lasi_chip_write_with_attrs(void *opaque, hwaddr addr,
s->iar = val;
break;
case (LASI_LAN_HPA - LASI_HPA):
/* XXX: reset LAN card */
break;
case (LASI_LPT_HPA - LASI_HPA):
case LASI_LPT:
/* XXX: reset parallel port */
break;
case (LASI_UART_HPA - LASI_HPA):
case LASI_UART:
/* XXX: reset serial port */
break;
case (LASI_RTC_HPA - LASI_HPA):
case LASI_LAN:
/* XXX: reset LAN card */
break;
case LASI_RTC:
s->rtc_ref = val - time(NULL);
break;
......
......@@ -21,6 +21,11 @@ OBJECT_DECLARE_SIMPLE_TYPE(LasiState, LASI_CHIP)
#define LASI_ICR 0x0c
#define LASI_IAR 0x10
#define LASI_LPT 0x02000
#define LASI_UART 0x05000
#define LASI_LAN 0x07000
#define LASI_RTC 0x09000
#define LASI_PCR 0x0C000 /* LASI Power Control register */
#define LASI_ERRLOG 0x0C004 /* LASI Error Logging register */
#define LASI_VER 0x0C008 /* LASI Version Control register */
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment