github example analisys of clock definitions for efr32fg14
I'm not familiar with this MCU so this is based mostly on general MCU knowledge.
The MCU has a main system clock (this particular MCU calls it HFCLK).  The main clock can be sourced from one of a variety of inputs.  For this example they have chosen to base the main clock on the low frequency external oscillator (LFXO).  The function call CMU_OscillatorEnable(cmu_Osc_LFXO, true, true); sets CMU_HFCLKSEL.HF so that the Clock Switch block selects the LFXO signal to source the HFCLK signal.
Perhaps the board that this example was developed for contains a low frequency external oscillator that runs at 14 MHz.  And perhaps that is why CORE_FREQUENCY is defined as 14000000 for this example.
The main system clock feeds into many other clocks such as peripheral clocks.  Peripherals like I2C and GPIO need to be &quot;turned on&quot; by enabling the peripheral's clock signal.  The function call CMU_ClockEnable(cmuClock_GPIO, true); likely sets CMU_HFBUSCLKEN0.GPIO to enable the GPIO peripheral clock, HFBUSCLKGPIO.
The I2C perhiperhal is not shown on page 281 but it is sourced from HFPERCLK, just like the HFPERCLKTIMERn and HFPERCLKUSARTn.  See the description of CMU_HFPERCLKEN0 on page  346 for all the peripheral clocks sourced from HFPERCLK.  The function call CMU_ClockEnable(cmuClock_I2C0, true); likely sets CMU_HFPERCLKEN0.I2C0 to enable the I2C peripheral clock.
It's not clear to me why the example enables the Low Energy peripheral clock, cmuClock_HFLE.  Perhaps that is not necessary.
All of the above simply selects the source for the main system clock and turns on the GPIO and the I2C peripherals.  All of this is necessary just to use the I2C peripheral.  (I2C relies on GPIO pins so the GPIO peripheral must be enabled to use I2C.)
Next the I2C peripheral needs to be configured.  And i2cInit.freq = I2C_FREQ_FAST_MAX is just a configuration option for the I2C peripheral.  The I2C peripheral has an output clock used for communications.  The author of the example code chose to use the fastest I2C communications clock rate, which is 400 kHz as mentioned in the comment.  Presumably, the call to I2C_Init() configures the MCU registers appropriately to select the fast I2C communications clock rate.  Perhaps I2C_Init() relies on CORE_FREQUENCY to determine the appropriate I2C register settings that result in a communications clock rate near 400 kHz.  You'd have to study I2C_Init() and the reference manual if you want to understand those details.