All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/10] DRAM devfreq support for Allwinner A64/H5
@ 2021-09-29  4:42 ` Samuel Holland
  0 siblings, 0 replies; 38+ messages in thread
From: Samuel Holland @ 2021-09-29  4:42 UTC (permalink / raw)
  To: MyungJoo Ham, Kyungmin Park, Chanwoo Choi, Maxime Ripard,
	Chen-Yu Tsai, Jernej Skrabec, Rob Herring
  Cc: Michael Turquette, Stephen Boyd, devicetree, linux-arm-kernel,
	linux-pm, linux-sunxi, linux-kernel, Samuel Holland

This series adds a new devfreq driver for the MBUS/DRAM controller in
some Allwinner SoCs, and enables it for the A64 and H5.

The first four patches make some improvements to the devfreq core to
support drivers without any OPPs in the DT. They could be merged
independently. (Since this driver controls only a divider, and can only
slow down the DRAM clock, it works with most any base DRAM frequency.)

Then the binding and DTs are updated in patches 5-9. The MBUS nodes
already existed, but were not bound to any driver before; they were only
used for their dma-ranges property.

Finally, the driver is added in patch 10.

I am not 100% sure the best way to handle DRAM register access -- as a
separate reg property, a separate node, or simply enlarging the MBUS
register range. While the DRAM controller is a separate IP block, the
MBUS hardware has the ability to double-buffer certain DRAM controller
registers, and the hardware MDFS process writes to some DRAM controller
registers as well. So they are rather tightly integrated.

Like the patch 10 description says, this driver could support additional
SoCs: at least A33, A83T, and H3. I can send follow-up patches for
these, but I cannot test A33 or A83T.

Samuel Holland (10):
  PM / devfreq: strengthen check for freq_table
  PM / devfreq: Do not require devices to have OPPs
  PM / devfreq: Drop code for descending freq_table
  PM / devfreq: Add a recommended frequency helper
  dt-bindings: clock: sunxi: Export CLK_DRAM for devfreq
  dt-bindings: arm: sunxi: Expand MBUS binding
  dt-bindings: arm: sunxi: Add H5 MBUS compatible
  ARM: dts: sunxi: h3/h5: Update MBUS node
  arm64: dts: allwinner: a64: Update MBUS node
  PM / devfreq: Add a driver for the sun8i/sun50i MBUS

 .../arm/sunxi/allwinner,sun4i-a10-mbus.yaml   |  77 ++-
 arch/arm/boot/dts/sun8i-h3.dtsi               |   4 +
 arch/arm/boot/dts/sunxi-h3-h5.dtsi            |  11 +-
 arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi |  10 +-
 arch/arm64/boot/dts/allwinner/sun50i-h5.dtsi  |   4 +
 drivers/clk/sunxi-ng/ccu-sun50i-a64.h         |   2 -
 drivers/clk/sunxi-ng/ccu-sun8i-h3.h           |   2 -
 drivers/devfreq/Kconfig                       |   8 +
 drivers/devfreq/Makefile                      |   1 +
 drivers/devfreq/devfreq.c                     |  77 ++-
 drivers/devfreq/sun8i-a33-mbus.c              | 482 ++++++++++++++++++
 include/dt-bindings/clock/sun50i-a64-ccu.h    |   2 +-
 include/dt-bindings/clock/sun8i-h3-ccu.h      |   2 +-
 include/linux/devfreq.h                       |   2 +
 14 files changed, 644 insertions(+), 40 deletions(-)
 create mode 100644 drivers/devfreq/sun8i-a33-mbus.c

-- 
2.31.1


^ permalink raw reply	[flat|nested] 38+ messages in thread

end of thread, other threads:[~2021-10-01  1:55 UTC | newest]

Thread overview: 38+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-29  4:42 [PATCH 00/10] DRAM devfreq support for Allwinner A64/H5 Samuel Holland
2021-09-29  4:42 ` Samuel Holland
2021-09-29  4:42 ` [PATCH 01/10] PM / devfreq: strengthen check for freq_table Samuel Holland
2021-09-29  4:42   ` Samuel Holland
2021-09-30  3:58   ` Chanwoo Choi
2021-09-30  3:58     ` Chanwoo Choi
2021-09-29  4:42 ` [PATCH 02/10] PM / devfreq: Do not require devices to have OPPs Samuel Holland
2021-09-29  4:42   ` Samuel Holland
2021-09-30  4:19   ` Chanwoo Choi
2021-09-30  4:19     ` Chanwoo Choi
2021-09-30 11:37     ` Samuel Holland
2021-09-30 11:37       ` Samuel Holland
2021-10-01  1:59       ` Chanwoo Choi
2021-10-01  1:59         ` Chanwoo Choi
2021-10-01  1:45         ` Samuel Holland
2021-10-01  1:45           ` Samuel Holland
2021-10-01  2:14           ` Chanwoo Choi
2021-10-01  2:14             ` Chanwoo Choi
2021-09-29  4:42 ` [PATCH 03/10] PM / devfreq: Drop code for descending freq_table Samuel Holland
2021-09-29  4:42   ` Samuel Holland
2021-09-29  4:42 ` [PATCH 04/10] PM / devfreq: Add a recommended frequency helper Samuel Holland
2021-09-29  4:42   ` Samuel Holland
2021-09-29  4:42 ` [PATCH 05/10] dt-bindings: clock: sunxi: Export CLK_DRAM for devfreq Samuel Holland
2021-09-29  4:42   ` Samuel Holland
2021-09-29  4:42 ` [PATCH 06/10] dt-bindings: arm: sunxi: Expand MBUS binding Samuel Holland
2021-09-29  4:42   ` Samuel Holland
2021-09-29 13:46   ` Rob Herring
2021-09-29 13:46     ` Rob Herring
2021-09-29  4:42 ` [PATCH 07/10] dt-bindings: arm: sunxi: Add H5 MBUS compatible Samuel Holland
2021-09-29  4:42   ` Samuel Holland
2021-09-29  4:42 ` [PATCH 08/10] ARM: dts: sunxi: h3/h5: Update MBUS node Samuel Holland
2021-09-29  4:42   ` Samuel Holland
2021-09-29  4:42 ` [PATCH 09/10] arm64: dts: allwinner: a64: " Samuel Holland
2021-09-29  4:42   ` Samuel Holland
2021-09-29  4:42 ` [PATCH 10/10] PM / devfreq: Add a driver for the sun8i/sun50i MBUS Samuel Holland
2021-09-29  4:42   ` Samuel Holland
2021-09-30  4:35   ` Chanwoo Choi
2021-09-30  4:35     ` Chanwoo Choi

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.