Commit d3ede2db authored by Bob Ham's avatar Bob Ham Committed by Herbert Xu

hwrng: chaoskey - Add support for Araneus Alea I USB RNG

Adds support for the Araneus Alea I USB hardware Random Number
Generator which is interfaced with in exactly the same way as the
Altus Metrum ChaosKey.  We just add the appropriate device ID and
modify the config help text.
Signed-off-by: default avatarBob Ham <bob.ham@collabora.com>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent 63044c4f
...@@ -260,11 +260,12 @@ config USB_CHAOSKEY ...@@ -260,11 +260,12 @@ config USB_CHAOSKEY
tristate "ChaosKey random number generator driver support" tristate "ChaosKey random number generator driver support"
depends on HW_RANDOM depends on HW_RANDOM
help help
Say Y here if you want to connect an AltusMetrum ChaosKey to Say Y here if you want to connect an AltusMetrum ChaosKey or
your computer's USB port. The ChaosKey is a hardware random Araneus Alea I to your computer's USB port. These devices
number generator which hooks into the kernel entropy pool to are hardware random number generators which hook into the
ensure a large supply of entropy for /dev/random and kernel entropy pool to ensure a large supply of entropy for
/dev/urandom and also provides direct access via /dev/chaoskeyX /dev/random and /dev/urandom and also provides direct access
via /dev/chaoskeyX
To compile this driver as a module, choose M here: the To compile this driver as a module, choose M here: the
module will be called chaoskey. module will be called chaoskey.
......
...@@ -55,6 +55,9 @@ MODULE_LICENSE("GPL"); ...@@ -55,6 +55,9 @@ MODULE_LICENSE("GPL");
#define CHAOSKEY_VENDOR_ID 0x1d50 /* OpenMoko */ #define CHAOSKEY_VENDOR_ID 0x1d50 /* OpenMoko */
#define CHAOSKEY_PRODUCT_ID 0x60c6 /* ChaosKey */ #define CHAOSKEY_PRODUCT_ID 0x60c6 /* ChaosKey */
#define ALEA_VENDOR_ID 0x12d8 /* Araneus */
#define ALEA_PRODUCT_ID 0x0001 /* Alea I */
#define CHAOSKEY_BUF_LEN 64 /* max size of USB full speed packet */ #define CHAOSKEY_BUF_LEN 64 /* max size of USB full speed packet */
#define NAK_TIMEOUT (HZ) /* stall/wait timeout for device */ #define NAK_TIMEOUT (HZ) /* stall/wait timeout for device */
...@@ -69,6 +72,7 @@ MODULE_LICENSE("GPL"); ...@@ -69,6 +72,7 @@ MODULE_LICENSE("GPL");
static const struct usb_device_id chaoskey_table[] = { static const struct usb_device_id chaoskey_table[] = {
{ USB_DEVICE(CHAOSKEY_VENDOR_ID, CHAOSKEY_PRODUCT_ID) }, { USB_DEVICE(CHAOSKEY_VENDOR_ID, CHAOSKEY_PRODUCT_ID) },
{ USB_DEVICE(ALEA_VENDOR_ID, ALEA_PRODUCT_ID) },
{ }, { },
}; };
MODULE_DEVICE_TABLE(usb, chaoskey_table); MODULE_DEVICE_TABLE(usb, chaoskey_table);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment