Re: [PATCH 1/3] dt-bindings: clock: meson8b: use the registers from the HHI syscon

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Rob,

On Wed, Jul 25, 2018 at 10:07 PM Rob Herring <robh@xxxxxxxxxx> wrote:
>
> On Sat, Jul 21, 2018 at 09:28:44PM +0200, Martin Blumenstingl wrote:
> > The clock controller on Meson8/Meson8m2 and Meson8b is part of a
> > register region called "HHI". This register area contains more
> > functionality than just a clock controller:
> > - the clock controller
> > - some reset controller bits
> > - temperature sensor calibration data (on Meson8b and Meson8m2 only)
> > - HDMI controller
> >
> > The HHI register area may be accessed concurrently. Allow this by using
> > a "system controller" as parent node.
>
> Why? A single node can be a provider of multiple things. Maybe the HDMI
> should be a child since it will involve graph nodes, but the rest can be
> one node. There should be numerous examples of blocks that are clock and
> reset controllers.
I understand that a node can provide multiple "things" - currently
it's a clock controller and a reset controller
the HDMI controller could also be integrated in a similar way

however, I do not know how to access the temperature sensor calibration data
there is an ADC - one of it's channel has access to a temperature sensor
this ADC is located at CBUS offset 0x8680 and we already have a driver
for it (meson-saradc)
my problem is that the temperature sensor has to be calibrated - this
is done by:
- read data from efuse
- write 4 bits of calibration data to some register in the ADC's register space
- write a 5th bit of calibration data to a (seemingly random) register
in the HHI register space
(if one of the 5 bits is not written to it's correct location then the
temperature sensor reads bogus values)

I am not sure how to handle this without passing the HHI region to the
meson-saradc driver and letting that initialize all the temperature
calibration data bits (in it's own register space as well as the HHI
register space)
do you have any suggestion here?

> >
> > Signed-off-by: Martin Blumenstingl <martin.blumenstingl@xxxxxxxxxxxxxx>
> > ---
> >  .../bindings/clock/amlogic,meson8b-clkc.txt         | 13 +++++--------
> >  1 file changed, 5 insertions(+), 8 deletions(-)
> >
> > diff --git a/Documentation/devicetree/bindings/clock/amlogic,meson8b-clkc.txt b/Documentation/devicetree/bindings/clock/amlogic,meson8b-clkc.txt
> > index b455c5aa9139..38fb979210d3 100644
> > --- a/Documentation/devicetree/bindings/clock/amlogic,meson8b-clkc.txt
> > +++ b/Documentation/devicetree/bindings/clock/amlogic,meson8b-clkc.txt
> > @@ -9,15 +9,13 @@ Required Properties:
> >       - "amlogic,meson8-clkc" for Meson8 (S802) SoCs
> >       - "amlogic,meson8b-clkc" for Meson8 (S805) SoCs
> >       - "amlogic,meson8m2-clkc" for Meson8m2 (S812) SoCs
> > -- reg: it must be composed by two tuples:
> > -     0) physical base address of the xtal register and length of memory
> > -        mapped region.
> > -     1) physical base address of the clock controller and length of memory
> > -        mapped region.
> > -
> >  - #clock-cells: should be 1.
> >  - #reset-cells: should be 1.
> >
> > +Parent node should have the following properties :
> > +- compatible: "syscon", "simple-mfd"
>
> These 2 compatibles alone are not valid.
so I should add (for example) "amlogic,meson8b-hhi-sysctrl" as first compatible?
so the result would be: compatible = "amlogic,meson8b-hhi-sysctrl",
"syscon", "simple-mfd";


Regards
Martin
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux