mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-18 22:14:16 +00:00
PM / devfreq: rockchip-dfi: Move GRF definitions to a common place.
Some rk3399 GRF (Generic Register Files) definitions can be used for different drivers. Move these definitions to a common include so we don't need to duplicate these definitions. Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com> Acked-by: Chanwoo Choi <cw00.choi@samsung.com> Signed-off-by: Gaël PORTAY <gael.portay@collabora.com> Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
This commit is contained in:
parent
fbb9c3c9a5
commit
adfe3b7660
2 changed files with 28 additions and 16 deletions
|
@ -26,6 +26,8 @@
|
||||||
#include <linux/list.h>
|
#include <linux/list.h>
|
||||||
#include <linux/of.h>
|
#include <linux/of.h>
|
||||||
|
|
||||||
|
#include <soc/rockchip/rk3399_grf.h>
|
||||||
|
|
||||||
#define RK3399_DMC_NUM_CH 2
|
#define RK3399_DMC_NUM_CH 2
|
||||||
|
|
||||||
/* DDRMON_CTRL */
|
/* DDRMON_CTRL */
|
||||||
|
@ -43,18 +45,6 @@
|
||||||
#define DDRMON_CH1_COUNT_NUM 0x3c
|
#define DDRMON_CH1_COUNT_NUM 0x3c
|
||||||
#define DDRMON_CH1_DFI_ACCESS_NUM 0x40
|
#define DDRMON_CH1_DFI_ACCESS_NUM 0x40
|
||||||
|
|
||||||
/* pmu grf */
|
|
||||||
#define PMUGRF_OS_REG2 0x308
|
|
||||||
#define DDRTYPE_SHIFT 13
|
|
||||||
#define DDRTYPE_MASK 7
|
|
||||||
|
|
||||||
enum {
|
|
||||||
DDR3 = 3,
|
|
||||||
LPDDR3 = 6,
|
|
||||||
LPDDR4 = 7,
|
|
||||||
UNUSED = 0xFF
|
|
||||||
};
|
|
||||||
|
|
||||||
struct dmc_usage {
|
struct dmc_usage {
|
||||||
u32 access;
|
u32 access;
|
||||||
u32 total;
|
u32 total;
|
||||||
|
@ -83,16 +73,17 @@ static void rockchip_dfi_start_hardware_counter(struct devfreq_event_dev *edev)
|
||||||
u32 ddr_type;
|
u32 ddr_type;
|
||||||
|
|
||||||
/* get ddr type */
|
/* get ddr type */
|
||||||
regmap_read(info->regmap_pmu, PMUGRF_OS_REG2, &val);
|
regmap_read(info->regmap_pmu, RK3399_PMUGRF_OS_REG2, &val);
|
||||||
ddr_type = (val >> DDRTYPE_SHIFT) & DDRTYPE_MASK;
|
ddr_type = (val >> RK3399_PMUGRF_DDRTYPE_SHIFT) &
|
||||||
|
RK3399_PMUGRF_DDRTYPE_MASK;
|
||||||
|
|
||||||
/* clear DDRMON_CTRL setting */
|
/* clear DDRMON_CTRL setting */
|
||||||
writel_relaxed(CLR_DDRMON_CTRL, dfi_regs + DDRMON_CTRL);
|
writel_relaxed(CLR_DDRMON_CTRL, dfi_regs + DDRMON_CTRL);
|
||||||
|
|
||||||
/* set ddr type to dfi */
|
/* set ddr type to dfi */
|
||||||
if (ddr_type == LPDDR3)
|
if (ddr_type == RK3399_PMUGRF_DDRTYPE_LPDDR3)
|
||||||
writel_relaxed(LPDDR3_EN, dfi_regs + DDRMON_CTRL);
|
writel_relaxed(LPDDR3_EN, dfi_regs + DDRMON_CTRL);
|
||||||
else if (ddr_type == LPDDR4)
|
else if (ddr_type == RK3399_PMUGRF_DDRTYPE_LPDDR4)
|
||||||
writel_relaxed(LPDDR4_EN, dfi_regs + DDRMON_CTRL);
|
writel_relaxed(LPDDR4_EN, dfi_regs + DDRMON_CTRL);
|
||||||
|
|
||||||
/* enable count, use software mode */
|
/* enable count, use software mode */
|
||||||
|
|
21
include/soc/rockchip/rk3399_grf.h
Normal file
21
include/soc/rockchip/rk3399_grf.h
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
/* SPDX-License-Identifier: GPL-2.0+ */
|
||||||
|
/*
|
||||||
|
* Rockchip General Register Files definitions
|
||||||
|
*
|
||||||
|
* Copyright (c) 2018, Collabora Ltd.
|
||||||
|
* Author: Enric Balletbo i Serra <enric.balletbo@collabora.com>
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __SOC_RK3399_GRF_H
|
||||||
|
#define __SOC_RK3399_GRF_H
|
||||||
|
|
||||||
|
/* PMU GRF Registers */
|
||||||
|
#define RK3399_PMUGRF_OS_REG2 0x308
|
||||||
|
#define RK3399_PMUGRF_DDRTYPE_SHIFT 13
|
||||||
|
#define RK3399_PMUGRF_DDRTYPE_MASK 7
|
||||||
|
#define RK3399_PMUGRF_DDRTYPE_DDR3 3
|
||||||
|
#define RK3399_PMUGRF_DDRTYPE_LPDDR2 5
|
||||||
|
#define RK3399_PMUGRF_DDRTYPE_LPDDR3 6
|
||||||
|
#define RK3399_PMUGRF_DDRTYPE_LPDDR4 7
|
||||||
|
|
||||||
|
#endif
|
Loading…
Add table
Reference in a new issue