| # 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>; | |
| }; | |
| ... |