| Intel x86 PINCTRL/GPIO controller |
| |
| Pin-muxing on x86 can be described with a node for the PINCTRL master |
| node and a set of child nodes for each pin on the SoC. |
| |
| The PINCTRL master node requires the following properties: |
| - compatible : "intel,x86-pinctrl" |
| |
| Pin nodes must be children of the pinctrl master node and can |
| contain the following properties: |
| - pad-offset - (required) offset in the IOBASE for the pin to configure |
| - gpio-offset - (required) 2 cells |
| - offset in the GPIOBASE for the pin to configure |
| - the bit shift in this register (4 = bit 4) |
| - mode-gpio - (optional) standalone property to force the pin into GPIO mode |
| - mode-func - (optional) function number to assign to the pin. If |
| 'mode-gpio' is set, this property will be ignored. |
| in case of 'mode-gpio' property set: |
| - output-value - (optional) this set the default output value of the GPIO |
| - direction - (optional) this set the direction of the gpio |
| - pull-str - (optional) this set the pull strength of the pin |
| - pull-assign - (optional) this set the pull assignement (up/down) of the pin |
| - invert - (optional) this input pin is inverted |
| |
| Example: |
| |
| pin_usb_host_en0@0 { |
| gpio-offset = <0x80 8>; |
| pad-offset = <0x260>; |
| mode-gpio; |
| output-value = <1>; |
| direction = <PIN_OUTPUT>; |
| }; |