2020-03-15 00:56:31 +01:00
|
|
|
#include <kernel/drivers/screen.h>
|
|
|
|
|
|
|
|
// Internal drivers
|
|
|
|
extern void t6k11_variant_lcd_driver(void *vram);
|
|
|
|
extern void t6k11_lcd_driver(void *vram);
|
|
|
|
|
|
|
|
// Primitives
|
2020-05-01 11:23:56 +02:00
|
|
|
void (*screen_driver)(void *vram);
|
2020-03-15 00:56:31 +01:00
|
|
|
|
|
|
|
__attribute__((constructor))
|
2020-03-28 19:52:59 +01:00
|
|
|
void screen_driver_load(void)
|
2020-03-15 00:56:31 +01:00
|
|
|
{
|
|
|
|
// Check T6K11 variant which appear during
|
|
|
|
// the OS >= 03.00.0000
|
|
|
|
if (*(uint8_t*)0xa0010021 == '3') {
|
2020-05-01 11:23:56 +02:00
|
|
|
screen_driver = (void*)&t6k11_variant_lcd_driver;
|
2020-03-15 00:56:31 +01:00
|
|
|
return;
|
|
|
|
}
|
|
|
|
// Default driver
|
2020-05-01 11:23:56 +02:00
|
|
|
screen_driver = &t6k11_lcd_driver;
|
2020-03-15 00:56:31 +01:00
|
|
|
}
|