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

From: William Zhang
Date: Wed Jan 11 2023 - 14:49:13 EST




On 01/10/2023 02:01 PM, Mark Brown wrote:
On Mon, Jan 09, 2023 at 12:18:09PM -0800, William Zhang wrote:

This setting is set per spi message for particular chip select of the device
when starting the message through bcm63xx_hsspi_set_clk function and restore
to default(clock gating) when message is done through
bcm63xx_hsspi_restore_clk_gate.

In that case I am extremely confused about what the feature is supposed
to do. The description says:

+ 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.


which to me sounds like the clock should never be turned off and instead
left running at all times. Switching back to clock gating after sending
the message doesn't seem to correspond to the above at all, the message
being done would normally also be the point at which chip select is
deasserted.

This feature is used by our voice team and as far I can tell, it is used to keep clock running between the transfers within the same message. But now that we have prepend mode to combine to one transfer or dummy workaround to keep cs always active between transfers, this indeed does not seems right. I will have to talk to the voice team why this is still needed and get back here.

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