RE: [PATCH v7 0/3] hw_random: introduce Arm CryptoCell TRNG driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Geert,

To better explain the relationship between ccree and cctrng drivers, here an description of the underlying hardware and the relationship to the two drivers:

Arm TrustZone CryptoCell is a hardware block that implements two separate and discreet, although related, interfaces: one for the Rich Execution Environment  (read: Linux) and the other for the Trusted Execution Environment (e.g. Trusty, Op-TEE).

The ccree driver exposes the REE interface of CryptoCell to Linux. Where a SoC vendor implements both REE and TEE in their design, that is all that is needed.

However, we have some customers that make use CryptoCell but never implement a Trusted Execution Environment. This is a design decision taken when the SoC hardware is being designed and not a software controlled configuration, as it involves how the buses are laid out. Some of these customers have requested from us to allow making use in Linux of the TRNG resources which are normally associated with the TEE side when it is not in use. For these customers, the cctrng driver allows making use in Linux the TRNG which is normally part of the TEE side of CryptoCell.

I am guessing based on market segment that this is NOT the case with the Renesas boards you are maintain.

Nevertheless, we of course very much welcome your review, input  and contribution that has proved extremely valuable with the ccree driver. 🙂

BR,
Hadar & Gilad

> -----Original Message-----
> From: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
> 
> Hi Hadar,
> 
> On Mon, Apr 20, 2020 at 2:27 PM Hadar Gat <Hadar.Gat@xxxxxxx> wrote:
> > > From: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
> > > Sent: Monday, 20 April 2020 12:35
> > >
> > > On Fri, Mar 27, 2020 at 7:11 AM Hadar Gat <hadar.gat@xxxxxxx> wrote:
> > > > The Arm CryptoCell is a hardware security engine.
> > > > This patch introduces driver for its TRNG (True Random Number
> > > > Generator) engine.
> > >
> > > Thanks for your series!
> > >
> > > I am wondering what is the relation between this and
> > > Documentation/devicetree/bindings/crypto/arm-cryptocell.txt?
> >
> > Arm TrustZone CryptoCell hardware contains both cryptographic engine
> (ccree) and true random number generator engine (cctrng).
> 
> OK.
> 
> > These are separate engines with some sharing in logic and interface.
> 
> Do they share the same register block?
> 
> > cctrng engine may not always be present.
> 
> I assume that applies to e.g. the older 630p?
> 
> > The devicetree documentation is in:
> > For ccree -
> > Documentation/devicetree/bindings/crypto/arm-cryptocell.txt
> > For cctrng - Documentation/devicetree/bindings/rng/arm-cctrng.yaml
> 
> Thank you, I had already read both documents.
> 
> 
> Gr{oetje,eeting}s,
> 
>                         Geert
> 
> --
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-
> m68k.org
> 
> In personal conversations with technical people, I call myself a hacker. But
> when I'm talking to journalists I just say "programmer" or something like that.
>                                 -- Linus Torvalds




[Index of Archives]     [Kernel]     [Gnu Classpath]     [Gnu Crypto]     [DM Crypt]     [Netfilter]     [Bugtraq]

  Powered by Linux