1e67e8565SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2e67e8565SEmmanuel Vadot%YAML 1.2 3e67e8565SEmmanuel Vadot--- 4e67e8565SEmmanuel Vadot$id: http://devicetree.org/schemas/pinctrl/intel,pinctrl-thunderbay.yaml# 5e67e8565SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6e67e8565SEmmanuel Vadot 7*7ef62cebSEmmanuel Vadottitle: Intel Thunder Bay pin controller 8e67e8565SEmmanuel Vadot 9e67e8565SEmmanuel Vadotmaintainers: 10e67e8565SEmmanuel Vadot - Lakshmi Sowjanya D <lakshmi.sowjanya.d@intel.com> 11e67e8565SEmmanuel Vadot 12e67e8565SEmmanuel Vadotdescription: | 13e67e8565SEmmanuel Vadot Intel Thunder Bay SoC integrates a pin controller which enables control 14e67e8565SEmmanuel Vadot of pin directions, input/output values and configuration 15e67e8565SEmmanuel Vadot for a total of 67 pins. 16e67e8565SEmmanuel Vadot 17e67e8565SEmmanuel Vadotproperties: 18e67e8565SEmmanuel Vadot compatible: 19e67e8565SEmmanuel Vadot const: intel,thunderbay-pinctrl 20e67e8565SEmmanuel Vadot 21e67e8565SEmmanuel Vadot reg: 22e67e8565SEmmanuel Vadot maxItems: 1 23e67e8565SEmmanuel Vadot 24e67e8565SEmmanuel Vadot gpio-controller: true 25e67e8565SEmmanuel Vadot 26e67e8565SEmmanuel Vadot '#gpio-cells': 27e67e8565SEmmanuel Vadot const: 2 28e67e8565SEmmanuel Vadot 29e67e8565SEmmanuel Vadot gpio-ranges: 30e67e8565SEmmanuel Vadot maxItems: 1 31e67e8565SEmmanuel Vadot 32e67e8565SEmmanuel Vadot interrupts: 33e67e8565SEmmanuel Vadot description: 34e67e8565SEmmanuel Vadot Specifies the interrupt lines to be used by the controller. 35e67e8565SEmmanuel Vadot maxItems: 2 36e67e8565SEmmanuel Vadot 37e67e8565SEmmanuel Vadot interrupt-controller: true 38e67e8565SEmmanuel Vadot 39e67e8565SEmmanuel Vadot '#interrupt-cells': 40e67e8565SEmmanuel Vadot const: 2 41e67e8565SEmmanuel Vadot 42e67e8565SEmmanuel VadotpatternProperties: 43e67e8565SEmmanuel Vadot '^gpio@[0-9a-f]*$': 44e67e8565SEmmanuel Vadot type: object 45*7ef62cebSEmmanuel Vadot additionalProperties: false 46e67e8565SEmmanuel Vadot 47e67e8565SEmmanuel Vadot description: 48e67e8565SEmmanuel Vadot Child nodes can be specified to contain pin configuration information, 49e67e8565SEmmanuel Vadot which can then be utilized by pinctrl client devices. 50e67e8565SEmmanuel Vadot The following properties are supported. 51e67e8565SEmmanuel Vadot 52e67e8565SEmmanuel Vadot properties: 53e67e8565SEmmanuel Vadot pins: 54e67e8565SEmmanuel Vadot description: | 55e67e8565SEmmanuel Vadot The name(s) of the pins to be configured in the child node. 56e67e8565SEmmanuel Vadot Supported pin names are "GPIO0" up to "GPIO66". 57e67e8565SEmmanuel Vadot 58e67e8565SEmmanuel Vadot bias-disable: true 59e67e8565SEmmanuel Vadot 60e67e8565SEmmanuel Vadot bias-pull-down: true 61e67e8565SEmmanuel Vadot 62e67e8565SEmmanuel Vadot bias-pull-up: true 63e67e8565SEmmanuel Vadot 64e67e8565SEmmanuel Vadot drive-strength: 65e67e8565SEmmanuel Vadot description: Drive strength for the pad. 66e67e8565SEmmanuel Vadot enum: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] 67e67e8565SEmmanuel Vadot 68e67e8565SEmmanuel Vadot bias-bus-hold: 69e67e8565SEmmanuel Vadot type: boolean 70e67e8565SEmmanuel Vadot 71e67e8565SEmmanuel Vadot input-schmitt-enable: 72e67e8565SEmmanuel Vadot type: boolean 73e67e8565SEmmanuel Vadot 74e67e8565SEmmanuel Vadot slew-rate: 75e67e8565SEmmanuel Vadot description: GPIO slew rate control. 76e67e8565SEmmanuel Vadot 0 - Slow 77e67e8565SEmmanuel Vadot 1 - Fast 78e67e8565SEmmanuel Vadot enum: [0, 1] 79e67e8565SEmmanuel Vadot 80e67e8565SEmmanuel VadotadditionalProperties: false 81e67e8565SEmmanuel Vadot 82e67e8565SEmmanuel Vadotrequired: 83e67e8565SEmmanuel Vadot - compatible 84e67e8565SEmmanuel Vadot - reg 85e67e8565SEmmanuel Vadot - gpio-controller 86e67e8565SEmmanuel Vadot - '#gpio-cells' 87e67e8565SEmmanuel Vadot - gpio-ranges 88e67e8565SEmmanuel Vadot - interrupts 89e67e8565SEmmanuel Vadot - interrupt-controller 90e67e8565SEmmanuel Vadot - '#interrupt-cells' 91e67e8565SEmmanuel Vadot 92e67e8565SEmmanuel Vadotexamples: 93e67e8565SEmmanuel Vadot - | 94e67e8565SEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 95e67e8565SEmmanuel Vadot #include <dt-bindings/interrupt-controller/irq.h> 96e67e8565SEmmanuel Vadot // Example 1 97e67e8565SEmmanuel Vadot pinctrl0: gpio@0 { 98e67e8565SEmmanuel Vadot compatible = "intel,thunderbay-pinctrl"; 99e67e8565SEmmanuel Vadot reg = <0x600b0000 0x88>; 100e67e8565SEmmanuel Vadot gpio-controller; 101e67e8565SEmmanuel Vadot #gpio-cells = <0x2>; 102e67e8565SEmmanuel Vadot gpio-ranges = <&pinctrl0 0 0 67>; 103e67e8565SEmmanuel Vadot interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>, 104e67e8565SEmmanuel Vadot <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; 105e67e8565SEmmanuel Vadot interrupt-controller; 106e67e8565SEmmanuel Vadot #interrupt-cells = <2>; 107e67e8565SEmmanuel Vadot }; 108e67e8565SEmmanuel Vadot 109e67e8565SEmmanuel Vadot // Example 2 110e67e8565SEmmanuel Vadot pinctrl1: gpio@1 { 111e67e8565SEmmanuel Vadot compatible = "intel,thunderbay-pinctrl"; 112e67e8565SEmmanuel Vadot reg = <0x600c0000 0x88>; 113e67e8565SEmmanuel Vadot gpio-controller; 114e67e8565SEmmanuel Vadot #gpio-cells = <0x2>; 115e67e8565SEmmanuel Vadot gpio-ranges = <&pinctrl1 0 0 53>; 116e67e8565SEmmanuel Vadot interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>, 117e67e8565SEmmanuel Vadot <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; 118e67e8565SEmmanuel Vadot interrupt-controller; 119e67e8565SEmmanuel Vadot #interrupt-cells = <2>; 120e67e8565SEmmanuel Vadot }; 121