Andy Shevchenko
383da0c7f2
pinctrl: core: Add a convenient define PINCTRL_GROUP_DESC()
...
Add PINCTRL_GROUP_DESC() macro for inline use.
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be >
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com >
Link: https://lore.kernel.org/r/20231211190321.307330-2-andriy.shevchenko@linux.intel.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2023-12-12 00:47:52 +01:00
Linus Walleij
78b778e363
Merge tag 'gpio-remove-gpiochip_is_requested-for-v6.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux into devel
...
gpio: remove gpiochip_is_requested()
- provide a safer alternative to gpiochip_is_requested()
- convert all existing users
- remove gpiochip_is_requested()
2023-12-12 00:46:23 +01:00
Bartosz Golaszewski
f8d05e276b
gpiolib: remove gpiochip_is_requested()
...
We have no external users of gpiochip_is_requested(). Let's remove it
and replace its internal calls with direct testing of the REQUESTED flag.
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org >
Acked-by: Linus Walleij <linus.walleij@linaro.org >
2023-12-08 09:26:43 +01:00
Bartosz Golaszewski
6fd9c99334
gpiolib: use gpiochip_dup_line_label() in for_each helpers
...
Rework for_each_requested_gpio_in_range() to use the new helper to
retrieve a dynamically allocated copy of the descriptor label and free
it at the end of each iteration. We need to leverage the CLASS()'
destructor to make sure that the label is freed even when breaking out
of the loop.
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org >
Acked-by: Linus Walleij <linus.walleij@linaro.org >
2023-12-08 09:26:40 +01:00
Bartosz Golaszewski
069ced2206
pinctrl: sppctl: use gpiochip_dup_line_label()
...
Use the new gpiochip_dup_line_label() helper to safely retrieve the
descriptor label.
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org >
Acked-by: Linus Walleij <linus.walleij@linaro.org >
2023-12-08 09:26:37 +01:00
Bartosz Golaszewski
c73505c8a0
pinctrl: baytrail: use gpiochip_dup_line_label()
...
Use the new gpiochip_dup_line_label() helper to safely retrieve the
descriptor label.
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org >
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com >
Acked-by: Linus Walleij <linus.walleij@linaro.org >
2023-12-08 09:26:35 +01:00
Bartosz Golaszewski
caf7e135c2
pinctrl: nomadik: use gpiochip_dup_line_label()
...
Use the new gpiochip_dup_line_label() helper to safely retrieve the
descriptor label.
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org >
Acked-by: Linus Walleij <linus.walleij@linaro.org >
2023-12-08 09:26:32 +01:00
Bartosz Golaszewski
c76ba937f5
pinctrl: abx500: use gpiochip_dup_line_label()
...
Use the new gpiochip_dup_line_label() helper to safely retrieve the
descriptor label.
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org >
Acked-by: Linus Walleij <linus.walleij@linaro.org >
2023-12-08 09:26:30 +01:00
Bartosz Golaszewski
f1b33ce48a
gpio: stmpe: use gpiochip_dup_line_label()
...
Use the new gpiochip_dup_line_label() helper to safely retrieve the
descriptor label.
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org >
Acked-by: Linus Walleij <linus.walleij@linaro.org >
2023-12-08 09:26:28 +01:00
Bartosz Golaszewski
abeec1ad51
gpio: wm8994: use gpiochip_dup_line_label()
...
Use the new gpiochip_dup_line_label() helper to safely retrieve the
descriptor label.
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org >
Acked-by: Linus Walleij <linus.walleij@linaro.org >
2023-12-08 09:26:25 +01:00
Bartosz Golaszewski
1610cd5f74
gpio: wm831x: use gpiochip_dup_line_label()
...
Use the new gpiochip_dup_line_label() helper to safely retrieve the
descriptor label.
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org >
Acked-by: Linus Walleij <linus.walleij@linaro.org >
2023-12-08 09:26:20 +01:00
Bartosz Golaszewski
ee25fba76a
gpiolib: provide gpiochip_dup_line_label()
...
gpiochip_is_requested() not only has a misleading name but it returns
a pointer to a string that is freed when the descriptor is released.
Provide a new helper meant to replace it, which returns a copy of the
label string instead.
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org >
Acked-by: Linus Walleij <linus.walleij@linaro.org >
2023-12-08 09:25:53 +01:00
Andy Shevchenko
583b5273a6
pinctrl: nuvoton: Convert to use struct pingroup and PINCTRL_PINGROUP()
...
The pin control header provides struct pingroup and PINCTRL_PINGROUP() macro.
Utilize them instead of open coded variants in the driver.
Reviewed-by: Jonathan Neuschäfer <j.neuschaefer@gmx.net >
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com >
Link: https://lore.kernel.org/r/20231204160033.1872569-6-andriy.shevchenko@linux.intel.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2023-12-07 10:53:57 +01:00
Andy Shevchenko
3859a6fdf0
pinctrl: keembay: Convert to use struct pingroup
...
The pin control header provides struct pingroup.
Utilize it instead of open coded variants in the driver.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com >
Link: https://lore.kernel.org/r/20231204160033.1872569-5-andriy.shevchenko@linux.intel.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2023-12-07 10:53:57 +01:00
Andy Shevchenko
be1d5f5736
pinctrl: equilibrium: Convert to use struct pingroup
...
The pin control header provides struct pingroup.
Utilize it instead of open coded variants in the driver.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com >
Link: https://lore.kernel.org/r/20231204160033.1872569-4-andriy.shevchenko@linux.intel.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2023-12-07 10:53:57 +01:00
Andy Shevchenko
d98d73855f
pinctrl: core: Make pins const unsigned int pointer in struct group_desc
...
It's unclear why it's not a const unsigned int pointer from day 1.
Make the pins member const unsigned int pointer in struct group_desc.
Update necessary APIs.
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be >
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com >
Link: https://lore.kernel.org/r/20231204160033.1872569-3-andriy.shevchenko@linux.intel.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2023-12-07 10:53:57 +01:00
Andy Shevchenko
731b30f6aa
pinctrl: renesas: Mark local variable with const in ->set_mux()
...
We are not going to change pins in the ->set_mux() callback. Mark
the local variable with a const qualifier. While at it, make it
also unsigned.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com >
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be >
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be >
Link: https://lore.kernel.org/r/20231204160033.1872569-2-andriy.shevchenko@linux.intel.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2023-12-07 10:53:57 +01:00
Krzysztof Kozlowski
253bad7f04
dt-bindings: pinctrl: qcom,sm8550-lpass-lpi: add X1E80100 LPASS LPI
...
Document the Qualcomm X1E80100 SoC Low Power Audio SubSystem Low Power
Island (LPASS LPI) pin controller, compatible with earlier SM8550 model.
Cc: Abel Vesa <abel.vesa@linaro.org >
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Acked-by: Conor Dooley <conor.dooley@microchip.com >
Reviewed-by: Abel Vesa <abel.vesa@linaro.org >
Link: https://lore.kernel.org/r/20231129155738.167030-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2023-12-04 15:32:42 +01:00
Thomas Richard
e24b623d95
pinctrl: pinctrl-single: add ti,j7200-padconf compatible
...
On j7200, during suspend to ram pinctrl contexts are lost. To save and
restore contexts during suspend/resume, the flag PCS_CONTEXT_LOSS_OFF
shall be set.
Signed-off-by: Thomas Richard <thomas.richard@bootlin.com >
Reviewed-by: Tony Lindgren <tony@atomide.com >
Link: https://lore.kernel.org/r/20231128-j7200-pinctrl-s2r-v1-2-704e7dc24460@bootlin.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2023-12-04 15:32:42 +01:00
Thomas Richard
aa587ff2ab
dt-bindings: pinctrl: pinctrl-single: add ti,j7200-padconf compatible
...
Add the "ti,j7200-padconf" compatible to support suspend to ram on
j7200.
Signed-off-by: Thomas Richard <thomas.richard@bootlin.com >
Reviewed-by: Tony Lindgren <tony@atomide.com >
Acked-by: Conor Dooley <conor.dooley@microchip.com >
Link: https://lore.kernel.org/r/20231128-j7200-pinctrl-s2r-v1-1-704e7dc24460@bootlin.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2023-12-04 15:32:42 +01:00
Richard Acayan
27030ff787
pinctrl: qcom: fail to retrieve configuration from invalid pin groups
...
The pinconf-groups debugfs file dumps each valid configuration item of
all pin groups. Some platforms and devices may have pin groups which
cannot be accessed, according to commit 691bf5d5a7 ("pinctrl: qcom:
Don't allow protected pins to be requested"). Fail for each
configuration item of an invalid pin group by checking the GPIO chip's
valid mask.
The validity of the pin group cannot be checked in the generic pinconf
dump (function "pinconf_generic_dump_one"), as it does not directly
interact with the gpiochip or the pinmux callbacks (which would give it
access to the request callback). Instead, an entry contains the ID and
name of the pingroup with no properties when all items fail.
Signed-off-by: Richard Acayan <mailingradian@gmail.com >
Link: https://lore.kernel.org/r/20231128020202.728156-3-mailingradian@gmail.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2023-12-04 15:32:42 +01:00
Andy Shevchenko
142173c4ad
pinctrl: mediatek: Switch to use no-IRQ PM helpers
...
Since pm.h provides a helper for system no-IRQ PM callbacks,
switch the driver to use it instead of open coded variant.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com >
Link: https://lore.kernel.org/r/20231122144744.2222207-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2023-12-04 15:32:42 +01:00
Andy Shevchenko
7cc4e6b0e4
pinctrl: Convert unsigned to unsigned int
...
Simple type conversion with no functional change implied.
While at it, adjust indentation where it makes sense.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com >
Link: https://lore.kernel.org/r/20231129161459.1002323-24-andriy.shevchenko@linux.intel.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2023-12-04 15:32:42 +01:00
Andy Shevchenko
26ea8229e7
pinctrl: imx: Use temporary variable to hold pins
...
The pins are allocated from the heap, but in order to pass
them as constant object, we need to use non-constant pointer.
Achieve this by using a temporary variable.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com >
Link: https://lore.kernel.org/r/20231129161459.1002323-6-andriy.shevchenko@linux.intel.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2023-12-01 15:00:20 +01:00
Andy Shevchenko
271e6a0477
pinctrl: equilibrium: Use temporary variable to hold pins
...
The pins are allocated from the heap, but in order to pass
them as constant object, we need to use non-constant pointer.
Achieve this by using a temporary variable.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com >
Link: https://lore.kernel.org/r/20231129161459.1002323-5-andriy.shevchenko@linux.intel.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2023-12-01 15:00:14 +01:00
Andy Shevchenko
c82c03819b
pinctrl: equilibrium: Unshadow error code of of_property_count_u32_elems()
...
of_property_count_u32_elems() might return an error code in some cases.
It's naturally better to assign what it's returned to the err variable
and supply the real code to the upper layer(s). Besides that, it's a
common practice to avoid assignments for the data in cases when we know
that the error condition happened. Refactor the code accordingly.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com >
Link: https://lore.kernel.org/r/20231129161459.1002323-4-andriy.shevchenko@linux.intel.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2023-12-01 15:00:10 +01:00
Andy Shevchenko
9e863d2768
pinctrl: qcom: lpass-lpi: Remove unused member in struct lpi_pingroup
...
The group is not used anywhere, remove it. And if needed, it should be
struct pingroup anyway.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com >
Link: https://lore.kernel.org/r/20231129161459.1002323-3-andriy.shevchenko@linux.intel.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2023-12-01 14:59:53 +01:00
Andy Shevchenko
2cd57cbd56
pinctrl: qcom: lpass-lpi: Replace kernel.h with what is being used
...
Replace kernel.h with what exactly is being used, i.e. array_size.h.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com >
Link: https://lore.kernel.org/r/20231129161459.1002323-2-andriy.shevchenko@linux.intel.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2023-12-01 14:59:13 +01:00
Linus Walleij
a8fcd99924
Merge tag 'renesas-pinctrl-for-v6.8-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers into devel
...
pinctrl: renesas: Updates for v6.8
- Add support for interrupt affinity to the RZ/G2L GPIO driver,
- Drop unneeded quotes in the RZ/A2 Pin controller DT bindings.
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2023-12-01 14:21:45 +01:00
Rob Herring
dc99d4c8ac
dt-bindings: pinctrl: renesas: Drop unneeded quotes
...
Drop unneeded quotes over simple string values to fix a soon to be
enabled yamllint warning:
[error] string value is redundantly quoted with any quotes (quoted-strings)
Signed-off-by: Rob Herring <robh@kernel.org >
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be >
Link: https://lore.kernel.org/r/20231122224409.2808999-1-robh@kernel.org
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be >
2023-11-27 11:12:12 +01:00
Lad Prabhakar
e4c3a81ab8
pinctrl: renesas: rzg2l: Enhance driver to support interrupt affinity setting
...
Implement irq_set_affinity callback so that we can set affinity
for GPIO IRQs.
Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com >
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be >
Link: https://lore.kernel.org/r/20231011195923.67404-1-prabhakar.mahadev-lad.rj@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be >
2023-11-27 11:11:22 +01:00
Bartosz Golaszewski
5f0dedcc9d
pinctrl: don't include GPIOLIB private header
...
gpio_to_desc() is declared in linux/gpio.h so there's no need to include
gpiolib.h directly.
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org >
Acked-by: Linus Walleij <linus.walleij@linaro.org >
Link: https://lore.kernel.org/r/20231115165001.2932350-4-brgl@bgdev.pl
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2023-11-25 00:28:29 +01:00
Bartosz Golaszewski
524fc108b8
pinctrl: stop using gpiod_to_chip()
...
Don't dereference struct gpio_chip directly, use dedicated gpio_device
getters instead.
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org >
Acked-by: Linus Walleij <linus.walleij@linaro.org >
Link: https://lore.kernel.org/r/20231115165001.2932350-3-brgl@bgdev.pl
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2023-11-25 00:28:22 +01:00
Linus Walleij
16048722db
Merge tag 'gpio-device-get-label-for-v6.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux into devel
...
gpiolib: provide gpio_device_get_label()
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2023-11-25 00:27:25 +01:00
Bartosz Golaszewski
d1f7728259
gpiolib: provide gpio_device_get_label()
...
Provide a getter for the GPIO device label string so that users don't
have to dereference struct gpio_chip directly.
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org >
2023-11-24 20:27:37 +01:00
Andrew Davis
c3c63e6652
pinctrl: as3722: Use devm_gpiochip_add_data() to simplify remove path
...
Use devm version of gpiochip add function to handle removal for us.
Signed-off-by: Andrew Davis <afd@ti.com >
Reviewed-by: Andy Shevchenko <andy@kernel.org >
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com >
Link: https://lore.kernel.org/r/20231116223045.274211-1-afd@ti.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2023-11-24 11:22:12 +01:00
Rajendra Nayak
05e4941d97
pinctrl: qcom: Add X1E80100 pinctrl driver
...
Add initial pinctrl driver to support pin configuration with pinctrl
framework for X1E80100 SoC.
Co-developed-by: Abel Vesa <abel.vesa@linaro.org >
Signed-off-by: Abel Vesa <abel.vesa@linaro.org >
Signed-off-by: Rajendra Nayak <quic_rjendra@quicinc.com >
Co-developed-by: Sibi Sankar <quic_sibis@quicinc.com >
Signed-off-by: Sibi Sankar <quic_sibis@quicinc.com >
Reviewed-by: Bjorn Andersson <andersson@kernel.org >
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Link: https://lore.kernel.org/r/20231117093921.31968-3-quic_sibis@quicinc.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2023-11-24 11:22:12 +01:00
Rajendra Nayak
5180f4fa49
dt-bindings: pinctrl: qcom: Add X1E80100 pinctrl
...
Add device tree binding Documentation details for Qualcomm X1E80100 TLMM
device.
Signed-off-by: Rajendra Nayak <quic_rjendra@quicinc.com >
Co-developed-by: Sibi Sankar <quic_sibis@quicinc.com >
Signed-off-by: Sibi Sankar <quic_sibis@quicinc.com >
Reviewed-by: Bjorn Andersson <andersson@kernel.org >
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Link: https://lore.kernel.org/r/20231117093921.31968-2-quic_sibis@quicinc.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2023-11-24 11:22:11 +01:00
Tomer Maimon
a6059c8603
pinctrl: npcm7xx: prevent glitch when setting the GPIO to output high
...
Enable GPIO output after setting the output value to prevent a glitch
when pinctrl driver sets gpio pin to output high and the pin is in
the default state (high->low->high).
Signed-off-by: Tomer Maimon <tmaimon77@gmail.com >
Signed-off-by: William A. Kennington III <william@wkennington.com >
Link: https://lore.kernel.org/r/20231115211209.1683449-1-william@wkennington.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2023-11-24 11:22:11 +01:00
Sergey Shtylyov
5a002bf206
pinctrl: stm32: return errors from stm32_gpio_direction_output()
...
In the STMicroelectronics STM32 driver, stm32_gpio_direction_output()
ignores the result of pinctrl_gpio_direction_output() for no good reason.
Let's propagate errors from pinctrl_gpio_direction_output() upstream...
Found by Linux Verification Center (linuxtesting.org) with the Svace static
analysis tool.
Signed-off-by: Sergey Shtylyov <s.shtylyov@omp.ru >
Link: https://lore.kernel.org/r/5ce023a8-db0c-13a9-be42-09e3348ca44d@omp.ru
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2023-11-24 11:22:11 +01:00
Esteban Blanc
901b277eaf
pinctrl: tps6594: Add driver for TPS6594 pinctrl and GPIOs
...
TI TPS6594 PMIC has 11 GPIOs which can be used
for different functions.
This patch adds a pinctrl and GPIO drivers in
order to use those functions.
Signed-off-by: Esteban Blanc <eblanc@baylibre.com >
Reviewed-by: Linus Walleij <linus.walleij@linaro.org >
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com >
Link: https://lore.kernel.org/r/20231108104124.2818275-1-eblanc@baylibre.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2023-11-14 14:45:35 +01:00
Krzysztof Kozlowski
6ea5c72b04
pinctrl: qcom: lpass-lpi: allow slew rate bit in main pin config register
...
Existing Qualcomm SoCs have the LPASS pin controller slew rate control
in separate register, however this will change with upcoming Qualcomm
SoCs. The slew rate will be part of the main register for pin
configuration, thus second device IO address space is not needed.
Prepare for supporting new SoCs by adding flag customizing the driver
behavior for slew rate.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org >
Link: https://lore.kernel.org/r/20231013145935.220945-3-krzysztof.kozlowski@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2023-11-14 08:44:40 +01:00
Krzysztof Kozlowski
28bb7c555c
pinctrl: qcom: lpass-lpi: split slew rate set to separate function
...
Setting slew rate for each pin will grow with upcoming Qualcomm SoCs,
so split the code responsible for this into separate function for easier
readability and maintenance.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org >
Link: https://lore.kernel.org/r/20231013145935.220945-2-krzysztof.kozlowski@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2023-11-14 08:44:40 +01:00
Neil Armstrong
22a4a9ed37
pinctrl: qcom: Introduce the SM8650 Top Level Mode Multiplexer driver
...
Add Top Level Mode Multiplexer (pinctrl) support for the SM8650 platform.
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org >
Link: https://lore.kernel.org/r/20231106-topic-sm8650-upstream-tlmm-v3-3-0e179c368933@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2023-11-13 15:05:13 +01:00
Neil Armstrong
76b446f5b8
pinctrl: qcom: handle intr_target_reg wakeup_present/enable bits
...
New platforms uses a new set of bits to control the wakeirq
delivery to the PDC block.
The intr_wakeup_present_bit indicates if the GPIO supports
wakeirq and intr_wakeup_enable_bit enables wakeirq delivery
to the PDC block.
While the name seems to imply this only enables wakeup events,
it is required to allow interrupts events to the PDC block.
Enable this bit in the irq resource request/free if:
- gpio is in wakeirq map
- has the intr_wakeup_present_bit
- the intr_wakeup_enable_bit is set
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org >
Link: https://lore.kernel.org/r/20231106-topic-sm8650-upstream-tlmm-v3-2-0e179c368933@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2023-11-13 15:01:37 +01:00
Neil Armstrong
d92618caf9
dt-bindings: pinctrl: document the SM8650 Top Level Mode Multiplexer
...
Document the Top Level Mode Multiplexer on the SM8650 Platform.
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org >
Link: https://lore.kernel.org/r/20231106-topic-sm8650-upstream-tlmm-v3-1-0e179c368933@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2023-11-13 15:01:37 +01:00
Krzysztof Kozlowski
c4e4767385
pinctrl: qcom: sm8650-lpass-lpi: add SM8650 LPASS
...
Add driver for the pin controller in Low Power Audio SubSystem (LPASS)
of Qualcomm SM8650 SoC.
Notable differences against SM8550 LPASS pin controller:
1. Additional address space for slew rate thus driver uses
LPI_FLAG_SLEW_RATE_SAME_REG and sets slew rate via different
register.
2. Two new pin mux functions: qca_swr_clk and qca_swr_data
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org >
Link: https://lore.kernel.org/r/20231027093615.140656-3-krzysztof.kozlowski@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2023-11-13 14:58:02 +01:00
Krzysztof Kozlowski
2220638d37
dt-bindings: pinctrl: qcom,sm8650-lpass-lpi-pinctrl: add SM8650 LPASS
...
Add bindings for the pin controller in Low Power Audio SubSystem (LPASS)
of Qualcomm SM8650 SoC.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Reviewed-by: Rob Herring <robh@kernel.org >
Link: https://lore.kernel.org/r/20231027093615.140656-2-krzysztof.kozlowski@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2023-11-13 14:58:02 +01:00
Thierry Reding
bf800ca415
pinctrl: tegra: Display pin function in pinconf-groups
...
The function that a pin is muxed to can be read from the top-level
pinctrl-maps debugfs file. However, this only reflects the values that
were specified in device tree, so they will only show deviations from
the hardware default setting. Display the current pinmux setting in the
per-controller pinconf-groups debugfs file along with the rest of the
per-pin configuration settings.
Signed-off-by: Thierry Reding <treding@nvidia.com >
Tested-by: Luca Ceresoli <luca.ceresoli@bootlin.com >
Link: https://lore.kernel.org/r/20230929122101.466266-1-thierry.reding@gmail.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2023-11-13 14:57:22 +01:00
Linus Torvalds
b85ea95d08
Linux 6.7-rc1
v6.7-rc1
2023-11-12 16:19:07 -08:00