head	1.45;
access;
symbols
	netbsd-11-0-RC3:1.43
	netbsd-11-0-RC2:1.43
	netbsd-11-0-RC1:1.43
	perseant-exfatfs-base-20250801:1.43
	netbsd-11:1.43.0.12
	netbsd-11-base:1.43
	netbsd-10-1-RELEASE:1.43
	perseant-exfatfs-base-20240630:1.43
	perseant-exfatfs:1.43.0.10
	perseant-exfatfs-base:1.43
	netbsd-8-3-RELEASE:1.26
	netbsd-9-4-RELEASE:1.34
	netbsd-10-0-RELEASE:1.43
	netbsd-10-0-RC6:1.43
	netbsd-10-0-RC5:1.43
	netbsd-10-0-RC4:1.43
	netbsd-10-0-RC3:1.43
	netbsd-10-0-RC2:1.43
	thorpej-ifq:1.43.0.8
	thorpej-ifq-base:1.43
	thorpej-altq-separation:1.43.0.6
	thorpej-altq-separation-base:1.43
	netbsd-10-0-RC1:1.43
	netbsd-10:1.43.0.4
	netbsd-10-base:1.43
	bouyer-sunxi-drm:1.43.0.2
	bouyer-sunxi-drm-base:1.43
	netbsd-9-3-RELEASE:1.34
	thorpej-i2c-spi-conf2:1.42.0.2
	thorpej-i2c-spi-conf2-base:1.42
	thorpej-futex2:1.40.0.12
	thorpej-futex2-base:1.40
	thorpej-cfargs2:1.40.0.10
	thorpej-cfargs2-base:1.40
	cjep_sun2x-base1:1.40
	cjep_sun2x:1.40.0.8
	cjep_sun2x-base:1.40
	cjep_staticlib_x-base1:1.40
	netbsd-9-2-RELEASE:1.34
	cjep_staticlib_x:1.40.0.6
	cjep_staticlib_x-base:1.40
	thorpej-i2c-spi-conf:1.40.0.4
	thorpej-i2c-spi-conf-base:1.40
	thorpej-cfargs:1.40.0.2
	thorpej-cfargs-base:1.40
	thorpej-futex:1.39.0.4
	thorpej-futex-base:1.40
	netbsd-9-1-RELEASE:1.34
	bouyer-xenpvh-base2:1.39
	phil-wifi-20200421:1.39
	bouyer-xenpvh-base1:1.39
	phil-wifi-20200411:1.39
	bouyer-xenpvh:1.39.0.2
	bouyer-xenpvh-base:1.39
	is-mlppp:1.38.0.4
	is-mlppp-base:1.38
	phil-wifi-20200406:1.39
	netbsd-8-2-RELEASE:1.26
	ad-namecache-base3:1.38
	netbsd-9-0-RELEASE:1.34
	netbsd-9-0-RC2:1.34
	ad-namecache-base2:1.38
	ad-namecache-base1:1.38
	ad-namecache:1.38.0.2
	ad-namecache-base:1.38
	netbsd-9-0-RC1:1.34
	phil-wifi-20191119:1.35
	netbsd-9:1.34.0.2
	netbsd-9-base:1.34
	phil-wifi-20190609:1.33
	netbsd-8-1-RELEASE:1.26
	netbsd-8-1-RC1:1.26
	isaki-audio2:1.32.0.2
	isaki-audio2-base:1.32
	pgoyette-compat-merge-20190127:1.29.2.3
	pgoyette-compat-20190127:1.32
	pgoyette-compat-20190118:1.32
	pgoyette-compat-1226:1.32
	pgoyette-compat-1126:1.32
	pgoyette-compat-1020:1.32
	pgoyette-compat-0930:1.31
	pgoyette-compat-0906:1.31
	netbsd-7-2-RELEASE:1.21.2.4
	pgoyette-compat-0728:1.31
	netbsd-8-0-RELEASE:1.26
	phil-wifi:1.31.0.2
	phil-wifi-base:1.31
	pgoyette-compat-0625:1.31
	netbsd-8-0-RC2:1.26
	pgoyette-compat-0521:1.31
	pgoyette-compat-0502:1.31
	pgoyette-compat-0422:1.31
	netbsd-8-0-RC1:1.26
	pgoyette-compat-0415:1.31
	pgoyette-compat-0407:1.31
	pgoyette-compat-0330:1.30
	pgoyette-compat-0322:1.30
	pgoyette-compat-0315:1.29
	netbsd-7-1-2-RELEASE:1.21.2.4
	pgoyette-compat:1.29.0.2
	pgoyette-compat-base:1.29
	netbsd-7-1-1-RELEASE:1.21.2.4
	tls-maxphys-base-20171202:1.28
	matt-nb8-mediatek:1.26.0.14
	matt-nb8-mediatek-base:1.26
	nick-nhusb-base-20170825:1.28
	perseant-stdc-iso10646:1.26.0.12
	perseant-stdc-iso10646-base:1.26
	netbsd-8:1.26.0.10
	netbsd-8-base:1.26
	prg-localcount2-base3:1.26
	prg-localcount2-base2:1.26
	prg-localcount2-base1:1.26
	prg-localcount2:1.26.0.8
	prg-localcount2-base:1.26
	pgoyette-localcount-20170426:1.26
	bouyer-socketcan-base1:1.26
	jdolecek-ncq:1.26.0.6
	jdolecek-ncq-base:1.26
	pgoyette-localcount-20170320:1.26
	netbsd-7-1:1.21.2.4.0.6
	netbsd-7-1-RELEASE:1.21.2.4
	netbsd-7-1-RC2:1.21.2.4
	nick-nhusb-base-20170204:1.26
	netbsd-7-nhusb-base-20170116:1.21.2.4
	bouyer-socketcan:1.26.0.4
	bouyer-socketcan-base:1.26
	pgoyette-localcount-20170107:1.26
	netbsd-7-1-RC1:1.21.2.4
	nick-nhusb-base-20161204:1.26
	pgoyette-localcount-20161104:1.26
	netbsd-7-0-2-RELEASE:1.21.2.4
	nick-nhusb-base-20161004:1.26
	localcount-20160914:1.26
	netbsd-7-nhusb:1.21.2.4.0.4
	netbsd-7-nhusb-base:1.21.2.4
	pgoyette-localcount-20160806:1.26
	pgoyette-localcount-20160726:1.26
	pgoyette-localcount:1.26.0.2
	pgoyette-localcount-base:1.26
	nick-nhusb-base-20160907:1.26
	nick-nhusb-base-20160529:1.26
	netbsd-7-0-1-RELEASE:1.21.2.4
	nick-nhusb-base-20160422:1.26
	nick-nhusb-base-20160319:1.26
	nick-nhusb-base-20151226:1.26
	netbsd-7-0:1.21.2.4.0.2
	netbsd-7-0-RELEASE:1.21.2.4
	nick-nhusb-base-20150921:1.25
	netbsd-7-0-RC3:1.21.2.4
	netbsd-7-0-RC2:1.21.2.4
	netbsd-7-0-RC1:1.21.2.4
	nick-nhusb-base-20150606:1.25
	nick-nhusb-base-20150406:1.25
	nick-nhusb:1.23.0.2
	nick-nhusb-base:1.23
	netbsd-6-0-6-RELEASE:1.1.2.2
	netbsd-6-1-5-RELEASE:1.1.2.4
	netbsd-7:1.21.0.2
	netbsd-7-base:1.21
	yamt-pagecache-base9:1.21
	yamt-pagecache-tag8:1.5.4.3
	netbsd-6-1-4-RELEASE:1.1.2.4
	netbsd-6-0-5-RELEASE:1.1.2.2
	tls-earlyentropy:1.20.0.2
	tls-earlyentropy-base:1.21
	riastradh-xf86-video-intel-2-7-1-pre-2-21-15:1.20
	riastradh-drm2-base3:1.20
	netbsd-6-1-3-RELEASE:1.1.2.4
	netbsd-6-0-4-RELEASE:1.1.2.2
	netbsd-6-1-2-RELEASE:1.1.2.4
	netbsd-6-0-3-RELEASE:1.1.2.2
	rmind-smpnet-nbase:1.21
	netbsd-6-1-1-RELEASE:1.1.2.4
	riastradh-drm2-base2:1.16
	riastradh-drm2-base1:1.16
	riastradh-drm2:1.16.0.6
	riastradh-drm2-base:1.16
	rmind-smpnet:1.16.0.4
	rmind-smpnet-base:1.21
	netbsd-6-1:1.1.2.4.0.2
	netbsd-6-0-2-RELEASE:1.1.2.2
	netbsd-6-1-RELEASE:1.1.2.4
	khorben-n900:1.16.0.2
	netbsd-6-1-RC4:1.1.2.4
	netbsd-6-1-RC3:1.1.2.4
	agc-symver:1.14.0.4
	agc-symver-base:1.14
	netbsd-6-1-RC2:1.1.2.4
	netbsd-6-1-RC1:1.1.2.4
	yamt-pagecache-base8:1.13
	netbsd-6-0-1-RELEASE:1.1.2.2
	yamt-pagecache-base7:1.5
	matt-nb6-plus-nbase:1.1.2.2
	yamt-pagecache:1.5.0.4
	yamt-pagecache-base6:1.5
	netbsd-6-0:1.1.2.2.0.4
	netbsd-6-0-RELEASE:1.1.2.2
	netbsd-6-0-RC2:1.1.2.2
	tls-maxphys:1.5.0.2
	tls-maxphys-base:1.21
	matt-nb6-plus:1.1.2.2.0.2
	matt-nb6-plus-base:1.1.2.2
	netbsd-6-0-RC1:1.1.2.2
	netbsd-6:1.1.0.2;
locks; strict;
comment	@# @;


1.45
date	2025.09.10.13.06.22;	author thorpej;	state Exp;
branches;
next	1.44;
commitid	6cbpZZzoY5MYvaaG;

1.44
date	2025.09.06.15.44.02;	author thorpej;	state Exp;
branches;
next	1.43;
commitid	9V4ybx31NXy5wF9G;

1.43
date	2022.04.22.12.41.06;	author skrll;	state Exp;
branches;
next	1.42;
commitid	NVbmBSUg4hGI8cBD;

1.42
date	2021.08.08.18.43.21;	author jmcneill;	state Exp;
branches;
next	1.41;
commitid	Jn9b7OaZlva8pc4D;

1.41
date	2021.08.08.10.32.26;	author jmcneill;	state Exp;
branches;
next	1.40;
commitid	ocvuEXNF6bHKG94D;

1.40
date	2021.03.10.11.03.48;	author mlelstv;	state Exp;
branches;
next	1.39;
commitid	CfHQWNokvyhgHKKC;

1.39
date	2020.03.31.12.23.17;	author jmcneill;	state Exp;
branches
	1.39.4.1;
next	1.38;
commitid	bKxxKy8bHq07dy2C;

1.38
date	2019.12.31.00.59.26;	author jmcneill;	state Exp;
branches;
next	1.37;
commitid	iHbe8Vm6dtT2mNQB;

1.37
date	2019.12.30.18.53.34;	author jmcneill;	state Exp;
branches;
next	1.36;
commitid	WoVWRDxBn0eqkLQB;

1.36
date	2019.12.30.18.43.38;	author jmcneill;	state Exp;
branches;
next	1.35;
commitid	af1KAzDQpWo0hLQB;

1.35
date	2019.09.04.05.10.38;	author mlelstv;	state Exp;
branches;
next	1.34;
commitid	QdzmNvLC9NRmxEBB;

1.34
date	2019.06.22.07.58.55;	author skrll;	state Exp;
branches;
next	1.33;
commitid	FZxd3w1Co1iqQ9sB;

1.33
date	2019.05.08.13.40.14;	author isaki;	state Exp;
branches;
next	1.32;
commitid	LEGDdtzAItkeapmB;

1.32
date	2018.10.18.09.01.52;	author skrll;	state Exp;
branches
	1.32.2.1;
next	1.31;
commitid	0r6pPkie0NRL4qWA;

1.31
date	2018.04.01.04.35.03;	author ryo;	state Exp;
branches
	1.31.2.1;
next	1.30;
commitid	Rbo0y8tEIcKr5HwA;

1.30
date	2018.03.17.18.34.09;	author ryo;	state Exp;
branches;
next	1.29;
commitid	b7lKxCAbcAnedQuA;

1.29
date	2017.12.10.21.38.26;	author skrll;	state Exp;
branches
	1.29.2.1;
next	1.28;
commitid	swFz856cExziloiA;

1.28
date	2017.07.30.23.48.32;	author jmcneill;	state Exp;
branches;
next	1.27;
commitid	o1X2YEp973Ynlj1A;

1.27
date	2017.07.30.16.54.36;	author jmcneill;	state Exp;
branches;
next	1.26;
commitid	BYAlzklRg7lO2h1A;

1.26
date	2015.11.21.07.41.29;	author mlelstv;	state Exp;
branches;
next	1.25;
commitid	t4dpx1Im7qv7PVJy;

1.25
date	2015.03.13.22.48.41;	author jmcneill;	state Exp;
branches;
next	1.24;
commitid	hqM9CLv7NyfOXudy;

1.24
date	2015.02.28.09.34.34;	author skrll;	state Exp;
branches;
next	1.23;
commitid	p4Y4t2UGzj3OZKby;

1.23
date	2014.09.13.08.08.24;	author skrll;	state Exp;
branches
	1.23.2.1;
next	1.22;
commitid	n7juPAlBcQHeV9Qx;

1.22
date	2014.09.07.14.16.44;	author jmcneill;	state Exp;
branches;
next	1.21;
commitid	0Ds7u24Ww8YM9qPx;

1.21
date	2014.04.22.18.51.35;	author kardel;	state Exp;
branches
	1.21.2.1;
next	1.20;
commitid	LRNDko73Kol27Ixx;

1.20
date	2013.11.01.12.23.12;	author skrll;	state Exp;
branches
	1.20.2.1;
next	1.19;
commitid	3msDjV2Zf9HYtzbx;

1.19
date	2013.10.15.09.07.48;	author skrll;	state Exp;
branches;
next	1.18;
commitid	jAf3zqKTTLYyWm9x;

1.18
date	2013.10.15.07.23.20;	author skrll;	state Exp;
branches;
next	1.17;
commitid	ZUOhyuZ2vvDBnm9x;

1.17
date	2013.09.21.13.22.48;	author skrll;	state Exp;
branches;
next	1.16;
commitid	VYMfd0wfHsMK8j6x;

1.16
date	2013.03.24.19.55.19;	author jmcneill;	state Exp;
branches
	1.16.4.1;
next	1.15;

1.15
date	2013.03.24.19.54.22;	author jmcneill;	state Exp;
branches;
next	1.14;

1.14
date	2013.01.25.00.04.06;	author jmcneill;	state Exp;
branches;
next	1.13;

1.13
date	2013.01.10.02.23.26;	author jmcneill;	state Exp;
branches;
next	1.12;

1.12
date	2013.01.09.22.23.44;	author skrll;	state Exp;
branches;
next	1.11;

1.11
date	2013.01.08.23.52.48;	author jmcneill;	state Exp;
branches;
next	1.10;

1.10
date	2013.01.08.16.24.23;	author skrll;	state Exp;
branches;
next	1.9;

1.9
date	2013.01.07.20.15.32;	author jmcneill;	state Exp;
branches;
next	1.8;

1.8
date	2013.01.05.20.31.23;	author jakllsch;	state Exp;
branches;
next	1.7;

1.7
date	2013.01.05.20.15.17;	author jakllsch;	state Exp;
branches;
next	1.6;

1.6
date	2013.01.05.19.55.18;	author jakllsch;	state Exp;
branches;
next	1.5;

1.5
date	2012.08.22.13.21.31;	author jakllsch;	state Exp;
branches
	1.5.2.1
	1.5.4.1;
next	1.4;

1.4
date	2012.08.22.13.19.47;	author jakllsch;	state Exp;
branches;
next	1.3;

1.3
date	2012.08.22.02.16.59;	author jakllsch;	state Exp;
branches;
next	1.2;

1.2
date	2012.08.20.07.45.24;	author skrll;	state Exp;
branches;
next	1.1;

1.1
date	2012.07.26.06.21.57;	author skrll;	state Exp;
branches
	1.1.2.1;
next	;

1.39.4.1
date	2021.04.03.22.28.16;	author thorpej;	state Exp;
branches;
next	;
commitid	1gqS07EfPjskJTNC;

1.32.2.1
date	2019.05.05.02.31.40;	author isaki;	state Exp;
branches;
next	;
commitid	P6qg5pdPOH2RzXlB;

1.31.2.1
date	2019.06.10.22.05.52;	author christos;	state Exp;
branches;
next	1.31.2.2;
commitid	jtc8rnCzWiEEHGqB;

1.31.2.2
date	2020.04.08.14.07.28;	author martin;	state Exp;
branches;
next	1.31.2.3;
commitid	Qli2aW9E74UFuA3C;

1.31.2.3
date	2020.04.13.08.03.33;	author martin;	state Exp;
branches;
next	;
commitid	X01YhRUPVUDaec4C;

1.29.2.1
date	2018.03.22.01.44.42;	author pgoyette;	state Exp;
branches;
next	1.29.2.2;
commitid	fxb4Rxa9G9QMsovA;

1.29.2.2
date	2018.04.07.04.12.11;	author pgoyette;	state Exp;
branches;
next	1.29.2.3;
commitid	ZMkKSYuBapz7LsxA;

1.29.2.3
date	2018.10.20.06.58.25;	author pgoyette;	state Exp;
branches;
next	;
commitid	mTSoqZEZ4arHnFWA;

1.23.2.1
date	2015.04.06.15.17.52;	author skrll;	state Exp;
branches;
next	1.23.2.2;
commitid	pz01Zhy7RP6iGxgy;

1.23.2.2
date	2015.12.27.12.09.30;	author skrll;	state Exp;
branches;
next	1.23.2.3;
commitid	BTSqUD4SdJ5k7AOy;

1.23.2.3
date	2017.08.28.17.51.30;	author skrll;	state Exp;
branches;
next	;
commitid	UQQpnjvcNkUZn05A;

1.21.2.1
date	2014.09.11.14.20.11;	author martin;	state Exp;
branches;
next	1.21.2.2;
commitid	0vgzXMhJkYSt2WPx;

1.21.2.2
date	2014.10.03.18.53.56;	author martin;	state Exp;
branches;
next	1.21.2.3;
commitid	TpReXqHavVY3RMSx;

1.21.2.3
date	2015.03.11.20.22.55;	author snj;	state Exp;
branches;
next	1.21.2.4;
commitid	Cfnabnt1nJYveedy;

1.21.2.4
date	2015.03.15.22.55.47;	author snj;	state Exp;
branches;
next	;
commitid	nDU8d8bKIYM8XKdy;

1.20.2.1
date	2014.08.10.06.53.51;	author tls;	state Exp;
branches;
next	;
commitid	7fY3uHKSIbCABMLx;

1.16.4.1
date	2014.05.18.17.44.57;	author rmind;	state Exp;
branches;
next	;
commitid	mL5ZYSzpqK6QS2Bx;

1.5.2.1
date	2013.02.25.00.28.25;	author tls;	state Exp;
branches;
next	1.5.2.2;

1.5.2.2
date	2013.06.23.06.20.00;	author tls;	state Exp;
branches;
next	1.5.2.3;
commitid	eVjr9caYRQbRGHUw;

1.5.2.3
date	2014.08.20.00.02.45;	author tls;	state Exp;
branches;
next	1.5.2.4;
commitid	jTnpym9Qu0o4R1Nx;

1.5.2.4
date	2017.12.03.11.35.52;	author jdolecek;	state Exp;
branches;
next	;
commitid	XcIYRZTAh1LmerhA;

1.5.4.1
date	2012.08.22.13.21.31;	author yamt;	state dead;
branches;
next	1.5.4.2;

1.5.4.2
date	2012.10.30.17.19.00;	author yamt;	state Exp;
branches;
next	1.5.4.3;

1.5.4.3
date	2013.01.23.00.05.41;	author yamt;	state Exp;
branches;
next	1.5.4.4;

1.5.4.4
date	2014.05.22.11.39.31;	author yamt;	state Exp;
branches;
next	;
commitid	VUUXuyNWnt3AKwBx;

1.1.2.1
date	2012.07.26.06.21.57;	author jdc;	state dead;
branches;
next	1.1.2.2;

1.1.2.2
date	2012.08.09.06.36.50;	author jdc;	state Exp;
branches;
next	1.1.2.3;

1.1.2.3
date	2012.11.19.19.12.59;	author riz;	state Exp;
branches;
next	1.1.2.4;

1.1.2.4
date	2013.02.13.01.36.14;	author riz;	state Exp;
branches;
next	;


desc
@@


1.45
log
@Put the fdt_spi attribute on bcmspi @@ fdt.

Thx to Andrius V for pointing out the oversight.
@
text
@#	$NetBSD: files.bcm2835,v 1.44 2025/09/06 15:44:02 thorpej Exp $
#
# Configuration info for Broadcom BCM2835 ARM Peripherals
#

file	arch/arm/broadcom/bcm2835_dma.c
file	arch/arm/broadcom/bcm2835_mbox_subr.c
file	arch/arm/broadcom/bcm283x_platform.c

define bcmmboxbus { }

# Interrupt Controller (BCM2835_ARMICU_BASE)
device	bcmicu: pic, pic_splfuncs
attach	bcmicu at fdt with bcmicu
file	arch/arm/broadcom/bcm2835_intr.c	bcmicu

# VC Mailbox (BCM2835_ARMMBOX_BASE)
device	bcmmbox: bcmmboxbus
file	arch/arm/broadcom/bcm2835_mbox.c	bcmmbox
attach	bcmmbox at fdt with bcmmbox_fdt
file    arch/arm/broadcom/bcm2835_mbox_fdt.c	bcmmbox_fdt

ifdef acpinodebus
attach  bcmmbox at acpinodebus with bcmmbox_acpi
file	arch/arm/broadcom/bcm2835_mbox_acpi.c	bcmmbox_acpi
endif

# System Timer (BCM2835_TIMER_BASE)
device	bcmtmr
attach	bcmtmr at fdt with bcmtmr_fdt
file	arch/arm/broadcom/bcm2835_tmr.c		bcmtmr & !soc_bcm2836

# Power Management, Reset Controller, and Watchdog (BCM2835_PM_BASE)
device	bcmpmwdog: fdt_power, sysmon_wdog
attach	bcmpmwdog at fdt with bcmpmwdog_fdt
file	arch/arm/broadcom/bcm2835_pmwdog.c	bcmpmwdog_fdt

# Random number generator (BCM2835_RNG_BASE)
device	bcmrng
attach bcmrng at fdt with bcmrng_fdt
file	arch/arm/broadcom/bcm2835_rng.c		bcmrng

# Random number generator (BCM2835_RNG_BASE (!))
device	bcm2838rng
attach bcm2838rng at fdt with bcm2838rng_fdt
file	arch/arm/broadcom/bcm2838_rng.c		bcm2838rng
file	dev/ic/rng200.c				bcm2838rng

# Broadcom STB PCIE host
device	bcm2838pcie: pcibus
attach bcm2838pcie at fdt with bcm2838pcie_fdt
file	arch/arm/broadcom/bcm2838_pcie.c	bcm2838pcie

# AUX
device	bcmaux: fdt_clock
attach	bcmaux at fdt with bcmaux_fdt
file	arch/arm/broadcom/bcm2835_aux.c		bcmaux

# AUX UART (BCM2835_AUX_UART_BASE)
attach	com at fdt with bcmcom: fdt_clock
file	arch/arm/broadcom/bcm2835_com.c		bcmcom

ifdef acpinodebus
attach	com at acpinodebus with bcmcom_acpi
file	arch/arm/broadcom/bcm2835_com_acpi.c	bcmcom_acpi
endif

# External Mass Media Controller (BCM2835_EMMC_BASE)
attach	sdhc at fdt with bcmemmc: fdt_clock
file	arch/arm/broadcom/bcm2835_emmc.c	bcmemmc

ifdef acpinodebus
attach	sdhc at acpinodebus with bcmemmc_acpi
file	arch/arm/broadcom/bcm2835_emmc_acpi.c	bcmemmc_acpi
attach	sdhc at acpinodebus with bcmemmc2_acpi
file	arch/arm/broadcom/bcm2838_emmc2_acpi.c	bcmemmc2_acpi
endif

# SD Host Controller (BCM2835_SDHOST_BASE)
device	bcmsdhost: sdmmcbus
attach	bcmsdhost at fdt with bcmsdhost: fdt_clock
file	arch/arm/broadcom/bcm2835_sdhost.c	bcmsdhost	needs-flag

# DMA Controller (BCM2835_DMA0_BASE)
device	bcmdmac
attach	bcmdmac at fdt with bcmdmac_fdt
file	arch/arm/broadcom/bcm2835_dmac.c	bcmdmac		needs-flag

# USB (BCM2835_USB_BASE)
attach dwctwo at fdt with bcmdwctwo
file	arch/arm/broadcom/bcm2835_dwctwo.c	bcmdwctwo	needs-flag

# SPI controller (BCM2835_SPI0_BASE)
device	bcmspi: spibus, bcm2835_gpio_subr
attach	bcmspi at fdt: fdt_spi
file	arch/arm/broadcom/bcm2835_spi.c		bcmspi	needs-flag

# BSC (I2C) controller (BCM2835_BSC[01]_BASE)
device	bsciic: i2cbus, bcm2835_gpio_subr
file	arch/arm/broadcom/bcm2835_bsc.c		bsciic	needs-flag
attach	bsciic at fdt with bsciic_fdt: fdt_clock, fdt_i2c
file	arch/arm/broadcom/bcm2835_bsc_fdt.c	bsciic_fdt
ifdef acpinodebus
attach	bsciic at acpinodebus with bsciic_acpi
file	arch/arm/broadcom/bcm2835_bsc_acpi.c	bsciic_acpi
endif

# Generic framebuffer console driver
attach genfb at fdt with bcmgenfb: edid
file	arch/arm/broadcom/bcm2835_genfb.c	bcmgenfb	needs-flag

# VCHIQ
include "external/bsd/vchiq/conf/files.vchiq"

# VC audio
device	vcaudio: audiobus
attach	vcaudio at vchiqbus
file	arch/arm/broadcom/bcm2835_vcaudio.c	vcaudio

# GPIO
device	bcmgpio: fdt_gpio, fdt_pinctrl, gpiobus
attach	bcmgpio at fdt
file	arch/arm/broadcom/bcm2835_gpio.c

# Clock Manager (BCM2835_CM_BASE)
device	bcmcprman: fdt_clock
attach	bcmcprman at fdt with bcmcprman_fdt
file	arch/arm/broadcom/bcm2835_cprman.c	bcmcprman	needs-flag

# PWM Controller (BCM2835_PWM_BASE)
device	bcmpwm
attach	bcmpwm at fdt with bcmpwm: fdt_clock
file	arch/arm/broadcom/bcm2835_pwm.c		bcmpwm		needs-flag

# VideoCore IV property interface
file    arch/evbarm/rpi/vcprop_subr.c		bcmmbox
makeoptions     "COPTS.vcprop_subr.c"+="-fno-stack-protector"

# Raspberry Pi Mailbox interface
device  vcmbox: sysmon_envsys
attach  vcmbox at bcmmboxbus
file    arch/evbarm/rpi/rpi_vcmbox.c            vcmbox

# Maximum command-line length
defparam opt_vcprop.h                           VCPROP_MAXCMDLINE
defflag opt_rpi.h                               RPI_HWCURSOR

# SOC parameters
defflag	opt_bcm283x.h			SOC_BCM2835
defflag	opt_bcm283x.h			SOC_BCM2836
defflag opt_bcm283x.h			SOC_BCM2837: SOC_BCM2836
@


1.44
log
@Step towards modularizing the Flattened Device Tree code.

Define attributes for each of the specific device bindings: clock,
dai, dma, gpio, i2c, iommu, mbox, mmc_pwrseq, phy, power, power domain,
pwm, regulator, reset controller, spi, system controller, pin
controller.  Include these support files only if either a provider
or consumer with one of these attributes is present in the kernel
config.

Add the necessary attributes to the device / attach declarations for
each provider and consumer.

There are some bindings that are consumed by generic code (iommu, pinctrl,
power, power domain).  Provide weak stubs for these routines to handle
situations where there is no provider.

No actual code changed; NFCI.
@
text
@d1 1
a1 1
#	$NetBSD: files.bcm2835,v 1.43 2022/04/22 12:41:06 skrll Exp $
d95 1
a95 1
attach	bcmspi at fdt
@


1.43
log
@Remove stale comment
@
text
@d1 1
a1 1
#	$NetBSD: files.bcm2835,v 1.42 2021/08/08 18:43:21 jmcneill Exp $
d34 1
a34 1
device	bcmpmwdog: sysmon_wdog
d55 1
a55 1
device	bcmaux
d60 1
a60 1
attach	com at fdt with bcmcom
d69 1
a69 1
attach	sdhc at fdt with bcmemmc
d81 1
a81 1
attach	bcmsdhost at fdt with bcmsdhost
d101 1
a101 1
attach	bsciic at fdt with bsciic_fdt
d121 1
a121 1
device	bcmgpio: gpiobus
d126 1
a126 1
device	bcmcprman
d132 1
a132 1
attach	bcmpwm at fdt with bcmpwm
@


1.42
log
@broadcom: ACPI: Add support for mini UART in ACPI mode.
@
text
@d1 1
a1 1
#	$NetBSD: files.bcm2835,v 1.41 2021/08/08 10:32:26 jmcneill Exp $
d12 1
a12 1
# Interrupt Controller (BCM2835_ARMICU_BASE) #, pic_splfuncs
@


1.41
log
@bcm2838: Add ACPI support for the EMMC2 SDHCI controller.
@
text
@d1 1
a1 1
#	$NetBSD: files.bcm2835,v 1.40 2021/03/10 11:03:48 mlelstv Exp $
d63 5
@


1.40
log
@Add PCIe driver to build.

You still need:

bcm2838pcie* at fdt?                        # STB PCIe host controller

in kernel config, and DTB entries like:

        pci@@7d500000 {
                compatible = "brcm,bcm2711-pcie\0brcm,pci-plat-dev";
                device_type = "pci";
                #address-cells = <0x03>;
                #size-cells = <0x02>;
                bus-range = <0x00 0x01>;
                reg = <0x00 0x7d500000 0x80000>;
                ranges = <0x2000000 0x00 0xf8000000 0x06 0x00 0x00 0x4000000>;
                #interrupt-cells = <0x01>;
                interrupt-map = <0x00 0x00 0x00 0x01 0x01 0x00 0x8f 0x04>;
                interrupt-map-mask = <0x00 0x00 0x00 0x07>;
                linux,pci-domain = <0x00>;
                phandle = <0x90>;
        };

and
                pcie0 = "/scb/pci@@7d500000";

in __symbols__
@
text
@d1 1
a1 1
#	$NetBSD: files.bcm2835,v 1.39 2020/03/31 12:23:17 jmcneill Exp $
d70 2
@


1.39
log
@Add ACPI support.
@
text
@d1 1
a1 1
#	$NetBSD: files.bcm2835,v 1.38 2019/12/31 00:59:26 jmcneill Exp $
d49 5
@


1.39.4.1
log
@Sync with HEAD.
@
text
@d1 1
a1 1
#	$NetBSD: files.bcm2835,v 1.40 2021/03/10 11:03:48 mlelstv Exp $
a48 5
# Broadcom STB PCIE host
device	bcm2838pcie: pcibus
attach bcm2838pcie at fdt with bcm2838pcie_fdt
file	arch/arm/broadcom/bcm2838_pcie.c	bcm2838pcie

@


1.38
log
@acpi glue is conditional on acpinodebus
@
text
@d1 1
a1 1
#	$NetBSD: files.bcm2835,v 1.37 2019/12/30 18:53:34 jmcneill Exp $
a87 1
attach	bsciic at fdt
d89 6
@


1.37
log
@Add BCM2835 EMMC acpi glue
@
text
@d1 1
a1 1
#	$NetBSD: files.bcm2835,v 1.36 2019/12/30 18:43:38 jmcneill Exp $
d22 2
d26 1
d62 1
d65 1
@


1.36
log
@Split bcm2835 mbox driver into separate fdt and acpi frontends.
@
text
@d1 1
a1 1
#	$NetBSD: files.bcm2835,v 1.35 2019/09/04 05:10:38 mlelstv Exp $
d59 3
@


1.35
log
@RNG200 attachment
@
text
@d1 1
a1 1
#	$NetBSD: files.bcm2835,v 1.34 2019/06/22 07:58:55 skrll Exp $
a18 1
attach	bcmmbox at fdt with bcmmbox
d20 4
@


1.34
log
@Rename watchdog -> bcmpmwdog and sdhost to bcmsdhost
@
text
@d1 1
a1 1
#	$NetBSD: files.bcm2835,v 1.33 2019/05/08 13:40:14 isaki Exp $
d37 6
@


1.33
log
@Merge isaki-audio2 branch, the overhaul of audio subsystem.
- Interrupt-oriented system rather than thread-oriented.
- Improve stability, quality and performance.
- Split playback and record cleanly.  Improve halfduplex support.
- Many bugs are fixed including deadlocks, resource leaks, abuses, etc.
- Simplify audio filter mechanism.  The encoding/channels/frequency
  conversions are completely handled in the upper layer.  So the hard-
  ware driver only converts its hardware encoding (if necessary).
- audio_hw_if changes:
  - Obsoletes query_encoding and add query_format instead.
  - Obsoletes set_params and add set_format instead.
  - Remove drain, setfd, mappage.
  - The call sequences are changed.
- ioctl AUDIO_GETFD/SETFD, AUDIO_GETCHAN/SETCHAN are obsoleted.
- ioctl AUDIO_{QUERY,GET,SET}FORMAT are introduced.
- cleanup config attributes: au*conv and mulaw.
- All hardware drivers should follow it (I've done as much as possible).

Some file paths are changed:
- dev/audio.c         -> dev/audio/audio.c (rewritten)
- dev/audiovar.h      -> dev/audio/audiovar.h
- dev/audio_dai.h     -> dev/audio/audio_dai.h
- dev/audio_if.h      -> dev/audio/audio_if.h
- dev/audiobell.c     -> dev/audio/audiobell.c
- dev/audiobellvar.h  -> dev/audio/audiobellvar.h
- dev/mulaw.[ch]      -> dev/audio/mulaw.[ch] + dev/audio/alaw.c
@
text
@d1 1
a1 1
#	$NetBSD: files.bcm2835,v 1.32 2018/10/18 09:01:52 skrll Exp $
d28 2
a29 2
device	watchdog: sysmon_wdog
attach	watchdog at fdt with bcmpmwdog_fdt
d51 2
a52 2
device	sdhost: sdmmcbus
attach	sdhost at fdt with bcmsdhost
@


1.32
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
@d1 1
a1 1
#	$NetBSD: files.bcm2835,v 1.31 2018/04/01 04:35:03 ryo Exp $
d82 1
a82 1
device	vcaudio: audiobus, auconv, mulaw, aurateconv, auvolconv
@


1.32.2.1
log
@Remove obsoleted au{,rate,vol}conv and mulaw attributes.
audio provides the equivalent of them inseparably.
@
text
@d1 1
a1 1
#	$NetBSD: files.bcm2835,v 1.32 2018/10/18 09:01:52 skrll Exp $
d82 1
a82 1
device	vcaudio: audiobus
@


1.31
log
@Add initial support for ARMv8 (AARCH64) (by nisimura@@ and ryo@@)

- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@@)
- add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@@, jmcneill@@)
@
text
@d1 1
a1 1
#	$NetBSD: files.bcm2835,v 1.30 2018/03/17 18:34:09 ryo Exp $
a5 8
file	arch/arm/arm32/arm32_boot.c			arm32
file	arch/arm/arm32/arm32_kvminit.c			arm32
file	arch/arm/arm32/arm32_reboot.c			arm32
file	arch/arm/arm32/irq_dispatch.S			arm32
file	arch/arm/arm32/armv7_generic_space.c		arm32
file	arch/arm/arm/bus_space_a4x.S			arm32
#file	arch/arm/arm/arm_generic_dma.c

@


1.31.2.1
log
@Sync with HEAD
@
text
@d1 1
a1 1
#	$NetBSD: files.bcm2835,v 1.33 2019/05/08 13:40:14 isaki Exp $
d6 8
d90 1
a90 1
device	vcaudio: audiobus
@


1.31.2.2
log
@Merge changes from current as of 20200406
@
text
@d1 1
a1 1
#	$NetBSD$
d19 1
a20 7
attach	bcmmbox at fdt with bcmmbox_fdt
file    arch/arm/broadcom/bcm2835_mbox_fdt.c	bcmmbox_fdt

ifdef acpinodebus
attach  bcmmbox at acpinodebus with bcmmbox_acpi
file	arch/arm/broadcom/bcm2835_mbox_acpi.c	bcmmbox_acpi
endif
a49 5
ifdef acpinodebus
attach	sdhc at acpinodebus with bcmemmc_acpi
file	arch/arm/broadcom/bcm2835_emmc_acpi.c	bcmemmc_acpi
endif

d71 1
a72 6
attach	bsciic at fdt with bsciic_fdt
file	arch/arm/broadcom/bcm2835_bsc_fdt.c	bsciic_fdt
ifdef acpinodebus
attach	bsciic at acpinodebus with bsciic_acpi
file	arch/arm/broadcom/bcm2835_bsc_acpi.c	bsciic_acpi
endif
@


1.31.2.3
log
@Mostly merge changes from HEAD upto 20200411
@
text
@d34 2
a35 2
device	bcmpmwdog: sysmon_wdog
attach	bcmpmwdog at fdt with bcmpmwdog_fdt
a42 6
# Random number generator (BCM2835_RNG_BASE (!))
device	bcm2838rng
attach bcm2838rng at fdt with bcm2838rng_fdt
file	arch/arm/broadcom/bcm2838_rng.c		bcm2838rng
file	dev/ic/rng200.c				bcm2838rng

d62 2
a63 2
device	bcmsdhost: sdmmcbus
attach	bcmsdhost at fdt with bcmsdhost
@


1.30
log
@move from sys/arch/arm/arm32/armv7_generic_dma.c to sys/arch/arm/arm/arm_generic_dma.c,
and change variable name from armv7_generic_dma_tag to arm_generic_dma_tag

no functional change. (preliminary changes for merging aarch64)
@
text
@d1 1
a1 1
#	$NetBSD: files.bcm2835,v 1.29 2017/12/10 21:38:26 skrll Exp $
d6 7
a12 9
include "arch/arm/pic/files.pic"

file	arch/arm/arm32/arm32_boot.c
file	arch/arm/arm32/arm32_kvminit.c
file	arch/arm/arm32/arm32_reboot.c
file	arch/arm/arm32/irq_dispatch.S
file	arch/arm/arm32/armv7_generic_space.c
file	arch/arm/arm/arm_generic_dma.c
file	arch/arm/arm/bus_space_a4x.S
a15 1

a17 7
define mpcorebus { }

# ARMv7 Generic Timer
device armgtmr
attach armgtmr at mpcorebus
file	arch/arm/cortex/gtmr.c                  armgtmr

a19 2
file	arch/arm/broadcom/bcm2835_space.c

d109 13
d123 1
d125 1
a125 2
defflag	opt_bcm283x.h			SOC_BCM2835

@


1.29
log
@FDTise RapberryPI support. Thanks for jmcneill for a lot of help with this.

The kernel image that the RPI firmware boots is now netbsd.img in the
kernel build directory.

XXX fdtbus_get_reg needs reworking
@
text
@d1 1
a1 1
#	$NetBSD: files.bcm2835,v 1.28 2017/07/30 23:48:32 jmcneill Exp $
d13 1
a13 1
file	arch/arm/arm32/armv7_generic_dma.c
@


1.29.2.1
log
@Synch with HEAD, resolve conflicts
@
text
@d1 1
a1 1
#	$NetBSD: files.bcm2835,v 1.30 2018/03/17 18:34:09 ryo Exp $
d13 1
a13 1
file	arch/arm/arm/arm_generic_dma.c
@


1.29.2.2
log
@Sync with HEAD.  77 conflicts resolved - all of them $NetBSD$
@
text
@d1 1
a1 1
#	$NetBSD: files.bcm2835,v 1.31 2018/04/01 04:35:03 ryo Exp $
d6 9
a14 7
file	arch/arm/arm32/arm32_boot.c			arm32
file	arch/arm/arm32/arm32_kvminit.c			arm32
file	arch/arm/arm32/arm32_reboot.c			arm32
file	arch/arm/arm32/irq_dispatch.S			arm32
file	arch/arm/arm32/armv7_generic_space.c		arm32
file	arch/arm/arm/bus_space_a4x.S			arm32
#file	arch/arm/arm/arm_generic_dma.c
d18 1
d21 7
d30 2
a120 13
# VideoCore IV property interface
file    arch/evbarm/rpi/vcprop_subr.c		bcmmbox
makeoptions     "COPTS.vcprop_subr.c"+="-fno-stack-protector"

# Raspberry Pi Mailbox interface
device  vcmbox: sysmon_envsys
attach  vcmbox at bcmmboxbus
file    arch/evbarm/rpi/rpi_vcmbox.c            vcmbox

# Maximum command-line length
defparam opt_vcprop.h                           VCPROP_MAXCMDLINE
defflag opt_rpi.h                               RPI_HWCURSOR

d122 1
d124 1
a124 2
defflag	opt_bcm283x.h			SOC_BCM2836
defflag opt_bcm283x.h			SOC_BCM2837: SOC_BCM2836
@


1.29.2.3
log
@Sync with head
@
text
@d1 1
a1 1
#	$NetBSD: files.bcm2835,v 1.32 2018/10/18 09:01:52 skrll Exp $
d6 8
@


1.28
log
@Add support for BCM2835 AUX UART.
@
text
@d1 1
a1 1
#	$NetBSD: files.bcm2835,v 1.27 2017/07/30 16:54:36 jmcneill Exp $
a5 2
defflag	opt_bcm283x.h			BCM2836

d8 7
a14 1
define bcmmboxbus { }
a15 1
file	arch/arm/arm32/irq_dispatch.S
d19 3
a21 9
# OBIO just an attach point
device	obio { [addr=-1], [size=0], [intr=-1]
	     } : bus_space_generic, pic, pic_splfuncs
attach	obio at mainbus
file	arch/arm/broadcom/bcm2835_obio.c	obio needs-count

# OBIO files
file	arch/arm/broadcom/bcm2835_space.c	obio
file	arch/arm/arm/bus_space_a4x.S		obio
d24 7
a30 3
device	armgtmr
attach	armgtmr at obio
file	arch/arm/cortex/gtmr.c			armgtmr
d34 1
a34 1
attach	bcmicu at obio with bcmicu
d39 1
a39 1
attach	bcmmbox at obio with bcmmbox
d44 2
a45 2
attach	bcmtmr at obio with bcmtmr_amba
file	arch/arm/broadcom/bcm2835_tmr.c		bcmtmr & !bcm2836
d48 3
a50 3
device	bcmpm: sysmon_wdog
attach	bcmpm at obio with bcmpm_amba
file	arch/arm/broadcom/bcm2835_pm.c		bcmpm
d54 1
a54 1
attach	bcmrng at obio with bcmrng_amba
d57 4
a60 3
# UART Interface (BCM2835_UART0_BASE)
attach	plcom at obio with bcmplcom
file	arch/arm/broadcom/bcm2835_plcom.c	bcmplcom
d63 1
a63 1
attach	com at obio with bcmcom
d67 1
a67 1
attach	sdhc at obio with bcmemmc
d72 1
a72 1
attach	sdhost at obio with bcmsdhost
d77 1
a77 1
attach	bcmdmac at obio with bcmdmac_amba
d81 1
a81 1
attach dwctwo at obio with bcmdwctwo
a83 4
# GPIO misc. functions
define	bcm2835_gpio_subr
file	arch/arm/broadcom/bcm2835_gpio_subr.c	bcm2835_gpio_subr

d86 1
a86 1
attach	bcmspi at obio
d91 1
a91 1
attach	bsciic at obio
d95 1
a95 1
attach	genfb at obio with bcmgenfb: edid
d108 1
a108 1
attach	bcmgpio at obio
d112 3
a114 3
device	bcmcm
attach	bcmcm at obio with bcmcm_amba
file	arch/arm/broadcom/bcm2835_cm.c		bcmcm		needs-flag
d118 1
a118 1
attach	bcmpwm at obio with bcmpwm_amba
d121 4
@


1.27
log
@Add driver for the bcm2835 internal SD controller. On boards with SDIO
Wi-Fi, the internal SD controller is used for the SD card slot and the
Arasan SDHCI controller is used for SDIO.
@
text
@d1 1
a1 1
#	$NetBSD: files.bcm2835,v 1.26 2015/11/21 07:41:29 mlelstv Exp $
d60 4
@


1.26
log
@Add drivers to access the clock manager and pulse width modulator.
@
text
@d1 1
a1 1
#	$NetBSD: files.bcm2835,v 1.25 2015/03/13 22:48:41 jmcneill Exp $
d64 5
@


1.25
log
@port-arm/49057: Raspberry Pi Audio volume control does not work

- Use software volume control for outputs.master/inputs.dac
- Previous volume control (for analog output only) is available on new
  outputs.headphones mixer control.
- Add an outputs.select enum to choose between "auto", "headphones", and
  "hdmi" outputs.
@
text
@d1 1
a1 1
#	$NetBSD: files.bcm2835,v 1.24 2015/02/28 09:34:34 skrll Exp $
d103 11
@


1.24
log
@Initial RPI2 support - it doesn't work yet. The generic timer gets messed
up somehow.

This commit changes the KVA layout of the RPI.
@
text
@d1 1
a1 1
#	$NetBSD: files.bcm2835,v 1.23 2014/09/13 08:08:24 skrll Exp $
d95 1
a95 1
device	vcaudio: audiobus, auconv, mulaw, aurateconv
@


1.23
log
@Make emmc use of dma controller optional and disable the bcmdmac for now.

It doesn't work for me.
@
text
@d1 1
a1 1
#	$NetBSD: files.bcm2835,v 1.22 2014/09/07 14:16:44 jmcneill Exp $
d6 2
d26 6
a31 1
# Interrupt Controller (BCM2835_ARMICU_BASE)
d44 1
a44 1
file	arch/arm/broadcom/bcm2835_tmr.c		bcmtmr
@


1.23.2.1
log
@Sync with HEAD
@
text
@d1 1
a1 1
#	$NetBSD: files.bcm2835,v 1.25 2015/03/13 22:48:41 jmcneill Exp $
a5 2
defflag	opt_bcm283x.h			BCM2836

d24 1
a24 6
# ARMv7 Generic Timer
device	armgtmr
attach	armgtmr at obio
file	arch/arm/cortex/gtmr.c			armgtmr

# Interrupt Controller (BCM2835_ARMICU_BASE) #, pic_splfuncs
d37 1
a37 1
file	arch/arm/broadcom/bcm2835_tmr.c		bcmtmr & !bcm2836
d88 1
a88 1
device	vcaudio: audiobus, auconv, mulaw, aurateconv, auvolconv
@


1.23.2.2
log
@Sync with HEAD (as of 26th Dec)
@
text
@d1 1
a1 1
#	$NetBSD: files.bcm2835,v 1.23.2.1 2015/04/06 15:17:52 skrll Exp $
a102 11

# Clock Manager (BCM2835_CM_BASE)
device	bcmcm
attach	bcmcm at obio with bcmcm_amba
file	arch/arm/broadcom/bcm2835_cm.c		bcmcm		needs-flag

# PWM Controller (BCM2835_PWM_BASE)
device	bcmpwm
attach	bcmpwm at obio with bcmpwm_amba
file	arch/arm/broadcom/bcm2835_pwm.c		bcmpwm		needs-flag

@


1.23.2.3
log
@Sync with HEAD
@
text
@d1 1
a1 1
#	$NetBSD: files.bcm2835,v 1.23.2.2 2015/12/27 12:09:30 skrll Exp $
a59 4
# AUX UART (BCM2835_AUX_UART_BASE)
attach	com at obio with bcmcom
file	arch/arm/broadcom/bcm2835_com.c		bcmcom

a63 5
# SD Host Controller (BCM2835_SDHOST_BASE)
device	sdhost: sdmmcbus
attach	sdhost at obio with bcmsdhost
file	arch/arm/broadcom/bcm2835_sdhost.c	bcmsdhost	needs-flag

@


1.22
log
@bcm2835 dma controller driver
@
text
@d1 1
a1 1
#	$NetBSD: files.bcm2835,v 1.21 2014/04/22 18:51:35 kardel Exp $
d60 1
a60 1
file	arch/arm/broadcom/bcm2835_dmac.c	bcmdmac
@


1.21
log
@add a driver for BCM2835 obio gpio
@
text
@d1 1
a1 1
#	$NetBSD: files.bcm2835,v 1.20 2013/11/01 12:23:12 skrll Exp $
d57 5
@


1.21.2.1
log
@Pull up the following changes (requested by skrll, #83):
sys/arch/arm/broadcom/bcm2835_dmac.c            1.1-1.2
sys/arch/arm/broadcom/bcm2835_dmac.h            1.1
sys/arch/arm/broadcom/bcm2835_intr.c            1.4
sys/arch/arm/broadcom/bcm2835_obio.c            1.21
sys/arch/arm/broadcom/bcm2835reg.h              1.11
sys/arch/arm/broadcom/files.bcm2835             1.22
sys/arch/evbarm/conf/RPI                        1.51
sys/arch/evbarm/rpi/rpi_machdep.c               1.46

Add bcm2835 dma controller driver.
@
text
@d1 1
a1 1
#	$NetBSD: files.bcm2835,v 1.21 2014/04/22 18:51:35 kardel Exp $
a56 5
# DMA Controller (BCM2835_DMA0_BASE)
device	bcmdmac
attach	bcmdmac at obio with bcmdmac_amba
file	arch/arm/broadcom/bcm2835_dmac.c	bcmdmac

@


1.21.2.2
log
@Pull up following revision(s) (requested by skrll in ticket #126):
	sys/arch/evbarm/rpi/rpi_machdep.c: revision 1.47
	sys/arch/arm/broadcom/bcm2835reg.h: revision 1.12
	sys/arch/evbarm/conf/RPI: revision 1.52
	sys/arch/evbarm/conf/RPI: revision 1.53
	sys/arch/evbarm/conf/RPI: revision 1.54
	sys/arch/arm/broadcom/bcm2835_emmc.c: revision 1.10
	sys/arch/arm/broadcom/bcm2835_emmc.c: revision 1.11
	sys/arch/arm/broadcom/bcm2835_emmc.c: revision 1.12
	sys/arch/arm/broadcom/bcm2835_emmc.c: revision 1.13
	sys/arch/arm/broadcom/bcm2835_emmc.c: revision 1.14
	sys/arch/arm/broadcom/bcm2835_emmc.c: revision 1.15
	sys/arch/arm/broadcom/bcm2835_dmac.c: revision 1.3
	sys/arch/arm/broadcom/bcm2835_dmac.c: revision 1.4
	sys/arch/arm/broadcom/bcm2835_dmac.h: revision 1.2
	sys/arch/arm/broadcom/bcm2835_dmac.c: revision 1.5
	sys/arch/arm/broadcom/bcm2835_emmc.c: revision 1.18
	sys/arch/arm/broadcom/bcm2835_dmac.h: revision 1.3
	sys/arch/arm/broadcom/bcm2835_dmac.c: revision 1.6
	sys/arch/arm/broadcom/bcm2835_dmac.c: revision 1.7
	sys/arch/arm/broadcom/bcm2835_dmac.c: revision 1.8
	sys/arch/arm/broadcom/bcm2835_dmac.c: revision 1.9
	sys/arch/arm/broadcom/files.bcm2835: revision 1.23
	sys/dev/sdmmc/sdhc.c: revision 1.45
	sys/dev/sdmmc/sdhc.c: revision 1.46
	sys/dev/sdmmc/sdhc.c: revision 1.47
	sys/dev/sdmmc/sdhcvar.h: revision 1.14
Various RPI DMAC and sdhc improvements.
@
text
@d1 1
a1 1
#	$NetBSD: files.bcm2835,v 1.21.2.1 2014/09/11 14:20:11 martin Exp $
d60 1
a60 1
file	arch/arm/broadcom/bcm2835_dmac.c	bcmdmac		needs-flag
@


1.21.2.3
log
@Pull up following revision(s) (requested by skrll in ticket #582):
	distrib/utils/embedded/conf/rpi.conf: revision 1.27
	etc/etc.evbarm/Makefile.inc: revision 1.70
	sys/arch/arm/broadcom/bcm2835_intr.c: revision 1.5-1.7
	sys/arch/arm/broadcom/bcm2835_obio.c: revision 1.23, 1.24
	sys/arch/arm/broadcom/bcm2835_space.c: revision 1.8
	sys/arch/arm/broadcom/bcm2835reg.h: revision 1.14
	sys/arch/arm/broadcom/bcm2835var.h: revision 1.2
	sys/arch/arm/broadcom/files.bcm2835: revision 1.24
	sys/arch/arm/cortex/a9_mpsubr.S: revision 1.30
	sys/arch/arm/cortex/armperiph.c: revision 1.8, 1.9
	sys/arch/arm/cortex/gtmr.c: revision 1.9
	sys/arch/arm/cortex/gtmr_var.h: revision 1.5
	sys/arch/arm/cortex/mpcore_var.h: revision 1.3
	sys/arch/arm/include/cpu.h: revision 1.84
	sys/arch/evbarm/conf/RPI2: revision 1.1, 1.2
	sys/arch/evbarm/conf/RPI2_INSTALL: revision 1.1
	sys/arch/evbarm/conf/RPI: revision 1.59, 1.60
	sys/arch/evbarm/conf/mk.rpi: revision 1.4
	sys/arch/evbarm/conf/std.rpi: revisions 1.16-1.19 via patch
	sys/arch/evbarm/rpi/genassym.cf: revision 1.2
	sys/arch/evbarm/rpi/rpi.h: revision 1.4
	sys/arch/evbarm/rpi/rpi2_start.S: revision 1.1
	sys/arch/evbarm/rpi/rpi_machdep.c: revision 1.57, 1.58 via patch
	sys/arch/evbarm/rpi/rpi_start.S: revision 1.13
Move some options into std.rpi
--
Add __HAVE_MM_MD_CACHE_ALIASING
Pull up following revision(s) (requested by skrll in ticket #582):
Fix TPIDRPRW_IS_CURLWP builds.
--
A MULTIPROCESSOR kernel requires TPIDRPRW_IS_CURCPU.
--
Use TPIDRPRW_IS_CURLWP as it's a slight code reduction and performance
improvement.
Initial RPI2 support - it doesn't work yet. The generic timer gets messed
up somehow.
This commit changes the KVA layout of the RPI.
--
Make this compile where gtmr isn't used.
--
Spin up the non-boot CPUs, but don't allow cpu_boot_secondary_processors
to see them for now.
RPI2 nows works well with only the boot cpu.
--
Appease a KASSERT - will be remove when MULTIPROCESSOR RPI2 is fixed.
--
Add RPI2 to kernels build for both earmv[67].
Use the earmv6 built kernels to create an image that can be used on both
RPI and RPI2
--
Add an RPI2_INSTALL
@
text
@d1 1
a1 1
#	$NetBSD: files.bcm2835,v 1.21.2.2 2014/10/03 18:53:56 martin Exp $
a5 2
defflag	opt_bcm283x.h			BCM2836

d24 1
a24 6
# ARMv7 Generic Timer
device	armgtmr
attach	armgtmr at obio
file	arch/arm/cortex/gtmr.c			armgtmr

# Interrupt Controller (BCM2835_ARMICU_BASE) #, pic_splfuncs
d37 1
a37 1
file	arch/arm/broadcom/bcm2835_tmr.c		bcmtmr & !bcm2836
@


1.21.2.4
log
@Pull up following revision(s) (requested by jmcneill in ticket #594):
	sys/arch/arm/broadcom/bcm2835_vcaudio.c: revision 1.8, 1.9
	sys/arch/arm/broadcom/files.bcm2835: revision 1.25
port-arm/49057: Raspberry Pi Audio volume control does not work
- Use software volume control for outputs.master/inputs.dac
- Previous volume control (for analog output only) is available on new
  outputs.headphones mixer control.
- Add an outputs.select enum to choose between "auto", "headphones", and
  "hdmi" outputs.
--
port-arm/49057: Raspberry Pi Audio volume control does not work
AUDS server messages expect volume to be expressed in units of 1/256 dB,
where we previously (incorrectly) treated it as as percentage. Map the
NetBSD audio level (0-255) to 20 steps (levels from FreeBSD bcm2835_audio.c)
and provide independent volume knobs for outputs.auto, outputs.hdmi, and
outputs.headphones.
@
text
@d1 1
a1 1
#	$NetBSD: files.bcm2835,v 1.21.2.3 2015/03/11 20:22:55 snj Exp $
d95 1
a95 1
device	vcaudio: audiobus, auconv, mulaw, aurateconv, auvolconv
@


1.20
log
@PR/48342. Add aurateconv as a dependency for vcaudio.
@
text
@d1 1
a1 1
#	$NetBSD: files.bcm2835,v 1.19 2013/10/15 09:07:48 skrll Exp $
d86 5
@


1.20.2.1
log
@Rebase.
@
text
@d1 1
a1 1
#	$NetBSD: files.bcm2835,v 1.21 2014/04/22 18:51:35 kardel Exp $
a85 5

# GPIO
device	bcmgpio: gpiobus
attach	bcmgpio at obio
file	arch/arm/broadcom/bcm2835_gpio.c
@


1.19
log
@Switch to dwctwo(4) from dotg(4) for the RaspberryPi port.  This brings
DMA support and (initial) isoc transfer support.

Remove URTWN_DOTG_WORKAROUND as dwctwo doesn't appear to need it.
@
text
@d1 1
a1 1
#	$NetBSD: files.bcm2835,v 1.18 2013/10/15 07:23:20 skrll Exp $
d83 1
a83 1
device	vcaudio: audiobus, auconv, mulaw
@


1.18
log
@Small cleanup
@
text
@d1 1
a1 1
#	$NetBSD: files.bcm2835,v 1.17 2013/09/21 13:22:48 skrll Exp $
a57 4
attach dotg at obio with dotg_amba
file	arch/arm/broadcom/bcm2835_dotg.c	dotg	needs-flag

# USB (BCM2835_USB_BASE)
@


1.17
log
@Some dwc2 glue.
@
text
@d1 1
a1 1
#	$NetBSD: files.bcm2835,v 1.16 2013/03/24 19:55:19 jmcneill Exp $
a14 1
#, [mult=1], [intrbase=-1], [nobyteacc=0]
@


1.16
log
@add wip videocore4 audio driver
@
text
@d1 1
a1 1
#	$NetBSD: files.bcm2835,v 1.15 2013/03/24 19:54:22 jmcneill Exp $
d62 4
@


1.16.4.1
log
@sync with head
@
text
@d1 1
a1 1
#	$NetBSD: files.bcm2835,v 1.16 2013/03/24 19:55:19 jmcneill Exp $
d15 1
d59 2
a60 2
attach dwctwo at obio with bcmdwctwo
file	arch/arm/broadcom/bcm2835_dwctwo.c	bcmdwctwo	needs-flag
d84 1
a84 1
device	vcaudio: audiobus, auconv, mulaw, aurateconv
a86 5

# GPIO
device	bcmgpio: gpiobus
attach	bcmgpio at obio
file	arch/arm/broadcom/bcm2835_gpio.c
@


1.15
log
@pull in vchiq
@
text
@d1 1
a1 1
#	$NetBSD: files.bcm2835,v 1.14 2013/01/25 00:04:06 jmcneill Exp $
d82 5
@


1.14
log
@Add BCM2835 RNG support.
@
text
@d1 1
a1 1
#	$NetBSD: files.bcm2835,v 1.13 2013/01/10 02:23:26 jmcneill Exp $
d79 3
@


1.13
log
@bcm2835 watchdog timer support
@
text
@d1 1
a1 1
#	$NetBSD: files.bcm2835,v 1.12 2013/01/09 22:23:44 skrll Exp $
d45 5
@


1.12
log
@Provide dotg(4) - a driver for the Synposys DesignWare OTG USB IP found
in the RaspberryPI. The driver supports host mode and control, interrupt,
and bulk transfers only at this point.

Heavily based on the FreeBSD driver by Hans Petter Selasky.

Thanks to all who helped. Jared McNeill, Michael van Elst and other.
@
text
@d1 1
a1 1
#	$NetBSD: files.bcm2835,v 1.11 2013/01/08 23:52:48 jmcneill Exp $
d41 1
a41 1
device	bcmpm
@


1.11
log
@add genfb glue
@
text
@d1 1
a1 1
#	$NetBSD: files.bcm2835,v 1.10 2013/01/08 16:24:23 skrll Exp $
d53 4
@


1.10
log
@Sprinkle needs-flag
@
text
@d1 1
a1 1
#	$NetBSD: files.bcm2835,v 1.9 2013/01/07 20:15:32 jmcneill Exp $
d66 4
@


1.9
log
@allow for a single board specific device to attach to the mbox driver
@
text
@d1 1
a1 1
#	$NetBSD: files.bcm2835,v 1.8 2013/01/05 20:31:23 jakllsch Exp $
d60 1
a60 1
file	arch/arm/broadcom/bcm2835_spi.c		bcmspi
d65 1
a65 1
file	arch/arm/broadcom/bcm2835_bsc.c		bsciic
@


1.8
log
@Add driver for BCM2835 SPI0 controller.
@
text
@d1 1
a1 1
#	$NetBSD: files.bcm2835,v 1.7 2013/01/05 20:15:17 jakllsch Exp $
d8 2
d31 1
a31 1
device	bcmmbox
@


1.7
log
@Add driver for Broadcom Serial Control (I²C) master on BCM2835.
@
text
@d1 1
a1 1
#	$NetBSD: files.bcm2835,v 1.6 2013/01/05 19:55:18 jakllsch Exp $
d55 5
@


1.6
log
@Add a function for adjusting the pin muxer in the GPIO block.
(This should probably be revisited later.)
@
text
@d1 1
a1 1
#	$NetBSD: files.bcm2835,v 1.5 2012/08/22 13:21:31 jakllsch Exp $
d54 5
@


1.5
log
@Fix typo in previous.
@
text
@d1 1
a1 1
#	$NetBSD: files.bcm2835,v 1.4 2012/08/22 13:19:47 jakllsch Exp $
d50 4
@


1.5.2.1
log
@resync with head
@
text
@d1 1
a1 1
#	$NetBSD: files.bcm2835,v 1.5 2012/08/22 13:21:31 jakllsch Exp $
a7 2
define bcmmboxbus { }

d29 1
a29 1
device	bcmmbox: bcmmboxbus
d39 1
a39 1
device	bcmpm: sysmon_wdog
a42 5
# Random number generator (BCM2835_RNG_BASE)
device	bcmrng
attach	bcmrng at obio with bcmrng_amba
file	arch/arm/broadcom/bcm2835_rng.c		bcmrng

a49 22

# USB (BCM2835_USB_BASE)
attach dotg at obio with dotg_amba
file	arch/arm/broadcom/bcm2835_dotg.c	dotg	needs-flag

# GPIO misc. functions
define	bcm2835_gpio_subr
file	arch/arm/broadcom/bcm2835_gpio_subr.c	bcm2835_gpio_subr

# SPI controller (BCM2835_SPI0_BASE)
device	bcmspi: spibus, bcm2835_gpio_subr
attach	bcmspi at obio
file	arch/arm/broadcom/bcm2835_spi.c		bcmspi	needs-flag

# BSC (I2C) controller (BCM2835_BSC[01]_BASE)
device	bsciic: i2cbus, bcm2835_gpio_subr
attach	bsciic at obio
file	arch/arm/broadcom/bcm2835_bsc.c		bsciic	needs-flag

# Generic framebuffer console driver
attach	genfb at obio with bcmgenfb: edid
file	arch/arm/broadcom/bcm2835_genfb.c	bcmgenfb	needs-flag
@


1.5.2.2
log
@resync from head
@
text
@d1 1
a1 1
#	$NetBSD$
a78 8

# VCHIQ
include "external/bsd/vchiq/conf/files.vchiq"

# VC audio
device	vcaudio: audiobus, auconv, mulaw
attach	vcaudio at vchiqbus
file	arch/arm/broadcom/bcm2835_vcaudio.c	vcaudio
@


1.5.2.3
log
@Rebase to HEAD as of a few days ago.
@
text
@d15 1
d59 2
a60 2
attach dwctwo at obio with bcmdwctwo
file	arch/arm/broadcom/bcm2835_dwctwo.c	bcmdwctwo	needs-flag
d84 1
a84 1
device	vcaudio: audiobus, auconv, mulaw, aurateconv
a86 5

# GPIO
device	bcmgpio: gpiobus
attach	bcmgpio at obio
file	arch/arm/broadcom/bcm2835_gpio.c
@


1.5.2.4
log
@update from HEAD
@
text
@a5 2
defflag	opt_bcm283x.h			BCM2836

d24 1
a24 6
# ARMv7 Generic Timer
device	armgtmr
attach	armgtmr at obio
file	arch/arm/cortex/gtmr.c			armgtmr

# Interrupt Controller (BCM2835_ARMICU_BASE) #, pic_splfuncs
d37 1
a37 1
file	arch/arm/broadcom/bcm2835_tmr.c		bcmtmr & !bcm2836
a52 4
# AUX UART (BCM2835_AUX_UART_BASE)
attach	com at obio with bcmcom
file	arch/arm/broadcom/bcm2835_com.c		bcmcom

a56 10
# SD Host Controller (BCM2835_SDHOST_BASE)
device	sdhost: sdmmcbus
attach	sdhost at obio with bcmsdhost
file	arch/arm/broadcom/bcm2835_sdhost.c	bcmsdhost	needs-flag

# DMA Controller (BCM2835_DMA0_BASE)
device	bcmdmac
attach	bcmdmac at obio with bcmdmac_amba
file	arch/arm/broadcom/bcm2835_dmac.c	bcmdmac		needs-flag

d83 1
a83 1
device	vcaudio: audiobus, auconv, mulaw, aurateconv, auvolconv
a90 11

# Clock Manager (BCM2835_CM_BASE)
device	bcmcm
attach	bcmcm at obio with bcmcm_amba
file	arch/arm/broadcom/bcm2835_cm.c		bcmcm		needs-flag

# PWM Controller (BCM2835_PWM_BASE)
device	bcmpwm
attach	bcmpwm at obio with bcmpwm_amba
file	arch/arm/broadcom/bcm2835_pwm.c		bcmpwm		needs-flag

@


1.5.4.1
log
@file files.bcm2835 was added on branch yamt-pagecache on 2012-10-30 17:19:00 +0000
@
text
@d1 49
@


1.5.4.2
log
@sync with head
@
text
@a0 49
#	$NetBSD$
#
# Configuration info for Broadcom BCM2835 ARM Peripherals
#

include "arch/arm/pic/files.pic"

file	arch/arm/arm32/irq_dispatch.S
file	arch/arm/broadcom/bcm2835_dma.c
file	arch/arm/broadcom/bcm2835_mbox_subr.c

# OBIO just an attach point
#, [mult=1], [intrbase=-1], [nobyteacc=0]
device	obio { [addr=-1], [size=0], [intr=-1]
	     } : bus_space_generic, pic, pic_splfuncs
attach	obio at mainbus
file	arch/arm/broadcom/bcm2835_obio.c	obio needs-count

# OBIO files
file	arch/arm/broadcom/bcm2835_space.c	obio
file	arch/arm/arm/bus_space_a4x.S		obio

# Interrupt Controller (BCM2835_ARMICU_BASE)
device	bcmicu: pic, pic_splfuncs
attach	bcmicu at obio with bcmicu
file	arch/arm/broadcom/bcm2835_intr.c	bcmicu

# VC Mailbox (BCM2835_ARMMBOX_BASE)
device	bcmmbox
attach	bcmmbox at obio with bcmmbox
file	arch/arm/broadcom/bcm2835_mbox.c	bcmmbox

# System Timer (BCM2835_TIMER_BASE)
device	bcmtmr
attach	bcmtmr at obio with bcmtmr_amba
file	arch/arm/broadcom/bcm2835_tmr.c		bcmtmr

# Power Management, Reset Controller, and Watchdog (BCM2835_PM_BASE)
device	bcmpm
attach	bcmpm at obio with bcmpm_amba
file	arch/arm/broadcom/bcm2835_pm.c		bcmpm

# UART Interface (BCM2835_UART0_BASE)
attach	plcom at obio with bcmplcom
file	arch/arm/broadcom/bcm2835_plcom.c	bcmplcom

# External Mass Media Controller (BCM2835_EMMC_BASE)
attach	sdhc at obio with bcmemmc
file	arch/arm/broadcom/bcm2835_emmc.c	bcmemmc
@


1.5.4.3
log
@sync with head
@
text
@d1 1
a1 1
#	$NetBSD: files.bcm2835,v 1.5.4.2 2012/10/30 17:19:00 yamt Exp $
a7 2
define bcmmboxbus { }

d29 1
a29 1
device	bcmmbox: bcmmboxbus
d39 1
a39 1
device	bcmpm: sysmon_wdog
a49 22

# USB (BCM2835_USB_BASE)
attach dotg at obio with dotg_amba
file	arch/arm/broadcom/bcm2835_dotg.c	dotg	needs-flag

# GPIO misc. functions
define	bcm2835_gpio_subr
file	arch/arm/broadcom/bcm2835_gpio_subr.c	bcm2835_gpio_subr

# SPI controller (BCM2835_SPI0_BASE)
device	bcmspi: spibus, bcm2835_gpio_subr
attach	bcmspi at obio
file	arch/arm/broadcom/bcm2835_spi.c		bcmspi	needs-flag

# BSC (I2C) controller (BCM2835_BSC[01]_BASE)
device	bsciic: i2cbus, bcm2835_gpio_subr
attach	bsciic at obio
file	arch/arm/broadcom/bcm2835_bsc.c		bsciic	needs-flag

# Generic framebuffer console driver
attach	genfb at obio with bcmgenfb: edid
file	arch/arm/broadcom/bcm2835_genfb.c	bcmgenfb	needs-flag
@


1.5.4.4
log
@sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs.  ("Protocol error: too many arguments")
@
text
@d1 1
a1 1
#	$NetBSD: files.bcm2835,v 1.5.4.3 2013/01/23 00:05:41 yamt Exp $
d15 1
a44 5
# Random number generator (BCM2835_RNG_BASE)
device	bcmrng
attach	bcmrng at obio with bcmrng_amba
file	arch/arm/broadcom/bcm2835_rng.c		bcmrng

d54 2
a55 2
attach dwctwo at obio with bcmdwctwo
file	arch/arm/broadcom/bcm2835_dwctwo.c	bcmdwctwo	needs-flag
a73 13

# VCHIQ
include "external/bsd/vchiq/conf/files.vchiq"

# VC audio
device	vcaudio: audiobus, auconv, mulaw, aurateconv
attach	vcaudio at vchiqbus
file	arch/arm/broadcom/bcm2835_vcaudio.c	vcaudio

# GPIO
device	bcmgpio: gpiobus
attach	bcmgpio at obio
file	arch/arm/broadcom/bcm2835_gpio.c
@


1.4
log
@As we'll soon get boot-time information via the mailbox method, seperate
the actual access code into a seperate file that can be used by itself.
@
text
@d1 1
a1 1
#	$NetBSD: files.bcm2835,v 1.3 2012/08/22 02:16:59 jakllsch Exp $
d10 1
a10 1
file	arch/arm/broadcom/bcm2835_box_subr.c
@


1.3
log
@Remove defparam MEMSIZE, MEMSIZE is no longer used.
@
text
@d1 1
a1 1
#	$NetBSD: files.bcm2835,v 1.2 2012/08/20 07:45:24 skrll Exp $
d10 1
@


1.2
log
@First pass at a VC mailbox driver.
@
text
@d1 1
a1 1
#	$NetBSD: files.bcm2835,v 1.1 2012/07/26 06:21:57 skrll Exp $
a10 3
# Memory size in megabytes
defparam opt_broadcom.h				MEMSIZE

@


1.1
log
@Initial commit of support for the RaspberryPI (www.raspberrypi.org)

This is enough for serial console via the gpio header pins and to get to
multiuser.

A huge thank you to Matt Thomas for all his help.
@
text
@d1 1
a1 1
#	$NetBSD$
d30 5
@


1.1.2.1
log
@file files.bcm2835 was added on branch netbsd-6 on 2012-08-09 06:36:50 +0000
@
text
@d1 46
@


1.1.2.2
log
@Pull up revisions:
  src/sys/arch/evbarm/dev/plcomreg.h revisions 1.2,1.3,1.4
  src/sys/arch/evbarm/conf/INTEGRATOR revision 1.65
  src/sys/arch/evbarm/dev/plcom.c revisions 1.34,1.35,1.36,1.37,1.38,1.39,1.40
  src/sys/arch/evbarm/ifpga/plcom_ifpga.c revisions 1.12,1.13,1.14
  src/sys/arch/evbarm/dev/plcomvar.h revisions 1.9,1.10,1.11
  src/sys/arch/evbarm/ifpga/plcom_ifpgavar.h revision 1.2
  src/sys/arch/arm/arm/cpufunc.c revisions 1.105,1.108
  src/sys/arch/arm/arm32/cpu.c revision 1.79
  src/sys/arch/arm/include/armreg.h revisions 1.49,1.54
  src/sys/arch/arm/arm32/pmap.c revision 1.229
  src/sys/arch/arm/arm32/arm32_machdep.c revision 1.77
  src/sys/arch/arm/include/cpu.h revision 1.64
  src/sys/arch/arm/arm/cpufunc_asm_arm1136.S revision 1.3
  src/sys/arch/arm/arm/cpufunc_asm_arm11x6.S revision 1.1
  src/sys/arch/arm/conf/files.arm revision 1.106
  src/sys/arch/arm/include/cpufunc.h revision 1.57
  src/sys/dev/sdmmc/sdhc.c revisions 1.14,1.24
  src/sys/dev/sdmmc/sdhcvar.h revisions 1.7,1.8
  src/sys/arch/evbarm/ifpga/ifpgareg.h revision 1.4
  src/sys/arch/evbarm/integrator/integrator_machdep.c revision 1.69
  src/sys/arch/arm/broadcom/bcm2835_dma.c revision 1.1
  src/sys/arch/arm/broadcom/bcm2835_emmc.c revision 1.1
  src/sys/arch/arm/broadcom/bcm2835_intr.c revision 1.1
  src/sys/arch/arm/broadcom/bcm2835_intr.h revision 1.1
  src/sys/arch/arm/broadcom/bcm2835_obio.c revision 1.1
  src/sys/arch/arm/broadcom/bcm2835_plcom.c revision 1.1
  src/sys/arch/arm/broadcom/bcm2835_pm.c revision 1.1
  src/sys/arch/arm/broadcom/bcm2835_pmvar.h revision 1.1
  src/sys/arch/arm/broadcom/bcm2835_space.c revision 1.1
  src/sys/arch/arm/broadcom/bcm2835_tmr.c revision 1.1
  src/sys/arch/arm/broadcom/bcm2835reg.h revision 1.1
  src/sys/arch/arm/broadcom/bcm2835var.h revision 1.1
  src/sys/arch/arm/broadcom/bcm_amba.h revision 1.1
  src/sys/arch/arm/broadcom/files.bcm2835 revision 1.1
  src/sys/arch/evbarm/Makefile revision 1.9
  src/sys/arch/evbarm/conf/RPI revision 1.1
  src/sys/arch/evbarm/conf/files.rpi revision 1.1
  src/sys/arch/evbarm/conf/mk.rpi revision 1.1
  src/sys/arch/evbarm/conf/std.rpi revision 1.1
  src/sys/arch/evbarm/rpi/genassym.cf revision 1.1
  src/sys/arch/evbarm/rpi/rpi.h revision 1.1
  src/sys/arch/evbarm/rpi/rpi_machdep.c revision 1.1
  src/sys/arch/evbarm/rpi/rpi_start.S revision 1.1,1.2
  src/etc/etc.evbarm/Makefile.inc revision 1.28
(requested by skrll in ticket #454).

don't mix #define<TAB> and #define<SPACE> in a file.

avoid warning with options PLCOM_DEBUG for INTEGRATOR.

Rename register values. No functional change - same code before and after.

Existing names are prefixed with PL01X_ where they're common between the
PL010 and the PL011. The PL010_/PL011_ prefixes are added where they're
found only on the respective chips.

Replace the simple_lock with a kmutex_t.  Update the locking to match
com(4) in the few places it didn't already.

DOH.  Replace a line that got accidently deleted in the last commit.

device_t/softc split
struct device * -> device_t
struct cfdata * -> cfdata_t

Add the 'Z' to the 1176 cpu product name.

ok matt@@

Fix locking botch introduced in 1.36.

Fix a KASSERT. From/OK'ed by matt@@

Fix racy softint dispatch that lead to KASSERT(si->si_active) in
softint_execute

Discussed with matt@@. "Looks good to me"

Add the documented ARM11[37]6 Auxiliary control register defines.

Add support for the ARM1176JZS

Add a flag for the lack of LED_ON in HOST_CTL (ti omap3 doesn't do that).

Provide a method for attachments to specify capabilites.

Add support for the PL011 to plcom. Pull across a bunch of fixes from
com(4) while I'm here and do some other tidyup.

Tested on a RaspberryPi.

PL010 not tested.

Initial commit of support for the RaspberryPI (www.raspberrypi.org)

This is enough for serial console via the gpio header pins and to get to
multiuser.

A huge thank you to Matt Thomas for all his help.

Add RPI to KERNEL_SETS

Remove #if 0 code.
@
text
@a0 46
#	$NetBSD$
#
# Configuration info for Broadcom BCM2835 ARM Peripherals
#

include "arch/arm/pic/files.pic"

file	arch/arm/arm32/irq_dispatch.S
file	arch/arm/broadcom/bcm2835_dma.c

# Memory size in megabytes
defparam opt_broadcom.h				MEMSIZE

# OBIO just an attach point
#, [mult=1], [intrbase=-1], [nobyteacc=0]
device	obio { [addr=-1], [size=0], [intr=-1]
	     } : bus_space_generic, pic, pic_splfuncs
attach	obio at mainbus
file	arch/arm/broadcom/bcm2835_obio.c	obio needs-count

# OBIO files
file	arch/arm/broadcom/bcm2835_space.c	obio
file	arch/arm/arm/bus_space_a4x.S		obio

# Interrupt Controller (BCM2835_ARMICU_BASE)
device	bcmicu: pic, pic_splfuncs
attach	bcmicu at obio with bcmicu
file	arch/arm/broadcom/bcm2835_intr.c	bcmicu

# System Timer (BCM2835_TIMER_BASE)
device	bcmtmr
attach	bcmtmr at obio with bcmtmr_amba
file	arch/arm/broadcom/bcm2835_tmr.c		bcmtmr

# Power Management, Reset Controller, and Watchdog (BCM2835_PM_BASE)
device	bcmpm
attach	bcmpm at obio with bcmpm_amba
file	arch/arm/broadcom/bcm2835_pm.c		bcmpm

# UART Interface (BCM2835_UART0_BASE)
attach	plcom at obio with bcmplcom
file	arch/arm/broadcom/bcm2835_plcom.c	bcmplcom

# External Mass Media Controller (BCM2835_EMMC_BASE)
attach	sdhc at obio with bcmemmc
file	arch/arm/broadcom/bcm2835_emmc.c	bcmemmc
@


1.1.2.3
log
@
sys/arch/arm/broadcom/bcm2835_emmc.c		patch
sys/arch/arm/broadcom/bcm2835reg.h		patch
sys/arch/arm/broadcom/bcm2835_mbox.h		1.1-1.3 via patch
sys/arch/arm/broadcom/bcm2835_mbox_subr.c	1.1-1.3 via patch
sys/arch/arm/broadcom/bcm2835_mboxreg.h		1.1 via patch
sys/arch/arm/broadcom/files.bcm2835		patch
sys/arch/evbarm/rpi/rpi_machdep.c		patch
sys/arch/evbarm/rpi/rpi_start.S			patch
sys/arch/evbarm/rpi/vcio.h			1.1 via patch
sys/arch/evbarm/rpi/vcprop.h			1.1-1.2 via patch

	Improve Raspberry PI support: memory layout and clock for the
	sdhc(4) controller are queried via the mailbox properties
	channel.
	[skrll, ticket #660]
@
text
@d1 1
a1 1
#	$NetBSD: files.bcm2835,v 1.1.2.2 2012/08/09 06:36:50 jdc Exp $
a9 1
file	arch/arm/broadcom/bcm2835_mbox_subr.c
@


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

etc/MAKEDEV.tmpl					1.160
etc/etc.evbarm/MAKEDEV.conf				1.9
external/broadcom/rpi-firmware/dist/LICENCE.broadcom	1.1
external/broadcom/rpi-firmware/dist/bootcode.bin	1.1
external/broadcom/rpi-firmware/dist/bootcode.bin	1.2
external/broadcom/rpi-firmware/dist/fixup.dat		1.1
external/broadcom/rpi-firmware/dist/fixup.dat		1.2
external/broadcom/rpi-firmware/dist/fixup_cd.dat	1.1
external/broadcom/rpi-firmware/dist/fixup_cd.dat	1.2
external/broadcom/rpi-firmware/dist/start.elf		1.1
external/broadcom/rpi-firmware/dist/start.elf		1.2
external/broadcom/rpi-firmware/dist/start_cd.elf	1.1
external/broadcom/rpi-firmware/dist/start_cd.elf	1.2
sys/arch/arm/broadcom/bcm2835_bsc.c			1.1 via patch
sys/arch/arm/broadcom/bcm2835_bscreg.h			1.1 via patch
sys/arch/arm/broadcom/bcm2835_dotg.c			1.1 via patch
sys/arch/arm/broadcom/bcm2835_emmc.c			1.7 via patch
sys/arch/arm/broadcom/bcm2835_genfb.c			1.4 via patch
sys/arch/arm/broadcom/bcm2835_gpio_subr.c		1.2 via patch
sys/arch/arm/broadcom/bcm2835_gpio_subr.h		1.1 via patch
sys/arch/arm/broadcom/bcm2835_gpioreg.h			1.1 via patch
sys/arch/arm/broadcom/bcm2835_intr.c			1.3 via patch
sys/arch/arm/broadcom/bcm2835_mbox.c			1.5 via patch
sys/arch/arm/broadcom/bcm2835_mbox.h			1.4 via patch
sys/arch/arm/broadcom/bcm2835_obio.c			1.17 via patch
sys/arch/arm/broadcom/bcm2835_pm.c			1.2 via patch
sys/arch/arm/broadcom/bcm2835_rng.c			1.3 via patch
sys/arch/arm/broadcom/bcm2835_space.c			1.5 via patch
sys/arch/arm/broadcom/bcm2835_spi.c			1.1 via patch
sys/arch/arm/broadcom/bcm2835_spireg.h			1.1 via patch
sys/arch/arm/broadcom/bcm2835_tmr.c			1.3 via patch
sys/arch/arm/broadcom/bcm2835reg.h			1.10 via patch
sys/arch/arm/broadcom/files.bcm2835			1.14 via patch
sys/arch/evbarm/conf/RPI				1.23 via patch
sys/arch/evbarm/conf/files.rpi				1.3 via patch
sys/arch/evbarm/conf/mk.rpi				1.2 via patch
sys/arch/evbarm/conf/std.rpi				1.4 via patch
sys/arch/evbarm/rpi/rpi_machdep.c			1.34 via patch
sys/arch/evbarm/rpi/rpi_start.S				1.7 via patch
sys/arch/evbarm/rpi/rpi_vcmbox.c			1.2 via patch
sys/arch/evbarm/rpi/vcio.h				1.1 via patch
sys/arch/evbarm/rpi/vcprop.h				1.7 via patch
sys/conf/files						patch
sys/dev/sdmmc/sdhc.c					1.43
sys/dev/sdmmc/sdhcvar.h					1.13
sys/dev/usb/dwc_otg.c					1.45 via patch
sys/dev/usb/dwc_otgreg.h				1.5 via patch
sys/dev/usb/dwc_otgvar.h				1.11 via patch
sys/dev/usb/files.usb					1.126 via patch
sys/dev/usb/if_smsc.c					1.7 via patch
sys/dev/usb/if_smscreg.h				1.1 via patch
sys/dev/usb/if_smscvar.h				1.1 via patch
sys/dev/usb/usbdevices.config				patch
sys/dev/usb/usbdevs					1.633 via patch
sys/dev/usb/usbdevs.h					regen
sys/dev/usb/usbdevs_data.h				regen
sys/dev/wscons/wsconsio.h				1.105,1.107 via patch
sys/dev/wscons/wsdisplayvar.h				1.50
sys/dev/wscons/wsdisplay_util.c				1.2
sys/dev/videomode/edid.c				1.12 via patch

	Greatly improved Raspberry Pi support.  USB and onboard
	Ethernet should work.
	[skrll, ticket #813]
@
text
@d1 1
a1 1
#	$NetBSD: files.bcm2835,v 1.1.2.3 2012/11/19 19:12:59 riz Exp $  
a7 2
define bcmmboxbus { }

d12 3
a30 5
# VC Mailbox (BCM2835_ARMMBOX_BASE)
device	bcmmbox: bcmmboxbus
attach	bcmmbox at obio with bcmmbox
file	arch/arm/broadcom/bcm2835_mbox.c	bcmmbox

d37 1
a37 1
device	bcmpm: sysmon_wdog
a40 5
# Random number generator (BCM2835_RNG_BASE)
device	bcmrng
attach	bcmrng at obio with bcmrng_amba
file	arch/arm/broadcom/bcm2835_rng.c		bcmrng

a47 22

# USB (BCM2835_USB_BASE)
attach dotg at obio with dotg_amba
file	arch/arm/broadcom/bcm2835_dotg.c	dotg	needs-flag

# GPIO misc. functions
define	bcm2835_gpio_subr
file	arch/arm/broadcom/bcm2835_gpio_subr.c	bcm2835_gpio_subr

# SPI controller (BCM2835_SPI0_BASE)
device	bcmspi: spibus, bcm2835_gpio_subr
attach	bcmspi at obio
file	arch/arm/broadcom/bcm2835_spi.c		bcmspi	needs-flag

# BSC (I2C) controller (BCM2835_BSC[01]_BASE)
device	bsciic: i2cbus, bcm2835_gpio_subr
attach	bsciic at obio
file	arch/arm/broadcom/bcm2835_bsc.c		bsciic	needs-flag

# Generic framebuffer console driver
attach	genfb at obio with bcmgenfb: edid
file	arch/arm/broadcom/bcm2835_genfb.c	bcmgenfb	needs-flag
@


