-
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.
dt-bindings: pinctrl: samsung: convert to dtschema
Convert the Samsung SoC (S3C24xx, S3C64xx, S5Pv210, Exynos) pin controller bindings to DT schema format. Parts of description and DTS example was copied from existing sources, so keep the license as GPL-2.0-only. Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org> Reviewed-by: Rob Herring <robh@kernel.org> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Link: https://lore.kernel.org/r/20220111201722.327219-18-krzysztof.kozlowski@canonical.com
- Loading branch information
Krzysztof Kozlowski
committed
Jan 23, 2022
1 parent
a29681b
commit af030d8
Showing
6 changed files
with
611 additions
and
384 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 |
85 changes: 85 additions & 0 deletions
85
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,85 @@ | ||
# 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. | ||
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). | ||
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 | ||
|
||
interrupts: | ||
description: | ||
Interrupt used by multiplexed external wake-up interrupts. | ||
minItems: 1 | ||
maxItems: 6 | ||
|
||
required: | ||
- compatible | ||
- interrupts | ||
|
||
allOf: | ||
- if: | ||
properties: | ||
compatible: | ||
contains: | ||
enum: | ||
- samsung,s3c2410-wakeup-eint | ||
- samsung,s3c2412-wakeup-eint | ||
then: | ||
properties: | ||
interrupts: | ||
minItems: 6 | ||
maxItems: 6 | ||
|
||
- if: | ||
properties: | ||
compatible: | ||
contains: | ||
const: samsung,s3c64xx-wakeup-eint | ||
then: | ||
properties: | ||
interrupts: | ||
minItems: 4 | ||
maxItems: 4 | ||
|
||
- if: | ||
properties: | ||
compatible: | ||
contains: | ||
enum: | ||
- samsung,s5pv210-wakeup-eint | ||
- samsung,exynos4210-wakeup-eint | ||
- samsung,exynos7-wakeup-eint | ||
then: | ||
properties: | ||
interrupts: | ||
minItems: 1 | ||
maxItems: 1 | ||
|
||
additionalProperties: false |
Oops, something went wrong.