Commit 284134eb authored by Juuso Oikarinen's avatar Juuso Oikarinen Committed by John W. Linville

wl1271: RefClk configuration

Updated RefClk configuration based on reference sources. Apparently this
change will improve RF performance.
Signed-off-by: default avatarJuuso Oikarinen <juuso.oikarinen@nokia.com>
Reviewed-by: default avatarLuciano Coelho <luciano.coelho@nokia.com>
Signed-off-by: default avatarLuciano Coelho <luciano.coelho@nokia.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent e8768eeb
...@@ -435,13 +435,29 @@ int wl1271_boot(struct wl1271 *wl) ...@@ -435,13 +435,29 @@ int wl1271_boot(struct wl1271 *wl)
int ret = 0; int ret = 0;
u32 tmp, clk, pause; u32 tmp, clk, pause;
if (REF_CLOCK == 0 || REF_CLOCK == 2) if (REF_CLOCK == 0 || REF_CLOCK == 2 || REF_CLOCK == 4)
/* ref clk: 19.2/38.4 */ /* ref clk: 19.2/38.4/38.4-XTAL */
clk = 0x3; clk = 0x3;
else if (REF_CLOCK == 1 || REF_CLOCK == 3) else if (REF_CLOCK == 1 || REF_CLOCK == 3)
/* ref clk: 26/52 */ /* ref clk: 26/52 */
clk = 0x5; clk = 0x5;
if (REF_CLOCK != 0) {
u16 val;
/* Set clock type */
val = wl1271_top_reg_read(wl, OCP_REG_CLK_TYPE);
val &= FREF_CLK_TYPE_BITS;
val |= CLK_REQ_PRCM;
wl1271_top_reg_write(wl, OCP_REG_CLK_TYPE, val);
} else {
u16 val;
/* Set clock polarity */
val = wl1271_top_reg_read(wl, OCP_REG_CLK_POLARITY);
val &= FREF_CLK_POLARITY_BITS;
val |= CLK_REQ_OUTN_SEL;
wl1271_top_reg_write(wl, OCP_REG_CLK_POLARITY, val);
}
wl1271_reg_write32(wl, PLL_PARAMETERS, clk); wl1271_reg_write32(wl, PLL_PARAMETERS, clk);
pause = wl1271_reg_read32(wl, PLL_PARAMETERS); pause = wl1271_reg_read32(wl, PLL_PARAMETERS);
......
...@@ -51,9 +51,16 @@ struct wl1271_static_data { ...@@ -51,9 +51,16 @@ struct wl1271_static_data {
#define WELP_ARM_COMMAND_VAL 0x4 #define WELP_ARM_COMMAND_VAL 0x4
#define OCP_REG_POLARITY 0x0064 #define OCP_REG_POLARITY 0x0064
#define OCP_REG_CLK_TYPE 0x0448
#define OCP_REG_CLK_POLARITY 0x0cb2
#define CMD_MBOX_ADDRESS 0x407B4 #define CMD_MBOX_ADDRESS 0x407B4
#define POLARITY_LOW BIT(1) #define POLARITY_LOW BIT(1)
#define FREF_CLK_TYPE_BITS 0xfffffe7f
#define CLK_REQ_PRCM 0x100
#define FREF_CLK_POLARITY_BITS 0xfffff8ff
#define CLK_REQ_OUTN_SEL 0x700
#endif #endif
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment