lkml.org 
[lkml]   [2013]   [Aug]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH RFC v2 3/5] spmi: add generic SPMI controller binding documentation
On 08/27/2013 11:01 AM, Josh Cartwright wrote:
...
> If we want to ensure for the generic bindings that we are fulling
> characterizing/describing the SPMI bus, then we'll additionally need to
> tackle an additional identified assumption:
>
> 4. One master per SPMI bus. (The SPMI spec allows for up to 4
> masters)
>
> On the Snapdragon 800 series, there exists only one software-controlled
> master, but it is conceivably possible to have a setup with two
> software-controlled masters on the same SPMI bus.
>
> This necessarily means that the description of the slaves and the
> masters will need to be decoupled; I'm imagining a generic binding
> supporting multiple masters would look something like this:

Is there a need to represent the other masters in the DT? Sure they're
there in HW, but if there's no specific way for the
CPU-to-which-the-DT-applies to actually interact with those other
masters (except perhaps by experiencing some arbitration delays) then
presumably there's no need to represent the other masters in DT?

> master0: master@0 {
> compatible = "...";
> #spmi-master-cells = <0>;
> spmi-mid = <0>;
>
> ...
> };
>
> master2: master@2 {
> compatible = "...";
> #spmi-master-cells = <0>;
> spmi-mid = <2>;
>
> ...
> };
>
> spmi_bus {
> compatible = "...";
>
> spmi-masters = <&master0 &master2>;
>
> foo@0 {
> compatible = "...";
> reg = <0 ...>;
> };
>
> foo@8 {
> compatible = "...";
> reg = <8 ...>;
> };
> };
>
> (This will also necessitate a change in the underlying SPMI driver
> model, in the current implementation, a SPMI master 'owns' a particular
> device. This is not a valid assumption to make.)
>
> Would this property-containing-phandle-vector be considered the
> canonical way of representing nodes with multiple parents in the device
> tree?

I don't think I've seen anything like this before, although that
in-and-of-itself doesn't make it wrong.

Another approach might be to encode master-vs-slave into a cell in the
reg property? Something like:

cell 0 - address type (0: master, 1: unique ID, 2: group ID, ...)
cell 1 - address value

I haven't thought much about that; perhaps there are disadvantages doing
that.


\
 
 \ /
  Last update: 2013-08-28 00:21    [W:0.099 / U:0.100 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site