Loading drivers/mfd/ab8500-debugfs.c +419 −3 Original line number Diff line number Diff line Loading @@ -846,6 +846,422 @@ struct ab8500_prcmu_ranges ab8505_debug_ranges[AB8500_NUM_BANKS] = { }, }; struct ab8500_prcmu_ranges ab8540_debug_ranges[AB8500_NUM_BANKS] = { [AB8500_M_FSM_RANK] = { .num_ranges = 1, .range = (struct ab8500_reg_range[]) { { .first = 0x00, .last = 0x0B, }, }, }, [AB8500_SYS_CTRL1_BLOCK] = { .num_ranges = 6, .range = (struct ab8500_reg_range[]) { { .first = 0x00, .last = 0x04, }, { .first = 0x42, .last = 0x42, }, { .first = 0x50, .last = 0x54, }, { .first = 0x57, .last = 0x57, }, { .first = 0x80, .last = 0x83, }, { .first = 0x90, .last = 0x90, }, }, }, [AB8500_SYS_CTRL2_BLOCK] = { .num_ranges = 5, .range = (struct ab8500_reg_range[]) { { .first = 0x00, .last = 0x0D, }, { .first = 0x0F, .last = 0x10, }, { .first = 0x20, .last = 0x21, }, { .first = 0x32, .last = 0x3C, }, { .first = 0x40, .last = 0x42, }, }, }, [AB8500_REGU_CTRL1] = { .num_ranges = 4, .range = (struct ab8500_reg_range[]) { { .first = 0x03, .last = 0x15, }, { .first = 0x20, .last = 0x20, }, { .first = 0x80, .last = 0x85, }, { .first = 0x87, .last = 0x88, }, }, }, [AB8500_REGU_CTRL2] = { .num_ranges = 8, .range = (struct ab8500_reg_range[]) { { .first = 0x00, .last = 0x06, }, { .first = 0x08, .last = 0x15, }, { .first = 0x17, .last = 0x19, }, { .first = 0x1B, .last = 0x1D, }, { .first = 0x1F, .last = 0x2F, }, { .first = 0x31, .last = 0x3A, }, { .first = 0x43, .last = 0x44, }, { .first = 0x48, .last = 0x49, }, }, }, [AB8500_USB] = { .num_ranges = 3, .range = (struct ab8500_reg_range[]) { { .first = 0x80, .last = 0x83, }, { .first = 0x87, .last = 0x8A, }, { .first = 0x91, .last = 0x94, }, }, }, [AB8500_TVOUT] = { .num_ranges = 0, .range = NULL }, [AB8500_DBI] = { .num_ranges = 4, .range = (struct ab8500_reg_range[]) { { .first = 0x00, .last = 0x07, }, { .first = 0x10, .last = 0x11, }, { .first = 0x20, .last = 0x21, }, { .first = 0x30, .last = 0x43, }, }, }, [AB8500_ECI_AV_ACC] = { .num_ranges = 2, .range = (struct ab8500_reg_range[]) { { .first = 0x00, .last = 0x03, }, { .first = 0x80, .last = 0x82, }, }, }, [AB8500_RESERVED] = { .num_ranges = 0, .range = NULL, }, [AB8500_GPADC] = { .num_ranges = 4, .range = (struct ab8500_reg_range[]) { { .first = 0x00, .last = 0x01, }, { .first = 0x04, .last = 0x06, }, { .first = 0x09, .last = 0x0A, }, { .first = 0x10, .last = 0x14, }, }, }, [AB8500_CHARGER] = { .num_ranges = 10, .range = (struct ab8500_reg_range[]) { { .first = 0x00, .last = 0x00, }, { .first = 0x02, .last = 0x05, }, { .first = 0x40, .last = 0x44, }, { .first = 0x50, .last = 0x57, }, { .first = 0x60, .last = 0x60, }, { .first = 0x70, .last = 0x70, }, { .first = 0xA0, .last = 0xA9, }, { .first = 0xAF, .last = 0xB2, }, { .first = 0xC0, .last = 0xC6, }, { .first = 0xF5, .last = 0xF5, }, }, }, [AB8500_GAS_GAUGE] = { .num_ranges = 3, .range = (struct ab8500_reg_range[]) { { .first = 0x00, .last = 0x00, }, { .first = 0x07, .last = 0x0A, }, { .first = 0x10, .last = 0x14, }, }, }, [AB8500_AUDIO] = { .num_ranges = 1, .range = (struct ab8500_reg_range[]) { { .first = 0x00, .last = 0x9f, }, }, }, [AB8500_INTERRUPT] = { .num_ranges = 6, .range = (struct ab8500_reg_range[]) { { .first = 0x00, .last = 0x05, }, { .first = 0x0B, .last = 0x0D, }, { .first = 0x12, .last = 0x20, }, /* Latch registers should not be read here */ { .first = 0x40, .last = 0x45, }, { .first = 0x4B, .last = 0x4D, }, { .first = 0x52, .last = 0x60, }, /* LatchHier registers should not be read here */ }, }, [AB8500_RTC] = { .num_ranges = 3, .range = (struct ab8500_reg_range[]) { { .first = 0x00, .last = 0x07, }, { .first = 0x0B, .last = 0x18, }, { .first = 0x20, .last = 0x25, }, }, }, [AB8500_MISC] = { .num_ranges = 9, .range = (struct ab8500_reg_range[]) { { .first = 0x00, .last = 0x06, }, { .first = 0x10, .last = 0x16, }, { .first = 0x20, .last = 0x26, }, { .first = 0x30, .last = 0x36, }, { .first = 0x40, .last = 0x49, }, { .first = 0x50, .last = 0x50, }, { .first = 0x60, .last = 0x6B, }, { .first = 0x70, .last = 0x74, }, { .first = 0x80, .last = 0x82, }, }, }, [AB8500_DEVELOPMENT] = { .num_ranges = 3, .range = (struct ab8500_reg_range[]) { { .first = 0x00, .last = 0x01, }, { .first = 0x06, .last = 0x06, }, { .first = 0x10, .last = 0x21, }, }, }, [AB8500_DEBUG] = { .num_ranges = 3, .range = (struct ab8500_reg_range[]) { { .first = 0x01, .last = 0x0C, }, { .first = 0x0E, .last = 0x11, }, { .first = 0x80, .last = 0x81, }, }, }, [AB8500_PROD_TEST] = { .num_ranges = 0, .range = NULL, }, [AB8500_STE_TEST] = { .num_ranges = 0, .range = NULL, }, [AB8500_OTP_EMUL] = { .num_ranges = 1, .range = (struct ab8500_reg_range[]) { { .first = 0x00, .last = 0x3F, }, }, }, }; static irqreturn_t ab8500_debug_handler(int irq, void *data) { char buf[16]; Loading Loading @@ -937,7 +1353,7 @@ static int ab8500_print_all_banks(struct seq_file *s, void *p) seq_printf(s, AB8500_NAME_STRING " register values:\n"); for (i = 1; i < AB8500_NUM_BANKS; i++) { for (i = 0; i < AB8500_NUM_BANKS; i++) { err = seq_printf(s, " bank 0x%02X:\n", i); ab8500_registers_print(dev, i, s); Loading Loading @@ -979,7 +1395,7 @@ void ab8500_dump_all_banks_to_mem(void) pr_info("Saving all ABB registers at \"ab8500_complete_register_dump\" " "for crash analyze.\n"); for (bank = 1; bank < AB8500_NUM_BANKS; bank++) { for (bank = 0; bank < AB8500_NUM_BANKS; bank++) { for (i = 0; i < debug_ranges[bank].num_ranges; i++) { u8 reg; Loading Loading @@ -2653,7 +3069,7 @@ static int ab8500_debug_probe(struct platform_device *plf) debug_ranges = ab8505_debug_ranges; num_interrupt_lines = AB9540_NR_IRQS; } else if (is_ab8540(ab8500)) { debug_ranges = ab8505_debug_ranges; debug_ranges = ab8540_debug_ranges; num_interrupt_lines = AB8540_NR_IRQS; } Loading Loading
drivers/mfd/ab8500-debugfs.c +419 −3 Original line number Diff line number Diff line Loading @@ -846,6 +846,422 @@ struct ab8500_prcmu_ranges ab8505_debug_ranges[AB8500_NUM_BANKS] = { }, }; struct ab8500_prcmu_ranges ab8540_debug_ranges[AB8500_NUM_BANKS] = { [AB8500_M_FSM_RANK] = { .num_ranges = 1, .range = (struct ab8500_reg_range[]) { { .first = 0x00, .last = 0x0B, }, }, }, [AB8500_SYS_CTRL1_BLOCK] = { .num_ranges = 6, .range = (struct ab8500_reg_range[]) { { .first = 0x00, .last = 0x04, }, { .first = 0x42, .last = 0x42, }, { .first = 0x50, .last = 0x54, }, { .first = 0x57, .last = 0x57, }, { .first = 0x80, .last = 0x83, }, { .first = 0x90, .last = 0x90, }, }, }, [AB8500_SYS_CTRL2_BLOCK] = { .num_ranges = 5, .range = (struct ab8500_reg_range[]) { { .first = 0x00, .last = 0x0D, }, { .first = 0x0F, .last = 0x10, }, { .first = 0x20, .last = 0x21, }, { .first = 0x32, .last = 0x3C, }, { .first = 0x40, .last = 0x42, }, }, }, [AB8500_REGU_CTRL1] = { .num_ranges = 4, .range = (struct ab8500_reg_range[]) { { .first = 0x03, .last = 0x15, }, { .first = 0x20, .last = 0x20, }, { .first = 0x80, .last = 0x85, }, { .first = 0x87, .last = 0x88, }, }, }, [AB8500_REGU_CTRL2] = { .num_ranges = 8, .range = (struct ab8500_reg_range[]) { { .first = 0x00, .last = 0x06, }, { .first = 0x08, .last = 0x15, }, { .first = 0x17, .last = 0x19, }, { .first = 0x1B, .last = 0x1D, }, { .first = 0x1F, .last = 0x2F, }, { .first = 0x31, .last = 0x3A, }, { .first = 0x43, .last = 0x44, }, { .first = 0x48, .last = 0x49, }, }, }, [AB8500_USB] = { .num_ranges = 3, .range = (struct ab8500_reg_range[]) { { .first = 0x80, .last = 0x83, }, { .first = 0x87, .last = 0x8A, }, { .first = 0x91, .last = 0x94, }, }, }, [AB8500_TVOUT] = { .num_ranges = 0, .range = NULL }, [AB8500_DBI] = { .num_ranges = 4, .range = (struct ab8500_reg_range[]) { { .first = 0x00, .last = 0x07, }, { .first = 0x10, .last = 0x11, }, { .first = 0x20, .last = 0x21, }, { .first = 0x30, .last = 0x43, }, }, }, [AB8500_ECI_AV_ACC] = { .num_ranges = 2, .range = (struct ab8500_reg_range[]) { { .first = 0x00, .last = 0x03, }, { .first = 0x80, .last = 0x82, }, }, }, [AB8500_RESERVED] = { .num_ranges = 0, .range = NULL, }, [AB8500_GPADC] = { .num_ranges = 4, .range = (struct ab8500_reg_range[]) { { .first = 0x00, .last = 0x01, }, { .first = 0x04, .last = 0x06, }, { .first = 0x09, .last = 0x0A, }, { .first = 0x10, .last = 0x14, }, }, }, [AB8500_CHARGER] = { .num_ranges = 10, .range = (struct ab8500_reg_range[]) { { .first = 0x00, .last = 0x00, }, { .first = 0x02, .last = 0x05, }, { .first = 0x40, .last = 0x44, }, { .first = 0x50, .last = 0x57, }, { .first = 0x60, .last = 0x60, }, { .first = 0x70, .last = 0x70, }, { .first = 0xA0, .last = 0xA9, }, { .first = 0xAF, .last = 0xB2, }, { .first = 0xC0, .last = 0xC6, }, { .first = 0xF5, .last = 0xF5, }, }, }, [AB8500_GAS_GAUGE] = { .num_ranges = 3, .range = (struct ab8500_reg_range[]) { { .first = 0x00, .last = 0x00, }, { .first = 0x07, .last = 0x0A, }, { .first = 0x10, .last = 0x14, }, }, }, [AB8500_AUDIO] = { .num_ranges = 1, .range = (struct ab8500_reg_range[]) { { .first = 0x00, .last = 0x9f, }, }, }, [AB8500_INTERRUPT] = { .num_ranges = 6, .range = (struct ab8500_reg_range[]) { { .first = 0x00, .last = 0x05, }, { .first = 0x0B, .last = 0x0D, }, { .first = 0x12, .last = 0x20, }, /* Latch registers should not be read here */ { .first = 0x40, .last = 0x45, }, { .first = 0x4B, .last = 0x4D, }, { .first = 0x52, .last = 0x60, }, /* LatchHier registers should not be read here */ }, }, [AB8500_RTC] = { .num_ranges = 3, .range = (struct ab8500_reg_range[]) { { .first = 0x00, .last = 0x07, }, { .first = 0x0B, .last = 0x18, }, { .first = 0x20, .last = 0x25, }, }, }, [AB8500_MISC] = { .num_ranges = 9, .range = (struct ab8500_reg_range[]) { { .first = 0x00, .last = 0x06, }, { .first = 0x10, .last = 0x16, }, { .first = 0x20, .last = 0x26, }, { .first = 0x30, .last = 0x36, }, { .first = 0x40, .last = 0x49, }, { .first = 0x50, .last = 0x50, }, { .first = 0x60, .last = 0x6B, }, { .first = 0x70, .last = 0x74, }, { .first = 0x80, .last = 0x82, }, }, }, [AB8500_DEVELOPMENT] = { .num_ranges = 3, .range = (struct ab8500_reg_range[]) { { .first = 0x00, .last = 0x01, }, { .first = 0x06, .last = 0x06, }, { .first = 0x10, .last = 0x21, }, }, }, [AB8500_DEBUG] = { .num_ranges = 3, .range = (struct ab8500_reg_range[]) { { .first = 0x01, .last = 0x0C, }, { .first = 0x0E, .last = 0x11, }, { .first = 0x80, .last = 0x81, }, }, }, [AB8500_PROD_TEST] = { .num_ranges = 0, .range = NULL, }, [AB8500_STE_TEST] = { .num_ranges = 0, .range = NULL, }, [AB8500_OTP_EMUL] = { .num_ranges = 1, .range = (struct ab8500_reg_range[]) { { .first = 0x00, .last = 0x3F, }, }, }, }; static irqreturn_t ab8500_debug_handler(int irq, void *data) { char buf[16]; Loading Loading @@ -937,7 +1353,7 @@ static int ab8500_print_all_banks(struct seq_file *s, void *p) seq_printf(s, AB8500_NAME_STRING " register values:\n"); for (i = 1; i < AB8500_NUM_BANKS; i++) { for (i = 0; i < AB8500_NUM_BANKS; i++) { err = seq_printf(s, " bank 0x%02X:\n", i); ab8500_registers_print(dev, i, s); Loading Loading @@ -979,7 +1395,7 @@ void ab8500_dump_all_banks_to_mem(void) pr_info("Saving all ABB registers at \"ab8500_complete_register_dump\" " "for crash analyze.\n"); for (bank = 1; bank < AB8500_NUM_BANKS; bank++) { for (bank = 0; bank < AB8500_NUM_BANKS; bank++) { for (i = 0; i < debug_ranges[bank].num_ranges; i++) { u8 reg; Loading Loading @@ -2653,7 +3069,7 @@ static int ab8500_debug_probe(struct platform_device *plf) debug_ranges = ab8505_debug_ranges; num_interrupt_lines = AB9540_NR_IRQS; } else if (is_ab8540(ab8500)) { debug_ranges = ab8505_debug_ranges; debug_ranges = ab8540_debug_ranges; num_interrupt_lines = AB8540_NR_IRQS; } Loading