aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/platform_data
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>2013-06-16 21:13:11 -0400
committerLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>2013-08-09 17:17:52 -0400
commitef67a902e946ad1ef51040cf287a45cc4714e2b5 (patch)
tree8539a95cefc69a1c2553ec8d987a40e6048feedd /include/linux/platform_data
parent38b62fb3808e6b57dbd7728e897e4f7674d1c998 (diff)
drm/rcar-du: Rework output routing support
Split the output routing specification between SoC-internal data, specified in the rcar_du_device_info structure, and board data, passed through platform data. The DU has 5 possible outputs (DPAD0/1, LVDS0/1, TCON). SoC-internal output routing data specify which output are valid, which CRTCs can be connected to the valid outputs, and the type of in-SoC encoder for the output. Platform data then specifies external encoders and the output they are connected to. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Diffstat (limited to 'include/linux/platform_data')
-rw-r--r--include/linux/platform_data/rcar-du.h17
1 files changed, 15 insertions, 2 deletions
diff --git a/include/linux/platform_data/rcar-du.h b/include/linux/platform_data/rcar-du.h
index 64cd8635e6e6..1a2e9901a22e 100644
--- a/include/linux/platform_data/rcar-du.h
+++ b/include/linux/platform_data/rcar-du.h
@@ -16,8 +16,18 @@
16 16
17#include <drm/drm_mode.h> 17#include <drm/drm_mode.h>
18 18
19enum rcar_du_output {
20 RCAR_DU_OUTPUT_DPAD0,
21 RCAR_DU_OUTPUT_DPAD1,
22 RCAR_DU_OUTPUT_LVDS0,
23 RCAR_DU_OUTPUT_LVDS1,
24 RCAR_DU_OUTPUT_TCON,
25 RCAR_DU_OUTPUT_MAX,
26};
27
19enum rcar_du_encoder_type { 28enum rcar_du_encoder_type {
20 RCAR_DU_ENCODER_UNUSED = 0, 29 RCAR_DU_ENCODER_UNUSED = 0,
30 RCAR_DU_ENCODER_NONE,
21 RCAR_DU_ENCODER_VGA, 31 RCAR_DU_ENCODER_VGA,
22 RCAR_DU_ENCODER_LVDS, 32 RCAR_DU_ENCODER_LVDS,
23}; 33};
@@ -39,13 +49,16 @@ struct rcar_du_connector_vga_data {
39/* 49/*
40 * struct rcar_du_encoder_data - Encoder platform data 50 * struct rcar_du_encoder_data - Encoder platform data
41 * @type: the encoder type (RCAR_DU_ENCODER_*) 51 * @type: the encoder type (RCAR_DU_ENCODER_*)
42 * @output: the DU output the connector is connected to 52 * @output: the DU output the connector is connected to (RCAR_DU_OUTPUT_*)
43 * @connector.lvds: platform data for LVDS connectors 53 * @connector.lvds: platform data for LVDS connectors
44 * @connector.vga: platform data for VGA connectors 54 * @connector.vga: platform data for VGA connectors
55 *
56 * Encoder platform data describes an on-board encoder, its associated DU SoC
57 * output, and the connector.
45 */ 58 */
46struct rcar_du_encoder_data { 59struct rcar_du_encoder_data {
47 enum rcar_du_encoder_type type; 60 enum rcar_du_encoder_type type;
48 unsigned int output; 61 enum rcar_du_output output;
49 62
50 union { 63 union {
51 struct rcar_du_connector_lvds_data lvds; 64 struct rcar_du_connector_lvds_data lvds;