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