#include <sys/param.h>
#include <machine/bus.h>
#include <armv7/armv7/armv7var.h>
#define PRCM_SIZE 0x2000
#define PRCM_ADDR 0x44E00000
#define DMTIMERx_SIZE 0x80
#define DMTIMER0_ADDR 0x44E05000
#define DMTIMER1_ADDR 0x44E31000
#define DMTIMER2_ADDR 0x48040000
#define DMTIMER3_ADDR 0x48042000
#define DMTIMER4_ADDR 0x48044000
#define DMTIMER5_ADDR 0x48046000
#define DMTIMER6_ADDR 0x48048000
#define DMTIMER7_ADDR 0x4804A000
#define DMTIMER0_IRQ 66
#define DMTIMER1_IRQ 67
#define DMTIMER2_IRQ 68
#define DMTIMER3_IRQ 69
#define DMTIMER4_IRQ 92
#define DMTIMER5_IRQ 93
#define DMTIMER6_IRQ 94
#define DMTIMER7_IRQ 95
struct armv7_dev am335x_devs[] = {
{ .name = "prcm",
.unit = 0,
.mem = { { PRCM_ADDR, PRCM_SIZE } },
},
{ .name = "dmtimer",
.unit = 0,
.mem = { { DMTIMER2_ADDR, DMTIMERx_SIZE } },
.irq = { DMTIMER2_IRQ }
},
{ .name = "dmtimer",
.unit = 1,
.mem = { { DMTIMER3_ADDR, DMTIMERx_SIZE } },
.irq = { DMTIMER3_IRQ }
},
{ .name = NULL,
.unit = 0
}
};
void
am335x_init(void)
{
armv7_set_devs(am335x_devs);
}