예제 #1
0
/* set 1 : IREQ Masked( interrupt disable), set 0 : IREQ UnMasked( interrput enable)  */
void VIOC_DISP_SetIreqMask(VIOC_DISP * pDISP, unsigned int mask, unsigned int set)
{
	if( set == 0 ) /* Interrupt Enable*/
	{
		//pDISP->uLIRQMASK.nREG &= ~mask;
		BITSCLR(pDISP->uLIRQMASK.nREG, mask,mask);
	}
	else/* Interrupt Diable*/
	{
		//pDISP->uLIRQMASK.nREG |= mask;
		BITCSET(pDISP->uLIRQMASK.nREG, mask,mask);
	}
}
예제 #2
0
static void SD_HW_InitializePort(void)
{
#if defined(TCC892X_EMMC_BOOT)
#else
	PGPIO pGPIO = (PGPIO)(HwGPIO_BASE);
#endif

#if defined(FEATURE_TCC8803F_2CS_V6_JM5_SLOT)
	//========================================================
	// SD/MMC: JM5, SD Port 1 Power ON (GPIO_F13)
	//========================================================
	BITCLR(pGPIO->GPFFN1, 0x00F00000);
	BITSET(pGPIO->GPFEN, Hw13);
	BITSET(pGPIO->GPFDAT, Hw13);

	//========================================================
	// SD/MMC: JM5(GPIO_F18~23=SD1, GPIO_F13=CD), SD Port 1
	//========================================================
	BITCSET(pGPIO->GPFFN2, 0xFFFFFF00, 0x22222200);	// SD1_D0 ~ SD1_D3, SD1_CLK, SD1_CMD
	BITCLR(pGPIO->GPAEN, Hw15);
	BITCLR(pGPIO->GPFEN, Hw12);
	BITCSET(pGPIO->GPFFN1, 0x000F0000, 0x00000000);	// GPIO_F12 --> SD1_WP
	BITCSET(pGPIO->GPAFN1, 0xF0000000, 0x00000000);	// GPIO_A15 --> SD1_CD
	BITCSET(pGPIO->GPFCD1, 0x0000FFF0, 0x0000D550);	// SD1_CLK(GPIO_F23) Strength: 3, Others:1
#endif

#if defined(FEATURE_TCC8803F_2CS_V6_JM2_SLOT)
	//========================================================
	// SD/MMC: JM2, SD Port 3 Power ON (GPIO_F10)
	//========================================================
	BITCLR(pGPIO->GPFFN1, 0x00000F00);
	BITSET(pGPIO->GPFEN, Hw10);
	BITSET(pGPIO->GPFDAT, Hw10);

	//========================================================
	// SD/MMC: JM2(GPIO_F0~9=SD3, GPIO_F10=CD), SD Port 3
	//========================================================
	BITCSET(pGPIO->GPFFN0, 0xFFFFFFFF, 0x22222222);	// SD3_D0 ~ SD3_D7
	BITCSET(pGPIO->GPFFN1, 0x000000FF, 0x00000022);	// SD3_CLK, SD3_CMD
	BITCLR(pGPIO->GPAEN, Hw13);
	BITCLR(pGPIO->GPFEN, Hw11);
	BITCSET(pGPIO->GPAFN1, 0x00F00000, 0x00000000);	// GPIO_A13 --> SD3_CD
	BITCSET(pGPIO->GPFFN1, 0x0000F000, 0x00000000);	// GPIO_F11 --> SD3_WP
	BITCSET(pGPIO->GPFCD0, 0x000FFFFF, 0x000D5555);	// SD3_CLK(GPIO_F9) Strength: 3, Others:1
#endif

#if defined(FEATURE_TCC93_88_8910_DEMO_JM5_SLOT)
	//========================================================
	// SD/MMC: JM5(GPIO_F18~23=SD1, GPIO_F13=CD), SD Port 1
	//========================================================
	BITCSET(pGPIO->GPFFN2, 0xFFFFFF00, 0x22222200);	// SD1_D0 ~ SD1_D3, SD1_CLK, SD1_CMD
	BITCLR(pGPIO->GPFEN, Hw13|Hw12);
	BITCSET(pGPIO->GPFFN1, 0x00FF0000, 0x00000000);	// GPIO_F13 --> SD1_CD, GPIO_F12 --> SD1_WP
	BITCSET(pGPIO->GPFCD1, 0x0000FFF0, 0x0000D550);	// SD1_CLK(GPIO_F23) Strength: 3, Others:1
#endif //defined(FEATURE_TCC93_88_8910_DEMO_JM5_SLOT)

#if defined(FEATURE_TCC93_88_8910_DEMO_JM2_SLOT)
#if defined(TCC88XX_EMMC_BOOT)
	//=====================================================
	// SD/MMC: JM2(GPIO_F0~9=SD3, GPIO_F10=CD), SD Port 3
	//=====================================================
	BITCSET(pGPIO->GPFFN0, 0xFFFFFFFF, 0x22222222);	// SD3_D0 ~ SD3_D3
	BITCSET(pGPIO->GPFFN1, 0x0000FFFF, 0x00000022);	// SD3_CLK, SD3_CMD
	#if (HW_REV == 0x0614 || HW_REV == 0x0615 || HW_REV == 0x0621 || HW_REV == 0x0622 || HW_REV == 0x0623 || HW_REV == 0x0624)
	BITCLR(pGPIO->GPAEN, Hw13);
	BITCSET(pGPIO->GPAFN1, 0x00F00000, 0x00000000);	// SD3_CD(GPIO_A13)
	#else
	BITCLR(pGPIO->GPFEN, Hw10);
	BITCSET(pGPIO->GPFFN1, 0x00000F00, 0x00000000);	// SD3_CD(GPIO_F10)
	#endif
	BITSCLR(pGPIO->GPFEN, Hw10|Hw11, Hw10|Hw11);
	BITCSET(pGPIO->GPFCD0, 0x000FFFFF, 0x000D5555);	// SD3_CLK(GPIOF9) Strength: 3, Others:1

#elif defined(TCC892X_EMMC_BOOT)	//for TCC892x
#if defined(BOARD_TCC892X_STB_DEMO)
	#if defined(TARGET_TCC8925_STB_DONGLE)
		//=====================================================
		// SD/MMC: JM2(GPIO_D15~20=SD0), SD Port 4
		//=====================================================
		gpio_config(TCC_GPD(18) , GPIO_FN2);	// SD0_D0
		gpio_config(TCC_GPD(17) , GPIO_FN2);	// SD0_D1
		gpio_config(TCC_GPD(16) , GPIO_FN2);	// SD0_D2
		gpio_config(TCC_GPD(15) , GPIO_FN2);	// SD0_D3

		gpio_config(TCC_GPD(20) , GPIO_FN2);	// SD0_CLK
		gpio_config(TCC_GPD(19) , GPIO_FN2);	// SD0_CMD
	#else
		//=====================================================
		// SD/MMC: JM2(GPIO_D15~20=SD0), SD Port 4
		//=====================================================
		gpio_config(TCC_GPF(19) , GPIO_FN2);	// SD0_D0
		gpio_config(TCC_GPF(20) , GPIO_FN2);	// SD0_D1
		gpio_config(TCC_GPF(21) , GPIO_FN2);	// SD0_D2
		gpio_config(TCC_GPF(22) , GPIO_FN2);	// SD0_D3

		gpio_config(TCC_GPF(17) , GPIO_FN2);	// SD0_CLK
		gpio_config(TCC_GPF(18) , GPIO_FN2);	// SD0_CMD
	#endif
#else
#if (HW_REV >= 0x1005)	//||(HW_REV == 0x1006)||(HW_REV == 0x1007)||(HW_REV == 0x1008)
	#if (HW_REV == 0x1008)
	//========================================================
	// SD_CARD0 Power ON (GPIO_C20)
	//========================================================
	gpio_config(TCC_GPC(20) , GPIO_FN0);
	gpio_set(TCC_GPC(20) , 1);
	#endif

	//=====================================================
	// SD/MMC: JM2(GPIO_D11~20=SD0, GPIO_B14=CD), SD Port 4
	//=====================================================
	gpio_config(TCC_GPD(18) , GPIO_FN2);	// SD0_D0
	gpio_config(TCC_GPD(17) , GPIO_FN2);	// SD0_D1
	gpio_config(TCC_GPD(16) , GPIO_FN2);	// SD0_D2
	gpio_config(TCC_GPD(15) , GPIO_FN2);	// SD0_D3
	gpio_config(TCC_GPD(14) , GPIO_FN2);	// SD0_D4
	gpio_config(TCC_GPD(13) , GPIO_FN2);	// SD0_D5
	gpio_config(TCC_GPD(12) , GPIO_FN2);	// SD0_D6
	gpio_config(TCC_GPD(11) , GPIO_FN2);	// SD0_D7

	gpio_config(TCC_GPD(20) , GPIO_FN2);	// SD0_CLK
	gpio_config(TCC_GPD(19) , GPIO_FN2);	// SD0_CMD
#else	//(HW_REV >= 0x1000)&&(HW_REV <= 0x1004)
	#if defined(TARGET_M805_892X_EVM)
		//=====================================================
		// SD/MMC: JM2(GPIO_D15~20=SD0), SD Port 4
		//=====================================================
		gpio_config(TCC_GPD(18) , GPIO_FN2);	// SD0_D0
		gpio_config(TCC_GPD(17) , GPIO_FN2);	// SD0_D1
		gpio_config(TCC_GPD(16) , GPIO_FN2);	// SD0_D2
		gpio_config(TCC_GPD(15) , GPIO_FN2);	// SD0_D3

		gpio_config(TCC_GPD(20) , GPIO_FN2);	// SD0_CLK
		gpio_config(TCC_GPD(19) , GPIO_FN2);	// SD0_CMD
	#else
		//=====================================================
		// SD/MMC: JM2(GPIO_F17~26=SD1, GPIO_D12=CD), SD Port 5
		//=====================================================
		gpio_config(TCC_GPF(19) , GPIO_FN2);	// SD1_D0
		gpio_config(TCC_GPF(20) , GPIO_FN2);	// SD1_D1
		gpio_config(TCC_GPF(21) , GPIO_FN2);	// SD1_D2
		gpio_config(TCC_GPF(22) , GPIO_FN2);	// SD1_D3
		gpio_config(TCC_GPF(23) , GPIO_FN2);	// SD1_D4
		gpio_config(TCC_GPF(24) , GPIO_FN2);	// SD1_D5
		gpio_config(TCC_GPF(25) , GPIO_FN2);	// SD1_D6
		gpio_config(TCC_GPF(26) , GPIO_FN2);	// SD1_D7

		gpio_config(TCC_GPF(17) , GPIO_FN2);	// SD1_CLK
		gpio_config(TCC_GPF(18) , GPIO_FN2);	// SD1_CMD
	#endif
#endif
#endif

#endif

#endif	//#if defined(FEATURE_TCC93_88_8910_DEMO_JM2_SLOT)
}