|
|
Subscribe / Log in / New account

clk: bcm: kona: Add bus clock support, bus clocks for BCM21664/BCM281xx

From:  Artur Weber <aweber.kernel-AT-gmail.com>
To:  Michael Turquette <mturquette-AT-baylibre.com>, Stephen Boyd <sboyd-AT-kernel.org>, Florian Fainelli <florian.fainelli-AT-broadcom.com>, Ray Jui <rjui-AT-broadcom.com>, Scott Branden <sbranden-AT-broadcom.com>, Broadcom internal kernel review list <bcm-kernel-feedback-list-AT-broadcom.com>, Rob Herring <robh-AT-kernel.org>, Krzysztof Kozlowski <krzk+dt-AT-kernel.org>, Conor Dooley <conor+dt-AT-kernel.org>
Subject:  [PATCH v5 0/8] clk: bcm: kona: Add bus clock support, bus clocks for BCM21664/BCM281xx
Date:  Wed, 30 Apr 2025 08:49:47 +0200
Message-ID:  <20250430-kona-bus-clock-v5-0-46766b28b93a@gmail.com>
Cc:  Alex Elder <elder-AT-kernel.org>, Stanislav Jakubek <stano.jakubek-AT-gmail.com>, linux-clk-AT-vger.kernel.org, linux-kernel-AT-vger.kernel.org, devicetree-AT-vger.kernel.org, ~postmarketos/upstreaming-AT-lists.sr.ht, Artur Weber <aweber.kernel-AT-gmail.com>, Krzysztof Kozlowski <krzysztof.kozlowski-AT-linaro.org>, Alex Elder <elder-AT-riscstar.com>
Archive-link:  Article

This patchset does the following:

- Introduce support for bus clocks. These are fairly similar to
  peripheral clocks, but only implement policy, gate and hyst.

- Add matching bus clocks for BCM21664 and BCM281xx peripheral clocks
  and update device tree bindings to match.

The previous (RFC) version of this patchset also introduced a
prerequisite clock mechanism to enable bus clocks before their
corresponding peripheral clocks. It seems that this is unnecessary - 
the way these clocks are initialized leaves them enabled by default.
Thus, the prerequisite mechanism has been dropped from this version.

This is fine for now, and more accurate to hardware (bus clocks are
a prerequisite for the bus, not the peripheral clock). I had an idea
to connect bus clocks to buses using "simple-pm-bus" in DT, but
this is a task for another patchset.

Signed-off-by: Artur Weber <aweber.kernel@gmail.com>
---
Changes in v5:
- Pick up Reviewed-by trailer from Krzysztof on patch 3
- Rebase on v6.14
- No code changes since v4
- Link to v4: https://lore.kernel.org/r/20250318-kona-bus-clock-v4-0-f5...

Changes in v4:
- Rename moved CLOCK_COUNT defines to CLK_COUNT to avoid redefinition
- Squash BCM21664/BCM281xx bus clock DT bindings commits together
- Link to v3: https://lore.kernel.org/r/20250308-kona-bus-clock-v3-0-d6...

Changes in v3:
- Fix DT schema example in BCM281xx bus clock bindings
- Move CLOCK_COUNT defines from dt-bindings header to the driver
- Fix BCM21664 UARTBx_APB IDs being out of order compared to clock
  driver
- Link to v2: https://lore.kernel.org/r/20250303-kona-bus-clock-v2-0-a3...

Changes in v2:
- Drop prerequisite clock patch
- Move clock/bcm21664.h dt-bindings header change to dt-bindings patch
- Add BCM281xx bus clocks
- Link to v1: https://lore.kernel.org/r/20250216-kona-bus-clock-v1-0-e8...

---
Artur Weber (8):
      clk: bcm: kona: Move CLOCK_COUNT defines into the driver
      dt-bindings: clock: brcm,kona-ccu: Drop CLOCK_COUNT defines from DT headers
      dt-bindings: clock: brcm,kona-ccu: Add BCM21664 and BCM281xx bus clocks
      clk: bcm: kona: Add support for bus clocks
      clk: bcm21664: Add corresponding bus clocks for peripheral clocks
      clk: bcm281xx: Add corresponding bus clocks for peripheral clocks
      ARM: dts: bcm2166x-common: Add matching bus clocks for peripheral clocks
      ARM: dts: bcm11351: Add corresponding bus clocks for peripheral clocks

 .../devicetree/bindings/clock/brcm,kona-ccu.yaml   |  49 ++++++-
 arch/arm/boot/dts/broadcom/bcm11351.dtsi           |  33 +++--
 arch/arm/boot/dts/broadcom/bcm2166x-common.dtsi    |  28 ++--
 drivers/clk/bcm/clk-bcm21664.c                     |  99 ++++++++++++++-
 drivers/clk/bcm/clk-bcm281xx.c                     | 141 ++++++++++++++++++++-
 drivers/clk/bcm/clk-kona-setup.c                   | 116 +++++++++++++++++
 drivers/clk/bcm/clk-kona.c                         |  62 ++++++++-
 drivers/clk/bcm/clk-kona.h                         |  12 +-
 include/dt-bindings/clock/bcm21664.h               |  17 ++-
 include/dt-bindings/clock/bcm281xx.h               |  24 +++-
 10 files changed, 538 insertions(+), 43 deletions(-)
---
base-commit: 38fec10eb60d687e30c8c6b5420d86e8149f7557
change-id: 20250212-kona-bus-clock-4297eefae940

Best regards,
-- 
Artur Weber <aweber.kernel@gmail.com>




Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds