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.

Linux/AM3352: Activation of internal pullup/pulldown for outputs

Part Number: AM3352

Tool/software: Linux

Team,

A customer of mine is asking why we do activate pull resistors for outputs in our devicetree files.  The TRM says „If a pad is always configured in output mode, it is
recommended for user software to disable any internal pull resistor tied to it, to avoid unnecessary consumption.”

But as example, looking at am335x-evmsk.dts, it's done this way:

0x114 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)  /* mii1_txen.rgmii1_tctl */

Shouldn't the pull setting be omitted?

Thanks,
  Robert

  • Hi Biser,
    The Power Management Guide talks about how internal pulls behave in sleep state. But still, also in active state they are not needed if a pin is configured as output (only if it's an open drain). And also in active state higher current might be drawn if the pull is active.

    I'd consider disabling pull resistors for outputs as better practice.

    Thanks,
    Robert
  • Robert,

    We will consult with the developer's and get back to you. Thanks for the post.

  • Hello Robert,

    If there are no other design considerations to take into account, then users can save power by disabling pull resistors for output only pins. However, there may be other factors, especially in non-battery powered systems. For example, a pull resistor may enforce a default state on the output pin during startup and low power modes without requiring extra programming. In general, we encourage users to enable pull resistors based on their system requirements, and disable pull resistors only if their design does not call for pull resistors to be enabled.

    Sometimes, the power savings from disabling pull resistors is insignificant. If an output signal is typically high or typically low, then we wouldn't expect a pull resistor in the direction of that typical value to draw significantly more power.

    Regards,
    Nick