> > Here using the FTM0 as clock event device and the FTM1 as clock
> > source device.
> 
> As it is a new driver, please add a more elaborated description of the
> timer.
> 

Please see the next version.


> > +#include <linux/clk.h>
> > +#include <linux/clockchips.h>
> > +#include <linux/clocksource.h>
> > +#include <linux/err.h>
> > +#include <linux/interrupt.h>
> > +#include <linux/io.h>
> > +#include <linux/kernel.h>
> > +#include <linux/module.h>
> > +#include <linux/of_address.h>
> > +#include <linux/of_irq.h>
> > +#include <linux/sched_clock.h>
> 
> Could you check all these headers are effectively needed ?
> 

Yes, I will.



> > +#define FTM_OFFSET(n)      (0x1000 * n)
> > +
> > +#define FTM_SC             0x00
> > +#define FTM_SC_CLK_SHIFT   3
> > +#define FTM_SC_CLK_MASK    (0x3 << FTM_SC_CLK_SHIFT)
> > +#define FTM_SC_CLK(c)      ((c) << FTM_SC_CLK_SHIFT)
> > +#define FTM_SC_PS_MASK     0x7
> > +#define FTM_SC_TOIE        BIT(6)
> > +#define FTM_SC_TOF BIT(7)
> > +
> > +#define FTM_CNT            0x04
> > +#define FTM_MOD            0x08
> > +
> > +#define FTM_CSC_BASE       0x0C
> > +#define FTM_CSC_MSB        BIT(5)
> > +#define FTM_CSC_MSA        BIT(4)
> > +#define FTM_CSC_ELSB       BIT(3)
> > +#define FTM_CSC_ELSA       BIT(2)
> > +
> > +#define FTM_CV_BASE        0x10
> > +#define FTM_CNTIN  0x4C
> > +#define FTM_STATUS 0x50
> > +
> > +#define FTM_MODE   0x54
> > +#define FTM_MODE_FTMEN     BIT(0)
> > +#define FTM_MODE_WPDIS     BIT(2)
> > +#define FTM_MODE_PWMSYNC   BIT(3)
> > +
> > +#define FTM_SYNC   0x58
> > +#define FTM_OUTINIT        0x5C
> > +#define FTM_OUTMASK        0x60
> > +#define FTM_COMBINE        0x64
> > +#define FTM_DEADTIME       0x68
> > +#define FTM_EXTTRIG        0x6C
> > +#define FTM_POL            0x70
> > +#define FTM_FMS            0x74
> > +#define FTM_FILTER 0x78
> > +#define FTM_FLTCTRL        0x7C
> > +#define FTM_QDCTRL 0x80
> > +#define FTM_CONF   0x84
> > +#define FTM_FLTPOL 0x88
> > +#define FTM_SYNCONF        0x8C
> > +#define FTM_INVCTRL        0x90
> > +#define FTM_SWOCTRL        0x94
> > +#define FTM_PWMLOAD        0x98
> 
> Please remove the unused macros.
> 

Okay.


> > +
> > +   freq = clk_get_rate(ftm_clk);
> > +
> > +   calc_closest_cound_cyc(freq);
> > +
> > +   BUG_ON(ftm_clocksource_init(freq));
> > +
> > +   BUG_ON(ftm_clockevent_init(freq, irq));
> > +}
> > +CLOCKSOURCE_OF_DECLARE(vf610, "fsl,vf610-ftm-timer", ftm_timer_init);
> 
> 
> I am not a big fan of those BUG_ON every line. Could you please replace
> it by dev_err().
> 
> That is also not in the logic of a single zImage.
> 

Yes, if so, I will revise this.


Thanks,

BRs
Xiubo



Reply via email to