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@nxp.com>
---
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,
+};
+
+/**
+ * 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_ */
diff --git a/include/linux/phy/phy.h b/include/linux/phy/phy.h
index 3a570bc59fc7..93d77d45b1d4 100644
--- a/include/linux/phy/phy.h
+++ b/include/linux/phy/phy.h
@@ -17,6 +17,7 @@
#include <linux/regulator/consumer.h>
#include <linux/phy/phy-dp.h>
+#include <linux/phy/phy-hdmi.h>
#include <linux/phy/phy-lvds.h>
#include <linux/phy/phy-mipi-dphy.h>
@@ -42,7 +43,8 @@ enum phy_mode {
PHY_MODE_MIPI_DPHY,
PHY_MODE_SATA,
PHY_MODE_LVDS,
- PHY_MODE_DP
+ PHY_MODE_DP,
+ PHY_MODE_HDMI,
};
enum phy_media {
@@ -60,11 +62,14 @@ enum phy_media {
* the DisplayPort protocol.
* @lvds: Configuration set applicable for phys supporting
* the LVDS phy mode.
+ * @hdmi: Configuration set applicable for phys supporting
+ * the HDMI phy mode.
*/
union phy_configure_opts {
struct phy_configure_opts_mipi_dphy mipi_dphy;
struct phy_configure_opts_dp dp;
struct phy_configure_opts_lvds lvds;
+ struct phy_configure_opts_hdmi hdmi;
};
/**
--
2.34.1
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@nxp.com>
> ---
> 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
Hi Dmitry,
Thanks for your comments,
> -----Original Message-----
> From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> Sent: 2023年6月25日 2:02
> To: Sandor Yu <sandor.yu@nxp.com>; andrzej.hajda@intel.com;
> neil.armstrong@linaro.org; robert.foss@linaro.org;
> Laurent.pinchart@ideasonboard.com; jonas@kwiboo.se;
> jernej.skrabec@gmail.com; airlied@gmail.com; daniel@ffwll.ch;
> robh+dt@kernel.org; krzysztof.kozlowski+dt@linaro.org;
> shawnguo@kernel.org; s.hauer@pengutronix.de; festevam@gmail.com;
> vkoul@kernel.org; dri-devel@lists.freedesktop.org;
> devicetree@vger.kernel.org; linux-arm-kernel@lists.infradead.org;
> linux-kernel@vger.kernel.org; linux-phy@lists.infradead.org
> Cc: kernel@pengutronix.de; dl-linux-imx <linux-imx@nxp.com>; Oliver Brown
> <oliver.brown@nxp.com>
> Subject: [EXT] Re: [PATCH v6 4/8] phy: Add HDMI configuration options
>
> Caution: This is an external email. Please take care when clicking links or
> opening attachments. When in doubt, report the message using the 'Report
> this email' button
>
>
> 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@nxp.com>
> > ---
> > 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?
Accept. I will create head file hdmi_colorspace.h to reuse enum hdmi_colorspace in <linux/hdmi.h>.
B.R
Sandor
>
> > +
> > +/**
> > + * 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
On Mon, 10 Jul 2023 at 10:28, Sandor Yu <sandor.yu@nxp.com> wrote:
>
> Hi Dmitry,
>
> Thanks for your comments,
>
> > -----Original Message-----
> > From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> > Sent: 2023年6月25日 2:02
> > To: Sandor Yu <sandor.yu@nxp.com>; andrzej.hajda@intel.com;
> > neil.armstrong@linaro.org; robert.foss@linaro.org;
> > Laurent.pinchart@ideasonboard.com; jonas@kwiboo.se;
> > jernej.skrabec@gmail.com; airlied@gmail.com; daniel@ffwll.ch;
> > robh+dt@kernel.org; krzysztof.kozlowski+dt@linaro.org;
> > shawnguo@kernel.org; s.hauer@pengutronix.de; festevam@gmail.com;
> > vkoul@kernel.org; dri-devel@lists.freedesktop.org;
> > devicetree@vger.kernel.org; linux-arm-kernel@lists.infradead.org;
> > linux-kernel@vger.kernel.org; linux-phy@lists.infradead.org
> > Cc: kernel@pengutronix.de; dl-linux-imx <linux-imx@nxp.com>; Oliver Brown
> > <oliver.brown@nxp.com>
> > Subject: [EXT] Re: [PATCH v6 4/8] phy: Add HDMI configuration options
Is this part necessary?
> >
> > Caution: This is an external email. Please take care when clicking links or
> > opening attachments. When in doubt, report the message using the 'Report
> > this email' button
> >
> >
> > 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@nxp.com>
> > > ---
> > > 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?
> Accept. I will create head file hdmi_colorspace.h to reuse enum hdmi_colorspace in <linux/hdmi.h>.
Hmm, you need another header file to reuse this enum.
>
> B.R
> Sandor
> >
> > > +
> > > +/**
> > > + * 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
>
--
With best wishes
Dmitry
> -----Original Message-----
> From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> Sent: 2023年7月10日 15:30
> To: Sandor Yu <sandor.yu@nxp.com>
> Cc: andrzej.hajda@intel.com; neil.armstrong@linaro.org;
> robert.foss@linaro.org; Laurent.pinchart@ideasonboard.com;
> jonas@kwiboo.se; jernej.skrabec@gmail.com; airlied@gmail.com;
> daniel@ffwll.ch; robh+dt@kernel.org; krzysztof.kozlowski+dt@linaro.org;
> shawnguo@kernel.org; s.hauer@pengutronix.de; festevam@gmail.com;
> vkoul@kernel.org; dri-devel@lists.freedesktop.org;
> devicetree@vger.kernel.org; linux-arm-kernel@lists.infradead.org;
> linux-kernel@vger.kernel.org; linux-phy@lists.infradead.org;
> kernel@pengutronix.de; dl-linux-imx <linux-imx@nxp.com>; Oliver Brown
> <oliver.brown@nxp.com>
> Subject: Re: [EXT] Re: [PATCH v6 4/8] phy: Add HDMI configuration options
>
>
> On Mon, 10 Jul 2023 at 10:28, Sandor Yu <sandor.yu@nxp.com> wrote:
> >
> > Hi Dmitry,
> >
> > Thanks for your comments,
> >
> > > -----Original Message-----
> > > From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> > > Sent: 2023年6月25日 2:02
> > > To: Sandor Yu <sandor.yu@nxp.com>; andrzej.hajda@intel.com;
> > > neil.armstrong@linaro.org; robert.foss@linaro.org;
> > > Laurent.pinchart@ideasonboard.com; jonas@kwiboo.se;
> > > jernej.skrabec@gmail.com; airlied@gmail.com; daniel@ffwll.ch;
> > > robh+dt@kernel.org; krzysztof.kozlowski+dt@linaro.org;
> > > shawnguo@kernel.org; s.hauer@pengutronix.de; festevam@gmail.com;
> > > vkoul@kernel.org; dri-devel@lists.freedesktop.org;
> > > devicetree@vger.kernel.org; linux-arm-kernel@lists.infradead.org;
> > > linux-kernel@vger.kernel.org; linux-phy@lists.infradead.org
> > > Cc: kernel@pengutronix.de; dl-linux-imx <linux-imx@nxp.com>; Oliver
> > > Brown <oliver.brown@nxp.com>
> > > Subject: [EXT] Re: [PATCH v6 4/8] phy: Add HDMI configuration
> > > options
>
> Is this part necessary?
No, forgot to remove the Caution it is auto added by mail system.
>
> > >
> > > Caution: This is an external email. Please take care when clicking
> > > links or opening attachments. When in doubt, report the message
> > > using the 'Report this email' button
> > >
> > >
> > > 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@nxp.com>
> > > > ---
> > > > 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?
> > Accept. I will create head file hdmi_colorspace.h to reuse enum
> hdmi_colorspace in <linux/hdmi.h>.
>
> Hmm, you need another header file to reuse this enum.
>
> >
> > B.R
> > Sandor
> > >
> > > > +
> > > > +/**
> > > > + * 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
> >
>
>
> --
> With best wishes
> Dmitry
B.R
Sandor
On 10/07/2023 10:28, Sandor Yu wrote:
> Hi Dmitry,
>
> Thanks for your comments,
>
>> From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
>> 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@nxp.com>
>>> ---
>>> 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?
> Accept. I will create head file hdmi_colorspace.h to reuse enum hdmi_colorspace in <linux/hdmi.h>.
Excuse me, it was supposed to be a question.
Do you need another header file to reuse this enum?
>
> B.R
> Sandor
>>
>>> +
>>> +/**
>>> + * 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
>
--
With best wishes
Dmitry
> -----Original Message-----
> From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> Sent: 2023年7月10日 15:44
> To: Sandor Yu <sandor.yu@nxp.com>; andrzej.hajda@intel.com;
> neil.armstrong@linaro.org; robert.foss@linaro.org;
> Laurent.pinchart@ideasonboard.com; jonas@kwiboo.se;
> jernej.skrabec@gmail.com; airlied@gmail.com; daniel@ffwll.ch;
> robh+dt@kernel.org; krzysztof.kozlowski+dt@linaro.org;
> shawnguo@kernel.org; s.hauer@pengutronix.de; festevam@gmail.com;
> vkoul@kernel.org; dri-devel@lists.freedesktop.org;
> devicetree@vger.kernel.org; linux-arm-kernel@lists.infradead.org;
> linux-kernel@vger.kernel.org; linux-phy@lists.infradead.org
> Cc: kernel@pengutronix.de; dl-linux-imx <linux-imx@nxp.com>; Oliver Brown
> <oliver.brown@nxp.com>
> Subject: Re: [EXT] Re: [PATCH v6 4/8] phy: Add HDMI configuration options
>
>
> On 10/07/2023 10:28, Sandor Yu wrote:
> > Hi Dmitry,
> >
> > Thanks for your comments,
> >
> >> From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> 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@nxp.com>
> >>> ---
> >>> 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?
> > Accept. I will create head file hdmi_colorspace.h to reuse enum
> hdmi_colorspace in <linux/hdmi.h>.
>
> Excuse me, it was supposed to be a question.
>
> Do you need another header file to reuse this enum?
I'm not sure community whether would accept the patch that simply include <linux/hdmi.h> in phy-hdmi.h
because there are lots of other definition in <linux/hdmi.h> that not need by phy-hdmi.h.
If the answer is yes, I happy to follow.
>
> >
> > B.R
> > Sandor
> >>
> >>> +
> >>> +/**
> >>> + * 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
> >
>
> --
> With best wishes
> Dmitry
B.R
Sandor
On Mon, 10 Jul 2023 at 11:01, Sandor Yu <sandor.yu@nxp.com> wrote:
>
>
>
> > -----Original Message-----
> > From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> > Sent: 2023年7月10日 15:44
> > To: Sandor Yu <sandor.yu@nxp.com>; andrzej.hajda@intel.com;
> > neil.armstrong@linaro.org; robert.foss@linaro.org;
> > Laurent.pinchart@ideasonboard.com; jonas@kwiboo.se;
> > jernej.skrabec@gmail.com; airlied@gmail.com; daniel@ffwll.ch;
> > robh+dt@kernel.org; krzysztof.kozlowski+dt@linaro.org;
> > shawnguo@kernel.org; s.hauer@pengutronix.de; festevam@gmail.com;
> > vkoul@kernel.org; dri-devel@lists.freedesktop.org;
> > devicetree@vger.kernel.org; linux-arm-kernel@lists.infradead.org;
> > linux-kernel@vger.kernel.org; linux-phy@lists.infradead.org
> > Cc: kernel@pengutronix.de; dl-linux-imx <linux-imx@nxp.com>; Oliver Brown
> > <oliver.brown@nxp.com>
> > Subject: Re: [EXT] Re: [PATCH v6 4/8] phy: Add HDMI configuration options
> >
> >
> > On 10/07/2023 10:28, Sandor Yu wrote:
> > > Hi Dmitry,
> > >
> > > Thanks for your comments,
> > >
> > >> From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> 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@nxp.com>
> > >>> ---
> > >>> 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?
> > > Accept. I will create head file hdmi_colorspace.h to reuse enum
> > hdmi_colorspace in <linux/hdmi.h>.
> >
> > Excuse me, it was supposed to be a question.
> >
> > Do you need another header file to reuse this enum?
> I'm not sure community whether would accept the patch that simply include <linux/hdmi.h> in phy-hdmi.h
> because there are lots of other definition in <linux/hdmi.h> that not need by phy-hdmi.h.
> If the answer is yes, I happy to follow.
In my opinion it's a better alternative to creating yet another header.
>
> >
> > >
> > > B.R
> > > Sandor
> > >>
> > >>> +
> > >>> +/**
> > >>> + * 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
> > >
> >
> > --
> > With best wishes
> > Dmitry
>
> B.R
> Sandor
>
--
With best wishes
Dmitry
>
>
> On Mon, 10 Jul 2023 at 11:01, Sandor Yu <sandor.yu@nxp.com> wrote:
> >
> >
> >
> > > -----Original Message-----
> > > From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> > > Sent: 2023年7月10日 15:44
> > > To: Sandor Yu <sandor.yu@nxp.com>; andrzej.hajda@intel.com;
> > > neil.armstrong@linaro.org; robert.foss@linaro.org;
> > > Laurent.pinchart@ideasonboard.com; jonas@kwiboo.se;
> > > jernej.skrabec@gmail.com; airlied@gmail.com; daniel@ffwll.ch;
> > > robh+dt@kernel.org; krzysztof.kozlowski+dt@linaro.org;
> > > shawnguo@kernel.org; s.hauer@pengutronix.de; festevam@gmail.com;
> > > vkoul@kernel.org; dri-devel@lists.freedesktop.org;
> > > devicetree@vger.kernel.org; linux-arm-kernel@lists.infradead.org;
> > > linux-kernel@vger.kernel.org; linux-phy@lists.infradead.org
> > > Cc: kernel@pengutronix.de; dl-linux-imx <linux-imx@nxp.com>; Oliver
> > > Brown <oliver.brown@nxp.com>
> > > Subject: Re: [EXT] Re: [PATCH v6 4/8] phy: Add HDMI configuration
> > > options
> > >
> > >
> > > On 10/07/2023 10:28, Sandor Yu wrote:
> > > > Hi Dmitry,
> > > >
> > > > Thanks for your comments,
> > > >
> > > >> From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> 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@nxp.com>
> > > >>> ---
> > > >>> 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?
> > > > Accept. I will create head file hdmi_colorspace.h to reuse enum
> > > hdmi_colorspace in <linux/hdmi.h>.
> > >
> > > Excuse me, it was supposed to be a question.
> > >
> > > Do you need another header file to reuse this enum?
> > I'm not sure community whether would accept the patch that simply
> > include <linux/hdmi.h> in phy-hdmi.h because there are lots of other
> definition in <linux/hdmi.h> that not need by phy-hdmi.h.
> > If the answer is yes, I happy to follow.
>
> In my opinion it's a better alternative to creating yet another header.
OK, I will try include <linux/hdmi.h> in phy-hdmi.h in the next version.
Thanks for your comments.
B,R
Sandor
>
> >
> > >
> > > >
> > > > B.R
> > > > Sandor
> > > >>
> > > >>> +
> > > >>> +/**
> > > >>> + * 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
> > > >
> > >
> > > --
> > > With best wishes
> > > Dmitry
> >
> > B.R
> > Sandor
> >
>
>
> --
> With best wishes
> Dmitry
On 15-06-23, 09: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@nxp.com>
> ---
> 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 */
Better add this comments and above one as expected by kernel-doc for
enum..
> + HDMI_PHY_COLORSPACE_RESERVED4,
> + HDMI_PHY_COLORSPACE_RESERVED5,
> + HDMI_PHY_COLORSPACE_RESERVED6,
> +};
> +
> +/**
> + * 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_ */
> diff --git a/include/linux/phy/phy.h b/include/linux/phy/phy.h
> index 3a570bc59fc7..93d77d45b1d4 100644
> --- a/include/linux/phy/phy.h
> +++ b/include/linux/phy/phy.h
> @@ -17,6 +17,7 @@
> #include <linux/regulator/consumer.h>
>
> #include <linux/phy/phy-dp.h>
> +#include <linux/phy/phy-hdmi.h>
> #include <linux/phy/phy-lvds.h>
> #include <linux/phy/phy-mipi-dphy.h>
>
> @@ -42,7 +43,8 @@ enum phy_mode {
> PHY_MODE_MIPI_DPHY,
> PHY_MODE_SATA,
> PHY_MODE_LVDS,
> - PHY_MODE_DP
> + PHY_MODE_DP,
> + PHY_MODE_HDMI,
> };
>
> enum phy_media {
> @@ -60,11 +62,14 @@ enum phy_media {
> * the DisplayPort protocol.
> * @lvds: Configuration set applicable for phys supporting
> * the LVDS phy mode.
> + * @hdmi: Configuration set applicable for phys supporting
> + * the HDMI phy mode.
> */
> union phy_configure_opts {
> struct phy_configure_opts_mipi_dphy mipi_dphy;
> struct phy_configure_opts_dp dp;
> struct phy_configure_opts_lvds lvds;
> + struct phy_configure_opts_hdmi hdmi;
> };
>
> /**
> --
> 2.34.1
--
~Vinod
Hi Vinod,
Thanks for your comments,
> -----Original Message-----
> From: Vinod Koul <vkoul@kernel.org>
> Sent: 2023年6月21日 19:22
> To: Sandor Yu <sandor.yu@nxp.com>
> Cc: andrzej.hajda@intel.com; neil.armstrong@linaro.org;
> robert.foss@linaro.org; Laurent.pinchart@ideasonboard.com;
> jonas@kwiboo.se; jernej.skrabec@gmail.com; airlied@gmail.com;
> daniel@ffwll.ch; robh+dt@kernel.org; krzysztof.kozlowski+dt@linaro.org;
> shawnguo@kernel.org; s.hauer@pengutronix.de; festevam@gmail.com;
> dri-devel@lists.freedesktop.org; devicetree@vger.kernel.org;
> linux-arm-kernel@lists.infradead.org; linux-kernel@vger.kernel.org;
> linux-phy@lists.infradead.org; kernel@pengutronix.de; dl-linux-imx
> <linux-imx@nxp.com>; Oliver Brown <oliver.brown@nxp.com>
> Subject: [EXT] Re: [PATCH v6 4/8] phy: Add HDMI configuration options
>
> Caution: This is an external email. Please take care when clicking links or
> opening attachments. When in doubt, report the message using the 'Report
> this email' button
>
>
> On 15-06-23, 09: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@nxp.com>
> > ---
> > 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 */
>
> Better add this comments and above one as expected by kernel-doc for
> enum..
OK, I will add it and it will replace by enum hdmi_colorspace in <linux/hdmi.h> in the next version.
>
> > + HDMI_PHY_COLORSPACE_RESERVED4,
> > + HDMI_PHY_COLORSPACE_RESERVED5,
> > + HDMI_PHY_COLORSPACE_RESERVED6,
> > +};
> > +
> > +/**
> > + * 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_ */
> > diff --git a/include/linux/phy/phy.h b/include/linux/phy/phy.h index
> > 3a570bc59fc7..93d77d45b1d4 100644
> > --- a/include/linux/phy/phy.h
> > +++ b/include/linux/phy/phy.h
> > @@ -17,6 +17,7 @@
> > #include <linux/regulator/consumer.h>
> >
> > #include <linux/phy/phy-dp.h>
> > +#include <linux/phy/phy-hdmi.h>
> > #include <linux/phy/phy-lvds.h>
> > #include <linux/phy/phy-mipi-dphy.h>
> >
> > @@ -42,7 +43,8 @@ enum phy_mode {
> > PHY_MODE_MIPI_DPHY,
> > PHY_MODE_SATA,
> > PHY_MODE_LVDS,
> > - PHY_MODE_DP
> > + PHY_MODE_DP,
> > + PHY_MODE_HDMI,
> > };
> >
> > enum phy_media {
> > @@ -60,11 +62,14 @@ enum phy_media {
> > * the DisplayPort protocol.
> > * @lvds: Configuration set applicable for phys supporting
> > * the LVDS phy mode.
> > + * @hdmi: Configuration set applicable for phys supporting
> > + * the HDMI phy mode.
> > */
> > union phy_configure_opts {
> > struct phy_configure_opts_mipi_dphy mipi_dphy;
> > struct phy_configure_opts_dp dp;
> > struct phy_configure_opts_lvds lvds;
> > + struct phy_configure_opts_hdmi hdmi;
> > };
> >
> > /**
> > --
> > 2.34.1
>
> --
> ~Vinod
B.R
Sandor
© 2016 - 2025 Red Hat, Inc.