• Baruch Siach's avatar
    gpio: driver for Xtensa GPIO32 · 3b31d0ec
    Baruch Siach authored
    GPIO32 is a standard optional extension to the Xtensa architecture
    core that provides preconfigured output and input ports for intra
    SoC signaling. The GPIO32 option is implemented as 32bit Tensilica
    Instruction Extension (TIE) output state called EXPSTATE, and 32bit
    input wire called IMPWIRE. This driver treats input and output
    states as two distinct devices.
    
    v3:
    * Use BUG() in xtensa_impwire_set_value() to indicate that
      it should never be called (Linus Walleij)
    v2:
    * Address the comments of Linus Walleij:
      - Add a few comments
      - Expand commit log message
      - Use the BIT() macro for bit offsets
      - Rewrite CPENABLE handling as static inlines
      - Use device_initcall()
    * Depend on !SMP for reason explained in the comments (Marc Gauthier)
    * Use XCHAL_CP_ID_XTIOP to enable/disable GPIO32 only
    Signed-off-by: default avatarBaruch Siach <baruch@tkos.co.il>
    Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
    3b31d0ec
gpio-xtensa.c 4.46 KB