#
# $NetBSD: HUMMINGBOARD,v 1.8.2.1 2019/08/15 09:49:49 martin Exp $
#
# Hummingboard -- Freescale i.MX6 Eval Board Kernel
#
include "arch/evbarm/conf/std.nitrogen6"
include "arch/evbarm/conf/GENERIC.common"
# Board Type
options EVBARM_BOARDTYPE=hummingboard
#options EVBARM_BOARDTYPE=hummingboard_edge
options HUMMINGBOARD
# CPU options
options CPU_CORTEX
options CPU_CORTEXA9
options IMX6
options MULTIPROCESSOR
# Console options. also need IMXUARTCONSOLE
options CONSDEVNAME="\"imxuart\"",CONADDR=0x02020000
#options VERBOSE_INIT_ARM
#options EARLYCONS=nitrogen6 # CONADDR already defined
options IMXUARTCONSOLE
options CONSPEED=115200 # Console speed
#options DAGNOSTIC # internal consistency checks
options DEBUG
#options KGDB
makeoptions DEBUG="-g" # compile full symbol table
makeoptions COPY_SYMTAB=1
# Valid options for BOOT_ARGS:
# single Boot to single user only
# kdb Give control to kernel debugger
# ask Ask for file name to reboot from
# pmapdebug=<n> If PMAP_DEBUG, set pmap_debug_level to <n>
# memorydisk=<n> Set memorydisk size to <n> KB
# quiet Show aprint_naive output
# verbose Show aprint_normal and aprint_verbose output
options BOOT_ARGS="\"verbose\""
# Kernel root file system and dump configuration.
#config netbsd root on ? type ?
config netbsd-wd0 root on wd0 type ffs
#
# Device configuration
#
mainbus0 at root
cpu* at mainbus?
# The MPCore interrupt controller and global timer
armperiph0 at mainbus? # A9 On-Chip Peripherals
armgic0 at armperiph? # ARM Generic Interrupt Controller
arml2cc0 at armperiph? flags 0 # ARM PL310 L2CC
arma9tmr0 at armperiph? # A9 Global Timer
#arma9wdt0 at armperiph? flags 0 # A9 Watchdog Timer
axi0 at mainbus?
# GPIO
imxgpio0 at axi? addr 0x0209c000 irqbase 256 irq 98
imxgpio1 at axi? addr 0x020a0000 irqbase 288 irq 100
imxgpio2 at axi? addr 0x020a4000 irqbase 320 irq 102
imxgpio3 at axi? addr 0x020a8000 irqbase 352 irq 104
imxgpio4 at axi? addr 0x020ac000 irqbase 384 irq 106
imxgpio5 at axi? addr 0x020b0000 irqbase 416 irq 108
imxgpio6 at axi? addr 0x020b4000 irqbase 448 irq 110
gpio* at imxgpio?
# Clock Control
imxccm0 at axi? addr 0x020c4000
# On-Chip OTP Controller
imxocotp0 at axi? addr 0x021bc000
# IOMUX
imxiomux0 at axi? addr 0x020e0000
# WatchDog
imxwdog0 at axi? addr 0x020bc000 irq 112 flags 0
#imxwdog1 at axi? addr 0x020c0000 irq 113 flags 0
# Serial
imxuart0 at axi? addr 0x02020000 irq 58 # UART1
#imxuart1 at axi? addr 0x021e8000 irq 59 # UART2
#imxuart2 at axi? addr 0x021ec000 irq 60 # UART3
#imxuart3 at axi? addr 0x021f0000 irq 61 # UART4
#imxuart4 at axi? addr 0x021f4000 irq 62 # UART5
options IMXUARTCONSOLE
# I2C
imxi2c0 at axi? addr 0x021A0000 irq 68
imxi2c1 at axi? addr 0x021A4000 irq 69
imxi2c2 at axi? addr 0x021A8000 irq 70
# IIC
iic* at imxi2c?
# SATA
ahcisata* at axi? addr 0x02200000 irq 71
atabus* at ahcisata? channel ?
wd* at atabus? drive ? flags 0x0000
# ATAPI bus support
atapibus* at atapi?
# ATAPI devices
# flags have the same meaning as for IDE drives.
cd* at atapibus? drive ? flags 0x0000 # ATAPI CD-ROM drives
sd* at atapibus? drive ? flags 0x0000 # ATAPI disk drives
st* at atapibus? drive ? flags 0x0000 # ATAPI tape drives
uk* at atapibus? drive ? flags 0x0000 # ATAPI unknown
# Network Interfaces
enet0 at axi? addr 0x02188000 irq 150 # iMX6 SoC Ethernet
# MII/PHY support
atphy* at mii? phy ? # Attansic/Atheros PHYs
rgephy* at mii? phy ? # Realtek 8169S/8110S/8211 PHYs
rlphy* at mii? phy ? # Realtek 8139/8201L PHYs
ukphy* at mii? phy ? # generic unknown PHYs
# SD/MMC
#sdhc0 at axi? addr 0x02190000 irq 54 # uSDHC1
sdhc1 at axi? addr 0x02194000 irq 55 # uSDHC2
#sdhc2 at axi? addr 0x02198000 irq 56 # uSDHC3
#sdhc3 at axi? addr 0x0219c000 irq 57 # uSDHC4
sdmmc* at sdhc?
ld* at sdmmc? # MMC/SD card
#options SDHC_DEBUG
#options SDMMC_DEBUG
# USB
imxusbphy0 at axi? addr 0x020c9000
imxusbphy1 at axi? addr 0x020ca000
imxusbc0 at axi? addr 0x02184000
ehci0 at imxusbc0 unit 0 irq 75 # OTG
ehci1 at imxusbc0 unit 1 irq 72 # Host1
#ehci2 at imxusbc0 unit 2 irq 73 # Host2
#ehci3 at imxusbc0 unit 3 irq 74 # Host3
usb* at ehci?
# USB device drivers
include "dev/usb/usbdevices.config"
midi* at midibus?
# PCIe
imxpcie0 at axi? addr 0x01ffc000 irq 155 # PCIe
#options PCIVERBOSE
#options PCI_CONFIG_DUMP
pci* at imxpcie0
ppb* at pci? dev ? function ?
pci* at ppb?
# local configuration
cinclude "arch/evbarm/conf/HUMMINGBOARD.local"