On 9/6/19 11:30 PM, George McCollister wrote: > Add support for the KSZ9567 7-Port Gigabit Ethernet Switch to the > ksz9477 driver. The KSZ9567 supports both SPI and I2C. Oddly the > ksz9567 is already in the device tree binding documentation. > > Signed-off-by: George McCollister <george.mccollis...@gmail.com> > --- > drivers/net/dsa/microchip/ksz9477.c | 9 +++++++++ > drivers/net/dsa/microchip/ksz9477_i2c.c | 1 + > drivers/net/dsa/microchip/ksz9477_spi.c | 1 + > 3 files changed, 11 insertions(+) > > diff --git a/drivers/net/dsa/microchip/ksz9477.c > b/drivers/net/dsa/microchip/ksz9477.c > index 187be42de5f1..50ffc63d6231 100644 > --- a/drivers/net/dsa/microchip/ksz9477.c > +++ b/drivers/net/dsa/microchip/ksz9477.c > @@ -1529,6 +1529,15 @@ static const struct ksz_chip_data > ksz9477_switch_chips[] = { > .cpu_ports = 0x07, /* can be configured as cpu port */ > .port_cnt = 3, /* total port count */ > }, > + { > + .chip_id = 0x00956700, > + .dev_name = "KSZ9567", > + .num_vlans = 4096, > + .num_alus = 4096, > + .num_statics = 16, > + .cpu_ports = 0x7F, /* can be configured as cpu port */ > + .port_cnt = 7, /* total physical port count */
I might be wrong, and this is just an idea for future improvement, but is .cpu_ports = GEN_MASK(.port_cnt, 0) always ? > + }, > }; > > static int ksz9477_switch_init(struct ksz_device *dev) > diff --git a/drivers/net/dsa/microchip/ksz9477_i2c.c > b/drivers/net/dsa/microchip/ksz9477_i2c.c > index 85fd0fb43941..c1548a43b60d 100644 > --- a/drivers/net/dsa/microchip/ksz9477_i2c.c > +++ b/drivers/net/dsa/microchip/ksz9477_i2c.c > @@ -77,6 +77,7 @@ MODULE_DEVICE_TABLE(i2c, ksz9477_i2c_id); > static const struct of_device_id ksz9477_dt_ids[] = { > { .compatible = "microchip,ksz9477" }, > { .compatible = "microchip,ksz9897" }, > + { .compatible = "microchip,ksz9567" }, > {}, > }; > MODULE_DEVICE_TABLE(of, ksz9477_dt_ids); > diff --git a/drivers/net/dsa/microchip/ksz9477_spi.c > b/drivers/net/dsa/microchip/ksz9477_spi.c > index 2e402e4d866f..f4198d6f72be 100644 > --- a/drivers/net/dsa/microchip/ksz9477_spi.c > +++ b/drivers/net/dsa/microchip/ksz9477_spi.c > @@ -81,6 +81,7 @@ static const struct of_device_id ksz9477_dt_ids[] = { > { .compatible = "microchip,ksz9893" }, > { .compatible = "microchip,ksz9563" }, > { .compatible = "microchip,ksz8563" }, > + { .compatible = "microchip,ksz9567" }, > {}, > }; > MODULE_DEVICE_TABLE(of, ksz9477_dt_ids); > Reviewed-by: Marek Vasut <ma...@denx.de> -- Best regards, Marek Vasut