mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 0/2] misc: eeprom_93xx46: add Microchip 93LC86C
@ 2026-09-29 16:28 Abdurrahman Hussain
  2026-09-29 16:28 ` [PATCH 1/2] dt-bindings: eeprom: microchip,93lc46b: " Abdurrahman Hussain
  2026-09-29 16:28 ` [PATCH 2/2] misc: eeprom_93xx46: " Abdurrahman Hussain
  0 siblings, 2 replies; 4+ messages in thread
From: Abdurrahman Hussain @ 2026-09-29 16:28 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Cory Tusar,
	Arnd Bergmann, Greg Kroah-Hartman
  Cc: devicetree, linux-kernel, Abdurrahman Hussain

The 93LC86C is the 16 Kbit member of the family, 2048 bytes. Like the
93LC46B it clocks an extra cycle out after the address during a read, so it
takes the same quirk.

Signed-off-by: Abdurrahman Hussain <abdurrahman@nexthop.ai>
---
Abdurrahman Hussain (2):
      dt-bindings: eeprom: microchip,93lc46b: add Microchip 93LC86C
      misc: eeprom_93xx46: add Microchip 93LC86C

 .../devicetree/bindings/eeprom/microchip,93lc46b.yaml         |  1 +
 drivers/misc/eeprom/eeprom_93xx46.c                           | 11 +++++++++++
 2 files changed, 12 insertions(+)
---
base-commit: 8d3ae59288f1e7d58d76558a6ee96d533bc5019f
change-id: 20260929-eeprom-93xx46-93lc86c-2450974d8891

Best regards,
--  
Abdurrahman Hussain <abdurrahman@nexthop.ai>


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH 1/2] dt-bindings: eeprom: microchip,93lc46b: add Microchip 93LC86C
  2026-09-29 16:28 [PATCH 0/2] misc: eeprom_93xx46: add Microchip 93LC86C Abdurrahman Hussain
@ 2026-09-29 16:28 ` Abdurrahman Hussain
  2026-09-29 18:56   ` Conor Dooley
  2026-09-29 16:28 ` [PATCH 2/2] misc: eeprom_93xx46: " Abdurrahman Hussain
  1 sibling, 1 reply; 4+ messages in thread
From: Abdurrahman Hussain @ 2026-09-29 16:28 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Cory Tusar,
	Arnd Bergmann, Greg Kroah-Hartman
  Cc: devicetree, linux-kernel, Abdurrahman Hussain

The 93LC86C is the 16 Kbit member of the family.

Signed-off-by: Abdurrahman Hussain <abdurrahman@nexthop.ai>
---
 Documentation/devicetree/bindings/eeprom/microchip,93lc46b.yaml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/eeprom/microchip,93lc46b.yaml b/Documentation/devicetree/bindings/eeprom/microchip,93lc46b.yaml
index 144e86ce5c0a..8e782b70386a 100644
--- a/Documentation/devicetree/bindings/eeprom/microchip,93lc46b.yaml
+++ b/Documentation/devicetree/bindings/eeprom/microchip,93lc46b.yaml
@@ -18,6 +18,7 @@ properties:
       - atmel,at93c66
       - eeprom-93xx46
       - microchip,93lc46b
+      - microchip,93lc86c
 
   data-size:
     description: number of data bits per word

-- 
2.54.0


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH 2/2] misc: eeprom_93xx46: add Microchip 93LC86C
  2026-09-29 16:28 [PATCH 0/2] misc: eeprom_93xx46: add Microchip 93LC86C Abdurrahman Hussain
  2026-09-29 16:28 ` [PATCH 1/2] dt-bindings: eeprom: microchip,93lc46b: " Abdurrahman Hussain
@ 2026-09-29 16:28 ` Abdurrahman Hussain
  1 sibling, 0 replies; 4+ messages in thread
From: Abdurrahman Hussain @ 2026-09-29 16:28 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Cory Tusar,
	Arnd Bergmann, Greg Kroah-Hartman
  Cc: devicetree, linux-kernel, Abdurrahman Hussain

The 93LC86C is the 16 Kbit member of the family: 2048 bytes, so a
10 bit word address in x16 and 11 bits in x8. Like the 93LC46B it
clocks an extra cycle out after the address during a read, so it
takes the same quirk.

Signed-off-by: Abdurrahman Hussain <abdurrahman@nexthop.ai>
---
 drivers/misc/eeprom/eeprom_93xx46.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/drivers/misc/eeprom/eeprom_93xx46.c b/drivers/misc/eeprom/eeprom_93xx46.c
index f9c3ab52c2f9..77fe1fb641aa 100644
--- a/drivers/misc/eeprom/eeprom_93xx46.c
+++ b/drivers/misc/eeprom/eeprom_93xx46.c
@@ -29,6 +29,7 @@ struct eeprom_93xx46_platform_data {
 #define EE_SIZE1K	0x10		/* 1 kb of data, that is a 93xx46 */
 #define EE_SIZE2K	0x20		/* 2 kb of data, that is a 93xx56 */
 #define EE_SIZE4K	0x40		/* 4 kb of data, that is a 93xx66 */
+#define EE_SIZE16K	0x80		/* 16 kb of data, that is a 93xx86 */
 
 	unsigned int	quirks;
 /* Single word read transfers only; no sequential read. */
@@ -77,6 +78,11 @@ static const struct eeprom_93xx46_devtype_data microchip_93lc46b_data = {
 	.quirks = EEPROM_93XX46_QUIRK_EXTRA_READ_CYCLE,
 };
 
+static const struct eeprom_93xx46_devtype_data microchip_93lc86c_data = {
+	.flags = EE_SIZE16K,
+	.quirks = EEPROM_93XX46_QUIRK_EXTRA_READ_CYCLE,
+};
+
 struct eeprom_93xx46_dev {
 	struct spi_device *spi;
 	struct eeprom_93xx46_platform_data *pdata;
@@ -389,6 +395,7 @@ static const struct of_device_id eeprom_93xx46_of_table[] = {
 	{ .compatible = "atmel,at93c56", .data = &at93c56_data, },
 	{ .compatible = "atmel,at93c66", .data = &at93c66_data, },
 	{ .compatible = "microchip,93lc46b", .data = &microchip_93lc46b_data, },
+	{ .compatible = "microchip,93lc86c", .data = &microchip_93lc86c_data, },
 	{}
 };
 MODULE_DEVICE_TABLE(of, eeprom_93xx46_of_table);
@@ -406,6 +413,8 @@ static const struct spi_device_id eeprom_93xx46_spi_ids[] = {
 	  .driver_data = (kernel_ulong_t)&at93c66_data, },
 	{ .name = "93lc46b",
 	  .driver_data = (kernel_ulong_t)&microchip_93lc46b_data, },
+	{ .name = "93lc86c",
+	  .driver_data = (kernel_ulong_t)&microchip_93lc86c_data, },
 	{}
 };
 MODULE_DEVICE_TABLE(spi, eeprom_93xx46_spi_ids);
@@ -482,6 +491,8 @@ static int eeprom_93xx46_probe(struct spi_device *spi)
 		edev->size = 256;
 	else if (pd->flags & EE_SIZE4K)
 		edev->size = 512;
+	else if (pd->flags & EE_SIZE16K)
+		edev->size = 2048;
 	else {
 		dev_err(&spi->dev, "unspecified size\n");
 		return -EINVAL;

-- 
2.54.0


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH 1/2] dt-bindings: eeprom: microchip,93lc46b: add Microchip 93LC86C
  2026-09-29 16:28 ` [PATCH 1/2] dt-bindings: eeprom: microchip,93lc46b: " Abdurrahman Hussain
@ 2026-09-29 18:56   ` Conor Dooley
  0 siblings, 0 replies; 4+ messages in thread
From: Conor Dooley @ 2026-09-29 18:56 UTC (permalink / raw)
  To: Abdurrahman Hussain
  Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Cory Tusar,
	Arnd Bergmann, Greg Kroah-Hartman, devicetree, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 75 bytes --]

Acked-by: Conor Dooley <conor.dooley@microchip.com>
pw-bot: not-applicable

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2026-09-29 18:56 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-29 16:28 [PATCH 0/2] misc: eeprom_93xx46: add Microchip 93LC86C Abdurrahman Hussain
2026-09-29 16:28 ` [PATCH 1/2] dt-bindings: eeprom: microchip,93lc46b: " Abdurrahman Hussain
2026-09-29 18:56   ` Conor Dooley
2026-09-29 16:28 ` [PATCH 2/2] misc: eeprom_93xx46: " Abdurrahman Hussain

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®