This patch adds Keystone2 K2E SOC specific code to support
MSMC cache coherency. Also create header file for msmc to hold
its API.
Acked-by: Murali Karicheri <m-karicheri2@ti.com>
Signed-off-by: Hao Zhang <hzhang@ti.com>
Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com>
#include <common.h>
#include <ns16550.h>
#include <asm/io.h>
#include <common.h>
#include <ns16550.h>
#include <asm/io.h>
+#include <asm/arch/msmc.h>
#include <asm/arch/clock.h>
#include <asm/arch/hardware.h>
#include <asm/arch/clock.h>
#include <asm/arch/hardware.h>
chip_configuration_unlock();
icache_enable();
chip_configuration_unlock();
icache_enable();
-#ifdef CONFIG_SOC_K2HK
- share_all_segments(8);
- share_all_segments(9);
- share_all_segments(10); /* QM PDSP */
- share_all_segments(11); /* PCIE */
+ msmc_share_all_segments(8); /* TETRIS */
+ msmc_share_all_segments(9); /* NETCP */
+ msmc_share_all_segments(10); /* QM PDSP */
+ msmc_share_all_segments(11); /* PCIE 0 */
+#ifdef CONFIG_SOC_K2E
+ msmc_share_all_segments(13); /* PCIE 1 */
-#include <asm/arch/hardware.h>
+#include <asm/arch/msmc.h>
-void share_all_segments(int priv_id)
+void msmc_share_all_segments(int priv_id)
{
struct msms_regs *msmc = (struct msms_regs *)KS2_MSMC_CTRL_BASE;
int j;
{
struct msms_regs *msmc = (struct msms_regs *)KS2_MSMC_CTRL_BASE;
int j;
-void share_all_segments(int priv_id);
int cpu_to_bus(u32 *ptr, u32 length);
void sdelay(unsigned long);
int cpu_to_bus(u32 *ptr, u32 length);
void sdelay(unsigned long);
--- /dev/null
+/*
+ * MSMC controller
+ *
+ * (C) Copyright 2014
+ * Texas Instruments Incorporated, <www.ti.com>
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#ifndef _MSMC_H_
+#define _MSMC_H_
+
+#include <asm/arch/hardware.h>
+
+void msmc_share_all_segments(int priv_id);
+
+#endif