aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChen-Yu Tsai <wens@csie.org>2016-10-19 23:43:41 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2017-04-12 06:41:15 -0400
commit6af7e1cae4457f5a17df46ca73d2f9b13d14edaf (patch)
tree598639f8eca4ac5baecff6e80c612029e95728d0
parent06a2bb472f71c6e2ed2a51c06608680dc20eb327 (diff)
drm/sun4i: Add compatible strings for A31/A31s display pipelines
commit 49c440e87cd6f547f93d0dc53571ae0e11d9ec8f upstream. The A31's display pipeline has 2 frontends, 2 backends, and 2 TCONs. It also has new display enhancement blocks, such as the DRC (Dynamic Range Controller), the DEU (Display Enhancement Unit), and the CMU (Color Management Unit). It supports HDMI, MIPI DSI, and 2 LCD/LVDS channels. The A31s display pipeline is almost the same, just without MIPI DSI. Only the TCON seems to be different, due to the missing mux for MIPI DSI. Add compatible strings for both of them. Signed-off-by: Chen-Yu Tsai <wens@csie.org> Acked-by: Rob Herring <robh@kernel.org> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt4
-rw-r--r--drivers/gpu/drm/sun4i/sun4i_backend.c1
-rw-r--r--drivers/gpu/drm/sun4i/sun4i_drv.c3
3 files changed, 8 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt b/Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt
index b95696d748c7..dfcfc38dc40b 100644
--- a/Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt
+++ b/Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt
@@ -87,6 +87,7 @@ system.
87Required properties: 87Required properties:
88 - compatible: value must be one of: 88 - compatible: value must be one of:
89 * allwinner,sun5i-a13-display-backend 89 * allwinner,sun5i-a13-display-backend
90 * allwinner,sun6i-a31-display-backend
90 * allwinner,sun8i-a33-display-backend 91 * allwinner,sun8i-a33-display-backend
91 - reg: base address and size of the memory-mapped region. 92 - reg: base address and size of the memory-mapped region.
92 - clocks: phandles to the clocks feeding the frontend and backend 93 - clocks: phandles to the clocks feeding the frontend and backend
@@ -117,6 +118,7 @@ deinterlacing and color space conversion.
117Required properties: 118Required properties:
118 - compatible: value must be one of: 119 - compatible: value must be one of:
119 * allwinner,sun5i-a13-display-frontend 120 * allwinner,sun5i-a13-display-frontend
121 * allwinner,sun6i-a31-display-frontend
120 * allwinner,sun8i-a33-display-frontend 122 * allwinner,sun8i-a33-display-frontend
121 - reg: base address and size of the memory-mapped region. 123 - reg: base address and size of the memory-mapped region.
122 - interrupts: interrupt associated to this IP 124 - interrupts: interrupt associated to this IP
@@ -142,6 +144,8 @@ extra node.
142Required properties: 144Required properties:
143 - compatible: value must be one of: 145 - compatible: value must be one of:
144 * allwinner,sun5i-a13-display-engine 146 * allwinner,sun5i-a13-display-engine
147 * allwinner,sun6i-a31-display-engine
148 * allwinner,sun6i-a31s-display-engine
145 * allwinner,sun8i-a33-display-engine 149 * allwinner,sun8i-a33-display-engine
146 150
147 - allwinner,pipelines: list of phandle to the display engine 151 - allwinner,pipelines: list of phandle to the display engine
diff --git a/drivers/gpu/drm/sun4i/sun4i_backend.c b/drivers/gpu/drm/sun4i/sun4i_backend.c
index 32c0584e3c35..6e6c59a661b6 100644
--- a/drivers/gpu/drm/sun4i/sun4i_backend.c
+++ b/drivers/gpu/drm/sun4i/sun4i_backend.c
@@ -408,6 +408,7 @@ static int sun4i_backend_remove(struct platform_device *pdev)
408 408
409static const struct of_device_id sun4i_backend_of_table[] = { 409static const struct of_device_id sun4i_backend_of_table[] = {
410 { .compatible = "allwinner,sun5i-a13-display-backend" }, 410 { .compatible = "allwinner,sun5i-a13-display-backend" },
411 { .compatible = "allwinner,sun6i-a31-display-backend" },
411 { .compatible = "allwinner,sun8i-a33-display-backend" }, 412 { .compatible = "allwinner,sun8i-a33-display-backend" },
412 { } 413 { }
413}; 414};
diff --git a/drivers/gpu/drm/sun4i/sun4i_drv.c b/drivers/gpu/drm/sun4i/sun4i_drv.c
index 70e9fd59c5a2..9440796276f7 100644
--- a/drivers/gpu/drm/sun4i/sun4i_drv.c
+++ b/drivers/gpu/drm/sun4i/sun4i_drv.c
@@ -201,6 +201,7 @@ static const struct component_master_ops sun4i_drv_master_ops = {
201static bool sun4i_drv_node_is_frontend(struct device_node *node) 201static bool sun4i_drv_node_is_frontend(struct device_node *node)
202{ 202{
203 return of_device_is_compatible(node, "allwinner,sun5i-a13-display-frontend") || 203 return of_device_is_compatible(node, "allwinner,sun5i-a13-display-frontend") ||
204 of_device_is_compatible(node, "allwinner,sun6i-a31-display-frontend") ||
204 of_device_is_compatible(node, "allwinner,sun8i-a33-display-frontend"); 205 of_device_is_compatible(node, "allwinner,sun8i-a33-display-frontend");
205} 206}
206 207
@@ -322,6 +323,8 @@ static int sun4i_drv_remove(struct platform_device *pdev)
322 323
323static const struct of_device_id sun4i_drv_of_table[] = { 324static const struct of_device_id sun4i_drv_of_table[] = {
324 { .compatible = "allwinner,sun5i-a13-display-engine" }, 325 { .compatible = "allwinner,sun5i-a13-display-engine" },
326 { .compatible = "allwinner,sun6i-a31-display-engine" },
327 { .compatible = "allwinner,sun6i-a31s-display-engine" },
325 { .compatible = "allwinner,sun8i-a33-display-engine" }, 328 { .compatible = "allwinner,sun8i-a33-display-engine" },
326 { } 329 { }
327}; 330};