All of lore.kernel.org
 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


WARNING: multiple messages have this Message-ID (diff)
From: Rob Herring <robh@kernel.org>
To: devicetree@vger.kernel.org, devicetree-spec@vger.kernel.org
Cc: Wolfram Sang <wsa+renesas@sang-engineering.com>,
	Eugen Hristev <eugen.hristev@microchip.com>,
	Dmitry Torokhov <dmitry.torokhov@gmail.com>,
	Codrin Ciubotariu <codrin.ciubotariu@microchip.com>,
	Jon Hunter <jonathanh@nvidia.com>,
	Alain Volmat <alain.volmat@foss.st.com>,
	Matt Johnston <matt@codeconstruct.com.au>
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@sang-engineering.com>
Cc: Eugen Hristev <eugen.hristev@microchip.com>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Codrin Ciubotariu <codrin.ciubotariu@microchip.com>
Cc: Jon Hunter <jonathanh@nvidia.com>
Cc: Alain Volmat <alain.volmat@foss.st.com>
Cc: Matt Johnston <matt@codeconstruct.com.au>
Signed-off-by: Rob Herring <robh@kernel.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: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-27 17:59 Rob Herring [this message]
2022-04-27 17:59 ` [dtschema PATCH] schemas: i2c: Add missing properties and descriptions Rob Herring
     [not found] ` <20220427175956.362987-1-robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2022-04-28  9:11   ` Matt Johnston
2022-04-28  9:11     ` Matt Johnston
2022-06-01 15:00   ` Rob Herring
2022-06-01 15:00     ` Rob Herring
2022-06-01 21:29   ` Dmitry Torokhov
2022-06-01 21:29     ` Dmitry Torokhov
2022-06-03 14:41   ` Alain Volmat
2022-06-03 14:41     ` Alain Volmat
2022-06-03 15:53   ` Wolfram Sang
2022-06-03 15:53     ` Wolfram Sang
2022-06-03 16:24     ` Rob Herring
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-03 18:27           ` Wolfram Sang
2022-06-07  6:43   ` Eugen.Hristev-UWL1GkI3JZL3oGB3hsPCZA
2022-06-07  6:43     ` Eugen.Hristev

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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.