1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- 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.
|