boards/arm/stm32f0l0g0/nucleo-g070rb: Enable I2C.
This commit is contained in:
parent
eeed40aa0c
commit
b9638de388
@ -12,3 +12,4 @@ STATUS
|
||||
2019-10-04: Enable basic timer TIM6. Timer example working.
|
||||
2019-10-17: Add PWM support. PWM example working.
|
||||
2019-11-04: Add button driver and GPIO driver support. Buttons and GPIO examples working.
|
||||
2019-12-20: Add i2C driver driver support and i2C tool.
|
||||
|
@ -34,6 +34,9 @@ CONFIG_EXAMPLES_GPIO=y
|
||||
CONFIG_EXAMPLES_HELLO=y
|
||||
CONFIG_EXAMPLES_PWM=y
|
||||
CONFIG_EXAMPLES_TIMER=y
|
||||
CONFIG_I2C=y
|
||||
CONFIG_I2CTOOL_MAXADDR=0xff
|
||||
CONFIG_I2CTOOL_MINADDR=0x00
|
||||
CONFIG_INPUT=y
|
||||
CONFIG_INTELHEX_BINARY=y
|
||||
CONFIG_MAX_TASKS=8
|
||||
@ -60,6 +63,7 @@ CONFIG_START_DAY=19
|
||||
CONFIG_START_MONTH=5
|
||||
CONFIG_START_YEAR=2013
|
||||
CONFIG_STDIO_DISABLE_BUFFERING=y
|
||||
CONFIG_STM32F0L0G0_I2C1=y
|
||||
CONFIG_STM32F0L0G0_PWM_MULTICHAN=y
|
||||
CONFIG_STM32F0L0G0_PWR=y
|
||||
CONFIG_STM32F0L0G0_TIM14=y
|
||||
@ -100,6 +104,7 @@ CONFIG_STM32F0L0G0_TIM3_CHANNEL4=y
|
||||
CONFIG_STM32F0L0G0_TIM3_PWM=y
|
||||
CONFIG_STM32F0L0G0_TIM6=y
|
||||
CONFIG_STM32F0L0G0_USART2=y
|
||||
CONFIG_SYSTEM_I2CTOOL=y
|
||||
CONFIG_SYSTEM_NSH=y
|
||||
CONFIG_TASK_NAME_SIZE=0
|
||||
CONFIG_TASK_SPAWN_DEFAULT_STACKSIZE=1536
|
||||
|
@ -3,6 +3,10 @@
|
||||
*
|
||||
* Copyright (C) 2019 Gregory Nutt. All rights reserved.
|
||||
* Author: Daniel Pereira Volpato <dpo@certi.org.br>
|
||||
* Guillherme da Silva Amaral <gvr@certi.org.br>
|
||||
*
|
||||
* Based on: boards/arm/stm32h7/stm32h747i-disco/src/stm32_bringup.c
|
||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||
*
|
||||
* Based on: boards/arm/stm32f0l0g0/nucleo-g071rb/src/stm32_bringup.c
|
||||
* Author: Mateusz Szafoni <raiden00@railab.me>
|
||||
@ -50,6 +54,7 @@
|
||||
#include <nuttx/leds/userled.h>
|
||||
|
||||
#include "nucleo-g070rb.h"
|
||||
#include "stm32_i2c.h"
|
||||
|
||||
/****************************************************************************
|
||||
* Pre-processor Definitions
|
||||
@ -69,6 +74,62 @@
|
||||
# define HAVE_DAC2 1
|
||||
#endif
|
||||
|
||||
/****************************************************************************
|
||||
* Private Functions
|
||||
****************************************************************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Name: stm32_i2c_register
|
||||
*
|
||||
* Description:
|
||||
* Register one I2C drivers for the I2C tool.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
#if defined(CONFIG_I2C) && defined(CONFIG_SYSTEM_I2CTOOL)
|
||||
static void stm32_i2c_register(int bus)
|
||||
{
|
||||
struct i2c_master_s *i2c;
|
||||
int ret;
|
||||
|
||||
i2c = stm32_i2cbus_initialize(bus);
|
||||
if (i2c == NULL)
|
||||
{
|
||||
syslog(LOG_ERR, "ERROR: Failed to get I2C%d interface\n", bus);
|
||||
}
|
||||
else
|
||||
{
|
||||
ret = i2c_register(i2c, bus);
|
||||
if (ret < 0)
|
||||
{
|
||||
syslog(LOG_ERR, "ERROR: Failed to register I2C%d driver: %d\n",
|
||||
bus, ret);
|
||||
stm32_i2cbus_uninitialize(i2c);
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
/****************************************************************************
|
||||
* Name: stm32_i2ctool
|
||||
*
|
||||
* Description:
|
||||
* Register I2C drivers for the I2C tool.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
#if defined(CONFIG_I2C) && defined(CONFIG_SYSTEM_I2CTOOL)
|
||||
static void stm32_i2ctool(void)
|
||||
{
|
||||
#ifdef CONFIG_STM32F0L0G0_I2C1
|
||||
stm32_i2c_register(1);
|
||||
#endif
|
||||
#ifdef CONFIG_STM32F0L0G0_I2C2
|
||||
stm32_i2c_register(2);
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
/****************************************************************************
|
||||
* Public Functions
|
||||
****************************************************************************/
|
||||
@ -102,6 +163,10 @@ int stm32_bringup(void)
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_I2C) && defined(CONFIG_SYSTEM_I2CTOOL)
|
||||
stm32_i2ctool();
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BUTTONS
|
||||
/* Register the BUTTON driver */
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user