mbox series

[v3,0/2] clk: keystone: syscon-clk: Enable audio reference clock

Message ID 20230515-refclk-v3-0-37c0b550f406@ti.com
Headers show
Series clk: keystone: syscon-clk: Enable audio reference clock | expand

Message

Jai Luthra June 15, 2023, 11:55 a.m. UTC
TI's AM62 SoC can optionally provide two audio reference clocks
(AUDIO_REFCLKx) to external peripherals. By default the reference clock
is looped-back inside the SoC to a mux that goes to McASP AHCLK, but can
optionally be enabled as an output to peripherals outside the SoC by
setting a bit through CTRL_MMR registers.

This patch series extends the existing syscon-clk driver to support
the audio reference clock, and also adds new device tree bindings
documentation.

Please apply this on-top-of Andrew's series [1] removing the unnecessary
dependency on syscon compatible.

[1]: https://lore.kernel.org/linux-clk/20230516184626.154892-1-afd@ti.com/#t

Signed-off-by: Jai Luthra <j-luthra@ti.com>
---
Changes in v3:
- Add missing headers for kasprintf/kfree in [PATCH 2/2]
- Add Conor's R-by for [PATCH 1/2]
- Link to v2: https://lore.kernel.org/r/20230515-refclk-v2-0-fc9ff08826f5@ti.com

Changes in v2:
- Removed "syscon" compatible and rebased on top of [1]
- Moved reg above other properties in bindings yaml
- Link to v1: https://lore.kernel.org/r/20230515-refclk-v1-0-5e89f01d6733@ti.com

Range diff from v2:
1:  f1bb6a34efce ! 1:  db84010f924d dt-bindings: clock: Add binding documentation for TI Audio REFCLK
    @@ Commit message
         Add DT bindings for TI's audio reference clocks (REFCLK) present on AM62
         SoC.

    +    Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
         Signed-off-by: Jai Luthra <j-luthra@ti.com>

      ## Documentation/devicetree/bindings/clock/ti,am62-audio-refclk.yaml (new) ##
2:  bb1b58178bbd ! 2:  06186242572b clk: keystone: syscon-clk: Add support for audio refclk
    @@ Commit message
         Signed-off-by: Jai Luthra <j-luthra@ti.com>

      ## drivers/clk/keystone/syscon-clk.c ##
    +@@
    +  */
    +
    + #include <linux/clk-provider.h>
    ++#include <linux/kernel.h>
    + #include <linux/mfd/syscon.h>
    + #include <linux/module.h>
    + #include <linux/platform_device.h>
    + #include <linux/regmap.h>
    ++#include <linux/slab.h>
    +
    + struct ti_syscon_gate_clk_priv {
    +   struct clk_hw hw;
     @@ drivers/clk/keystone/syscon-clk.c: static const struct clk_ops ti_syscon_gate_clk_ops = {

      static struct clk_hw

---
Jai Luthra (2):
      dt-bindings: clock: Add binding documentation for TI Audio REFCLK
      clk: keystone: syscon-clk: Add support for audio refclk

 .../bindings/clock/ti,am62-audio-refclk.yaml       | 43 +++++++++++++++++++++
 drivers/clk/keystone/syscon-clk.c                  | 45 +++++++++++++++++++---
 2 files changed, 83 insertions(+), 5 deletions(-)
---
base-commit: f9547f8abff52dfb21985057f10744558a7e4cc8
change-id: 20230515-refclk-5b544d314c23

Best regards,

Comments

Stephen Boyd June 16, 2023, 7:16 p.m. UTC | #1
Quoting Jai Luthra (2023-06-15 04:55:36)
> TI's AM62 SoC can optionally provide two audio reference clocks
> (AUDIO_REFCLKx) to external peripherals.
> 
> By default this reference clock is looped-back inside the SoC to a mux
> that goes to McASP AHCLK, but can optionally be enabled as an output to
> peripherals outside the SoC by setting a bit through CTRL_MMR registers.
> 
> This bit only controls the direction of the clock, while the parent
> is a muxed input from sci-clk [1] which may be a configurable PLL or a
> master clock from one of the McASP instances.
> 
> Link: http://downloads.ti.com/tisci/esd/latest/5_soc_doc/am62x/clocks.html#clocks-for-board0-device [1]
> Signed-off-by: Jai Luthra <j-luthra@ti.com>
> ---

Applied to clk-next