From 7fdfde9314736d20760682a0c7ab91cf11eefb6c Mon Sep 17 00:00:00 2001 From: Jared Boone Date: Wed, 17 Oct 2012 11:48:35 -0700 Subject: [PATCH] Make use of i2c0_init() argument to control duty cycle, when APB1 clock shifts from IRC (~12MHz) to PLL1 (204MHz). --- firmware/common/hackrf_core.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/firmware/common/hackrf_core.c b/firmware/common/hackrf_core.c index fd3cd70b..4135f369 100644 --- a/firmware/common/hackrf_core.c +++ b/firmware/common/hackrf_core.c @@ -39,7 +39,10 @@ void delay(uint32_t duration) /* clock startup for Jellybean with Lemondrop attached */ void cpu_clock_init(void) { - i2c0_init(); + /* use IRC as clock source for APB1 (including I2C0) */ + CGU_BASE_APB1_CLK = CGU_BASE_APB1_CLK_CLK_SEL(CGU_SRC_IRC); + + i2c0_init(15); si5351c_disable_all_outputs(); si5351c_disable_oeb_pin_control(); @@ -120,6 +123,8 @@ void cpu_clock_init(void) si5351c_enable_clock_outputs(); //FIXME disable I2C + /* Kick I2C0 down to 400kHz when we switch over to APB1 clock = 204MHz */ + i2c0_init(255); /* * 12MHz clock is entering LPC XTAL1/OSC input now. On