fsl,sec2.0.yaml 4.5 KB

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