dts: bindings: pinctrl: place pincfg-node props at root level
Since we can include other binding files at any level (child, grand-child, etc.) it makes no sense to maintain two copies of pinctrl props definitions (pincfg-node/pincfg-node-group). Instead, pincfg-node.yaml defines props at root level, and it is included where needed, either child-binding or grandchild-binding. Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
This commit is contained in:
parent
d8d714d57a
commit
cfbff7896e
34 changed files with 424 additions and 559 deletions
|
|
@ -397,8 +397,7 @@ followed:
|
|||
control states. These properties are defined in
|
||||
:file:`dts/bindings/pinctrl/pinctrl-device.yaml`.
|
||||
- Use standard pin configuration properties as defined in
|
||||
:file:`dts/bindings/pinctrl/pincfg-node.yaml` or
|
||||
:file:`dts/bindings/pinctrl/pincfg-node-group.yaml`.
|
||||
:file:`dts/bindings/pinctrl/pincfg-node.yaml`.
|
||||
|
||||
Representations not following these guidelines may be accepted if they are
|
||||
already used by the same vendor in other operating systems, e.g. Linux.
|
||||
|
|
|
|||
|
|
@ -73,15 +73,7 @@ description: |
|
|||
|
||||
compatible: "atmel,sam-pinctrl"
|
||||
|
||||
include:
|
||||
- name: base.yaml
|
||||
- name: pincfg-node-group.yaml
|
||||
child-binding:
|
||||
child-binding:
|
||||
property-allowlist:
|
||||
- bias-pull-up
|
||||
- bias-pull-down
|
||||
- drive-open-drain
|
||||
include: base.yaml
|
||||
|
||||
properties:
|
||||
"#address-cells":
|
||||
|
|
@ -97,6 +89,14 @@ child-binding:
|
|||
child-binding:
|
||||
description: |
|
||||
The grandchild nodes group pins that share the same pin configuration.
|
||||
|
||||
include:
|
||||
- name: pincfg-node.yaml
|
||||
property-allowlist:
|
||||
- bias-pull-up
|
||||
- bias-pull-down
|
||||
- drive-open-drain
|
||||
|
||||
properties:
|
||||
pinmux:
|
||||
required: true
|
||||
|
|
|
|||
|
|
@ -75,17 +75,7 @@ description: |
|
|||
|
||||
compatible: "atmel,sam0-pinctrl"
|
||||
|
||||
include:
|
||||
- name: base.yaml
|
||||
- name: pincfg-node-group.yaml
|
||||
child-binding:
|
||||
child-binding:
|
||||
property-allowlist:
|
||||
- bias-pull-up
|
||||
- bias-pull-down
|
||||
- drive-strength
|
||||
- input-enable
|
||||
- output-enable
|
||||
include: base.yaml
|
||||
|
||||
properties:
|
||||
reg:
|
||||
|
|
@ -105,6 +95,16 @@ child-binding:
|
|||
child-binding:
|
||||
description: |
|
||||
The grandchild nodes group pins that share the same pin configuration.
|
||||
|
||||
include:
|
||||
- name: pincfg-node.yaml
|
||||
property-allowlist:
|
||||
- bias-pull-up
|
||||
- bias-pull-down
|
||||
- drive-strength
|
||||
- input-enable
|
||||
- output-enable
|
||||
|
||||
properties:
|
||||
pinmux:
|
||||
required: true
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ description: |
|
|||
|
||||
compatible: "cypress,psoc6-pinctrl"
|
||||
|
||||
include: [base.yaml, pincfg-node.yaml]
|
||||
include: base.yaml
|
||||
|
||||
properties:
|
||||
"#address-cells":
|
||||
|
|
@ -31,6 +31,9 @@ properties:
|
|||
|
||||
child-binding:
|
||||
description: cypress pins
|
||||
|
||||
include: pincfg-node.yaml
|
||||
|
||||
properties:
|
||||
"cypress,pins":
|
||||
type: phandle-array
|
||||
|
|
|
|||
|
|
@ -112,21 +112,7 @@ description: |
|
|||
|
||||
compatible: "espressif,esp32-pinctrl"
|
||||
|
||||
include:
|
||||
- name: base.yaml
|
||||
- name: pincfg-node-group.yaml
|
||||
child-binding:
|
||||
child-binding:
|
||||
property-allowlist:
|
||||
- bias-disable
|
||||
- bias-pull-down
|
||||
- bias-pull-up
|
||||
- drive-push-pull
|
||||
- drive-open-drain
|
||||
- input-enable
|
||||
- output-enable
|
||||
- output-high
|
||||
- output-low
|
||||
include: base.yaml
|
||||
|
||||
child-binding:
|
||||
description: |
|
||||
|
|
@ -134,6 +120,20 @@ child-binding:
|
|||
child-binding:
|
||||
description:
|
||||
Espressif pin controller pin configuration group.
|
||||
|
||||
include:
|
||||
- name: pincfg-node.yaml
|
||||
property-allowlist:
|
||||
- bias-disable
|
||||
- bias-pull-down
|
||||
- bias-pull-up
|
||||
- drive-push-pull
|
||||
- drive-open-drain
|
||||
- input-enable
|
||||
- output-enable
|
||||
- output-high
|
||||
- output-low
|
||||
|
||||
properties:
|
||||
pinmux:
|
||||
required: true
|
||||
|
|
|
|||
|
|
@ -1,20 +1,19 @@
|
|||
# Copyright (c) 2021 Teslabs Engineering S.L.
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
include:
|
||||
- name: base.yaml
|
||||
- name: pincfg-node-group.yaml
|
||||
child-binding:
|
||||
child-binding:
|
||||
property-allowlist:
|
||||
- drive-push-pull
|
||||
- drive-open-drain
|
||||
- bias-disable
|
||||
- bias-pull-down
|
||||
- bias-pull-up
|
||||
include: base.yaml
|
||||
|
||||
child-binding:
|
||||
child-binding:
|
||||
include:
|
||||
- name: pincfg-node.yaml
|
||||
property-allowlist:
|
||||
- drive-push-pull
|
||||
- drive-open-drain
|
||||
- bias-disable
|
||||
- bias-pull-down
|
||||
- bias-pull-up
|
||||
|
||||
properties:
|
||||
pinmux:
|
||||
required: true
|
||||
|
|
|
|||
|
|
@ -47,17 +47,7 @@ description: |
|
|||
|
||||
compatible: "infineon,xmc4xxx-pinctrl"
|
||||
|
||||
include:
|
||||
- name: base.yaml
|
||||
- name: pincfg-node.yaml
|
||||
child-binding:
|
||||
property-allowlist:
|
||||
- bias-pull-down
|
||||
- bias-pull-up
|
||||
- drive-push-pull
|
||||
- drive-open-drain
|
||||
- output-high
|
||||
- output-low
|
||||
include: base.yaml
|
||||
|
||||
properties:
|
||||
"#address-cells":
|
||||
|
|
@ -70,6 +60,16 @@ properties:
|
|||
child-binding:
|
||||
description: Each child node defines the configuration for a particular state.
|
||||
|
||||
include:
|
||||
- name: pincfg-node.yaml
|
||||
property-allowlist:
|
||||
- bias-pull-down
|
||||
- bias-pull-up
|
||||
- drive-push-pull
|
||||
- drive-open-drain
|
||||
- output-high
|
||||
- output-low
|
||||
|
||||
properties:
|
||||
pinmux:
|
||||
description: |
|
||||
|
|
|
|||
|
|
@ -61,10 +61,14 @@ description: |
|
|||
|
||||
compatible: "ite,it8xxx2-pinctrl"
|
||||
|
||||
include:
|
||||
- name: base.yaml
|
||||
- name: pincfg-node.yaml
|
||||
child-binding:
|
||||
include: base.yaml
|
||||
|
||||
child-binding:
|
||||
description: |
|
||||
This binding gives a base representation of the ITE IT8XXX2 pins configration.
|
||||
|
||||
include:
|
||||
- name: pincfg-node.yaml
|
||||
property-allowlist:
|
||||
- bias-high-impedance
|
||||
- bias-pull-pin-default
|
||||
|
|
@ -72,9 +76,6 @@ include:
|
|||
- bias-pull-down
|
||||
- input-enable
|
||||
|
||||
child-binding:
|
||||
description: |
|
||||
This binding gives a base representation of the ITE IT8XXX2 pins configration.
|
||||
properties:
|
||||
pinmuxs:
|
||||
required: true
|
||||
|
|
|
|||
|
|
@ -63,19 +63,7 @@ description: |
|
|||
|
||||
compatible: "microchip,xec-pinctrl"
|
||||
|
||||
include:
|
||||
- name: base.yaml
|
||||
- name: pincfg-node.yaml
|
||||
child-binding:
|
||||
property-allowlist:
|
||||
- bias-disable
|
||||
- bias-pull-down
|
||||
- bias-pull-up
|
||||
- drive-push-pull
|
||||
- drive-open-drain
|
||||
- low-power-enable
|
||||
- output-high
|
||||
- output-low
|
||||
include: base.yaml
|
||||
|
||||
properties:
|
||||
reg:
|
||||
|
|
@ -86,6 +74,18 @@ child-binding:
|
|||
This binding gives a base representation of the Microchip XEC pins
|
||||
configuration
|
||||
|
||||
include:
|
||||
- name: pincfg-node.yaml
|
||||
property-allowlist:
|
||||
- bias-disable
|
||||
- bias-pull-down
|
||||
- bias-pull-up
|
||||
- drive-push-pull
|
||||
- drive-open-drain
|
||||
- low-power-enable
|
||||
- output-high
|
||||
- output-low
|
||||
|
||||
properties:
|
||||
pinmux:
|
||||
type: int
|
||||
|
|
|
|||
|
|
@ -76,16 +76,7 @@ description: |
|
|||
|
||||
compatible: "nordic,nrf-pinctrl"
|
||||
|
||||
include:
|
||||
- name: base.yaml
|
||||
- name: pincfg-node-group.yaml
|
||||
child-binding:
|
||||
child-binding:
|
||||
property-allowlist:
|
||||
- bias-disable
|
||||
- bias-pull-down
|
||||
- bias-pull-up
|
||||
- low-power-enable
|
||||
include: base.yaml
|
||||
|
||||
child-binding:
|
||||
description: |
|
||||
|
|
@ -93,6 +84,15 @@ child-binding:
|
|||
child-binding:
|
||||
description: |
|
||||
nRF pin controller pin configuration group.
|
||||
|
||||
include:
|
||||
- name: pincfg-node.yaml
|
||||
property-allowlist:
|
||||
- bias-disable
|
||||
- bias-pull-down
|
||||
- bias-pull-up
|
||||
- low-power-enable
|
||||
|
||||
properties:
|
||||
psels:
|
||||
required: true
|
||||
|
|
|
|||
|
|
@ -40,18 +40,19 @@ description: |
|
|||
|
||||
compatible: "nuvoton,npcx-pinctrl"
|
||||
|
||||
include:
|
||||
- name: base.yaml
|
||||
- name: pincfg-node.yaml
|
||||
child-binding:
|
||||
include: base.yaml
|
||||
|
||||
child-binding:
|
||||
description: |
|
||||
NPCX pin controller pin configuration nodes
|
||||
|
||||
include:
|
||||
- name: pincfg-node.yaml
|
||||
property-allowlist:
|
||||
- bias-pull-down
|
||||
- bias-pull-up
|
||||
- drive-open-drain
|
||||
|
||||
child-binding:
|
||||
description: |
|
||||
NPCX pin controller pin configuration nodes
|
||||
properties:
|
||||
pinmux:
|
||||
type: phandle
|
||||
|
|
|
|||
|
|
@ -33,22 +33,22 @@ description: |
|
|||
|
||||
compatible: "nxp,imx7d-pinctrl"
|
||||
|
||||
include:
|
||||
- name: base.yaml
|
||||
- name: pincfg-node-group.yaml
|
||||
child-binding:
|
||||
child-binding:
|
||||
property-allowlist:
|
||||
- input-schmitt-enable
|
||||
- input-enable
|
||||
- bias-pull-up
|
||||
- bias-pull-down
|
||||
include: base.yaml
|
||||
|
||||
child-binding:
|
||||
description: iMX pin controller pin group
|
||||
child-binding:
|
||||
description: |
|
||||
iMX pin controller pin configuration node.
|
||||
|
||||
include:
|
||||
- name: pincfg-node.yaml
|
||||
property-allowlist:
|
||||
- input-schmitt-enable
|
||||
- input-enable
|
||||
- bias-pull-up
|
||||
- bias-pull-down
|
||||
|
||||
properties:
|
||||
pinmux:
|
||||
required: true
|
||||
|
|
|
|||
|
|
@ -43,23 +43,23 @@ description: |
|
|||
|
||||
compatible: "nxp,imx8m-pinctrl"
|
||||
|
||||
include:
|
||||
- name: base.yaml
|
||||
- name: pincfg-node-group.yaml
|
||||
child-binding:
|
||||
child-binding:
|
||||
property-allowlist:
|
||||
- input-schmitt-enable
|
||||
- drive-open-drain
|
||||
- input-enable
|
||||
- bias-pull-up
|
||||
- bias-pull-down
|
||||
include: base.yaml
|
||||
|
||||
child-binding:
|
||||
description: iMX pin controller pin group
|
||||
child-binding:
|
||||
description: |
|
||||
iMX pin controller pin configuration node.
|
||||
|
||||
include:
|
||||
- name: pincfg-node.yaml
|
||||
property-allowlist:
|
||||
- input-schmitt-enable
|
||||
- drive-open-drain
|
||||
- input-enable
|
||||
- bias-pull-up
|
||||
- bias-pull-down
|
||||
|
||||
properties:
|
||||
pinmux:
|
||||
required: true
|
||||
|
|
|
|||
|
|
@ -44,23 +44,23 @@ description: |
|
|||
|
||||
compatible: "nxp,imx8mp-pinctrl"
|
||||
|
||||
include:
|
||||
- name: base.yaml
|
||||
- name: pincfg-node-group.yaml
|
||||
child-binding:
|
||||
child-binding:
|
||||
property-allowlist:
|
||||
- input-schmitt-enable
|
||||
- drive-open-drain
|
||||
- input-enable
|
||||
- bias-pull-up
|
||||
- bias-pull-down
|
||||
include: base.yaml
|
||||
|
||||
child-binding:
|
||||
description: iMX pin controller pin group
|
||||
child-binding:
|
||||
description: |
|
||||
iMX pin controller pin configuration node.
|
||||
|
||||
include:
|
||||
- name: pincfg-node.yaml
|
||||
property-allowlist:
|
||||
- input-schmitt-enable
|
||||
- drive-open-drain
|
||||
- input-enable
|
||||
- bias-pull-up
|
||||
- bias-pull-down
|
||||
|
||||
properties:
|
||||
pinmux:
|
||||
required: true
|
||||
|
|
|
|||
|
|
@ -30,21 +30,21 @@ description: |
|
|||
|
||||
compatible: "nxp,kinetis-pinctrl"
|
||||
|
||||
include:
|
||||
- name: base.yaml
|
||||
- name: pincfg-node-group.yaml
|
||||
child-binding:
|
||||
child-binding:
|
||||
property-allowlist:
|
||||
- drive-open-drain
|
||||
- bias-pull-up
|
||||
- bias-pull-down
|
||||
include: base.yaml
|
||||
|
||||
child-binding:
|
||||
description: Kinetis pin controller pin group
|
||||
child-binding:
|
||||
description: |
|
||||
Kinetis pin controller pin configuration node
|
||||
|
||||
include:
|
||||
- name: pincfg-node.yaml
|
||||
property-allowlist:
|
||||
- drive-open-drain
|
||||
- bias-pull-up
|
||||
- bias-pull-down
|
||||
|
||||
properties:
|
||||
pinmux:
|
||||
required: true
|
||||
|
|
|
|||
|
|
@ -2,9 +2,7 @@ description: Kinetis pinmux node
|
|||
|
||||
compatible: "nxp,kinetis-pinmux"
|
||||
|
||||
include:
|
||||
- name: base.yaml
|
||||
- name: pincfg-node.yaml
|
||||
include: base.yaml
|
||||
|
||||
properties:
|
||||
reg:
|
||||
|
|
@ -12,3 +10,6 @@ properties:
|
|||
|
||||
clocks:
|
||||
required: true
|
||||
|
||||
child-binding:
|
||||
include: pincfg-node.yaml
|
||||
|
|
|
|||
|
|
@ -50,11 +50,16 @@ description: |
|
|||
|
||||
compatible: "nxp,lpc-iocon-pinctrl"
|
||||
|
||||
include:
|
||||
- name: base.yaml
|
||||
- name: pincfg-node-group.yaml
|
||||
child-binding:
|
||||
child-binding:
|
||||
include: base.yaml
|
||||
|
||||
child-binding:
|
||||
description: LPC IOCON pin controller pin group
|
||||
child-binding:
|
||||
description: |
|
||||
LPC IOCON pin controller pin configuration node
|
||||
|
||||
include:
|
||||
- name: pincfg-node.yaml
|
||||
property-allowlist:
|
||||
- drive-open-drain
|
||||
- bias-pull-up
|
||||
|
|
@ -62,11 +67,6 @@ include:
|
|||
- drive-push-pull
|
||||
- input-schmitt-enable
|
||||
|
||||
child-binding:
|
||||
description: LPC IOCON pin controller pin group
|
||||
child-binding:
|
||||
description: |
|
||||
LPC IOCON pin controller pin configuration node
|
||||
properties:
|
||||
pinmux:
|
||||
required: true
|
||||
|
|
|
|||
|
|
@ -14,9 +14,15 @@ include:
|
|||
- nxp,analog-mode
|
||||
- nxp,i2c-mode
|
||||
- nxp,i2c-filter
|
||||
- name: pincfg-node-group.yaml
|
||||
child-binding:
|
||||
child-binding:
|
||||
|
||||
child-binding:
|
||||
description: LPC IOCON pin controller pin group
|
||||
child-binding:
|
||||
description: |
|
||||
LPC IOCON pin controller pin configuration node
|
||||
|
||||
include:
|
||||
- name: pincfg-node.yaml
|
||||
property-allowlist:
|
||||
- drive-open-drain
|
||||
- bias-pull-up
|
||||
|
|
@ -24,11 +30,6 @@ include:
|
|||
- drive-push-pull
|
||||
- input-schmitt-enable
|
||||
|
||||
child-binding:
|
||||
description: LPC IOCON pin controller pin group
|
||||
child-binding:
|
||||
description: |
|
||||
LPC IOCON pin controller pin configuration node
|
||||
properties:
|
||||
nxp,digital-filter:
|
||||
type: int
|
||||
|
|
|
|||
|
|
@ -48,24 +48,24 @@ description: |
|
|||
|
||||
compatible: "nxp,mcux-rt-pinctrl"
|
||||
|
||||
include:
|
||||
- name: base.yaml
|
||||
- name: pincfg-node-group.yaml
|
||||
child-binding:
|
||||
child-binding:
|
||||
property-allowlist:
|
||||
- input-schmitt-enable
|
||||
- drive-open-drain
|
||||
- input-enable
|
||||
- bias-disable
|
||||
- bias-pull-down
|
||||
- bias-pull-up
|
||||
include: base.yaml
|
||||
|
||||
child-binding:
|
||||
description: MCUX RT pin controller pin group
|
||||
child-binding:
|
||||
description: |
|
||||
MCUX RT pin controller pin configuration node.
|
||||
|
||||
include:
|
||||
- name: pincfg-node.yaml
|
||||
property-allowlist:
|
||||
- input-schmitt-enable
|
||||
- drive-open-drain
|
||||
- input-enable
|
||||
- bias-disable
|
||||
- bias-pull-down
|
||||
- bias-pull-up
|
||||
|
||||
properties:
|
||||
pinmux:
|
||||
required: true
|
||||
|
|
|
|||
|
|
@ -46,23 +46,23 @@ description: |
|
|||
|
||||
compatible: "nxp,mcux-rt11xx-pinctrl"
|
||||
|
||||
include:
|
||||
- name: base.yaml
|
||||
- name: pincfg-node-group.yaml
|
||||
child-binding:
|
||||
child-binding:
|
||||
property-allowlist:
|
||||
- drive-open-drain
|
||||
- input-enable
|
||||
- bias-disable
|
||||
- bias-pull-down
|
||||
- bias-pull-up
|
||||
include: base.yaml
|
||||
|
||||
child-binding:
|
||||
description: MCUX RT pin controller pin group
|
||||
child-binding:
|
||||
description: |
|
||||
MCUX RT pin controller pin configuration node.
|
||||
|
||||
include:
|
||||
- name: pincfg-node.yaml
|
||||
property-allowlist:
|
||||
- drive-open-drain
|
||||
- input-enable
|
||||
- bias-disable
|
||||
- bias-pull-down
|
||||
- bias-pull-up
|
||||
|
||||
properties:
|
||||
pinmux:
|
||||
required: true
|
||||
|
|
|
|||
|
|
@ -39,22 +39,22 @@ description: |
|
|||
|
||||
compatible: "nxp,rt-iocon-pinctrl"
|
||||
|
||||
include:
|
||||
- name: base.yaml
|
||||
- name: pincfg-node-group.yaml
|
||||
child-binding:
|
||||
child-binding:
|
||||
property-allowlist:
|
||||
- drive-open-drain
|
||||
- bias-pull-up
|
||||
- bias-pull-down
|
||||
- input-enable
|
||||
include: base.yaml
|
||||
|
||||
child-binding:
|
||||
description: iMX RT IOCON pin controller pin group
|
||||
child-binding:
|
||||
description: |
|
||||
iMX RT IOCON pin controller pin configuration node
|
||||
|
||||
include:
|
||||
- name: pincfg-node.yaml
|
||||
property-allowlist:
|
||||
- drive-open-drain
|
||||
- bias-pull-up
|
||||
- bias-pull-down
|
||||
- input-enable
|
||||
|
||||
properties:
|
||||
pinmux:
|
||||
required: true
|
||||
|
|
|
|||
|
|
@ -67,11 +67,15 @@ description: |
|
|||
|
||||
compatible: "nxp,s32ze-pinctrl"
|
||||
|
||||
include:
|
||||
- name: base.yaml
|
||||
- name: pincfg-node-group.yaml
|
||||
child-binding:
|
||||
child-binding:
|
||||
include: base.yaml
|
||||
|
||||
child-binding:
|
||||
description: NXP S32 pin controller pin group.
|
||||
child-binding:
|
||||
description: NXP S32 pin controller pin configuration node.
|
||||
|
||||
include:
|
||||
- name: pincfg-node.yaml
|
||||
property-allowlist:
|
||||
- bias-pull-down
|
||||
- bias-pull-up
|
||||
|
|
@ -80,10 +84,6 @@ include:
|
|||
- input-enable
|
||||
- output-enable
|
||||
|
||||
child-binding:
|
||||
description: NXP S32 pin controller pin group.
|
||||
child-binding:
|
||||
description: NXP S32 pin controller pin configuration node.
|
||||
properties:
|
||||
pinmux:
|
||||
required: true
|
||||
|
|
|
|||
|
|
@ -30,21 +30,21 @@ description: |
|
|||
|
||||
compatible: "openisa,rv32m1-pinctrl"
|
||||
|
||||
include:
|
||||
- name: base.yaml
|
||||
- name: pincfg-node-group.yaml
|
||||
child-binding:
|
||||
child-binding:
|
||||
property-allowlist:
|
||||
- drive-open-drain
|
||||
- bias-pull-up
|
||||
- bias-pull-down
|
||||
include: base.yaml
|
||||
|
||||
child-binding:
|
||||
description: RV32M1 pin controller pin group
|
||||
child-binding:
|
||||
description: |
|
||||
RV31M1 pin controller pin configuration node
|
||||
|
||||
include:
|
||||
- name: pincfg-node.yaml
|
||||
property-allowlist:
|
||||
- drive-open-drain
|
||||
- bias-pull-up
|
||||
- bias-pull-down
|
||||
|
||||
properties:
|
||||
pinmux:
|
||||
required: true
|
||||
|
|
|
|||
|
|
@ -1,139 +0,0 @@
|
|||
# Copyright (c) 2020, Linaro Limited
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
description: |
|
||||
Generic pin configuration schema.
|
||||
|
||||
This file is equivalent to pincfg-node.yaml but inserts properties at a
|
||||
grandchildren level, useful for group based representation.
|
||||
|
||||
child-binding:
|
||||
child-binding:
|
||||
description: |
|
||||
Many data items that are represented in a pin configuration node are
|
||||
common and generic. Pin control bindings should use the properties
|
||||
defined below where they are applicable; not all of these properties are
|
||||
relevant or useful for all hardware or binding structures. Each
|
||||
individual binding document should state which of these generic
|
||||
properties, if any, are used, and the structure of the DT nodes that
|
||||
contain these properties.
|
||||
|
||||
This is based on Linux, documentation:
|
||||
https://www.kernel.org/doc/Documentation/devicetree/bindings/pinctrl/pincfg-node.yaml
|
||||
|
||||
properties:
|
||||
bias-disable:
|
||||
type: boolean
|
||||
description: disable any pin bias
|
||||
|
||||
bias-high-impedance:
|
||||
type: boolean
|
||||
description: high impedance mode ("third-state", "floating")
|
||||
|
||||
bias-bus-hold:
|
||||
type: boolean
|
||||
description: latch weakly
|
||||
|
||||
bias-pull-up:
|
||||
type: boolean
|
||||
description: enable pull-up resistor
|
||||
|
||||
bias-pull-down:
|
||||
type: boolean
|
||||
description: enable pull-down resistor
|
||||
|
||||
bias-pull-pin-default:
|
||||
type: boolean
|
||||
description: use pin's default pull state
|
||||
|
||||
drive-push-pull:
|
||||
type: boolean
|
||||
description: drive actively high and low
|
||||
|
||||
drive-open-drain:
|
||||
type: boolean
|
||||
description: drive with open drain (hardware AND)
|
||||
|
||||
drive-open-source:
|
||||
type: boolean
|
||||
description: drive with open source (hardware OR)
|
||||
|
||||
drive-strength:
|
||||
type: int
|
||||
description: maximum sink or source current in mA
|
||||
|
||||
drive-strength-microamp:
|
||||
type: int
|
||||
description: maximum sink or source current in μA
|
||||
|
||||
input-enable:
|
||||
type: boolean
|
||||
description: |
|
||||
enable input on pin (no effect on output, such as enabling an input
|
||||
buffer)
|
||||
|
||||
input-disable:
|
||||
type: boolean
|
||||
description: |
|
||||
disable input on pin (no effect on output, such as disabling an input
|
||||
buffer)
|
||||
|
||||
input-schmitt-enable:
|
||||
type: boolean
|
||||
description: enable schmitt-trigger mode
|
||||
|
||||
input-schmitt-disable:
|
||||
type: boolean
|
||||
description: disable schmitt-trigger mode
|
||||
|
||||
input-debounce:
|
||||
type: int
|
||||
description: |
|
||||
Takes the debounce time in μsec, as argument or 0 to disable debouncing
|
||||
|
||||
power-source:
|
||||
type: int
|
||||
description: select between different power supplies
|
||||
|
||||
low-power-enable:
|
||||
type: boolean
|
||||
description: enable low power mode
|
||||
|
||||
low-power-disable:
|
||||
type: boolean
|
||||
description: disable low power mode
|
||||
|
||||
output-disable:
|
||||
type: boolean
|
||||
description: disable output on a pin (such as disable an output buffer)
|
||||
|
||||
output-enable:
|
||||
type: boolean
|
||||
description: |
|
||||
enable output on a pin without actively driving it (such as enabling
|
||||
an output buffer)
|
||||
|
||||
output-low:
|
||||
type: boolean
|
||||
description: set the pin to output mode with low level
|
||||
|
||||
output-high:
|
||||
type: boolean
|
||||
description: set the pin to output mode with high level
|
||||
|
||||
sleep-hardware-state:
|
||||
type: boolean
|
||||
description: |
|
||||
indicate this is sleep related state which will be programmed into
|
||||
the registers for the sleep state
|
||||
|
||||
slew-rate:
|
||||
type: int
|
||||
description: set the slew rate
|
||||
|
||||
skew-delay:
|
||||
type: int
|
||||
description: |
|
||||
This affects the expected clock skew on input pins and the delay
|
||||
before latching a value to an output pin. Typically indicates how
|
||||
many double-inverters are used to delay the signal.
|
||||
|
|
@ -1,134 +1,133 @@
|
|||
# Copyright (c) 2020, Linaro Limited
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
description: Generic pin configuration schema
|
||||
description: |
|
||||
Generic pin configuration schema
|
||||
|
||||
child-binding:
|
||||
Many data items that are represented in a pin configuration node are
|
||||
common and generic. Pin control bindings should use the properties
|
||||
defined below where they are applicable; not all of these properties are
|
||||
relevant or useful for all hardware or binding structures. Each
|
||||
individual binding document should state which of these generic
|
||||
properties, if any, are used, and the structure of the DT nodes that
|
||||
contain these properties.
|
||||
|
||||
This is based on Linux, documentation:
|
||||
https://www.kernel.org/doc/Documentation/devicetree/bindings/pinctrl/pincfg-node.yaml
|
||||
|
||||
properties:
|
||||
bias-disable:
|
||||
type: boolean
|
||||
description: disable any pin bias
|
||||
|
||||
bias-high-impedance:
|
||||
type: boolean
|
||||
description: high impedance mode ("third-state", "floating")
|
||||
|
||||
bias-bus-hold:
|
||||
type: boolean
|
||||
description: latch weakly
|
||||
|
||||
bias-pull-up:
|
||||
type: boolean
|
||||
description: enable pull-up resistor
|
||||
|
||||
bias-pull-down:
|
||||
type: boolean
|
||||
description: enable pull-down resistor
|
||||
|
||||
bias-pull-pin-default:
|
||||
type: boolean
|
||||
description: use pin's default pull state
|
||||
|
||||
drive-push-pull:
|
||||
type: boolean
|
||||
description: drive actively high and low
|
||||
|
||||
drive-open-drain:
|
||||
type: boolean
|
||||
description: drive with open drain (hardware AND)
|
||||
|
||||
drive-open-source:
|
||||
type: boolean
|
||||
description: drive with open source (hardware OR)
|
||||
|
||||
drive-strength:
|
||||
type: int
|
||||
description: maximum sink or source current in mA
|
||||
|
||||
drive-strength-microamp:
|
||||
type: int
|
||||
description: maximum sink or source current in μA
|
||||
|
||||
input-enable:
|
||||
type: boolean
|
||||
description: |
|
||||
Many data items that are represented in a pin configuration node are
|
||||
common and generic. Pin control bindings should use the properties
|
||||
defined below where they are applicable; not all of these properties are
|
||||
relevant or useful for all hardware or binding structures. Each
|
||||
individual binding document should state which of these generic
|
||||
properties, if any, are used, and the structure of the DT nodes that
|
||||
contain these properties.
|
||||
enable input on pin (no effect on output, such as enabling an input
|
||||
buffer)
|
||||
|
||||
This is based on Linux, documentation:
|
||||
https://www.kernel.org/doc/Documentation/devicetree/bindings/pinctrl/pincfg-node.yaml
|
||||
input-disable:
|
||||
type: boolean
|
||||
description: |
|
||||
disable input on pin (no effect on output, such as disabling an input
|
||||
buffer)
|
||||
|
||||
properties:
|
||||
bias-disable:
|
||||
type: boolean
|
||||
description: disable any pin bias
|
||||
input-schmitt-enable:
|
||||
type: boolean
|
||||
description: enable schmitt-trigger mode
|
||||
|
||||
bias-high-impedance:
|
||||
type: boolean
|
||||
description: high impedance mode ("third-state", "floating")
|
||||
input-schmitt-disable:
|
||||
type: boolean
|
||||
description: disable schmitt-trigger mode
|
||||
|
||||
bias-bus-hold:
|
||||
type: boolean
|
||||
description: latch weakly
|
||||
input-debounce:
|
||||
type: int
|
||||
description: |
|
||||
Takes the debounce time in μsec, as argument or 0 to disable debouncing
|
||||
|
||||
bias-pull-up:
|
||||
type: boolean
|
||||
description: enable pull-up resistor
|
||||
power-source:
|
||||
type: int
|
||||
description: select between different power supplies
|
||||
|
||||
bias-pull-down:
|
||||
type: boolean
|
||||
description: enable pull-down resistor
|
||||
low-power-enable:
|
||||
type: boolean
|
||||
description: enable low power mode
|
||||
|
||||
bias-pull-pin-default:
|
||||
type: boolean
|
||||
description: use pin's default pull state
|
||||
low-power-disable:
|
||||
type: boolean
|
||||
description: disable low power mode
|
||||
|
||||
drive-push-pull:
|
||||
type: boolean
|
||||
description: drive actively high and low
|
||||
output-disable:
|
||||
type: boolean
|
||||
description: disable output on a pin (such as disable an output buffer)
|
||||
|
||||
drive-open-drain:
|
||||
type: boolean
|
||||
description: drive with open drain (hardware AND)
|
||||
output-enable:
|
||||
type: boolean
|
||||
description: |
|
||||
enable output on a pin without actively driving it (such as enabling
|
||||
an output buffer)
|
||||
|
||||
drive-open-source:
|
||||
type: boolean
|
||||
description: drive with open source (hardware OR)
|
||||
output-low:
|
||||
type: boolean
|
||||
description: set the pin to output mode with low level
|
||||
|
||||
drive-strength:
|
||||
type: int
|
||||
description: maximum sink or source current in mA
|
||||
output-high:
|
||||
type: boolean
|
||||
description: set the pin to output mode with high level
|
||||
|
||||
drive-strength-microamp:
|
||||
type: int
|
||||
description: maximum sink or source current in μA
|
||||
sleep-hardware-state:
|
||||
type: boolean
|
||||
description: |
|
||||
indicate this is sleep related state which will be programmed into
|
||||
the registers for the sleep state
|
||||
|
||||
input-enable:
|
||||
type: boolean
|
||||
description: |
|
||||
enable input on pin (no effect on output, such as enabling an input
|
||||
buffer)
|
||||
slew-rate:
|
||||
type: int
|
||||
description: set the slew rate
|
||||
|
||||
input-disable:
|
||||
type: boolean
|
||||
description: |
|
||||
disable input on pin (no effect on output, such as disabling an input
|
||||
buffer)
|
||||
|
||||
input-schmitt-enable:
|
||||
type: boolean
|
||||
description: enable schmitt-trigger mode
|
||||
|
||||
input-schmitt-disable:
|
||||
type: boolean
|
||||
description: disable schmitt-trigger mode
|
||||
|
||||
input-debounce:
|
||||
type: int
|
||||
description: |
|
||||
Takes the debounce time in μsec, as argument or 0 to disable debouncing
|
||||
|
||||
power-source:
|
||||
type: int
|
||||
description: select between different power supplies
|
||||
|
||||
low-power-enable:
|
||||
type: boolean
|
||||
description: enable low power mode
|
||||
|
||||
low-power-disable:
|
||||
type: boolean
|
||||
description: disable low power mode
|
||||
|
||||
output-disable:
|
||||
type: boolean
|
||||
description: disable output on a pin (such as disable an output buffer)
|
||||
|
||||
output-enable:
|
||||
type: boolean
|
||||
description: |
|
||||
enable output on a pin without actively driving it (such as enabling
|
||||
an output buffer)
|
||||
|
||||
output-low:
|
||||
type: boolean
|
||||
description: set the pin to output mode with low level
|
||||
|
||||
output-high:
|
||||
type: boolean
|
||||
description: set the pin to output mode with high level
|
||||
|
||||
sleep-hardware-state:
|
||||
type: boolean
|
||||
description: |
|
||||
indicate this is sleep related state which will be programmed into
|
||||
the registers for the sleep state
|
||||
|
||||
slew-rate:
|
||||
type: int
|
||||
description: set the slew rate
|
||||
|
||||
skew-delay:
|
||||
type: int
|
||||
description: |
|
||||
This affects the expected clock skew on input pins and the delay
|
||||
before latching a value to an output pin. Typically indicates how
|
||||
many double-inverters are used to delay the signal.
|
||||
skew-delay:
|
||||
type: int
|
||||
description: |
|
||||
This affects the expected clock skew on input pins and the delay
|
||||
before latching a value to an output pin. Typically indicates how
|
||||
many double-inverters are used to delay the signal.
|
||||
|
|
|
|||
|
|
@ -77,24 +77,24 @@ description: |
|
|||
|
||||
compatible: "raspberrypi,pico-pinctrl"
|
||||
|
||||
include:
|
||||
- name: base.yaml
|
||||
- name: pincfg-node-group.yaml
|
||||
child-binding:
|
||||
child-binding:
|
||||
property-allowlist:
|
||||
- bias-disable
|
||||
- bias-pull-down
|
||||
- bias-pull-up
|
||||
- input-enable
|
||||
- input-schmitt-enable
|
||||
- drive-strength
|
||||
- slew-rate
|
||||
include: base.yaml
|
||||
|
||||
child-binding:
|
||||
description: |
|
||||
Definitions for a pinctrl state.
|
||||
child-binding:
|
||||
|
||||
include:
|
||||
- name: pincfg-node.yaml
|
||||
property-allowlist:
|
||||
- bias-disable
|
||||
- bias-pull-down
|
||||
- bias-pull-up
|
||||
- input-enable
|
||||
- input-schmitt-enable
|
||||
- drive-strength
|
||||
- slew-rate
|
||||
|
||||
properties:
|
||||
pinmux:
|
||||
required: true
|
||||
|
|
|
|||
|
|
@ -65,15 +65,7 @@ description: |
|
|||
|
||||
compatible: "renesas,rcar-pfc"
|
||||
|
||||
include:
|
||||
- name: base.yaml
|
||||
- name: pincfg-node.yaml
|
||||
child-binding:
|
||||
property-allowlist:
|
||||
- bias-disable
|
||||
- bias-pull-down
|
||||
- bias-pull-up
|
||||
- drive-strength
|
||||
include: base.yaml
|
||||
|
||||
properties:
|
||||
reg:
|
||||
|
|
@ -82,6 +74,15 @@ properties:
|
|||
child-binding:
|
||||
description: |
|
||||
This binding gives a base representation of the R-Car pins configuration.
|
||||
|
||||
include:
|
||||
- name: pincfg-node.yaml
|
||||
property-allowlist:
|
||||
- bias-disable
|
||||
- bias-pull-down
|
||||
- bias-pull-up
|
||||
- drive-strength
|
||||
|
||||
properties:
|
||||
pin:
|
||||
type: array
|
||||
|
|
|
|||
|
|
@ -71,19 +71,19 @@ description: |
|
|||
|
||||
compatible: "renesas,smartbond-pinctrl"
|
||||
|
||||
include:
|
||||
- name: base.yaml
|
||||
- name: pincfg-node-group.yaml
|
||||
child-binding:
|
||||
child-binding:
|
||||
property-allowlist:
|
||||
- bias-pull-down
|
||||
- bias-pull-up
|
||||
include: base.yaml
|
||||
|
||||
child-binding:
|
||||
description: |
|
||||
Definitions for a pinctrl state.
|
||||
child-binding:
|
||||
|
||||
include:
|
||||
- name: pincfg-node.yaml
|
||||
property-allowlist:
|
||||
- bias-pull-down
|
||||
- bias-pull-up
|
||||
|
||||
properties:
|
||||
pinmux:
|
||||
required: true
|
||||
|
|
|
|||
|
|
@ -11,18 +11,7 @@ description: |
|
|||
|
||||
compatible: "st,stm32-pinctrl"
|
||||
|
||||
include:
|
||||
- name: base.yaml
|
||||
- name: pincfg-node.yaml
|
||||
child-binding:
|
||||
property-allowlist:
|
||||
- bias-disable
|
||||
- bias-pull-down
|
||||
- bias-pull-up
|
||||
- drive-push-pull
|
||||
- drive-open-drain
|
||||
- output-low
|
||||
- output-high
|
||||
include: base.yaml
|
||||
|
||||
properties:
|
||||
reg:
|
||||
|
|
@ -47,6 +36,17 @@ child-binding:
|
|||
description: |
|
||||
This binding gives a base representation of the STM32 pins configration
|
||||
|
||||
include:
|
||||
- name: pincfg-node.yaml
|
||||
property-allowlist:
|
||||
- bias-disable
|
||||
- bias-pull-down
|
||||
- bias-pull-up
|
||||
- drive-push-pull
|
||||
- drive-open-drain
|
||||
- output-low
|
||||
- output-high
|
||||
|
||||
properties:
|
||||
pinmux:
|
||||
required: true
|
||||
|
|
|
|||
|
|
@ -11,18 +11,7 @@ description: |
|
|||
|
||||
compatible: "st,stm32f1-pinctrl"
|
||||
|
||||
include:
|
||||
- name: base.yaml
|
||||
- name: pincfg-node.yaml
|
||||
child-binding:
|
||||
property-allowlist:
|
||||
- bias-disable
|
||||
- bias-pull-down
|
||||
- bias-pull-up
|
||||
- drive-push-pull
|
||||
- drive-open-drain
|
||||
- output-low
|
||||
- output-high
|
||||
include: base.yaml
|
||||
|
||||
properties:
|
||||
reg:
|
||||
|
|
@ -54,6 +43,17 @@ child-binding:
|
|||
This binding gives a base representation of the STM32F1 pins
|
||||
configration
|
||||
|
||||
include:
|
||||
- name: pincfg-node.yaml
|
||||
property-allowlist:
|
||||
- bias-disable
|
||||
- bias-pull-down
|
||||
- bias-pull-up
|
||||
- drive-push-pull
|
||||
- drive-open-drain
|
||||
- output-low
|
||||
- output-high
|
||||
|
||||
properties:
|
||||
pinmux:
|
||||
required: true
|
||||
|
|
|
|||
|
|
@ -63,14 +63,7 @@ description: |
|
|||
|
||||
compatible: "telink,b91-pinctrl"
|
||||
|
||||
include:
|
||||
- name: base.yaml
|
||||
- name: pincfg-node.yaml
|
||||
child-binding:
|
||||
property-allowlist:
|
||||
- bias-disable
|
||||
- bias-pull-down
|
||||
- bias-pull-up
|
||||
include: base.yaml
|
||||
|
||||
properties:
|
||||
reg:
|
||||
|
|
@ -92,6 +85,13 @@ child-binding:
|
|||
description: |
|
||||
This binding gives a base representation of the Telink B91 pins configration.
|
||||
|
||||
include:
|
||||
- name: pincfg-node.yaml
|
||||
property-allowlist:
|
||||
- bias-disable
|
||||
- bias-pull-down
|
||||
- bias-pull-up
|
||||
|
||||
properties:
|
||||
pinmux:
|
||||
required: true
|
||||
|
|
|
|||
|
|
@ -59,18 +59,7 @@ description: |
|
|||
|
||||
compatible: "ti,cc13xx-cc26xx-pinctrl"
|
||||
|
||||
include:
|
||||
- name: base.yaml
|
||||
- name: pincfg-node.yaml
|
||||
child-binding:
|
||||
property-allowlist:
|
||||
- bias-disable
|
||||
- bias-pull-down
|
||||
- bias-pull-up
|
||||
- drive-open-drain
|
||||
- drive-open-source
|
||||
- input-enable
|
||||
- input-schmitt-enable
|
||||
include: base.yaml
|
||||
|
||||
properties:
|
||||
reg:
|
||||
|
|
@ -80,6 +69,18 @@ child-binding:
|
|||
description: |
|
||||
This binding gives a base representation of the CC13XX/CC26XX
|
||||
pins configuration.
|
||||
|
||||
include:
|
||||
- name: pincfg-node.yaml
|
||||
property-allowlist:
|
||||
- bias-disable
|
||||
- bias-pull-down
|
||||
- bias-pull-up
|
||||
- drive-open-drain
|
||||
- drive-open-source
|
||||
- input-enable
|
||||
- input-schmitt-enable
|
||||
|
||||
properties:
|
||||
pinmux:
|
||||
required: true
|
||||
|
|
|
|||
|
|
@ -47,19 +47,7 @@ description: |
|
|||
|
||||
compatible: "xlnx,pinctrl-zynq"
|
||||
|
||||
include:
|
||||
- name: base.yaml
|
||||
- name: pincfg-node-group.yaml
|
||||
child-binding:
|
||||
child-binding:
|
||||
property-allowlist:
|
||||
- bias-disable
|
||||
- bias-high-impedance
|
||||
- bias-pull-up
|
||||
- low-power-enable
|
||||
- low-power-disable
|
||||
- power-source
|
||||
- slew-rate
|
||||
include: base.yaml
|
||||
|
||||
properties:
|
||||
reg:
|
||||
|
|
@ -81,6 +69,17 @@ child-binding:
|
|||
description: |
|
||||
Xilinx Zynq 7000 SoC pin configuration node
|
||||
|
||||
include:
|
||||
- name: pincfg-node.yaml
|
||||
property-allowlist:
|
||||
- bias-disable
|
||||
- bias-high-impedance
|
||||
- bias-pull-up
|
||||
- low-power-enable
|
||||
- low-power-disable
|
||||
- power-source
|
||||
- slew-rate
|
||||
|
||||
properties:
|
||||
groups:
|
||||
type: string-array
|
||||
|
|
|
|||
|
|
@ -6,14 +6,7 @@ description: |
|
|||
|
||||
compatible: "vnd,pinctrl-test"
|
||||
|
||||
include:
|
||||
- name: base.yaml
|
||||
- name: pincfg-node-group.yaml
|
||||
child-binding:
|
||||
child-binding:
|
||||
property-allowlist:
|
||||
- bias-pull-down
|
||||
- bias-pull-up
|
||||
include: base.yaml
|
||||
|
||||
child-binding:
|
||||
description: |
|
||||
|
|
@ -49,6 +42,12 @@ child-binding:
|
|||
- bias-pull-up: Enable pull-up resistor.
|
||||
- bias-pull-down: Enable pull-down resistor.
|
||||
|
||||
include:
|
||||
- name: pincfg-node.yaml
|
||||
property-allowlist:
|
||||
- bias-pull-down
|
||||
- bias-pull-up
|
||||
|
||||
properties:
|
||||
pins:
|
||||
required: true
|
||||
|
|
|
|||
Loading…
Reference in a new issue