summaryrefslogtreecommitdiffstats
path: root/internal.c
diff options
context:
space:
mode:
Diffstat (limited to 'internal.c')
-rw-r--r--internal.c40
1 files changed, 35 insertions, 5 deletions
diff --git a/internal.c b/internal.c
index a9829a8..d2a9ae2 100644
--- a/internal.c
+++ b/internal.c
@@ -137,31 +137,61 @@ int internal_shutdown(void)
void internal_chip_writeb(uint8_t val, chipaddr addr)
{
- *(volatile uint8_t *) addr = val;
+ mmio_writeb(val, (void *) addr);
}
void internal_chip_writew(uint16_t val, chipaddr addr)
{
- *(volatile uint16_t *) addr = val;
+ mmio_writew(val, (void *) addr);
}
void internal_chip_writel(uint32_t val, chipaddr addr)
{
- *(volatile uint32_t *) addr = val;
+ mmio_writel(val, (void *) addr);
}
uint8_t internal_chip_readb(const chipaddr addr)
{
- return *(volatile uint8_t *) addr;
+ return mmio_readb((void *) addr);
}
uint16_t internal_chip_readw(const chipaddr addr)
{
- return *(volatile uint16_t *) addr;
+ return mmio_readw((void *) addr);
}
uint32_t internal_chip_readl(const chipaddr addr)
{
+ return mmio_readl((void *) addr);
+}
+
+void mmio_writeb(uint8_t val, void *addr)
+{
+ *(volatile uint8_t *) addr = val;
+}
+
+void mmio_writew(uint16_t val, void *addr)
+{
+ *(volatile uint16_t *) addr = val;
+}
+
+void mmio_writel(uint32_t val, void *addr)
+{
+ *(volatile uint32_t *) addr = val;
+}
+
+uint8_t mmio_readb(void *addr)
+{
+ return *(volatile uint8_t *) addr;
+}
+
+uint16_t mmio_readw(void *addr)
+{
+ return *(volatile uint16_t *) addr;
+}
+
+uint32_t mmio_readl(void *addr)
+{
return *(volatile uint32_t *) addr;
}
OpenPOWER on IntegriCloud