mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Akhil R <akhilrajeev@nvidia.com>
Cc: andi.shyti@kernel.org, digetx@gmail.com, jonathanh@nvidia.com,
	linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-tegra@vger.kernel.org, p.zabel@pengutronix.de,
	thierry.reding@gmail.com, conor+dt@kernel.org,
	devicetree@vger.kernel.org, krzk+dt@kernel.org,
	ldewangan@nvidia.com, robh@kernel.org
Subject: Re: [PATCH v5 2/3] i2c: tegra: make reset an optional property
Date: Wed, 2 Jul 2025 18:11:33 +0300	[thread overview]
Message-ID: <aGVMJab9-G_bOqQh@smile.fi.intel.com> (raw)
In-Reply-To: <20250702133450.64257-2-akhilrajeev@nvidia.com>

On Wed, Jul 02, 2025 at 07:04:48PM +0530, Akhil R wrote:
> For controllers that has an internal software reset, make the reset
> property optional. This provides an option to use Tegra I2C in systems
> that choose to restrict reset control from Linux or not to implement
> the ACPI _RST method.
> 
> Internal reset was not required when the reset control was mandatory.
> But on platforms where the resets are outside the control of Linux,
> this had to be implemented by just returning success from BPMP or with
> an empty _RST method in the ACPI table, basically ignoring the reset.
> 
> While the internal reset is not identical to the hard reset of the
> controller, this will reset all the internal state of the controller
> including FIFOs. This may slightly alter the behaviour in systems
> which were ignoring the reset but it should not cause any functional
> difference since all the required I2C registers are configured after
> this reset, just as in boot. Considering that this sequence is hit
> during the boot or during the I2C recovery path from an error, the
> internal reset provides a better alternative than just ignoring the
> reset.

...

> +static int tegra_i2c_master_reset(struct tegra_i2c_dev *i2c_dev)
> +{
> +	if (!i2c_dev->hw->has_mst_reset)
> +		return -EOPNOTSUPP;
> +
> +	i2c_writel(i2c_dev, 0x1, I2C_MASTER_RESET_CNTRL);

> +	udelay(2);

fsleep()
and perhaps explain why this is needed.

> +	i2c_writel(i2c_dev, 0x0, I2C_MASTER_RESET_CNTRL);

> +	udelay(2);

Ditto.

> +	return 0;
> +}

-- 
With Best Regards,
Andy Shevchenko



  reply	other threads:[~2025-07-02 15:11 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-07-02 13:34 [PATCH v5 1/3] i2c: tegra: Fix reset error handling with ACPI Akhil R
2025-07-02 13:34 ` [PATCH v5 2/3] i2c: tegra: make reset an optional property Akhil R
2025-07-02 15:11   ` Andy Shevchenko [this message]
2025-07-03 16:02   ` kernel test robot
2025-07-02 13:34 ` [PATCH v5 3/3] i2c: tegra: Remove dma_sync_*() calls Akhil R
2025-07-02 15:24   ` Andy Shevchenko
2025-07-02 15:04 ` [PATCH v5 1/3] i2c: tegra: Fix reset error handling with ACPI Andy Shevchenko
2025-07-02 15:13   ` Andy Shevchenko
2025-07-02 17:10     ` Akhil R
2025-07-03  8:31       ` Philipp Zabel
2025-07-03 14:11         ` Andy Shevchenko
2025-07-04  6:47           ` Akhil R

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=aGVMJab9-G_bOqQh@smile.fi.intel.com \
    --to=andriy.shevchenko@linux.intel.com \
    --cc=akhilrajeev@nvidia.com \
    --cc=andi.shyti@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=digetx@gmail.com \
    --cc=jonathanh@nvidia.com \
    --cc=krzk+dt@kernel.org \
    --cc=ldewangan@nvidia.com \
    --cc=linux-i2c@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tegra@vger.kernel.org \
    --cc=p.zabel@pengutronix.de \
    --cc=robh@kernel.org \
    --cc=thierry.reding@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®