From 2cc8d4db9dd7df9dd12d86f2e37d1b4760d3dd98 Mon Sep 17 00:00:00 2001 From: Juuso Oikarinen Date: Tue, 13 Oct 2009 12:47:38 +0300 Subject: [PATCH] wl1271: Workaround for reference clock setting on boot. If the 38.4MHz reference clock is configured to the firmware, it crashes on boot. Configuring an experimental 38.4MHz in XTAL mode allows the firmware to boot, and everything appears to work. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville --- drivers/net/wireless/wl12xx/wl1271_init.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/drivers/net/wireless/wl12xx/wl1271_init.c b/drivers/net/wireless/wl12xx/wl1271_init.c index e45af07..9abe062 100644 --- a/drivers/net/wireless/wl12xx/wl1271_init.c +++ b/drivers/net/wireless/wl12xx/wl1271_init.c @@ -196,7 +196,14 @@ static int wl1271_init_general_parms(struct wl1271 *wl) gen_parms->id = TEST_CMD_INI_FILE_GENERAL_PARAM; - gen_parms->ref_clk = REF_CLK_38_4_E; + /* + * FIXME: The firmware crashes on boot with REF_CLK_38_4_E as clock. + * according to TI engineers, ref clk 5 is an unofficial + * 38.4 XTAL clock config, which seems to boot the device. + * Restore correct value once the real problem source is + * identified. + */ + gen_parms->ref_clk = 5; /* REF_CLK_38_4_E; */ /* FIXME: magic numbers */ gen_parms->settling_time = 5; gen_parms->clk_valid_on_wakeup = 0; -- 2.7.4