Skip to content

Commit 46a1daa

Browse files
committed
Merge tag 'pinctrl-v7.0-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl
Pull pin control updates from Linus Walleij: "Core changes: - Drop the unused devm_pinctrl_unregister() function - Move pretended generic pin control functionality out of the core and into the Amlogic AM4 driver. We have something better coming (hopefully) New hardware support: - Spacemit K3 (RISC-V) pin control support - Atmel AT91 PIO4 (ARM32) SAMA7D65 pin control support - Exynos9610 (ARM64) pin control support - Qualcomm Mahua TLMM (ARM64) pin control support - Microchip Polarfire MSSIO (RISC-V) pin control support - Ocelot LAN9645XF (multiplatform) pin control support Improvements: - Using a few more guards for locking - Various nonurgent fixes and tweaks" * tag 'pinctrl-v7.0-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (73 commits) pinctrl: generic: move function to amlogic-am4 driver pinctrl: intel: Align Copyright note with corporate guidelines pinctrl: mediatek: remove unused drv_offset field pinctrl: canaan: k230: Fix NULL pointer dereference when parsing devicetree pinctrl: single: fix refcount leak in pcs_add_gpio_func() pinctrl: meson: amlogic-a4: Fix device node reference leak in bank helpers pinctrl: qcom: sm8250-lpass-lpi: Fix i2s2_data_groups definition pinctrl: core: Remove duplicate error messages pinctrl: core: Simplify devm_pinctrl_*() pinctrl: core: Remove unused devm_pinctrl_unregister() dt-bindings: pinctrl: spacemit: fix drive-strength check warning pinctrl: fix kismet issues with GENERIC_PINCTRL pinctrl: tangier: Join tng_pinctrl_probe() into its wrapper pinctrl: tangier: Remove duplicate error messages pinctrl: lynxpoint: Remove duplicate error messages pinctrl: cherryview: Remove duplicate error messages pinctrl: baytrail: Remove duplicate error messages pinctrl: intel: Remove duplicate error messages pinctrl: equilibrium: Fix device node reference leak in pinbank_init() dt-bindings: pinctrl: pinctrl-microchip-sgpio: add LAN969x ...
2 parents 6086f34 + 9c5a40f commit 46a1daa

93 files changed

Lines changed: 2671 additions & 497 deletions

File tree

Some content is hidden

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

Documentation/devicetree/bindings/pinctrl/allwinner,sun4i-a10-pinctrl.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ patternProperties:
106106
# the pin numbers then,
107107
# - Finally, the name will end with either -pin or pins.
108108

109-
"^([rs]-)?(([a-z0-9]{3,}|[a-oq-z][a-z0-9]*?)?-)+?(p[a-ilm][0-9]*?-)??pins?$":
109+
"^([rs]-)?(([a-z0-9]{3,}|[a-oq-z0-9][a-z0-9]*?)?-)+?(p[a-ilm][0-9]*?-)??pins?$":
110110
type: object
111111

112112
properties:

Documentation/devicetree/bindings/pinctrl/intel,pinctrl-keembay.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ properties:
3333
interrupts:
3434
description:
3535
Specifies the interrupt lines to be used by the controller.
36-
Each interrupt line is shared by upto 4 GPIO lines.
36+
Each interrupt line is shared by up to 4 GPIO lines.
3737
maxItems: 8
3838

3939
interrupt-controller: true
Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/pinctrl/microchip,mpfs-pinctrl-mssio.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Microchip Polarfire SoC MSSIO pinctrl
8+
9+
maintainers:
10+
- Conor Dooley <conor.dooley@microchip.com>
11+
12+
properties:
13+
compatible:
14+
oneOf:
15+
- const: microchip,mpfs-pinctrl-mssio
16+
- items:
17+
- const: microchip,pic64gx-pinctrl-mssio
18+
- const: microchip,mpfs-pinctrl-mssio
19+
20+
reg:
21+
maxItems: 1
22+
23+
pinctrl-use-default: true
24+
25+
patternProperties:
26+
'-cfg$':
27+
type: object
28+
additionalProperties: false
29+
30+
patternProperties:
31+
'-pins$':
32+
type: object
33+
additionalProperties: false
34+
35+
allOf:
36+
- $ref: pincfg-node.yaml#
37+
- $ref: pinmux-node.yaml#
38+
39+
properties:
40+
pins:
41+
description:
42+
The list of IOs that properties in the pincfg node apply to.
43+
44+
function:
45+
description:
46+
A string containing the name of the function to mux for these
47+
pins. The "reserved" function tristates a pin.
48+
enum: [ sd, emmc, qspi, spi, usb, uart, i2c, can, mdio, misc
49+
reserved, gpio, fabric-test, tied-low, tied-high, tristate ]
50+
51+
bias-bus-hold: true
52+
bias-disable: true
53+
bias-pull-down: true
54+
bias-pull-up: true
55+
input-schmitt-enable: true
56+
low-power-enable: true
57+
58+
drive-strength:
59+
enum: [ 2, 4, 6, 8, 10, 12, 16, 20 ]
60+
61+
power-source:
62+
description:
63+
Which bank voltage to use. This cannot differ for pins in a
64+
given bank, the whole bank uses the same voltage.
65+
enum: [ 1200000, 1500000, 1800000, 2500000, 3300000 ]
66+
67+
microchip,clamp-diode:
68+
$ref: /schemas/types.yaml#/definitions/flag
69+
description:
70+
Reflects the "Clamp Diode" setting in the MSS Configurator for
71+
this pin. This setting controls whether or not input voltage
72+
clamping should be enabled.
73+
74+
microchip,ibufmd:
75+
$ref: /schemas/types.yaml#/definitions/uint32
76+
default: 0
77+
description:
78+
Reflects the "IBUFMD" bits in the MSS Configurator output files
79+
for this pin.
80+
81+
required:
82+
- pins
83+
- function
84+
- power-source
85+
86+
required:
87+
- compatible
88+
- reg
89+
90+
additionalProperties: false
91+
92+
examples:
93+
- |
94+
pinctrl@204 {
95+
compatible = "microchip,mpfs-pinctrl-mssio";
96+
reg = <0x204 0x7c>;
97+
98+
ikrd-spi1-cfg {
99+
spi1-pins {
100+
pins = <30>, <31>, <32>, <33>;
101+
function = "spi";
102+
bias-pull-up;
103+
drive-strength = <8>;
104+
power-source = <3300000>;
105+
microchip,ibufmd = <0x1>;
106+
};
107+
};
108+
};
109+
...

Documentation/devicetree/bindings/pinctrl/microchip,sparx5-sgpio.yaml

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,15 @@ properties:
2121
pattern: '^gpio@[0-9a-f]+$'
2222

2323
compatible:
24-
enum:
25-
- microchip,sparx5-sgpio
26-
- mscc,ocelot-sgpio
27-
- mscc,luton-sgpio
24+
oneOf:
25+
- enum:
26+
- microchip,sparx5-sgpio
27+
- mscc,ocelot-sgpio
28+
- mscc,luton-sgpio
29+
- items:
30+
- enum:
31+
- microchip,lan9691-sgpio
32+
- const: microchip,sparx5-sgpio
2833

2934
'#address-cells':
3035
const: 1
@@ -80,7 +85,12 @@ patternProperties:
8085
type: object
8186
properties:
8287
compatible:
83-
const: microchip,sparx5-sgpio-bank
88+
oneOf:
89+
- items:
90+
- enum:
91+
- microchip,lan9691-sgpio-bank
92+
- const: microchip,sparx5-sgpio-bank
93+
- const: microchip,sparx5-sgpio-bank
8494

8595
reg:
8696
description: |

Documentation/devicetree/bindings/pinctrl/mscc,ocelot-pinctrl.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ properties:
1414
compatible:
1515
oneOf:
1616
- enum:
17+
- microchip,lan96455f-pinctrl
1718
- microchip,lan966x-pinctrl
1819
- microchip,lan9691-pinctrl
1920
- microchip,sparx5-pinctrl
@@ -30,6 +31,11 @@ properties:
3031
- microchip,lan9693-pinctrl
3132
- microchip,lan9692-pinctrl
3233
- const: microchip,lan9691-pinctrl
34+
- items:
35+
- enum:
36+
- microchip,lan96457f-pinctrl
37+
- microchip,lan96459f-pinctrl
38+
- const: microchip,lan96455f-pinctrl
3339

3440
reg:
3541
items:

Documentation/devicetree/bindings/pinctrl/qcom,glymur-tlmm.yaml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,16 @@ maintainers:
1010
- Bjorn Andersson <bjorn.andersson@oss.qualcomm.com>
1111

1212
description:
13-
Top Level Mode Multiplexer pin controller in Qualcomm Glymur SoC.
13+
Top Level Mode Multiplexer pin controller in Qualcomm Glymur and Mahua SoC.
1414

1515
allOf:
1616
- $ref: /schemas/pinctrl/qcom,tlmm-common.yaml#
1717

1818
properties:
1919
compatible:
20-
const: qcom,glymur-tlmm
20+
enum:
21+
- qcom,glymur-tlmm
22+
- qcom,mahua-tlmm
2123

2224
reg:
2325
maxItems: 1

Documentation/devicetree/bindings/pinctrl/renesas,r9a09g077-pinctrl.yaml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,17 @@ properties:
4949
gpio-ranges:
5050
maxItems: 1
5151

52+
interrupt-controller: true
53+
54+
'#interrupt-cells':
55+
const: 2
56+
description:
57+
The first cell contains the global GPIO port index, constructed using the
58+
RZT2H_GPIO() helper macro from <dt-bindings/pinctrl/renesas,r9a09g077-pinctrl.h>
59+
and the second cell is used to specify the flag.
60+
E.g. "interrupts = <RZT2H_GPIO(8, 6) IRQ_TYPE_EDGE_FALLING>;" if P08_6 is
61+
being used as an interrupt.
62+
5263
clocks:
5364
maxItems: 1
5465

@@ -139,6 +150,8 @@ examples:
139150
gpio-controller;
140151
#gpio-cells = <2>;
141152
gpio-ranges = <&pinctrl 0 0 288>;
153+
interrupt-controller;
154+
#interrupt-cells = <2>;
142155
power-domains = <&cpg>;
143156
144157
serial0-pins {

Documentation/devicetree/bindings/pinctrl/samsung,pinctrl-wakeup-interrupt.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ properties:
4848
- enum:
4949
- google,gs101-wakeup-eint
5050
- samsung,exynos2200-wakeup-eint
51+
- samsung,exynos9610-wakeup-eint
5152
- samsung,exynos9810-wakeup-eint
5253
- samsung,exynos990-wakeup-eint
5354
- samsung,exynosautov9-wakeup-eint

Documentation/devicetree/bindings/pinctrl/samsung,pinctrl.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ properties:
5555
- samsung,exynos850-pinctrl
5656
- samsung,exynos8890-pinctrl
5757
- samsung,exynos8895-pinctrl
58+
- samsung,exynos9610-pinctrl
5859
- samsung,exynos9810-pinctrl
5960
- samsung,exynos990-pinctrl
6061
- samsung,exynosautov9-pinctrl

Documentation/devicetree/bindings/pinctrl/spacemit,k1-pinctrl.yaml

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,9 @@ maintainers:
1111

1212
properties:
1313
compatible:
14-
const: spacemit,k1-pinctrl
14+
enum:
15+
- spacemit,k1-pinctrl
16+
- spacemit,k3-pinctrl
1517

1618
reg:
1719
items:
@@ -30,6 +32,10 @@ properties:
3032
resets:
3133
maxItems: 1
3234

35+
spacemit,apbc:
36+
$ref: /schemas/types.yaml#/definitions/phandle
37+
description: Phandle to syscon that access the protected register
38+
3339
patternProperties:
3440
'-cfg$':
3541
type: object
@@ -72,10 +78,20 @@ patternProperties:
7278
enum: [ 0, 1 ]
7379

7480
drive-strength:
75-
description: |
76-
typical current when output high level.
77-
1.8V output: 11, 21, 32, 42 (mA)
78-
3.3V output: 7, 10, 13, 16, 19, 23, 26, 29 (mA)
81+
description:
82+
typical current (in mA) when the output at high level.
83+
anyOf:
84+
- enum: [ 11, 21, 32, 42 ]
85+
description: For K1 SoC, 1.8V voltage output
86+
87+
- enum: [ 7, 10, 13, 16, 19, 23, 26, 29 ]
88+
description: For K1 SoC, 3.3V voltage output
89+
90+
- enum: [ 2, 4, 6, 7, 9, 11, 13, 14, 21, 23, 25, 26, 28, 30, 31, 33 ]
91+
description: For K3 SoC, 1.8V voltage output
92+
93+
- enum: [ 3, 5, 7, 9, 11, 13, 15, 17, 25, 27, 29, 31, 33, 35, 37, 38 ]
94+
description: For K3 SoC, 3.3V voltage output
7995

8096
input-schmitt:
8197
description: |
@@ -126,6 +142,7 @@ examples:
126142
clocks = <&syscon_apbc 42>,
127143
<&syscon_apbc 94>;
128144
clock-names = "func", "bus";
145+
spacemit,apbc = <&syscon_apbc>;
129146
130147
uart0_2_cfg: uart0-2-cfg {
131148
uart0-2-pins {

0 commit comments

Comments
 (0)