Search Linux Wireless

Re: wl1271 sdio timeouts on omap3

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Joerie,

On Tue, Nov 9, 2010 at 12:14 AM, Joerie de Gram <j.de.gram@xxxxxxxxx> wrote:
> lockup in mmc_wait_for_req (called from wl1271_sdio_power_on). In 10%
> of my attempts the driver gets as far as uploading the firmware after
> which I'm getting similar SDIO timeouts.
>
> I'm mostly unsure about my regulator config (relevant snippets below),

Snippets below are not complete. E.g., where do you actually indicate
the gpio number ?

It's better to send your complete patch so we can have a look.

> having no wl1271 documentation to work with. The wl1271 is on mmc3,
> powered by twl4030 vsim. I assume the fixed regulator in [1] is just
> to be able to control the PMENA GPIO?

Yes.

> Pin muxing aside, all changes are equal to those displayed in [1]. Is
> there anything I might be doing wrong wrt. the power-up sequence?

Indeterministic SDIO behavior is unlikely to be related to the
device's gpio-based power, since it's either on or off.

The issues you are experiencing sound more like hw issues (e.g. faulty
board level shifter) or misconfiguration of the SDIO pins (e.g. lines
not pulled up).

I suggest you to try working with 1 bit SDIO and/or low clock speeds
and see if stability is improved.

If not, the best thing to do is sniffing the hardware lines - power,
clock, mmc 1-4,.. You will then know exactly what's wrong.

Regards,
Ohad.

>
> [1]: https://patchwork.kernel.org/patch/201572/
>
> Joerie
>
> ----------
>
> static struct regulator_consumer_supply nowplus_vsim_supply = {
>        .supply                 = "vmmc",
> };
>
>
> static struct regulator_consumer_supply nowplus_wl1271_supply = {
>        .supply                 = "vmmc_aux",
>        .dev_name               = "mmci-omap-hs.2",
> };
>
>
> /* VSIM for WiFi SDIO */
> static struct regulator_init_data nowplus_vsim = {
>        .constraints = {
>                .name                   = "VSIM",
>                .min_uV                 = 1800000,
>                .max_uV                 = 1800000,
>                .apply_uV               = true,
>                .valid_modes_mask       = REGULATOR_MODE_NORMAL
>                                        | REGULATOR_MODE_STANDBY,
>                .valid_ops_mask         = REGULATOR_CHANGE_MODE
>                                        | REGULATOR_CHANGE_STATUS,
>        },
>        .num_consumer_supplies  = 1,
>        .consumer_supplies      = &nowplus_vsim_supply,
> };
>
> static struct regulator_init_data nowplus_wlgpio = {
>        .constraints = {
>                .valid_ops_mask = REGULATOR_CHANGE_STATUS,
>        },
>        .num_consumer_supplies  = 1,
>        .consumer_supplies      = &nowplus_wl1271_supply,
> };
> --
> To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux