aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/wl12xx/wl1271_boot.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/wl12xx/wl1271_boot.c')
-rw-r--r--drivers/net/wireless/wl12xx/wl1271_boot.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/drivers/net/wireless/wl12xx/wl1271_boot.c b/drivers/net/wireless/wl12xx/wl1271_boot.c
index b91021242098..5b190728ca55 100644
--- a/drivers/net/wireless/wl12xx/wl1271_boot.c
+++ b/drivers/net/wireless/wl12xx/wl1271_boot.c
@@ -471,20 +471,19 @@ int wl1271_boot(struct wl1271 *wl)
471{ 471{
472 int ret = 0; 472 int ret = 0;
473 u32 tmp, clk, pause; 473 u32 tmp, clk, pause;
474 int ref_clock = wl->ref_clock;
475 474
476 wl1271_boot_hw_version(wl); 475 wl1271_boot_hw_version(wl);
477 476
478 if (ref_clock == 0 || ref_clock == 2 || ref_clock == 4) 477 if (wl->ref_clock == 0 || wl->ref_clock == 2 || wl->ref_clock == 4)
479 /* ref clk: 19.2/38.4/38.4-XTAL */ 478 /* ref clk: 19.2/38.4/38.4-XTAL */
480 clk = 0x3; 479 clk = 0x3;
481 else if (ref_clock == 1 || ref_clock == 3) 480 else if (wl->ref_clock == 1 || wl->ref_clock == 3)
482 /* ref clk: 26/52 */ 481 /* ref clk: 26/52 */
483 clk = 0x5; 482 clk = 0x5;
484 else 483 else
485 return -EINVAL; 484 return -EINVAL;
486 485
487 if (ref_clock != 0) { 486 if (wl->ref_clock != 0) {
488 u16 val; 487 u16 val;
489 /* Set clock type (open drain) */ 488 /* Set clock type (open drain) */
490 val = wl1271_top_reg_read(wl, OCP_REG_CLK_TYPE); 489 val = wl1271_top_reg_read(wl, OCP_REG_CLK_TYPE);
@@ -529,8 +528,7 @@ int wl1271_boot(struct wl1271 *wl)
529 528
530 wl1271_debug(DEBUG_BOOT, "clk2 0x%x", clk); 529 wl1271_debug(DEBUG_BOOT, "clk2 0x%x", clk);
531 530
532 /* 2 */ 531 clk |= (wl->ref_clock << 1) << 4;
533 clk |= (ref_clock << 1) << 4;
534 wl1271_write32(wl, DRPW_SCRATCH_START, clk); 532 wl1271_write32(wl, DRPW_SCRATCH_START, clk);
535 533
536 wl1271_set_partition(wl, &part_table[PART_WORK]); 534 wl1271_set_partition(wl, &part_table[PART_WORK]);