]> rtime.felk.cvut.cz Git - l4.git/blob - kernel/fiasco/src/kern/arm/bsp/realview/platform-arm-realview.cpp
0470b7877e679a92f6dcc04cc04e0e95eccc85d7
[l4.git] / kernel / fiasco / src / kern / arm / bsp / realview / platform-arm-realview.cpp
1 INTERFACE[arm && realview]:
2
3 #include "mem_layout.h"
4
5 class Platform
6 {
7 public:
8   class Sys
9   {
10   public:
11     enum Registers
12     {
13       Id        = Mem_layout::System_regs_map_base + 0x0,
14       Sw        = Mem_layout::System_regs_map_base + 0x4,
15       Led       = Mem_layout::System_regs_map_base + 0x8,
16       Lock      = Mem_layout::System_regs_map_base + 0x20,
17       Flags     = Mem_layout::System_regs_map_base + 0x30,
18       Flags_clr = Mem_layout::System_regs_map_base + 0x34,
19       Cnt_24mhz = Mem_layout::System_regs_map_base + 0x5c,
20       Pld_ctrl1 = Mem_layout::System_regs_map_base + 0x74,
21       Pld_ctrl2 = Mem_layout::System_regs_map_base + 0x78,
22     };
23   };
24
25 };
26
27 IMPLEMENTATION[arm && realview]:
28
29 #include "io.h"
30
31 PUBLIC static inline NEEDS["io.h"]
32 void
33 Platform::write(enum Sys::Registers reg, Mword val)
34 { Io::write<Mword>(val, reg); }
35
36 PUBLIC static inline NEEDS["io.h"]
37 Mword
38 Platform::read(enum Sys::Registers reg)
39 { return Io::read<Mword>(reg); }