[PATCH v2 00/24] clk updates

Sascha Hauer s.hauer at pengutronix.de
Wed Jun 2 02:54:43 PDT 2021


The barebox clk framework has diverged a lot from Linux. Specifically
the separation of a struct clk_hw from struct clk causes some pain when
porting over code from Linux. This series aims to reduce the differences
a bit. New this time is the addition of the rk3568 clock code which is
a first step to get rk3568 up.

Changes since v1:
- Make exported clk ops const
- Add more patches to get closer to Linux
- Update Rockchip Clock support to current Linux
- Add rk3568 clk support

Sascha Hauer (24):
  clk: clk-mux: Fix handling of CLK_MUX_HIWORD_MASK
  clk: introduce clk init op
  clk: rename clk_register() to bclk_register()
  clk: introduce struct clk_hw
  clk: introduce clk_register()
  clk: divider: Make clk_divider_ops const
  clk: divider: Add ro ops
  clk: divider: Make clk_mux_ops const
  clk: mux: Add ro ops
  clk: move fixed_factor to include/linux/clk.h
  Add rational_best_approximation()
  clk: Update fractional divider from Linux
  clk: Add lock to different clock types
  clk: Add Linux functions to register a divider
  clk: Add Linux functions to register a fixed factor clock
  clk: Add Linux functions to register a gate
  clk: Add Linux functions to register a mux
  clk: Add CLK_GET_RATE_NOCACHE
  clk: Rename CLK_GATE_INVERTED to CLK_GATE_SET_TO_DISABLE
  clk: implement CLK_SET_RATE_UNGATE
  clk: implement set/get phase
  regmap: Add regmap_read_poll_timeout
  clk: rockchip: Update to current Linux
  clk: Rockchip: Add rk3568 clk support

 drivers/clk/at91/clk-audio-pll.c        |  103 +-
 drivers/clk/at91/clk-generated.c        |   42 +-
 drivers/clk/at91/clk-h32mx.c            |   22 +-
 drivers/clk/at91/clk-i2s-mux.c          |   24 +-
 drivers/clk/at91/clk-main.c             |  126 +-
 drivers/clk/at91/clk-master.c           |   32 +-
 drivers/clk/at91/clk-peripheral.c       |   72 +-
 drivers/clk/at91/clk-pll.c              |   40 +-
 drivers/clk/at91/clk-plldiv.c           |   26 +-
 drivers/clk/at91/clk-programmable.c     |   32 +-
 drivers/clk/at91/clk-sam9x60-pll.c      |   28 +-
 drivers/clk/at91/clk-slow.c             |   20 +-
 drivers/clk/at91/clk-smd.c              |   36 +-
 drivers/clk/at91/clk-system.c           |   28 +-
 drivers/clk/at91/clk-usb.c              |   92 +-
 drivers/clk/at91/clk-utmi.c             |   32 +-
 drivers/clk/at91/sckc.c                 |  114 +-
 drivers/clk/clk-ar933x.c                |   18 +-
 drivers/clk/clk-ar9344.c                |   18 +-
 drivers/clk/clk-composite.c             |   74 +-
 drivers/clk/clk-divider.c               |   78 +-
 drivers/clk/clk-fixed-factor.c          |   44 +-
 drivers/clk/clk-fixed.c                 |   20 +-
 drivers/clk/clk-fractional-divider.c    |  133 +-
 drivers/clk/clk-gate-shared.c           |   33 +-
 drivers/clk/clk-gate.c                  |   52 +-
 drivers/clk/clk-gpio.c                  |   32 +-
 drivers/clk/clk-mux.c                   |   48 +-
 drivers/clk/clk-qoric.c                 |   34 +-
 drivers/clk/clk-stm32mp1.c              |  103 +-
 drivers/clk/clk.c                       |  207 ++-
 drivers/clk/imx/clk-composite-8m.c      |   33 +-
 drivers/clk/imx/clk-cpu.c               |   32 +-
 drivers/clk/imx/clk-frac-pll.c          |   38 +-
 drivers/clk/imx/clk-gate-exclusive.c    |   36 +-
 drivers/clk/imx/clk-gate2.c             |   45 +-
 drivers/clk/imx/clk-imx6ul.c            |    4 +-
 drivers/clk/imx/clk-pfd.c               |   34 +-
 drivers/clk/imx/clk-pll14xx.c           |   47 +-
 drivers/clk/imx/clk-pllv1.c             |   18 +-
 drivers/clk/imx/clk-pllv2.c             |   24 +-
 drivers/clk/imx/clk-pllv3.c             |   70 +-
 drivers/clk/imx/clk-sccg-pll.c          |   51 +-
 drivers/clk/loongson/clk-ls1b200.c      |   18 +-
 drivers/clk/mvebu/corediv.c             |   30 +-
 drivers/clk/mxs/clk-div.c               |   36 +-
 drivers/clk/mxs/clk-frac.c              |   30 +-
 drivers/clk/mxs/clk-lcdif.c             |   20 +-
 drivers/clk/mxs/clk-pll.c               |   32 +-
 drivers/clk/mxs/clk-ref.c               |   38 +-
 drivers/clk/rockchip/Makefile           |    3 +-
 drivers/clk/rockchip/clk-cpu.c          |   82 +-
 drivers/clk/rockchip/clk-inverter.c     |  107 ++
 drivers/clk/rockchip/clk-mmc-phase.c    |  192 +++
 drivers/clk/rockchip/clk-muxgrf.c       |   95 ++
 drivers/clk/rockchip/clk-pll.c          |  853 ++++++++++--
 drivers/clk/rockchip/clk-rk3188.c       |  363 ++---
 drivers/clk/rockchip/clk-rk3288.c       |  309 ++--
 drivers/clk/rockchip/clk-rk3568.c       | 1704 +++++++++++++++++++++++
 drivers/clk/rockchip/clk.c              |  489 +++++--
 drivers/clk/rockchip/clk.h              |  500 ++++++-
 drivers/clk/socfpga/clk-gate-a10.c      |   32 +-
 drivers/clk/socfpga/clk-periph-a10.c    |   28 +-
 drivers/clk/socfpga/clk-pll-a10.c       |   30 +-
 drivers/clk/socfpga/clk.c               |   74 +-
 drivers/clk/socfpga/clk.h               |    6 +-
 drivers/clk/tegra/clk-divider.c         |   17 +-
 drivers/clk/tegra/clk-periph.c          |   44 +-
 drivers/clk/tegra/clk-pll-out.c         |   30 +-
 drivers/clk/tegra/clk-pll.c             |   52 +-
 drivers/clk/tegra/clk.h                 |    6 +-
 drivers/clk/vexpress/clk-sp810.c        |   24 +-
 drivers/clk/zynq/clkc.c                 |  100 +-
 drivers/clk/zynqmp/clk-divider-zynqmp.c |   30 +-
 drivers/clk/zynqmp/clk-gate-zynqmp.c    |   30 +-
 drivers/clk/zynqmp/clk-mux-zynqmp.c     |   30 +-
 drivers/clk/zynqmp/clk-pll-zynqmp.c     |   48 +-
 drivers/video/imx-ipu-v3/ipu-di.c       |   17 +-
 include/linux/clk.h                     |  199 ++-
 include/linux/rational.h                |   20 +
 include/regmap.h                        |   24 +
 lib/math/Makefile                       |    1 +
 lib/math/rational.c                     |  100 ++
 83 files changed, 6089 insertions(+), 1949 deletions(-)
 create mode 100644 drivers/clk/rockchip/clk-inverter.c
 create mode 100644 drivers/clk/rockchip/clk-mmc-phase.c
 create mode 100644 drivers/clk/rockchip/clk-muxgrf.c
 create mode 100644 drivers/clk/rockchip/clk-rk3568.c
 create mode 100644 include/linux/rational.h
 create mode 100644 lib/math/rational.c

-- 
2.29.2




More information about the barebox mailing list