-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge tag 'irqchip-6.1' of git://git.kernel.org/pub/scm/linux/kernel/…
…git/maz/arm-platforms into irq/core Pull irqchip updates from Marc Zyngier: - A new driver for the FSL MU widget that provides platform MSI - An update for the Realtek RTL irqchip to use a DT binding that actually describes the hardware - A handful of DT updates, as well as minor code and spelling fixes Link: https://lore.kernel.org/r/20221002125554.3902840-1-maz@kernel.org
- Loading branch information
Showing
13 changed files
with
690 additions
and
93 deletions.
There are no files selected for viewing
99 changes: 99 additions & 0 deletions
99
Documentation/devicetree/bindings/interrupt-controller/fsl,mu-msi.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,99 @@ | ||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | ||
%YAML 1.2 | ||
--- | ||
$id: http://devicetree.org/schemas/interrupt-controller/fsl,mu-msi.yaml# | ||
$schema: http://devicetree.org/meta-schemas/core.yaml# | ||
|
||
title: Freescale/NXP i.MX Messaging Unit (MU) work as msi controller | ||
|
||
maintainers: | ||
- Frank Li <Frank.Li@nxp.com> | ||
|
||
description: | | ||
The Messaging Unit module enables two processors within the SoC to | ||
communicate and coordinate by passing messages (e.g. data, status | ||
and control) through the MU interface. The MU also provides the ability | ||
for one processor (A side) to signal the other processor (B side) using | ||
interrupts. | ||
Because the MU manages the messaging between processors, the MU uses | ||
different clocks (from each side of the different peripheral buses). | ||
Therefore, the MU must synchronize the accesses from one side to the | ||
other. The MU accomplishes synchronization using two sets of matching | ||
registers (Processor A-side, Processor B-side). | ||
MU can work as msi interrupt controller to do doorbell | ||
allOf: | ||
- $ref: /schemas/interrupt-controller/msi-controller.yaml# | ||
|
||
properties: | ||
compatible: | ||
enum: | ||
- fsl,imx6sx-mu-msi | ||
- fsl,imx7ulp-mu-msi | ||
- fsl,imx8ulp-mu-msi | ||
- fsl,imx8ulp-mu-msi-s4 | ||
|
||
reg: | ||
items: | ||
- description: a side register base address | ||
- description: b side register base address | ||
|
||
reg-names: | ||
items: | ||
- const: processor-a-side | ||
- const: processor-b-side | ||
|
||
interrupts: | ||
description: a side interrupt number. | ||
maxItems: 1 | ||
|
||
clocks: | ||
maxItems: 1 | ||
|
||
power-domains: | ||
items: | ||
- description: a side power domain | ||
- description: b side power domain | ||
|
||
power-domain-names: | ||
items: | ||
- const: processor-a-side | ||
- const: processor-b-side | ||
|
||
interrupt-controller: true | ||
|
||
msi-controller: true | ||
|
||
"#msi-cells": | ||
const: 0 | ||
|
||
required: | ||
- compatible | ||
- reg | ||
- interrupts | ||
- interrupt-controller | ||
- msi-controller | ||
- "#msi-cells" | ||
|
||
additionalProperties: false | ||
|
||
examples: | ||
- | | ||
#include <dt-bindings/interrupt-controller/arm-gic.h> | ||
#include <dt-bindings/firmware/imx/rsrc.h> | ||
msi-controller@5d270000 { | ||
compatible = "fsl,imx6sx-mu-msi"; | ||
msi-controller; | ||
#msi-cells = <0>; | ||
interrupt-controller; | ||
reg = <0x5d270000 0x10000>, /* A side */ | ||
<0x5d300000 0x10000>; /* B side */ | ||
reg-names = "processor-a-side", "processor-b-side"; | ||
interrupts = <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>; | ||
power-domains = <&pd IMX_SC_R_MU_12A>, | ||
<&pd IMX_SC_R_MU_12B>; | ||
power-domain-names = "processor-a-side", "processor-b-side"; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.