Re: [PATCH v6 4/8] phy: Add HDMI configuration options

From: Dmitry Baryshkov
Date: Sat Jun 24 2023 - 14:02:22 EST


On 15/06/2023 04:38, Sandor Yu wrote:
Allow HDMI PHYs to be configured through the generic
functions through a custom structure added to the generic union.

The parameters added here are based on HDMI PHY
implementation practices. The current set of parameters
should cover the potential users.

Signed-off-by: Sandor Yu <Sandor.yu@xxxxxxx>
---
include/linux/phy/phy-hdmi.h | 38 ++++++++++++++++++++++++++++++++++++
include/linux/phy/phy.h | 7 ++++++-
2 files changed, 44 insertions(+), 1 deletion(-)
create mode 100644 include/linux/phy/phy-hdmi.h

diff --git a/include/linux/phy/phy-hdmi.h b/include/linux/phy/phy-hdmi.h
new file mode 100644
index 000000000000..5765aa5bc175
--- /dev/null
+++ b/include/linux/phy/phy-hdmi.h
@@ -0,0 +1,38 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Copyright 2022 NXP
+ */
+
+#ifndef __PHY_HDMI_H_
+#define __PHY_HDMI_H_
+
+/**
+ * Pixel Encoding as HDMI Specification
+ * RGB, YUV422, YUV444:HDMI Specification 1.4a Section 6.5
+ * YUV420: HDMI Specification 2.a Section 7.1
+ */
+enum hdmi_phy_colorspace {
+ HDMI_PHY_COLORSPACE_RGB, /* RGB 4:4:4 */
+ HDMI_PHY_COLORSPACE_YUV422, /* YCbCr 4:2:2 */
+ HDMI_PHY_COLORSPACE_YUV444, /* YCbCr 4:4:4 */
+ HDMI_PHY_COLORSPACE_YUV420, /* YCbCr 4:2:0 */
+ HDMI_PHY_COLORSPACE_RESERVED4,
+ HDMI_PHY_COLORSPACE_RESERVED5,
+ HDMI_PHY_COLORSPACE_RESERVED6,
+};

This enum duplicates enum hdmi_colorspace from <linux/hdmi.h>
HDMI 2.0 defines '7' to be IDO-defined.

Would it be better to use that enum instead?

+
+/**
+ * struct phy_configure_opts_hdmi - HDMI configuration set
+ * @pixel_clk_rate: Pixel clock of video modes in KHz.
+ * @bpc: Maximum bits per color channel.
+ * @color_space: Colorspace in enum hdmi_phy_colorspace.
+ *
+ * This structure is used to represent the configuration state of a HDMI phy.
+ */
+struct phy_configure_opts_hdmi {
+ unsigned int pixel_clk_rate;
+ unsigned int bpc;
+ enum hdmi_phy_colorspace color_space;
+};
+
+#endif /* __PHY_HDMI_H_ */

[skipped the rest]

--
With best wishes
Dmitry