summaryrefslogtreecommitdiff
path: root/plat/sun50iw1p1/drivers
diff options
context:
space:
mode:
authorPhilipp Tomsich <philipp.tomsich@theobroma-systems.com>2017-02-02 23:47:22 +0100
committerPhilipp Tomsich <philipp.tomsich@theobroma-systems.com>2017-02-02 23:50:42 +0100
commite0d77b508aaf5fe833df755097959dd98053d0e0 (patch)
tree5a7980faa740a13fba5b8cdecf907851533a60f2 /plat/sun50iw1p1/drivers
parentfb2b98e5422f30aec64f43f4cf9bcf22c5736719 (diff)
sun50iw1p1: Adjust clock initialisation to follow Allwinner's guidance
Initialisation of clocks on Allwinner's CPUs has always been a bit tricky and should follow the following guidance: 1. Bus clock dividers should be adjusted first to keep the bus clocks within their operating limits for both the new frequency _before_ changing the PLL (compare to section 3.3.6.2. in the A64 User's Guide v1.0). 2. PLLs should first be setup (with the enable-bit cleared), then be enabled and finally polled for the stable-bit to indicate the a PLL lock (compare how boot0 and Allwinner's linux releases have been changing PLLs for the A31 and subsequent chips). 3. Additionally Allwinner always injects extra delays after the PLL lock has triggered and after the clock source is changed. Without these changes, the A64 will not reliably come up beyond the clock initialisation w/ the recurrence of failure differing between individual parts (i.e. seemingly process-dependent). Note, that these changes and the observed failures are in line with our experience on the A31 and A80. X-AffectedPlatforms: A64-uQ7 Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Diffstat (limited to 'plat/sun50iw1p1/drivers')
0 files changed, 0 insertions, 0 deletions