Skip to content

Commit

Permalink
Merge tag 'pinctrl-v5.17-1' of git://git.kernel.org/pub/scm/linux/ker…
Browse files Browse the repository at this point in the history
…nel/git/linusw/linux-pinctrl

Pull pin control bulk updates from Linus Walleij:
 "Core changes:

   - New standard enumerator and corresponding device tree bindings for
     output impedance pin configuration. (Implemented and used in the
     Renesas rzg2l driver.)

   - Cleanup of Kconfig and Makefile to be somewhat orderly and
     alphabetic.

  New drivers:

   - Samsung Exynos 7885 pin controller.

   - Ocelot LAN966x pin controller.

   - Qualcomm SDX65 pin controller.

   - Qualcomm SM8450 pin controller.

   - Qualcomm PM8019, PM8226 and PM2250 pin controllers.

   - NXP/Freescale i.MXRT1050 pin controller.

   - Intel Thunder Bay pin controller.

  Enhancements:

   - Introduction of the string library helper function
     "kasprintf_strarray()" and subsequent use in Rockchip, ST and
     Armada pin control drivers, as well as the GPIO mockup driver.

   - The Ocelot pin controller has been extensively rewritten to use
     regmap and other modern kernel infrastructure.

   - The Microchip SGPIO driver has been converted to use regmap.

   - The SPEAr driver had been converted to use regmap.

   - Substantial cleanups and janitorial on the Apple pin control driver
     that was merged for v5.16.

   - Janitorial to remove of_node assignments in the GPIO portions that
     anyway get this handled in the GPIO core.

   - Minor cleanups and improvements in several pin controllers"

* tag 'pinctrl-v5.17-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (98 commits)
  pinctrl: imx: fix assigning groups names
  dt-bindings: pinctrl: mt8195: add wrapping node of pin configurations
  pinctrl: bcm: ns: use generic groups & functions helpers
  pinctrl: imx: fix allocation result check
  pinctrl: samsung: Use platform_get_irq_optional() to get the interrupt
  pinctrl: Propagate firmware node from a parent device
  dt-bindings: pinctrl: qcom: Add SDX65 pinctrl bindings
  pinctrl: add one more "const" for generic function groups
  pinctrl: keembay: rework loops looking for groups names
  pinctrl: keembay: comment process of building functions a bit
  pinctrl: imx: prepare for making "group_names" in "function_desc" const
  ARM: dts: gpio-ranges property is now required
  pinctrl: aspeed: fix unmet dependencies on MFD_SYSCON for PINCTRL_ASPEED
  pinctrl: Get rid of duplicate of_node assignment in the drivers
  pinctrl-sunxi: don't call pinctrl_gpio_direction()
  pinctrl-bcm2835: don't call pinctrl_gpio_direction()
  pinctrl: bcm2835: Silence uninit warning
  pinctrl: Sort Kconfig and Makefile entries alphabetically
  pinctrl: Add Intel Thunder Bay pinctrl driver
  dt-bindings: pinctrl: Add bindings for Intel Thunderbay pinctrl driver
  ...
  • Loading branch information
torvalds committed Jan 12, 2022
2 parents 2ab9c96 + 7442936 commit e3084ed
Show file tree
Hide file tree
Showing 142 changed files with 7,121 additions and 1,243 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -184,6 +184,9 @@ patternProperties:

additionalProperties: false

allOf:
- $ref: "pinctrl.yaml#"

required:
- compatible
- reg
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -147,6 +147,7 @@ allOf:
# boards are defining it at the moment so it would generate a lot of
# warnings.

- $ref: "pinctrl.yaml#"
- if:
properties:
compatible:
Expand Down
3 changes: 3 additions & 0 deletions Documentation/devicetree/bindings/pinctrl/apple,pinctrl.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,9 @@ patternProperties:

additionalProperties: false

allOf:
- $ref: "pinctrl.yaml#"

required:
- compatible
- reg
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,9 @@ patternProperties:
TXD3, TXD4, UART6, USB11D1, USB11H2, USB2D1, USB2H1, USBCKI, VGABIOS_ROM,
VGAHS, VGAVS, VPI18, VPI24, VPI30, VPO12, VPO24, WDTRST1, WDTRST2]

allOf:
- $ref: "pinctrl.yaml#"

required:
- compatible

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,9 @@ patternProperties:
USB11BHID, USB2AD, USB2AH, USB2BD, USB2BH, USBCKI, VGABIOSROM, VGAHS,
VGAVS, VPI24, VPO, WDTRST1, WDTRST2]

allOf:
- $ref: "pinctrl.yaml#"

required:
- compatible
- aspeed,external-nodes
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,9 @@ patternProperties:
UART7, UART8, UART9, USBA, USBB, VB, VGAHS, VGAVS, WDTRST1, WDTRST2,
WDTRST3, WDTRST4]

allOf:
- $ref: "pinctrl.yaml#"

required:
- compatible

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,9 @@ patternProperties:
enum: [ gpio0, gpio1, gpio2, gpio3, gpio4, gpio5, gpio6, gpio7,
gpio8, gpio9, gpio10, gpio11, gpio12, gpio13, gpio40 ]

allOf:
- $ref: "pinctrl.yaml#"

required:
- compatible
- reg
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,9 @@ patternProperties:
vdsl_phy_override_1_grp, vdsl_phy_override_2_grp,
vdsl_phy_override_3_grp, dsl_gpio8, dsl_gpio9 ]

allOf:
- $ref: "pinctrl.yaml#"

required:
- compatible
- reg
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,9 @@ patternProperties:
gpio20, gpio25, gpio26, gpio27, gpio28, hsspi_cs1,
usb_port1 ]

allOf:
- $ref: "pinctrl.yaml#"

required:
- compatible
- reg
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,9 @@ patternProperties:
enum: [ ebi_cs_grp, uart1_grp, serial_led_grp, legacy_led_grp,
led_grp, spi_cs_grp, utopia_grp, pwm_syn_clk, sys_irq_grp ]

allOf:
- $ref: "pinctrl.yaml#"

required:
- compatible
- reg
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,9 @@ patternProperties:
gpio15, gpio16, gpio17, gpio18, gpio19, gpio20, gpio21,
gpio22, gpio23, gpio24, gpio25, gpio26, gpio27, nand_grp ]

allOf:
- $ref: "pinctrl.yaml#"

required:
- compatible
- reg
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,9 @@ patternProperties:
gpio24, gpio25, gpio26, gpio27, gpio28, gpio29, gpio30,
gpio31, uart1_grp ]

allOf:
- $ref: "pinctrl.yaml#"

required:
- compatible
- reg
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ patternProperties:
additionalProperties: false

allOf:
- $ref: "pinctrl.yaml#"
- if:
properties:
compatible:
Expand All @@ -77,7 +78,7 @@ additionalProperties: false

examples:
- |
pin-controller@1800c1c0 {
pinctrl@1800c1c0 {
compatible = "brcm,bcm4708-pinmux";
reg = <0x1800c1c0 0x24>;
reg-names = "cru_gpio_control";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,9 @@ patternProperties:

additionalProperties: false

allOf:
- $ref: "pinctrl.yaml#"

required:
- compatible
- reg
Expand All @@ -151,9 +154,9 @@ examples:
#include <dt-bindings/clock/k210-clk.h>
#include <dt-bindings/reset/k210-rst.h>
fpioa: pinmux@502B0000 {
fpioa: pinmux@502b0000 {
compatible = "canaan,k210-fpioa";
reg = <0x502B0000 0x100>;
reg = <0x502b0000 0x100>;
clocks = <&sysclk K210_CLK_FPIOA>,
<&sysclk K210_CLK_APB0>;
clock-names = "ref", "pclk";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -181,6 +181,9 @@ properties:

additionalProperties: false

allOf:
- $ref: "pinctrl.yaml#"

required:
- compatible
- gpio-controller
Expand Down
3 changes: 3 additions & 0 deletions Documentation/devicetree/bindings/pinctrl/cirrus,madera.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,9 @@ properties:

additionalProperties: false

allOf:
- $ref: "pinctrl.yaml#"

required:
- pinctrl-0
- pinctrl-names
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,9 @@ patternProperties:

additionalProperties: false

allOf:
- $ref: "pinctrl.yaml#"

required:
- compatible
- reg
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,9 @@ patternProperties:

additionalProperties: false

allOf:
- $ref: "pinctrl.yaml#"

required:
- compatible
- reg
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,9 @@ patternProperties:

additionalProperties: false

allOf:
- $ref: "pinctrl.yaml#"

required:
- compatible
- reg
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,9 @@ patternProperties:

additionalProperties: false

allOf:
- $ref: "pinctrl.yaml#"

required:
- compatible
- reg
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,9 @@ patternProperties:

additionalProperties: false

allOf:
- $ref: "pinctrl.yaml#"

required:
- compatible
- reg
Expand Down
79 changes: 79 additions & 0 deletions Documentation/devicetree/bindings/pinctrl/fsl,imxrt1050.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/pinctrl/fsl,imxrt1050.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Freescale IMXRT1050 IOMUX Controller

maintainers:
- Giulio Benetti <[email protected]>
- Jesse Taube <[email protected]>

description:
Please refer to fsl,imx-pinctrl.txt and pinctrl-bindings.txt in this directory
for common binding part and usage.

properties:
compatible:
const: fsl,imxrt1050-iomuxc

reg:
maxItems: 1

# Client device subnode's properties
patternProperties:
'grp$':
type: object
description:
Pinctrl node's client devices use subnodes for desired pin configuration.
Client device subnodes use below standard properties.

properties:
fsl,pins:
description:
each entry consists of 6 integers and represents the mux and config
setting for one pin. The first 5 integers <mux_reg conf_reg input_reg
mux_val input_val> are specified using a PIN_FUNC_ID macro, which can
be found in <include/dt-bindings/pinctrl/pins-imxrt1050.h>. The last
integer CONFIG is the pad setting value like pull-up on this pin. Please
refer to i.MXRT1050 Reference Manual for detailed CONFIG settings.
$ref: /schemas/types.yaml#/definitions/uint32-matrix
items:
items:
- description: |
"mux_reg" indicates the offset of mux register.
- description: |
"conf_reg" indicates the offset of pad configuration register.
- description: |
"input_reg" indicates the offset of select input register.
- description: |
"mux_val" indicates the mux value to be applied.
- description: |
"input_val" indicates the select input value to be applied.
- description: |
"pad_setting" indicates the pad configuration value to be applied.
required:
- fsl,pins

additionalProperties: false

required:
- compatible
- reg

additionalProperties: false

examples:
- |
iomuxc: iomuxc@401f8000 {
compatible = "fsl,imxrt1050-iomuxc";
reg = <0x401f8000 0x4000>;
pinctrl_lpuart1: lpuart1grp {
fsl,pins =
<0x0EC 0x2DC 0x000 0x2 0x0 0xf1>,
<0x0F0 0x2E0 0x000 0x2 0x0 0xf1>;
};
};
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,6 @@ maintainers:
- Paul Cercueil <[email protected]>

properties:
nodename:
pattern: "^pinctrl@[0-9a-f]+$"

compatible:
oneOf:
- enum:
Expand Down Expand Up @@ -121,6 +118,9 @@ patternProperties:

additionalProperties: false

allOf:
- $ref: "pinctrl.yaml#"

required:
- compatible
- reg
Expand Down Expand Up @@ -169,7 +169,7 @@ additionalProperties:

examples:
- |
pin-controller@10010000 {
pinctrl@10010000 {
compatible = "ingenic,jz4770-pinctrl";
reg = <0x10010000 0x600>;
Expand Down
3 changes: 3 additions & 0 deletions Documentation/devicetree/bindings/pinctrl/intel,lgm-io.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,9 @@ patternProperties:

additionalProperties: false

allOf:
- $ref: "pinctrl.yaml#"

required:
- compatible
- reg
Expand Down
Loading

0 comments on commit e3084ed

Please sign in to comment.