Skip to content

Commit 9bed494

Browse files
committed
Merge tag 'mediatek-drm-next-6.13' of https://git.kernel.org/pub/scm/linux/kernel/git/chunkuang.hu/linux into drm-next
Mediatek DRM Next for Linux 6.13 1. Add support for OF graphs 2. Fix child node refcount handling and use scoped Signed-off-by: Dave Airlie <airlied@redhat.com> From: Chun-Kuang Hu <chunkuang.hu@kernel.org> Link: https://patchwork.freedesktop.org/patch/msgid/20241104124103.8041-1-chunkuang.hu@kernel.org
2 parents 086ed1d + fd620fc commit 9bed494

22 files changed

+685
-27
lines changed

Documentation/devicetree/bindings/display/mediatek/mediatek,aal.yaml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,27 @@ properties:
6262
$ref: /schemas/types.yaml#/definitions/phandle-array
6363
maxItems: 1
6464

65+
ports:
66+
$ref: /schemas/graph.yaml#/properties/ports
67+
description:
68+
Input and output ports can have multiple endpoints, each of those
69+
connects to either the primary, secondary, etc, display pipeline.
70+
71+
properties:
72+
port@0:
73+
$ref: /schemas/graph.yaml#/properties/port
74+
description: AAL input port
75+
76+
port@1:
77+
$ref: /schemas/graph.yaml#/properties/port
78+
description:
79+
AAL output to the next component's input, for example could be one
80+
of many gamma, overdrive or other blocks.
81+
82+
required:
83+
- port@0
84+
- port@1
85+
6586
required:
6687
- compatible
6788
- reg
@@ -89,5 +110,24 @@ examples:
89110
power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
90111
clocks = <&mmsys CLK_MM_DISP_AAL>;
91112
mediatek,gce-client-reg = <&gce SUBSYS_1401XXXX 0x5000 0x1000>;
113+
114+
ports {
115+
#address-cells = <1>;
116+
#size-cells = <0>;
117+
118+
port@0 {
119+
reg = <0>;
120+
aal0_in: endpoint {
121+
remote-endpoint = <&ccorr0_out>;
122+
};
123+
};
124+
125+
port@1 {
126+
reg = <1>;
127+
aal0_out: endpoint {
128+
remote-endpoint = <&gamma0_in>;
129+
};
130+
};
131+
};
92132
};
93133
};

Documentation/devicetree/bindings/display/mediatek/mediatek,ccorr.yaml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,27 @@ properties:
5757
$ref: /schemas/types.yaml#/definitions/phandle-array
5858
maxItems: 1
5959

60+
ports:
61+
$ref: /schemas/graph.yaml#/properties/ports
62+
description:
63+
Input and output ports can have multiple endpoints, each of those
64+
connects to either the primary, secondary, etc, display pipeline.
65+
66+
properties:
67+
port@0:
68+
$ref: /schemas/graph.yaml#/properties/port
69+
description: CCORR input port
70+
71+
port@1:
72+
$ref: /schemas/graph.yaml#/properties/port
73+
description:
74+
CCORR output to the input of the next desired component in the
75+
display pipeline, usually only one of the available AAL blocks.
76+
77+
required:
78+
- port@0
79+
- port@1
80+
6081
required:
6182
- compatible
6283
- reg

Documentation/devicetree/bindings/display/mediatek/mediatek,color.yaml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,28 @@ properties:
6565
$ref: /schemas/types.yaml#/definitions/phandle-array
6666
maxItems: 1
6767

68+
ports:
69+
$ref: /schemas/graph.yaml#/properties/ports
70+
description:
71+
Input and output ports can have multiple endpoints, each of those
72+
connects to either the primary, secondary, etc, display pipeline.
73+
74+
properties:
75+
port@0:
76+
$ref: /schemas/graph.yaml#/properties/port
77+
description: COLOR input port
78+
79+
port@1:
80+
$ref: /schemas/graph.yaml#/properties/port
81+
description:
82+
COLOR output to the input of the next desired component in the
83+
display pipeline, for example one of the available CCORR or AAL
84+
blocks.
85+
86+
required:
87+
- port@0
88+
- port@1
89+
6890
required:
6991
- compatible
7092
- reg

Documentation/devicetree/bindings/display/mediatek/mediatek,dither.yaml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,28 @@ properties:
5656
$ref: /schemas/types.yaml#/definitions/phandle-array
5757
maxItems: 1
5858

59+
ports:
60+
$ref: /schemas/graph.yaml#/properties/ports
61+
description:
62+
Input and output ports can have multiple endpoints, each of those
63+
connects to either the primary, secondary, etc, display pipeline.
64+
65+
properties:
66+
port@0:
67+
$ref: /schemas/graph.yaml#/properties/port
68+
description: DITHER input, usually from a POSTMASK or GAMMA block.
69+
70+
port@1:
71+
$ref: /schemas/graph.yaml#/properties/port
72+
description:
73+
DITHER output to the input of the next desired component in the
74+
display pipeline, for example one of the available DSC compressors,
75+
DP_INTF, DSI, LVDS or others.
76+
77+
required:
78+
- port@0
79+
- port@1
80+
5981
required:
6082
- compatible
6183
- reg

Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.yaml

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,13 +81,34 @@ properties:
8181
Output port node. This port should be connected to the input port of an
8282
attached HDMI, LVDS or DisplayPort encoder chip.
8383

84+
ports:
85+
$ref: /schemas/graph.yaml#/properties/ports
86+
87+
properties:
88+
port@0:
89+
$ref: /schemas/graph.yaml#/properties/port
90+
description: DPI input port
91+
92+
port@1:
93+
$ref: /schemas/graph.yaml#/properties/port
94+
description: DPI output to an HDMI, LVDS or DisplayPort encoder input
95+
96+
required:
97+
- port@0
98+
- port@1
99+
84100
required:
85101
- compatible
86102
- reg
87103
- interrupts
88104
- clocks
89105
- clock-names
90-
- port
106+
107+
oneOf:
108+
- required:
109+
- port
110+
- required:
111+
- ports
91112

92113
additionalProperties: false
93114

@@ -96,7 +117,7 @@ examples:
96117
#include <dt-bindings/interrupt-controller/arm-gic.h>
97118
#include <dt-bindings/clock/mt8173-clk.h>
98119
99-
dpi0: dpi@1401d000 {
120+
dpi: dpi@1401d000 {
100121
compatible = "mediatek,mt8173-dpi";
101122
reg = <0x1401d000 0x1000>;
102123
interrupts = <GIC_SPI 194 IRQ_TYPE_LEVEL_LOW>;

Documentation/devicetree/bindings/display/mediatek/mediatek,dsc.yaml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,30 @@ properties:
4949
$ref: /schemas/types.yaml#/definitions/phandle-array
5050
maxItems: 1
5151

52+
ports:
53+
$ref: /schemas/graph.yaml#/properties/ports
54+
description:
55+
Input and output ports can have multiple endpoints, each of those
56+
connects to either the primary, secondary, etc, display pipeline.
57+
58+
properties:
59+
port@0:
60+
$ref: /schemas/graph.yaml#/properties/port
61+
description:
62+
Display Stream Compression input, usually from one of the DITHER
63+
or MERGE blocks.
64+
65+
port@1:
66+
$ref: /schemas/graph.yaml#/properties/port
67+
description:
68+
Display Stream Compression output to the input of the next desired
69+
component in the display pipeline, for example to MERGE, DP_INTF,
70+
DPI or DSI.
71+
72+
required:
73+
- port@0
74+
- port@1
75+
5276
required:
5377
- compatible
5478
- reg

Documentation/devicetree/bindings/display/mediatek/mediatek,dsi.yaml

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,26 @@ properties:
7777
Output port node. This port should be connected to the input
7878
port of an attached DSI panel or DSI-to-eDP encoder chip.
7979

80+
ports:
81+
$ref: /schemas/graph.yaml#/properties/ports
82+
description:
83+
Input ports can have multiple endpoints, each of those connects
84+
to either the primary, secondary, etc, display pipeline.
85+
86+
properties:
87+
port@0:
88+
$ref: /schemas/graph.yaml#/properties/port
89+
description: DSI input port, usually from DITHER, DSC or MERGE
90+
91+
port@1:
92+
$ref: /schemas/graph.yaml#/properties/port
93+
description:
94+
DSI output to an attached DSI panel, or a DSI-to-X encoder chip
95+
96+
required:
97+
- port@0
98+
- port@1
99+
80100
required:
81101
- compatible
82102
- reg
@@ -86,7 +106,12 @@ required:
86106
- clock-names
87107
- phys
88108
- phy-names
89-
- port
109+
110+
oneOf:
111+
- required:
112+
- port
113+
- required:
114+
- ports
90115

91116
unevaluatedProperties: false
92117

Documentation/devicetree/bindings/display/mediatek/mediatek,ethdr.yaml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,28 @@ properties:
110110
include/dt-bindings/gce/<chip>-gce.h, mapping to the register of display
111111
function block.
112112

113+
ports:
114+
$ref: /schemas/graph.yaml#/properties/ports
115+
description:
116+
Input and output ports can have multiple endpoints, each of those
117+
connects to either the primary, secondary, etc, display pipeline.
118+
119+
properties:
120+
port@0:
121+
$ref: /schemas/graph.yaml#/properties/port
122+
description: ETHDR input, usually from one of the MERGE blocks.
123+
124+
port@1:
125+
$ref: /schemas/graph.yaml#/properties/port
126+
description:
127+
ETHDR output to the input of the next desired component in the
128+
display pipeline, for example one of the available MERGE blocks,
129+
or others.
130+
131+
required:
132+
- port@0
133+
- port@1
134+
113135
required:
114136
- compatible
115137
- reg

Documentation/devicetree/bindings/display/mediatek/mediatek,gamma.yaml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,25 @@ properties:
6565
$ref: /schemas/types.yaml#/definitions/phandle-array
6666
maxItems: 1
6767

68+
ports:
69+
$ref: /schemas/graph.yaml#/properties/ports
70+
71+
properties:
72+
port@0:
73+
$ref: /schemas/graph.yaml#/properties/port
74+
description: GAMMA input, usually from one of the AAL blocks.
75+
76+
port@1:
77+
$ref: /schemas/graph.yaml#/properties/port
78+
description:
79+
GAMMA output to the input of the next desired component in the
80+
display pipeline, for example one of the available DITHER or
81+
POSTMASK blocks.
82+
83+
required:
84+
- port@0
85+
- port@1
86+
6887
required:
6988
- compatible
7089
- reg

Documentation/devicetree/bindings/display/mediatek/mediatek,merge.yaml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,29 @@ properties:
7777
$ref: /schemas/types.yaml#/definitions/phandle-array
7878
maxItems: 1
7979

80+
ports:
81+
$ref: /schemas/graph.yaml#/properties/ports
82+
description:
83+
Input and output ports can have multiple endpoints, each of those
84+
connects to either the primary, secondary, etc, display pipeline.
85+
86+
properties:
87+
port@0:
88+
$ref: /schemas/graph.yaml#/properties/port
89+
description:
90+
MERGE input port, usually from DITHER, DPI, DSC, DSI, MDP_RDMA,
91+
ETHDR or even from a different MERGE block
92+
93+
port@1:
94+
$ref: /schemas/graph.yaml#/properties/port
95+
description:
96+
MERGE output to a DSC, DPI, DP_INTF, DSI, ETHDR, Write DMA, or
97+
a different MERGE block, or others.
98+
99+
required:
100+
- port@0
101+
- port@1
102+
80103
resets:
81104
description: reset controller
82105
See Documentation/devicetree/bindings/reset/reset.txt for details.

0 commit comments

Comments
 (0)