/* Dump all readable registers on bd99955 */ static int console_bd99955_dump_regs(int argc, char **argv) { int i; uint8_t regs[] = { 0x14, 0x15, 0x3c, 0x3d, 0x3e, 0x3f }; /* Battery group registers */ for (i = 0; i < ARRAY_SIZE(regs); ++i) ccprintf("BAT REG %4x: %4x\n", regs[i], read_bat(regs[i])); /* Extended group registers */ for (i = 0; i < 0x7f; ++i) ccprintf("EXT REG %4x: %4x\n", i, read_ext(i)); return 0; }
/* Initialize address mapping array */ void init_addr_map(void) { int i; ppc_bat_t bat = DBAT0; phys_size_t size; unsigned long upper, lower; for (i = 0; i < CONFIG_SYS_NUM_ADDR_MAP; i++, bat++) { if (read_bat(bat, &upper, &lower) != -1) { if (!BATU_VALID(upper)) size = 0; else size = BATU_SIZE(upper); addrmap_set_entry(BATU_VADDR(upper), BATL_PADDR(lower), size, i); } #ifdef CONFIG_HIGH_BATS /* High bats are not contiguous with low BAT numbers */ if (bat == DBAT3) bat = DBAT4 - 1; #endif } }