* [PATCH 1/1 v2] of_spi: add generic binding support to specify cs gpio
[not found] <20121115165048.543FE3E194B@localhost>
@ 2012-11-15 19:19 ` Jean-Christophe PLAGNIOL-VILLARD
2012-11-21 15:17 ` Grant Likely
0 siblings, 1 reply; 8+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2012-11-15 19:19 UTC (permalink / raw)
To: linux-arm-kernel
This will allow to use gpio for chip select with no modification in the
driver binding
When use the cs-gpios, the gpio number will be passed via the cs_gpio field
and the number of chip select will automatically increased with max(hw cs, gpio cs).
So if for example the controller has 2 CS lines, and the cs-gpios
property looks like this:
cs-gpios = <&gpio1 0 0> <0> <&gpio1 1 0> <&gpio1 2 0>;
Then it should be configured so that num_chipselect = 4 with the
following mapping:
cs0 : &gpio1 0 0
cs1 : native
cs2 : &gpio1 1 0
cs3 : &gpio1 2 0
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Cc: devicetree-discuss at lists.ozlabs.org
Cc: spi-devel-general at lists.sourceforge.net
Signed-off-by: Richard Genoud <richard.genoud@gmail.com>
---
v2:
update to allow to overwrite hw gpio via cs-gpio
as sugested by Grant
Best Regards,
J.
Documentation/devicetree/bindings/spi/spi-bus.txt | 20 ++++++++
drivers/spi/spi.c | 54 +++++++++++++++++++--
include/linux/spi/spi.h | 3 ++
3 files changed, 74 insertions(+), 3 deletions(-)
diff --git a/Documentation/devicetree/bindings/spi/spi-bus.txt b/Documentation/devicetree/bindings/spi/spi-bus.txt
index d2c33d0..77a8b0d 100644
--- a/Documentation/devicetree/bindings/spi/spi-bus.txt
+++ b/Documentation/devicetree/bindings/spi/spi-bus.txt
@@ -12,6 +12,7 @@ The SPI master node requires the following properties:
- #size-cells - should be zero.
- compatible - name of SPI bus controller following generic names
recommended practice.
+- cs-gpios - (optional) gpios chip select.
No other properties are required in the SPI bus node. It is assumed
that a driver for an SPI bus device will understand that it is an SPI bus.
However, the binding does not attempt to define the specific method for
@@ -24,6 +25,22 @@ support describing the chip select layout.
Optional property:
- num-cs : total number of chipselects
+If cs-gpios is used the number of chip select will automatically increased
+with max(cs-gpios > hw cs)
+
+So if for example the controller has 2 CS lines, and the cs-gpios
+property looks like this:
+
+cs-gpios = <&gpio1 0 0> <0> <&gpio1 1 0> <&gpio1 2 0>;
+
+Then it should be configured so that num_chipselect = 4 with the
+following mapping:
+
+cs0 : &gpio1 0 0
+cs1 : native
+cs2 : &gpio1 1 0
+cs3 : &gpio1 2 0
+
SPI slave nodes must be children of the SPI master node and can
contain the following properties.
- reg - (required) chip select address of device.
@@ -37,6 +54,9 @@ contain the following properties.
- spi-cs-high - (optional) Empty property indicating device requires
chip select active high
+If a gpio chipselect is used for the SPI slave the gpio number will be passed
+via the cs_gpio
+
SPI example for an MPC5200 SPI bus:
spi at f00 {
#address-cells = <1>;
diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c
index fc0da39..efb635f 100644
--- a/drivers/spi/spi.c
+++ b/drivers/spi/spi.c
@@ -30,6 +30,7 @@
#include <linux/slab.h>
#include <linux/mod_devicetable.h>
#include <linux/spi/spi.h>
+#include <linux/of_gpio.h>
#include <linux/pm_runtime.h>
#include <linux/export.h>
#include <linux/sched.h>
@@ -327,6 +328,7 @@ struct spi_device *spi_alloc_device(struct spi_master *master)
spi->dev.parent = &master->dev;
spi->dev.bus = &spi_bus_type;
spi->dev.release = spidev_release;
+ spi->cs_gpio = -EINVAL;
device_initialize(&spi->dev);
return spi;
}
@@ -344,15 +346,16 @@ EXPORT_SYMBOL_GPL(spi_alloc_device);
int spi_add_device(struct spi_device *spi)
{
static DEFINE_MUTEX(spi_add_lock);
- struct device *dev = spi->master->dev.parent;
+ struct spi_master *master = spi->master;
+ struct device *dev = master->dev.parent;
struct device *d;
int status;
/* Chipselects are numbered 0..max; validate. */
- if (spi->chip_select >= spi->master->num_chipselect) {
+ if (spi->chip_select >= master->num_chipselect) {
dev_err(dev, "cs%d >= max %d\n",
spi->chip_select,
- spi->master->num_chipselect);
+ master->num_chipselect);
return -EINVAL;
}
@@ -376,6 +379,9 @@ int spi_add_device(struct spi_device *spi)
goto done;
}
+ if (master->cs_gpios)
+ spi->cs_gpio = master->cs_gpios[spi->chip_select];
+
/* Drivers may modify this initial i/o setup, but will
* normally rely on the device being setup. Devices
* using SPI_CS_HIGH can't coexist well otherwise...
@@ -949,6 +955,44 @@ struct spi_master *spi_alloc_master(struct device *dev, unsigned size)
}
EXPORT_SYMBOL_GPL(spi_alloc_master);
+#ifdef CONFIG_OF
+static int of_spi_register_master(struct spi_master *master)
+{
+ int nb, i;
+ int *cs;
+ struct device_node *np = master->dev.of_node;
+
+ if (!np)
+ return 0;
+
+ nb = of_gpio_named_count(np, "cs-gpios");
+ master->num_chipselect = max(nb, master->num_chipselect);
+
+ if (nb < 1)
+ return 0;
+
+ cs = devm_kzalloc(&master->dev,
+ sizeof(int) * master->num_chipselect,
+ GFP_KERNEL);
+ master->cs_gpios = cs;
+
+ if (!master->cs_gpios)
+ return -ENOMEM;
+
+ memset(cs, -EINVAL, master->num_chipselect);
+
+ for (i = 0; i < nb; i++)
+ cs[i] = of_get_named_gpio(np, "cs-gpios", i);
+
+ return 0;
+}
+#else
+static int of_spi_register_master(struct spi_master *master)
+{
+ return 0;
+}
+#endif
+
/**
* spi_register_master - register SPI master controller
* @master: initialized master, originally from spi_alloc_master()
@@ -980,6 +1024,10 @@ int spi_register_master(struct spi_master *master)
if (!dev)
return -ENODEV;
+ status = of_spi_register_master(master);
+ if (status)
+ return status;
+
/* even if it's just one always-selected device, there must
* be@least one chipselect
*/
diff --git a/include/linux/spi/spi.h b/include/linux/spi/spi.h
index fa702ae..f629189 100644
--- a/include/linux/spi/spi.h
+++ b/include/linux/spi/spi.h
@@ -90,6 +90,7 @@ struct spi_device {
void *controller_state;
void *controller_data;
char modalias[SPI_NAME_SIZE];
+ int cs_gpio; /* chip select gpio */
/*
* likely need more hooks for more protocol options affecting how
@@ -362,6 +363,8 @@ struct spi_master {
int (*transfer_one_message)(struct spi_master *master,
struct spi_message *mesg);
int (*unprepare_transfer_hardware)(struct spi_master *master);
+ /* gpio chip select */
+ int *cs_gpios;
};
static inline void *spi_master_get_devdata(struct spi_master *master)
--
1.7.10.4
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 1/1 v2] of_spi: add generic binding support to specify cs gpio
2012-11-15 19:19 ` [PATCH 1/1 v2] of_spi: add generic binding support to specify cs gpio Jean-Christophe PLAGNIOL-VILLARD
@ 2012-11-21 15:17 ` Grant Likely
2012-11-23 12:44 ` [PATCH 1/1] spi/atmel: add DT support Jean-Christophe PLAGNIOL-VILLARD
0 siblings, 1 reply; 8+ messages in thread
From: Grant Likely @ 2012-11-21 15:17 UTC (permalink / raw)
To: linux-arm-kernel
On Thu, 15 Nov 2012 20:19:57 +0100, Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> wrote:
> This will allow to use gpio for chip select with no modification in the
> driver binding
>
> When use the cs-gpios, the gpio number will be passed via the cs_gpio field
> and the number of chip select will automatically increased with max(hw cs, gpio cs).
>
> So if for example the controller has 2 CS lines, and the cs-gpios
> property looks like this:
>
> cs-gpios = <&gpio1 0 0> <0> <&gpio1 1 0> <&gpio1 2 0>;
>
> Then it should be configured so that num_chipselect = 4 with the
> following mapping:
>
> cs0 : &gpio1 0 0
> cs1 : native
> cs2 : &gpio1 1 0
> cs3 : &gpio1 2 0
>
> Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
> Cc: devicetree-discuss at lists.ozlabs.org
> Cc: spi-devel-general at lists.sourceforge.net
> Signed-off-by: Richard Genoud <richard.genoud@gmail.com>
Applied, thanks.
g.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 1/1] spi/atmel: add DT support
2012-11-21 15:17 ` Grant Likely
@ 2012-11-23 12:44 ` Jean-Christophe PLAGNIOL-VILLARD
2012-11-23 13:37 ` Nicolas Ferre
0 siblings, 1 reply; 8+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2012-11-23 12:44 UTC (permalink / raw)
To: linux-arm-kernel
the atmel_spi use only gpio for chip select
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Cc: spi-devel-general at lists.sourceforge.net
Cc: Grant Likely <grant.likely@secretlab.ca>
---
Hi Grant,
can we have this for 3.8
This patch is presetnt on the ML sing Feb 2012 and was depinding on
the cs-gpio dt that you just apply
Best Regards,
J.
.../devicetree/bindings/spi/spi_atmel.txt | 26 ++++++++++++++++++++
drivers/spi/spi-atmel.c | 17 ++++++++++++-
2 files changed, 42 insertions(+), 1 deletion(-)
create mode 100644 Documentation/devicetree/bindings/spi/spi_atmel.txt
diff --git a/Documentation/devicetree/bindings/spi/spi_atmel.txt b/Documentation/devicetree/bindings/spi/spi_atmel.txt
new file mode 100644
index 0000000..07e04cd
--- /dev/null
+++ b/Documentation/devicetree/bindings/spi/spi_atmel.txt
@@ -0,0 +1,26 @@
+Atmel SPI device
+
+Required properties:
+- compatible : should be "atmel,at91rm9200-spi".
+- reg: Address and length of the register set for the device
+- interrupts: Should contain spi interrupt
+- cs-gpios: chipselects
+
+Example:
+
+spi1: spi at fffcc000 {
+ compatible = "atmel,at91rm9200-spi";
+ reg = <0xfffcc000 0x4000>;
+ interrupts = <13 4 5>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ cs-gpios = <&pioB 3 0>;
+ status = "okay";
+
+ mmc-slot at 0 {
+ compatible = "mmc-spi-slot";
+ reg = <0>;
+ gpios = <&pioC 4 0>; /* CD */
+ spi-max-frequency = <25000000>;
+ };
+};
diff --git a/drivers/spi/spi-atmel.c b/drivers/spi/spi-atmel.c
index 61fb0ec..1615222 100644
--- a/drivers/spi/spi-atmel.c
+++ b/drivers/spi/spi-atmel.c
@@ -20,6 +20,7 @@
#include <linux/spi/spi.h>
#include <linux/slab.h>
#include <linux/platform_data/atmel.h>
+#include <linux/of.h>
#include <asm/io.h>
#include <asm/gpio.h>
@@ -768,6 +769,10 @@ static int atmel_spi_setup(struct spi_device *spi)
/* chipselect must have been muxed as GPIO (e.g. in board setup) */
npcs_pin = (unsigned int)spi->controller_data;
+
+ if (gpio_is_valid(spi->cs_gpio))
+ npcs_pin = spi->cs_gpio;
+
asd = spi->controller_state;
if (!asd) {
asd = kzalloc(sizeof(struct atmel_spi_device), GFP_KERNEL);
@@ -937,8 +942,9 @@ static int __devinit atmel_spi_probe(struct platform_device *pdev)
/* the spi->mode bits understood by this driver: */
master->mode_bits = SPI_CPOL | SPI_CPHA | SPI_CS_HIGH;
+ master->dev.of_node = pdev->dev.of_node;
master->bus_num = pdev->id;
- master->num_chipselect = 4;
+ master->num_chipselect = master->dev.of_node ? 0 : 4;
master->setup = atmel_spi_setup;
master->transfer = atmel_spi_transfer;
master->cleanup = atmel_spi_cleanup;
@@ -1064,11 +1070,20 @@ static int atmel_spi_resume(struct platform_device *pdev)
#define atmel_spi_resume NULL
#endif
+#if defined(CONFIG_OF)
+static const struct of_device_id atmel_spi_dt_ids[] = {
+ { .compatible = "atmel,at91rm9200-spi" },
+ { /* sentinel */ }
+};
+
+MODULE_DEVICE_TABLE(of, atmel_spi_dt_ids);
+#endif
static struct platform_driver atmel_spi_driver = {
.driver = {
.name = "atmel_spi",
.owner = THIS_MODULE,
+ .of_match_table = of_match_ptr(atmel_spi_dt_ids),
},
.suspend = atmel_spi_suspend,
.resume = atmel_spi_resume,
--
1.7.10.4
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 1/1] spi/atmel: add DT support
2012-11-23 12:44 ` [PATCH 1/1] spi/atmel: add DT support Jean-Christophe PLAGNIOL-VILLARD
@ 2012-11-23 13:37 ` Nicolas Ferre
2012-12-12 15:13 ` Jean-Christophe PLAGNIOL-VILLARD
0 siblings, 1 reply; 8+ messages in thread
From: Nicolas Ferre @ 2012-11-23 13:37 UTC (permalink / raw)
To: linux-arm-kernel
On 11/23/2012 01:44 PM, Jean-Christophe PLAGNIOL-VILLARD :
> the atmel_spi use only gpio for chip select
>
> Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Seems simple and nice:
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
> Cc: spi-devel-general at lists.sourceforge.net
> Cc: Grant Likely <grant.likely@secretlab.ca>
> ---
> Hi Grant,
>
> can we have this for 3.8
> This patch is presetnt on the ML sing Feb 2012 and was depinding on
> the cs-gpio dt that you just apply
>
> Best Regards,
> J.
> .../devicetree/bindings/spi/spi_atmel.txt | 26 ++++++++++++++++++++
> drivers/spi/spi-atmel.c | 17 ++++++++++++-
> 2 files changed, 42 insertions(+), 1 deletion(-)
> create mode 100644 Documentation/devicetree/bindings/spi/spi_atmel.txt
>
> diff --git a/Documentation/devicetree/bindings/spi/spi_atmel.txt b/Documentation/devicetree/bindings/spi/spi_atmel.txt
> new file mode 100644
> index 0000000..07e04cd
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/spi/spi_atmel.txt
> @@ -0,0 +1,26 @@
> +Atmel SPI device
> +
> +Required properties:
> +- compatible : should be "atmel,at91rm9200-spi".
> +- reg: Address and length of the register set for the device
> +- interrupts: Should contain spi interrupt
> +- cs-gpios: chipselects
> +
> +Example:
> +
> +spi1: spi at fffcc000 {
> + compatible = "atmel,at91rm9200-spi";
> + reg = <0xfffcc000 0x4000>;
> + interrupts = <13 4 5>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + cs-gpios = <&pioB 3 0>;
> + status = "okay";
> +
> + mmc-slot at 0 {
> + compatible = "mmc-spi-slot";
> + reg = <0>;
> + gpios = <&pioC 4 0>; /* CD */
> + spi-max-frequency = <25000000>;
> + };
> +};
> diff --git a/drivers/spi/spi-atmel.c b/drivers/spi/spi-atmel.c
> index 61fb0ec..1615222 100644
> --- a/drivers/spi/spi-atmel.c
> +++ b/drivers/spi/spi-atmel.c
> @@ -20,6 +20,7 @@
> #include <linux/spi/spi.h>
> #include <linux/slab.h>
> #include <linux/platform_data/atmel.h>
> +#include <linux/of.h>
>
> #include <asm/io.h>
> #include <asm/gpio.h>
> @@ -768,6 +769,10 @@ static int atmel_spi_setup(struct spi_device *spi)
>
> /* chipselect must have been muxed as GPIO (e.g. in board setup) */
> npcs_pin = (unsigned int)spi->controller_data;
> +
> + if (gpio_is_valid(spi->cs_gpio))
> + npcs_pin = spi->cs_gpio;
> +
> asd = spi->controller_state;
> if (!asd) {
> asd = kzalloc(sizeof(struct atmel_spi_device), GFP_KERNEL);
> @@ -937,8 +942,9 @@ static int __devinit atmel_spi_probe(struct platform_device *pdev)
> /* the spi->mode bits understood by this driver: */
> master->mode_bits = SPI_CPOL | SPI_CPHA | SPI_CS_HIGH;
>
> + master->dev.of_node = pdev->dev.of_node;
> master->bus_num = pdev->id;
> - master->num_chipselect = 4;
> + master->num_chipselect = master->dev.of_node ? 0 : 4;
> master->setup = atmel_spi_setup;
> master->transfer = atmel_spi_transfer;
> master->cleanup = atmel_spi_cleanup;
> @@ -1064,11 +1070,20 @@ static int atmel_spi_resume(struct platform_device *pdev)
> #define atmel_spi_resume NULL
> #endif
>
> +#if defined(CONFIG_OF)
> +static const struct of_device_id atmel_spi_dt_ids[] = {
> + { .compatible = "atmel,at91rm9200-spi" },
> + { /* sentinel */ }
> +};
> +
> +MODULE_DEVICE_TABLE(of, atmel_spi_dt_ids);
> +#endif
>
> static struct platform_driver atmel_spi_driver = {
> .driver = {
> .name = "atmel_spi",
> .owner = THIS_MODULE,
> + .of_match_table = of_match_ptr(atmel_spi_dt_ids),
> },
> .suspend = atmel_spi_suspend,
> .resume = atmel_spi_resume,
>
--
Nicolas Ferre
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 1/1] spi/atmel: add DT support
2012-11-23 13:37 ` Nicolas Ferre
@ 2012-12-12 15:13 ` Jean-Christophe PLAGNIOL-VILLARD
2012-12-15 1:03 ` Grant Likely
0 siblings, 1 reply; 8+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2012-12-12 15:13 UTC (permalink / raw)
To: linux-arm-kernel
On 14:37 Fri 23 Nov , Nicolas Ferre wrote:
> On 11/23/2012 01:44 PM, Jean-Christophe PLAGNIOL-VILLARD :
> > the atmel_spi use only gpio for chip select
> >
> > Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
>
> Seems simple and nice:
>
> Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
grant is ok to have this for 3.8?
Best Regards,
J.
>
> > Cc: spi-devel-general at lists.sourceforge.net
> > Cc: Grant Likely <grant.likely@secretlab.ca>
> > ---
> > Hi Grant,
> >
> > can we have this for 3.8
> > This patch is presetnt on the ML sing Feb 2012 and was depinding on
> > the cs-gpio dt that you just apply
> >
> > Best Regards,
> > J.
> > .../devicetree/bindings/spi/spi_atmel.txt | 26 ++++++++++++++++++++
> > drivers/spi/spi-atmel.c | 17 ++++++++++++-
> > 2 files changed, 42 insertions(+), 1 deletion(-)
> > create mode 100644 Documentation/devicetree/bindings/spi/spi_atmel.txt
> >
> > diff --git a/Documentation/devicetree/bindings/spi/spi_atmel.txt b/Documentation/devicetree/bindings/spi/spi_atmel.txt
> > new file mode 100644
> > index 0000000..07e04cd
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/spi/spi_atmel.txt
> > @@ -0,0 +1,26 @@
> > +Atmel SPI device
> > +
> > +Required properties:
> > +- compatible : should be "atmel,at91rm9200-spi".
> > +- reg: Address and length of the register set for the device
> > +- interrupts: Should contain spi interrupt
> > +- cs-gpios: chipselects
> > +
> > +Example:
> > +
> > +spi1: spi at fffcc000 {
> > + compatible = "atmel,at91rm9200-spi";
> > + reg = <0xfffcc000 0x4000>;
> > + interrupts = <13 4 5>;
> > + #address-cells = <1>;
> > + #size-cells = <0>;
> > + cs-gpios = <&pioB 3 0>;
> > + status = "okay";
> > +
> > + mmc-slot at 0 {
> > + compatible = "mmc-spi-slot";
> > + reg = <0>;
> > + gpios = <&pioC 4 0>; /* CD */
> > + spi-max-frequency = <25000000>;
> > + };
> > +};
> > diff --git a/drivers/spi/spi-atmel.c b/drivers/spi/spi-atmel.c
> > index 61fb0ec..1615222 100644
> > --- a/drivers/spi/spi-atmel.c
> > +++ b/drivers/spi/spi-atmel.c
> > @@ -20,6 +20,7 @@
> > #include <linux/spi/spi.h>
> > #include <linux/slab.h>
> > #include <linux/platform_data/atmel.h>
> > +#include <linux/of.h>
> >
> > #include <asm/io.h>
> > #include <asm/gpio.h>
> > @@ -768,6 +769,10 @@ static int atmel_spi_setup(struct spi_device *spi)
> >
> > /* chipselect must have been muxed as GPIO (e.g. in board setup) */
> > npcs_pin = (unsigned int)spi->controller_data;
> > +
> > + if (gpio_is_valid(spi->cs_gpio))
> > + npcs_pin = spi->cs_gpio;
> > +
> > asd = spi->controller_state;
> > if (!asd) {
> > asd = kzalloc(sizeof(struct atmel_spi_device), GFP_KERNEL);
> > @@ -937,8 +942,9 @@ static int __devinit atmel_spi_probe(struct platform_device *pdev)
> > /* the spi->mode bits understood by this driver: */
> > master->mode_bits = SPI_CPOL | SPI_CPHA | SPI_CS_HIGH;
> >
> > + master->dev.of_node = pdev->dev.of_node;
> > master->bus_num = pdev->id;
> > - master->num_chipselect = 4;
> > + master->num_chipselect = master->dev.of_node ? 0 : 4;
> > master->setup = atmel_spi_setup;
> > master->transfer = atmel_spi_transfer;
> > master->cleanup = atmel_spi_cleanup;
> > @@ -1064,11 +1070,20 @@ static int atmel_spi_resume(struct platform_device *pdev)
> > #define atmel_spi_resume NULL
> > #endif
> >
> > +#if defined(CONFIG_OF)
> > +static const struct of_device_id atmel_spi_dt_ids[] = {
> > + { .compatible = "atmel,at91rm9200-spi" },
> > + { /* sentinel */ }
> > +};
> > +
> > +MODULE_DEVICE_TABLE(of, atmel_spi_dt_ids);
> > +#endif
> >
> > static struct platform_driver atmel_spi_driver = {
> > .driver = {
> > .name = "atmel_spi",
> > .owner = THIS_MODULE,
> > + .of_match_table = of_match_ptr(atmel_spi_dt_ids),
> > },
> > .suspend = atmel_spi_suspend,
> > .resume = atmel_spi_resume,
> >
>
>
> --
> Nicolas Ferre
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 1/1] spi/atmel: add DT support
2012-12-12 15:13 ` Jean-Christophe PLAGNIOL-VILLARD
@ 2012-12-15 1:03 ` Grant Likely
2012-12-17 10:13 ` Jean-Christophe PLAGNIOL-VILLARD
0 siblings, 1 reply; 8+ messages in thread
From: Grant Likely @ 2012-12-15 1:03 UTC (permalink / raw)
To: linux-arm-kernel
On Wed, 12 Dec 2012 16:13:08 +0100, Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> wrote:
> On 14:37 Fri 23 Nov , Nicolas Ferre wrote:
> > On 11/23/2012 01:44 PM, Jean-Christophe PLAGNIOL-VILLARD :
> > > the atmel_spi use only gpio for chip select
> > >
> > > Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
> >
> > Seems simple and nice:
> >
> > Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
> grant is ok to have this for 3.8?
Not sure how I missed this one. It's pretty straight forward and not
risky, so no problem. However;
> > > the atmel_spi use only gpio for chip select
I know you know how to write a proper commit message. I'll need
something better than the above before I commit it. I won't make you
resubmit the patch, but do send me a better description.
g.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 1/1] spi/atmel: add DT support
2012-12-15 1:03 ` Grant Likely
@ 2012-12-17 10:13 ` Jean-Christophe PLAGNIOL-VILLARD
2012-12-17 17:15 ` Grant Likely
0 siblings, 1 reply; 8+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2012-12-17 10:13 UTC (permalink / raw)
To: linux-arm-kernel
On 01:03 Sat 15 Dec , Grant Likely wrote:
> On Wed, 12 Dec 2012 16:13:08 +0100, Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> wrote:
> > On 14:37 Fri 23 Nov , Nicolas Ferre wrote:
> > > On 11/23/2012 01:44 PM, Jean-Christophe PLAGNIOL-VILLARD :
> > > > the atmel_spi use only gpio for chip select
> > > >
> > > > Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
> > >
> > > Seems simple and nice:
> > >
> > > Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
> > grant is ok to have this for 3.8?
>
> Not sure how I missed this one. It's pretty straight forward and not
> risky, so no problem. However;
>
> > > > the atmel_spi use only gpio for chip select
>
> I know you know how to write a proper commit message. I'll need
> something better than the above before I commit it. I won't make you
> resubmit the patch, but do send me a better description.
>
ok replace with this please
spi/atmel: add DT support
Use the newly introduce cs-gpios dt support on atmel.
We do not use the hardware cs as it's wired and have buges and limitations.
As the the controller's belief that only active-low devices/systems exists.
As done on non-dt system.
Best Regards,
J.
> g.
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 1/1] spi/atmel: add DT support
2012-12-17 10:13 ` Jean-Christophe PLAGNIOL-VILLARD
@ 2012-12-17 17:15 ` Grant Likely
0 siblings, 0 replies; 8+ messages in thread
From: Grant Likely @ 2012-12-17 17:15 UTC (permalink / raw)
To: linux-arm-kernel
On Mon, 17 Dec 2012 11:13:51 +0100, Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> wrote:
> On 01:03 Sat 15 Dec , Grant Likely wrote:
> > On Wed, 12 Dec 2012 16:13:08 +0100, Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> wrote:
> > > On 14:37 Fri 23 Nov , Nicolas Ferre wrote:
> > > > On 11/23/2012 01:44 PM, Jean-Christophe PLAGNIOL-VILLARD :
> > > > > the atmel_spi use only gpio for chip select
> > > > >
> > > > > Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
> > > >
> > > > Seems simple and nice:
> > > >
> > > > Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
> > > grant is ok to have this for 3.8?
> >
> > Not sure how I missed this one. It's pretty straight forward and not
> > risky, so no problem. However;
> >
> > > > > the atmel_spi use only gpio for chip select
> >
> > I know you know how to write a proper commit message. I'll need
> > something better than the above before I commit it. I won't make you
> > resubmit the patch, but do send me a better description.
> >
> ok replace with this please
>
> spi/atmel: add DT support
>
> Use the newly introduce cs-gpios dt support on atmel.
> We do not use the hardware cs as it's wired and have buges and limitations.
> As the the controller's belief that only active-low devices/systems exists.
>
> As done on non-dt system.
Done, thanks.
g.
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2012-12-17 17:15 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20121115165048.543FE3E194B@localhost>
2012-11-15 19:19 ` [PATCH 1/1 v2] of_spi: add generic binding support to specify cs gpio Jean-Christophe PLAGNIOL-VILLARD
2012-11-21 15:17 ` Grant Likely
2012-11-23 12:44 ` [PATCH 1/1] spi/atmel: add DT support Jean-Christophe PLAGNIOL-VILLARD
2012-11-23 13:37 ` Nicolas Ferre
2012-12-12 15:13 ` Jean-Christophe PLAGNIOL-VILLARD
2012-12-15 1:03 ` Grant Likely
2012-12-17 10:13 ` Jean-Christophe PLAGNIOL-VILLARD
2012-12-17 17:15 ` Grant Likely
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).