Re: [PATCH v4 1/2] can: tcan4x5x: reset device before register access

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

 





On 11/12/2019 14.17, Dan Murphy wrote:
Sean

On 12/11/19 7:12 AM, Sean Nyekjaer wrote:
It's a good idea to reset a ip-block/spi device before using it, this
patch will reset the device.

Added a generic reset function if needed elsewhere.

Signed-off-by: Sean Nyekjaer <sean@xxxxxxxxxx>
Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx>
---
Changes v3:
  - added reset if the reset_gpio is not avaliable

  drivers/net/can/m_can/tcan4x5x.c | 19 +++++++++++++++++--
  1 file changed, 17 insertions(+), 2 deletions(-)

diff --git a/drivers/net/can/m_can/tcan4x5x.c b/drivers/net/can/m_can/tcan4x5x.c
index b6b2feca9e8f..960a16aca7ca 100644
--- a/drivers/net/can/m_can/tcan4x5x.c
+++ b/drivers/net/can/m_can/tcan4x5x.c
@@ -166,6 +166,21 @@ static void tcan4x5x_check_wake(struct tcan4x5x_priv *priv)
      }
  }
+static void tcan4x5x_reset(struct tcan4x5x_priv *priv)
+{
+    if (priv->reset_gpio) {
+        gpiod_set_value(priv->reset_gpio, 1);
+
+        /* tpulse_width minimum 30us */
+        usleep_range(30, 100);
+        gpiod_set_value(priv->reset_gpio, 0);
+    } else {
+        regmap_write(priv->regmap, TCAN4X5X_CONFIG, TCAN4X5X_SW_RESET);

error handling especially for the I/O


Oh sorry. The regmap went OK for me when i did the testing... ;-)

I'll post a V5 :)

/Sean



[Index of Archives]     [Automotive Discussions]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]     [CAN Bus]

  Powered by Linux