Home
last modified time | relevance | path

Searched refs:twl6040 (Results 1 – 25 of 27) sorted by relevance

12

/linux-6.1.9/drivers/mfd/
Dtwl6040.c99 int twl6040_reg_read(struct twl6040 *twl6040, unsigned int reg) in twl6040_reg_read() argument
104 ret = regmap_read(twl6040->regmap, reg, &val); in twl6040_reg_read()
112 int twl6040_reg_write(struct twl6040 *twl6040, unsigned int reg, u8 val) in twl6040_reg_write() argument
116 ret = regmap_write(twl6040->regmap, reg, val); in twl6040_reg_write()
122 int twl6040_set_bits(struct twl6040 *twl6040, unsigned int reg, u8 mask) in twl6040_set_bits() argument
124 return regmap_update_bits(twl6040->regmap, reg, mask, mask); in twl6040_set_bits()
128 int twl6040_clear_bits(struct twl6040 *twl6040, unsigned int reg, u8 mask) in twl6040_clear_bits() argument
130 return regmap_update_bits(twl6040->regmap, reg, mask, 0); in twl6040_clear_bits()
135 static int twl6040_power_up_manual(struct twl6040 *twl6040) in twl6040_power_up_manual() argument
142 ret = twl6040_reg_write(twl6040, TWL6040_REG_LDOCTL, ldoctl); in twl6040_power_up_manual()
[all …]
DMakefile113 obj-$(CONFIG_TWL6040_CORE) += twl6040.o
/linux-6.1.9/include/linux/mfd/
Dtwl6040.h209 struct twl6040 { struct
235 int twl6040_reg_read(struct twl6040 *twl6040, unsigned int reg); argument
236 int twl6040_reg_write(struct twl6040 *twl6040, unsigned int reg,
238 int twl6040_set_bits(struct twl6040 *twl6040, unsigned int reg,
240 int twl6040_clear_bits(struct twl6040 *twl6040, unsigned int reg,
242 int twl6040_power(struct twl6040 *twl6040, int on);
243 int twl6040_set_pll(struct twl6040 *twl6040, int pll_id,
245 int twl6040_get_pll(struct twl6040 *twl6040);
246 unsigned int twl6040_get_sysclk(struct twl6040 *twl6040);
249 int twl6040_get_vibralr_status(struct twl6040 *twl6040);
[all …]
/linux-6.1.9/drivers/input/misc/
Dtwl6040-vibra.c50 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()
92 twl6040_reg_write(twl6040, TWL6040_REG_VIBCTLL, in twl6040_vibra_enable()
94 twl6040_reg_write(twl6040, TWL6040_REG_VIBCTLR, in twl6040_vibra_enable()
[all …]
DMakefile85 obj-$(CONFIG_INPUT_TWL6040_VIBRA) += twl6040-vibra.o
/linux-6.1.9/drivers/clk/
Dclk-twl6040.c16 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
137 clkdata->twl6040 = twl6040; in twl6040_pdmclk_probe()
DMakefile72 obj-$(CONFIG_CLK_TWL6040) += clk-twl6040.o
DKconfig282 tristate "External McPDM functional clock from twl6040"
/linux-6.1.9/drivers/gpio/
Dgpio-twl6040.c25 struct twl6040 *twl6040 = dev_get_drvdata(chip->parent->parent); in twl6040gpo_get() local
28 ret = twl6040_reg_read(twl6040, TWL6040_REG_GPOCTL); in twl6040gpo_get()
49 struct twl6040 *twl6040 = dev_get_drvdata(chip->parent->parent); 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()
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()
DMakefile166 obj-$(CONFIG_GPIO_TWL6040) += gpio-twl6040.o
/linux-6.1.9/Documentation/devicetree/bindings/mfd/
Dtwl6040.txt9 - 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 {
43 compatible = "ti,twl6040";
[all …]
/linux-6.1.9/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>;
Domap-mcpdm.txt10 - clocks: phandle for the pdmclk provider, likely <&twl6040>
27 clocks = <&twl6040>;
/linux-6.1.9/sound/soc/codecs/
Dtwl6040.c100 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
833 ret = twl6040_set_pll(twl6040, TWL6040_SYSCLK_SEL_LPPLL, in twl6040_set_bias_level()
838 ret = twl6040_power(twl6040, 1); in twl6040_set_bias_level()
851 twl6040_power(twl6040, 0); in twl6040_set_bias_level()
[all …]
DMakefile277 snd-soc-twl6040-objs := twl6040.o
634 obj-$(CONFIG_SND_SOC_TWL6040) += snd-soc-twl6040.o
/linux-6.1.9/arch/arm/boot/dts/
Domap4-duovero.dtsi23 compatible = "ti,abe-twl6040";
30 ti,twl6040 = <&twl6040>;
171 twl6040: twl@4b { label
172 compatible = "ti,twl6040";
Domap4-var-som-om44.dtsi19 compatible = "ti,abe-twl6040";
24 ti,twl6040 = <&twl6040>;
179 twl6040: twl@4b { label
180 compatible = "ti,twl6040";
Domap4-panda-common.dtsi81 compatible = "ti,abe-twl6040";
88 ti,twl6040 = <&twl6040>;
413 twl6040: twl@4b { label
414 compatible = "ti,twl6040";
Domap5-board-common.dtsi119 compatible = "ti,abe-twl6040";
127 ti,twl6040 = <&twl6040>;
638 twl6040: twl@4b { label
639 compatible = "ti,twl6040";
668 clocks = <&twl6040>;
Domap4-sdp.dts120 compatible = "ti,abe-twl6040";
129 ti,twl6040 = <&twl6040>;
385 twl6040: twl@4b { label
386 compatible = "ti,twl6040";
Domap4-mcpdm.dtsi42 clocks = <&twl6040>;
Domap5-igep0050.dts110 &twl6040 {
Domap5-uevm.dts191 &twl6040 {
/linux-6.1.9/sound/soc/ti/
DMakefile33 snd-soc-omap-abe-twl6040-objs := omap-abe-twl6040.o
44 obj-$(CONFIG_SND_SOC_OMAP_ABE_TWL6040) += snd-soc-omap-abe-twl6040.o
DKconfig119 tristate "SoC Audio support for OMAP boards using ABE and twl6040 codec"
127 using ABE and twl6040 codec. This driver currently supports:

12