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