From: Alex Bee <knaerzche@gmail.com>
To: "Sandy Huang" <hjc@rock-chips.com>,
"Heiko Stübner" <heiko@sntech.de>,
"Maarten Lankhorst" <maarten.lankhorst@linux.intel.com>,
"Maxime Ripard" <mripard@kernel.org>,
"Thomas Zimmermann" <tzimmermann@suse.de>,
"Rob Herring" <robh+dt@kernel.org>,
"Krzysztof Kozlowski" <krzysztof.kozlowski+dt@linaro.org>,
"Conor Dooley" <conor+dt@kernel.org>
Cc: David Airlie <airlied@gmail.com>, Daniel Vetter <daniel@ffwll.ch>,
dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org,
Alex Bee <knaerzche@gmail.com>
Subject: [PATCH v4 02/29] drm/rockchip: vop: Add output selection registers for RK312x
Date: Fri, 22 Dec 2023 18:41:53 +0100 [thread overview]
Message-ID: <20231222174220.55249-3-knaerzche@gmail.com> (raw)
In-Reply-To: <20231222174220.55249-1-knaerzche@gmail.com>
In contrast to RK3036, RK312x SoCs have multiple output channels such as
RGB (i.e. LVDS TTL), LVDS, DSI and HDMI.
In order to support that, this splits output from RK3036 and defines an
separate one for RK3126 with the registers required to enable the
appropriate output and setup the correct polarity.
Signed-off-by: Alex Bee <knaerzche@gmail.com>
---
changes in v2:
- rephrase commit message
changes in v3:
- none
changes in v4:
- none
drivers/gpu/drm/rockchip/rockchip_vop_reg.c | 13 ++++++++++++-
drivers/gpu/drm/rockchip/rockchip_vop_reg.h | 3 +++
2 files changed, 15 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/rockchip/rockchip_vop_reg.c b/drivers/gpu/drm/rockchip/rockchip_vop_reg.c
index c51ca82320cb..b9ee02061d5b 100644
--- a/drivers/gpu/drm/rockchip/rockchip_vop_reg.c
+++ b/drivers/gpu/drm/rockchip/rockchip_vop_reg.c
@@ -227,11 +227,22 @@ static const struct vop_win_data rk3126_vop_win_data[] = {
.type = DRM_PLANE_TYPE_CURSOR },
};
+static const struct vop_output rk3126_output = {
+ .pin_pol = VOP_REG(RK3036_DSP_CTRL0, 0xf, 4),
+ .hdmi_pin_pol = VOP_REG(RK3126_INT_SCALER, 0x7, 4),
+ .hdmi_en = VOP_REG(RK3036_AXI_BUS_CTRL, 0x1, 22),
+ .hdmi_dclk_pol = VOP_REG(RK3036_AXI_BUS_CTRL, 0x1, 23),
+ .rgb_en = VOP_REG(RK3036_AXI_BUS_CTRL, 0x1, 24),
+ .rgb_dclk_pol = VOP_REG(RK3036_AXI_BUS_CTRL, 0x1, 25),
+ .mipi_en = VOP_REG(RK3036_AXI_BUS_CTRL, 0x1, 28),
+ .mipi_dclk_pol = VOP_REG(RK3036_AXI_BUS_CTRL, 0x1, 29),
+};
+
static const struct vop_data rk3126_vop = {
.intr = &rk3036_intr,
.common = &rk3036_common,
.modeset = &rk3036_modeset,
- .output = &rk3036_output,
+ .output = &rk3126_output,
.win = rk3126_vop_win_data,
.win_size = ARRAY_SIZE(rk3126_vop_win_data),
.max_output = { 1920, 1080 },
diff --git a/drivers/gpu/drm/rockchip/rockchip_vop_reg.h b/drivers/gpu/drm/rockchip/rockchip_vop_reg.h
index 406e981c75bd..fbf1bcc68625 100644
--- a/drivers/gpu/drm/rockchip/rockchip_vop_reg.h
+++ b/drivers/gpu/drm/rockchip/rockchip_vop_reg.h
@@ -872,6 +872,9 @@
/* rk3036 register definition end */
/* rk3126 register definition */
+#define RK3126_INT_SCALER 0x0c
+
+/* win1 register */
#define RK3126_WIN1_MST 0x4c
#define RK3126_WIN1_DSP_INFO 0x50
#define RK3126_WIN1_DSP_ST 0x54
--
2.43.0
next prev parent reply other threads:[~2023-12-22 17:42 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-22 17:41 [PATCH v4 00/29] Add HDMI support for RK3128 Alex Bee
2023-12-22 17:41 ` [PATCH v4 01/29] dt-bindings: display: rockchip,inno-hdmi: Document RK3128 compatible Alex Bee
2023-12-29 23:26 ` Heiko Stübner
2024-01-02 18:54 ` Rob Herring
2023-12-22 17:41 ` Alex Bee [this message]
2023-12-22 17:41 ` [PATCH v4 03/29] drm/rockchip: inno_hdmi: Fix video timing Alex Bee
2023-12-22 17:41 ` [PATCH v4 04/29] drm/rockchip: inno_hdmi: Remove useless mode_fixup Alex Bee
2023-12-22 17:41 ` [PATCH v4 05/29] drm/rockchip: inno_hdmi: Remove useless copy of drm_display_mode Alex Bee
2023-12-22 17:41 ` [PATCH v4 06/29] drm/rockchip: inno_hdmi: Switch encoder hooks to atomic Alex Bee
2023-12-22 17:41 ` [PATCH v4 07/29] drm/rockchip: inno_hdmi: Get rid of mode_set Alex Bee
2023-12-22 17:41 ` [PATCH v4 08/29] drm/rockchip: inno_hdmi: no need to store vic Alex Bee
2023-12-22 17:42 ` [PATCH v4 09/29] drm/rockchip: inno_hdmi: Remove unneeded has audio flag Alex Bee
2023-12-22 17:42 ` [PATCH v4 10/29] drm/rockchip: inno_hdmi: Remove useless input format Alex Bee
2023-12-22 17:42 ` [PATCH v4 11/29] drm/rockchip: inno_hdmi: Remove YUV-based csc coefficents Alex Bee
2023-12-22 17:42 ` [PATCH v4 12/29] drm/rockchip: inno_hdmi: Remove tmds rate from structure Alex Bee
2023-12-22 17:42 ` [PATCH v4 13/29] drm/rockchip: inno_hdmi: Drop HDMI Vendor Infoframe support Alex Bee
2023-12-22 17:42 ` [PATCH v4 14/29] drm/rockchip: inno_hdmi: Move infoframe disable to separate function Alex Bee
2023-12-22 17:42 ` [PATCH v4 15/29] drm/rockchip: inno_hdmi: Switch to infoframe type Alex Bee
2023-12-22 17:42 ` [PATCH v4 16/29] drm/rockchip: inno_hdmi: Remove unused drm device pointer Alex Bee
2023-12-22 17:42 ` [PATCH v4 17/29] drm/rockchip: inno_hdmi: Drop irq struct member Alex Bee
2023-12-22 17:42 ` [PATCH v4 18/29] drm/rockchip: inno_hdmi: Remove useless include Alex Bee
2023-12-22 17:42 ` [PATCH v4 19/29] drm/rockchip: inno_hdmi: Subclass connector state Alex Bee
2023-12-22 17:42 ` [PATCH v4 20/29] drm/rockchip: inno_hdmi: Correctly setup HDMI quantization range Alex Bee
2023-12-22 17:42 ` [PATCH v4 21/29] drm/rockchip: inno_hdmi: Don't power up the phy after resetting Alex Bee
2023-12-22 17:42 ` [PATCH v4 22/29] drm/rockchip: inno_hdmi: Split power mode setting Alex Bee
2023-12-22 17:42 ` [PATCH v4 23/29] drm/rockchip: inno_hdmi: Add variant support Alex Bee
2023-12-22 17:42 ` [PATCH v4 24/29] drm/rockchip: inno_hdmi: Add RK3128 support Alex Bee
2023-12-22 17:42 ` [PATCH v4 25/29] drm/rockchip: inno_hdmi: Add basic mode validation Alex Bee
2023-12-22 17:42 ` [PATCH v4 26/29] drm/rockchip: inno_hdmi: Drop custom fill_modes hook Alex Bee
2023-12-22 17:42 ` [PATCH v4 27/29] ARM: dts: rockchip: Add display subsystem for RK3128 Alex Bee
2023-12-22 17:42 ` [PATCH v4 28/29] ARM: dts: rockchip: Add HDMI node " Alex Bee
2023-12-22 17:42 ` [PATCH v4 29/29] ARM: dts: rockchip: Enable HDMI output for XPI-3128 Alex Bee
2023-12-29 23:36 ` (subset) [PATCH v4 00/29] Add HDMI support for RK3128 Heiko Stuebner
2023-12-29 23:42 ` Heiko Stuebner
2024-01-04 8:14 ` Heiko Stuebner
2024-01-05 16:47 ` Alex Bee
2024-01-05 17:02 ` Heiko Stübner
2024-01-05 17:33 ` Alex Bee
2024-01-05 17:50 ` Heiko Stübner
2024-01-25 21:12 ` Heiko Stuebner
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=20231222174220.55249-3-knaerzche@gmail.com \
--to=knaerzche@gmail.com \
--cc=airlied@gmail.com \
--cc=conor+dt@kernel.org \
--cc=daniel@ffwll.ch \
--cc=devicetree@vger.kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=heiko@sntech.de \
--cc=hjc@rock-chips.com \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=maarten.lankhorst@linux.intel.com \
--cc=mripard@kernel.org \
--cc=robh+dt@kernel.org \
--cc=tzimmermann@suse.de \
/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).