pinctrl: dt-binding: document Conexant CX92755 SoC
Add pinctrl device tree binding documentation for the General Purpose Pin Mapping module of the Conexant CX92755 SoC. Signed-off-by: Baruch Siach <baruch@tkos.co.il> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
parent
ab4a936247
commit
cbc59e26e9
|
@ -0,0 +1,86 @@
|
|||
Conexant Digicolor CX92755 General Purpose Pin Mapping
|
||||
|
||||
This document describes the device tree binding of the pin mapping hardware
|
||||
modules in the Conexant Digicolor CX92755 SoCs. The CX92755 in one of the
|
||||
Digicolor series of SoCs.
|
||||
|
||||
=== Pin Controller Node ===
|
||||
|
||||
Required Properties:
|
||||
|
||||
- compatible: Must be "cnxt,cx92755-pinctrl"
|
||||
- reg: Base address of the General Purpose Pin Mapping register block and the
|
||||
size of the block.
|
||||
- gpio-controller: Marks the device node as a GPIO controller.
|
||||
- #gpio-cells: Must be <2>. The first cell is the pin number and the
|
||||
second cell is used to specify flags. See include/dt-bindings/gpio/gpio.h
|
||||
for possible values.
|
||||
|
||||
For example, the following is the bare minimum node:
|
||||
|
||||
pinctrl: pinctrl@f0000e20 {
|
||||
compatible = "cnxt,cx92755-pinctrl";
|
||||
reg = <0xf0000e20 0x100>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
};
|
||||
|
||||
As a pin controller device, in addition to the required properties, this node
|
||||
should also contain the pin configuration nodes that client devices reference,
|
||||
if any.
|
||||
|
||||
For a general description of GPIO bindings, please refer to ../gpio/gpio.txt.
|
||||
|
||||
=== Pin Configuration Node ===
|
||||
|
||||
Each pin configuration node is a sub-node of the pin controller node and is a
|
||||
container of an arbitrary number of subnodes, called pin group nodes in this
|
||||
document.
|
||||
|
||||
Please refer to the pinctrl-bindings.txt in this directory for details of the
|
||||
common pinctrl bindings used by client devices, including the definition of a
|
||||
"pin configuration node".
|
||||
|
||||
=== Pin Group Node ===
|
||||
|
||||
A pin group node specifies the desired pin mux for an arbitrary number of
|
||||
pins. The name of the pin group node is optional and not used.
|
||||
|
||||
A pin group node only affects the properties specified in the node, and has no
|
||||
effect on any properties that are omitted.
|
||||
|
||||
The pin group node accepts a subset of the generic pin config properties. For
|
||||
details generic pin config properties, please refer to pinctrl-bindings.txt
|
||||
and <include/linux/pinctrl/pinconfig-generic.h>.
|
||||
|
||||
Required Pin Group Node Properties:
|
||||
|
||||
- pins: Multiple strings. Specifies the name(s) of one or more pins to be
|
||||
configured by this node. The format of a pin name string is "GP_xy", where x
|
||||
is an uppercase character from 'A' to 'R', and y is a digit from 0 to 7.
|
||||
- function: String. Specifies the pin mux selection. Values must be one of:
|
||||
"gpio", "client_a", "client_b", "client_c"
|
||||
|
||||
Example:
|
||||
pinctrl: pinctrl@f0000e20 {
|
||||
compatible = "cnxt,cx92755-pinctrl";
|
||||
reg = <0xf0000e20 0x100>;
|
||||
|
||||
uart0_default: uart0_active {
|
||||
data_signals {
|
||||
pins = "GP_O0", "GP_O1";
|
||||
function = "client_b";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
uart0: uart@f0000740 {
|
||||
compatible = "cnxt,cx92755-usart";
|
||||
...
|
||||
pinctrl-0 = <&uart0_default>;
|
||||
pinctrl-names = "default";
|
||||
};
|
||||
|
||||
In the example above, a single pin group configuration node defines the
|
||||
"client select" for the Rx and Tx signals of uart0. The uart0 node references
|
||||
that pin configuration node using the &uart0_default phandle.
|
Loading…
Reference in New Issue