~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/gpio/sprd,gpio-eic.yaml

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2 # Copyright 2022 Unisoc Inc.
  3 %YAML 1.2
  4 ---
  5 $id: http://devicetree.org/schemas/gpio/sprd,gpio-eic.yaml#
  6 $schema: http://devicetree.org/meta-schemas/core.yaml#
  7 
  8 title: Unisoc EIC controller
  9 
 10 maintainers:
 11   - Orson Zhai <orsonzhai@gmail.com>
 12   - Baolin Wang <baolin.wang7@gmail.com>
 13   - Chunyan Zhang <zhang.lyra@gmail.com>
 14 
 15 description: |
 16   The EIC is the abbreviation of external interrupt controller, which can
 17   be used only in input mode. The Spreadtrum platform has 2 EIC controllers,
 18   one is in digital chip, and another one is in PMIC. The digital chip EIC
 19   controller contains 4 sub-modules, i.e. EIC-debounce, EIC-latch, EIC-async and
 20   EIC-sync. But the PMIC EIC controller contains only one EIC-debounce sub-
 21   module.
 22 
 23   The EIC-debounce sub-module provides up to 8 source input signal
 24   connections. A debounce mechanism is used to capture the input signals'
 25   stable status (millisecond resolution) and a single-trigger mechanism
 26   is introduced into this sub-module to enhance the input event detection
 27   reliability. In addition, this sub-module's clock can be shut off
 28   automatically to reduce power dissipation. Moreover the debounce range
 29   is from 1ms to 4s with a step size of 1ms. The input signal will be
 30   ignored if it is asserted for less than 1 ms.
 31 
 32   The EIC-latch sub-module is used to latch some special power down signals
 33   and generate interrupts, since the EIC-latch does not depend on the APB
 34   clock to capture signals.
 35 
 36   The EIC-async sub-module uses a 32kHz clock to capture the short signals
 37   (microsecond resolution) to generate interrupts by level or edge trigger.
 38 
 39   The EIC-sync is similar with GPIO's input function, which is a synchronized
 40   signal input register. It can generate interrupts by level or edge trigger
 41   when detecting input signals.
 42 
 43 properties:
 44   compatible:
 45     oneOf:
 46       - enum:
 47           - sprd,sc9860-eic-debounce
 48           - sprd,sc9860-eic-latch
 49           - sprd,sc9860-eic-async
 50           - sprd,sc9860-eic-sync
 51           - sprd,sc2731-eic
 52       - items:
 53           - enum:
 54               - sprd,ums512-eic-debounce
 55           - const: sprd,sc9860-eic-debounce
 56       - items:
 57           - enum:
 58               - sprd,ums512-eic-latch
 59           - const: sprd,sc9860-eic-latch
 60       - items:
 61           - enum:
 62               - sprd,ums512-eic-async
 63           - const: sprd,sc9860-eic-async
 64       - items:
 65           - enum:
 66               - sprd,ums512-eic-sync
 67           - const: sprd,sc9860-eic-sync
 68       - items:
 69           - enum:
 70               - sprd,sc2730-eic
 71           - const: sprd,sc2731-eic
 72 
 73   reg:
 74     minItems: 1
 75     maxItems: 3
 76     description:
 77       EIC controller can support maximum 3 banks which has its own
 78       address base.
 79 
 80   gpio-controller: true
 81 
 82   "#gpio-cells":
 83     const: 2
 84 
 85   interrupt-controller: true
 86 
 87   "#interrupt-cells":
 88     const: 2
 89 
 90   interrupts:
 91     maxItems: 1
 92     description:
 93       The interrupt shared by all GPIO lines for this controller.
 94 
 95 required:
 96   - compatible
 97   - reg
 98   - gpio-controller
 99   - "#gpio-cells"
100   - interrupt-controller
101   - "#interrupt-cells"
102   - interrupts
103 
104 additionalProperties: false
105 
106 examples:
107   - |
108     #include <dt-bindings/interrupt-controller/arm-gic.h>
109 
110     soc {
111         #address-cells = <2>;
112         #size-cells = <2>;
113 
114         eic_debounce: gpio@40210000 {
115             compatible = "sprd,sc9860-eic-debounce";
116             reg = <0 0x40210000 0 0x80>;
117             gpio-controller;
118             #gpio-cells = <2>;
119             interrupt-controller;
120             #interrupt-cells = <2>;
121             interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
122         };
123     };
124 ...

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php