From: Rob Herring <robh@kernel.org>
To: linux-aspeed@lists.ozlabs.org
Subject: [PATCH v2 2/2] dt-bindings: aspeed-i2c: add properties for manual clock setting
Date: Sun, 5 Jun 2022 16:47:00 -0500 [thread overview]
Message-ID: <20220605214700.GA3558088-robh@kernel.org> (raw)
In-Reply-To: <20220601041512.21484-3-potin.lai.pt@gmail.com>
On Wed, Jun 01, 2022 at 12:15:12PM +0800, Potin Lai wrote:
> Add following properties for manual tuning clock divisor and cycle of
> hign/low pulse witdh.
>
> * aspeed,i2c-manual-clk: Enable aspeed i2c clock manual setting
> * aspeed,i2c-base-clk-div: Base Clock divisor (tBaseClk)
> * aspeed,i2c-clk-high-cycle: Cycles of clock-high pulse (tClkHigh)
> * aspeed,i2c-clk-low-cycle: Cycles of clock-low pulse (tClkLow)
>
> Signed-off-by: Potin Lai <potin.lai.pt@gmail.com>
> ---
> .../devicetree/bindings/i2c/aspeed,i2c.yaml | 44 +++++++++++++++++++
> 1 file changed, 44 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/i2c/aspeed,i2c.yaml b/Documentation/devicetree/bindings/i2c/aspeed,i2c.yaml
> index ea643e6c3ef5..e2f67fe2aa0c 100644
> --- a/Documentation/devicetree/bindings/i2c/aspeed,i2c.yaml
> +++ b/Documentation/devicetree/bindings/i2c/aspeed,i2c.yaml
> @@ -12,6 +12,28 @@ maintainers:
> allOf:
> - $ref: /schemas/i2c/i2c-controller.yaml#
>
> + - if:
> + properties:
> + compatible:
> + const: st,stm32-uart
stm32 uart?
> +
> + then:
> + properties:
> + aspeed,i2c-clk-high-cycle:
> + maximum: 8
> + aspeed,i2c-clk-low-cycle:
> + maximum: 8
> +
> + - if:
> + required:
> + - aspeed,i2c-manual-clk
> +
> + then:
> + required:
> + - aspeed,i2c-base-clk-div
> + - aspeed,i2c-clk-high-cycle
> + - aspeed,i2c-clk-low-cycle
'dependencies' can better express this than an if/then.
However, I think this should all be done in a common way.
> +
> properties:
> compatible:
> enum:
> @@ -49,6 +71,28 @@ properties:
> description:
> states that there is another master active on this bus
>
> + aspeed,i2c-manual-clk:
> + type: boolean
> + description: enable manual clock setting
No need for this as presence of the other properties can determine this.
> +
> + aspeed,i2c-base-clk-div:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + enum: [1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192,
> + 16384, 32768]
> + description: base clock divisor
Specify the i2c bus frequency and calculate the divider.
> +
> + aspeed,i2c-clk-high-cycle:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + minimum: 1
> + maximum: 16
> + description: cycles of master clock-high pulse width
> +
> + aspeed,i2c-clk-low-cycle:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + minimum: 1
> + maximum: 16
> + description: cycles of master clock-low pulse width
These 2 should be common. I think you just need a single property
expressing duty cycle.
Rob
WARNING: multiple messages have this Message-ID (diff)
From: Rob Herring <robh@kernel.org>
To: Potin Lai <potin.lai.pt@gmail.com>
Cc: Brendan Higgins <brendanhiggins@google.com>,
Benjamin Herrenschmidt <benh@kernel.crashing.org>,
Joel Stanley <joel@jms.id.au>, Andrew Jeffery <andrew@aj.id.au>,
Rayn Chen <rayn_chen@aspeedtech.com>,
Patrick Williams <patrick@stwcx.xyz>,
Potin Lai <potin.lai@quantatw.com>,
linux-i2c@vger.kernel.org, devicetree@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-aspeed@lists.ozlabs.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 2/2] dt-bindings: aspeed-i2c: add properties for manual clock setting
Date: Sun, 5 Jun 2022 16:47:00 -0500 [thread overview]
Message-ID: <20220605214700.GA3558088-robh@kernel.org> (raw)
In-Reply-To: <20220601041512.21484-3-potin.lai.pt@gmail.com>
On Wed, Jun 01, 2022 at 12:15:12PM +0800, Potin Lai wrote:
> Add following properties for manual tuning clock divisor and cycle of
> hign/low pulse witdh.
>
> * aspeed,i2c-manual-clk: Enable aspeed i2c clock manual setting
> * aspeed,i2c-base-clk-div: Base Clock divisor (tBaseClk)
> * aspeed,i2c-clk-high-cycle: Cycles of clock-high pulse (tClkHigh)
> * aspeed,i2c-clk-low-cycle: Cycles of clock-low pulse (tClkLow)
>
> Signed-off-by: Potin Lai <potin.lai.pt@gmail.com>
> ---
> .../devicetree/bindings/i2c/aspeed,i2c.yaml | 44 +++++++++++++++++++
> 1 file changed, 44 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/i2c/aspeed,i2c.yaml b/Documentation/devicetree/bindings/i2c/aspeed,i2c.yaml
> index ea643e6c3ef5..e2f67fe2aa0c 100644
> --- a/Documentation/devicetree/bindings/i2c/aspeed,i2c.yaml
> +++ b/Documentation/devicetree/bindings/i2c/aspeed,i2c.yaml
> @@ -12,6 +12,28 @@ maintainers:
> allOf:
> - $ref: /schemas/i2c/i2c-controller.yaml#
>
> + - if:
> + properties:
> + compatible:
> + const: st,stm32-uart
stm32 uart?
> +
> + then:
> + properties:
> + aspeed,i2c-clk-high-cycle:
> + maximum: 8
> + aspeed,i2c-clk-low-cycle:
> + maximum: 8
> +
> + - if:
> + required:
> + - aspeed,i2c-manual-clk
> +
> + then:
> + required:
> + - aspeed,i2c-base-clk-div
> + - aspeed,i2c-clk-high-cycle
> + - aspeed,i2c-clk-low-cycle
'dependencies' can better express this than an if/then.
However, I think this should all be done in a common way.
> +
> properties:
> compatible:
> enum:
> @@ -49,6 +71,28 @@ properties:
> description:
> states that there is another master active on this bus
>
> + aspeed,i2c-manual-clk:
> + type: boolean
> + description: enable manual clock setting
No need for this as presence of the other properties can determine this.
> +
> + aspeed,i2c-base-clk-div:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + enum: [1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192,
> + 16384, 32768]
> + description: base clock divisor
Specify the i2c bus frequency and calculate the divider.
> +
> + aspeed,i2c-clk-high-cycle:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + minimum: 1
> + maximum: 16
> + description: cycles of master clock-high pulse width
> +
> + aspeed,i2c-clk-low-cycle:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + minimum: 1
> + maximum: 16
> + description: cycles of master clock-low pulse width
These 2 should be common. I think you just need a single property
expressing duty cycle.
Rob
WARNING: multiple messages have this Message-ID (diff)
From: Rob Herring <robh@kernel.org>
To: Potin Lai <potin.lai.pt@gmail.com>
Cc: Brendan Higgins <brendanhiggins@google.com>,
Benjamin Herrenschmidt <benh@kernel.crashing.org>,
Joel Stanley <joel@jms.id.au>, Andrew Jeffery <andrew@aj.id.au>,
Rayn Chen <rayn_chen@aspeedtech.com>,
Patrick Williams <patrick@stwcx.xyz>,
Potin Lai <potin.lai@quantatw.com>,
linux-i2c@vger.kernel.org, devicetree@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-aspeed@lists.ozlabs.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 2/2] dt-bindings: aspeed-i2c: add properties for manual clock setting
Date: Sun, 5 Jun 2022 16:47:00 -0500 [thread overview]
Message-ID: <20220605214700.GA3558088-robh@kernel.org> (raw)
In-Reply-To: <20220601041512.21484-3-potin.lai.pt@gmail.com>
On Wed, Jun 01, 2022 at 12:15:12PM +0800, Potin Lai wrote:
> Add following properties for manual tuning clock divisor and cycle of
> hign/low pulse witdh.
>
> * aspeed,i2c-manual-clk: Enable aspeed i2c clock manual setting
> * aspeed,i2c-base-clk-div: Base Clock divisor (tBaseClk)
> * aspeed,i2c-clk-high-cycle: Cycles of clock-high pulse (tClkHigh)
> * aspeed,i2c-clk-low-cycle: Cycles of clock-low pulse (tClkLow)
>
> Signed-off-by: Potin Lai <potin.lai.pt@gmail.com>
> ---
> .../devicetree/bindings/i2c/aspeed,i2c.yaml | 44 +++++++++++++++++++
> 1 file changed, 44 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/i2c/aspeed,i2c.yaml b/Documentation/devicetree/bindings/i2c/aspeed,i2c.yaml
> index ea643e6c3ef5..e2f67fe2aa0c 100644
> --- a/Documentation/devicetree/bindings/i2c/aspeed,i2c.yaml
> +++ b/Documentation/devicetree/bindings/i2c/aspeed,i2c.yaml
> @@ -12,6 +12,28 @@ maintainers:
> allOf:
> - $ref: /schemas/i2c/i2c-controller.yaml#
>
> + - if:
> + properties:
> + compatible:
> + const: st,stm32-uart
stm32 uart?
> +
> + then:
> + properties:
> + aspeed,i2c-clk-high-cycle:
> + maximum: 8
> + aspeed,i2c-clk-low-cycle:
> + maximum: 8
> +
> + - if:
> + required:
> + - aspeed,i2c-manual-clk
> +
> + then:
> + required:
> + - aspeed,i2c-base-clk-div
> + - aspeed,i2c-clk-high-cycle
> + - aspeed,i2c-clk-low-cycle
'dependencies' can better express this than an if/then.
However, I think this should all be done in a common way.
> +
> properties:
> compatible:
> enum:
> @@ -49,6 +71,28 @@ properties:
> description:
> states that there is another master active on this bus
>
> + aspeed,i2c-manual-clk:
> + type: boolean
> + description: enable manual clock setting
No need for this as presence of the other properties can determine this.
> +
> + aspeed,i2c-base-clk-div:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + enum: [1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192,
> + 16384, 32768]
> + description: base clock divisor
Specify the i2c bus frequency and calculate the divider.
> +
> + aspeed,i2c-clk-high-cycle:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + minimum: 1
> + maximum: 16
> + description: cycles of master clock-high pulse width
> +
> + aspeed,i2c-clk-low-cycle:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + minimum: 1
> + maximum: 16
> + description: cycles of master clock-low pulse width
These 2 should be common. I think you just need a single property
expressing duty cycle.
Rob
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2022-06-05 21:47 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-06-01 4:15 [PATCH v2 0/2] Add i2c clock manual tuning feature for aspeed-i2c driver Potin Lai
2022-06-01 4:15 ` Potin Lai
2022-06-01 4:15 ` Potin Lai
2022-06-01 4:15 ` [PATCH v2 1/2] aspeed: i2c: add manual clock setting feature Potin Lai
2022-06-01 4:15 ` Potin Lai
2022-06-01 4:15 ` Potin Lai
2022-06-01 4:15 ` [PATCH v2 2/2] dt-bindings: aspeed-i2c: add properties for manual clock setting Potin Lai
2022-06-01 4:15 ` Potin Lai
2022-06-01 4:15 ` Potin Lai
2022-06-05 21:47 ` Rob Herring [this message]
2022-06-05 21:47 ` Rob Herring
2022-06-05 21:47 ` Rob Herring
2022-06-06 8:39 ` Potin Lai
2022-06-06 8:39 ` Potin Lai
2022-06-06 8:39 ` Potin Lai
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=20220605214700.GA3558088-robh@kernel.org \
--to=robh@kernel.org \
--cc=linux-aspeed@lists.ozlabs.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.