forked from coolsnowwolf/lede
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
rockchip: backport driver updates for rk3588
- Loading branch information
1 parent
801f345
commit 5ea6cb7
Showing
44 changed files
with
19,019 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
78 changes: 78 additions & 0 deletions
78
...et/linux/rockchip/patches-6.6/030-01-v6.9-clk-rockchip-rk3588-fix-CLK_NR_CLKS-usage.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,78 @@ | ||
From 2dc66a5ab2c6fb532fbb16107ee7efcb0effbfa5 Mon Sep 17 00:00:00 2001 | ||
From: Sebastian Reichel <[email protected]> | ||
Date: Fri, 26 Jan 2024 19:18:22 +0100 | ||
Subject: [PATCH] clk: rockchip: rk3588: fix CLK_NR_CLKS usage | ||
|
||
CLK_NR_CLKS is not part of the DT bindings and needs to be removed | ||
from it, just like it recently happened for other platforms. This | ||
takes care of it by introducing a new function identifying the | ||
maximum used clock ID at runtime. | ||
|
||
Signed-off-by: Sebastian Reichel <[email protected]> | ||
Link: https://lore.kernel.org/r/[email protected] | ||
Signed-off-by: Heiko Stuebner <[email protected]> | ||
--- | ||
drivers/clk/rockchip/clk-rk3588.c | 5 ++++- | ||
drivers/clk/rockchip/clk.c | 17 +++++++++++++++++ | ||
drivers/clk/rockchip/clk.h | 2 ++ | ||
3 files changed, 23 insertions(+), 1 deletion(-) | ||
|
||
--- a/drivers/clk/rockchip/clk-rk3588.c | ||
+++ b/drivers/clk/rockchip/clk-rk3588.c | ||
@@ -2458,15 +2458,18 @@ static struct rockchip_clk_branch rk3588 | ||
static void __init rk3588_clk_init(struct device_node *np) | ||
{ | ||
struct rockchip_clk_provider *ctx; | ||
+ unsigned long clk_nr_clks; | ||
void __iomem *reg_base; | ||
|
||
+ clk_nr_clks = rockchip_clk_find_max_clk_id(rk3588_clk_branches, | ||
+ ARRAY_SIZE(rk3588_clk_branches)) + 1; | ||
reg_base = of_iomap(np, 0); | ||
if (!reg_base) { | ||
pr_err("%s: could not map cru region\n", __func__); | ||
return; | ||
} | ||
|
||
- ctx = rockchip_clk_init(np, reg_base, CLK_NR_CLKS); | ||
+ ctx = rockchip_clk_init(np, reg_base, clk_nr_clks); | ||
if (IS_ERR(ctx)) { | ||
pr_err("%s: rockchip clk init failed\n", __func__); | ||
iounmap(reg_base); | ||
--- a/drivers/clk/rockchip/clk.c | ||
+++ b/drivers/clk/rockchip/clk.c | ||
@@ -429,6 +429,23 @@ void rockchip_clk_register_plls(struct r | ||
} | ||
EXPORT_SYMBOL_GPL(rockchip_clk_register_plls); | ||
|
||
+unsigned long rockchip_clk_find_max_clk_id(struct rockchip_clk_branch *list, | ||
+ unsigned int nr_clk) | ||
+{ | ||
+ unsigned long max = 0; | ||
+ unsigned int idx; | ||
+ | ||
+ for (idx = 0; idx < nr_clk; idx++, list++) { | ||
+ if (list->id > max) | ||
+ max = list->id; | ||
+ if (list->child && list->child->id > max) | ||
+ max = list->id; | ||
+ } | ||
+ | ||
+ return max; | ||
+} | ||
+EXPORT_SYMBOL_GPL(rockchip_clk_find_max_clk_id); | ||
+ | ||
void rockchip_clk_register_branches(struct rockchip_clk_provider *ctx, | ||
struct rockchip_clk_branch *list, | ||
unsigned int nr_clk) | ||
--- a/drivers/clk/rockchip/clk.h | ||
+++ b/drivers/clk/rockchip/clk.h | ||
@@ -973,6 +973,8 @@ struct rockchip_clk_provider *rockchip_c | ||
void __iomem *base, unsigned long nr_clks); | ||
void rockchip_clk_of_add_provider(struct device_node *np, | ||
struct rockchip_clk_provider *ctx); | ||
+unsigned long rockchip_clk_find_max_clk_id(struct rockchip_clk_branch *list, | ||
+ unsigned int nr_clk); | ||
void rockchip_clk_register_branches(struct rockchip_clk_provider *ctx, | ||
struct rockchip_clk_branch *list, | ||
unsigned int nr_clk); |
27 changes: 27 additions & 0 deletions
27
...et/linux/rockchip/patches-6.6/030-02-v6.9-dt-bindings-clock-rk3588-drop-CLK_NR_CLKS.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
From 11a29dc2e41ead2be78cfa9d532edf924b461acc Mon Sep 17 00:00:00 2001 | ||
From: Sebastian Reichel <[email protected]> | ||
Date: Fri, 26 Jan 2024 19:18:23 +0100 | ||
Subject: [PATCH] dt-bindings: clock: rk3588: drop CLK_NR_CLKS | ||
|
||
CLK_NR_CLKS should not be part of the binding. Let's drop it, since | ||
the kernel code no longer uses it either. | ||
|
||
Reviewed-by: Krzysztof Kozlowski <[email protected]> | ||
Signed-off-by: Sebastian Reichel <[email protected]> | ||
Link: https://lore.kernel.org/r/[email protected] | ||
Signed-off-by: Heiko Stuebner <[email protected]> | ||
--- | ||
include/dt-bindings/clock/rockchip,rk3588-cru.h | 2 -- | ||
1 file changed, 2 deletions(-) | ||
|
||
--- a/include/dt-bindings/clock/rockchip,rk3588-cru.h | ||
+++ b/include/dt-bindings/clock/rockchip,rk3588-cru.h | ||
@@ -734,8 +734,6 @@ | ||
#define PCLK_AV1_PRE 719 | ||
#define HCLK_SDIO_PRE 720 | ||
|
||
-#define CLK_NR_CLKS (HCLK_SDIO_PRE + 1) | ||
- | ||
/* scmi-clocks indices */ | ||
|
||
#define SCMI_CLK_CPUL 0 |
26 changes: 26 additions & 0 deletions
26
...x/rockchip/patches-6.6/030-03-v6.9-dt-bindings-clock-rk3588-add-missing-PCLK_VO1GRF.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
From c81798cf9dd2f324934585b2b52a0398caefb88e Mon Sep 17 00:00:00 2001 | ||
From: Sebastian Reichel <[email protected]> | ||
Date: Fri, 26 Jan 2024 19:18:24 +0100 | ||
Subject: [PATCH] dt-bindings: clock: rk3588: add missing PCLK_VO1GRF | ||
|
||
Add PCLK_VO1GRF to complement PCLK_VO0GRF. This will be needed | ||
for HDMI support. | ||
|
||
Acked-by: Krzysztof Kozlowski <[email protected]> | ||
Signed-off-by: Sebastian Reichel <[email protected]> | ||
Link: https://lore.kernel.org/r/[email protected] | ||
Signed-off-by: Heiko Stuebner <[email protected]> | ||
--- | ||
include/dt-bindings/clock/rockchip,rk3588-cru.h | 1 + | ||
1 file changed, 1 insertion(+) | ||
|
||
--- a/include/dt-bindings/clock/rockchip,rk3588-cru.h | ||
+++ b/include/dt-bindings/clock/rockchip,rk3588-cru.h | ||
@@ -733,6 +733,7 @@ | ||
#define ACLK_AV1_PRE 718 | ||
#define PCLK_AV1_PRE 719 | ||
#define HCLK_SDIO_PRE 720 | ||
+#define PCLK_VO1GRF 721 | ||
|
||
/* scmi-clocks indices */ | ||
|
59 changes: 59 additions & 0 deletions
59
...ockchip/patches-6.6/030-04-v6.9-clk-rockchip-rk3588-fix-pclk_vo0grf-and-pclk_vo1grf.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
From 326be62eaf2e89767b7b9223f88eaf3c041b98d2 Mon Sep 17 00:00:00 2001 | ||
From: Sebastian Reichel <[email protected]> | ||
Date: Fri, 26 Jan 2024 19:18:25 +0100 | ||
Subject: [PATCH] clk: rockchip: rk3588: fix pclk_vo0grf and pclk_vo1grf | ||
|
||
Currently pclk_vo1grf is not exposed, but it should be referenced | ||
from the vo1_grf syscon, which needs it enabled. That syscon is | ||
required for HDMI RX and TX functionality among other things. | ||
|
||
Apart from that pclk_vo0grf and pclk_vo1grf are both linked gates | ||
and need the VO's hclk enabled in addition to their parent clock. | ||
|
||
No Fixes tag has been added, since the logic requiring these clocks | ||
is not yet upstream anyways. | ||
|
||
Signed-off-by: Sebastian Reichel <[email protected]> | ||
Link: https://lore.kernel.org/r/[email protected] | ||
Signed-off-by: Heiko Stuebner <[email protected]> | ||
--- | ||
drivers/clk/rockchip/clk-rk3588.c | 10 ++++------ | ||
1 file changed, 4 insertions(+), 6 deletions(-) | ||
|
||
--- a/drivers/clk/rockchip/clk-rk3588.c | ||
+++ b/drivers/clk/rockchip/clk-rk3588.c | ||
@@ -1851,8 +1851,6 @@ static struct rockchip_clk_branch rk3588 | ||
RK3588_CLKGATE_CON(56), 0, GFLAGS), | ||
GATE(PCLK_TRNG0, "pclk_trng0", "pclk_vo0_root", 0, | ||
RK3588_CLKGATE_CON(56), 1, GFLAGS), | ||
- GATE(PCLK_VO0GRF, "pclk_vo0grf", "pclk_vo0_root", CLK_IGNORE_UNUSED, | ||
- RK3588_CLKGATE_CON(55), 10, GFLAGS), | ||
COMPOSITE(CLK_I2S4_8CH_TX_SRC, "clk_i2s4_8ch_tx_src", gpll_aupll_p, 0, | ||
RK3588_CLKSEL_CON(118), 5, 1, MFLAGS, 0, 5, DFLAGS, | ||
RK3588_CLKGATE_CON(56), 11, GFLAGS), | ||
@@ -1998,8 +1996,6 @@ static struct rockchip_clk_branch rk3588 | ||
RK3588_CLKGATE_CON(60), 9, GFLAGS), | ||
GATE(PCLK_TRNG1, "pclk_trng1", "pclk_vo1_root", 0, | ||
RK3588_CLKGATE_CON(60), 10, GFLAGS), | ||
- GATE(0, "pclk_vo1grf", "pclk_vo1_root", CLK_IGNORE_UNUSED, | ||
- RK3588_CLKGATE_CON(59), 12, GFLAGS), | ||
GATE(PCLK_S_EDP0, "pclk_s_edp0", "pclk_vo1_s_root", 0, | ||
RK3588_CLKGATE_CON(59), 14, GFLAGS), | ||
GATE(PCLK_S_EDP1, "pclk_s_edp1", "pclk_vo1_s_root", 0, | ||
@@ -2447,12 +2443,14 @@ static struct rockchip_clk_branch rk3588 | ||
GATE_LINK(HCLK_RKVDEC1_PRE, "hclk_rkvdec1_pre", "hclk_rkvdec1_root", "hclk_vdpu_root", 0, RK3588_CLKGATE_CON(41), 4, GFLAGS), | ||
GATE_LINK(ACLK_RKVDEC1_PRE, "aclk_rkvdec1_pre", "aclk_rkvdec1_root", "aclk_vdpu_root", 0, RK3588_CLKGATE_CON(41), 5, GFLAGS), | ||
GATE_LINK(ACLK_HDCP0_PRE, "aclk_hdcp0_pre", "aclk_vo0_root", "aclk_vop_low_root", 0, RK3588_CLKGATE_CON(55), 9, GFLAGS), | ||
- GATE_LINK(HCLK_VO0, "hclk_vo0", "hclk_vo0_root", "hclk_vop_root", 0, RK3588_CLKGATE_CON(55), 5, GFLAGS), | ||
+ GATE_LINK(HCLK_VO0, "hclk_vo0", "hclk_vo0_root", "hclk_vop_root", RK3588_LINKED_CLK, RK3588_CLKGATE_CON(55), 5, GFLAGS), | ||
GATE_LINK(ACLK_HDCP1_PRE, "aclk_hdcp1_pre", "aclk_hdcp1_root", "aclk_vo1usb_top_root", 0, RK3588_CLKGATE_CON(59), 6, GFLAGS), | ||
- GATE_LINK(HCLK_VO1, "hclk_vo1", "hclk_vo1_root", "hclk_vo1usb_top_root", 0, RK3588_CLKGATE_CON(59), 9, GFLAGS), | ||
+ GATE_LINK(HCLK_VO1, "hclk_vo1", "hclk_vo1_root", "hclk_vo1usb_top_root", RK3588_LINKED_CLK, RK3588_CLKGATE_CON(59), 9, GFLAGS), | ||
GATE_LINK(ACLK_AV1_PRE, "aclk_av1_pre", "aclk_av1_root", "aclk_vdpu_root", 0, RK3588_CLKGATE_CON(68), 1, GFLAGS), | ||
GATE_LINK(PCLK_AV1_PRE, "pclk_av1_pre", "pclk_av1_root", "hclk_vdpu_root", 0, RK3588_CLKGATE_CON(68), 4, GFLAGS), | ||
GATE_LINK(HCLK_SDIO_PRE, "hclk_sdio_pre", "hclk_sdio_root", "hclk_nvm", 0, RK3588_CLKGATE_CON(75), 1, GFLAGS), | ||
+ GATE_LINK(PCLK_VO0GRF, "pclk_vo0grf", "pclk_vo0_root", "hclk_vo0", CLK_IGNORE_UNUSED, RK3588_CLKGATE_CON(55), 10, GFLAGS), | ||
+ GATE_LINK(PCLK_VO1GRF, "pclk_vo1grf", "pclk_vo1_root", "hclk_vo1", CLK_IGNORE_UNUSED, RK3588_CLKGATE_CON(59), 12, GFLAGS), | ||
}; | ||
|
||
static void __init rk3588_clk_init(struct device_node *np) |
26 changes: 26 additions & 0 deletions
26
target/linux/rockchip/patches-6.6/030-05-v6.9-clk-rockchip-rk3588-fix-indent.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
From 2a6e4710672242281347103b64e01693aa823a29 Mon Sep 17 00:00:00 2001 | ||
From: Sebastian Reichel <[email protected]> | ||
Date: Fri, 26 Jan 2024 19:18:26 +0100 | ||
Subject: [PATCH] clk: rockchip: rk3588: fix indent | ||
|
||
pclk_mailbox2 is the only RK3588 clock indented with one tab instead of | ||
two tabs. Let's fix this. | ||
|
||
Signed-off-by: Sebastian Reichel <[email protected]> | ||
Link: https://lore.kernel.org/r/[email protected] | ||
Signed-off-by: Heiko Stuebner <[email protected]> | ||
--- | ||
drivers/clk/rockchip/clk-rk3588.c | 2 +- | ||
1 file changed, 1 insertion(+), 1 deletion(-) | ||
|
||
--- a/drivers/clk/rockchip/clk-rk3588.c | ||
+++ b/drivers/clk/rockchip/clk-rk3588.c | ||
@@ -1004,7 +1004,7 @@ static struct rockchip_clk_branch rk3588 | ||
GATE(PCLK_MAILBOX1, "pclk_mailbox1", "pclk_top_root", 0, | ||
RK3588_CLKGATE_CON(16), 12, GFLAGS), | ||
GATE(PCLK_MAILBOX2, "pclk_mailbox2", "pclk_top_root", 0, | ||
- RK3588_CLKGATE_CON(16), 13, GFLAGS), | ||
+ RK3588_CLKGATE_CON(16), 13, GFLAGS), | ||
GATE(PCLK_PMU2, "pclk_pmu2", "pclk_top_root", CLK_IS_CRITICAL, | ||
RK3588_CLKGATE_CON(19), 3, GFLAGS), | ||
GATE(PCLK_PMUCM0_INTMUX, "pclk_pmucm0_intmux", "pclk_top_root", CLK_IS_CRITICAL, |
78 changes: 78 additions & 0 deletions
78
...kchip/patches-6.6/030-06-v6.9-clk-rockchip-rk3588-use-linked-clock-ID-for-GATE_LINK.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,78 @@ | ||
From dae3e57000fb2d6f491e3ee2956f5918326d6b72 Mon Sep 17 00:00:00 2001 | ||
From: Sebastian Reichel <[email protected]> | ||
Date: Fri, 26 Jan 2024 19:18:27 +0100 | ||
Subject: [PATCH] clk: rockchip: rk3588: use linked clock ID for GATE_LINK | ||
|
||
In preparation for properly supporting GATE_LINK switch the unused | ||
linked clock argument from the clock's name to its ID. This allows | ||
easy and fast lookup of the 'struct clk'. | ||
|
||
Signed-off-by: Sebastian Reichel <[email protected]> | ||
Link: https://lore.kernel.org/r/[email protected] | ||
Signed-off-by: Heiko Stuebner <[email protected]> | ||
--- | ||
drivers/clk/rockchip/clk-rk3588.c | 46 +++++++++++++++---------------- | ||
1 file changed, 23 insertions(+), 23 deletions(-) | ||
|
||
--- a/drivers/clk/rockchip/clk-rk3588.c | ||
+++ b/drivers/clk/rockchip/clk-rk3588.c | ||
@@ -29,7 +29,7 @@ | ||
* power, but avoids leaking implementation details into DT or hanging the | ||
* system. | ||
*/ | ||
-#define GATE_LINK(_id, cname, pname, linkname, f, o, b, gf) \ | ||
+#define GATE_LINK(_id, cname, pname, linkedclk, f, o, b, gf) \ | ||
GATE(_id, cname, pname, f, o, b, gf) | ||
#define RK3588_LINKED_CLK CLK_IS_CRITICAL | ||
|
||
@@ -2429,28 +2429,28 @@ static struct rockchip_clk_branch rk3588 | ||
GATE(ACLK_AV1, "aclk_av1", "aclk_av1_pre", 0, | ||
RK3588_CLKGATE_CON(68), 2, GFLAGS), | ||
|
||
- GATE_LINK(ACLK_ISP1_PRE, "aclk_isp1_pre", "aclk_isp1_root", "aclk_vi_root", 0, RK3588_CLKGATE_CON(26), 6, GFLAGS), | ||
- GATE_LINK(HCLK_ISP1_PRE, "hclk_isp1_pre", "hclk_isp1_root", "hclk_vi_root", 0, RK3588_CLKGATE_CON(26), 8, GFLAGS), | ||
- GATE_LINK(HCLK_NVM, "hclk_nvm", "hclk_nvm_root", "aclk_nvm_root", RK3588_LINKED_CLK, RK3588_CLKGATE_CON(31), 2, GFLAGS), | ||
- GATE_LINK(ACLK_USB, "aclk_usb", "aclk_usb_root", "aclk_vo1usb_top_root", 0, RK3588_CLKGATE_CON(42), 2, GFLAGS), | ||
- GATE_LINK(HCLK_USB, "hclk_usb", "hclk_usb_root", "hclk_vo1usb_top_root", 0, RK3588_CLKGATE_CON(42), 3, GFLAGS), | ||
- GATE_LINK(ACLK_JPEG_DECODER_PRE, "aclk_jpeg_decoder_pre", "aclk_jpeg_decoder_root", "aclk_vdpu_root", 0, RK3588_CLKGATE_CON(44), 7, GFLAGS), | ||
- GATE_LINK(ACLK_VDPU_LOW_PRE, "aclk_vdpu_low_pre", "aclk_vdpu_low_root", "aclk_vdpu_root", 0, RK3588_CLKGATE_CON(44), 5, GFLAGS), | ||
- GATE_LINK(ACLK_RKVENC1_PRE, "aclk_rkvenc1_pre", "aclk_rkvenc1_root", "aclk_rkvenc0", 0, RK3588_CLKGATE_CON(48), 3, GFLAGS), | ||
- GATE_LINK(HCLK_RKVENC1_PRE, "hclk_rkvenc1_pre", "hclk_rkvenc1_root", "hclk_rkvenc0", 0, RK3588_CLKGATE_CON(48), 2, GFLAGS), | ||
- GATE_LINK(HCLK_RKVDEC0_PRE, "hclk_rkvdec0_pre", "hclk_rkvdec0_root", "hclk_vdpu_root", 0, RK3588_CLKGATE_CON(40), 5, GFLAGS), | ||
- GATE_LINK(ACLK_RKVDEC0_PRE, "aclk_rkvdec0_pre", "aclk_rkvdec0_root", "aclk_vdpu_root", 0, RK3588_CLKGATE_CON(40), 6, GFLAGS), | ||
- GATE_LINK(HCLK_RKVDEC1_PRE, "hclk_rkvdec1_pre", "hclk_rkvdec1_root", "hclk_vdpu_root", 0, RK3588_CLKGATE_CON(41), 4, GFLAGS), | ||
- GATE_LINK(ACLK_RKVDEC1_PRE, "aclk_rkvdec1_pre", "aclk_rkvdec1_root", "aclk_vdpu_root", 0, RK3588_CLKGATE_CON(41), 5, GFLAGS), | ||
- GATE_LINK(ACLK_HDCP0_PRE, "aclk_hdcp0_pre", "aclk_vo0_root", "aclk_vop_low_root", 0, RK3588_CLKGATE_CON(55), 9, GFLAGS), | ||
- GATE_LINK(HCLK_VO0, "hclk_vo0", "hclk_vo0_root", "hclk_vop_root", RK3588_LINKED_CLK, RK3588_CLKGATE_CON(55), 5, GFLAGS), | ||
- GATE_LINK(ACLK_HDCP1_PRE, "aclk_hdcp1_pre", "aclk_hdcp1_root", "aclk_vo1usb_top_root", 0, RK3588_CLKGATE_CON(59), 6, GFLAGS), | ||
- GATE_LINK(HCLK_VO1, "hclk_vo1", "hclk_vo1_root", "hclk_vo1usb_top_root", RK3588_LINKED_CLK, RK3588_CLKGATE_CON(59), 9, GFLAGS), | ||
- GATE_LINK(ACLK_AV1_PRE, "aclk_av1_pre", "aclk_av1_root", "aclk_vdpu_root", 0, RK3588_CLKGATE_CON(68), 1, GFLAGS), | ||
- GATE_LINK(PCLK_AV1_PRE, "pclk_av1_pre", "pclk_av1_root", "hclk_vdpu_root", 0, RK3588_CLKGATE_CON(68), 4, GFLAGS), | ||
- GATE_LINK(HCLK_SDIO_PRE, "hclk_sdio_pre", "hclk_sdio_root", "hclk_nvm", 0, RK3588_CLKGATE_CON(75), 1, GFLAGS), | ||
- GATE_LINK(PCLK_VO0GRF, "pclk_vo0grf", "pclk_vo0_root", "hclk_vo0", CLK_IGNORE_UNUSED, RK3588_CLKGATE_CON(55), 10, GFLAGS), | ||
- GATE_LINK(PCLK_VO1GRF, "pclk_vo1grf", "pclk_vo1_root", "hclk_vo1", CLK_IGNORE_UNUSED, RK3588_CLKGATE_CON(59), 12, GFLAGS), | ||
+ GATE_LINK(ACLK_ISP1_PRE, "aclk_isp1_pre", "aclk_isp1_root", ACLK_VI_ROOT, 0, RK3588_CLKGATE_CON(26), 6, GFLAGS), | ||
+ GATE_LINK(HCLK_ISP1_PRE, "hclk_isp1_pre", "hclk_isp1_root", HCLK_VI_ROOT, 0, RK3588_CLKGATE_CON(26), 8, GFLAGS), | ||
+ GATE_LINK(HCLK_NVM, "hclk_nvm", "hclk_nvm_root", ACLK_NVM_ROOT, RK3588_LINKED_CLK, RK3588_CLKGATE_CON(31), 2, GFLAGS), | ||
+ GATE_LINK(ACLK_USB, "aclk_usb", "aclk_usb_root", ACLK_VO1USB_TOP_ROOT, 0, RK3588_CLKGATE_CON(42), 2, GFLAGS), | ||
+ GATE_LINK(HCLK_USB, "hclk_usb", "hclk_usb_root", HCLK_VO1USB_TOP_ROOT, 0, RK3588_CLKGATE_CON(42), 3, GFLAGS), | ||
+ GATE_LINK(ACLK_JPEG_DECODER_PRE, "aclk_jpeg_decoder_pre", "aclk_jpeg_decoder_root", ACLK_VDPU_ROOT, 0, RK3588_CLKGATE_CON(44), 7, GFLAGS), | ||
+ GATE_LINK(ACLK_VDPU_LOW_PRE, "aclk_vdpu_low_pre", "aclk_vdpu_low_root", ACLK_VDPU_ROOT, 0, RK3588_CLKGATE_CON(44), 5, GFLAGS), | ||
+ GATE_LINK(ACLK_RKVENC1_PRE, "aclk_rkvenc1_pre", "aclk_rkvenc1_root", ACLK_RKVENC0, 0, RK3588_CLKGATE_CON(48), 3, GFLAGS), | ||
+ GATE_LINK(HCLK_RKVENC1_PRE, "hclk_rkvenc1_pre", "hclk_rkvenc1_root", HCLK_RKVENC0, 0, RK3588_CLKGATE_CON(48), 2, GFLAGS), | ||
+ GATE_LINK(HCLK_RKVDEC0_PRE, "hclk_rkvdec0_pre", "hclk_rkvdec0_root", HCLK_VDPU_ROOT, 0, RK3588_CLKGATE_CON(40), 5, GFLAGS), | ||
+ GATE_LINK(ACLK_RKVDEC0_PRE, "aclk_rkvdec0_pre", "aclk_rkvdec0_root", ACLK_VDPU_ROOT, 0, RK3588_CLKGATE_CON(40), 6, GFLAGS), | ||
+ GATE_LINK(HCLK_RKVDEC1_PRE, "hclk_rkvdec1_pre", "hclk_rkvdec1_root", HCLK_VDPU_ROOT, 0, RK3588_CLKGATE_CON(41), 4, GFLAGS), | ||
+ GATE_LINK(ACLK_RKVDEC1_PRE, "aclk_rkvdec1_pre", "aclk_rkvdec1_root", ACLK_VDPU_ROOT, 0, RK3588_CLKGATE_CON(41), 5, GFLAGS), | ||
+ GATE_LINK(ACLK_HDCP0_PRE, "aclk_hdcp0_pre", "aclk_vo0_root", ACLK_VOP_LOW_ROOT, 0, RK3588_CLKGATE_CON(55), 9, GFLAGS), | ||
+ GATE_LINK(HCLK_VO0, "hclk_vo0", "hclk_vo0_root", HCLK_VOP_ROOT, RK3588_LINKED_CLK, RK3588_CLKGATE_CON(55), 5, GFLAGS), | ||
+ GATE_LINK(ACLK_HDCP1_PRE, "aclk_hdcp1_pre", "aclk_hdcp1_root", ACLK_VO1USB_TOP_ROOT, 0, RK3588_CLKGATE_CON(59), 6, GFLAGS), | ||
+ GATE_LINK(HCLK_VO1, "hclk_vo1", "hclk_vo1_root", HCLK_VO1USB_TOP_ROOT, RK3588_LINKED_CLK, RK3588_CLKGATE_CON(59), 9, GFLAGS), | ||
+ GATE_LINK(ACLK_AV1_PRE, "aclk_av1_pre", "aclk_av1_root", ACLK_VDPU_ROOT, 0, RK3588_CLKGATE_CON(68), 1, GFLAGS), | ||
+ GATE_LINK(PCLK_AV1_PRE, "pclk_av1_pre", "pclk_av1_root", HCLK_VDPU_ROOT, 0, RK3588_CLKGATE_CON(68), 4, GFLAGS), | ||
+ GATE_LINK(HCLK_SDIO_PRE, "hclk_sdio_pre", "hclk_sdio_root", HCLK_NVM, 0, RK3588_CLKGATE_CON(75), 1, GFLAGS), | ||
+ GATE_LINK(PCLK_VO0GRF, "pclk_vo0grf", "pclk_vo0_root", HCLK_VO0, CLK_IGNORE_UNUSED, RK3588_CLKGATE_CON(55), 10, GFLAGS), | ||
+ GATE_LINK(PCLK_VO1GRF, "pclk_vo1grf", "pclk_vo1_root", HCLK_VO1, CLK_IGNORE_UNUSED, RK3588_CLKGATE_CON(59), 12, GFLAGS), | ||
}; | ||
|
||
static void __init rk3588_clk_init(struct device_node *np) |
24 changes: 24 additions & 0 deletions
24
...p/patches-6.6/030-07-v6.10-dt-bindings-reset-Define-reset-id-used-for-HDMI-Receiver.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
From ca151fd56b5736a7adbdba5675b9d87d70f20b23 Mon Sep 17 00:00:00 2001 | ||
From: Shreeya Patel <[email protected]> | ||
Date: Thu, 28 Mar 2024 04:20:52 +0530 | ||
Subject: [PATCH] dt-bindings: reset: Define reset id used for HDMI Receiver | ||
|
||
Add reset id used for HDMI Receiver in RK3588 SoCs | ||
|
||
Acked-by: Rob Herring <[email protected]> | ||
Signed-off-by: Shreeya Patel <[email protected]> | ||
Link: https://lore.kernel.org/r/[email protected] | ||
Signed-off-by: Heiko Stuebner <[email protected]> | ||
--- | ||
include/dt-bindings/reset/rockchip,rk3588-cru.h | 2 ++ | ||
1 file changed, 2 insertions(+) | ||
|
||
--- a/include/dt-bindings/reset/rockchip,rk3588-cru.h | ||
+++ b/include/dt-bindings/reset/rockchip,rk3588-cru.h | ||
@@ -751,4 +751,6 @@ | ||
#define SRST_P_TRNG_CHK 658 | ||
#define SRST_TRNG_S 659 | ||
|
||
+#define SRST_A_HDMIRX_BIU 660 | ||
+ | ||
#endif |
25 changes: 25 additions & 0 deletions
25
...kchip/patches-6.6/030-08-v6.10-clk-rockchip-rk3588-Add-reset-line-for-HDMI-Receiver.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
From 7af67019cd78d028ef377df689ac103d51905518 Mon Sep 17 00:00:00 2001 | ||
From: Shreeya Patel <[email protected]> | ||
Date: Thu, 28 Mar 2024 04:20:53 +0530 | ||
Subject: [PATCH] clk: rockchip: rk3588: Add reset line for HDMI Receiver | ||
|
||
Export hdmirx_biu reset line required by the Synopsys | ||
DesignWare HDMIRX Controller. | ||
|
||
Signed-off-by: Shreeya Patel <[email protected]> | ||
Link: https://lore.kernel.org/r/[email protected] | ||
Signed-off-by: Heiko Stuebner <[email protected]> | ||
--- | ||
drivers/clk/rockchip/rst-rk3588.c | 1 + | ||
1 file changed, 1 insertion(+) | ||
|
||
--- a/drivers/clk/rockchip/rst-rk3588.c | ||
+++ b/drivers/clk/rockchip/rst-rk3588.c | ||
@@ -577,6 +577,7 @@ static const int rk3588_register_offset[ | ||
|
||
/* SOFTRST_CON59 */ | ||
RK3588_CRU_RESET_OFFSET(SRST_A_HDCP1_BIU, 59, 6), | ||
+ RK3588_CRU_RESET_OFFSET(SRST_A_HDMIRX_BIU, 59, 7), | ||
RK3588_CRU_RESET_OFFSET(SRST_A_VO1_BIU, 59, 8), | ||
RK3588_CRU_RESET_OFFSET(SRST_H_VOP1_BIU, 59, 9), | ||
RK3588_CRU_RESET_OFFSET(SRST_H_VOP1_S_BIU, 59, 10), |
Oops, something went wrong.