[PATCH 2/3] thermal: armada: add support for AP806
From: baruch@tkos.co.il (Baruch Siach)
Date: 2017-11-23 16:35:10
Also in:
linux-pm
Hi Russell, On Thu, Nov 23, 2017 at 03:24:17PM +0000, Russell King - ARM Linux wrote:
On Wed, Nov 22, 2017 at 04:42:04PM +0200, Baruch Siach wrote:quoted
The AP806 component is integrated in the Armada 8k and 7k lines of processors. Signed-off-by: Baruch Siach <baruch@tkos.co.il> --- drivers/thermal/armada_thermal.c | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+)diff --git a/drivers/thermal/armada_thermal.c b/drivers/thermal/armada_thermal.c index ae75328945f7..1f7f81628040 100644 --- a/drivers/thermal/armada_thermal.c +++ b/drivers/thermal/armada_thermal.c@@ -41,6 +41,10 @@ #define A375_HW_RESETn BIT(8) #define A380_HW_RESET BIT(8) +#define AP806_START BIT(0) +#define AP806_RESET BIT(1) +#define AP806_ENABLE BIT(2) + struct armada_thermal_data; /* Marvell EBU Thermal Sensor Dev Structure */@@ -147,6 +151,18 @@ static void armada380_init_sensor(struct platform_device *pdev, } } +static void armada_ap806_init_sensor(struct platform_device *pdev, + struct armada_thermal_priv *priv) +{ + u32 reg = readl_relaxed(priv->control); + + reg &= ~AP806_RESET; + reg |= AP806_START; + reg |= AP806_ENABLE; + writel(reg, priv->control); + mdelay(10);Do you really need to make the CPU busy-wait for 10ms here? This looks like it's called from a schedulable context, so won't msleep() do?
msleep() should be fine as well. I just mindlessly copied this code from the
vendor kernel. I'll change that in the next iteration.
Thanks for reviewing,
baruch
--
http://baruch.siach.name/blog/ ~. .~ Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
- baruch at tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -