freebsd-dev/sys/arm/broadcom/bcm2835
Mark Murray a1acc06f4f Random bit generator (RBG) driver for RPi and RPi2.
Summary:
This driver supports the following methods to trigger gathering random bits from the hardware:
1. interrupt when the FIFO is full (default) fed into the harvest queue
2. callout (when BCM2835_RNG_USE_CALLOUT is defined) every second if hz is less than 100, otherwise hz / 100, feeding the random bits into the harvest queue

If the kernel is booted with verbose enabled, the contents of the registers will be dumped after the RBG is started during the attach routine.

Author: hackagadget_gmail.com (Stephen J. Kiernan)

Test Plan: Built RPI2 kernel and booted on board. Tested the different methods to feed the harvest queue (callout, interrupt) and the interrupt driven approach seems best. However, keeping the other method for people to be able to experiment with.

Reviewed By: adrian, delphij, markm

Differential Revision: https://reviews.freebsd.org/D6888
2016-07-19 18:07:47 +00:00
..
bcm283x_dwc_fdt.c Refactor mailbox property API to make it usable for /dev/vcio driver: 2015-11-05 03:46:54 +00:00
bcm2835_audio.c sys/arm: Minor spelling fixes. 2016-05-04 15:48:59 +00:00
bcm2835_bsc.c Add a mask to match only the relative base address of BSC controllers. 2015-02-16 19:06:31 +00:00
bcm2835_bscreg.h Add the Raspberry Pi BSC (I2C compliant) controller driver. 2013-10-23 12:29:39 +00:00
bcm2835_bscvar.h Add a mask to match only the relative base address of BSC controllers. 2015-02-16 19:06:31 +00:00
bcm2835_common.c Rename ARM_INTRNG and MIPS_INTRNG to INTRNG. This will help with machine 2016-04-15 16:05:41 +00:00
bcm2835_cpufreq.c Fix the deciKelvin to Celsius conversion in kernel. 2016-05-22 13:58:32 +00:00
bcm2835_dma.c sys/arm: Minor spelling fixes. 2016-05-04 15:48:59 +00:00
bcm2835_dma.h Do not use DMA channels used by GPU. 2016-02-16 12:19:06 +00:00
bcm2835_fb.c Force framebuffer virtual viewport to be the same as physical 2016-04-20 22:38:00 +00:00
bcm2835_fbd.c Force framebuffer virtual viewport to be the same as physical 2016-04-20 22:38:00 +00:00
bcm2835_gpio.c Return the struct intr_pic pointer from intr_pic_register. This will be 2016-05-18 15:05:44 +00:00
bcm2835_gpio.h Export a function to allow BCM2835's peripheral devices to enable their 2013-09-07 18:48:15 +00:00
bcm2835_intr.c Return the struct intr_pic pointer from intr_pic_register. This will be 2016-05-18 15:05:44 +00:00
bcm2835_machdep.c Add a MULTIDELAY option to allow the ARM kernel to have multiple DELAY 2016-04-30 17:27:33 +00:00
bcm2835_mbox_prop.h Force framebuffer virtual viewport to be the same as physical 2016-04-20 22:38:00 +00:00
bcm2835_mbox.c Use proper type of tag in bcm2835_mbox_fb_init 2016-04-21 18:58:06 +00:00
bcm2835_mbox.h Driver for CPU frequency/voltage control on the Raspberry Pi. 2014-12-20 19:15:10 +00:00
bcm2835_rng.c Random bit generator (RBG) driver for RPi and RPi2. 2016-07-19 18:07:47 +00:00
bcm2835_sdhci.c Fix fallout from r292180 (Dec 2015)... ensure that every driver which has 2016-03-21 00:52:24 +00:00
bcm2835_spi.c Add a missing wakeup when releasing ownership of the SPI hardware. 2015-06-02 16:07:28 +00:00
bcm2835_spireg.h Add the Raspberry Pi SPI controller driver. 2013-10-24 16:27:33 +00:00
bcm2835_spivar.h Add the Raspberry Pi SPI controller driver. 2013-10-24 16:27:33 +00:00
bcm2835_systimer.c Use simple fixed name strings for these timecounters and eventimers which 2015-08-14 16:48:07 +00:00
bcm2835_vcbus.h Fix framebuffer compatibility with new RPi firmware. Framebuffer driver 2015-10-30 00:24:37 +00:00
bcm2835_vcio.c Add /dev/vcio, userland access point to VideoCore mailbox property channel 2015-11-05 04:16:03 +00:00
bcm2835_wdog.c Stop using machine/fdt.h in the arm kernel code when we don't need it. 2015-04-04 21:34:26 +00:00
bcm2835_wdog.h
bcm2836_mp.c Rename ARM_INTRNG and MIPS_INTRNG to INTRNG. This will help with machine 2016-04-15 16:05:41 +00:00
bcm2836.c Return the struct intr_pic pointer from intr_pic_register. This will be 2016-05-18 15:05:44 +00:00
bcm2836.h Rename ARM_INTRNG and MIPS_INTRNG to INTRNG. This will help with machine 2016-04-15 16:05:41 +00:00
files.bcm283x Random bit generator (RBG) driver for RPi and RPi2. 2016-07-19 18:07:47 +00:00
files.bcm2835 Build the cpufunc_asm_* files based on the cpu type, not which config file 2015-03-29 22:43:39 +00:00
files.bcm2836 Create device options for the two common ARM timers. 2015-11-21 16:23:56 +00:00
std.bcm2835 Add the SOC_BCM2835 and SOC_BCM2836 options for the arm kernel and add the 2015-03-24 18:46:01 +00:00
std.bcm2836 Move ARM_L2_PIPT option to std.armv6 for all armv6 platforms. 2016-02-22 11:47:28 +00:00
std.rpi Remove FREEBSD_BOOT_LOADER that already exists in std.armv6 config file. 2016-03-20 16:48:29 +00:00
vc_vchi_audioserv_defs.h Add VideoCore audio driver for Rasperry Pi (BCM2835) 2015-02-08 01:12:40 +00:00