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