Home
last modified time | relevance | path

Searched full:twl6040 (Results 1 – 25 of 33) sorted by relevance

12

/linux-6.14.4/drivers/mfd/
Dtwl6040.c3 * MFD driver for TWL6040 audio device
24 #include <linux/mfd/twl6040.h>
96 int twl6040_reg_read(struct twl6040 *twl6040, unsigned int reg) in twl6040_reg_read() argument
101 ret = regmap_read(twl6040->regmap, reg, &val); in twl6040_reg_read()
109 int twl6040_reg_write(struct twl6040 *twl6040, unsigned int reg, u8 val) in twl6040_reg_write() argument
113 ret = regmap_write(twl6040->regmap, reg, val); in twl6040_reg_write()
119 int twl6040_set_bits(struct twl6040 *twl6040, unsigned int reg, u8 mask) in twl6040_set_bits() argument
121 return regmap_update_bits(twl6040->regmap, reg, mask, mask); in twl6040_set_bits()
125 int twl6040_clear_bits(struct twl6040 *twl6040, unsigned int reg, u8 mask) in twl6040_clear_bits() argument
127 return regmap_update_bits(twl6040->regmap, reg, mask, 0); in twl6040_clear_bits()
[all …]
/linux-6.14.4/drivers/input/misc/
Dtwl6040-vibra.c3 * twl6040-vibra.c - TWL6040 Vibrator driver
19 #include <linux/mfd/twl6040.h>
50 struct twl6040 *twl6040; member
56 struct twl6040 *twl6040 = info->twl6040; in twl6040_vib_irq_handler() local
59 status = twl6040_reg_read(twl6040, TWL6040_REG_STATUS); in twl6040_vib_irq_handler()
62 twl6040_clear_bits(twl6040, TWL6040_REG_VIBCTLL, in twl6040_vib_irq_handler()
67 twl6040_clear_bits(twl6040, TWL6040_REG_VIBCTLR, in twl6040_vib_irq_handler()
76 struct twl6040 *twl6040 = info->twl6040; in twl6040_vibra_enable() local
85 twl6040_power(info->twl6040, 1); in twl6040_vibra_enable()
86 if (twl6040_get_revid(twl6040) <= TWL6040_REV_ES1_1) { in twl6040_vibra_enable()
[all …]
DMakefile89 obj-$(CONFIG_INPUT_TWL6040_VIBRA) += twl6040-vibra.o
DKconfig542 tristate "Support for TWL6040 Vibrator"
546 This option enables support for TWL6040 Vibrator Driver.
/linux-6.14.4/drivers/gpio/
Dgpio-twl6040.c3 * Access to GPOs on TWL6040 chip
21 #include <linux/mfd/twl6040.h>
25 struct twl6040 *twl6040 = gpiochip_get_data(chip); in twl6040gpo_get() local
28 ret = twl6040_reg_read(twl6040, TWL6040_REG_GPOCTL); in twl6040gpo_get()
49 struct twl6040 *twl6040 = gpiochip_get_data(chip); in twl6040gpo_set() local
53 ret = twl6040_reg_read(twl6040, TWL6040_REG_GPOCTL); in twl6040gpo_set()
62 twl6040_reg_write(twl6040, TWL6040_REG_GPOCTL, gpoctl); in twl6040gpo_set()
66 .label = "twl6040",
80 struct twl6040 *twl6040 = dev_get_drvdata(twl6040_core_dev); in gpo_twl6040_probe() local
87 if (twl6040_get_revid(twl6040) < TWL6041_REV_ES2_0) in gpo_twl6040_probe()
[all …]
DMakefile185 obj-$(CONFIG_GPIO_TWL6040) += gpio-twl6040.o
/linux-6.14.4/include/linux/mfd/
Dtwl6040.h3 * MFD driver for twl6040
181 struct twl6040 { struct
207 int twl6040_reg_read(struct twl6040 *twl6040, unsigned int reg); argument
208 int twl6040_reg_write(struct twl6040 *twl6040, unsigned int reg,
210 int twl6040_set_bits(struct twl6040 *twl6040, unsigned int reg,
212 int twl6040_clear_bits(struct twl6040 *twl6040, unsigned int reg,
214 int twl6040_power(struct twl6040 *twl6040, int on);
215 int twl6040_set_pll(struct twl6040 *twl6040, int pll_id,
217 int twl6040_get_pll(struct twl6040 *twl6040);
218 unsigned int twl6040_get_sysclk(struct twl6040 *twl6040);
[all …]
/linux-6.14.4/Documentation/devicetree/bindings/mfd/
Dtwl6040.txt1 Texas Instruments TWL6040 family
9 - compatible : "ti,twl6040" for twl6040, "ti,twl6041" for twl6041
11 - interrupts: twl6040 has one interrupt line connecteded to the main SoC
13 - #gpio-cells = <1>: twl6040 provides GPO lines.
14 - #clock-cells = <0>; twl6040 is a provider of pdmclk which is used by McPDM
15 - twl6040,audpwron-gpio: Power on GPIO line for the twl6040
17 - vio-supply: Regulator for the twl6040 VIO supply
18 - v2v1-supply: Regulator for the twl6040 V2V1 supply
21 - enable-active-high: To power on the twl6040 during boot.
42 twl6040: twl@4b {
[all …]
/linux-6.14.4/drivers/clk/
Dclk-twl6040.c3 * TWL6040 clock module driver for OMAP4 McPDM functional clock
12 #include <linux/mfd/twl6040.h>
16 struct twl6040 *twl6040; member
36 ret = twl6040_set_bits(pdmclk->twl6040, reg, reset_mask); in twl6040_pdmclk_reset_one_clock()
40 ret = twl6040_clear_bits(pdmclk->twl6040, reg, reset_mask); in twl6040_pdmclk_reset_one_clock()
73 ret = twl6040_power(pdmclk->twl6040, 1); in twl6040_pdmclk_prepare()
87 twl6040_power(pdmclk->twl6040, 0); in twl6040_pdmclk_prepare()
98 ret = twl6040_power(pdmclk->twl6040, 0); in twl6040_pdmclk_unprepare()
110 return twl6040_get_sysclk(pdmclk->twl6040); in twl6040_pdmclk_recalc_rate()
128 struct twl6040 *twl6040 = dev_get_drvdata(pdev->dev.parent); in twl6040_pdmclk_probe() local
[all …]
DMakefile100 obj-$(CONFIG_CLK_TWL6040) += clk-twl6040.o
/linux-6.14.4/Documentation/devicetree/bindings/sound/
Domap-abe-twl6040.txt1 * Texas Instruments OMAP4+ and twl6040 based audio setups
4 - compatible: "ti,abe-twl6040"
8 - ti,twl6040: phandle for the twl6040 core node
32 twl6040 pins:
59 compatible = "ti,abe-twl6040";
68 ti,twl6040 = <&twl6040>;
Dti,omap4-mcpdm.yaml13 OMAP ALSA SoC DAI driver using McPDM port used by TWL6040
71 clocks = <&twl6040>;
/linux-6.14.4/sound/soc/codecs/
Dtwl6040.c3 * ALSA SoC TWL6040 codec driver
15 #include <linux/mfd/twl6040.h>
25 #include "twl6040.h"
100 struct twl6040 *twl6040 = to_twl6040(component); in twl6040_read() local
115 value = twl6040_reg_read(twl6040, reg); in twl6040_read()
162 struct twl6040 *twl6040 = to_twl6040(component); in twl6040_write() local
169 return twl6040_reg_write(twl6040, reg, value); in twl6040_write()
563 struct twl6040 *twl6040 = to_twl6040(component); in twl6040_get_hs_step_size() local
565 if (twl6040_get_revid(twl6040) < TWL6040_REV_ES1_3) in twl6040_get_hs_step_size()
821 struct twl6040 *twl6040 = to_twl6040(component); in twl6040_set_bias_level() local
[all …]
Dtwl6040.h3 * ALSA SoC TWL6040 codec driver
/linux-6.14.4/sound/soc/ti/
Domap-abe-twl6040.c3 * omap-abe-twl6040.c -- SoC audio for TI OMAP based boards with ABE and
4 * twl6040 codec
11 #include <linux/mfd/twl6040.h>
22 #include "../codecs/twl6040.h"
26 DAILINK_COMP_ARRAY(COMP_CODEC("twl6040-codec",
27 "twl6040-legacy")),
40 int mclk_freq; /* MCLK frequency speed for twl6040 */
177 * twl6040. in omap_abe_twl6040_init()
255 priv->dai_links[0].stream_name = "TWL6040"; in omap_abe_probe()
270 priv->dai_links[1].name = "TWL6040"; in omap_abe_probe()
[all …]
DMakefile31 snd-soc-omap-abe-twl6040-y := omap-abe-twl6040.o
42 obj-$(CONFIG_SND_SOC_OMAP_ABE_TWL6040) += snd-soc-omap-abe-twl6040.o
DKconfig112 tristate "SoC Audio support for OMAP boards using ABE and twl6040 codec"
120 using ABE and twl6040 codec. This driver currently supports:
/linux-6.14.4/arch/arm/boot/dts/ti/omap/
Domap4-duovero.dtsi23 compatible = "ti,abe-twl6040";
30 ti,twl6040 = <&twl6040>;
76 twl6040_pins: twl6040-pins {
171 twl6040: twl@4b { label
172 compatible = "ti,twl6040";
Domap4-var-som-om44.dtsi19 compatible = "ti,abe-twl6040";
24 ti,twl6040 = <&twl6040>;
68 twl6040_pins: twl6040-pins {
179 twl6040: twl@4b { label
180 compatible = "ti,twl6040";
Domap4-panda-common.dtsi81 compatible = "ti,abe-twl6040";
88 ti,twl6040 = <&twl6040>;
240 twl6040_pins: twl6040-pins {
414 twl6040: twl@4b { label
415 compatible = "ti,twl6040";
Domap5-board-common.dtsi119 compatible = "ti,abe-twl6040";
127 ti,twl6040 = <&twl6040>;
159 twl6040_pins: twl6040-pins {
638 twl6040: twl@4b { label
639 compatible = "ti,twl6040";
668 clocks = <&twl6040>;
Domap4-sdp.dts120 compatible = "ti,abe-twl6040";
129 ti,twl6040 = <&twl6040>;
242 twl6040_pins: twl6040-pins {
385 twl6040: twl@4b { label
386 compatible = "ti,twl6040";
Domap4-mcpdm.dtsi42 clocks = <&twl6040>;
Domap5-igep0050.dts110 &twl6040 {
Domap5-uevm.dts191 &twl6040 {

12