diff options
author | Chen-Yu Tsai <wens@csie.org> | 2018-03-15 07:41:33 -0400 |
---|---|---|
committer | Maxime Ripard <maxime.ripard@bootlin.com> | 2018-03-19 10:40:24 -0400 |
commit | 334789593c3fe1dd8f5c49c5a49b7e0e43dfdf1c (patch) | |
tree | 5e54a94f7863682999efce6f41e5269daa05d440 /drivers | |
parent | 54fb174216d8c9a80562056eccf11e7bd7c6b96b (diff) |
drm/sun4i: Add driver support for A80 display pipeline
This patch adds support for the compatible strings of the A80 display
pipeline.
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180315114136.24747-6-wens@csie.org
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/gpu/drm/sun4i/sun4i_backend.c | 7 | ||||
-rw-r--r-- | drivers/gpu/drm/sun4i/sun4i_drv.c | 12 | ||||
-rw-r--r-- | drivers/gpu/drm/sun4i/sun6i_drc.c | 1 |
3 files changed, 18 insertions, 2 deletions
diff --git a/drivers/gpu/drm/sun4i/sun4i_backend.c b/drivers/gpu/drm/sun4i/sun4i_backend.c index 092ade4ff6a5..ed36240048d5 100644 --- a/drivers/gpu/drm/sun4i/sun4i_backend.c +++ b/drivers/gpu/drm/sun4i/sun4i_backend.c | |||
@@ -793,6 +793,9 @@ static const struct sun4i_backend_quirks sun7i_backend_quirks = { | |||
793 | static const struct sun4i_backend_quirks sun8i_a33_backend_quirks = { | 793 | static const struct sun4i_backend_quirks sun8i_a33_backend_quirks = { |
794 | }; | 794 | }; |
795 | 795 | ||
796 | static const struct sun4i_backend_quirks sun9i_backend_quirks = { | ||
797 | }; | ||
798 | |||
796 | static const struct of_device_id sun4i_backend_of_table[] = { | 799 | static const struct of_device_id sun4i_backend_of_table[] = { |
797 | { | 800 | { |
798 | .compatible = "allwinner,sun4i-a10-display-backend", | 801 | .compatible = "allwinner,sun4i-a10-display-backend", |
@@ -814,6 +817,10 @@ static const struct of_device_id sun4i_backend_of_table[] = { | |||
814 | .compatible = "allwinner,sun8i-a33-display-backend", | 817 | .compatible = "allwinner,sun8i-a33-display-backend", |
815 | .data = &sun8i_a33_backend_quirks, | 818 | .data = &sun8i_a33_backend_quirks, |
816 | }, | 819 | }, |
820 | { | ||
821 | .compatible = "allwinner,sun9i-a80-display-backend", | ||
822 | .data = &sun9i_backend_quirks, | ||
823 | }, | ||
817 | { } | 824 | { } |
818 | }; | 825 | }; |
819 | MODULE_DEVICE_TABLE(of, sun4i_backend_of_table); | 826 | MODULE_DEVICE_TABLE(of, sun4i_backend_of_table); |
diff --git a/drivers/gpu/drm/sun4i/sun4i_drv.c b/drivers/gpu/drm/sun4i/sun4i_drv.c index a0f43b81c64c..7f0705ef9f4e 100644 --- a/drivers/gpu/drm/sun4i/sun4i_drv.c +++ b/drivers/gpu/drm/sun4i/sun4i_drv.c | |||
@@ -176,7 +176,13 @@ static bool sun4i_drv_node_is_frontend(struct device_node *node) | |||
176 | of_device_is_compatible(node, "allwinner,sun5i-a13-display-frontend") || | 176 | of_device_is_compatible(node, "allwinner,sun5i-a13-display-frontend") || |
177 | of_device_is_compatible(node, "allwinner,sun6i-a31-display-frontend") || | 177 | of_device_is_compatible(node, "allwinner,sun6i-a31-display-frontend") || |
178 | of_device_is_compatible(node, "allwinner,sun7i-a20-display-frontend") || | 178 | of_device_is_compatible(node, "allwinner,sun7i-a20-display-frontend") || |
179 | of_device_is_compatible(node, "allwinner,sun8i-a33-display-frontend"); | 179 | of_device_is_compatible(node, "allwinner,sun8i-a33-display-frontend") || |
180 | of_device_is_compatible(node, "allwinner,sun9i-a80-display-frontend"); | ||
181 | } | ||
182 | |||
183 | static bool sun4i_drv_node_is_deu(struct device_node *node) | ||
184 | { | ||
185 | return of_device_is_compatible(node, "allwinner,sun9i-a80-deu"); | ||
180 | } | 186 | } |
181 | 187 | ||
182 | static bool sun4i_drv_node_is_supported_frontend(struct device_node *node) | 188 | static bool sun4i_drv_node_is_supported_frontend(struct device_node *node) |
@@ -257,7 +263,8 @@ static int sun4i_drv_add_endpoints(struct device *dev, | |||
257 | * enabled frontend supported by the driver, we add it to our | 263 | * enabled frontend supported by the driver, we add it to our |
258 | * component list. | 264 | * component list. |
259 | */ | 265 | */ |
260 | if (!sun4i_drv_node_is_frontend(node) || | 266 | if (!(sun4i_drv_node_is_frontend(node) || |
267 | sun4i_drv_node_is_deu(node)) || | ||
261 | (sun4i_drv_node_is_supported_frontend(node) && | 268 | (sun4i_drv_node_is_supported_frontend(node) && |
262 | of_device_is_available(node))) { | 269 | of_device_is_available(node))) { |
263 | /* Add current component */ | 270 | /* Add current component */ |
@@ -361,6 +368,7 @@ static const struct of_device_id sun4i_drv_of_table[] = { | |||
361 | { .compatible = "allwinner,sun8i-a83t-display-engine" }, | 368 | { .compatible = "allwinner,sun8i-a83t-display-engine" }, |
362 | { .compatible = "allwinner,sun8i-h3-display-engine" }, | 369 | { .compatible = "allwinner,sun8i-h3-display-engine" }, |
363 | { .compatible = "allwinner,sun8i-v3s-display-engine" }, | 370 | { .compatible = "allwinner,sun8i-v3s-display-engine" }, |
371 | { .compatible = "allwinner,sun9i-a80-display-engine" }, | ||
364 | { } | 372 | { } |
365 | }; | 373 | }; |
366 | MODULE_DEVICE_TABLE(of, sun4i_drv_of_table); | 374 | MODULE_DEVICE_TABLE(of, sun4i_drv_of_table); |
diff --git a/drivers/gpu/drm/sun4i/sun6i_drc.c b/drivers/gpu/drm/sun4i/sun6i_drc.c index 09bba853e2a4..b5e071a49045 100644 --- a/drivers/gpu/drm/sun4i/sun6i_drc.c +++ b/drivers/gpu/drm/sun4i/sun6i_drc.c | |||
@@ -101,6 +101,7 @@ static const struct of_device_id sun6i_drc_of_table[] = { | |||
101 | { .compatible = "allwinner,sun6i-a31-drc" }, | 101 | { .compatible = "allwinner,sun6i-a31-drc" }, |
102 | { .compatible = "allwinner,sun6i-a31s-drc" }, | 102 | { .compatible = "allwinner,sun6i-a31s-drc" }, |
103 | { .compatible = "allwinner,sun8i-a33-drc" }, | 103 | { .compatible = "allwinner,sun8i-a33-drc" }, |
104 | { .compatible = "allwinner,sun9i-a80-drc" }, | ||
104 | { } | 105 | { } |
105 | }; | 106 | }; |
106 | MODULE_DEVICE_TABLE(of, sun6i_drc_of_table); | 107 | MODULE_DEVICE_TABLE(of, sun6i_drc_of_table); |