Subversion Repositories freemyipod

Rev

Rev 597 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 597 Rev 638
Line 37... Line 37...
37
    THCMD = (1 << 1);   /* TH_CLR */
37
    THCMD = (1 << 1);   /* TH_CLR */
38
}
38
}
39
 
39
 
40
void timer_schedule_wakeup(uint32_t usecs)
40
void timer_schedule_wakeup(uint32_t usecs)
41
{
41
{
42
    if (usecs > 9942053)
42
    if (usecs > 28256363)
43
    {
43
    {
44
        TBPRE = 511;
44
        TBPRE = 511;
45
        TBDATA1 = 65535;
45
        TBDATA1 = 65535;
46
    }
46
    }
47
    else if (usecs > 19417)
47
    else if (usecs > 55188)
48
    {
48
    {
49
        TBPRE = 511;
49
        TBPRE = 511;
50
        TBDATA1 = (usecs * 216) >> 15;
50
        TBDATA1 = (usecs * 152) >> 16;
51
    }
51
    }
52
    else
52
    else
53
    {
53
    {
54
        TBPRE = 0;
54
        TBPRE = 0;
55
        TBDATA1 = (usecs * 216) >> 6;
55
        TBDATA1 = (usecs * 152) >> 7;
56
    }
56
    }
57
    TBCON = (1 << 13) | /* TB_INT1_EN */
57
    TBCON = (1 << 13) | /* TB_INT1_EN */
58
            (0 << 12) | /* TB_INT0_EN */
58
            (0 << 12) | /* TB_INT0_EN */
59
            (0 << 11) | /* TB_START */
59
            (0 << 11) | /* TB_START */
60
            (3 << 8) |  /* TB_CS = PCLK / 64 */
60
            (3 << 8) |  /* TB_CS = PCLK / 64 */