dts: arm: nordic: fix cryptocell description

The ARM Cryptocell 310/312 IP is wrapped by Nordic specific registers.
It is organized as follows:

- Base address: Nordic wrapper
- Base address + 0x1000: ARM Cryptocell IP registers

Following more standard devicetree conventions, use a single node for
what is exposed as a single peripheral. The node contains 2 register
entries, one for the wrapper and a second one for the 3rd party IP.
Compatibles are used from more specific (nordic,cryptocell) to more
generic (arm,cryptocell-3xx).

Other minor fixes: peripheral is disabled by default (as it should be in
SoC dts files).

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
This commit is contained in:
Gerard Marull-Paretas 2023-09-20 11:33:37 +02:00 committed by Fabio Baltieri
commit 49df14c08a
6 changed files with 17 additions and 56 deletions

View file

@ -537,16 +537,11 @@
};
cryptocell: crypto@5002a000 {
compatible = "nordic,nrf-cc310";
reg = <0x5002A000 0x1000>;
status = "okay";
#address-cells = <1>;
#size-cells = <1>;
cryptocell310: crypto@5002b000 {
compatible = "arm,cryptocell-310";
reg = <0x5002B000 0x1000>;
interrupts = <42 NRF_DEFAULT_IRQ_PRIORITY>;
};
compatible = "nordic,cryptocell", "arm,cryptocell-310";
reg = <0x5002a000 0x1000>, <0x5002b000 0x1000>;
reg-names = "wrapper", "core";
interrupts = <42 NRF_DEFAULT_IRQ_PRIORITY>;
status = "disabled";
};
};
};

View file

@ -87,16 +87,11 @@
};
cryptocell: crypto@50844000 {
compatible = "nordic,nrf-cc312";
reg = <0x50844000 0x1000>;
status = "okay";
#address-cells = <1>;
#size-cells = <1>;
cryptocell312: crypto@50845000 {
compatible = "arm,cryptocell-312";
reg = <0x50845000 0x1000>;
interrupts = <68 NRF_DEFAULT_IRQ_PRIORITY>;
};
compatible = "nordic,cryptocell", "arm,cryptocell-312";
reg = <0x50844000 0x1000>, <0x50845000 0x1000>;
reg-names = "wrapper", "core";
interrupts = <68 NRF_DEFAULT_IRQ_PRIORITY>;
status = "disabled";
};
};

View file

@ -47,16 +47,11 @@
/* Additional Secure peripherals */
cryptocell: crypto@50840000 {
compatible = "nordic,nrf-cc310";
reg = <0x50840000 0x1000>;
status = "okay";
#address-cells = <1>;
#size-cells = <1>;
cryptocell310: crypto@50841000 {
compatible = "arm,cryptocell-310";
reg = <0x50841000 0x1000>;
interrupts = <64 NRF_DEFAULT_IRQ_PRIORITY>;
};
compatible = "nordic,cryptocell", "arm,cryptocell-310";
reg = <0x50840000 0x1000>, <0x50841000 0x1000>;
reg-names = "wrapper", "core";
interrupts = <64 NRF_DEFAULT_IRQ_PRIORITY>;
status = "disabled";
};
ctrlap: ctrlap@50006000 {

View file

@ -1,12 +0,0 @@
# Copyright (c) 2018, Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0
description: Nordic Control Interface for ARM TrustZone CryptoCell 310
compatible: "nordic,nrf-cc310"
include: base.yaml
properties:
reg:
required: true

View file

@ -1,12 +0,0 @@
# Copyright (c) 2018, 2020 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0
description: Nordic Control Interface for ARM TrustZone CryptoCell 312
compatible: "nordic,nrf-cc312"
include: base.yaml
properties:
reg:
required: true

View file

@ -13,10 +13,10 @@ config HAS_HW_NRF_BPROT
def_bool $(dt_compat_enabled,$(DT_COMPAT_NORDIC_NRF_BPROT))
config HAS_HW_NRF_CC310
def_bool $(dt_compat_enabled,$(DT_COMPAT_NORDIC_NRF_CC310))
def_bool $(dt_compat_enabled,$(DT_COMPAT_ARM_CRYPTOCELL_310))
config HAS_HW_NRF_CC312
def_bool $(dt_compat_enabled,$(DT_COMPAT_NORDIC_NRF_CC312))
def_bool $(dt_compat_enabled,$(DT_COMPAT_ARM_CRYPTOCELL_312))
config HAS_HW_NRF_CCM
def_bool $(dt_compat_enabled,$(DT_COMPAT_NORDIC_NRF_CCM))