2 #include <l4/drivers/io.h>
3 #include <l4/drivers/amba.h>
6 void amba_read_id(l4_addr_t address, uint32_t *periphid, uint32_t *cellid)
8 *periphid = ((io_read_mword((l4_addr_t)address + 0) & 0xff) << 0)
9 | ((io_read_mword((l4_addr_t)address + 4) & 0xff) << 8)
10 | ((io_read_mword((l4_addr_t)address + 8) & 0xff) << 16)
11 | ((io_read_mword((l4_addr_t)address + 12) & 0xff) << 24);
13 *cellid = ((io_read_mword((l4_addr_t)address + 16) & 0xff) << 0)
14 | ((io_read_mword((l4_addr_t)address + 20) & 0xff) << 8)
15 | ((io_read_mword((l4_addr_t)address + 24) & 0xff) << 16)
16 | ((io_read_mword((l4_addr_t)address + 28) & 0xff) << 24);