Subject: [RFC 3/7] mfd: devicetree: bindings: Add Qualcomm SMD based RPM DT binding

From: [email-masked] (Bjorn Andersson)
Date: Fri, 24 Oct 2014 08:59:38 -0700

On Wed 08 Oct 14:47 PDT 2014, Jeffrey Hugo wrote:

> On 9/30/2014 6:08 PM, Bjorn Andersson wrote:
> > On Tue 30 Sep 16:16 PDT 2014, Jeffrey Hugo wrote:
> >
> >> On 9/30/2014 8:37 AM, Bjorn Andersson wrote:
[..]
> >
> > That's right, because you have these tables in devicetree in the caf version.
> > You have to have this information somewhere!
> 
> True, it must exist somewhere.  However since its information tied 
> directly to the hardware, it seems like its information that would fit 
> right in DT.
> 

For family B it would be reasonable to move this to device tree, replacing my
"reg" property with a "resource" property taking type and id for the resource
(e.g resource = <0x616f646c 17>; for ldo 17).

For family A this does not work thought, but maybe we should just skip the idea
of having a common look in favour of not having the tables.

> I talked to my contact, and it seems like the table attributes vary more 
> than I thought, target to target, so the single table design seems less 
> plausible.  Its my understanding you've had an offline discussion with 
> him and some of our regulator guys to discuss the specifics of our 
> needs.  I'll let them take over as the experts.
> 

Yes, I met with Stephen, David and Mahesh to discuss the matter. The issues
that we discussed was:

1) It must be possible to set the active and sleep state of a resource
independently.

2) Deferring less important writes (e.g. writes to sleep state) to reduce
communication

3) With deferred writes, we need to flush the data when going to sleep and that
requires some special handling - so that we don't wake up again or crash the
rpm.

4) The scalability of the table

I'm working on figuring out how to do 1) in a sane way, as this is needed.

2) gives 3) which gives a bunch of implementation awkwardness and I'm still not
convinced that it is a problem beyond someones KPI, so I will have to do some
measurements. If nothing else it's "just" an optimization that we should be
able to add incrementally later.

I guess 4) is a matter of taste, with the table the client reference a
resource, with all the data in DT it also describes part of how the rpm works.

Regards,
Bjorn