1*c66ec88fSEmmanuel VadotFreescale SoC SEC Security Engines versions 1.x-2.x-3.x 2*c66ec88fSEmmanuel Vadot 3*c66ec88fSEmmanuel VadotRequired properties: 4*c66ec88fSEmmanuel Vadot 5*c66ec88fSEmmanuel Vadot- compatible : Should contain entries for this and backward compatible 6*c66ec88fSEmmanuel Vadot SEC versions, high to low, e.g., "fsl,sec2.1", "fsl,sec2.0" (SEC2/3) 7*c66ec88fSEmmanuel Vadot e.g., "fsl,sec1.2", "fsl,sec1.0" (SEC1) 8*c66ec88fSEmmanuel Vadot warning: SEC1 and SEC2 are mutually exclusive 9*c66ec88fSEmmanuel Vadot- reg : Offset and length of the register set for the device 10*c66ec88fSEmmanuel Vadot- interrupts : the SEC's interrupt number 11*c66ec88fSEmmanuel Vadot- fsl,num-channels : An integer representing the number of channels 12*c66ec88fSEmmanuel Vadot available. 13*c66ec88fSEmmanuel Vadot- fsl,channel-fifo-len : An integer representing the number of 14*c66ec88fSEmmanuel Vadot descriptor pointers each channel fetch fifo can hold. 15*c66ec88fSEmmanuel Vadot- fsl,exec-units-mask : The bitmask representing what execution units 16*c66ec88fSEmmanuel Vadot (EUs) are available. It's a single 32-bit cell. EU information 17*c66ec88fSEmmanuel Vadot should be encoded following the SEC's Descriptor Header Dword 18*c66ec88fSEmmanuel Vadot EU_SEL0 field documentation, i.e. as follows: 19*c66ec88fSEmmanuel Vadot 20*c66ec88fSEmmanuel Vadot bit 0 = reserved - should be 0 21*c66ec88fSEmmanuel Vadot bit 1 = set if SEC has the ARC4 EU (AFEU) 22*c66ec88fSEmmanuel Vadot bit 2 = set if SEC has the DES/3DES EU (DEU) 23*c66ec88fSEmmanuel Vadot bit 3 = set if SEC has the message digest EU (MDEU/MDEU-A) 24*c66ec88fSEmmanuel Vadot bit 4 = set if SEC has the random number generator EU (RNG) 25*c66ec88fSEmmanuel Vadot bit 5 = set if SEC has the public key EU (PKEU) 26*c66ec88fSEmmanuel Vadot bit 6 = set if SEC has the AES EU (AESU) 27*c66ec88fSEmmanuel Vadot bit 7 = set if SEC has the Kasumi EU (KEU) 28*c66ec88fSEmmanuel Vadot bit 8 = set if SEC has the CRC EU (CRCU) 29*c66ec88fSEmmanuel Vadot bit 11 = set if SEC has the message digest EU extended alg set (MDEU-B) 30*c66ec88fSEmmanuel Vadot 31*c66ec88fSEmmanuel Vadotremaining bits are reserved for future SEC EUs. 32*c66ec88fSEmmanuel Vadot 33*c66ec88fSEmmanuel Vadot- fsl,descriptor-types-mask : The bitmask representing what descriptors 34*c66ec88fSEmmanuel Vadot are available. It's a single 32-bit cell. Descriptor type information 35*c66ec88fSEmmanuel Vadot should be encoded following the SEC's Descriptor Header Dword DESC_TYPE 36*c66ec88fSEmmanuel Vadot field documentation, i.e. as follows: 37*c66ec88fSEmmanuel Vadot 38*c66ec88fSEmmanuel Vadot bit 0 = set if SEC supports the aesu_ctr_nonsnoop desc. type 39*c66ec88fSEmmanuel Vadot bit 1 = set if SEC supports the ipsec_esp descriptor type 40*c66ec88fSEmmanuel Vadot bit 2 = set if SEC supports the common_nonsnoop desc. type 41*c66ec88fSEmmanuel Vadot bit 3 = set if SEC supports the 802.11i AES ccmp desc. type 42*c66ec88fSEmmanuel Vadot bit 4 = set if SEC supports the hmac_snoop_no_afeu desc. type 43*c66ec88fSEmmanuel Vadot bit 5 = set if SEC supports the srtp descriptor type 44*c66ec88fSEmmanuel Vadot bit 6 = set if SEC supports the non_hmac_snoop_no_afeu desc.type 45*c66ec88fSEmmanuel Vadot bit 7 = set if SEC supports the pkeu_assemble descriptor type 46*c66ec88fSEmmanuel Vadot bit 8 = set if SEC supports the aesu_key_expand_output desc.type 47*c66ec88fSEmmanuel Vadot bit 9 = set if SEC supports the pkeu_ptmul descriptor type 48*c66ec88fSEmmanuel Vadot bit 10 = set if SEC supports the common_nonsnoop_afeu desc. type 49*c66ec88fSEmmanuel Vadot bit 11 = set if SEC supports the pkeu_ptadd_dbl descriptor type 50*c66ec88fSEmmanuel Vadot 51*c66ec88fSEmmanuel Vadot ..and so on and so forth. 52*c66ec88fSEmmanuel Vadot 53*c66ec88fSEmmanuel VadotExample: 54*c66ec88fSEmmanuel Vadot 55*c66ec88fSEmmanuel Vadot /* MPC8548E */ 56*c66ec88fSEmmanuel Vadot crypto@30000 { 57*c66ec88fSEmmanuel Vadot compatible = "fsl,sec2.1", "fsl,sec2.0"; 58*c66ec88fSEmmanuel Vadot reg = <0x30000 0x10000>; 59*c66ec88fSEmmanuel Vadot interrupts = <29 2>; 60*c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 61*c66ec88fSEmmanuel Vadot fsl,num-channels = <4>; 62*c66ec88fSEmmanuel Vadot fsl,channel-fifo-len = <24>; 63*c66ec88fSEmmanuel Vadot fsl,exec-units-mask = <0xfe>; 64*c66ec88fSEmmanuel Vadot fsl,descriptor-types-mask = <0x12b0ebf>; 65*c66ec88fSEmmanuel Vadot }; 66