gt911: enable clocks in driver

This commit is contained in:
Raphael Coeffic
2022-06-25 16:09:04 +02:00
committed by Raphael Coeffic
parent 2ffe22b8de
commit 7cb2973248
3 changed files with 20 additions and 12 deletions
+1 -3
View File
@@ -122,9 +122,7 @@ void boardInit()
HAPTIC_RCC_AHB1Periph |
INTMODULE_RCC_AHB1Periph |
EXTMODULE_RCC_AHB1Periph |
SPORT_UPDATE_RCC_AHB1Periph |
TOUCH_INT_RCC_AHB1Periph |
TOUCH_RST_RCC_AHB1Periph,
SPORT_UPDATE_RCC_AHB1Periph,
ENABLE);
RCC_APB1PeriphClockCmd(ROTARY_ENCODER_RCC_APB1Periph |
-5
View File
@@ -696,11 +696,9 @@
#define TOUCH_I2C_BUS I2C_Bus_1
#define TOUCH_I2C_CLK_RATE 400000
#define TOUCH_INT_RCC_AHB1Periph RCC_AHB1Periph_GPIOH
#define TOUCH_INT_GPIO GPIOH
#define TOUCH_INT_GPIO_PIN LL_GPIO_PIN_2 // PH.02
#define TOUCH_RST_RCC_AHB1Periph RCC_AHB1Periph_GPIOF
#define TOUCH_RST_GPIO GPIOF
#if defined(PCBX12S)
#define TOUCH_RST_GPIO_PIN LL_GPIO_PIN_7 // PF.7
@@ -718,9 +716,6 @@
#define TOUCH_INT_EXTI_SysCfgLine LL_SYSCFG_EXTI_LINE2
#define TOUCH_INT_EXTI_IRQn EXTI2_IRQn
#define TOUCH_INT_EXTI_IRQHandler EXTI2_IRQHandler
#else
#define TOUCH_INT_RCC_AHB1Periph 0
#define TOUCH_RST_RCC_AHB1Periph 0
#endif
// First I2C Bus
+19 -4
View File
@@ -20,6 +20,7 @@
*/
#include "stm32_hal_ll.h"
#include "stm32_hal.h"
#include "stm32_i2c_driver.h"
#include "hal.h"
@@ -465,16 +466,32 @@ static void TOUCH_AF_ExtiConfig(void)
NVIC_EnableIRQ(TOUCH_INT_EXTI_IRQn);
}
static int gt911_enable_gpio_clock(GPIO_TypeDef *GPIOx)
{
if (GPIOx == GPIOF)
__HAL_RCC_GPIOF_CLK_ENABLE();
else if (GPIOx == GPIOH)
__HAL_RCC_GPIOH_CLK_ENABLE();
else
return -1;
return 0;
}
static void TOUCH_AF_GPIOConfig(void)
{
LL_GPIO_InitTypeDef gpioInit;
LL_GPIO_StructInit(&gpioInit);
gpioInit.Pin = TOUCH_RST_GPIO_PIN;
gt911_enable_gpio_clock(TOUCH_RST_GPIO);
gt911_enable_gpio_clock(TOUCH_INT_GPIO);
gpioInit.Mode = LL_GPIO_MODE_OUTPUT;
gpioInit.Speed = LL_GPIO_SPEED_FREQ_HIGH;
gpioInit.OutputType = LL_GPIO_OUTPUT_PUSHPULL;
gpioInit.Pull = LL_GPIO_PULL_NO;
gpioInit.Pin = TOUCH_RST_GPIO_PIN;
LL_GPIO_Init(TOUCH_RST_GPIO, &gpioInit);
LL_GPIO_ResetOutputPin(TOUCH_RST_GPIO, TOUCH_RST_GPIO_PIN);
@@ -498,14 +515,12 @@ void TOUCH_AF_INT_Change(void)
void I2C_Init_Radio(void)
{
TRACE("I2C B1 Init");
TRACE("GT911 I2C Init");
if (stm32_i2c_init(TOUCH_I2C_BUS, TOUCH_I2C_CLK_RATE) < 0) {
TRACE("GT911 ERROR: stm32_i2c_init failed");
return;
}
}
bool I2C_GT911_WriteRegister(uint16_t reg, uint8_t *buf, uint8_t len)