1 #ifndef ARCH_ARM_SOC_OMAP3_H
2 #define ARCH_ARM_SOC_OMAP3_H
4 class OMAP3InterruptController
;
11 class OMAP3InterruptController
: public InterruptController
{
13 void EnableInterrupt(int irq
);
14 void DisableInterrupt(int irq
);
15 void HandleInterrupt();
17 static status_t
Init(fdt_module_info
*fdt
, fdt_device_node node
, void *cookie
) {
18 InterruptController
*ic
= new(std::nothrow
) OMAP3InterruptController(fdt
, node
);
19 // XXX implement InitCheck() functionality
20 return ic
!= NULL
? B_OK
: B_NO_MEMORY
;
23 OMAP3InterruptController(fdt_module_info
*fdt
, fdt_device_node node
);
32 class OMAP3Timer
: public HardwareTimer
{
34 void SetTimeout(bigtime_t timeout
);
38 static status_t
Init(fdt_module_info
*fdt
, fdt_device_node node
, void *cookie
) {
39 if (sInstance
== NULL
) {
40 OMAP3Timer
*timer
= new(std::nothrow
) OMAP3Timer(fdt
, node
);
41 // XXX implement InitCheck() functionality
42 return timer
!= NULL
? B_OK
: B_NO_MEMORY
;
44 // XXX We have multiple timers; just create the first one
45 // and ignore the rest
51 OMAP3Timer(fdt_module_info
*fdtModule
, fdt_device_node node
);
53 static int32
_InterruptWrapper(void *data
);
54 int32
HandleInterrupt();
56 bigtime_t fSystemTime
;
62 #endif /* ARCH_ARM_SOC_OMAP3_H */