SPI interface using STM32CubeMX

Forums Devices OSD32MP15x SPI interface using STM32CubeMX

Viewing 3 reply threads
  • Author
    Posts
    • #12537
      Gil Hershmangil_he
      Participant

        hello Neeraj,

        I am trying to define SPI1 and SPI2.

        When I define both on A7NS (Linux), it does not allow to define them as SPI slaves, only masters.

        And as masters, I am unable to define the SPI1_NSS and SPI2_NSS pins in the Pinout tab. “Hardware NSS Signal – Disable” is grayed out.

        The SPI_NSS functionality does not appear in the proper port pins, PA4 and PB12 in my case (although these ports do support that).

        Only, when moving the SPI functionality to the Cortex-M4, I get full control on the interface (spi slave, NSS definition, etc.).

        Is A7 limited in handling the SPI interfaces? When I define the SPI as master, SPI_NSS is not there, slave interface is not there (under A7). Why?
        How do I define a SPI interface on the A7 without the SPI_NSS signal?

        thanks

        Gil

        • This topic was modified 2 years, 10 months ago by Gil Hershmangil_he.
        • This topic was modified 2 years, 10 months ago by Gil Hershmangil_he.
      • #12553

        Gil,

        CubeMX probably does not have that feature available. Please see https://wiki.st.com/stm32mpu/wiki/SPI_device_tree_configuration for example configuration of the SPI interface with a chip select pin. You can use any GPIO as a chip select.

        Best,

        Neeraj

      • #12558
        Gil Hershmangil_he
        Participant

          hello Neeraj,

          Can a SPI interface be used with the A7 also as a Slave?

          You wrote “You can use any GPIO as a chip select”: Do you mean not only those that are designated to be SPI1_NSS (PA4, PA15, PZ3)?

          I can configure any GPIO as SPI1_NSS? How do I do that?

          Thanks

          Gil

        • #12561

          Gil,

          While the kernel now supports operating SPI interfaces as slave ports, this does not seem to be implemented in the spi driver: https://github.com/STMicroelectronics/linux/blob/v5.15-stm32mp/drivers/spi/spi-stm32.c. You can assign the SPI to the M4 core and use the slave configuration.

          Yes, any GPIO can be used for chip select if you are running Linux. Please see section 3.3 of https://wiki.st.com/stm32mpu/wiki/SPI_device_tree_configuration for a specific example.

          Best,

          Neeraj

      Viewing 3 reply threads
      • You must be logged in to reply to this topic.
      chatsimple