Skip to content

Commit 361c89a

Browse files
committed
Merge tag 'pinctrl-v6.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl
Pull pin control updates from Linus Walleij: "The two large chunks is the header clean-up from Andy and the Qualcomm DT bindings clean-up from Krzysztof. Each which could give rise to conflicts, but I haven't seen any. The YAML conversions happening around the device tree is the biggest item in the series and is the result of Rob Herrings ambition to autovalidate these trees against strict schemas and it is paying off in lots of bugs found and ever prettier device trees. Sooner or later the transition will be complete, Krzysztof is fixing up all of the Qualcomm stuff, which is pretty voluminous. Core changes: - minor but nice and important documentation clean-ups New drivers: - subdriver for the Qualcomm SDM670 SoC - subdriver for the Intel Moorefield SoC - trivial support for the NXP Freescale i.MXRT1170 SoC Other changes and improvements - major clean-up of the Qualcomm pin control device tree bindings by Krzysztof - major header clean-up by Andy - some immutable irqchip clean-up for the Actions Semiconductor and Nuvoton drivers - GPIO helpers for The Cypress cy8c95x0 driver - bias handling in the Mediatek MT7986 driver - remove the unused pins-are-numbered concept that never flew" * tag 'pinctrl-v6.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (231 commits) pinctrl: thunderbay: fix possible memory leak in thunderbay_build_functions() dt-bindings: pinctrl: st,stm32: Deprecate pins-are-numbered dt-bindings: pinctrl: mediatek,mt65xx: Deprecate pins-are-numbered pinctrl: stm32: Remove check for pins-are-numbered pinctrl: mediatek: common: Remove check for pins-are-numbered pinctrl: qcom: remove duplicate included header files pinctrl: sunxi: d1: Add CAN bus pinmuxes pinctrl: loongson2: Fix some const correctness pinctrl: pinconf-generic: add missing of_node_put() pinctrl: intel: Enumerate PWM device when community has a capability pwm: lpss: Rename pwm_lpss_probe() --> devm_pwm_lpss_probe() pwm: lpss: Allow other drivers to enable PWM LPSS pwm: lpss: Include headers we are the direct user of pwm: lpss: Rename MAX_PWMS --> LPSS_MAX_PWMS pwm: Add a stub for devm_pwmchip_add() pinctrl: k210: call of_node_put() pinctrl: starfive: Use existing variable gpio dt-bindings: pinctrl: semtech,sx150xq: fix match patterns for 16 GPIOs matching pinconf-generic: fix style issues in pin_config_param doc pinctrl: pinctrl-loongson2: fix Kconfig dependency ...
2 parents d0f3ad2 + 83e1bca commit 361c89a

File tree

201 files changed

+7899
-4770
lines changed

Some content is hidden

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

201 files changed

+7899
-4770
lines changed

Documentation/devicetree/bindings/arm/fsl.yaml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1070,6 +1070,18 @@ properties:
10701070
- fsl,imx93-11x11-evk # i.MX93 11x11 EVK Board
10711071
- const: fsl,imx93
10721072

1073+
- description: i.MXRT1050 based Boards
1074+
items:
1075+
- enum:
1076+
- fsl,imxrt1050-evk # i.MXRT1050 EVK Board
1077+
- const: fsl,imxrt1050
1078+
1079+
- description: i.MXRT1170 based Boards
1080+
items:
1081+
- enum:
1082+
- fsl,imxrt1170-evk # i.MXRT1170 EVK Board
1083+
- const: fsl,imxrt1170
1084+
10731085
- description:
10741086
Freescale Vybrid Platform Device Tree Bindings
10751087

Documentation/devicetree/bindings/mmc/fsl-imx-esdhc.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,10 @@ properties:
7575
- const: fsl,imx8qxp-usdhc
7676
- const: fsl,imx7d-usdhc
7777
deprecated: true
78+
- items:
79+
- enum:
80+
- fsl,imxrt1170-usdhc
81+
- const: fsl,imxrt1050-usdhc
7882

7983
reg:
8084
maxItems: 1

Documentation/devicetree/bindings/pinctrl/fsl,imxrt1050.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ patternProperties:
3535
each entry consists of 6 integers and represents the mux and config
3636
setting for one pin. The first 5 integers <mux_reg conf_reg input_reg
3737
mux_val input_val> are specified using a PIN_FUNC_ID macro, which can
38-
be found in <include/dt-bindings/pinctrl/pins-imxrt1050.h>. The last
38+
be found in <arch/arm/boot/dts/imxrt1050-pinfunc.h>. The last
3939
integer CONFIG is the pad setting value like pull-up on this pin. Please
4040
refer to i.MXRT1050 Reference Manual for detailed CONFIG settings.
4141
$ref: /schemas/types.yaml#/definitions/uint32-matrix
Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/pinctrl/loongson,ls2k-pinctrl.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Loongson-2 SoC Pinctrl Controller
8+
9+
maintainers:
10+
- zhanghongchen <[email protected]>
11+
- Yinbo Zhu <[email protected]>
12+
13+
allOf:
14+
- $ref: pinctrl.yaml#
15+
16+
properties:
17+
compatible:
18+
const: loongson,ls2k-pinctrl
19+
20+
reg:
21+
maxItems: 1
22+
23+
patternProperties:
24+
'-pins$':
25+
type: object
26+
27+
additionalProperties: false
28+
29+
patternProperties:
30+
'pinmux$':
31+
type: object
32+
description: node for pinctrl.
33+
$ref: pinmux-node.yaml#
34+
35+
unevaluatedProperties: false
36+
37+
properties:
38+
groups:
39+
description:
40+
One or more groups of pins to mux to a certain function
41+
items:
42+
enum: [gpio, sdio, can1, can0, pwm3, pwm2, pwm1, pwm0, i2c1, i2c0,
43+
nand, sata_led, i2s, hda]
44+
function:
45+
description:
46+
The function that a group of pins is muxed to
47+
enum: [gpio, sdio, can1, can0, pwm3, pwm2, pwm1, pwm0, i2c1, i2c0,
48+
nand, sata_led, i2s, hda]
49+
50+
required:
51+
- groups
52+
- function
53+
54+
required:
55+
- compatible
56+
- reg
57+
58+
additionalProperties: false
59+
60+
examples:
61+
- |
62+
pctrl: pinctrl@1fe00420 {
63+
compatible = "loongson,ls2k-pinctrl";
64+
reg = <0x1fe00420 0x18>;
65+
sdio_pins_default: sdio-pins {
66+
sdio-pinmux {
67+
groups = "sdio";
68+
function = "sdio";
69+
};
70+
71+
sdio-det-pinmux {
72+
groups = "pwm2";
73+
function = "gpio";
74+
};
75+
};
76+
77+
pwm1_pins_default: pwm1-pins {
78+
pinmux {
79+
groups = "pwm1";
80+
function = "pwm1";
81+
};
82+
};
83+
84+
pwm0_pins_default: pwm0-pins {
85+
pinmux {
86+
groups = "pwm0";
87+
function = "pwm0";
88+
};
89+
};
90+
91+
i2c1_pins_default: i2c1-pins {
92+
pinmux {
93+
groups = "i2c1";
94+
function = "i2c1";
95+
};
96+
};
97+
98+
i2c0_pins_default: i2c0-pins {
99+
pinmux {
100+
groups = "i2c0";
101+
function = "i2c0";
102+
};
103+
};
104+
105+
nand_pins_default: nand-pins {
106+
pinmux {
107+
groups = "nand";
108+
function = "nand";
109+
};
110+
};
111+
112+
hda_pins_default: hda-pins {
113+
grp0-pinmux {
114+
groups = "hda";
115+
function = "hda";
116+
};
117+
118+
grp1-pinmux {
119+
groups = "i2s";
120+
function = "gpio";
121+
};
122+
};
123+
};

Documentation/devicetree/bindings/pinctrl/mediatek,mt65xx-pinctrl.yaml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@ properties:
3131
pins-are-numbered:
3232
$ref: /schemas/types.yaml#/definitions/flag
3333
description: |
34-
Specify the subnodes are using numbered pinmux to specify pins.
34+
Specify the subnodes are using numbered pinmux to specify pins. (UNUSED)
35+
deprecated: true
3536

3637
gpio-controller: true
3738

@@ -62,7 +63,6 @@ properties:
6263

6364
required:
6465
- compatible
65-
- pins-are-numbered
6666
- gpio-controller
6767
- "#gpio-cells"
6868

@@ -150,7 +150,6 @@ examples:
150150
compatible = "mediatek,mt8135-pinctrl";
151151
reg = <0 0x1000B000 0 0x1000>;
152152
mediatek,pctl-regmap = <&syscfg_pctl_a>, <&syscfg_pctl_b>;
153-
pins-are-numbered;
154153
gpio-controller;
155154
#gpio-cells = <2>;
156155
interrupt-controller;

Documentation/devicetree/bindings/pinctrl/mediatek,mt6779-pinctrl.yaml

Lines changed: 69 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -8,31 +8,22 @@ title: Mediatek MT6779 Pin Controller
88

99
maintainers:
1010
- Andy Teng <[email protected]>
11+
- Sean Wang <[email protected]>
1112

12-
description: |+
13-
The pin controller node should be the child of a syscon node with the
14-
required property:
15-
- compatible: "syscon"
13+
description:
14+
The MediaTek pin controller on MT6779 is used to control pin
15+
functions, pull up/down resistance and drive strength options.
1616

1717
properties:
1818
compatible:
19-
const: mediatek,mt6779-pinctrl
19+
enum:
20+
- mediatek,mt6779-pinctrl
21+
- mediatek,mt6797-pinctrl
2022

2123
reg:
22-
minItems: 9
23-
maxItems: 9
24-
25-
reg-names:
26-
items:
27-
- const: "gpio"
28-
- const: "iocfg_rm"
29-
- const: "iocfg_br"
30-
- const: "iocfg_lm"
31-
- const: "iocfg_lb"
32-
- const: "iocfg_rt"
33-
- const: "iocfg_lt"
34-
- const: "iocfg_tl"
35-
- const: "eint"
24+
description: Physical addresses for GPIO base(s) and EINT registers.
25+
26+
reg-names: true
3627

3728
gpio-controller: true
3829

@@ -59,19 +50,65 @@ properties:
5950
"#interrupt-cells":
6051
const: 2
6152

62-
allOf:
63-
- $ref: "pinctrl.yaml#"
64-
6553
required:
6654
- compatible
6755
- reg
6856
- reg-names
6957
- gpio-controller
7058
- "#gpio-cells"
71-
- gpio-ranges
72-
- interrupt-controller
73-
- interrupts
74-
- "#interrupt-cells"
59+
60+
allOf:
61+
- $ref: "pinctrl.yaml#"
62+
- if:
63+
properties:
64+
compatible:
65+
contains:
66+
const: mediatek,mt6779-pinctrl
67+
then:
68+
properties:
69+
reg:
70+
minItems: 9
71+
maxItems: 9
72+
73+
reg-names:
74+
items:
75+
- const: gpio
76+
- const: iocfg_rm
77+
- const: iocfg_br
78+
- const: iocfg_lm
79+
- const: iocfg_lb
80+
- const: iocfg_rt
81+
- const: iocfg_lt
82+
- const: iocfg_tl
83+
- const: eint
84+
- if:
85+
properties:
86+
compatible:
87+
contains:
88+
const: mediatek,mt6797-pinctrl
89+
then:
90+
properties:
91+
reg:
92+
minItems: 5
93+
maxItems: 5
94+
95+
reg-names:
96+
items:
97+
- const: gpio
98+
- const: iocfgl
99+
- const: iocfgb
100+
- const: iocfgr
101+
- const: iocfgt
102+
- if:
103+
properties:
104+
reg-names:
105+
contains:
106+
const: eint
107+
then:
108+
required:
109+
- interrupts
110+
- interrupt-controller
111+
- "#interrupt-cells"
75112

76113
patternProperties:
77114
'-[0-9]*$':
@@ -113,6 +150,12 @@ patternProperties:
113150

114151
input-schmitt-disable: true
115152

153+
drive-strength:
154+
enum: [2, 4, 8, 12, 16]
155+
156+
slew-rate:
157+
enum: [0, 1]
158+
116159
mediatek,pull-up-adv:
117160
description: |
118161
Pull up setings for 2 pull resistors, R0 and R1. User can

0 commit comments

Comments
 (0)