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