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

drivers: pinctrl: new state based API proposal #37572

Merged
merged 10 commits into from
Oct 25, 2021

Commits on Oct 25, 2021

  1. drivers: pinctrl: initial skeleton

    Initial skeleton for pinctrl drivers. This patch includes common
    infrastructure and API definitions for pinctrl drivers.
    
    Signed-off-by: Gerard Marull-Paretas <[email protected]>
    gmarull committed Oct 25, 2021
    Configuration menu
    Copy the full SHA
    84d040c View commit details
    Browse the repository at this point in the history
  2. drivers: pinctrl: allow to skip states

    If a certain state has to be skipped, a macro named
    Z_PINCTRL_SKIP_<STATE> can be defined evaluating to 1. This can be
    useful, for example, to automatically ignore the sleep state if no
    device power management is enabled.
    
    Signed-off-by: Gerard Marull-Paretas <[email protected]>
    gmarull committed Oct 25, 2021
    Configuration menu
    Copy the full SHA
    ed1c7e5 View commit details
    Browse the repository at this point in the history
  3. drivers: pinctrl: add support for dynamic pin control

    Add support for dynamic pin control, that is, allow to change device pin
    configuration at runtime. Because no device de-initialization is
    available yet, this API has limited usage options, e.g. modify pin
    configuration at early boot stage (before device driver is initialized)
    
    Signed-off-by: Gerard Marull-Paretas <[email protected]>
    gmarull committed Oct 25, 2021
    Configuration menu
    Copy the full SHA
    5517b4b View commit details
    Browse the repository at this point in the history
  4. dts: bindings: pinctrl: add pincfg-node-group

    When using group based representation on pinctrl nodes, the pin
    configuration properties end up being at the grand-children level, so
    the `pincfg-node.yaml` file can't be used.
    
    Having a common file that can be used for both cases would require
    tooling changes, so for now a copy that operated at the grand-children
    level has been created.
    
    Signed-off-by: Gerard Marull-Paretas <[email protected]>
    gmarull committed Oct 25, 2021
    Configuration menu
    Copy the full SHA
    85101f6 View commit details
    Browse the repository at this point in the history
  5. tests: drivers: pinctrl: add tests for API

    Add a set of tests to check the API behavior. The API tests can only run
    on a platform that does not have an actual pinctrl driver, e.g.
    native_posix. The test itself implements a pinctrl mock driver and
    provides the required "pinctrl_soc.h" header with required types/macros.
    The implementation is used in the tests to verify the behavior of the
    API or Devicetree macros.
    
    Signed-off-by: Gerard Marull-Paretas <[email protected]>
    gmarull committed Oct 25, 2021
    Configuration menu
    Copy the full SHA
    4047889 View commit details
    Browse the repository at this point in the history
  6. doc: doxygen: add Doxygen predefined macro

    A pre-defined Doxygen macro allows for better control of what is
    included in the final documentation than maintaining a long list of
    CONFIG_* entries.
    
    Signed-off-by: Gerard Marull-Paretas <[email protected]>
    gmarull committed Oct 25, 2021
    Configuration menu
    Copy the full SHA
    a479319 View commit details
    Browse the repository at this point in the history
  7. doc: reference: add pinctrl API

    Add pinctrl API documentation to the reference guides.
    
    Signed-off-by: Gerard Marull-Paretas <[email protected]>
    gmarull committed Oct 25, 2021
    Configuration menu
    Copy the full SHA
    b6970e0 View commit details
    Browse the repository at this point in the history
  8. doc: enable figures enumeration

    Enable figures enumeration. This option allows to use :numref: in order
    to reference figures, thus allowing more precise references other than
    "the figure below" or similar.
    
    Signed-off-by: Gerard Marull-Paretas <[email protected]>
    gmarull committed Oct 25, 2021
    Configuration menu
    Copy the full SHA
    ff13f41 View commit details
    Browse the repository at this point in the history
  9. doc: guides: add pinctrl guide

    Add a user guide that provides general concepts on pin control, details
    on Zephyr model, implementation guidelines, etc.
    
    Signed-off-by: Gerard Marull-Paretas <[email protected]>
    gmarull committed Oct 25, 2021
    Configuration menu
    Copy the full SHA
    89ffb51 View commit details
    Browse the repository at this point in the history
  10. CODEOWNERS: add myself to pinctrl

    Add myself as code owner for pinctrl drivers.
    
    Signed-off-by: Gerard Marull-Paretas <[email protected]>
    gmarull committed Oct 25, 2021
    Configuration menu
    Copy the full SHA
    bc30583 View commit details
    Browse the repository at this point in the history