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