diff options
Diffstat (limited to 'drivers/platform/sprd/boot_mode.c')
| -rw-r--r-- | drivers/platform/sprd/boot_mode.c | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/drivers/platform/sprd/boot_mode.c b/drivers/platform/sprd/boot_mode.c new file mode 100644 index 00000000..b206dc4d --- /dev/null +++ b/drivers/platform/sprd/boot_mode.c @@ -0,0 +1,46 @@ +#include <linux/kernel.h> +#include <linux/init.h> +#include <linux/platform_device.h> +#include <linux/delay.h> +#include <linux/export.h> + + +static int calibration_mode = false; +static int __init calibration_start(char *str) +{ + int calibration_device =0; + int mode=0,freq=0,device=0; + if(str){ + pr_info("modem calibartion:%s\n", str); + sscanf(str, "%d,%d,%d", &mode,&freq,&device); + } + if(device & 0x80){ + calibration_device = device & 0xf0; + calibration_mode = true; + pr_info("calibration device = 0x%x\n",calibration_device); + } + return 1; +} +__setup("calibration=", calibration_start); + +int in_calibration(void) +{ + return (int)(calibration_mode == true); +} + +EXPORT_SYMBOL(in_calibration); + +static int autotest_mode = false; +static int __init autotest_start(char *str) +{ + autotest_mode = true; + return 1; +} +__setup("autotest=", autotest_start); + +int in_autotest(void) +{ + return (int)(autotest_mode == true); +} + +EXPORT_SYMBOL(in_autotest); |
