.rd_table = &ksz9477_register_set,
        },
 
+       [KSZ9896] = {
+               .chip_id = KSZ9896_CHIP_ID,
+               .dev_name = "KSZ9896",
+               .num_vlans = 4096,
+               .num_alus = 4096,
+               .num_statics = 16,
+               .cpu_ports = 0x3F,      /* can be configured as cpu port */
+               .port_cnt = 6,          /* total physical port count */
+               .ops = &ksz9477_dev_ops,
+               .phy_errata_9477 = true,
+               .mib_names = ksz9477_mib_names,
+               .mib_cnt = ARRAY_SIZE(ksz9477_mib_names),
+               .reg_mib_cnt = MIB_COUNTER_NUM,
+               .regs = ksz9477_regs,
+               .masks = ksz9477_masks,
+               .shifts = ksz9477_shifts,
+               .xmii_ctrl0 = ksz9477_xmii_ctrl0,
+               .xmii_ctrl1 = ksz9477_xmii_ctrl1,
+               .supports_mii   = {false, false, false, false,
+                                  false, true},
+               .supports_rmii  = {false, false, false, false,
+                                  false, true},
+               .supports_rgmii = {false, false, false, false,
+                                  false, true},
+               .internal_phy   = {true, true, true, true,
+                                  true, false},
+               .gbit_capable   = {true, true, true, true, true, true},
+       },
+
        [KSZ9897] = {
                .chip_id = KSZ9897_CHIP_ID,
                .dev_name = "KSZ9897",
                proto = DSA_TAG_PROTO_KSZ9893;
 
        if (dev->chip_id == KSZ9477_CHIP_ID ||
+           dev->chip_id == KSZ9896_CHIP_ID ||
            dev->chip_id == KSZ9897_CHIP_ID ||
            dev->chip_id == KSZ9567_CHIP_ID)
                proto = DSA_TAG_PROTO_KSZ9477;
 
                switch (id32) {
                case KSZ9477_CHIP_ID:
+               case KSZ9896_CHIP_ID:
                case KSZ9897_CHIP_ID:
                case KSZ9567_CHIP_ID:
                case LAN9370_CHIP_ID:
 
        KSZ8765,
        KSZ8830,
        KSZ9477,
+       KSZ9896,
        KSZ9897,
        KSZ9893,
        KSZ9567,
        KSZ8765_CHIP_ID = 0x8765,
        KSZ8830_CHIP_ID = 0x8830,
        KSZ9477_CHIP_ID = 0x00947700,
+       KSZ9896_CHIP_ID = 0x00989600,
        KSZ9897_CHIP_ID = 0x00989700,
        KSZ9893_CHIP_ID = 0x00989300,
        KSZ9567_CHIP_ID = 0x00956700,
 
                .compatible = "microchip,ksz9477",
                .data = &ksz_switch_chips[KSZ9477]
        },
+       {
+               .compatible = "microchip,ksz9896",
+               .data = &ksz_switch_chips[KSZ9896]
+       },
        {
                .compatible = "microchip,ksz9897",
                .data = &ksz_switch_chips[KSZ9897]
        { "ksz8863" },
        { "ksz8873" },
        { "ksz9477" },
+       { "ksz9896" },
        { "ksz9897" },
        { "ksz9893" },
        { "ksz9563" },
 module_spi_driver(ksz_spi_driver);
 
 MODULE_ALIAS("spi:ksz9477");
+MODULE_ALIAS("spi:ksz9896");
 MODULE_ALIAS("spi:ksz9897");
 MODULE_ALIAS("spi:ksz9893");
 MODULE_ALIAS("spi:ksz9563");