.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",