head	1.37;
access;
symbols
	perseant-exfatfs-base-20250801:1.37
	perseant-exfatfs-base-20240630:1.37
	perseant-exfatfs:1.37.0.14
	perseant-exfatfs-base:1.37
	netbsd-8-3-RELEASE:1.14.4.1
	bouyer-sunxi-drm:1.37.0.12
	bouyer-sunxi-drm-base:1.37
	cjep_sun2x:1.37.0.10
	cjep_sun2x-base:1.37
	cjep_staticlib_x-base1:1.37
	cjep_staticlib_x:1.37.0.8
	cjep_staticlib_x-base:1.37
	thorpej-futex-base:1.37
	bouyer-xenpvh-base2:1.37
	phil-wifi-20200421:1.37
	bouyer-xenpvh-base1:1.37
	phil-wifi-20200411:1.37
	bouyer-xenpvh:1.37.0.6
	bouyer-xenpvh-base:1.37
	phil-wifi-20200406:1.37
	netbsd-8-2-RELEASE:1.14.4.1
	ad-namecache-base3:1.37
	ad-namecache-base2:1.37
	ad-namecache-base1:1.37
	ad-namecache:1.37.0.4
	ad-namecache-base:1.37
	netbsd-8-1-RELEASE:1.14.4.1
	netbsd-8-1-RC1:1.14.4.1
	isaki-audio2:1.37.0.2
	isaki-audio2-base:1.37
	pgoyette-compat-merge-20190127:1.22.6.4
	pgoyette-compat-20190127:1.35
	pgoyette-compat-20190118:1.35
	pgoyette-compat-1226:1.35
	pgoyette-compat-1126:1.35
	pgoyette-compat-1020:1.35
	pgoyette-compat-0930:1.33
	pgoyette-compat-0906:1.32
	pgoyette-compat-0728:1.31
	netbsd-8-0-RELEASE:1.14.4.1
	phil-wifi:1.22.0.8
	phil-wifi-base:1.22
	pgoyette-compat-0625:1.22
	netbsd-8-0-RC2:1.14.4.1
	pgoyette-compat-0521:1.22
	pgoyette-compat-0502:1.22
	pgoyette-compat-0422:1.22
	netbsd-8-0-RC1:1.14.4.1
	pgoyette-compat-0415:1.22
	pgoyette-compat-0407:1.22
	pgoyette-compat-0330:1.22
	pgoyette-compat-0322:1.22
	pgoyette-compat-0315:1.22
	pgoyette-compat:1.22.0.6
	pgoyette-compat-base:1.22
	tls-maxphys:1.22.0.4
	tls-maxphys-base-20171202:1.22
	matt-nb8-mediatek:1.14.4.1.0.2
	matt-nb8-mediatek-base:1.14.4.1
	nick-nhusb-base-20170825:1.22
	perseant-stdc-iso10646:1.22.0.2
	perseant-stdc-iso10646-base:1.22
	netbsd-8:1.14.0.4
	netbsd-8-base:1.14
	prg-localcount2-base3:1.14
	prg-localcount2-base2:1.14
	prg-localcount2-base1:1.14
	prg-localcount2:1.14.0.2
	prg-localcount2-base:1.14
	pgoyette-localcount-20170426:1.14
	bouyer-socketcan-base1:1.14
	jdolecek-ncq:1.12.0.2
	jdolecek-ncq-base:1.12
	pgoyette-localcount-20170320:1.12
	nick-nhusb-base-20170204:1.11
	bouyer-socketcan:1.11.0.2
	bouyer-socketcan-base:1.11
	pgoyette-localcount-20170107:1.11
	nick-nhusb-base-20161204:1.11
	pgoyette-localcount-20161104:1.11
	nick-nhusb-base-20161004:1.11
	localcount-20160914:1.11
	pgoyette-localcount-20160806:1.10
	pgoyette-localcount-20160726:1.10
	pgoyette-localcount:1.10.0.2
	pgoyette-localcount-base:1.10
	nick-nhusb-base-20160907:1.10
	nick-nhusb-base-20160529:1.10
	nick-nhusb-base-20160422:1.10
	nick-nhusb-base-20160319:1.10
	nick-nhusb:1.8.0.2
	nick-nhusb-base-20151226:1.6;
locks; strict;
comment	@# @;


1.37
date	2019.03.31.13.10.40;	author jmcneill;	state dead;
branches;
next	1.36;
commitid	EW0HXwmQh4cVewhB;

1.36
date	2019.02.06.11.58.30;	author rin;	state Exp;
branches;
next	1.35;
commitid	5Lq3lTxgmkkMwHaB;

1.35
date	2018.10.19.06.16.14;	author skrll;	state Exp;
branches;
next	1.34;
commitid	GwpSFDO7CQlAbxWA;

1.34
date	2018.10.18.09.01.53;	author skrll;	state Exp;
branches;
next	1.33;
commitid	0r6pPkie0NRL4qWA;

1.33
date	2018.09.11.10.06.53;	author jmcneill;	state Exp;
branches;
next	1.32;
commitid	rFcvqJEmQBVoGFRA;

1.32
date	2018.08.19.07.27.33;	author skrll;	state Exp;
branches;
next	1.31;
commitid	illBqeuuXPRUvHOA;

1.31
date	2018.07.14.15.09.41;	author maxv;	state Exp;
branches;
next	1.30;
commitid	pS1Vmgc7z1Iwf7KA;

1.30
date	2018.07.05.13.11.57;	author jmcneill;	state Exp;
branches;
next	1.29;
commitid	4GlWxu37MPyeTWIA;

1.29
date	2018.07.04.23.08.29;	author jmcneill;	state Exp;
branches;
next	1.28;
commitid	kdXt9kRHyzJ7eSIA;

1.28
date	2018.07.03.16.09.40;	author jmcneill;	state Exp;
branches;
next	1.27;
commitid	qwT9Yarzyb7rWHIA;

1.27
date	2018.07.02.12.53.51;	author jmcneill;	state Exp;
branches;
next	1.26;
commitid	k7uN8admcvp2TyIA;

1.26
date	2018.07.01.23.27.43;	author jmcneill;	state Exp;
branches;
next	1.25;
commitid	zUYFile3FnFHquIA;

1.25
date	2018.06.30.16.48.49;	author jmcneill;	state Exp;
branches;
next	1.24;
commitid	8dF5QXVERLHQfkIA;

1.24
date	2018.06.30.16.30.35;	author jmcneill;	state Exp;
branches;
next	1.23;
commitid	h7VSwO8FlLGy9kIA;

1.23
date	2018.06.30.16.22.56;	author jmcneill;	state Exp;
branches;
next	1.22;
commitid	ruX9AQ5f0zUF6kIA;

1.22
date	2017.06.20.20.20.02;	author skrll;	state Exp;
branches
	1.22.4.1
	1.22.6.1
	1.22.8.1;
next	1.21;
commitid	17YrpMv30MpBt9Wz;

1.21
date	2017.06.20.13.21.45;	author jmcneill;	state Exp;
branches;
next	1.20;
commitid	iHt1kszDN2H6a7Wz;

1.20
date	2017.06.20.10.37.01;	author skrll;	state Exp;
branches;
next	1.19;
commitid	TCm9ypSdts8Af6Wz;

1.19
date	2017.06.19.22.01.18;	author jmcneill;	state Exp;
branches;
next	1.18;
commitid	GbtcCXjBazul42Wz;

1.18
date	2017.06.18.15.57.16;	author jmcneill;	state Exp;
branches;
next	1.17;
commitid	8amElvdmhmhp5SVz;

1.17
date	2017.06.11.16.21.41;	author jmcneill;	state Exp;
branches;
next	1.16;
commitid	LKnEMJPVxAfHrYUz;

1.16
date	2017.06.11.11.04.20;	author jmcneill;	state Exp;
branches;
next	1.15;
commitid	Xg3djwxNQuJIGWUz;

1.15
date	2017.06.10.15.13.19;	author jmcneill;	state Exp;
branches;
next	1.14;
commitid	qMfaKjIxoRnd6QUz;

1.14
date	2017.04.16.15.49.26;	author jmcneill;	state Exp;
branches
	1.14.4.1;
next	1.13;
commitid	xPgkrJXcwUTl4MNz;

1.13
date	2017.04.14.22.55.06;	author jmcneill;	state Exp;
branches;
next	1.12;
commitid	RiZfKuqt0t7ZtyNz;

1.12
date	2017.02.19.07.47.00;	author rin;	state Exp;
branches;
next	1.11;
commitid	ivCr5u3yfBMzbxGz;

1.11
date	2016.08.19.18.08.50;	author maxv;	state Exp;
branches
	1.11.2.1;
next	1.10;
commitid	ovzVlh8LxR9qyWiz;

1.10
date	2016.01.05.21.53.48;	author marty;	state Exp;
branches
	1.10.2.1;
next	1.9;
commitid	NKB7eL5cMG6e4NPy;

1.9
date	2015.12.27.12.26.42;	author jmcneill;	state Exp;
branches;
next	1.8;
commitid	hKyIJEVvrk7qfAOy;

1.8
date	2015.12.27.02.54.13;	author marty;	state Exp;
branches
	1.8.2.1;
next	1.7;
commitid	bVLAZ6su5f4x4xOy;

1.7
date	2015.12.26.23.14.08;	author jmcneill;	state Exp;
branches;
next	1.6;
commitid	giJP5roEaeAwRvOy;

1.6
date	2015.12.21.04.58.50;	author marty;	state Exp;
branches;
next	1.5;
commitid	YCtlyJVDar1yULNy;

1.5
date	2015.12.21.03.34.34;	author marty;	state Exp;
branches;
next	1.4;
commitid	sP2ANTJGwjyouLNy;

1.4
date	2015.12.21.00.52.51;	author marty;	state Exp;
branches;
next	1.3;
commitid	9SpJi2XYml1AAKNy;

1.3
date	2015.12.19.21.42.31;	author marty;	state Exp;
branches;
next	1.2;
commitid	J6B65SdEOekSwBNy;

1.2
date	2015.12.17.22.40.49;	author marty;	state Exp;
branches;
next	1.1;
commitid	3WgdnlSZumeOXlNy;

1.1
date	2015.12.15.04.38.30;	author marty;	state Exp;
branches;
next	;
commitid	Ne9XNMcRg2Oa20Ny;

1.22.4.1
date	2017.06.20.20.20.02;	author jdolecek;	state dead;
branches;
next	1.22.4.2;
commitid	XcIYRZTAh1LmerhA;

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

1.22.6.1
date	2018.07.28.04.37.31;	author pgoyette;	state Exp;
branches;
next	1.22.6.2;
commitid	1UP1xAIUxv1ZgRLA;

1.22.6.2
date	2018.09.06.06.55.30;	author pgoyette;	state Exp;
branches;
next	1.22.6.3;
commitid	HCi1bXD317XIK0RA;

1.22.6.3
date	2018.09.30.01.45.40;	author pgoyette;	state Exp;
branches;
next	1.22.6.4;
commitid	SQ44grEPCeKPh4UA;

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

1.22.8.1
date	2019.06.10.22.06.04;	author christos;	state dead;
branches;
next	;
commitid	jtc8rnCzWiEEHGqB;

1.14.4.1
date	2017.07.18.19.13.09;	author snj;	state Exp;
branches;
next	;
commitid	xwp7839uh5fpcKZz;

1.11.2.1
date	2017.04.21.16.53.25;	author bouyer;	state Exp;
branches;
next	;
commitid	dUG7nkTKALCadqOz;

1.10.2.1
date	2017.03.20.06.57.13;	author pgoyette;	state Exp;
branches;
next	1.10.2.2;
commitid	jjw7cAwgyKq7RfKz;

1.10.2.2
date	2017.04.26.02.53.01;	author pgoyette;	state Exp;
branches;
next	;
commitid	ojV02aOSdzvBqZOz;

1.8.2.1
date	2015.12.27.02.54.13;	author skrll;	state dead;
branches;
next	1.8.2.2;
commitid	BTSqUD4SdJ5k7AOy;

1.8.2.2
date	2015.12.27.12.09.34;	author skrll;	state Exp;
branches;
next	1.8.2.3;
commitid	BTSqUD4SdJ5k7AOy;

1.8.2.3
date	2016.03.19.11.29.58;	author skrll;	state Exp;
branches;
next	1.8.2.4;
commitid	2PHKtPSg1vDV9fZy;

1.8.2.4
date	2016.10.05.20.55.26;	author skrll;	state Exp;
branches;
next	1.8.2.5;
commitid	uuAdz3JYHQmaWZoz;

1.8.2.5
date	2017.08.28.17.51.34;	author skrll;	state Exp;
branches;
next	;
commitid	UQQpnjvcNkUZn05A;


desc
@@


1.37
log
@Remove EXYNOS kernel config.
@
text
@#
#	$NetBSD: EXYNOS,v 1.36 2019/02/06 11:58:30 rin Exp $
#
#	Samsung Exynos SoC kernel
#

include	"arch/evbarm/conf/std.exynos"
include	"arch/evbarm/conf/GENERIC.common"

makeoptions 	DTS="
	exynos4412-odroidu3.dts
	exynos4412-odroidx.dts
	exynos4412-odroidx2.dts
	exynos5410-odroidxu.dts
	exynos5410-smdk5410.dts
	exynos5422-odroidxu3-lite.dts
	exynos5422-odroidxu3.dts
	exynos5422-odroidxu4.dts
"

options 	CPU_CORTEXA7
options 	CPU_CORTEXA15
options 	SOC_EXYNOS4412
options 	SOC_EXYNOS5422
options 	MULTIPROCESSOR

pseudo-device 	openfirm	# /dev/openfirm

#options 	DIAGNOSTIC	# internal consistency checks
#options 	DEBUG
#options 	LOCKDEBUG
#options 	PMAP_DEBUG	# Enable pmap_debug_level code
#options 	VERBOSE_INIT_ARM # verbose bootstrapping messages
# CONSADDR is required for early init messages from VERBOSE_INIT_ARM.

# ODROID-XU lite
#options 	EARLYCONS=exynos, CONSADDR=0x12c20000

makeoptions	DEBUG="-g"	# compile full symbol table
makeoptions	COPY_SYMTAB=1

config		netbsd		root on ? type ?

# Device tree support
armfdt0		at root
simplebus*	at fdt? pass 0

# CPUs
cpus*		at fdt? pass 0
cpu*		at fdt? pass 0

fclock*		at fdt? pass 4
fregulator*	at fdt? pass 4
gpiokeys*	at fdt?

# System Controller
syscon*		at fdt? pass 1		# Generic System Controller

# Timer
mct*		at fdt? pass 2		# Exynos Multi Core Timer (MCT)
armgtmr*	at mct?
gtmr*		at fdt? pass 2
armgtmr*	at gtmr?

# Interrupt controller
exyointr*	at fdt? pass 1
gic*		at fdt? pass 1		# GIC
armgic0		at gic?

# Clock controller
exy5410clk*	at fdt? pass 3		# Exynos5410 clock controller
exy5422clk*	at fdt? pass 3		# Exynos5422 clock controller

# GPIO controller
exyopctl*	at fdt? pass 2		# GPIO
gpio*		at gpiobus?

# PWM timer
expwm*		at fdt? pass 4		# PWM

# Fan
pwmfan*		at fdt?			# PWM Fan controls

# UART
exuart*		at fdt?			# UART

# I2C
exyoi2c*	at fdt?			# I2C
iic*		at exyoi2c?

# RTC
#exyortc*	at fdt?			# RTC

# SDMMC
dwcmmc*		at fdt?			# SDMMC
sdmmc*		at dwcmmc?
ld0		at sdmmc0
ld1		at sdmmc1
ld2		at sdmmc2
ld3		at sdmmc3
ld*		at sdmmc?

# USB
exusbphy*	at fdt? pass 9		# Samsung Exynos USB2 PHY
exusbdrdphy*	at fdt? pass 9		# Samsung Exynos USB3 DRD PHY
ohci*		at fdt?			# OHCI
ehci*		at fdt?			# EHCI
xhci*		at fdt?			# XHCI
usb*		at usbus?

include "dev/usb/usbdevices.config"

midi*		at midibus?

rgephy*		at mii? phy ?
rlphy*		at mii? phy ?
ukphy*		at mii? phy ?

cinclude "arch/evbarm/conf/EXYNOS.local"
@


1.36
log
@Add ure(4) to kernel config files. Also add PHY drivers where necessary.
@
text
@d2 1
a2 1
#	$NetBSD: EXYNOS,v 1.35 2018/10/19 06:16:14 skrll Exp $
@


1.35
log
@Sort dts files
@
text
@d2 1
a2 1
#	$NetBSD: EXYNOS,v 1.34 2018/10/18 09:01:53 skrll Exp $
d112 1
d115 4
@


1.34
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: EXYNOS,v 1.33 2018/09/11 10:06:53 jmcneill Exp $
d11 2
a13 2
	exynos4412-odroidx.dts
	exynos4412-odroidu3.dts
@


1.33
log
@Add Exynos5 SMP support.
@
text
@d2 1
a2 1
#	$NetBSD: EXYNOS,v 1.32 2018/08/19 07:27:33 skrll Exp $
d11 3
d23 1
@


1.32
log
@Some changes to bring back exynos4 support and make exynos5 support more
modern/generic

- Provide a exynos_platform_early_putchar based on CONSADDR and remove
  EXYNOS_CONSOLE_EARLY
- Provide devmaps for exynos4 and exynos5
- Simplify exynos_bootstrap
- Update exynos_start.S to use exynos_platform_early_putchar - this
  needs a fix in a9_subr.S for arm_cpuinit to save lr in a callee save
  register and not use ip.  Maybe this change is safe now, but too much
  testing required to commit it now.
@
text
@d2 1
a2 1
#	$NetBSD: EXYNOS,v 1.31 2018/07/14 15:09:41 maxv Exp $
d57 1
d59 1
a59 1
armgtmr0	at gtmr?
@


1.31
log
@Remove "options IPKDB", and the other associated options, from the config
files.

ipkdb is being retired. Its code is really old, and hasn't kept pace with
today's expectations: IPv6, SMP, modern NICs. The associated code for x86
was already removed because it was too incorrect to stay.

There are plans to rewrite a similar feature from scratch.

ok kamil christos
@
text
@d2 1
a2 1
#	$NetBSD: EXYNOS,v 1.30 2018/07/05 13:11:57 jmcneill Exp $
d30 4
@


1.30
log
@Replace sscom with a much simpler uart driver. The simpler driver is 1/4th
the size and has the added benefit of not freezing when an arrow key is
pressed.
@
text
@d2 1
a2 1
#	$NetBSD: EXYNOS,v 1.29 2018/07/04 23:08:29 jmcneill Exp $
a28 1
#options 	IPKDB		# remote kernel debugging
@


1.29
log
@Add expwm, pwmfan
@
text
@d2 1
a2 1
#	$NetBSD: EXYNOS,v 1.28 2018/07/03 16:09:40 jmcneill Exp $
a30 2
# SSCOMnCONSOLE is required for early init messages from VERBOSE_INIT_ARM.
#options 	SSCOM2CONSOLE
d77 1
a77 1
sscom*		at fdt?			# UART
@


1.28
log
@Enable Exynos USB support
@
text
@d2 1
a2 1
#	$NetBSD: EXYNOS,v 1.27 2018/07/02 12:53:51 jmcneill Exp $
d72 6
@


1.27
log
@Attach mct early. Do not attach gtmr to mct.

XXX gtmr still needed for setstatclock symbol
@
text
@d2 1
a2 1
#	$NetBSD: EXYNOS,v 1.26 2018/07/01 23:27:43 jmcneill Exp $
d51 3
d92 6
a97 6
exyousbphy*	at fdt?
exyousb*	at fdt?
ohci*		at fdt?			# OUSB
ehci*		at fdt?			# EUSB
usb*		at ohci?
usb*		at ehci?
@


1.26
log
@Remove chipid and sysmmu drivers
@
text
@d2 1
a2 1
#	$NetBSD: EXYNOS,v 1.25 2018/06/30 16:48:49 jmcneill Exp $
d52 3
a54 2
mct*		at fdt?			# Exynos Multi Core Timer (MCT)
armgtmr0	at mct?			# ARM Generic Timer
@


1.25
log
@Attach simplebus on pass 0
@
text
@d2 1
a2 1
#	$NetBSD: EXYNOS,v 1.24 2018/06/30 16:30:35 jmcneill Exp $
a67 4
# Exynos SoC support
chipid*		at fdt?
sysmmu*		at fdt?

@


1.24
log
@cpus: use fdt_add_bus
@
text
@d2 1
a2 1
#	$NetBSD: EXYNOS,v 1.23 2018/06/30 16:22:56 jmcneill Exp $
d41 1
a41 1
simplebus*	at fdt?
@


1.23
log
@Allow nodes to attach child devices using the same sorting rules as used
by the simplebus driver.
@
text
@d2 1
a2 1
#	$NetBSD: EXYNOS,v 1.22 2017/06/20 20:20:02 skrll Exp $
d45 1
a45 1
cpu*		at cpus?
@


1.22
log
@Add exynos5410-smdk5410.dts to DTS list
@
text
@d2 1
a2 1
#	$NetBSD: EXYNOS,v 1.21 2017/06/20 13:21:45 jmcneill Exp $
d41 1
a41 1
fdt*		at fdtbus?
@


1.22.8.1
log
@Sync with HEAD
@
text
@d2 1
a2 1
#	$NetBSD: EXYNOS,v 1.22 2017/06/20 20:20:02 skrll Exp $
@


1.22.6.1
log
@Sync with HEAD
@
text
@d2 1
a2 1
#	$NetBSD: EXYNOS,v 1.31 2018/07/14 15:09:41 maxv Exp $
d29 1
d31 2
d41 1
a41 1
simplebus*	at fdt? pass 0
d45 1
a45 1
cpu*		at fdt? pass 0
a50 3
# System Controller
syscon*		at fdt? pass 1		# Generic System Controller

d52 2
a53 3
mct*		at fdt? pass 2		# Exynos Multi Core Timer (MCT)
gtmr*		at fdt? pass 2
armgtmr0	at gtmr?
d68 3
a70 5
# PWM timer
expwm*		at fdt? pass 4		# PWM

# Fan
pwmfan*		at fdt?			# PWM Fan controls
d73 1
a73 1
exuart*		at fdt?			# UART
d92 6
a97 6
exusbphy*	at fdt? pass 9		# Samsung Exynos USB2 PHY
exusbdrdphy*	at fdt? pass 9		# Samsung Exynos USB3 DRD PHY
ohci*		at fdt?			# OHCI
ehci*		at fdt?			# EHCI
xhci*		at fdt?			# XHCI
usb*		at usbus?
@


1.22.6.2
log
@Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
@
text
@d2 1
a2 1
#	$NetBSD: EXYNOS,v 1.32 2018/08/19 07:27:33 skrll Exp $
a29 4
# CONSADDR is required for early init messages from VERBOSE_INIT_ARM.

# ODROID-XU lite
#options 	EARLYCONS=exynos, CONSADDR=0x12c20000
@


1.22.6.3
log
@Ssync with HEAD
@
text
@d2 1
a2 1
#	$NetBSD: EXYNOS,v 1.33 2018/09/11 10:06:53 jmcneill Exp $
a56 1
armgtmr*	at mct?
d58 1
a58 1
armgtmr*	at gtmr?
@


1.22.6.4
log
@Sync with head
@
text
@d2 1
a2 1
#	$NetBSD: EXYNOS,v 1.35 2018/10/19 06:16:14 skrll Exp $
a10 3
	exynos4412-odroidu3.dts
	exynos4412-odroidx.dts
	exynos4412-odroidx2.dts
a19 1
options 	SOC_EXYNOS4412
@


1.22.4.1
log
@file EXYNOS was added on branch tls-maxphys on 2017-12-03 11:36:03 +0000
@
text
@d1 102
@


1.22.4.2
log
@update from HEAD
@
text
@a0 102
#
#	$NetBSD$
#
#	Samsung Exynos SoC kernel
#

include	"arch/evbarm/conf/std.exynos"
include	"arch/evbarm/conf/GENERIC.common"

makeoptions 	DTS="
	exynos5410-odroidxu.dts
	exynos5410-smdk5410.dts
	exynos5422-odroidxu3-lite.dts
	exynos5422-odroidxu3.dts
	exynos5422-odroidxu4.dts
"

options 	CPU_CORTEXA7
options 	CPU_CORTEXA15
options 	SOC_EXYNOS5422
options 	MULTIPROCESSOR

pseudo-device 	openfirm	# /dev/openfirm

#options 	DIAGNOSTIC	# internal consistency checks
#options 	DEBUG
#options 	LOCKDEBUG
#options 	PMAP_DEBUG	# Enable pmap_debug_level code
#options 	IPKDB		# remote kernel debugging
#options 	VERBOSE_INIT_ARM # verbose bootstrapping messages
# SSCOMnCONSOLE is required for early init messages from VERBOSE_INIT_ARM.
#options 	SSCOM2CONSOLE

makeoptions	DEBUG="-g"	# compile full symbol table
makeoptions	COPY_SYMTAB=1

config		netbsd		root on ? type ?

# Device tree support
armfdt0		at root
fdt*		at fdtbus?

# CPUs
cpus*		at fdt? pass 0
cpu*		at cpus?

fclock*		at fdt? pass 4
fregulator*	at fdt? pass 4
gpiokeys*	at fdt?

# Timer
mct*		at fdt?			# Exynos Multi Core Timer (MCT)
armgtmr0	at mct?			# ARM Generic Timer

# Interrupt controller
exyointr*	at fdt? pass 1
gic*		at fdt? pass 1		# GIC
armgic0		at gic?

# Clock controller
exy5410clk*	at fdt? pass 3		# Exynos5410 clock controller
exy5422clk*	at fdt? pass 3		# Exynos5422 clock controller

# GPIO controller
exyopctl*	at fdt? pass 2		# GPIO
gpio*		at gpiobus?

# Exynos SoC support
chipid*		at fdt?
sysmmu*		at fdt?

# UART
sscom*		at fdt?			# UART

# I2C
exyoi2c*	at fdt?			# I2C
iic*		at exyoi2c?

# RTC
#exyortc*	at fdt?			# RTC

# SDMMC
dwcmmc*		at fdt?			# SDMMC
sdmmc*		at dwcmmc?
ld0		at sdmmc0
ld1		at sdmmc1
ld2		at sdmmc2
ld3		at sdmmc3
ld*		at sdmmc?

# USB
exyousbphy*	at fdt?
exyousb*	at fdt?
ohci*		at fdt?			# OUSB
ehci*		at fdt?			# EUSB
usb*		at ohci?
usb*		at ehci?

include "dev/usb/usbdevices.config"
midi*		at midibus?

cinclude "arch/evbarm/conf/EXYNOS.local"
@


1.21
log
@Add Exynos 5410 clock controller driver.
@
text
@d2 1
a2 1
#	$NetBSD: EXYNOS,v 1.20 2017/06/20 10:37:01 skrll Exp $
d12 1
@


1.20
log
@Add exynos5410-odroidxu.dts to DTS list
@
text
@d2 1
a2 1
#	$NetBSD: EXYNOS,v 1.19 2017/06/19 22:01:18 jmcneill Exp $
d60 1
@


1.19
log
@Disable exyortc for now, it doesn't work.
@
text
@d2 1
a2 1
#	$NetBSD: EXYNOS,v 1.18 2017/06/18 15:57:16 jmcneill Exp $
d11 1
@


1.18
log
@Build exynos5422 .dtb files with this kernel.
@
text
@d2 1
a2 1
#	$NetBSD: EXYNOS,v 1.17 2017/06/11 16:21:41 jmcneill Exp $
d77 1
a77 1
exyortc*	at fdt?			# RTC
@


1.17
log
@Simplify MCT; just enable it and then attach an ARMv7 generic timer.
@
text
@d2 1
a2 1
#	$NetBSD: EXYNOS,v 1.16 2017/06/11 11:04:20 jmcneill Exp $
d10 6
@


1.16
log
@- Replace CONSADDR with SSCOM2CONSOLE in example
- Remove gtmr (Exynos5422 uses mct)
- cinclude EXYNOS.local instead of TEGRA.local
@
text
@d2 1
a2 1
#	$NetBSD: EXYNOS,v 1.15 2017/06/10 15:13:19 jmcneill Exp $
d45 1
@


1.15
log
@Get the EXYNOS kernel building again with recent FDT changes. Untested.
@
text
@d2 1
a2 1
#	$NetBSD: TEGRA,v 1.23 2017/06/02 00:09:56 jmcneill Exp $
d23 2
a24 2
# CONSADDR is required for early init messages from VERBOSE_INIT_ARM.
#options 	CONSADDR=0x70006300
a43 2
gtmr*		at fdt? pass 1		# ARM Generic Timer
armgtmr0	at gtmr?
d92 1
a92 1
cinclude "arch/evbarm/conf/TEGRA.local"
@


1.14
log
@typo fix
@
text
@d2 1
a2 1
#	$NetBSD: EXYNOS,v 1.13 2017/04/14 22:55:06 jmcneill Exp $
d4 1
a4 1
#	ODROID-XU -- ODROID-XU4 Exynos5422 based kernel
d8 1
a9 22
no makeoptions	CPUFLAGS
makeoptions	CPUFLAGS="-mcpu=cortex-a7 -mfpu=neon"
no makeoptions	BOARDTYPE
makeoptions	BOARDTYPE="hardkernel_odroid_xu4"
no makeoptions	KERNEL_BASE_PHYS
no makeoptions	KERNEL_BASE_VIRT
makeoptions 	KERNEL_BASE_PHYS="0x80000000"
makeoptions 	KERNEL_BASE_VIRT="0x80000000"
options 	PMAP_NEED_ALLOC_POOLPAGE
options 	MEMSIZE=2048

# estimated number of users

maxusers	8

# Standard system options

options 	RTC_OFFSET=0	# hardware clock is this many mins. west of GMT
#options 	NTP		# NTP phase/frequency locked loop

# CPU options
options 	CPU_CORTEX
d12 2
a13 2
options 	EXYNOS5422
#options 	MULTIPROCESSOR
d15 6
a20 126
options		FDT		# not really but soon
pseudo-device 	openfirm	# jmcneill: oops, fdtbus should depend on
				# openfirm. don't let me forget.


options 	PMAPCOUNTERS
options 	BUSDMA_COUNTERS
options 	EXYNOS_CONSOLE_EARLY
#options 	UVMHIST
options 	USBHIST
options 	USBHIST_SIZE=100000
#options 	UVMHIST_PRINT,KERNHIST_DELAY=0
options 	__HAVE_MM_MD_DIRECT_MAPPED_PHYS
#options 	PMAP_NEED_ALLOC_POOLPAGE

# Specify the memory size in megabytes (optional).
#options 	MEMSIZE=2048

# File systems
file-system	FFS		# UFS
#file-system	LFS		# log-structured file system
file-system	MFS		# memory file system
file-system	NFS		# Network file system
#file-system 	ADOSFS		# AmigaDOS-compatible file system
#file-system 	EXT2FS		# second extended file system (linux)
#file-system	CD9660		# ISO 9660 + Rock Ridge file system
file-system	MSDOSFS		# MS-DOS file system
#file-system	FDESC		# /dev/fd
file-system	KERNFS		# /kern
#file-system	NULLFS		# loopback file system
file-system	PROCFS		# /proc
#file-system	PUFFS		# Userspace file systems (e.g. ntfs-3g & sshfs)
#file-system	UMAPFS		# NULLFS + uid and gid remapping
#file-system	UNION		# union file system
file-system	TMPFS		# memory file system
file-system	PTYFS		# /dev/pts/N support

# File system options
#options 	QUOTA		# legacy UFS quotas
#options 	QUOTA2		# new, in-filesystem UFS quotas
#options 	DISKLABEL_EI	# disklabel Endian Independent support
#options 	FFS_EI		# FFS Endian Independent support
options 	NFSSERVER
options 	WAPBL		# File system journaling support
#options 	FFS_NO_SNAPSHOT	# No FFS snapshot support

# Networking options

#options 	GATEWAY		# packet forwarding
options 	INET		# IP + ICMP + TCP + UDP
options 	INET6		# IPV6
#options 	IPSEC		# IP security
#options 	IPSEC_DEBUG	# debug for IP security
#options 	MROUTING	# IP multicast routing
#options 	PIM		# Protocol Independent Multicast
#options 	NETATALK	# AppleTalk networking
#options 	PPP_BSDCOMP	# BSD-Compress compression support for PPP
#options 	PPP_DEFLATE	# Deflate compression support for PPP
#options 	PPP_FILTER	# Active filter support for PPP (requires bpf)
#options 	TCP_DEBUG	# Record last TCP_NDEBUG packets with SO_DEBUG

#options 	NFS_BOOT_BOOTP
#options 	NFS_BOOT_DHCP
#options		NFS_BOOT_BOOTSTATIC
#options		NFS_BOOTSTATIC_MYIP="\"192.168.0.22\""
#options		NFS_BOOTSTATIC_GWIP="\"192.168.0.1\""
#options		NFS_BOOTSTATIC_MASK="\"255.255.255.0\""
#options		NFS_BOOTSTATIC_SERVADDR="\"192.168.0.5\""
#options		NFS_BOOTSTATIC_SERVER="\"192.168.0.5:/stuff/nfs/odroid\""

#options		NFS_BOOT_RWSIZE=1024

# Compatibility options

options		COMPAT_NETBSD32	# allow running arm (e.g. non-earm) binaries
#options 	COMPAT_43	# 4.3BSD compatibility.
#options 	COMPAT_09	# NetBSD 0.9,
#options 	COMPAT_10	# NetBSD 1.0,
#options 	COMPAT_11	# NetBSD 1.1,
#options 	COMPAT_12	# NetBSD 1.2,
#options 	COMPAT_13	# NetBSD 1.3,
#options 	COMPAT_14	# NetBSD 1.4,
#options 	COMPAT_15	# NetBSD 1.5,
#options 	COMPAT_16	# NetBSD 1.6,
#options 	COMPAT_20	# NetBSD 2.0,
#options 	COMPAT_30	# NetBSD 3.0,
#options 	COMPAT_40	# NetBSD 4.0,
#options 	COMPAT_50	# NetBSD 5.0,
options 	COMPAT_60	# NetBSD 6.0, and
options 	COMPAT_70	# NetBSD 7.0 binary compatibility.
#options 	TCP_COMPAT_42	# 4.2BSD TCP/IP bug compat. Not recommended.
#options		COMPAT_BSDPTY	# /dev/[pt]ty?? ptys.

# Shared memory options

options 	SYSVMSG		# System V-like message queues
options 	SYSVSEM		# System V-like semaphores
options 	SYSVSHM		# System V-like memory sharing

# Device options

#options 	MEMORY_DISK_HOOKS	# boottime setup of ramdisk
#options 	MEMORY_DISK_ROOT_SIZE=8192	# Size in blocks
#options 	MEMORY_DISK_DYNAMIC
#options 	MINIROOTSIZE=1000	# Size in blocks
#options 	MEMORY_DISK_IS_ROOT	# use memory disk as root

# Wedge support
options 	DKWEDGE_AUTODISCOVER	# Automatically add dk(4) instances
options 	DKWEDGE_METHOD_GPT	# Supports GPT partitions as wedges

# Miscellaneous kernel options
options 	KTRACE		# system call tracing, a la ktrace(1)
#options 	SCSIVERBOSE	# Verbose SCSI errors
#options 	MIIVERBOSE	# Verbose MII autoconfuration messages
options 	DDB_KEYCODE=0x40
#options 	USERCONF	# userconf(4) support
#options	PIPE_SOCKETPAIR	# smaller, but slower pipe(2)

# Development and Debugging options

#options 	PERFCTRS	# performance counters
options 	DIAGNOSTIC	# internal consistency checks
options 	DEBUG
options		LOCKDEBUG
options 	PMAP_DEBUG	# Enable pmap_debug_level code
d22 4
a25 6
options 	VERBOSE_INIT_ARM # verbose bootstraping messages
options 	DDB		# in-kernel debugger
options		DDB_ONPANIC=1
options 	DDB_HISTORY_SIZE=100	# Enable history editing in DDB
options DDB_VERBOSE_HELP
#options 	KGDB
a28 18
## USB Debugging options
options USB_DEBUG
options EHCI_DEBUG
options OHCI_DEBUG
options UHUB_DEBUG
options	USBVERBOSE


# 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="\"\""
options		BOOT_ARGS="\"verbose\""

d31 2
a32 14
# The main bus device
mainbus0	at root

# The boot cpu and secondary CPUs
cpu0		at mainbus?
cpu*		at mainbus?			# Multiprocessor

# core devices
armperiph0	at mainbus?
armgic0		at armperiph?			# Interrupt Controller
armgtmr0	at armperiph?			# Generic Timer

# On-board I/O
exynosfdt0	at mainbus?
d35 17
a51 5
fregulator*	at fdt?

#interrupt controller
exyointr0	at fdt?
gic*		at fdt?
d54 1
a54 1
exy5422clk*	at fdt?				# Exynos5422 clock controller
d56 3
a58 5
# Integrated Samsung UARTs
sscom*		at fdt?				# UART ?

# Exynos Watchdog Timer
exyowdt* 	at fdt?				# watchdog
d60 1
a60 1
# Exynos chip id
d62 1
d64 2
a65 5
# Exynos system MMUs
sysmmu*	 	at fdt?

# Exynos RTC
exyortc* 	at fdt?
d67 3
a69 2
# Exynos Multi Core timer (MCT)
mct*	       at fdt?
d71 2
a72 19
# GPIO
exyopctl*	at fdt?
gpio*		at gpiobus?

# On-board USB 2.0
exyousbphy*	at fdt?
ohci*		at fdt?
ehci*		at fdt?
usb*		at ohci?
usb*		at ehci?

# On-board USB 3.0
exyousb*       at fdt?
#xhci*	       at fdt?
#usb*	       at xhci?

# I2C devices
exyoi2c*	at fdt?
#i2c*		at exyoi2c?
d74 2
a75 2
# SD/MMC
dwcmmc*		at fdt?
d80 1
d83 7
a89 10
# MISSING SUPPORT
# eMMC
# uSD
# SPI
# ADC
# PMIC (via I2C #4)
# PWM for Cooling fan
# HDMI
# I2S
# GPU
a90 4
# serial console connectivity
options		SSCOM2CONSOLE, CONSPEED=115200

# include all USB devices
a91 1

d94 1
a94 20
# Pseudo-Devices

# disk/mass storage pseudo-devices
#pseudo-device	md			# memory disk device (ramdisk)
#pseudo-device	vnd			# disk-like interface to files
#pseudo-device	fss			# file system snapshot device
#pseudo-device	putter			# for puffs and pud
pseudo-device	drvctl			# driver control

# network pseudo-devices
pseudo-device	bpfilter		# Berkeley packet filter
pseudo-device	loop			# network loopback
#pseudo-device	kttcp			# network loopback

# miscellaneous pseudo-devices
pseudo-device	pty			# pseudo-terminals
#options	RND_COM
#pseudo-device	clockctl		# user control of clock subsystem
pseudo-device	ksyms			# /dev/ksyms
#pseudo-device	lockstat		# lock profiling
@


1.14.4.1
log
@Pull up following revision(s) (requested by jmcneill in ticket #114):
	sys/arch/arm/samsung/exynos_intr.h: revision 1.3
	sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.1
	sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.2
	sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.3
	sys/arch/arm/sunxi/sunxi_gates.c: revision 1.1
	distrib/utils/embedded/mkimage: revision 1.66
	sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.4
	sys/arch/arm/sunxi/sunxi_rsb.c: revision 1.1
	sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.5
	sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.6
	sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.7
	sys/dev/gpio/gpio.c: revision 1.59
	sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.1
	sys/conf/Makefile.kern.inc: revision 1.257
	sys/arch/evbarm/conf/ODROID-XU_INSTALL: file removal
	sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.2
	sys/conf/Makefile.kern.inc: revision 1.258
	sys/arch/arm/fdt/psci_fdt.h: revision 1.1
	sys/arch/arm/sunxi/sunxi_resets.c: revision 1.1
	sys/arch/evbarm/conf/files.sunxi: revision 1.1
	sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.8
	sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.9
	sys/arch/arm/samsung/files.exynos: revision 1.22
	distrib/utils/embedded/conf/armv7.conf: revision 1.13
	sys/arch/arm/samsung/files.exynos: revision 1.23
	sys/arch/evbarm/conf/std.tegra: revision 1.15
	distrib/utils/embedded/conf/armv7.conf: revision 1.14
	sys/arch/arm/samsung/files.exynos: revision 1.24
	distrib/utils/embedded/conf/armv7.conf: revision 1.15
	sys/arch/evbarm/sunxi/genassym.cf: revision 1.1
	sys/arch/arm/samsung/exynos_fdt.c: file removal
	sys/dev/fdt/fdt_pinctrl.c: revision 1.4
	sys/arch/arm/samsung/exynos_sysmmu.c: revision 1.2
	sys/arch/arm/sunxi/sun8i_h3_gpio.c: revision 1.1
	sys/arch/arm/sunxi/sunxi_twi.c: revision 1.1
	sys/dev/usb/ehci.c: revision 1.255
	sys/arch/arm/sunxi/sunxi_twi.c: revision 1.2
	sys/arch/arm/sunxi/sun8i_a83t_ccu.h: revision 1.1
	sys/dev/ic/dwc_mmc.c: revision 1.11
	sys/arch/arm/cortex/gic.c: revision 1.24
	distrib/evbarm/instkernel/ramdisk/Makefile: revision 1.17
	etc/etc.evbarm/Makefile.inc: revision 1.87
	etc/etc.evbarm/Makefile.inc: revision 1.88
	sys/arch/arm/fdt/gic_fdt.c: revision 1.5
	etc/Makefile: revision 1.429
	sys/arch/arm/fdt/gic_fdt.c: revision 1.6
	sys/arch/arm/fdt/gic_fdt.c: revision 1.7
	sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.1
	sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.2
	sys/arch/evbarm/conf/std.sunxi: revision 1.1
	sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.3
	sys/arch/evbarm/conf/std.sunxi: revision 1.2
	sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.4
	sys/arch/evbarm/conf/std.sunxi: revision 1.3
	sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.5
	sys/arch/arm/sunxi/sunxi_ccu_div.c: revision 1.1
	sys/dev/gpio/gpiovar.h: revision 1.17
	sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.6
	sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.7
	sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.8
	sys/arch/arm/sunxi/sunxi_rsb.h: revision 1.1
	sys/arch/arm/samsung/exynos_i2c.c: revision 1.12
	sys/dev/fdt/fdtvar.h: revision 1.21
	sys/arch/evbarm/sunxi/sunxi_start.S: revision 1.1
	sys/arch/arm/samsung/exynos_i2c.c: revision 1.13
	sys/dev/fdt/fdtvar.h: revision 1.22
	sys/arch/evbarm/conf/SUNXI: revision 1.10
	sys/dev/fdt/fdtvar.h: revision 1.23
	sys/arch/evbarm/conf/SUNXI: revision 1.11
	sys/dev/fdt/gpioleds.c: revision 1.1
	sys/dev/fdt/fdtvar.h: revision 1.24
	sys/arch/evbarm/conf/SUNXI: revision 1.12
	sys/arch/evbarm/conf/SUNXI: revision 1.13
	sys/arch/arm/cortex/gic.c: revision 1.30
	sys/arch/evbarm/conf/SUNXI: revision 1.14
	sys/arch/evbarm/conf/SUNXI: revision 1.15
	sys/arch/evbarm/conf/SUNXI: revision 1.16
	sys/arch/arm/sunxi/sunxi_emac.c: revision 1.1
	etc/Makefile: revision 1.430
	sys/arch/arm/sunxi/sunxi_emac.c: revision 1.2
	etc/Makefile: revision 1.431
	sys/arch/evbarm/conf/VEXPRESS_A15: revision 1.17
	sys/arch/arm/sunxi/sunxi_emac.c: revision 1.3
	sys/arch/arm/sunxi/sunxi_emac.c: revision 1.4
	sys/arch/arm/samsung/exynos5422_clock.c: revision 1.6
	sys/arch/arm/samsung/exynos_platform.c: revision 1.1
	sys/dev/ofw/ofw_subr.c: revision 1.29
	sys/arch/arm/samsung/exynos_platform.c: revision 1.2
	sys/arch/evbarm/conf/mk.vexpress: revision 1.3
	sys/arch/arm/samsung/exynos_platform.c: revision 1.3
	sys/arch/evbarm/conf/mk.vexpress: revision 1.4
	sys/arch/arm/samsung/exynos_platform.c: revision 1.4
	sys/arch/arm/arm/psci.h: revision 1.1
	sys/arch/arm/samsung/exynos_platform.c: revision 1.5
	sys/arch/arm/samsung/exynos_platform.c: revision 1.6
	sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.10
	external/bsd/mdocml/bin/mandoc/Makefile: revision 1.12
	sys/dev/fdt/files.fdt: revision 1.17
	sys/dev/fdt/files.fdt: revision 1.18
	sys/dev/fdt/files.fdt: revision 1.19
	sys/arch/arm/samsung/exynos_sscom.c: revision 1.8
	sys/arch/arm/sunxi/sun8i_a83t_ccu.c: revision 1.1
	sys/arch/arm/sunxi/sunxi_mmc.c: revision 1.1
	sys/arch/arm/samsung/exynos_sscom.c: revision 1.9
	sys/arch/arm/conf/files.arm: revision 1.133
	sys/arch/arm/samsung/mct_var.h: revision 1.5
	sys/arch/arm/sunxi/sunxi_platform.c: revision 1.1
	sys/arch/arm/sunxi/sunxi_platform.c: revision 1.2
	sys/arch/evbarm/conf/std.vexpress: revision 1.6
	sys/arch/arm/sunxi/sunxi_platform.c: revision 1.3
	sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.1
	sys/arch/arm/sunxi/sunxi_platform.c: revision 1.4
	sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.2
	sys/arch/arm/sunxi/files.sunxi: revision 1.1
	sys/dev/ofw/ofw_subr.c: revision 1.30
	sys/arch/arm/sunxi/files.sunxi: revision 1.2
	sys/dev/ofw/openfirm.h: revision 1.35
	sys/arch/arm/sunxi/files.sunxi: revision 1.3
	sys/dev/ofw/openfirm.h: revision 1.36
	sys/arch/arm/sunxi/files.sunxi: revision 1.4
	sys/arch/arm/sunxi/files.sunxi: revision 1.5
	sys/arch/evbarm/exynos/exynos_machdep.c: file removal
	sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.1
	sys/arch/arm/samsung/sscom.c: revision 1.9
	sys/arch/arm/sunxi/files.sunxi: revision 1.6
	sys/dev/fdt/ohci_fdt.c: revision 1.1
	sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.1
	sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.2
	sys/arch/arm/sunxi/files.sunxi: revision 1.7
	sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.2
	sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.3
	sys/arch/arm/sunxi/files.sunxi: revision 1.8
	sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.3
	sys/arch/arm/sunxi/files.sunxi: revision 1.9
	sys/arch/arm/samsung/exynos_sscom.c: revision 1.10
	sys/arch/evbarm/conf/mk.tegra: revision 1.5
	sys/arch/arm/samsung/exynos_dwcmmc.c: revision 1.4
	sys/arch/evbarm/conf/mk.tegra: revision 1.6
	sys/arch/evbarm/conf/EXYNOS: revision 1.15
	sys/arch/evbarm/conf/EXYNOS: revision 1.16
	sys/arch/evbarm/conf/EXYNOS: revision 1.17
	sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.1
	sys/arch/evbarm/conf/EXYNOS: revision 1.19
	sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.2
	sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.3
	sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.4
	sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.5
	sys/arch/arm/sunxi/sunxi_emac.h: revision 1.1
	sys/arch/evbarm/conf/mk.sunxi: revision 1.1
	sys/arch/evbarm/include/bootconfig.h: revision 1.7
	sys/arch/evbarm/conf/TEGRA: revision 1.24
	sys/arch/arm/arm/psci.c: revision 1.1
	sys/dev/led.c: revision 1.1
	sys/dev/led.c: revision 1.2
	sys/arch/arm/arm/psci_arm.S: revision 1.1
	sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.1
	sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.2
	sys/dev/fdt/ehci_fdt.c: revision 1.1
	sys/dev/fdt/ehci_fdt.c: revision 1.2
	sys/arch/arm/sunxi/sun6i_a31_ccu.h: revision 1.1
	sys/arch/evbarm/conf/EXYNOS: revision 1.21
	sys/arch/arm/sunxi/files.sunxi: revision 1.10
	sys/arch/arm/sunxi/files.sunxi: revision 1.11
	sys/dev/fdt/fdtbus.c: revision 1.14
	sys/arch/arm/sunxi/sunxi_mmc.h: revision 1.1
	sys/arch/arm/samsung/exynos5422_dma.c: file removal
	usr.bin/config/mkmakefile.c: revision 1.69
	sys/conf/files: revision 1.1178
	sys/arch/arm/sunxi/sunxi_platform.h: revision 1.1
	sys/arch/evbarm/exynos/exynos_start.S: revision 1.4
	sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.11
	sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.12
	sys/arch/arm/sunxi/sunxi_rtc.c: revision 1.1
	sys/arch/arm/sunxi/sun8i_h3_ccu.h: revision 1.1
	sys/arch/arm/samsung/exynos5410_clock.c: revision 1.1
	sys/arch/arm/samsung/exynos5410_clock.c: revision 1.2
	sys/arch/evbarm/conf/SUNXI: revision 1.1
	external/bsd/elftosb/usr.sbin/elftosb/Makefile: revision 1.5
	sys/arch/evbarm/conf/SUNXI: revision 1.2
	sys/arch/arm/fdt/psci_fdt.c: revision 1.1
	sys/arch/evbarm/conf/SUNXI: revision 1.3
	sys/arch/evbarm/conf/SUNXI: revision 1.4
	sys/arch/evbarm/conf/files.exynos: revision 1.3
	sys/arch/evbarm/conf/SUNXI: revision 1.5
	sys/arch/evbarm/conf/SUNXI: revision 1.6
	sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.1
	sys/dev/fdt/fixedfactorclock.c: revision 1.1
	sys/dev/fdt/fdt_subr.c: revision 1.14
	sys/arch/evbarm/conf/SUNXI: revision 1.7
	sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.2
	sys/arch/arm/sunxi/sun8i_a83t_gpio.c: revision 1.1
	sys/dev/fdt/fdt_subr.c: revision 1.15
	sys/arch/evbarm/conf/SUNXI: revision 1.8
	sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.3
	sys/dev/ic/dwc_mmc_reg.h: revision 1.6
	sys/dev/fdt/fdt_subr.c: revision 1.16
	sys/arch/evbarm/conf/SUNXI: revision 1.9
	usr.bin/config/mkmakefile.c: revision 1.70
	sys/dev/fdt/fdt_phy.c: revision 1.1
	sys/arch/evbarm/conf/ODROID-XU: file removal
	sys/arch/arm/fdt/arm_fdt.c: revision 1.4
	sys/arch/arm/samsung/exynos_reg.h: revision 1.14
	sys/conf/files: revision 1.1180
	sys/arch/arm/samsung/exynos_reg.h: revision 1.15
	sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.1
	sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.2
	sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.3
	sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.4
	sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.5
	sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.6
	sys/dev/ic/dwc_mmc_var.h: revision 1.6
	sys/arch/arm/samsung/exynos_combiner.c: revision 1.7
	sys/arch/evbarm/exynos/platform.h: revision 1.2
	sys/arch/arm/fdt/files.fdt: revision 1.12
	sys/arch/evbarm/conf/std.exynos: revision 1.2
	sys/arch/evbarm/conf/std.exynos: revision 1.3
	sys/arch/arm/rockchip/rockchip_dwcmmc.c: revision 1.6
	sys/arch/arm/sunxi/sunxi_com.c: revision 1.1
	sys/dev/led.h: revision 1.1
	sys/arch/evbarm/conf/std.exynos: revision 1.5
	sys/arch/arm/sunxi/sunxi_com.c: revision 1.2
	sys/arch/evbarm/conf/files.evbarm: revision 1.26
	usr.bin/config/defs.h: revision 1.99
	sys/arch/arm/fdt/arm_fdtvar.h: revision 1.6
	sys/arch/arm/samsung/exynos_soc.c: revision 1.32
	sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.1
	sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.2
	sys/arch/arm/samsung/mct.c: revision 1.11
	sys/arch/evbarm/conf/ODROID-U: file removal
	sys/arch/arm/samsung/mct.c: revision 1.12
	sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.1
	sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.2
	sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.3
	sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.4
Get the EXYNOS kernel building again with recent FDT changes. Untested.
Use arm_fdt_cpu_hatch and add mmu entry for DTB
Fix exynos5 devmap, bootstrap, and implement early_putchar.
Calculate UART frequency based on bootloader config.
Fix KERNEL_BASE_PHYS (how did this ever work?)
Avoid divide-by-zero for unconfigured PLLs
Correctly initialize i2cbus attach args.
Add delay and enable mct timecounter.
Fix build w/o VERBOSE_INIT_ARM
Remove ODROID-U and ODROID-XU kernel configs as they no longer work.
- Replace CONSADDR with SSCOM2CONSOLE in example
- Remove gtmr (Exynos5422 uses mct)
- cinclude EXYNOS.local instead of TEGRA.local
Use fdtbus_intr_establish to hook in block interrupts instead of
intr_establish.
Simplify MCT; just enable it and then attach an ARMv7 generic timer.
Add support for building DTB files during kernel build, from christos.
build vexpress-v2p-ca15-tc1.dtb with the kernel
build tegra124-apalis-eval.dtb, tegra124-jetson-tk1.dtb, tegra124-nyan-big.dtb, tegra124-nyan-blaze.dtb, and tegra124-venice2.dtb with the kernel
Allow multiline makeoptions to work by quoting the newline..
Bump for quoting makeoptions with multiple lines.
un-c99
bump required config version for multiline makeoptions feature
Set DTS makeoption in kernel config
Assign DTB files to a variable so we can make -V DTB
put the dtb files with their kernels.
no need for debug printing.
Don't assume that CPU index = GIC CPU interface number. We can determine
the current CPU interface number by reading from the read-only
GICD_ITARGETSR0 through GICD_ITARGETSR7 registers.
This gets interrupts working on Exynos 5422, where the boot processor has
GIC CPU interface #4.
use -v to get the expanded variable.
Use -v to get the expanded variables.
Get baud rate from sclk_uartN instead of uartN. Print IRQ number at attach.
Fix PLL con0 register locations and add uart clocks
Disable exyortc for now, it doesn't work.
More or less a rewrite of dwc_mmc, based on awin_mmc, adding DMA support.
Update for new dwc_mmc driver
Fix dmesg
Add Exynos 5410 clock controller driver.
Fix a few typos in clock parent names for mmc clocks.
From jmcneill@@
Update for new dwc_mmc driver
Implement platform reset for exynos5
Attach fdtbus to a /clocks node with no compatible string.
Add support for ARM Power State Coordination Interface (PSCI).
Support interrupt sharing.
Add initial support for Allwinner H3 SoC.
ARM Trusted Firmware reserves SGIs 8-15 for secure use. Even without ATF,
U-Boot on some platforms may use SGIs in this range for the PSCI
implementation.
Change ARMGIC_IPI_BASE to 0 from (16 - NIPI) and add a compile-time assert
to ensure that we don't end up with a conflict.
Add H3 MMC support
SD/MMC clock fixes
Add FDT PHY interface.
Add glue for generic ehci/ohci bindings.
Rename a variable, NFC.
Support parents in different clock domains.
Add USB stuff. Doesn't quite work yet.
Synopsys DesignWare APB UART needs "options COM_AWIN" for now.
Add i2c glue.
Add RTC driver.
PHY registers start at index 1. Now USB works.
Don't allow sharing edge and level triggered interrupts.
Add arm_fdt_memory_dump helper for dumping physical addresses from ddb
Print clocks with aprint_debug
Remove unused defines
Add fdtbus_get_string helper
Add of_search_compatible, which searches an array of compat_data structures
for a matching "compatible" entry matching the supplied OFW node. This
allows us to associate data with compatible strings.
Add driver for Allwinner Gigabit Ethernet (EMAC) as found in sun8i and
later family SoCs.
This is a port of my FreeBSD driver which has been confirmed to work on
Allwinner H3, A83T, and A64 SoCs.
Fix dmesg
Add basic support for Allwinner A31.
Add basic FDT GPIO support.
Fix the pinctrl api to match the spec. A pinctrl config can have more
than one xref, and an xref may have specifier data associated with it.
Enable sunxi pinctrl support
Adjust to new pinctrl API
Add P2WI/RSB driver, based on awin_p2wi.c.
Fix typo in a compat string.
Configure pin defaults at attach
No need to explicitly set pinctrl config 0 now
Fix some register definitions.
Disallow sharing between MPSAFE and non-MPSAFE handlers.
Add of_match_compat_data.
This routine searches an array of compat_data structures for a
matching "compatible" entry matching the supplied OFW node.
Add options __HAVE_CPU_UAREA_ALLOC_IDLELWP
Add support for reserved memory and MEMORY_DISK_DYNAMIC for FDT-based
kernels.
the extent code cannot use the full range of u_long,
so ignore the last page before 4GB too.  ok jmcneill@@
Copy install ramdisk to releasedir. Provide both a raw ffs and
Legacy U-Boot version of it.
Replace HUMMINGBIRD_A31 with SUNXI kernel on armv7.img and include .dtb
files for SUNXI and TEGRA kernels on the MSDOS partition.
Let the controller provide a default name for pins. This makes pins easier
to locate when we have multiple banks and a variable number of pins per
bank.
Attach gpio(4) to sunxigpio
Test for kernel build directory before reading DTB list
Add support for Allwinner A83T SoC.
Add A83T files
Fixup busdma sync and locking in the RX path. Disable batch RX/TX ints.
Fix AHB2 register definition and explicitly set AHB2 parent to PLL_PERIPH0/2 -- this gives us 50% more bus bandwidth for emac
Restore TX_INTERVAL_DEFAULT to 64
Drop the sunxi_emac_rx_batch feature. It was originally designed to
reduce the amount of mutex unlock/lock cycles during the RX path on
FreeBSD and if_input, but it is not required to drop the lock before
calling if_percpuq_enqueue on NetBSD.
Write back the data value instead of mask in sunxi_gpio_write
Add a helper for exposing LED controls via sysctl.
Add GPIO LED driver.
add gpioleds
Add misc. gates and resets driver, and explicitly enable PIO clocks
at attach.
Add fdtbus_get_string_index helper.
Add driver for fixed-factor clocks.
Add ffclock
Remove the requirement for ehci to attach after companion devices.
"go for it" - skrll@@
Remove the hack to find companion devices and just assume 1 companion if
ETTF flag is not set.
Remove pass numbers for ehci/ohci now that the attach order no longer matters
Use unsigned char for ctype functions, suggested by christos
Add : to body of populate_sunxi to appease bash.
port-evbarm/52388: Fix number of args to a debug printf.
@
text
@d2 1
a2 1
#	$NetBSD: EXYNOS,v 1.14 2017/04/16 15:49:26 jmcneill Exp $
d4 1
a4 1
#	Samsung Exynos SoC kernel
a7 1
include	"arch/evbarm/conf/GENERIC.common"
d9 22
d33 2
a34 2
options 	SOC_EXYNOS5422
options 	MULTIPROCESSOR
d36 126
a161 6
pseudo-device 	openfirm	# /dev/openfirm

#options 	DIAGNOSTIC	# internal consistency checks
#options 	DEBUG
#options 	LOCKDEBUG
#options 	PMAP_DEBUG	# Enable pmap_debug_level code
d163 6
a168 4
#options 	VERBOSE_INIT_ARM # verbose bootstrapping messages
# SSCOMnCONSOLE is required for early init messages from VERBOSE_INIT_ARM.
#options 	SSCOM2CONSOLE

d172 18
d192 14
a205 2
# Device tree support
armfdt0		at root
d208 5
a212 16
# CPUs
cpus*		at fdt? pass 0
cpu*		at cpus?

fclock*		at fdt? pass 4
fregulator*	at fdt? pass 4
gpiokeys*	at fdt?

# Timer
mct*		at fdt?			# Exynos Multi Core Timer (MCT)
armgtmr0	at mct?			# ARM Generic Timer

# Interrupt controller
exyointr*	at fdt? pass 1
gic*		at fdt? pass 1		# GIC
armgic0		at gic?
d215 1
a215 2
exy5410clk*	at fdt? pass 3		# Exynos5410 clock controller
exy5422clk*	at fdt? pass 3		# Exynos5422 clock controller
d217 5
a221 3
# GPIO controller
exyopctl*	at fdt? pass 2		# GPIO
gpio*		at gpiobus?
d223 1
a223 1
# Exynos SoC support
a224 1
sysmmu*		at fdt?
d226 5
a230 2
# UART
sscom*		at fdt?			# UART
d232 2
a233 3
# I2C
exyoi2c*	at fdt?			# I2C
iic*		at exyoi2c?
d235 19
a253 2
# RTC
#exyortc*	at fdt?			# RTC
d255 2
a256 2
# SDMMC
dwcmmc*		at fdt?			# SDMMC
a260 1
ld3		at sdmmc3
d263 13
a275 7
# USB
exyousbphy*	at fdt?
exyousb*	at fdt?
ohci*		at fdt?			# OUSB
ehci*		at fdt?			# EUSB
usb*		at ohci?
usb*		at ehci?
d277 1
d279 1
d282 20
a301 1
cinclude "arch/evbarm/conf/EXYNOS.local"
@


1.13
log
@Remove simplebus driver and allow fdtbus to attach directly to itself.
@
text
@d2 1
a2 1
#	$NetBSD: EXYNOS,v 1.12 2017/02/19 07:47:00 rin Exp $
d206 1
a206 1
fdt?		at fdtbus?
@


1.12
log
@PR kern/51208
Add DISKLABEL_EI option (and also FFS_EI if missing), commented out except for
ALL on amd64 and i386.
@
text
@d2 1
a2 1
#	$NetBSD: EXYNOS,v 1.11 2016/08/19 18:08:50 maxv Exp $
d206 1
a206 3
fdt0		at exynosfdt0 
simplebus*	at fdt?
fdt*		at simplebus?
@


1.11
log
@Remove the last references to KMEMSTATS.
@
text
@d2 1
a2 1
#	$NetBSD: EXYNOS,v 1.10 2016/01/05 21:53:48 marty Exp $
d76 1
@


1.11.2.1
log
@Sync with HEAD
@
text
@d2 1
a2 1
#	$NetBSD: EXYNOS,v 1.14 2017/04/16 15:49:26 jmcneill Exp $
a75 1
#options 	DISKLABEL_EI	# disklabel Endian Independent support
d205 3
a207 1
fdt*		at fdtbus?
@


1.10
log
@FDT: Interrupts -- add support for interrupt maps

The mct on exynos uses an interrupt map so we add support now.  Devices
represent their interrupts either through a combination of interrupt-parent
and interrupts properties, where the 'interrupts' property is an array of
one or more interrupt specifiers; or through a combination of an
interrupt-parent that points to an interrupt-map, where the interrupt-map
contains 2 or more entries consisting of an index, a pointer to an
interrupt-controller, and a specifier for that controller.

This code adds the ability to walk the interrupt-map and return a specifier.
Unfortunately, the addition requires changing the interface to the
interrupt-controllers' _establish and _intstr functions, so this check in
contains a rototill of the three existing fdt interrupt controllers to use
the new interface.
@
text
@d2 1
a2 1
#	$NetBSD: EXYNOS,v 1.9 2015/12/27 12:26:42 jmcneill Exp $
a147 1
#options 	KMEMSTATS	# kernel memory statistics
@


1.10.2.1
log
@Sync with HEAD
@
text
@d2 1
a2 1
#	$NetBSD: EXYNOS,v 1.12 2017/02/19 07:47:00 rin Exp $
a75 1
#options 	DISKLABEL_EI	# disklabel Endian Independent support
@


1.10.2.2
log
@Sync with HEAD
@
text
@d2 1
a2 1
#	$NetBSD: EXYNOS,v 1.14 2017/04/16 15:49:26 jmcneill Exp $
d207 3
a209 1
fdt*		at fdtbus?
@


1.9
log
@wildcard attachments to fdtbus
@
text
@d2 1
a2 1
#	$NetBSD: EXYNOS,v 1.8 2015/12/27 02:54:13 marty Exp $
d228 3
@


1.8
log
@XU4 USB snapshot: Reorganize source files

This is just a skeleton,  not a set of drivers, but the pieces are now
more or less in the right places.
@
text
@d2 1
a2 1
#	$NetBSD: EXYNOS,v 1.7 2015/12/26 23:14:08 jmcneill Exp $
a220 1
#sscom2		at fdt?				# console
d223 1
a223 1
exyowdt0 	at fdt?				# watchdog
d226 1
a226 1
chipid0		at fdt?
d229 1
a229 1
exyortc0 	at fdt?
d232 1
a232 1
mct0	       at fdt?
d235 1
a235 5
exyopctl0	at fdt?
exyopctl1	at fdt?
exyopctl2	at fdt?
exyopctl3	at fdt?
exyopctl4	at fdt?
d251 1
a251 4
exyoi2c0	at fdt?
exyoi2c1	at fdt?
exyoi2c2	at fdt?
exyoi2c3	at fdt?
@


1.8.2.1
log
@file EXYNOS was added on branch nick-nhusb on 2015-12-27 12:09:34 +0000
@
text
@d1 308
@


1.8.2.2
log
@Sync with HEAD (as of 26th Dec)
@
text
@a0 295
#
#	$NetBSD: EXYNOS,v 1.6 2015/12/21 04:58:50 marty Exp $
#
#	ODROID-XU -- ODROID-XU4 Exynos5422 based kernel
#

include	"arch/evbarm/conf/std.exynos"

no makeoptions	CPUFLAGS
makeoptions	CPUFLAGS="-mcpu=cortex-a7 -mfpu=neon"
no makeoptions	BOARDTYPE
makeoptions	BOARDTYPE="hardkernel_odroid_xu4"
no makeoptions	KERNEL_BASE_PHYS
no makeoptions	KERNEL_BASE_VIRT
makeoptions 	KERNEL_BASE_PHYS="0x80000000"
makeoptions 	KERNEL_BASE_VIRT="0x80000000"
options 	PMAP_NEED_ALLOC_POOLPAGE
options 	MEMSIZE=2048

# estimated number of users

maxusers	8

# Standard system options

options 	RTC_OFFSET=0	# hardware clock is this many mins. west of GMT
#options 	NTP		# NTP phase/frequency locked loop

# CPU options
options 	CPU_CORTEX
options 	CPU_CORTEXA7
options 	CPU_CORTEXA15
options 	EXYNOS5422
#options 	MULTIPROCESSOR

options		FDT		# not really but soon
pseudo-device 	openfirm	# jmcneill: oops, fdtbus should depend on
				# openfirm. don't let me forget.


options 	PMAPCOUNTERS
options 	BUSDMA_COUNTERS
options 	EXYNOS_CONSOLE_EARLY
#options 	UVMHIST
options 	USBHIST
options 	USBHIST_SIZE=100000
#options 	UVMHIST_PRINT,KERNHIST_DELAY=0
options 	__HAVE_MM_MD_DIRECT_MAPPED_PHYS
#options 	PMAP_NEED_ALLOC_POOLPAGE

# Specify the memory size in megabytes (optional).
#options 	MEMSIZE=2048

# File systems
file-system	FFS		# UFS
#file-system	LFS		# log-structured file system
file-system	MFS		# memory file system
file-system	NFS		# Network file system
#file-system 	ADOSFS		# AmigaDOS-compatible file system
#file-system 	EXT2FS		# second extended file system (linux)
#file-system	CD9660		# ISO 9660 + Rock Ridge file system
file-system	MSDOSFS		# MS-DOS file system
#file-system	FDESC		# /dev/fd
file-system	KERNFS		# /kern
#file-system	NULLFS		# loopback file system
file-system	PROCFS		# /proc
#file-system	PUFFS		# Userspace file systems (e.g. ntfs-3g & sshfs)
#file-system	UMAPFS		# NULLFS + uid and gid remapping
#file-system	UNION		# union file system
file-system	TMPFS		# memory file system
file-system	PTYFS		# /dev/pts/N support

# File system options
#options 	QUOTA		# legacy UFS quotas
#options 	QUOTA2		# new, in-filesystem UFS quotas
#options 	FFS_EI		# FFS Endian Independent support
options 	NFSSERVER
options 	WAPBL		# File system journaling support
#options 	FFS_NO_SNAPSHOT	# No FFS snapshot support

# Networking options

#options 	GATEWAY		# packet forwarding
options 	INET		# IP + ICMP + TCP + UDP
options 	INET6		# IPV6
#options 	IPSEC		# IP security
#options 	IPSEC_DEBUG	# debug for IP security
#options 	MROUTING	# IP multicast routing
#options 	PIM		# Protocol Independent Multicast
#options 	NETATALK	# AppleTalk networking
#options 	PPP_BSDCOMP	# BSD-Compress compression support for PPP
#options 	PPP_DEFLATE	# Deflate compression support for PPP
#options 	PPP_FILTER	# Active filter support for PPP (requires bpf)
#options 	TCP_DEBUG	# Record last TCP_NDEBUG packets with SO_DEBUG

#options 	NFS_BOOT_BOOTP
#options 	NFS_BOOT_DHCP
#options		NFS_BOOT_BOOTSTATIC
#options		NFS_BOOTSTATIC_MYIP="\"192.168.0.22\""
#options		NFS_BOOTSTATIC_GWIP="\"192.168.0.1\""
#options		NFS_BOOTSTATIC_MASK="\"255.255.255.0\""
#options		NFS_BOOTSTATIC_SERVADDR="\"192.168.0.5\""
#options		NFS_BOOTSTATIC_SERVER="\"192.168.0.5:/stuff/nfs/odroid\""

#options		NFS_BOOT_RWSIZE=1024

# Compatibility options

options		COMPAT_NETBSD32	# allow running arm (e.g. non-earm) binaries
#options 	COMPAT_43	# 4.3BSD compatibility.
#options 	COMPAT_09	# NetBSD 0.9,
#options 	COMPAT_10	# NetBSD 1.0,
#options 	COMPAT_11	# NetBSD 1.1,
#options 	COMPAT_12	# NetBSD 1.2,
#options 	COMPAT_13	# NetBSD 1.3,
#options 	COMPAT_14	# NetBSD 1.4,
#options 	COMPAT_15	# NetBSD 1.5,
#options 	COMPAT_16	# NetBSD 1.6,
#options 	COMPAT_20	# NetBSD 2.0,
#options 	COMPAT_30	# NetBSD 3.0,
#options 	COMPAT_40	# NetBSD 4.0,
#options 	COMPAT_50	# NetBSD 5.0,
options 	COMPAT_60	# NetBSD 6.0, and
options 	COMPAT_70	# NetBSD 7.0 binary compatibility.
#options 	TCP_COMPAT_42	# 4.2BSD TCP/IP bug compat. Not recommended.
#options		COMPAT_BSDPTY	# /dev/[pt]ty?? ptys.

# Shared memory options

options 	SYSVMSG		# System V-like message queues
options 	SYSVSEM		# System V-like semaphores
options 	SYSVSHM		# System V-like memory sharing

# Device options

#options 	MEMORY_DISK_HOOKS	# boottime setup of ramdisk
#options 	MEMORY_DISK_ROOT_SIZE=8192	# Size in blocks
#options 	MEMORY_DISK_DYNAMIC
#options 	MINIROOTSIZE=1000	# Size in blocks
#options 	MEMORY_DISK_IS_ROOT	# use memory disk as root

# Wedge support
options 	DKWEDGE_AUTODISCOVER	# Automatically add dk(4) instances
options 	DKWEDGE_METHOD_GPT	# Supports GPT partitions as wedges

# Miscellaneous kernel options
options 	KTRACE		# system call tracing, a la ktrace(1)
#options 	KMEMSTATS	# kernel memory statistics
#options 	SCSIVERBOSE	# Verbose SCSI errors
#options 	MIIVERBOSE	# Verbose MII autoconfuration messages
options 	DDB_KEYCODE=0x40
#options 	USERCONF	# userconf(4) support
#options	PIPE_SOCKETPAIR	# smaller, but slower pipe(2)

# Development and Debugging options

#options 	PERFCTRS	# performance counters
options 	DIAGNOSTIC	# internal consistency checks
options 	DEBUG
options		LOCKDEBUG
options 	PMAP_DEBUG	# Enable pmap_debug_level code
#options 	IPKDB		# remote kernel debugging
options 	VERBOSE_INIT_ARM # verbose bootstraping messages
options 	DDB		# in-kernel debugger
options		DDB_ONPANIC=1
options 	DDB_HISTORY_SIZE=100	# Enable history editing in DDB
options DDB_VERBOSE_HELP
#options 	KGDB
makeoptions	DEBUG="-g"	# compile full symbol table
makeoptions	COPY_SYMTAB=1

## USB Debugging options
options USB_DEBUG
options EHCI_DEBUG
options OHCI_DEBUG
options UHUB_DEBUG
options	USBVERBOSE


# 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="\"\""
options		BOOT_ARGS="\"verbose\""

config		netbsd		root on ? type ?

# The main bus device
mainbus0	at root

# The boot cpu and secondary CPUs
cpu0		at mainbus?
cpu*		at mainbus?			# Multiprocessor

# core devices
armperiph0	at mainbus?
armgic0		at armperiph?			# Interrupt Controller
armgtmr0	at armperiph?			# Generic Timer

# On-board I/O
exynosfdt0	at mainbus?
fdt0		at exynosfdt0 
simplebus*	at fdt?
fdt*		at simplebus?

fregulator*	at fdt?

#interrupt controller
exyointr0	at fdt?
gic*		at fdt?

# Clock controller
exy5422clk0	at fdt?				# Exynos5422 clock controller

# Integrated Samsung UARTs
sscom*		at fdt?				# UART ?
#sscom2		at fdt?				# console

# Exynos Watchdog Timer
exyowdt0 	at fdt?				# watchdog

# Exynos chip id
chipid0		at fdt?

# Exynos RTC
exyortc0 	at fdt?

# Exynos Multi Core timer (MCT)
mct0	       at fdt?

# GPIO
exyopctl0	at fdt?
exyopctl1	at fdt?
exyopctl2	at fdt?
exyopctl3	at fdt?
exyopctl4	at fdt?
#gpio*		at exyogpio?

# On-board USB
exyousb*	at fdt?
ohci*		at exyousb?
ehci*		at exyousb?
usb*		at ohci?
usb*		at ehci?

# I2C devices
exyoi2c0	at fdt?
exyoi2c1	at fdt?
exyoi2c2	at fdt?
exyoi2c3	at fdt?
#i2c*		at exyoi2c?

# MISSING SUPPORT
# eMMC
# uSD
# SPI
# ADC
# PMIC (via I2C #4)
# PWM for Cooling fan
# HDMI
# I2S
# GPU

# serial console connectivity
options		SSCOM2CONSOLE, CONSPEED=115200

# include all USB devices
include "dev/usb/usbdevices.config"

midi*		at midibus?

# Pseudo-Devices

# disk/mass storage pseudo-devices
#pseudo-device	md			# memory disk device (ramdisk)
#pseudo-device	vnd			# disk-like interface to files
#pseudo-device	fss			# file system snapshot device
#pseudo-device	putter			# for puffs and pud
pseudo-device	drvctl			# driver control

# network pseudo-devices
pseudo-device	bpfilter		# Berkeley packet filter
pseudo-device	loop			# network loopback
#pseudo-device	kttcp			# network loopback

# miscellaneous pseudo-devices
pseudo-device	pty			# pseudo-terminals
#options	RND_COM
#pseudo-device	clockctl		# user control of clock subsystem
pseudo-device	ksyms			# /dev/ksyms
#pseudo-device	lockstat		# lock profiling
@


1.8.2.3
log
@Sync with HEAD
@
text
@d2 1
a2 1
#	$NetBSD: EXYNOS,v 1.8.2.2 2015/12/27 12:09:34 skrll Exp $
d217 1
a217 1
exy5422clk*	at fdt?				# Exynos5422 clock controller
d221 1
d224 1
a224 1
exyowdt* 	at fdt?				# watchdog
d227 1
a227 4
chipid*		at fdt?

# Exynos system MMUs
sysmmu*	 	at fdt?
d230 1
a230 1
exyortc* 	at fdt?
d233 1
a233 1
mct*	       at fdt?
d236 11
a246 7
exyopctl*	at fdt?
gpio*		at gpiobus?

# On-board USB 2.0
exyousbphy*	at fdt?
ohci*		at fdt?
ehci*		at fdt?
a249 5
# On-board USB 3.0
exyousb*       at fdt?
#xhci*	       at fdt?
#usb*	       at xhci?

d251 4
a254 1
exyoi2c*	at fdt?
a256 8
# SD/MMC
dwcmmc*		at fdt?
sdmmc*		at dwcmmc?
ld0		at sdmmc0
ld1		at sdmmc1
ld2		at sdmmc2
ld*		at sdmmc?

@


1.8.2.4
log
@Sync with HEAD
@
text
@d2 1
a2 1
#	$NetBSD: EXYNOS,v 1.8.2.3 2016/03/19 11:29:58 skrll Exp $
d148 1
d206 1
a206 1
fdt0		at exynosfdt0
@


1.8.2.5
log
@Sync with HEAD
@
text
@d2 1
a2 1
#	$NetBSD: EXYNOS,v 1.8.2.4 2016/10/05 20:55:26 skrll Exp $
d4 1
a4 1
#	Samsung Exynos SoC kernel
a7 1
include	"arch/evbarm/conf/GENERIC.common"
d9 14
a22 7
makeoptions 	DTS="
	exynos5410-odroidxu.dts
	exynos5410-smdk5410.dts
	exynos5422-odroidxu3-lite.dts
	exynos5422-odroidxu3.dts
	exynos5422-odroidxu4.dts
"
d24 7
d33 2
a34 4
options 	SOC_EXYNOS5422
options 	MULTIPROCESSOR

pseudo-device 	openfirm	# /dev/openfirm
d36 125
a160 4
#options 	DIAGNOSTIC	# internal consistency checks
#options 	DEBUG
#options 	LOCKDEBUG
#options 	PMAP_DEBUG	# Enable pmap_debug_level code
d162 6
a167 4
#options 	VERBOSE_INIT_ARM # verbose bootstrapping messages
# SSCOMnCONSOLE is required for early init messages from VERBOSE_INIT_ARM.
#options 	SSCOM2CONSOLE

d171 18
d191 23
a213 20
# Device tree support
armfdt0		at root
fdt*		at fdtbus?

# CPUs
cpus*		at fdt? pass 0
cpu*		at cpus?

fclock*		at fdt? pass 4
fregulator*	at fdt? pass 4
gpiokeys*	at fdt?

# Timer
mct*		at fdt?			# Exynos Multi Core Timer (MCT)
armgtmr0	at mct?			# ARM Generic Timer

# Interrupt controller
exyointr*	at fdt? pass 1
gic*		at fdt? pass 1		# GIC
armgic0		at gic?
d216 1
a216 2
exy5410clk*	at fdt? pass 3		# Exynos5410 clock controller
exy5422clk*	at fdt? pass 3		# Exynos5422 clock controller
d218 5
a222 3
# GPIO controller
exyopctl*	at fdt? pass 2		# GPIO
gpio*		at gpiobus?
d224 1
a224 1
# Exynos SoC support
a225 1
sysmmu*		at fdt?
d227 2
a228 2
# UART
sscom*		at fdt?			# UART
d230 2
a231 3
# I2C
exyoi2c*	at fdt?			# I2C
iic*		at exyoi2c?
d233 2
a234 2
# RTC
#exyortc*	at fdt?			# RTC
d236 22
a257 2
# SDMMC
dwcmmc*		at fdt?			# SDMMC
a261 1
ld3		at sdmmc3
d264 13
a276 7
# USB
exyousbphy*	at fdt?
exyousb*	at fdt?
ohci*		at fdt?			# OUSB
ehci*		at fdt?			# EUSB
usb*		at ohci?
usb*		at ehci?
d278 1
d280 1
d283 20
a302 1
cinclude "arch/evbarm/conf/EXYNOS.local"
@


1.7
log
@add dwcmmc
@
text
@d2 1
a2 1
#	$NetBSD: EXYNOS,v 1.6 2015/12/21 04:58:50 marty Exp $
d241 1
a241 1
#gpio*		at exyogpio?
d243 4
a246 4
# On-board USB
exyousb*	at fdt?
ohci*		at exyousb?
ehci*		at exyousb?
d250 5
@


1.6
log
@XU4 FDT final checkpoint

step N of N: get rid of baggage by removing whole files.  What's left is in
approximately the same shape as when the FDT update started, that is mostly
broken. What's missing is most of the 76 devices recognized in the dtd. In
other words, This is barely the start of a port.

Next up, gpio then i2c, followed either by straightening out usb or getting
the sdhc driver to work -- both probably require getting the interrupt
combiner to work first. A large chunk of work is left to do on the clocks.
I barely got them attaching to fdt and didn't do anything to take advantage
of the information in the dtd.

None of the other existing drivers, such as they are, properly request gpios,
i2c or clocks, and, of course power domains are off the table.
@
text
@d2 1
a2 1
#	$NetBSD: EXYNOS,v 1.5 2015/12/21 03:34:34 marty Exp $
d217 1
a217 1
exy5422clk0	at fdt?				# Exynos5422 clock controller
d257 8
@


1.5
log
@XU4 FDT Last drivers converted

There is a minimum conversion on the clock driver.

The USB driver needs reordering and is broken, but it was broken before.

Next up: tactical nuclear weapons
@
text
@d2 1
a2 1
#	$NetBSD: EXYNOS,v 1.4 2015/12/21 00:52:51 marty Exp $
a215 3
# Exynos SoC
exyo0		at mainbus?

@


1.4
log
@XU4 FDT checkpoint

It is rather amazing that XU4 gets as far as it does, given how much of this
code simply doesn't work.  Focusing now on getting everything converted to
FDT. Next up USB and clocks.  After that nuke everything that's not needed
and start the port in earnest.
@
text
@d2 1
a2 1
#	$NetBSD: EXYNOS,v 1.3 2015/12/19 21:42:31 marty Exp $
d220 1
a220 1
exy5422clk0	at exyo0			# Exynos5422 clock controller
d247 1
a247 1
exyousb*	at exyo0
@


1.3
log
@XU4 GPIO FDT broken snapshot

This is broken. exynos_gpio_bank_config and the call to it are wrong, and
the acquire function doesn't work.

But I'm in over my head and I need to discuss this:

There is a problem with the dtd: it doesn't have addresses for the individual
gpios.  Do I add the addresses to it, or go back to the old version where I
have them hard coded in the driver.

There is a problem with creating the gpio device entries:  I suspect I really
need to treat the pinctrl devices as busses and create the gpios as attached
to those busses, but I'm not familiar with how to do that in NetBSD. At the
minimum, a pointer to a similar situation would give me code to follow.
This is different than the usual bus attachment in that the gpios aren't
devices in the dtd (they don't have "compatible" properties) so they don't
get an attach routine called.  An alternative to generating the bus
attachments might be to add "compatible" properties to the GPIO entries
in the dtd. so that they do get attached in the normal way.

If I'm going to modify the DTD, then it should be checked in, so a decision
on where to check them in would be nice, even if it does mean spreading them
all over because of license issues.  (This DTD is GPL v2)
@
text
@d2 1
a2 1
#	$NetBSD: EXYNOS,v 1.2 2015/12/17 22:40:49 marty Exp $
d213 1
d229 9
d254 5
a258 2
exyoiic0	at exyo0
iic*		at exyoiic?
@


1.2
log
@XU4 FDT sscon

This is a mess and I don't understand why part of it works, but it passes
the basic test.

There has to be some better way to get the info that I'm grabbing from the
exynos_uarts[] array.

I'm not sure how to deal with VA != PA when the DTB contains physical rather
than virtual addresses. This is going to be an issue for all of the drivers.
@
text
@d2 1
a2 1
#	$NetBSD: EXYNOS,v 1.1 2015/12/15 04:38:30 marty Exp $
d212 3
d229 6
a234 2
exyogpio0	at exyo0
gpio*		at exyogpio?
@


1.1
log
@EXYNOS - change ODROID-XU4 to EXYNOS

EXYNOS will be a generic fdt kernel, so signify that with the name change,
as requested by Nick.
@
text
@d2 1
a2 1
#	$NetBSD: ODROID-XU4,v 1.5 2015/12/14 22:06:57 marty Exp $
d219 2
a220 2
#sscom*		at exyo0  port ?		# UART ?
sscom2		at exyo0  port 2		# UART2
@

