* [PATCH 0/3] ARM: dts: Add spidev nodes for Exynos Chromebooks
@ 2014-11-17 17:43 Javier Martinez Canillas
2014-11-17 17:43 ` [PATCH 1/3] ARM: dts: Add SPI flash node for Peach boards Javier Martinez Canillas
` (2 more replies)
0 siblings, 3 replies; 10+ messages in thread
From: Javier Martinez Canillas @ 2014-11-17 17:43 UTC (permalink / raw)
To: linux-arm-kernel
Exynos Snow and Peach Pit/Pi Chromebooks have a serial dataflash that
is accessed through SPI. This series add spidev nodes in the Device
Tree source files so the flash can be accessed from user-space.
The series is composed of the following patches taken from the ChromeOS tree:
Doug Anderson (1):
ARM: dts: Add spidev registration to exynos5250-snow
Javier Martinez Canillas (1):
ARM: exynos_defconfig: Enable user mode SPI device support
Simon Glass (1):
ARM: dts: Add SPI flash node for Peach boards
arch/arm/boot/dts/exynos5250-snow.dts | 20 ++++++++++++++++++++
arch/arm/boot/dts/exynos5420-peach-pit.dts | 26 ++++++++++++++++++++++++++
arch/arm/boot/dts/exynos5800-peach-pi.dts | 26 ++++++++++++++++++++++++++
arch/arm/configs/exynos_defconfig | 1 +
4 files changed, 73 insertions(+)
Patch #1 adds the spidev node for the Snow Chromebook, patch #2
adds the spidev node for Peach Chromebooks and peach #3 enables
support for the user mode SPI device driver.
The series were tested on Snow and Peach using:
$ flashrom -p linux_spi:dev=/dev/spidev1.0 --get-size
$ flashrom -p linux_spi:dev=/dev/spidev1.0 --flash-name
and verify that the flash can be accessed
$ set_gbb_flags 0x39
and verify that the GBB flags could be written.
Best regards,
Javier
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 1/3] ARM: dts: Add SPI flash node for Peach boards
2014-11-17 17:43 [PATCH 0/3] ARM: dts: Add spidev nodes for Exynos Chromebooks Javier Martinez Canillas
@ 2014-11-17 17:43 ` Javier Martinez Canillas
2014-11-18 17:50 ` Doug Anderson
2014-11-17 17:43 ` [PATCH 2/3] ARM: dts: Add spidev registration to exynos5250-snow Javier Martinez Canillas
2014-11-17 17:43 ` [PATCH 3/3] ARM: exynos_defconfig: Enable user mode SPI device support Javier Martinez Canillas
2 siblings, 1 reply; 10+ messages in thread
From: Javier Martinez Canillas @ 2014-11-17 17:43 UTC (permalink / raw)
To: linux-arm-kernel
From: Simon Glass <sjg@chromium.org>
Peach Pit and Pi machines have a SPI flash memory that is used to store
firmware data and different system parameters.
Add a spidev node so the flash chip can be accessed by user-space tools.
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Doug Anderson <dianders@chromium.org>
[javier.martinez: Extend commit message]
Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
---
arch/arm/boot/dts/exynos5420-peach-pit.dts | 26 ++++++++++++++++++++++++++
arch/arm/boot/dts/exynos5800-peach-pi.dts | 26 ++++++++++++++++++++++++++
2 files changed, 52 insertions(+)
diff --git a/arch/arm/boot/dts/exynos5420-peach-pit.dts b/arch/arm/boot/dts/exynos5420-peach-pit.dts
index 9a050e1..e7c2a9f 100644
--- a/arch/arm/boot/dts/exynos5420-peach-pit.dts
+++ b/arch/arm/boot/dts/exynos5420-peach-pit.dts
@@ -703,6 +703,13 @@
samsung,pin-drv = <2>;
};
+ spi_flash_cs: spi-flash-cs {
+ samsung,pins = "gpa2-5";
+ samsung,pin-function = <1>;
+ samsung,pin-pud = <0>;
+ samsung,pin-drv = <3>;
+ };
+
usb300_vbus_en: usb300-vbus-en {
samsung,pins = "gph0-0";
samsung,pin-function = <1>;
@@ -732,6 +739,25 @@
clock-names = "rtc", "rtc_src";
};
+&spi_1 {
+ status = "okay";
+ samsung,spi-src-clk = <0>;
+ num-cs = <1>;
+ cs-gpios = <&gpa2 5 0>;
+
+ spidev at 0 {
+ compatible = "spidev";
+ reg = <0>;
+ spi-max-frequency = <50000000>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&spi_flash_cs>;
+
+ controller-data {
+ samsung,spi-feedback-delay = <2>;
+ };
+ };
+};
+
&spi_2 {
status = "okay";
num-cs = <1>;
diff --git a/arch/arm/boot/dts/exynos5800-peach-pi.dts b/arch/arm/boot/dts/exynos5800-peach-pi.dts
index e8fdda8..7a0a2a6 100644
--- a/arch/arm/boot/dts/exynos5800-peach-pi.dts
+++ b/arch/arm/boot/dts/exynos5800-peach-pi.dts
@@ -691,6 +691,13 @@
samsung,pin-drv = <2>;
};
+ spi_flash_cs: spi-flash-cs {
+ samsung,pins = "gpa2-5";
+ samsung,pin-function = <1>;
+ samsung,pin-pud = <0>;
+ samsung,pin-drv = <3>;
+ };
+
usb300_vbus_en: usb300-vbus-en {
samsung,pins = "gph0-0";
samsung,pin-function = <1>;
@@ -720,6 +727,25 @@
clock-names = "rtc", "rtc_src";
};
+&spi_1 {
+ status = "okay";
+ samsung,spi-src-clk = <0>;
+ num-cs = <1>;
+ cs-gpios = <&gpa2 5 0>;
+
+ spidev at 0 {
+ compatible = "spidev";
+ reg = <0>;
+ spi-max-frequency = <50000000>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&spi_flash_cs>;
+
+ controller-data {
+ samsung,spi-feedback-delay = <2>;
+ };
+ };
+};
+
&spi_2 {
status = "okay";
num-cs = <1>;
--
2.1.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 2/3] ARM: dts: Add spidev registration to exynos5250-snow
2014-11-17 17:43 [PATCH 0/3] ARM: dts: Add spidev nodes for Exynos Chromebooks Javier Martinez Canillas
2014-11-17 17:43 ` [PATCH 1/3] ARM: dts: Add SPI flash node for Peach boards Javier Martinez Canillas
@ 2014-11-17 17:43 ` Javier Martinez Canillas
2014-11-17 17:43 ` [PATCH 3/3] ARM: exynos_defconfig: Enable user mode SPI device support Javier Martinez Canillas
2 siblings, 0 replies; 10+ messages in thread
From: Javier Martinez Canillas @ 2014-11-17 17:43 UTC (permalink / raw)
To: linux-arm-kernel
From: Doug Anderson <dianders@chromium.org>
Exynos5250 Snow machine has a SPI flash memory that is used to store
firmware data and different system parameters.
Add a spidev node so the flash chip can be accessed by user-space tools.
Signed-off-by: Doug Anderson <dianders@chromium.org>
Reviewed-by: Olof Johansson <olofj@chromium.org>
[javier.martinez: Extend commit message]
Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
---
arch/arm/boot/dts/exynos5250-snow.dts | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/arch/arm/boot/dts/exynos5250-snow.dts b/arch/arm/boot/dts/exynos5250-snow.dts
index f9bc04b..bb0e04e 100644
--- a/arch/arm/boot/dts/exynos5250-snow.dts
+++ b/arch/arm/boot/dts/exynos5250-snow.dts
@@ -554,6 +554,13 @@
samsung,pin-drv = <0>;
};
+ spi_cs: spi-cs {
+ samsung,pins = "gpa2-5";
+ samsung,pin-function = <1>;
+ samsung,pin-pud = <0>;
+ samsung,pin-drv = <3>;
+ };
+
tps65090_irq: tps65090-irq {
samsung,pins = "gpx2-6";
samsung,pin-function = <0>;
@@ -622,6 +629,19 @@
status = "okay";
samsung,spi-src-clk = <0>;
num-cs = <1>;
+ cs-gpios = <&gpa2 5 0>;
+
+ spidev at 0 {
+ compatible = "spidev";
+ reg = <0>;
+ spi-max-frequency = <10000000>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&spi_cs>;
+
+ controller-data {
+ samsung,spi-feedback-delay = <2>;
+ };
+ };
};
&usbdrd_phy {
--
2.1.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 3/3] ARM: exynos_defconfig: Enable user mode SPI device support
2014-11-17 17:43 [PATCH 0/3] ARM: dts: Add spidev nodes for Exynos Chromebooks Javier Martinez Canillas
2014-11-17 17:43 ` [PATCH 1/3] ARM: dts: Add SPI flash node for Peach boards Javier Martinez Canillas
2014-11-17 17:43 ` [PATCH 2/3] ARM: dts: Add spidev registration to exynos5250-snow Javier Martinez Canillas
@ 2014-11-17 17:43 ` Javier Martinez Canillas
2 siblings, 0 replies; 10+ messages in thread
From: Javier Martinez Canillas @ 2014-11-17 17:43 UTC (permalink / raw)
To: linux-arm-kernel
Some Exynos boards have SPI devices such as flash memories that can be
accessed from user-space. Enable support for the SPI usermode interface.
Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
---
arch/arm/configs/exynos_defconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm/configs/exynos_defconfig b/arch/arm/configs/exynos_defconfig
index da7e9cf..5de8b58 100644
--- a/arch/arm/configs/exynos_defconfig
+++ b/arch/arm/configs/exynos_defconfig
@@ -80,6 +80,7 @@ CONFIG_I2C_CROS_EC_TUNNEL=y
CONFIG_SPI=y
CONFIG_SPI_S3C64XX=y
CONFIG_I2C_S3C2410=y
+CONFIG_SPI_SPIDEV=y
CONFIG_DEBUG_GPIO=y
CONFIG_POWER_SUPPLY=y
CONFIG_BATTERY_SBS=y
--
2.1.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 1/3] ARM: dts: Add SPI flash node for Peach boards
2014-11-17 17:43 ` [PATCH 1/3] ARM: dts: Add SPI flash node for Peach boards Javier Martinez Canillas
@ 2014-11-18 17:50 ` Doug Anderson
2014-11-19 10:07 ` Javier Martinez Canillas
0 siblings, 1 reply; 10+ messages in thread
From: Doug Anderson @ 2014-11-18 17:50 UTC (permalink / raw)
To: linux-arm-kernel
Javier,
On Mon, Nov 17, 2014 at 9:43 AM, Javier Martinez Canillas
<javier.martinez@collabora.co.uk> wrote:
> +&spi_1 {
> + status = "okay";
> + samsung,spi-src-clk = <0>;
> + num-cs = <1>;
> + cs-gpios = <&gpa2 5 0>;
> +
> + spidev at 0 {
> + compatible = "spidev";
This is common practice in the Chrome OS tree, but we've gotten
pushback from upstream questioning about whether "spidev" is really a
physical device. See:
http://www.spinics.net/lists/linux-samsung-soc/msg29563.html
I don't really have an answer for something better to do here but I
figured I'd at least bring up the point.
-Doug
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 1/3] ARM: dts: Add SPI flash node for Peach boards
2014-11-18 17:50 ` Doug Anderson
@ 2014-11-19 10:07 ` Javier Martinez Canillas
2014-11-19 17:19 ` Doug Anderson
0 siblings, 1 reply; 10+ messages in thread
From: Javier Martinez Canillas @ 2014-11-19 10:07 UTC (permalink / raw)
To: linux-arm-kernel
Hello Doug,
Thanks for your feedback.
On 11/18/2014 06:50 PM, Doug Anderson wrote:
> This is common practice in the Chrome OS tree, but we've gotten
> pushback from upstream questioning about whether "spidev" is really a
> physical device. See:
>
> http://www.spinics.net/lists/linux-samsung-soc/msg29563.html
>
I see, I thought that it was a common practice in the mainline kernel
too since I saw that many board DTS currently have a spidev node:
$ git grep 'compatible = "spidev"' arch/arm/boot/dts/ | wc -l
19
>
> I don't really have an answer for something better to do here but I
> figured I'd at least bring up the point.
>
I wonder how the spidev user-space interface is supposed to be used
when booting with Device Trees.
Best regards,
Javier
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 1/3] ARM: dts: Add SPI flash node for Peach boards
2014-11-19 10:07 ` Javier Martinez Canillas
@ 2014-11-19 17:19 ` Doug Anderson
2014-11-19 17:29 ` Javier Martinez Canillas
2014-11-19 17:47 ` Mark Brown
0 siblings, 2 replies; 10+ messages in thread
From: Doug Anderson @ 2014-11-19 17:19 UTC (permalink / raw)
To: linux-arm-kernel
Javier,
On Wed, Nov 19, 2014 at 2:07 AM, Javier Martinez Canillas
<javier.martinez@collabora.co.uk> wrote:
> Hello Doug,
>
> Thanks for your feedback.
>
> On 11/18/2014 06:50 PM, Doug Anderson wrote:
>> This is common practice in the Chrome OS tree, but we've gotten
>> pushback from upstream questioning about whether "spidev" is really a
>> physical device. See:
>>
>> http://www.spinics.net/lists/linux-samsung-soc/msg29563.html
>>
>
> I see, I thought that it was a common practice in the mainline kernel
> too since I saw that many board DTS currently have a spidev node:
>
> $ git grep 'compatible = "spidev"' arch/arm/boot/dts/ | wc -l
> 19
>
>>
>> I don't really have an answer for something better to do here but I
>> figured I'd at least bring up the point.
>>
>
> I wonder how the spidev user-space interface is supposed to be used
> when booting with Device Trees.
OK. Please don't take my comments as a NAK on this patch. I should
have done the same grep myself before sending--sorry. I just
remembered the old conversation and looked for that instead.
If the convention is to use "spidev" like this then I guess we're OK.
I do wish it was a little more like "i2c" myself where you could get a
direct access interface no matter what driver was bound underneath
(and also if no drivers were bound underneath). ...but I could just
be naive. ;)
-Doug
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 1/3] ARM: dts: Add SPI flash node for Peach boards
2014-11-19 17:19 ` Doug Anderson
@ 2014-11-19 17:29 ` Javier Martinez Canillas
2014-11-19 17:47 ` Mark Brown
1 sibling, 0 replies; 10+ messages in thread
From: Javier Martinez Canillas @ 2014-11-19 17:29 UTC (permalink / raw)
To: linux-arm-kernel
Hello Doug,
On 11/19/2014 06:19 PM, Doug Anderson wrote:
>>
>> I wonder how the spidev user-space interface is supposed to be used
>> when booting with Device Trees.
>
> OK. Please don't take my comments as a NAK on this patch. I should
> have done the same grep myself before sending--sorry. I just
> remembered the old conversation and looked for that instead.
>
Ok, let's see what others say. At the very least documentation about the
spidev DT binding should be added to Documentation/devicetree/bindings/
> If the convention is to use "spidev" like this then I guess we're OK.
> I do wish it was a little more like "i2c" myself where you could get a
> direct access interface no matter what driver was bound underneath
> (and also if no drivers were bound underneath). ...but I could just
> be naive. ;)
>
+1
> -Doug
>
Best regards,
Javier
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 1/3] ARM: dts: Add SPI flash node for Peach boards
2014-11-19 17:19 ` Doug Anderson
2014-11-19 17:29 ` Javier Martinez Canillas
@ 2014-11-19 17:47 ` Mark Brown
2014-11-19 17:59 ` Javier Martinez Canillas
1 sibling, 1 reply; 10+ messages in thread
From: Mark Brown @ 2014-11-19 17:47 UTC (permalink / raw)
To: linux-arm-kernel
On Wed, Nov 19, 2014 at 09:19:13AM -0800, Doug Anderson wrote:
Please stop CCing my work address for upstream things.
> On Wed, Nov 19, 2014 at 2:07 AM, Javier Martinez Canillas
> > I see, I thought that it was a common practice in the mainline kernel
> > too since I saw that many board DTS currently have a spidev node:
> > $ git grep 'compatible = "spidev"' arch/arm/boot/dts/ | wc -l
> > 19
These are bugs. The device tree should describe the hardware, spidev is
a Linux implementation detail. Provide a compatible string for the
device that is there just as you would for any other device.
> OK. Please don't take my comments as a NAK on this patch. I should
> have done the same grep myself before sending--sorry. I just
> remembered the old conversation and looked for that instead.
Please take this as one.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20141119/57aa3249/attachment.sig>
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 1/3] ARM: dts: Add SPI flash node for Peach boards
2014-11-19 17:47 ` Mark Brown
@ 2014-11-19 17:59 ` Javier Martinez Canillas
0 siblings, 0 replies; 10+ messages in thread
From: Javier Martinez Canillas @ 2014-11-19 17:59 UTC (permalink / raw)
To: linux-arm-kernel
Hello Mark,
On 11/19/2014 06:47 PM, Mark Brown wrote:
> These are bugs. The device tree should describe the hardware, spidev is
> a Linux implementation detail. Provide a compatible string for the
> device that is there just as you would for any other device.
>
Thanks a lot for your explanation.
>> OK. Please don't take my comments as a NAK on this patch. I should
>> have done the same grep myself before sending--sorry. I just
>> remembered the old conversation and looked for that instead.
>
> Please take this as one.
>
Ok
Best regards,
Javier
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2014-11-19 17:59 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-11-17 17:43 [PATCH 0/3] ARM: dts: Add spidev nodes for Exynos Chromebooks Javier Martinez Canillas
2014-11-17 17:43 ` [PATCH 1/3] ARM: dts: Add SPI flash node for Peach boards Javier Martinez Canillas
2014-11-18 17:50 ` Doug Anderson
2014-11-19 10:07 ` Javier Martinez Canillas
2014-11-19 17:19 ` Doug Anderson
2014-11-19 17:29 ` Javier Martinez Canillas
2014-11-19 17:47 ` Mark Brown
2014-11-19 17:59 ` Javier Martinez Canillas
2014-11-17 17:43 ` [PATCH 2/3] ARM: dts: Add spidev registration to exynos5250-snow Javier Martinez Canillas
2014-11-17 17:43 ` [PATCH 3/3] ARM: exynos_defconfig: Enable user mode SPI device support Javier Martinez Canillas
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).