87d2359388
Scope of this change is somewhat larger than just converting to INTRNG. The reason for this is that INTRNG support required switching from custom to upstream DTS because custom DTS didn't have interrup routing information. This switch caused rewrite of PCI and CLCD drivers and adding SCM module. List of changes in this commit: - Enable INTRNG and switch to versatile-pb.dts - Add SCM driver that controls various peripheral devices like LCD or PCI controller. Previously registers required for power-up and configuring peripherals were part of their respective nodes. Upstream DTS has dedicated node for SCM - Convert PL190 driver to INTRNG - Convert Versatile SIC (secondary interrupt controller) to INTRNG - Refactor CLCD driver to use SCM API to power up and configuration - Refactor PCI driver to use SCM API to enable controller - Refactor PCI driver to use interrupt map provided in DTS for interrupt routing. As a result it fixes broken IRQ routing and it's no longer required to run QEMU with "-global versatile_pci.broken-irq-mapping=1" command-line arguments
77 lines
1.9 KiB
Plaintext
77 lines
1.9 KiB
Plaintext
#
|
|
# VERSATILEPB - Configuration for QEMU version of Versatile Platform Board
|
|
#
|
|
# For more information on this file, please read the config(5) manual page,
|
|
# and/or the handbook section on Kernel Configuration Files:
|
|
#
|
|
# http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html
|
|
#
|
|
# The handbook is also available locally in /usr/share/doc/handbook
|
|
# if you've installed the doc distribution, otherwise always see the
|
|
# FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the
|
|
# latest information.
|
|
#
|
|
# An exhaustive list of options and more detailed explanations of the
|
|
# device lines is also present in the ../../conf/NOTES and NOTES files.
|
|
# If you are in doubt as to the purpose or necessity of a line, check first
|
|
# in NOTES.
|
|
#
|
|
# $FreeBSD$
|
|
|
|
ident VERSATILEPB
|
|
machine arm armv6
|
|
cpu CPU_ARM1176
|
|
|
|
include "std.armv6"
|
|
files "../versatile/files.versatile"
|
|
makeoptions MODULES_OVERRIDE=""
|
|
|
|
options KERNVIRTADDR=0xc0100000
|
|
makeoptions KERNVIRTADDR=0xc0100000
|
|
|
|
options SCHED_4BSD # 4BSD scheduler
|
|
options LINUX_BOOT_ABI # Process metadata passed from Linux boot loaders
|
|
|
|
options ROOTDEVNAME=\"ufs:da0s1a\"
|
|
|
|
device bpf
|
|
device loop
|
|
device mii
|
|
device mii_bitbang
|
|
device smc
|
|
device smcphy
|
|
device ether
|
|
device uart
|
|
device pl011
|
|
device pl190
|
|
|
|
device pty
|
|
device snp
|
|
|
|
device pci
|
|
|
|
# SCSI Controllers
|
|
device sym # NCR/Symbios/LSI Logic 53C8XX/53C1010/53C1510D
|
|
|
|
# ATA/SCSI peripherals
|
|
device scbus # SCSI bus (required for ATA/SCSI)
|
|
device da # Direct Access (disks)
|
|
device pass # Passthrough device (direct ATA/SCSI access)
|
|
|
|
# NOTE: serial console is disabled if syscons enabled
|
|
# Comment following lines for headless setup
|
|
device sc
|
|
device kbdmux
|
|
options SC_DFLT_FONT # compile font in
|
|
makeoptions SC_DFLT_FONT=cp437
|
|
|
|
device md
|
|
device random # Entropy device
|
|
|
|
options INTRNG
|
|
|
|
# Flattened Device Tree
|
|
options FDT # Configure using FDT/DTB data
|
|
options FDT_DTB_STATIC
|
|
makeoptions FDT_DTS_FILE=versatile-pb.dts
|