Skip to main content
Visitor II
November 1, 2021
Solved

On the STM32MP1, when booting from serial NOR flash, the STM32 MPU Wiki states "In dual mode, BK1_NCS shall be connected to BK2_NCS on board." Should MPU BK1_NCS and BK2_NCS GPIOs actually be connected, or rather is BK2_NCS GPIO unused?

  • November 1, 2021
  • 1 reply
  • 1262 views

I'm just confused since other kits (ex: STM32H750B-DK) have provisions for jumping the 2 lines together, but the wiki does not indicate the BK2_NCS GPIO (from the MPU) is even used by the BootROM. I wanted clarification of the statement made on the wiki article, mainly to be sure that shorting the BK1_NCS and BK2_NCS lines weren't required to put the QuadSPI in dual-bank mode. The statement on the wiki might be misleading.

    This topic has been closed for replies.
    Best answer by Kevin HUBER

    Hello @DPade.1​ ,

    You are right. The wiki is not enough clear on this topic. I will update the page.

    Regarding the hardware side, the clearer information available are in the AN5031: https://www.st.com/resource/en/application_note/dm00389996-getting-started-with-stm32mp1-series-hardware-development-stmicroelectronics.pdf

    You can find page 65 the figure 40 that explains for the EV1 board how to use the dual mode in QUAD SPi.

    0693W00000GWD4KQAX.pngSo yes, if you want to use a 8 bit flash (via 2 devices 4 bits), you can let the BK2_nCS not used and uses only the BK1_nCS to drive the two Chip Selects (CS).

    On the EV1 board, it is possible to realize that by using the jumpers. As visible in the schematic of the EV1: https://www.st.com/content/ccc/resource/technical/layouts_and_diagrams/schematic_pack/group0/10/9b/9c/41/45/78/41/eb/mb1262-c01_schematic/files/MB1262-C01_schematic.pdf/jcr:content/translations/en.MB1262-C01_schematic.pdf

    You have to remove SB60 and put SB61.

    Hope it helps,

    Regards,

    Kevin

    1 reply

    Technical Moderator
    November 2, 2021

    Hi @DPade.1​ ,

    To understand more clearly the behavior of BK1_nCS and BK2_nCS, I advise you to read the reference manual (RM0436): https://www.st.com/resource/en/reference_manual/DM00327659-.pdf

    Especially the page 1483 (in current revision of the document, v5.0).

    0693W00000GWAF9QAP.png 

    You can also search information about "nCS" inside the ref man. There are several paragraphs that talk about these pins.

    Regards,

    Kevin

    In order to give better visibility on the answered topics, please click on 'Select as Best' on the reply which solved your issue or answered your question. See also 'Best Answers'

    DPade.1Author
    Visitor II
    November 2, 2021

    Then it seems that under BootROM, BK2_nCS GPIO is not actually initialized for Quad SPI AFmux by default. Therefore, BK1_nCS must be used to drive the second chip unless BK2_nCS is initialized via OTP.

    In the wiki (https://wiki.st.com/stm32mpu/wiki/STM32MP15_ROM_code_overview#Boot_from_serial_NOR), it would be clearer to say that both chip selects should be driven by BK1_nCS rather than saying that the two nCS lines should be shorted together. The latter implies there is some special reason for shorting the GPIO pins together, but based on the reference manual this doesn't seem to be the case. Can you confirm that there is nothing special happening with these two pins in the BootROM?

    Technical Moderator
    November 2, 2021

    Hello @DPade.1​ ,

    You are right. The wiki is not enough clear on this topic. I will update the page.

    Regarding the hardware side, the clearer information available are in the AN5031: https://www.st.com/resource/en/application_note/dm00389996-getting-started-with-stm32mp1-series-hardware-development-stmicroelectronics.pdf

    You can find page 65 the figure 40 that explains for the EV1 board how to use the dual mode in QUAD SPi.

    0693W00000GWD4KQAX.pngSo yes, if you want to use a 8 bit flash (via 2 devices 4 bits), you can let the BK2_nCS not used and uses only the BK1_nCS to drive the two Chip Selects (CS).

    On the EV1 board, it is possible to realize that by using the jumpers. As visible in the schematic of the EV1: https://www.st.com/content/ccc/resource/technical/layouts_and_diagrams/schematic_pack/group0/10/9b/9c/41/45/78/41/eb/mb1262-c01_schematic/files/MB1262-C01_schematic.pdf/jcr:content/translations/en.MB1262-C01_schematic.pdf

    You have to remove SB60 and put SB61.

    Hope it helps,

    Regards,

    Kevin