Merge tag 'pinctrl-v6.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl

Pull pin control updates from Linus Walleij:
 "Mostly drivers! Nothing special: some new Qualcomm chips as usual, and
  the new NXP S32 and nVidia BlueField-3.

  Core changes:

   - Make a lot of pin controllers with GPIO and irqchips immutable,
     i.e. not living structs, but const structs. This is driving a
     changed initiated by the irqchip maintainers.

  New drivers:

   - New driver for the NXP S32 SoC pin controller

   - As part of a thorough cleanup and restructuring of the
     Ralink/Mediatek drivers, the Ralink MIPS pin control drivers were
     folded into the Mediatek directory and the family is renamed
     "mtmips". The Ralink chips live on as Mediatek MIPS family where
     new variants can be added. As part of this work also the device
     tree bindings were reworked.

   - New subdriver for the Qualcomm SM7150 SoC.

   - New subdriver for the Qualcomm IPQ9574 SoC.

   - New driver for the nVidia BlueField-3 SoC.

   - Support for the Qualcomm PMM8654AU mixed signal circuit GPIO.

   - Support for the Qualcomm PMI632 mixed signal circuit GPIO.

  Improvements:

   - Add some missing pins and generic cleanups on the Renesas r8a779g0
     and r8a779g0 pin controllers. Generic Renesas extension for power
     source selection on several SoCs.

   - Misc cleanups for the Atmel AT91 and AT91-PIO4 pin controllers

   - Make the GPIO mode work on the Qualcomm SM8550-lpass-lpi driver.

   - Several device tree binding cleanups as the binding YAML syntax is
     solidifying"

* tag 'pinctrl-v6.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (153 commits)
  pinctrl-bcm2835.c: fix race condition when setting gpio dir
  dt-bindings: pinctrl: qcom,sm8150: Drop duplicate function value "atest_usb2"
  dt-bindings: pinctrl: qcom: Add few missing functions
  pinctrl: qcom: spmi-gpio: Add PMI632 support
  dt-bindings: pinctrl: qcom,pmic-gpio: add PMI632
  pinctrl: wpcm450: select MFD_SYSCON
  pinctrl: qcom ssbi-gpio: Convert to immutable irq_chip
  pinctrl: qcom ssbi-mpp: Convert to immutable irq_chip
  pinctrl: qcom spmi-mpp: Convert to immutable irq_chip
  pinctrl: plgpio: Convert to immutable irq_chip
  pinctrl: pistachio: Convert to immutable irq_chip
  pinctrl: pic32: Convert to immutable irq_chip
  pinctrl: sx150x: Convert to immutable irq_chip
  pinctrl: stmfx: Convert to immutable irq_chip
  pinctrl: st: Convert to immutable irq_chip
  pinctrl: mcp23s08: Convert to immutable irq_chip
  pinctrl: equilibrium: Convert to immutable irq_chip
  pinctrl: npcm7xx: Convert to immutable irq_chip
  pinctrl: armada-37xx: Convert to immutable irq_chip
  pinctrl: nsp: Convert to immutable irq_chip
  ...
This commit is contained in:
Linus Torvalds
2023-05-02 15:40:41 -07:00
222 changed files with 8918 additions and 10653 deletions

View File

@@ -39,6 +39,10 @@ properties:
reg:
maxItems: 1
gpio-line-names:
minItems: 1
maxItems: 16
gpio-controller: true
'#gpio-cells':

View File

@@ -185,7 +185,7 @@ patternProperties:
additionalProperties: false
allOf:
- $ref: "pinctrl.yaml#"
- $ref: pinctrl.yaml#
required:
- compatible

View File

@@ -142,7 +142,7 @@ allOf:
# boards are defining it at the moment so it would generate a lot of
# warnings.
- $ref: "pinctrl.yaml#"
- $ref: pinctrl.yaml#
- if:
not:
properties:

View File

@@ -0,0 +1,67 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/pinctrl/amlogic,meson-pinctrl-a1.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Amlogic Meson A1 pinmux controller
maintainers:
- Neil Armstrong <neil.armstrong@linaro.org>
allOf:
- $ref: amlogic,meson-pinctrl-common.yaml#
properties:
compatible:
enum:
- amlogic,meson-a1-periphs-pinctrl
- amlogic,meson-s4-periphs-pinctrl
required:
- compatible
patternProperties:
"^bank@[0-9a-z]+$":
$ref: amlogic,meson-pinctrl-common.yaml#/$defs/meson-gpio
unevaluatedProperties: false
properties:
reg:
maxItems: 2
reg-names:
items:
- const: mux
- const: gpio
unevaluatedProperties:
type: object
$ref: amlogic,meson-pinctrl-common.yaml#/$defs/meson-pins
examples:
- |
periphs_pinctrl: pinctrl {
compatible = "amlogic,meson-a1-periphs-pinctrl";
#address-cells = <1>;
#size-cells = <1>;
ranges;
bank@400 {
reg = <0x0400 0x003c>,
<0x0480 0x0118>;
reg-names = "mux", "gpio";
gpio-controller;
#gpio-cells = <2>;
gpio-ranges = <&periphs_pinctrl 0 0 62>;
};
cec_ao_a_h_pins: cec_ao_a_h {
mux {
groups = "cec_ao_a_h";
function = "cec_ao_a_h";
bias-disable;
};
};
};

View File

@@ -0,0 +1,57 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/pinctrl/amlogic,meson-pinctrl-common.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Amlogic Meson pinmux controller
maintainers:
- Neil Armstrong <neil.armstrong@linaro.org>
allOf:
- $ref: pinctrl.yaml#
properties:
ranges: true
"#address-cells":
enum: [1, 2]
"#size-cells":
enum: [1, 2]
required:
- ranges
- "#address-cells"
- "#size-cells"
additionalProperties: true
$defs:
meson-gpio:
type: object
properties:
gpio-controller: true
"#gpio-cells":
const: 2
gpio-ranges:
maxItems: 1
required:
- reg
- reg-names
- gpio-controller
- "#gpio-cells"
- gpio-ranges
meson-pins:
type: object
additionalProperties:
type: object
allOf:
- $ref: pincfg-node.yaml#
- $ref: pinmux-node.yaml#

View File

@@ -0,0 +1,68 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/pinctrl/amlogic,meson-pinctrl-g12a-aobus.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Amlogic Meson G12 AOBUS pinmux controller
maintainers:
- Neil Armstrong <neil.armstrong@linaro.org>
allOf:
- $ref: amlogic,meson-pinctrl-common.yaml#
properties:
compatible:
enum:
- amlogic,meson-g12a-aobus-pinctrl
required:
- compatible
patternProperties:
"^bank@[0-9a-z]+$":
$ref: amlogic,meson-pinctrl-common.yaml#/$defs/meson-gpio
unevaluatedProperties: false
properties:
reg:
maxItems: 3
reg-names:
items:
- const: mux
- const: ds
- const: gpio
unevaluatedProperties:
type: object
$ref: amlogic,meson-pinctrl-common.yaml#/$defs/meson-pins
examples:
- |
ao_pinctrl: pinctrl {
compatible = "amlogic,meson-g12a-aobus-pinctrl";
#address-cells = <1>;
#size-cells = <1>;
ranges;
bank@14 {
reg = <0x14 0x8>,
<0x1c 0x8>,
<0x24 0x14>;
reg-names = "mux", "ds", "gpio";
gpio-controller;
#gpio-cells = <2>;
gpio-ranges = <&ao_pinctrl 0 0 15>;
};
cec_ao_a_h_pins: cec_ao_a_h {
mux {
groups = "cec_ao_a_h";
function = "cec_ao_a_h";
bias-disable;
};
};
};

View File

@@ -0,0 +1,72 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/pinctrl/amlogic,meson-pinctrl-g12a-periphs.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Amlogic Meson G12 PERIPHS pinmux controller
maintainers:
- Neil Armstrong <neil.armstrong@linaro.org>
allOf:
- $ref: amlogic,meson-pinctrl-common.yaml#
properties:
compatible:
enum:
- amlogic,meson-g12a-periphs-pinctrl
required:
- compatible
patternProperties:
"^bank@[0-9a-z]+$":
$ref: amlogic,meson-pinctrl-common.yaml#/$defs/meson-gpio
unevaluatedProperties: false
properties:
reg:
maxItems: 5
reg-names:
items:
- const: gpio
- const: pull
- const: pull-enable
- const: mux
- const: ds
unevaluatedProperties:
type: object
$ref: amlogic,meson-pinctrl-common.yaml#/$defs/meson-pins
examples:
- |
periphs_pinctrl: pinctrl {
compatible = "amlogic,meson-g12a-periphs-pinctrl";
#address-cells = <1>;
#size-cells = <1>;
ranges;
bank@40 {
reg = <0x40 0x4c>,
<0xe8 0x18>,
<0x120 0x18>,
<0x2c0 0x40>,
<0x340 0x1c>;
reg-names = "gpio", "pull", "pull-enable", "mux", "ds";
gpio-controller;
#gpio-cells = <2>;
gpio-ranges = <&periphs_pinctrl 0 0 86>;
};
cec_ao_a_h_pins: cec_ao_a_h {
mux {
groups = "cec_ao_a_h";
function = "cec_ao_a_h";
bias-disable;
};
};
};

View File

@@ -0,0 +1,76 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/pinctrl/amlogic,meson8-pinctrl-aobus.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Amlogic Meson8 AOBUS pinmux controller
maintainers:
- Neil Armstrong <neil.armstrong@linaro.org>
allOf:
- $ref: amlogic,meson-pinctrl-common.yaml#
properties:
compatible:
oneOf:
- enum:
- amlogic,meson8-aobus-pinctrl
- amlogic,meson8b-aobus-pinctrl
- amlogic,meson-gxbb-aobus-pinctrl
- amlogic,meson-gxl-aobus-pinctrl
- amlogic,meson-axg-aobus-pinctrl
- items:
- const: amlogic,meson8m2-aobus-pinctrl
- const: amlogic,meson8-aobus-pinctrl
required:
- compatible
patternProperties:
"^bank@[0-9a-z]+$":
$ref: amlogic,meson-pinctrl-common.yaml#/$defs/meson-gpio
unevaluatedProperties: false
properties:
reg:
maxItems: 3
reg-names:
items:
- const: mux
- const: pull
- const: gpio
unevaluatedProperties:
type: object
$ref: amlogic,meson-pinctrl-common.yaml#/$defs/meson-pins
examples:
- |
pinctrl_aobus: pinctrl {
compatible = "amlogic,meson8-aobus-pinctrl";
#address-cells = <1>;
#size-cells = <1>;
ranges;
bank@14 {
reg = <0x14 0x4>,
<0x2c 0x4>,
<0x24 0x8>;
reg-names = "mux", "pull", "gpio";
gpio-controller;
#gpio-cells = <2>;
gpio-ranges = <&pinctrl_aobus 0 0 16>;
};
cec_ao_a_h_pins: cec_ao_a_h {
mux {
groups = "cec_ao_a_h";
function = "cec_ao_a_h";
bias-disable;
};
};
};

View File

@@ -0,0 +1,78 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/pinctrl/amlogic,meson8-pinctrl-cbus.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Amlogic Meson8 CBUS pinmux controller
maintainers:
- Neil Armstrong <neil.armstrong@linaro.org>
allOf:
- $ref: amlogic,meson-pinctrl-common.yaml#
properties:
compatible:
oneOf:
- enum:
- amlogic,meson8-cbus-pinctrl
- amlogic,meson8b-cbus-pinctrl
- amlogic,meson-gxbb-periphs-pinctrl
- amlogic,meson-gxl-periphs-pinctrl
- amlogic,meson-axg-periphs-pinctrl
- items:
- const: amlogic,meson8m2-cbus-pinctrl
- const: amlogic,meson8-cbus-pinctrl
required:
- compatible
patternProperties:
"^bank@[0-9a-z]+$":
$ref: amlogic,meson-pinctrl-common.yaml#/$defs/meson-gpio
unevaluatedProperties: false
properties:
reg:
maxItems: 4
reg-names:
items:
- const: mux
- const: pull
- const: pull-enable
- const: gpio
unevaluatedProperties:
type: object
$ref: amlogic,meson-pinctrl-common.yaml#/$defs/meson-pins
examples:
- |
pinctrl_cbus: pinctrl {
compatible = "amlogic,meson8-cbus-pinctrl";
#address-cells = <1>;
#size-cells = <1>;
ranges;
bank@80b0 {
reg = <0x80b0 0x28>,
<0x80e8 0x18>,
<0x8120 0x18>,
<0x8030 0x30>;
reg-names = "mux", "pull", "pull-enable", "gpio";
gpio-controller;
#gpio-cells = <2>;
gpio-ranges = <&pinctrl_cbus 0 0 120>;
};
cec_ao_a_h_pins: cec_ao_a_h {
mux {
groups = "cec_ao_a_h";
function = "cec_ao_a_h";
bias-disable;
};
};
};

View File

@@ -74,7 +74,7 @@ patternProperties:
additionalProperties: false
allOf:
- $ref: "pinctrl.yaml#"
- $ref: pinctrl.yaml#
required:
- compatible

View File

@@ -32,7 +32,7 @@ patternProperties:
then:
patternProperties:
"^function|groups$":
$ref: "/schemas/types.yaml#/definitions/string"
$ref: /schemas/types.yaml#/definitions/string
enum: [ ACPI, ADC0, ADC1, ADC10, ADC11, ADC12, ADC13, ADC14, ADC15,
ADC2, ADC3, ADC4, ADC5, ADC6, ADC7, ADC8, ADC9, BMCINT, DDCCLK, DDCDAT,
EXTRST, FLACK, FLBUSY, FLWP, GPID, GPID0, GPID2, GPID4, GPID6, GPIE0,
@@ -51,7 +51,7 @@ patternProperties:
VGAHS, VGAVS, VPI18, VPI24, VPI30, VPO12, VPO24, WDTRST1, WDTRST2]
allOf:
- $ref: "pinctrl.yaml#"
- $ref: pinctrl.yaml#
required:
- compatible

View File

@@ -44,7 +44,7 @@ patternProperties:
then:
patternProperties:
"^function|groups$":
$ref: "/schemas/types.yaml#/definitions/string"
$ref: /schemas/types.yaml#/definitions/string
enum: [ ACPI, ADC0, ADC1, ADC10, ADC11, ADC12, ADC13, ADC14, ADC15,
ADC2, ADC3, ADC4, ADC5, ADC6, ADC7, ADC8, ADC9, BMCINT, DDCCLK, DDCDAT,
ESPI, FWSPICS1, FWSPICS2, GPID0, GPID2, GPID4, GPID6, GPIE0, GPIE2,
@@ -65,7 +65,7 @@ patternProperties:
VGAVS, VPI24, VPO, WDTRST1, WDTRST2]
allOf:
- $ref: "pinctrl.yaml#"
- $ref: pinctrl.yaml#
required:
- compatible

View File

@@ -30,7 +30,7 @@ patternProperties:
then:
properties:
function:
$ref: "/schemas/types.yaml#/definitions/string"
$ref: /schemas/types.yaml#/definitions/string
enum: [ ADC0, ADC1, ADC10, ADC11, ADC12, ADC13, ADC14, ADC15, ADC2,
ADC3, ADC4, ADC5, ADC6, ADC7, ADC8, ADC9, BMCINT, EMMC, ESPI, ESPIALT,
FSI1, FSI2, FWQSPI, FWSPIABR, FWSPID, FWSPIWP, GPIT0, GPIT1, GPIT2, GPIT3,
@@ -55,7 +55,7 @@ patternProperties:
USB2BD, USB2BH, VB, VGAHS, VGAVS, WDTRST1, WDTRST2, WDTRST3, WDTRST4 ]
groups:
$ref: "/schemas/types.yaml#/definitions/string"
$ref: /schemas/types.yaml#/definitions/string
enum: [ ADC0, ADC1, ADC10, ADC11, ADC12, ADC13, ADC14, ADC15, ADC2,
ADC3, ADC4, ADC5, ADC6, ADC7, ADC8, ADC9, BMCINT, EMMCG1, EMMCG4,
EMMCG8, ESPI, ESPIALT, FSI1, FSI2, FWQSPI, FWSPIABR, FWSPID, FWSPIWP,
@@ -84,7 +84,7 @@ patternProperties:
WDTRST3, WDTRST4]
allOf:
- $ref: "pinctrl.yaml#"
- $ref: pinctrl.yaml#
required:
- compatible

View File

@@ -38,7 +38,7 @@ patternProperties:
gpio8, gpio9, gpio10, gpio11, gpio12, gpio13, gpio40 ]
allOf:
- $ref: "pinctrl.yaml#"
- $ref: pinctrl.yaml#
required:
- compatible

View File

@@ -42,7 +42,7 @@ patternProperties:
vdsl_phy_override_3_grp, dsl_gpio8, dsl_gpio9 ]
allOf:
- $ref: "pinctrl.yaml#"
- $ref: pinctrl.yaml#
required:
- compatible

View File

@@ -37,7 +37,7 @@ patternProperties:
usb_port1 ]
allOf:
- $ref: "pinctrl.yaml#"
- $ref: pinctrl.yaml#
required:
- compatible

View File

@@ -35,7 +35,7 @@ patternProperties:
led_grp, spi_cs_grp, utopia_grp, pwm_syn_clk, sys_irq_grp ]
allOf:
- $ref: "pinctrl.yaml#"
- $ref: pinctrl.yaml#
required:
- compatible

View File

@@ -42,7 +42,7 @@ patternProperties:
gpio22, gpio23, gpio24, gpio25, gpio26, gpio27, nand_grp ]
allOf:
- $ref: "pinctrl.yaml#"
- $ref: pinctrl.yaml#
required:
- compatible

View File

@@ -43,7 +43,7 @@ patternProperties:
gpio31, uart1_grp ]
allOf:
- $ref: "pinctrl.yaml#"
- $ref: pinctrl.yaml#
required:
- compatible

View File

@@ -53,7 +53,7 @@ patternProperties:
additionalProperties: false
allOf:
- $ref: "pinctrl.yaml#"
- $ref: pinctrl.yaml#
- if:
properties:
compatible:

Some files were not shown because too many files have changed in this diff Show More