fn update_registers(&self) {
        // Ensure that the configuration of the peripheral is correctly propagated
        // (only necessary for C2, C3, C6, H2 and S3 variant)
        #[cfg(i2c_master_has_conf_update)]
        self.regs().ctr().modify(|_, w| w.conf_upgate().set_bit());
    }
Updates the configuration of the I2C peripheral.

This function ensures that the configuration values, such as clock
settings, SDA/SCL filtering, timeouts, and other operational
parameters, which are configured in other functions, are properly
propagated to the I2C hardware. This step is necessary to synchronize
the software-configured settings with the peripheral's internal
registers, ensuring that the hardware behaves according to the
current configuration.
esp-hal/src/i2c/master/mod.rs