Skip to content

Commit 64fa4ce

Browse files
authored
fix(rockchip-soc): add rk3588 PCIe clock gates (#474)
1 parent 23253c0 commit 64fa4ce

3 files changed

Lines changed: 266 additions & 93 deletions

File tree

  • .github/workflows
  • drivers/soc/rockchip/rockchip-soc/src/variants/rk3588/cru

.github/workflows/ci.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ jobs:
7575
- "Cargo.lock"
7676
- "rust-toolchain.toml"
7777
- "components/**"
78+
- "drivers/**"
7879
- "examples/**"
7980
- "os/**"
8081
- "platform/**"

drivers/soc/rockchip/rockchip-soc/src/variants/rk3588/cru/clock/mod.rs

Lines changed: 59 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -261,17 +261,71 @@ clk_id_group!(
261261
CLK_GMAC_50M = 325,
262262
);
263263

264+
// =============================================================================
265+
// PCIe/PHP 时钟 ID
266+
// =============================================================================
267+
268+
clk_id_group!(
269+
ACLK_PHP_GIC_ITS = 326,
270+
ACLK_MMU_PCIE = 327,
271+
ACLK_MMU_PHP = 328,
272+
ACLK_PCIE_4L_DBI = 329,
273+
ACLK_PCIE_2L_DBI = 330,
274+
ACLK_PCIE_1L0_DBI = 331,
275+
ACLK_PCIE_1L1_DBI = 332,
276+
ACLK_PCIE_1L2_DBI = 333,
277+
ACLK_PCIE_4L_MSTR = 334,
278+
ACLK_PCIE_2L_MSTR = 335,
279+
ACLK_PCIE_1L0_MSTR = 336,
280+
ACLK_PCIE_1L1_MSTR = 337,
281+
ACLK_PCIE_1L2_MSTR = 338,
282+
ACLK_PCIE_4L_SLV = 339,
283+
ACLK_PCIE_2L_SLV = 340,
284+
ACLK_PCIE_1L0_SLV = 341,
285+
ACLK_PCIE_1L1_SLV = 342,
286+
ACLK_PCIE_1L2_SLV = 343,
287+
PCLK_PCIE_4L = 344,
288+
PCLK_PCIE_2L = 345,
289+
PCLK_PCIE_1L0 = 347,
290+
PCLK_PCIE_1L1 = 348,
291+
PCLK_PCIE_1L2 = 349,
292+
CLK_PCIE_AUX0 = 350,
293+
CLK_PCIE_AUX1 = 351,
294+
CLK_PCIE_AUX2 = 352,
295+
CLK_PCIE_AUX3 = 353,
296+
CLK_PCIE_AUX4 = 354,
297+
CLK_PIPEPHY0_REF = 355,
298+
CLK_PIPEPHY1_REF = 356,
299+
CLK_PIPEPHY2_REF = 357,
300+
PCLK_PHP_ROOT = 358,
301+
ACLK_PCIE_ROOT = 361,
302+
ACLK_PHP_ROOT = 362,
303+
ACLK_PCIE_BRIDGE = 363,
304+
);
305+
264306
// =============================================================================
265307
// USB 时钟 ID
266308
// =============================================================================
267309

268310
clk_id_group!(
269-
PCLK_PHP_USBHOST3_0 = 358,
270311
ACLK_USB3OTG2 = 375,
271312
SUSPEND_CLK_USB3OTG2 = 376,
272313
REF_CLK_USB3OTG2 = 377,
273314
CLK_UTMI_OTG2 = 378,
274-
CLK_PIPE_USBHOST3_0 = 385,
315+
CLK_PIPEPHY0_PIPE_G = 379,
316+
CLK_PIPEPHY1_PIPE_G = 380,
317+
CLK_PIPEPHY2_PIPE_G = 381,
318+
CLK_PIPEPHY0_PIPE_ASIC_G = 382,
319+
CLK_PIPEPHY1_PIPE_ASIC_G = 383,
320+
CLK_PIPEPHY2_PIPE_ASIC_G = 384,
321+
CLK_PIPEPHY2_PIPE_U3_G = 385,
322+
CLK_PCIE1L2_PIPE = 386,
323+
CLK_PCIE4L_PIPE = 387,
324+
CLK_PCIE2L_PIPE = 388,
325+
PCLK_PCIE_COMBO_PIPE_PHY0 = 389,
326+
PCLK_PCIE_COMBO_PIPE_PHY1 = 390,
327+
PCLK_PCIE_COMBO_PIPE_PHY2 = 391,
328+
PCLK_PCIE_COMBO_PIPE_PHY = 392,
275329
);
276330

277331
clk_id_group!(
@@ -302,7 +356,10 @@ clk_id_group!(
302356

303357
clk_id_group!(CLK_USBPHY_480M = 693,);
304358
clk_id_group!(USBDPPHY_MIPIDCPPHY_REF = 694,);
359+
clk_id_group!(CLK_PCIE1L0_PIPE = 708, CLK_PCIE1L1_PIPE = 709,);
305360

361+
pub const PCLK_PHP_USBHOST3_0: ClkId = PCLK_PHP_ROOT;
362+
pub const CLK_PIPE_USBHOST3_0: ClkId = CLK_PIPEPHY2_PIPE_U3_G;
306363
pub const CLK_REF_USB3OTG0: ClkId = REF_CLK_USB3OTG0;
307364
pub const CLK_SUSPEND_USB3OTG0: ClkId = SUSPEND_CLK_USB3OTG0;
308365
pub const CLK_REF_USB3OTG1: ClkId = REF_CLK_USB3OTG1;

0 commit comments

Comments
 (0)