How does LVGL know how to communicate to my display?

Description

I am trying to use LVGL, but I don’t know how to let LVGL know what sort of interface I am using. Or even what pins to use.

What MCU/Processor/Board and compiler are you using?

STM32F446RE Nucleo. GCC

What do you want to achieve?

I want to use LVGL to make a simple embedded app using an ILI9341 touchscreen using an SPI interface

What have you tried so far?

So far I have noticed that lv_drv_conf.h has some SPI macros that the ILI9341 driver uses, but they don’t have any definitions (only something commented out). Am I suppose to supply my own? The only problem I would have then is scope for the functions. For example, a HAL SPI Handle in STM32, would it have the proper scope so that the ILI9341 files can use it properly?