xref: /linux/Documentation/devicetree/bindings/crypto/marvell,orion-crypto.yaml (revision ab93e0dd72c37d378dd936f031ffb83ff2bd87ce)
1*7d39f32cSRob Herring (Arm)# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*7d39f32cSRob Herring (Arm)%YAML 1.2
3*7d39f32cSRob Herring (Arm)---
4*7d39f32cSRob Herring (Arm)$id: http://devicetree.org/schemas/crypto/marvell,orion-crypto.yaml#
5*7d39f32cSRob Herring (Arm)$schema: http://devicetree.org/meta-schemas/core.yaml#
6*7d39f32cSRob Herring (Arm)
7*7d39f32cSRob Herring (Arm)title: Marvell Cryptographic Engines And Security Accelerator
8*7d39f32cSRob Herring (Arm)
9*7d39f32cSRob Herring (Arm)maintainers:
10*7d39f32cSRob Herring (Arm)  - Andrew Lunn <andrew@lunn.ch>
11*7d39f32cSRob Herring (Arm)  - Boris Brezillon <bbrezillon@kernel.org>
12*7d39f32cSRob Herring (Arm)
13*7d39f32cSRob Herring (Arm)description: |
14*7d39f32cSRob Herring (Arm)  Marvell Cryptographic Engines And Security Accelerator
15*7d39f32cSRob Herring (Arm)
16*7d39f32cSRob Herring (Arm)properties:
17*7d39f32cSRob Herring (Arm)  compatible:
18*7d39f32cSRob Herring (Arm)    enum:
19*7d39f32cSRob Herring (Arm)      - marvell,armada-370-crypto
20*7d39f32cSRob Herring (Arm)      - marvell,armada-xp-crypto
21*7d39f32cSRob Herring (Arm)      - marvell,armada-375-crypto
22*7d39f32cSRob Herring (Arm)      - marvell,armada-38x-crypto
23*7d39f32cSRob Herring (Arm)      - marvell,dove-crypto
24*7d39f32cSRob Herring (Arm)      - marvell,kirkwood-crypto
25*7d39f32cSRob Herring (Arm)      - marvell,orion-crypto
26*7d39f32cSRob Herring (Arm)
27*7d39f32cSRob Herring (Arm)  reg:
28*7d39f32cSRob Herring (Arm)    minItems: 1
29*7d39f32cSRob Herring (Arm)    items:
30*7d39f32cSRob Herring (Arm)      - description: Registers region
31*7d39f32cSRob Herring (Arm)      - description: SRAM region
32*7d39f32cSRob Herring (Arm)        deprecated: true
33*7d39f32cSRob Herring (Arm)
34*7d39f32cSRob Herring (Arm)  reg-names:
35*7d39f32cSRob Herring (Arm)    minItems: 1
36*7d39f32cSRob Herring (Arm)    items:
37*7d39f32cSRob Herring (Arm)      - const: regs
38*7d39f32cSRob Herring (Arm)      - const: sram
39*7d39f32cSRob Herring (Arm)        deprecated: true
40*7d39f32cSRob Herring (Arm)
41*7d39f32cSRob Herring (Arm)  interrupts:
42*7d39f32cSRob Herring (Arm)    description: One interrupt for each CESA engine
43*7d39f32cSRob Herring (Arm)    minItems: 1
44*7d39f32cSRob Herring (Arm)    maxItems: 2
45*7d39f32cSRob Herring (Arm)
46*7d39f32cSRob Herring (Arm)  clocks:
47*7d39f32cSRob Herring (Arm)    description: One or two clocks for each CESA engine
48*7d39f32cSRob Herring (Arm)    minItems: 1
49*7d39f32cSRob Herring (Arm)    maxItems: 4
50*7d39f32cSRob Herring (Arm)
51*7d39f32cSRob Herring (Arm)  clock-names:
52*7d39f32cSRob Herring (Arm)    minItems: 1
53*7d39f32cSRob Herring (Arm)    items:
54*7d39f32cSRob Herring (Arm)      - const: cesa0
55*7d39f32cSRob Herring (Arm)      - const: cesa1
56*7d39f32cSRob Herring (Arm)      - const: cesaz0
57*7d39f32cSRob Herring (Arm)      - const: cesaz1
58*7d39f32cSRob Herring (Arm)
59*7d39f32cSRob Herring (Arm)  marvell,crypto-srams:
60*7d39f32cSRob Herring (Arm)    description: Phandle(s) to crypto SRAM.
61*7d39f32cSRob Herring (Arm)    $ref: /schemas/types.yaml#/definitions/phandle-array
62*7d39f32cSRob Herring (Arm)    minItems: 1
63*7d39f32cSRob Herring (Arm)    maxItems: 2
64*7d39f32cSRob Herring (Arm)    items:
65*7d39f32cSRob Herring (Arm)      maxItems: 1
66*7d39f32cSRob Herring (Arm)
67*7d39f32cSRob Herring (Arm)  marvell,crypto-sram-size:
68*7d39f32cSRob Herring (Arm)    description: SRAM size reserved for crypto operations.
69*7d39f32cSRob Herring (Arm)    $ref: /schemas/types.yaml#/definitions/uint32
70*7d39f32cSRob Herring (Arm)    default: 0x800
71*7d39f32cSRob Herring (Arm)
72*7d39f32cSRob Herring (Arm)required:
73*7d39f32cSRob Herring (Arm)  - compatible
74*7d39f32cSRob Herring (Arm)  - reg
75*7d39f32cSRob Herring (Arm)  - reg-names
76*7d39f32cSRob Herring (Arm)  - interrupts
77*7d39f32cSRob Herring (Arm)  - marvell,crypto-srams
78*7d39f32cSRob Herring (Arm)
79*7d39f32cSRob Herring (Arm)allOf:
80*7d39f32cSRob Herring (Arm)  - if:
81*7d39f32cSRob Herring (Arm)      not:
82*7d39f32cSRob Herring (Arm)        properties:
83*7d39f32cSRob Herring (Arm)          compatible:
84*7d39f32cSRob Herring (Arm)            enum:
85*7d39f32cSRob Herring (Arm)              - marvell,kirkwood-crypto
86*7d39f32cSRob Herring (Arm)              - marvell,orion-crypto
87*7d39f32cSRob Herring (Arm)    then:
88*7d39f32cSRob Herring (Arm)      required:
89*7d39f32cSRob Herring (Arm)        - clocks
90*7d39f32cSRob Herring (Arm)  - if:
91*7d39f32cSRob Herring (Arm)      properties:
92*7d39f32cSRob Herring (Arm)        compatible:
93*7d39f32cSRob Herring (Arm)          contains:
94*7d39f32cSRob Herring (Arm)            enum:
95*7d39f32cSRob Herring (Arm)              - marvell,armada-370-crypto
96*7d39f32cSRob Herring (Arm)              - marvell,armada-375-crypto
97*7d39f32cSRob Herring (Arm)              - marvell,armada-38x-crypto
98*7d39f32cSRob Herring (Arm)              - marvell,armada-xp-crypto
99*7d39f32cSRob Herring (Arm)    then:
100*7d39f32cSRob Herring (Arm)      required:
101*7d39f32cSRob Herring (Arm)        - clock-names
102*7d39f32cSRob Herring (Arm)  - if:
103*7d39f32cSRob Herring (Arm)      properties:
104*7d39f32cSRob Herring (Arm)        compatible:
105*7d39f32cSRob Herring (Arm)          contains:
106*7d39f32cSRob Herring (Arm)            enum:
107*7d39f32cSRob Herring (Arm)              - marvell,armada-375-crypto
108*7d39f32cSRob Herring (Arm)              - marvell,armada-38x-crypto
109*7d39f32cSRob Herring (Arm)    then:
110*7d39f32cSRob Herring (Arm)      properties:
111*7d39f32cSRob Herring (Arm)        clocks:
112*7d39f32cSRob Herring (Arm)          minItems: 4
113*7d39f32cSRob Herring (Arm)        clock-names:
114*7d39f32cSRob Herring (Arm)          minItems: 4
115*7d39f32cSRob Herring (Arm)    else:
116*7d39f32cSRob Herring (Arm)      properties:
117*7d39f32cSRob Herring (Arm)        clocks:
118*7d39f32cSRob Herring (Arm)          maxItems: 2
119*7d39f32cSRob Herring (Arm)        clock-names:
120*7d39f32cSRob Herring (Arm)          maxItems: 2
121*7d39f32cSRob Herring (Arm)
122*7d39f32cSRob Herring (Arm)additionalProperties: false
123*7d39f32cSRob Herring (Arm)
124*7d39f32cSRob Herring (Arm)examples:
125*7d39f32cSRob Herring (Arm)  - |
126*7d39f32cSRob Herring (Arm)    crypto@30000 {
127*7d39f32cSRob Herring (Arm)        compatible = "marvell,orion-crypto";
128*7d39f32cSRob Herring (Arm)        reg = <0x30000 0x10000>;
129*7d39f32cSRob Herring (Arm)        reg-names = "regs";
130*7d39f32cSRob Herring (Arm)        interrupts = <22>;
131*7d39f32cSRob Herring (Arm)        marvell,crypto-srams = <&crypto_sram>;
132*7d39f32cSRob Herring (Arm)        marvell,crypto-sram-size = <0x600>;
133*7d39f32cSRob Herring (Arm)    };
134