summaryrefslogtreecommitdiffstats
path: root/include/linux/platform_data/rcar-du.h
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>2013-06-17 03:13:11 +0200
committerLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>2013-08-09 23:17:52 +0200
commitef67a902e946ad1ef51040cf287a45cc4714e2b5 (patch)
tree8539a95cefc69a1c2553ec8d987a40e6048feedd /include/linux/platform_data/rcar-du.h
parent38b62fb3808e6b57dbd7728e897e4f7674d1c998 (diff)
downloadblackbird-op-linux-ef67a902e946ad1ef51040cf287a45cc4714e2b5.tar.gz
blackbird-op-linux-ef67a902e946ad1ef51040cf287a45cc4714e2b5.zip
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/rcar-du.h')
-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 @@
#include <drm/drm_mode.h>
+enum rcar_du_output {
+ RCAR_DU_OUTPUT_DPAD0,
+ RCAR_DU_OUTPUT_DPAD1,
+ RCAR_DU_OUTPUT_LVDS0,
+ RCAR_DU_OUTPUT_LVDS1,
+ RCAR_DU_OUTPUT_TCON,
+ RCAR_DU_OUTPUT_MAX,
+};
+
enum rcar_du_encoder_type {
RCAR_DU_ENCODER_UNUSED = 0,
+ RCAR_DU_ENCODER_NONE,
RCAR_DU_ENCODER_VGA,
RCAR_DU_ENCODER_LVDS,
};
@@ -39,13 +49,16 @@ struct rcar_du_connector_vga_data {
/*
* struct rcar_du_encoder_data - Encoder platform data
* @type: the encoder type (RCAR_DU_ENCODER_*)
- * @output: the DU output the connector is connected to
+ * @output: the DU output the connector is connected to (RCAR_DU_OUTPUT_*)
* @connector.lvds: platform data for LVDS connectors
* @connector.vga: platform data for VGA connectors
+ *
+ * Encoder platform data describes an on-board encoder, its associated DU SoC
+ * output, and the connector.
*/
struct rcar_du_encoder_data {
enum rcar_du_encoder_type type;
- unsigned int output;
+ enum rcar_du_output output;
union {
struct rcar_du_connector_lvds_data lvds;
OpenPOWER on IntegriCloud