mirror of
https://github.com/followmsi/android_kernel_google_msm.git
synced 2024-11-06 23:17:41 +00:00
ede9cdd93d
This is a combination of 13 commits. commit 59a27ca89fb515caeac2b97059832515566f70d9 Author: John Howe <jhowe@codeaurora.org> Date: Tue Jan 4 17:18:54 2011 -0500 hw_random: Add Qualcomm MSM random number driver This driver uses the hardware random number generator on MSM chips. Change-Id: I13b4d831fb9b5487356af466536a9005107ff723 Signed-off-by: John Howe <jhowe@codeaurora.org> commit 09cae33a80706e0aa77bdc4e1b493ef2a36dbbde Author: John Howe <jhowe@codeaurora.org> Date: Fri Jan 14 10:21:05 2011 -0500 hw_random: add PRNG clock control Change-Id: I6d9dd2ee7c50020fb8d41242b655e172e4c9eff2 Signed-off-by: John Howe <jhowe@codeaurora.org> commit 0573eda3ce19c01825ded4fe850362c37460dc20 Author: John Howe <jhowe@codeaurora.org> Date: Mon Jan 24 14:56:06 2011 -0500 hw_random: remove clk frequency control The clock only supports one rate, 64MHz, and is set to that rate by default. Change-Id: I820c74e44f4ebdec7b891a4c89d681cb5c3dcee6 Signed-off-by: John Howe <jhowe@codeaurora.org> commit fab0a4d40e18be4a31a4720acafb128893c620e8 Author: John Howe <jhowe@codeaurora.org> Date: Tue Apr 12 14:48:51 2011 -0400 hw_random: Use memory barriers Change-Id: Ie216141d7f6997266d8c5ed4bbd436f1be6551b8 Signed-off-by: John Howe <jhowe@codeaurora.org> commit f07f1ba547790155db4c508ccfa58b64c967fe8e Author: Raj Kushwaha <rajk@codeaurora.org> Date: Tue Jul 26 14:35:28 2011 -0700 hw_random: msm: Remove PRNG hardware configuration LSFR and CONFIG registers are configured by secure domain code and XPU protected. CRs-Fixed: 284133 Signed-off-by: Mona Hossain <mhossain@codeaurora.org> (cherry picked from commit a4f802b0f5d0faee9e83020c599b2f4b0b27de5f) Change-Id: Ie73cc3a95d1e2fff970e4d71f15fc1cbb4ead11c Signed-off-by: Raj Kushwaha <rajk@codeaurora.org> commit 26cef0c9d572e55df0f17dc4a5de380595eddaeb Author: Matt Wagantall <mattw@codeaurora.org> Date: Thu Aug 11 17:19:31 2011 -0700 msm: clock: Use device names to distinguish between PRNG clocks Drivers should now use their device names to distinguish between clocks of the same type rather than the clock name. This allows the clock names to be updated to match the new naming convention. Change-Id: Ibf00fd3d406adb04299e3e79e379d4fefe70f2b4 Signed-off-by: Matt Wagantall <mattw@codeaurora.org> commit 5ad373931744ae98289ec680334d7cc0bee1c0b6 Author: Ramesh Masavarapu <rameshm@codeaurora.org> Date: Mon Oct 10 10:44:10 2011 -0700 msm: Add PRNG to MSM9615 device. Add configuration parameters for MSM9615 device. PRNG hardware registers initialization in msm_rng.c is done currently for MSM9615. Change-Id: I2a05e9e582ce94a25bec71e1acaee95d62cd9469 Signed-off-by: Ramesh Masavarapu <rameshm@codeaurora.org> commit 2f963dbc78c6c0703f51466b2b242287a2df5487 Author: Ramesh Masavarapu <rameshm@codeaurora.org> Date: Thu Oct 20 15:33:50 2011 -0700 msm: Removed target specific changes for enabling PRNG h/w. The driver checks if the PRNG h/w is enabled. If it is not ON, it enables the PRNG h/w. Change-Id: I7c73eba7ba47f4fca116cfe0884758e6dd130ed0 Signed-off-by: Ramesh Masavarapu <rameshm@codeaurora.org> commit 46af59fb8f4bce302ad4d787b63b25e46548df6a Author: Stepan Moskovchenko <stepanm@codeaurora.org> Date: Tue Feb 7 14:38:59 2012 -0800 msm: rng: Disable RNG init on APQ8064 Change-Id: Ic42a85c51faea8a17b02eb4987d0f5db732716c2 Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org> commit a54263b0056b15cad1336a33d57bb1db013e8abb Author: Ramesh Masavarapu <rameshm@codeaurora.org> Date: Wed Feb 1 22:49:01 2012 -0800 msm: Removed XPU violations. During initialization, there is a violation in writing to "read only" registers for targets that support trust zone. Trustzone marks certain registers as read-only. This change fixes the issue by writing to registers only on targets that do not support trust zone. Change-Id: I69bb0f1bad199201aa3dd8b378ca1683dfa81c86 Signed-off-by: Ramesh Masavarapu <rameshm@codeaurora.org> commit a99fcc24e94481134ca22f9778e88ed31646d6e3 Author: Ramesh Masavarapu <rameshm@codeaurora.org> Date: Wed Feb 22 14:30:32 2012 -0800 Revert "msm: rng: Disable RNG init on APQ8064" This reverts commit 46af59fb8f4bce302ad4d787b63b25e46548df6a. The RNG driver was initially disabled because of missing clock changes and this driver was causing boot up issues. Now with the clock changes checked in the RNG driver works. Change-Id: I127f25c8be6b715510c1fb16b274a814416d8a8a Signed-off-by: Ramesh Masavarapu <rameshm@codeaurora.org> commit 801c392ab9ee2893c6f3ca506e43afa62798890b Author: Ramesh Masavarapu <rameshm@codeaurora.org> Date: Tue Apr 24 16:28:00 2012 -0700 prng: Replace clk_enable and clk_disable APIs. The clk driver has introduced new clock APIs that replace the existing clk_enable and clk_disable. -clk_enable() APIs is replaced with clk_prepare_enable(). -clk_disable() API is replaced with clk_disable_unprepare(). Change-Id: Ib6c452e7dc3f357497eae5a9302a7352a19fcb18 Signed-off-by: Ramesh Masavarapu <rameshm@codeaurora.org> commit de991f08a8738dc66e65488aebed472de65ce237 Author: Hariprasad Dhalinarasimha <hnamgund@codeaurora.org> Date: Thu May 31 13:15:51 2012 -0700 PRNG: Device tree entry for qrng device. Cleanup platorm device entry & add device tree entry Change-Id: I5bde944d63276a3aaf00b7415066963027f11249 Signed-off-by: Hariprasad Dhalinarasimha <hnamgund@codeaurora.org> commit a4100a4a6e2a1843645d3eff22dabb387d4cbb61 Author: Stephen Boyd <sboyd@codeaurora.org> Date: Mon Jun 25 15:48:37 2012 -0700 msm-rng: Fix PRNG_LFSR_CFG setup Changes to only configure the LFSR on devices that don't have the prng hardware already setup mistakenly removed the LFSR configuration. Instead, the change is ORing in 1s into the top 16 bits of the register (they're marked as reserved). Restore the original code by masking off the lower 16 bits of the register and filling them with values from the PRNG_LFSR_CFG_CLOCKS define. Change-Id: Idd0df7b49175c211eec5ea778733ae81f5bc8188 Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> commit 0bef6ede4b779c19091234e20ecfbb76a44edac0 Author: Hariprasad Dhalinarasimha <hnamgund@codeaurora.org> Date: Wed Nov 7 19:47:21 2012 -0800 msm: rng: Add support for iface clk Currently the driver supports only enabling core_clk,but on certain targets, iface_clk is used for the hardware RNG block. This fix adds compatibility to targets that have iface clock instead of the core clock. Change-Id: I480c3c7070e09f945439ea48e6877c7170ceeeb9 Signed-off-by: Hariprasad Dhalinarasimha <hnamgund@codeaurora.org> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
265 lines
8.2 KiB
Text
265 lines
8.2 KiB
Text
#
|
|
# Hardware Random Number Generator (RNG) configuration
|
|
#
|
|
|
|
config HW_RANDOM
|
|
tristate "Hardware Random Number Generator Core support"
|
|
default m
|
|
---help---
|
|
Hardware Random Number Generator Core infrastructure.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called rng-core. This provides a device
|
|
that's usually called /dev/hw_random, and which exposes one
|
|
of possibly several hardware random number generators.
|
|
|
|
These hardware random number generators do not feed directly
|
|
into the kernel's random number generator. That is usually
|
|
handled by the "rngd" daemon. Documentation/hw_random.txt
|
|
has more information.
|
|
|
|
If unsure, say Y.
|
|
|
|
config HW_RANDOM_TIMERIOMEM
|
|
tristate "Timer IOMEM HW Random Number Generator support"
|
|
depends on HW_RANDOM && HAS_IOMEM
|
|
---help---
|
|
This driver provides kernel-side support for a generic Random
|
|
Number Generator used by reading a 'dumb' iomem address that
|
|
is to be read no faster than, for example, once a second;
|
|
the default FPGA bitstream on the TS-7800 has such functionality.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called timeriomem-rng.
|
|
|
|
If unsure, say Y.
|
|
|
|
config HW_RANDOM_INTEL
|
|
tristate "Intel HW Random Number Generator support"
|
|
depends on HW_RANDOM && (X86 || IA64) && PCI
|
|
default HW_RANDOM
|
|
---help---
|
|
This driver provides kernel-side support for the Random Number
|
|
Generator hardware found on Intel i8xx-based motherboards.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called intel-rng.
|
|
|
|
If unsure, say Y.
|
|
|
|
config HW_RANDOM_AMD
|
|
tristate "AMD HW Random Number Generator support"
|
|
depends on HW_RANDOM && (X86 || PPC_MAPLE) && PCI
|
|
default HW_RANDOM
|
|
---help---
|
|
This driver provides kernel-side support for the Random Number
|
|
Generator hardware found on AMD 76x-based motherboards.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called amd-rng.
|
|
|
|
If unsure, say Y.
|
|
|
|
config HW_RANDOM_ATMEL
|
|
tristate "Atmel Random Number Generator support"
|
|
depends on HW_RANDOM && ARCH_AT91SAM9G45
|
|
default HW_RANDOM
|
|
---help---
|
|
This driver provides kernel-side support for the Random Number
|
|
Generator hardware found on Atmel AT91 devices.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called atmel-rng.
|
|
|
|
If unsure, say Y.
|
|
|
|
config HW_RANDOM_GEODE
|
|
tristate "AMD Geode HW Random Number Generator support"
|
|
depends on HW_RANDOM && X86_32 && PCI
|
|
default HW_RANDOM
|
|
---help---
|
|
This driver provides kernel-side support for the Random Number
|
|
Generator hardware found on the AMD Geode LX.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called geode-rng.
|
|
|
|
If unsure, say Y.
|
|
|
|
config HW_RANDOM_N2RNG
|
|
tristate "Niagara2 Random Number Generator support"
|
|
depends on HW_RANDOM && SPARC64
|
|
default HW_RANDOM
|
|
---help---
|
|
This driver provides kernel-side support for the Random Number
|
|
Generator hardware found on Niagara2 cpus.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called n2-rng.
|
|
|
|
If unsure, say Y.
|
|
|
|
config HW_RANDOM_VIA
|
|
tristate "VIA HW Random Number Generator support"
|
|
depends on HW_RANDOM && X86
|
|
default HW_RANDOM
|
|
---help---
|
|
This driver provides kernel-side support for the Random Number
|
|
Generator hardware found on VIA based motherboards.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called via-rng.
|
|
|
|
If unsure, say Y.
|
|
|
|
config HW_RANDOM_IXP4XX
|
|
tristate "Intel IXP4xx NPU HW Random Number Generator support"
|
|
depends on HW_RANDOM && ARCH_IXP4XX
|
|
default HW_RANDOM
|
|
---help---
|
|
This driver provides kernel-side support for the Random
|
|
Number Generator hardware found on the Intel IXP4xx NPU.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called ixp4xx-rng.
|
|
|
|
If unsure, say Y.
|
|
|
|
config HW_RANDOM_OMAP
|
|
tristate "OMAP Random Number Generator support"
|
|
depends on HW_RANDOM && (ARCH_OMAP16XX || ARCH_OMAP2)
|
|
default HW_RANDOM
|
|
---help---
|
|
This driver provides kernel-side support for the Random Number
|
|
Generator hardware found on OMAP16xx and OMAP24xx multimedia
|
|
processors.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called omap-rng.
|
|
|
|
If unsure, say Y.
|
|
|
|
config HW_RANDOM_OCTEON
|
|
tristate "Octeon Random Number Generator support"
|
|
depends on HW_RANDOM && CPU_CAVIUM_OCTEON
|
|
default HW_RANDOM
|
|
---help---
|
|
This driver provides kernel-side support for the Random Number
|
|
Generator hardware found on Octeon processors.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called octeon-rng.
|
|
|
|
If unsure, say Y.
|
|
|
|
config HW_RANDOM_PASEMI
|
|
tristate "PA Semi HW Random Number Generator support"
|
|
depends on HW_RANDOM && PPC_PASEMI
|
|
default HW_RANDOM
|
|
---help---
|
|
This driver provides kernel-side support for the Random Number
|
|
Generator hardware found on PA Semi PWRficient SoCs.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called pasemi-rng.
|
|
|
|
If unsure, say Y.
|
|
|
|
config HW_RANDOM_VIRTIO
|
|
tristate "VirtIO Random Number Generator support"
|
|
depends on HW_RANDOM && VIRTIO
|
|
---help---
|
|
This driver provides kernel-side support for the virtual Random Number
|
|
Generator hardware.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called virtio-rng. If unsure, say N.
|
|
|
|
config HW_RANDOM_TX4939
|
|
tristate "TX4939 Random Number Generator support"
|
|
depends on HW_RANDOM && SOC_TX4939
|
|
default HW_RANDOM
|
|
---help---
|
|
This driver provides kernel-side support for the Random Number
|
|
Generator hardware found on TX4939 SoC.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called tx4939-rng.
|
|
|
|
If unsure, say Y.
|
|
|
|
config HW_RANDOM_MXC_RNGA
|
|
tristate "Freescale i.MX RNGA Random Number Generator"
|
|
depends on HW_RANDOM && ARCH_HAS_RNGA
|
|
---help---
|
|
This driver provides kernel-side support for the Random Number
|
|
Generator hardware found on Freescale i.MX processors.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called mxc-rnga.
|
|
|
|
If unsure, say Y.
|
|
|
|
config HW_RANDOM_NOMADIK
|
|
tristate "ST-Ericsson Nomadik Random Number Generator support"
|
|
depends on HW_RANDOM && PLAT_NOMADIK
|
|
---help---
|
|
This driver provides kernel-side support for the Random Number
|
|
Generator hardware found on ST-Ericsson SoCs (8815 and 8500).
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called nomadik-rng.
|
|
|
|
If unsure, say Y.
|
|
|
|
config HW_RANDOM_PICOXCELL
|
|
tristate "Picochip picoXcell true random number generator support"
|
|
depends on HW_RANDOM && ARCH_PICOXCELL && PICOXCELL_PC3X3
|
|
---help---
|
|
This driver provides kernel-side support for the Random Number
|
|
Generator hardware found on Picochip PC3x3 and later devices.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called picoxcell-rng.
|
|
|
|
If unsure, say Y.
|
|
|
|
config HW_RANDOM_PPC4XX
|
|
tristate "PowerPC 4xx generic true random number generator support"
|
|
depends on HW_RANDOM && PPC && 4xx
|
|
---help---
|
|
This driver provides the kernel-side support for the TRNG hardware
|
|
found in the security function of some PowerPC 4xx SoCs.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called ppc4xx-rng.
|
|
|
|
If unsure, say N.
|
|
|
|
config UML_RANDOM
|
|
depends on UML
|
|
tristate "Hardware random number generator"
|
|
help
|
|
This option enables UML's "hardware" random number generator. It
|
|
attaches itself to the host's /dev/random, supplying as much entropy
|
|
as the host has, rather than the small amount the UML gets from its
|
|
own drivers. It registers itself as a standard hardware random number
|
|
generator, major 10, minor 183, and the canonical device name is
|
|
/dev/hwrng.
|
|
The way to make use of this is to install the rng-tools package
|
|
(check your distro, or download from
|
|
http://sourceforge.net/projects/gkernel/). rngd periodically reads
|
|
/dev/hwrng and injects the entropy into /dev/random.
|
|
|
|
config HW_RANDOM_MSM
|
|
tristate "Qualcomm MSM Random Number Generator support"
|
|
depends on HW_RANDOM && ARCH_MSM
|
|
default n
|
|
---help---
|
|
This driver provides kernel-side support for the Random Number
|
|
Generator hardware found on Qualcomm MSM SoCs.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called msm_rng.
|
|
|
|
If unsure, say Y.
|