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