It is possible to control sdcard/tft/touch use same hspi or vspi?

my board is devkitv4 with arduino platform.
I have finish tft and touch to show the sensor value with two page.
I want to use sdcard to record data.

I find lvgl has lv_fs file.
if i use two spi to control HSPI(sdcard) and VSPI(tft/touch), it work.
but when i use the same spi, they can’t work…
if i call sd.begin after tft.begin, the compile will show “addApbChangeCallback(): duplica: duplicate func=40116894 arg=3FFBF51C”

if (!SD.begin(15)) {
   Serial.println(F("FAIL"));
}
lv_init();
lv_fs_if_init();
tft.begin();
tft.setRotation(2);

it i call lv_task_handler() after SD.begin(), the sdcard will show unmount sdcard…
how to fix this problem?