RealView.py (14274:8fc8b95931aa) | RealView.py (14283:b02cde4661e1) |
---|---|
1# Copyright (c) 2009-2019 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 --- 51 unchanged lines hidden (view full) --- 60from m5.objects.EnergyCtrl import EnergyCtrl 61from m5.objects.ClockedObject import ClockedObject 62from m5.objects.ClockDomain import SrcClockDomain 63from m5.objects.SubSystem import SubSystem 64from m5.objects.Graphics import ImageFormat 65from m5.objects.ClockedObject import ClockedObject 66from m5.objects.PS2 import * 67from m5.objects.VirtIOMMIO import MmioVirtIO | 1# Copyright (c) 2009-2019 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 --- 51 unchanged lines hidden (view full) --- 60from m5.objects.EnergyCtrl import EnergyCtrl 61from m5.objects.ClockedObject import ClockedObject 62from m5.objects.ClockDomain import SrcClockDomain 63from m5.objects.SubSystem import SubSystem 64from m5.objects.Graphics import ImageFormat 65from m5.objects.ClockedObject import ClockedObject 66from m5.objects.PS2 import * 67from m5.objects.VirtIOMMIO import MmioVirtIO |
68from m5.objects.Display import Display, Display1080p |
|
68 69# Platforms with KVM support should generally use in-kernel GIC 70# emulation. Use a GIC model that automatically switches between 71# gem5's GIC model and KVM's GIC model if KVM is available. 72try: 73 from m5.objects.KvmGic import MuxingKvmGic 74 kvm_gicv2_class = MuxingKvmGic 75except ImportError: --- 410 unchanged lines hidden (view full) --- 486 487 pixel_buffer_size = Param.MemorySize32("2kB", "Size of address range") 488 489 pxl_clk = Param.ClockDomain("Pixel clock source") 490 pixel_chunk = Param.Unsigned(32, "Number of pixels to handle in one batch") 491 virt_refresh_rate = Param.Frequency("20Hz", "Frame refresh rate " 492 "in KVM mode") 493 | 69 70# Platforms with KVM support should generally use in-kernel GIC 71# emulation. Use a GIC model that automatically switches between 72# gem5's GIC model and KVM's GIC model if KVM is available. 73try: 74 from m5.objects.KvmGic import MuxingKvmGic 75 kvm_gicv2_class = MuxingKvmGic 76except ImportError: --- 410 unchanged lines hidden (view full) --- 487 488 pixel_buffer_size = Param.MemorySize32("2kB", "Size of address range") 489 490 pxl_clk = Param.ClockDomain("Pixel clock source") 491 pixel_chunk = Param.Unsigned(32, "Number of pixels to handle in one batch") 492 virt_refresh_rate = Param.Frequency("20Hz", "Frame refresh rate " 493 "in KVM mode") 494 |
495 encoder = Param.Display(Display1080p(), "Display encoder") 496 497 def endpointPhandle(self): 498 return "hdlcd_endpoint" 499 |
|
494 def generateDeviceTree(self, state): | 500 def generateDeviceTree(self, state): |
501 endpoint_node = FdtNode("endpoint") 502 endpoint_node.appendPhandle(self.endpointPhandle()) 503 504 for encoder_node in self.encoder.generateDeviceTree(state): 505 encoder_endpoint = self.encoder.endpointNode() 506 507 # Endpoint subnode 508 endpoint_node.append(FdtPropertyWords("remote-endpoint", 509 [ state.phandle(self.encoder.endpointPhandle()) ])) 510 encoder_endpoint.append(FdtPropertyWords("remote-endpoint", 511 [ state.phandle(self.endpointPhandle()) ])) 512 513 yield encoder_node 514 515 port_node = FdtNode("port") 516 port_node.append(endpoint_node) 517 |
|
495 # Interrupt number is hardcoded; it is not a property of this class 496 node = self.generateBasicPioDeviceNode(state, 'hdlcd', 497 self.pio_addr, 0x1000, [63]) 498 499 node.appendCompatible(["arm,hdlcd"]) 500 node.append(FdtPropertyWords("clocks", state.phandle(self.pxl_clk))) 501 node.append(FdtPropertyStrings("clock-names", ["pxlclk"])) 502 503 # This driver is disabled by default since the required DT nodes 504 # haven't been standardized yet. To use it, override this status to 505 # "ok" and add the display configuration nodes required by the driver. 506 # See the driver for more information. 507 node.append(FdtPropertyStrings("status", ["disabled"])) 508 509 self.addIommuProperty(state, node) 510 | 518 # Interrupt number is hardcoded; it is not a property of this class 519 node = self.generateBasicPioDeviceNode(state, 'hdlcd', 520 self.pio_addr, 0x1000, [63]) 521 522 node.appendCompatible(["arm,hdlcd"]) 523 node.append(FdtPropertyWords("clocks", state.phandle(self.pxl_clk))) 524 node.append(FdtPropertyStrings("clock-names", ["pxlclk"])) 525 526 # This driver is disabled by default since the required DT nodes 527 # haven't been standardized yet. To use it, override this status to 528 # "ok" and add the display configuration nodes required by the driver. 529 # See the driver for more information. 530 node.append(FdtPropertyStrings("status", ["disabled"])) 531 532 self.addIommuProperty(state, node) 533 |
534 node.append(port_node) 535 |
|
511 yield node 512 513class RealView(Platform): 514 type = 'RealView' 515 cxx_header = "dev/arm/realview.hh" 516 system = Param.System(Parent.any, "system") 517 _mem_regions = [ AddrRange(0, size='256MB') ] 518 --- 607 unchanged lines hidden --- | 536 yield node 537 538class RealView(Platform): 539 type = 'RealView' 540 cxx_header = "dev/arm/realview.hh" 541 system = Param.System(Parent.any, "system") 542 _mem_regions = [ AddrRange(0, size='256MB') ] 543 --- 607 unchanged lines hidden --- |