Skip to contentSkip to conversation

ARM: dts: kirkwood: add "nor-jedec" flash compatible binding

PATCH New Rafał Miłecki 3 participants 6 messages May 8, 2015 – May 15, 2015

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

PATCH 1/1 ARM: dts: kirkwood: add "nor-jedec" flash compatible binding

Starting with commits
8ff16cf ("Documentation: devicetree: m25p80: add "nor-jedec" binding") 1103b85 ("mtd: m25p80: bind to "nor-jedec" ID, for auto-detection") we have "nor-jedec" binding indicating support for JEDEC identification.

---
 arch/arm/boot/dts/kirkwood-b3.dts              | 2 +-
 arch/arm/boot/dts/kirkwood-cloudbox.dts        | 2 +-
 arch/arm/boot/dts/kirkwood-dir665.dts          | 2 +-
 arch/arm/boot/dts/kirkwood-dreamplug.dts       | 2 +-
 arch/arm/boot/dts/kirkwood-lsxl.dtsi           | 2 +-
 arch/arm/boot/dts/kirkwood-mv88f6281gtw-ge.dts | 2 +-
 arch/arm/boot/dts/kirkwood-netxbig.dtsi        | 2 +-
 arch/arm/boot/dts/kirkwood-ns2-common.dtsi     | 2 +-
 arch/arm/boot/dts/kirkwood-rd88f6192.dts       | 2 +-
 arch/arm/boot/dts/kirkwood-synology.dtsi       | 2 +-
 arch/arm/boot/dts/kirkwood-t5325.dts           | 2 +-
 arch/arm/boot/dts/kirkwood-ts219.dtsi          | 2 +-
 12 files changed, 12 insertions(+), 12 deletions(-)
arch/arm/boot/dts/kirkwood-b3.dts +1 -1
index c9247f8..103551f 100644
@@ -74,7 +74,7 @@
 			m25p16 at 0 {
 				#address-cells = <1>;
 				#size-cells = <1>;
-				compatible = "st,m25p16";
+				compatible = "st,m25p16", "nor-jedec";
 				reg = <0>;
 				spi-max-frequency = <40000000>;
 				mode = <0>;
arch/arm/boot/dts/kirkwood-cloudbox.dts +1 -1
index ab6ab49..4a04985 100644
@@ -42,7 +42,7 @@
 			flash at 0 {
 				#address-cells = <1>;
 				#size-cells = <1>;
-				compatible = "mxicy,mx25l4005a";
+				compatible = "mxicy,mx25l4005a", "nor-jedec";
 				reg = <0>;
 				spi-max-frequency = <20000000>;
 				mode = <0>;
arch/arm/boot/dts/kirkwood-dir665.dts +1 -1
index 786959e..94c80a2 100644
@@ -93,7 +93,7 @@
 			m25p80 at 0 {
 				#address-cells = <1>;
 				#size-cells = <1>;
-				compatible = "mxicy,mx25l12805d";
+				compatible = "mxicy,mx25l12805d", "nor-jedec";
 				spi-max-frequency = <50000000>;
 				reg = <0>;
 
arch/arm/boot/dts/kirkwood-dreamplug.dts +1 -1
index 6467c79..c9a1c09 100644
@@ -42,7 +42,7 @@
 			m25p40 at 0 {
 				#address-cells = <1>;
 				#size-cells = <1>;
-				compatible = "mxicy,mx25l1606e";
+				compatible = "mxicy,mx25l1606e", "nor-jedec";
 				reg = <0>;
 				spi-max-frequency = <50000000>;
 				mode = <0>;
arch/arm/boot/dts/kirkwood-lsxl.dtsi +1 -1
index 5348447..58e197a 100644
@@ -74,7 +74,7 @@
 			m25p40 at 0 {
 				#address-cells = <1>;
 				#size-cells = <1>;
-				compatible = "m25p40";
+				compatible = "m25p40", "nor-jedec";
 				reg = <0>;
 				spi-max-frequency = <25000000>;
 				mode = <0>;
arch/arm/boot/dts/kirkwood-mv88f6281gtw-ge.dts +1 -1
index f82827d..ae68061 100644
@@ -65,7 +65,7 @@
 			flash at 0 {
 				#address-cells = <1>;
 				#size-cells = <1>;
-				compatible = "mxicy,mx25l12805d";
+				compatible = "mxicy,mx25l12805d", "nor-jedec";
 				reg = <0>;
 				spi-max-frequency = <50000000>;
 				mode = <0>;
arch/arm/boot/dts/kirkwood-netxbig.dtsi +1 -1
index b0cfb7c..11d21c0 100644
@@ -33,7 +33,7 @@
 			flash at 0 {
 				#address-cells = <1>;
 				#size-cells = <1>;
-				compatible = "mxicy,mx25l4005a";
+				compatible = "mxicy,mx25l4005a", "nor-jedec";
 				reg = <0>;
 				spi-max-frequency = <20000000>;
 				mode = <0>;
arch/arm/boot/dts/kirkwood-ns2-common.dtsi +1 -1
index fe6c024..b860b7f 100644
@@ -29,7 +29,7 @@
 			flash at 0 {
 				#address-cells = <1>;
 				#size-cells = <1>;
-				compatible = "mxicy,mx25l4005a";
+				compatible = "mxicy,mx25l4005a", "nor-jedec";
 				reg = <0>;
 				spi-max-frequency = <20000000>;
 				mode = <0>;
arch/arm/boot/dts/kirkwood-rd88f6192.dts +1 -1
index 35a29de..80dff2f 100644
@@ -61,7 +61,7 @@
 			m25p128 at 0 {
 				#address-cells = <1>;
 				#size-cells = <1>;
-				compatible = "st,m25p128";
+				compatible = "st,m25p128", "nor-jedec";
 				reg = <0>;
 				spi-max-frequency = <20000000>;
 				mode = <0>;
arch/arm/boot/dts/kirkwood-synology.dtsi +1 -1
index 8be5b2e..48f4b02 100644
@@ -217,7 +217,7 @@
 			m25p80 at 0 {
 				#address-cells = <1>;
 				#size-cells = <1>;
-				compatible = "st,m25p80";
+				compatible = "st,m25p80", "nor-jedec";
 				reg = <0>;
 				spi-max-frequency = <20000000>;
 				mode = <0>;
arch/arm/boot/dts/kirkwood-t5325.dts +1 -1
index 610ec0f..5dbd9a0 100644
@@ -88,7 +88,7 @@
 			flash at 0 {
 				#address-cells = <1>;
 				#size-cells = <1>;
-				compatible = "st,m25p80";
+				compatible = "st,m25p80", "nor-jedec";
 				spi-max-frequency = <86000000>;
 				reg = <0>;
 				mode = <0>;
arch/arm/boot/dts/kirkwood-ts219.dtsi +1 -1
index df7f152..cbb1049 100644
@@ -49,7 +49,7 @@
 			m25p128 at 0 {
 				#address-cells = <1>;
 				#size-cells = <1>;
-				compatible = "m25p128";
+				compatible = "m25p128", "nor-jedec";
 				reg = <0>;
 				spi-max-frequency = <20000000>;
 				mode = <0>;
Signature · 1 line
1.8.4.5
#1 lore raw

PATCH 1/1 ARM: dts: kirkwood: add "nor-jedec" flash compatible binding

Hi Rafa?,

Quoted 4 lines · Rafa? Mi?ecki

Starting with commits
8ff16cf ("Documentation: devicetree: m25p80: add "nor-jedec" binding") 1103b85 ("mtd: m25p80: bind to "nor-jedec" ID, for auto-detection") we have "nor-jedec" binding indicating support for JEDEC identification.

I have the same question that for mvebu: did you actually check that all the NOR flash referenced in the dts supports the JEDEC identification?

Then again, if it id the case I will add it in mvebu/dt soon, unless Andrew, Jason or any other developer who has submitted the dts is aware of a restriction about applying it.

Thanks,

Gregory

Quoted 174 lines
---
 arch/arm/boot/dts/kirkwood-b3.dts              | 2 +-
 arch/arm/boot/dts/kirkwood-cloudbox.dts        | 2 +-
 arch/arm/boot/dts/kirkwood-dir665.dts          | 2 +-
 arch/arm/boot/dts/kirkwood-dreamplug.dts       | 2 +-
 arch/arm/boot/dts/kirkwood-lsxl.dtsi           | 2 +-
 arch/arm/boot/dts/kirkwood-mv88f6281gtw-ge.dts | 2 +-
 arch/arm/boot/dts/kirkwood-netxbig.dtsi        | 2 +-
 arch/arm/boot/dts/kirkwood-ns2-common.dtsi     | 2 +-
 arch/arm/boot/dts/kirkwood-rd88f6192.dts       | 2 +-
 arch/arm/boot/dts/kirkwood-synology.dtsi       | 2 +-
 arch/arm/boot/dts/kirkwood-t5325.dts           | 2 +-
 arch/arm/boot/dts/kirkwood-ts219.dtsi          | 2 +-
 12 files changed, 12 insertions(+), 12 deletions(-)
arch/arm/boot/dts/kirkwood-b3.dts +1 -1
index c9247f8..103551f 100644
@@ -74,7 +74,7 @@
 			m25p16 at 0 {
 				#address-cells = <1>;
 				#size-cells = <1>;
-				compatible = "st,m25p16";
+				compatible = "st,m25p16", "nor-jedec";
 				reg = <0>;
 				spi-max-frequency = <40000000>;
 				mode = <0>;
arch/arm/boot/dts/kirkwood-cloudbox.dts +1 -1
index ab6ab49..4a04985 100644
@@ -42,7 +42,7 @@
 			flash at 0 {
 				#address-cells = <1>;
 				#size-cells = <1>;
-				compatible = "mxicy,mx25l4005a";
+				compatible = "mxicy,mx25l4005a", "nor-jedec";
 				reg = <0>;
 				spi-max-frequency = <20000000>;
 				mode = <0>;
arch/arm/boot/dts/kirkwood-dir665.dts +1 -1
index 786959e..94c80a2 100644
@@ -93,7 +93,7 @@
 			m25p80 at 0 {
 				#address-cells = <1>;
 				#size-cells = <1>;
-				compatible = "mxicy,mx25l12805d";
+				compatible = "mxicy,mx25l12805d", "nor-jedec";
 				spi-max-frequency = <50000000>;
 				reg = <0>;
 
arch/arm/boot/dts/kirkwood-dreamplug.dts +1 -1
index 6467c79..c9a1c09 100644
@@ -42,7 +42,7 @@
 			m25p40 at 0 {
 				#address-cells = <1>;
 				#size-cells = <1>;
-				compatible = "mxicy,mx25l1606e";
+				compatible = "mxicy,mx25l1606e", "nor-jedec";
 				reg = <0>;
 				spi-max-frequency = <50000000>;
 				mode = <0>;
arch/arm/boot/dts/kirkwood-lsxl.dtsi +1 -1
index 5348447..58e197a 100644
@@ -74,7 +74,7 @@
 			m25p40 at 0 {
 				#address-cells = <1>;
 				#size-cells = <1>;
-				compatible = "m25p40";
+				compatible = "m25p40", "nor-jedec";
 				reg = <0>;
 				spi-max-frequency = <25000000>;
 				mode = <0>;
arch/arm/boot/dts/kirkwood-mv88f6281gtw-ge.dts +1 -1
index f82827d..ae68061 100644
@@ -65,7 +65,7 @@
 			flash at 0 {
 				#address-cells = <1>;
 				#size-cells = <1>;
-				compatible = "mxicy,mx25l12805d";
+				compatible = "mxicy,mx25l12805d", "nor-jedec";
 				reg = <0>;
 				spi-max-frequency = <50000000>;
 				mode = <0>;
arch/arm/boot/dts/kirkwood-netxbig.dtsi +1 -1
index b0cfb7c..11d21c0 100644
@@ -33,7 +33,7 @@
 			flash at 0 {
 				#address-cells = <1>;
 				#size-cells = <1>;
-				compatible = "mxicy,mx25l4005a";
+				compatible = "mxicy,mx25l4005a", "nor-jedec";
 				reg = <0>;
 				spi-max-frequency = <20000000>;
 				mode = <0>;
arch/arm/boot/dts/kirkwood-ns2-common.dtsi +1 -1
index fe6c024..b860b7f 100644
@@ -29,7 +29,7 @@
 			flash at 0 {
 				#address-cells = <1>;
 				#size-cells = <1>;
-				compatible = "mxicy,mx25l4005a";
+				compatible = "mxicy,mx25l4005a", "nor-jedec";
 				reg = <0>;
 				spi-max-frequency = <20000000>;
 				mode = <0>;
arch/arm/boot/dts/kirkwood-rd88f6192.dts +1 -1
index 35a29de..80dff2f 100644
@@ -61,7 +61,7 @@
 			m25p128 at 0 {
 				#address-cells = <1>;
 				#size-cells = <1>;
-				compatible = "st,m25p128";
+				compatible = "st,m25p128", "nor-jedec";
 				reg = <0>;
 				spi-max-frequency = <20000000>;
 				mode = <0>;
arch/arm/boot/dts/kirkwood-synology.dtsi +1 -1
index 8be5b2e..48f4b02 100644
@@ -217,7 +217,7 @@
 			m25p80 at 0 {
 				#address-cells = <1>;
 				#size-cells = <1>;
-				compatible = "st,m25p80";
+				compatible = "st,m25p80", "nor-jedec";
 				reg = <0>;
 				spi-max-frequency = <20000000>;
 				mode = <0>;
arch/arm/boot/dts/kirkwood-t5325.dts +1 -1
index 610ec0f..5dbd9a0 100644
@@ -88,7 +88,7 @@
 			flash at 0 {
 				#address-cells = <1>;
 				#size-cells = <1>;
-				compatible = "st,m25p80";
+				compatible = "st,m25p80", "nor-jedec";
 				spi-max-frequency = <86000000>;
 				reg = <0>;
 				mode = <0>;
arch/arm/boot/dts/kirkwood-ts219.dtsi +1 -1
index df7f152..cbb1049 100644
@@ -49,7 +49,7 @@
 			m25p128 at 0 {
 				#address-cells = <1>;
 				#size-cells = <1>;
-				compatible = "m25p128";
+				compatible = "m25p128", "nor-jedec";
 				reg = <0>;
 				spi-max-frequency = <20000000>;
 				mode = <0>;
Signature · 4 lines
Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
#2 lore raw

PATCH 1/1 ARM: dts: kirkwood: add "nor-jedec" flash compatible binding

Quoted 10 lines · Gregory CLEMENT

Hi Rafa??,

Quoted 4 lines · Rafa?? Mi??ecki

Starting with commits
8ff16cf ("Documentation: devicetree: m25p80: add "nor-jedec" binding") 1103b85 ("mtd: m25p80: bind to "nor-jedec" ID, for auto-detection") we have "nor-jedec" binding indicating support for JEDEC identification.

I have the same question that for mvebu: did you actually check that all the NOR flash referenced in the dts supports the JEDEC identification?

Hi Gregory

That is a good question, but i've no knowledge in this area.

Rafa??, what is the long term plan? Will the device specific property be removed sometime in the future, and nor-jedec probing be used to identify the device? Is this already the actual behaviour? I've seen warnings when the DT entry specified the wrong device, something like:
Found ABC, Expected XYZ.

Andrew

#3 lore raw

PATCH 1/1 ARM: dts: kirkwood: add "nor-jedec" flash compatible binding

Quoted 11 lines · Andrew Lunn
Quoted 8 lines · Gregory CLEMENT
Quoted 4 lines · Rafa?? Mi??ecki

Starting with commits
8ff16cf ("Documentation: devicetree: m25p80: add "nor-jedec" binding") 1103b85 ("mtd: m25p80: bind to "nor-jedec" ID, for auto-detection") we have "nor-jedec" binding indicating support for JEDEC identification.

I have the same question that for mvebu: did you actually check that all the NOR flash referenced in the dts supports the JEDEC identification?

Rafa??, what is the long term plan?

One thing we should do for sure is:
1) Not adding support for new bidnings in the spi-nor driver unless some chip really needs some special handling
2) Make sure all new entries will include both: specific chip & generic JEDEC bindings

Quoted 3 lines

Will the device specific property
be removed sometime in the future, and nor-jedec probing be used to identify the device? Is this already the actual behaviour?

Probably not really, because of keeping backward compatibility. Please mind some out-of-tree DT users and some DTB files being natively on flashes instead of appended to the kernel. The cost is low, so probably we can live with that.

Quoted 3 lines

I've seen
warnings when the DT entry specified the wrong device, something like:
Found ABC, Expected XYZ.

This happens when DT/platform data provides wrong info about flash chipset. Driver always queries hardware, even if a flash model was provided. In case of finding different flash, it prints a warning.

Signature · 1 line
Rafa?
#4 lore raw

PATCH 1/1 ARM: dts: kirkwood: add "nor-jedec" flash compatible binding

In reply to Gregory CLEMENT
Quoted 8 lines · Gregory CLEMENT
Quoted 4 lines · Rafa? Mi?ecki

Starting with commits
8ff16cf ("Documentation: devicetree: m25p80: add "nor-jedec" binding") 1103b85 ("mtd: m25p80: bind to "nor-jedec" ID, for auto-detection") we have "nor-jedec" binding indicating support for JEDEC identification.

I have the same question that for mvebu: did you actually check that all the NOR flash referenced in the dts supports the JEDEC identification?

Yes, I checked *all* of them.

Quoted 3 lines

Then again, if it id the case I will add it in mvebu/dt soon, unless Andrew, Jason or any other developer who has submitted the dts is aware of a restriction about applying it.

Please wait to see if the binding will be changed or not (tegre patch thread discussion).

#5 lore raw

PATCH 1/1 ARM: dts: kirkwood: add "nor-jedec" flash compatible binding

Hi Rafa?,

Quoted 14 lines · Rafa? Mi?ecki
Quoted 8 lines · Gregory CLEMENT
Quoted 4 lines · Rafa? Mi?ecki

Starting with commits
8ff16cf ("Documentation: devicetree: m25p80: add "nor-jedec" binding") 1103b85 ("mtd: m25p80: bind to "nor-jedec" ID, for auto-detection") we have "nor-jedec" binding indicating support for JEDEC identification.

I have the same question that for mvebu: did you actually check that all the NOR flash referenced in the dts supports the JEDEC identification?

Yes, I checked *all* of them.

Quoted 7 lines
Quoted 3 lines

Then again, if it id the case I will add it in mvebu/dt soon, unless Andrew, Jason or any other developer who has submitted the dts is aware of a restriction about applying it.

Please wait to see if the binding will be changed or not (tegre patch thread discussion).

OK I won't take them, and I am waiting for a v2.

Thanks,

Gregory

Signature · 4 lines
Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com