static uint8_t amb_read_config8(volatile void *base, int fn, int reg) { return *(uint8_t *)(AMB_ADDR((intptr_t)base, fn, reg)); }
static uint16_t amb_read_config16(volatile void *base, int fn, int reg) { return *(uint16_t *)(AMB_ADDR((uint64_t)base, fn, reg)); }