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

From: Christian Eggers
Date: Wed Oct 07 2020 - 09:14:11 EST


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