コード例 #1
0
ファイル: hw_icoll_init.c プロジェクト: Droolyone/Capture
///////////////////////////////////////////////////////////////////////////////
//! See hw_icoll.h for details.
///////////////////////////////////////////////////////////////////////////////
void hw_icoll_SetFiqMode(ICOLL_FIQ_enums_t eIrqVectorNumber, bool bEnable)
{
	if(bEnable)
            HW_ICOLL_INTERRUPTn_SET(eIrqVectorNumber,
		BM_ICOLL_INTERRUPTn_ENFIQ);
        else
            HW_ICOLL_INTERRUPTn_CLR(eIrqVectorNumber,
		 BM_ICOLL_INTERRUPTn_ENFIQ);
}
コード例 #2
0
ファイル: icoll.c プロジェクト: digidotcom/yocto-linux
void mxs_set_irq_fiq(unsigned int irq, unsigned int type)
{
	if (type == 0)
		__raw_writel(BM_ICOLL_INTERRUPTn_ENFIQ,
			g_icoll_base +
			HW_ICOLL_INTERRUPTn_CLR(irq));
	else
		__raw_writel(BM_ICOLL_INTERRUPTn_ENFIQ,
			g_icoll_base +
			HW_ICOLL_INTERRUPTn_SET(irq));
}
コード例 #3
0
static void beep_timer_off(void)
{
        __raw_writel(1 << 2,int_base +HW_ICOLL_INTERRUPTn_CLR(IRQ_TIMER3));
        __raw_writel(BV_TIMROT_TIMCTRLn_SELECT__NEVER_TICK|
                     BM_TIMROT_TIMCTRLn_IRQ_EN ,
                     base + HW_TIMROT_TIMCTRLn(3));
	
       	gpio_direction_output(MXS_PIN_TO_GPIO(mxs_leds[LED_BEEP]), 0);

        return;
}
コード例 #4
0
///////////////////////////////////////////////////////////////////////////////
//! See hw_icoll.h for details.
///////////////////////////////////////////////////////////////////////////////
bool hw_icoll_EnableVector(ICOLL_IRQ_enums_t eIrqVectorNumber, bool bEnable)
{
    bool b_previousEnableState;

	b_previousEnableState=
		(HW_ICOLL_INTERRUPTn(eIrqVectorNumber).B.ENABLE)?true:false;
	if (bEnable)
		HW_ICOLL_INTERRUPTn_SET(eIrqVectorNumber,
			BM_ICOLL_INTERRUPTn_ENABLE);
	else
		HW_ICOLL_INTERRUPTn_CLR(eIrqVectorNumber,
			BM_ICOLL_INTERRUPTn_ENABLE);

    return b_previousEnableState;
}
コード例 #5
0
static int beep_timer_on(void)
{
	#if 0	//modify by cxf	in 2014-04-03
	writel(3 << 12,beep_base + HW_PINCTRL_MUXSEL4_SET);
        writel(3 << 24,beep_base + HW_PINCTRL_DRIVE8_SET);
        writel(1 << 23,beep_base + HW_PINCTRL_DRIVE8_CLR);
        writel(1 << 6,beep_base + HW_PINCTRL_DOE2_SET);
	#endif

        __raw_writel(BV_TIMROT_TIMCTRLn_SELECT__TICK_ALWAYS|
                     BM_TIMROT_TIMCTRLn_IRQ_EN ,
                     base + HW_TIMROT_TIMCTRLn(3));
        __raw_writel((0x0f | (3ul << 6)|(1ul << 14)),base + HW_TIMROT_TIMCTRL3_SET);
        __raw_writel(3ul << 4,base + HW_TIMROT_TIMCTRL3_CLR);
        __raw_writel(TIMER_CLOCK_FREQ / TICK_PER_SEC,base + HW_TIMROT_FIXED_COUNT3);

        __raw_writel(1 << 2,int_base +HW_ICOLL_INTERRUPTn_CLR(IRQ_TIMER3));
        __raw_writel(1 << 2,int_base +HW_ICOLL_INTERRUPTn_SET(IRQ_TIMER3));

        return 0;
}
コード例 #6
0
void __init mx28evk_pins_init(void)
{
	int iRet = 0;

	mx28evk_init_pin_group(mx28evk_fixed_pins,
						ARRAY_SIZE(mx28evk_fixed_pins));

	if (enable_ssp1) {
		pr_info("Initializing SSP1 pins\n");
		mx28evk_init_pin_group(mx28evk_ssp1_pins,
						ARRAY_SIZE(mx28evk_ssp1_pins));
	} else if (enable_gpmi) {
		pr_info("Initializing GPMI pins\n");
		mx28evk_init_pin_group(mx28evk_gpmi_pins,
						ARRAY_SIZE(mx28evk_gpmi_pins));
	}

#if defined(CONFIG_SPI_MXS) || defined(CONFIG_SPI_MXS_MODULE)
	mx28evk_init_pin_group(mx28evk_spi_pins,
					ARRAY_SIZE(mx28evk_spi_pins));
#endif

#if defined(CONFIG_FEC) || defined(CONFIG_FEC_MODULE)\
	|| defined(CONFIG_FEC_L2SWITCH)
		mx28evk_init_pin_group(mx28evk_eth_pins,
						ARRAY_SIZE(mx28evk_eth_pins));
#endif

	/* 初始化是蜂鸣器的定时器中断处理函数 */
	iRet = request_irq(IRQ_TIMER3,beep_timer_handler,IRQF_DISABLED | IRQF_TIMER,"beeptimer", NULL);
        if(iRet != 0) {
                printk("timer irq for beep install fails,ret:%d\n",iRet);
        }
        __raw_writel(1 << 2,int_base +HW_ICOLL_INTERRUPTn_CLR(IRQ_TIMER3));//关闭中断

        beeptimer.flag = BEEP_TIMER_OFF;

}
コード例 #7
0
static void stmp378x_mask_irq(unsigned int irq)
{
	/* IRQ disable */
	HW_ICOLL_INTERRUPTn_CLR(irq, BM_ICOLL_INTERRUPTn_ENABLE);
}
コード例 #8
0
ファイル: icoll.c プロジェクト: digidotcom/yocto-linux
static void icoll_mask_irq(unsigned int irq)
{
	__raw_writel(BM_ICOLL_INTERRUPTn_ENABLE,
		     g_icoll_base + HW_ICOLL_INTERRUPTn_CLR(irq));
}
コード例 #9
0
ファイル: icoll.c プロジェクト: Blackburn29/PsycoKernel
static void icoll_mask_irq(struct irq_data *d)
{
	__raw_writel(BM_ICOLL_INTERRUPTn_ENABLE,
			icoll_base + HW_ICOLL_INTERRUPTn_CLR(d->irq));
}