forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kerne…
…l/git/clk/linux Pull clk framework updates from Stephen Boyd: "We have a couple new features and changes in the core clk framework this time around because we've finally gotten around to fixing some long standing issues. There's still work to do though, so this pull request is largely laying down the foundation for all the driver changes to come in the next merge window. The first problem we're alleviating is how parents of clks are specified. With the new method, we should see lots of drivers migrate away from the current design of string comparisons on the entire clk tree to a more direct method where they can use clk_hw pointers or more localized names specified in DT or via clkdev. This should reduce our reliance on string comparisons for all the topology description logic that we've been using for years and hopefully speed some things up while avoiding problems we have with generating clk names. Beyond that we also got rid of the CLK_IS_BASIC flag because it wasn't really helping anyone and we introduced big-endian versions of the basic clk types so that we can get rid of clk_{readl,writel}(). Both of these are things that driver developers have tried to use over the years that I typically bat away during code reviews because they're not useful. It's great to see these two things go away so maintainers can save time not worrying about these things. On the driver side we got the usual collection of new SoC support and non-critical fixes and updates to existing code. The big topics that stand out are the new driver support for Mediatek MT8183 and MT8516 SoCs, Amlogic Meson8b and G12a SoCs, and the SiFive FU540 SoC. The other patches in the driver pile are mostly fixes for things that are being used for the first time or additions for clks that couldn't be tested before because there wasn't a consumer driver that exercised them. Details are below and also in the sub-maintainer tags. Core: - Remove clk_readl() and introduce BE versions of basic clk types - Rewrite how clk parents can be specified to allow DT/clkdev lookups - Removal of the CLK_IS_BASIC clk flag - Framework documentation updates and fixes New Drivers: - Support for STM32F769 - AT91 sam9x60 PMC support - SiFive FU540 PRCI and PLL support - Qualcomm QCS404 CDSP clk support - Qualcomm QCS404 Turing clk support - Mediatek MT8183 clock support - Mediatek MT8516 clock support - Milbeaut M10V clk controller support - Support for Cirrus Logic Lochnagar clks Updates: - Rework AT91 sckc DT bindings - Fix slow RC oscillator issue on sama5d3 - Mark UFS clk as critical on Hi-Silicon hi3660 SoCs - Various static analysis fixes/finds and const markings - Video Engine (ECLK) support on Aspeed SoCs - Xilinx ZynqMP Versal platform support - Convert Xilinx ZynqMP driver to be struct oriented - Fixes for Rockchip rk3328 and rk3288 SoCs - Sub-type for Rockchip SoCs where mux and divider aren't a single register - Remove SNVS clock from i.MX7UPL clock driver and bindings - Improve i.MX5 clock driver for i.MX50 support - Addition of ADC clock definition for Exynos 5410 SoC (Odroid XU) - Export a new clock for the MBUS controller on the A13 - Allwinner H6 fixes to support a finer clocking of the video and VPU engines - Add g12a support in the Amlogic axg audio clock controller - Add missing PCI USB clock on Rensas RZ/N1 - Add Z2 (Cortex-A53) clocks on Rensas R-Car E3 and RZ/G2E - A new helper DIV64_U64_ROUND_CLOSEST() in <linux/math64.h> - VPU and Video Decoder clocks on Amlogic Meson8b - Finally remove the wrong ABP Meson8b clock id - Add Video Decoder, PCIe PLL, and CPU Clocks on Amlogic G12A - Re-expose SAR_ADC_SEL and CTS_OSCIN on Amlogic G12A AO clock controller - Un-expose some Amlogic AXG-Audio input clocks IDs" * tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (172 commits) clk: Cache core in clk_fetch_parent_index() without names clk: imx: correct pfdv2 gate_bit/vld_bit operations clk: sifive: add a driver for the SiFive FU540 PRCI IP block clk: analogbits: add Wide-Range PLL library clk: imx: clk-pllv3: mark expected switch fall-throughs clk: imx8mq: Add dsi_ipg_div clk: imx: pllv4: add fractional-N pll support clk: sunxi-ng: Use the correct style for SPDX License Identifier clk: sprd: Use the correct style for SPDX License Identifier clk: renesas: Use the correct style for SPDX License Identifier clk: qcom: Use the correct style for SPDX License Identifier clk: davinci: Use the correct style for SPDX License Identifier clk: actions: Use the correct style for SPDX License Identifier clk: imx: keep uart clock on during system boot clk: imx: correct i.MX7D AV PLL num/denom offset dt-bindings: clk: add documentation for the SiFive PRCI driver clk: stm32mp1: Add ddrperfm clock clk: Remove CLK_IS_BASIC clk flag clock: milbeaut: Add Milbeaut M10V clock controller dt-bindings: clock: milbeaut: add Milbeaut clock description ...
- Loading branch information
Showing
214 changed files
with
11,543 additions
and
1,465 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
22 changes: 22 additions & 0 deletions
22
Documentation/devicetree/bindings/arm/mediatek/mediatek,camsys.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
MediaTek CAMSYS controller | ||
============================ | ||
|
||
The MediaTek camsys controller provides various clocks to the system. | ||
|
||
Required Properties: | ||
|
||
- compatible: Should be one of: | ||
- "mediatek,mt8183-camsys", "syscon" | ||
- #clock-cells: Must be 1 | ||
|
||
The camsys controller uses the common clk binding from | ||
Documentation/devicetree/bindings/clock/clock-bindings.txt | ||
The available clocks are defined in dt-bindings/clock/mt*-clk.h. | ||
|
||
Example: | ||
|
||
camsys: camsys@1a000000 { | ||
compatible = "mediatek,mt8183-camsys", "syscon"; | ||
reg = <0 0x1a000000 0 0x1000>; | ||
#clock-cells = <1>; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
43 changes: 43 additions & 0 deletions
43
Documentation/devicetree/bindings/arm/mediatek/mediatek,ipu.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
Mediatek IPU controller | ||
============================ | ||
|
||
The Mediatek ipu controller provides various clocks to the system. | ||
|
||
Required Properties: | ||
|
||
- compatible: Should be one of: | ||
- "mediatek,mt8183-ipu_conn", "syscon" | ||
- "mediatek,mt8183-ipu_adl", "syscon" | ||
- "mediatek,mt8183-ipu_core0", "syscon" | ||
- "mediatek,mt8183-ipu_core1", "syscon" | ||
- #clock-cells: Must be 1 | ||
|
||
The ipu controller uses the common clk binding from | ||
Documentation/devicetree/bindings/clock/clock-bindings.txt | ||
The available clocks are defined in dt-bindings/clock/mt*-clk.h. | ||
|
||
Example: | ||
|
||
ipu_conn: syscon@19000000 { | ||
compatible = "mediatek,mt8183-ipu_conn", "syscon"; | ||
reg = <0 0x19000000 0 0x1000>; | ||
#clock-cells = <1>; | ||
}; | ||
|
||
ipu_adl: syscon@19010000 { | ||
compatible = "mediatek,mt8183-ipu_adl", "syscon"; | ||
reg = <0 0x19010000 0 0x1000>; | ||
#clock-cells = <1>; | ||
}; | ||
|
||
ipu_core0: syscon@19180000 { | ||
compatible = "mediatek,mt8183-ipu_core0", "syscon"; | ||
reg = <0 0x19180000 0 0x1000>; | ||
#clock-cells = <1>; | ||
}; | ||
|
||
ipu_core1: syscon@19280000 { | ||
compatible = "mediatek,mt8183-ipu_core1", "syscon"; | ||
reg = <0 0x19280000 0 0x1000>; | ||
#clock-cells = <1>; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
93 changes: 93 additions & 0 deletions
93
Documentation/devicetree/bindings/clock/cirrus,lochnagar.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,93 @@ | ||
Cirrus Logic Lochnagar Audio Development Board | ||
|
||
Lochnagar is an evaluation and development board for Cirrus Logic | ||
Smart CODEC and Amp devices. It allows the connection of most Cirrus | ||
Logic devices on mini-cards, as well as allowing connection of | ||
various application processor systems to provide a full evaluation | ||
platform. Audio system topology, clocking and power can all be | ||
controlled through the Lochnagar, allowing the device under test | ||
to be used in a variety of possible use cases. | ||
|
||
This binding document describes the binding for the clock portion of | ||
the driver. | ||
|
||
Also see these documents for generic binding information: | ||
[1] Clock : ../clock/clock-bindings.txt | ||
|
||
And these for relevant defines: | ||
[2] include/dt-bindings/clock/lochnagar.h | ||
|
||
This binding must be part of the Lochnagar MFD binding: | ||
[3] ../mfd/cirrus,lochnagar.txt | ||
|
||
Required properties: | ||
|
||
- compatible : One of the following strings: | ||
"cirrus,lochnagar1-clk" | ||
"cirrus,lochnagar2-clk" | ||
|
||
- #clock-cells : Must be 1. The first cell indicates the clock | ||
number, see [2] for available clocks and [1]. | ||
|
||
Optional properties: | ||
|
||
- clocks : Must contain an entry for each clock in clock-names. | ||
- clock-names : May contain entries for each of the following | ||
clocks: | ||
- ln-cdc-clkout : Output clock from CODEC card. | ||
- ln-dsp-clkout : Output clock from DSP card. | ||
- ln-gf-mclk1,ln-gf-mclk2,ln-gf-mclk3,ln-gf-mclk4 : Optional | ||
input audio clocks from host system. | ||
- ln-psia1-mclk, ln-psia2-mclk : Optional input audio clocks from | ||
external connector. | ||
- ln-spdif-clkout : Optional input audio clock from SPDIF. | ||
- ln-adat-mclk : Optional input audio clock from ADAT. | ||
- ln-pmic-32k : On board fixed clock. | ||
- ln-clk-12m : On board fixed clock. | ||
- ln-clk-11m : On board fixed clock. | ||
- ln-clk-24m : On board fixed clock. | ||
- ln-clk-22m : On board fixed clock. | ||
- ln-clk-8m : On board fixed clock. | ||
- ln-usb-clk-24m : On board fixed clock. | ||
- ln-usb-clk-12m : On board fixed clock. | ||
|
||
- assigned-clocks : A list of Lochnagar clocks to be reparented, see | ||
[2] for available clocks. | ||
- assigned-clock-parents : Parents to be assigned to the clocks | ||
listed in "assigned-clocks". | ||
|
||
Optional nodes: | ||
|
||
- fixed-clock nodes may be registered for the following on board clocks: | ||
- ln-pmic-32k : 32768 Hz | ||
- ln-clk-12m : 12288000 Hz | ||
- ln-clk-11m : 11298600 Hz | ||
- ln-clk-24m : 24576000 Hz | ||
- ln-clk-22m : 22579200 Hz | ||
- ln-clk-8m : 8192000 Hz | ||
- ln-usb-clk-24m : 24576000 Hz | ||
- ln-usb-clk-12m : 12288000 Hz | ||
|
||
Example: | ||
|
||
lochnagar { | ||
lochnagar-clk { | ||
compatible = "cirrus,lochnagar2-clk"; | ||
|
||
#clock-cells = <1>; | ||
|
||
clocks = <&clk-audio>, <&clk_pmic>; | ||
clock-names = "ln-gf-mclk2", "ln-pmic-32k"; | ||
|
||
assigned-clocks = <&lochnagar-clk LOCHNAGAR_CDC_MCLK1>, | ||
<&lochnagar-clk LOCHNAGAR_CDC_MCLK2>; | ||
assigned-clock-parents = <&clk-audio>, | ||
<&clk-pmic>; | ||
}; | ||
|
||
clk-pmic: clk-pmic { | ||
compatible = "fixed-clock"; | ||
clock-cells = <0>; | ||
clock-frequency = <32768>; | ||
}; | ||
}; |
73 changes: 73 additions & 0 deletions
73
Documentation/devicetree/bindings/clock/milbeaut-clock.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
# SPDX-License-Identifier: GPL-2.0 | ||
%YAML 1.2 | ||
--- | ||
$id: http://devicetree.org/schemas/bindings/clock/milbeaut-clock.yaml# | ||
$schema: http://devicetree.org/meta-schemas/core.yaml# | ||
|
||
title: Milbeaut SoCs Clock Controller Binding | ||
|
||
maintainers: | ||
- Taichi Sugaya <sugaya.taichi@socionext.com> | ||
|
||
description: | | ||
Milbeaut SoCs Clock controller is an integrated clock controller, which | ||
generates and supplies to all modules. | ||
This binding uses common clock bindings | ||
[1] Documentation/devicetree/bindings/clock/clock-bindings.txt | ||
properties: | ||
compatible: | ||
oneOf: | ||
- items: | ||
- enum: | ||
- socionext,milbeaut-m10v-ccu | ||
clocks: | ||
maxItems: 1 | ||
description: external clock | ||
|
||
'#clock-cells': | ||
const: 1 | ||
|
||
required: | ||
- compatible | ||
- reg | ||
- clocks | ||
- '#clock-cells' | ||
|
||
examples: | ||
# Clock controller node: | ||
- | | ||
m10v-clk-ctrl@1d021000 { | ||
compatible = "socionext,milbeaut-m10v-clk-ccu"; | ||
reg = <0x1d021000 0x4000>; | ||
#clock-cells = <1>; | ||
clocks = <&clki40mhz>; | ||
}; | ||
# Required an external clock for Clock controller node: | ||
- | | ||
clocks { | ||
clki40mhz: clki40mhz { | ||
compatible = "fixed-clock"; | ||
#clock-cells = <0>; | ||
clock-frequency = <40000000>; | ||
}; | ||
/* other clocks */ | ||
}; | ||
# The clock consumer shall specify the desired clock-output of the clock | ||
# controller as below by specifying output-id in its "clk" phandle cell. | ||
# 2: uart | ||
# 4: 32-bit timer | ||
# 7: UHS-I/II | ||
- | | ||
serial@1e700010 { | ||
compatible = "socionext,milbeaut-usio-uart"; | ||
reg = <0x1e700010 0x10>; | ||
interrupts = <0 141 0x4>, <0 149 0x4>; | ||
interrupt-names = "rx", "tx"; | ||
clocks = <&clk 2>; | ||
}; | ||
... |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
Qualcomm Turing Clock & Reset Controller Binding | ||
------------------------------------------------ | ||
|
||
Required properties : | ||
- compatible: shall contain "qcom,qcs404-turingcc". | ||
- reg: shall contain base register location and length. | ||
- clocks: ahb clock for the TuringCC | ||
- #clock-cells: from common clock binding, shall contain 1. | ||
- #reset-cells: from common reset binding, shall contain 1. | ||
|
||
Example: | ||
turingcc: clock-controller@800000 { | ||
compatible = "qcom,qcs404-turingcc"; | ||
reg = <0x00800000 0x30000>; | ||
clocks = <&gcc GCC_CDSP_CFG_AHB_CLK>; | ||
|
||
#clock-cells = <1>; | ||
#reset-cells = <1>; | ||
}; |
Oops, something went wrong.