Why does spi gpio config use low speed 2MHz?

Hi!
When I read px4 fmu-v6x boards.h, I see SPI GPIO SCK is 2MHz. But this spi is connected to imu icm42688-p which request 24MHz spi bus frequency. It conficts the gpio speed setting. Does I missed something?
Here is nuttx-configs/px4_fmu-v6x/include/board.h.

#define ADJ_SLEW_RATE(p) (((p) & ~GPIO_SPEED_MASK) | (GPIO_SPEED_2MHz))

#define GPIO_SPI1_MISO   GPIO_SPI1_MISO_3               /* PG9  */
#define GPIO_SPI1_MOSI   GPIO_SPI1_MOSI_2               /* PB5  */
#define GPIO_SPI1_SCK    ADJ_SLEW_RATE(GPIO_SPI1_SCK_1) /* PA5  */

Here is arch/arm/src/stm32h7/stm32_spi.c

struct spi_dev_s *stm32_spibus_initialize(int bus)
{
     stm32_configgpio(GPIO_SPI1_SCK);
     stm32_configgpio(GPIO_SPI1_MISO);
     stm32_configgpio(GPIO_SPI1_MOSI);
}

Here is arch/arm/src/stm32h7/stm32_gpio.c

  if (pinmode == GPIO_MODER_OUTPUT || pinmode == GPIO_MODER_ALT)
    {
      switch (cfgset & GPIO_SPEED_MASK)
        {
          default:
          case GPIO_SPEED_2MHz:    /* 2 MHz Low speed output */
            setting = GPIO_OSPEED_2MHz;
            break;

          case GPIO_SPEED_25MHz:   /* 25 MHz Medium speed output */
            setting = GPIO_OSPEED_25MHz;
            break;

          case GPIO_SPEED_50MHz:   /* 50 MHz Fast speed output  */
            setting = GPIO_OSPEED_50MHz;
            break;

          case GPIO_SPEED_100MHz:   /* 100 MHz High speed output */
            setting = GPIO_OSPEED_100MHz;
            break;
        }
    }

I’m pretty sure the actual sensor driver will adjust this rate, see: