Not able to access eMMC from u-boot on STM32MP157C device

Forums Reference, Evaluation, and Development Boards Not able to access eMMC from u-boot on STM32MP157C device

Tagged: 

Viewing 1 reply thread
  • Author
    Posts
    • #12065
      Pratik Manvarpratik.manvar
      Participant

        Hi STM-Team,

        We have the custom board based on the STM32MP157C Octavo BRK board.
        In that, we are not able to access the eMMC from u-boot command prompt. Currently, we are booting from SD card and able to access it from u-boot command prompt.

        We are able to see the 2 mmc devices but not able to access eMMC on dev-1. Please see below logs:

        —————————————–
        OSD32MP> mmc list
        STM32 SD/MMC: 1
        STM32 SD/MMC: 0 (SD)

        OSD32MP> mmc dev 0
        switch to partitions #0, OK
        mmc0 is current device

        OSD32MP> mmc dev 1
        <No output from this command>

        ——————————————-

        But, with same configurations, we are able to access and create partitions of eMMC through fdisk command from filesystem command prompt. Also, see the below kernel boot-up logs:

        ——————————————-
        [ 3.976158] mmc1: new DDR MMC card at address 0001
        [ 3.989649] mmcblk1: mmc1:0001 IB2916 14.6 GiB
        [ 3.994868] mmcblk1boot0: mmc1:0001 IB2916 partition 1 4.00 MiB
        [ 4.000048] mmcblk1boot1: mmc1:0001 IB2916 partition 2 4.00 MiB
        [ 4.016430] mmcblk1rpmb: mmc2:0001 IB2916 partition 3 4.00 MiB, chardev (243:0)
        [ 4.030124] mmcblk1: p1
        ——————————————–

        Please help us out why we are not able to access the eMMC from u-boot.

        Thanks & Regards,
        Pratik Manvar

      • #12071
        Neeraj Dantu
        Moderator

          Pratik,

          Please check u-boot device tree to see if:
          1. The right pins were used for the eMMC SD peripheral and the pinmux settings are accurate(https://github.com/octavosystems/OSD32MP1-RED-Device-tree/blob/main/linux-v5.10-r0/stm32mp157c-osd32mp1-red.dts#L438)
          2. Whether the mmc node has all the right properties for emmc: https://github.com/octavosystems/OSD32MP1-RED-Device-tree/blob/main/linux-v5.10-r0/stm32mp157c-osd32mp1-red.dts#L1269.
          3. Whether there is a pin usage conflict(pins you need for eMMC are being used by other peripheral)

          The device tree linked above(for OSD32MP1-RED) is a good reference as it uses eMMC. Please see https://octavosystems.com/docs/osd32mp15x-red-schematic-pdf/ for the hardware schematic.

          You can also probe the CLK and CMD pins of the mmc interface you are using to see if they are active during eMMC operations.

          Best,
          Neeraj

          • #12207
            Pratik Manvarpratik.manvar
            Participant

              Hi Neeraj,

              Sorry for the late response on this thread.

              We were able solve this issue. As you said in point #3, one GPIO pin (eMMC clock pin) has been utilized by something else for custom things. Once, we changed that pin as per new designed schematics, the eMMC get initialized without any issue in bootloader.

              Thanks for your help.

              Regards,
              Pratik Manvar

        Viewing 1 reply thread
        • You must be logged in to reply to this topic.