diff options
Diffstat (limited to 'src/dev')
-rw-r--r-- | src/dev/arm/RealView.py | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/src/dev/arm/RealView.py b/src/dev/arm/RealView.py index 104c87736..a28720bdb 100644 --- a/src/dev/arm/RealView.py +++ b/src/dev/arm/RealView.py @@ -1005,7 +1005,7 @@ class VExpress_EMM64(VExpress_EMM): cur_sys.atags_addr = 0x8000000 cur_sys.load_offset = 0x80000000 -class VExpress_GEM5_V1(RealView): +class VExpress_GEM5_V1_Base(RealView): """ The VExpress gem5 memory map is loosely based on a modified Versatile Express RS1 memory map. @@ -1130,13 +1130,9 @@ Interrupts: generic_timer = GenericTimer(int_phys_s=29, int_phys_ns=30, int_virt=27, int_hyp=26) - hdlcd = HDLcd(pxl_clk=dcc.osc_pxl, - pio_addr=0x2b000000, int_num=95) - def _on_chip_devices(self): return [ self.gic, self.vgic, self.gicv2m, - self.hdlcd, self.generic_timer, ] @@ -1201,7 +1197,7 @@ Interrupts: def generateDeviceTree(self, state): # Generate using standard RealView function - dt = list(super(VExpress_GEM5_V1, self).generateDeviceTree(state)) + dt = list(super(VExpress_GEM5_V1_Base, self).generateDeviceTree(state)) if len(dt) > 1: raise Exception("System returned too many DT nodes") node = dt[0] @@ -1212,3 +1208,13 @@ Interrupts: node.append(FdtPropertyWords("arm,vexpress,site", [0xf])) yield node + + +class VExpress_GEM5_V1(VExpress_GEM5_V1_Base): + hdlcd = HDLcd(pxl_clk=VExpress_GEM5_V1_Base.dcc.osc_pxl, + pio_addr=0x2b000000, int_num=95) + + def _on_chip_devices(self): + return super(VExpress_GEM5_V1,self)._on_chip_devices() + [ + self.hdlcd, + ] |