Commit c822490f authored by Shubhrajyoti Datta's avatar Shubhrajyoti Datta Committed by Stephen Boyd

clk: clocking-wizard: Move clocking-wizard out

Add clocking wizard driver to clk.
And delete the driver from the staging as it is in drivers/clk.
Signed-off-by: default avatarShubhrajyoti Datta <shubhrajyoti.datta@xilinx.com>
Link: https://lore.kernel.org/r/20220411100443.15132-3-shubhrajyoti.datta@xilinx.comAcked-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: default avatarStephen Boyd <sboyd@kernel.org>
parent 35dbdcac
...@@ -17,3 +17,14 @@ config XILINX_VCU ...@@ -17,3 +17,14 @@ config XILINX_VCU
To compile this driver as a module, choose M here: the To compile this driver as a module, choose M here: the
module will be called xlnx_vcu. module will be called xlnx_vcu.
config COMMON_CLK_XLNX_CLKWZRD
tristate "Xilinx Clocking Wizard"
depends on COMMON_CLK && OF
help
Support for the Xilinx Clocking Wizard IP core clock generator.
Adds support for clocking wizard and compatible.
This driver supports the Xilinx clocking wizard programmable clock
synthesizer. The number of output is configurable in the design.
If unsure, say N.
# SPDX-License-Identifier: GPL-2.0 # SPDX-License-Identifier: GPL-2.0
obj-$(CONFIG_XILINX_VCU) += xlnx_vcu.o obj-$(CONFIG_XILINX_VCU) += xlnx_vcu.o
obj-$(CONFIG_COMMON_CLK_XLNX_CLKWZRD) += clk-xlnx-clock-wizard.o
...@@ -2,9 +2,10 @@ ...@@ -2,9 +2,10 @@
/* /*
* Xilinx 'Clocking Wizard' driver * Xilinx 'Clocking Wizard' driver
* *
* Copyright (C) 2013 - 2014 Xilinx * Copyright (C) 2013 - 2021 Xilinx
* *
* Sören Brinkmann <soren.brinkmann@xilinx.com> * Sören Brinkmann <soren.brinkmann@xilinx.com>
*
*/ */
#include <linux/platform_device.h> #include <linux/platform_device.h>
......
...@@ -62,8 +62,6 @@ source "drivers/staging/gdm724x/Kconfig" ...@@ -62,8 +62,6 @@ source "drivers/staging/gdm724x/Kconfig"
source "drivers/staging/fwserial/Kconfig" source "drivers/staging/fwserial/Kconfig"
source "drivers/staging/clocking-wizard/Kconfig"
source "drivers/staging/fbtft/Kconfig" source "drivers/staging/fbtft/Kconfig"
source "drivers/staging/most/Kconfig" source "drivers/staging/most/Kconfig"
......
...@@ -21,7 +21,6 @@ obj-$(CONFIG_MFD_NVEC) += nvec/ ...@@ -21,7 +21,6 @@ obj-$(CONFIG_MFD_NVEC) += nvec/
obj-$(CONFIG_STAGING_BOARD) += board/ obj-$(CONFIG_STAGING_BOARD) += board/
obj-$(CONFIG_LTE_GDM724X) += gdm724x/ obj-$(CONFIG_LTE_GDM724X) += gdm724x/
obj-$(CONFIG_FIREWIRE_SERIAL) += fwserial/ obj-$(CONFIG_FIREWIRE_SERIAL) += fwserial/
obj-$(CONFIG_COMMON_CLK_XLNX_CLKWZRD) += clocking-wizard/
obj-$(CONFIG_FB_TFT) += fbtft/ obj-$(CONFIG_FB_TFT) += fbtft/
obj-$(CONFIG_MOST) += most/ obj-$(CONFIG_MOST) += most/
obj-$(CONFIG_KS7010) += ks7010/ obj-$(CONFIG_KS7010) += ks7010/
......
# SPDX-License-Identifier: GPL-2.0
#
# Xilinx Clocking Wizard Driver
#
config COMMON_CLK_XLNX_CLKWZRD
tristate "Xilinx Clocking Wizard"
depends on COMMON_CLK && OF && HAS_IOMEM
help
Support for the Xilinx Clocking Wizard IP core clock generator.
# SPDX-License-Identifier: GPL-2.0
obj-$(CONFIG_COMMON_CLK_XLNX_CLKWZRD) += clk-xlnx-clock-wizard.o
TODO:
- support for fractional multiplier
- support for fractional divider (output 0 only)
- support for set_rate() operations (may benefit from Stephen Boyd's
refactoring of the clk primitives:
https://lore.kernel.org/lkml/1409957256-23729-1-git-send-email-sboyd@codeaurora.org)
- review arithmetic
- overflow after multiplication?
- maximize accuracy before divisions
Patches to:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Sören Brinkmann <soren.brinkmann@xilinx.com>
Binding for Xilinx Clocking Wizard IP Core
This binding uses the common clock binding[1]. Details about the devices can be
found in the product guide[2].
[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
[2] Clocking Wizard Product Guide
https://www.xilinx.com/support/documentation/ip_documentation/clk_wiz/v5_1/pg065-clk-wiz.pdf
Required properties:
- compatible: Must be 'xlnx,clocking-wizard'
- reg: Base and size of the cores register space
- clocks: Handle to input clock
- clock-names: Tuple containing 'clk_in1' and 's_axi_aclk'
- clock-output-names: Names for the output clocks
Optional properties:
- speed-grade: Speed grade of the device (valid values are 1..3)
Example:
clock-generator@40040000 {
reg = <0x40040000 0x1000>;
compatible = "xlnx,clocking-wizard";
speed-grade = <1>;
clock-names = "clk_in1", "s_axi_aclk";
clocks = <&clkc 15>, <&clkc 15>;
clock-output-names = "clk_out0", "clk_out1", "clk_out2",
"clk_out3", "clk_out4", "clk_out5",
"clk_out6", "clk_out7";
};
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment