commit - ff99cb2ffd6a96106021164a402d2118933bf0a5
commit + 8871918f14026359808711c37392681999f46a41
blob - 35a02642e7f68f754e43f3eb453bd83f87f4d578
blob + 36a115aabec98a9f35bdb1566163235e3b79fe8c
--- sys/dev/fdt/rkclock.c
+++ sys/dev/fdt/rkclock.c
-/* $OpenBSD: rkclock.c,v 1.92 2025/05/01 12:28:40 kettenis Exp $ */
+/* $OpenBSD: rkclock.c,v 1.93 2025/05/17 13:29:49 kettenis Exp $ */
/*
* Copyright (c) 2017, 2018 Mark Kettenis <kettenis@openbsd.org>
*
#define RK3399_PMUCRU_CLKSEL_CON(i) (0x0080 + (i) * 4)
/* RK3528 registers */
-#define RK3528_CRU_PLL_CON(i) (0x0000 + (i) * 4)
-#define RK3528_CRU_CLKSEL_CON(i) (0x0300 + (i) * 4)
-#define RK3528_CRU_GATE_CON(i) (0x0800 + (i) * 4)
-#define RK3528_CRU_SOFTRST_CON(i) (0x0a00 + (i) * 4)
+#define RK3528_CRU_PLL_CON(i) (0x00000 + (i) * 4)
+#define RK3528_CRU_CLKSEL_CON(i) (0x00300 + (i) * 4)
+#define RK3528_CRU_GATE_CON(i) (0x00800 + (i) * 4)
+#define RK3528_CRU_SOFTRST_CON(i) (0x00a00 + (i) * 4)
+#define RK3528_PCIE_CRU_PLL_CON(i) (0x20000 + (i) * 4)
/* RK3568 registers */
#define RK3568_CRU_APLL_CON(i) (0x0000 + (i) * 4)
RK3528_XIN24M }
},
{
+ RK3528_CLK_PPLL_125M_MATRIX, RK3528_CRU_CLKSEL_CON(60),
+ 0, DIV(14, 10),
+ { RK3528_PLL_PPLL }
+ },
+ {
RK3528_CCLK_SRC_EMMC, RK3528_CRU_CLKSEL_CON(62),
SEL(7, 6), DIV(5, 0),
{ RK3528_PLL_GPLL, RK3528_PLL_CPLL, RK3528_XIN24M }
{ RK3528_XIN24M }
},
{
+ RK3528_CLK_GMAC1_SRC_VPU, 0, 0, 0,
+ { RK3528_CLK_PPLL_125M_MATRIX }
+ },
+ {
RK3528_CLK_I2C1, RK3528_CRU_CLKSEL_CON(79),
SEL(10, 9), 0,
{ RK3528_CLK_MATRIX_200M_SRC, RK3528_CLK_MATRIX_100M_SRC,
return rk3328_get_pll(sc, RK3528_CRU_PLL_CON(8));
case RK3528_PLL_GPLL:
return rk3328_get_pll(sc, RK3528_CRU_PLL_CON(24));
+ case RK3528_PLL_PPLL:
+ return rk3328_get_pll(sc, RK3528_PCIE_CRU_PLL_CON(32));
case RK3528_XIN24M:
return 24000000;
default:
reg = RK3528_CRU_SOFTRST_CON(26);
bit = 3;
break;
+ case RK3528_SRST_A_MAC:
+ reg = RK3528_CRU_SOFTRST_CON(28);
+ bit = 5;
+ break;
case RK3528_SRST_H_SDMMC0:
reg = RK3528_CRU_SOFTRST_CON(42);
bit = 9;
blob - 66a45f690c5ace07ee7d6d13ee99b0db9f018443
blob + 71bcd3fcffdd32ebbe287d57472e2f6cc8d4026b
--- sys/dev/fdt/rkclock_clocks.h
+++ sys/dev/fdt/rkclock_clocks.h
#define RK3528_PLL_CPLL 1
#define RK3528_PLL_GPLL 2
+#define RK3528_PLL_PPLL 3
#define RK3528_CLK_MATRIX_50M_SRC 7
#define RK3528_CLK_MATRIX_100M_SRC 8
#define RK3528_CLK_MATRIX_200M_SRC 10
#define RK3528_CLK_PWM0 111
#define RK3528_CLK_PWM1 114
+#define RK3528_CLK_PPLL_125M_MATRIX 125
#define RK3528_CCLK_SRC_EMMC 140
#define RK3528_BCLK_EMMC 143
#define RK3528_TCLK_EMMC 144
+#define RK3528_CLK_GMAC1_SRC_VPU 173
#define RK3528_CLK_I2C1 221
#define RK3528_CCLK_SRC_SDMMC0 295
#define RK3528_SRST_A_EMMC 67
#define RK3528_SRST_B_EMMC 68
#define RK3528_SRST_T_EMMC 69
+#define RK3528_SRST_A_MAC 97
#define RK3528_SRST_H_SDMMC0 189
/*