Skip to content

pinctrl: Add new pinctrl/GPIO driver

Rahul Tanwar linux-devicetree linux-gpio lkml 8 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v8 Latest2 patches 7 repliesIn review
  2. v72 patches 1 replySuperseded
  3. v62 patches 8 repliesSuperseded
Earlier versions · 5
VersionPostedPatchesRepliesStatus
v52 patches2 repliesSuperseded
v42 patches2 repliesSuperseded
v32 patches7 repliesSuperseded
v22 patches2 repliesSuperseded
v12 patches12 repliesSuperseded

Changes in v8 from the cover letter

- Rename compatible name from intel,lightning-mountain-io to intel,lgm-io in both driver source & dt bindings to be consistent with other bindings for LGM SoC.

Patches in v8 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/2pinctrl: Add pinmux & GPIO controller driver for a new SoCdrivers/pinctrl/Kconfig drivers/pinctrl/Makefile drivers/pinctrl/pinctrl-equilibrium.c +1 more+1107 -03 replies
2/2dt-bindings: pinctrl: intel: Add for new SoCDocumentation/devicetree/bindings/pinctrl/intel,lgm-pinctrl.yaml+116 -04 replies

Reviews trailers per patch

1 of 2 patches has a Reviewed-by or Acked-by.

PatchAndy Shevchenko
1/2R-b
2/2

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v8 thread

Cover letter [PATCH v8 0/2] pinctrl: Add new pinctrl/GPIO driver

Hi,

This series is to add pinctrl & GPIO controller driver for a new SoC. Patch 1 adds pinmux & GPIO controller driver.
Patch 2 adds the corresponding dt bindings YAML document.

Patches are against Linux 5.4-rc1 at below Git tree:
git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git

v8:
- Rename compatible name from intel,lightning-mountain-io to intel,lgm-io in both driver source & dt bindings to be consistent with other bindings for LGM SoC.

v7:
- Fix code quality/style related review concerns.
- Correct license id & data types used for some properties in dt bindings.
- Add possible values for drive-strength & slew rate in dt bindings.
- Rename compatible name to more self explanatory name in dt bindings.
- Fix make dt_binding_check reported errors. Ensure make dt_binding_check passes.

v6:
- Fix code quality/style/readability related review concerns.
- Remove enum usage from pinmux property in dt bindings.

v5:
- Fix code style/readability related review concerns.
- Change data type of groups property to uint32-array in dt bindings.

v4:
- Correct data types for some pin config properties in dt bindings.
- Improve pattern regex as per review feedback in dt bindings.
- Remove eqbr_set_val() & set_drv_cur() reg update routines & instead do reg updates in eqbr_pinconf_set() routine itself.
- Add locking in few ops where it was missing.
- Rename eqbr_gpio_desc struct to eqbr_gpio_ctrl and avoid using desc in variable namings so as not to confuse with GPIO descriptors.
- Address code quality/convention/style related review concerns.

v3:
- Add locking for GPIO IRQ ops.
- Fix property naming mistake in dt bindings document.
- Address other code quality related review concerns.
- Fix a build error reported by kbuild test robot.
- Remove deleted structure fields from comments.

v2:
- Enable GENERIC_PINMUX_FUNCTIONS & GENERIC_PINCTRL_GROUPS and use core provided code for pinmux_ops & pinctrl_ops. Remove related code from the driver.
- Enable GENERIC_PINCONF & use core provided pinconf code. Remove related code from the driver.
- Use GPIOLIB_IRQCHIP framework core code instead of implementing separtely in the driver.
- Enable GPIO_GENERIC and switch to core provided memory mapped GPIO banks design.
- Use standard pinctrl DT properties instead of custom made properties.
- Address review concerns for dt bindings document.
- Address code quality related review concerns.

v1:
- Initial version.

Rahul Tanwar (2):
pinctrl: Add pinmux & GPIO controller driver for a new SoC
dt-bindings: pinctrl: intel: Add for new SoC

 .../bindings/pinctrl/intel,lgm-pinctrl.yaml        | 116 +++
 drivers/pinctrl/Kconfig                            |  18 +
 drivers/pinctrl/Makefile                           |   1 +
 drivers/pinctrl/pinctrl-equilibrium.c              | 944 +++++++++++++++++++++
 drivers/pinctrl/pinctrl-equilibrium.h              | 144 ++++
 5 files changed, 1223 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/pinctrl/intel,lgm-pinctrl.yaml
 create mode 100644 drivers/pinctrl/pinctrl-equilibrium.c
 create mode 100644 drivers/pinctrl/pinctrl-equilibrium.h
Signature · 1 line
2.11.0