mirror of
https://github.com/torvalds/linux.git
synced 2026-03-07 23:24:35 +01:00
Not all IP implementations of EIP97 and EIP197 have the EIP and MEM interrupts hooked up to the SoC, and those are not required for functionality as status for both can be polled (and anyway there's even no real need to poll, but that's another story). As an example of this, the MediaTek MT7986A and MT7986B SoCs do not have those two interrupts hooked up to their irq controlller. For this reason, make the EIP and MEM interrupt optional on the mediatek,mt7986-crypto. Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Reviewed-by: Rob Herring (Arm) <robh@kernel.org> Link: https://patch.msgid.link/20260112145558.54644-3-angelogioacchino.delregno@collabora.com Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
110 lines
2.6 KiB
YAML
110 lines
2.6 KiB
YAML
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/crypto/inside-secure,safexcel.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Inside Secure SafeXcel cryptographic engine
|
|
|
|
maintainers:
|
|
- Antoine Tenart <atenart@kernel.org>
|
|
|
|
properties:
|
|
compatible:
|
|
oneOf:
|
|
- items:
|
|
- const: marvell,armada-cp110-crypto
|
|
- const: inside-secure,safexcel-eip197b
|
|
- items:
|
|
- enum:
|
|
- marvell,armada-3700-crypto
|
|
- mediatek,mt7986-crypto
|
|
- const: inside-secure,safexcel-eip97ies
|
|
- const: inside-secure,safexcel-eip197b
|
|
- const: inside-secure,safexcel-eip197d
|
|
- const: inside-secure,safexcel-eip97ies
|
|
- const: inside-secure,safexcel-eip197
|
|
description: Equivalent of inside-secure,safexcel-eip197b
|
|
deprecated: true
|
|
- const: inside-secure,safexcel-eip97
|
|
description: Equivalent of inside-secure,safexcel-eip97ies
|
|
deprecated: true
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
interrupts:
|
|
minItems: 4
|
|
maxItems: 6
|
|
|
|
interrupt-names:
|
|
minItems: 4
|
|
items:
|
|
- const: ring0
|
|
- const: ring1
|
|
- const: ring2
|
|
- const: ring3
|
|
- const: eip
|
|
- const: mem
|
|
|
|
clocks:
|
|
minItems: 1
|
|
maxItems: 2
|
|
|
|
clock-names:
|
|
minItems: 1
|
|
items:
|
|
- const: core
|
|
- const: reg
|
|
|
|
dma-coherent: true
|
|
|
|
required:
|
|
- reg
|
|
- interrupts
|
|
- interrupt-names
|
|
|
|
allOf:
|
|
- if:
|
|
properties:
|
|
clocks:
|
|
minItems: 2
|
|
then:
|
|
properties:
|
|
clock-names:
|
|
minItems: 2
|
|
required:
|
|
- clock-names
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
not:
|
|
contains:
|
|
const: mediatek,mt7986-crypto
|
|
then:
|
|
properties:
|
|
interrupts:
|
|
minItems: 6
|
|
interrupt-names:
|
|
minItems: 6
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
|
#include <dt-bindings/interrupt-controller/irq.h>
|
|
|
|
crypto@800000 {
|
|
compatible = "inside-secure,safexcel-eip197b";
|
|
reg = <0x800000 0x200000>;
|
|
interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-names = "ring0", "ring1", "ring2", "ring3", "eip", "mem";
|
|
clocks = <&cpm_syscon0 1 26>;
|
|
clock-names = "core";
|
|
};
|