xref: /freebsd-src/sys/contrib/device-tree/Bindings/crypto/inside-secure-safexcel.txt (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel VadotInside Secure SafeXcel cryptographic engine
2*c66ec88fSEmmanuel Vadot
3*c66ec88fSEmmanuel VadotRequired properties:
4*c66ec88fSEmmanuel Vadot- compatible: Should be "inside-secure,safexcel-eip197b",
5*c66ec88fSEmmanuel Vadot	      "inside-secure,safexcel-eip197d" or
6*c66ec88fSEmmanuel Vadot              "inside-secure,safexcel-eip97ies".
7*c66ec88fSEmmanuel Vadot- reg: Base physical address of the engine and length of memory mapped region.
8*c66ec88fSEmmanuel Vadot- interrupts: Interrupt numbers for the rings and engine.
9*c66ec88fSEmmanuel Vadot- interrupt-names: Should be "ring0", "ring1", "ring2", "ring3", "eip", "mem".
10*c66ec88fSEmmanuel Vadot
11*c66ec88fSEmmanuel VadotOptional properties:
12*c66ec88fSEmmanuel Vadot- clocks: Reference to the crypto engine clocks, the second clock is
13*c66ec88fSEmmanuel Vadot          needed for the Armada 7K/8K SoCs.
14*c66ec88fSEmmanuel Vadot- clock-names: mandatory if there is a second clock, in this case the
15*c66ec88fSEmmanuel Vadot               name must be "core" for the first clock and "reg" for
16*c66ec88fSEmmanuel Vadot               the second one.
17*c66ec88fSEmmanuel Vadot
18*c66ec88fSEmmanuel VadotBackward compatibility:
19*c66ec88fSEmmanuel VadotTwo compatibles are kept for backward compatibility, but shouldn't be used for
20*c66ec88fSEmmanuel Vadotnew submissions:
21*c66ec88fSEmmanuel Vadot- "inside-secure,safexcel-eip197" is equivalent to
22*c66ec88fSEmmanuel Vadot  "inside-secure,safexcel-eip197b".
23*c66ec88fSEmmanuel Vadot- "inside-secure,safexcel-eip97" is equivalent to
24*c66ec88fSEmmanuel Vadot  "inside-secure,safexcel-eip97ies".
25*c66ec88fSEmmanuel Vadot
26*c66ec88fSEmmanuel VadotExample:
27*c66ec88fSEmmanuel Vadot
28*c66ec88fSEmmanuel Vadot	crypto: crypto@800000 {
29*c66ec88fSEmmanuel Vadot		compatible = "inside-secure,safexcel-eip197b";
30*c66ec88fSEmmanuel Vadot		reg = <0x800000 0x200000>;
31*c66ec88fSEmmanuel Vadot		interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>,
32*c66ec88fSEmmanuel Vadot			     <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>,
33*c66ec88fSEmmanuel Vadot			     <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
34*c66ec88fSEmmanuel Vadot			     <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,
35*c66ec88fSEmmanuel Vadot			     <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>,
36*c66ec88fSEmmanuel Vadot			     <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
37*c66ec88fSEmmanuel Vadot		interrupt-names = "mem", "ring0", "ring1", "ring2", "ring3",
38*c66ec88fSEmmanuel Vadot				  "eip";
39*c66ec88fSEmmanuel Vadot		clocks = <&cpm_syscon0 1 26>;
40*c66ec88fSEmmanuel Vadot	};
41