mirror of
https://github.com/coolsnowwolf/lede.git
synced 2025-04-16 04:13:31 +00:00
54 lines
1.6 KiB
Diff
54 lines
1.6 KiB
Diff
From 4db93c6dad0c71750b86163df2fdb21c35f00d9a Mon Sep 17 00:00:00 2001
|
|
From: hmz007 <hmz007@gmail.com>
|
|
Date: Tue, 19 Nov 2019 12:49:48 +0800
|
|
Subject: [PATCH] PM / devfreq: rockchip-dfi: add more soc support
|
|
|
|
Signed-off-by: hmz007 <hmz007@gmail.com>
|
|
---
|
|
drivers/devfreq/event/rockchip-dfi.c | 20 ++++++++++++++++++++++++---
|
|
1 file changed, 20 insertions(+)
|
|
|
|
--- a/drivers/devfreq/event/rockchip-dfi.c
|
|
+++ b/drivers/devfreq/event/rockchip-dfi.c
|
|
@@ -44,6 +44,9 @@
|
|
DDRMON_CTRL_LPDDR4 | \
|
|
DDRMON_CTRL_LPDDR23)
|
|
|
|
+#define READ_DRAMTYPE_INFO(n) (((n) >> 13) & 0x7)
|
|
+#define RK3328_GRF_OS_REG2 0x5d0
|
|
+
|
|
#define DDRMON_CH0_WR_NUM 0x20
|
|
#define DDRMON_CH0_RD_NUM 0x24
|
|
#define DDRMON_CH0_COUNT_NUM 0x28
|
|
@@ -669,6 +672,22 @@ static int rockchip_ddr_perf_init(struct
|
|
}
|
|
#endif
|
|
|
|
+static int rk3328_dfi_init(struct rockchip_dfi *dfi)
|
|
+{
|
|
+ struct regmap *regmap_pmu = dfi->regmap_pmu;
|
|
+ u32 val;
|
|
+
|
|
+ regmap_read(regmap_pmu, RK3328_GRF_OS_REG2, &val);
|
|
+ dfi->ddr_type = READ_DRAMTYPE_INFO(val);
|
|
+ dfi->channel_mask = BIT(0);
|
|
+ dfi->max_channels = 1;
|
|
+
|
|
+ dfi->ddrmon_stride = 0x0;
|
|
+ dfi->ddrmon_ctrl_single = true;
|
|
+
|
|
+ return 0;
|
|
+}
|
|
+
|
|
static int rk3399_dfi_init(struct rockchip_dfi *dfi)
|
|
{
|
|
struct regmap *regmap_pmu = dfi->regmap_pmu;
|
|
@@ -757,6 +776,7 @@ static int rk3588_dfi_init(struct rockch
|
|
};
|
|
|
|
static const struct of_device_id rockchip_dfi_id_match[] = {
|
|
+ { .compatible = "rockchip,rk3328-dfi", .data = rk3328_dfi_init },
|
|
{ .compatible = "rockchip,rk3399-dfi", .data = rk3399_dfi_init },
|
|
{ .compatible = "rockchip,rk3568-dfi", .data = rk3568_dfi_init },
|
|
{ .compatible = "rockchip,rk3588-dfi", .data = rk3588_dfi_init },
|