From: Juergen Beisert <jbe@pengutronix.de>
To: linuxppc-dev@ozlabs.org
Subject: Re: How to add platform specific data to a of_device
Date: Sun, 15 Jul 2007 10:33:29 +0200 [thread overview]
Message-ID: <200707151033.29894.jbe@pengutronix.de> (raw)
In-Reply-To: <1184446133.6059.284.camel@localhost.localdomain>
Hi Ben,
On Saturday 14 July 2007 22:48, Benjamin Herrenschmidt wrote:
> On Sat, 2007-07-14 at 18:31 +0200, Juergen Beisert wrote:
> > Hi,
> >
> > I'm trying to use the drivers/spi/mpc52xx_psc_spi.c as an open firmware
> > device (ARCH=powerpc). This device needs some platform specific data (the
> > devices connected to the SPI bus and how to drive the chipselects to
> > these devices).
> >
> > The driver itself get a "struct of_device *op" in his probe function and
> > does something like this:
> >
> > struct fsl_spi_platform_data *pdata = op->dev.platform_data;
> >
> > My question is: How is the correct way to bring the platform specific
> > data into this device structure? Is there a way to do it in the OFTree
> > (dts file)?
>
> Your approach would work I suppose.... though it's a bit ugly.
Yes, I know it works (I'm currently using it), but also yes, its very ugly. So
I want to change it.
> I'm not sure what you actually need here...
What the SPI master driver needs its something like the SPI bus number it
controls, how many chipselect lines are available (=how many SPI slave
devices are connected) and what platform specific functions it must call to
set or reset the chipselect lines to make a data transfer on its bus.
It does not need the types of connected slave devices, as this will be
controlled by the SPI framework.
struct fsl_spi_platform_data spi_master_platform_info =
{
.initial_spmode = <something SPI related>,
.sysclk = <mpc5200 internal systemclock - platform specific >,
.bus_num = <SPI bus number for this master controller>,
.max_chipselect = <platforms chipselect count>,
.activate_cs = <platform function to activate one of the chipselects>,
.deactivate_cs = <platform function to activate one of the chipselects>
};
Would it be possible to query these informations from the oftree? Can someone
give an example how the oftree dts syntax would look like for this case?
> if it's to know what your
> child devices are, you can always walk the device-tree, though for most
> things, it would be the child devices themslves who would call into your
> SPI driver with whatever identification they retreived from there.
Hmm, as I stated above: Handling the SPI slave devices is done in the SPI
framework. But including this data into the dts sounds better than including
it into the BSP. Is there some documentation around how to describe such a
SPI bus with its devices in the dts?
Thanks so far
Juergen
next prev parent reply other threads:[~2007-07-15 8:33 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-07-14 16:31 How to add platform specific data to a of_device Juergen Beisert
2007-07-14 20:48 ` Benjamin Herrenschmidt
2007-07-15 8:33 ` Juergen Beisert [this message]
2007-07-15 8:57 ` Benjamin Herrenschmidt
2007-07-16 16:13 ` Segher Boessenkool
2007-07-16 6:51 ` Robert Schwebel
2007-07-16 7:09 ` Benjamin Herrenschmidt
2007-07-16 7:19 ` Robert Schwebel
2007-07-16 7:29 ` Benjamin Herrenschmidt
2007-07-16 16:47 ` Segher Boessenkool
2007-07-16 16:28 ` Segher Boessenkool
2007-07-16 7:40 ` Michael Ellerman
2007-07-16 16:16 ` Segher Boessenkool
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=200707151033.29894.jbe@pengutronix.de \
--to=jbe@pengutronix.de \
--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).