[Letux-kernel] uart idling kills hdq on gta04 / dm3730, iclk issues
Andreas Kemnade
andreas at kemnade.info
Wed Sep 26 07:38:27 CEST 2018
Hi,
on my gta04 I experiment with idling uarts, so that they
runtime-suspend and suspequently some clocks are turned off.
To measure my success, I check the results via a bq27000 fuel gauge
connected to omap_hdq.
Unfortunately that does not work properly. I might get a single
byte written but nothing more.
So there is probably some clock problem.
Things checked:
I forced runtime on by
echo on >power/control for the omap_hdq device
Then I checked by accessing /dev/mem:
CM_FCLKEN1_CORE: mostly unset bits, bit 22 behaves ok
it is 1 when omap_hdq is runtime-active and 0 if not.
So ICLK remains the most interesting:
After some experiments I find the following:
clearing CM_AUTOIDLE1_CORE.AUTO_HDQ (something sets it) and
checking that CM_ICLKEN1_CORE.EN_HDQ is set
makes things work.
Doing RTFM reveals the following:
SPRUGN4R: AM/DM37x Multimedia Device
Silicon Revision 1.x TRM (p.2866):
> AUTO_HDQ bit PRCM.CM_AUTOIDLE1_CORE[22] is set. In this case, the
> software must verify that all HDQ/1-Wire transfers are complete
> before enabling the L4 interconnect clock domain idle mode.
> Otherwise, the HDQ/1-Wire has no way to prevent the clock from being
> cut, because no hardware mechanism exists. The steps listed in this
> section must be verified before putting the L4 clock domain into idle
> state.
So I guess that clearing That AUTO_HDQ bit is actually a good idea,
at least while hdq is used.
But then the next question arises: where is the code which accesses
CM_AUTOIDLE1_CORE?
I only find:
in cm3xxx.c:
omap2_cm_write_mod_reg(cm_context.core_cm_autoidle1, CORE_MOD,
CM_AUTOIDLE1);
Maybe I am a bit blind today, can someone enlighten me?
Thanks in advance for any ideas.
Regards,
Andreas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <http://lists.goldelico.com/pipermail/letux-kernel/attachments/20180926/a2be26aa/attachment.asc>
More information about the Letux-kernel
mailing list