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