Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3879ae65 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull clk updates from Stephen Boyd:
 "The core framework has a handful of patches this time around, mostly
  due to the clk rate protection support added by Jerome Brunet.

  This feature will allow consumers to lock in a certain rate on the
  output of a clk so that things like audio playback don't hear pops
  when the clk frequency changes due to shared parent clks changing
  rates. Currently the clk API doesn't guarantee the rate of a clk stays
  at the rate you request after clk_set_rate() is called, so this new
  API will allow drivers to express that requirement.

  Beyond this, the core got some debugfs pretty printing patches and a
  couple minor non-critical fixes.

  Looking outside of the core framework diff we have some new driver
  additions and the removal of a legacy TI clk driver. Both of these hit
  high in the dirstat. Also, the removal of the asm-generic/clkdev.h
  file causes small one-liners in all the architecture Kbuild files.

  Overall, the driver diff seems to be the normal stuff that comes all
  the time to fix little problems here and there and to support new
  hardware.

  Summary:

  Core:
   - Clk rate protection
   - Symbolic clk flags in debugfs output
   - Clk registration enabled clks while doing bookkeeping updates

  New Drivers:
   - Spreadtrum SC9860
   - HiSilicon hi3660 stub
   - Qualcomm A53 PLL, SPMI clkdiv, and MSM8916 APCS
   - Amlogic Meson-AXG
   - ASPEED BMC

  Removed Drivers:
   - TI OMAP 3xxx legacy clk (non-DT) support
   - asm*/clkdev.h got removed (not really a driver)

  Updates:
   - Renesas FDP1-0 module clock on R-Car M3-W
   - Renesas LVDS module clock on R-Car V3M
   - Misc fixes to pr_err() prints
   - Qualcomm MSM8916 audio fixes
   - Qualcomm IPQ8074 rounded out support for more peripherals
   - Qualcomm Alpha PLL variants
   - Divider code was using container_of() on bad pointers
   - Allwinner DE2 clks on H3
   - Amlogic minor data fixes and dropping of CLK_IGNORE_UNUSED
   - Mediatek clk driver compile test support
   - AT91 PMC clk suspend/resume restoration support
   - PLL issues fixed on si5351
   - Broadcom IProc PLL calculation updates
   - DVFS support for Armada mvebu CPU clks
   - Allwinner fixed post-divider support
   - TI clkctrl fixes and support for newer SoCs"

* tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (125 commits)
  clk: aspeed: Handle inverse polarity of USB port 1 clock gate
  clk: aspeed: Fix return value check in aspeed_cc_init()
  clk: aspeed: Add reset controller
  clk: aspeed: Register gated clocks
  clk: aspeed: Add platform driver and register PLLs
  clk: aspeed: Register core clocks
  clk: Add clock driver for ASPEED BMC SoCs
  clk: mediatek: adjust dependency of reset.c to avoid unexpectedly being built
  clk: fix reentrancy of clk_enable() on UP systems
  clk: meson-axg: fix potential NULL dereference in axg_clkc_probe()
  clk: Simplify debugfs registration
  clk: Fix debugfs_create_*() usage
  clk: Show symbolic clock flags in debugfs
  clk: renesas: r8a7796: Add FDP clock
  clk: Move __clk_{get,put}() into private clk.h API
  clk: sunxi: Use CLK_IS_CRITICAL flag for critical clks
  clk: Improve flags doc for of_clk_detect_critical()
  arch: Remove clkdev.h asm-generic from Kbuild
  clk: sunxi-ng: a83t: Add M divider to TCON1 clock
  clk: Prepare to remove asm-generic/clkdev.h
  ...
parents fe53d144 c43a52cf
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -13,12 +13,18 @@ Required Properties:
	- "hisilicon,hi3660-pmuctrl"
	- "hisilicon,hi3660-sctrl"
	- "hisilicon,hi3660-iomcu"
	- "hisilicon,hi3660-stub-clk"

- reg: physical base address of the controller and length of memory mapped
  region.

- #clock-cells: should be 1.

Optional Properties:

- mboxes: Phandle to the mailbox for sending message to MCU.
            (See: ../mailbox/hisilicon,hi3660-mailbox.txt for more info)

Each clock is assigned an identifier and client nodes use this identifier
to specify the clock which they consume.

+22 −0
Original line number Diff line number Diff line
Qualcomm MSM8916 A53 PLL Binding
--------------------------------
The A53 PLL on MSM8916 platforms is the main CPU PLL used used for frequencies
above 1GHz.

Required properties :
- compatible : Shall contain only one of the following:

		"qcom,msm8916-a53pll"

- reg : shall contain base register location and length

- #clock-cells : must be set to <0>

Example:

	a53pll: clock@b016000 {
		compatible = "qcom,msm8916-a53pll";
		reg = <0xb016000 0x40>;
		#clock-cells = <0>;
	};
+59 −0
Original line number Diff line number Diff line
Qualcomm Technologies, Inc. SPMI PMIC clock divider (clkdiv)

clkdiv configures the clock frequency of a set of outputs on the PMIC.
These clocks are typically wired through alternate functions on
gpio pins.

=======================
Properties
=======================

- compatible
	Usage:      required
	Value type: <string>
	Definition: must be "qcom,spmi-clkdiv".

- reg
	Usage:      required
	Value type: <prop-encoded-array>
	Definition: base address of CLKDIV peripherals.

- qcom,num-clkdivs
	Usage:      required
	Value type: <u32>
	Definition: number of CLKDIV peripherals.

- clocks:
	Usage: required
	Value type: <prop-encoded-array>
	Definition: reference to the xo clock.

- clock-names:
	Usage: required
	Value type: <stringlist>
	Definition: must be "xo".

- #clock-cells:
	Usage: required
	Value type: <u32>
	Definition: shall contain 1.

=======
Example
=======

pm8998_clk_divs: clock-controller@5b00 {
	compatible = "qcom,spmi-clkdiv";
	reg = <0x5b00>;
	#clock-cells = <1>;
	qcom,num-clkdivs = <3>;
	clocks = <&xo_board>;
	clock-names = "xo";

	assigned-clocks = <&pm8998_clk_divs 1>,
			  <&pm8998_clk_divs 2>,
			  <&pm8998_clk_divs 3>;
	assigned-clock-rates = <9600000>,
			       <9600000>,
			       <9600000>;
};
+1 −0
Original line number Diff line number Diff line
@@ -78,6 +78,7 @@ second cell is the clock index for the specified type.
	2	hwaccel		index (n in CLKCGnHWACSR)
	3	fman		0 for fm1, 1 for fm2
	4	platform pll	0=pll, 1=pll/2, 2=pll/3, 3=pll/4
				4=pll/5, 5=pll/6, 6=pll/7, 7=pll/8
	5	coreclk		must be 0

3. Example
+1 −0
Original line number Diff line number Diff line
@@ -49,6 +49,7 @@ Optional child node properties:
- silabs,multisynth-source: source pll A(0) or B(1) of corresponding multisynth
  divider.
- silabs,pll-master: boolean, multisynth can change pll frequency.
- silabs,pll-reset: boolean, clock output can reset its pll.
- silabs,disable-state : clock output disable state, shall be
  0 = clock output is driven LOW when disabled
  1 = clock output is driven HIGH when disabled
Loading