xref: /freebsd-src/sys/contrib/device-tree/Bindings/display/mediatek/mediatek,mdp-rdma.yaml (revision b97ee269eae3cbaf35c18f51a459aea581c2a7dc)
1*b97ee269SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*b97ee269SEmmanuel Vadot%YAML 1.2
3*b97ee269SEmmanuel Vadot---
4*b97ee269SEmmanuel Vadot$id: http://devicetree.org/schemas/display/mediatek/mediatek,mdp-rdma.yaml#
5*b97ee269SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*b97ee269SEmmanuel Vadot
7*b97ee269SEmmanuel Vadottitle: MediaTek MDP RDMA
8*b97ee269SEmmanuel Vadot
9*b97ee269SEmmanuel Vadotmaintainers:
10*b97ee269SEmmanuel Vadot  - Chun-Kuang Hu <chunkuang.hu@kernel.org>
11*b97ee269SEmmanuel Vadot  - Philipp Zabel <p.zabel@pengutronix.de>
12*b97ee269SEmmanuel Vadot
13*b97ee269SEmmanuel Vadotdescription:
14*b97ee269SEmmanuel Vadot  The MediaTek MDP RDMA stands for Read Direct Memory Access.
15*b97ee269SEmmanuel Vadot  It provides real time data to the back-end panel driver, such as DSI,
16*b97ee269SEmmanuel Vadot  DPI and DP_INTF.
17*b97ee269SEmmanuel Vadot  It contains one line buffer to store the sufficient pixel data.
18*b97ee269SEmmanuel Vadot  RDMA device node must be siblings to the central MMSYS_CONFIG node.
19*b97ee269SEmmanuel Vadot  For a description of the MMSYS_CONFIG binding, see
20*b97ee269SEmmanuel Vadot  Documentation/devicetree/bindings/arm/mediatek/mediatek,mmsys.yaml for details.
21*b97ee269SEmmanuel Vadot
22*b97ee269SEmmanuel Vadotproperties:
23*b97ee269SEmmanuel Vadot  compatible:
24*b97ee269SEmmanuel Vadot    const: mediatek,mt8195-vdo1-rdma
25*b97ee269SEmmanuel Vadot
26*b97ee269SEmmanuel Vadot  reg:
27*b97ee269SEmmanuel Vadot    maxItems: 1
28*b97ee269SEmmanuel Vadot
29*b97ee269SEmmanuel Vadot  interrupts:
30*b97ee269SEmmanuel Vadot    maxItems: 1
31*b97ee269SEmmanuel Vadot
32*b97ee269SEmmanuel Vadot  power-domains:
33*b97ee269SEmmanuel Vadot    maxItems: 1
34*b97ee269SEmmanuel Vadot
35*b97ee269SEmmanuel Vadot  clocks:
36*b97ee269SEmmanuel Vadot    items:
37*b97ee269SEmmanuel Vadot      - description: RDMA Clock
38*b97ee269SEmmanuel Vadot
39*b97ee269SEmmanuel Vadot  iommus:
40*b97ee269SEmmanuel Vadot    maxItems: 1
41*b97ee269SEmmanuel Vadot
42*b97ee269SEmmanuel Vadot  mediatek,gce-client-reg:
43*b97ee269SEmmanuel Vadot    description:
44*b97ee269SEmmanuel Vadot      The register of display function block to be set by gce. There are 4 arguments,
45*b97ee269SEmmanuel Vadot      such as gce node, subsys id, offset and register size. The subsys id that is
46*b97ee269SEmmanuel Vadot      mapping to the register of display function blocks is defined in the gce header
47*b97ee269SEmmanuel Vadot      include/dt-bindings/gce/<chip>-gce.h of each chips.
48*b97ee269SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/phandle-array
49*b97ee269SEmmanuel Vadot    items:
50*b97ee269SEmmanuel Vadot      items:
51*b97ee269SEmmanuel Vadot        - description: phandle of GCE
52*b97ee269SEmmanuel Vadot        - description: GCE subsys id
53*b97ee269SEmmanuel Vadot        - description: register offset
54*b97ee269SEmmanuel Vadot        - description: register size
55*b97ee269SEmmanuel Vadot    maxItems: 1
56*b97ee269SEmmanuel Vadot
57*b97ee269SEmmanuel Vadotrequired:
58*b97ee269SEmmanuel Vadot  - compatible
59*b97ee269SEmmanuel Vadot  - reg
60*b97ee269SEmmanuel Vadot  - power-domains
61*b97ee269SEmmanuel Vadot  - clocks
62*b97ee269SEmmanuel Vadot  - iommus
63*b97ee269SEmmanuel Vadot  - mediatek,gce-client-reg
64*b97ee269SEmmanuel Vadot
65*b97ee269SEmmanuel VadotadditionalProperties: false
66*b97ee269SEmmanuel Vadot
67*b97ee269SEmmanuel Vadotexamples:
68*b97ee269SEmmanuel Vadot  - |
69*b97ee269SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
70*b97ee269SEmmanuel Vadot    #include <dt-bindings/clock/mt8195-clk.h>
71*b97ee269SEmmanuel Vadot    #include <dt-bindings/power/mt8195-power.h>
72*b97ee269SEmmanuel Vadot    #include <dt-bindings/gce/mt8195-gce.h>
73*b97ee269SEmmanuel Vadot    #include <dt-bindings/memory/mt8195-memory-port.h>
74*b97ee269SEmmanuel Vadot
75*b97ee269SEmmanuel Vadot    soc {
76*b97ee269SEmmanuel Vadot        #address-cells = <2>;
77*b97ee269SEmmanuel Vadot        #size-cells = <2>;
78*b97ee269SEmmanuel Vadot
79*b97ee269SEmmanuel Vadot        rdma@1c104000 {
80*b97ee269SEmmanuel Vadot            compatible = "mediatek,mt8195-vdo1-rdma";
81*b97ee269SEmmanuel Vadot            reg = <0 0x1c104000 0 0x1000>;
82*b97ee269SEmmanuel Vadot            interrupts = <GIC_SPI 495 IRQ_TYPE_LEVEL_HIGH 0>;
83*b97ee269SEmmanuel Vadot            clocks = <&vdosys1 CLK_VDO1_MDP_RDMA0>;
84*b97ee269SEmmanuel Vadot            power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS1>;
85*b97ee269SEmmanuel Vadot            iommus = <&iommu_vdo M4U_PORT_L2_MDP_RDMA0>;
86*b97ee269SEmmanuel Vadot            mediatek,gce-client-reg = <&gce0 SUBSYS_1c10XXXX 0x4000 0x1000>;
87*b97ee269SEmmanuel Vadot        };
88*b97ee269SEmmanuel Vadot    };
89