Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable S32K3 WKPU IP block to pass interrupt trigger through GPIO #62623

Merged
merged 7 commits into from
Oct 11, 2023

Commits on Oct 10, 2023

  1. intc: add NXP S32 WKPU interrupt controller driver

    Introduce an interrupt controller for the NXP S32 WKPU peripheral
    that can be integrated with GPIO to trigger interrupts through
    external interrupt pad inputs.
    
    WKPU can trigger interrupts from certain input pads that support this
    function, as well as wake-up events to the power management domain. This
    patch only adds WKPU functionality as an interrupt controller to extend
    the number of input pads that can interrupt the core. Power management
    functionalities are not supported.
    
    Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
    manuargue committed Oct 10, 2023
    Configuration menu
    Copy the full SHA
    dfff7af View commit details
    Browse the repository at this point in the history
  2. gpio: nxp_s32: prepare to support multiple interrupt controllers

    Refactor external interrupts infrastructure to prepare supporting
    multiple interrupt controllers.
    
    Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
    manuargue committed Oct 10, 2023
    Configuration menu
    Copy the full SHA
    570793e View commit details
    Browse the repository at this point in the history
  3. gpio: nxp_s32: support passing external interrupts to WKPU

    Extend the NXP S32 GPIO driver to be able to route external interrupts
    to either SIUL2 EIRQ interrupt controller or, when available on the
    SoC, WKPU interrupt controller.
    
    Since WKPU can support up to 64 external interrupt sources and SIUL2
    EIRQ up to 32, gpio_get_pending_int() is removed and the interrupt
    controller specific API must be used instead.
    
    Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
    manuargue committed Oct 10, 2023
    Configuration menu
    Copy the full SHA
    38dd6a2 View commit details
    Browse the repository at this point in the history
  4. nxp_s32k344: add external interrupts for WKPU

    Define WKPU interrupt controller node and its respective interrupt
    sources mapping to GPIO pins.
    
    Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
    manuargue committed Oct 10, 2023
    Configuration menu
    Copy the full SHA
    2ec6ef2 View commit details
    Browse the repository at this point in the history
  5. mr_canhubk3: document WKPU interrupt controller support

    Enhance the documentation by providing an explanation of WKPU
    interrupt controller support and how it integrates with GPIO.
    
    Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
    manuargue committed Oct 10, 2023
    Configuration menu
    Copy the full SHA
    e690c76 View commit details
    Browse the repository at this point in the history
  6. tests: gpio_basic_api: use GPIO flags from DT

    When configuring in/out pins for callback tests, pass the GPIO flags
    coming from the in/out-gpios respective nodes.
    
    Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
    manuargue committed Oct 10, 2023
    Configuration menu
    Copy the full SHA
    e33538e View commit details
    Browse the repository at this point in the history
  7. tests: gpio_basic_api: add WKPU interrupts test for mr_canhubk3

    Use the same pins as when testing with SIUL2 EIRQ interrupt
    controller, but instead test routing the external interrupts
    to WKPU controller.
    
    Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
    manuargue committed Oct 10, 2023
    Configuration menu
    Copy the full SHA
    54be8e6 View commit details
    Browse the repository at this point in the history