mirror of
https://github.com/apache/nuttx.git
synced 2026-06-06 16:50:55 +08:00
Merged in masayuki2009/nuttx.nuttx/gs2200m_with_reset (pull request #1050)
Gs2200m with reset
* include: wireless: Add reset handler to struct gs2200m_lower_s
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
* drivers: wireless: Add reset and unreset sequence in gs2200m.c
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
* boards: cxd56xx: Add reset handler to cxd56_gs2200m.c
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
Approved-by: Gregory Nutt <gnutt@nuttx.org>
This commit is contained in:
committed by
Gregory Nutt
parent
679fe23045
commit
2c16d756cc
@@ -62,6 +62,7 @@ static int gs2200m_irq_attach(xcpt_t, FAR void *);
|
||||
static void gs2200m_irq_enable(void);
|
||||
static void gs2200m_irq_disable(void);
|
||||
static uint32_t gs2200m_dready(int *);
|
||||
static void gs2200m_reset(bool);
|
||||
|
||||
/****************************************************************************
|
||||
* Private Data
|
||||
@@ -73,6 +74,7 @@ static const struct gs2200m_lower_s g_wifi_lower =
|
||||
.enable = gs2200m_irq_enable,
|
||||
.disable = gs2200m_irq_disable,
|
||||
.dready = gs2200m_dready,
|
||||
.reset = gs2200m_reset
|
||||
};
|
||||
|
||||
static FAR void *g_devhandle = NULL;
|
||||
@@ -144,7 +146,7 @@ static void gs2200m_irq_disable(void)
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
* Name: gs2200m_disable
|
||||
* Name: gs2200m_dready
|
||||
****************************************************************************/
|
||||
|
||||
static uint32_t gs2200m_dready(int *ec)
|
||||
@@ -164,6 +166,15 @@ static uint32_t gs2200m_dready(int *ec)
|
||||
return r;
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
* Name: gs2200m_reset
|
||||
****************************************************************************/
|
||||
|
||||
static void gs2200m_reset(bool reset)
|
||||
{
|
||||
cxd56_gpio_write(PIN_UART2_RTS, !reset);
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
* Name: spi_pincontrol
|
||||
*
|
||||
@@ -221,6 +232,7 @@ int board_gs2200m_initialize(FAR const char *devpath, int bus)
|
||||
|
||||
CXD56_PIN_CONFIGS(PINCONFS_UART2_GPIO);
|
||||
(void)cxd56_gpio_config(PIN_UART2_CTS, true);
|
||||
(void)cxd56_gpio_config(PIN_UART2_RTS, false);
|
||||
|
||||
/* Initialize spi deivce */
|
||||
|
||||
|
||||
@@ -2919,6 +2919,13 @@ static int gs2200m_initialize(FAR struct gs2200m_dev_s *dev,
|
||||
|
||||
ret = gs2200m_spi_init(dev);
|
||||
|
||||
/* Reset and Unreset GS2200M */
|
||||
|
||||
lower->reset(true);
|
||||
up_mdelay(1);
|
||||
lower->reset(false);
|
||||
up_mdelay(180);
|
||||
|
||||
/* Attach interrupt handler */
|
||||
|
||||
lower->attach(gs2200m_irq, dev);
|
||||
|
||||
@@ -143,6 +143,7 @@ struct gs2200m_lower_s
|
||||
void (*enable)(void);
|
||||
void (*disable)(void);
|
||||
uint32_t (*dready)(int *);
|
||||
void (*reset)(bool);
|
||||
};
|
||||
|
||||
FAR void *gs2200m_register(FAR const char *devpath,
|
||||
|
||||
Reference in New Issue
Block a user