forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 0
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 updates from Stephen Boyd: "This round is dominated by NXP's i.MX clk drivers. We gained support for two or three i.MX SoCs in here and that mostly means a lot of driver code and data. Beyond that platform, there are some new Mediatek, Amlogic, and Qualcomm clk drivers added in here, and then we get to the long tail of driver updates and non-critical fixes all around, including code for vendors such as Renesas, Rockchip, Nvidia, and Allwinner. Overall, the driver updates look normal. Apart from the usual driver updates we have an update to make registering OF based clk providers a little simpler when they're devices created as a child of a device backed by a node in DT. Drivers don't have to jump through hoops to unregister the provider upon driver removal anymore because the API does the right thing and uses the parent device DT node. Summary: Core: - Make devm_of_clk_add_hw_provider() use parent dt node if necessary - Various SPDX taggings - Mark clk_ops const when possible New Drivers: - NXP i.MX7ULP SoC clock support - NXP i.MX8QXP SoC clock support - NXP i.MX8MQ SoC clock support - NXP QorIQ T1023 SoC support - Qualcomm SDM845 audio subsystem clks - Qualcomm SDM845 GPU clck controllers - Qualcomm QCS404 RPM clk support - Mediatek MT7629 SoC clk controllers - Allwinner F1c100s SoC clocks - Allwinner H6 display engine clocks - Amlogic GX video clocks - Support for Amlogic meson8b CPU frequency scaling - Amlogic Meson8b CPU post-divider clocks Updates: - Proper suspend/resume on VersaClock5 - Shrink code some with DEFINE_SHOW_ATTRIBUTE() - Register fixes for Rockchip rk3188 and rk3328 - One new critical clock for Rockchip rk3188 and a fixed clock id (double used number) - New clock id for Rockchip rk3328 - Amlogic Meson8/Meson8b video clock support - Amlogic got a clk-input helper and used it for the axg-audio clock driver - Sigma Delta modulation for the Allwinner A33 audio clocks - Support for CPEX (timer) clocks on various Renesas R-Car Gen3 and RZ/G2 SoCs - Support for SDHI HS400 clocks on early revisions of Renesas R-Car H3 and M3-W - Support for SDHI and USB clocks on Renesas RZ/A2 - Support for RPC (SPI Multi I/O Bus Controller) clocks on Renesas R-Car V3M - Qualcomm MSM8998 GCC driver improvements (resets, drop unused clks, etc)" * tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (172 commits) clk: imx: imx7ulp: add arm hsrun mode clocks support dt-bindings: clock: imx7ulp: add HSRUN mode related clocks clk: Use of_node_name_eq for node name comparisons clk: vc5: Add suspend/resume support clk: qcom: Drop unused 8998 clock clk: qcom: Leave mmss noc on for 8998 clk: tegra: Return the exact clock rate from clk_round_rate clk: tegra30: Use Tegra CPU powergate helper function soc/tegra: pmc: Drop SMP dependency from CPU APIs clk: tegra: Fix maximum audio sync clock for Tegra124/210 clk: tegra: get rid of duplicate defines clk: imx: add imx8qxp lpcg driver clk: imx: add lpcg clock support clk: imx: add imx8qxp clk driver clk: imx: Make the i.MX8MQ CCM clock driver CLK_IMX8MQ dependant clk: imx: add scu clock common part clk: imx: add configuration option for mmio clks dt-bindings: clock: add imx8qxp lpcg clock binding dt-bindings: clock: imx8qxp: add SCU clock IDs clk: qcom: Add missing msm8998 resets ...
- Loading branch information
Showing
190 changed files
with
11,000 additions
and
1,352 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
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
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
104 changes: 104 additions & 0 deletions
104
Documentation/devicetree/bindings/clock/imx7ulp-clock.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,104 @@ | ||
* Clock bindings for Freescale i.MX7ULP | ||
|
||
i.MX7ULP Clock functions are under joint control of the System | ||
Clock Generation (SCG) modules, Peripheral Clock Control (PCC) | ||
modules, and Core Mode Controller (CMC)1 blocks | ||
|
||
The clocking scheme provides clear separation between M4 domain | ||
and A7 domain. Except for a few clock sources shared between two | ||
domains, such as the System Oscillator clock, the Slow IRC (SIRC), | ||
and and the Fast IRC clock (FIRCLK), clock sources and clock | ||
management are separated and contained within each domain. | ||
|
||
M4 clock management consists of SCG0, PCC0, PCC1, and CMC0 modules. | ||
A7 clock management consists of SCG1, PCC2, PCC3, and CMC1 modules. | ||
|
||
Note: this binding doc is only for A7 clock domain. | ||
|
||
System Clock Generation (SCG) modules: | ||
--------------------------------------------------------------------- | ||
The System Clock Generation (SCG) is responsible for clock generation | ||
and distribution across this device. Functions performed by the SCG | ||
include: clock reference selection, generation of clock used to derive | ||
processor, system, peripheral bus and external memory interface clocks, | ||
source selection for peripheral clocks and control of power saving | ||
clock gating mode. | ||
|
||
Required properties: | ||
|
||
- compatible: Should be "fsl,imx7ulp-scg1". | ||
- reg : Should contain registers location and length. | ||
- #clock-cells: Should be <1>. | ||
- clocks: Should contain the fixed input clocks. | ||
- clock-names: Should contain the following clock names: | ||
"rosc", "sosc", "sirc", "firc", "upll", "mpll". | ||
|
||
Peripheral Clock Control (PCC) modules: | ||
--------------------------------------------------------------------- | ||
The Peripheral Clock Control (PCC) is responsible for clock selection, | ||
optional division and clock gating mode for peripherals in their | ||
respected power domain | ||
|
||
Required properties: | ||
- compatible: Should be one of: | ||
"fsl,imx7ulp-pcc2", | ||
"fsl,imx7ulp-pcc3". | ||
- reg : Should contain registers location and length. | ||
- #clock-cells: Should be <1>. | ||
- clocks: Should contain the fixed input clocks. | ||
- clock-names: Should contain the following clock names: | ||
"nic1_bus_clk", "nic1_clk", "ddr_clk", "apll_pfd2", | ||
"apll_pfd1", "apll_pfd0", "upll", "sosc_bus_clk", | ||
"mpll", "firc_bus_clk", "rosc", "spll_bus_clk"; | ||
|
||
The clock consumer should specify the desired clock by having the clock | ||
ID in its "clocks" phandle cell. | ||
See include/dt-bindings/clock/imx7ulp-clock.h | ||
for the full list of i.MX7ULP clock IDs of each module. | ||
|
||
Examples: | ||
|
||
#include <dt-bindings/clock/imx7ulp-clock.h> | ||
|
||
scg1: scg1@403e0000 { | ||
compatible = "fsl,imx7ulp-scg1; | ||
reg = <0x403e0000 0x10000>; | ||
clocks = <&rosc>, <&sosc>, <&sirc>, | ||
<&firc>, <&upll>, <&mpll>; | ||
clock-names = "rosc", "sosc", "sirc", | ||
"firc", "upll", "mpll"; | ||
#clock-cells = <1>; | ||
}; | ||
|
||
pcc2: pcc2@403f0000 { | ||
compatible = "fsl,imx7ulp-pcc2"; | ||
reg = <0x403f0000 0x10000>; | ||
#clock-cells = <1>; | ||
clocks = <&scg1 IMX7ULP_CLK_NIC1_BUS_DIV>, | ||
<&scg1 IMX7ULP_CLK_NIC1_DIV>, | ||
<&scg1 IMX7ULP_CLK_DDR_DIV>, | ||
<&scg1 IMX7ULP_CLK_APLL_PFD2>, | ||
<&scg1 IMX7ULP_CLK_APLL_PFD1>, | ||
<&scg1 IMX7ULP_CLK_APLL_PFD0>, | ||
<&scg1 IMX7ULP_CLK_UPLL>, | ||
<&scg1 IMX7ULP_CLK_SOSC_BUS_CLK>, | ||
<&scg1 IMX7ULP_CLK_MIPI_PLL>, | ||
<&scg1 IMX7ULP_CLK_FIRC_BUS_CLK>, | ||
<&scg1 IMX7ULP_CLK_ROSC>, | ||
<&scg1 IMX7ULP_CLK_SPLL_BUS_CLK>; | ||
clock-names = "nic1_bus_clk", "nic1_clk", "ddr_clk", | ||
"apll_pfd2", "apll_pfd1", "apll_pfd0", | ||
"upll", "sosc_bus_clk", "mpll", | ||
"firc_bus_clk", "rosc", "spll_bus_clk"; | ||
}; | ||
|
||
usdhc1: usdhc@40380000 { | ||
compatible = "fsl,imx7ulp-usdhc"; | ||
reg = <0x40380000 0x10000>; | ||
interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>; | ||
clocks = <&scg1 IMX7ULP_CLK_NIC1_BUS_DIV>, | ||
<&scg1 IMX7ULP_CLK_NIC1_DIV>, | ||
<&pcc2 IMX7ULP_CLK_USDHC1>; | ||
clock-names ="ipg", "ahb", "per"; | ||
bus-width = <4>; | ||
}; |
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,20 @@ | ||
* Clock bindings for NXP i.MX8M Quad | ||
|
||
Required properties: | ||
- compatible: Should be "fsl,imx8mq-ccm" | ||
- reg: Address and length of the register set | ||
- #clock-cells: Should be <1> | ||
- clocks: list of clock specifiers, must contain an entry for each required | ||
entry in clock-names | ||
- clock-names: should include the following entries: | ||
- "ckil" | ||
- "osc_25m" | ||
- "osc_27m" | ||
- "clk_ext1" | ||
- "clk_ext2" | ||
- "clk_ext3" | ||
- "clk_ext4" | ||
|
||
The clock consumer should specify the desired clock by having the clock | ||
ID in its "clocks" phandle cell. See include/dt-bindings/clock/imx8mq-clock.h | ||
for the full list of i.MX8M Quad clock IDs. |
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,51 @@ | ||
* NXP i.MX8QXP LPCG (Low-Power Clock Gating) Clock bindings | ||
|
||
The Low-Power Clock Gate (LPCG) modules contain a local programming | ||
model to control the clock gates for the peripherals. An LPCG module | ||
is used to locally gate the clocks for the associated peripheral. | ||
|
||
Note: | ||
This level of clock gating is provided after the clocks are generated | ||
by the SCU resources and clock controls. Thus even if the clock is | ||
enabled by these control bits, it might still not be running based | ||
on the base resource. | ||
|
||
Required properties: | ||
- compatible: Should be one of: | ||
"fsl,imx8qxp-lpcg-adma", | ||
"fsl,imx8qxp-lpcg-conn", | ||
"fsl,imx8qxp-lpcg-dc", | ||
"fsl,imx8qxp-lpcg-dsp", | ||
"fsl,imx8qxp-lpcg-gpu", | ||
"fsl,imx8qxp-lpcg-hsio", | ||
"fsl,imx8qxp-lpcg-img", | ||
"fsl,imx8qxp-lpcg-lsio", | ||
"fsl,imx8qxp-lpcg-vpu" | ||
- reg: Address and length of the register set | ||
- #clock-cells: Should be <1> | ||
|
||
The clock consumer should specify the desired clock by having the clock | ||
ID in its "clocks" phandle cell. | ||
See the full list of clock IDs from: | ||
include/dt-bindings/clock/imx8qxp-clock.h | ||
|
||
Examples: | ||
|
||
#include <dt-bindings/clock/imx8qxp-clock.h> | ||
|
||
conn_lpcg: clock-controller@5b200000 { | ||
compatible = "fsl,imx8qxp-lpcg-conn"; | ||
reg = <0x5b200000 0xb0000>; | ||
#clock-cells = <1>; | ||
}; | ||
|
||
usdhc1: mmc@5b010000 { | ||
compatible = "fsl,imx8qxp-usdhc", "fsl,imx7d-usdhc"; | ||
interrupt-parent = <&gic>; | ||
interrupts = <GIC_SPI 232 IRQ_TYPE_LEVEL_HIGH>; | ||
reg = <0x5b010000 0x10000>; | ||
clocks = <&conn_lpcg IMX8QXP_CONN_LPCG_SDHC0_IPG_CLK>, | ||
<&conn_lpcg IMX8QXP_CONN_LPCG_SDHC0_PER_CLK>, | ||
<&conn_lpcg IMX8QXP_CONN_LPCG_SDHC0_HCLK>; | ||
clock-names = "ipg", "per", "ahb"; | ||
}; |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
Qualcomm Graphics Clock & Reset Controller Binding | ||
-------------------------------------------------- | ||
|
||
Required properties : | ||
- compatible : shall contain "qcom,sdm845-gpucc" | ||
- reg : shall contain base register location and length | ||
- #clock-cells : from common clock binding, shall contain 1 | ||
- #reset-cells : from common reset binding, shall contain 1 | ||
- #power-domain-cells : from generic power domain binding, shall contain 1 | ||
- clocks : shall contain the XO clock | ||
- clock-names : shall be "xo" | ||
|
||
Example: | ||
gpucc: clock-controller@5090000 { | ||
compatible = "qcom,sdm845-gpucc"; | ||
reg = <0x5090000 0x9000>; | ||
#clock-cells = <1>; | ||
#reset-cells = <1>; | ||
#power-domain-cells = <1>; | ||
clocks = <&rpmhcc RPMH_CXO_CLK>; | ||
clock-names = "xo"; | ||
}; |
Oops, something went wrong.