Added the configuration for MT8195 RDMA. In comparison to MT8183, it no longer shares SRAM with RSZ, and there are now preconfigured 5 mbox. Signed-off-by: Moudy Ho <moudy.ho@mediatek.com> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
168 lines
4.2 KiB
YAML
168 lines
4.2 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/media/mediatek,mdp3-rdma.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: MediaTek Read Direct Memory Access
|
|
|
|
maintainers:
|
|
- Matthias Brugger <matthias.bgg@gmail.com>
|
|
- Moudy Ho <moudy.ho@mediatek.com>
|
|
|
|
description: |
|
|
MediaTek Read Direct Memory Access(RDMA) component used to do read DMA.
|
|
It contains one line buffer to store the sufficient pixel data, and
|
|
must be siblings to the central MMSYS_CONFIG node.
|
|
For a description of the MMSYS_CONFIG binding, see
|
|
Documentation/devicetree/bindings/arm/mediatek/mediatek,mmsys.yaml
|
|
for details.
|
|
|
|
properties:
|
|
compatible:
|
|
oneOf:
|
|
- enum:
|
|
- mediatek,mt8183-mdp3-rdma
|
|
- mediatek,mt8195-mdp3-rdma
|
|
- mediatek,mt8195-vdo1-rdma
|
|
- items:
|
|
- const: mediatek,mt8188-vdo1-rdma
|
|
- const: mediatek,mt8195-vdo1-rdma
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
mediatek,gce-client-reg:
|
|
$ref: /schemas/types.yaml#/definitions/phandle-array
|
|
items:
|
|
items:
|
|
- description: phandle of GCE
|
|
- description: GCE subsys id
|
|
- description: register offset
|
|
- description: register size
|
|
description: The register of client driver can be configured by gce with
|
|
4 arguments defined in this property. Each GCE subsys id is mapping to
|
|
a client defined in the header include/dt-bindings/gce/<chip>-gce.h.
|
|
|
|
mediatek,gce-events:
|
|
description:
|
|
The event id which is mapping to the specific hardware event signal
|
|
to gce. The event id is defined in the gce header
|
|
include/dt-bindings/gce/<chip>-gce.h of each chips.
|
|
$ref: /schemas/types.yaml#/definitions/uint32-array
|
|
|
|
mediatek,scp:
|
|
$ref: /schemas/types.yaml#/definitions/phandle
|
|
description:
|
|
Phandle to the System Control Processor (SCP) used for initializing
|
|
and stopping the MDP3, for sending frame data locations to the MDP3's
|
|
VPU and to install Inter-Processor Interrupt handlers to control
|
|
processing states.
|
|
|
|
power-domains:
|
|
maxItems: 1
|
|
|
|
clocks:
|
|
items:
|
|
- description: RDMA clock
|
|
- description: RSZ clock
|
|
minItems: 1
|
|
|
|
iommus:
|
|
maxItems: 1
|
|
|
|
mboxes:
|
|
items:
|
|
- description: used for 1st data pipe from RDMA
|
|
- description: used for 2nd data pipe from RDMA
|
|
- description: used for 3rd data pipe from RDMA
|
|
- description: used for 4th data pipe from RDMA
|
|
- description: used for the data pipe from SPLIT
|
|
minItems: 1
|
|
|
|
interrupts:
|
|
maxItems: 1
|
|
|
|
'#dma-cells':
|
|
const: 1
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- mediatek,gce-client-reg
|
|
- power-domains
|
|
- clocks
|
|
- iommus
|
|
- '#dma-cells'
|
|
|
|
allOf:
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: mediatek,mt8183-mdp3-rdma
|
|
|
|
then:
|
|
properties:
|
|
clocks:
|
|
minItems: 2
|
|
|
|
mboxes:
|
|
minItems: 2
|
|
|
|
required:
|
|
- mboxes
|
|
- mediatek,gce-events
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: mediatek,mt8195-mdp3-rdma
|
|
|
|
then:
|
|
properties:
|
|
clocks:
|
|
maxItems: 1
|
|
|
|
mboxes:
|
|
minItems: 5
|
|
|
|
required:
|
|
- mediatek,gce-events
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: mediatek,mt8195-vdo1-rdma
|
|
|
|
then:
|
|
properties:
|
|
clocks:
|
|
maxItems: 1
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/clock/mt8183-clk.h>
|
|
#include <dt-bindings/gce/mt8183-gce.h>
|
|
#include <dt-bindings/power/mt8183-power.h>
|
|
#include <dt-bindings/memory/mt8183-larb-port.h>
|
|
|
|
dma-controller@14001000 {
|
|
compatible = "mediatek,mt8183-mdp3-rdma";
|
|
reg = <0x14001000 0x1000>;
|
|
mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0x1000 0x1000>;
|
|
mediatek,gce-events = <CMDQ_EVENT_MDP_RDMA0_SOF>,
|
|
<CMDQ_EVENT_MDP_RDMA0_EOF>;
|
|
power-domains = <&spm MT8183_POWER_DOMAIN_DISP>;
|
|
clocks = <&mmsys CLK_MM_MDP_RDMA0>,
|
|
<&mmsys CLK_MM_MDP_RSZ1>;
|
|
iommus = <&iommu>;
|
|
mboxes = <&gce 20 CMDQ_THR_PRIO_LOWEST>,
|
|
<&gce 21 CMDQ_THR_PRIO_LOWEST>;
|
|
#dma-cells = <1>;
|
|
};
|