Skip to content

Commit 9420f1c

Browse files
committed
Merge tag 'pinctrl-v5.9-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 the pin control changes for the v5.9 kernel series: Core changes: - The GPIO patch "gpiolib: Introduce for_each_requested_gpio_in_range() macro" was put in an immutable branch and merged into the pinctrl tree as well. We see these changes also here. - Improved debug output for pins used as GPIO. New drivers: - Ocelot Sparx5 SoC driver. - Intel Emmitsburg SoC subdriver. - Intel Tiger Lake-H SoC subdriver. - Qualcomm PM660 SoC subdriver. - Renesas SH-PFC R8A774E1 subdriver. Driver improvements: - Linear improvement and cleanups of the Intel drivers for Cherryview, Lynxpoint, Baytrail etc. Improved locking among other things. - Renesas SH-PFC has added support for RPC pins, groups, and functions to r8a77970 and r8a77980. - The newere Freescale (now NXP) i.MX8 pin controllers have been modularized. This is driven by the Google Android GKI initiative I think. - Open drain support for pins on the Qualcomm IPQ4019. - The Ingenic driver can handle both edges IRQ detection. - A big slew of documentation fixes all over the place. - A few irqchip template conversions by yours truly. * tag 'pinctrl-v5.9-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (107 commits) dt-bindings: pinctrl: add bindings for MediaTek MT6779 SoC pinctrl: stmfx: Use irqchip template pinctrl: amd: Use irqchip template pinctrl: mediatek: fix build for tristate changes pinctrl: samsung: Use bank name as irqchip name pinctrl: core: print gpio in pins debugfs file pinctrl: mediatek: add mt6779 eint support pinctrl: mediatek: add pinctrl support for MT6779 SoC pinctrl: mediatek: avoid virtual gpio trying to set reg pinctrl: mediatek: update pinmux definitions for mt6779 pinctrl: stm32: use the hwspin_lock_timeout_in_atomic() API pinctrl: mcp23s08: Use irqchip template pinctrl: sx150x: Use irqchip template dt-bindings: ingenic,pinctrl: Support pinmux/pinconf nodes pinctrl: intel: Add Intel Emmitsburg pin controller support pinctl: ti: iodelay: Replace HTTP links with HTTPS ones Revert "gpio: omap: handle pin config bias flags" pinctrl: single: Use fallthrough pseudo-keyword pinctrl: qcom: spmi-gpio: Use fallthrough pseudo-keyword pinctrl: baytrail: Use fallthrough pseudo-keyword ...
2 parents dec1fbb + 7ee193e commit 9420f1c

File tree

86 files changed

+7293
-1188
lines changed

Some content is hidden

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

86 files changed

+7293
-1188
lines changed

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

Lines changed: 0 additions & 81 deletions
This file was deleted.
Lines changed: 176 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,176 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/pinctrl/ingenic,pinctrl.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Ingenic SoCs pin controller devicetree bindings
8+
9+
description: >
10+
Please refer to pinctrl-bindings.txt in this directory for details of the
11+
common pinctrl bindings used by client devices, including the meaning of the
12+
phrase "pin configuration node".
13+
14+
For the Ingenic SoCs, pin control is tightly bound with GPIO ports. All pins
15+
may be used as GPIOs, multiplexed device functions are configured within the
16+
GPIO port configuration registers and it is typical to refer to pins using the
17+
naming scheme "PxN" where x is a character identifying the GPIO port with
18+
which the pin is associated and N is an integer from 0 to 31 identifying the
19+
pin within that GPIO port. For example PA0 is the first pin in GPIO port A,
20+
and PB31 is the last pin in GPIO port B. The JZ4740, the X1000 and the X1830
21+
contains 4 GPIO ports, PA to PD, for a total of 128 pins. The JZ4760, the
22+
JZ4770 and the JZ4780 contains 6 GPIO ports, PA to PF, for a total of 192
23+
pins.
24+
25+
maintainers:
26+
- Paul Cercueil <[email protected]>
27+
28+
properties:
29+
nodename:
30+
pattern: "^pinctrl@[0-9a-f]+$"
31+
32+
compatible:
33+
oneOf:
34+
- enum:
35+
- ingenic,jz4740-pinctrl
36+
- ingenic,jz4725b-pinctrl
37+
- ingenic,jz4760-pinctrl
38+
- ingenic,jz4770-pinctrl
39+
- ingenic,jz4780-pinctrl
40+
- ingenic,x1000-pinctrl
41+
- ingenic,x1500-pinctrl
42+
- ingenic,x1830-pinctrl
43+
- items:
44+
- const: ingenic,jz4760b-pinctrl
45+
- const: ingenic,jz4760-pinctrl
46+
- items:
47+
- const: ingenic,x1000e-pinctrl
48+
- const: ingenic,x1000-pinctrl
49+
50+
reg:
51+
maxItems: 1
52+
53+
"#address-cells":
54+
const: 1
55+
56+
"#size-cells":
57+
const: 0
58+
59+
patternProperties:
60+
"^gpio@[0-9]$":
61+
type: object
62+
properties:
63+
compatible:
64+
enum:
65+
- ingenic,jz4740-gpio
66+
- ingenic,jz4725b-gpio
67+
- ingenic,jz4760-gpio
68+
- ingenic,jz4770-gpio
69+
- ingenic,jz4780-gpio
70+
- ingenic,x1000-gpio
71+
- ingenic,x1500-gpio
72+
- ingenic,x1830-gpio
73+
74+
reg:
75+
items:
76+
- description: The GPIO bank number
77+
78+
gpio-controller: true
79+
80+
"#gpio-cells":
81+
const: 2
82+
83+
gpio-ranges:
84+
maxItems: 1
85+
86+
interrupt-controller: true
87+
88+
"#interrupt-cells":
89+
const: 2
90+
description:
91+
Refer to ../interrupt-controller/interrupts.txt for more details.
92+
93+
interrupts:
94+
maxItems: 1
95+
96+
required:
97+
- compatible
98+
- reg
99+
- gpio-controller
100+
- "#gpio-cells"
101+
- interrupts
102+
- interrupt-controller
103+
- "#interrupt-cells"
104+
105+
additionalProperties: false
106+
107+
required:
108+
- compatible
109+
- reg
110+
- "#address-cells"
111+
- "#size-cells"
112+
113+
additionalProperties:
114+
anyOf:
115+
- type: object
116+
allOf:
117+
- $ref: pincfg-node.yaml#
118+
- $ref: pinmux-node.yaml#
119+
120+
properties:
121+
phandle: true
122+
function: true
123+
groups: true
124+
pins: true
125+
bias-disable: true
126+
bias-pull-up: true
127+
bias-pull-down: true
128+
output-low: true
129+
output-high: true
130+
additionalProperties: false
131+
132+
- type: object
133+
properties:
134+
phandle: true
135+
additionalProperties:
136+
type: object
137+
allOf:
138+
- $ref: pincfg-node.yaml#
139+
- $ref: pinmux-node.yaml#
140+
141+
properties:
142+
phandle: true
143+
function: true
144+
groups: true
145+
pins: true
146+
bias-disable: true
147+
bias-pull-up: true
148+
bias-pull-down: true
149+
output-low: true
150+
output-high: true
151+
additionalProperties: false
152+
153+
examples:
154+
- |
155+
pin-controller@10010000 {
156+
compatible = "ingenic,jz4770-pinctrl";
157+
reg = <0x10010000 0x600>;
158+
159+
#address-cells = <1>;
160+
#size-cells = <0>;
161+
162+
gpio@0 {
163+
compatible = "ingenic,jz4770-gpio";
164+
reg = <0>;
165+
166+
gpio-controller;
167+
gpio-ranges = <&pinctrl 0 0 32>;
168+
#gpio-cells = <2>;
169+
170+
interrupt-controller;
171+
#interrupt-cells = <2>;
172+
173+
interrupt-parent = <&intc>;
174+
interrupts = <17>;
175+
};
176+
};

0 commit comments

Comments
 (0)