imx8mq_platform_drv: enable root clock div setting

Fixes #4155
This commit is contained in:
Stefan Kalkowski 2021-05-17 15:58:53 +02:00 committed by Christian Helmuth
parent 516601b7ba
commit b22d9385f1

View File

@ -293,15 +293,20 @@ void Driver::Ccm::Root_clock::disable()
** Gate immplementation **
**************************/
void Driver::Ccm::Root_clock_divider::set_rate(unsigned long)
void Driver::Ccm::Root_clock_divider::set_rate(unsigned long rate)
{
warning(__func__, " not implemented yet!");
unsigned long div = _parent.get_rate() / rate;
if (!div || div > 64) {
Genode::error("Cannot set divider ", name(), " to ", div);
return;
}
write<Target_reg::Post_div>(div-1);
}
unsigned long Driver::Ccm::Root_clock_divider::get_rate() const
{
return _parent.get_rate() / read<Target_reg::Post_div>();
return _parent.get_rate() / (read<Target_reg::Post_div>()+1);
};