From: Joel Stanley <joel@jms.id.au> Date: 2017-12-23 13:05:49
This series adds reset support so the ASPEED SoC can operate the
PWM/Tach unit without out of tree workarounds.
v3 drops the header sorting patch which is already applied, and adds
Rob's ack to the bindings change.
Joel Stanley (2):
dt-bindings: hwmon: aspeed-pwm-tacho: Add reset node
hwmon: (aspeed-pwm-tacho) Deassert reset in probe
.../devicetree/bindings/hwmon/aspeed-pwm-tacho.txt | 14 +++++---------
drivers/hwmon/aspeed-pwm-tacho.c | 22 ++++++++++++++++++++++
2 files changed, 27 insertions(+), 9 deletions(-)
--
2.15.1
From: Joel Stanley <joel@jms.id.au> Date: 2017-12-23 13:06:02
The device tree bindings are updated to document the resets phandle, and
the example is updated to match what is expected for both the reset and
clock phandle.
Note that the bindings should have always had the reset controller, as
the hardware is unusable without it.
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Joel Stanley <joel@jms.id.au>
---
.../devicetree/bindings/hwmon/aspeed-pwm-tacho.txt | 14 +++++---------
1 file changed, 5 insertions(+), 9 deletions(-)
@@ -22,8 +22,9 @@ Required properties for pwm-tacho node: - compatible : should be "aspeed,ast2400-pwm-tacho" for AST2400 and "aspeed,ast2500-pwm-tacho" for AST2500.-- clocks : a fixed clock providing input clock frequency(PWM- and Fan Tach clock)+- clocks : phandle to clock provider with the clock number in the second cell++- resets : phandle to reset controller with the reset number in the second cell fan subnode format: ===================
On Sat, Dec 23, 2017 at 11:35:27PM +1030, Joel wrote:
The device tree bindings are updated to document the resets phandle, and
the example is updated to match what is expected for both the reset and
clock phandle.
Note that the bindings should have always had the reset controller, as
the hardware is unusable without it.
Acked-by: Rob Herring <redacted>
Signed-off-by: Joel Stanley <redacted>
@@ -22,8 +22,9 @@ Required properties for pwm-tacho node: - compatible : should be "aspeed,ast2400-pwm-tacho" for AST2400 and "aspeed,ast2500-pwm-tacho" for AST2500.-- clocks : a fixed clock providing input clock frequency(PWM- and Fan Tach clock)+- clocks : phandle to clock provider with the clock number in the second cell++- resets : phandle to reset controller with the reset number in the second cell fan subnode format: ===================
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
From: Joel Stanley <joel@jms.id.au> Date: 2017-12-23 13:06:14
The ASPEED SoC must deassert a reset in order to use the PWM/tach
peripheral.
Signed-off-by: Joel Stanley <joel@jms.id.au>
---
drivers/hwmon/aspeed-pwm-tacho.c | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
@@ -905,6 +907,13 @@ static int aspeed_create_fan(struct device *dev,return0;}+staticvoidaspeed_pwm_tacho_remove(void*data)+{+structaspeed_pwm_tacho_data*priv=data;++reset_control_assert(priv->rst);+}+staticintaspeed_pwm_tacho_probe(structplatform_device*pdev){structdevice*dev=&pdev->dev;
@@ -931,6 +940,19 @@ static int aspeed_pwm_tacho_probe(struct platform_device *pdev)&aspeed_pwm_tacho_regmap_config);if(IS_ERR(priv->regmap))returnPTR_ERR(priv->regmap);++priv->rst=devm_reset_control_get_exclusive(dev,NULL);+if(IS_ERR(priv->rst)){+dev_err(dev,+"missing or invalid reset controller device tree entry");+returnPTR_ERR(priv->rst);+}+reset_control_deassert(priv->rst);++ret=devm_add_action_or_reset(dev,aspeed_pwm_tacho_remove,priv);+if(ret)+returnret;+regmap_write(priv->regmap,ASPEED_PTCR_TACH_SOURCE,0);regmap_write(priv->regmap,ASPEED_PTCR_TACH_SOURCE_EXT,0);
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html