[RFC] [PATCH] ARM: tegra: emc: device tree bindings
From: Stephen Warren <hidden>
Date: 2011-10-18 18:54:21
Also in:
linux-devicetree, linux-tegra
Olof Johansson wrote at Tuesday, October 18, 2011 12:43 PM:
On Tue, Oct 18, 2011 at 11:30 AM, Stephen Warren [off-list ref] wrote:quoted
Olof Johansson wrote at Monday, October 17, 2011 11:53 AM: ...quoted
+Embedded Memory Controller configuration table...quoted
+Properties: +- name : Should start with emc-tablequoted
+- compatible : should contain "nvidia,tegra20-emc-table". +- reg : only needed if nvidia,use-ram-code is present in the + ?parent. If so, the numerical representation of the selected ram code + ?as reported by the strap option APB misc register.I don't think the compatible or reg properties are needed; the EMC tables aren't addressable objects on a bus, so no need for reg. I could see an argument that we'd want to version the emc-table format, and so the compatible flag might be useful, yet AIUI, compatible is more for defining HW compatibility (and hence driver instantiation), rather than a property of some configuration node.I was struggling with a good way to specify the selection of the modules. I can definitely use a nvidia,ram-code property instead of reg (with a similar definition to how reg was used here).
Ah, so reg is the ram-code value. I missed that. Using an explicitly named property for this seems better to me, but I'll defer to DT experts on what's the standard practice for this.
Compatible is still needed, in my opinion -- otherwise there will be no way to tell if the node is there to describe emc timings or if it's some new node used to describe something else (such as SDRAM chips as mentioned above).
Can't you go by node name; enumerate all nodes with a particular name.
Or define another intermediate node that will always contain tables and
nothing else, then just enumerate all child nodes of that node:
emc at xxxxx {
emc-tables {
table-333 at 0 {};
table-666 at 0 {};
};
};
The Tegra pinmux bindings I proposed certainly used this technique; a
main node with a well-known name, followed by enumeration of all child
nodes of that, and nobody /said/ anything about that being a bad idea.
--
nvpublic