From: Henk Stegeman <henk.stegeman@gmail.com>
To: linuxppc-dev@ozlabs.org
Subject: Re: Chipselect in SPI binding with mpc5200-psc-spi
Date: Fri, 13 Feb 2009 11:40:31 +0100 [thread overview]
Message-ID: <ae4f76fd0902130240g72b3cdf1l21b8f7ec8ad17e76@mail.gmail.com> (raw)
In-Reply-To: <fa686aa40810290745k5c34c5e1m835351837e39248e@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 3952 bytes --]
I'm busy adding support for slave deviced behind mpc52xx-psc-spi.
One complication I have is that my SPI slave device has an interrupt output
to the CPU.
My idea is to add it as a gpios property in the slave device's
configuration:
spi@2400 { // PSC3 (SPI IF to the IO-controller )
device_type = "spi";
#address-cells = <1>;
#size-cells = <0>;
compatible = "fsl,mpc5200-psc-spi","fsl,mpc5200b-psc-spi";
cell-index = <2>;
reg = <0x2400 0x100>;
interrupts = <2 3 0>;
interrupt-parent = <&mpc5200_pic>;
gpios = <&gpt4 0 0>;
io-controller@0 {
compatible = "microkey,smc4000io";
spi-max-frequency = <1000000>;
reg = <0>;
// gpios: first is IRQ to cpu
gpios = <&gpt6 0 0>;
};
};
Are there better/easier ways to do this?
How should I then register my spi slave driver? My smc4000io_probe function
gets called correctly by of_spi support but when I register as follows:
static struct spi_driver smc4000io_driver = {
.driver = {
.name = "smc4000io",
.bus = &spi_bus_type,
.owner = THIS_MODULE,
},
.probe = smc4000io_probe,
.remove = __devexit_p(smc4000io_remove),
};
static int __init smc4000io_init(void)
{
return spi_register_driver(&smc4000io_driver);
}
static void __exit smc4000io_exit(void)
{
spi_unregister_driver(&smc4000io_driver);
}
module_init(smc4000io_init);
But when I do:
static struct of_platform_driver smc4000_spi_of_driver = {
.name = "smc4000io",
.match_table = smc4000io_of_match,
.probe = smc4000io_of_probe,
.remove = __devexit_p(smc4000io_of_remove),
};
static int __init smc4000io_init(void)
{
return of_register_platform_driver(&smc4000_spi_of_driver);
}
module_init(smc4000io_init);
Then my smc4000io_of_probe function never gets called.
Thanks in advance,
Henk.
On Wed, Oct 29, 2008 at 3:45 PM, Grant Likely <grant.likely@secretlab.ca>wrote:
> On Wed, Oct 29, 2008 at 7:43 AM, Henk Stegeman <henk.stegeman@gmail.com>
> wrote:
> > ..
> > ..
> > In my dts
> >
> > I have my chipselect defined as follows:
> >
> > gpt4: timer@640 { // General Purpose Timer GPT4 in GPIO mode
> for
> > SMC4000IO chip select.
> > compatible = "fsl,mpc5200b-gpt-gpio","fsl,mpc5200-gpt-gpio";
> > cell-index = <4>;
> > reg = <0x640 0x10>;
> > interrupts = <1 13 0>;
> > interrupt-parent = <&mpc5200_pic>;
> > gpio-controller;
> > #gpio-cells = <2>;
> > };
> >
> > I found the gpio in
> > # cat /sys/class/gpio/gpiochip215/label
> > /soc5200@f0000000/timer@640
> >
> > The spi controller is defined like this:
> >
> > spi@2400 {
> > device_type = "spi";
> > #address-cells = <1>;
> > #size-cells = <0>;
> > compatible = "fsl,mpc5200-psc-spi","fsl,mpc5200b-psc-spi";
> > cell-index = <2>;
> > reg = <2400 100>;
> > interrupts = <2 3 0>;
> > interrupt-parent = <&mpc5200_pic>;
> > gpios = <&gpt4 0 0>;
> >
> > io-controller@0 {
> > compatible = "microkey,smc4000io";
> > spi-max-frequency = <1000000>;
> > reg = <0>;
> > };
> > };
> >
> > At bootup linux (2.6.27) reports:
> >
> > mpc52xx-psc-spi f0000960.spi: probe called without platform data, no
> > (de)activate_cs function will be called.
> >
> > Is my assumption wrong that the gpios property is the way to map
> chipselects
> > to the spi driver?
>
> Yes, that is the way you should work specify the chip selects, but the
> driver hasn't been updated to support it yet.
>
> g.
>
> --
> Grant Likely, B.Sc., P.Eng.
> Secret Lab Technologies Ltd.
>
[-- Attachment #2: Type: text/html, Size: 7559 bytes --]
next prev parent reply other threads:[~2009-02-13 10:48 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-10-29 13:43 Chipselect in SPI binding with mpc5200-psc-spi Henk Stegeman
2008-10-29 14:45 ` Grant Likely
2009-02-13 10:40 ` Henk Stegeman [this message]
2009-02-13 15:19 ` Grant Likely
2009-02-13 15:52 ` Henk Stegeman
2009-06-15 16:36 ` Kári Davíðsson
2009-06-15 17:31 ` Grant Likely
2009-06-16 10:41 ` Kári Davíðsson
2009-07-07 14:31 ` Henk Stegeman
2009-07-07 15:57 ` Grant Likely
2009-07-08 13:07 ` Henk Stegeman
-- strict thread matches above, loose matches on Subject: below --
2009-03-27 21:14 Yann Pelletier
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=ae4f76fd0902130240g72b3cdf1l21b8f7ec8ad17e76@mail.gmail.com \
--to=henk.stegeman@gmail.com \
--cc=linuxppc-dev@ozlabs.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).