Inverted eeprom and sd for boot

Forums Devices OSD335x-SM Inverted eeprom and sd for boot

Viewing 4 reply threads
  • Author
    Posts
    • #11350
      bastien poyetbastien
      Participant

        Hy,

        I would like to implement an eMMc and SD Card on the OSD335x-SM.
        The problem is about the boot order.
        For my project the only boot order is this configuration:
        SYSBOOT[15:0] = 0x401C ==> MMC1, MMC0, UART0, USB0.
        We would like to boot on the uSD first. So we have to put the eMMC on MCC0 and the uSD on MCC1.
        I red the “OSD335x Lesson 2: Adding Non-Volatile Storage” but in your example it’s inverted.
        if I change the configuration I will not have enough pins to connect the eMMc.
        Can i get some help on the subject?

        Thank you,

        Bastien Poyet

      • #11363
        Erik Welsh
        Keymaster

          It looks like this was accidentally posted in two forums.  The answer to the question was in the other forum post:  https://octavosystems.com/forums/topic/inverted-eeprom-and-sd/

        • #11366
          bastien poyetbastien
          Participant

            Hello,
            Sorry I failed on the octavo reference. In my project I have a OSD335x-SM and not a OSD335x C-SiP. The OSD335x C-SiP have an eMMc already integrated in his product while the OSD335x-SM don’t have. So, in my case the response of Neeraj Dantu dont’t work for the SM. Do you have any advices or information for my problem?

            Thank you

            Regards

          • #11370
            Erik Welsh
            Keymaster

              Thanks for clarifying.

              Do you have any way to temporarily change your boot order?  If you look at the OSD3358-SM-RED reference design, by pulling SYSBOOT[2] low (i.e. pressing switch S3 which is connected to LCD_DATA[2]), you can change the boot order to “SPI0, MMC0, USB0, UART0”.

              If not, then you can connect an eMMC to MMC0 and microSD to MMC1.  However, in this case, you will only use 4 data lines for each interface.  Unfortunately, MMC0 only pins out 4 data lines but you can still use that to communicate with an eMMC module.  It will reduce your throughput but will not affect functionality.  Just leave the upper four data bits (i.e. DAT4 – DAT7) of the eMMC unconnected.  Then, you will need to adjust your device tree entry for the eMMC to only use 4 data bits.

              One other thing to consider is that the boot mode only affects the interface that the ROM code within the AM3358 boots from.  Once the device has booted the SPL or U-Boot, the software can make a different decision about which interface to finish booting from.  For example, in the latest Linux images from BeagleBoard.org(TM), the microSD card is given preference over the eMMC in U-Boot when booting.  If a microSD card is inserted (and the BOOT button, i.e. S3, is NOT pressed), the device will boot the SPL and U-Boot from the eMMC but then boot the kernel and filesystem from the microSD card.  If the BOOT button is pressed, then all boot components are read from the microSD card.  Therefore, depending on what you are trying to do, it might be ok to use MMC1 for the eMMC and MMC0 for the microSD.

              Please let us know if you have an additional questions.

               

            • #11438
              bastien poyetbastien
              Participant

                Hello,
                Thank you for your answer it seems clear now.
                And i apologize for the late of my response.
                Best regards,

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