Skip to content
  • Simon Glass's avatar
    gpio: Add a way to read 3-way strapping pins · 8a45b220
    Simon Glass authored and Tom Rini's avatar Tom Rini committed
    
    
    Using the internal vs. external pull resistors it is possible to get
    27 different combinations from 3 strapping pins. Add an implementation
    of this.
    
    This involves updating the sandbox GPIO driver to model external and
    (weaker) internal pull resistors. The get_value() method now takes account
    of what is driving a pin:
    
       sandbox: GPIOD_EXT_DRIVEN - in which case GPIO_EXT_HIGH provides the
              value
       outside source - in which case GPIO_EXT_PULL_UP/DOWN indicates the
              external state and we work the final state using those flags and
              the internal GPIOD_PULL_UP/DOWN flags
    
    Of course the outside source does not really exist in sandbox. We are just
    modelling it for test purpose.
    
    Signed-off-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
    8a45b220