|
@@ -549,3 +549,131 @@
|
|
|
PM_POP(4, ICPLB_ADDR14)
|
|
|
PM_POP(3, ICPLB_ADDR13)
|
|
|
PM_POP(2, ICPLB_ADDR12)
|
|
|
+ PM_POP(1, ICPLB_ADDR11)
|
|
|
+ PM_POP(0, ICPLB_ADDR10)
|
|
|
+ PM_POP_SYNC(13)
|
|
|
+ PM_POP(13, ICPLB_ADDR9)
|
|
|
+ PM_POP(12, ICPLB_ADDR8)
|
|
|
+ PM_POP(11, ICPLB_ADDR7)
|
|
|
+ PM_POP(10, ICPLB_ADDR6)
|
|
|
+ PM_POP(9, ICPLB_ADDR5)
|
|
|
+ PM_POP(8, ICPLB_ADDR4)
|
|
|
+ PM_POP(7, ICPLB_ADDR3)
|
|
|
+ PM_POP(6, ICPLB_ADDR2)
|
|
|
+ PM_POP(5, ICPLB_ADDR1)
|
|
|
+ PM_POP(4, ICPLB_ADDR0)
|
|
|
+
|
|
|
+ /* DCPLB Data */
|
|
|
+ FP = I2;
|
|
|
+ PM_POP(3, DCPLB_DATA15)
|
|
|
+ PM_POP(2, DCPLB_DATA14)
|
|
|
+ PM_POP(1, DCPLB_DATA13)
|
|
|
+ PM_POP(0, DCPLB_DATA12)
|
|
|
+ PM_POP_SYNC(13)
|
|
|
+ PM_POP(13, DCPLB_DATA11)
|
|
|
+ PM_POP(12, DCPLB_DATA10)
|
|
|
+ PM_POP(11, DCPLB_DATA9)
|
|
|
+ PM_POP(10, DCPLB_DATA8)
|
|
|
+ PM_POP(9, DCPLB_DATA7)
|
|
|
+ PM_POP(8, DCPLB_DATA6)
|
|
|
+ PM_POP(7, DCPLB_DATA5)
|
|
|
+ PM_POP(6, DCPLB_DATA4)
|
|
|
+ PM_POP(5, DCPLB_DATA3)
|
|
|
+ PM_POP(4, DCPLB_DATA2)
|
|
|
+ PM_POP(3, DCPLB_DATA1)
|
|
|
+ PM_POP(2, DCPLB_DATA0)
|
|
|
+
|
|
|
+ /* DCPLB Addr */
|
|
|
+ FP = I1;
|
|
|
+ PM_POP(1, DCPLB_ADDR15)
|
|
|
+ PM_POP(0, DCPLB_ADDR14)
|
|
|
+ PM_POP_SYNC(13)
|
|
|
+ PM_POP(13, DCPLB_ADDR13)
|
|
|
+ PM_POP(12, DCPLB_ADDR12)
|
|
|
+ PM_POP(11, DCPLB_ADDR11)
|
|
|
+ PM_POP(10, DCPLB_ADDR10)
|
|
|
+ PM_POP(9, DCPLB_ADDR9)
|
|
|
+ PM_POP(8, DCPLB_ADDR8)
|
|
|
+ PM_POP(7, DCPLB_ADDR7)
|
|
|
+ PM_POP(6, DCPLB_ADDR6)
|
|
|
+ PM_POP(5, DCPLB_ADDR5)
|
|
|
+ PM_POP(4, DCPLB_ADDR4)
|
|
|
+ PM_POP(3, DCPLB_ADDR3)
|
|
|
+ PM_POP(2, DCPLB_ADDR2)
|
|
|
+ PM_POP(1, DCPLB_ADDR1)
|
|
|
+ PM_POP(0, DCPLB_ADDR0)
|
|
|
+
|
|
|
+
|
|
|
+ /* Misc non-contiguous registers */
|
|
|
+
|
|
|
+ /* icache & dcache will enable later
|
|
|
+ drop IMEM_CONTROL, DMEM_CONTROL pop
|
|
|
+ */
|
|
|
+ FP = I0;
|
|
|
+ PM_POP_SYNC(2)
|
|
|
+ PM_CORE_POP(2, TBUFCTL)
|
|
|
+ PM_CORE_POP(1, IMEM_CONTROL)
|
|
|
+ PM_CORE_POP(0, DMEM_CONTROL)
|
|
|
+
|
|
|
+ /* Core Timer */
|
|
|
+ FP = B3;
|
|
|
+ R0 = 0x1;
|
|
|
+ [FP - 0xC] = R0;
|
|
|
+
|
|
|
+ PM_POP_SYNC(13)
|
|
|
+ FP = B3;
|
|
|
+ PM_POP(13, TCOUNT)
|
|
|
+ PM_POP(12, TSCALE)
|
|
|
+ PM_POP(11, TPERIOD)
|
|
|
+ PM_POP(10, TCNTL)
|
|
|
+
|
|
|
+ /* CEC */
|
|
|
+ FP = B2;
|
|
|
+ PM_POP(9, IPRIO)
|
|
|
+ PM_POP(8, ILAT)
|
|
|
+ FP += -4; /* IPEND */
|
|
|
+ PM_POP(7, IMASK)
|
|
|
+
|
|
|
+ /* Event Vectors */
|
|
|
+ FP = B1;
|
|
|
+ PM_POP(6, EVT15)
|
|
|
+ PM_POP(5, EVT14)
|
|
|
+ PM_POP(4, EVT13)
|
|
|
+ PM_POP(3, EVT12)
|
|
|
+ PM_POP(2, EVT11)
|
|
|
+ PM_POP(1, EVT10)
|
|
|
+ PM_POP(0, EVT9)
|
|
|
+ PM_POP_SYNC(5)
|
|
|
+ PM_POP(5, EVT8)
|
|
|
+ PM_POP(4, EVT7)
|
|
|
+ PM_POP(3, EVT6)
|
|
|
+ PM_POP(2, EVT5)
|
|
|
+ FP += -4; /* EVT4 */
|
|
|
+ PM_POP(1, EVT3)
|
|
|
+ PM_POP(0, EVT2)
|
|
|
+ .endm
|
|
|
+#endif
|
|
|
+
|
|
|
+#include <mach/pll.h>
|
|
|
+
|
|
|
+/* PLL_CTL Masks */
|
|
|
+#define DF 0x0001 /* 0: PLL = CLKIN, 1: PLL = CLKIN/2 */
|
|
|
+#define PLL_OFF 0x0002 /* PLL Not Powered */
|
|
|
+#define STOPCK 0x0008 /* Core Clock Off */
|
|
|
+#define PDWN 0x0020 /* Enter Deep Sleep Mode */
|
|
|
+#ifdef __ADSPBF539__
|
|
|
+# define IN_DELAY 0x0014 /* Add 200ps Delay To EBIU Input Latches */
|
|
|
+# define OUT_DELAY 0x00C0 /* Add 200ps Delay To EBIU Output Signals */
|
|
|
+#else
|
|
|
+# define IN_DELAY 0x0040 /* Add 200ps Delay To EBIU Input Latches */
|
|
|
+# define OUT_DELAY 0x0080 /* Add 200ps Delay To EBIU Output Signals */
|
|
|
+#endif
|
|
|
+#define BYPASS 0x0100 /* Bypass the PLL */
|
|
|
+#define MSEL 0x7E00 /* Multiplier Select For CCLK/VCO Factors */
|
|
|
+#define SPORT_HYST 0x8000 /* Enable Additional Hysteresis on SPORT Input Pins */
|
|
|
+#define SET_MSEL(x) (((x)&0x3F) << 0x9) /* Set MSEL = 0-63 --> VCO = CLKIN*MSEL */
|
|
|
+
|
|
|
+/* PLL_DIV Masks */
|
|
|
+#define SSEL 0x000F /* System Select */
|
|
|
+#define CSEL 0x0030 /* Core Select */
|
|
|
+#define CSEL_DIV1 0x0000 /* CCLK = VCO / 1 */
|