Wiring a Adafruit ILI9341 TFT Display

I just found out from this answer here that the GPIO situation is a bit more complicated than I thought. GPIO Pin 13 seems to be only named “13” in the sysfs, while the kernel side refers to it as 76.

When I load the driver in the following way, I get a proper 1.8V D/C signal similar to the one from the Pi:

insmod \
   /lib/modules/3.18.122/kernel/drivers/video/fbdev/fbtft/fbtft_device.ko  \
   name=adafruit28 \
   busnum=1 \ 
   gpios=dc:76 \
   debug=5

Display is still not working though (although the flickering increased…). I guess I need to use level shifters to get to 3.3V logic. Or can I somehow use the SPI on the RaPi connector (which is 3.3V) easily from kernel side so fbtft can use it? I found this thread but they seems to use spidev from the userspace side, so probably not usable.

EDIT:

For reference I added the table from drivers/gpio/gpiolib-sysfs.c (3.18.122, legato 18.10.3) here:

static struct ext_gpio_map ext_gpio_wp[]={
        {"1", -1,FUNCTION_UNALLOCATED},
        {"2", 38,FUNCTION_UNALLOCATED},
        {"3", -1,FUNCTION_UNALLOCATED},
        {"4", 30,FUNCTION_UNALLOCATED},
        {"5", -1,FUNCTION_UNALLOCATED},
        {"6", 1022,FUNCTION_UNALLOCATED},
        {"7", 16,FUNCTION_UNALLOCATED},
        {"8", 58,FUNCTION_UNALLOCATED},
        {"9", -1,FUNCTION_UNALLOCATED},
        {"10", -1,FUNCTION_UNALLOCATED},
        {"11", -1,FUNCTION_UNALLOCATED},
        {"12", -1,FUNCTION_UNALLOCATED},
        {"13", 76,FUNCTION_UNALLOCATED},
        {"14", -1,FUNCTION_UNALLOCATED},
        {"15", -1,FUNCTION_UNALLOCATED},
        {"16", -1,FUNCTION_UNALLOCATED},
        {"17", -1,FUNCTION_UNALLOCATED},
        {"18", -1,FUNCTION_UNALLOCATED},
        {"19", -1,FUNCTION_UNALLOCATED},
        {"20", -1,FUNCTION_UNALLOCATED},
        {"21", 8,FUNCTION_UNALLOCATED},
        {"22", 9,FUNCTION_UNALLOCATED},
        {"23", 10,FUNCTION_UNALLOCATED},
        {"24", 11,FUNCTION_UNALLOCATED},
        {"25", 51,FUNCTION_UNALLOCATED},
        {"26", -1,FUNCTION_UNALLOCATED},
        {"27", -1,FUNCTION_UNALLOCATED},
        {"28", 45,FUNCTION_UNALLOCATED},
        {"29", 46,FUNCTION_UNALLOCATED},
        {"30", 47,FUNCTION_UNALLOCATED},
        {"31", 48,FUNCTION_UNALLOCATED},
        {"32", 77,FUNCTION_UNALLOCATED},
        {"33", 78,FUNCTION_UNALLOCATED},
        {"34", -1,FUNCTION_UNALLOCATED},
        {"35", 37,FUNCTION_UNALLOCATED},
#ifdef CONFIG_GPIO_SWIMCU
        {"36", SWIMCU_GPIO_TO_SYS(0),FUNCTION_EMBEDDED_HOST},
        {"37", SWIMCU_GPIO_TO_SYS(1),FUNCTION_EMBEDDED_HOST},
        {"38", SWIMCU_GPIO_TO_SYS(2),FUNCTION_EMBEDDED_HOST},
        {"39", -1,FUNCTION_UNALLOCATED},
        {"40", SWIMCU_GPIO_TO_SYS(3),FUNCTION_EMBEDDED_HOST},
        {"41", SWIMCU_GPIO_TO_SYS(4),FUNCTION_EMBEDDED_HOST},
#else /* CONFIG_GPIO_SWIMCU */
        {"36", -1,FUNCTION_UNALLOCATED},
        {"37", -1,FUNCTION_UNALLOCATED},
        {"38", -1,FUNCTION_UNALLOCATED},
        {"39", -1,FUNCTION_UNALLOCATED},
        {"40", -1,FUNCTION_UNALLOCATED},
        {"41", -1,FUNCTION_UNALLOCATED},
#endif /* !CONFIG_GPIO_SWIMCU */
        {"42", 79,FUNCTION_UNALLOCATED},
        {"43", -1,FUNCTION_UNALLOCATED},
        {"44", -1,FUNCTION_UNALLOCATED},
        {"45", -1,FUNCTION_UNALLOCATED},
        {"46", -1,FUNCTION_UNALLOCATED},
        {"M1", -1,FUNCTION_UNALLOCATED},
        {"M2", -1,FUNCTION_UNALLOCATED},
        {"M3", -1,FUNCTION_UNALLOCATED},
        {"M4", -1,FUNCTION_UNALLOCATED},
        {GPIO_NAME_RI,25,FUNCTION_UNALLOCATED}
};