MAHR    = 0x05c0,
        MALR    = 0x05c8,
        TROCR   = 0x0700,       /* R-Car Gen3 and RZ/G2L only */
+       CXR41   = 0x0708,       /* RZ/G2L only */
+       CXR42   = 0x0710,       /* RZ/G2L only */
        CEFCR   = 0x0740,
        FRECR   = 0x0748,
        TSFRCR  = 0x0750,
        /* hardware features */
        unsigned internal_delay:1;      /* AVB-DMAC has internal delays */
        unsigned tx_counters:1;         /* E-MAC has TX counters */
+       unsigned carrier_counters:1;    /* E-MAC has carrier counters */
        unsigned multi_irqs:1;          /* AVB-DMAC and E-MAC has multiple irqs */
        unsigned gptp:1;                /* AVB-DMAC has gPTP support */
        unsigned ccc_gac:1;             /* AVB-DMAC has gPTP support active in config mode */
 
                ravb_write(ndev, 0, TROCR);     /* (write clear) */
        }
 
+       if (info->carrier_counters) {
+               nstats->collisions += ravb_read(ndev, CXR41);
+               ravb_write(ndev, 0, CXR41);     /* (write clear) */
+               nstats->tx_carrier_errors += ravb_read(ndev, CXR42);
+               ravb_write(ndev, 0, CXR42);     /* (write clear) */
+       }
+
        nstats->rx_packets = stats0->rx_packets;
        nstats->tx_packets = stats0->tx_packets;
        nstats->rx_bytes = stats0->rx_bytes;
        .rx_max_buf_size = SZ_8K,
        .aligned_tx = 1,
        .tx_counters = 1,
+       .carrier_counters = 1,
        .half_duplex = 1,
 };