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:
Masayuki Ishikawa
2019-10-15 21:03:33 +00:00
committed by Gregory Nutt
parent 679fe23045
commit 2c16d756cc
3 changed files with 21 additions and 1 deletions
+13 -1
View File
@@ -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 */
+7
View File
@@ -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);
+1
View File
@@ -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,