Age | Commit message (Collapse) | Author | Files | Lines |
|
If an MFD device is backed by ACPI namespace, we should allow subdevice
drivers to access their corresponding ACPI companion devices through normal
means (e.g using ACPI_COMPANION()).
This patch adds such support to the MFD core. If the MFD parent device
does not specify any ACPI _HID/_CID for the child device, the child
device will share the parent ACPI companion device. Otherwise the child
device will be assigned with the corresponding ACPI companion, if found
in the namespace below the parent.
Signed-off-by: Mika Westerberg <[email protected]>
Reviewed-by: Darren Hart <[email protected]>
Signed-off-by: Lee Jones <[email protected]>
|
|
This reverts commit d9d03496f6f904a3588bdb8b215853bc4e50132c.
It seems this commit was applied twice, once through ASoC and once
through MFD:
commit 4c9bb8bc352a14c9613c77bc3f1e9038cd086b9b
mfd: wm5102: Manually apply register patch
commit d9d03496f6f904a3588bdb8b215853bc4e50132c
mfd: wm5102: Manually apply register patch
This has lead to a small piece of duplicate code. It is harmless hence
how it has gone unoticed for so long. This patch reverts one of the two
commits removing the unneeded code.
Signed-off-by: Charles Keepax <[email protected]>
Signed-off-by: Lee Jones <[email protected]>
|
|
The logic in AFE_Pen_Ctrl bitmask in the CTRL register is different for five
wire versus four or eight wire touschscreens. This patch should fix this for
five-wire touch screens. There should be no change needed here for four and
eight wire tousch screens.
Signed-off-by: Jeff Lance <[email protected]>
[bigeasy: keep the change mfd only]
Signed-off-by: Sebastian Andrzej Siewior <[email protected]>
Signed-off-by: Lee Jones <[email protected]>
|
|
Cc: [email protected]
Signed-off-by: Lee Jones <[email protected]>
|
|
Cc: Stanimir Varbanov <[email protected]>
Cc: Srinivas Kandagatla <[email protected]>
Signed-off-by: Lee Jones <[email protected]>
|
|
dma_mask and dma_parms are already inherited from the parent device but
dma_coherent_mask was left uninitialized (set to zero thanks to kzalloc).
Set sub-device coherent_dma_mask to its parent value to simplify
sub-drivers making use of dma coherent helper functions (those drivers
currently have to explicitly set the dma coherent mask using
dma_set_coherent_mask function).
Signed-off-by: Boris BREZILLON <[email protected]>
Acked-by: Arnd Bergmann <[email protected]>
Signed-off-by: Lee Jones <[email protected]>
|
|
Document DT bindings used to describe the Qualcomm SPMI PMICs.
Signed-off-by: Stanimir Varbanov <[email protected]>
Signed-off-by: Lee Jones <[email protected]>
|
|
The Qualcomm SPMI PMIC chips are components used with the
Snapdragon 800 series SoC family. This driver exists
largely as a glue mfd component, it exists to be an owner
of an SPMI regmap for children devices described in
device tree.
Signed-off-by: Josh Cartwright <[email protected]>
Signed-off-by: Stanimir Varbanov <[email protected]>
Signed-off-by: Lee Jones <[email protected]>
|
|
The rtc driver now supports PM8941 PMIC device, reflect this
in the binding document.
Signed-off-by: Stanimir Varbanov <[email protected]>
Signed-off-by: Lee Jones <[email protected]>
|
|
Now that the regulator code get its parent supplies purely from the DT, we can
drop the parent supplies resources in the MFD driver.
Signed-off-by: Maxime Ripard <[email protected]>
Signed-off-by: Lee Jones <[email protected]>
|
|
support system power off
ti,system-power-controller is more or less the standard way of
indicating that the PMIC is the system wide power controller and hence
may be used to switch off the system. Almost ALL TI PMIC drivers and
many Maxim PMIC drivers follow the same style.
So support 'ti,system-power-controller' in addition to the usual
'ti,use_poweroff' to indicate that the PMIC instance has control for
switching off the system.
Signed-off-by: Nishanth Menon <[email protected]>
Acked-by: Tony Lindgren <[email protected]>
Signed-off-by: Lee Jones <[email protected]>
|
|
ti,system-power-controller is more or less the standard way of
indicating that the PMIC is the system wide power controller and hence
may be used to switch off the system. Almost ALL TI PMIC drivers and
many Maxim PMIC drivers follow the same style.
So support 'ti,system-power-controller' in addition to the usual
'ti,use_poweroff' to indicate that the PMIC instance has control for
switching off the system.
Signed-off-by: Nishanth Menon <[email protected]>
Signed-off-by: Lee Jones <[email protected]>
|
|
The GPBR block provides a set of battery-backed registers that can be used
to save data which need to be kept when the system is powered down and
VDD-core is maintained by an external battery.
A typical usage is the RTT block (when used as an RTC) which needs one of
those registers to save the current time.
Signed-off-by: Boris BREZILLON <[email protected]>
Acked-by: Nicolas Ferre <[email protected]>
Acked-by: Johan Hovold <[email protected]>
Acked-by: Arnd Bergmann <[email protected]>
Signed-off-by: Lee Jones <[email protected]>
|
|
Let's define the voltatile registers (those that can't be cached) and
enable caching. The rk808 is accessed almost constantly with cpufreq
so this is really nice.
As measured by ftrace:
before this change: cpu0_set_target() => ~2200us
after this change: cpu0_set_target() => ~500us
Signed-off-by: Doug Anderson <[email protected]>
Reviewed-by: Chris Zhong <[email protected]>
Signed-off-by: Lee Jones <[email protected]>
|
|
We use a dummy IRQ chip to dispatch interrupts to the two seperate IRQ
domains on the Arizona devices. This is just a simple software IRQ chip
and thus the current handle_edge_irq is unnecessary for its needs.
Signed-off-by: Charles Keepax <[email protected]>
Signed-off-by: Lee Jones <[email protected]>
|
|
The max14577 MFD cells do not have any resources so the IRQ domain
passed to mfd_add_devices is not used.
Signed-off-by: Krzysztof Kozlowski <[email protected]>
Signed-off-by: Lee Jones <[email protected]>
|
|
STMPE now supports using a GPIO as an IRQ source. Document the device
tree binding for this option.
Signed-off-by: Sean Cross <[email protected]>
Signed-off-by: Lee Jones <[email protected]>
|
|
The stmpe_platform_data has a irq_over_gpio field, which allows the
system to read STMPE events whenever an IRQ occurs on a GPIO pin.
This patch adds the ability to configure this field and to use a GPIO
as an IRQ source for boards configuring the STMPE in device tree.
Signed-off-by: Sean Cross <[email protected]>
Signed-off-by: Lee Jones <[email protected]>
|
|
This patch fix warning message with CONFIG_PM_SLEEP disabled
If CONFIG_PM_SLEEP is not enabled we receive the following warning message:
drivers/mfd/intel_soc_pmic_core.c:118:12:
warning: 'intel_soc_pmic_suspend' defined but not used
Signed-off-by: Jaewon Kim <[email protected]>
Signed-off-by: Lee Jones <[email protected]>
|
|
pci_enable_msi() can return failure with both positive and negative
integers -- it returns 0 for success -- but is only tested here for
"if (ret < 0)". This causes us to try to use MSI on the RTS5249 SD
reader in the Dell XPS 11 when enabling MSI failed, causing:
[ 1.737110] rtsx_pci: probe of 0000:05:00.0 failed with error -110
Cc: stable <[email protected]>
Reported-by: D. Jared Dominguez <[email protected]>
Tested-by: D. Jared Dominguez <[email protected]>
Signed-off-by: Chris Ball <[email protected]>
Signed-off-by: Lee Jones <[email protected]>
|
|
In the resume path, the ADC invokes am335x_tsc_se_set_cache() with 0 as
the steps argument if continous mode is not in use. This in turn disables
all steps and so the TSC is not working until one ADC sampling is
performed.
This patch fixes it by writing the current cached mask instead of the
passed steps.
Fixes: 7ca6740cd1cd ("mfd: input: iio: ti_amm335x: Rework TSC/ADCA
synchronization")
Cc: [email protected] # v3.13+
Signed-off-by: Sebastian Andrzej Siewior <[email protected]>
Signed-off-by: Lee Jones <[email protected]>
|
|
Allow regmap to provide debugfs access to the register map by telling it
what registers are valid.
Signed-off-by: Mark Brown <[email protected]>
Signed-off-by: Lee Jones <[email protected]>
|
|
Setup the PMIC to make a restart when a watchdog interrupt occures.
If this is not configured, the PMIC will shut down the power supply
without a restart.
Signed-off-by: Markus Pargmann <[email protected]>
Signed-off-by: Lee Jones <[email protected]>
|
|
When dump a content of the registers let's use snprintf() directly with %*ph
specifier.
Signed-off-by: Andy Shevchenko <[email protected]>
Signed-off-by: Lee Jones <[email protected]>
|
|
This adds driver to support HiSilicon Hi6421 PMIC. Hi6421 includes multi-
functions, such as regulators, codec, ADCs, Coulomb counter, etc.
This driver includes core APIs _only_.
Drivers for individul components, like voltage regulators, are
implemented in corresponding driver directories and files.
Registers in Hi6421 are memory mapped, so using regmap-mmio API.
Signed-off-by: Guodong Xu <[email protected]>
Signed-off-by: Lee Jones <[email protected]>
|
|
Add documentation for HiSilicon Hi6421 PMIC DT binding.
Signed-off-by: Guodong Xu <[email protected]>
Signed-off-by: Lee Jones <[email protected]>
|
|
This patch removes FSF address because it can be changed. While here, update
the copyright lines by adding Intel Corp. to them.
There is no functional change.
Signed-off-by: Andy Shevchenko <[email protected]>
Signed-off-by: Lee Jones <[email protected]>
|
|
Intel Quark X1000 SoC supports IRQ based GPIO. This patch will
enable MFD support for Quark X1000 and provide IRQ resources
to Quark X1000 GPIO device driver.
Signed-off-by: Chang Rebecca Swee Fun <[email protected]>
Tested-by: Chang Rebecca Swee Fun <[email protected]>
Signed-off-by: Andy Shevchenko <[email protected]>
Signed-off-by: Lee Jones <[email protected]>
|
|
This patch adds the PCI id for Intel Quark ILB.
It will be used for GPIO and Multifunction device driver.
Signed-off-by: Josef Ahmad <[email protected]>
Acked-by: Bjorn Helgaas <[email protected]>
Signed-off-by: Andy Shevchenko <[email protected]>
Signed-off-by: Lee Jones <[email protected]>
|
|
This patch refactors the driver to use helper functions instead of
copy'n'pasted pieces of code.
It also introduces an additional struct to hold a chipset info. The chipset
info will be used to store features that are supported by specific processor or
chipset. LPC_SCH supports SMBUS, GPIO and WDT features. As this code base might
expand further to support more processors, this implementation will help to
keep code base clean and manageable.
The patch is partially based on the work done by Chang Rebecca Swee Fun.
Signed-off-by: Andy Shevchenko <[email protected]>
Tested-by: Chang Rebecca Swee Fun <[email protected]>
Signed-off-by: Lee Jones <[email protected]>
|
|
The RK808 chip is a power management IC for multimedia and handheld
devices. It contains the following components:
- Regulators
- RTC
- Clkout
The RK808 core driver is registered as a platform driver and provides
communication through I2C with the host device for the different
components.
Signed-off-by: Chris Zhong <[email protected]>
Signed-off-by: Zhang Qing <[email protected]>
Tested-by: Heiko <[email protected]>
Signed-off-by: Lee Jones <[email protected]>
|
|
Add device tree bindings documentation and a header file
for rockchip's RK808 pmic.
Signed-off-by: Doug Anderson <[email protected]>
Signed-off-by: Chris Zhong <[email protected]>
Signed-off-by: Zhang Qing <[email protected]>
Tested-by: Heiko <[email protected]>
Signed-off-by: Lee Jones <[email protected]>
|
|
Current code init regmap with &da9052_regmap_config for both da9052-spi and
da9052-i2c drivers. da9052-spi sets the read_flag_mask.
The same setting may be applied for da9052-i2c if da9052-spi driver is loaded
first because they actually use the same regmap_config setting.
Fix this issue by using a local variable for regmap_config in da9052-spi driver,
so the settings in spi driver won't impact the settings in i2c driver.
Also makes da9052_regmap_config const to avoid similar issue.
Signed-off-by: Axel Lin <[email protected]>
Acked-by: Adam Thomson <[email protected]>
Signed-off-by: Lee Jones <[email protected]>
|
|
If one of the internal Arizona IRQs is set as a wake source this needs
to be propogated back to the actual IRQ line that the Arizona device is
attached to.
Signed-off-by: Charles Keepax <[email protected]>
Signed-off-by: Lee Jones <[email protected]>
|
|
This patch update DT binding to support INn_MODE init_data. Each
input signal path can be configurated either as a Analogue or
Digital using the INn_MODE registers.
Signed-off-by: Inha Song <[email protected]>
Reviewed-by: Charles Keepax <[email protected]>
Signed-off-by: Lee Jones <[email protected]>
|
|
Some boards need to set the INn_MODE[1:0] register to change
the input signal patch. This wlf,inmode property is optional.
If present, values must be specified less than or equal to
the number of input singals. If values less than the number
of input signals, elements that has not been specifed are set
to 0 by default.
Example:
- wlf,inmode = <2 0 2>; /* IN1, IN3 use DMIC */
Signed-off-by: Inha Song <[email protected]>
Reviewed-by: Charles Keepax <[email protected]>
Signed-off-by: Lee Jones <[email protected]>
|
|
Some arizona devices have a second asynchronous sample rate, add the
registers necessary to support this.
Signed-off-by: Charles Keepax <[email protected]>
Acked-by: Mark Brown <[email protected]>
Signed-off-by: Lee Jones <[email protected]>
|
|
Ricoh RN5T618 is a power management IC which integrates 3 step-down
DCDC converters, 7 low-dropout regulators, a Li-ion battery charger,
fuel gauge, ADC, GPIOs and a watchdog timer.
This commit adds a MFD core driver to support the I2C communication
with the device.
Signed-off-by: Beniamino Galvani <[email protected]>
Signed-off-by: Lee Jones <[email protected]>
|
|
After enabling and disabling ADC continuous mode via sysfs, ts_print_raw
fails to return any data. This is because when ADC is configured for
continuous mode, it disables touch screen steps.These steps are not
re-enabled when ADC continuous mode is disabled. Therefore existing values
of REG_SE needs to be cached before enabling continuous mode and
disabling touch screen steps and enabling ADC steps. The cached value
are to be restored to REG_SE once ADC is disabled.
Fixes: 7ca6740cd1cd ("mfd: input: iio: ti_amm335x: Rework TSC/ADC synchronization")
Cc: [email protected] # v3.13+
Signed-off-by: Vignesh R <[email protected]>
Signed-off-by: Lee Jones <[email protected]>
|
|
This adds the device tree bindings documentation for Ricoh RN5T618.
Signed-off-by: Beniamino Galvani <[email protected]>
Reviewed-by: Mark Brown <[email protected]>
Signed-off-by: Lee Jones <[email protected]>
|
|
The include guard doesn't work as intended due to the transposition
typo DAVINCI -> DAVINIC.
Signed-off-by: Rasmus Villemoes <[email protected]>
Signed-off-by: Lee Jones <[email protected]>
|
|
http://www.ti.com/lit/pdf/SWCZ010:
Glitch on SDA-SCL not managed correctly by the I2C IP
Impact:
The standard specifies that the I2C transfer should restart on a start
event in all cases. The current design does not support two consecutive
Start conditions. This can cause the first real access after such a
glitch to be corrupted.
Description:
An unexpected glitch on SDA and SCL can generate a wrong start event.
In the current design, the SCL line must toggle two times to detect a
new start event and completely restart the I2C access; hence the real
start event is not detected in the case of a single SCL toggle.
Workaround:
Repeat I2C access.
A simpler workaround is to make a dummy transfer just before the first
access to the tps65910 chip. This can be done unconditionally.
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <[email protected]>
Acked-by: Mark Brown <[email protected]>
Signed-off-by: Lee Jones <[email protected]>
|
|
The header file include/linux/mfd/ti_ssp.h does not seem to be used
anywhere. It was orphaned by 3033ee62 "mfd: Remove obsolete ti-ssp
driver". Remove it.
Signed-off-by: Rasmus Villemoes <[email protected]>
Signed-off-by: Lee Jones <[email protected]>
|
|
Numbers are generated by taking the largest currently used values.
drivers/mfd/stmpe.c:252:17:
warning: Variable length array is used.
drivers/mfd/stmpe.c:857:16:
warning: Variable length array is used.
Acked-by: Linus Walleij <[email protected]>
Signed-off-by: Lee Jones <[email protected]>
|
|
The largest byte size in use currently is 8. Fix array size to 9.
drivers/mfd/max8925-i2c.c:40:33:
warning: Variable length array is used
Signed-off-by: Lee Jones <[email protected]>
|
|
drivers/mfd/88pm860x-i2c.c:125:33:
warning: Variable length array is used.
Signed-off-by: Lee Jones <[email protected]>
|
|
The following functions appear to be unused since v2.6.39:
pm860x_page_reg_read()
pm860x_page_bulk_write()
pm860x_page_set_bits()
Let's remove them.
Signed-off-by: Lee Jones <[email protected]>
|
|
This patch adds the LPC Device IDs for the Intel 9 Series PCH.
Signed-off-by: James Ralston <[email protected]>
Signed-off-by: Lee Jones <[email protected]>
|
|
This patch improves support for the flash cell of
max77693 mfd by adding relevant of_compatible field
and a structure for caching related platform data.
Added are also FLASH registers related macro definitions.
Signed-off-by: Jacek Anaszewski <[email protected]>
Signed-off-by: Andrzej Hajda <[email protected]>
Acked-by: Kyungmin Park <[email protected]>
Signed-off-by: Lee Jones <[email protected]>
|
|
According to the MAX77693 documentation the name of
the register is FLASH_STATUS.
Signed-off-by: Jacek Anaszewski <[email protected]>
Acked-by: Kyungmin Park <[email protected]>
Signed-off-by: Lee Jones <[email protected]>
|