|
@@ -1,87 +1,84 @@
|
|
|
/*
|
|
|
- * mem_map.h
|
|
|
- * Common header file for blackfin family of processors.
|
|
|
+ * Common Blackfin memory map
|
|
|
*
|
|
|
+ * Copyright 2004-2009 Analog Devices Inc.
|
|
|
+ * Licensed under the GPL-2 or later.
|
|
|
*/
|
|
|
|
|
|
-#ifndef _MEM_MAP_H_
|
|
|
-#define _MEM_MAP_H_
|
|
|
+#ifndef __BFIN_MEM_MAP_H__
|
|
|
+#define __BFIN_MEM_MAP_H__
|
|
|
|
|
|
#include <mach/mem_map.h>
|
|
|
|
|
|
-#ifndef __ASSEMBLY__
|
|
|
+/* Every Blackfin so far has MMRs like this */
|
|
|
+#ifndef COREMMR_BASE
|
|
|
+# define COREMMR_BASE 0xFFE00000
|
|
|
+#endif
|
|
|
+#ifndef SYSMMR_BASE
|
|
|
+# define SYSMMR_BASE 0xFFC00000
|
|
|
+#endif
|
|
|
|
|
|
-#ifdef CONFIG_SMP
|
|
|
-static inline ulong get_l1_scratch_start_cpu(int cpu)
|
|
|
-{
|
|
|
- return (cpu) ? COREB_L1_SCRATCH_START : COREA_L1_SCRATCH_START;
|
|
|
-}
|
|
|
-static inline ulong get_l1_code_start_cpu(int cpu)
|
|
|
-{
|
|
|
- return (cpu) ? COREB_L1_CODE_START : COREA_L1_CODE_START;
|
|
|
-}
|
|
|
-static inline ulong get_l1_data_a_start_cpu(int cpu)
|
|
|
-{
|
|
|
- return (cpu) ? COREB_L1_DATA_A_START : COREA_L1_DATA_A_START;
|
|
|
-}
|
|
|
-static inline ulong get_l1_data_b_start_cpu(int cpu)
|
|
|
-{
|
|
|
- return (cpu) ? COREB_L1_DATA_B_START : COREA_L1_DATA_B_START;
|
|
|
-}
|
|
|
+/* Every Blackfin so far has on-chip Scratch Pad SRAM like this */
|
|
|
+#ifndef L1_SCRATCH_START
|
|
|
+# define L1_SCRATCH_START 0xFFB00000
|
|
|
+# define L1_SCRATCH_LENGTH 0x1000
|
|
|
+#endif
|
|
|
|
|
|
-static inline ulong get_l1_scratch_start(void)
|
|
|
-{
|
|
|
- return get_l1_scratch_start_cpu(blackfin_core_id());
|
|
|
-}
|
|
|
-static inline ulong get_l1_code_start(void)
|
|
|
-{
|
|
|
- return get_l1_code_start_cpu(blackfin_core_id());
|
|
|
-}
|
|
|
-static inline ulong get_l1_data_a_start(void)
|
|
|
-{
|
|
|
- return get_l1_data_a_start_cpu(blackfin_core_id());
|
|
|
-}
|
|
|
-static inline ulong get_l1_data_b_start(void)
|
|
|
-{
|
|
|
- return get_l1_data_b_start_cpu(blackfin_core_id());
|
|
|
-}
|
|
|
+/* Most parts lack on-chip L2 SRAM */
|
|
|
+#ifndef L2_START
|
|
|
+# define L2_START 0
|
|
|
+# define L2_LENGTH 0
|
|
|
+#endif
|
|
|
+
|
|
|
+/* Most parts lack on-chip L1 ROM */
|
|
|
+#ifndef L1_ROM_START
|
|
|
+# define L1_ROM_START 0
|
|
|
+# define L1_ROM_LENGTH 0
|
|
|
+#endif
|
|
|
+
|
|
|
+/* Allow wonky SMP ports to override this */
|
|
|
+#ifndef GET_PDA_SAFE
|
|
|
+# define GET_PDA_SAFE(preg) \
|
|
|
+ preg.l = _cpu_pda; \
|
|
|
+ preg.h = _cpu_pda;
|
|
|
+# define GET_PDA(preg, dreg) GET_PDA_SAFE(preg)
|
|
|
|
|
|
-#else /* !CONFIG_SMP */
|
|
|
+# ifndef __ASSEMBLY__
|
|
|
|
|
|
-static inline ulong get_l1_scratch_start_cpu(int cpu)
|
|
|
+static inline unsigned long get_l1_scratch_start_cpu(int cpu)
|
|
|
{
|
|
|
return L1_SCRATCH_START;
|
|
|
}
|
|
|
-static inline ulong get_l1_code_start_cpu(int cpu)
|
|
|
+static inline unsigned long get_l1_code_start_cpu(int cpu)
|
|
|
{
|
|
|
return L1_CODE_START;
|
|
|
}
|
|
|
-static inline ulong get_l1_data_a_start_cpu(int cpu)
|
|
|
+static inline unsigned long get_l1_data_a_start_cpu(int cpu)
|
|
|
{
|
|
|
return L1_DATA_A_START;
|
|
|
}
|
|
|
-static inline ulong get_l1_data_b_start_cpu(int cpu)
|
|
|
+static inline unsigned long get_l1_data_b_start_cpu(int cpu)
|
|
|
{
|
|
|
return L1_DATA_B_START;
|
|
|
}
|
|
|
-static inline ulong get_l1_scratch_start(void)
|
|
|
+static inline unsigned long get_l1_scratch_start(void)
|
|
|
{
|
|
|
return get_l1_scratch_start_cpu(0);
|
|
|
}
|
|
|
-static inline ulong get_l1_code_start(void)
|
|
|
+static inline unsigned long get_l1_code_start(void)
|
|
|
{
|
|
|
return get_l1_code_start_cpu(0);
|
|
|
}
|
|
|
-static inline ulong get_l1_data_a_start(void)
|
|
|
+static inline unsigned long get_l1_data_a_start(void)
|
|
|
{
|
|
|
return get_l1_data_a_start_cpu(0);
|
|
|
}
|
|
|
-static inline ulong get_l1_data_b_start(void)
|
|
|
+static inline unsigned long get_l1_data_b_start(void)
|
|
|
{
|
|
|
return get_l1_data_b_start_cpu(0);
|
|
|
}
|
|
|
|
|
|
-#endif /* CONFIG_SMP */
|
|
|
-#endif /* __ASSEMBLY__ */
|
|
|
+# endif /* __ASSEMBLY__ */
|
|
|
+#endif /* !GET_PDA_SAFE */
|
|
|
|
|
|
-#endif /* _MEM_MAP_H_ */
|
|
|
+#endif
|