The document currently states a maximum of 1 interrupt, but the DT
has 2 specified causing a dtbs_check error. Replace the maximum limit
with a minimum and add per-interrupt descriptions to pass the check.
Fixes: 81557a71564a ("dt-bindings: pinctrl: Add MediaTek MT6795 pinctrl bindings") Suggested-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Signed-off-by: Yassine Oudjana <y.oudjana@protonmail.com> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Link: https://lore.kernel.org/r/20221028153505.23741-6-y.oudjana@protonmail.com Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Combine MT6797 pin controller document into MT6779 one. reg and
reg-names property constraints are set using conditionals.
A conditional is also used to make interrupt-related properties
required on the MT6779 pin controller only, since the MT6797
controller doesn't support interrupts (or not yet, at least).
drive-strength and slew-rate properties which weren't described
in the MT6779 document before are brought in from the MT6797 one.
Both pin controllers share a common driver core so they should
both support these properties.
Signed-off-by: Yassine Oudjana <y.oudjana@protonmail.com> Reviewed-by: Rob Herring <robh@kernel.org> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Link: https://lore.kernel.org/r/20221028153505.23741-5-y.oudjana@protonmail.com Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Yassine Oudjana [Fri, 28 Oct 2022 15:34:55 +0000 (18:34 +0300)]
dt-bindings: pinctrl: mediatek,mt6779-pinctrl: Make gpio-ranges optional
The pin controller can function without specifying gpio-ranges so remove
it from required properties. This is also done in preparation for adding
other pin controllers which currently don't have the gpio-ranges property
defined where they are used in DTS. This allows dtbs_check to pass on
those device trees.
Signed-off-by: Yassine Oudjana <y.oudjana@protonmail.com> Reviewed-by: Rob Herring <robh@kernel.org> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Link: https://lore.kernel.org/r/20221028153505.23741-4-y.oudjana@protonmail.com Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
The current description mentions having to put the pin controller
node under a syscon node, but this is not the case in the current
MT6779 device tree. This is not actually needed, so replace the
current description with something more generic that describes
the use of the hardware block.
Signed-off-by: Yassine Oudjana <y.oudjana@protonmail.com> Reviewed-by: Rob Herring <robh@kernel.org> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Link: https://lore.kernel.org/r/20221028153505.23741-3-y.oudjana@protonmail.com Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Shenwei Wang [Thu, 27 Oct 2022 13:08:59 +0000 (08:08 -0500)]
gpio: mxc: enable pad wakeup on i.MX8x platforms
On i.MX8QM/QXP/DXL SoCs, even a GPIO is selected as the wakeup source,
the GPIO block will be powered off when system enters into suspend
state. This can greatly reduce the power consumption of suspend state
because the whole partition can be shutdown. This is called PAD wakeup
feature on i.MX8x platform.
This patch adds the noirq suspend/resume hooks and uses the pad wakeup
feature as the default wakeup method for GPIO modules on
i.MX8QM/QXP/DXL platforms.
Signed-off-by: Shenwei Wang <shenwei.wang@nxp.com> Reviewed-by: Peng Fan <peng.fan@nxp.com> Acked-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org> Link: https://lore.kernel.org/r/20221027130859.1444412-6-shenwei.wang@nxp.com Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Balsam CHIHI [Fri, 21 Oct 2022 08:47:07 +0000 (10:47 +0200)]
pinctrl: mediatek: common: add mt8365_set_clr_mode() callback for broken SET/CLR modes
On MT8365, the SET/CLR of the mode is broken and some pin modes won't
be set correctly.
Add mt8365_set_clr_mode() callback for such SoCs, so that instead of
using the SET/CLR register, use the main R/W register to
read/update/write the modes.
Andy Shevchenko [Fri, 7 Oct 2022 09:53:44 +0000 (12:53 +0300)]
pinctrl: Clean up headers
There is a few things done:
- include only the headers we are direct user of
- when pointer is in use, provide a forward declaration
- add missing headers
- group generic headers and subsystem headers
- sort each group alphabetically
While at it, fix some awkward indentations.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Andy Shevchenko [Fri, 7 Oct 2022 09:53:44 +0000 (12:53 +0300)]
gpiolib: Clean up headers
There is a few things done:
- include only the headers we are direct user of
- when pointer is in use, provide a forward declaration
- add missing headers
- group generic headers and subsystem headers
- sort each group alphabetically
While at it, fix some awkward indentations.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Linus Walleij [Mon, 24 Oct 2022 07:48:37 +0000 (09:48 +0200)]
Merge tag 'qcom-pinctrl-6.2' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-dt into devel
Qualcomm pinctrl Devicetree bindings changes for v6.2
Big set of refactoring and improving Qualcomm pin controller bindings:
1. Convert several bindings from TXT to DT schema format: MDM9615,
MSM8974, MSM8994, MSM8996, MSM8998, SC7180, SDM630, SDM845, SM8150.
2. Refactor existing DT schema bindings to be consistent and similar to
each other, remove unneeded pieces (provided by common bindings) and
unify the style.
2. Fix matching of the existing DT schema bindings, so they properly
validate the DTS. When looking for pin configuration (children
nodes), be specific and expect "state" or "pins" suffixes (depending
on the nesting. This allows the schema later to properly parse also
GPIO hogs, although it is not yet implemented. The changes require
aligning the DTS to new layout, but it does not break any
compatibility.
Krzysztof Kozlowski [Wed, 19 Oct 2022 00:13:51 +0000 (20:13 -0400)]
dt-bindings: pinctrl: qcom,sc7180: convert to dtschema
Convert Qualcomm SC7180 pin controller bindings to DT schema. Keep the
parsing of pin configuration subnodes consistent with other Qualcomm
schemas (children named with '-state' suffix, their children with
'-pins').
Krzysztof Kozlowski [Mon, 17 Oct 2022 01:22:24 +0000 (21:22 -0400)]
dt-bindings: pinctrl: qcom,msm8974: convert to dtschema
Convert Qualcomm MSM8974 pin controller bindings to DT schema. Keep the
parsing of pin configuration subnodes consistent with other Qualcomm
schemas (children named with '-state' suffix, their children with
'-pins').
Krzysztof Kozlowski [Tue, 18 Oct 2022 15:54:50 +0000 (11:54 -0400)]
dt-bindings: pinctrl: qcom,msm8994: convert to dtschema
Convert Qualcomm MSM8994 pin controller bindings to DT schema. Keep the
parsing of pin configuration subnodes consistent with other Qualcomm
schemas (children named with '-state' suffix, their children with
'-pins').
Krzysztof Kozlowski [Tue, 18 Oct 2022 15:57:21 +0000 (11:57 -0400)]
dt-bindings: pinctrl: qcom,msm8996: convert to dtschema
Convert Qualcomm MSM8996 pin controller bindings to DT schema. Keep the
parsing of pin configuration subnodes consistent with other Qualcomm
schemas (children named with '-state' suffix, their children with
'-pins').
Krzysztof Kozlowski [Mon, 17 Oct 2022 23:46:53 +0000 (19:46 -0400)]
dt-bindings: pinctrl: qcom,msm8998: convert to dtschema
Convert Qualcomm MSM8998 pin controller bindings to DT schema. Keep the
parsing of pin configuration subnodes consistent with other Qualcomm
schemas (children named with '-state' suffix, their children with
'-pins').
Krzysztof Kozlowski [Tue, 18 Oct 2022 16:01:28 +0000 (12:01 -0400)]
dt-bindings: pinctrl: qcom,sm8150: convert to dtschema
Convert Qualcomm SM8150 pin controller bindings to DT schema. Keep the
parsing of pin configuration subnodes consistent with other Qualcomm
schemas (children named with '-state' suffix, their children with
'-pins').
Krzysztof Kozlowski [Mon, 17 Oct 2022 23:00:10 +0000 (19:00 -0400)]
dt-bindings: pinctrl: qcom,sm8250-lpass-lpi: minor style cleanups
Drop "binding" from description (and align it with other Qualcomm
pinctrl bindings), drop redundant minItems, use double quotes
consistently and drop redundant quotes.
Krzysztof Kozlowski [Mon, 17 Oct 2022 23:00:07 +0000 (19:00 -0400)]
dt-bindings: pinctrl: qcom,sm8450-tlmm: minor style cleanups
Drop "binding" from description (and align it with other Qualcomm
pinctrl bindings), use double quotes consistently, drop redundant
quotes and rename file to match compatible (to match coding convention).
Krzysztof Kozlowski [Mon, 17 Oct 2022 23:00:06 +0000 (19:00 -0400)]
dt-bindings: pinctrl: qcom,sm8350-tlmm: minor style cleanups
Drop "binding" from description (and align it with other Qualcomm
pinctrl bindings), use double quotes consistently, drop redundant
quotes and rename file to match compatible (to match coding convention).
Krzysztof Kozlowski [Mon, 17 Oct 2022 23:00:05 +0000 (19:00 -0400)]
dt-bindings: pinctrl: qcom,sm8250: minor style cleanups
Drop "binding" from description (and align it with other Qualcomm
pinctrl bindings), drop redundant minItems, use double quotes
consistently and drop redundant quotes.
Krzysztof Kozlowski [Mon, 17 Oct 2022 23:00:03 +0000 (19:00 -0400)]
dt-bindings: pinctrl: qcom,sm6350-tlmm: minor style cleanups
Drop "binding" from description (and align it with other Qualcomm
pinctrl bindings), use double quotes consistently, drop redundant
quotes and rename file to match compatible (to match coding convention).
Krzysztof Kozlowski [Mon, 17 Oct 2022 23:00:02 +0000 (19:00 -0400)]
dt-bindings: pinctrl: qcom,sm6125-tlmm: minor style cleanups
Drop "binding" from description (and align it with other Qualcomm
pinctrl bindings), drop redundant minItems, use double quotes
consistently, drop redundant quotes and rename file to match compatible
(to match coding convention).
Krzysztof Kozlowski [Mon, 17 Oct 2022 23:00:01 +0000 (19:00 -0400)]
dt-bindings: pinctrl: qcom,sm6115-tlmm: minor style cleanups
Drop "binding" from description (and align it with other Qualcomm
pinctrl bindings), use double quotes consistently, drop redundant
quotes and rename file to match compatible (to match coding convention).
Krzysztof Kozlowski [Mon, 17 Oct 2022 23:00:00 +0000 (19:00 -0400)]
dt-bindings: pinctrl: qcom,sc8280xp-tlmm: minor style cleanups
Drop "binding" from description (and align it with other Qualcomm
pinctrl bindings), use double quotes consistently, drop redundant
quotes and rename file to match compatible (to match coding convention).
Krzysztof Kozlowski [Mon, 17 Oct 2022 22:59:59 +0000 (18:59 -0400)]
dt-bindings: pinctrl: qcom,sc8180x-tlmm: minor style cleanups
Drop "binding" from description (and align it with other Qualcomm
pinctrl bindings), use double quotes consistently, drop redundant quotes
and rename file to match compatible (to match coding convention).
Krzysztof Kozlowski [Mon, 17 Oct 2022 22:59:58 +0000 (18:59 -0400)]
dt-bindings: pinctrl: qcom,sdx65-tlmm: minor style cleanups
Drop "binding" from description (and align it with other Qualcomm
pinctrl bindings), use double quotes consistently, drop redundant
quotes and rename file to match compatible (to match coding
convention).
Krzysztof Kozlowski [Mon, 17 Oct 2022 22:59:57 +0000 (18:59 -0400)]
dt-bindings: pinctrl: qcom,qcm2290-tlmm: minor style cleanups
Drop "binding" from description (and align it with other Qualcomm
pinctrl bindings), use double quotes consistently, drop redundant
quotes and rename file to match compatible (to match coding convention).
Krzysztof Kozlowski [Mon, 17 Oct 2022 22:59:55 +0000 (18:59 -0400)]
dt-bindings: pinctrl: qcom,mdm9607-tlmm: minor style cleanups
Drop "binding" from description (and align it with other Qualcomm
pinctrl bindings), use double quotes consistently, drop redundant
quotes and rename file to match compatible (to match coding
convention).
Krzysztof Kozlowski [Mon, 17 Oct 2022 22:59:51 +0000 (18:59 -0400)]
dt-bindings: pinctrl: qcom,sm8250: use common TLMM schema
Reference common Qualcomm TLMM pin controller schema, to bring common
properties, other pinctrl schemas and additional checks, like function
required only for GPIOs.