mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-29 13:46:49 +00:00
linux (Rockchip): rebase patches for 6.12-rc1 and drop now upstreamed patches
This commit is contained in:
parent
00cdc24bbc
commit
68e412bd78
@ -26,7 +26,7 @@ diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c
|
|||||||
index ef53a2578824..d4c53074154a 100644
|
index ef53a2578824..d4c53074154a 100644
|
||||||
--- a/drivers/mmc/core/core.c
|
--- a/drivers/mmc/core/core.c
|
||||||
+++ b/drivers/mmc/core/core.c
|
+++ b/drivers/mmc/core/core.c
|
||||||
@@ -1358,6 +1358,14 @@ void mmc_power_off(struct mmc_host *host)
|
@@ -1368,6 +1368,14 @@ void mmc_power_off(struct mmc_host *host)
|
||||||
if (host->ios.power_mode == MMC_POWER_OFF)
|
if (host->ios.power_mode == MMC_POWER_OFF)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@ -42,90 +42,3 @@ index ef53a2578824..d4c53074154a 100644
|
|||||||
|
|
||||||
host->ios.clock = 0;
|
host->ios.clock = 0;
|
||||||
|
|
||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Alex Bee <knaerzche@gmail.com>
|
|
||||||
Date: Wed, 23 Jun 2021 16:59:18 +0200
|
|
||||||
Subject: [PATCH] arm64: dts: rockchip: Add sdmmc_ext for RK3328
|
|
||||||
|
|
||||||
RK3328 SoC has a fourth mmc controller called SDMMC_EXT. Some
|
|
||||||
boards have sdio wifi connected to it. In order to use it
|
|
||||||
one would have to add the pinctrls from sdmmc0ext group which
|
|
||||||
is done on board level.
|
|
||||||
|
|
||||||
Signed-off-by: Alex Bee <knaerzche@gmail.com>
|
|
||||||
---
|
|
||||||
arch/arm64/boot/dts/rockchip/rk3328.dtsi | 14 ++++++++++++++
|
|
||||||
1 file changed, 14 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3328.dtsi b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
|
|
||||||
index 49ae15708a0b..60348d517efb 100644
|
|
||||||
--- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi
|
|
||||||
+++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
|
|
||||||
@@ -993,6 +993,20 @@ usb_host0_ohci: usb@ff5d0000 {
|
|
||||||
status = "disabled";
|
|
||||||
};
|
|
||||||
|
|
||||||
+ sdmmc_ext: mmc@ff5f0000 {
|
|
||||||
+ compatible = "rockchip,rk3328-dw-mshc", "rockchip,rk3288-dw-mshc";
|
|
||||||
+ reg = <0x0 0xff5f0000 0x0 0x4000>;
|
|
||||||
+ interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
|
|
||||||
+ clocks = <&cru HCLK_SDMMC_EXT>, <&cru SCLK_SDMMC_EXT>,
|
|
||||||
+ <&cru SCLK_SDMMC_EXT_DRV>, <&cru SCLK_SDMMC_EXT_SAMPLE>;
|
|
||||||
+ clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
|
|
||||||
+ fifo-depth = <0x100>;
|
|
||||||
+ max-frequency = <150000000>;
|
|
||||||
+ resets = <&cru SRST_SDMMCEXT>;
|
|
||||||
+ reset-names = "reset";
|
|
||||||
+ status = "disabled";
|
|
||||||
+ };
|
|
||||||
+
|
|
||||||
usbdrd3: usb@ff600000 {
|
|
||||||
compatible = "rockchip,rk3328-dwc3", "snps,dwc3";
|
|
||||||
reg = <0x0 0xff600000 0x0 0x100000>;
|
|
||||||
|
|
||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Alex Bee <knaerzche@gmail.com>
|
|
||||||
Date: Wed, 23 Jun 2021 17:02:08 +0200
|
|
||||||
Subject: [PATCH] arm64: dts: rockchip: Add sdmmc/sdio/emmc reset controls for
|
|
||||||
RK3328
|
|
||||||
|
|
||||||
The DW MCI controller driver will use them to reset the IP block before
|
|
||||||
initialisation.
|
|
||||||
|
|
||||||
Fixes: d717f7352ec6 ("arm64: dts: rockchip: add sdmmc/sdio/emmc nodes for RK3328 SoCs")
|
|
||||||
Signed-off-by: Alex Bee <knaerzche@gmail.com>
|
|
||||||
---
|
|
||||||
arch/arm64/boot/dts/rockchip/rk3328.dtsi | 6 ++++++
|
|
||||||
1 file changed, 6 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3328.dtsi b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
|
|
||||||
index 60348d517efb..d7e44d174d7b 100644
|
|
||||||
--- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi
|
|
||||||
+++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
|
|
||||||
@@ -871,6 +871,8 @@ sdmmc: mmc@ff500000 {
|
|
||||||
clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
|
|
||||||
fifo-depth = <0x100>;
|
|
||||||
max-frequency = <150000000>;
|
|
||||||
+ resets = <&cru SRST_MMC0>;
|
|
||||||
+ reset-names = "reset";
|
|
||||||
status = "disabled";
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -883,6 +885,8 @@ sdio: mmc@ff510000 {
|
|
||||||
clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
|
|
||||||
fifo-depth = <0x100>;
|
|
||||||
max-frequency = <150000000>;
|
|
||||||
+ resets = <&cru SRST_SDIO>;
|
|
||||||
+ reset-names = "reset";
|
|
||||||
status = "disabled";
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -895,6 +899,8 @@ emmc: mmc@ff520000 {
|
|
||||||
clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
|
|
||||||
fifo-depth = <0x100>;
|
|
||||||
max-frequency = <150000000>;
|
|
||||||
+ resets = <&cru SRST_EMMC>;
|
|
||||||
+ reset-names = "reset";
|
|
||||||
status = "disabled";
|
|
||||||
};
|
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@ diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c b/drivers/gpu/drm/rockc
|
|||||||
index dbe4d411b30f..fac23d370ee0 100644
|
index dbe4d411b30f..fac23d370ee0 100644
|
||||||
--- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
|
--- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
|
||||||
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
|
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
|
||||||
@@ -1206,6 +1206,59 @@ static void vop_crtc_disable_vblank(struct drm_crtc *crtc)
|
@@ -1207,6 +1207,59 @@ static void vop_crtc_disable_vblank(struct drm_crtc *crtc)
|
||||||
spin_unlock_irqrestore(&vop->irq_lock, flags);
|
spin_unlock_irqrestore(&vop->irq_lock, flags);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -97,7 +97,7 @@ diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c b/drivers/gpu/drm/rockc
|
|||||||
index fac23d370ee0..9f7326c5b1f5 100644
|
index fac23d370ee0..9f7326c5b1f5 100644
|
||||||
--- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
|
--- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
|
||||||
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
|
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
|
||||||
@@ -1244,6 +1244,9 @@ static enum drm_mode_status vop_crtc_mode_valid(struct drm_crtc *crtc,
|
@@ -1245,6 +1245,9 @@ static enum drm_mode_status vop_crtc_mode_valid(struct drm_crtc *crtc,
|
||||||
if (!vop_crtc_is_tmds(crtc))
|
if (!vop_crtc_is_tmds(crtc))
|
||||||
return MODE_OK;
|
return MODE_OK;
|
||||||
|
|
||||||
@ -125,7 +125,7 @@ diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c b/drivers/gpu/drm/rockc
|
|||||||
index 9f7326c5b1f5..30e252ba7184 100644
|
index 9f7326c5b1f5..30e252ba7184 100644
|
||||||
--- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
|
--- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
|
||||||
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
|
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
|
||||||
@@ -1228,6 +1228,24 @@ static bool vop_crtc_is_tmds(struct drm_crtc *crtc)
|
@@ -1229,6 +1229,24 @@ static bool vop_crtc_is_tmds(struct drm_crtc *crtc)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -150,7 +150,7 @@ index 9f7326c5b1f5..30e252ba7184 100644
|
|||||||
/*
|
/*
|
||||||
* The VESA DMT standard specifies a 0.5% pixel clock frequency tolerance.
|
* The VESA DMT standard specifies a 0.5% pixel clock frequency tolerance.
|
||||||
* The CVT spec reuses that tolerance in its examples.
|
* The CVT spec reuses that tolerance in its examples.
|
||||||
@@ -1241,25 +1259,24 @@ static enum drm_mode_status vop_crtc_mode_valid(struct drm_crtc *crtc,
|
@@ -1242,25 +1260,24 @@ static enum drm_mode_status vop_crtc_mode_valid(struct drm_crtc *crtc,
|
||||||
long rounded_rate;
|
long rounded_rate;
|
||||||
long lowest, highest;
|
long lowest, highest;
|
||||||
|
|
||||||
@ -189,7 +189,7 @@ index 9f7326c5b1f5..30e252ba7184 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
static bool vop_crtc_mode_fixup(struct drm_crtc *crtc,
|
static bool vop_crtc_mode_fixup(struct drm_crtc *crtc,
|
||||||
@@ -1269,6 +1286,9 @@ static bool vop_crtc_mode_fixup(struct drm_crtc *crtc,
|
@@ -1270,6 +1287,9 @@ static bool vop_crtc_mode_fixup(struct drm_crtc *crtc,
|
||||||
struct vop *vop = to_vop(crtc);
|
struct vop *vop = to_vop(crtc);
|
||||||
unsigned long rate;
|
unsigned long rate;
|
||||||
|
|
||||||
@ -244,7 +244,7 @@ diff --git a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c b/drivers/gpu/drm/rockc
|
|||||||
index c14f88893868..4411ca8fd7ed 100644
|
index c14f88893868..4411ca8fd7ed 100644
|
||||||
--- a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
|
--- a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
|
||||||
+++ b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
|
+++ b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
|
||||||
@@ -193,7 +193,7 @@ static const struct dw_hdmi_curr_ctrl rockchip_cur_ctr[] = {
|
@@ -201,7 +201,7 @@ static const struct dw_hdmi_curr_ctrl rockchip_cur_ctr[] = {
|
||||||
static const struct dw_hdmi_phy_config rockchip_phy_config[] = {
|
static const struct dw_hdmi_phy_config rockchip_phy_config[] = {
|
||||||
/*pixelclk symbol term vlev*/
|
/*pixelclk symbol term vlev*/
|
||||||
{ 74250000, 0x8009, 0x0004, 0x0272},
|
{ 74250000, 0x8009, 0x0004, 0x0272},
|
||||||
@ -271,7 +271,7 @@ diff --git a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c b/drivers/gpu/drm/rockc
|
|||||||
index 4411ca8fd7ed..bec381cde0bc 100644
|
index 4411ca8fd7ed..bec381cde0bc 100644
|
||||||
--- a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
|
--- a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
|
||||||
+++ b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
|
+++ b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
|
||||||
@@ -195,6 +195,7 @@ static const struct dw_hdmi_phy_config rockchip_phy_config[] = {
|
@@ -203,6 +203,7 @@ static const struct dw_hdmi_phy_config rockchip_phy_config[] = {
|
||||||
{ 74250000, 0x8009, 0x0004, 0x0272},
|
{ 74250000, 0x8009, 0x0004, 0x0272},
|
||||||
{ 165000000, 0x802b, 0x0004, 0x0209},
|
{ 165000000, 0x802b, 0x0004, 0x0209},
|
||||||
{ 297000000, 0x8039, 0x0005, 0x028d},
|
{ 297000000, 0x8039, 0x0005, 0x028d},
|
||||||
@ -301,7 +301,7 @@ diff --git a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c b/drivers/gpu/drm/rockc
|
|||||||
index bec381cde0bc..72c1d65c7b75 100644
|
index bec381cde0bc..72c1d65c7b75 100644
|
||||||
--- a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
|
--- a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
|
||||||
+++ b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
|
+++ b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
|
||||||
@@ -172,20 +172,6 @@ static const struct dw_hdmi_mpll_config rockchip_mpll_cfg[] = {
|
@@ -178,20 +178,6 @@ static const struct dw_hdmi_mpll_config rockchip_mpll_cfg[] = {
|
||||||
static const struct dw_hdmi_curr_ctrl rockchip_cur_ctr[] = {
|
static const struct dw_hdmi_curr_ctrl rockchip_cur_ctr[] = {
|
||||||
/* pixelclk bpp8 bpp10 bpp12 */
|
/* pixelclk bpp8 bpp10 bpp12 */
|
||||||
{
|
{
|
||||||
@ -357,7 +357,7 @@ diff --git a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c b/drivers/gpu/drm/rockc
|
|||||||
index 72c1d65c7b75..0370bb247fcb 100644
|
index 72c1d65c7b75..0370bb247fcb 100644
|
||||||
--- a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
|
--- a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
|
||||||
+++ b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
|
+++ b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
|
||||||
@@ -95,86 +95,88 @@
|
@@ -91,86 +91,88 @@
|
||||||
|
|
||||||
static const struct dw_hdmi_mpll_config rockchip_mpll_cfg[] = {
|
static const struct dw_hdmi_mpll_config rockchip_mpll_cfg[] = {
|
||||||
{
|
{
|
||||||
@ -520,71 +520,6 @@ index 72c1d65c7b75..0370bb247fcb 100644
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Jonas Karlman <jonas@kwiboo.se>
|
|
||||||
Date: Wed, 8 Jan 2020 21:07:49 +0000
|
|
||||||
Subject: [PATCH] drm/rockchip: dw-hdmi: allow high tmds bit rates
|
|
||||||
|
|
||||||
Prepare support for High TMDS Bit Rates used by HDMI2.0 display modes.
|
|
||||||
|
|
||||||
Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
|
|
||||||
---
|
|
||||||
drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c | 2 ++
|
|
||||||
1 file changed, 2 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
|
|
||||||
index 55c0b8dddad5..15ecb257b902 100644
|
|
||||||
--- a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
|
|
||||||
+++ b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
|
|
||||||
@@ -327,6 +327,8 @@ static int dw_hdmi_rockchip_genphy_init(struct dw_hdmi *dw_hdmi, void *data,
|
|
||||||
{
|
|
||||||
struct rockchip_hdmi *hdmi = (struct rockchip_hdmi *)data;
|
|
||||||
|
|
||||||
+ dw_hdmi_set_high_tmds_clock_ratio(dw_hdmi, display);
|
|
||||||
+
|
|
||||||
return phy_power_on(hdmi->phy);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Jonas Karlman <jonas@kwiboo.se>
|
|
||||||
Date: Wed, 8 Jan 2020 21:07:52 +0000
|
|
||||||
Subject: [PATCH] drm/rockchip: dw-hdmi: remove unused plat_data on
|
|
||||||
rk3228/rk3328
|
|
||||||
|
|
||||||
mpll_cfg/cur_ctr/phy_config is not used when phy_force_vendor is true,
|
|
||||||
lets remove them.
|
|
||||||
|
|
||||||
Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
|
|
||||||
---
|
|
||||||
drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c | 6 ------
|
|
||||||
1 file changed, 6 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
|
|
||||||
index 15ecb257b902..38dded2baaf7 100644
|
|
||||||
--- a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
|
|
||||||
+++ b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
|
|
||||||
@@ -417,9 +417,6 @@ static struct rockchip_hdmi_chip_data rk3228_chip_data = {
|
|
||||||
|
|
||||||
static const struct dw_hdmi_plat_data rk3228_hdmi_drv_data = {
|
|
||||||
.mode_valid = dw_hdmi_rockchip_mode_valid,
|
|
||||||
- .mpll_cfg = rockchip_mpll_cfg,
|
|
||||||
- .cur_ctr = rockchip_cur_ctr,
|
|
||||||
- .phy_config = rockchip_phy_config,
|
|
||||||
.phy_data = &rk3228_chip_data,
|
|
||||||
.phy_ops = &rk3228_hdmi_phy_ops,
|
|
||||||
.phy_name = "inno_dw_hdmi_phy2",
|
|
||||||
@@ -454,9 +451,6 @@ static struct rockchip_hdmi_chip_data rk3328_chip_data = {
|
|
||||||
|
|
||||||
static const struct dw_hdmi_plat_data rk3328_hdmi_drv_data = {
|
|
||||||
.mode_valid = dw_hdmi_rockchip_mode_valid,
|
|
||||||
- .mpll_cfg = rockchip_mpll_cfg,
|
|
||||||
- .cur_ctr = rockchip_cur_ctr,
|
|
||||||
- .phy_config = rockchip_phy_config,
|
|
||||||
.phy_data = &rk3328_chip_data,
|
|
||||||
.phy_ops = &rk3328_hdmi_phy_ops,
|
|
||||||
.phy_name = "inno_dw_hdmi_phy2",
|
|
||||||
|
|
||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
From: Jonas Karlman <jonas@kwiboo.se>
|
From: Jonas Karlman <jonas@kwiboo.se>
|
||||||
Date: Sat, 10 Oct 2020 10:16:32 +0000
|
Date: Sat, 10 Oct 2020 10:16:32 +0000
|
||||||
@ -599,16 +534,16 @@ diff --git a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c b/drivers/gpu/drm/rockc
|
|||||||
index 38dded2baaf7..9e460b7e14a4 100644
|
index 38dded2baaf7..9e460b7e14a4 100644
|
||||||
--- a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
|
--- a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
|
||||||
+++ b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
|
+++ b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
|
||||||
@@ -558,7 +558,7 @@ static int dw_hdmi_rockchip_bind(struct device *dev, struct device *master,
|
@@ -592,7 +592,7 @@ static int dw_hdmi_rockchip_bind(struct device *dev, struct device *master,
|
||||||
if (IS_ERR(hdmi->phy)) {
|
if (IS_ERR(hdmi->phy)) {
|
||||||
ret = PTR_ERR(hdmi->phy);
|
ret = PTR_ERR(hdmi->phy);
|
||||||
if (ret != -EPROBE_DEFER)
|
if (ret != -EPROBE_DEFER)
|
||||||
- DRM_DEV_ERROR(hdmi->dev, "failed to get phy\n");
|
- drm_err(hdmi, "failed to get phy\n");
|
||||||
+ DRM_DEV_ERROR(hdmi->dev, "Failed to get phy: %d\n", ret);
|
+ drm_err(hdmi, "failed to get phy: %d\n", ret);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -590,7 +590,12 @@ static int dw_hdmi_rockchip_bind(struct device *dev, struct device *master,
|
@@ -605,7 +605,12 @@ static int dw_hdmi_rockchip_bind(struct device *dev, struct device *master,
|
||||||
}
|
}
|
||||||
|
|
||||||
drm_encoder_helper_add(encoder, &dw_hdmi_rockchip_encoder_helper_funcs);
|
drm_encoder_helper_add(encoder, &dw_hdmi_rockchip_encoder_helper_funcs);
|
||||||
@ -622,14 +557,15 @@ index 38dded2baaf7..9e460b7e14a4 100644
|
|||||||
|
|
||||||
platform_set_drvdata(pdev, hdmi);
|
platform_set_drvdata(pdev, hdmi);
|
||||||
|
|
||||||
@@ -609,6 +614,7 @@ static int dw_hdmi_rockchip_bind(struct device *dev, struct device *master,
|
@@ -624,7 +629,7 @@ static int dw_hdmi_rockchip_bind(struct device *dev, struct device *master,
|
||||||
|
|
||||||
err_bind:
|
err_bind:
|
||||||
drm_encoder_cleanup(encoder);
|
drm_encoder_cleanup(encoder);
|
||||||
|
-
|
||||||
+err_disable_clk:
|
+err_disable_clk:
|
||||||
clk_disable_unprepare(hdmi->ref_clk);
|
return ret;
|
||||||
err_clk:
|
}
|
||||||
regulator_disable(hdmi->avdd_1v8);
|
|
||||||
|
|
||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
From: Jonas Karlman <jonas@kwiboo.se>
|
From: Jonas Karlman <jonas@kwiboo.se>
|
||||||
@ -1655,7 +1591,7 @@ Subject: [PATCH] HACK: dts: rockchip: do not use vopl for hdmi
|
|||||||
|
|
||||||
---
|
---
|
||||||
arch/arm/boot/dts/rockchip/rk3288.dtsi | 9 ---------
|
arch/arm/boot/dts/rockchip/rk3288.dtsi | 9 ---------
|
||||||
arch/arm64/boot/dts/rockchip/rk3399.dtsi | 9 ---------
|
arch/arm64/boot/dts/rockchip/rk3399-base.dtsi | 9 ---------
|
||||||
2 files changed, 18 deletions(-)
|
2 files changed, 18 deletions(-)
|
||||||
|
|
||||||
diff --git a/arch/arm/boot/dts/rockchip/rk3288.dtsi b/arch/arm/boot/dts/rockchip/rk3288.dtsi
|
diff --git a/arch/arm/boot/dts/rockchip/rk3288.dtsi b/arch/arm/boot/dts/rockchip/rk3288.dtsi
|
||||||
@ -1685,11 +1621,11 @@ index d1ae42757242..7b2cde230b87 100644
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3399.dtsi b/arch/arm64/boot/dts/rockchip/rk3399.dtsi
|
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-base.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-base.dtsi
|
||||||
index 92c2207e686c..980b12cb0a49 100644
|
index 92c2207e686c..980b12cb0a49 100644
|
||||||
--- a/arch/arm64/boot/dts/rockchip/rk3399.dtsi
|
--- a/arch/arm64/boot/dts/rockchip/rk3399-base.dtsi
|
||||||
+++ b/arch/arm64/boot/dts/rockchip/rk3399.dtsi
|
+++ b/arch/arm64/boot/dts/rockchip/rk3399-base.dtsi
|
||||||
@@ -1728,11 +1728,6 @@ vopl_out_edp: endpoint@1 {
|
@@ -1846,11 +1846,6 @@ vopl_out_edp: endpoint@1 {
|
||||||
remote-endpoint = <&edp_in_vopl>;
|
remote-endpoint = <&edp_in_vopl>;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -1701,7 +1637,7 @@ index 92c2207e686c..980b12cb0a49 100644
|
|||||||
vopl_out_mipi1: endpoint@3 {
|
vopl_out_mipi1: endpoint@3 {
|
||||||
reg = <3>;
|
reg = <3>;
|
||||||
remote-endpoint = <&mipi1_in_vopl>;
|
remote-endpoint = <&mipi1_in_vopl>;
|
||||||
@@ -1926,10 +1921,6 @@ hdmi_in_vopb: endpoint@0 {
|
@@ -2048,10 +2043,6 @@ hdmi_in_vopb: endpoint@0 {
|
||||||
reg = <0>;
|
reg = <0>;
|
||||||
remote-endpoint = <&vopb_out_hdmi>;
|
remote-endpoint = <&vopb_out_hdmi>;
|
||||||
};
|
};
|
||||||
@ -2115,9 +2051,9 @@ index 89424c5bc24a..05de2052d95d 100644
|
|||||||
--- a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
|
--- a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
|
||||||
+++ b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
|
+++ b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
|
||||||
@@ -68,6 +68,7 @@ struct rockchip_hdmi_chip_data {
|
@@ -68,6 +68,7 @@ struct rockchip_hdmi_chip_data {
|
||||||
int lcdsel_grf_reg;
|
|
||||||
u32 lcdsel_big;
|
u32 lcdsel_big;
|
||||||
u32 lcdsel_lit;
|
u32 lcdsel_lit;
|
||||||
|
int max_tmds_clock;
|
||||||
+ bool ycbcr_444_allowed;
|
+ bool ycbcr_444_allowed;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -2181,9 +2117,9 @@ index 89424c5bc24a..05de2052d95d 100644
|
|||||||
|
|
||||||
input_fmt = kzalloc(sizeof(*input_fmt), GFP_KERNEL);
|
input_fmt = kzalloc(sizeof(*input_fmt), GFP_KERNEL);
|
||||||
@@ -604,6 +630,7 @@ static const struct dw_hdmi_phy_ops rk3328_hdmi_phy_ops = {
|
@@ -604,6 +630,7 @@ static const struct dw_hdmi_phy_ops rk3328_hdmi_phy_ops = {
|
||||||
|
|
||||||
static struct rockchip_hdmi_chip_data rk3328_chip_data = {
|
static struct rockchip_hdmi_chip_data rk3328_chip_data = {
|
||||||
.lcdsel_grf_reg = -1,
|
.lcdsel_grf_reg = -1,
|
||||||
|
.max_tmds_clock = 594000,
|
||||||
+ .ycbcr_444_allowed = true,
|
+ .ycbcr_444_allowed = true,
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -2497,9 +2433,9 @@ index cb201612199f..8627f6826bfe 100644
|
|||||||
--- a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
|
--- a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
|
||||||
+++ b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
|
+++ b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
|
||||||
@@ -616,6 +616,7 @@ static const struct dw_hdmi_phy_ops rk3228_hdmi_phy_ops = {
|
@@ -616,6 +616,7 @@ static const struct dw_hdmi_phy_ops rk3228_hdmi_phy_ops = {
|
||||||
|
|
||||||
static struct rockchip_hdmi_chip_data rk3228_chip_data = {
|
static struct rockchip_hdmi_chip_data rk3228_chip_data = {
|
||||||
.lcdsel_grf_reg = -1,
|
.lcdsel_grf_reg = -1,
|
||||||
|
.max_tmds_clock = 594000,
|
||||||
+ .ycbcr_444_allowed = true,
|
+ .ycbcr_444_allowed = true,
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -2526,7 +2462,7 @@ diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c b/drivers/gpu/drm/rockc
|
|||||||
index e50f71ad3ceb..ef0a078c22f4 100644
|
index e50f71ad3ceb..ef0a078c22f4 100644
|
||||||
--- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
|
--- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
|
||||||
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
|
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
|
||||||
@@ -965,6 +965,7 @@ static void vop_plane_atomic_update(struct drm_plane *plane,
|
@@ -958,6 +958,7 @@ static void vop_plane_atomic_update(struct drm_plane *plane,
|
||||||
int format;
|
int format;
|
||||||
int is_yuv = fb->format->is_yuv;
|
int is_yuv = fb->format->is_yuv;
|
||||||
int i;
|
int i;
|
||||||
@ -2534,7 +2470,7 @@ index e50f71ad3ceb..ef0a078c22f4 100644
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* can't update plane when vop is disabled.
|
* can't update plane when vop is disabled.
|
||||||
@@ -983,8 +984,14 @@ static void vop_plane_atomic_update(struct drm_plane *plane,
|
@@ -976,8 +977,14 @@ static void vop_plane_atomic_update(struct drm_plane *plane,
|
||||||
obj = fb->obj[0];
|
obj = fb->obj[0];
|
||||||
rk_obj = to_rockchip_obj(obj);
|
rk_obj = to_rockchip_obj(obj);
|
||||||
|
|
||||||
@ -2550,7 +2486,7 @@ index e50f71ad3ceb..ef0a078c22f4 100644
|
|||||||
act_info = (actual_h - 1) << 16 | ((actual_w - 1) & 0xffff);
|
act_info = (actual_h - 1) << 16 | ((actual_w - 1) & 0xffff);
|
||||||
|
|
||||||
dsp_info = (drm_rect_height(dest) - 1) << 16;
|
dsp_info = (drm_rect_height(dest) - 1) << 16;
|
||||||
@@ -1026,7 +1033,7 @@ static void vop_plane_atomic_update(struct drm_plane *plane,
|
@@ -1019,7 +1026,7 @@ static void vop_plane_atomic_update(struct drm_plane *plane,
|
||||||
|
|
||||||
VOP_WIN_SET(vop, win, format, format);
|
VOP_WIN_SET(vop, win, format, format);
|
||||||
VOP_WIN_SET(vop, win, fmt_10, is_fmt_10(fb->format->format));
|
VOP_WIN_SET(vop, win, fmt_10, is_fmt_10(fb->format->format));
|
||||||
@ -2559,7 +2495,7 @@ index e50f71ad3ceb..ef0a078c22f4 100644
|
|||||||
VOP_WIN_SET(vop, win, yrgb_mst, dma_addr);
|
VOP_WIN_SET(vop, win, yrgb_mst, dma_addr);
|
||||||
VOP_WIN_YUV2YUV_SET(vop, win_yuv2yuv, y2r_en, is_yuv);
|
VOP_WIN_YUV2YUV_SET(vop, win_yuv2yuv, y2r_en, is_yuv);
|
||||||
VOP_WIN_SET(vop, win, y_mir_en,
|
VOP_WIN_SET(vop, win, y_mir_en,
|
||||||
@@ -1050,7 +1057,7 @@ static void vop_plane_atomic_update(struct drm_plane *plane,
|
@@ -1040,7 +1047,7 @@ static void vop_plane_atomic_update(struct drm_plane *plane,
|
||||||
offset += (src->y1 >> 16) * fb->pitches[1] / vsub;
|
offset += (src->y1 >> 16) * fb->pitches[1] / vsub;
|
||||||
|
|
||||||
dma_addr = rk_uv_obj->dma_addr + offset + fb->offsets[1];
|
dma_addr = rk_uv_obj->dma_addr + offset + fb->offsets[1];
|
||||||
@ -2759,9 +2695,9 @@ index b78df931aa74..ebbea63ea9de 100644
|
|||||||
/* cec-core.c */
|
/* cec-core.c */
|
||||||
extern int cec_debug;
|
extern int cec_debug;
|
||||||
+extern int cec_debounce_ms;
|
+extern int cec_debounce_ms;
|
||||||
int cec_get_device(struct cec_devnode *devnode);
|
|
||||||
void cec_put_device(struct cec_devnode *devnode);
|
|
||||||
|
|
||||||
|
/* cec-adap.c */
|
||||||
|
int cec_monitor_all_cnt_inc(struct cec_adapter *adap);
|
||||||
diff --git a/include/media/cec.h b/include/media/cec.h
|
diff --git a/include/media/cec.h b/include/media/cec.h
|
||||||
index abee41ae02d0..544eedb5d671 100644
|
index abee41ae02d0..544eedb5d671 100644
|
||||||
--- a/include/media/cec.h
|
--- a/include/media/cec.h
|
||||||
|
@ -349,13 +349,13 @@ Date: Tue, 18 Aug 2020 11:38:04 +0200
|
|||||||
Subject: [PATCH] WIP: arm64: dts: add resets to vdec for RK3399
|
Subject: [PATCH] WIP: arm64: dts: add resets to vdec for RK3399
|
||||||
|
|
||||||
---
|
---
|
||||||
arch/arm64/boot/dts/rockchip/rk3399.dtsi | 5 +++++
|
arch/arm64/boot/dts/rockchip/rk3399-base.dtsi | 5 +++++
|
||||||
1 file changed, 5 insertions(+)
|
1 file changed, 5 insertions(+)
|
||||||
|
|
||||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3399.dtsi b/arch/arm64/boot/dts/rockchip/rk3399.dtsi
|
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-base.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-base.dtsi
|
||||||
index 980b12cb0a49..6e3149e587c5 100644
|
index 980b12cb0a49..6e3149e587c5 100644
|
||||||
--- a/arch/arm64/boot/dts/rockchip/rk3399.dtsi
|
--- a/arch/arm64/boot/dts/rockchip/rk3399-base.dtsi
|
||||||
+++ b/arch/arm64/boot/dts/rockchip/rk3399.dtsi
|
+++ b/arch/arm64/boot/dts/rockchip/rk3399-base.dtsi
|
||||||
@@ -1345,6 +1348,11 @@ vdec: video-codec@ff660000 {
|
@@ -1345,6 +1348,11 @@ vdec: video-codec@ff660000 {
|
||||||
clock-names = "axi", "ahb", "cabac", "core";
|
clock-names = "axi", "ahb", "cabac", "core";
|
||||||
iommus = <&vdec_mmu>;
|
iommus = <&vdec_mmu>;
|
||||||
|
@ -165,7 +165,7 @@ Subject: [PATCH] ARM/arm64: dts: rockchip: align sound card names
|
|||||||
Signed-off-by: Alex Bee <knaerzche@gmail.com>
|
Signed-off-by: Alex Bee <knaerzche@gmail.com>
|
||||||
---
|
---
|
||||||
arch/arm/boot/dts/rockchip/rk3288-tinker.dtsi | 2 +-
|
arch/arm/boot/dts/rockchip/rk3288-tinker.dtsi | 2 +-
|
||||||
arch/arm64/boot/dts/rockchip/rk3399.dtsi | 2 +-
|
arch/arm64/boot/dts/rockchip/rk3399-base.dtsi | 2 +-
|
||||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
diff --git a/arch/arm/boot/dts/rockchip/rk3288-tinker.dtsi b/arch/arm/boot/dts/rockchip/rk3288-tinker.dtsi
|
diff --git a/arch/arm/boot/dts/rockchip/rk3288-tinker.dtsi b/arch/arm/boot/dts/rockchip/rk3288-tinker.dtsi
|
||||||
@ -181,10 +181,10 @@ index 09618bb7d872..db9106a3dd22 100644
|
|||||||
simple-audio-card,mclk-fs = <512>;
|
simple-audio-card,mclk-fs = <512>;
|
||||||
|
|
||||||
simple-audio-card,codec {
|
simple-audio-card,codec {
|
||||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3399.dtsi b/arch/arm64/boot/dts/rockchip/rk3399.dtsi
|
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-base.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-base.dtsi
|
||||||
index 093ebe070775..a10fe60b7680 100644
|
index 093ebe070775..a10fe60b7680 100644
|
||||||
--- a/arch/arm64/boot/dts/rockchip/rk3399.dtsi
|
--- a/arch/arm64/boot/dts/rockchip/rk3399-base.dtsi
|
||||||
+++ b/arch/arm64/boot/dts/rockchip/rk3399.dtsi
|
+++ b/arch/arm64/boot/dts/rockchip/rk3399-base.dtsi
|
||||||
@@ -1893,7 +1893,7 @@ hdmi_sound: hdmi-sound {
|
@@ -1893,7 +1893,7 @@ hdmi_sound: hdmi-sound {
|
||||||
compatible = "simple-audio-card";
|
compatible = "simple-audio-card";
|
||||||
simple-audio-card,format = "i2s";
|
simple-audio-card,format = "i2s";
|
||||||
@ -557,13 +557,13 @@ result in poor DMA controller performance
|
|||||||
|
|
||||||
Signed-off-by: Alex Bee <knaerzche@gmail.com>
|
Signed-off-by: Alex Bee <knaerzche@gmail.com>
|
||||||
---
|
---
|
||||||
arch/arm64/boot/dts/rockchip/rk3399.dtsi | 2 +-
|
arch/arm64/boot/dts/rockchip/rk3399-base.dtsi | 2 +-
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3399.dtsi b/arch/arm64/boot/dts/rockchip/rk3399.dtsi
|
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-base.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-base.dtsi
|
||||||
index a10fe60b7680..dbe6a9cb98a5 100644
|
index a10fe60b7680..dbe6a9cb98a5 100644
|
||||||
--- a/arch/arm64/boot/dts/rockchip/rk3399.dtsi
|
--- a/arch/arm64/boot/dts/rockchip/rk3399-base.dtsi
|
||||||
+++ b/arch/arm64/boot/dts/rockchip/rk3399.dtsi
|
+++ b/arch/arm64/boot/dts/rockchip/rk3399-base.dtsi
|
||||||
@@ -1477,7 +1477,7 @@ cru: clock-controller@ff760000 {
|
@@ -1477,7 +1477,7 @@ cru: clock-controller@ff760000 {
|
||||||
<1000000000>,
|
<1000000000>,
|
||||||
<150000000>, <75000000>,
|
<150000000>, <75000000>,
|
||||||
|
@ -1725,13 +1725,13 @@ Subject: [PATCH] ARM64: dts: rockchip: Add IEP node for RK3399
|
|||||||
|
|
||||||
Signed-off-by: Alex Bee <knaerzche@gmail.com>
|
Signed-off-by: Alex Bee <knaerzche@gmail.com>
|
||||||
---
|
---
|
||||||
arch/arm64/boot/dts/rockchip/rk3399.dtsi | 13 ++++++++++++-
|
arch/arm64/boot/dts/rockchip/rk3399-base.dtsi | 13 ++++++++++++-
|
||||||
1 file changed, 12 insertions(+), 1 deletion(-)
|
1 file changed, 12 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3399.dtsi b/arch/arm64/boot/dts/rockchip/rk3399.dtsi
|
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-base.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-base.dtsi
|
||||||
index dbe6a9cb98a5..f0629b7a81c6 100644
|
index dbe6a9cb98a5..f0629b7a81c6 100644
|
||||||
--- a/arch/arm64/boot/dts/rockchip/rk3399.dtsi
|
--- a/arch/arm64/boot/dts/rockchip/rk3399-base.dtsi
|
||||||
+++ b/arch/arm64/boot/dts/rockchip/rk3399.dtsi
|
+++ b/arch/arm64/boot/dts/rockchip/rk3399-base.dtsi
|
||||||
@@ -1365,14 +1365,25 @@ vdec_mmu: iommu@ff660480 {
|
@@ -1365,14 +1365,25 @@ vdec_mmu: iommu@ff660480 {
|
||||||
#iommu-cells = <0>;
|
#iommu-cells = <0>;
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user