From: "Franky Lin" <frankyl-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
To: Wei Ni <wni-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
Cc: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>,
"'linux-wireless-u79uwXL29TY76Z2rM5mHXA@public.gmane.org'"
<linux-wireless-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
"linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
"'linux-mmc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org'"
<linux-mmc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
"devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org"
<devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org>,
"linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org"
<linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>,
Mursalin Akon <makon-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>,
Rakesh Kumar <krakesh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
Subject: Re: Where to power on the wifi device before loading the driver.
Date: Wed, 13 Jun 2012 10:33:13 -0700 [thread overview]
Message-ID: <4FD8CED9.6030901@broadcom.com> (raw)
In-Reply-To: <6B4D417B830BC44B8026029FD256F7F1C377BFFE88-Q4EWCATADntDw2glCA4ptUEOCMrvLtNR@public.gmane.org>
Hi Wei,
On 06/13/2012 03:40 AM, Wei Ni wrote:
> In the brcmfmac init routine, it call sdio_register_driver() to register driver, if the wifi device is powered on, then the mmc driver will enumerate it, and call the probe callback routine.
>
> On the Cardhu, the wifi's power is controlled by two gpios (power-gpio and reset-gpio), the default state is power-off. So we need to power on it before calling sdio_register_driver(), if not, the mmc driver can't enumerate it, and will not call the probe routine.
> This power on sequence is:
> set power-gpio to 1 ;
> mdelay(100) ;
> set reset-gpio to 1 ;
> mdelay(200);
>
> My question is where to power on the wifi. We may have three places to power on it:
> 1. power on it in the brcmfmac driver before calling sdio_register_driver(). But I think this power sequence is special for tegra30 cardhu, it's not good to add it in the generic wifi driver, because different board may use the different way to power on the wifi.
> 2. power on it in the mmc driver. In our tegra SD driver, it has power-gpios property, which allow the slot to be powered. But this power is for mmc slot, could we add this wifi power sequence in the tegra SD driver?
> 3. hard-coded into DT. Set these gpios in the DT, something like pinmux settings, but in this way, it's not good to put the mdelay() value in the DT.
We introduced oob interrupt support in 3.5 [1]. We are using a virtual
platform device to retrieve board specific oob interrupt GPIO setting.
You should be able to implement the power control in this way as well.
Brcmfmac gets the GPIOs through platform device interface, powers up the
chip and triggers a card detection. Then 4329 should be enumerated by
MMC stack. The reason we didn't implement this is the card detection.
Some design doesn't have hardware card detection since the WiFi chip is
already on board. And the current MMC stack doesn't have virtual card
detection interface.
Franky
[1]: http://www.spinics.net/lists/linux-wireless/msg89335.html
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2012-06-13 17:33 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-06-13 10:40 Where to power on the wifi device before loading the driver Wei Ni
[not found] ` <6B4D417B830BC44B8026029FD256F7F1C377BFFE88-Q4EWCATADntDw2glCA4ptUEOCMrvLtNR@public.gmane.org>
2012-06-13 17:33 ` Franky Lin [this message]
2012-06-14 4:17 ` Wei Ni
2012-06-14 16:45 ` Franky Lin
2012-06-13 21:17 ` Stephen Warren
2012-06-14 6:31 ` Thierry Reding
[not found] ` <20120614063120.GA20167-RM9K5IK7kjIQXX3q8xo1gnVAuStQJXxyR5q1nwbD4aMs9pC9oP6+/A@public.gmane.org>
2012-06-14 12:12 ` Mark Brown
[not found] ` <20120614121234.GC3913-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
2012-06-14 15:54 ` Stephen Warren
2012-06-15 6:09 ` Wei Ni
2012-06-15 15:49 ` Stephen Warren
[not found] ` <4FDB5976.20809-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-06-18 6:20 ` Wei Ni
2012-06-18 7:40 ` Rakesh Kumar
[not found] ` <96C9D994977DD0439FB6D3FE3B13DD907DE14CB4DF-kdsAE/FnitNDw2glCA4ptUEOCMrvLtNR@public.gmane.org>
2012-06-18 8:03 ` Laxman Dewangan
[not found] ` <96C9D994977DD0439FB6D3FE3B13DD907DE14CB4E8-kdsAE/FnitNDw2glCA4ptUEOCMrvLtNR@public.gmane.org>
2012-06-18 15:01 ` Stephen Warren
2012-06-19 9:13 ` Wei Ni
[not found] ` <6B4D417B830BC44B8026029FD256F7F1C6EE2DD61F-Q4EWCATADntDw2glCA4ptUEOCMrvLtNR@public.gmane.org>
2012-06-19 1:23 ` Philip Rakity
2012-06-19 4:25 ` Wei Ni
[not found] ` <6B4D417B830BC44B8026029FD256F7F1C6EE2DD622-Q4EWCATADntDw2glCA4ptUEOCMrvLtNR@public.gmane.org>
2012-06-19 9:17 ` Mark Brown
[not found] ` <20120619091719.GZ3974-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
2012-06-19 9:44 ` Wei Ni
[not found] ` <6B4D417B830BC44B8026029FD256F7F1C6EE2DD626-Q4EWCATADntDw2glCA4ptUEOCMrvLtNR@public.gmane.org>
2012-06-20 0:01 ` Stephen Warren
[not found] ` <4FE112F2.7000506-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-06-20 10:47 ` Mark Brown
2012-06-20 11:28 ` Wei Ni
[not found] ` <6B4D417B830BC44B8026029FD256F7F1C6EE2DD629-Q4EWCATADntDw2glCA4ptUEOCMrvLtNR@public.gmane.org>
2012-06-20 16:51 ` Stephen Warren
2012-06-26 8:56 ` Dong Aisheng
[not found] ` <20120626085605.GA6047-Fb7DQEYuewWctlrPMvKcciBecyulp+rMXqFh9Ls21Oc@public.gmane.org>
2012-06-26 16:53 ` Stephen Warren
[not found] ` <4FE9E907.6050803-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-06-26 21:26 ` Rob Herring
[not found] ` <4FEA28EC.2080906-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2012-06-26 22:38 ` Stephen Warren
2012-06-27 2:19 ` Dong Aisheng
2012-06-27 2:16 ` Dong Aisheng
2012-06-15 16:24 ` Franky Lin
2012-06-18 6:00 ` Wei Ni
2012-06-14 11:27 ` Wei Ni
[not found] ` <6B4D417B830BC44B8026029FD256F7F1C377BFFE8A-Q4EWCATADntDw2glCA4ptUEOCMrvLtNR@public.gmane.org>
2012-06-14 11:44 ` Wei Ni
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4FD8CED9.6030901@broadcom.com \
--to=frankyl-dy08kvg/lbpwk0htik3j/w@public.gmane.org \
--cc=devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org \
--cc=krakesh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org \
--cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
--cc=linux-mmc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-wireless-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=makon-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org \
--cc=swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org \
--cc=wni-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).