Thread (91 messages) 91 messages, 10 authors, 2018-10-04

[PATCH v2 06/29] mtd: Add support for reading MTD devices via the nvmem API

From: Boris Brezillon <hidden>
Date: 2018-08-21 09:56:46
Also in: linux-doc, linux-i2c, linux-omap, lkml, netdev

On Tue, 21 Aug 2018 10:50:07 +0100
Srinivas Kandagatla [off-list ref] wrote:
On 20/08/18 19:20, Boris Brezillon wrote:
quoted
On Mon, 20 Aug 2018 11:43:34 +0100
Srinivas Kandagatla [off-list ref] wrote:
  
quoted
Overall am still not able to clear visualize on how MTD bindings with
nvmem cells would look in both partition and un-partition usecases?
An example DT would be nice here!!  
Something along those lines:
  
This looks good to me.
quoted
	mtdnode {
		nvmem-cells {
			#address-cells = <1>;
			#size-cells = <1>;

			cell at 0 {
				reg = <0x0 0x14>;
			};
		};

		partitions {
			compatible = "fixed-partitions";
			#address-cells = <1>;
			#size-cells = <1>;

			partition at 0 {
				reg = <0x0 0x20000>;

				nvmem-cells {
					#address-cells = <1>;
					#size-cells = <1>;

					cell at 0 {
						reg = <0x0 0x10>;
					};
				};
			};
		};
	}; >  
Just curious...Is there a reason why we can't do it like this?:
Is this because of issue of #address-cells and #size-cells Or mtd 
bindings always prefer subnodes?

	mtdnode {
		reg = <0x0123000 0x40000>;
		#address-cells = <1>;
		#size-cells = <1>;
		cell at 0 {
			compatible = "nvmem-cell";
			reg = <0x0 0x14>;
		};

		partitions {
			compatible = "fixed-partitions";
			#address-cells = <1>;
			#size-cells = <1>;

			partition at 0 {
				reg = <0x0 0x20000>;
				cell at 0 {
					compatible = "nvmem-cell";
					reg = <0x0 0x10>;
				};
			};
		};
	};
It's because partitions were initially directly defined under the mtd
node, so, if you have an old DT you might have something like:

	mtdnode {
		reg = <0x0123000 0x40000>;
		#address-cells = <1>;
		#size-cells = <1>;

		partition at 0 {
			reg = <0x0 0x20000>;
			...
		};
		...
	};

If we use such a DT with this patch applied, the NVMEM framework will
consider MTD partitions as nvmem cells, which is not what we want.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help