1d2083893SLakshmi Sowjanya D# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2d2083893SLakshmi Sowjanya D%YAML 1.2 3d2083893SLakshmi Sowjanya D--- 4d2083893SLakshmi Sowjanya D$id: http://devicetree.org/schemas/pinctrl/intel,pinctrl-keembay.yaml# 5d2083893SLakshmi Sowjanya D$schema: http://devicetree.org/meta-schemas/core.yaml# 6d2083893SLakshmi Sowjanya D 7dd3cb467SAndrew Lunntitle: Intel Keem Bay pin controller 8d2083893SLakshmi Sowjanya D 9d2083893SLakshmi Sowjanya Dmaintainers: 10d2083893SLakshmi Sowjanya D - Lakshmi Sowjanya D <lakshmi.sowjanya.d@intel.com> 11d2083893SLakshmi Sowjanya D 12d2083893SLakshmi Sowjanya Ddescription: | 13d2083893SLakshmi Sowjanya D Intel Keem Bay SoC integrates a pin controller which enables control 14d2083893SLakshmi Sowjanya D of pin directions, input/output values and configuration 15d2083893SLakshmi Sowjanya D for a total of 80 pins. 16d2083893SLakshmi Sowjanya D 17d2083893SLakshmi Sowjanya Dproperties: 18d2083893SLakshmi Sowjanya D compatible: 19d2083893SLakshmi Sowjanya D const: intel,keembay-pinctrl 20d2083893SLakshmi Sowjanya D 21d2083893SLakshmi Sowjanya D reg: 22d2083893SLakshmi Sowjanya D maxItems: 2 23d2083893SLakshmi Sowjanya D 24d2083893SLakshmi Sowjanya D gpio-controller: true 25d2083893SLakshmi Sowjanya D 26d2083893SLakshmi Sowjanya D '#gpio-cells': 27d2083893SLakshmi Sowjanya D const: 2 28d2083893SLakshmi Sowjanya D 29d2083893SLakshmi Sowjanya D ngpios: 30d2083893SLakshmi Sowjanya D description: The number of GPIOs exposed. 31d2083893SLakshmi Sowjanya D const: 80 32d2083893SLakshmi Sowjanya D 33d2083893SLakshmi Sowjanya D interrupts: 34d2083893SLakshmi Sowjanya D description: 35d2083893SLakshmi Sowjanya D Specifies the interrupt lines to be used by the controller. 36d2083893SLakshmi Sowjanya D Each interrupt line is shared by upto 4 GPIO lines. 37d2083893SLakshmi Sowjanya D maxItems: 8 38d2083893SLakshmi Sowjanya D 39d2083893SLakshmi Sowjanya D interrupt-controller: true 40d2083893SLakshmi Sowjanya D 41d2083893SLakshmi Sowjanya D '#interrupt-cells': 42d2083893SLakshmi Sowjanya D const: 2 43d2083893SLakshmi Sowjanya D 44d2083893SLakshmi Sowjanya DpatternProperties: 45d2083893SLakshmi Sowjanya D '^gpio@[0-9a-f]*$': 46d2083893SLakshmi Sowjanya D type: object 47*9194e0f8SRob Herring additionalProperties: false 48d2083893SLakshmi Sowjanya D 49d2083893SLakshmi Sowjanya D description: 50d2083893SLakshmi Sowjanya D Child nodes can be specified to contain pin configuration information, 51d2083893SLakshmi Sowjanya D which can then be utilized by pinctrl client devices. 52d2083893SLakshmi Sowjanya D The following properties are supported. 53d2083893SLakshmi Sowjanya D 54d2083893SLakshmi Sowjanya D properties: 55d2083893SLakshmi Sowjanya D pins: 56d2083893SLakshmi Sowjanya D description: | 57d2083893SLakshmi Sowjanya D The name(s) of the pins to be configured in the child node. 58d2083893SLakshmi Sowjanya D Supported pin names are "GPIO0" up to "GPIO79". 59d2083893SLakshmi Sowjanya D 60d2083893SLakshmi Sowjanya D bias-disable: true 61d2083893SLakshmi Sowjanya D 62d2083893SLakshmi Sowjanya D bias-pull-down: true 63d2083893SLakshmi Sowjanya D 64d2083893SLakshmi Sowjanya D bias-pull-up: true 65d2083893SLakshmi Sowjanya D 66d2083893SLakshmi Sowjanya D drive-strength: 67d2083893SLakshmi Sowjanya D description: IO pads drive strength in milli Ampere. 68d2083893SLakshmi Sowjanya D enum: [2, 4, 8, 12] 69d2083893SLakshmi Sowjanya D 70d2083893SLakshmi Sowjanya D bias-bus-hold: 71d2083893SLakshmi Sowjanya D type: boolean 72d2083893SLakshmi Sowjanya D 73d2083893SLakshmi Sowjanya D input-schmitt-enable: 74d2083893SLakshmi Sowjanya D type: boolean 75d2083893SLakshmi Sowjanya D 76d2083893SLakshmi Sowjanya D slew-rate: 77d2083893SLakshmi Sowjanya D description: GPIO slew rate control. 78d2083893SLakshmi Sowjanya D 0 - Fast(~100MHz) 79d2083893SLakshmi Sowjanya D 1 - Slow(~50MHz) 80d2083893SLakshmi Sowjanya D enum: [0, 1] 81d2083893SLakshmi Sowjanya D 82d2083893SLakshmi Sowjanya DadditionalProperties: false 83d2083893SLakshmi Sowjanya D 84d2083893SLakshmi Sowjanya Drequired: 85d2083893SLakshmi Sowjanya D - compatible 86d2083893SLakshmi Sowjanya D - reg 87d2083893SLakshmi Sowjanya D - gpio-controller 88d2083893SLakshmi Sowjanya D - ngpios 89d2083893SLakshmi Sowjanya D - '#gpio-cells' 90d2083893SLakshmi Sowjanya D - interrupts 91d2083893SLakshmi Sowjanya D - interrupt-controller 92d2083893SLakshmi Sowjanya D - '#interrupt-cells' 93d2083893SLakshmi Sowjanya D 94d2083893SLakshmi Sowjanya Dexamples: 95d2083893SLakshmi Sowjanya D - | 96d2083893SLakshmi Sowjanya D #include <dt-bindings/interrupt-controller/arm-gic.h> 97d2083893SLakshmi Sowjanya D #include <dt-bindings/interrupt-controller/irq.h> 98d2083893SLakshmi Sowjanya D // Example 1 99d2083893SLakshmi Sowjanya D gpio@0 { 100d2083893SLakshmi Sowjanya D compatible = "intel,keembay-pinctrl"; 101d2083893SLakshmi Sowjanya D reg = <0x600b0000 0x88>, 102d2083893SLakshmi Sowjanya D <0x600b0190 0x1ac>; 103d2083893SLakshmi Sowjanya D gpio-controller; 104d2083893SLakshmi Sowjanya D ngpios = <0x50>; 105d2083893SLakshmi Sowjanya D #gpio-cells = <0x2>; 106d2083893SLakshmi Sowjanya D interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>, 107d2083893SLakshmi Sowjanya D <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>, 108d2083893SLakshmi Sowjanya D <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>, 109d2083893SLakshmi Sowjanya D <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>, 110d2083893SLakshmi Sowjanya D <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>, 111d2083893SLakshmi Sowjanya D <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>, 112d2083893SLakshmi Sowjanya D <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>, 113d2083893SLakshmi Sowjanya D <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; 114d2083893SLakshmi Sowjanya D interrupt-controller; 115d2083893SLakshmi Sowjanya D #interrupt-cells = <2>; 116d2083893SLakshmi Sowjanya D }; 117d2083893SLakshmi Sowjanya D 118d2083893SLakshmi Sowjanya D // Example 2 119d2083893SLakshmi Sowjanya D gpio@1 { 120d2083893SLakshmi Sowjanya D compatible = "intel,keembay-pinctrl"; 121d2083893SLakshmi Sowjanya D reg = <0x600c0000 0x88>, 122d2083893SLakshmi Sowjanya D <0x600c0190 0x1ac>; 123d2083893SLakshmi Sowjanya D gpio-controller; 124d2083893SLakshmi Sowjanya D ngpios = <0x50>; 125d2083893SLakshmi Sowjanya D #gpio-cells = <0x2>; 126d2083893SLakshmi Sowjanya D interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>, 127d2083893SLakshmi Sowjanya D <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>, 128d2083893SLakshmi Sowjanya D <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>, 129d2083893SLakshmi Sowjanya D <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>, 130d2083893SLakshmi Sowjanya D <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>, 131d2083893SLakshmi Sowjanya D <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>, 132d2083893SLakshmi Sowjanya D <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>, 133d2083893SLakshmi Sowjanya D <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; 134d2083893SLakshmi Sowjanya D interrupt-controller; 135d2083893SLakshmi Sowjanya D #interrupt-cells = <2>; 136d2083893SLakshmi Sowjanya D }; 137