History log of /src/sys/arch/evbarm/rpi/
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: perseant-exfatfs-base-20250801 perseant-exfatfs-base-20240630 perseant-exfatfs-base bouyer-sunxi-drm-base cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-futex-base bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406 ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020
1.5 18-Oct-2018 skrll

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


Revision tags: pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407
1.4 01-Apr-2018 ryo

branches: 1.4.2;
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@)


Revision tags: pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
1.3 10-Dec-2017 skrll

branches: 1.3.2;
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


Revision tags: netbsd-8-3-RELEASE netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
1.2 28-Feb-2015 skrll

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

This commit changes the KVA layout of the RPI.


Revision tags: nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 tls-maxphys-base
1.1 26-Jul-2012 skrll

branches: 1.1.2; 1.1.4; 1.1.6; 1.1.18; 1.1.20;
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.


Revision tags: perseant-exfatfs-base-20250801 perseant-exfatfs-base-20240630 perseant-exfatfs-base bouyer-sunxi-drm-base cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-futex-base
1.6 04-Jul-2020 skrll

G/C


Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
1.5 10-Dec-2017 skrll

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


Revision tags: netbsd-8-3-RELEASE netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
1.4 28-Feb-2015 skrll

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

This commit changes the KVA layout of the RPI.


Revision tags: nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
1.3 06-Apr-2014 skrll

branches: 1.3.2; 1.3.4;
Re-arrange RPI VM layout and enable __HAVE_MM_MD_DIRECT_MAPPED_PHYS. RPI
kernels now boot again.

I'm not admitting defeat in why there are problems with the
non-__HAVE_MM_MD_DIRECT_MAPPED_PHYS case.


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3
1.2 05-Sep-2013 skrll

branches: 1.2.2;
Whitespace


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
1.1 26-Jul-2012 skrll

branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8;
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.


Revision tags: perseant-exfatfs-base-20250801 perseant-exfatfs-base-20240630 perseant-exfatfs-base bouyer-sunxi-drm-base cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-futex-base bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406 ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020
1.9 18-Oct-2018 skrll

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


Revision tags: pgoyette-compat-0930 pgoyette-compat-0906
1.8 03-Aug-2018 skrll

Provide and use kern_vtopdiff in KERN_{VTOPHYS,PHYSTOV}. A step towards
generic arm.


Revision tags: pgoyette-compat-0728 phil-wifi-base
1.7 27-Jun-2018 ryo

branches: 1.7.2;
on evbarm/RPI,RPI2, VERBOSE_INIT_ARM had broken.

XPUTC() of evbarm/rpi/rpi*_start.S uses bcm283[567]_platform_early_putchar() and it requires stack.
fixed to allocate stack when starting from rpi*_start.S and a9_mpsubr.S if needed.

to work XPUTC(), need to define VERBOSE_INIT_ARM and EARLYCONS option.


1.6 27-Jun-2018 ryo

remove unnecessary code. .Lmmu_init_table is in same section, and also not r8.


Revision tags: pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
1.5 03-Mar-2018 skrll

branches: 1.5.2;
Start code now updates a global variable fdt_addr_r to handle differences
in boot protocol (think arm64)


1.4 10-Dec-2017 skrll

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


Revision tags: netbsd-8-3-RELEASE netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
1.3 17-Dec-2015 skrll

branches: 1.3.16;
Check for hypervisor mode in cortex_init and exit if the cpu started
there.

Needed by latest RPI firmware.


Revision tags: nick-nhusb-base-20150921 nick-nhusb-base-20150606
1.2 18-Apr-2015 skrll

Use character constants instead of ascii values for readability


Revision tags: nick-nhusb-base-20150406
1.1 28-Feb-2015 skrll

branches: 1.1.2; 1.1.4;
Initial RPI2 support - it doesn't work yet. The generic timer gets messed
up somehow.

This commit changes the KVA layout of the RPI.


Revision tags: perseant-exfatfs-base-20250801 perseant-exfatfs-base-20240630 perseant-exfatfs-base bouyer-sunxi-drm-base cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-futex-base bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406 ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
1.83 10-Dec-2017 skrll

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


Revision tags: tls-maxphys-base-20171202
1.82 07-Nov-2017 ryo

on RPI2, fix compile failure without options MULTIPROCESSOR.


1.81 04-Nov-2017 jmcneill

Firmware after May 8, 2017 places APs in WFE state at boot. Add a "sev"
after writing the start vector, otherwise secondary CPUs will not boot.


Revision tags: nick-nhusb-base-20170825
1.80 16-Aug-2017 jmcneill

Disable sdhost instead of sdhc for non-wifibt boards.


1.79 12-Aug-2017 jmcneill

For boards with bluetooth, use AUX UART for console and PLCOM for bt.


1.78 01-Aug-2017 jmcneill

Enable GPCLK2 to Bluetooth.


1.77 31-Jul-2017 jmcneill

Only remap sdhost/sdhci on boards with wifi.


1.76 31-Jul-2017 jmcneill

Enable AUX UART for BT on btwifi boards


1.75 30-Jul-2017 jmcneill

Add support for BCM2835 AUX UART.


1.74 30-Jul-2017 jmcneill

Explicitly configure pin pull-down/up settings for SDIO.


1.73 30-Jul-2017 jmcneill

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.


Revision tags: perseant-stdc-iso10646-base
1.72 17-Jun-2017 jmcneill

Enable UART0 (PL011) on GPIO header for Raspberry Pi 3 / Zero W


1.71 17-Jun-2017 jmcneill

Disable BSC0 on Raspberry Pi 3 and Zero W boards.


Revision tags: netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107
1.70 06-Jan-2017 skrll

branches: 1.70.8;
Use the VC property mailbox to request the UART clock rate and use it
appropriately

Newer firmwares use 48MHz


1.69 06-Jan-2017 skrll

Whitespace


Revision tags: nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319
1.68 02-Feb-2016 skrll

branches: 1.68.2;
Fix up bcm283[56] bus_space(4) to really use bus addresses for
peripherals, etc

Simplifies the code in various places and uses the abstraction in
more places. (bcm2835_gpio_subr.c still doesn't)


Revision tags: nick-nhusb-base-20151226 nick-nhusb-base-20150921
1.67 01-Aug-2015 skrll

Re-enable cpus [123] now that bcm2835_intr.c is fixed with rev 1.11/


Revision tags: nick-nhusb-base-20150606
1.66 31-May-2015 skrll

No need to cpu_dcache_wbinv_all now that a9_mpsubr.S invalidates L1 only
as it should


1.65 27-May-2015 jmcneill

MP not ready, disable it again


1.64 21-May-2015 skrll

Before spinning up the secondary cpus flush the dcache otherwise the
dcache invalidate in cortex_mpstart makes bad things happen.

I have no idea why.

RPI2 boots again


1.63 21-May-2015 jmcneill

re-enable multiprocessor support now that sdmmc has been fixed


1.62 01-May-2015 skrll

Disable non-boot CPUs on RPI2 - there are still issues with interrupt
handling.


1.61 12-Apr-2015 skrll

RPI2 MP support.

Thanks to Matt Thomas for making this possible with his changes to pic.c


1.60 11-Apr-2015 skrll

Tweak cpu start up slightly and print TTBR for cortex_mmuinfo when
VERBOSE_INIT_ARM


Revision tags: nick-nhusb-base-20150406
1.59 15-Mar-2015 joerg

Do invalidate the cache as RPI2 build with Clang can't fetch the memory
config otherwise.


1.58 04-Mar-2015 skrll

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.


1.57 28-Feb-2015 skrll

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

This commit changes the KVA layout of the RPI.


1.56 21-Jan-2015 jmcneill

Newer Raspberry Pi firmware has changed the framebuffer from BGR to RGB.
The method we use to set the pixel order (vcprop set pixel order) does
not seem to work, nor does querying the pixel order (vcprop get pixel order).

The firmware passes this information to the kernel by adding a
"bcm2708_fb.fbswap" kernel cmdline arg. 0=BGR, 1=RGB. If the parameter is
absent, assume we are running on old firmware and use BGR mode.


Revision tags: nick-nhusb-base
1.55 07-Oct-2014 mlelstv

branches: 1.55.2;
fwrev is a timestamp, print in decimal.


1.54 04-Oct-2014 macallan

pay attention to copyin()'s return values


1.53 03-Oct-2014 skrll

Introduce RPI_HWCURSOR and default to off. The existing code causes
problems with vchiq at the moment.


1.52 01-Oct-2014 mlelstv

turn off hardware cursor while blanking screen.


1.51 01-Oct-2014 mlelstv

make board/firmware revisions visible via sysctl


1.50 29-Sep-2014 macallan

shut up gcc warning
while there, do some magic number reduction


1.49 28-Sep-2014 macallan

make global variables static
also, make cursor test pattern red/green to highlight RGB vs. BGR


1.48 28-Sep-2014 macallan

add hardware cursor support


1.47 12-Sep-2014 jmcneill

use dma channel mask from firmware


1.46 07-Sep-2014 skrll

Grab the DMA channel mask from the firmware.


1.45 05-Sep-2014 macallan

implement WSCONSIO_[G|S]VIDEO by hijacking bcm2835_genfb's ioctl
next step: hardware cursor


1.44 22-Aug-2014 skrll

Remove unnecessary #include


Revision tags: netbsd-7-base tls-earlyentropy-base tls-maxphys-base
1.43 25-Jul-2014 jmcneill

branches: 1.43.2;
bump VCPROP_MAXCMDLINE to 1024, use this instead of MAX_BOOT_STRING for sizing boot_args, and allow for overriding VCPROP_MAXCMDLINE in kernel config. Fixes cmdline parsing with newer firmware (required for B+)


1.42 16-Jul-2014 jmcneill

need opt_arm_debug.h for VERBOSE_INIT_ARM


Revision tags: yamt-pagecache-base9 rmind-smpnet-nbase rmind-smpnet-base
1.41 06-Apr-2014 skrll

Re-arrange RPI VM layout and enable __HAVE_MM_MD_DIRECT_MAPPED_PHYS. RPI
kernels now boot again.

I'm not admitting defeat in why there are problems with the
non-__HAVE_MM_MD_DIRECT_MAPPED_PHYS case.


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
1.40 01-Apr-2014 skrll

branches: 1.40.2;
Trailing whitespace.


Revision tags: riastradh-drm2-base3
1.39 10-Dec-2013 joerg

Move alignment attribute onto the types, not the variable instances.
Drop (unused) packed attribute.


1.38 15-Oct-2013 skrll

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.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
1.37 11-May-2013 skrll

branches: 1.37.2;
Add attempt at KGDB support from Reiound. I couldn't get gdb to attach
properly, but the kernel was definitely in kgdb_trap and would respond
to $?#3f if typed via tip(1)


1.36 11-May-2013 skrll

Fix up the VCONS_DRAW_INTR support and DDB.

From reinoud.


Revision tags: agc-symver-base
1.35 19-Mar-2013 garbled

Add a new installer image for Raspberry PI to evbarm

Includes the following major changes:

1) Add new configmenu item to sysinst to allow creation of users at
post-install time.
2) Add an sshramdisk type to evbarm, which is a ramdisk with sshd
enabled, allowing users to install on a headless PI by sshing to the
device with the account "sysinst" password "netbsd" to begin the
installation. (Note, neither the account, nor the ssh setup are copied to
the finalized installation image)
3) Change mkimage to build a boot-only image, without the root filesystems.

Much of the sshramdisk code could be reused on other ports easily.


1.34 04-Feb-2013 skrll

Oops, put back the initialisation of cpu_cc_freq


1.33 04-Feb-2013 skrll

Fix some VERBOSE_INIT_ARM output


1.32 28-Jan-2013 jmcneill

add machdep.serial sysctl for getting board serial number


1.31 25-Jan-2013 jmcneill

dont crash if edid data is missing or bad


Revision tags: yamt-pagecache-base8
1.30 21-Jan-2013 jakllsch

Assume the first ld@sdmmc to attach is the booted device until
possibily-otherwise specified during evbarm cpu_rootconf().


1.29 19-Jan-2013 jmcneill

if the firmware gives us a bad emmc clock rate, ignore it


1.28 11-Jan-2013 jmcneill

allow ukbd to be the console keyboard if genfb is the console display device


1.27 10-Jan-2013 jmcneill

Modify fb attachment so genfb still attaches even if it isn't the console
device. Slight change to cmdline.txt to allow for this:

- console=fb enables fb console, otherwise serial console will be used
- fb=WxH to select a mode, otherwise EDID will be tried and fallback to
default mode (1280x720)
- fb=disable to disable fb completely


1.26 09-Jan-2013 jmcneill

If genfb.type=<int> is passed on cmdline, override the wsdisplay type
returned by WSDISPLAYIO_GTYPE ioctl.


1.25 09-Jan-2013 skrll

Provide the mac address for usmsc(4) as read from the firmware.


1.24 09-Jan-2013 jmcneill

framebuffer only seems to support BGR mode, so request it and set is_bgr property on device when in BGR mode


1.23 09-Jan-2013 skrll

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.


1.22 09-Jan-2013 jmcneill

genfb support for rpi


1.21 08-Jan-2013 skrll

Use the VC power manager mailbox channel to power up the devices we have
support for.


1.20 07-Jan-2013 jmcneill

pass cmdline.txt boot arguments to kernel


1.19 19-Dec-2012 skrll

Get the CPU frequency and set cpu_cc_freq.


Revision tags: yamt-pagecache-base7
1.18 30-Oct-2012 skrll

Query the EMMC clock rate and use it if it's available.


1.17 30-Oct-2012 skrll

Make rpi_bootparams static


Revision tags: yamt-pagecache-base6
1.16 26-Oct-2012 skrll

branches: 1.16.2;
Count the memory regions in bootconfig.dramblocks when using the VCPROP
information.


1.15 19-Oct-2012 skrll

Make the first 8 pages available for use.


1.14 19-Oct-2012 skrll

Style change. No functional change.


1.13 14-Oct-2012 skrll

Add the Raspberry PI firmware VC mailbox channel numbers.

Add some VC property tag definitions and use them to get ARM/VC memory
split.

Grab a few others things in the process, but don't do anything other than
display them when VERBOSE_INIT_ARM is defined.


1.12 13-Oct-2012 skrll

Remove some unused includes


1.11 03-Oct-2012 skrll

Use armreg_ttbr_read instead of local version. No code change.


1.10 03-Oct-2012 skrll

Remove one set of _[AS] defines. No functional change.


1.9 03-Oct-2012 skrll

Remove some unnecessary headers.


1.8 03-Oct-2012 skrll

Update copyright


1.7 01-Sep-2012 skrll

branches: 1.7.2;
Switch RaspberryPI to use the new boot/init code.


1.6 22-Aug-2012 jakllsch

... and remove inclusion of defparam-created header.


1.5 16-Aug-2012 jakllsch

Get accessible memory quantity and kernel command line via Linux ARM 'A'-tag
interface used by Raspberry Pi's start.elf.


1.4 16-Aug-2012 matt

Move the standard definitions of the {UND,IRQ,FIQ,ABT}_STACK_SIZE to
<arm32/machdep.h>
Move the extern for cpu_reset_address to the same file.
Add cpu_reset_address_paddr.
Kill cpu_reset_v4_MMU_disable.
if cpu_reset_address is NULL, then the MMU will be disabled.


1.3 29-Jul-2012 matt

branches: 1.3.2;
Fix more -fno-common fallout.
Move more variables to common locations.


1.2 28-Jul-2012 matt

Remove declartions of physmem


1.1 26-Jul-2012 skrll

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.


Revision tags: perseant-exfatfs-base-20250801 perseant-exfatfs-base-20240630 perseant-exfatfs-base bouyer-sunxi-drm-base cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-futex-base bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406 ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020
1.21 18-Oct-2018 skrll

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


Revision tags: pgoyette-compat-0930 pgoyette-compat-0906
1.20 03-Aug-2018 skrll

Provide and use kern_vtopdiff in KERN_{VTOPHYS,PHYSTOV}. A step towards
generic arm.


1.19 03-Aug-2018 skrll

Subtract KERNEL_BASE_VOFFSET from all VAs to get PA. How did this work
before?


Revision tags: pgoyette-compat-0728 phil-wifi-base
1.18 27-Jun-2018 ryo

branches: 1.18.2;
on evbarm/RPI,RPI2, VERBOSE_INIT_ARM had broken.

XPUTC() of evbarm/rpi/rpi*_start.S uses bcm283[567]_platform_early_putchar() and it requires stack.
fixed to allocate stack when starting from rpi*_start.S and a9_mpsubr.S if needed.

to work XPUTC(), need to define VERBOSE_INIT_ARM and EARLYCONS option.


Revision tags: pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
1.17 03-Mar-2018 skrll

branches: 1.17.2;
Start code now updates a global variable fdt_addr_r to handle differences
in boot protocol (think arm64)


1.16 01-Jan-2018 skrll

Need to map 512MB for some RPIs


1.15 10-Dec-2017 skrll

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


Revision tags: netbsd-8-3-RELEASE netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
1.14 27-Mar-2015 skrll

Trailing whitespace.


1.13 28-Feb-2015 skrll

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

This commit changes the KVA layout of the RPI.


Revision tags: nick-nhusb-base netbsd-7-base tls-earlyentropy-base tls-maxphys-base
1.12 27-Jul-2014 skrll

branches: 1.12.2; 1.12.4;
Prepare for ARM_MMU_EXTENDED


Revision tags: rmind-smpnet-nbase rmind-smpnet-base
1.11 14-May-2014 joerg

Enabling alignment faults and unaligned access at the same time makes
the former win. LLVM is more aggressive than GCC about using unaligned
access, so it would crash during pmap_init.


Revision tags: yamt-pagecache-base9
1.10 07-Apr-2014 skrll

Whitespace.


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
1.9 01-Apr-2014 skrll

branches: 1.9.2;
Trailing whitespace.


Revision tags: riastradh-drm2-base3
1.8 12-Nov-2013 skrll

Add CPU_CONTROL_UNAL_ENABLE. New ABIs demand unaligned accesses!


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
1.7 23-Sep-2012 skrll

branches: 1.7.2; 1.7.4;
Map 1M beyond _end to make sure we bootstrap.


1.6 16-Sep-2012 skrll

Don't depend on any memory split for initial L1 table. Size kernel mapping
according to actual size.


1.5 22-Aug-2012 jakllsch

branches: 1.5.2;
... and remove inclusion of defparam-created header.


1.4 16-Aug-2012 jakllsch

Get accessible memory quantity and kernel command line via Linux ARM 'A'-tag
interface used by Raspberry Pi's start.elf.


1.3 16-Aug-2012 jakllsch

Do not depend on MEMSIZE being defined, instead always place temporary
MMU tables just below 128MiB.


1.2 26-Jul-2012 skrll

branches: 1.2.2;
Remove #if 0 code.


1.1 26-Jul-2012 skrll

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.


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
1.8 08-Mar-2021 mlelstv

Add some firmware support functions and define more properties
- framebuffer
- power management
- vchiq init
- RPI4 USB firmware support


1.7 01-Dec-2020 rin

Data written to and read from bcmmbox(4) should be in little-endian.


1.6 23-Nov-2020 rin

Sort headers. No binary changes.


Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226
1.5 08-Dec-2018 mlelstv

branches: 1.5.12;
Add machdep.cpu.frequency.available node to support estd.

While the RPI can run at many intermediate clock frequencies,
this is sufficient for estd and is known to work with every
firmware revision.


Revision tags: netbsd-8-3-RELEASE netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base
1.4 04-Oct-2014 mlelstv

branches: 1.4.18; 1.4.20;
be verbose about sysmon error.
enable monitoring.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
1.3 01-Apr-2014 skrll

Trailing whitespace.


Revision tags: riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8
1.2 07-Jan-2013 jmcneill

branches: 1.2.2; 1.2.4; 1.2.6; 1.2.8;
Add support for rpi cpu frequency scaling through machdep.cpu.frequency.*
sysctls. The minimum and maximum supported frequencies are based on the
"arm_freq_min" and "arm_freq" values in config.txt.


1.1 07-Jan-2013 jmcneill

add support for rpi temperature sensor


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
1.2 24-Mar-2021 simonb

s/depreciated/deprecated/g


Revision tags: netbsd-8-3-RELEASE netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 netbsd-7-2-RELEASE pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 netbsd-7-1-2-RELEASE pgoyette-compat-base netbsd-7-1-1-RELEASE tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 netbsd-7-1-RELEASE netbsd-7-1-RC2 nick-nhusb-base-20170204 netbsd-7-nhusb-base-20170116 bouyer-socketcan-base pgoyette-localcount-20170107 netbsd-7-1-RC1 nick-nhusb-base-20161204 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE nick-nhusb-base-20161004 localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 netbsd-7-0-1-RELEASE nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 netbsd-7-0-RELEASE nick-nhusb-base-20150921 netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 tls-maxphys-base yamt-pagecache-base6
1.1 14-Oct-2012 skrll

branches: 1.1.2; 1.1.4; 1.1.6; 1.1.56; 1.1.58;
Add the Raspberry PI firmware VC mailbox channel numbers.

Add some VC property tag definitions and use them to get ARM/VC memory
split.

Grab a few others things in the process, but don't do anything other than
display them when VERBOSE_INIT_ARM is defined.


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-8-3-RELEASE netbsd-9-4-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base netbsd-9-3-RELEASE thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 netbsd-7-2-RELEASE pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 netbsd-7-1-2-RELEASE pgoyette-compat-base netbsd-7-1-1-RELEASE tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 netbsd-7-1-RELEASE netbsd-7-1-RC2 nick-nhusb-base-20170204 netbsd-7-nhusb-base-20170116 bouyer-socketcan-base pgoyette-localcount-20170107 netbsd-7-1-RC1 nick-nhusb-base-20161204 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE nick-nhusb-base-20161004 localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 netbsd-7-0-1-RELEASE nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 netbsd-7-0-RELEASE nick-nhusb-base-20150921 netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base agc-symver-base tls-maxphys-base yamt-pagecache-base8
1.1 08-Jan-2013 skrll

branches: 1.1.2; 1.1.4; 1.1.8;
Use the VC power manager mailbox channel to power up the devices we have
support for.


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
1.20 08-Mar-2021 mlelstv

Add some firmware support functions and define more properties
- framebuffer
- power management
- vchiq init
- RPI4 USB firmware support


1.19 01-Dec-2020 rin

Data written to and read from bcmmbox(4) should be in little-endian.


1.18 23-Nov-2020 rin

Remove stray white space. No binary changes.


Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base
1.17 30-Dec-2019 skrll

branches: 1.17.8;
Add emmc2 clock goop from mlelstv@

(missing commit)


Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 nick-nhusb-base-20170825 perseant-stdc-iso10646-base
1.16 17-Jun-2017 jmcneill

branches: 1.16.6;
Disable BSC0 on Raspberry Pi 3 and Zero W boards.


Revision tags: netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422
1.15 03-Apr-2016 mlelstv

branches: 1.15.10;
Add more tags understood by the firmware.


Revision tags: nick-nhusb-base-20160319
1.14 14-Mar-2016 skrll

Update vcprop_tag_clockrate structure


Revision tags: nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base
1.13 28-Sep-2014 macallan

branches: 1.13.2;
add hardware cursor support


1.12 28-Sep-2014 macallan

the RPi wiki had the values for VCPROPTAG_SET_CURSOR_INFO and
VCPROPTAG_SET_CURSOR_STATE swapped - now they actually work
thanks jmcneill@ for having the right idea


1.11 23-Sep-2014 macallan

add VC memory management goop


1.10 23-Sep-2014 macallan

add goop for hardware cursor handling


Revision tags: netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base tls-maxphys-base
1.9 25-Jul-2014 jmcneill

branches: 1.9.2;
bump VCPROP_MAXCMDLINE to 1024, use this instead of MAX_BOOT_STRING for sizing boot_args, and allow for overriding VCPROP_MAXCMDLINE in kernel config. Fixes cmdline parsing with newer firmware (required for B+)


Revision tags: yamt-pagecache-base9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base
1.8 17-Apr-2013 skrll

branches: 1.8.8;
Added __packed in a couple of places to help AEABI


Revision tags: agc-symver-base yamt-pagecache-base8
1.7 08-Jan-2013 jmcneill

add vc fb alpha and screen blanking tags


1.6 08-Jan-2013 jmcneill

add a couple more fb prop tags


1.5 08-Jan-2013 jmcneill

add some framebuffer related vc tags


1.4 07-Jan-2013 jmcneill

Add support for rpi cpu frequency scaling through machdep.cpu.frequency.*
sysctls. The minimum and maximum supported frequencies are based on the
"arm_freq_min" and "arm_freq" values in config.txt.


1.3 07-Jan-2013 jmcneill

add some more vcprop definitions -- power, temperature, and voltage related


Revision tags: yamt-pagecache-base7
1.2 30-Oct-2012 skrll

branches: 1.2.2; 1.2.4;
Add VCPROPTAG_[GS]ET_CLOCK{R,ST}ATE


Revision tags: yamt-pagecache-base6
1.1 14-Oct-2012 skrll

branches: 1.1.2;
Add the Raspberry PI firmware VC mailbox channel numbers.

Add some VC property tag definitions and use them to get ARM/VC memory
split.

Grab a few others things in the process, but don't do anything other than
display them when VERBOSE_INIT_ARM is defined.


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
1.10 08-Mar-2021 mlelstv

Add some firmware support functions and define more properties
- framebuffer
- power management
- vchiq init
- RPI4 USB firmware support


1.9 01-Dec-2020 rin

Data written to and read from bcmmbox(4) should be in little-endian.


1.8 23-Nov-2020 rin

Add missing __KERNEL_RCSID().


1.7 23-Nov-2020 rin

Sort headers. No binary changes.


1.6 04-Jul-2020 skrll

branches: 1.6.2;
G/C


Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
1.5 01-Jan-2018 skrll

Remove unnecessary #includE


1.4 10-Dec-2017 skrll

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


Revision tags: tls-maxphys-base-20171202
1.3 09-Nov-2017 skrll

branches: 1.3.2;
Trailing whitespcae


Revision tags: netbsd-8-3-RELEASE netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base
1.2 03-Oct-2014 skrll

Better error handling.


1.1 28-Sep-2014 macallan

add hardware cursor support