Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a103950e authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull crypto updates from Herbert Xu:
 "API:
   - Enforce the setting of keys for keyed aead/hash/skcipher
     algorithms.
   - Add multibuf speed tests in tcrypt.

  Algorithms:
   - Improve performance of sha3-generic.
   - Add native sha512 support on arm64.
   - Add v8.2 Crypto Extentions version of sha3/sm3 on arm64.
   - Avoid hmac nesting by requiring underlying algorithm to be unkeyed.
   - Add cryptd_max_cpu_qlen module parameter to cryptd.

  Drivers:
   - Add support for EIP97 engine in inside-secure.
   - Add inline IPsec support to chelsio.
   - Add RevB core support to crypto4xx.
   - Fix AEAD ICV check in crypto4xx.
   - Add stm32 crypto driver.
   - Add support for BCM63xx platforms in bcm2835 and remove bcm63xx.
   - Add Derived Key Protocol (DKP) support in caam.
   - Add Samsung Exynos True RNG driver.
   - Add support for Exynos5250+ SoCs in exynos PRNG driver"

* 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (166 commits)
  crypto: picoxcell - Fix error handling in spacc_probe()
  crypto: arm64/sha512 - fix/improve new v8.2 Crypto Extensions code
  crypto: arm64/sm3 - new v8.2 Crypto Extensions implementation
  crypto: arm64/sha3 - new v8.2 Crypto Extensions implementation
  crypto: testmgr - add new testcases for sha3
  crypto: sha3-generic - export init/update/final routines
  crypto: sha3-generic - simplify code
  crypto: sha3-generic - rewrite KECCAK transform to help the compiler optimize
  crypto: sha3-generic - fixes for alignment and big endian operation
  crypto: aesni - handle zero length dst buffer
  crypto: artpec6 - remove select on non-existing CRYPTO_SHA384
  hwrng: bcm2835 - Remove redundant dev_err call in bcm2835_rng_probe()
  crypto: stm32 - remove redundant dev_err call in stm32_cryp_probe()
  crypto: axis - remove unnecessary platform_get_resource() error check
  crypto: testmgr - test misuse of result in ahash
  crypto: inside-secure - make function safexcel_try_push_requests static
  crypto: aes-generic - fix aes-generic regression on powerpc
  crypto: chelsio - Fix indentation warning
  crypto: arm64/sha1-ce - get rid of literal pool
  crypto: arm64/sha2-ce - move the round constant table to .rodata section
  ...
parents 2cfa1cd3 2d55807b
Loading
Loading
Loading
Loading
+22 −0
Original line number Diff line number Diff line
Arm TrustZone CryptoCell cryptographic engine

Required properties:
- compatible: Should be "arm,cryptocell-712-ree".
- reg: Base physical address of the engine and length of memory mapped region.
- interrupts: Interrupt number for the device.

Optional properties:
- interrupt-parent: The phandle for the interrupt controller that services
  interrupts for this device.
- clocks: Reference to the crypto engine clock.
- dma-coherent: Present if dma operations are coherent.

Examples:

       arm_cc712: crypto@80000000 {
               compatible = "arm,cryptocell-712-ree";
               interrupt-parent = <&intc>;
               interrupts = < 0 30 4 >;
               reg = < 0x80000000 0x10000 >;

       };
+2 −1
Original line number Diff line number Diff line
Inside Secure SafeXcel cryptographic engine

Required properties:
- compatible: Should be "inside-secure,safexcel-eip197".
- compatible: Should be "inside-secure,safexcel-eip197" or
              "inside-secure,safexcel-eip97".
- reg: Base physical address of the engine and length of memory mapped region.
- interrupts: Interrupt numbers for the rings and engine.
- interrupt-names: Should be "ring0", "ring1", "ring2", "ring3", "eip", "mem".
+3 −1
Original line number Diff line number Diff line
@@ -2,7 +2,9 @@ Exynos Pseudo Random Number Generator

Required properties:

- compatible  : Should be "samsung,exynos4-rng".
- compatible  : One of:
                - "samsung,exynos4-rng" for Exynos4210 and Exynos4412
                - "samsung,exynos5250-prng" for Exynos5250+
- reg         : Specifies base physical address and size of the registers map.
- clocks      : Phandle to clock-controller plus clock-specifier pair.
- clock-names : "secss" as a clock name.
+19 −0
Original line number Diff line number Diff line
* STMicroelectronics STM32 CRYP

Required properties:
- compatible: Should be "st,stm32f756-cryp".
- reg: The address and length of the peripheral registers space
- clocks: The input clock of the CRYP instance
- interrupts: The CRYP interrupt

Optional properties:
- resets: The input reset of the CRYP instance

Example:
crypto@50060000 {
	compatible = "st,stm32f756-cryp";
	reg = <0x50060000 0x400>;
	interrupts = <79>;
	clocks = <&rcc 0 STM32F7_AHB2_CLOCK(CRYP)>;
	resets = <&rcc STM32F7_AHB2_RESET(CRYP)>;
};
+19 −3
Original line number Diff line number Diff line
BCM2835 Random number generator
BCM2835/6368 Random number generator

Required properties:

- compatible : should be "brcm,bcm2835-rng"  or "brcm,bcm-nsp-rng" or
  "brcm,bcm5301x-rng"
- compatible : should be one of
	"brcm,bcm2835-rng"
	"brcm,bcm-nsp-rng"
	"brcm,bcm5301x-rng" or
	"brcm,bcm6368-rng"
- reg : Specifies base physical address and size of the registers.

Optional properties:

- clocks : phandle to clock-controller plus clock-specifier pair
- clock-names : "ipsec" as a clock name

Example:

rng {
@@ -17,3 +25,11 @@ rng@18033000 {
	compatible = "brcm,bcm-nsp-rng";
	reg = <0x18033000 0x14>;
};

random: rng@10004180 {
	compatible = "brcm,bcm6368-rng";
	reg = <0x10004180 0x14>;

	clocks = <&periph_clk 18>;
	clock-names = "ipsec";
};
Loading