Skip to content

Commit 56b70bf

Browse files
committed
Merge tag 'drm-misc-next-2024-11-08' of https://gitlab.freedesktop.org/drm/misc/kernel into drm-next
drm-misc-next for v6.13: UAPI Changes: - Add 1X7X5 media-bus formats. Cross-subsystem Changes: - Maintainer updates for VKMS and IT6263. - Add media-bus-fmt for MEDIA_BUS_FMT_RGB101010_1X7X5_*. - Add IT6263 DT bindings and driver. Core Changes: - Add ABGR210101010 support to panic handler. - Use ATOMIC64_INIT in drm_file.c - Improve scheduler teardown documentation. Driver Changes: - Make mediatek compile on ARM again. - Add missing drm/drm_bridge.h header include, already in drm-next. - Small fixes and cleanups to vkms, bridge/it6505, panfrost, panthor. - Add panic support to nouveau for nv50+. Signed-off-by: Dave Airlie <airlied@redhat.com> From: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/344afe41-d27b-408a-8542-bfecfd3555f6@linux.intel.com
2 parents 35a6e15 + baf4afc commit 56b70bf

29 files changed

+1753
-347
lines changed
Lines changed: 250 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,250 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/display/bridge/ite,it6263.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: ITE IT6263 LVDS to HDMI converter
8+
9+
maintainers:
10+
- Liu Ying <victor.liu@nxp.com>
11+
12+
description: |
13+
The IT6263 is a high-performance single-chip De-SSC(De-Spread Spectrum) LVDS
14+
to HDMI converter. Combined with LVDS receiver and HDMI 1.4a transmitter,
15+
the IT6263 supports LVDS input and HDMI 1.4 output by conversion function.
16+
The built-in LVDS receiver can support single-link and dual-link LVDS inputs,
17+
and the built-in HDMI transmitter is fully compliant with HDMI 1.4a/3D, HDCP
18+
1.2 and backward compatible with DVI 1.0 specification.
19+
20+
The IT6263 also encodes and transmits up to 8 channels of I2S digital audio,
21+
with sampling rate up to 192KHz and sample size up to 24 bits. In addition,
22+
an S/PDIF input port takes in compressed audio of up to 192KHz frame rate.
23+
24+
The newly supported High-Bit Rate(HBR) audio by HDMI specifications v1.3 is
25+
provided by the IT6263 in two interfaces: the four I2S input ports or the
26+
S/PDIF input port. With both interfaces the highest possible HBR frame rate
27+
is supported at up to 768KHz.
28+
29+
allOf:
30+
- $ref: /schemas/display/lvds-dual-ports.yaml#
31+
32+
properties:
33+
compatible:
34+
const: ite,it6263
35+
36+
reg:
37+
maxItems: 1
38+
39+
clocks:
40+
maxItems: 1
41+
description: audio master clock
42+
43+
clock-names:
44+
const: mclk
45+
46+
data-mapping:
47+
enum:
48+
- jeida-18
49+
- jeida-24
50+
- jeida-30
51+
- vesa-24
52+
- vesa-30
53+
54+
reset-gpios:
55+
maxItems: 1
56+
57+
ivdd-supply:
58+
description: 1.8V digital logic power
59+
60+
ovdd-supply:
61+
description: 3.3V I/O pin power
62+
63+
txavcc18-supply:
64+
description: 1.8V HDMI analog frontend power
65+
66+
txavcc33-supply:
67+
description: 3.3V HDMI analog frontend power
68+
69+
pvcc1-supply:
70+
description: 1.8V HDMI frontend core PLL power
71+
72+
pvcc2-supply:
73+
description: 1.8V HDMI frontend filter PLL power
74+
75+
avcc-supply:
76+
description: 3.3V LVDS frontend power
77+
78+
anvdd-supply:
79+
description: 1.8V LVDS frontend analog power
80+
81+
apvdd-supply:
82+
description: 1.8V LVDS frontend PLL power
83+
84+
"#sound-dai-cells":
85+
const: 0
86+
87+
ite,i2s-audio-fifo-sources:
88+
$ref: /schemas/types.yaml#/definitions/uint32-array
89+
minItems: 1
90+
maxItems: 4
91+
items:
92+
enum: [0, 1, 2, 3]
93+
description:
94+
Each array element indicates the pin number of an I2S serial data input
95+
line which is connected to an audio FIFO, from audio FIFO0 to FIFO3.
96+
97+
ite,rl-channel-swap-audio-sources:
98+
$ref: /schemas/types.yaml#/definitions/uint32-array
99+
minItems: 1
100+
maxItems: 4
101+
uniqueItems: true
102+
items:
103+
enum: [0, 1, 2, 3]
104+
description:
105+
Each array element indicates an audio source whose right channel and left
106+
channel are swapped by this converter. For I2S, the element is the pin
107+
number of an I2S serial data input line. For S/PDIF, the element is always
108+
0.
109+
110+
ports:
111+
$ref: /schemas/graph.yaml#/properties/ports
112+
113+
properties:
114+
port@0: true
115+
116+
port@1:
117+
oneOf:
118+
- required: [dual-lvds-odd-pixels]
119+
- required: [dual-lvds-even-pixels]
120+
121+
port@2:
122+
$ref: /schemas/graph.yaml#/properties/port
123+
description: video port for the HDMI output
124+
125+
port@3:
126+
$ref: /schemas/graph.yaml#/properties/port
127+
description: sound input port
128+
129+
required:
130+
- port@0
131+
- port@2
132+
133+
required:
134+
- compatible
135+
- reg
136+
- data-mapping
137+
- ivdd-supply
138+
- ovdd-supply
139+
- txavcc18-supply
140+
- txavcc33-supply
141+
- pvcc1-supply
142+
- pvcc2-supply
143+
- avcc-supply
144+
- anvdd-supply
145+
- apvdd-supply
146+
147+
unevaluatedProperties: false
148+
149+
examples:
150+
- |
151+
/* single-link LVDS input */
152+
#include <dt-bindings/gpio/gpio.h>
153+
154+
i2c {
155+
#address-cells = <1>;
156+
#size-cells = <0>;
157+
158+
hdmi@4c {
159+
compatible = "ite,it6263";
160+
reg = <0x4c>;
161+
data-mapping = "jeida-24";
162+
reset-gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
163+
ivdd-supply = <&reg_buck5>;
164+
ovdd-supply = <&reg_vext_3v3>;
165+
txavcc18-supply = <&reg_buck5>;
166+
txavcc33-supply = <&reg_vext_3v3>;
167+
pvcc1-supply = <&reg_buck5>;
168+
pvcc2-supply = <&reg_buck5>;
169+
avcc-supply = <&reg_vext_3v3>;
170+
anvdd-supply = <&reg_buck5>;
171+
apvdd-supply = <&reg_buck5>;
172+
173+
ports {
174+
#address-cells = <1>;
175+
#size-cells = <0>;
176+
177+
port@0 {
178+
reg = <0>;
179+
180+
it6263_lvds_link1: endpoint {
181+
remote-endpoint = <&ldb_lvds_ch0>;
182+
};
183+
};
184+
185+
port@2 {
186+
reg = <2>;
187+
188+
it6263_out: endpoint {
189+
remote-endpoint = <&hdmi_in>;
190+
};
191+
};
192+
};
193+
};
194+
};
195+
196+
- |
197+
/* dual-link LVDS input */
198+
#include <dt-bindings/gpio/gpio.h>
199+
200+
i2c {
201+
#address-cells = <1>;
202+
#size-cells = <0>;
203+
204+
hdmi@4c {
205+
compatible = "ite,it6263";
206+
reg = <0x4c>;
207+
data-mapping = "jeida-24";
208+
reset-gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
209+
ivdd-supply = <&reg_buck5>;
210+
ovdd-supply = <&reg_vext_3v3>;
211+
txavcc18-supply = <&reg_buck5>;
212+
txavcc33-supply = <&reg_vext_3v3>;
213+
pvcc1-supply = <&reg_buck5>;
214+
pvcc2-supply = <&reg_buck5>;
215+
avcc-supply = <&reg_vext_3v3>;
216+
anvdd-supply = <&reg_buck5>;
217+
apvdd-supply = <&reg_buck5>;
218+
219+
ports {
220+
#address-cells = <1>;
221+
#size-cells = <0>;
222+
223+
port@0 {
224+
reg = <0>;
225+
dual-lvds-odd-pixels;
226+
227+
it6263_lvds_link1_dual: endpoint {
228+
remote-endpoint = <&ldb_lvds_ch0>;
229+
};
230+
};
231+
232+
port@1 {
233+
reg = <1>;
234+
dual-lvds-even-pixels;
235+
236+
it6263_lvds_link2_dual: endpoint {
237+
remote-endpoint = <&ldb_lvds_ch1>;
238+
};
239+
};
240+
241+
port@2 {
242+
reg = <2>;
243+
244+
it6263_out_dual: endpoint {
245+
remote-endpoint = <&hdmi_in>;
246+
};
247+
};
248+
};
249+
};
250+
};

Documentation/devicetree/bindings/display/lvds-data-mapping.yaml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,17 @@ description: |
2626
Device compatible with those specifications have been marketed under the
2727
FPD-Link and FlatLink brands.
2828
29+
This bindings also supports 30-bit data mapping compatible with JEIDA and
30+
VESA.
31+
2932
properties:
3033
data-mapping:
3134
enum:
3235
- jeida-18
3336
- jeida-24
37+
- jeida-30
3438
- vesa-24
39+
- vesa-30
3540
description: |
3641
The color signals mapping order.
3742
@@ -60,6 +65,19 @@ properties:
6065
DATA2 ><_CTL2_><_CTL1_><_CTL0_><__B7__><__B6__><__B5__><__B4__><
6166
DATA3 ><_CTL3_><__B1__><__B0__><__G1__><__G0__><__R1__><__R0__><
6267
68+
- "jeida-30" - 30-bit data mapping compatible with JEIDA and VESA. Data
69+
are transferred as follows on 5 LVDS lanes.
70+
71+
Slot 0 1 2 3 4 5 6
72+
________________ _________________
73+
Clock \_______________________/
74+
______ ______ ______ ______ ______ ______ ______
75+
DATA0 ><__G4__><__R9__><__R8__><__R7__><__R6__><__R5__><__R4__><
76+
DATA1 ><__B5__><__B4__><__G9__><__G8__><__G7__><__G6__><__G5__><
77+
DATA2 ><_CTL2_><_CTL1_><_CTL0_><__B9__><__B8__><__B7__><__B6__><
78+
DATA3 ><_CTL3_><__B3__><__B2__><__G3__><__G2__><__R3__><__R2__><
79+
DATA4 ><_CTL3_><__B1__><__B0__><__G1__><__G0__><__R1__><__R0__><
80+
6381
- "vesa-24" - 24-bit data mapping compatible with the [VESA] specification.
6482
Data are transferred as follows on 4 LVDS lanes.
6583
@@ -72,6 +90,19 @@ properties:
7290
DATA2 ><_CTL2_><_CTL1_><_CTL0_><__B5__><__B4__><__B3__><__B2__><
7391
DATA3 ><_CTL3_><__B7__><__B6__><__G7__><__G6__><__R7__><__R6__><
7492
93+
- "vesa-30" - 30-bit data mapping compatible with VESA. Data are
94+
transferred as follows on 5 LVDS lanes.
95+
96+
Slot 0 1 2 3 4 5 6
97+
________________ _________________
98+
Clock \_______________________/
99+
______ ______ ______ ______ ______ ______ ______
100+
DATA0 ><__G0__><__R5__><__R4__><__R3__><__R2__><__R1__><__R0__><
101+
DATA1 ><__B1__><__B0__><__G5__><__G4__><__G3__><__G2__><__G1__><
102+
DATA2 ><_CTL2_><_CTL1_><_CTL0_><__B5__><__B4__><__B3__><__B2__><
103+
DATA3 ><_CTL3_><__B7__><__B6__><__G7__><__G6__><__R7__><__R6__><
104+
DATA4 ><_CTL3_><__B9__><__B8__><__G9__><__G8__><__R9__><__R8__><
105+
75106
Control signals are mapped as follows.
76107
77108
CTL0: HSync
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/display/lvds-dual-ports.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Dual-link LVDS Display Common Properties
8+
9+
maintainers:
10+
- Liu Ying <victor.liu@nxp.com>
11+
12+
description: |
13+
Common properties for LVDS displays with dual LVDS links. Extend LVDS display
14+
common properties defined in lvds.yaml.
15+
16+
Dual-link LVDS displays receive odd pixels and even pixels separately from
17+
the dual LVDS links. One link receives odd pixels and the other receives
18+
even pixels. Some of those displays may also use only one LVDS link to
19+
receive all pixels, being odd and even agnostic.
20+
21+
allOf:
22+
- $ref: lvds.yaml#
23+
24+
properties:
25+
ports:
26+
$ref: /schemas/graph.yaml#/properties/ports
27+
28+
patternProperties:
29+
'^port@[01]$':
30+
$ref: /schemas/graph.yaml#/$defs/port-base
31+
unevaluatedProperties: false
32+
description: |
33+
port@0 represents the first LVDS input link.
34+
port@1 represents the second LVDS input link.
35+
36+
properties:
37+
dual-lvds-odd-pixels:
38+
type: boolean
39+
description: LVDS input link for odd pixels
40+
41+
dual-lvds-even-pixels:
42+
type: boolean
43+
description: LVDS input link for even pixels
44+
45+
oneOf:
46+
- required: [dual-lvds-odd-pixels]
47+
- required: [dual-lvds-even-pixels]
48+
- properties:
49+
dual-lvds-odd-pixels: false
50+
dual-lvds-even-pixels: false
51+
52+
anyOf:
53+
- required:
54+
- port@0
55+
- required:
56+
- port@1
57+
58+
required:
59+
- ports
60+
61+
additionalProperties: true
62+
63+
...

0 commit comments

Comments
 (0)