freebsd-dev/sys/arm/conf/GENERIC
Andrew Turner 75f48c23ea Add external PLATFORM access on arm, and use it in the pl310 driver.
This allows multiple instances of SoCs that use the pl310 driver to be
built within the same kernel:

 * Add access to the platform_t object from outside platform.c
 * Use this with the pl310 driver

There is a new platform_pl310 interface to replace the existing code. SoCs
need to implement the init method, and if they have special requirements to
write to the two registers we care about will also need to implement the
write_ctrl and write_debug methods.

Differential Revision:	https://reviews.freebsd.org/D11546
2017-07-11 16:30:16 +00:00

234 lines
5.6 KiB
Plaintext

#
# GENERICV6 -- Generic(ish) kernel config.
#
# 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 GENERIC
cpu CPU_CORTEXA
options SMP_ON_UP
machine arm armv6
makeoptions CONF_CFLAGS="-march=armv7a"
makeoptions KERNVIRTADDR=0xc0000000
options KERNVIRTADDR=0xc0000000
include "std.armv6"
files "../allwinner/files.allwinner"
files "../allwinner/files.allwinner_up"
files "../allwinner/a10/files.a10"
files "../allwinner/a13/files.a13"
files "../allwinner/a20/files.a20"
files "../allwinner/a31/files.a31"
files "../allwinner/a33/files.a33"
files "../allwinner/a83t/files.a83t"
files "../allwinner/h3/files.h3"
files "../broadcom/bcm2835/files.bcm2836"
files "../broadcom/bcm2835/files.bcm283x"
files "../nvidia/tegra124/files.tegra124"
files "../qemu/files.qemu"
files "../ti/files.ti"
files "../ti/am335x/files.am335x"
files "../ti/omap4/files.omap4"
options SOC_ALLWINNER_A10
options SOC_ALLWINNER_A13
options SOC_ALLWINNER_A20
options SOC_ALLWINNER_A31
options SOC_ALLWINNER_A31S
options SOC_ALLWINNER_A33
options SOC_ALLWINNER_A83T
options SOC_ALLWINNER_H2PLUS
options SOC_ALLWINNER_H3
options SOC_BCM2836
options SOC_TI_AM335X
options SOC_OMAP4
options SCHED_ULE # ULE scheduler
options SMP # Enable multiple cores
options PLATFORM
options LINUX_BOOT_ABI
# EXT_RESOURCES pseudo devices
options EXT_RESOURCES
device clk
device phy
device hwreset
device regulator
# CPU frequency control
device cpufreq
# Interrupt controller
options INTRNG
device gic
# PMU support (for CCNT).
device pmu
# ARM Generic Timer
device generic_timer
device mpcore_timer
# MMC/SD/SDIO Card slot support
device sdhci # SD controller
device mmc # mmc/sd bus
device mmcsd # mmc/sd flash cards
# ATA controllers
device ahci # AHCI-compatible SATA controllers
#device ata # Legacy ATA/SATA controllers
# PCI
options NEW_PCIB
device pci
# PCI NICs
device re # RealTek 8139C+/8169/8169S/8110S
# VirtIO
device virtio
device virtio_mmio
device virtio_blk
device vtnet
# Console and misc
device uart
device uart_ns8250
device uart_snps
device pl011
device pty
device snp
device md # Memory "disks"
device random # Entropy device
device pl310 # PL310 L2 cache controller
device psci
# I2C support
device iicbus
device iic
device twsi
device rsb # Allwinner Reduced Serial Bus
device p2wi # Allwinner Push-Pull Two Wire
device axp209 # AXP209 Power Management Unit
device axp81x # AXP813/818 Power Management Unit
device bcm2835_bsc
device icee
device sy8106a # SY8106A Buck Regulator
device ti_i2c
device am335x_pmic # AM335x Power Management IC (TPC65217)
device am335x_rtc # RTC support (power management only)
#define am335x_dmtpps # Pulse Per Second capture driver
device twl # TI TWLX0X0/TPS659x0 Power Management
device twl_vreg # twl voltage regulation
device twl_clks # twl external clocks
# GPIO
device gpio
device gpiobacklight
device gpioled
device gpioregulator
# EVDEV support
device evdev # input event device support
options EVDEV_SUPPORT # evdev support in legacy drivers
device uinput # install /dev/uinput cdev
device aw_cir
# SPI
device spibus
device spigen
device bcm2835_spi
device ti_spi
# ADC support
device ti_adc
# Watchdog support
# If we don't enable the watchdog driver, the BealeBone could potentially
# reboot automatically because the boot loader might have enabled the
# watchdog.
device ti_wdt
device scbus # SCSI bus (required for ATA/SCSI)
device da # Direct Access (disks)
device cd # CD
device pass # Passthrough device (direct ATA/SCSI access)
# USB support
options USB_HOST_ALIGN=64 # Align usb buffers to cache line size.
device usb
#device uhci
device ohci
device ehci
device dwcotg # DWC OTG controller
device musb
device umass # Disks/Mass storage - Requires scbus and da
device uhid # "Human Interface Devices"
device ukbd # Allow keyboard like HIDs to control console
# Device mode support
device usb_template # Control of the gadget
# Ethernet
device loop
device ether
device vlan # 802.1Q VLAN support
device bpf
# Ethernet NICs that use the common MII bus controller code.
# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
device miibus
device awg # 10/100/1000 integrated EMAC controller
device cpsw # TI Common Platform Ethernet Switch (CPSW)
device dwc # 10/100/1000 integrated GMAC controller
device emac # 10/100 integrated EMAC controller
device smsc # SMSC LAN91C111
# Sound support
device sound
# Framebuffer support
device vt
device kbdmux
device ums
device videomode
device hdmi
device vchiq
# Pinmux
device fdt_pinctrl
# TI Programmable Realtime Unit support
device ti_pruss
# Mailbox support
device ti_mbox
# DMA controller
device ti_sdma
# Extensible Firmware Interface
options EFI
# Flattened Device Tree
options FDT # Configure using FDT/DTB data
makeoptions MODULES_EXTRA="dtb/allwinner dtb/am335x dtb/nvidia dtb/rpi dtb/omap4"