import PULS_20180308
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / drivers / misc / mediatek / mrdump / mt8127 / mrdump_setup.c
CommitLineData
6fa3eb70
S
1#include <asm/page.h>
2#include <asm/io.h>
3#include <mach/mt_reg_base.h>
4#include <mach/wd_api.h>
5#include <linux/memblock.h>
6#include <linux/mrdump.h>
7#include <linux/reboot.h>
8
9#define MRDUMP_CB_ADDR 0x81F00000
10#define MRDUMP_CB_SIZE 0x1000
11
12#define LK_LOAD_ADDR 0x81E00000
13#define LK_LOAD_SIZE 0x100000
14
15static void mrdump_hw_enable(bool enabled)
16{
17}
18
19static void mrdump_reboot(void)
20{
21 emergency_restart();
22}
23
24const struct mrdump_platform mrdump_mt6582_platform = {
25 .hw_enable = mrdump_hw_enable,
26 .reboot = mrdump_reboot
27};
28
29void mrdump_reserve_memory(void)
30{
31 struct mrdump_control_block *cblock = NULL;
32
33 /* We must reserved the lk block, can we pass it from lk? */
34 memblock_reserve(LK_LOAD_ADDR, LK_LOAD_SIZE);
35
4b9e9796 36 memblock_reserve(MRDUMP_CB_ADDR, PAGE_ALIGN(sizeof(struct mrdump_control_block)));
6fa3eb70
S
37 cblock = (struct mrdump_control_block *)__va(MRDUMP_CB_ADDR);
38
39 mrdump_platform_init(cblock, &mrdump_mt6582_platform);
40}