Skip to content

Commit 45365b6

Browse files
committed
Merge tag 'drm-misc-next-2023-06-07' of git://anongit.freedesktop.org/drm/drm-misc into drm-next
drm-misc-next for v6.5: UAPI Changes: Cross-subsystem Changes: Core Changes: Driver Changes: * bridge * imx: Fix module linking * tc358762: Support reset GPIO * meson * Add support for MIPI DSI displays; plus fixes and DT bindings * panel * Add Support for Rocktech RK043FN48H; plus DT bindings * Add support for Starry himax83102-j02; plus DT bindings * Add support for Starry ili9882t; plus DT bindings * virtio * Support sync-object UAPI Signed-off-by: Dave Airlie <[email protected]> From: Thomas Zimmermann <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/20230607085644.GA12673@linux-uq9g
2 parents 7f4f4ad + 13cdd12 commit 45365b6

32 files changed

+1989
-221
lines changed

.mailmap

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -327,6 +327,7 @@ Mauro Carvalho Chehab <[email protected]> <[email protected]>
327327
Mauro Carvalho Chehab <[email protected]> <[email protected]>
328328
Maxim Mikityanskiy <[email protected]> <[email protected]>
329329
Maxim Mikityanskiy <[email protected]> <[email protected]>
330+
330331
331332
332333
Mayuresh Janorkar <[email protected]>
Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2+
# Copyright 2020 BayLibre, SAS
3+
%YAML 1.2
4+
---
5+
$id: http://devicetree.org/schemas/display/amlogic,meson-g12a-dw-mipi-dsi.yaml#
6+
$schema: http://devicetree.org/meta-schemas/core.yaml#
7+
8+
title: Amlogic specific extensions to the Synopsys Designware MIPI DSI Host Controller
9+
10+
maintainers:
11+
- Neil Armstrong <[email protected]>
12+
13+
description: |
14+
The Amlogic Meson Synopsys Designware Integration is composed of
15+
- A Synopsys DesignWare MIPI DSI Host Controller IP
16+
- A TOP control block controlling the Clocks & Resets of the IP
17+
18+
allOf:
19+
- $ref: dsi-controller.yaml#
20+
21+
properties:
22+
compatible:
23+
enum:
24+
- amlogic,meson-g12a-dw-mipi-dsi
25+
26+
reg:
27+
maxItems: 1
28+
29+
clocks:
30+
minItems: 3
31+
maxItems: 4
32+
33+
clock-names:
34+
minItems: 3
35+
items:
36+
- const: pclk
37+
- const: bit
38+
- const: px
39+
- const: meas
40+
41+
resets:
42+
maxItems: 1
43+
44+
reset-names:
45+
items:
46+
- const: top
47+
48+
phys:
49+
maxItems: 1
50+
51+
phy-names:
52+
items:
53+
- const: dphy
54+
55+
ports:
56+
$ref: /schemas/graph.yaml#/properties/ports
57+
58+
properties:
59+
port@0:
60+
$ref: /schemas/graph.yaml#/properties/port
61+
description: Input node to receive pixel data.
62+
63+
port@1:
64+
$ref: /schemas/graph.yaml#/properties/port
65+
description: DSI output node to panel.
66+
67+
required:
68+
- port@0
69+
- port@1
70+
71+
required:
72+
- compatible
73+
- reg
74+
- clocks
75+
- clock-names
76+
- resets
77+
- reset-names
78+
- phys
79+
- phy-names
80+
- ports
81+
82+
unevaluatedProperties: false
83+
84+
examples:
85+
- |
86+
dsi@6000 {
87+
compatible = "amlogic,meson-g12a-dw-mipi-dsi";
88+
reg = <0x6000 0x400>;
89+
resets = <&reset_top>;
90+
reset-names = "top";
91+
clocks = <&clk_pclk>, <&bit_clk>, <&clk_px>;
92+
clock-names = "pclk", "bit", "px";
93+
phys = <&mipi_dphy>;
94+
phy-names = "dphy";
95+
96+
ports {
97+
#address-cells = <1>;
98+
#size-cells = <0>;
99+
100+
/* VPU VENC Input */
101+
mipi_dsi_venc_port: port@0 {
102+
reg = <0>;
103+
104+
mipi_dsi_in: endpoint {
105+
remote-endpoint = <&dpi_out>;
106+
};
107+
};
108+
109+
/* DSI Output */
110+
mipi_dsi_panel_port: port@1 {
111+
reg = <1>;
112+
113+
mipi_out_panel: endpoint {
114+
remote-endpoint = <&mipi_in_panel>;
115+
};
116+
};
117+
};
118+
};

Documentation/devicetree/bindings/display/amlogic,meson-vpu.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,11 @@ properties:
9696
description:
9797
A port node pointing to the HDMI-TX port node.
9898

99+
port@2:
100+
$ref: /schemas/graph.yaml#/properties/port
101+
description:
102+
A port node pointing to the DPI port node (e.g. DSI or LVDS transceiver).
103+
99104
"#address-cells":
100105
const: 1
101106

Documentation/devicetree/bindings/display/bridge/toshiba,tc358762.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@ properties:
2121
maxItems: 1
2222
description: virtual channel number of a DSI peripheral
2323

24+
reset-gpios:
25+
maxItems: 1
26+
2427
vddc-supply:
2528
description: Regulator for 1.2V internal core power.
2629

Documentation/devicetree/bindings/display/panel/boe,tv101wum-nl6.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,10 @@ properties:
3232
- innolux,hj110iz-01a
3333
# STARRY 2081101QFH032011-53G 10.1" WUXGA TFT LCD panel
3434
- starry,2081101qfh032011-53g
35+
# STARRY himax83102-j02 10.51" WUXGA TFT LCD panel
36+
- starry,himax83102-j02
37+
# STARRY ili9882t 10.51" WUXGA TFT LCD panel
38+
- starry,ili9882t
3539

3640
reg:
3741
description: the virtual channel number of a DSI peripheral

Documentation/devicetree/bindings/display/panel/panel-simple.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -286,6 +286,8 @@ properties:
286286
- rocktech,rk101ii01d-ct
287287
# Rocktech Display Ltd. RK070ER9427 800(RGB)x480 TFT LCD panel
288288
- rocktech,rk070er9427
289+
# Rocktech Display Ltd. RK043FN48H 4.3" 480x272 LCD-TFT panel
290+
- rocktech,rk043fn48h
289291
# Samsung 13.3" FHD (1920x1080 pixels) eDP AMOLED panel
290292
- samsung,atna33xc20
291293
# Samsung 12.2" (2560x1600 pixels) TFT LCD panel

MAINTAINERS

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17387,6 +17387,8 @@ F: include/dt-bindings/clock/qcom,*
1738717387

1738817388
QUALCOMM CLOUD AI (QAIC) DRIVER
1738917389
M: Jeffrey Hugo <[email protected]>
17390+
R: Carl Vanderlip <[email protected]>
17391+
R: Pranjal Ramajor Asha Kanojiya <[email protected]>
1739017392
1739117393
1739217394
S: Supported

drivers/gpu/drm/bridge/imx/Kconfig

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
11
if ARCH_MXC || COMPILE_TEST
22

3+
config DRM_IMX_LDB_HELPER
4+
tristate
5+
36
config DRM_IMX8QM_LDB
47
tristate "Freescale i.MX8QM LVDS display bridge"
58
depends on OF
69
depends on COMMON_CLK
10+
select DRM_IMX_LDB_HELPER
711
select DRM_KMS_HELPER
812
help
913
Choose this to enable the internal LVDS Display Bridge(LDB) found in
@@ -13,6 +17,7 @@ config DRM_IMX8QXP_LDB
1317
tristate "Freescale i.MX8QXP LVDS display bridge"
1418
depends on OF
1519
depends on COMMON_CLK
20+
select DRM_IMX_LDB_HELPER
1621
select DRM_KMS_HELPER
1722
help
1823
Choose this to enable the internal LVDS Display Bridge(LDB) found in

drivers/gpu/drm/bridge/imx/Makefile

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
1-
imx8qm-ldb-objs := imx-ldb-helper.o imx8qm-ldb-drv.o
1+
obj-$(CONFIG_DRM_IMX_LDB_HELPER) += imx-ldb-helper.o
22
obj-$(CONFIG_DRM_IMX8QM_LDB) += imx8qm-ldb.o
3-
4-
imx8qxp-ldb-objs := imx-ldb-helper.o imx8qxp-ldb-drv.o
53
obj-$(CONFIG_DRM_IMX8QXP_LDB) += imx8qxp-ldb.o
6-
74
obj-$(CONFIG_DRM_IMX8QXP_PIXEL_COMBINER) += imx8qxp-pixel-combiner.o
85
obj-$(CONFIG_DRM_IMX8QXP_PIXEL_LINK) += imx8qxp-pixel-link.o
96
obj-$(CONFIG_DRM_IMX8QXP_PIXEL_LINK_TO_DPI) += imx8qxp-pxl2dpi.o

drivers/gpu/drm/bridge/imx/imx-ldb-helper.c

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,10 @@
44
* Copyright 2019,2020,2022 NXP
55
*/
66

7+
#include <linux/export.h>
78
#include <linux/media-bus-format.h>
89
#include <linux/mfd/syscon.h>
10+
#include <linux/module.h>
911
#include <linux/of.h>
1012
#include <linux/regmap.h>
1113

@@ -19,12 +21,14 @@ bool ldb_channel_is_single_link(struct ldb_channel *ldb_ch)
1921
{
2022
return ldb_ch->link_type == LDB_CH_SINGLE_LINK;
2123
}
24+
EXPORT_SYMBOL_GPL(ldb_channel_is_single_link);
2225

2326
bool ldb_channel_is_split_link(struct ldb_channel *ldb_ch)
2427
{
2528
return ldb_ch->link_type == LDB_CH_DUAL_LINK_EVEN_ODD_PIXELS ||
2629
ldb_ch->link_type == LDB_CH_DUAL_LINK_ODD_EVEN_PIXELS;
2730
}
31+
EXPORT_SYMBOL_GPL(ldb_channel_is_split_link);
2832

2933
int ldb_bridge_atomic_check_helper(struct drm_bridge *bridge,
3034
struct drm_bridge_state *bridge_state,
@@ -38,6 +42,7 @@ int ldb_bridge_atomic_check_helper(struct drm_bridge *bridge,
3842

3943
return 0;
4044
}
45+
EXPORT_SYMBOL_GPL(ldb_bridge_atomic_check_helper);
4146

4247
void ldb_bridge_mode_set_helper(struct drm_bridge *bridge,
4348
const struct drm_display_mode *mode,
@@ -69,6 +74,7 @@ void ldb_bridge_mode_set_helper(struct drm_bridge *bridge,
6974
break;
7075
}
7176
}
77+
EXPORT_SYMBOL_GPL(ldb_bridge_mode_set_helper);
7278

7379
void ldb_bridge_enable_helper(struct drm_bridge *bridge)
7480
{
@@ -81,6 +87,7 @@ void ldb_bridge_enable_helper(struct drm_bridge *bridge)
8187
*/
8288
regmap_write(ldb->regmap, ldb->ctrl_reg, ldb->ldb_ctrl);
8389
}
90+
EXPORT_SYMBOL_GPL(ldb_bridge_enable_helper);
8491

8592
void ldb_bridge_disable_helper(struct drm_bridge *bridge)
8693
{
@@ -95,6 +102,7 @@ void ldb_bridge_disable_helper(struct drm_bridge *bridge)
95102

96103
regmap_write(ldb->regmap, ldb->ctrl_reg, ldb->ldb_ctrl);
97104
}
105+
EXPORT_SYMBOL_GPL(ldb_bridge_disable_helper);
98106

99107
int ldb_bridge_attach_helper(struct drm_bridge *bridge,
100108
enum drm_bridge_attach_flags flags)
@@ -117,6 +125,7 @@ int ldb_bridge_attach_helper(struct drm_bridge *bridge,
117125
ldb_ch->next_bridge, bridge,
118126
DRM_BRIDGE_ATTACH_NO_CONNECTOR);
119127
}
128+
EXPORT_SYMBOL_GPL(ldb_bridge_attach_helper);
120129

121130
int ldb_init_helper(struct ldb *ldb)
122131
{
@@ -157,6 +166,7 @@ int ldb_init_helper(struct ldb *ldb)
157166

158167
return 0;
159168
}
169+
EXPORT_SYMBOL_GPL(ldb_init_helper);
160170

161171
int ldb_find_next_bridge_helper(struct ldb *ldb)
162172
{
@@ -184,6 +194,7 @@ int ldb_find_next_bridge_helper(struct ldb *ldb)
184194

185195
return 0;
186196
}
197+
EXPORT_SYMBOL_GPL(ldb_find_next_bridge_helper);
187198

188199
void ldb_add_bridge_helper(struct ldb *ldb,
189200
const struct drm_bridge_funcs *bridge_funcs)
@@ -204,6 +215,7 @@ void ldb_add_bridge_helper(struct ldb *ldb,
204215
drm_bridge_add(&ldb_ch->bridge);
205216
}
206217
}
218+
EXPORT_SYMBOL_GPL(ldb_add_bridge_helper);
207219

208220
void ldb_remove_bridge_helper(struct ldb *ldb)
209221
{
@@ -219,3 +231,8 @@ void ldb_remove_bridge_helper(struct ldb *ldb)
219231
drm_bridge_remove(&ldb_ch->bridge);
220232
}
221233
}
234+
EXPORT_SYMBOL_GPL(ldb_remove_bridge_helper);
235+
236+
MODULE_DESCRIPTION("i.MX8 LVDS Display Bridge(LDB)/Pixel Mapper bridge helper");
237+
MODULE_AUTHOR("Liu Ying <[email protected]>");
238+
MODULE_LICENSE("GPL");

0 commit comments

Comments
 (0)