1 Reply Latest reply on Mar 31, 2016 7:43 PM by userc_20416

    Interfacing External Flash with Broadcom BCM943341

      Hi.

       

      I am trying to verify the external flash interfaced to the BCM943341 module (WICED 3.5.2).

       

      Here is my pin configuration:

       

      Module Pin 9 is SPI_MOSI

      Module Pin 10 is SPI_MISO

      Module Pin 11 is SCLK

      Module Pin 12 is Chip Select

       

      I have repurposed test/diagnostics/spi to read the JEDEC id. I also probed using the logic analyzer and I don't see SCLK out of pin 9.

       

      I am thinking I am have messed up my SPI platform definitions. Please pass on any test application, debug, and platform files.

       

      Thanks!

       

      Regards,

      Manish

       

      This is in my platform.h header file:

       

      /* SPI flash is present */

      #define WICED_PLATFORM_INCLUDES_SPI_FLASH

       

       

      /* SPI Flash. Implemented by Inventek Systems ... */

      #ifdef WICED_PLATFORM_INCLUDES_SPI_FLASH

      //#pragma message "SPI Flash included in platform"

      //#define WICED_PLATFORM_INCLUDES_SPI_FLASH

      #define WICED_SPI_FLASH_CS            ( WICED_GPIO_8 ) //( WICED_GPIO_21 )

      #define WICED_SPI_FLASH_MOSI          ( WICED_GPIO_5 ) //( WICED_GPIO_18 )

      #define WICED_SPI_FLASH_MISO          ( WICED_GPIO_6 ) //( WICED_GPIO_17 )

      #define WICED_SPI_FLASH_CLK           ( WICED_GPIO_7 )//( WICED_GPIO_19 )

      #endif

       

      This is in my platform.c header file:

       

      #ifdef WICED_PLATFORM_INCLUDES_SPI_FLASH

      /* SPI peripherals.  Used for Serial FLASH */

      const platform_spi_t platform_spi_peripherals[] =

      {

          [WICED_SPI_1]  =

          {

              .port                  = SPI1,

              .gpio_af               = GPIO_AF_SPI1,

              .peripheral_clock_reg  = RCC_APB2Periph_SPI1,

              .peripheral_clock_func = RCC_APB2PeriphClockCmd,

              .pin_mosi              = &platform_gpio_pins[WICED_SPI_FLASH_MOSI],

              .pin_miso              = &platform_gpio_pins[WICED_SPI_FLASH_MISO],

              .pin_clock             = &platform_gpio_pins[WICED_SPI_FLASH_CLK],

              .tx_dma =

              {

                  .controller        = DMA2,

                  .stream            = DMA2_Stream5,

                  .channel           = DMA_Channel_3,

                  .irq_vector        = DMA2_Stream5_IRQn,

                  .complete_flags    = DMA_HISR_TCIF5,

                  .error_flags       = ( DMA_HISR_TEIF5 | DMA_HISR_FEIF5 | DMA_HISR_DMEIF5 ),

              },

              .rx_dma =

              {

                  .controller        = DMA2,

                  .stream            = DMA2_Stream0,

                  .channel           = DMA_Channel_3,

                  .irq_vector        = DMA2_Stream0_IRQn,

                  .complete_flags    = DMA_LISR_TCIF0,

                  .error_flags       = ( DMA_LISR_TEIF0 | DMA_LISR_FEIF0 | DMA_LISR_DMEIF0 ),

              },

          }

      };

      #endif