Skip to content

Commit 5e2e738

Browse files
committed
Merge tag 'pinctrl-v6.0-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl
Pull pin control updates from Linus Walleij: "Outside the pinctrl driver and DT bindings we hit some Arm DT files, patched by the maintainers. Other than that it is business as usual. Core changes: - Add PINCTRL_PINGROUP() helper macro (and use it in the AMD driver). New drivers: - Intel Meteor Lake support. - Reneasas RZ/V2M and r8a779g0 (R-Car V4H). - AXP209 variants AXP221, AXP223 and AXP809. - Qualcomm MSM8909, PM8226, PMP8074 and SM6375. - Allwinner D1. Improvements: - Proper pin multiplexing in the AMD driver. - Mediatek MT8192 can use generic drive strength and pin bias, then fixes on top plus some I2C pin group fixes. - Have the Allwinner Sunplus SP7021 use the generic DT schema and make interrupts optional. - Handle Qualcomm SC7280 ADSP. - Handle Qualcomm MSM8916 CAMSS GP clock muxing. - High impedance bias on ZynqMP. - Serialize StarFive access to MMIO. - Immutable gpiochip for BCM2835, Ingenic, Qualcomm SPMI GPIO" * tag 'pinctrl-v6.0-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (117 commits) dt-bindings: pinctrl: qcom,pmic-gpio: add PM8226 constraints pinctrl: qcom: Make PINCTRL_SM8450 depend on PINCTRL_MSM pinctrl: qcom: sm8250: Fix PDC map pinctrl: amd: Fix an unused variable dt-bindings: pinctrl: mt8186: Add and use drive-strength-microamp dt-bindings: pinctrl: mt8186: Add gpio-line-names property ARM: dts: imxrt1170-pinfunc: Add pinctrl binding header pinctrl: amd: Use unicode for debugfs output pinctrl: amd: Fix newline declaration in debugfs output pinctrl: at91: Fix typo 'the the' in comment dt-bindings: pinctrl: st,stm32: Correct 'resets' property name pinctrl: mvebu: Missing a blank line after declarations. pinctrl: qcom: Add SM6375 TLMM driver dt-bindings: pinctrl: Add DT schema for SM6375 TLMM dt-bindings: pinctrl: mt8195: Use drive-strength-microamp in examples Revert "pinctrl: qcom: spmi-gpio: make the irqchip immutable" pinctrl: imx93: Add MODULE_DEVICE_TABLE() pinctrl: sunxi: Add driver for Allwinner D1 pinctrl: sunxi: Make some layout parameters dynamic pinctrl: sunxi: Refactor register/offset calculation ...
2 parents 00aa9d0 + 5b04520 commit 5e2e738

File tree

88 files changed

+13354
-667
lines changed

Some content is hidden

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

88 files changed

+13354
-667
lines changed

Documentation/devicetree/bindings/gpio/x-powers,axp209-gpio.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,13 @@ properties:
1919
oneOf:
2020
- enum:
2121
- x-powers,axp209-gpio
22+
- x-powers,axp221-gpio
2223
- x-powers,axp813-gpio
24+
- items:
25+
- enum:
26+
- x-powers,axp223-gpio
27+
- x-powers,axp809-gpio
28+
- const: x-powers,axp221-gpio
2329
- items:
2430
- const: x-powers,axp803-gpio
2531
- const: x-powers,axp813-gpio

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

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ properties:
4646
- allwinner,sun8i-v3s-pinctrl
4747
- allwinner,sun9i-a80-pinctrl
4848
- allwinner,sun9i-a80-r-pinctrl
49+
- allwinner,sun20i-d1-pinctrl
4950
- allwinner,sun50i-a64-pinctrl
5051
- allwinner,sun50i-a64-r-pinctrl
5152
- allwinner,sun50i-a100-pinctrl
@@ -80,9 +81,6 @@ properties:
8081
- const: hosc
8182
- const: losc
8283

83-
resets:
84-
maxItems: 1
85-
8684
gpio-controller: true
8785
interrupt-controller: true
8886
gpio-line-names: true
@@ -181,6 +179,18 @@ allOf:
181179
minItems: 7
182180
maxItems: 7
183181

182+
- if:
183+
properties:
184+
compatible:
185+
enum:
186+
- allwinner,sun20i-d1-pinctrl
187+
188+
then:
189+
properties:
190+
interrupts:
191+
minItems: 6
192+
maxItems: 6
193+
184194
- if:
185195
properties:
186196
compatible:

Documentation/devicetree/bindings/pinctrl/nuvoton,wpcm450-pinctrl.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ examples:
152152
pinctrl-names = "default";
153153
pinctrl-0 = <&pinctrl_uid>, <&pinmux_uid>;
154154
155-
uid {
155+
button-uid {
156156
label = "UID";
157157
linux,code = <102>;
158158
gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>;

Documentation/devicetree/bindings/pinctrl/pinctrl-mt8186.yaml

Lines changed: 5 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ properties:
2828
gpio-ranges:
2929
maxItems: 1
3030

31+
gpio-line-names: true
32+
3133
reg:
3234
description: |
3335
Physical address base for gpio base registers. There are 8 different GPIO
@@ -105,31 +107,8 @@ patternProperties:
105107
drive-strength:
106108
enum: [2, 4, 6, 8, 10, 12, 14, 16]
107109

108-
mediatek,drive-strength-adv:
109-
description: |
110-
Describe the specific driving setup property.
111-
For I2C pins, the existing generic driving setup can only support
112-
2/4/6/8/10/12/14/16mA driving. But in specific driving setup, they
113-
can support 0.125/0.25/0.5/1mA adjustment. If we enable specific
114-
driving setup, the existing generic setup will be disabled.
115-
The specific driving setup is controlled by E1E0EN.
116-
When E1=0/E0=0, the strength is 0.125mA.
117-
When E1=0/E0=1, the strength is 0.25mA.
118-
When E1=1/E0=0, the strength is 0.5mA.
119-
When E1=1/E0=1, the strength is 1mA.
120-
EN is used to enable or disable the specific driving setup.
121-
Valid arguments are described as below:
122-
0: (E1, E0, EN) = (0, 0, 0)
123-
1: (E1, E0, EN) = (0, 0, 1)
124-
2: (E1, E0, EN) = (0, 1, 0)
125-
3: (E1, E0, EN) = (0, 1, 1)
126-
4: (E1, E0, EN) = (1, 0, 0)
127-
5: (E1, E0, EN) = (1, 0, 1)
128-
6: (E1, E0, EN) = (1, 1, 0)
129-
7: (E1, E0, EN) = (1, 1, 1)
130-
So the valid arguments are from 0 to 7.
131-
$ref: /schemas/types.yaml#/definitions/uint32
132-
enum: [0, 1, 2, 3, 4, 5, 6, 7]
110+
drive-strength-microamp:
111+
enum: [125, 250, 500, 1000]
133112

134113
bias-pull-down:
135114
oneOf:
@@ -291,7 +270,7 @@ examples:
291270
pinmux = <PINMUX_GPIO127__FUNC_SCL0>,
292271
<PINMUX_GPIO128__FUNC_SDA0>;
293272
bias-pull-up = <MTK_PULL_SET_RSEL_001>;
294-
mediatek,drive-strength-adv = <7>;
273+
drive-strength-microamp = <1000>;
295274
};
296275
};
297276
};

Documentation/devicetree/bindings/pinctrl/pinctrl-mt8192.yaml

Lines changed: 24 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -80,46 +80,30 @@ patternProperties:
8080
dt-bindings/pinctrl/mt65xx.h. It can only support 2/4/6/8/10/12/14/16mA in mt8192.
8181
enum: [2, 4, 6, 8, 10, 12, 14, 16]
8282

83-
mediatek,drive-strength-adv:
84-
description: |
85-
Describe the specific driving setup property.
86-
For I2C pins, the existing generic driving setup can only support
87-
2/4/6/8/10/12/14/16mA driving. But in specific driving setup, they
88-
can support 0.125/0.25/0.5/1mA adjustment. If we enable specific
89-
driving setup, the existing generic setup will be disabled.
90-
The specific driving setup is controlled by E1E0EN.
91-
When E1=0/E0=0, the strength is 0.125mA.
92-
When E1=0/E0=1, the strength is 0.25mA.
93-
When E1=1/E0=0, the strength is 0.5mA.
94-
When E1=1/E0=1, the strength is 1mA.
95-
EN is used to enable or disable the specific driving setup.
96-
Valid arguments are described as below:
97-
0: (E1, E0, EN) = (0, 0, 0)
98-
1: (E1, E0, EN) = (0, 0, 1)
99-
2: (E1, E0, EN) = (0, 1, 0)
100-
3: (E1, E0, EN) = (0, 1, 1)
101-
4: (E1, E0, EN) = (1, 0, 0)
102-
5: (E1, E0, EN) = (1, 0, 1)
103-
6: (E1, E0, EN) = (1, 1, 0)
104-
7: (E1, E0, EN) = (1, 1, 1)
105-
So the valid arguments are from 0 to 7.
106-
$ref: /schemas/types.yaml#/definitions/uint32
107-
enum: [0, 1, 2, 3, 4, 5, 6, 7]
108-
109-
mediatek,pull-up-adv:
110-
description: |
111-
Pull up settings for 2 pull resistors, R0 and R1. User can
112-
configure those special pins. Valid arguments are described as below:
113-
0: (R1, R0) = (0, 0) which means R1 disabled and R0 disabled.
114-
1: (R1, R0) = (0, 1) which means R1 disabled and R0 enabled.
115-
2: (R1, R0) = (1, 0) which means R1 enabled and R0 disabled.
116-
3: (R1, R0) = (1, 1) which means R1 enabled and R0 enabled.
117-
$ref: /schemas/types.yaml#/definitions/uint32
118-
enum: [0, 1, 2, 3]
119-
120-
bias-pull-down: true
121-
122-
bias-pull-up: true
83+
drive-strength-microamp:
84+
enum: [125, 250, 500, 1000]
85+
86+
bias-pull-down:
87+
oneOf:
88+
- type: boolean
89+
description: normal pull down.
90+
- enum: [100, 101, 102, 103]
91+
description: PUPD/R1/R0 pull down type. See MTK_PUPD_SET_R1R0_
92+
defines in dt-bindings/pinctrl/mt65xx.h.
93+
- enum: [200, 201, 202, 203]
94+
description: RSEL pull down type. See MTK_PULL_SET_RSEL_
95+
defines in dt-bindings/pinctrl/mt65xx.h.
96+
97+
bias-pull-up:
98+
oneOf:
99+
- type: boolean
100+
description: normal pull up.
101+
- enum: [100, 101, 102, 103]
102+
description: PUPD/R1/R0 pull up type. See MTK_PUPD_SET_R1R0_
103+
defines in dt-bindings/pinctrl/mt65xx.h.
104+
- enum: [200, 201, 202, 203]
105+
description: RSEL pull up type. See MTK_PULL_SET_RSEL_
106+
defines in dt-bindings/pinctrl/mt65xx.h.
123107

124108
bias-disable: true
125109

Documentation/devicetree/bindings/pinctrl/pinctrl-mt8195.yaml

Lines changed: 10 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ properties:
2929
description: gpio valid number range.
3030
maxItems: 1
3131

32+
gpio-line-names: true
33+
3234
reg:
3335
description: |
3436
Physical address base for gpio base registers. There are 8 GPIO
@@ -49,7 +51,7 @@ properties:
4951
description: The interrupt outputs to sysirq.
5052
maxItems: 1
5153

52-
mediatek,rsel_resistance_in_si_unit:
54+
mediatek,rsel-resistance-in-si-unit:
5355
type: boolean
5456
description: |
5557
Identifying i2c pins pull up/down type which is RSEL. It can support
@@ -98,31 +100,8 @@ patternProperties:
98100
drive-strength:
99101
enum: [2, 4, 6, 8, 10, 12, 14, 16]
100102

101-
mediatek,drive-strength-adv:
102-
description: |
103-
Describe the specific driving setup property.
104-
For I2C pins, the existing generic driving setup can only support
105-
2/4/6/8/10/12/14/16mA driving. But in specific driving setup, they
106-
can support 0.125/0.25/0.5/1mA adjustment. If we enable specific
107-
driving setup, the existing generic setup will be disabled.
108-
The specific driving setup is controlled by E1E0EN.
109-
When E1=0/E0=0, the strength is 0.125mA.
110-
When E1=0/E0=1, the strength is 0.25mA.
111-
When E1=1/E0=0, the strength is 0.5mA.
112-
When E1=1/E0=1, the strength is 1mA.
113-
EN is used to enable or disable the specific driving setup.
114-
Valid arguments are described as below:
115-
0: (E1, E0, EN) = (0, 0, 0)
116-
1: (E1, E0, EN) = (0, 0, 1)
117-
2: (E1, E0, EN) = (0, 1, 0)
118-
3: (E1, E0, EN) = (0, 1, 1)
119-
4: (E1, E0, EN) = (1, 0, 0)
120-
5: (E1, E0, EN) = (1, 0, 1)
121-
6: (E1, E0, EN) = (1, 1, 0)
122-
7: (E1, E0, EN) = (1, 1, 1)
123-
So the valid arguments are from 0 to 7.
124-
$ref: /schemas/types.yaml#/definitions/uint32
125-
enum: [0, 1, 2, 3, 4, 5, 6, 7]
103+
drive-strength-microamp:
104+
enum: [125, 250, 500, 1000]
126105

127106
bias-pull-down:
128107
oneOf:
@@ -142,7 +121,7 @@ patternProperties:
142121
"MTK_PUPD_SET_R1R0_11" define in mt8195.
143122
For pull down type is RSEL, it can add RSEL define & resistance
144123
value(ohm) to set different resistance by identifying property
145-
"mediatek,rsel_resistance_in_si_unit".
124+
"mediatek,rsel-resistance-in-si-unit".
146125
It can support "MTK_PULL_SET_RSEL_000" & "MTK_PULL_SET_RSEL_001"
147126
& "MTK_PULL_SET_RSEL_010" & "MTK_PULL_SET_RSEL_011"
148127
& "MTK_PULL_SET_RSEL_100" & "MTK_PULL_SET_RSEL_101"
@@ -161,7 +140,7 @@ patternProperties:
161140
};
162141
An example of using si unit resistance value(ohm):
163142
&pio {
164-
mediatek,rsel_resistance_in_si_unit;
143+
mediatek,rsel-resistance-in-si-unit;
165144
}
166145
pincontroller {
167146
i2c0_pin {
@@ -190,7 +169,7 @@ patternProperties:
190169
"MTK_PUPD_SET_R1R0_11" define in mt8195.
191170
For pull up type is RSEL, it can add RSEL define & resistance
192171
value(ohm) to set different resistance by identifying property
193-
"mediatek,rsel_resistance_in_si_unit".
172+
"mediatek,rsel-resistance-in-si-unit".
194173
It can support "MTK_PULL_SET_RSEL_000" & "MTK_PULL_SET_RSEL_001"
195174
& "MTK_PULL_SET_RSEL_010" & "MTK_PULL_SET_RSEL_011"
196175
& "MTK_PULL_SET_RSEL_100" & "MTK_PULL_SET_RSEL_101"
@@ -209,7 +188,7 @@ patternProperties:
209188
};
210189
An example of using si unit resistance value(ohm):
211190
&pio {
212-
mediatek,rsel_resistance_in_si_unit;
191+
mediatek,rsel-resistance-in-si-unit;
213192
}
214193
pincontroller {
215194
i2c0-pins {
@@ -302,7 +281,7 @@ examples:
302281
pinmux = <PINMUX_GPIO8__FUNC_SDA0>,
303282
<PINMUX_GPIO9__FUNC_SCL0>;
304283
bias-disable;
305-
mediatek,drive-strength-adv = <7>;
284+
drive-strength-microamp = <1000>;
306285
};
307286
};
308287
};

0 commit comments

Comments
 (0)