head	1.12;
access;
symbols
	perseant-exfatfs-base-20250801:1.12
	perseant-exfatfs-base-20240630:1.12
	perseant-exfatfs:1.12.0.8
	perseant-exfatfs-base:1.12
	netbsd-8-3-RELEASE:1.1
	netbsd-9-4-RELEASE:1.8.2.1
	bouyer-sunxi-drm:1.12.0.6
	bouyer-sunxi-drm-base:1.12
	netbsd-9-3-RELEASE:1.8.2.1
	cjep_sun2x:1.12.0.4
	cjep_sun2x-base:1.12
	cjep_staticlib_x-base1:1.12
	netbsd-9-2-RELEASE:1.8.2.1
	cjep_staticlib_x:1.12.0.2
	cjep_staticlib_x-base:1.12
	thorpej-futex-base:1.12
	netbsd-9-1-RELEASE:1.8.2.1
	bouyer-xenpvh-base2:1.10
	phil-wifi-20200421:1.10
	bouyer-xenpvh-base1:1.10
	phil-wifi-20200411:1.9
	bouyer-xenpvh:1.9.0.6
	bouyer-xenpvh-base:1.9
	is-mlppp:1.9.0.4
	is-mlppp-base:1.9
	phil-wifi-20200406:1.9
	netbsd-8-2-RELEASE:1.1
	ad-namecache-base3:1.9
	netbsd-9-0-RELEASE:1.8.2.1
	netbsd-9-0-RC2:1.8.2.1
	ad-namecache-base2:1.9
	ad-namecache-base1:1.9
	ad-namecache:1.9.0.2
	ad-namecache-base:1.9
	netbsd-9-0-RC1:1.8.2.1
	phil-wifi-20191119:1.9
	netbsd-9:1.8.0.2
	netbsd-9-base:1.8
	phil-wifi-20190609:1.7
	netbsd-8-1-RELEASE:1.1
	netbsd-8-1-RC1:1.1
	isaki-audio2:1.7.0.2
	isaki-audio2-base:1.7
	pgoyette-compat-merge-20190127:1.3.4.2
	pgoyette-compat-20190127:1.6
	pgoyette-compat-20190118:1.6
	pgoyette-compat-1226:1.6
	pgoyette-compat-1126:1.6
	pgoyette-compat-1020:1.6
	pgoyette-compat-0930:1.4
	pgoyette-compat-0906:1.4
	pgoyette-compat-0728:1.4
	netbsd-8-0-RELEASE:1.1
	phil-wifi:1.4.0.2
	phil-wifi-base:1.4
	pgoyette-compat-0625:1.4
	netbsd-8-0-RC2:1.1
	pgoyette-compat-0521:1.3
	pgoyette-compat-0502:1.3
	pgoyette-compat-0422:1.3
	netbsd-8-0-RC1:1.1
	pgoyette-compat-0415:1.3
	pgoyette-compat-0407:1.3
	pgoyette-compat-0330:1.3
	pgoyette-compat-0322:1.3
	pgoyette-compat-0315:1.3
	pgoyette-compat:1.3.0.4
	pgoyette-compat-base:1.3
	tls-maxphys:1.3.0.2
	tls-maxphys-base-20171202:1.3
	matt-nb8-mediatek:1.1.0.16
	matt-nb8-mediatek-base:1.1
	nick-nhusb-base-20170825:1.1
	perseant-stdc-iso10646:1.1.0.14
	perseant-stdc-iso10646-base:1.1
	netbsd-8:1.1.0.12
	netbsd-8-base:1.1
	prg-localcount2-base3:1.1
	prg-localcount2-base2:1.1
	prg-localcount2-base1:1.1
	prg-localcount2:1.1.0.10
	prg-localcount2-base:1.1
	pgoyette-localcount-20170426:1.1
	bouyer-socketcan-base1:1.1
	jdolecek-ncq:1.1.0.8
	jdolecek-ncq-base:1.1
	pgoyette-localcount-20170320:1.1
	nick-nhusb-base-20170204:1.1
	bouyer-socketcan:1.1.0.6
	bouyer-socketcan-base:1.1
	pgoyette-localcount:1.1.0.4
	pgoyette-localcount-20170107:1.1
	nick-nhusb:1.1.0.2
	nick-nhusb-base-20161204:1.1;
locks; strict;
comment	@# @;


1.12
date	2020.05.23.13.24.08;	author skrll;	state dead;
branches;
next	1.11;
commitid	1CqkBi9gAT4sQm9C;

1.11
date	2020.05.23.06.22.34;	author rin;	state Exp;
branches;
next	1.10;
commitid	mfXbfBWuYN3Jvk9C;

1.10
date	2020.04.18.11.00.38;	author skrll;	state Exp;
branches;
next	1.9;
commitid	2zaZE9PO9gJXaR4C;

1.9
date	2019.08.11.19.34.04;	author skrll;	state Exp;
branches
	1.9.6.1;
next	1.8;
commitid	99Pviq3UBUnj5EyB;

1.8
date	2019.07.24.12.33.18;	author hkenken;	state Exp;
branches
	1.8.2.1;
next	1.7;
commitid	BGnRueZSks3UkiwB;

1.7
date	2019.02.06.11.58.30;	author rin;	state Exp;
branches;
next	1.6;
commitid	5Lq3lTxgmkkMwHaB;

1.6
date	2018.10.18.09.01.53;	author skrll;	state Exp;
branches;
next	1.5;
commitid	0r6pPkie0NRL4qWA;

1.5
date	2018.10.17.06.19.21;	author skrll;	state Exp;
branches;
next	1.4;
commitid	fnEkDsnkmwAughWA;

1.4
date	2018.06.05.08.03.28;	author hkenken;	state Exp;
branches
	1.4.2.1;
next	1.3;
commitid	aErRAE50OFgr94FA;

1.3
date	2017.11.25.04.53.24;	author christos;	state Exp;
branches
	1.3.2.1
	1.3.4.1;
next	1.2;
commitid	dKBuTpGGax5LgngA;

1.2
date	2017.11.09.05.57.23;	author hkenken;	state Exp;
branches;
next	1.1;
commitid	XQZMz94fQcRH8keA;

1.1
date	2016.11.24.12.06.44;	author hkenken;	state Exp;
branches
	1.1.2.1
	1.1.4.1;
next	;
commitid	ecFH3RSFGadVqnvz;

1.9.6.1
date	2020.04.20.11.28.54;	author bouyer;	state Exp;
branches;
next	;
commitid	4WLfIgNPymVsg75C;

1.8.2.1
date	2019.08.15.09.49.49;	author martin;	state Exp;
branches;
next	;
commitid	7Y97oj6vEQ91J6zB;

1.4.2.1
date	2019.06.10.22.06.04;	author christos;	state Exp;
branches;
next	1.4.2.2;
commitid	jtc8rnCzWiEEHGqB;

1.4.2.2
date	2020.04.13.08.03.42;	author martin;	state Exp;
branches;
next	1.4.2.3;
commitid	X01YhRUPVUDaec4C;

1.4.2.3
date	2020.04.21.18.42.05;	author martin;	state Exp;
branches;
next	;
commitid	86tA4aEmdr3VCh5C;

1.3.2.1
date	2017.11.25.04.53.24;	author jdolecek;	state dead;
branches;
next	1.3.2.2;
commitid	XcIYRZTAh1LmerhA;

1.3.2.2
date	2017.12.03.11.36.03;	author jdolecek;	state Exp;
branches;
next	;
commitid	XcIYRZTAh1LmerhA;

1.3.4.1
date	2018.06.25.07.25.40;	author pgoyette;	state Exp;
branches;
next	1.3.4.2;
commitid	8PtAu9af7VvhiDHA;

1.3.4.2
date	2018.10.20.06.58.27;	author pgoyette;	state Exp;
branches;
next	;
commitid	mTSoqZEZ4arHnFWA;

1.1.2.1
date	2016.11.24.12.06.44;	author skrll;	state dead;
branches;
next	1.1.2.2;
commitid	4H3tiQVJXN6oEMwz;

1.1.2.2
date	2016.12.05.10.54.52;	author skrll;	state Exp;
branches;
next	;
commitid	4H3tiQVJXN6oEMwz;

1.1.4.1
date	2016.11.24.12.06.44;	author pgoyette;	state dead;
branches;
next	1.1.4.2;
commitid	uEL0C1YuiJrlV0Bz;

1.1.4.2
date	2017.01.07.08.56.13;	author pgoyette;	state Exp;
branches;
next	;
commitid	uEL0C1YuiJrlV0Bz;


desc
@@


1.12
log
@imx6 kernels are part of GENERIC now
@
text
@#
#	$NetBSD: HUMMINGBOARD,v 1.11 2020/05/23 06:22:34 rin 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
#  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

# 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"
@


1.11
log
@Deduplicate "options IMXUARTCONSOLE".
@
text
@d2 1
a2 1
#	$NetBSD: HUMMINGBOARD,v 1.10 2020/04/18 11:00:38 skrll Exp $
@


1.10
log
@PMAP_DEBUG has been deleted on arm
@
text
@d2 1
a2 1
#	$NetBSD: HUMMINGBOARD,v 1.9 2019/08/11 19:34:04 skrll Exp $
a92 1
options		IMXUARTCONSOLE
@


1.9
log
@Update for recent a9wdt changes
@
text
@d2 1
a2 1
#	$NetBSD: HUMMINGBOARD,v 1.8 2019/07/24 12:33:18 hkenken Exp $
a37 1
#  pmapdebug=<n>	If PMAP_DEBUG, set pmap_debug_level to <n>
@


1.9.6.1
log
@Sync with HEAD
@
text
@d2 1
a2 1
#	$NetBSD: HUMMINGBOARD,v 1.10 2020/04/18 11:00:38 skrll Exp $
d38 1
@


1.8
log
@Modified i.MX GPIO control module and PCIe module.

+ Add imxpcie.c
  imx PCIe common driver
@
text
@d2 1
a2 1
#	$NetBSD: HUMMINGBOARD,v 1.7 2019/02/06 11:58:30 rin Exp $
d61 1
a61 1
#a9wdt0		at armperiph? flags 0	# A9 Watchdog Timer
@


1.8.2.1
log
@Pull up following revision(s) (requested by skrll in ticket #55):

	sys/arch/arm/cortex/a9wdt.c: revision 1.10
	sys/arch/evbarm/conf/HUMMINGBOARD: revision 1.9
	sys/arch/evbarm/conf/GENERIC: revision 1.50
	sys/arch/evbarm/conf/NITROGEN6X: revision 1.24
	sys/arch/arm/cortex/a9tmr_var.h: revision 1.7
	sys/arch/arm/fdt/files.fdt: revision 1.29
	sys/arch/arm/amlogic/meson_platform.c: revision 1.12
	sys/arch/arm/amlogic/meson8b_pinctrl.c: revision 1.2
	sys/arch/arm/amlogic/meson_platform.c: revision 1.13
	sys/arch/evbarm/conf/BCM5301X: revision 1.34
	sys/arch/arm/dts/meson8b.dtsi: revision 1.6
	sys/arch/arm/fdt/a9ptmr_fdt.c: revision 1.1
	sys/arch/arm/dts/meson8b.dtsi: revision 1.7
	sys/arch/arm/cortex/a9ptmr_var.h: revision 1.1
	sys/arch/evbarm/conf/PANDABOARD: revision 1.30
	sys/arch/evbarm/conf/DUOVERO: revision 1.14
	sys/arch/arm/cortex/a9ptmr.c: revision 1.1
	sys/arch/arm/cortex/a9ptmr.c: revision 1.2
	sys/arch/arm/fdt/a9wdt_fdt.c: revision 1.1
	sys/arch/evbarm/conf/BCM56340: revision 1.19
	sys/arch/evbarm/conf/CUBOX-I: revision 1.23
	sys/arch/arm/amlogic/meson8b_clkc.c: revision 1.4
	sys/arch/evbarm/conf/PARALLELLA: revision 1.7
	sys/arch/arm/cortex/files.cortex: revision 1.12
	sys/arch/arm/dts/meson8b-odroidc1.dts: revision 1.4
	sys/arch/arm/cortex/a9wdt.c: revision 1.9
	sys/arch/evbarm/conf/ZEDBOARD: revision 1.6

spaces to tab

 -

Add a driver for the A5/A9 Private timer.
While here FDTise the Watchdog driver.

 -

Update for recent a9wdt changes
 -

Trailing whitespace

 -
Updates to get Odroid-C1 in better shape since the last DTS import

 -

Various fixes / changes
- don't use prescaler
- improve AB_DEBUG output
- fix a9ptmr_delay to work with a decrementing counter!
Thanks to jmcneill@@ for proving I'm an idiot

 -

Add eth_rxd3 and eth_rxd2 pinctrl groups

 -

Catch up to recent mainline dts changes
@
text
@d2 1
a2 1
#	$NetBSD: HUMMINGBOARD,v 1.8 2019/07/24 12:33:18 hkenken Exp $
d61 1
a61 1
#arma9wdt0		at armperiph? flags 0	# A9 Watchdog Timer
@


1.7
log
@Add ure(4) to kernel config files. Also add PHY drivers where necessary.
@
text
@d2 1
a2 1
#	$NetBSD: HUMMINGBOARD,v 1.6 2018/10/18 09:01:53 skrll Exp $
a73 1
options		IMX_GPIO_INTR_SPLIT
@


1.6
log
@Provide generic start code that assumes the MMU is off and caches are
disabled as per the linux booting protocol for ARMv6 and ARMv7 boards.
u-boot image type should be changed to 'linux' for correct behaviour.

The new start code builds a minimal "bootstrap" L1PT with cached access
disabled and uses the same table for all processors.  AP startup is
performed in less steps and more code is written in C.

The bootstrap tables and stack are placed into an (orphaned) section
"_init_memory" which is given to uvm when it is no longer used.

Various kernels have been converted to use this code and tested.  Some
boards were provided by TNF. Thanks!

The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS
kernels. The GENERIC kernel will also work on RPI2 using u-boot.

Thanks to martin@@ and aymeric@@ for testing on parallella and nanosoc
respectively
@
text
@d2 1
a2 1
#	$NetBSD: HUMMINGBOARD,v 1.5 2018/10/17 06:19:21 skrll Exp $
d125 2
@


1.5
log
@options<space><tab>
@
text
@d2 1
a2 1
#	$NetBSD: HUMMINGBOARD,v 1.4 2018/06/05 08:03:28 hkenken Exp $
d23 3
@


1.4
log
@Rename ARM A9 Global Timer driver name to support fdt.

- Rename a9tmr to arma9tmr.
- Add a9tmr_fdt.c based gtmr_fdt.c.
@
text
@d2 1
a2 1
#	$NetBSD: HUMMINGBOARD,v 1.3 2017/11/25 04:53:24 christos Exp $
d25 2
a26 2
#options		DIAGNOSTIC      # internal consistency checks
options		DEBUG
@


1.4.2.1
log
@Sync with HEAD
@
text
@d2 1
a2 1
#	$NetBSD: HUMMINGBOARD,v 1.7 2019/02/06 11:58:30 rin Exp $
a22 3
#options 	VERBOSE_INIT_ARM
#options 	EARLYCONS=nitrogen6	# CONADDR already defined
options 	IMXUARTCONSOLE
d25 2
a26 2
#options 	DAGNOSTIC	# internal consistency checks
options 	DEBUG
a121 2
rgephy*	at mii? phy ?			# Realtek 8169S/8110S/8211 PHYs
rlphy*	at mii? phy ?			# Realtek 8139/8201L PHYs
@


1.4.2.2
log
@Mostly merge changes from HEAD upto 20200411
@
text
@d2 1
a2 1
#	$NetBSD$
d61 1
a61 1
#arma9wdt0		at armperiph? flags 0	# A9 Watchdog Timer
d74 1
@


1.4.2.3
log
@Sync with HEAD
@
text
@d38 1
@


1.3
log
@comment out duplicate options and unknown devices
@
text
@d2 1
a2 1
#	$NetBSD: HUMMINGBOARD,v 1.2 2017/11/09 05:57:23 hkenken Exp $
d57 1
a57 1
a9tmr0		at armperiph?		# A9 Global Timer
@


1.3.4.1
log
@Sync with HEAD
@
text
@d2 1
a2 1
#	$NetBSD: HUMMINGBOARD,v 1.4 2018/06/05 08:03:28 hkenken Exp $
d57 1
a57 1
arma9tmr0	at armperiph?		# A9 Global Timer
@


1.3.4.2
log
@Sync with head
@
text
@d2 1
a2 1
#	$NetBSD: HUMMINGBOARD,v 1.6 2018/10/18 09:01:53 skrll Exp $
a22 3
#options 	VERBOSE_INIT_ARM
#options 	EARLYCONS=nitrogen6	# CONADDR already defined
options 	IMXUARTCONSOLE
d25 2
a26 2
#options 	DAGNOSTIC	# internal consistency checks
options 	DEBUG
@


1.3.2.1
log
@file HUMMINGBOARD was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
@
text
@d1 160
@


1.3.2.2
log
@update from HEAD
@
text
@a0 160
#
#	$NetBSD$
#
#	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 	CONSPEED=115200	# Console speed

#options		DIAGNOSTIC      # 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
a9tmr0		at armperiph?		# A9 Global Timer
#a9wdt0		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?
options		IMX_GPIO_INTR_SPLIT

# 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
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"
@


1.2
log
@- Add imxusbphy driver for i.MX6.
- Clean up CCM (Clock driver).
  Add imx6_ccm_analog_read/write() functions.
@
text
@d2 1
a2 1
#	$NetBSD: HUMMINGBOARD,v 1.1 2016/11/24 12:06:44 hkenken Exp $
d25 1
a25 1
options		DIAGNOSTIC      # internal consistency checks
@


1.1
log
@Add support imx6 PCIe controller.
@
text
@d2 1
a2 1
#	$NetBSD$
d135 2
d159 2
a160 2
iwn*		at pci? dev ? function ?	# Intel PRO/Wireless 4965AGN
iwm*		at pci? dev ? function ?	# Intel Centrino 7260
@


1.1.4.1
log
@file HUMMINGBOARD was added on branch pgoyette-localcount on 2017-01-07 08:56:13 +0000
@
text
@d1 158
@


1.1.4.2
log
@Sync with HEAD.  (Note that most of these changes are simply $NetBSD$
tag issues.)
@
text
@a0 158
#
#	$NetBSD: HUMMINGBOARD,v 1.1 2016/11/24 12:06:44 hkenken 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 	CONSPEED=115200	# Console speed

options		DIAGNOSTIC      # 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
a9tmr0		at armperiph?		# A9 Global Timer
#a9wdt0		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?
options		IMX_GPIO_INTR_SPLIT

# 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
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
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?

iwn*		at pci? dev ? function ?	# Intel PRO/Wireless 4965AGN
iwm*		at pci? dev ? function ?	# Intel Centrino 7260
@


1.1.2.1
log
@file HUMMINGBOARD was added on branch nick-nhusb on 2016-12-05 10:54:52 +0000
@
text
@d1 158
@


1.1.2.2
log
@Sync with HEAD
@
text
@a0 158
#
#	$NetBSD: HUMMINGBOARD,v 1.1 2016/11/24 12:06:44 hkenken 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 	CONSPEED=115200	# Console speed

options		DIAGNOSTIC      # 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
a9tmr0		at armperiph?		# A9 Global Timer
#a9wdt0		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?
options		IMX_GPIO_INTR_SPLIT

# 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
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
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?

iwn*		at pci? dev ? function ?	# Intel PRO/Wireless 4965AGN
iwm*		at pci? dev ? function ?	# Intel Centrino 7260
@


