-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge tag 'pinctrl-v5.15-1' of git://git.kernel.org/pub/scm/linux/ker…
…nel/git/linusw/linux-pinctrl Pull pin control updates from Linus Walleij: "This is the bulk of pin control changes for the v5.15 kernel cycle, no core changes at all this time, just driver work! New drivers: - New subdriver for Intel Keem Bay (an ARM-based SoC) - New subdriver for Qualcomm MDM9607 and SM6115 - New subdriver for ST Microelectronics STM32MP135 - New subdriver for Freescale i.MX8ULP ("Ultra Low Power") - New subdriver for Ingenic X2100 - Support for Qualcomm PMC8180, PMC8180C, SA8155p-adp PMIC GPIO - Support Samsung Exynos850 - Support Renesas RZ/G2L Enhancements: - A major refactoring of the Rockchip driver, breaking part of it out to a separate GPIO driver in drivers/gpio - Pin bias support on Renesas r8a77995 - Add SCI pins support to Ingenic JZ4755 and JZ4760 - Mediatek device tree bindings converted to YAML" * tag 'pinctrl-v5.15-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (53 commits) pinctrl: renesas: Add RZ/G2L pin and gpio controller driver pinctrl: samsung: Add Exynos850 SoC specific data dt-bindings: pinctrl: samsung: Add Exynos850 doc MAINTAINERS: Add maintainers for amd-pinctrl driver pinctrl: Add Intel Keem Bay pinctrl driver dt-bindings: pinctrl: Add bindings for Intel Keembay pinctrl driver pinctrl: zynqmp: Drop pinctrl_unregister for devm_ registered device dt-bindings: pinctrl: qcom-pmic-gpio: Remove the interrupts property dt-bindings: pinctrl: qcom-pmic-gpio: Convert qcom pmic gpio bindings to YAML dt-bindings: pinctrl: mt8195: Use real world values for drive-strength arguments dt-bindings: mediatek: convert pinctrl to yaml arm: dts: mt8183: Move pinfunc to include/dt-bindings/pinctrl arm: dts: mt8135: Move pinfunc to include/dt-bindings/pinctrl pinctrl: ingenic: Add .max_register in regmap_config pinctrl: ingenic: Fix bias config for X2000(E) pinctrl: ingenic: Fix incorrect pull up/down info pinctrl: Ingenic: Add pinctrl driver for X2100. dt-bindings: pinctrl: Add bindings for Ingenic X2100. pinctrl: Ingenic: Add SSI pins support for JZ4755 and JZ4760. pinctrl: Ingenic: Improve the code. ...
- Loading branch information
Showing
67 changed files
with
10,134 additions
and
1,440 deletions.
There are no files selected for viewing
79 changes: 79 additions & 0 deletions
79
Documentation/devicetree/bindings/pinctrl/fsl,imx8ulp-pinctrl.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
# SPDX-License-Identifier: GPL-2.0 | ||
%YAML 1.2 | ||
--- | ||
$id: http://devicetree.org/schemas/pinctrl/fsl,imx8ulp-pinctrl.yaml# | ||
$schema: http://devicetree.org/meta-schemas/core.yaml# | ||
|
||
title: Freescale IMX8ULP IOMUX Controller | ||
|
||
maintainers: | ||
- Jacky Bai <ping.bai@nxp.com> | ||
|
||
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,imx8ulp-iomuxc1 | ||
|
||
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 5 integers and represents the mux and config | ||
setting for one pin. The first 4 integers <mux_config_reg input_reg | ||
mux_mode input_val> are specified using a PIN_FUNC_ID macro, which can | ||
be found in <arch/arm64/boot/dts/freescale/imx8ulp-pinfunc.h>. The last | ||
integer CONFIG is the pad setting value like pull-up on this pin. Please | ||
refer to i.MX8ULP Reference Manual for detailed CONFIG settings. | ||
$ref: /schemas/types.yaml#/definitions/uint32-matrix | ||
items: | ||
items: | ||
- description: | | ||
"mux_config_reg" indicates the offset of mux register. | ||
- description: | | ||
"input_reg" indicates the offset of select input register. | ||
- description: | | ||
"mux_mode" 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: | ||
# Pinmux controller node | ||
- | | ||
iomuxc: pinctrl@298c0000 { | ||
compatible = "fsl,imx8ulp-iomuxc1"; | ||
reg = <0x298c0000 0x10000>; | ||
pinctrl_lpuart5: lpuart5grp { | ||
fsl,pins = | ||
<0x0138 0x08F0 0x4 0x3 0x3>, | ||
<0x013C 0x08EC 0x4 0x3 0x3>; | ||
}; | ||
}; | ||
... |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
135 changes: 135 additions & 0 deletions
135
Documentation/devicetree/bindings/pinctrl/intel,pinctrl-keembay.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,135 @@ | ||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) | ||
%YAML 1.2 | ||
--- | ||
$id: http://devicetree.org/schemas/pinctrl/intel,pinctrl-keembay.yaml# | ||
$schema: http://devicetree.org/meta-schemas/core.yaml# | ||
|
||
title: Intel Keem Bay pin controller Device Tree Bindings | ||
|
||
maintainers: | ||
- Lakshmi Sowjanya D <lakshmi.sowjanya.d@intel.com> | ||
|
||
description: | | ||
Intel Keem Bay SoC integrates a pin controller which enables control | ||
of pin directions, input/output values and configuration | ||
for a total of 80 pins. | ||
properties: | ||
compatible: | ||
const: intel,keembay-pinctrl | ||
|
||
reg: | ||
maxItems: 2 | ||
|
||
gpio-controller: true | ||
|
||
'#gpio-cells': | ||
const: 2 | ||
|
||
ngpios: | ||
description: The number of GPIOs exposed. | ||
const: 80 | ||
|
||
interrupts: | ||
description: | ||
Specifies the interrupt lines to be used by the controller. | ||
Each interrupt line is shared by upto 4 GPIO lines. | ||
maxItems: 8 | ||
|
||
interrupt-controller: true | ||
|
||
'#interrupt-cells': | ||
const: 2 | ||
|
||
patternProperties: | ||
'^gpio@[0-9a-f]*$': | ||
type: object | ||
|
||
description: | ||
Child nodes can be specified to contain pin configuration information, | ||
which can then be utilized by pinctrl client devices. | ||
The following properties are supported. | ||
|
||
properties: | ||
pins: | ||
description: | | ||
The name(s) of the pins to be configured in the child node. | ||
Supported pin names are "GPIO0" up to "GPIO79". | ||
bias-disable: true | ||
|
||
bias-pull-down: true | ||
|
||
bias-pull-up: true | ||
|
||
drive-strength: | ||
description: IO pads drive strength in milli Ampere. | ||
enum: [2, 4, 8, 12] | ||
|
||
bias-bus-hold: | ||
type: boolean | ||
|
||
input-schmitt-enable: | ||
type: boolean | ||
|
||
slew-rate: | ||
description: GPIO slew rate control. | ||
0 - Fast(~100MHz) | ||
1 - Slow(~50MHz) | ||
enum: [0, 1] | ||
|
||
additionalProperties: false | ||
|
||
required: | ||
- compatible | ||
- reg | ||
- gpio-controller | ||
- ngpios | ||
- '#gpio-cells' | ||
- interrupts | ||
- interrupt-controller | ||
- '#interrupt-cells' | ||
|
||
examples: | ||
- | | ||
#include <dt-bindings/interrupt-controller/arm-gic.h> | ||
#include <dt-bindings/interrupt-controller/irq.h> | ||
// Example 1 | ||
gpio@0 { | ||
compatible = "intel,keembay-pinctrl"; | ||
reg = <0x600b0000 0x88>, | ||
<0x600b0190 0x1ac>; | ||
gpio-controller; | ||
ngpios = <0x50>; | ||
#gpio-cells = <0x2>; | ||
interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>, | ||
<GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>, | ||
<GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>, | ||
<GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>, | ||
<GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>, | ||
<GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>, | ||
<GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>, | ||
<GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; | ||
interrupt-controller; | ||
#interrupt-cells = <2>; | ||
}; | ||
// Example 2 | ||
gpio@1 { | ||
compatible = "intel,keembay-pinctrl"; | ||
reg = <0x600c0000 0x88>, | ||
<0x600c0190 0x1ac>; | ||
gpio-controller; | ||
ngpios = <0x50>; | ||
#gpio-cells = <0x2>; | ||
interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>, | ||
<GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>, | ||
<GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>, | ||
<GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>, | ||
<GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>, | ||
<GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>, | ||
<GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>, | ||
<GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; | ||
interrupt-controller; | ||
#interrupt-cells = <2>; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.