Skip to content

Commit 43ccc78

Browse files
committed
Merge tag 'mediatek-drm-next-5.14' of https://git.kernel.org/pub/scm/linux/kernel/git/chunkuang.hu/linux into drm-next
Mediatek DRM Next for Linux 5.14 1. Add MT8167 HDMI support 2. Fix PM reference leak 3. Add MT8183 DPI dual edge support Signed-off-by: Dave Airlie <airlied@redhat.com> From: Chun-Kuang Hu <chunkuang.hu@kernel.org> Link: https://patchwork.freedesktop.org/patch/msgid/20210616150301.292-1-chunkuang.hu@kernel.org
2 parents 1bd8a7d + ec8747c commit 43ccc78

7 files changed

Lines changed: 384 additions & 143 deletions

File tree

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/display/mediatek/mediatek,cec.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Mediatek HDMI CEC Controller Device Tree Bindings
8+
9+
maintainers:
10+
- CK Hu <ck.hu@mediatek.com>
11+
- Jitao shi <jitao.shi@mediatek.com>
12+
13+
description: |
14+
The HDMI CEC controller handles hotplug detection and CEC communication.
15+
16+
properties:
17+
compatible:
18+
enum:
19+
- mediatek,mt7623-cec
20+
- mediatek,mt8167-cec
21+
- mediatek,mt8173-cec
22+
23+
reg:
24+
maxItems: 1
25+
26+
interrupts:
27+
maxItems: 1
28+
29+
clocks:
30+
maxItems: 1
31+
32+
required:
33+
- compatible
34+
- reg
35+
- interrupts
36+
- clocks
37+
38+
additionalProperties: false
39+
40+
examples:
41+
- |
42+
#include <dt-bindings/clock/mt8173-clk.h>
43+
#include <dt-bindings/interrupt-controller/arm-gic.h>
44+
#include <dt-bindings/interrupt-controller/irq.h>
45+
cec: cec@10013000 {
46+
compatible = "mediatek,mt8173-cec";
47+
reg = <0x10013000 0xbc>;
48+
interrupts = <GIC_SPI 167 IRQ_TYPE_LEVEL_LOW>;
49+
clocks = <&infracfg CLK_INFRA_CEC>;
50+
};
51+
52+
...
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/display/mediatek/mediatek,hdmi-ddc.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Mediatek HDMI DDC Device Tree Bindings
8+
9+
maintainers:
10+
- CK Hu <ck.hu@mediatek.com>
11+
- Jitao shi <jitao.shi@mediatek.com>
12+
13+
description: |
14+
The HDMI DDC i2c controller is used to interface with the HDMI DDC pins.
15+
16+
properties:
17+
compatible:
18+
enum:
19+
- mediatek,mt7623-hdmi-ddc
20+
- mediatek,mt8167-hdmi-ddc
21+
- mediatek,mt8173-hdmi-ddc
22+
23+
reg:
24+
maxItems: 1
25+
26+
interrupts:
27+
maxItems: 1
28+
29+
clocks:
30+
maxItems: 1
31+
32+
clock-names:
33+
items:
34+
- const: ddc-i2c
35+
36+
required:
37+
- compatible
38+
- reg
39+
- interrupts
40+
- clocks
41+
- clock-names
42+
43+
additionalProperties: false
44+
45+
examples:
46+
- |
47+
#include <dt-bindings/clock/mt8173-clk.h>
48+
#include <dt-bindings/interrupt-controller/arm-gic.h>
49+
#include <dt-bindings/interrupt-controller/irq.h>
50+
hdmi_ddc0: i2c@11012000 {
51+
compatible = "mediatek,mt8173-hdmi-ddc";
52+
reg = <0x11012000 0x1c>;
53+
interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_LOW>;
54+
clocks = <&pericfg CLK_PERI_I2C5>;
55+
clock-names = "ddc-i2c";
56+
};
57+
58+
...

Documentation/devicetree/bindings/display/mediatek/mediatek,hdmi.txt

Lines changed: 0 additions & 136 deletions
This file was deleted.
Lines changed: 133 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,133 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/display/mediatek/mediatek,hdmi.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Mediatek HDMI Encoder Device Tree Bindings
8+
9+
maintainers:
10+
- CK Hu <ck.hu@mediatek.com>
11+
- Jitao shi <jitao.shi@mediatek.com>
12+
13+
description: |
14+
The Mediatek HDMI encoder can generate HDMI 1.4a or MHL 2.0 signals from
15+
its parallel input.
16+
17+
properties:
18+
compatible:
19+
enum:
20+
- mediatek,mt2701-hdmi
21+
- mediatek,mt7623-hdmi
22+
- mediatek,mt8167-hdmi
23+
- mediatek,mt8173-hdmi
24+
25+
reg:
26+
maxItems: 1
27+
28+
interrupts:
29+
maxItems: 1
30+
31+
clocks:
32+
items:
33+
- description: Pixel Clock
34+
- description: HDMI PLL
35+
- description: Bit Clock
36+
- description: S/PDIF Clock
37+
38+
clock-names:
39+
items:
40+
- const: pixel
41+
- const: pll
42+
- const: bclk
43+
- const: spdif
44+
45+
phys:
46+
maxItems: 1
47+
48+
phy-names:
49+
items:
50+
- const: hdmi
51+
52+
mediatek,syscon-hdmi:
53+
$ref: '/schemas/types.yaml#/definitions/phandle-array'
54+
maxItems: 1
55+
description: |
56+
phandle link and register offset to the system configuration registers.
57+
58+
ports:
59+
$ref: /schemas/graph.yaml#/properties/ports
60+
61+
properties:
62+
port@0:
63+
$ref: /schemas/graph.yaml#/properties/port
64+
description: |
65+
Input port node. This port should be connected to a DPI output port.
66+
67+
port@1:
68+
$ref: /schemas/graph.yaml#/properties/port
69+
description: |
70+
Output port node. This port should be connected to the input port of a connector
71+
node that contains a ddc-i2c-bus property, or to the input port of an attached
72+
bridge chip, such as a SlimPort transmitter.
73+
74+
required:
75+
- port@0
76+
- port@1
77+
78+
required:
79+
- compatible
80+
- reg
81+
- interrupts
82+
- clocks
83+
- clock-names
84+
- phys
85+
- phy-names
86+
- mediatek,syscon-hdmi
87+
- ports
88+
89+
additionalProperties: false
90+
91+
examples:
92+
- |
93+
#include <dt-bindings/clock/mt8173-clk.h>
94+
#include <dt-bindings/interrupt-controller/arm-gic.h>
95+
#include <dt-bindings/interrupt-controller/irq.h>
96+
hdmi0: hdmi@14025000 {
97+
compatible = "mediatek,mt8173-hdmi";
98+
reg = <0x14025000 0x400>;
99+
interrupts = <GIC_SPI 206 IRQ_TYPE_LEVEL_LOW>;
100+
clocks = <&mmsys CLK_MM_HDMI_PIXEL>,
101+
<&mmsys CLK_MM_HDMI_PLLCK>,
102+
<&mmsys CLK_MM_HDMI_AUDIO>,
103+
<&mmsys CLK_MM_HDMI_SPDIF>;
104+
clock-names = "pixel", "pll", "bclk", "spdif";
105+
pinctrl-names = "default";
106+
pinctrl-0 = <&hdmi_pin>;
107+
phys = <&hdmi_phy>;
108+
phy-names = "hdmi";
109+
mediatek,syscon-hdmi = <&mmsys 0x900>;
110+
111+
ports {
112+
#address-cells = <1>;
113+
#size-cells = <0>;
114+
115+
port@0 {
116+
reg = <0>;
117+
118+
hdmi0_in: endpoint {
119+
remote-endpoint = <&dpi0_out>;
120+
};
121+
};
122+
123+
port@1 {
124+
reg = <1>;
125+
126+
hdmi0_out: endpoint {
127+
remote-endpoint = <&hdmi_con_in>;
128+
};
129+
};
130+
};
131+
};
132+
133+
...

0 commit comments

Comments
 (0)