Message ID | 20201007093049.13078-1-ceggers@arri.de (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
Series | [net-next] net: dsa: microchip: add ksz9563 to ksz9477 I2C driver | expand |
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
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
On Wed, Oct 07, 2020 at 03:13:15PM +0200, Christian Eggers wrote: > 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", O.K. Thanks. This is not very clear. Maybe add a follow up patch which adds some comments? Andrew
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
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: > > 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!
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" }, {}, };
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(+)