All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Heiko Stübner" <heiko@sntech.de>
To: Stefan Hengelein <stefan.hengelein@fau.de>
Cc: Arnd Bergmann <arnd@arndb.de>,
	linux-arm-kernel@lists.infradead.org, kgene@kernel.org,
	linux-samsung-soc@vger.kernel.org, linux@arm.linux.org.uk,
	linux-kernel@vger.kernel.org,
	Marek Szyprowski <m.szyprowski@samsung.com>,
	Linus Walleij <linus.walleij@linaro.org>
Subject: Re: [PATCH] ARM: SAMSUNG: remove dead #elif CONFIG_S3C24XX_DMAC
Date: Thu, 18 Dec 2014 20:03:58 +0100	[thread overview]
Message-ID: <1645416.VNQj8YWB7M@phil> (raw)
In-Reply-To: <CABv5NL_SLyY9-yookdTVdNXzCmUEqJ_QB6ofzw_q0H7Vcwbzfg@mail.gmail.com>

Hi Stefan,

Am Donnerstag, 18. Dezember 2014, 14:43:01 schrieb Stefan Hengelein:
> So you actually tested the code I removed in the patch? can you
> provide a configuration that compiles that piece of code?

Yep, one of my boards (Asus eeeReader DR-900) was actually able to transmit
stuff via the libertas spi wifi driver using the s3c64xx-spi driver.

The smdk2416 is currently the only board for the s3c2416 in the kernel. I don't
know if it had actual spi devices connected, but if it had, a suitable diff would
look something like the diff below. Of course hooking up spi devices would
work the same in any out-of-tree board for the supported socs.


For people reading along, the s3c24xx spi distribution is as follows:
s3c2410, s3c2412, s3c2440: (I think) two s3c24xx-spi
s3c2443: one s3c64xx-spi and one s3c24xx-spi
s3c2416: one s3c64xx-spi
s3c2450: two s3c64xx-spi


Heiko


------------ 8< ------------
diff --git a/arch/arm/mach-s3c24xx/Kconfig b/arch/arm/mach-s3c24xx/Kconfig
index 9eb2229..5210e5d 100644
--- a/arch/arm/mach-s3c24xx/Kconfig
+++ b/arch/arm/mach-s3c24xx/Kconfig
@@ -419,6 +419,8 @@ config MACH_SMDK2416
 	select S3C_DEV_HSMMC1
 	select S3C_DEV_NAND
 	select S3C_DEV_USB_HOST
+	select S3C64XX_DEV_SPI0
+	select S3C2443_SETUP_SPI
 	help
 	  Say Y here if you are using an SMDK2416
 
diff --git a/arch/arm/mach-s3c24xx/mach-smdk2416.c b/arch/arm/mach-s3c24xx/mach-smdk2416.c
index 86394f7..b6c6ff4 100644
--- a/arch/arm/mach-s3c24xx/mach-smdk2416.c
+++ b/arch/arm/mach-s3c24xx/mach-smdk2416.c
@@ -52,6 +52,9 @@
 #include <linux/platform_data/s3c-hsudc.h>
 #include <plat/samsung-time.h>
 
+#include <linux/spi/spi.h>
+#include <linux/platform_data/spi-s3c64xx.h>
+
 #include <plat/fb.h>
 
 #include "common.h"
@@ -207,6 +210,26 @@ static struct s3c_sdhci_platdata smdk2416_hsmmc1_pdata __initdata = {
 	.cd_type		= S3C_SDHCI_CD_NONE,
 };
 
+struct s3c64xx_spi_csinfo libertas_cs_info = {
+	.fb_delay = 0,
+	.line = 128, /* gpio cs line */
+};
+
+
+static struct spi_board_info spi_board_info[] = {
+    {
+	.modalias		= "libertas_spi",
+	.max_speed_hz		= 1200000,
+	.bus_num		= 0,
+	.irq			= 12, /* some interrupt number */
+	.chip_select		= 0,
+	.mode			= SPI_MODE_3,
+	.controller_data	= &libertas_cs_info,
+/*	.platform_data		= &foo1_pdata, */
+    },
+};
+
+
 static struct platform_device *smdk2416_devices[] __initdata = {
 	&s3c_device_fb,
 	&s3c_device_wdt,
@@ -216,6 +239,7 @@ static struct platform_device *smdk2416_devices[] __initdata = {
 	&s3c_device_hsmmc1,
 	&s3c_device_usb_hsudc,
 	&s3c2443_device_dma,
+	&s3c64xx_device_spi0,
 };
 
 static void __init smdk2416_init_time(void)
@@ -250,6 +274,9 @@ static void __init smdk2416_machine_init(void)
 	gpio_request(S3C2410_GPB(1), "Display Reset");
 	gpio_direction_output(S3C2410_GPB(1), 1);
 
+	s3c64xx_spi0_set_platdata(NULL, 0, ARRAY_SIZE(spi_board_info));
+	spi_register_board_info(spi_board_info, ARRAY_SIZE(spi_board_info));
+
 	platform_add_devices(smdk2416_devices, ARRAY_SIZE(smdk2416_devices));
 	smdk_machine_init();
 }
diff --git a/arch/arm/mach-s3c24xx/setup-spi.c b/arch/arm/mach-s3c24xx/setup-spi.c
index 3d47e02..d66c4e0 100644
--- a/arch/arm/mach-s3c24xx/setup-spi.c
+++ b/arch/arm/mach-s3c24xx/setup-spi.c
@@ -16,6 +16,7 @@
 
 #include <mach/hardware.h>
 #include <mach/regs-gpio.h>
+#include <mach/gpio-samsung.h>
 
 #ifdef CONFIG_S3C64XX_DEV_SPI0
 int s3c64xx_spi0_cfg_gpio(void)

WARNING: multiple messages have this Message-ID (diff)
From: heiko@sntech.de (Heiko Stübner)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] ARM: SAMSUNG: remove dead #elif CONFIG_S3C24XX_DMAC
Date: Thu, 18 Dec 2014 20:03:58 +0100	[thread overview]
Message-ID: <1645416.VNQj8YWB7M@phil> (raw)
In-Reply-To: <CABv5NL_SLyY9-yookdTVdNXzCmUEqJ_QB6ofzw_q0H7Vcwbzfg@mail.gmail.com>

Hi Stefan,

Am Donnerstag, 18. Dezember 2014, 14:43:01 schrieb Stefan Hengelein:
> So you actually tested the code I removed in the patch? can you
> provide a configuration that compiles that piece of code?

Yep, one of my boards (Asus eeeReader DR-900) was actually able to transmit
stuff via the libertas spi wifi driver using the s3c64xx-spi driver.

The smdk2416 is currently the only board for the s3c2416 in the kernel. I don't
know if it had actual spi devices connected, but if it had, a suitable diff would
look something like the diff below. Of course hooking up spi devices would
work the same in any out-of-tree board for the supported socs.


For people reading along, the s3c24xx spi distribution is as follows:
s3c2410, s3c2412, s3c2440: (I think) two s3c24xx-spi
s3c2443: one s3c64xx-spi and one s3c24xx-spi
s3c2416: one s3c64xx-spi
s3c2450: two s3c64xx-spi


Heiko


------------ 8< ------------
diff --git a/arch/arm/mach-s3c24xx/Kconfig b/arch/arm/mach-s3c24xx/Kconfig
index 9eb2229..5210e5d 100644
--- a/arch/arm/mach-s3c24xx/Kconfig
+++ b/arch/arm/mach-s3c24xx/Kconfig
@@ -419,6 +419,8 @@ config MACH_SMDK2416
 	select S3C_DEV_HSMMC1
 	select S3C_DEV_NAND
 	select S3C_DEV_USB_HOST
+	select S3C64XX_DEV_SPI0
+	select S3C2443_SETUP_SPI
 	help
 	  Say Y here if you are using an SMDK2416
 
diff --git a/arch/arm/mach-s3c24xx/mach-smdk2416.c b/arch/arm/mach-s3c24xx/mach-smdk2416.c
index 86394f7..b6c6ff4 100644
--- a/arch/arm/mach-s3c24xx/mach-smdk2416.c
+++ b/arch/arm/mach-s3c24xx/mach-smdk2416.c
@@ -52,6 +52,9 @@
 #include <linux/platform_data/s3c-hsudc.h>
 #include <plat/samsung-time.h>
 
+#include <linux/spi/spi.h>
+#include <linux/platform_data/spi-s3c64xx.h>
+
 #include <plat/fb.h>
 
 #include "common.h"
@@ -207,6 +210,26 @@ static struct s3c_sdhci_platdata smdk2416_hsmmc1_pdata __initdata = {
 	.cd_type		= S3C_SDHCI_CD_NONE,
 };
 
+struct s3c64xx_spi_csinfo libertas_cs_info = {
+	.fb_delay = 0,
+	.line = 128, /* gpio cs line */
+};
+
+
+static struct spi_board_info spi_board_info[] = {
+    {
+	.modalias		= "libertas_spi",
+	.max_speed_hz		= 1200000,
+	.bus_num		= 0,
+	.irq			= 12, /* some interrupt number */
+	.chip_select		= 0,
+	.mode			= SPI_MODE_3,
+	.controller_data	= &libertas_cs_info,
+/*	.platform_data		= &foo1_pdata, */
+    },
+};
+
+
 static struct platform_device *smdk2416_devices[] __initdata = {
 	&s3c_device_fb,
 	&s3c_device_wdt,
@@ -216,6 +239,7 @@ static struct platform_device *smdk2416_devices[] __initdata = {
 	&s3c_device_hsmmc1,
 	&s3c_device_usb_hsudc,
 	&s3c2443_device_dma,
+	&s3c64xx_device_spi0,
 };
 
 static void __init smdk2416_init_time(void)
@@ -250,6 +274,9 @@ static void __init smdk2416_machine_init(void)
 	gpio_request(S3C2410_GPB(1), "Display Reset");
 	gpio_direction_output(S3C2410_GPB(1), 1);
 
+	s3c64xx_spi0_set_platdata(NULL, 0, ARRAY_SIZE(spi_board_info));
+	spi_register_board_info(spi_board_info, ARRAY_SIZE(spi_board_info));
+
 	platform_add_devices(smdk2416_devices, ARRAY_SIZE(smdk2416_devices));
 	smdk_machine_init();
 }
diff --git a/arch/arm/mach-s3c24xx/setup-spi.c b/arch/arm/mach-s3c24xx/setup-spi.c
index 3d47e02..d66c4e0 100644
--- a/arch/arm/mach-s3c24xx/setup-spi.c
+++ b/arch/arm/mach-s3c24xx/setup-spi.c
@@ -16,6 +16,7 @@
 
 #include <mach/hardware.h>
 #include <mach/regs-gpio.h>
+#include <mach/gpio-samsung.h>
 
 #ifdef CONFIG_S3C64XX_DEV_SPI0
 int s3c64xx_spi0_cfg_gpio(void)

  reply	other threads:[~2014-12-18 19:04 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-17 15:40 [PATCH] ARM: SAMSUNG: remove dead #elif CONFIG_S3C24XX_DMAC Stefan Hengelein
2014-12-17 15:40 ` Stefan Hengelein
2014-12-17 15:40 ` Stefan Hengelein
2014-12-17 15:52 ` Arnd Bergmann
2014-12-17 15:52   ` Arnd Bergmann
2014-12-17 16:16   ` Heiko Stübner
2014-12-17 16:16     ` Heiko Stübner
2014-12-18 13:43     ` Stefan Hengelein
2014-12-18 13:43       ` Stefan Hengelein
2014-12-18 19:03       ` Heiko Stübner [this message]
2014-12-18 19:03         ` Heiko Stübner
2014-12-19 14:15         ` Stefan Hengelein
2014-12-19 14:15           ` Stefan Hengelein
2014-12-19 14:15           ` Stefan Hengelein
2014-12-20 20:06           ` Arnd Bergmann
2014-12-20 20:06             ` Arnd Bergmann

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=1645416.VNQj8YWB7M@phil \
    --to=heiko@sntech.de \
    --cc=arnd@arndb.de \
    --cc=kgene@kernel.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=m.szyprowski@samsung.com \
    --cc=stefan.hengelein@fau.de \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.