SAM3/4: Fixed configurations for TWI master. Obviously an incomplete port from SAMA5.
This commit is contained in:
parent
a55e937643
commit
eb1d4ca774
@ -572,7 +572,6 @@ config SAM34_TWIS
|
||||
bool
|
||||
default n
|
||||
|
||||
|
||||
config SAM34_TWIM0
|
||||
bool "Two-wire Master Interface 0 (TWIM0)"
|
||||
default n
|
||||
@ -1142,6 +1141,41 @@ config SAM34_SPI_REGDEBUG
|
||||
endmenu # AT91SAM3/4 SPI device driver options
|
||||
endif # SAM34_SPI0 || SAM34_SPI1
|
||||
|
||||
if SAM34_TWIM
|
||||
|
||||
menu "AT91SAM3/4 TWI master device driver options"
|
||||
|
||||
config SAM34_TWIM0_FREQUENCY
|
||||
int "TWI0 Frequency"
|
||||
default 100000
|
||||
depends on SAM34_TWIM0
|
||||
|
||||
config SAM34_TWIM1_FREQUENCY
|
||||
int "TWI1 Frequency"
|
||||
default 100000
|
||||
depends on SAM34_TWIM1
|
||||
|
||||
config SAM34_TWI2_FREQUENCY
|
||||
int "TWI2 Frequency"
|
||||
default 100000
|
||||
depends on SAM34_TWIM2
|
||||
|
||||
config SAM34_TWI3_FREQUENCY
|
||||
int "TWI3 Frequency"
|
||||
default 100000
|
||||
depends on SAM34_TWIM3
|
||||
|
||||
config SAM34_TWI_REGDEBUG
|
||||
bool "TWI register level debug"
|
||||
depends on DEBUG_I2C_INFO
|
||||
default n
|
||||
---help---
|
||||
Output detailed register-level TWI device debug information.
|
||||
Very invasive! Requires also CONFIG_DEBUG_I2C_INFO.
|
||||
|
||||
endmenu # TWI device driver options
|
||||
endif # SAM34_TWIM
|
||||
|
||||
menu "AT91SAM3/4 EMAC device driver options"
|
||||
depends on SAM34_EMAC
|
||||
|
||||
|
@ -71,19 +71,21 @@
|
||||
#include "sam_gpio.h"
|
||||
#include "sam_twi.h"
|
||||
|
||||
#if defined(CONFIG_SAM34_TWI0) || defined(CONFIG_SAM34_TWI1)
|
||||
/* REVISIT: Missing support for TWI2 master */
|
||||
|
||||
#if defined(CONFIG_SAM34_TWIM0) || defined(CONFIG_SAM34_TWIM1)
|
||||
|
||||
/****************************************************************************
|
||||
* Pre-processor Definitions
|
||||
****************************************************************************/
|
||||
/* Configuration ***************************************************************/
|
||||
|
||||
#ifndef CONFIG_SAM34_TWI0_FREQUENCY
|
||||
# define CONFIG_SAM34_TWI0_FREQUENCY 100000
|
||||
#ifndef CONFIG_SAM34_TWIM0_FREQUENCY
|
||||
# define CONFIG_SAM34_TWIM0_FREQUENCY 100000
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_SAM34_TWI1_FREQUENCY
|
||||
# define CONFIG_SAM34_TWI1_FREQUENCY 100000
|
||||
#ifndef CONFIG_SAM34_TWIM1_FREQUENCY
|
||||
# define CONFIG_SAM34_TWIM1_FREQUENCY 100000
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_DEBUG_I2C_INFO
|
||||
@ -187,11 +189,11 @@ static void twi_hw_initialize(struct twi_dev_s *priv, unsigned int pid,
|
||||
* Private Data
|
||||
****************************************************************************/
|
||||
|
||||
#ifdef CONFIG_SAM34_TWI0
|
||||
#ifdef CONFIG_SAM34_TWIM0
|
||||
static struct twi_dev_s g_twi0;
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_SAM34_TWI1
|
||||
#ifdef CONFIG_SAM34_TWIM1
|
||||
static struct twi_dev_s g_twi1;
|
||||
#endif
|
||||
|
||||
@ -901,7 +903,7 @@ struct i2c_master_s *sam_i2cbus_initialize(int bus)
|
||||
|
||||
flags = enter_critical_section();
|
||||
|
||||
#ifdef CONFIG_SAM34_TWI0
|
||||
#ifdef CONFIG_SAM34_TWIM0
|
||||
if (bus == 0)
|
||||
{
|
||||
/* Set up TWI0 register base address and IRQ number */
|
||||
@ -922,18 +924,18 @@ struct i2c_master_s *sam_i2cbus_initialize(int bus)
|
||||
|
||||
/* Select the TWI frequency, and peripheral ID */
|
||||
|
||||
frequency = CONFIG_SAM34_TWI0_FREQUENCY;
|
||||
frequency = CONFIG_SAM34_TWIM0_FREQUENCY;
|
||||
pid = SAM_PID_TWI0;
|
||||
}
|
||||
else
|
||||
#endif
|
||||
#ifdef CONFIG_SAM34_TWI1
|
||||
#ifdef CONFIG_SAM34_TWIM1
|
||||
if (bus == 1)
|
||||
{
|
||||
/* Set up TWI1 register base address and IRQ number */
|
||||
|
||||
priv = &g_twi1;
|
||||
priv->base = SAM_TWI0_BASE;
|
||||
priv->base = SAM_TWI1_BASE;
|
||||
priv->irq = SAM_IRQ_TWI1;
|
||||
priv->twi = 1;
|
||||
|
||||
@ -948,7 +950,7 @@ struct i2c_master_s *sam_i2cbus_initialize(int bus)
|
||||
|
||||
/* Select the TWI frequency, and peripheral ID */
|
||||
|
||||
frequency = CONFIG_SAMA5_TWI1_FREQUENCY;
|
||||
frequency = CONFIG_SAM34_TWIM1_FREQUENCY;
|
||||
pid = SAM_PID_TWI1;
|
||||
}
|
||||
else
|
||||
@ -1029,4 +1031,4 @@ int sam_i2cbus_uninitialize(FAR struct i2c_master_s * dev)
|
||||
return OK;
|
||||
}
|
||||
|
||||
#endif /* CONFIG_SAM34_TWI0 || CONFIG_SAM34_TWI1 */
|
||||
#endif /* CONFIG_SAM34_TWIM0 || CONFIG_SAM34_TWIM1 */
|
||||
|
Loading…
Reference in New Issue
Block a user