aboutsummaryrefslogtreecommitdiff
path: root/src/include/device/i2c.h
diff options
context:
space:
mode:
authorDavid Hendricks <dhendrix@chromium.org>2013-02-03 18:09:58 -0800
committerStefan Reinauer <stefan.reinauer@coreboot.org>2013-02-06 02:11:14 +0100
commit0d4f97e27045209fdb9af452b013a6cfaebcaebc (patch)
treebf42e136f4809489725de88cb03bd052716f4687 /src/include/device/i2c.h
parent94e230aa9319ca3421867efc080c985f9bcaaef4 (diff)
exynos/snow: Move core/memory clock-related and board ID code
This patch moves ARM core and DRAM timing functions around to simplify the dependencies for system_clock_init(). The original code was architected such that the system_clock_init() function called other functions to obtain core and memory timings. Due to the way memory timing information must be obtained on Snow, which entails decoding platform-specific board straps, the bottom- up approach resulted in having the low-level clock init code implicitly depend on board and vendor-specific info: main() ->system_clock_init() -> get_arm_ratios() -> CPU-specific code -> clock_get_mem_timings() -> board_get_revision() -> read GPIOs (3-state logic) -> Decode GPIOs in a vendor-specific manner -> Choose memory timings from module-specific look-up table ...then proceed to init clocks ...come back to main() The new approach gathers all board and vendor-specific info in a more appropriate location and passes it into system_clock_init(): main() -> get_arm_ratios() -> CPU-specific code -> get_mem_timings() -> board_get_config() -> read GPIOs (3-state logic) -> Decode GPIOs in a vendor-specific manner -> Choose memory timings from module-specific look-up table -> system_clock_init() ...back to main() Change-Id: Ie237ebff76fc2d8a4d2f4577a226ac3909e4d4e8 Signed-off-by: David Hendricks <dhendrix@chromium.org> Reviewed-on: http://review.coreboot.org/2271 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Diffstat (limited to 'src/include/device/i2c.h')
0 files changed, 0 insertions, 0 deletions