.id = 0,
		.num_resources = ARRAY_SIZE(battery_resources),
		.resources = battery_resources,
	},
	{NULL, },
};

#define DOLLAR_COVE_IRQREGMAP(irq) \
	[irq] = { \
		{(0x40 + (irq / 8)), (irq % 8), 1, INTEL_PMIC_REG_INV},\
		{(0x48 + (irq / 8)), (irq % 8), 1, INTEL_PMIC_REG_W1C},\
		{(0x48 + (irq / 8)), (irq % 8), 1, INTEL_PMIC_REG_W1C},\
	}

struct intel_pmic_irqregmap dollar_cove_irqregmap[] = {
	DOLLAR_COVE_IRQREGMAP(VBUS_FALLING_IRQ),
	DOLLAR_COVE_IRQREGMAP(VBUS_RISING_IRQ),
	DOLLAR_COVE_IRQREGMAP(VBUS_OV_IRQ),
	DOLLAR_COVE_IRQREGMAP(VBUS_FALLING_ALT_IRQ),
	DOLLAR_COVE_IRQREGMAP(VBUS_RISING_ALT_IRQ),
	DOLLAR_COVE_IRQREGMAP(VBUS_OV_ALT_IRQ),
	DOLLAR_COVE_IRQREGMAP(CHARGE_DONE_IRQ),
	DOLLAR_COVE_IRQREGMAP(CHARGE_CHARGING_IRQ),
	DOLLAR_COVE_IRQREGMAP(BAT_SAFE_QUIT_IRQ),
	DOLLAR_COVE_IRQREGMAP(BAT_SAFE_ENTER_IRQ),
	DOLLAR_COVE_IRQREGMAP(BAT_ABSENT_IRQ),
	DOLLAR_COVE_IRQREGMAP(BAT_APPEND_IRQ),
	DOLLAR_COVE_IRQREGMAP(QWBTU_IRQ),
	DOLLAR_COVE_IRQREGMAP(WBTU_IRQ),
	DOLLAR_COVE_IRQREGMAP(QWBTO_IRQ),
	DOLLAR_COVE_IRQREGMAP(WBTO_IRQ),
	{
		.name = "intel_fg_iface",
		.id = 0,
	},
	{NULL, },
};

#define DOLLAR_COVE_IRQREGMAP(irq) \
	[irq] = { \
		{MIRQLVL1, irq, 1, 0}, \
		{IRQLVL1, irq, 1, INTEL_PMIC_REG_W1C}, \
		{IRQLVL1, irq, 1, INTEL_PMIC_REG_W1C}, \
	}

struct intel_pmic_irqregmap dollar_cove_ti_irqregmap[] = {
	DOLLAR_COVE_IRQREGMAP(PWRBTN),
	DOLLAR_COVE_IRQREGMAP(DIETMPWARN),
	DOLLAR_COVE_IRQREGMAP(ADCCMPL),
	DOLLAR_COVE_IRQREGMAP(VBATLOW),
	DOLLAR_COVE_IRQREGMAP(VBUSDET),
	DOLLAR_COVE_IRQREGMAP(CCEOCAL),
};

static int dollar_cove_ti_init(void)
{
	pr_info("Dollar Cove(TI: IC_TYPE 0x%02X\n", intel_mid_pmic_readb(0x00));
	return 0;
}

struct intel_mid_pmic dollar_cove_ti_pmic = {
	.label		= "dollar cove_ti",