#include "Det.h"\r
#include "isr.h"\r
/* ----------------------------[private define]------------------------------*/\r
-\r
-#if defined(CFG_MPC5516) || defined(CFG_MPC5517) || defined(CFG_MPC5668) || defined(CFG_MPC5567)\r
-#define SPI_CONTROLLER_TOTAL_CNT 4\r
-#elif defined(CFG_MPC5606B)\r
-#define SPI_CONTROLLER_TOTAL_CNT 6\r
-#elif defined(CFG_MPC5604B)\r
-#define SPI_CONTROLLER_TOTAL_CNT 3\r
-#elif defined(CFG_MPC560X)\r
-#define SPI_CONTROLLER_TOTAL_CNT 2\r
-#endif\r
+#define DSPI_CTRL_A 0\r
+#define DSPI_CTRL_B 1\r
+#define DSPI_CTRL_C 2\r
+#define DSPI_CTRL_D 3\r
+#define DSPI_CTRL_E 4\r
+#define DSPI_CTRL_F 5\r
\r
#if defined(CFG_MPC560X)\r
#define DSPI_A_ISR_EOQF DSPI_0_ISR_EOQF\r
.TxDmaChannel = DMA_DSPI_D_COMMAND_CHANNEL,\r
}\r
#endif\r
+#if (SPI_USE_HW_UNIT_4 == STD_ON )\r
+ {\r
+ .RxDmaChannel = DMA_DSPI_E_RESULT_CHANNEL,\r
+ .TxDmaChannel = DMA_DSPI_E_COMMAND_CHANNEL,\r
+ }\r
+#endif\r
+#if (SPI_USE_HW_UNIT_5 == STD_ON )\r
+ {\r
+ .RxDmaChannel = DMA_DSPI_F_RESULT_CHANNEL,\r
+ .TxDmaChannel = DMA_DSPI_F_COMMAND_CHANNEL,\r
+ }\r
+#endif\r
};\r
#endif\r
\r
\r
static void Spi_Isr(Spi_UnitType *uPtr );\r
\r
+#if (SPI_USE_HW_UNIT_0 == STD_ON )\r
static void Spi_Isr_A(void) {\r
Spi_Isr(GET_SPI_UNIT_PTR(DSPI_CTRL_A));\r
}\r
+#endif\r
+#if (SPI_USE_HW_UNIT_1 == STD_ON )\r
static void Spi_Isr_B(void) {\r
Spi_Isr(GET_SPI_UNIT_PTR(DSPI_CTRL_B));\r
}\r
+#endif\r
+#if (SPI_USE_HW_UNIT_2 == STD_ON )\r
static void Spi_Isr_C(void) {\r
Spi_Isr(GET_SPI_UNIT_PTR(DSPI_CTRL_C));\r
}\r
+#endif\r
+#if (SPI_USE_HW_UNIT_3 == STD_ON )\r
static void Spi_Isr_D(void) {\r
Spi_Isr(GET_SPI_UNIT_PTR(DSPI_CTRL_D));\r
}\r
+#endif\r
+#if (SPI_USE_HW_UNIT_4 == STD_ON )\r
static void Spi_Isr_E(void) {\r
Spi_Isr(GET_SPI_UNIT_PTR(DSPI_CTRL_E));\r
}\r
+#endif\r
+#if (SPI_USE_HW_UNIT_5 == STD_ON )\r
static void Spi_Isr_F(void) {\r
Spi_Isr(GET_SPI_UNIT_PTR(DSPI_CTRL_F));\r
}\r
+#endif\r
/* ----------------------------[public functions]----------------------------*/\r
\r
uint32 Spi_GetJobCnt(void);\r
*/\r
\r
switch(unit) {\r
+#if (SPI_USE_HW_UNIT_0 == STD_ON )\r
case 0:\r
perClock = PERIPHERAL_CLOCK_DSPI_A;\r
break;\r
+#endif\r
+#if (SPI_USE_HW_UNIT_1 == STD_ON )\r
case 1:\r
perClock = PERIPHERAL_CLOCK_DSPI_B;\r
break;\r
-#if (SPI_CONTROLLER_TOTAL_CNT>2)\r
+#endif\r
+#if (SPI_USE_HW_UNIT_2 == STD_ON )\r
case 2:\r
perClock = PERIPHERAL_CLOCK_DSPI_C;\r
break;\r
#endif\r
-#if (SPI_CONTROLLER_TOTAL_CNT>3)\r
+#if (SPI_USE_HW_UNIT_3 == STD_ON )\r
case 3:\r
perClock = PERIPHERAL_CLOCK_DSPI_D;\r
break;\r
#endif\r
-#if (SPI_CONTROLLER_TOTAL_CNT>4)\r
+#if (SPI_USE_HW_UNIT_4 == STD_ON )\r
case 4:\r
perClock = PERIPHERAL_CLOCK_DSPI_E;\r
break;\r
#endif\r
-#if (SPI_CONTROLLER_TOTAL_CNT>5)\r
+#if (SPI_USE_HW_UNIT_5 == STD_ON )\r
case 5:\r
perClock = PERIPHERAL_CLOCK_DSPI_F;\r
break;\r
\r
// Install EOFQ int..\r
switch (uPtr->hwUnit) {\r
+#if (SPI_USE_HW_UNIT_0 == STD_ON )\r
case 0:\r
ISR_INSTALL_ISR2("SPI_A",Spi_Isr_A, DSPI_A_ISR_EOQF, 15, 0);\r
break;\r
+#endif\r
+#if (SPI_USE_HW_UNIT_1 == STD_ON )\r
case 1:\r
ISR_INSTALL_ISR2("SPI_B",Spi_Isr_B, DSPI_B_ISR_EOQF, 15, 0);\r
break;\r
-#if (SPI_CONTROLLER_TOTAL_CNT > 2)\r
+#endif\r
+#if (SPI_USE_HW_UNIT_2 == STD_ON )\r
case 2:\r
ISR_INSTALL_ISR2("SPI_C",Spi_Isr_C, DSPI_C_ISR_EOQF, 15, 0);\r
break;\r
#endif\r
-#if (SPI_CONTROLLER_TOTAL_CNT > 3)\r
+#if (SPI_USE_HW_UNIT_3 == STD_ON )\r
case 3:\r
ISR_INSTALL_ISR2("SPI_D",Spi_Isr_D, DSPI_D_ISR_EOQF, 15, 0);\r
break;\r
#endif\r
-#if (SPI_CONTROLLER_TOTAL_CNT > 4)\r
+#if (SPI_USE_HW_UNIT_4 == STD_ON )\r
case 4:\r
ISR_INSTALL_ISR2("SPI_E",Spi_Isr_E, DSPI_E_ISR_EOQF, 15, 0);\r
break;\r
#endif\r
-#if (SPI_CONTROLLER_TOTAL_CNT > 5)\r
+#if (SPI_USE_HW_UNIT_5 == STD_ON )\r
case 5:\r
ISR_INSTALL_ISR2("SPI_F",Spi_Isr_F, DSPI_F_ISR_EOQF, 15, 0);\r
break;\r