Re: [PATCH v5 2/2] i2c: designware: Add support for an interface clock

From: Jarkko Nikula
Date: Fri Mar 01 2019 - 09:53:13 EST


On 2/28/19 3:52 PM, Gareth Williams wrote:
From: Phil Edworthy <phil.edworthy@xxxxxxxxxxx>

The Synopsys I2C Controller has an interface clock, but most SoCs hide
this away. However, on some SoCs you need to explicitly enable the
interface clock in order to access the registers. Therefore, add
support for an optional interface clock.

Signed-off-by: Phil Edworthy <phil.edworthy@xxxxxxxxxxx>
Signed-off-by: Gareth Williams <gareth.williams.jx@xxxxxxxxxxx>
Acked-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx>
---
v5:
- Updated comments to reference "interface clock" instead of
"peripheral clock".
- Corrected spelling in commit message, changing "explicity" to
"explicitly".
v4:
- Updated comments to reference "peripheral clock"
instead of "bus clock".
- Added Wolfram's Acked-by
v3:
- busclk renamed to pclk.
- Added comment with dw_i2c_dev struct definition describing pclk.
- Added enable rollback of first clock if second fails to enable.
v2:
- Use new devm_clk_get_optional() function as it simplifies handling when
the optional clock is not present.
---
drivers/i2c/busses/i2c-designware-common.c | 18 ++++++++++++++++--
drivers/i2c/busses/i2c-designware-core.h | 2 ++
drivers/i2c/busses/i2c-designware-platdrv.c | 5 +++++
3 files changed, 23 insertions(+), 2 deletions(-)

Build & boot tested on linux-next that has the required commit
60b8f0ddf1a9 ("clk: Add (devm_)clk_get_optional() functions").

Acked-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx>
Tested-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx>