All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Parker Newman <parker@finest.io>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Jiri Slaby <jirislaby@kernel.org>, Arnd Bergmann <arnd@arndb.de>,
	linux-kernel@vger.kernel.org, linux-serial@vger.kernel.org,
	Parker Newman <pnewman@connecttech.com>
Subject: Re: [PATCH v2 1/4] misc: eeprom: eeprom_93cx6: Add quirk for extra read clock cycle
Date: Fri, 20 Sep 2024 17:45:15 +0300	[thread overview]
Message-ID: <Zu2Ke5ttvrqXICDB@smile.fi.intel.com> (raw)
In-Reply-To: <b92bd58e016a14ae95e259ffbdcfc5e5da6a7aca.1726838531.git.pnewman@connecttech.com>

On Fri, Sep 20, 2024 at 10:03:21AM -0400, Parker Newman wrote:
> From: Parker Newman <pnewman@connecttech.com>
> 
> This patch adds a quirk similar to eeprom_93xx46 to add an extra clock
> cycle before reading data from the EEPROM.
> 
> The 93Cx6 family of EEPROMs output a "dummy 0 bit" between the writing
> of the op-code/address from the host to the EEPROM and the reading of
> the actual data from the EEPROM.
> 
> More info can be found on page 6 of the AT93C46 datasheet (linked below).
> Similar notes are found in other 93xx6 datasheets.
> 
> In summary the read operation for a 93Cx6 EEPROM is:
> Write to EEPROM:	110[A5-A0]	(9 bits)
> Read from EEPROM:	0[D15-D0]	(17 bits)
> 
> Where:
> 	110 is the start bit and READ OpCode
> 	[A5-A0] is the address to read from
> 	0 is a "dummy bit" preceding the actual data
> 	[D15-D0] is the actual data.
> 
> Looking at the READ timing diagrams in the 93Cx6 datasheets the dummy
> bit should be clocked out on the last address bit clock cycle meaning it
> should be discarded naturally.
> 
> However, depending on the hardware configuration sometimes this dummy
> bit is not discarded. This is the case with Exar PCI UARTs which require
> an extra clock cycle between sending the address and reading the data.
> 
> Link: https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-5193-SEEPROM-AT93C46D-Datasheet.pdf

JFYI: You may also convert this to Datasheet: tag (we have a history of it
mostly in IIO subsystem), basically replacing word Link by Datasheet in the
above line.

> Signed-off-by: Parker Newman <pnewman@connecttech.com>

Code wise LGTM now,
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

(Do not forget to embed this tag into a new version. With this the `b4` tool
 is quite helpful, so the workflow is to checkout a new branch in your local
 Git tree, like `git checkout -b exar-93xx46 v6.12-rc1` then taking a message
 ID from email of this thread — any should succeed, but cover letter's one
 for sure — run the following `b4 am $<message ID>`. It will print the hints
 what to do next, something like `git am $<patch_title>.mbx`. Then you can
 continue with `git rebase --interactive v6.12-rc1` if the code or other
 stuff in the commit message needs to be updated.)

-- 
With Best Regards,
Andy Shevchenko



  reply	other threads:[~2024-09-20 14:45 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-20 14:03 [PATCH v2 0/4] serial: 8250_exar: Replace custom EEPROM code with eeprom_93cx6 Parker Newman
2024-09-20 14:03 ` [PATCH v2 1/4] misc: eeprom: eeprom_93cx6: Add quirk for extra read clock cycle Parker Newman
2024-09-20 14:45   ` Andy Shevchenko [this message]
2024-09-20 15:03     ` Parker Newman
2024-09-20 14:48   ` Andy Shevchenko
2024-09-20 14:03 ` [PATCH v2 2/4] misc: eeprom: eeprom_93cx6: Switch to BIT() macro Parker Newman
2024-09-20 14:46   ` Andy Shevchenko
2024-09-20 14:03 ` [PATCH v2 3/4] serial: 8250_exar: Replace custom EEPROM read with eeprom_93cx6 Parker Newman
2024-09-20 14:55   ` Andy Shevchenko
2024-09-20 15:09     ` Parker Newman
2024-09-20 15:26   ` Andy Shevchenko
2024-09-20 15:42     ` Parker Newman
2024-09-20 15:46       ` Andy Shevchenko
2024-09-20 14:03 ` [PATCH v2 4/4] serial: 8250_exar: Remove old exar_ee_read() and other unneeded code Parker Newman
2024-09-20 14:37   ` Andy Shevchenko

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=Zu2Ke5ttvrqXICDB@smile.fi.intel.com \
    --to=andriy.shevchenko@linux.intel.com \
    --cc=arnd@arndb.de \
    --cc=gregkh@linuxfoundation.org \
    --cc=jirislaby@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-serial@vger.kernel.org \
    --cc=parker@finest.io \
    --cc=pnewman@connecttech.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.