Skip to contentSkip to conversation

Add spidev to the CFA-10049

PATCH New Maxime Ripard 3 participants 7 messages Oct 31, 2012 – Nov 2, 2012

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

v2 cover Add spidev to the CFA-10049

Hi everyone,

This patchset probes spidev on the SSP3 bus where on the CFA-10049 there is a Rohm DH2228FV DAC.

It first adds the dt bindings for the spidev driver, and the proper node in the CFA-10049 device tree file.

Maxime

Changes from v1:
- Removed the linux,spidev compatible string and use the compatible strings of the devices instead.

Maxime Ripard (3):
spi: spidev: Add device tree bindings
spi: spidev: Add Rohm DH2228FV DAC compatible string
ARM: dts: cfa10049: Add the DH2228FV DAC to the DTS

 arch/arm/boot/dts/imx28-cfa10049.dts |    6 ++++++
 drivers/spi/spidev.c                 |   10 ++++++++++
 2 files changed, 16 insertions(+)
Signature · 1 line
1.7.9.5
#1 lore raw

PATCH v2 1/3 spi: spidev: Add device tree bindings

This will allow to probe spidev from device tree by adding the compatible string of each device to this array.

---
 drivers/spi/spidev.c |    9 +++++++++
 1 file changed, 9 insertions(+)
drivers/spi/spidev.c +9 -0
index 830adbe..9fc5788 100644
@@ -31,6 +31,8 @@
 #include <linux/mutex.h>
 #include <linux/slab.h>
 #include <linux/compat.h>
+#include <linux/of.h>
+#include <linux/of_device.h>
 
 #include <linux/spi/spi.h>
 #include <linux/spi/spidev.h>
@@ -642,10 +644,17 @@ static int __devexit spidev_remove(struct spi_device *spi)
 	return 0;
 }
 
+static const struct of_device_id spidev_dt_ids[] = {
+	{},
+};
+
+MODULE_DEVICE_TABLE(of, spidev_dt_ids);
+
 static struct spi_driver spidev_spi_driver = {
 	.driver = {
 		.name =		"spidev",
 		.owner =	THIS_MODULE,
+		.of_match_table = of_match_ptr(spidev_dt_ids),
 	},
 	.probe =	spidev_probe,
 	.remove =	__devexit_p(spidev_remove),
Signature · 1 line
1.7.9.5
#2 lore raw

PATCH 1/3 spi: spidev: Add device tree bindings

Quoted 2 lines · Maxime Ripard

This will allow to probe spidev from device tree by adding the compatible string of each device to this array.

Applied, thanks.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20121101/d637203f/attachment.sig>

#3 lore raw

PATCH v2 2/3 spi: spidev: Add Rohm DH2228FV DAC compatible string

In reply to Maxime Ripard

Since we don't have a driver for it yet, use spidev instead.

---
 drivers/spi/spidev.c |    1 +
 1 file changed, 1 insertion(+)
drivers/spi/spidev.c +1 -0
index 9fc5788..e44abc9 100644
@@ -645,6 +645,7 @@ static int __devexit spidev_remove(struct spi_device *spi)
 }
 
 static const struct of_device_id spidev_dt_ids[] = {
+	{ .compatible = "rohm,dh2228fv" },
 	{},
 };
 
Signature · 1 line
1.7.9.5
#5 lore raw

PATCH v2 3/3 ARM: dts: cfa10049: Add the DH2228FV DAC to the DTS

In reply to Maxime Ripard

There is no driver for it yet, so it will use spidev.

---
 arch/arm/boot/dts/imx28-cfa10049.dts |    6 ++++++
 1 file changed, 6 insertions(+)
arch/arm/boot/dts/imx28-cfa10049.dts +6 -0
index 05c892e..2ef7ce6 100644
@@ -29,6 +29,7 @@
 						0x01c1 /* MX28_PAD_GPMI_RESETN__SSP3_CMD */
 						0x0111 /* MX28_PAD_GPMI_CE1N__SSP3_D3 */
 						0x01a2 /* MX28_PAD_GPMI_ALE__SSP3_D4 */
+						0x01b2 /* MX28_PAD_GPMI_CLE__SSP3_D5 */
 					>;
 					fsl,drive-strength = <1>;
 					fsl,voltage = <1>;
@@ -60,6 +61,11 @@
 					spi-max-frequency = <100000>;
 				};
 
+				dac0: dh2228 at 2 {
+					compatible = "rohm,dh2228fv";
+					reg = <2>;
+					spi-max-frequency = <100000>;
+				};
 			};
 		};
 
Signature · 1 line
1.7.9.5
Applied
#6 lore raw

PATCH 3/3 ARM: dts: cfa10049: Add the DH2228FV DAC to the DTS

Quoted 3 lines · Maxime Ripard

There is no driver for it yet, so it will use spidev.

Applied, thanks.