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: "The diff is dominated by the Allwinner A10/A20 SoCs getting converted to the sunxi-ng framework. Otherwise, the heavy hitters are various drivers for SoCs like AT91, Amlogic, Renesas, and Rockchip. There are some other new clk drivers in here too but overall this is just a bunch of clk drivers for various different pieces of hardware and a collection of non-critical fixes for clk drivers. New Drivers: - Allwinner R40 SoCs - Renesas R-Car Gen3 USB 2.0 clock selector PHY - Atmel AT91 audio PLL - Uniphier PXs3 SoCs - ARC HSDK Board PLLs - AXS10X Board PLLs - STMicroelectronics STM32H743 SoCs Removed Drivers: - Non-compiling mb86s7x support Updates: - Allwinner A10/A20 SoCs converted to sunxi-ng framework - Allwinner H3 CPU clk fixes - Renesas R-Car D3 SoC - Renesas V2H and M3-W modules - Samsung Exynos5420/5422/5800 audio fixes - Rockchip fractional clk approximation fixes - Rockchip rk3126 SoC support within the rk3128 driver - Amlogic gxbb CEC32 and sd_emmc clks - Amlogic meson8b reset controller support - IDT VersaClock 5P49V5925/5P49V6901 support - Qualcomm MSM8996 SMMU clks - Various 'const' applications for struct clk_ops - si5351 PLL reset bugfix - Uniphier audio on LD11/LD20 and ethernet support on LD11/LD20/Pro4/PXs2 - Assorted Tegra clk driver fixes" * tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (120 commits) clk: si5351: fix PLL reset ASoC: atmel-classd: remove aclk clock ASoC: atmel-classd: remove aclk clock from DT binding clk: at91: clk-generated: make gclk determine audio_pll rate clk: at91: clk-generated: create function to find best_diff clk: at91: add audio pll clock drivers dt-bindings: clk: at91: add audio plls to the compatible list clk: at91: clk-generated: remove useless divisor loop clk: mb86s7x: Drop non-building driver clk: ti: check for null return in strrchr to avoid null dereferencing clk: Don't write error code into divider register clk: uniphier: add video input subsystem clock clk: uniphier: add audio system clock clk: stm32h7: Add stm32h743 clock driver clk: gate: expose clk_gate_ops::is_enabled clk: nxp: clk-lpc32xx: rename clk_gate_is_enabled() clk: uniphier: add PXs3 clock data clk: hi6220: change watchdog clock source clk: Kconfig: Name RK805 in Kconfig for COMMON_CLK_RK808 clk: cs2000: Add cs2000_set_saved_rate ...
- Loading branch information
Showing
142 changed files
with
9,354 additions
and
1,101 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
55 changes: 55 additions & 0 deletions
55
Documentation/devicetree/bindings/clock/renesas,rcar-usb2-clock-sel.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,55 @@ | ||
* Renesas R-Car USB 2.0 clock selector | ||
|
||
This file provides information on what the device node for the R-Car USB 2.0 | ||
clock selector. | ||
|
||
If you connect an external clock to the USB_EXTAL pin only, you should set | ||
the clock rate to "usb_extal" node only. | ||
If you connect an oscillator to both the USB_XTAL and USB_EXTAL, this module | ||
is not needed because this is default setting. (Of course, you can set the | ||
clock rates to both "usb_extal" and "usb_xtal" nodes. | ||
|
||
Case 1: An external clock connects to R-Car SoC | ||
+----------+ +--- R-Car ---------------------+ | ||
|External |---|USB_EXTAL ---> all usb channels| | ||
|clock | |USB_XTAL | | ||
+----------+ +-------------------------------+ | ||
In this case, we need this driver with "usb_extal" clock. | ||
|
||
Case 2: An oscillator connects to R-Car SoC | ||
+----------+ +--- R-Car ---------------------+ | ||
|Oscillator|---|USB_EXTAL -+-> all usb channels| | ||
| |---|USB_XTAL --+ | | ||
+----------+ +-------------------------------+ | ||
In this case, we don't need this selector. | ||
|
||
Required properties: | ||
- compatible: "renesas,r8a7795-rcar-usb2-clock-sel" if the device is a part of | ||
an R8A7795 SoC. | ||
"renesas,r8a7796-rcar-usb2-clock-sel" if the device if a part of | ||
an R8A7796 SoC. | ||
"renesas,rcar-gen3-usb2-clock-sel" for a generic R-Car Gen3 | ||
compatible device. | ||
|
||
When compatible with the generic version, nodes must list the | ||
SoC-specific version corresponding to the platform first | ||
followed by the generic version. | ||
|
||
- reg: offset and length of the USB 2.0 clock selector register block. | ||
- clocks: A list of phandles and specifier pairs. | ||
- clock-names: Name of the clocks. | ||
- The functional clock must be "ehci_ohci" | ||
- The USB_EXTAL clock pin must be "usb_extal" | ||
- The USB_XTAL clock pin must be "usb_xtal" | ||
- #clock-cells: Must be 0 | ||
|
||
Example (R-Car H3): | ||
|
||
usb2_clksel: clock-controller@e6590630 { | ||
compatible = "renesas,r8a77950-rcar-usb2-clock-sel", | ||
"renesas,rcar-gen3-usb2-clock-sel"; | ||
reg = <0 0xe6590630 0 0x02>; | ||
clocks = <&cpg CPG_MOD 703>, <&usb_extal>, <&usb_xtal>; | ||
clock-names = "ehci_ohci", "usb_extal", "usb_xtal"; | ||
#clock-cells = <0>; | ||
}; |
8 changes: 5 additions & 3 deletions
8
Documentation/devicetree/bindings/clock/rockchip,rk3128-cru.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
28 changes: 28 additions & 0 deletions
28
Documentation/devicetree/bindings/clock/snps,hsdk-pll-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,28 @@ | ||
Binding for the HSDK Generic PLL clock | ||
|
||
This binding uses the common clock binding[1]. | ||
|
||
[1] Documentation/devicetree/bindings/clock/clock-bindings.txt | ||
|
||
Required properties: | ||
- compatible: should be "snps,hsdk-<name>-pll-clock" | ||
"snps,hsdk-core-pll-clock" | ||
"snps,hsdk-gp-pll-clock" | ||
"snps,hsdk-hdmi-pll-clock" | ||
- reg : should contain base register location and length. | ||
- clocks: shall be the input parent clock phandle for the PLL. | ||
- #clock-cells: from common clock binding; Should always be set to 0. | ||
|
||
Example: | ||
input_clk: input-clk { | ||
clock-frequency = <33333333>; | ||
compatible = "fixed-clock"; | ||
#clock-cells = <0>; | ||
}; | ||
|
||
cpu_clk: cpu-clk@0 { | ||
compatible = "snps,hsdk-core-pll-clock"; | ||
reg = <0x00 0x10>; | ||
#clock-cells = <0>; | ||
clocks = <&input_clk>; | ||
}; |
28 changes: 28 additions & 0 deletions
28
Documentation/devicetree/bindings/clock/snps,pll-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,28 @@ | ||
Binding for the AXS10X Generic PLL clock | ||
|
||
This binding uses the common clock binding[1]. | ||
|
||
[1] Documentation/devicetree/bindings/clock/clock-bindings.txt | ||
|
||
Required properties: | ||
- compatible: should be "snps,axs10x-<name>-pll-clock" | ||
"snps,axs10x-arc-pll-clock" | ||
"snps,axs10x-pgu-pll-clock" | ||
- reg: should always contain 2 pairs address - length: first for PLL config | ||
registers and second for corresponding LOCK CGU register. | ||
- clocks: shall be the input parent clock phandle for the PLL. | ||
- #clock-cells: from common clock binding; Should always be set to 0. | ||
|
||
Example: | ||
input-clk: input-clk { | ||
clock-frequency = <33333333>; | ||
compatible = "fixed-clock"; | ||
#clock-cells = <0>; | ||
}; | ||
|
||
core-clk: core-clk@80 { | ||
compatible = "snps,axs10x-arc-pll-clock"; | ||
reg = <0x80 0x10>, <0x100 0x10>; | ||
#clock-cells = <0>; | ||
clocks = <&input-clk>; | ||
}; |
71 changes: 71 additions & 0 deletions
71
Documentation/devicetree/bindings/clock/st,stm32h7-rcc.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,71 @@ | ||
STMicroelectronics STM32H7 Reset and Clock Controller | ||
===================================================== | ||
|
||
The RCC IP is both a reset and a clock controller. | ||
|
||
Please refer to clock-bindings.txt for common clock controller binding usage. | ||
Please also refer to reset.txt for common reset controller binding usage. | ||
|
||
Required properties: | ||
- compatible: Should be: | ||
"st,stm32h743-rcc" | ||
|
||
- reg: should be register base and length as documented in the | ||
datasheet | ||
|
||
- #reset-cells: 1, see below | ||
|
||
- #clock-cells : from common clock binding; shall be set to 1 | ||
|
||
- clocks: External oscillator clock phandle | ||
- high speed external clock signal (HSE) | ||
- low speed external clock signal (LSE) | ||
- external I2S clock (I2S_CKIN) | ||
|
||
Optional properties: | ||
- st,syscfg: phandle for pwrcfg, mandatory to disable/enable backup domain | ||
write protection (RTC clock). | ||
|
||
Example: | ||
|
||
rcc: reset-clock-controller@58024400 { | ||
compatible = "st,stm32h743-rcc", "st,stm32-rcc"; | ||
reg = <0x58024400 0x400>; | ||
#reset-cells = <1>; | ||
#clock-cells = <2>; | ||
clocks = <&clk_hse>, <&clk_lse>, <&clk_i2s_ckin>; | ||
|
||
st,syscfg = <&pwrcfg>; | ||
}; | ||
|
||
The peripheral clock consumer should specify the desired clock by | ||
having the clock ID in its "clocks" phandle cell. | ||
|
||
Example: | ||
|
||
timer5: timer@40000c00 { | ||
compatible = "st,stm32-timer"; | ||
reg = <0x40000c00 0x400>; | ||
interrupts = <50>; | ||
clocks = <&rcc TIM5_CK>; | ||
}; | ||
|
||
Specifying softreset control of devices | ||
======================================= | ||
|
||
Device nodes should specify the reset channel required in their "resets" | ||
property, containing a phandle to the reset device node and an index specifying | ||
which channel to use. | ||
The index is the bit number within the RCC registers bank, starting from RCC | ||
base address. | ||
It is calculated as: index = register_offset / 4 * 32 + bit_offset. | ||
Where bit_offset is the bit offset within the register. | ||
|
||
For example, for CRC reset: | ||
crc = AHB4RSTR_offset / 4 * 32 + CRCRST_bit_offset = 0x88 / 4 * 32 + 19 = 1107 | ||
|
||
Example: | ||
|
||
timer2 { | ||
resets = <&rcc STM32H7_APB1L_RESET(TIM2)>; | ||
}; |
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
Oops, something went wrong.