Link: https://lore.kernel.org/r/20260217200002.683975158@linuxfoundation.org Tested-by: Florian Fainelli <florian.fainelli@broadcom.com> Tested-by: Takeshi Ogasawara <takeshi.ogasawara@futuring-girl.com> Tested-by: Peter Schneider <pschneider1968@googlemail.com> Tested-by: Jon Hunter <jonathanh@nvidia.com> Tested-by: Salvatore Bonaccorso <carnil@debian.org> Tested-by: Brett A C Sheffield <bacs@librecast.net> Tested-by: Mark Brown <broonie@kernel.org> Tested-by: Luna Jernberg <droidbittin@gmail.com> Tested-by: Ronald Warsow <rwarsow@gmx.de> Tested-by: Justin M. Forbes <jforbes@fedoraproject.org> Tested-by: Ron Economos <re@w6rz.net> Tested-by: Miguel Ojeda <ojeda@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
82 lines
2.5 KiB
Plaintext
82 lines
2.5 KiB
Plaintext
* Freescale 85xx RAID Engine nodes
|
|
|
|
RAID Engine nodes are defined to describe on-chip RAID accelerators. Each RAID
|
|
Engine should have a separate node.
|
|
|
|
Supported chips:
|
|
P5020, P5040
|
|
|
|
Required properties:
|
|
|
|
- compatible: Should contain "fsl,raideng-v1.0" as the value
|
|
This identifies RAID Engine block. 1 in 1.0 represents
|
|
major number whereas 0 represents minor number. The
|
|
version matches the hardware IP version.
|
|
- reg: offset and length of the register set for the device
|
|
- ranges: standard ranges property specifying the translation
|
|
between child address space and parent address space
|
|
|
|
Example:
|
|
/* P5020 */
|
|
raideng: raideng@320000 {
|
|
compatible = "fsl,raideng-v1.0";
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
reg = <0x320000 0x10000>;
|
|
ranges = <0 0x320000 0x10000>;
|
|
};
|
|
|
|
|
|
There must be a sub-node for each job queue present in RAID Engine
|
|
This node must be a sub-node of the main RAID Engine node
|
|
|
|
- compatible: Should contain "fsl,raideng-v1.0-job-queue" as the value
|
|
This identifies the job queue interface
|
|
- reg: offset and length of the register set for job queue
|
|
- ranges: standard ranges property specifying the translation
|
|
between child address space and parent address space
|
|
|
|
Example:
|
|
/* P5020 */
|
|
raideng_jq0@1000 {
|
|
compatible = "fsl,raideng-v1.0-job-queue";
|
|
reg = <0x1000 0x1000>;
|
|
ranges = <0x0 0x1000 0x1000>;
|
|
};
|
|
|
|
|
|
There must be a sub-node for each job ring present in RAID Engine
|
|
This node must be a sub-node of job queue node
|
|
|
|
- compatible: Must contain "fsl,raideng-v1.0-job-ring" as the value
|
|
This identifies job ring. Should contain either
|
|
"fsl,raideng-v1.0-hp-ring" or "fsl,raideng-v1.0-lp-ring"
|
|
depending upon whether ring has high or low priority
|
|
- reg: offset and length of the register set for job ring
|
|
- interrupts: interrupt mapping for job ring IRQ
|
|
|
|
Optional property:
|
|
|
|
- fsl,liodn: Specifies the LIODN to be used for Job Ring. This
|
|
property is normally set by firmware. Value
|
|
is of 12-bits which is the LIODN number for this JR.
|
|
This property is used by the IOMMU (PAMU) to distinguish
|
|
transactions from this JR and than be able to do address
|
|
translation & protection accordingly.
|
|
|
|
Example:
|
|
/* P5020 */
|
|
raideng_jq0@1000 {
|
|
compatible = "fsl,raideng-v1.0-job-queue";
|
|
reg = <0x1000 0x1000>;
|
|
ranges = <0x0 0x1000 0x1000>;
|
|
|
|
raideng_jr0: jr@0 {
|
|
compatible = "fsl,raideng-v1.0-job-ring", "fsl,raideng-v1.0-hp-ring";
|
|
reg = <0x0 0x400>;
|
|
interrupts = <139 2 0 0>;
|
|
interrupt-parent = <&mpic>;
|
|
fsl,liodn = <0x41>;
|
|
};
|
|
};
|