From: Sandor Yu <Sandor.yu@nxp.com>
To: 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, linux-imx@nxp.com, Sandor.yu@nxp.com,
oliver.brown@nxp.com
Subject: [PATCH v6 4/8] phy: Add HDMI configuration options
Date: Thu, 15 Jun 2023 09:38:14 +0800 [thread overview]
Message-ID: <cec469206a166c4b070fd7d7bbf89a8df656ccc6.1686729444.git.Sandor.yu@nxp.com> (raw)
In-Reply-To: <cover.1686729444.git.Sandor.yu@nxp.com>
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
next prev parent reply other threads:[~2023-06-15 1:42 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-15 1:38 [PATCH v6 0/8] Initial support for Cadence MHDP8501(HDMI/DP) for i.MX8MQ Sandor Yu
2023-06-15 1:38 ` [PATCH v6 1/8] drm: bridge: Cadence: convert mailbox functions to macro functions Sandor Yu
2023-06-15 1:38 ` [PATCH v6 2/8] dt-bindings: display: bridge: Add Cadence MHDP8501 HDMI and DP Sandor Yu
2023-06-16 9:31 ` Alexander Stein
2023-06-19 3:10 ` [EXT] " Sandor Yu
2023-06-20 15:37 ` Rob Herring
2023-06-20 15:48 ` Rob Herring
2023-06-21 2:23 ` [EXT] " Sandor Yu
2023-06-21 8:14 ` Krzysztof Kozlowski
2023-06-15 1:38 ` [PATCH v6 3/8] drm: bridge: Cadence: Add MHDP8501 DP driver Sandor Yu
2023-06-15 16:33 ` Sam Ravnborg
2023-06-16 7:13 ` [EXT] " Sandor Yu
2023-06-15 1:38 ` Sandor Yu [this message]
2023-06-21 11:22 ` [PATCH v6 4/8] phy: Add HDMI configuration options Vinod Koul
2023-07-10 7:28 ` [EXT] " Sandor Yu
2023-06-24 18:02 ` Dmitry Baryshkov
2023-07-10 7:28 ` [EXT] " Sandor Yu
2023-07-10 7:30 ` Dmitry Baryshkov
2023-07-10 7:41 ` Sandor Yu
2023-07-10 7:44 ` Dmitry Baryshkov
2023-07-10 8:01 ` Sandor Yu
2023-07-10 8:05 ` Dmitry Baryshkov
2023-07-10 8:11 ` Sandor Yu
2023-06-15 1:38 ` [PATCH v6 5/8] drm: bridge: Cadence: Add MHDP8501 HDMI driver Sandor Yu
2023-06-16 9:29 ` Alexander Stein
2023-06-19 3:11 ` [EXT] " Sandor Yu
2023-06-19 5:35 ` Alexander Stein
2023-06-15 1:38 ` [PATCH v6 6/8] dt-bindings: phy: Add Freescale iMX8MQ DP and HDMI PHY Sandor Yu
2023-06-16 9:34 ` Alexander Stein
2023-06-19 3:10 ` [EXT] " Sandor Yu
2023-06-15 1:38 ` [PATCH v6 7/8] phy: freescale: Add DisplayPort PHY driver for i.MX8MQ Sandor Yu
2023-06-21 11:24 ` Vinod Koul
2023-07-10 7:30 ` [EXT] " Sandor Yu
2023-06-15 1:38 ` [PATCH v6 8/8] phy: freescale: Add HDMI " Sandor Yu
2023-06-21 11:57 ` Vinod Koul
2023-07-10 7:30 ` [EXT] " Sandor Yu
2023-06-16 9:37 ` [PATCH v6 0/8] Initial support for Cadence MHDP8501(HDMI/DP) " Alexander Stein
2023-09-21 14:29 ` Vinod Koul
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cec469206a166c4b070fd7d7bbf89a8df656ccc6.1686729444.git.Sandor.yu@nxp.com \
--to=sandor.yu@nxp.com \
--cc=Laurent.pinchart@ideasonboard.com \
--cc=airlied@gmail.com \
--cc=andrzej.hajda@intel.com \
--cc=daniel@ffwll.ch \
--cc=devicetree@vger.kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=festevam@gmail.com \
--cc=jernej.skrabec@gmail.com \
--cc=jonas@kwiboo.se \
--cc=kernel@pengutronix.de \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-imx@nxp.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-phy@lists.infradead.org \
--cc=neil.armstrong@linaro.org \
--cc=oliver.brown@nxp.com \
--cc=robert.foss@linaro.org \
--cc=robh+dt@kernel.org \
--cc=s.hauer@pengutronix.de \
--cc=shawnguo@kernel.org \
--cc=vkoul@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).