1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-C 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2 %YAML 1.2 2 %YAML 1.2 3 --- 3 --- 4 $id: http://devicetree.org/schemas/pinctrl/qco 4 $id: http://devicetree.org/schemas/pinctrl/qcom,pmic-mpp.yaml# 5 $schema: http://devicetree.org/meta-schemas/co 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 6 6 7 title: Qualcomm PMIC Multi-Purpose Pin (MPP) b 7 title: Qualcomm PMIC Multi-Purpose Pin (MPP) block 8 8 9 maintainers: 9 maintainers: 10 - Bjorn Andersson <bjorn.andersson@linaro.org 10 - Bjorn Andersson <bjorn.andersson@linaro.org> 11 11 12 description: 12 description: 13 This binding describes the MPP block(s) foun 13 This binding describes the MPP block(s) found in the 8xxx series of 14 PMIC's from Qualcomm. 14 PMIC's from Qualcomm. 15 15 16 properties: 16 properties: 17 compatible: 17 compatible: 18 oneOf: 18 oneOf: 19 - items: 19 - items: 20 - enum: 20 - enum: 21 - qcom,pm8019-mpp 21 - qcom,pm8019-mpp 22 - qcom,pm8226-mpp 22 - qcom,pm8226-mpp 23 - qcom,pm8841-mpp 23 - qcom,pm8841-mpp 24 - qcom,pm8916-mpp 24 - qcom,pm8916-mpp 25 - qcom,pm8941-mpp 25 - qcom,pm8941-mpp 26 - qcom,pm8950-mpp 26 - qcom,pm8950-mpp 27 - qcom,pmi8950-mpp 27 - qcom,pmi8950-mpp 28 - qcom,pm8994-mpp 28 - qcom,pm8994-mpp 29 - qcom,pma8084-mpp 29 - qcom,pma8084-mpp 30 - qcom,pmi8994-mpp 30 - qcom,pmi8994-mpp 31 - const: qcom,spmi-mpp 31 - const: qcom,spmi-mpp 32 - items: 32 - items: 33 - enum: 33 - enum: 34 - qcom,pm8018-mpp 34 - qcom,pm8018-mpp 35 - qcom,pm8038-mpp 35 - qcom,pm8038-mpp 36 - qcom,pm8058-mpp 36 - qcom,pm8058-mpp 37 - qcom,pm8821-mpp 37 - qcom,pm8821-mpp 38 - qcom,pm8901-mpp 38 - qcom,pm8901-mpp 39 - qcom,pm8917-mpp 39 - qcom,pm8917-mpp 40 - qcom,pm8921-mpp 40 - qcom,pm8921-mpp 41 - const: qcom,ssbi-mpp 41 - const: qcom,ssbi-mpp 42 42 43 reg: 43 reg: 44 maxItems: 1 44 maxItems: 1 45 45 46 interrupt-controller: true 46 interrupt-controller: true 47 47 48 '#interrupt-cells': 48 '#interrupt-cells': 49 const: 2 49 const: 2 50 50 51 gpio-controller: true 51 gpio-controller: true 52 gpio-line-names: true 52 gpio-line-names: true 53 53 54 gpio-ranges: 54 gpio-ranges: 55 maxItems: 1 55 maxItems: 1 56 56 57 '#gpio-cells': 57 '#gpio-cells': 58 const: 2 58 const: 2 59 description: 59 description: 60 The first cell will be used to define gp 60 The first cell will be used to define gpio number and the 61 second denotes the flags for this gpio 61 second denotes the flags for this gpio 62 62 63 additionalProperties: false 63 additionalProperties: false 64 64 65 required: 65 required: 66 - compatible 66 - compatible 67 - reg 67 - reg 68 - gpio-controller 68 - gpio-controller 69 - '#gpio-cells' 69 - '#gpio-cells' 70 - gpio-ranges 70 - gpio-ranges 71 - interrupt-controller 71 - interrupt-controller 72 72 73 patternProperties: 73 patternProperties: 74 '-state$': 74 '-state$': 75 oneOf: 75 oneOf: 76 - $ref: "#/$defs/qcom-pmic-mpp-state" 76 - $ref: "#/$defs/qcom-pmic-mpp-state" 77 - patternProperties: 77 - patternProperties: 78 '-pins$': 78 '-pins$': 79 $ref: "#/$defs/qcom-pmic-mpp-state 79 $ref: "#/$defs/qcom-pmic-mpp-state" 80 additionalProperties: false 80 additionalProperties: false 81 81 82 $defs: 82 $defs: 83 qcom-pmic-mpp-state: 83 qcom-pmic-mpp-state: 84 type: object 84 type: object 85 allOf: 85 allOf: 86 - $ref: pinmux-node.yaml 86 - $ref: pinmux-node.yaml 87 - $ref: pincfg-node.yaml 87 - $ref: pincfg-node.yaml 88 properties: 88 properties: 89 pins: 89 pins: 90 description: 90 description: 91 List of gpio pins affected by the pr 91 List of gpio pins affected by the properties specified in 92 this subnode. Valid pins are 92 this subnode. Valid pins are 93 - mpp1-mpp4 for pm8841 93 - mpp1-mpp4 for pm8841 94 - mpp1-mpp4 for pm8916 94 - mpp1-mpp4 for pm8916 95 - mpp1-mpp8 for pm8941 95 - mpp1-mpp8 for pm8941 96 - mpp1-mpp4 for pm8950 96 - mpp1-mpp4 for pm8950 97 - mpp1-mpp4 for pmi8950 97 - mpp1-mpp4 for pmi8950 98 - mpp1-mpp4 for pma8084 98 - mpp1-mpp4 for pma8084 99 99 100 items: 100 items: 101 pattern: "^mpp([0-9]+)$" 101 pattern: "^mpp([0-9]+)$" 102 102 103 function: 103 function: 104 items: 104 items: 105 - enum: 105 - enum: 106 - digital 106 - digital 107 - analog 107 - analog 108 - sink 108 - sink 109 109 110 bias-disable: true 110 bias-disable: true 111 bias-pull-up: true 111 bias-pull-up: true 112 bias-high-impedance: true 112 bias-high-impedance: true 113 input-enable: true 113 input-enable: true 114 output-high: true 114 output-high: true 115 output-low: true 115 output-low: true 116 power-source: true 116 power-source: true 117 117 118 qcom,analog-level: 118 qcom,analog-level: 119 $ref: /schemas/types.yaml#/definitions 119 $ref: /schemas/types.yaml#/definitions/uint32 120 description: 120 description: 121 Selects the source for analog output 121 Selects the source for analog output. Valued values are defined in 122 <dt-binding/pinctrl/qcom,pmic-mpp.h> 122 <dt-binding/pinctrl/qcom,pmic-mpp.h> PMIC_MPP_AOUT_LVL_* 123 enum: [0, 1, 2, 3, 4, 5, 6, 7] 123 enum: [0, 1, 2, 3, 4, 5, 6, 7] 124 124 125 qcom,atest: 125 qcom,atest: 126 $ref: /schemas/types.yaml#/definitions 126 $ref: /schemas/types.yaml#/definitions/uint32 127 description: 127 description: 128 Selects ATEST rail to route to GPIO 128 Selects ATEST rail to route to GPIO when it's 129 configured in analog-pass-through mo 129 configured in analog-pass-through mode. 130 enum: [1, 2, 3, 4] 130 enum: [1, 2, 3, 4] 131 131 132 qcom,dtest: 132 qcom,dtest: 133 $ref: /schemas/types.yaml#/definitions 133 $ref: /schemas/types.yaml#/definitions/uint32 134 description: 134 description: 135 Selects DTEST rail to route to GPIO 135 Selects DTEST rail to route to GPIO when it's 136 configured as digital input. 136 configured as digital input. 137 enum: [1, 2, 3, 4] 137 enum: [1, 2, 3, 4] 138 138 139 qcom,amux-route: 139 qcom,amux-route: 140 $ref: /schemas/types.yaml#/definitions 140 $ref: /schemas/types.yaml#/definitions/uint32 141 description: 141 description: 142 Selects the source for analog input. 142 Selects the source for analog input. Valid values are defined in 143 <dt-bindings/pinctrl/qcom,pmic-mpp.h 143 <dt-bindings/pinctrl/qcom,pmic-mpp.h> PMIC_MPP_AMUX_ROUTE_CH5, 144 PMIC_MPP_AMUX_ROUTE_CH6... 144 PMIC_MPP_AMUX_ROUTE_CH6... 145 enum: [0, 1, 2, 3, 4, 5, 6, 7] 145 enum: [0, 1, 2, 3, 4, 5, 6, 7] 146 146 147 qcom,paired: 147 qcom,paired: 148 type: boolean 148 type: boolean 149 description: 149 description: 150 Indicates that the pin should be ope 150 Indicates that the pin should be operating in paired mode. 151 151 152 required: 152 required: 153 - pins 153 - pins 154 - function 154 - function 155 155 156 additionalProperties: false 156 additionalProperties: false 157 157 158 examples: 158 examples: 159 - | 159 - | 160 #include <dt-bindings/pinctrl/qcom,pmic-mp 160 #include <dt-bindings/pinctrl/qcom,pmic-mpp.h> 161 161 162 pmic { 162 pmic { 163 #address-cells = <1>; 163 #address-cells = <1>; 164 #size-cells = <0>; 164 #size-cells = <0>; 165 165 166 pm8841_mpp: mpps@a000 { 166 pm8841_mpp: mpps@a000 { 167 compatible = "qcom,pm8841-mpp", "q 167 compatible = "qcom,pm8841-mpp", "qcom,spmi-mpp"; 168 reg = <0xa000>; 168 reg = <0xa000>; 169 169 170 gpio-controller; 170 gpio-controller; 171 #gpio-cells = <2>; 171 #gpio-cells = <2>; 172 gpio-ranges = <&pm8841_mpp 0 0 4>; 172 gpio-ranges = <&pm8841_mpp 0 0 4>; 173 gpio-line-names = "VDD_PX_BIAS", " 173 gpio-line-names = "VDD_PX_BIAS", "WLAN_LED_CTRL", 174 "BT_LED_CTRL", " 174 "BT_LED_CTRL", "GPIO-F"; 175 interrupt-controller; 175 interrupt-controller; 176 #interrupt-cells = <2>; 176 #interrupt-cells = <2>; 177 177 178 pinctrl-names = "default"; 178 pinctrl-names = "default"; 179 pinctrl-0 = <&pm8841_default>; 179 pinctrl-0 = <&pm8841_default>; 180 180 181 mpp1-state { 181 mpp1-state { 182 pins = "mpp1"; 182 pins = "mpp1"; 183 function = "digital"; 183 function = "digital"; 184 input-enable; 184 input-enable; 185 power-source = <PM8841_MPP_S3> 185 power-source = <PM8841_MPP_S3>; 186 }; 186 }; 187 187 188 default-state { 188 default-state { 189 gpio-pins { 189 gpio-pins { 190 pins = "mpp1", "mpp2", "mp 190 pins = "mpp1", "mpp2", "mpp3", "mpp4"; 191 function = "digital"; 191 function = "digital"; 192 input-enable; 192 input-enable; 193 power-source = <PM8841_MPP 193 power-source = <PM8841_MPP_S3>; 194 }; 194 }; 195 }; 195 }; 196 }; 196 }; 197 }; 197 }; 198 ... 198 ...
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.