This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Am3352 internal pull downs

Other Parts Discussed in Thread: AM3352

Hi,

I am using pins K16, K17, K18, L18, L17, L16 as the MMC1 signals. All of these pins have internal pull downs which are enabled by default. I have provided external pull up resistor on these lines of 10KΩ as suggested in http://processors.wiki.ti.com/index.php/AM335x_Schematic_Checklist#MMC for MMC lines.

My doubt is that because of these internal pull downs whose values can be around 13KΩ providing an extrenal pull up of 10KΩ will act as an voltage divider and hence and the voltage on these pins can reach in unknown state between VIL and VIH. Is it fine?

We can disable or change these internal pull downs only at U-Boot level or kernel. What will happen in between the time duration from power On to U-boot coming up.

Thanks & Regards,

Nikhil

 

  • Hi Nikhil,

    where it is written that all these signals are pull down by default?

    also Note on page 19 of datasheet says :

    12. PULLUP OR PULLDOWN TYPE: Denotes the presence of an internal pullup or pulldown resistor.

    Pullup and pulldown resistors can be enabled or disabled via software.

    Regards,

    Vinayak

  • Hi Vinayak,

    I was concerned about the point 6 and 7 on page 19. That is about the active pull up/down resistors while the device is in reset and after reset release. For all the pins mentioned above this state is 'L' (High-impedance with an active pull down resistor). We can program the internal pull up/down resistor only during the U-Boot level.

    Until then all balls will go into undetermined state (external pull up -10K and internal pull down ~13K), Is it okay for the processor?

    Thanks & regards,

    Nikhil

  • Below are the 2 links will clear doubt.

    http://e2e.ti.com/support/arm/sitara_arm/f/791/t/252219.aspx

    https://groups.google.com/forum/#!topic/beagleboard/-JOhtH2Z7G8

     

    Also Please check TRM section 9.2.2 Pad Control Registers

     

    Regards,
    Vinayak

  • Thanks Vinayak for your response.

    It is clear to me that the internal pull up/down 'L' state is kept until we write into pad-config registers. Before that period it has internal pull down (~13K). I have an external pull up on that line (10K). Which means for 3.3V the voltage on that pad will reach around 1.43V which is between VIL and VIH levels for AM3352 (undetermined state). 

    Is this okay for AM3352? Because the pad is actually floating till u-boot comes up and i change the internal pad-config. Regards,

    Nikhil 

  • I never checked this through software. But below is observation:

    As per TRM page 1105 under PAD control register:

    " Each configurable pin has its own configuration register for pullup/down control and for the assignment to a given module."

    Any how u-boot has to do pin muxing immediately after bootup. Is this floating going to harm the circuit operation?

    Are you using this pin till u-boot starts?

     

    Regards,

    Vinayak

  • All the devices on board will be in reset till AM3352 comes out of reset. So these pins are not used on board till u-boot comes up. But I am not sure how AM3352 reacts to these floating pins.

    Thanks & regards,

    Nikhil

  • You are correct, the voltage applied to the input buffer connected to these terminals will likely to be between VIL max and VIH min until your software turns off the internal pull-downs.

    During this time these input buffers may have a very small increase in power consumption from the VDDSHV5 supply since both N-channel and P-channel transistor of the input buffer are partially turned on at the same time.

    The terminals default to GPIO mode, so the non-deterministic logic value during this time should not cause any issue.

    I would recommend you turn off the internal pull-downs before switching the pin multiplexing from GPIO mode to MMC1 mode.

    Regards,
    Paul

  • HI Paul,

    Thanks for your reply. In U-Boot is it required that first internal resistors should be disabled then the property should be changed? As both these changes are written into the pin config register in one shot. Should we change that?

    One more query can you please explain why in GPIO mode the non-deterministic value will not be an issue while in other modes it will? 

    Regards,

    Nikhil 

  • There may not be a issue when changing the pin mux mode at the same time as turning off the internal resistors that conflict with external resistors.  However, there may be a case where a peripheral input needs to be sourced with a known stable logic state as soon as it is selected with the pin mux mode and the external resistor could take a few micro seconds to pull the input to a valid logic level after you turn off the internal resistor.

    So there could be cases where it would be best to turn off the internal resistors and wait long enough for your external resistors to pull the signal to a valid logic state before changing the pin mux mode.

    Regards,
    Paul