dts: nordic: Add DPPIC and IPCT nodes to nRF54H20 EngA
And add the corresponding bindings. Move alse the already existing bindings for nrf-dppic, nrf-ppi, and nrf-ipc so they are located together with the new ones and in more appropriate folders (DPPIC and PPI peripherals are not related to ARM, and IPC is for sending and receiving events, not messages, so ipm/ does not seem to be the best fit for it). Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
This commit is contained in:
parent
9f9a6c547b
commit
796d09d2a6
45
dts/bindings/ipc/nordic,nrf-ipct-common.yaml
Normal file
45
dts/bindings/ipc/nordic,nrf-ipct-common.yaml
Normal file
|
@ -0,0 +1,45 @@
|
|||
# Copyright (c) 2024 Nordic Semiconductor ASA
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
description: Nordic IPCT (Interprocessor Communication Transceiver)
|
||||
|
||||
include: base.yaml
|
||||
|
||||
properties:
|
||||
reg:
|
||||
required: true
|
||||
|
||||
channels:
|
||||
type: int
|
||||
required: true
|
||||
description: Number of channels implemented by the IPCT instance.
|
||||
|
||||
source-channel-links:
|
||||
type: array
|
||||
description: |
|
||||
Mapping of IPCT channels that are mapped between two IPCT instances on
|
||||
separate domains, in which a channel on this IPCT node is considered
|
||||
the source. This array is then comprised of a 3-integer-wide "unit"
|
||||
that defines one connection of the mapping. The format of this unit
|
||||
is <source_channel sink_domain_id sink_channel>. Units are sequential
|
||||
in the array, therefore requiring the length of this property to be
|
||||
a factor of 3.
|
||||
|
||||
For example, if channel 2 is to be mapped to Radio Core (ID: 3) IPCT
|
||||
channel 4, then the array "unit" would be <2 NRF_DOMAIN_ID_RADIOCORE 4>
|
||||
or <2 3 4>.
|
||||
|
||||
sink-channel-links:
|
||||
type: array
|
||||
description: |
|
||||
Mapping of IPCT channels that are mapped between two IPCT instances on
|
||||
separate domains, in which a channel on this IPCT node is considered
|
||||
the sink. This array is then comprised of a 3-integer-wide "unit"
|
||||
that defines one connection of the mapping. The format of this unit
|
||||
is <sink_channel source_domain_id source_channel>. Units are sequential
|
||||
in the array, therefore requiring the length of this property to be
|
||||
a factor of 3.
|
||||
|
||||
For example, if channel 2 is to be mapped to Radio Core (ID: 3) IPCT
|
||||
channel 4, then the array "unit" would be <2 NRF_DOMAIN_ID_RADIOCORE 4>
|
||||
or <2 3 4>.
|
17
dts/bindings/ipc/nordic,nrf-ipct-global.yaml
Normal file
17
dts/bindings/ipc/nordic,nrf-ipct-global.yaml
Normal file
|
@ -0,0 +1,17 @@
|
|||
# Copyright (c) 2024 Nordic Semiconductor ASA
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
description: Nordic Global IPCT (Interprocessor Communication Transceiver)
|
||||
|
||||
compatible: "nordic,nrf-ipct-global"
|
||||
|
||||
include: ["nordic,nrf-ipct-common.yaml", "nordic,split-channels.yaml"]
|
||||
|
||||
properties:
|
||||
global-domain-id:
|
||||
required: true
|
||||
type: int
|
||||
description: |
|
||||
Global IPCT instances reside on specific buses within the Global Domain,
|
||||
such as fast and slow, which have different IDs that do not match the
|
||||
standard Global Domain ID presented in their address.
|
12
dts/bindings/ipc/nordic,nrf-ipct-local.yaml
Normal file
12
dts/bindings/ipc/nordic,nrf-ipct-local.yaml
Normal file
|
@ -0,0 +1,12 @@
|
|||
# Copyright (c) 2024 Nordic Semiconductor ASA
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
description: Nordic Local IPCT (Interprocessor Communication Transceiver)
|
||||
|
||||
compatible: "nordic,nrf-ipct-local"
|
||||
|
||||
include: "nordic,nrf-ipct-common.yaml"
|
||||
|
||||
properties:
|
||||
interrupts:
|
||||
required: true
|
18
dts/bindings/misc/nordic,nrf-dppic-global.yaml
Normal file
18
dts/bindings/misc/nordic,nrf-dppic-global.yaml
Normal file
|
@ -0,0 +1,18 @@
|
|||
# Copyright (c) 2024 Nordic Semiconductor ASA
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
description: |
|
||||
Nordic Global DPPIC
|
||||
(Distributed Programmable Peripheral Interconnect Controller)
|
||||
|
||||
Updated DPPIC binding set for Nordic products that have global DPPIC instances
|
||||
with inter-bridge functionality. These instances also have split-ownership
|
||||
of its channels and channel groups.
|
||||
|
||||
compatible: "nordic,nrf-dppic-global"
|
||||
|
||||
include:
|
||||
- "nordic,nrf-dppic.yaml"
|
||||
- "nordic,nrf-dppic-links.yaml"
|
||||
- "nordic,split-channels.yaml"
|
||||
- "nordic,split-channel-groups.yaml"
|
17
dts/bindings/misc/nordic,nrf-dppic-links.yaml
Normal file
17
dts/bindings/misc/nordic,nrf-dppic-links.yaml
Normal file
|
@ -0,0 +1,17 @@
|
|||
# Copyright (c) 2024 Nordic Semiconductor ASA
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
description: Nordic DPPIC Channel Linking
|
||||
|
||||
properties:
|
||||
source-channels:
|
||||
type: array
|
||||
description: |
|
||||
Channels that are linked to channels of DPPIC instances on separate
|
||||
bridges as publishing sources.
|
||||
|
||||
sink-channels:
|
||||
type: array
|
||||
description: |
|
||||
Channels that are linked to channels of DPPIC instances on separate
|
||||
bridges as subscribing sinks.
|
13
dts/bindings/misc/nordic,nrf-dppic-local.yaml
Normal file
13
dts/bindings/misc/nordic,nrf-dppic-local.yaml
Normal file
|
@ -0,0 +1,13 @@
|
|||
# Copyright (c) 2024 Nordic Semiconductor ASA
|
||||
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
|
||||
|
||||
description: |
|
||||
Nordic Local DPPIC
|
||||
(Distributed Programmable Peripheral Interconnect Controller)
|
||||
|
||||
Updated DPPIC binding set for Nordic products that have local DPPIC instances
|
||||
with inter-bridge functionality.
|
||||
|
||||
compatible: "nordic,nrf-dppic-local"
|
||||
|
||||
include: ["nordic,nrf-dppic.yaml", "nordic,nrf-dppic-links.yaml"]
|
20
dts/bindings/misc/nordic,split-channel-groups.yaml
Normal file
20
dts/bindings/misc/nordic,split-channel-groups.yaml
Normal file
|
@ -0,0 +1,20 @@
|
|||
# Copyright (c) 2024 Nordic Semiconductor ASA
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
description: Nordic Split Channel Groups
|
||||
|
||||
properties:
|
||||
owned-channel-groups:
|
||||
type: array
|
||||
description: |
|
||||
List of channel groups of a split-ownership peripheral that are to be
|
||||
owned for use by the compiled domain.
|
||||
|
||||
nonsecure-channel-groups:
|
||||
type: array
|
||||
description: |
|
||||
List of channel groups in a split-ownership, split-security peripheral
|
||||
that are to be configured as nonsecure. In Trustzone systems, this
|
||||
property is only evaluated for secure peripherals, as nonsecure channels
|
||||
are implicitly specified through the owned-channels property. This
|
||||
property is ignored in non-Trustzone systems.
|
|
@ -9,6 +9,12 @@
|
|||
|
||||
#include <zephyr/dt-bindings/misc/nordic-nrf-ficr-nrf54h20-enga.h>
|
||||
|
||||
/* Domain IDs. Can be used to specify channel links in IPCT nodes. */
|
||||
#define NRF_DOMAIN_ID_APPLICATION 2
|
||||
#define NRF_DOMAIN_ID_RADIOCORE 3
|
||||
#define NRF_DOMAIN_ID_GLOBALFAST 12
|
||||
#define NRF_DOMAIN_ID_GLOBALSLOW 13
|
||||
|
||||
/delete-node/ &sw_pwm;
|
||||
|
||||
/ {
|
||||
|
@ -153,6 +159,15 @@
|
|||
<&ficr NRF_FICR_TRIM_APPLICATION_HSFLL_TRIM_FINE_0>;
|
||||
nordic,ficr-names = "vsup", "coarse", "fine";
|
||||
};
|
||||
|
||||
cpuapp_ipct: ipct@13000 {
|
||||
compatible = "nordic,nrf-ipct-local";
|
||||
reg = <0x13000 0x1000>;
|
||||
status = "disabled";
|
||||
channels = <4>;
|
||||
interrupts = <64 NRF_DEFAULT_IRQ_PRIORITY>,
|
||||
<65 NRF_DEFAULT_IRQ_PRIORITY>;
|
||||
};
|
||||
};
|
||||
|
||||
cpurad_peripherals: peripheral@53000000 {
|
||||
|
@ -173,6 +188,21 @@
|
|||
nordic,ficr-names = "vsup", "coarse", "fine";
|
||||
};
|
||||
|
||||
dppic020: dppic@22000 {
|
||||
compatible = "nordic,nrf-dppic-local";
|
||||
reg = <0x22000 0x1000>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
cpurad_ipct: ipct@24000 {
|
||||
compatible = "nordic,nrf-ipct-local";
|
||||
reg = <0x24000 0x1000>;
|
||||
status = "disabled";
|
||||
channels = <8>;
|
||||
interrupts = <64 NRF_DEFAULT_IRQ_PRIORITY>,
|
||||
<65 NRF_DEFAULT_IRQ_PRIORITY>;
|
||||
};
|
||||
|
||||
egu020: egu@25000 {
|
||||
compatible = "nordic,nrf-egu";
|
||||
reg = <0x25000 0x1000>;
|
||||
|
@ -267,6 +297,20 @@
|
|||
#mbox-cells = <1>;
|
||||
};
|
||||
|
||||
ipct120: ipct@8d1000 {
|
||||
compatible = "nordic,nrf-ipct-global";
|
||||
reg = <0x8d1000 0x1000>;
|
||||
status = "disabled";
|
||||
channels = <8>;
|
||||
global-domain-id = <12>;
|
||||
};
|
||||
|
||||
dppic120: dppic@8e1000 {
|
||||
compatible = "nordic,nrf-dppic-global";
|
||||
reg = <0x8e1000 0x1000>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
timer120: timer@8e2000 {
|
||||
compatible = "nordic,nrf-timer";
|
||||
reg = <0x8e2000 0x1000>;
|
||||
|
@ -344,6 +388,20 @@
|
|||
};
|
||||
};
|
||||
|
||||
ipct130: ipct@921000 {
|
||||
compatible = "nordic,nrf-ipct-global";
|
||||
reg = <0x921000 0x1000>;
|
||||
status = "disabled";
|
||||
channels = <8>;
|
||||
global-domain-id = <13>;
|
||||
};
|
||||
|
||||
dppic130: dppic@922000 {
|
||||
compatible = "nordic,nrf-dppic-global";
|
||||
reg = <0x922000 0x1000>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
rtc130: rtc@928000 {
|
||||
compatible = "nordic,nrf-rtc";
|
||||
reg = <0x928000 0x1000>;
|
||||
|
@ -449,6 +507,12 @@
|
|||
port = <9>;
|
||||
};
|
||||
|
||||
dppic131: dppic@981000 {
|
||||
compatible = "nordic,nrf-dppic-global";
|
||||
reg = <0x981000 0x1000>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
comp: comparator@983000 {
|
||||
compatible = "nordic,nrf-comp";
|
||||
reg = <0x983000 0x1000>;
|
||||
|
@ -471,6 +535,12 @@
|
|||
interrupts = <389 NRF_DEFAULT_IRQ_PRIORITY>;
|
||||
};
|
||||
|
||||
dppic132: dppic@991000 {
|
||||
compatible = "nordic,nrf-dppic-global";
|
||||
reg = <0x991000 0x1000>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
qdec130: qdec@994000 {
|
||||
compatible = "nordic,nrf-qdec";
|
||||
reg = <0x994000 0x1000>;
|
||||
|
@ -492,6 +562,12 @@
|
|||
cc-num = <16>;
|
||||
};
|
||||
|
||||
dppic133: dppic@9a1000 {
|
||||
compatible = "nordic,nrf-dppic-global";
|
||||
reg = <0x9a1000 0x1000>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
timer130: timer@9a2000 {
|
||||
compatible = "nordic,nrf-timer";
|
||||
reg = <0x9a2000 0x1000>;
|
||||
|
@ -568,6 +644,12 @@
|
|||
interrupts = <422 NRF_DEFAULT_IRQ_PRIORITY>;
|
||||
};
|
||||
|
||||
dppic134: dppic@9b1000 {
|
||||
compatible = "nordic,nrf-dppic-global";
|
||||
reg = <0x9b1000 0x1000>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
timer132: timer@9b2000 {
|
||||
compatible = "nordic,nrf-timer";
|
||||
reg = <0x9b2000 0x1000>;
|
||||
|
@ -644,6 +726,12 @@
|
|||
interrupts = <438 NRF_DEFAULT_IRQ_PRIORITY>;
|
||||
};
|
||||
|
||||
dppic135: dppic@9c1000 {
|
||||
compatible = "nordic,nrf-dppic-global";
|
||||
reg = <0x9c1000 0x1000>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
timer134: timer@9c2000 {
|
||||
compatible = "nordic,nrf-timer";
|
||||
reg = <0x9c2000 0x1000>;
|
||||
|
@ -720,6 +808,12 @@
|
|||
interrupts = <454 NRF_DEFAULT_IRQ_PRIORITY>;
|
||||
};
|
||||
|
||||
dppic136: dppic@9d1000 {
|
||||
compatible = "nordic,nrf-dppic-global";
|
||||
reg = <0x9d1000 0x1000>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
timer136: timer@9d2000 {
|
||||
compatible = "nordic,nrf-timer";
|
||||
reg = <0x9d2000 0x1000>;
|
||||
|
|
Loading…
Reference in a new issue