RealView.py (9525:0587c8983d47) | RealView.py (9646:7a0c51f14095) |
---|---|
1# Copyright (c) 2009-2012 ARM Limited 2# All rights reserved. 3# 4# The license below extends only to copyright in the software and shall 5# not be construed as granting a license to any other intellectual 6# property including but not limited to intellectual property relating 7# to a hardware implementation of the functionality of the software 8# licensed hereunder. You may use the software subject to the license --- 128 unchanged lines hidden (view full) --- 137 138class Pl111(AmbaDmaDevice): 139 type = 'Pl111' 140 cxx_header = "dev/arm/pl111.hh" 141 pixel_clock = Param.Clock('24MHz', "Pixel clock") 142 vnc = Param.VncInput(Parent.any, "Vnc server for remote frame buffer display") 143 amba_id = 0x00141111 144 | 1# Copyright (c) 2009-2012 ARM Limited 2# All rights reserved. 3# 4# The license below extends only to copyright in the software and shall 5# not be construed as granting a license to any other intellectual 6# property including but not limited to intellectual property relating 7# to a hardware implementation of the functionality of the software 8# licensed hereunder. You may use the software subject to the license --- 128 unchanged lines hidden (view full) --- 137 138class Pl111(AmbaDmaDevice): 139 type = 'Pl111' 140 cxx_header = "dev/arm/pl111.hh" 141 pixel_clock = Param.Clock('24MHz', "Pixel clock") 142 vnc = Param.VncInput(Parent.any, "Vnc server for remote frame buffer display") 143 amba_id = 0x00141111 144 |
145class HDLcd(AmbaDmaDevice): 146 type = 'HDLcd' 147 cxx_header = "dev/arm/hdlcd.hh" 148 pixel_clock = Param.Clock('65MHz', "Clock frequency of the pixel clock " 149 "(i.e. PXLREFCLK / OSCCLK 5; 23.75MHz " 150 "default up to 165MHz)") 151 vnc = Param.VncInput(Parent.any, "Vnc server for remote frame buffer " 152 "display") 153 amba_id = 0x00141000 154 |
|
145class RealView(Platform): 146 type = 'RealView' 147 cxx_header = "dev/arm/realview.hh" 148 system = Param.System(Parent.any, "system") 149 pci_cfg_base = Param.Addr(0, "Base address of PCI Configuraiton Space") 150 mem_start_addr = Param.Addr(0, "Start address of main memory") 151 max_mem_size = Param.Addr('256MB', "Maximum amount of RAM supported by platform") 152 --- 175 unchanged lines hidden (view full) --- 328 pci_cfg_base = 0x30000000 329 uart = Pl011(pio_addr=0x1c090000, int_num=37) 330 realview_io = RealViewCtrl(proc_id0=0x14000000, proc_id1=0x14000000, pio_addr=0x1C010000) 331 gic = Pl390(dist_addr=0x2C001000, cpu_addr=0x2C002000) 332 local_cpu_timer = CpuLocalTimer(int_num_timer=29, int_num_watchdog=30, pio_addr=0x2C080000) 333 timer0 = Sp804(int_num0=34, int_num1=34, pio_addr=0x1C110000, clock0='1MHz', clock1='1MHz') 334 timer1 = Sp804(int_num0=35, int_num1=35, pio_addr=0x1C120000, clock0='1MHz', clock1='1MHz') 335 clcd = Pl111(pio_addr=0x1c1f0000, int_num=46) | 155class RealView(Platform): 156 type = 'RealView' 157 cxx_header = "dev/arm/realview.hh" 158 system = Param.System(Parent.any, "system") 159 pci_cfg_base = Param.Addr(0, "Base address of PCI Configuraiton Space") 160 mem_start_addr = Param.Addr(0, "Start address of main memory") 161 max_mem_size = Param.Addr('256MB', "Maximum amount of RAM supported by platform") 162 --- 175 unchanged lines hidden (view full) --- 338 pci_cfg_base = 0x30000000 339 uart = Pl011(pio_addr=0x1c090000, int_num=37) 340 realview_io = RealViewCtrl(proc_id0=0x14000000, proc_id1=0x14000000, pio_addr=0x1C010000) 341 gic = Pl390(dist_addr=0x2C001000, cpu_addr=0x2C002000) 342 local_cpu_timer = CpuLocalTimer(int_num_timer=29, int_num_watchdog=30, pio_addr=0x2C080000) 343 timer0 = Sp804(int_num0=34, int_num1=34, pio_addr=0x1C110000, clock0='1MHz', clock1='1MHz') 344 timer1 = Sp804(int_num0=35, int_num1=35, pio_addr=0x1C120000, clock0='1MHz', clock1='1MHz') 345 clcd = Pl111(pio_addr=0x1c1f0000, int_num=46) |
346 hdlcd = HDLcd(pio_addr=0x2b000000, int_num=117) |
|
336 kmi0 = Pl050(pio_addr=0x1c060000, int_num=44) 337 kmi1 = Pl050(pio_addr=0x1c070000, int_num=45, is_mouse=True) 338 cf_ctrl = IdeController(disks=[], pci_func=0, pci_dev=0, pci_bus=2, 339 io_shift = 2, ctrl_offset = 2, Command = 0x1, 340 BAR0 = 0x1C1A0000, BAR0Size = '256B', 341 BAR1 = 0x1C1A0100, BAR1Size = '4096B', 342 BAR0LegacyIO = True, BAR1LegacyIO = True) 343 --- 27 unchanged lines hidden (view full) --- 371 cur_sys.boot_loader = loc('boot_emm.arm') 372 cur_sys.atags_addr = 0x80000100 373 374 # Attach I/O devices that are on chip and also set the appropriate 375 # ranges for the bridge 376 def attachOnChipIO(self, bus, bridge): 377 self.gic.pio = bus.master 378 self.local_cpu_timer.pio = bus.master | 347 kmi0 = Pl050(pio_addr=0x1c060000, int_num=44) 348 kmi1 = Pl050(pio_addr=0x1c070000, int_num=45, is_mouse=True) 349 cf_ctrl = IdeController(disks=[], pci_func=0, pci_dev=0, pci_bus=2, 350 io_shift = 2, ctrl_offset = 2, Command = 0x1, 351 BAR0 = 0x1C1A0000, BAR0Size = '256B', 352 BAR1 = 0x1C1A0100, BAR1Size = '4096B', 353 BAR0LegacyIO = True, BAR1LegacyIO = True) 354 --- 27 unchanged lines hidden (view full) --- 382 cur_sys.boot_loader = loc('boot_emm.arm') 383 cur_sys.atags_addr = 0x80000100 384 385 # Attach I/O devices that are on chip and also set the appropriate 386 # ranges for the bridge 387 def attachOnChipIO(self, bus, bridge): 388 self.gic.pio = bus.master 389 self.local_cpu_timer.pio = bus.master |
390 self.hdlcd.dma = bus.slave |
|
379 # Bridge ranges based on excluding what is part of on-chip I/O 380 # (gic, a9scu) 381 bridge.ranges = [AddrRange(0x2F000000, size='16MB'), | 391 # Bridge ranges based on excluding what is part of on-chip I/O 392 # (gic, a9scu) 393 bridge.ranges = [AddrRange(0x2F000000, size='16MB'), |
394 AddrRange(0x2B000000, size='4MB'), |
|
382 AddrRange(0x30000000, size='256MB'), 383 AddrRange(0x40000000, size='512MB'), 384 AddrRange(0x18000000, size='64MB'), 385 AddrRange(0x1C000000, size='64MB')] 386 387 # Attach I/O devices to specified bus object. Can't do this 388 # earlier, since the bus object itself is typically defined at the 389 # System level. 390 def attachIO(self, bus): 391 self.uart.pio = bus.master 392 self.realview_io.pio = bus.master 393 self.timer0.pio = bus.master 394 self.timer1.pio = bus.master 395 self.clcd.pio = bus.master 396 self.clcd.dma = bus.slave | 395 AddrRange(0x30000000, size='256MB'), 396 AddrRange(0x40000000, size='512MB'), 397 AddrRange(0x18000000, size='64MB'), 398 AddrRange(0x1C000000, size='64MB')] 399 400 # Attach I/O devices to specified bus object. Can't do this 401 # earlier, since the bus object itself is typically defined at the 402 # System level. 403 def attachIO(self, bus): 404 self.uart.pio = bus.master 405 self.realview_io.pio = bus.master 406 self.timer0.pio = bus.master 407 self.timer1.pio = bus.master 408 self.clcd.pio = bus.master 409 self.clcd.dma = bus.slave |
410 self.hdlcd.pio = bus.master |
|
397 self.kmi0.pio = bus.master 398 self.kmi1.pio = bus.master 399 self.cf_ctrl.pio = bus.master 400 self.cf_ctrl.dma = bus.slave 401 self.cf_ctrl.config = bus.master 402 self.rtc.pio = bus.master 403 bus.use_default_range = True 404 self.vram.port = bus.master --- 19 unchanged lines hidden --- | 411 self.kmi0.pio = bus.master 412 self.kmi1.pio = bus.master 413 self.cf_ctrl.pio = bus.master 414 self.cf_ctrl.dma = bus.slave 415 self.cf_ctrl.config = bus.master 416 self.rtc.pio = bus.master 417 bus.use_default_range = True 418 self.vram.port = bus.master --- 19 unchanged lines hidden --- |