struct vc4_hdmi_register;
struct vc4_hdmi_connector_state;
+#ifdef CONFIG_EXTCON
+struct extcon_dev;
+#endif
+
enum vc4_hdmi_phy_channel {
PHY_LANE_0 = 0,
PHY_LANE_1,
};
enum vc4_hdmi_output_format {
+ VC4_HDMI_OUTPUT_AUTO,
VC4_HDMI_OUTPUT_RGB,
VC4_HDMI_OUTPUT_YUV422,
VC4_HDMI_OUTPUT_YUV444,
struct delayed_work scrambling_work;
struct drm_property *broadcast_rgb_property;
+ struct drm_property *output_format_property;
struct i2c_adapter *ddc;
void __iomem *hdmicore_regs;
* for use outside of KMS hooks. Protected by @mutex.
*/
enum vc4_hdmi_output_format output_format;
+ /**
+ * @requested_output_format: Copy of @vc4_connector_state.requested_output_format
+ * for use outside of KMS hooks. Protected by @mutex.
+ */
+ enum vc4_hdmi_output_format requested_output_format;
/**
* @broadcast_rgb: Copy of @vc4_connector_state.broadcast_rgb
struct debugfs_regset32 phy_regset;
struct debugfs_regset32 ram_regset;
struct debugfs_regset32 rm_regset;
+
+#ifdef CONFIG_EXTCON
+ enum drm_connector_status status;
+ struct extcon_dev *edev;
+#endif
};
static inline struct vc4_hdmi *
unsigned long long pixel_rate;
unsigned int output_bpc;
enum vc4_hdmi_output_format output_format;
+ enum vc4_hdmi_output_format requested_output_format;
int broadcast_rgb;
};