/linux/drivers/regulator/ |
H A D | wm831x-dcdc.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 // wm831x-dcdc.c -- DC-DC buck converter driver for the WM831x series 62 struct wm831x_dcdc *dcdc = rdev_get_drvdata(rdev); in wm831x_dcdc_get_mode() local 63 struct wm831x *wm831x = dcdc->wm831x; in wm831x_dcdc_get_mode() 64 u16 reg = dcdc->base + WM831X_DCDC_ON_CONFIG; in wm831x_dcdc_get_mode() local 67 val = wm831x_reg_read(wm831x, reg); in wm831x_dcdc_get_mode() 84 return -EINVAL; in wm831x_dcdc_get_mode() 88 static int wm831x_dcdc_set_mode_int(struct wm831x *wm831x, int reg, in wm831x_dcdc_set_mode_int() argument 107 return -EINVAL; in wm831x_dcdc_set_mode_int() 110 return wm831x_set_bits(wm831x, reg, WM831X_DC1_ON_MODE_MASK, in wm831x_dcdc_set_mode_int() [all …]
|
H A D | ltc3676.c | 1 // SPDX-License-Identifier: GPL-2.0-only 76 struct device *dev = ltc3676->dev; in ltc3676_set_suspend_voltage() 77 int dcdc = rdev_get_id(rdev); in ltc3676_set_suspend_voltage() local 80 dev_dbg(dev, "%s id=%d uV=%d\n", __func__, dcdc, uV); in ltc3676_set_suspend_voltage() 86 return regmap_update_bits(ltc3676->regmap, rdev->desc->vsel_reg + 1, in ltc3676_set_suspend_voltage() 87 rdev->desc->vsel_mask, sel); in ltc3676_set_suspend_voltage() 94 struct device *dev = ltc3676->dev; in ltc3676_set_suspend_mode() 96 int dcdc = rdev_get_id(rdev); in ltc3676_set_suspend_mode() local 98 dev_dbg(dev, "%s id=%d mode=%d\n", __func__, dcdc, mode); in ltc3676_set_suspend_mode() 109 dev_warn(&rdev->dev, "%s: regulator mode: 0x%x not supported\n", in ltc3676_set_suspend_mode() [all …]
|
H A D | bcm590xx-regulator.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 73 /* DCDC regulator IDs */ 118 /* DCDC group CSR: supported voltages in microvolts */ 125 /* DCDC group IOSR1: supported voltages in microvolts */ 133 /* DCDC group SDSR1: supported voltages in microvolts */ 206 return BCM590XX_CSRVOUT1 + (id - BCM590XX_REG_CSR) * 3; in bcm590xx_get_vsel_register() 211 int reg = 0; in bcm590xx_get_enable_register() local 214 reg = BCM590XX_RFLDOPMCTRL1 + id * 2; in bcm590xx_get_enable_register() 216 reg = BCM590XX_GPLDO1PMCTRL1 + id * 2; in bcm590xx_get_enable_register() 220 reg = BCM590XX_CSRPMCTRL1; in bcm590xx_get_enable_register() [all …]
|
H A D | rn5t618-regulator.c | 1 // SPDX-License-Identifier: GPL-2.0-only 25 #define REG(rid, ereg, emask, vreg, vmask, min, max, step) \ macro 34 .n_voltages = ((max) - (min)) / (step) + 1, \ 44 /* DCDC */ 45 REG(DCDC1, DC1CTL, BIT(0), DC1DAC, 0xff, 600000, 3500000, 12500), 46 REG(DCDC2, DC2CTL, BIT(0), DC2DAC, 0xff, 600000, 3500000, 12500), 47 REG(DCDC3, DC3CTL, BIT(0), DC3DAC, 0xff, 600000, 3500000, 12500), 48 REG(DCDC4, DC4CTL, BIT(0), DC4DAC, 0xff, 600000, 3500000, 12500), 50 REG(LDO1, LDOEN1, BIT(0), LDO1DAC, 0x7f, 900000, 3500000, 25000), 51 REG(LDO2, LDOEN1, BIT(1), LDO2DAC, 0x7f, 900000, 3500000, 25000), [all …]
|
H A D | axp20x-regulator.c | 361 .n_voltages = (((_max) - (_min)) / (_step) + 1), \ 383 .n_voltages = (((_max) - (_min)) / (_step) + 1), \ 463 u8 reg, mask, enable, cfg = 0xff; in axp20x_set_ramp_delay() local 467 switch (axp20x->variant) { in axp20x_set_ramp_delay() 472 reg = AXP20X_DCDC2_LDO3_V_RAMP; in axp20x_set_ramp_delay() 483 reg = AXP20X_DCDC2_LDO3_V_RAMP; in axp20x_set_ramp_delay() 497 return -ENOTSUPP; in axp20x_set_ramp_delay() 516 dev_err(axp20x->dev, "unsupported ramp value %d", ramp); in axp20x_set_ramp_delay() 517 return -EINVAL; in axp20x_set_ramp_delay() 523 return regmap_update_bits(axp20x->regmap, reg, mask, cfg); in axp20x_set_ramp_delay() [all …]
|
H A D | max8660.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * max8660.c -- Voltage regulation for the Maxim 8660/8661 5 * based on max1586.c and wm8400-regulator.c 11 * Datasheet: http://datasheets.maxim-ic.com/en/ds/MAX8660-MAX8661.pdf 13 * This chip is a bit nasty because it is a write-only device. Thus, the driver 23 * functions for V3-V7 is sufficient. For maximum flexibility during 73 static int max8660_write(struct max8660 *max8660, u8 reg, u8 mask, u8 val) in max8660_write() argument 80 u8 reg_val = (max8660->shadow_regs[reg] & mask) | val; in max8660_write() 82 dev_vdbg(&max8660->client->dev, "Writing reg %02x with %02x\n", in max8660_write() 83 max8660_addresses[reg], reg_val); in max8660_write() [all …]
|
H A D | tps65090-regulator.c | 1 // SPDX-License-Identifier: GPL-2.0-only 33 * struct tps65090_regulator - Per-regulator data for a tps65090 regulator 54 * tps65090_reg_set_overcurrent_wait - Setup overcurrent wait 62 * Return: 0 if no error, non-zero if there was an error writing the register. 69 ret = regmap_update_bits(rdev->regmap, rdev->desc->enable_reg, in tps65090_reg_set_overcurrent_wait() 71 ri->overcurrent_wait << CTRL_WT_BIT); in tps65090_reg_set_overcurrent_wait() 73 dev_err(&rdev->dev, "Error updating overcurrent wait %#x\n", in tps65090_reg_set_overcurrent_wait() 74 rdev->desc->enable_reg); in tps65090_reg_set_overcurrent_wait() 81 * tps65090_try_enable_fet - Try to enable a FET 85 * Return: 0 if ok, -ENOTRECOVERABLE if the FET power good bit did not get [all …]
|
H A D | tps6507x-regulator.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * tps6507x-regulator.c 7 * Copyright (C) 2009 Texas Instrument Incorporated - https://www.ti.com/ 23 /* DCDC's */ 33 /* Number of step-down converters available */ 75 /* Does DCDC high or the low register defines output voltage? */ 113 static inline int tps6507x_pmic_read(struct tps6507x_pmic *tps, u8 reg) in tps6507x_pmic_read() argument 118 err = tps->mfd->read_dev(tps->mfd, reg, 1, &val); in tps6507x_pmic_read() 126 static inline int tps6507x_pmic_write(struct tps6507x_pmic *tps, u8 reg, u8 val) in tps6507x_pmic_write() argument 128 return tps->mfd->write_dev(tps->mfd, reg, 1, &val); in tps6507x_pmic_write() [all …]
|
/linux/Documentation/devicetree/bindings/mfd/ |
H A D | rockchip,rk806.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Sebastian Reichel <sebastian.reichel@collabora.com> 19 - rockchip,rk806 21 reg: 27 gpio-controller: true 29 '#gpio-cells': 32 system-power-controller: true 34 vcc1-supply: [all …]
|
H A D | x-powers,axp152.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/mfd/x-powers,axp152.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: X-Powers AXP PMIC 10 - Chen-Yu Tsai <wens@csie.org> 13 - if: 18 - x-powers,axp152 19 - x-powers,axp202 20 - x-powers,axp209 [all …]
|
H A D | tps65912.txt | 4 - compatible : Should be "ti,tps65912". 5 - reg : Slave address or chip select number (I2C / SPI). 6 - interrupts : The interrupt line the device is connected to. 7 - interrupt-controller : Marks the device node as an interrupt controller. 8 - #interrupt-cells : The number of cells to describe an IRQ, should be 2. 11 masks from ../interrupt-controller/interrupts.txt. 12 - gpio-controller : Marks the device node as a GPIO Controller. 13 - #gpio-cells : Should be two. The first cell is the pin number and 16 - regulators: : List of child nodes that specify the regulator 18 after their hardware counterparts: dcdc[1-4] and [all …]
|
/linux/Documentation/devicetree/bindings/display/panel/ |
H A D | jdi,lt070me05000.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Vinay Simha BN <simhavcs@gmail.com> 13 - $ref: panel-common.yaml# 19 reg: 22 enable-gpios: true 23 reset-gpios: true 25 vddp-supply: 27 The regulator that provides the supply voltage Power IC supply (3-5V) [all …]
|
/linux/arch/arm64/boot/dts/rockchip/ |
H A D | rk3588-friendlyelec-cm3588.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 9 /dts-v1/; 11 #include <dt-bindings/gpio/gpio.h> 12 #include <dt-bindings/leds/common.h> 13 #include <dt-bindings/pinctrl/rockchip.h> 26 stdout-path = "serial2:1500000n8"; 30 compatible = "gpio-leds"; 32 led_sys: led-0 { 36 linux,default-trigger = "heartbeat"; 37 pinctrl-names = "default"; [all …]
|
H A D | rk3588s-rock-5a.dts | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 3 /dts-v1/; 5 #include <dt-bindings/gpio/gpio.h> 6 #include <dt-bindings/leds/common.h> 7 #include <dt-bindings/pinctrl/rockchip.h> 8 #include <dt-bindings/soc/rockchip,vop2.h> 13 compatible = "radxa,rock-5a", "rockchip,rk3588s"; 21 analog-sound { 22 compatible = "audio-graph-card"; 23 label = "rk3588-es8316"; [all …]
|
H A D | rk3588s-odroid-m2.dts | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 3 /dts-v1/; 5 #include <dt-bindings/gpio/gpio.h> 6 #include <dt-bindings/leds/common.h> 7 #include <dt-bindings/pinctrl/rockchip.h> 8 #include <dt-bindings/soc/rockchip,vop2.h> 9 #include <dt-bindings/usb/pd.h> 13 model = "Hardkernel ODROID-M2"; 14 compatible = "hardkernel,odroid-m2", "rockchip,rk3588s"; 23 stdout-path = "serial2:1500000n8"; [all …]
|
H A D | rk3588-rock-5b.dts | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 3 /dts-v1/; 5 #include <dt-bindings/gpio/gpio.h> 6 #include <dt-bindings/leds/common.h> 7 #include <dt-bindings/soc/rockchip,vop2.h> 12 compatible = "radxa,rock-5b", "rockchip,rk3588"; 21 stdout-path = "serial2:1500000n8"; 24 analog-sound { 25 compatible = "audio-graph-card"; 26 label = "rk3588-es8316"; [all …]
|
H A D | rk3588s-nanopi-r6.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 3 /dts-v1/; 5 #include <dt-bindings/pinctrl/rockchip.h> 6 #include <dt-bindings/gpio/gpio.h> 7 #include <dt-bindings/input/input.h> 8 #include <dt-bindings/soc/rockchip,vop2.h> 19 stdout-path = "serial2:1500000n8"; 22 adc-keys { 23 compatible = "adc-keys"; 24 io-channels = <&saradc 0>; [all …]
|
H A D | rk3588-nanopc-t6.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 8 /dts-v1/; 10 #include <dt-bindings/gpio/gpio.h> 11 #include <dt-bindings/input/input.h> 12 #include <dt-bindings/pinctrl/rockchip.h> 13 #include <dt-bindings/soc/rockchip,vop2.h> 14 #include <dt-bindings/usb/pd.h> 18 model = "FriendlyElec NanoPC-T6"; 19 compatible = "friendlyarm,nanopc-t6", "rockchip,rk3588"; 26 adc-keys-0 { [all …]
|
H A D | rk3588s-gameforce-ace.dts | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 3 /dts-v1/; 5 #include <dt-bindings/gpio/gpio.h> 6 #include <dt-bindings/input/linux-event-codes.h> 7 #include <dt-bindings/leds/common.h> 8 #include <dt-bindings/pinctrl/rockchip.h> 9 #include <dt-bindings/pwm/pwm.h> 10 #include <dt-bindings/thermal/thermal.h> 11 #include <dt-bindings/usb/pd.h> 16 chassis-type = "handset"; [all …]
|
/linux/Documentation/devicetree/bindings/regulator/ |
H A D | tps65090.txt | 4 - compatible: "ti,tps65090" 5 - reg: I2C slave address 6 - interrupts: the interrupt outputs of the controller 7 - regulators: A node that houses a sub-node for each regulator within the 8 device. Each sub-node is identified using the node's name, with valid 9 values listed below. The content of each sub-node is defined by the 11 dcdc[1-3], fet[1-7] and ldo[1-2] respectively. 12 - vsys[1-3]-supply: The input supply for DCDC[1-3] respectively. 13 - infet[1-7]-supply: The input supply for FET[1-7] respectively. 14 - vsys-l[1-2]-supply: The input supply for LDO[1-2] respectively. [all …]
|
H A D | richtek,rt5759-regulator.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 4 $id: http://devicetree.org/schemas/regulator/richtek,rt5759-regulator.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Richtek RT5759 High Performance DCDC Converter 10 - ChiYuan Huang <cy_huang@richtek.com> 13 The RT5759 is a high-performance, synchronous step-down DC-DC converter that 15 voltage can be programmable with I2C controlled 7-Bit VID. 18 https://www.richtek.com/assets/product_file/RT5759/DS5759-00.pdf 23 - richtek,rt5759 [all …]
|
/linux/include/linux/mfd/wm8350/ |
H A D | pmic.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 3 * pmic.h -- Power Management Driver for Wolfson WM8350 PMIC 71 * R172 (0xAC) - Current Sink Driver A 86 * R173 (0xAD) - CSA Flash control 96 * R174 (0xAE) - Current Sink Driver B 102 * R175 (0xAF) - CSB Flash control 112 * R176 (0xB0) - DCDC/LDO requested 127 * R177 (0xB1) - DCDC Active options 137 * R178 (0xB2) - DCDC Sleep options 145 * R179 (0xB3) - Power-check comparator [all …]
|
/linux/sound/soc/codecs/ |
H A D | tfa989x.c | 1 // SPDX-License-Identifier: GPL-2.0-only 6 * Copyright (C) 2014-2020 NXP Semiconductors, All Rights Reserved. 42 #define TFA989X_I2S_SEL_REG_DCFG_MSK GENMASK(14, 11) /* DCDC compensation */ 65 static bool tfa989x_writeable_reg(struct device *dev, unsigned int reg) in tfa989x_writeable_reg() argument 67 return reg > TFA989X_REVISIONNUMBER; in tfa989x_writeable_reg() 70 static bool tfa989x_volatile_reg(struct device *dev, unsigned int reg) in tfa989x_volatile_reg() argument 72 return reg < TFA989X_REVISIONNUMBER; in tfa989x_volatile_reg() 111 gpiod_set_value_cansleep(tfa989x->rcv_gpiod, ucontrol->value.enumerated.item[0]); in tfa989x_put_mode() 126 if (tfa989x->rev->rev == TFA9897_REVISION) in tfa989x_probe() 155 return -EINVAL; in tfa989x_find_sample_rate() [all …]
|
/linux/drivers/mfd/ |
H A D | wm8350-regmap.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * wm8350-regmap.c -- Wolfson Microelectronics WM8350 register map 23 { 0xFFFF, 0xFFFF, 0x0000 }, /* R0 - Reset/ID */ 24 { 0x7CFF, 0x0C00, 0x0000 }, /* R1 - ID */ 25 { 0x007F, 0x0000, 0x0000 }, /* R2 - ROM Mask ID */ 26 { 0xBE3B, 0xBE3B, 0x8000 }, /* R3 - System Control 1 */ 27 { 0xFEF7, 0xFEF7, 0xF800 }, /* R4 - System Control 2 */ 28 { 0x80FF, 0x80FF, 0x8000 }, /* R5 - System Hibernate */ 29 { 0xFB0E, 0xFB0E, 0x0000 }, /* R6 - Interface Control */ 31 { 0xE537, 0xE537, 0xFFFF }, /* R8 - Power mgmt (1) */ [all …]
|
/linux/arch/arm/boot/dts/intel/pxa/ |
H A D | pxa300-raumfeld-common.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 4 #include <dt-bindings/gpio/gpio.h> 5 #include <dt-bindings/input/input.h> 6 #include <dt-bindings/interrupt-controller/irq.h> 10 hw-revision = <0>; 14 stdout-path = &ffuart; 19 reg = <0xa0000000 0x8000000>; /* 128 MB */ 22 reg_3v3: regulator-3v3 { 23 compatible = "regulator-fixed"; 24 regulator-name = "3v3-fixed-supply"; [all …]
|