[PATCH net-next] net: dsa: microchip: add ksz9563 to ksz9477 I2C driver

Subsystems: microchip ksz series ethernet switch driver, networking drivers, networking [dsa], the rest · Maintainers: Woojung Huh, Andrew Lunn, "David S. Miller", Eric Dumazet, Jakub Kicinski, Paolo Abeni, Andrew Lunn, Vladimir Oltean, Linus Torvalds

STALE2209d

6 messages, 3 authors, 2020-10-09 · open the first message on its own page

[PATCH net-next] net: dsa: microchip: add ksz9563 to ksz9477 I2C driver

From: Christian Eggers <ceggers@arri.de>
Date: 2020-10-07 09:31:47

Add support for the KSZ9563 3-Port Gigabit Ethernet Switch to the
ksz9477 driver. The KSZ9563 supports both SPI (already in) and I2C. The
ksz9563 is already in the device tree binding documentation.

Signed-off-by: Christian Eggers <ceggers@arri.de>
---
 drivers/net/dsa/microchip/ksz9477_i2c.c | 1 +
 1 file changed, 1 insertion(+)
diff --git a/drivers/net/dsa/microchip/ksz9477_i2c.c b/drivers/net/dsa/microchip/ksz9477_i2c.c
index 7951f52d860d..4e053a25d077 100644
--- a/drivers/net/dsa/microchip/ksz9477_i2c.c
+++ b/drivers/net/dsa/microchip/ksz9477_i2c.c
@@ -80,6 +80,7 @@ static const struct of_device_id ksz9477_dt_ids[] = {
 	{ .compatible = "microchip,ksz9477" },
 	{ .compatible = "microchip,ksz9897" },
 	{ .compatible = "microchip,ksz9893" },
+	{ .compatible = "microchip,ksz9563" },
 	{ .compatible = "microchip,ksz9567" },
 	{},
 };
-- 
Christian Eggers
Embedded software developer

Arnold & Richter Cine Technik GmbH & Co. Betriebs KG
Sitz: Muenchen - Registergericht: Amtsgericht Muenchen - Handelsregisternummer: HRA 57918
Persoenlich haftender Gesellschafter: Arnold & Richter Cine Technik GmbH
Sitz: Muenchen - Registergericht: Amtsgericht Muenchen - Handelsregisternummer: HRB 54477
Geschaeftsfuehrer: Dr. Michael Neuhaeuser; Stephan Schenk; Walter Trauninger; Markus Zeiler

Re: [PATCH net-next] net: dsa: microchip: add ksz9563 to ksz9477 I2C driver

From: Andrew Lunn <andrew@lunn.ch>
Date: 2020-10-07 12:21:25

On Wed, Oct 07, 2020 at 11:30:49AM +0200, Christian Eggers wrote:
Add support for the KSZ9563 3-Port Gigabit Ethernet Switch to the
ksz9477 driver. The KSZ9563 supports both SPI (already in) and I2C. The
ksz9563 is already in the device tree binding documentation.
Hi Christian

What chip_id values does it use? I don't see it listed in
ksz9477_switch_chips.

Thanks
	Andrew

Re: [PATCH net-next] net: dsa: microchip: add ksz9563 to ksz9477 I2C driver

From: Christian Eggers <ceggers@arri.de>
Date: 2020-10-07 13:14:08

Hi Andrew,
What chip_id values does it use? I don't see it listed in
ksz9477_switch_chips.
here a short dump of the first chip registers:
        Chip ID0     00
        Chip ID1_2   9893      Chip ID      9893
        Chip ID3     60        Revision ID  6              Reset         normal
        Chip ID4     1C        SKU ID       1C
In ksz9477_switch_detect(), the 32 bit value is built from only
the 2 middle bytes: 0x00989300. The number of port (3) is also
assigned within this function:
	if ((id_lo & 0xf) == 3) {
		/* Chip is from KSZ9893 design. */
		dev->features |= IS_9893;
		/* Chip does not support gigabit. */
		if (data8 & SW_QW_ABLE)
			dev->features &= ~GBIT_SUPPORT;
		dev->mib_port_cnt = 3;
		dev->phy_port_cnt = 2;
	} ...
The chip id 0x00989300 does already exist in ksz9477_switch_chips:
	{
		.chip_id = 0x00989300,
		.dev_name = "KSZ9893",
		.num_vlans = 4096,
		.num_alus = 4096,
		.num_statics = 16,
		.cpu_ports = 0x07,	/* can be configured as cpu port */
		.port_cnt = 3,		/* total port count */
	},
But my chip is really a KSZ9563.

Best regards
Christian


Re: [PATCH net-next] net: dsa: microchip: add ksz9563 to ksz9477 I2C driver

From: Andrew Lunn <andrew@lunn.ch>
Date: 2020-10-07 13:20:05

On Wed, Oct 07, 2020 at 03:13:15PM +0200, Christian Eggers wrote:
Hi Andrew,
quoted
What chip_id values does it use? I don't see it listed in
ksz9477_switch_chips.
here a short dump of the first chip registers:
quoted
        Chip ID0     00
        Chip ID1_2   9893      Chip ID      9893
        Chip ID3     60        Revision ID  6              Reset         normal
        Chip ID4     1C        SKU ID       1C
In ksz9477_switch_detect(), the 32 bit value is built from only
the 2 middle bytes: 0x00989300. The number of port (3) is also
assigned within this function:
quoted
	if ((id_lo & 0xf) == 3) {
		/* Chip is from KSZ9893 design. */
		dev->features |= IS_9893;
		/* Chip does not support gigabit. */
		if (data8 & SW_QW_ABLE)
			dev->features &= ~GBIT_SUPPORT;
		dev->mib_port_cnt = 3;
		dev->phy_port_cnt = 2;
	} ...
The chip id 0x00989300 does already exist in ksz9477_switch_chips:
quoted
	{
		.chip_id = 0x00989300,
		.dev_name = "KSZ9893",
O.K. Thanks. This is not very clear. Maybe add a follow up patch which
adds some comments?

     Andrew

Re: [PATCH net-next] net: dsa: microchip: add ksz9563 to ksz9477 I2C driver

From: Andrew Lunn <andrew@lunn.ch>
Date: 2020-10-07 13:20:18

On Wed, Oct 07, 2020 at 11:30:49AM +0200, Christian Eggers wrote:
Add support for the KSZ9563 3-Port Gigabit Ethernet Switch to the
ksz9477 driver. The KSZ9563 supports both SPI (already in) and I2C. The
ksz9563 is already in the device tree binding documentation.

Signed-off-by: Christian Eggers <ceggers@arri.de>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>

    Andrew

Re: [PATCH net-next] net: dsa: microchip: add ksz9563 to ksz9477 I2C driver

From: Jakub Kicinski <kuba@kernel.org>
Date: 2020-10-09 20:10:26

On Wed, 7 Oct 2020 15:20:02 +0200 Andrew Lunn wrote:
On Wed, Oct 07, 2020 at 11:30:49AM +0200, Christian Eggers wrote:
quoted
Add support for the KSZ9563 3-Port Gigabit Ethernet Switch to the
ksz9477 driver. The KSZ9563 supports both SPI (already in) and I2C. The
ksz9563 is already in the device tree binding documentation.

Signed-off-by: Christian Eggers <ceggers@arri.de>  
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Applied, thanks!
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help