-
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 'samsung-pinctrl-5.18-2' of https://git.kernel.org/pub/scm/…
…linux/kernel/git/pinctrl/samsung into devel Samsung pinctrl drivers changes for v5.18 1. Fix OF reference leak in pinctrl driver probe error path. 2. Correct list of handlers for Exynos850 ALIVE and CMGP pin banks. 3. Accept devicetrees with GPIO pin bank definitions named with a "-gpio-bank" suffix. This is necessary for later Samsung pinctrl bindings dtschema. 4. Convert Samsung pinctrl bindings to dtschema. 5. Add support for Exynos850 and ExynosAutov9 wake-up interrupts. 6. Add support for Tesla FSD SoC.
- Loading branch information
Showing
10 changed files
with
781 additions
and
406 deletions.
There are no files selected for viewing
52 changes: 52 additions & 0 deletions
52
Documentation/devicetree/bindings/pinctrl/samsung,pinctrl-gpio-bank.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,52 @@ | ||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | ||
%YAML 1.2 | ||
--- | ||
$id: http://devicetree.org/schemas/pinctrl/samsung,pinctrl-gpio-bank.yaml# | ||
$schema: http://devicetree.org/meta-schemas/core.yaml# | ||
|
||
title: Samsung S3C/S5P/Exynos SoC pin controller - gpio bank | ||
|
||
maintainers: | ||
- Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> | ||
- Sylwester Nawrocki <s.nawrocki@samsung.com> | ||
- Tomasz Figa <tomasz.figa@gmail.com> | ||
|
||
description: | | ||
This is a part of device tree bindings for Samsung S3C/S5P/Exynos SoC pin | ||
controller. | ||
GPIO bank description for Samsung S3C/S5P/Exynos SoC pin controller. | ||
See also Documentation/devicetree/bindings/pinctrl/samsung,pinctrl.yaml for | ||
additional information and example. | ||
properties: | ||
'#gpio-cells': | ||
const: 2 | ||
|
||
gpio-controller: true | ||
|
||
'#interrupt-cells': | ||
description: | ||
For GPIO banks supporting external GPIO interrupts or external wake-up | ||
interrupts. | ||
const: 2 | ||
|
||
interrupt-controller: | ||
description: | ||
For GPIO banks supporting external GPIO interrupts or external wake-up | ||
interrupts. | ||
|
||
interrupts: | ||
description: | ||
For GPIO banks supporting direct external wake-up interrupts (without | ||
multiplexing). Number of interrupts must match number of wake-up capable | ||
pins of this bank. | ||
minItems: 1 | ||
maxItems: 8 | ||
|
||
required: | ||
- '#gpio-cells' | ||
- gpio-controller | ||
|
||
additionalProperties: false |
81 changes: 81 additions & 0 deletions
81
Documentation/devicetree/bindings/pinctrl/samsung,pinctrl-pins-cfg.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,81 @@ | ||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | ||
%YAML 1.2 | ||
--- | ||
$id: http://devicetree.org/schemas/pinctrl/samsung,pinctrl-pins-cfg.yaml# | ||
$schema: http://devicetree.org/meta-schemas/core.yaml# | ||
|
||
title: Samsung S3C/S5P/Exynos SoC pin controller - pins configuration | ||
|
||
maintainers: | ||
- Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> | ||
- Sylwester Nawrocki <s.nawrocki@samsung.com> | ||
- Tomasz Figa <tomasz.figa@gmail.com> | ||
|
||
description: | | ||
This is a part of device tree bindings for Samsung S3C/S5P/Exynos SoC pin | ||
controller. | ||
Pins configuration for Samsung S3C/S5P/Exynos SoC pin controller. | ||
The values used for config properties should be derived from the hardware | ||
manual and these values are programmed as-is into the pin pull up/down and | ||
driver strength register of the pin-controller. | ||
See also include/dt-bindings/pinctrl/samsung.h with useful constants. | ||
See also Documentation/devicetree/bindings/pinctrl/samsung,pinctrl.yaml for | ||
additional information and example. | ||
properties: | ||
samsung,pins: | ||
description: | | ||
List of pins to configure. For initial and sleep states, the maximum | ||
number is one pin. In other cases there is no upper limit. | ||
The pins should use lowercase names matching hardware manual, e.g. for | ||
GPA0 bank: gpa0-0, gpa0-1, gpa0-2. | ||
$ref: /schemas/types.yaml#/definitions/string-array | ||
|
||
samsung,pin-function: | ||
description: | | ||
The pin function selection that should be applied on the pins listed in the | ||
child node is specified using the "samsung,pin-function" property. The value | ||
of this property that should be applied to each of the pins listed in the | ||
"samsung,pins" property should be picked from the hardware manual of the SoC | ||
for the specified pin group. This property is optional in the child node if | ||
no specific function selection is desired for the pins listed in the child | ||
node. The value of this property is used as-is to program the pin-controller | ||
function selector register of the pin-bank. | ||
$ref: /schemas/types.yaml#/definitions/uint32 | ||
minimum: 0 | ||
maximum: 15 | ||
|
||
samsung,pin-drv: | ||
description: Drive strength configuration. | ||
$ref: /schemas/types.yaml#/definitions/uint32 | ||
minimum: 0 | ||
maximum: 15 | ||
|
||
samsung,pin-pud: | ||
description: Pull up/down configuration. | ||
$ref: /schemas/types.yaml#/definitions/uint32 | ||
enum: [0, 1, 2, 3] | ||
|
||
samsung,pin-val: | ||
description: Initial value of pin output buffer. | ||
$ref: /schemas/types.yaml#/definitions/uint32 | ||
enum: [0, 1] | ||
|
||
samsung,pin-con-pdn: | ||
description: Function in power down mode. | ||
$ref: /schemas/types.yaml#/definitions/uint32 | ||
enum: [0, 1, 2, 3] | ||
|
||
samsung,pin-pud-pdn: | ||
description: Pull up/down configuration in power down mode. | ||
$ref: /schemas/types.yaml#/definitions/uint32 | ||
enum: [0, 1, 2, 3] | ||
|
||
required: | ||
- samsung,pins | ||
|
||
additionalProperties: false |
106 changes: 106 additions & 0 deletions
106
Documentation/devicetree/bindings/pinctrl/samsung,pinctrl-wakeup-interrupt.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,106 @@ | ||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | ||
%YAML 1.2 | ||
--- | ||
$id: http://devicetree.org/schemas/pinctrl/samsung,pinctrl-wakeup-interrupt.yaml# | ||
$schema: http://devicetree.org/meta-schemas/core.yaml# | ||
|
||
title: Samsung S3C/S5P/Exynos SoC pin controller - wake-up interrupt controller | ||
|
||
maintainers: | ||
- Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> | ||
- Sylwester Nawrocki <s.nawrocki@samsung.com> | ||
- Tomasz Figa <tomasz.figa@gmail.com> | ||
|
||
description: | | ||
This is a part of device tree bindings for Samsung S3C/S5P/Exynos SoC pin | ||
controller. | ||
External wake-up interrupts for Samsung S3C/S5P/Exynos SoC pin controller. | ||
For S3C24xx, S3C64xx, S5PV210 and Exynos4210 compatible wake-up interrupt | ||
controllers, only one pin-controller device node can include external wake-up | ||
interrupts child node (in other words, only one External wake-up interrupts | ||
pin-controller is supported). | ||
For newer controllers, multiple pin-controller device node can include | ||
external wake-up interrupts child node. | ||
See also Documentation/devicetree/bindings/pinctrl/samsung,pinctrl.yaml for | ||
additional information and example. | ||
properties: | ||
compatible: | ||
enum: | ||
- samsung,s3c2410-wakeup-eint | ||
- samsung,s3c2412-wakeup-eint | ||
- samsung,s3c64xx-wakeup-eint | ||
- samsung,s5pv210-wakeup-eint | ||
- samsung,exynos4210-wakeup-eint | ||
- samsung,exynos7-wakeup-eint | ||
- samsung,exynos850-wakeup-eint | ||
- samsung,exynosautov9-wakeup-eint | ||
|
||
interrupts: | ||
description: | ||
Interrupt used by multiplexed external wake-up interrupts. | ||
minItems: 1 | ||
maxItems: 6 | ||
|
||
required: | ||
- compatible | ||
|
||
allOf: | ||
- if: | ||
properties: | ||
compatible: | ||
contains: | ||
enum: | ||
- samsung,s3c2410-wakeup-eint | ||
- samsung,s3c2412-wakeup-eint | ||
then: | ||
properties: | ||
interrupts: | ||
minItems: 6 | ||
maxItems: 6 | ||
required: | ||
- interrupts | ||
|
||
- if: | ||
properties: | ||
compatible: | ||
contains: | ||
const: samsung,s3c64xx-wakeup-eint | ||
then: | ||
properties: | ||
interrupts: | ||
minItems: 4 | ||
maxItems: 4 | ||
required: | ||
- interrupts | ||
|
||
- if: | ||
properties: | ||
compatible: | ||
contains: | ||
enum: | ||
- samsung,s5pv210-wakeup-eint | ||
- samsung,exynos4210-wakeup-eint | ||
- samsung,exynos7-wakeup-eint | ||
then: | ||
properties: | ||
interrupts: | ||
minItems: 1 | ||
maxItems: 1 | ||
required: | ||
- interrupts | ||
|
||
- if: | ||
properties: | ||
compatible: | ||
contains: | ||
enum: | ||
- samsung,exynos850-wakeup-eint | ||
- samsung,exynosautov9-wakeup-eint | ||
then: | ||
properties: | ||
interrupts: false | ||
|
||
additionalProperties: false |
Oops, something went wrong.