Power Sequence Issues OSD335

Forums Devices OSD335x-SM Power Sequence Issues OSD335

Viewing 3 reply threads
  • Author
    Posts
    • #5716
      Eric PrastNolebrain
      Participant

        Hello all,

        I have some questions about powering up the OSD AM335x-SM and sequencing in order to allow the system to boot into Linux. This design is for a custom board and the screenshots of the schematic are linked below.

        https://imgur.com/gallery/4KBLuOU

        Presently the OS will not boot or display “C C C” on UART0. It doesn’t display anything.

        After reading the spec sheet located here. I believe that WARMRSTN should be carried to 3.3V with a capacitor allowing for 20-30 mS rise time.  I had a bit of success but power up is not reliable. I have to manually power down the system with PMIC_PB_IN them restart to boot.

        https://octavosystems.com/app_notes/osd335x-sm-power-application-note/

        My question is does PMIC_PGOOD need to be tied to PWRONRSTN? This circuit is seeing 1.8v at power up.

        There is something wrong with the circuit.  Has anyone else experienced this? I am wondering if I need to ground both cold and warm reset till he power supply is stable or sequence the regulators in order to make the TPS65217C happy.

        This application will have a battery circuit providing +5v on VIN_AC but presently I am powering it off a 5v usb signal.

        I’ll be adding more to this later.

        -NB

         

         

      • #5717
        Eshtaartha Basu
        Moderator

          Hello Nolebrain,

          I don’t see any problems in your schematic. I think you’re not able to boot up because of blank EEPROM. Have you programmed the EEPROM inside OSD335x-SM?

          The U-Boot of BeagleBoard images and the RED image look for appropriate Board ID in the EEPROM during boot up. If no suitable Board ID is found, U-Boot will halt and you won’t see any messages on UART0.

          Our app note on EEPROM (https://octavosystems.com/app_notes/osd335x-eeprom-during-boot/) should help you add the Board ID to the EEPROM and boot the board.

           

        • #5730
          Eric PrastNolebrain
          Participant

            Eshtaartha,

             

            Thank you for such a quick reply!

            We are still having trouble getting Linux to boot into Debian. At startup there is no CLK line signal on our SD card which makes it impossible to program the EEPROM through U-BOOT.

            According to our schematic the SN74LVC buffer which is acting like a level shifter to drive WARMRSTN but was incorrectly pulled up with 1.8V. To fix this I added a 3.3V pull-up and a larger 100 uF capacitor to provide a very slow rise time (1.25 seconds). At startup ~ 10 mS after power is applied PMIC_PGOOD provides 1.8V to PWRONRTSN. In 1.25 seconds the capacitor is fully charged and WARMRSTN sees 3.3V. The LED then illuminates from SYS_VDD2_3.3V indicating a successful power up.

            Here is a screenshot of the power up. CH1 (yellow) is the PWRONRSTN/PMIC_PGOOD (1.8V) signal. CH2 (blue) is the WARMRSTN (3.3V) signal. CH3 (pink) is the SD Cards CLK line. The CLK line is pulled up to 3.3V. In theory the SD CLK line should be pulsing around 120-150 kHz or greater.

            https://imgur.com/gallery/BxZV7Kt

            My question is why is the SD clock not running, if this runs we can insert a card and program the EEPROM with U-BOOT? We have a 24 MHz external oscillator attached to OSC0 which is working. I initially believed that the power up sequence was holding the AM335 in a perpetual reset. Is this not the case?

            Due to the fact that the EEPROM is empty on our OSD335x-SM and we cannot get it to boot partially from the SD card, do you have another viable option? I read in the App notes that the device’s EEPROM could be programmed through USB from a host-PC or by external I2C programmer.

            Any help is much appreciated. If you would like to speak directly I can provide contact info.

            Thanks!

            -NB

             

          • #5731
            Eshtaartha Basu
            Moderator

              Nolebrain,

              I think we need to take a look at your complete schematics to help you further. If you’re uncomfortable about sharing the schematics on the forum, please fill out the Contact Form (https://octavosystems.com/contact/) so that we can setup a secure channel for communication and do a full review on the design.

              Meanwhile, I’ll answer your previous questions and give you few more tips that may help you resolve the issue.

              1. Yes, PMIC_PGOOD should be connected to PWRONRSTN. It should also be connected to WARMRSTN through a buffer. The purpose of PMIC_PGOOD signal (Power-good signal) is to bring the processor out of reset once all the power rails of the PMIC are stable. You don’t have to do anything manually to achieve this. You can refer the PMIC datasheet (http://www.ti.com/lit/ds/symlink/tps65217.pdf) to understand this (PMIC_PGOOD signal is called PGOOD on the datasheet).

              2. WARMRSTN should be pulled up to 3.3V (not 1.8V). Good that you took care of that. I don’t think the rise time of the capacitor on the WARMRSTN pin is causing any issues at this stage.

              3. “CCCC … ” is printed on UART0 by the ROM code on the AM335x processor when the processor is in search of boot device (assuming your SYSBOOT pins are configured properly to include UART0 in boot sequence). An OS or any external software is not necessary to achieve this.

              4. Different ways to program the EEPROM outside U-Boot are given in Programming the Board ID Outside of U-Boot section of EEPROM app note which I shared with you in the previous post.

              I would suggest doing few preliminary voltage checks suggested in Tests after power-up section of Bare Minimum Board Boot Process article (https://octavosystems.com/app_notes/osd335x-design-tutorial/bare-minimum-boot/boot-process/). Also go through the Boot Configuration section of Peripheral Circuitry article (https://octavosystems.com/app_notes/osd335x-design-tutorial/bare-minimum-boot/peripheral-circuitry/). Since you’re using both eMMC and SD card in your design, make sure your boot sequence includes UART0, SD card and eMMC.

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