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
next 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).