diff --git a/firmware/config/stm32f4ems/efifeatures.h b/firmware/config/stm32f4ems/efifeatures.h index 110d16f48f..f75893ea03 100644 --- a/firmware/config/stm32f4ems/efifeatures.h +++ b/firmware/config/stm32f4ems/efifeatures.h @@ -156,6 +156,10 @@ #define BOARD_TLE8888_COUNT 1 #endif +#ifndef BOARD_L9779_COUNT +#define BOARD_L9779_COUNT 1 +#endif + #ifndef BOARD_DRV8860_COUNT #define BOARD_DRV8860_COUNT 0 #endif diff --git a/firmware/config/stm32h7ems/efifeatures.h b/firmware/config/stm32h7ems/efifeatures.h index 5bfbde88c6..adfe7c7fb4 100644 --- a/firmware/config/stm32h7ems/efifeatures.h +++ b/firmware/config/stm32h7ems/efifeatures.h @@ -15,15 +15,17 @@ #undef BOARD_TLE6240_COUNT #undef BOARD_MC33972_COUNT #undef BOARD_TLE8888_COUNT +#undef BOARD_L9779_COUNT #define BOARD_TLE6240_COUNT 0 #define BOARD_MC33972_COUNT 0 #define BOARD_TLE8888_COUNT 0 +#define BOARD_L9779_COUNT 0 #undef EFI_MAX_31855 #define EFI_MAX_31855 FALSE #undef BOARD_EXT_GPIOCHIPS -#define BOARD_EXT_GPIOCHIPS (BOARD_TLE6240_COUNT + BOARD_MC33972_COUNT + BOARD_TLE8888_COUNT + BOARD_DRV8860_COUNT + BOARD_MC33810_COUNT) +#define BOARD_EXT_GPIOCHIPS (BOARD_TLE6240_COUNT + BOARD_MC33972_COUNT + BOARD_TLE8888_COUNT + BOARD_DRV8860_COUNT + BOARD_MC33810_COUNT + BOARD_L9779_COUNT) #define EFI_USE_COMPRESSED_INI_MSD diff --git a/firmware/hw_layer/drivers/gpio/l9779.cpp b/firmware/hw_layer/drivers/gpio/l9779.cpp index 29a6eddc65..4bab25118c 100644 --- a/firmware/hw_layer/drivers/gpio/l9779.cpp +++ b/firmware/hw_layer/drivers/gpio/l9779.cpp @@ -4,6 +4,10 @@ * Created on: Jan 10, 2022 */ - +#include "pch.h" + +#if (BOARD_L9779_COUNT > 0) + +#endif /* (BOARD_L9779_COUNT > 0) */ diff --git a/firmware/hw_layer/drivers/gpio/l9779.h b/firmware/hw_layer/drivers/gpio/l9779.h index 5d16e6590e..89cff28910 100644 --- a/firmware/hw_layer/drivers/gpio/l9779.h +++ b/firmware/hw_layer/drivers/gpio/l9779.h @@ -7,3 +7,12 @@ */ #pragma once + +#include "efifeatures.h" +#include + +struct l9779_config { +#if HAL_USE_SPI + SPIDriver *spi_bus; +#endif +}; diff --git a/firmware/hw_layer/smart_gpio.cpp b/firmware/hw_layer/smart_gpio.cpp index 58ad34b453..7c3dbe4403 100644 --- a/firmware/hw_layer/smart_gpio.cpp +++ b/firmware/hw_layer/smart_gpio.cpp @@ -17,6 +17,7 @@ #include "drivers/gpio/mc33810.h" #include "drivers/gpio/tle8888.h" #include "drivers/gpio/drv8860.h" +#include "drivers/gpio/l9779.h" #if (BOARD_TLE6240_COUNT > 0) // todo: migrate to TS or board config @@ -95,6 +96,14 @@ struct mc33972_config mc33972 = { }; #endif /* (BOARD_MC33972_COUNT > 0) */ +#if (BOARD_L9779_COUNT > 0) +static OutputPin l9779Cs; +struct l9779_config l9779_cfg = { + .spi_bus = NULL, +}; + +#endif /* (BOARD_L9779_COUNT > 0) */ + #if (BOARD_TLE8888_COUNT > 0) static OutputPin tle8888Cs; struct tle8888_config tle8888_cfg = { diff --git a/firmware/hw_layer/smart_gpio.h b/firmware/hw_layer/smart_gpio.h index f35c54a014..286946d933 100644 --- a/firmware/hw_layer/smart_gpio.h +++ b/firmware/hw_layer/smart_gpio.h @@ -18,7 +18,7 @@ #if EFI_UNIT_TEST #define BOARD_EXT_GPIOCHIPS 3 #else - #define BOARD_EXT_GPIOCHIPS (BOARD_TLE6240_COUNT + BOARD_MC33972_COUNT + BOARD_TLE8888_COUNT + BOARD_DRV8860_COUNT + BOARD_MC33810_COUNT) + #define BOARD_EXT_GPIOCHIPS (BOARD_TLE6240_COUNT + BOARD_MC33972_COUNT + BOARD_TLE8888_COUNT + BOARD_DRV8860_COUNT + BOARD_MC33810_COUNT + BOARD_L9779_COUNT) #endif void initSmartGpio(void);