Should it be considered as a firmware bug ?+ if (!(val & TIM_CONFIG_PRESCALER_ENABLE)) { + pr_err("%pOF: Prescaler is not enabled\n", np); + ret = -ENODEV; + }
Why bail out instead of enabling the prescalar ?
Because it is a secure register and it would be updated by
the bootloader.
No. This is a common driver across products in the series and enablement of this bit depends on the project requirements. Hence
to be sure from driver, we added this check to avoid
initialization of the driver in the case where it cannot be
functional.
I'm not sure to get the meaning of 'project requirements' but (for
my understanding) why not describe the timer in the DT for such
projects?
OK, I understand your point now. We can control the driver
initialization from device tree binding rather than add a check in
the driver. But isn't it good to have a check, if enabling of the bit
is missed out in the FW? This can help in debugging.