• Anson Huang's avatar
    ARM: imx: source gpt per clk from OSC for system timer · bad3db10
    Anson Huang authored
    On i.MX6Q TO > 1.0, i.MX6DL and i.MX6SX, gpt per clock
    can be from OSC instead of ipg_per, as ipg_per's rate
    may be scaled when system enter low bus mode, to keep
    system timer NOT drift, better to make gpt per clock
    at fixed rate, here add support for gpt per clock to
    be from OSC which is at fixed rate always.
    
    There are some difference on this implementation of
    gpt per clock source, see below for details:
    
    i.MX6Q TO > 1.0: GPT_CR_CLKSRC, b'101 selects fix clock
        of OSC / 8 for gpt per clk;
    i.MX6DL and i.MX6SX: GPT_CR_CLKSRC, b'101 selects OSC
        for gpt per clk, and we must enable GPT_CR_24MEM to
        enable OSC clk source for gpt per, GPT_PR_PRESCALER24M
        is for pre-scaling of this OSC clk, here set it to 8
        to make gpt per clk is 3MHz;
    i.MX6SL: ipg_per can be from OSC directly, so no need to
        implement this new clk source for gpt per.
    Signed-off-by: default avatarAnson Huang <b20788@freescale.com>
    Signed-off-by: default avatarShawn Guo <shawn.guo@freescale.com>
    bad3db10
time.c 9.9 KB