History log of /netbsd-current/sys/arch/arm/broadcom/files.bcm2835
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.43 22-Apr-2022 skrll

Remove stale comment


Revision tags: thorpej-i2c-spi-conf2-base
# 1.42 08-Aug-2021 jmcneill

broadcom: ACPI: Add support for mini UART in ACPI mode.


# 1.41 08-Aug-2021 jmcneill

bcm2838: Add ACPI support for the EMMC2 SDHCI controller.


Revision tags: 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.40 10-Mar-2021 mlelstv

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__


Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406
# 1.39 31-Mar-2020 jmcneill

branches: 1.39.4;
Add ACPI support.


Revision tags: is-mlppp-base ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base
# 1.38 31-Dec-2019 jmcneill

acpi glue is conditional on acpinodebus


# 1.37 30-Dec-2019 jmcneill

Add BCM2835 EMMC acpi glue


# 1.36 30-Dec-2019 jmcneill

Split bcm2835 mbox driver into separate fdt and acpi frontends.


Revision tags: phil-wifi-20191119
# 1.35 04-Sep-2019 mlelstv

RNG200 attachment


Revision tags: netbsd-9-2-RELEASE netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 netbsd-9-base
# 1.34 22-Jun-2019 skrll

Rename watchdog -> bcmpmwdog and sdhost to bcmsdhost


Revision tags: phil-wifi-20190609
# 1.33 08-May-2019 isaki

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


Revision tags: isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020
# 1.32 18-Oct-2018 skrll

branches: 1.32.2;
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.31 01-Apr-2018 ryo

branches: 1.31.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
# 1.30 17-Mar-2018 ryo

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)


Revision tags: pgoyette-compat-0315 pgoyette-compat-base
# 1.29 10-Dec-2017 skrll

branches: 1.29.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: tls-maxphys-base-20171202 nick-nhusb-base-20170825
# 1.28 30-Jul-2017 jmcneill

Add support for BCM2835 AUX UART.


# 1.27 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: 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 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.26 21-Nov-2015 mlelstv

Add drivers to access the clock manager and pulse width modulator.


Revision tags: nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
# 1.25 13-Mar-2015 jmcneill

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.


# 1.24 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
# 1.23 13-Sep-2014 skrll

branches: 1.23.2;
Make emmc use of dma controller optional and disable the bcmdmac for now.

It doesn't work for me.


# 1.22 07-Sep-2014 jmcneill

bcm2835 dma controller driver


Revision tags: netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
# 1.21 22-Apr-2014 kardel

branches: 1.21.2;
add a driver for BCM2835 obio gpio


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3
# 1.20 01-Nov-2013 skrll

branches: 1.20.2;
PR/48342. Add aurateconv as a dependency for vcaudio.


# 1.19 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.


# 1.18 15-Oct-2013 skrll

Small cleanup


# 1.17 21-Sep-2013 skrll

Some dwc2 glue.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
# 1.16 24-Mar-2013 jmcneill

branches: 1.16.4;
add wip videocore4 audio driver


# 1.15 24-Mar-2013 jmcneill

pull in vchiq


Revision tags: agc-symver-base
# 1.14 25-Jan-2013 jmcneill

Add BCM2835 RNG support.


Revision tags: yamt-pagecache-base8
# 1.13 10-Jan-2013 jmcneill

bcm2835 watchdog timer support


# 1.12 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.11 08-Jan-2013 jmcneill

add genfb glue


# 1.10 08-Jan-2013 skrll

Sprinkle needs-flag


# 1.9 07-Jan-2013 jmcneill

allow for a single board specific device to attach to the mbox driver


# 1.8 05-Jan-2013 jakllsch

Add driver for BCM2835 SPI0 controller.


# 1.7 05-Jan-2013 jakllsch

Add driver for Broadcom Serial Control (I��C) master on BCM2835.


# 1.6 05-Jan-2013 jakllsch

Add a function for adjusting the pin muxer in the GPIO block.
(This should probably be revisited later.)


Revision tags: yamt-pagecache-base7 yamt-pagecache-base6
# 1.5 22-Aug-2012 jakllsch

branches: 1.5.2; 1.5.4;
Fix typo in previous.


# 1.4 22-Aug-2012 jakllsch

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.


# 1.3 22-Aug-2012 jakllsch

Remove defparam MEMSIZE, MEMSIZE is no longer used.


# 1.2 20-Aug-2012 skrll

First pass at a VC mailbox driver.


# 1.1 26-Jul-2012 skrll

branches: 1.1.2;
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: thorpej-i2c-spi-conf2-base
# 1.42 08-Aug-2021 jmcneill

broadcom: ACPI: Add support for mini UART in ACPI mode.


# 1.41 08-Aug-2021 jmcneill

bcm2838: Add ACPI support for the EMMC2 SDHCI controller.


Revision tags: 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.40 10-Mar-2021 mlelstv

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__


Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406
# 1.39 31-Mar-2020 jmcneill

branches: 1.39.4;
Add ACPI support.


Revision tags: is-mlppp-base ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base
# 1.38 31-Dec-2019 jmcneill

acpi glue is conditional on acpinodebus


# 1.37 30-Dec-2019 jmcneill

Add BCM2835 EMMC acpi glue


# 1.36 30-Dec-2019 jmcneill

Split bcm2835 mbox driver into separate fdt and acpi frontends.


Revision tags: phil-wifi-20191119
# 1.35 04-Sep-2019 mlelstv

RNG200 attachment


Revision tags: netbsd-9-2-RELEASE netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 netbsd-9-base
# 1.34 22-Jun-2019 skrll

Rename watchdog -> bcmpmwdog and sdhost to bcmsdhost


Revision tags: phil-wifi-20190609
# 1.33 08-May-2019 isaki

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


Revision tags: isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020
# 1.32 18-Oct-2018 skrll

branches: 1.32.2;
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.31 01-Apr-2018 ryo

branches: 1.31.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
# 1.30 17-Mar-2018 ryo

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)


Revision tags: pgoyette-compat-0315 pgoyette-compat-base
# 1.29 10-Dec-2017 skrll

branches: 1.29.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: tls-maxphys-base-20171202 nick-nhusb-base-20170825
# 1.28 30-Jul-2017 jmcneill

Add support for BCM2835 AUX UART.


# 1.27 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: 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 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.26 21-Nov-2015 mlelstv

Add drivers to access the clock manager and pulse width modulator.


Revision tags: nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
# 1.25 13-Mar-2015 jmcneill

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.


# 1.24 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
# 1.23 13-Sep-2014 skrll

branches: 1.23.2;
Make emmc use of dma controller optional and disable the bcmdmac for now.

It doesn't work for me.


# 1.22 07-Sep-2014 jmcneill

bcm2835 dma controller driver


Revision tags: netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
# 1.21 22-Apr-2014 kardel

branches: 1.21.2;
add a driver for BCM2835 obio gpio


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3
# 1.20 01-Nov-2013 skrll

branches: 1.20.2;
PR/48342. Add aurateconv as a dependency for vcaudio.


# 1.19 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.


# 1.18 15-Oct-2013 skrll

Small cleanup


# 1.17 21-Sep-2013 skrll

Some dwc2 glue.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
# 1.16 24-Mar-2013 jmcneill

branches: 1.16.4;
add wip videocore4 audio driver


# 1.15 24-Mar-2013 jmcneill

pull in vchiq


Revision tags: agc-symver-base
# 1.14 25-Jan-2013 jmcneill

Add BCM2835 RNG support.


Revision tags: yamt-pagecache-base8
# 1.13 10-Jan-2013 jmcneill

bcm2835 watchdog timer support


# 1.12 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.11 08-Jan-2013 jmcneill

add genfb glue


# 1.10 08-Jan-2013 skrll

Sprinkle needs-flag


# 1.9 07-Jan-2013 jmcneill

allow for a single board specific device to attach to the mbox driver


# 1.8 05-Jan-2013 jakllsch

Add driver for BCM2835 SPI0 controller.


# 1.7 05-Jan-2013 jakllsch

Add driver for Broadcom Serial Control (I��C) master on BCM2835.


# 1.6 05-Jan-2013 jakllsch

Add a function for adjusting the pin muxer in the GPIO block.
(This should probably be revisited later.)


Revision tags: yamt-pagecache-base7 yamt-pagecache-base6
# 1.5 22-Aug-2012 jakllsch

branches: 1.5.2; 1.5.4;
Fix typo in previous.


# 1.4 22-Aug-2012 jakllsch

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.


# 1.3 22-Aug-2012 jakllsch

Remove defparam MEMSIZE, MEMSIZE is no longer used.


# 1.2 20-Aug-2012 skrll

First pass at a VC mailbox driver.


# 1.1 26-Jul-2012 skrll

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


# 1.41 08-Aug-2021 jmcneill

bcm2838: Add ACPI support for the EMMC2 SDHCI controller.


Revision tags: 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.40 10-Mar-2021 mlelstv

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__


Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406
# 1.39 31-Mar-2020 jmcneill

branches: 1.39.4;
Add ACPI support.


Revision tags: is-mlppp-base ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base
# 1.38 31-Dec-2019 jmcneill

acpi glue is conditional on acpinodebus


# 1.37 30-Dec-2019 jmcneill

Add BCM2835 EMMC acpi glue


# 1.36 30-Dec-2019 jmcneill

Split bcm2835 mbox driver into separate fdt and acpi frontends.


Revision tags: phil-wifi-20191119
# 1.35 04-Sep-2019 mlelstv

RNG200 attachment


Revision tags: netbsd-9-2-RELEASE netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 netbsd-9-base
# 1.34 22-Jun-2019 skrll

Rename watchdog -> bcmpmwdog and sdhost to bcmsdhost


Revision tags: phil-wifi-20190609
# 1.33 08-May-2019 isaki

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


Revision tags: isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020
# 1.32 18-Oct-2018 skrll

branches: 1.32.2;
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.31 01-Apr-2018 ryo

branches: 1.31.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
# 1.30 17-Mar-2018 ryo

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)


Revision tags: pgoyette-compat-0315 pgoyette-compat-base
# 1.29 10-Dec-2017 skrll

branches: 1.29.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: tls-maxphys-base-20171202 nick-nhusb-base-20170825
# 1.28 30-Jul-2017 jmcneill

Add support for BCM2835 AUX UART.


# 1.27 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: 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 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.26 21-Nov-2015 mlelstv

Add drivers to access the clock manager and pulse width modulator.


Revision tags: nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
# 1.25 13-Mar-2015 jmcneill

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.


# 1.24 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
# 1.23 13-Sep-2014 skrll

branches: 1.23.2;
Make emmc use of dma controller optional and disable the bcmdmac for now.

It doesn't work for me.


# 1.22 07-Sep-2014 jmcneill

bcm2835 dma controller driver


Revision tags: netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
# 1.21 22-Apr-2014 kardel

branches: 1.21.2;
add a driver for BCM2835 obio gpio


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3
# 1.20 01-Nov-2013 skrll

branches: 1.20.2;
PR/48342. Add aurateconv as a dependency for vcaudio.


# 1.19 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.


# 1.18 15-Oct-2013 skrll

Small cleanup


# 1.17 21-Sep-2013 skrll

Some dwc2 glue.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
# 1.16 24-Mar-2013 jmcneill

branches: 1.16.4;
add wip videocore4 audio driver


# 1.15 24-Mar-2013 jmcneill

pull in vchiq


Revision tags: agc-symver-base
# 1.14 25-Jan-2013 jmcneill

Add BCM2835 RNG support.


Revision tags: yamt-pagecache-base8
# 1.13 10-Jan-2013 jmcneill

bcm2835 watchdog timer support


# 1.12 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.11 08-Jan-2013 jmcneill

add genfb glue


# 1.10 08-Jan-2013 skrll

Sprinkle needs-flag


# 1.9 07-Jan-2013 jmcneill

allow for a single board specific device to attach to the mbox driver


# 1.8 05-Jan-2013 jakllsch

Add driver for BCM2835 SPI0 controller.


# 1.7 05-Jan-2013 jakllsch

Add driver for Broadcom Serial Control (I��C) master on BCM2835.


# 1.6 05-Jan-2013 jakllsch

Add a function for adjusting the pin muxer in the GPIO block.
(This should probably be revisited later.)


Revision tags: yamt-pagecache-base7 yamt-pagecache-base6
# 1.5 22-Aug-2012 jakllsch

branches: 1.5.2; 1.5.4;
Fix typo in previous.


# 1.4 22-Aug-2012 jakllsch

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.


# 1.3 22-Aug-2012 jakllsch

Remove defparam MEMSIZE, MEMSIZE is no longer used.


# 1.2 20-Aug-2012 skrll

First pass at a VC mailbox driver.


# 1.1 26-Jul-2012 skrll

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


# 1.40 10-Mar-2021 mlelstv

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__


Revision tags: thorpej-futex-base bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406
# 1.39 31-Mar-2020 jmcneill

Add ACPI support.


Revision tags: is-mlppp-base ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base
# 1.38 31-Dec-2019 jmcneill

acpi glue is conditional on acpinodebus


# 1.37 30-Dec-2019 jmcneill

Add BCM2835 EMMC acpi glue


# 1.36 30-Dec-2019 jmcneill

Split bcm2835 mbox driver into separate fdt and acpi frontends.


Revision tags: phil-wifi-20191119
# 1.35 04-Sep-2019 mlelstv

RNG200 attachment


Revision tags: netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 netbsd-9-base
# 1.34 22-Jun-2019 skrll

Rename watchdog -> bcmpmwdog and sdhost to bcmsdhost


Revision tags: phil-wifi-20190609
# 1.33 08-May-2019 isaki

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


Revision tags: isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020
# 1.32 18-Oct-2018 skrll

branches: 1.32.2;
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.31 01-Apr-2018 ryo

branches: 1.31.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
# 1.30 17-Mar-2018 ryo

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)


Revision tags: pgoyette-compat-0315 pgoyette-compat-base
# 1.29 10-Dec-2017 skrll

branches: 1.29.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: tls-maxphys-base-20171202 nick-nhusb-base-20170825
# 1.28 30-Jul-2017 jmcneill

Add support for BCM2835 AUX UART.


# 1.27 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: 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 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.26 21-Nov-2015 mlelstv

Add drivers to access the clock manager and pulse width modulator.


Revision tags: nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
# 1.25 13-Mar-2015 jmcneill

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.


# 1.24 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
# 1.23 13-Sep-2014 skrll

branches: 1.23.2;
Make emmc use of dma controller optional and disable the bcmdmac for now.

It doesn't work for me.


# 1.22 07-Sep-2014 jmcneill

bcm2835 dma controller driver


Revision tags: netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
# 1.21 22-Apr-2014 kardel

branches: 1.21.2;
add a driver for BCM2835 obio gpio


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3
# 1.20 01-Nov-2013 skrll

branches: 1.20.2;
PR/48342. Add aurateconv as a dependency for vcaudio.


# 1.19 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.


# 1.18 15-Oct-2013 skrll

Small cleanup


# 1.17 21-Sep-2013 skrll

Some dwc2 glue.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
# 1.16 24-Mar-2013 jmcneill

branches: 1.16.4;
add wip videocore4 audio driver


# 1.15 24-Mar-2013 jmcneill

pull in vchiq


Revision tags: agc-symver-base
# 1.14 25-Jan-2013 jmcneill

Add BCM2835 RNG support.


Revision tags: yamt-pagecache-base8
# 1.13 10-Jan-2013 jmcneill

bcm2835 watchdog timer support


# 1.12 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.11 08-Jan-2013 jmcneill

add genfb glue


# 1.10 08-Jan-2013 skrll

Sprinkle needs-flag


# 1.9 07-Jan-2013 jmcneill

allow for a single board specific device to attach to the mbox driver


# 1.8 05-Jan-2013 jakllsch

Add driver for BCM2835 SPI0 controller.


# 1.7 05-Jan-2013 jakllsch

Add driver for Broadcom Serial Control (I��C) master on BCM2835.


# 1.6 05-Jan-2013 jakllsch

Add a function for adjusting the pin muxer in the GPIO block.
(This should probably be revisited later.)


Revision tags: yamt-pagecache-base7 yamt-pagecache-base6
# 1.5 22-Aug-2012 jakllsch

branches: 1.5.2; 1.5.4;
Fix typo in previous.


# 1.4 22-Aug-2012 jakllsch

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.


# 1.3 22-Aug-2012 jakllsch

Remove defparam MEMSIZE, MEMSIZE is no longer used.


# 1.2 20-Aug-2012 skrll

First pass at a VC mailbox driver.


# 1.1 26-Jul-2012 skrll

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


# 1.39 31-Mar-2020 jmcneill

Add ACPI support.


Revision tags: ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base
# 1.38 31-Dec-2019 jmcneill

acpi glue is conditional on acpinodebus


# 1.37 30-Dec-2019 jmcneill

Add BCM2835 EMMC acpi glue


# 1.36 30-Dec-2019 jmcneill

Split bcm2835 mbox driver into separate fdt and acpi frontends.


Revision tags: phil-wifi-20191119
# 1.35 04-Sep-2019 mlelstv

RNG200 attachment


Revision tags: netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 netbsd-9-base
# 1.34 22-Jun-2019 skrll

Rename watchdog -> bcmpmwdog and sdhost to bcmsdhost


Revision tags: phil-wifi-20190609
# 1.33 08-May-2019 isaki

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


Revision tags: isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020
# 1.32 18-Oct-2018 skrll

branches: 1.32.2;
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.31 01-Apr-2018 ryo

branches: 1.31.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
# 1.30 17-Mar-2018 ryo

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)


Revision tags: pgoyette-compat-0315 pgoyette-compat-base
# 1.29 10-Dec-2017 skrll

branches: 1.29.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: tls-maxphys-base-20171202 nick-nhusb-base-20170825
# 1.28 30-Jul-2017 jmcneill

Add support for BCM2835 AUX UART.


# 1.27 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: 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 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.26 21-Nov-2015 mlelstv

Add drivers to access the clock manager and pulse width modulator.


Revision tags: nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
# 1.25 13-Mar-2015 jmcneill

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.


# 1.24 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
# 1.23 13-Sep-2014 skrll

branches: 1.23.2;
Make emmc use of dma controller optional and disable the bcmdmac for now.

It doesn't work for me.


# 1.22 07-Sep-2014 jmcneill

bcm2835 dma controller driver


Revision tags: netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
# 1.21 22-Apr-2014 kardel

branches: 1.21.2;
add a driver for BCM2835 obio gpio


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3
# 1.20 01-Nov-2013 skrll

branches: 1.20.2;
PR/48342. Add aurateconv as a dependency for vcaudio.


# 1.19 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.


# 1.18 15-Oct-2013 skrll

Small cleanup


# 1.17 21-Sep-2013 skrll

Some dwc2 glue.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
# 1.16 24-Mar-2013 jmcneill

branches: 1.16.4;
add wip videocore4 audio driver


# 1.15 24-Mar-2013 jmcneill

pull in vchiq


Revision tags: agc-symver-base
# 1.14 25-Jan-2013 jmcneill

Add BCM2835 RNG support.


Revision tags: yamt-pagecache-base8
# 1.13 10-Jan-2013 jmcneill

bcm2835 watchdog timer support


# 1.12 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.11 08-Jan-2013 jmcneill

add genfb glue


# 1.10 08-Jan-2013 skrll

Sprinkle needs-flag


# 1.9 07-Jan-2013 jmcneill

allow for a single board specific device to attach to the mbox driver


# 1.8 05-Jan-2013 jakllsch

Add driver for BCM2835 SPI0 controller.


# 1.7 05-Jan-2013 jakllsch

Add driver for Broadcom Serial Control (I��C) master on BCM2835.


# 1.6 05-Jan-2013 jakllsch

Add a function for adjusting the pin muxer in the GPIO block.
(This should probably be revisited later.)


Revision tags: yamt-pagecache-base7 yamt-pagecache-base6
# 1.5 22-Aug-2012 jakllsch

branches: 1.5.2; 1.5.4;
Fix typo in previous.


# 1.4 22-Aug-2012 jakllsch

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.


# 1.3 22-Aug-2012 jakllsch

Remove defparam MEMSIZE, MEMSIZE is no longer used.


# 1.2 20-Aug-2012 skrll

First pass at a VC mailbox driver.


# 1.1 26-Jul-2012 skrll

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


# 1.38 31-Dec-2019 jmcneill

acpi glue is conditional on acpinodebus


# 1.37 30-Dec-2019 jmcneill

Add BCM2835 EMMC acpi glue


# 1.36 30-Dec-2019 jmcneill

Split bcm2835 mbox driver into separate fdt and acpi frontends.


Revision tags: phil-wifi-20191119
# 1.35 04-Sep-2019 mlelstv

RNG200 attachment


Revision tags: netbsd-9-0-RC1 netbsd-9-base
# 1.34 22-Jun-2019 skrll

Rename watchdog -> bcmpmwdog and sdhost to bcmsdhost


Revision tags: phil-wifi-20190609
# 1.33 08-May-2019 isaki

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


Revision tags: isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020
# 1.32 18-Oct-2018 skrll

branches: 1.32.2;
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.31 01-Apr-2018 ryo

branches: 1.31.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
# 1.30 17-Mar-2018 ryo

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)


Revision tags: pgoyette-compat-0315 pgoyette-compat-base
# 1.29 10-Dec-2017 skrll

branches: 1.29.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: tls-maxphys-base-20171202 nick-nhusb-base-20170825
# 1.28 30-Jul-2017 jmcneill

Add support for BCM2835 AUX UART.


# 1.27 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: netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 matt-nb8-mediatek-base 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.26 21-Nov-2015 mlelstv

Add drivers to access the clock manager and pulse width modulator.


Revision tags: nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
# 1.25 13-Mar-2015 jmcneill

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.


# 1.24 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
# 1.23 13-Sep-2014 skrll

branches: 1.23.2;
Make emmc use of dma controller optional and disable the bcmdmac for now.

It doesn't work for me.


# 1.22 07-Sep-2014 jmcneill

bcm2835 dma controller driver


Revision tags: netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
# 1.21 22-Apr-2014 kardel

branches: 1.21.2;
add a driver for BCM2835 obio gpio


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3
# 1.20 01-Nov-2013 skrll

branches: 1.20.2;
PR/48342. Add aurateconv as a dependency for vcaudio.


# 1.19 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.


# 1.18 15-Oct-2013 skrll

Small cleanup


# 1.17 21-Sep-2013 skrll

Some dwc2 glue.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
# 1.16 24-Mar-2013 jmcneill

branches: 1.16.4;
add wip videocore4 audio driver


# 1.15 24-Mar-2013 jmcneill

pull in vchiq


Revision tags: agc-symver-base
# 1.14 25-Jan-2013 jmcneill

Add BCM2835 RNG support.


Revision tags: yamt-pagecache-base8
# 1.13 10-Jan-2013 jmcneill

bcm2835 watchdog timer support


# 1.12 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.11 08-Jan-2013 jmcneill

add genfb glue


# 1.10 08-Jan-2013 skrll

Sprinkle needs-flag


# 1.9 07-Jan-2013 jmcneill

allow for a single board specific device to attach to the mbox driver


# 1.8 05-Jan-2013 jakllsch

Add driver for BCM2835 SPI0 controller.


# 1.7 05-Jan-2013 jakllsch

Add driver for Broadcom Serial Control (I��C) master on BCM2835.


# 1.6 05-Jan-2013 jakllsch

Add a function for adjusting the pin muxer in the GPIO block.
(This should probably be revisited later.)


Revision tags: yamt-pagecache-base7 yamt-pagecache-base6
# 1.5 22-Aug-2012 jakllsch

branches: 1.5.2; 1.5.4;
Fix typo in previous.


# 1.4 22-Aug-2012 jakllsch

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.


# 1.3 22-Aug-2012 jakllsch

Remove defparam MEMSIZE, MEMSIZE is no longer used.


# 1.2 20-Aug-2012 skrll

First pass at a VC mailbox driver.


# 1.1 26-Jul-2012 skrll

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


# 1.35 04-Sep-2019 mlelstv

RNG200 attachment


Revision tags: netbsd-9-base
# 1.34 22-Jun-2019 skrll

Rename watchdog -> bcmpmwdog and sdhost to bcmsdhost


Revision tags: phil-wifi-20190609
# 1.33 08-May-2019 isaki

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


Revision tags: isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020
# 1.32 18-Oct-2018 skrll

branches: 1.32.2;
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.31 01-Apr-2018 ryo

branches: 1.31.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
# 1.30 17-Mar-2018 ryo

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)


Revision tags: pgoyette-compat-0315 pgoyette-compat-base
# 1.29 10-Dec-2017 skrll

branches: 1.29.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: tls-maxphys-base-20171202 nick-nhusb-base-20170825
# 1.28 30-Jul-2017 jmcneill

Add support for BCM2835 AUX UART.


# 1.27 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: netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 matt-nb8-mediatek-base 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.26 21-Nov-2015 mlelstv

Add drivers to access the clock manager and pulse width modulator.


Revision tags: nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
# 1.25 13-Mar-2015 jmcneill

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.


# 1.24 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
# 1.23 13-Sep-2014 skrll

branches: 1.23.2;
Make emmc use of dma controller optional and disable the bcmdmac for now.

It doesn't work for me.


# 1.22 07-Sep-2014 jmcneill

bcm2835 dma controller driver


Revision tags: netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
# 1.21 22-Apr-2014 kardel

branches: 1.21.2;
add a driver for BCM2835 obio gpio


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3
# 1.20 01-Nov-2013 skrll

branches: 1.20.2;
PR/48342. Add aurateconv as a dependency for vcaudio.


# 1.19 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.


# 1.18 15-Oct-2013 skrll

Small cleanup


# 1.17 21-Sep-2013 skrll

Some dwc2 glue.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
# 1.16 24-Mar-2013 jmcneill

branches: 1.16.4;
add wip videocore4 audio driver


# 1.15 24-Mar-2013 jmcneill

pull in vchiq


Revision tags: agc-symver-base
# 1.14 25-Jan-2013 jmcneill

Add BCM2835 RNG support.


Revision tags: yamt-pagecache-base8
# 1.13 10-Jan-2013 jmcneill

bcm2835 watchdog timer support


# 1.12 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.11 08-Jan-2013 jmcneill

add genfb glue


# 1.10 08-Jan-2013 skrll

Sprinkle needs-flag


# 1.9 07-Jan-2013 jmcneill

allow for a single board specific device to attach to the mbox driver


# 1.8 05-Jan-2013 jakllsch

Add driver for BCM2835 SPI0 controller.


# 1.7 05-Jan-2013 jakllsch

Add driver for Broadcom Serial Control (I��C) master on BCM2835.


# 1.6 05-Jan-2013 jakllsch

Add a function for adjusting the pin muxer in the GPIO block.
(This should probably be revisited later.)


Revision tags: yamt-pagecache-base7 yamt-pagecache-base6
# 1.5 22-Aug-2012 jakllsch

branches: 1.5.2; 1.5.4;
Fix typo in previous.


# 1.4 22-Aug-2012 jakllsch

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.


# 1.3 22-Aug-2012 jakllsch

Remove defparam MEMSIZE, MEMSIZE is no longer used.


# 1.2 20-Aug-2012 skrll

First pass at a VC mailbox driver.


# 1.1 26-Jul-2012 skrll

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


# 1.34 22-Jun-2019 skrll

Rename watchdog -> bcmpmwdog and sdhost to bcmsdhost


Revision tags: phil-wifi-20190609
# 1.33 08-May-2019 isaki

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


Revision tags: isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020
# 1.32 18-Oct-2018 skrll

branches: 1.32.2;
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.31 01-Apr-2018 ryo

branches: 1.31.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
# 1.30 17-Mar-2018 ryo

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)


Revision tags: pgoyette-compat-0315 pgoyette-compat-base
# 1.29 10-Dec-2017 skrll

branches: 1.29.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: tls-maxphys-base-20171202 nick-nhusb-base-20170825
# 1.28 30-Jul-2017 jmcneill

Add support for BCM2835 AUX UART.


# 1.27 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: netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 matt-nb8-mediatek-base 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.26 21-Nov-2015 mlelstv

Add drivers to access the clock manager and pulse width modulator.


Revision tags: nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
# 1.25 13-Mar-2015 jmcneill

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.


# 1.24 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
# 1.23 13-Sep-2014 skrll

branches: 1.23.2;
Make emmc use of dma controller optional and disable the bcmdmac for now.

It doesn't work for me.


# 1.22 07-Sep-2014 jmcneill

bcm2835 dma controller driver


Revision tags: netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
# 1.21 22-Apr-2014 kardel

branches: 1.21.2;
add a driver for BCM2835 obio gpio


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3
# 1.20 01-Nov-2013 skrll

branches: 1.20.2;
PR/48342. Add aurateconv as a dependency for vcaudio.


# 1.19 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.


# 1.18 15-Oct-2013 skrll

Small cleanup


# 1.17 21-Sep-2013 skrll

Some dwc2 glue.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
# 1.16 24-Mar-2013 jmcneill

branches: 1.16.4;
add wip videocore4 audio driver


# 1.15 24-Mar-2013 jmcneill

pull in vchiq


Revision tags: agc-symver-base
# 1.14 25-Jan-2013 jmcneill

Add BCM2835 RNG support.


Revision tags: yamt-pagecache-base8
# 1.13 10-Jan-2013 jmcneill

bcm2835 watchdog timer support


# 1.12 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.11 08-Jan-2013 jmcneill

add genfb glue


# 1.10 08-Jan-2013 skrll

Sprinkle needs-flag


# 1.9 07-Jan-2013 jmcneill

allow for a single board specific device to attach to the mbox driver


# 1.8 05-Jan-2013 jakllsch

Add driver for BCM2835 SPI0 controller.


# 1.7 05-Jan-2013 jakllsch

Add driver for Broadcom Serial Control (I��C) master on BCM2835.


# 1.6 05-Jan-2013 jakllsch

Add a function for adjusting the pin muxer in the GPIO block.
(This should probably be revisited later.)


Revision tags: yamt-pagecache-base7 yamt-pagecache-base6
# 1.5 22-Aug-2012 jakllsch

branches: 1.5.2; 1.5.4;
Fix typo in previous.


# 1.4 22-Aug-2012 jakllsch

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.


# 1.3 22-Aug-2012 jakllsch

Remove defparam MEMSIZE, MEMSIZE is no longer used.


# 1.2 20-Aug-2012 skrll

First pass at a VC mailbox driver.


# 1.1 26-Jul-2012 skrll

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


# 1.33 08-May-2019 isaki

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


Revision tags: isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020
# 1.32 18-Oct-2018 skrll

branches: 1.32.2;
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.31 01-Apr-2018 ryo

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
# 1.30 17-Mar-2018 ryo

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)


Revision tags: pgoyette-compat-0315 pgoyette-compat-base
# 1.29 10-Dec-2017 skrll

branches: 1.29.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: tls-maxphys-base-20171202 nick-nhusb-base-20170825
# 1.28 30-Jul-2017 jmcneill

Add support for BCM2835 AUX UART.


# 1.27 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: netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 matt-nb8-mediatek-base 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.26 21-Nov-2015 mlelstv

Add drivers to access the clock manager and pulse width modulator.


Revision tags: nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
# 1.25 13-Mar-2015 jmcneill

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.


# 1.24 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
# 1.23 13-Sep-2014 skrll

branches: 1.23.2;
Make emmc use of dma controller optional and disable the bcmdmac for now.

It doesn't work for me.


# 1.22 07-Sep-2014 jmcneill

bcm2835 dma controller driver


Revision tags: netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
# 1.21 22-Apr-2014 kardel

branches: 1.21.2;
add a driver for BCM2835 obio gpio


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3
# 1.20 01-Nov-2013 skrll

branches: 1.20.2;
PR/48342. Add aurateconv as a dependency for vcaudio.


# 1.19 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.


# 1.18 15-Oct-2013 skrll

Small cleanup


# 1.17 21-Sep-2013 skrll

Some dwc2 glue.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
# 1.16 24-Mar-2013 jmcneill

branches: 1.16.4;
add wip videocore4 audio driver


# 1.15 24-Mar-2013 jmcneill

pull in vchiq


Revision tags: agc-symver-base
# 1.14 25-Jan-2013 jmcneill

Add BCM2835 RNG support.


Revision tags: yamt-pagecache-base8
# 1.13 10-Jan-2013 jmcneill

bcm2835 watchdog timer support


# 1.12 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.11 08-Jan-2013 jmcneill

add genfb glue


# 1.10 08-Jan-2013 skrll

Sprinkle needs-flag


# 1.9 07-Jan-2013 jmcneill

allow for a single board specific device to attach to the mbox driver


# 1.8 05-Jan-2013 jakllsch

Add driver for BCM2835 SPI0 controller.


# 1.7 05-Jan-2013 jakllsch

Add driver for Broadcom Serial Control (I��C) master on BCM2835.


# 1.6 05-Jan-2013 jakllsch

Add a function for adjusting the pin muxer in the GPIO block.
(This should probably be revisited later.)


Revision tags: yamt-pagecache-base7 yamt-pagecache-base6
# 1.5 22-Aug-2012 jakllsch

branches: 1.5.2; 1.5.4;
Fix typo in previous.


# 1.4 22-Aug-2012 jakllsch

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.


# 1.3 22-Aug-2012 jakllsch

Remove defparam MEMSIZE, MEMSIZE is no longer used.


# 1.2 20-Aug-2012 skrll

First pass at a VC mailbox driver.


# 1.1 26-Jul-2012 skrll

branches: 1.1.2;
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: isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020
# 1.32 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.31 01-Apr-2018 ryo

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
# 1.30 17-Mar-2018 ryo

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)


Revision tags: pgoyette-compat-0315 pgoyette-compat-base
# 1.29 10-Dec-2017 skrll

branches: 1.29.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: tls-maxphys-base-20171202 nick-nhusb-base-20170825
# 1.28 30-Jul-2017 jmcneill

Add support for BCM2835 AUX UART.


# 1.27 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: netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 matt-nb8-mediatek-base 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.26 21-Nov-2015 mlelstv

Add drivers to access the clock manager and pulse width modulator.


Revision tags: nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
# 1.25 13-Mar-2015 jmcneill

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.


# 1.24 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
# 1.23 13-Sep-2014 skrll

branches: 1.23.2;
Make emmc use of dma controller optional and disable the bcmdmac for now.

It doesn't work for me.


# 1.22 07-Sep-2014 jmcneill

bcm2835 dma controller driver


Revision tags: netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
# 1.21 22-Apr-2014 kardel

branches: 1.21.2;
add a driver for BCM2835 obio gpio


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3
# 1.20 01-Nov-2013 skrll

branches: 1.20.2;
PR/48342. Add aurateconv as a dependency for vcaudio.


# 1.19 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.


# 1.18 15-Oct-2013 skrll

Small cleanup


# 1.17 21-Sep-2013 skrll

Some dwc2 glue.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
# 1.16 24-Mar-2013 jmcneill

branches: 1.16.4;
add wip videocore4 audio driver


# 1.15 24-Mar-2013 jmcneill

pull in vchiq


Revision tags: agc-symver-base
# 1.14 25-Jan-2013 jmcneill

Add BCM2835 RNG support.


Revision tags: yamt-pagecache-base8
# 1.13 10-Jan-2013 jmcneill

bcm2835 watchdog timer support


# 1.12 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.11 08-Jan-2013 jmcneill

add genfb glue


# 1.10 08-Jan-2013 skrll

Sprinkle needs-flag


# 1.9 07-Jan-2013 jmcneill

allow for a single board specific device to attach to the mbox driver


# 1.8 05-Jan-2013 jakllsch

Add driver for BCM2835 SPI0 controller.


# 1.7 05-Jan-2013 jakllsch

Add driver for Broadcom Serial Control (I��C) master on BCM2835.


# 1.6 05-Jan-2013 jakllsch

Add a function for adjusting the pin muxer in the GPIO block.
(This should probably be revisited later.)


Revision tags: yamt-pagecache-base7 yamt-pagecache-base6
# 1.5 22-Aug-2012 jakllsch

branches: 1.5.2; 1.5.4;
Fix typo in previous.


# 1.4 22-Aug-2012 jakllsch

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.


# 1.3 22-Aug-2012 jakllsch

Remove defparam MEMSIZE, MEMSIZE is no longer used.


# 1.2 20-Aug-2012 skrll

First pass at a VC mailbox driver.


# 1.1 26-Jul-2012 skrll

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


# 1.29 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 nick-nhusb-base-20170825
# 1.28 30-Jul-2017 jmcneill

Add support for BCM2835 AUX UART.


# 1.27 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: matt-nb8-mediatek-base 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.26 21-Nov-2015 mlelstv

Add drivers to access the clock manager and pulse width modulator.


Revision tags: nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
# 1.25 13-Mar-2015 jmcneill

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.


# 1.24 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
# 1.23 13-Sep-2014 skrll

branches: 1.23.2;
Make emmc use of dma controller optional and disable the bcmdmac for now.

It doesn't work for me.


# 1.22 07-Sep-2014 jmcneill

bcm2835 dma controller driver


Revision tags: netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
# 1.21 22-Apr-2014 kardel

branches: 1.21.2;
add a driver for BCM2835 obio gpio


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3
# 1.20 01-Nov-2013 skrll

branches: 1.20.2;
PR/48342. Add aurateconv as a dependency for vcaudio.


# 1.19 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.


# 1.18 15-Oct-2013 skrll

Small cleanup


# 1.17 21-Sep-2013 skrll

Some dwc2 glue.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
# 1.16 24-Mar-2013 jmcneill

branches: 1.16.4;
add wip videocore4 audio driver


# 1.15 24-Mar-2013 jmcneill

pull in vchiq


Revision tags: agc-symver-base
# 1.14 25-Jan-2013 jmcneill

Add BCM2835 RNG support.


Revision tags: yamt-pagecache-base8
# 1.13 10-Jan-2013 jmcneill

bcm2835 watchdog timer support


# 1.12 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.11 08-Jan-2013 jmcneill

add genfb glue


# 1.10 08-Jan-2013 skrll

Sprinkle needs-flag


# 1.9 07-Jan-2013 jmcneill

allow for a single board specific device to attach to the mbox driver


# 1.8 05-Jan-2013 jakllsch

Add driver for BCM2835 SPI0 controller.


# 1.7 05-Jan-2013 jakllsch

Add driver for Broadcom Serial Control (I��C) master on BCM2835.


# 1.6 05-Jan-2013 jakllsch

Add a function for adjusting the pin muxer in the GPIO block.
(This should probably be revisited later.)


Revision tags: yamt-pagecache-base7 yamt-pagecache-base6
# 1.5 22-Aug-2012 jakllsch

branches: 1.5.2; 1.5.4;
Fix typo in previous.


# 1.4 22-Aug-2012 jakllsch

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.


# 1.3 22-Aug-2012 jakllsch

Remove defparam MEMSIZE, MEMSIZE is no longer used.


# 1.2 20-Aug-2012 skrll

First pass at a VC mailbox driver.


# 1.1 26-Jul-2012 skrll

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


# 1.28 30-Jul-2017 jmcneill

Add support for BCM2835 AUX UART.


# 1.27 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 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.26 21-Nov-2015 mlelstv

Add drivers to access the clock manager and pulse width modulator.


Revision tags: nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
# 1.25 13-Mar-2015 jmcneill

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.


# 1.24 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
# 1.23 13-Sep-2014 skrll

branches: 1.23.2;
Make emmc use of dma controller optional and disable the bcmdmac for now.

It doesn't work for me.


# 1.22 07-Sep-2014 jmcneill

bcm2835 dma controller driver


Revision tags: netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
# 1.21 22-Apr-2014 kardel

branches: 1.21.2;
add a driver for BCM2835 obio gpio


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3
# 1.20 01-Nov-2013 skrll

branches: 1.20.2;
PR/48342. Add aurateconv as a dependency for vcaudio.


# 1.19 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.


# 1.18 15-Oct-2013 skrll

Small cleanup


# 1.17 21-Sep-2013 skrll

Some dwc2 glue.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
# 1.16 24-Mar-2013 jmcneill

branches: 1.16.4;
add wip videocore4 audio driver


# 1.15 24-Mar-2013 jmcneill

pull in vchiq


Revision tags: agc-symver-base
# 1.14 25-Jan-2013 jmcneill

Add BCM2835 RNG support.


Revision tags: yamt-pagecache-base8
# 1.13 10-Jan-2013 jmcneill

bcm2835 watchdog timer support


# 1.12 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.11 08-Jan-2013 jmcneill

add genfb glue


# 1.10 08-Jan-2013 skrll

Sprinkle needs-flag


# 1.9 07-Jan-2013 jmcneill

allow for a single board specific device to attach to the mbox driver


# 1.8 05-Jan-2013 jakllsch

Add driver for BCM2835 SPI0 controller.


# 1.7 05-Jan-2013 jakllsch

Add driver for Broadcom Serial Control (I��C) master on BCM2835.


# 1.6 05-Jan-2013 jakllsch

Add a function for adjusting the pin muxer in the GPIO block.
(This should probably be revisited later.)


Revision tags: yamt-pagecache-base7 yamt-pagecache-base6
# 1.5 22-Aug-2012 jakllsch

branches: 1.5.2; 1.5.4;
Fix typo in previous.


# 1.4 22-Aug-2012 jakllsch

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.


# 1.3 22-Aug-2012 jakllsch

Remove defparam MEMSIZE, MEMSIZE is no longer used.


# 1.2 20-Aug-2012 skrll

First pass at a VC mailbox driver.


# 1.1 26-Jul-2012 skrll

branches: 1.1.2;
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: 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.26 21-Nov-2015 mlelstv

Add drivers to access the clock manager and pulse width modulator.


Revision tags: nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
# 1.25 13-Mar-2015 jmcneill

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.


# 1.24 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
# 1.23 13-Sep-2014 skrll

branches: 1.23.2;
Make emmc use of dma controller optional and disable the bcmdmac for now.

It doesn't work for me.


# 1.22 07-Sep-2014 jmcneill

bcm2835 dma controller driver


Revision tags: netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
# 1.21 22-Apr-2014 kardel

branches: 1.21.2;
add a driver for BCM2835 obio gpio


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3
# 1.20 01-Nov-2013 skrll

branches: 1.20.2;
PR/48342. Add aurateconv as a dependency for vcaudio.


# 1.19 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.


# 1.18 15-Oct-2013 skrll

Small cleanup


# 1.17 21-Sep-2013 skrll

Some dwc2 glue.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
# 1.16 24-Mar-2013 jmcneill

branches: 1.16.4;
add wip videocore4 audio driver


# 1.15 24-Mar-2013 jmcneill

pull in vchiq


Revision tags: agc-symver-base
# 1.14 25-Jan-2013 jmcneill

Add BCM2835 RNG support.


Revision tags: yamt-pagecache-base8
# 1.13 10-Jan-2013 jmcneill

bcm2835 watchdog timer support


# 1.12 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.11 08-Jan-2013 jmcneill

add genfb glue


# 1.10 08-Jan-2013 skrll

Sprinkle needs-flag


# 1.9 07-Jan-2013 jmcneill

allow for a single board specific device to attach to the mbox driver


# 1.8 05-Jan-2013 jakllsch

Add driver for BCM2835 SPI0 controller.


# 1.7 05-Jan-2013 jakllsch

Add driver for Broadcom Serial Control (I��C) master on BCM2835.


# 1.6 05-Jan-2013 jakllsch

Add a function for adjusting the pin muxer in the GPIO block.
(This should probably be revisited later.)


Revision tags: yamt-pagecache-base7 yamt-pagecache-base6
# 1.5 22-Aug-2012 jakllsch

branches: 1.5.2; 1.5.4;
Fix typo in previous.


# 1.4 22-Aug-2012 jakllsch

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.


# 1.3 22-Aug-2012 jakllsch

Remove defparam MEMSIZE, MEMSIZE is no longer used.


# 1.2 20-Aug-2012 skrll

First pass at a VC mailbox driver.


# 1.1 26-Jul-2012 skrll

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