Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9c017ca1 authored by Igor Grinberg's avatar Igor Grinberg Committed by Eric Miao
Browse files

[ARM] pxa/cm-x300: add da9030 support



Register DA9030 PMIC. Use only backlight sub-device for now.

Signed-off-by: default avatarIgor Grinberg <grinberg@compulab.co.il>
Signed-off-by: default avatarMike Rapoport <mike@compulab.co.il>
Signed-off-by: default avatarEric Miao <eric.y.miao@gmail.com>
parent edaa64c9
Loading
Loading
Loading
Loading
+32 −0
Original line number Diff line number Diff line
@@ -27,6 +27,8 @@
#include <linux/i2c.h>
#include <linux/i2c/pca953x.h>

#include <linux/mfd/da903x.h>

#include <linux/spi/spi.h>
#include <linux/spi/spi_gpio.h>
#include <linux/spi/tdo24m.h>
@@ -552,6 +554,35 @@ static void __init cm_x300_init_rtc(void)
static inline void cm_x300_init_rtc(void) {}
#endif

/* DA9030 */
struct da903x_subdev_info cm_x300_da9030_subdevs[] = {
	{
		.name = "da903x-backlight",
		.id = DA9030_ID_WLED,
	}
};

static struct da903x_platform_data cm_x300_da9030_info = {
	.num_subdevs = ARRAY_SIZE(cm_x300_da9030_subdevs),
	.subdevs = cm_x300_da9030_subdevs,
};

static struct i2c_board_info cm_x300_pmic_info = {
	I2C_BOARD_INFO("da9030", 0x49),
	.irq = IRQ_GPIO(0),
	.platform_data = &cm_x300_da9030_info,
};

static struct i2c_pxa_platform_data cm_x300_pwr_i2c_info = {
	.use_pio = 1,
};

static void __init cm_x300_init_da9030(void)
{
	pxa3xx_set_i2c_power_info(&cm_x300_pwr_i2c_info);
	i2c_register_board_info(1, &cm_x300_pmic_info, 1);
}

static void __init cm_x300_init_wi2wi(void)
{
	int bt_reset, wlan_en;
@@ -610,6 +641,7 @@ static void __init cm_x300_init(void)
	pxa_set_btuart_info(NULL);
	pxa_set_stuart_info(NULL);

	cm_x300_init_da9030();
	cm_x300_init_dm9000();
	cm_x300_init_lcd();
	cm_x300_init_ohci();