Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

mfd: twl6040: Register child device for twl6040-pdmclk

The McPDM in OMAP4/5 is using the pdmclk from twl6040 as functional clock.
The twl6040-pdmclk driver provides a clock which can be used to make sure
that the pdmclk is active when the McPDM is in use.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>

authored by

Peter Ujfalusi and committed by
Lee Jones
0133d323 25d94a11

+7 -1
+1
Documentation/devicetree/bindings/mfd/twl6040.txt
··· 12 12 - interrupt-parent: The parent interrupt controller 13 13 - gpio-controller: 14 14 - #gpio-cells = <1>: twl6040 provides GPO lines. 15 + - #clock-cells = <0>; twl6040 is a provider of pdmclk which is used by McPDM 15 16 - twl6040,audpwron-gpio: Power on GPIO line for the twl6040 16 17 17 18 - vio-supply: Regulator for the twl6040 VIO supply
+5
drivers/mfd/twl6040.c
··· 783 783 cell->name = "twl6040-gpo"; 784 784 children++; 785 785 786 + /* PDM clock support */ 787 + cell = &twl6040->cells[children]; 788 + cell->name = "twl6040-pdmclk"; 789 + children++; 790 + 786 791 /* The chip is powered down so mark regmap to cache only and dirty */ 787 792 regcache_cache_only(twl6040->regmap, true); 788 793 regcache_mark_dirty(twl6040->regmap);
+1 -1
include/linux/mfd/twl6040.h
··· 168 168 #define TWL6040_VIBROCDET 0x20 169 169 #define TWL6040_TSHUTDET 0x40 170 170 171 - #define TWL6040_CELLS 3 171 + #define TWL6040_CELLS 4 172 172 173 173 #define TWL6040_REV_ES1_0 0x00 174 174 #define TWL6040_REV_ES1_1 0x01 /* Rev ES1.1 and ES1.2 */