net: dsa: microchip: add ksz9567 to ksz9477 driver
authorGeorge McCollister <george.mccollister@gmail.com>
Tue, 10 Sep 2019 13:18:35 +0000 (08:18 -0500)
committerDavid S. Miller <davem@davemloft.net>
Thu, 12 Sep 2019 10:36:12 +0000 (11:36 +0100)
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.mccollister@gmail.com>
Reviewed-by: Marek Vasut <marex@denx.de>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/dsa/microchip/ksz9477.c
drivers/net/dsa/microchip/ksz9477_i2c.c
drivers/net/dsa/microchip/ksz9477_spi.c

index 187be42de5f15944df6c8948ca55244ff04fbdeb..50ffc63d623199e0684c5fb6a81d91a0950ac472 100644 (file)
@@ -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 */
+       },
 };
 
 static int ksz9477_switch_init(struct ksz_device *dev)
index 79867cc2474b65d06fb50832f784f704223c8815..0b1e01f0873d5733336e3c291148f5993494f3c1 100644 (file)
@@ -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);
index 2e402e4d866fe56941a4ba6943dc47101b236b43..f4198d6f72bee55a6ba4f0dca945f0d701870d82 100644 (file)
@@ -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);