Re: [PATCH 03/16] dt-bindings: spi: Add spi peripheral specific property

From: William Zhang
Date: Mon Jan 09 2023 - 03:06:49 EST


Hi Rob,

On 01/07/2023 07:38 AM, Rob Herring wrote:
On Fri, Jan 6, 2023 at 9:27 PM William Zhang <william.zhang@xxxxxxxxxxxx> wrote:

Hi Mark,

On 01/06/2023 01:14 PM, Mark Brown wrote:
On Fri, Jan 06, 2023 at 12:07:55PM -0800, William Zhang wrote:

brcm,no-clk-gate is a Broadcom Broadband HS SPI controller specific
property for certain SPI device such as Broadcom ISI voice daughtercard
to work properly. It disables the clock gating feature when the chip
select is deasserted for any device that wants to keep the clock
running.

Why would this property be Broadcom specific? Other devices could in
theory implement this.

It does not need to be Broadcom specific if other SoC's SPI bus
controller support such function. I am not aware of such case but
certainly I am no expert on other chips. I can put it in the generic
spi-peripheral-props.yaml if that is what you suggest.

+properties:
+ brcm,no-clk-gate:
+ $ref: /schemas/types.yaml#/definitions/flag
+ description:
+ Some SPI device such as Broadcom ISI based voice daughtercard requires SPI
+ clock running even when chip select is deasserted. By default the
+ controller turns off or gate the clock when cs is not active to save
+ power. This flag tells the controller driver to keep the clock running
+ when chip select is not active.

This seems problematic with any host controlled chip select support...

Yes those ISI chip based voice cards do need such strange requirement
and will not work with other controller. That is one of the reason I
put this as Broadcom specific option.

Keeping the clock on or not would affect all devices unless you have a
per device clock you can gate, so making this a per device flag
doesn't make sense.

This applies only to each chip select. There is only one device under each chip select. So won't impact any other devices under other cs.

If this is a requirement of the slave device, then the device's
compatible string can imply the need for this and its driver can tell
the host controller in some way.
That is true but spi host controller driver reads and parses these slave device flag directly.

Rob

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature