OSDN Git Service

mfd: max77836: Add MAX77836 support to max14577 driver
authorKrzysztof Kozlowski <k.kozlowski@samsung.com>
Mon, 14 Apr 2014 09:17:18 +0000 (11:17 +0200)
committerLee Jones <lee.jones@linaro.org>
Wed, 23 Apr 2014 13:08:54 +0000 (14:08 +0100)
commitaee2a57c7482c712052b877218aa2c5bc0fe8626
tree875184a014f637ddc88637ec85012be9f2131f6b
parentc7846852ec8f304c629963202fa565452e8fe34c
mfd: max77836: Add MAX77836 support to max14577 driver

Add Maxim 77836 support to max14577 driver. The chipsets have same MUIC
component so the extcon, charger and regulators are almost the same. The
MAX77836 however has also PMIC and Fuel Gauge.

The MAX77836 uses three I2C slave addresses and has additional interrupts
(related to PMIC and Fuel Gauge). It has also Interrupt Source register,
just like MAX77686 and MAX77693.

The MAX77836 PMIC's TOPSYS and INTSRC interrupts are reported in the
PMIC block. The PMIC block has different I2C slave address and uses own
regmap so another regmap_irq_chip is needed.

Since we have two regmap_irq_chip, use shared interrupts on MAX77836.

This patch adds additional defines and functions to the max14577 MFD core
driver so the driver will handle both chipsets. Also this patch replaces
"0x1 << N" with BIT(N) in defines for register masks.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Acked-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
drivers/mfd/Kconfig
drivers/mfd/max14577.c
include/linux/mfd/max14577-private.h
include/linux/mfd/max14577.h