| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144 |
- # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
- %YAML 1.2
- ---
- $id: http://devicetree.org/schemas/crypto/fsl,sec2.0.yaml#
- $schema: http://devicetree.org/meta-schemas/core.yaml#
- title: Freescale SoC SEC Security Engines versions 1.x-2.x-3.x
- maintainers:
- - J. Neuschäfer <j.ne@posteo.net>
- properties:
- compatible:
- description:
- Should contain entries for this and backward compatible SEC versions,
- high to low. Warning - SEC1 and SEC2 are mutually exclusive.
- oneOf:
- - items:
- - const: fsl,sec3.3
- - const: fsl,sec3.1
- - const: fsl,sec3.0
- - const: fsl,sec2.4
- - const: fsl,sec2.2
- - const: fsl,sec2.1
- - const: fsl,sec2.0
- - items:
- - const: fsl,sec3.1
- - const: fsl,sec3.0
- - const: fsl,sec2.4
- - const: fsl,sec2.2
- - const: fsl,sec2.1
- - const: fsl,sec2.0
- - items:
- - const: fsl,sec3.0
- - const: fsl,sec2.4
- - const: fsl,sec2.2
- - const: fsl,sec2.1
- - const: fsl,sec2.0
- - items:
- - const: fsl,sec2.4
- - const: fsl,sec2.2
- - const: fsl,sec2.1
- - const: fsl,sec2.0
- - items:
- - const: fsl,sec2.2
- - const: fsl,sec2.1
- - const: fsl,sec2.0
- - items:
- - const: fsl,sec2.1
- - const: fsl,sec2.0
- - items:
- - const: fsl,sec2.0
- - items:
- - const: fsl,sec1.2
- - const: fsl,sec1.0
- - items:
- - const: fsl,sec1.0
- reg:
- maxItems: 1
- interrupts:
- maxItems: 1
- fsl,num-channels:
- $ref: /schemas/types.yaml#/definitions/uint32
- enum: [ 1, 4 ]
- description: An integer representing the number of channels available.
- fsl,channel-fifo-len:
- $ref: /schemas/types.yaml#/definitions/uint32
- maximum: 100
- description:
- An integer representing the number of descriptor pointers each channel
- fetch fifo can hold.
- fsl,exec-units-mask:
- $ref: /schemas/types.yaml#/definitions/uint32
- maximum: 0xfff
- description: |
- The bitmask representing what execution units (EUs) are available.
- EU information should be encoded following the SEC's Descriptor Header
- Dword EU_SEL0 field documentation, i.e. as follows:
- bit 0 = reserved - should be 0
- bit 1 = set if SEC has the ARC4 EU (AFEU)
- bit 2 = set if SEC has the DES/3DES EU (DEU)
- bit 3 = set if SEC has the message digest EU (MDEU/MDEU-A)
- bit 4 = set if SEC has the random number generator EU (RNG)
- bit 5 = set if SEC has the public key EU (PKEU)
- bit 6 = set if SEC has the AES EU (AESU)
- bit 7 = set if SEC has the Kasumi EU (KEU)
- bit 8 = set if SEC has the CRC EU (CRCU)
- bit 11 = set if SEC has the message digest EU extended alg set (MDEU-B)
- remaining bits are reserved for future SEC EUs.
- fsl,descriptor-types-mask:
- $ref: /schemas/types.yaml#/definitions/uint32
- description: |
- The bitmask representing what descriptors are available. Descriptor type
- information should be encoded following the SEC's Descriptor Header Dword
- DESC_TYPE field documentation, i.e. as follows:
- bit 0 = SEC supports descriptor type aesu_ctr_nonsnoop
- bit 1 = SEC supports descriptor type ipsec_esp
- bit 2 = SEC supports descriptor type common_nonsnoop
- bit 3 = SEC supports descriptor type 802.11i AES ccmp
- bit 4 = SEC supports descriptor type hmac_snoop_no_afeu
- bit 5 = SEC supports descriptor type srtp
- bit 6 = SEC supports descriptor type non_hmac_snoop_no_afeu
- bit 7 = SEC supports descriptor type pkeu_assemble
- bit 8 = SEC supports descriptor type aesu_key_expand_output
- bit 9 = SEC supports descriptor type pkeu_ptmul
- bit 10 = SEC supports descriptor type common_nonsnoop_afeu
- bit 11 = SEC supports descriptor type pkeu_ptadd_dbl
- ..and so on and so forth.
- required:
- - compatible
- - reg
- - fsl,num-channels
- - fsl,channel-fifo-len
- - fsl,exec-units-mask
- - fsl,descriptor-types-mask
- unevaluatedProperties: false
- examples:
- - |
- /* MPC8548E */
- crypto@30000 {
- compatible = "fsl,sec2.1", "fsl,sec2.0";
- reg = <0x30000 0x10000>;
- interrupts = <29 2>;
- interrupt-parent = <&mpic>;
- fsl,num-channels = <4>;
- fsl,channel-fifo-len = <24>;
- fsl,exec-units-mask = <0xfe>;
- fsl,descriptor-types-mask = <0x12b0ebf>;
- };
- ...
|