Skip to content

Commit edb2a38

Browse files
committed
Merge tag 'pinctrl-v4.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl
Pull pin control updates from Linus Walleij: "This is the bulk of pin control changes for v4.18. No core changes this time! Just a calm all-over-the-place drivers, updates and fixes cycle as it seems. New drivers/subdrivers: - Actions Semiconductor S900 driver with more Actions variants for S700, S500 in the pipe. Also generic GPIO support on top of the same driver and IRQ support is in the pipe. - Renesas r8a77470 PFC support. - Renesas r8a77990 PFC support. - Allwinner Sunxi H6 R_PIO support. - Rockchip PX30 support. - Meson Meson8m2 support. - Remove support for the ill-fated Samsung Exynos 5440 SoC. Improvements: - Context save/restore support in pinctrl-single. - External interrupt support for the Mediatek MT7622. - Qualcomm ACPI HID QCOM8002 supported. Fixes: - Fix up suspend/resume support for Exynos 5433. - Fix Strago DMI fixes on the Intel Cherryview" * tag 'pinctrl-v4.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (72 commits) pinctrl: cherryview: limit Strago DMI workarounds to version 1.0 pinctrl: at91-pio4: add missing of_node_put pinctrl: armada-37xx: Fix spurious irq management gpiolib: discourage gpiochip_add_pin[group]_range for DT pinctrls pinctrl: msm: fix gpio-hog related boot issues MAINTAINERS: update entry for Mediatek pin controller pinctrl: mediatek: remove unused fields in struct mtk_eint_hw pinctrl: mediatek: use generic EINT register maps for each SoC pinctrl: mediatek: add EINT support to MT7622 SoC pinctrl: mediatek: refactor EINT related code for all MediaTek pinctrl can fit dt-bindings: pinctrl: add external interrupt support to MT7622 pinctrl pinctrl: freescale: Switch to SPDX identifier pinctrl: samsung: Fix suspend/resume for Exynos5433 GPF1..5 banks pinctrl: sh-pfc: rcar-gen3: Fix grammar in static pin comments pinctrl: sh-pfc: r8a77965: Add I2C pin support pinctrl: sh-pfc: r8a77990: Add EthernetAVB pins, groups and functions pinctrl: sh-pfc: r8a77990: Add I2C{1,2,4,5,6,7} pins, groups and functions pinctrl: sh-pfc: r8a77990: Add SCIF pins, groups and functions pinctrl: sh-pfc: r8a77990: Add bias pinconf support pinctrl: sh-pfc: Initial R8A77990 PFC support ...
2 parents 3a979e8 + 86c5dd6 commit edb2a38

File tree

102 files changed

+11832
-2134
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

102 files changed

+11832
-2134
lines changed

Documentation/devicetree/bindings/pinctrl/actions,s900-pinctrl.txt

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,17 @@ Required Properties:
88
- reg: Should contain the register base address and size of
99
the pin controller.
1010
- clocks: phandle of the clock feeding the pin controller
11+
- gpio-controller: Marks the device node as a GPIO controller.
12+
- gpio-ranges: Specifies the mapping between gpio controller and
13+
pin-controller pins.
14+
- #gpio-cells: Should be two. The first cell is the gpio pin number
15+
and the second cell is used for optional parameters.
16+
- interrupt-controller: Marks the device node as an interrupt controller.
17+
- #interrupt-cells: Specifies the number of cells needed to encode an
18+
interrupt. Shall be set to 2. The first cell
19+
defines the interrupt number, the second encodes
20+
the trigger flags described in
21+
bindings/interrupt-controller/interrupts.txt
1122

1223
Please refer to pinctrl-bindings.txt in this directory for details of the
1324
common pinctrl bindings used by client devices, including the meaning of the
@@ -164,6 +175,11 @@ Example:
164175
compatible = "actions,s900-pinctrl";
165176
reg = <0x0 0xe01b0000 0x0 0x1000>;
166177
clocks = <&cmu CLK_GPIO>;
178+
gpio-controller;
179+
gpio-ranges = <&pinctrl 0 0 146>;
180+
#gpio-cells = <2>;
181+
interrupt-controller;
182+
#interrupt-cells = <2>;
167183

168184
uart2-default: uart2-default {
169185
pinmux {

Documentation/devicetree/bindings/pinctrl/allwinner,sunxi-pinctrl.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ Required properties:
2828
"allwinner,sun50i-a64-r-pinctrl"
2929
"allwinner,sun50i-h5-pinctrl"
3030
"allwinner,sun50i-h6-pinctrl"
31+
"allwinner,sun50i-h6-r-pinctrl"
3132
"nextthing,gr8-pinctrl"
3233

3334
- reg: Should contain the register physical address and length for the

Documentation/devicetree/bindings/pinctrl/brcm,bcm2835-gpio.txt

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,24 @@ listed. In other words, a subnode that lists only a mux function implies no
3636
information about any pull configuration. Similarly, a subnode that lists only
3737
a pul parameter implies no information about the mux function.
3838

39+
The BCM2835 pin configuration and multiplexing supports the generic bindings.
40+
For details on each properties, you can refer to ./pinctrl-bindings.txt.
41+
42+
Required sub-node properties:
43+
- pins
44+
- function
45+
46+
Optional sub-node properties:
47+
- bias-disable
48+
- bias-pull-up
49+
- bias-pull-down
50+
- output-high
51+
- output-low
52+
53+
Legacy pin configuration and multiplexing binding:
54+
*** (Its use is deprecated, use generic multiplexing and configuration
55+
bindings instead)
56+
3957
Required subnode-properties:
4058
- brcm,pins: An array of cells. Each cell contains the ID of a pin. Valid IDs
4159
are the integer GPIO IDs; 0==GPIO0, 1==GPIO1, ... 53==GPIO53.

Documentation/devicetree/bindings/pinctrl/meson,pinctrl.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,10 @@
33
Required properties for the root node:
44
- compatible: one of "amlogic,meson8-cbus-pinctrl"
55
"amlogic,meson8b-cbus-pinctrl"
6+
"amlogic,meson8m2-cbus-pinctrl"
67
"amlogic,meson8-aobus-pinctrl"
78
"amlogic,meson8b-aobus-pinctrl"
9+
"amlogic,meson8m2-aobus-pinctrl"
810
"amlogic,meson-gxbb-periphs-pinctrl"
911
"amlogic,meson-gxbb-aobus-pinctrl"
1012
"amlogic,meson-gxl-periphs-pinctrl"

Documentation/devicetree/bindings/pinctrl/pinctrl-mcp23s08.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,9 @@ Required properties:
1818
removed.
1919
- #gpio-cells : Should be two.
2020
- first cell is the pin number
21-
- second cell is used to specify flags. Flags are currently unused.
21+
- second cell is used to specify flags as described in
22+
'Documentation/devicetree/bindings/gpio/gpio.txt'. Allowed values defined by
23+
'include/dt-bindings/gpio/gpio.h' (e.g. GPIO_ACTIVE_LOW).
2224
- gpio-controller : Marks the device node as a GPIO controller.
2325
- reg : For an address on its bus. I2C uses this a the I2C address of the chip.
2426
SPI uses this to specify the chipselect line which the chip is

Documentation/devicetree/bindings/pinctrl/pinctrl-mt7622.txt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,16 @@ Required properties for the root node:
99
- #gpio-cells: Should be two. The first cell is the pin number and the
1010
second is the GPIO flags.
1111

12+
Optional properties:
13+
- interrupt-controller : Marks the device node as an interrupt controller
14+
15+
If the property interrupt-controller is defined, following property is required
16+
- reg-names: A string describing the "reg" entries. Must contain "eint".
17+
- interrupts : The interrupt output from the controller.
18+
- #interrupt-cells: Should be two.
19+
- interrupt-parent: Phandle of the interrupt parent to which the external
20+
GPIO interrupts are forwarded to.
21+
1222
Please refer to pinctrl-bindings.txt in this directory for details of the
1323
common pinctrl bindings used by client devices, including the meaning of the
1424
phrase "pin configuration node".

Documentation/devicetree/bindings/pinctrl/renesas,pfc-pinctrl.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ Required Properties:
1515
- "renesas,pfc-r8a7740": for R8A7740 (R-Mobile A1) compatible pin-controller.
1616
- "renesas,pfc-r8a7743": for R8A7743 (RZ/G1M) compatible pin-controller.
1717
- "renesas,pfc-r8a7745": for R8A7745 (RZ/G1E) compatible pin-controller.
18+
- "renesas,pfc-r8a77470": for R8A77470 (RZ/G1C) compatible pin-controller.
1819
- "renesas,pfc-r8a7778": for R8A7778 (R-Car M1) compatible pin-controller.
1920
- "renesas,pfc-r8a7779": for R8A7779 (R-Car H1) compatible pin-controller.
2021
- "renesas,pfc-r8a7790": for R8A7790 (R-Car H2) compatible pin-controller.
@@ -27,6 +28,7 @@ Required Properties:
2728
- "renesas,pfc-r8a77965": for R8A77965 (R-Car M3-N) compatible pin-controller.
2829
- "renesas,pfc-r8a77970": for R8A77970 (R-Car V3M) compatible pin-controller.
2930
- "renesas,pfc-r8a77980": for R8A77980 (R-Car V3H) compatible pin-controller.
31+
- "renesas,pfc-r8a77990": for R8A77990 (R-Car E3) compatible pin-controller.
3032
- "renesas,pfc-r8a77995": for R8A77995 (R-Car D3) compatible pin-controller.
3133
- "renesas,pfc-sh73a0": for SH73A0 (SH-Mobile AG5) compatible pin-controller.
3234

Documentation/devicetree/bindings/pinctrl/rockchip,pinctrl.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ defined as gpio sub-nodes of the pinmux controller.
2020

2121
Required properties for iomux controller:
2222
- compatible: should be
23+
"rockchip,px30-pinctrl": for Rockchip PX30
2324
"rockchip,rv1108-pinctrl": for Rockchip RV1108
2425
"rockchip,rk2928-pinctrl": for Rockchip RK2928
2526
"rockchip,rk3066a-pinctrl": for Rockchip RK3066a

MAINTAINERS

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1135,10 +1135,12 @@ F: arch/arm/mach-actions/
11351135
F: arch/arm/boot/dts/owl-*
11361136
F: arch/arm64/boot/dts/actions/
11371137
F: drivers/clocksource/owl-*
1138+
F: drivers/pinctrl/actions/*
11381139
F: drivers/soc/actions/
11391140
F: include/dt-bindings/power/owl-*
11401141
F: include/linux/soc/actions/
11411142
F: Documentation/devicetree/bindings/arm/actions.txt
1143+
F: Documentation/devicetree/bindings/pinctrl/actions,s900-pinctrl.txt
11421144
F: Documentation/devicetree/bindings/power/actions,owl-sps.txt
11431145
F: Documentation/devicetree/bindings/timer/actions,owl-timer.txt
11441146

@@ -11225,6 +11227,7 @@ L: [email protected] (moderated for non-subscribers)
1122511227
S: Maintained
1122611228
F: Documentation/devicetree/bindings/pinctrl/pinctrl-mt65xx.txt
1122711229
F: Documentation/devicetree/bindings/pinctrl/pinctrl-mt7622.txt
11230+
F: drivers/pinctrl/mediatek/mtk-eint.*
1122811231
F: drivers/pinctrl/mediatek/pinctrl-mtk-common.*
1122911232
F: drivers/pinctrl/mediatek/pinctrl-mt2701.c
1123011233
F: drivers/pinctrl/mediatek/pinctrl-mt7622.c

drivers/gpio/gpiolib.c

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2078,6 +2078,11 @@ EXPORT_SYMBOL_GPL(gpiochip_generic_config);
20782078
* @pctldev: the pin controller to map to
20792079
* @gpio_offset: the start offset in the current gpio_chip number space
20802080
* @pin_group: name of the pin group inside the pin controller
2081+
*
2082+
* Calling this function directly from a DeviceTree-supported
2083+
* pinctrl driver is DEPRECATED. Please see Section 2.1 of
2084+
* Documentation/devicetree/bindings/gpio/gpio.txt on how to
2085+
* bind pinctrl and gpio drivers via the "gpio-ranges" property.
20812086
*/
20822087
int gpiochip_add_pingroup_range(struct gpio_chip *chip,
20832088
struct pinctrl_dev *pctldev,
@@ -2131,6 +2136,11 @@ EXPORT_SYMBOL_GPL(gpiochip_add_pingroup_range);
21312136
*
21322137
* Returns:
21332138
* 0 on success, or a negative error-code on failure.
2139+
*
2140+
* Calling this function directly from a DeviceTree-supported
2141+
* pinctrl driver is DEPRECATED. Please see Section 2.1 of
2142+
* Documentation/devicetree/bindings/gpio/gpio.txt on how to
2143+
* bind pinctrl and gpio drivers via the "gpio-ranges" property.
21342144
*/
21352145
int gpiochip_add_pin_range(struct gpio_chip *chip, const char *pinctl_name,
21362146
unsigned int gpio_offset, unsigned int pin_offset,

drivers/pinctrl/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -337,6 +337,7 @@ config PINCTRL_OCELOT
337337
select GENERIC_PINMUX_FUNCTIONS
338338
select REGMAP_MMIO
339339

340+
source "drivers/pinctrl/actions/Kconfig"
340341
source "drivers/pinctrl/aspeed/Kconfig"
341342
source "drivers/pinctrl/bcm/Kconfig"
342343
source "drivers/pinctrl/berlin/Kconfig"

drivers/pinctrl/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ obj-$(CONFIG_PINCTRL_INGENIC) += pinctrl-ingenic.o
4343
obj-$(CONFIG_PINCTRL_RK805) += pinctrl-rk805.o
4444
obj-$(CONFIG_PINCTRL_OCELOT) += pinctrl-ocelot.o
4545

46+
obj-y += actions/
4647
obj-$(CONFIG_ARCH_ASPEED) += aspeed/
4748
obj-y += bcm/
4849
obj-$(CONFIG_PINCTRL_BERLIN) += berlin/

drivers/pinctrl/actions/Kconfig

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
config PINCTRL_OWL
2+
bool "Actions Semi OWL pinctrl driver"
3+
depends on (ARCH_ACTIONS || COMPILE_TEST) && OF
4+
select PINMUX
5+
select PINCONF
6+
select GENERIC_PINCONF
7+
select GPIOLIB
8+
help
9+
Say Y here to enable Actions Semi OWL pinctrl driver
10+
11+
config PINCTRL_S900
12+
bool "Actions Semi S900 pinctrl driver"
13+
depends on PINCTRL_OWL
14+
help
15+
Say Y here to enable Actions Semi S900 pinctrl driver

drivers/pinctrl/actions/Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
obj-$(CONFIG_PINCTRL_OWL) += pinctrl-owl.o
2+
obj-$(CONFIG_PINCTRL_S900) += pinctrl-s900.o

0 commit comments

Comments
 (0)