1
0
Fork 0
alistair23-linux/drivers/clk
Daniel Mack 33f5104624 clk: Add driver for MAX9485
This patch adds a driver for MAX9485, a programmable audio clock generator.

The device requires a 27.000 MHz clock input. It can provide a gated
buffered output of its input clock and two gated outputs of a PLL that can
generate one out of 16 discrete frequencies. There is only one PLL however,
so the two gated outputs will always have the same frequency but they can
be switched individually.

The driver for this device exposes 4 clocks in total:

- MAX9485_MCLKOUT:      A gated, buffered output of the input clock
- MAX9485_CLKOUT:       A PLL that can be configured to 16 different
			discrete frequencies
- MAX9485_CLKOUT[1,2]:  Two gated outputs for MAX9485_CLKOUT

Some PLL output frequencies can be achieved with different register
settings. The driver will select the one with lowest jitter in such cases.

Signed-off-by: Daniel Mack <daniel@zonque.org>
[sboyd@kernel.org: Use local variable for val in max9485_clkout_recalc_rate()
and shorten line of max9485_of_clk_get()]
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
2018-07-06 13:44:06 -07:00
..
actions clk: actions: Add S900 SoC clock support 2018-04-06 14:26:48 -07:00
at91 clk: at91: PLL recalc_rate() now using cached MUL and DIV values 2018-05-15 23:38:31 -07:00
axis
axs10x clk: axs10x: introduce AXS10X pll driver 2017-07-17 11:50:59 -07:00
bcm treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
berlin This time we have a good set of changes to the core framework that do some 2018-06-09 12:06:24 -07:00
davinci This time we have a good set of changes to the core framework that do some 2018-06-09 12:06:24 -07:00
h8300 clk: h8300: pr_err() strings should end with newlines 2017-12-06 22:40:02 -08:00
hisilicon Merge branches 'clk-imx7d', 'clk-hisi-stub', 'clk-mvebu', 'clk-imx6-epit' and 'clk-debugfs-simple' into clk-next 2018-06-04 12:32:28 -07:00
imgtec Update MIPS email addresses 2017-11-03 09:02:30 -07:00
imx This time we have a good set of changes to the core framework that do some 2018-06-09 12:06:24 -07:00
ingenic docs: Fix some broken references 2018-06-15 18:10:01 -03:00
keystone clk: keystone: sci-clk: add support for dynamically probing clocks 2018-03-08 11:43:15 +02:00
loongson1 CLK: Add Loongson1C clock support 2016-09-23 14:49:21 -07:00
mediatek Merge branches 'clk-hisi-usb', 'clk-silent-bulk', 'clk-mtk-hdmi', 'clk-mtk-mali' and 'clk-imx6ul-ccosr' into clk-next 2018-06-04 12:27:40 -07:00
meson This time we have a good set of changes to the core framework that do some 2018-06-09 12:06:24 -07:00
microchip
mmp We have two changes to the core framework this time around. The first being a 2017-11-17 20:04:24 -08:00
mvebu This time we have a good set of changes to the core framework that do some 2018-06-09 12:06:24 -07:00
mxs clk: mxs: make clk_ops const 2017-11-01 23:25:43 -07:00
nxp clk: lpc32xx: Set name of regmap_config 2018-03-19 14:35:16 -07:00
pistachio
pxa clk: pxa: unbreak lookup of CLK_POUT 2017-12-28 10:43:30 -08:00
qcom This time we have a good set of changes to the core framework that do some 2018-06-09 12:06:24 -07:00
renesas treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
rockchip clk: rockchip: remove deprecated gate-clk code and dt-binding 2018-05-23 13:19:06 +02:00
samsung This time we have a good set of changes to the core framework that do some 2018-06-09 12:06:24 -07:00
sirf We have two changes to the core framework this time around. The first being a 2017-11-17 20:04:24 -08:00
socfpga clk: socfpga: stratix10: suppress unbinding platform's clock driver 2018-05-15 14:54:52 -07:00
spear clk: spear: fix WDT clock definition on SPEAr600 2018-04-06 13:45:34 -07:00
sprd clk: sprd: add RTC gate for SC9860 2018-03-16 15:53:30 -07:00
st treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
sunxi treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
sunxi-ng clk: sunxi-ng: r40: export a regmap to access the GMAC register 2018-05-17 14:02:07 +08:00
tegra treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
ti treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
uniphier clk: uniphier: add LD11/LD20 stream demux system clock 2018-05-15 14:15:43 -07:00
ux500 clk: ux500: Drop AB8540/9540 support 2018-03-23 09:36:11 -07:00
versatile clk: versatile: Remove WARNs in ->round_rate() 2018-03-16 15:31:16 -07:00
x86 clk: x86: Add ST oscout platform clock 2018-05-17 12:44:06 +02:00
zte clk: move clock common macros out from vendor directories 2017-12-21 15:00:38 -08:00
zynq
Kconfig clk: Add driver for MAX9485 2018-07-06 13:44:06 -07:00
Makefile clk: Add driver for MAX9485 2018-07-06 13:44:06 -07:00
clk-asm9260.c treewide: Use struct_size() for kmalloc()-family 2018-06-06 11:15:43 -07:00
clk-aspeed.c This time we have a good set of changes to the core framework that do some 2018-06-09 12:06:24 -07:00
clk-axi-clkgen.c clk: axi-clkgen: Round closest in round_rate() and recalc_rate() 2017-12-21 18:07:53 -08:00
clk-axm5516.c
clk-bulk.c clk: bulk: silently error out on EPROBE_DEFER 2018-05-15 15:16:13 -07:00
clk-cdce706.c
clk-cdce925.c clk: cdce925: remove redundant check for non-null parent_name 2017-11-13 17:44:15 -08:00
clk-clps711x.c treewide: Use struct_size() for kmalloc()-family 2018-06-06 11:15:43 -07:00
clk-composite.c
clk-conf.c clk: Convert to using %pOF instead of full_name 2017-07-21 15:49:54 -07:00
clk-cs2000-cp.c clk: cs2000: mark resume function as __maybe_unused 2018-04-16 09:07:22 -07:00
clk-devres.c clk: add managed version of clk_bulk_get 2017-06-02 15:37:49 -07:00
clk-divider.c clk: divider: read-only divider can propagate rate change 2018-03-12 15:10:26 -07:00
clk-efm32gg.c treewide: Use struct_size() for kmalloc()-family 2018-06-06 11:15:43 -07:00
clk-fixed-factor.c
clk-fixed-rate.c
clk-fractional-divider.c clk: fractional-divider: allow overriding of approximation 2017-08-08 17:39:48 +02:00
clk-gate.c clk: gate: expose clk_gate_ops::is_enabled 2017-08-31 18:35:45 -07:00
clk-gemini.c treewide: Use struct_size() for kmalloc()-family 2018-06-06 11:15:43 -07:00
clk-gpio.c clk: clk-gpio: Allow GPIO to sleep in set/get_parent 2018-03-19 13:53:08 -07:00
clk-hi655x.c clk: hi6220: Add the hi655x's pmic clock 2017-04-21 19:18:53 -07:00
clk-highbank.c
clk-hsdk-pll.c ARC: clk: fix spelling mistake: "configurarion" -> "configuration" 2017-11-13 17:44:26 -08:00
clk-max9485.c clk: Add driver for MAX9485 2018-07-06 13:44:06 -07:00
clk-max77686.c clk: max77686: fix number of clocks setup for clk_hw based registration 2016-10-17 15:31:59 -07:00
clk-moxart.c clk: Convert to using %pOF instead of full_name 2017-07-21 15:49:54 -07:00
clk-multiplier.c
clk-mux.c clk: honor CLK_MUX_ROUND_CLOSEST in generic clk mux 2018-04-16 09:25:07 -07:00
clk-nomadik.c clk: nomadik: Delete error messages for a failed memory allocation in two functions 2017-04-21 19:47:14 -07:00
clk-npcm7xx.c clk: npcm7xx: fix return value check in npcm7xx_clk_init() 2018-05-01 14:50:29 -07:00
clk-nspire.c
clk-oxnas.c clk: oxnas: Add OX820 Gate clocks 2016-10-23 10:18:45 -07:00
clk-palmas.c clk: palmas: undo preparation of a clock source. 2017-06-02 10:51:34 -07:00
clk-pwm.c
clk-qoriq.c clk: qoriq: add more divider clocks support 2017-12-21 15:57:28 -08:00
clk-rk808.c clk: rk808: Pass the right pointer as the get_hw context 2016-09-09 11:07:07 -07:00
clk-s2mps11.c treewide: Use struct_size() for devm_kmalloc() and friends 2018-06-06 11:15:43 -07:00
clk-scmi.c treewide: Use struct_size() for devm_kmalloc() and friends 2018-06-06 11:15:43 -07:00
clk-scpi.c clk: scpi: error when clock fails to register 2017-06-29 18:47:35 -07:00
clk-si514.c
clk-si544.c clk-si544: Properly round requested frequency to nearest match 2018-06-01 23:24:52 -07:00
clk-si570.c
clk-si5351.c clk: si5351: _si5351_clkout_reset_pll() can be static 2017-12-28 10:49:48 -08:00
clk-si5351.h
clk-stm32f4.c clk: stm32: Add clk entry for SDMMC2 on stm32F769 2018-03-19 13:46:07 -07:00
clk-stm32h7.c treewide: Use struct_size() for kmalloc()-family 2018-06-06 11:15:43 -07:00
clk-stm32mp1.c This time we have a good set of changes to the core framework that do some 2018-06-09 12:06:24 -07:00
clk-tango4.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
clk-twl6040.c clk: make clk_init_data const 2017-11-01 23:25:51 -07:00
clk-u300.c clk: clk-u300: Fix a typo in two comment lines 2017-11-13 17:39:43 -08:00
clk-versaclock5.c clk: vc5: Add support for IDT VersaClock 5P49V5925 2017-07-17 11:51:00 -07:00
clk-vt8500.c
clk-wm831x.c clk: make clk_init_data const 2017-11-01 23:25:51 -07:00
clk-xgene.c clk: clk-xgene: Adjust six checks for null pointers 2017-11-13 17:40:03 -08:00
clk.c docs: Fix some broken references 2018-06-15 18:10:01 -03:00
clk.h clk: Move __clk_{get,put}() into private clk.h API 2018-01-04 15:13:29 -08:00
clkdev.c clk: Prepare to remove asm-generic/clkdev.h 2018-01-02 16:12:00 -08:00