From e085c9cda36cbf8bab7ffcd11639021579dbaec4 Mon Sep 17 00:00:00 2001 From: Lijuan Gao Date: Tue, 22 Sep 2020 19:57:27 +0800 Subject: [PATCH] bindings: pinctrl: Add device-tree bindings for SDNIGHTJAR pinctrl driver Add documentation describing the device-tree properties for the nightjar pinctrl driver. Change-Id: Ibb21c577b3672364247cfdf5b98154948ea03444 --- bindings/pinctrl/qcom,sdxnightjar-pinctrl.txt | 139 ++++++++++++++++++ 1 file changed, 139 insertions(+) create mode 100644 bindings/pinctrl/qcom,sdxnightjar-pinctrl.txt diff --git a/bindings/pinctrl/qcom,sdxnightjar-pinctrl.txt b/bindings/pinctrl/qcom,sdxnightjar-pinctrl.txt new file mode 100644 index 000000000000..73b73620978a --- /dev/null +++ b/bindings/pinctrl/qcom,sdxnightjar-pinctrl.txt @@ -0,0 +1,139 @@ +QTI SDXNIGHTJAR TLMM block + +This binding describes the Top Level Mode Multiplexer block found in the +SDXNIGHTJAR platform. + +- compatible: + Usage: required + Value type: + Definition: must be "qcom,sdxnightjar-pinctrl" + +- reg: + Usage: required + Value type: + Definition: the base address and size of the TLMM register space. + +- interrupts: + Usage: required + Value type: + Definition: should specify the TLMM summary IRQ. + +- interrupt-controller: + Usage: required + Value type: + Definition: identifies this node as an interrupt controller + +- #interrupt-cells: + Usage: required + Value type: + Definition: must be 2. Specifying the pin number and flags, as defined + in + +- gpio-controller: + Usage: required + Value type: + Definition: identifies this node as a gpio controller + +- #gpio-cells: + Usage: required + Value type: + Definition: must be 2. Specifying the pin number and flags, as defined + in + +Please refer to ../gpio/gpio.txt and ../interrupt-controller/interrupts.txt for +a general description of GPIO and interrupt bindings. + +Please refer to pinctrl-bindings.txt in this directory for details of the +common pinctrl bindings used by client devices, including the meaning of the +phrase "pin configuration node". + +The pin configuration nodes act as a container for an arbitrary number of +subnodes. Each of these subnodes represents some desired configuration for a +pin, a group, or a list of pins or groups. This configuration can include the +mux function to select on those pin(s)/group(s), and various pin configuration +parameters, such as pull-up, drive strength, etc. + + +PIN CONFIGURATION NODES: + +The name of each subnode is not important; all subnodes should be enumerated +and processed purely based on their content. + +Each subnode only affects those parameters that are explicitly listed. In +other words, a subnode that lists a mux function but no pin configuration +parameters implies no information about any pin configuration parameters. +Similarly, a pin subnode that describes a pullup parameter implies no +information about e.g. the mux function. + + +The following generic properties as defined in pinctrl-bindings.txt are valid +to specify in a pin configuration subnode: + +- pins: + Usage: required + Value type: + Definition: List of gpio pins affected by the properties specified in + this subnode. + +- function: + Usage: required + Value type: + Definition: Specify the alternative function to be configured for the + specified pins. + +- bias-disable: + Usage: optional + Value type: + Definition: The specified pins should be configured as no pull. + +- bias-pull-down: + Usage: optional + Value type: + Definition: The specified pins should be configured as pull down. + +- bias-pull-up: + Usage: optional + Value type: + Definition: The specified pins should be configured as pull up. + +- output-high: + Usage: optional + Value type: + Definition: The specified pins are configured in output mode, driven + high. + +- output-low: + Usage: optional + Value type: + Definition: The specified pins are configured in output mode, driven + low. + +- drive-strength: + Usage: optional + Value type: + Definition: Selects the drive strength for the specified pins, in mA. + +Example: + + tlmm_pinmux: pinctrl@1000000 { + compatible = "qcom,mdm9650-pinctrl"; + reg = <0x1000000 0x300000>; + interrupts = <0 208 0>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + + uart1_console_active: uart1_console_active { + mux { + pins = "gpio0", "gpio1"; + function = "blsp_uart1"; + }; + + config { + pins = "gpio0", "gpio1"; + drive-strength = <2>; + bias-disable; + }; + }; + };