devicetree-spec.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
To: devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	devicetree-spec-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Cc: Wolfram Sang
	<wsa+renesas-jBu1N2QxHDJrcw3mvpCnnVaTQe2KTcn/@public.gmane.org>,
	Eugen Hristev
	<eugen.hristev-UWL1GkI3JZL3oGB3hsPCZA@public.gmane.org>,
	Dmitry Torokhov
	<dmitry.torokhov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	Codrin Ciubotariu
	<codrin.ciubotariu-UWL1GkI3JZL3oGB3hsPCZA@public.gmane.org>,
	Jon Hunter <jonathanh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>,
	Alain Volmat
	<alain.volmat-rj0Iel/JR4NBDgjK7y7TUQ@public.gmane.org>,
	Matt Johnston
	<matt-KrQt6mEI6EMUxA4j4dw1vfQIK84fMopw@public.gmane.org>
Subject: [dtschema PATCH] schemas: i2c: Add missing properties and descriptions
Date: Wed, 27 Apr 2022 12:59:56 -0500	[thread overview]
Message-ID: <20220427175956.362987-1-robh@kernel.org> (raw)

Add remaining properties and descriptions from i2c.txt binding in Linux
kernel tree. The Cc list are the authors of i2c.txt.

Cc: Wolfram Sang <wsa+renesas-jBu1N2QxHDJrcw3mvpCnnVaTQe2KTcn/@public.gmane.org>
Cc: Eugen Hristev <eugen.hristev-UWL1GkI3JZL3oGB3hsPCZA@public.gmane.org>
Cc: Dmitry Torokhov <dmitry.torokhov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: Codrin Ciubotariu <codrin.ciubotariu-UWL1GkI3JZL3oGB3hsPCZA@public.gmane.org>
Cc: Jon Hunter <jonathanh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
Cc: Alain Volmat <alain.volmat-rj0Iel/JR4NBDgjK7y7TUQ@public.gmane.org>
Cc: Matt Johnston <matt-KrQt6mEI6EMUxA4j4dw1vfQIK84fMopw@public.gmane.org>
Signed-off-by: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
---
Cc list, 

I need your or your company's permission to relicense i2c.txt contents 
(used in 'description') to BSD-2-Clause. Please ack and provide a 
copyright if desired.

 dtschema/schemas/i2c/i2c-controller.yaml | 143 +++++++++++++++++++++++
 1 file changed, 143 insertions(+)

diff --git a/dtschema/schemas/i2c/i2c-controller.yaml b/dtschema/schemas/i2c/i2c-controller.yaml
index 91eac62a6bc8..c2e803ebcc3f 100644
--- a/dtschema/schemas/i2c/i2c-controller.yaml
+++ b/dtschema/schemas/i2c/i2c-controller.yaml
@@ -1,5 +1,6 @@
 # SPDX-License-Identifier: BSD-2-Clause
 # Copyright 2018 Linaro Ltd.
+# Copyright 2022 Arm Ltd.
 %YAML 1.2
 ---
 $id: http://devicetree.org/schemas/i2c/i2c-controller.yaml#
@@ -28,6 +29,91 @@ properties:
     minimum: 1000
     maximum: 3000000
 
+  i2c-scl-falling-time-ns:
+    description:
+      Number of nanoseconds the SCL signal takes to fall; t(f) in the I2C
+      specification.
+
+  i2c-scl-internal-delay-ns:
+    description:
+      Number of nanoseconds the IP core additionally needs to setup SCL.
+
+  i2c-scl-rising-time-ns:
+    description:
+      Number of nanoseconds the SCL signal takes to rise; t(r) in the I2C
+      specification.
+
+  i2c-sda-falling-time-ns:
+    description:
+      Number of nanoseconds the SDA signal takes to fall; t(f) in the I2C
+      specification.
+
+  i2c-analog-filter:
+    type: boolean
+    description:
+      Enable analog filter for i2c lines.
+
+  i2c-digital-filter:
+    type: boolean
+    description:
+      Enable digital filter for i2c lines.
+
+  i2c-digital-filter-width-ns:
+    description:
+      Width of spikes which can be filtered by digital filter
+      (i2c-digital-filter). This width is specified in nanoseconds.
+
+  i2c-analog-filter-cutoff-frequency:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    description:
+      Frequency that the analog filter (i2c-analog-filter) uses to distinguish
+      which signal to filter. Signal with higher frequency than specified will
+      be filtered out. Only lower frequency will pass (this is applicable to a
+      low-pass analog filter). Typical value should be above the normal i2c bus
+      clock frequency (clock-frequency). Specified in Hz.
+
+  mctp-controller:
+    type: boolean
+    description:
+      Indicates that the system is accessible via this bus as an endpoint for
+      MCTP over I2C transport.
+
+  multi-master:
+    type: boolean
+    description:
+      States that there is another master active on this bus. The OS can use
+      this information to adapt power management to keep the arbitration awake
+      all the time, for example. Can not be combined with 'single-master'.
+
+  scl-gpios:
+    maxItems: 1
+    description:
+      Specifies the GPIO related to SCL pin. Used for GPIO bus recovery.
+
+  sda-gpios:
+    maxItems: 1
+    description:
+      Specifies the GPIO related to SDA pin. Optional for GPIO bus recovery.
+
+  single-master:
+    type: boolean
+    description:
+      States that there is no other master active on this bus. The OS can use
+      this information to detect a stalled bus more reliably, for example. Can
+      not be combined with 'multi-master'.
+
+  smbus:
+    type: boolean
+    description:
+      States that additional SMBus restrictions and features apply to this bus.
+      An example of feature is SMBusHostNotify. Examples of restrictions are
+      more reserved addresses and timeout definitions.
+
+  smbus-alert:
+    type: boolean
+    description:
+      states that the optional SMBus-Alert feature apply to this bus.
+
   no-detect:
     type: boolean
     description:
@@ -38,4 +124,61 @@ patternProperties:
   '@[0-9a-f]+$':
     type: object
 
+    properties:
+      reg:
+        items:
+          items:
+            - oneOf:
+                - maximum: 0x7f
+                - minimum: 0x40000000
+                  maximum: 0x4000007f
+                - minimum: 0x80000000
+                  maximum: 0x800003ff
+                - minimum: 0xc0000000
+                  maximum: 0xc00003ff
+        description: |
+          One or many I2C slave addresses. These are usually a 7 bit addresses.
+          However, flags can be attached to an address. I2C_TEN_BIT_ADDRESS is
+          used to mark a 10 bit address. It is needed to avoid the ambiguity
+          between e.g. a 7 bit address of 0x50 and a 10 bit address of 0x050
+          which, in theory, can be on the same bus.
+          Another flag is I2C_OWN_SLAVE_ADDRESS to mark addresses on which we
+          listen to be devices ourselves.
+
+      host-notify:
+        description:
+          Device uses SMBus host notify protocol instead of interrupt line.
+          Requires being connected to an adapter that supports this feature.
+
+      interrupts:
+        description:
+          I2C core will treat "irq" interrupt (or the very first interrupt if
+          not using interrupt names) as primary interrupt for the slave.
+
+      interrupt-names:
+        anyOf:
+          - {} # Any name is allowed.
+          - items:
+              enum:
+                - irq
+                - wakeup
+                - smbus_alert
+            description:
+              Names which are recognized by I2C core,	other names are	left to
+              individual bindings.
+
+      wakeup-source:
+        description:
+          Device can be used as a wakeup source. The device should also have
+          "wakeup" interrupt for the device. If "wakeup" interrupt name is not
+          present in the binding, then primary interrupt will be used as wakeup
+          interrupt.
+
+    required:
+      - reg
+
+dependentRequired:
+  i2c-analog-filter-cutoff-frequency: [ i2c-analog-filter ]
+  i2c-digital-filter-width-ns: [ i2c-digital-filter ]
+
 additionalProperties: true
-- 
2.34.1


             reply	other threads:[~2022-04-27 17:59 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-27 17:59 Rob Herring [this message]
     [not found] ` <20220427175956.362987-1-robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2022-04-28  9:11   ` [dtschema PATCH] schemas: i2c: Add missing properties and descriptions Matt Johnston
2022-06-01 15:00   ` Rob Herring
2022-06-01 21:29   ` Dmitry Torokhov
2022-06-03 14:41   ` Alain Volmat
2022-06-03 15:53   ` Wolfram Sang
2022-06-03 16:24     ` Rob Herring
     [not found]       ` <CAL_JsqJEFs5EyzCGHaaC6S=9mfDf9jbo+4=NKh2DO49+RUjBjw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2022-06-03 18:27         ` Wolfram Sang
2022-06-07  6:43   ` Eugen.Hristev-UWL1GkI3JZL3oGB3hsPCZA

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220427175956.362987-1-robh@kernel.org \
    --to=robh-dgejt+ai2ygdnm+yrofe0a@public.gmane.org \
    --cc=alain.volmat-rj0Iel/JR4NBDgjK7y7TUQ@public.gmane.org \
    --cc=codrin.ciubotariu-UWL1GkI3JZL3oGB3hsPCZA@public.gmane.org \
    --cc=devicetree-spec-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=dmitry.torokhov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=eugen.hristev-UWL1GkI3JZL3oGB3hsPCZA@public.gmane.org \
    --cc=jonathanh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org \
    --cc=matt-KrQt6mEI6EMUxA4j4dw1vfQIK84fMopw@public.gmane.org \
    --cc=wsa+renesas-jBu1N2QxHDJrcw3mvpCnnVaTQe2KTcn/@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).