[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <3440260.edal29kzlR@diego>
Date: Thu, 28 Aug 2014 18:11:43 +0200
From: Heiko Stübner <heiko@...ech.de>
To: Eduardo Valentin <edubezval@...il.com>
Cc: Arnd Bergmann <arnd@...db.de>,
Caesar Wang <caesar.wang@...k-chips.com>, rui.zhang@...el.com,
grant.likely@...aro.org, robh+dt@...nel.org,
linux-kernel@...r.kernel.org, linux-pm@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, devicetree@...r.kernel.org,
linux-doc@...r.kernel.org, huangtao@...k-chips.com,
cf@...k-chips.com, dianders@...omium.org, dtor@...omium.org,
zyw@...k-chips.com, addy.ke@...k-chips.com,
dmitry.torokhov@...il.com, zhaoyifeng <zyf@...k-chips.com>,
linux-iio@...r.kernel.org, Jonathan Cameron <jic23@...nel.org>
Subject: Re: [PATCH v3 1/4] thermal: rockchip: add driver for thermal
Am Donnerstag, 28. August 2014, 10:37:35 schrieb Eduardo Valentin:
> Ceasar and Arnd,
>
> On Thu, Aug 28, 2014 at 10:48:23AM +0200, Arnd Bergmann wrote:
> > On Thursday 28 August 2014 08:59:19 Caesar Wang wrote:
> > > Thermal is TS-ADC Controller module supports user-defined mode and
> > > automatic mode.
> > >
> > > User-defined mode refers,TSADC all the control signals entirely by
> > > software
> > > writing to register for direct control.
> > >
> > > Automaic mode refers to the module automatically poll TSADC output,and
> > > the results Were checked.
> > >
> > > If you find that the temperature High in a period of time, an interrupt
> > > is generated to the processor down-measures taken;if the temperature
> > > over a period of time High, the resulting TSHUT gave CRU module,let it
> > > reset the entire chip, or via GPIO give PMIC.
> > >
> > > Signed-off-by: zhaoyifeng <zyf@...k-chips.com>
> > > Signed-off-by: Caesar Wang <caesar.wang@...k-chips.com>
> >
> > Hi Caesar,
> >
> > After looking at the driver (last time I only received the patch for
> > the binding), I have a more general comment:
> >
> > This looks like a general-purpose ADC device, not an IP block that is
> > specific to thermal management. The binding looks ok for that purpose
> > but should probably be moved into
> > Documentation/devicetree/bindings/iio/adc/ as a minor change.
>
> I agree with Arnd's point here. It makes sense to me to have this driver
> under the IIO umbrella.
interesting suggestion :-)
I've just taken another look at the registers of the ts-adc on the rk3066
which is completely different from the rk3288 one. Interestingly the rk3066 one
is "just" another saradc IP, so for this one it would really make sense.
> > On the driver side, I believe the correct way to deal with this setup
> > is to split your driver into a generic drivers/iio/adc/rockchips-tsadc.c
> > file, and a smaller thermal driver that uses the iio in-kernel interfaces,
> > ideally one that is independent of the underlying hardware and can
> > work on any ADC implementation.
>
> Agreed. If you can write such interface and make your driver to work in
> such way, that would be great.
But I currently don't see how you would model the temperature handling parts
from a generic thermal driver to a generic adc driver for the rk3288-tsadc.
I guess the general temperature irq handling would use iio-triggers? But how
does the target temperature get into the TSADC_COMP1_INT register.
Also when getting the temperature, Caesar's driver compares it to its trip
points and sets the next trip point depending on the current temperature
(passive <-> critical) in rockchip_get_temp.
Maybe there is some completely easy way for this, but currently I don't see
it.
Heiko
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists