1*48a1bfc2SJ. Neuschäfer# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*48a1bfc2SJ. Neuschäfer%YAML 1.2 3*48a1bfc2SJ. Neuschäfer--- 4*48a1bfc2SJ. Neuschäfer$id: http://devicetree.org/schemas/crypto/fsl,sec2.0.yaml# 5*48a1bfc2SJ. Neuschäfer$schema: http://devicetree.org/meta-schemas/core.yaml# 6*48a1bfc2SJ. Neuschäfer 7*48a1bfc2SJ. Neuschäfertitle: Freescale SoC SEC Security Engines versions 1.x-2.x-3.x 8*48a1bfc2SJ. Neuschäfer 9*48a1bfc2SJ. Neuschäfermaintainers: 10*48a1bfc2SJ. Neuschäfer - J. Neuschäfer <j.ne@posteo.net> 11*48a1bfc2SJ. Neuschäfer 12*48a1bfc2SJ. Neuschäferproperties: 13*48a1bfc2SJ. Neuschäfer compatible: 14*48a1bfc2SJ. Neuschäfer description: 15*48a1bfc2SJ. Neuschäfer Should contain entries for this and backward compatible SEC versions, 16*48a1bfc2SJ. Neuschäfer high to low. Warning - SEC1 and SEC2 are mutually exclusive. 17*48a1bfc2SJ. Neuschäfer oneOf: 18*48a1bfc2SJ. Neuschäfer - items: 19*48a1bfc2SJ. Neuschäfer - const: fsl,sec3.3 20*48a1bfc2SJ. Neuschäfer - const: fsl,sec3.1 21*48a1bfc2SJ. Neuschäfer - const: fsl,sec3.0 22*48a1bfc2SJ. Neuschäfer - const: fsl,sec2.4 23*48a1bfc2SJ. Neuschäfer - const: fsl,sec2.2 24*48a1bfc2SJ. Neuschäfer - const: fsl,sec2.1 25*48a1bfc2SJ. Neuschäfer - const: fsl,sec2.0 26*48a1bfc2SJ. Neuschäfer - items: 27*48a1bfc2SJ. Neuschäfer - const: fsl,sec3.1 28*48a1bfc2SJ. Neuschäfer - const: fsl,sec3.0 29*48a1bfc2SJ. Neuschäfer - const: fsl,sec2.4 30*48a1bfc2SJ. Neuschäfer - const: fsl,sec2.2 31*48a1bfc2SJ. Neuschäfer - const: fsl,sec2.1 32*48a1bfc2SJ. Neuschäfer - const: fsl,sec2.0 33*48a1bfc2SJ. Neuschäfer - items: 34*48a1bfc2SJ. Neuschäfer - const: fsl,sec3.0 35*48a1bfc2SJ. Neuschäfer - const: fsl,sec2.4 36*48a1bfc2SJ. Neuschäfer - const: fsl,sec2.2 37*48a1bfc2SJ. Neuschäfer - const: fsl,sec2.1 38*48a1bfc2SJ. Neuschäfer - const: fsl,sec2.0 39*48a1bfc2SJ. Neuschäfer - items: 40*48a1bfc2SJ. Neuschäfer - const: fsl,sec2.4 41*48a1bfc2SJ. Neuschäfer - const: fsl,sec2.2 42*48a1bfc2SJ. Neuschäfer - const: fsl,sec2.1 43*48a1bfc2SJ. Neuschäfer - const: fsl,sec2.0 44*48a1bfc2SJ. Neuschäfer - items: 45*48a1bfc2SJ. Neuschäfer - const: fsl,sec2.2 46*48a1bfc2SJ. Neuschäfer - const: fsl,sec2.1 47*48a1bfc2SJ. Neuschäfer - const: fsl,sec2.0 48*48a1bfc2SJ. Neuschäfer - items: 49*48a1bfc2SJ. Neuschäfer - const: fsl,sec2.1 50*48a1bfc2SJ. Neuschäfer - const: fsl,sec2.0 51*48a1bfc2SJ. Neuschäfer - items: 52*48a1bfc2SJ. Neuschäfer - const: fsl,sec2.0 53*48a1bfc2SJ. Neuschäfer - items: 54*48a1bfc2SJ. Neuschäfer - const: fsl,sec1.2 55*48a1bfc2SJ. Neuschäfer - const: fsl,sec1.0 56*48a1bfc2SJ. Neuschäfer - items: 57*48a1bfc2SJ. Neuschäfer - const: fsl,sec1.0 58*48a1bfc2SJ. Neuschäfer 59*48a1bfc2SJ. Neuschäfer reg: 60*48a1bfc2SJ. Neuschäfer maxItems: 1 61*48a1bfc2SJ. Neuschäfer 62*48a1bfc2SJ. Neuschäfer interrupts: 63*48a1bfc2SJ. Neuschäfer maxItems: 1 64*48a1bfc2SJ. Neuschäfer 65*48a1bfc2SJ. Neuschäfer fsl,num-channels: 66*48a1bfc2SJ. Neuschäfer $ref: /schemas/types.yaml#/definitions/uint32 67*48a1bfc2SJ. Neuschäfer enum: [ 1, 4 ] 68*48a1bfc2SJ. Neuschäfer description: An integer representing the number of channels available. 69*48a1bfc2SJ. Neuschäfer 70*48a1bfc2SJ. Neuschäfer fsl,channel-fifo-len: 71*48a1bfc2SJ. Neuschäfer $ref: /schemas/types.yaml#/definitions/uint32 72*48a1bfc2SJ. Neuschäfer maximum: 100 73*48a1bfc2SJ. Neuschäfer description: 74*48a1bfc2SJ. Neuschäfer An integer representing the number of descriptor pointers each channel 75*48a1bfc2SJ. Neuschäfer fetch fifo can hold. 76*48a1bfc2SJ. Neuschäfer 77*48a1bfc2SJ. Neuschäfer fsl,exec-units-mask: 78*48a1bfc2SJ. Neuschäfer $ref: /schemas/types.yaml#/definitions/uint32 79*48a1bfc2SJ. Neuschäfer maximum: 0xfff 80*48a1bfc2SJ. Neuschäfer description: | 81*48a1bfc2SJ. Neuschäfer The bitmask representing what execution units (EUs) are available. 82*48a1bfc2SJ. Neuschäfer EU information should be encoded following the SEC's Descriptor Header 83*48a1bfc2SJ. Neuschäfer Dword EU_SEL0 field documentation, i.e. as follows: 84*48a1bfc2SJ. Neuschäfer 85*48a1bfc2SJ. Neuschäfer bit 0 = reserved - should be 0 86*48a1bfc2SJ. Neuschäfer bit 1 = set if SEC has the ARC4 EU (AFEU) 87*48a1bfc2SJ. Neuschäfer bit 2 = set if SEC has the DES/3DES EU (DEU) 88*48a1bfc2SJ. Neuschäfer bit 3 = set if SEC has the message digest EU (MDEU/MDEU-A) 89*48a1bfc2SJ. Neuschäfer bit 4 = set if SEC has the random number generator EU (RNG) 90*48a1bfc2SJ. Neuschäfer bit 5 = set if SEC has the public key EU (PKEU) 91*48a1bfc2SJ. Neuschäfer bit 6 = set if SEC has the AES EU (AESU) 92*48a1bfc2SJ. Neuschäfer bit 7 = set if SEC has the Kasumi EU (KEU) 93*48a1bfc2SJ. Neuschäfer bit 8 = set if SEC has the CRC EU (CRCU) 94*48a1bfc2SJ. Neuschäfer bit 11 = set if SEC has the message digest EU extended alg set (MDEU-B) 95*48a1bfc2SJ. Neuschäfer 96*48a1bfc2SJ. Neuschäfer remaining bits are reserved for future SEC EUs. 97*48a1bfc2SJ. Neuschäfer 98*48a1bfc2SJ. Neuschäfer fsl,descriptor-types-mask: 99*48a1bfc2SJ. Neuschäfer $ref: /schemas/types.yaml#/definitions/uint32 100*48a1bfc2SJ. Neuschäfer description: | 101*48a1bfc2SJ. Neuschäfer The bitmask representing what descriptors are available. Descriptor type 102*48a1bfc2SJ. Neuschäfer information should be encoded following the SEC's Descriptor Header Dword 103*48a1bfc2SJ. Neuschäfer DESC_TYPE field documentation, i.e. as follows: 104*48a1bfc2SJ. Neuschäfer 105*48a1bfc2SJ. Neuschäfer bit 0 = SEC supports descriptor type aesu_ctr_nonsnoop 106*48a1bfc2SJ. Neuschäfer bit 1 = SEC supports descriptor type ipsec_esp 107*48a1bfc2SJ. Neuschäfer bit 2 = SEC supports descriptor type common_nonsnoop 108*48a1bfc2SJ. Neuschäfer bit 3 = SEC supports descriptor type 802.11i AES ccmp 109*48a1bfc2SJ. Neuschäfer bit 4 = SEC supports descriptor type hmac_snoop_no_afeu 110*48a1bfc2SJ. Neuschäfer bit 5 = SEC supports descriptor type srtp 111*48a1bfc2SJ. Neuschäfer bit 6 = SEC supports descriptor type non_hmac_snoop_no_afeu 112*48a1bfc2SJ. Neuschäfer bit 7 = SEC supports descriptor type pkeu_assemble 113*48a1bfc2SJ. Neuschäfer bit 8 = SEC supports descriptor type aesu_key_expand_output 114*48a1bfc2SJ. Neuschäfer bit 9 = SEC supports descriptor type pkeu_ptmul 115*48a1bfc2SJ. Neuschäfer bit 10 = SEC supports descriptor type common_nonsnoop_afeu 116*48a1bfc2SJ. Neuschäfer bit 11 = SEC supports descriptor type pkeu_ptadd_dbl 117*48a1bfc2SJ. Neuschäfer 118*48a1bfc2SJ. Neuschäfer ..and so on and so forth. 119*48a1bfc2SJ. Neuschäfer 120*48a1bfc2SJ. Neuschäferrequired: 121*48a1bfc2SJ. Neuschäfer - compatible 122*48a1bfc2SJ. Neuschäfer - reg 123*48a1bfc2SJ. Neuschäfer - fsl,num-channels 124*48a1bfc2SJ. Neuschäfer - fsl,channel-fifo-len 125*48a1bfc2SJ. Neuschäfer - fsl,exec-units-mask 126*48a1bfc2SJ. Neuschäfer - fsl,descriptor-types-mask 127*48a1bfc2SJ. Neuschäfer 128*48a1bfc2SJ. NeuschäferunevaluatedProperties: false 129*48a1bfc2SJ. Neuschäfer 130*48a1bfc2SJ. Neuschäferexamples: 131*48a1bfc2SJ. Neuschäfer - | 132*48a1bfc2SJ. Neuschäfer /* MPC8548E */ 133*48a1bfc2SJ. Neuschäfer crypto@30000 { 134*48a1bfc2SJ. Neuschäfer compatible = "fsl,sec2.1", "fsl,sec2.0"; 135*48a1bfc2SJ. Neuschäfer reg = <0x30000 0x10000>; 136*48a1bfc2SJ. Neuschäfer interrupts = <29 2>; 137*48a1bfc2SJ. Neuschäfer interrupt-parent = <&mpic>; 138*48a1bfc2SJ. Neuschäfer fsl,num-channels = <4>; 139*48a1bfc2SJ. Neuschäfer fsl,channel-fifo-len = <24>; 140*48a1bfc2SJ. Neuschäfer fsl,exec-units-mask = <0xfe>; 141*48a1bfc2SJ. Neuschäfer fsl,descriptor-types-mask = <0x12b0ebf>; 142*48a1bfc2SJ. Neuschäfer }; 143*48a1bfc2SJ. Neuschäfer 144*48a1bfc2SJ. Neuschäfer... 145