1354d7675SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2354d7675SEmmanuel Vadot%YAML 1.2 3354d7675SEmmanuel Vadot--- 4354d7675SEmmanuel Vadot$id: http://devicetree.org/schemas/pinctrl/intel,pinctrl-keembay.yaml# 5354d7675SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6354d7675SEmmanuel Vadot 7*7ef62cebSEmmanuel Vadottitle: Intel Keem Bay pin controller 8354d7675SEmmanuel Vadot 9354d7675SEmmanuel Vadotmaintainers: 10354d7675SEmmanuel Vadot - Lakshmi Sowjanya D <lakshmi.sowjanya.d@intel.com> 11354d7675SEmmanuel Vadot 12354d7675SEmmanuel Vadotdescription: | 13354d7675SEmmanuel Vadot Intel Keem Bay SoC integrates a pin controller which enables control 14354d7675SEmmanuel Vadot of pin directions, input/output values and configuration 15354d7675SEmmanuel Vadot for a total of 80 pins. 16354d7675SEmmanuel Vadot 17354d7675SEmmanuel Vadotproperties: 18354d7675SEmmanuel Vadot compatible: 19354d7675SEmmanuel Vadot const: intel,keembay-pinctrl 20354d7675SEmmanuel Vadot 21354d7675SEmmanuel Vadot reg: 22354d7675SEmmanuel Vadot maxItems: 2 23354d7675SEmmanuel Vadot 24354d7675SEmmanuel Vadot gpio-controller: true 25354d7675SEmmanuel Vadot 26354d7675SEmmanuel Vadot '#gpio-cells': 27354d7675SEmmanuel Vadot const: 2 28354d7675SEmmanuel Vadot 29354d7675SEmmanuel Vadot ngpios: 30354d7675SEmmanuel Vadot description: The number of GPIOs exposed. 31354d7675SEmmanuel Vadot const: 80 32354d7675SEmmanuel Vadot 33354d7675SEmmanuel Vadot interrupts: 34354d7675SEmmanuel Vadot description: 35354d7675SEmmanuel Vadot Specifies the interrupt lines to be used by the controller. 36354d7675SEmmanuel Vadot Each interrupt line is shared by upto 4 GPIO lines. 37354d7675SEmmanuel Vadot maxItems: 8 38354d7675SEmmanuel Vadot 39354d7675SEmmanuel Vadot interrupt-controller: true 40354d7675SEmmanuel Vadot 41354d7675SEmmanuel Vadot '#interrupt-cells': 42354d7675SEmmanuel Vadot const: 2 43354d7675SEmmanuel Vadot 44354d7675SEmmanuel VadotpatternProperties: 45354d7675SEmmanuel Vadot '^gpio@[0-9a-f]*$': 46354d7675SEmmanuel Vadot type: object 47*7ef62cebSEmmanuel Vadot additionalProperties: false 48354d7675SEmmanuel Vadot 49354d7675SEmmanuel Vadot description: 50354d7675SEmmanuel Vadot Child nodes can be specified to contain pin configuration information, 51354d7675SEmmanuel Vadot which can then be utilized by pinctrl client devices. 52354d7675SEmmanuel Vadot The following properties are supported. 53354d7675SEmmanuel Vadot 54354d7675SEmmanuel Vadot properties: 55354d7675SEmmanuel Vadot pins: 56354d7675SEmmanuel Vadot description: | 57354d7675SEmmanuel Vadot The name(s) of the pins to be configured in the child node. 58354d7675SEmmanuel Vadot Supported pin names are "GPIO0" up to "GPIO79". 59354d7675SEmmanuel Vadot 60354d7675SEmmanuel Vadot bias-disable: true 61354d7675SEmmanuel Vadot 62354d7675SEmmanuel Vadot bias-pull-down: true 63354d7675SEmmanuel Vadot 64354d7675SEmmanuel Vadot bias-pull-up: true 65354d7675SEmmanuel Vadot 66354d7675SEmmanuel Vadot drive-strength: 67354d7675SEmmanuel Vadot description: IO pads drive strength in milli Ampere. 68354d7675SEmmanuel Vadot enum: [2, 4, 8, 12] 69354d7675SEmmanuel Vadot 70354d7675SEmmanuel Vadot bias-bus-hold: 71354d7675SEmmanuel Vadot type: boolean 72354d7675SEmmanuel Vadot 73354d7675SEmmanuel Vadot input-schmitt-enable: 74354d7675SEmmanuel Vadot type: boolean 75354d7675SEmmanuel Vadot 76354d7675SEmmanuel Vadot slew-rate: 77354d7675SEmmanuel Vadot description: GPIO slew rate control. 78354d7675SEmmanuel Vadot 0 - Fast(~100MHz) 79354d7675SEmmanuel Vadot 1 - Slow(~50MHz) 80354d7675SEmmanuel Vadot enum: [0, 1] 81354d7675SEmmanuel Vadot 82354d7675SEmmanuel VadotadditionalProperties: false 83354d7675SEmmanuel Vadot 84354d7675SEmmanuel Vadotrequired: 85354d7675SEmmanuel Vadot - compatible 86354d7675SEmmanuel Vadot - reg 87354d7675SEmmanuel Vadot - gpio-controller 88354d7675SEmmanuel Vadot - ngpios 89354d7675SEmmanuel Vadot - '#gpio-cells' 90354d7675SEmmanuel Vadot - interrupts 91354d7675SEmmanuel Vadot - interrupt-controller 92354d7675SEmmanuel Vadot - '#interrupt-cells' 93354d7675SEmmanuel Vadot 94354d7675SEmmanuel Vadotexamples: 95354d7675SEmmanuel Vadot - | 96354d7675SEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 97354d7675SEmmanuel Vadot #include <dt-bindings/interrupt-controller/irq.h> 98354d7675SEmmanuel Vadot // Example 1 99354d7675SEmmanuel Vadot gpio@0 { 100354d7675SEmmanuel Vadot compatible = "intel,keembay-pinctrl"; 101354d7675SEmmanuel Vadot reg = <0x600b0000 0x88>, 102354d7675SEmmanuel Vadot <0x600b0190 0x1ac>; 103354d7675SEmmanuel Vadot gpio-controller; 104354d7675SEmmanuel Vadot ngpios = <0x50>; 105354d7675SEmmanuel Vadot #gpio-cells = <0x2>; 106354d7675SEmmanuel Vadot interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>, 107354d7675SEmmanuel Vadot <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>, 108354d7675SEmmanuel Vadot <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>, 109354d7675SEmmanuel Vadot <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>, 110354d7675SEmmanuel Vadot <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>, 111354d7675SEmmanuel Vadot <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>, 112354d7675SEmmanuel Vadot <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>, 113354d7675SEmmanuel Vadot <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; 114354d7675SEmmanuel Vadot interrupt-controller; 115354d7675SEmmanuel Vadot #interrupt-cells = <2>; 116354d7675SEmmanuel Vadot }; 117354d7675SEmmanuel Vadot 118354d7675SEmmanuel Vadot // Example 2 119354d7675SEmmanuel Vadot gpio@1 { 120354d7675SEmmanuel Vadot compatible = "intel,keembay-pinctrl"; 121354d7675SEmmanuel Vadot reg = <0x600c0000 0x88>, 122354d7675SEmmanuel Vadot <0x600c0190 0x1ac>; 123354d7675SEmmanuel Vadot gpio-controller; 124354d7675SEmmanuel Vadot ngpios = <0x50>; 125354d7675SEmmanuel Vadot #gpio-cells = <0x2>; 126354d7675SEmmanuel Vadot interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>, 127354d7675SEmmanuel Vadot <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>, 128354d7675SEmmanuel Vadot <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>, 129354d7675SEmmanuel Vadot <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>, 130354d7675SEmmanuel Vadot <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>, 131354d7675SEmmanuel Vadot <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>, 132354d7675SEmmanuel Vadot <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>, 133354d7675SEmmanuel Vadot <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; 134354d7675SEmmanuel Vadot interrupt-controller; 135354d7675SEmmanuel Vadot #interrupt-cells = <2>; 136354d7675SEmmanuel Vadot }; 137