ppc405 + MCP23S17
WANG YiFei
yifei_wang at hotmail.com
Wed Oct 13 17:23:30 EST 2010
Hi TieJun,
Thanks a lot for your reply.
So far, I can get ppc405 spi to initialize, however
failed at MCP23S17's probe() routine, I checked the
code, it's due to un-initialized platform data. Here
is my part of dts:
spi at ef600600 {
device_type = "spi";
compatible = "ibm,ppc4xx-spi", "ibm,spi";
reg = <0xef600600 0x7>;
interrupt-parent = <0x2>;
interrupts = <0x8 0x4>;
#address-cells = <0x1>;
#size-cells = <0x0>;
gpios = <0>; /* cs */
spi_gpio at 0 {
compatible = "mcp,mcp23s08";
spi-max-frequency = <1000000>;
reg = <0>;
};
};
I don't know how to provide platform data from dts although
I understand the concept from code. Do I only need to modify
dts OR I need to write some code to supply platform data? Do
you have any URL or sample code to show passing of platform
data?
Anyway, thanks a lot for guiding me.
YiFei
-----Original Message-----
From: tiejun.chen [mailto:tiejun.chen at windriver.com]
Sent: Wednesday, October 13, 2010 11:09 AM
To: WANG YiFei
Cc: linuxppc-dev at ozlabs.org
Subject: Re: ppc405 + MCP23S17
WANG YiFei wrote:
> Hi,
>
>
>
> I'm a newbie for linux device driver development.
>
> We have a custom ppc405 board which has MCP23S17
>
> (16-Bit I/O Expander with SPI Interface) on it.
>
> I noticed that current kernel has MCP23S08 driver
>
> support, I'd like to know:
>
> 1. if passing platform data to MCP23S08 driver, can it make
>
> MCP23S17 work?
>
These chips should be same vendor product so I think 16-bit mcp23s17 may be
compatible to 8-bit modes. But you have to check the data sheet to confirm this
and track how to configure that as 8-bit mode. After that it's possible to run
mcp23s17 with mcp23s08.c.
> 2. Generally, I'd like to know how to pass platform data to
>
> a particular device driver. In my mind, platform data should
>
> not be in driver code, right? However, I don't know where is
Firstly you should define this on your dts. Then parse that to register
corresponding of_platform_device or platform_device when you setup your target
on <your target>.c.
When spi_register_driver prober successfully, you can get the platform_data from
associated spi device.
>
> the suitable place to pass platform data to driver.
>
> 3. How to describe this in dts file?
>
You can get more from the file, Documentation/powerpc/dts-bindings/spi-bus.txt.
Or refer to those existed spi nodes on other platform dts.
Tiejun
>
>
> Thanks in advance,
>
> YiFei
>
>
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev at lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/linuxppc-dev
More information about the Linuxppc-dev
mailing list