static void __init meson_clocksource_init(void) { CLEAR_CBUS_REG_MASK(ISA_TIMER_MUX, TIMER_E_INPUT_MASK); SET_CBUS_REG_MASK(ISA_TIMER_MUX, TIMERE_UNIT_1ms << TIMER_E_INPUT_BIT); WRITE_CBUS_REG(ISA_TIMERE, 0); clocksource_timer_e.shift = clocksource_hz2shift(24, 1000); clocksource_timer_e.mult = clocksource_khz2mult(1, clocksource_timer_e.shift); clocksource_register(&clocksource_timer_e); }
static void __init meson_clocksource_init(void) { CLEAR_CBUS_REG_MASK(ISA_TIMER_MUX, TIMER_E_INPUT_MASK); SET_CBUS_REG_MASK(ISA_TIMER_MUX, TIMERE_UNIT_1us << TIMER_E_INPUT_BIT); WRITE_CBUS_REG(ISA_TIMERE, 0); clocksource_timer_e.shift = clocksource_hz2shift(24, 1000000); clocksource_timer_e.mult = clocksource_hz2mult(1000000, clocksource_timer_e.shift); clocksource_timer_f.shift = clocksource_timer_e.shift; //clocksource_timer_f.mult = ((clocksource_timer_e.mult)>>6)*64; clocksource_timer_f.mult = ((clocksource_timer_e.mult)>>6)*40; /*printk("Timer-E=%x,%x, Timer-F=%x,%x", clocksource_timer_e.shift, clocksource_timer_e.mult, clocksource_timer_f.shift, clocksource_timer_f.mult );*/ clocksource_register(&clocksource_timer_e); clocksource_register(&clocksource_timer_f); }