From: Magnus Damm <magnus.damm@gmail.com>
To: linux-sh@vger.kernel.org
Subject: [PATCH] sh: add spi header and r2d platform data
Date: Mon, 21 Jan 2008 10:24:01 +0000 [thread overview]
Message-ID: <20080121102401.28997.63940.sendpatchset@clockwork.opensource.se> (raw)
sh: add spi header and r2d platform data
This patch adds the header file asm/spi.h and board specific code for the
r2d board. The header file contains a structure that should be used to
describe a single spi bus. The board specific code for r2d is updated with
such a structure for the new spi_sh_sci driver. The structure contains a
chip select callback plus information about the R9701 rtc chip which is
attached to the spi bus.
Signed-off-by: Magnus Damm <damm@igel.co.jp>
---
arch/sh/boards/renesas/rts7751r2d/setup.c | 42 +++++++++++++++++++++++++++++
include/asm-sh/spi.h | 17 +++++++++++
2 files changed, 59 insertions(+)
--- 0001/arch/sh/boards/renesas/rts7751r2d/setup.c
+++ work/arch/sh/boards/renesas/rts7751r2d/setup.c 2008-01-21 10:51:17.000000000 +0900
@@ -16,9 +16,12 @@
#include <linux/sm501-regs.h>
#include <linux/pm.h>
#include <linux/fb.h>
+#include <linux/spi/spi.h>
+#include <linux/spi/spi_bitbang.h>
#include <asm/machvec.h>
#include <asm/rts7751r2d.h>
#include <asm/io.h>
+#include <asm/spi.h>
static struct resource cf_ide_resources[] = {
[0] = {
@@ -53,6 +56,44 @@ static struct platform_device cf_ide_dev
},
};
+static void r2d_chip_select(struct sh_spi_info *spi, int cs, int state)
+{
+ BUG_ON(cs != 0); /* Single Epson RTC-9701JE attached on CS0 */
+ ctrl_outw(state = BITBANG_CS_ACTIVE ? 1 : 0, PA_RTCCE);
+}
+
+static struct resource spi_sh_sci_resources[] = {
+ {
+ .start = 0xffe00000,
+ .end = 0xffe0001f,
+ .flags = IORESOURCE_MEM,
+ },
+};
+
+static struct spi_board_info spi_board_info[] = {
+ {
+ .modalias = "rtc-r9701",
+ .max_speed_hz = 1000000,
+ },
+};
+
+static struct sh_spi_info spi_info = {
+ .num_chipselect = 1,
+ .chip_select = r2d_chip_select,
+ .board_info = spi_board_info,
+ .board_size = ARRAY_SIZE(spi_board_info),
+};
+
+static struct platform_device spi_sh_sci_device = {
+ .name = "spi_sh_sci",
+ .id = -1,
+ .num_resources = ARRAY_SIZE(spi_sh_sci_resources),
+ .resource = spi_sh_sci_resources,
+ .dev = {
+ .platform_data = &spi_info,
+ },
+};
+
static struct resource heartbeat_resources[] = {
[0] = {
.start = PA_OUTPORT,
@@ -176,6 +217,7 @@ static struct platform_device *rts7751r2
#endif
&cf_ide_device,
&heartbeat_device,
+ &spi_sh_sci_device,
};
static int __init rts7751r2d_devices_setup(void)
--- /dev/null
+++ work/include/asm-sh/spi.h 2008-01-21 10:51:18.000000000 +0900
@@ -0,0 +1,17 @@
+#ifndef __ASM_SPI_H__
+#define __ASM_SPI_H__
+
+struct sh_spi_info;
+struct spi_board_info;
+
+struct sh_spi_info {
+ int bus_num;
+ int num_chipselect;
+
+ struct spi_board_info *board_info;
+ unsigned long board_size;
+
+ void (*chip_select)(struct sh_spi_info *spi, int cs, int state);
+};
+
+#endif /* __ASM_SPI_H__ */
next reply other threads:[~2008-01-21 10:24 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-01-21 10:24 Magnus Damm [this message]
2008-01-23 4:53 ` [PATCH] sh: add spi header and r2d platform data V2 Magnus Damm
2008-01-23 5:25 ` Paul Mundt
2008-01-23 7:21 ` [PATCH] sh: add spi header and r2d platform data V3 Magnus Damm
2008-01-23 7:31 ` Paul Mundt
2008-01-23 7:38 ` Magnus Damm
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=20080121102401.28997.63940.sendpatchset@clockwork.opensource.se \
--to=magnus.damm@gmail.com \
--cc=linux-sh@vger.kernel.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