ddr: enable bandwidth and dmc monitor for tm2 [1/1]

PD#SWPL-7728

Problem:
bandwidth measure on tm2 is not enabled

Solution:
Adding port description of ddr controller for tm2
Also enable dmc monitor function for tm2

Verify:
AB301

Change-Id: I0127ac04fe29723669525f6ff1161e2fa35d69ca
Signed-off-by: Tao Zeng <tao.zeng@amlogic.com>
This commit is contained in:
Tao Zeng
2019-04-25 10:27:09 +08:00
committed by Luke Go
parent 5d01e5160a
commit 11dc130420
2 changed files with 60 additions and 12 deletions

View File

@@ -71,7 +71,7 @@ static struct ddr_port_desc ddr_port_desc_m8b[] __initdata = {
{ .port_id = 38, .port_name = "GE2D SOURCE1" },
{ .port_id = 39, .port_name = "GE2D SOURCE2" },
{ .port_id = 40, .port_name = "GE2D DEST" },
{ .port_id = 41, .port_name = "PASER" },
{ .port_id = 41, .port_name = "PARSER" },
{ .port_id = 42, .port_name = "SANA" },
{ .port_id = 43, .port_name = "SDIO2" },
{ .port_id = 44, .port_name = "SPICC" },
@@ -103,7 +103,7 @@ static struct ddr_port_desc ddr_port_desc_gxbb[] __initdata = {
{ .port_id = 38, .port_name = "AUDIO OUT" },
{ .port_id = 39, .port_name = "AUDIO IN" },
{ .port_id = 40, .port_name = "AIU" },
{ .port_id = 41, .port_name = "PASER" },
{ .port_id = 41, .port_name = "PARSER" },
{ .port_id = 42, .port_name = "AO CPU" },
{ .port_id = 43, .port_name = "SD_EMMC_C" },
{ .port_id = 44, .port_name = "SPICC" },
@@ -138,7 +138,7 @@ static struct ddr_port_desc ddr_port_desc_gxl[] __initdata = {
{ .port_id = 38, .port_name = "AUDIO OUT" },
{ .port_id = 39, .port_name = "AUDIO IN" },
{ .port_id = 40, .port_name = "AIU" },
{ .port_id = 41, .port_name = "PASER" },
{ .port_id = 41, .port_name = "PARSER" },
{ .port_id = 42, .port_name = "AO CPU" },
{ .port_id = 43, .port_name = "SD_EMMC_C" },
{ .port_id = 44, .port_name = "SPICC" },
@@ -173,7 +173,7 @@ static struct ddr_port_desc ddr_port_desc_gxm[] __initdata = {
{ .port_id = 38, .port_name = "AUDIO OUT" },
{ .port_id = 39, .port_name = "AUDIO IN" },
{ .port_id = 40, .port_name = "AIU" },
{ .port_id = 41, .port_name = "PASER" },
{ .port_id = 41, .port_name = "PARSER" },
{ .port_id = 42, .port_name = "AO CPU" },
{ .port_id = 43, .port_name = "SD_EMMC_C" },
{ .port_id = 44, .port_name = "SPICC" },
@@ -208,7 +208,7 @@ static struct ddr_port_desc ddr_port_desc_gxlx[] __initdata = {
{ .port_id = 38, .port_name = "AUDIO OUT" },
{ .port_id = 39, .port_name = "AUDIO IN" },
{ .port_id = 40, .port_name = "AIU" },
{ .port_id = 41, .port_name = "PASER" },
{ .port_id = 41, .port_name = "PARSER" },
{ .port_id = 42, .port_name = "AO CPU" },
{ .port_id = 43, .port_name = "SD_EMMC_C" },
{ .port_id = 44, .port_name = "SPICC" },
@@ -244,7 +244,7 @@ static struct ddr_port_desc ddr_port_desc_g12a[] __initdata = {
{ .port_id = 37, .port_name = "USB1" },
{ .port_id = 38, .port_name = "AUDIO" },
{ .port_id = 39, .port_name = "AIFIFO" },
{ .port_id = 41, .port_name = "PASER" },
{ .port_id = 41, .port_name = "PARSER" },
{ .port_id = 42, .port_name = "AO CPU" },
{ .port_id = 43, .port_name = "SD_EMMC_C" },
{ .port_id = 44, .port_name = "SPICC2" },
@@ -285,7 +285,7 @@ static struct ddr_port_desc ddr_port_desc_g12b[] __initdata = {
{ .port_id = 38, .port_name = "AUDIO" },
{ .port_id = 39, .port_name = "AIFIFO" },
{ .port_id = 40, .port_name = "SD_EMMC_A" },
{ .port_id = 41, .port_name = "PASER" },
{ .port_id = 41, .port_name = "PARSER" },
{ .port_id = 42, .port_name = "AO CPU" },
{ .port_id = 43, .port_name = "SD_EMMC_C" },
{ .port_id = 44, .port_name = "SPICC2" },
@@ -342,7 +342,7 @@ static struct ddr_port_desc ddr_port_desc_txl[] __initdata = {
{ .port_id = 38, .port_name = "AUDIO OUT" },
{ .port_id = 39, .port_name = "AUDIO IN" },
{ .port_id = 40, .port_name = "AIU" },
{ .port_id = 41, .port_name = "PASER" },
{ .port_id = 41, .port_name = "PARSER" },
{ .port_id = 42, .port_name = "AO CPU" },
{ .port_id = 43, .port_name = "SD_EMMC_C" },
{ .port_id = 44, .port_name = "SPICC" },
@@ -378,7 +378,7 @@ static struct ddr_port_desc ddr_port_desc_txlx[] __initdata = {
{ .port_id = 38, .port_name = "AUDIO OUT" },
{ .port_id = 39, .port_name = "AUDIO IN" },
{ .port_id = 40, .port_name = "AIU" },
{ .port_id = 41, .port_name = "PASER" },
{ .port_id = 41, .port_name = "PARSER" },
{ .port_id = 42, .port_name = "AO CPU" },
{ .port_id = 43, .port_name = "SD_EMMC_C" },
{ .port_id = 44, .port_name = "SPICC" },
@@ -412,7 +412,7 @@ static struct ddr_port_desc ddr_port_desc_txhd[] __initdata = {
{ .port_id = 38, .port_name = "AUDIO OUT" },
{ .port_id = 39, .port_name = "AUDIO IN" },
{ .port_id = 40, .port_name = "AIU" },
{ .port_id = 41, .port_name = "PASER" },
{ .port_id = 41, .port_name = "PARSER" },
{ .port_id = 42, .port_name = "AO CPU" },
{ .port_id = 43, .port_name = "SD_EMMC_C" },
{ .port_id = 44, .port_name = "SPICC" },
@@ -450,7 +450,7 @@ static struct ddr_port_desc ddr_port_desc_sm1[] __initdata = {
{ .port_id = 37, .port_name = "USB1" },
{ .port_id = 38, .port_name = "AUDIO" },
{ .port_id = 39, .port_name = "AIFIFO" },
{ .port_id = 41, .port_name = "PASER" },
{ .port_id = 41, .port_name = "PARSER" },
{ .port_id = 42, .port_name = "AO CPU" },
{ .port_id = 43, .port_name = "SD_EMMC_C" },
{ .port_id = 44, .port_name = "SPICC2" },
@@ -458,6 +458,47 @@ static struct ddr_port_desc ddr_port_desc_sm1[] __initdata = {
{ .port_id = 46, .port_name = "SANA" }
};
static struct ddr_port_desc ddr_port_desc_tm2[] __initdata = {
{ .port_id = 0, .port_name = "ARM" },
{ .port_id = 1, .port_name = "MALI" },
{ .port_id = 2, .port_name = "PCIE" },
{ .port_id = 3, .port_name = "HDCP" },
{ .port_id = 4, .port_name = "HEVC FRONT" },
{ .port_id = 5, .port_name = "TEST" },
{ .port_id = 6, .port_name = "USB3.0" },
{ .port_id = 7, .port_name = "DEVICE" },
{ .port_id = 8, .port_name = "HEVC BACK" },
{ .port_id = 9, .port_name = "DSPA" },
{ .port_id = 10, .port_name = "DSPB" },
{ .port_id = 11, .port_name = "NNA" },
{ .port_id = 12, .port_name = "PCIE1" },
{ .port_id = 16, .port_name = "VPU READ1" },
{ .port_id = 17, .port_name = "VPU READ2" },
{ .port_id = 18, .port_name = "VPU READ3" },
{ .port_id = 19, .port_name = "VPU WRITE1" },
{ .port_id = 20, .port_name = "VPU WRITE2" },
{ .port_id = 21, .port_name = "VDEC" },
{ .port_id = 22, .port_name = "HCODEC" },
{ .port_id = 23, .port_name = "GE2D" },
/* start of each device */
{ .port_id = 32, .port_name = "SPICC1" },
{ .port_id = 33, .port_name = "USB0" },
{ .port_id = 34, .port_name = "DMA" },
{ .port_id = 35, .port_name = "ARB0" },
{ .port_id = 36, .port_name = "SD_EMMC_B" },
{ .port_id = 37, .port_name = "USB1" },
{ .port_id = 38, .port_name = "AUDIO" },
{ .port_id = 39, .port_name = "AIFIFO" },
{ .port_id = 40, .port_name = "PARSER1" },
{ .port_id = 41, .port_name = "PARSER" },
{ .port_id = 42, .port_name = "AO CPU" },
{ .port_id = 43, .port_name = "SD_EMMC_C" },
{ .port_id = 44, .port_name = "SPICC2" },
{ .port_id = 45, .port_name = "ETHERNET" },
{ .port_id = 46, .port_name = "SANA" },
{ .port_id = 47, .port_name = "DEMODE" }
};
static struct ddr_port_desc *chip_ddr_port;
static unsigned char chip_ddr_port_num;
@@ -532,6 +573,11 @@ int __init ddr_find_port_desc(int cpu_type, struct ddr_port_desc **desc)
desc_size = ARRAY_SIZE(ddr_port_desc_sm1);
break;
case MESON_CPU_MAJOR_ID_TM2:
*desc = ddr_port_desc_tm2;
desc_size = ARRAY_SIZE(ddr_port_desc_tm2);
break;
default:
return -EINVAL;
}

View File

@@ -115,10 +115,12 @@ static void check_violation(struct dmc_monitor *mon, void *data)
break;
case MESON_CPU_MAJOR_ID_SM1:
case MESON_CPU_MAJOR_ID_TL1:
/* bit fix for SM1/TL1 */
case MESON_CPU_MAJOR_ID_TM2:
/* bit fix for SM1/TL1/TM2 */
off1 = 22;
off2 = 11;
break;
default: /* G12A */
off1 = 21;
off2 = 10;