reg_val = tsal_read(pdev,SYS_ADDR);
tsal_write(pdev,SYS_ADDR, reg_val | (1 << 1));
do {
udelay(1);
}while(!(tsal_read(pdev,SSYS_ADDR) & (1 << 0)));
reg_val = tsal_read(pdev,MDR1_ADDR);
tsal_write(pdev,MDR1_ADDR,(reg_val & 0xfff8) | 0x07);
tsal_write(pdev,LCR_ADDR, 0x80);
tsal_write(pdev,DLL_ADDR,0x13);
tsal_write(pdev,DLH_ADDR,0x88);
reg_val = tsal_read(pdev,MDR1_ADDR);
tsal_write(pdev,MDR1_ADDR,(reg_val & 0xfff8) | 0x01);
tsal_write(pdev,LCR_ADDR, 0x0);
reg_val = tsal_read(pdev,IER_ADDR);
tsal_write(pdev,IER_ADDR,reg_val | 0x1);
#endif
pm_runtime_put_sync(&pdev->dev);
printk("tsal7600_probe\n");
ret = request_irq(priv->irq, ir_recv_irq, IRQF_SHARED | IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING,
"tsal", pdev);
if (ret < 0)
printk("tsal request irq failed\n");
按照am335x的datasheet说明,对uart进行配置,但按红外遥控器时,不能进中断函数,请帮忙分析。