diff options
author | Aidan MacDonald <amachronic@protonmail.com> | 2021-09-27 17:18:19 +0100 |
---|---|---|
committer | Aidan MacDonald <amachronic@protonmail.com> | 2021-10-16 16:58:19 -0400 |
commit | 7a5130a27722b95f0de965e99e1fd7cb322cafcf (patch) | |
tree | 34abc836f0862540a71d2622a2b64bc0cdaeabe4 /apps/menus/plugin_menu.c | |
parent | bf54002bc19b6dde4c9e3ad5b5c505facd1af95a (diff) | |
download | rockbox-7a5130a27722b95f0de965e99e1fd7cb322cafcf.tar.gz rockbox-7a5130a27722b95f0de965e99e1fd7cb322cafcf.zip |
x1000: fix broken OST2 timer prescaler
It turns out the prescaler fields in OST_CTRL are 2 bits wide,
not 3. The programming manual (as usual) is ambiguous and its
diagram shows 2-bit wide fields, but the bit positions in the
text give a 3-bit wide field. Ingenic's Linux code and my own
testing shows that they are, in fact, 2 bits wide.
This caused the OST2 divisor to be 16 instead of 4; the OST1
divisor was correct. This means that all udelay/mdelay calls
took 4x longer than they should've. After this change the OST2
prescaler will be 4, as intended, and udelay/mdelay calls will
wait for the intended duration.
Change-Id: I2ac0a9190f49b59a840c649bf586131f5f9fde82
Diffstat (limited to 'apps/menus/plugin_menu.c')
0 files changed, 0 insertions, 0 deletions