1677a6248STony Lindgren# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2677a6248STony Lindgren%YAML 1.2 3677a6248STony Lindgren--- 4677a6248STony Lindgren$id: http://devicetree.org/schemas/pinctrl/pinctrl-single.yaml# 5677a6248STony Lindgren$schema: http://devicetree.org/meta-schemas/core.yaml# 6677a6248STony Lindgren 7677a6248STony Lindgrentitle: Generic Pin Controller with a Single Register for One or More Pins 8677a6248STony Lindgren 9677a6248STony Lindgrenmaintainers: 10677a6248STony Lindgren - Tony Lindgren <tony@atomide.com> 11677a6248STony Lindgren 12677a6248STony Lindgrendescription: 13677a6248STony Lindgren Some pin controller devices use a single register for one or more pins. The 14677a6248STony Lindgren range of pin control registers can vary from one to many for each controller 15677a6248STony Lindgren instance. Some SoCs from Altera, Broadcom, HiSilicon, Ralink, and TI have this 16677a6248STony Lindgren kind of pin controller instances. 17677a6248STony Lindgren 18677a6248STony Lindgrenproperties: 19677a6248STony Lindgren compatible: 20677a6248STony Lindgren oneOf: 21677a6248STony Lindgren - enum: 22677a6248STony Lindgren - pinctrl-single 23677a6248STony Lindgren - pinconf-single 24677a6248STony Lindgren - items: 25677a6248STony Lindgren - enum: 26677a6248STony Lindgren - ti,am437-padconf 27*7e1e2321SDhruva Gole - ti,am654-padconf 28677a6248STony Lindgren - ti,dra7-padconf 29677a6248STony Lindgren - ti,omap2420-padconf 30677a6248STony Lindgren - ti,omap2430-padconf 31677a6248STony Lindgren - ti,omap3-padconf 32677a6248STony Lindgren - ti,omap4-padconf 33677a6248STony Lindgren - ti,omap5-padconf 34677a6248STony Lindgren - const: pinctrl-single 35677a6248STony Lindgren 36677a6248STony Lindgren reg: 37677a6248STony Lindgren maxItems: 1 38677a6248STony Lindgren 39677a6248STony Lindgren interrupt-controller: true 40677a6248STony Lindgren 41677a6248STony Lindgren '#interrupt-cells': 42677a6248STony Lindgren const: 1 43677a6248STony Lindgren 44677a6248STony Lindgren '#address-cells': 45677a6248STony Lindgren const: 1 46677a6248STony Lindgren 47677a6248STony Lindgren '#size-cells': 48677a6248STony Lindgren const: 0 49677a6248STony Lindgren 50677a6248STony Lindgren '#pinctrl-cells': 51677a6248STony Lindgren description: 52677a6248STony Lindgren Number of cells. Usually 2, consisting of register offset, pin configuration 53677a6248STony Lindgren value, and pinmux mode. Some controllers may use 1 for just offset and value. 54677a6248STony Lindgren enum: [ 1, 2 ] 55677a6248STony Lindgren 56677a6248STony Lindgren pinctrl-single,bit-per-mux: 57677a6248STony Lindgren description: Optional flag to indicate register controls more than one pin 58677a6248STony Lindgren type: boolean 59677a6248STony Lindgren 60677a6248STony Lindgren pinctrl-single,function-mask: 61677a6248STony Lindgren description: Mask of the allowed register bits 62677a6248STony Lindgren $ref: /schemas/types.yaml#/definitions/uint32 63677a6248STony Lindgren 64677a6248STony Lindgren pinctrl-single,function-off: 65677a6248STony Lindgren description: Optional function off mode for disabled state 66677a6248STony Lindgren $ref: /schemas/types.yaml#/definitions/uint32 67677a6248STony Lindgren 68677a6248STony Lindgren pinctrl-single,register-width: 69677a6248STony Lindgren description: Width of pin specific bits in the register 70677a6248STony Lindgren $ref: /schemas/types.yaml#/definitions/uint32 71677a6248STony Lindgren enum: [ 8, 16, 32 ] 72677a6248STony Lindgren 73677a6248STony Lindgren pinctrl-single,gpio-range: 74677a6248STony Lindgren description: Optional list of pin base, nr pins & gpio function 75677a6248STony Lindgren $ref: /schemas/types.yaml#/definitions/phandle-array 76677a6248STony Lindgren items: 77677a6248STony Lindgren - items: 78677a6248STony Lindgren - description: phandle of a gpio-range node 79677a6248STony Lindgren - description: pin base 80677a6248STony Lindgren - description: number of pins 81677a6248STony Lindgren - description: gpio function 82677a6248STony Lindgren 83677a6248STony Lindgren '#gpio-range-cells': 84677a6248STony Lindgren description: No longer needed, may exist in older files for gpio-ranges 85677a6248STony Lindgren deprecated: true 86677a6248STony Lindgren const: 3 87677a6248STony Lindgren 88677a6248STony Lindgren gpio-range: 89677a6248STony Lindgren description: Optional node for gpio range cells 90677a6248STony Lindgren type: object 91677a6248STony Lindgren additionalProperties: false 92677a6248STony Lindgren properties: 93677a6248STony Lindgren '#pinctrl-single,gpio-range-cells': 94677a6248STony Lindgren description: Number of gpio range cells 95677a6248STony Lindgren const: 3 96677a6248STony Lindgren $ref: /schemas/types.yaml#/definitions/uint32 97677a6248STony Lindgren 98677a6248STony LindgrenpatternProperties: 99677a6248STony Lindgren '-pins(-[0-9]+)?$|-pin$': 100677a6248STony Lindgren description: 101677a6248STony Lindgren Pin group node name using naming ending in -pins followed by an optional 102677a6248STony Lindgren instance number 103677a6248STony Lindgren type: object 104677a6248STony Lindgren additionalProperties: false 105677a6248STony Lindgren 106677a6248STony Lindgren properties: 107677a6248STony Lindgren pinctrl-single,pins: 108677a6248STony Lindgren description: 109677a6248STony Lindgren Array of pins as described in pinmux-node.yaml for pinctrl-pin-array 110677a6248STony Lindgren $ref: /schemas/types.yaml#/definitions/uint32-array 111677a6248STony Lindgren 112677a6248STony Lindgren pinctrl-single,bits: 113677a6248STony Lindgren description: Register bit configuration for pinctrl-single,bit-per-mux 114677a6248STony Lindgren $ref: /schemas/types.yaml#/definitions/uint32-array 115677a6248STony Lindgren items: 116677a6248STony Lindgren - description: register offset 117677a6248STony Lindgren - description: value 118677a6248STony Lindgren - description: pin bitmask in the register 119677a6248STony Lindgren 120677a6248STony Lindgren pinctrl-single,bias-pullup: 121677a6248STony Lindgren description: Optional bias pull up configuration 122677a6248STony Lindgren $ref: /schemas/types.yaml#/definitions/uint32-array 123677a6248STony Lindgren items: 124677a6248STony Lindgren - description: input 125677a6248STony Lindgren - description: enabled pull up bits 126677a6248STony Lindgren - description: disabled pull up bits 127677a6248STony Lindgren - description: bias pull up mask 128677a6248STony Lindgren 129677a6248STony Lindgren pinctrl-single,bias-pulldown: 130677a6248STony Lindgren description: Optional bias pull down configuration 131677a6248STony Lindgren $ref: /schemas/types.yaml#/definitions/uint32-array 132677a6248STony Lindgren items: 133677a6248STony Lindgren - description: input 134677a6248STony Lindgren - description: enabled pull down bits 135677a6248STony Lindgren - description: disabled pull down bits 136677a6248STony Lindgren - description: bias pull down mask 137677a6248STony Lindgren 138677a6248STony Lindgren pinctrl-single,drive-strength: 139677a6248STony Lindgren description: Optional drive strength configuration 140677a6248STony Lindgren $ref: /schemas/types.yaml#/definitions/uint32-array 141677a6248STony Lindgren items: 142677a6248STony Lindgren - description: drive strength current 143677a6248STony Lindgren - description: drive strength mask 144677a6248STony Lindgren 145677a6248STony Lindgren pinctrl-single,input-schmitt: 146677a6248STony Lindgren description: Optional input schmitt configuration 147677a6248STony Lindgren $ref: /schemas/types.yaml#/definitions/uint32-array 148677a6248STony Lindgren items: 149677a6248STony Lindgren - description: input 150677a6248STony Lindgren - description: enable bits 151677a6248STony Lindgren - description: disable bits 152677a6248STony Lindgren - description: input schmitt mask 153677a6248STony Lindgren 154677a6248STony Lindgren pinctrl-single,low-power-mode: 155677a6248STony Lindgren description: Optional low power mode configuration 156677a6248STony Lindgren $ref: /schemas/types.yaml#/definitions/uint32-array 157677a6248STony Lindgren items: 158677a6248STony Lindgren - description: low power mode value 159677a6248STony Lindgren - description: low power mode mask 160677a6248STony Lindgren 161677a6248STony Lindgren pinctrl-single,slew-rate: 162677a6248STony Lindgren description: Optional slew rate configuration 163677a6248STony Lindgren $ref: /schemas/types.yaml#/definitions/uint32-array 164677a6248STony Lindgren items: 165677a6248STony Lindgren - description: slew rate 166677a6248STony Lindgren - description: slew rate mask 167677a6248STony Lindgren 168677a6248STony LindgrenallOf: 169677a6248STony Lindgren - $ref: pinctrl.yaml# 170677a6248STony Lindgren 171677a6248STony Lindgrenrequired: 172677a6248STony Lindgren - compatible 173677a6248STony Lindgren - reg 174677a6248STony Lindgren - pinctrl-single,register-width 175677a6248STony Lindgren 176677a6248STony LindgrenadditionalProperties: false 177677a6248STony Lindgren 178677a6248STony Lindgrenexamples: 179677a6248STony Lindgren - | 180677a6248STony Lindgren soc { 181677a6248STony Lindgren #address-cells = <1>; 182677a6248STony Lindgren #size-cells = <1>; 183677a6248STony Lindgren 184677a6248STony Lindgren pinmux@4a100040 { 185677a6248STony Lindgren compatible = "pinctrl-single"; 186677a6248STony Lindgren reg = <0x4a100040 0x0196>; 187677a6248STony Lindgren #address-cells = <1>; 188677a6248STony Lindgren #size-cells = <0>; 189677a6248STony Lindgren #pinctrl-cells = <2>; 190677a6248STony Lindgren #interrupt-cells = <1>; 191677a6248STony Lindgren interrupt-controller; 192677a6248STony Lindgren pinctrl-single,register-width = <16>; 193677a6248STony Lindgren pinctrl-single,function-mask = <0xffff>; 194677a6248STony Lindgren pinctrl-single,gpio-range = <&range 0 3 0>; 195677a6248STony Lindgren range: gpio-range { 196677a6248STony Lindgren #pinctrl-single,gpio-range-cells = <3>; 197677a6248STony Lindgren }; 198677a6248STony Lindgren 199677a6248STony Lindgren uart2-pins { 200677a6248STony Lindgren pinctrl-single,pins = 201677a6248STony Lindgren <0xd8 0x118>, 202677a6248STony Lindgren <0xda 0>, 203677a6248STony Lindgren <0xdc 0x118>, 204677a6248STony Lindgren <0xde 0>; 205677a6248STony Lindgren }; 206677a6248STony Lindgren }; 207677a6248STony Lindgren }; 208