2404 lines
86 KiB
C
Executable File
2404 lines
86 KiB
C
Executable File
/*
|
|
* MMC driver for allwinner sunxi platform.
|
|
*
|
|
*/
|
|
#include <config.h>
|
|
#include <common.h>
|
|
#include <command.h>
|
|
#include <errno.h>
|
|
#include <mmc.h>
|
|
#include <part.h>
|
|
#include <malloc.h>
|
|
#include <linux/list.h>
|
|
#include <div64.h>
|
|
#include "mmc_private.h"
|
|
|
|
#include "sunxi_mmc.h"
|
|
#include "mmc_def.h"
|
|
|
|
char *spd_name[] = {"DS26/SDR12", "HSSDR52/SDR25", "HSDDR52/DDR50", "HS200/SDR104", "HS400"};
|
|
|
|
static const char tuning_blk_4b[TUNING_LEN*512] = {
|
|
/*hs200/uhs*/
|
|
/* 1 */
|
|
0xff, 0x0f, 0xff, 0x00, 0xff, 0xcc, 0xc3, 0xcc,
|
|
0xc3, 0x3c, 0xcc, 0xff, 0xfe, 0xff, 0xfe, 0xef,
|
|
0xff, 0xdf, 0xff, 0xdd, 0xff, 0xfb, 0xff, 0xfb,
|
|
0xbf, 0xff, 0x7f, 0xff, 0x77, 0xf7, 0xbd, 0xef,
|
|
0xff, 0xf0, 0xff, 0xf0, 0x0f, 0xfc, 0xcc, 0x3c,
|
|
0xcc, 0x33, 0xcc, 0xcf, 0xff, 0xef, 0xff, 0xee,
|
|
0xff, 0xfd, 0xff, 0xfd, 0xdf, 0xff, 0xbf, 0xff,
|
|
0xbb, 0xff, 0xf7, 0xff, 0xf7, 0x7f, 0x7b, 0xde,
|
|
/* 2 */
|
|
0xff, 0x0f, 0xff, 0x00, 0xff, 0xcc, 0xc3, 0xcc,
|
|
0xc3, 0x3c, 0xcc, 0xff, 0xfe, 0xff, 0xfe, 0xef,
|
|
0xff, 0xdf, 0xff, 0xdd, 0xff, 0xfb, 0xff, 0xfb,
|
|
0xbf, 0xff, 0x7f, 0xff, 0x77, 0xf7, 0xbd, 0xef,
|
|
0xff, 0xf0, 0xff, 0xf0, 0x0f, 0xfc, 0xcc, 0x3c,
|
|
0xcc, 0x33, 0xcc, 0xcf, 0xff, 0xef, 0xff, 0xee,
|
|
0xff, 0xfd, 0xff, 0xfd, 0xdf, 0xff, 0xbf, 0xff,
|
|
0xbb, 0xff, 0xf7, 0xff, 0xf7, 0x7f, 0x7b, 0xde,
|
|
/* 3 */
|
|
0xff, 0x0f, 0xff, 0x00, 0xff, 0xcc, 0xc3, 0xcc,
|
|
0xc3, 0x3c, 0xcc, 0xff, 0xfe, 0xff, 0xfe, 0xef,
|
|
0xff, 0xdf, 0xff, 0xdd, 0xff, 0xfb, 0xff, 0xfb,
|
|
0xbf, 0xff, 0x7f, 0xff, 0x77, 0xf7, 0xbd, 0xef,
|
|
0xff, 0xf0, 0xff, 0xf0, 0x0f, 0xfc, 0xcc, 0x3c,
|
|
0xcc, 0x33, 0xcc, 0xcf, 0xff, 0xef, 0xff, 0xee,
|
|
0xff, 0xfd, 0xff, 0xfd, 0xdf, 0xff, 0xbf, 0xff,
|
|
0xbb, 0xff, 0xf7, 0xff, 0xf7, 0x7f, 0x7b, 0xde,
|
|
/* 4 */
|
|
0xff, 0x0f, 0xff, 0x00, 0xff, 0xcc, 0xc3, 0xcc,
|
|
0xc3, 0x3c, 0xcc, 0xff, 0xfe, 0xff, 0xfe, 0xef,
|
|
0xff, 0xdf, 0xff, 0xdd, 0xff, 0xfb, 0xff, 0xfb,
|
|
0xbf, 0xff, 0x7f, 0xff, 0x77, 0xf7, 0xbd, 0xef,
|
|
0xff, 0xf0, 0xff, 0xf0, 0x0f, 0xfc, 0xcc, 0x3c,
|
|
0xcc, 0x33, 0xcc, 0xcf, 0xff, 0xef, 0xff, 0xee,
|
|
0xff, 0xfd, 0xff, 0xfd, 0xdf, 0xff, 0xbf, 0xff,
|
|
0xbb, 0xff, 0xf7, 0xff, 0xf7, 0x7f, 0x7b, 0xde,
|
|
/* 5 */
|
|
0xff, 0x0f, 0xff, 0x00, 0xff, 0xcc, 0xc3, 0xcc,
|
|
0xc3, 0x3c, 0xcc, 0xff, 0xfe, 0xff, 0xfe, 0xef,
|
|
0xff, 0xdf, 0xff, 0xdd, 0xff, 0xfb, 0xff, 0xfb,
|
|
0xbf, 0xff, 0x7f, 0xff, 0x77, 0xf7, 0xbd, 0xef,
|
|
0xff, 0xf0, 0xff, 0xf0, 0x0f, 0xfc, 0xcc, 0x3c,
|
|
0xcc, 0x33, 0xcc, 0xcf, 0xff, 0xef, 0xff, 0xee,
|
|
0xff, 0xfd, 0xff, 0xfd, 0xdf, 0xff, 0xbf, 0xff,
|
|
0xbb, 0xff, 0xf7, 0xff, 0xf7, 0x7f, 0x7b, 0xde,
|
|
/* 6 */
|
|
0xff, 0x0f, 0xff, 0x00, 0xff, 0xcc, 0xc3, 0xcc,
|
|
0xc3, 0x3c, 0xcc, 0xff, 0xfe, 0xff, 0xfe, 0xef,
|
|
0xff, 0xdf, 0xff, 0xdd, 0xff, 0xfb, 0xff, 0xfb,
|
|
0xbf, 0xff, 0x7f, 0xff, 0x77, 0xf7, 0xbd, 0xef,
|
|
0xff, 0xf0, 0xff, 0xf0, 0x0f, 0xfc, 0xcc, 0x3c,
|
|
0xcc, 0x33, 0xcc, 0xcf, 0xff, 0xef, 0xff, 0xee,
|
|
0xff, 0xfd, 0xff, 0xfd, 0xdf, 0xff, 0xbf, 0xff,
|
|
0xbb, 0xff, 0xf7, 0xff, 0xf7, 0x7f, 0x7b, 0xde,
|
|
/* 7 */
|
|
0xff, 0x0f, 0xff, 0x00, 0xff, 0xcc, 0xc3, 0xcc,
|
|
0xc3, 0x3c, 0xcc, 0xff, 0xfe, 0xff, 0xfe, 0xef,
|
|
0xff, 0xdf, 0xff, 0xdd, 0xff, 0xfb, 0xff, 0xfb,
|
|
0xbf, 0xff, 0x7f, 0xff, 0x77, 0xf7, 0xbd, 0xef,
|
|
0xff, 0xf0, 0xff, 0xf0, 0x0f, 0xfc, 0xcc, 0x3c,
|
|
0xcc, 0x33, 0xcc, 0xcf, 0xff, 0xef, 0xff, 0xee,
|
|
0xff, 0xfd, 0xff, 0xfd, 0xdf, 0xff, 0xbf, 0xff,
|
|
0xbb, 0xff, 0xf7, 0xff, 0xf7, 0x7f, 0x7b, 0xde,
|
|
/* 8 */
|
|
0xff, 0x0f, 0xff, 0x00, 0xff, 0xcc, 0xc3, 0xcc,
|
|
0xc3, 0x3c, 0xcc, 0xff, 0xfe, 0xff, 0xfe, 0xef,
|
|
0xff, 0xdf, 0xff, 0xdd, 0xff, 0xfb, 0xff, 0xfb,
|
|
0xbf, 0xff, 0x7f, 0xff, 0x77, 0xf7, 0xbd, 0xef,
|
|
0xff, 0xf0, 0xff, 0xf0, 0x0f, 0xfc, 0xcc, 0x3c,
|
|
0xcc, 0x33, 0xcc, 0xcf, 0xff, 0xef, 0xff, 0xee,
|
|
0xff, 0xfd, 0xff, 0xfd, 0xdf, 0xff, 0xbf, 0xff,
|
|
0xbb, 0xff, 0xf7, 0xff, 0xf7, 0x7f, 0x7b, 0xde,
|
|
|
|
/*0xf*/
|
|
/* 1 */
|
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
|
/* 2 */
|
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
|
/* 3 */
|
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
|
/* 4 */
|
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
|
/* 5 */
|
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
|
/* 6 */
|
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
|
/* 7 */
|
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
|
/* 8 */
|
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
|
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
|
/*0x1e*/
|
|
/* 1 */
|
|
0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
|
|
0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
|
|
0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
|
|
0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
|
|
0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
|
|
0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
|
|
0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
|
|
0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
|
|
/* 2 */
|
|
0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
|
|
0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
|
|
0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
|
|
0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
|
|
0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
|
|
0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
|
|
0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
|
|
0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
|
|
/* 3 */
|
|
0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
|
|
0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
|
|
0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
|
|
0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
|
|
0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
|
|
0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
|
|
0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
|
|
0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
|
|
/* 4 */
|
|
0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
|
|
0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
|
|
0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
|
|
0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
|
|
0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
|
|
0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
|
|
0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
|
|
0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
|
|
/* 5 */
|
|
0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
|
|
0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
|
|
0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
|
|
0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
|
|
0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
|
|
0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
|
|
0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
|
|
0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
|
|
/* 6 */
|
|
0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
|
|
0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
|
|
0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
|
|
0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
|
|
0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
|
|
0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
|
|
0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
|
|
0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
|
|
/* 7 */
|
|
0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
|
|
0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
|
|
0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
|
|
0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
|
|
0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
|
|
0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
|
|
0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
|
|
0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
|
|
/* 8 */
|
|
0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
|
|
0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
|
|
0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
|
|
0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
|
|
0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
|
|
0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
|
|
0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
|
|
0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
|
|
|
|
/*0x5a*/
|
|
/* 1 */
|
|
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
|
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
|
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
|
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
|
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
|
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
|
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
|
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
|
/* 2 */
|
|
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
|
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
|
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
|
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
|
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
|
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
|
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
|
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
|
/* 3 */
|
|
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
|
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
|
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
|
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
|
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
|
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
|
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
|
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
|
/* 4 */
|
|
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
|
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
|
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
|
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
|
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
|
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
|
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
|
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
|
/* 5 */
|
|
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
|
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
|
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
|
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
|
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
|
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
|
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
|
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
|
/* 6 */
|
|
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
|
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
|
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
|
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
|
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
|
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
|
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
|
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
|
/* 7 */
|
|
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
|
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
|
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
|
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
|
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
|
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
|
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
|
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
|
/* 8 */
|
|
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
|
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
|
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
|
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
|
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
|
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
|
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
|
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
|
|
|
|
/*wifi*/
|
|
/* 1 */
|
|
0x30, 0x43, 0x04, 0x16, 0x00, 0x90, 0x10, 0x18,
|
|
0x01, 0x00, 0xf8, 0x4b, 0x11, 0x42, 0x00, 0x27,
|
|
0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x18,
|
|
0xc5, 0x00, 0x10, 0x18, 0x01, 0x12, 0xf8, 0x4b,
|
|
0x11, 0x42, 0x00, 0x19, 0x03, 0x01, 0x00, 0x00,
|
|
0x05, 0x10, 0x00, 0x18, 0xc5, 0x10, 0x10, 0x18,
|
|
0x30, 0x43, 0x04, 0x16, 0x00, 0x90, 0x10, 0x18,
|
|
0x01, 0x00, 0xf8, 0x4b, 0x11, 0x42, 0x00, 0x27,
|
|
/* 2 */
|
|
0x30, 0x43, 0x04, 0x16, 0x00, 0x90, 0x10, 0x18,
|
|
0x01, 0x00, 0xf8, 0x4b, 0x11, 0x42, 0x00, 0x27,
|
|
0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x18,
|
|
0xc5, 0x00, 0x10, 0x18, 0x01, 0x12, 0xf8, 0x4b,
|
|
0x11, 0x42, 0x00, 0x19, 0x03, 0x01, 0x00, 0x00,
|
|
0x05, 0x10, 0x00, 0x18, 0xc5, 0x10, 0x10, 0x18,
|
|
0x30, 0x43, 0x04, 0x16, 0x00, 0x90, 0x10, 0x18,
|
|
0x01, 0x00, 0xf8, 0x4b, 0x11, 0x42, 0x00, 0x27,
|
|
/* 3 */
|
|
0x30, 0x43, 0x04, 0x16, 0x00, 0x90, 0x10, 0x18,
|
|
0x01, 0x00, 0xf8, 0x4b, 0x11, 0x42, 0x00, 0x27,
|
|
0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x18,
|
|
0xc5, 0x00, 0x10, 0x18, 0x01, 0x12, 0xf8, 0x4b,
|
|
0x11, 0x42, 0x00, 0x19, 0x03, 0x01, 0x00, 0x00,
|
|
0x05, 0x10, 0x00, 0x18, 0xc5, 0x10, 0x10, 0x18,
|
|
0x30, 0x43, 0x04, 0x16, 0x00, 0x90, 0x10, 0x18,
|
|
0x01, 0x00, 0xf8, 0x4b, 0x11, 0x42, 0x00, 0x27,
|
|
/* 4 */
|
|
0x30, 0x43, 0x04, 0x16, 0x00, 0x90, 0x10, 0x18,
|
|
0x01, 0x00, 0xf8, 0x4b, 0x11, 0x42, 0x00, 0x27,
|
|
0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x18,
|
|
0xc5, 0x00, 0x10, 0x18, 0x01, 0x12, 0xf8, 0x4b,
|
|
0x11, 0x42, 0x00, 0x19, 0x03, 0x01, 0x00, 0x00,
|
|
0x05, 0x10, 0x00, 0x18, 0xc5, 0x10, 0x10, 0x18,
|
|
0x30, 0x43, 0x04, 0x16, 0x00, 0x90, 0x10, 0x18,
|
|
0x01, 0x00, 0xf8, 0x4b, 0x11, 0x42, 0x00, 0x27,
|
|
/* 5 */
|
|
0x30, 0x43, 0x04, 0x16, 0x00, 0x90, 0x10, 0x18,
|
|
0x01, 0x00, 0xf8, 0x4b, 0x11, 0x42, 0x00, 0x27,
|
|
0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x18,
|
|
0xc5, 0x00, 0x10, 0x18, 0x01, 0x12, 0xf8, 0x4b,
|
|
0x11, 0x42, 0x00, 0x19, 0x03, 0x01, 0x00, 0x00,
|
|
0x05, 0x10, 0x00, 0x18, 0xc5, 0x10, 0x10, 0x18,
|
|
0x30, 0x43, 0x04, 0x16, 0x00, 0x90, 0x10, 0x18,
|
|
0x01, 0x00, 0xf8, 0x4b, 0x11, 0x42, 0x00, 0x27,
|
|
/* 6 */
|
|
0x30, 0x43, 0x04, 0x16, 0x00, 0x90, 0x10, 0x18,
|
|
0x01, 0x00, 0xf8, 0x4b, 0x11, 0x42, 0x00, 0x27,
|
|
0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x18,
|
|
0xc5, 0x00, 0x10, 0x18, 0x01, 0x12, 0xf8, 0x4b,
|
|
0x11, 0x42, 0x00, 0x19, 0x03, 0x01, 0x00, 0x00,
|
|
0x05, 0x10, 0x00, 0x18, 0xc5, 0x10, 0x10, 0x18,
|
|
0x30, 0x43, 0x04, 0x16, 0x00, 0x90, 0x10, 0x18,
|
|
0x01, 0x00, 0xf8, 0x4b, 0x11, 0x42, 0x00, 0x27,
|
|
/* 7 */
|
|
0x30, 0x43, 0x04, 0x16, 0x00, 0x90, 0x10, 0x18,
|
|
0x01, 0x00, 0xf8, 0x4b, 0x11, 0x42, 0x00, 0x27,
|
|
0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x18,
|
|
0xc5, 0x00, 0x10, 0x18, 0x01, 0x12, 0xf8, 0x4b,
|
|
0x11, 0x42, 0x00, 0x19, 0x03, 0x01, 0x00, 0x00,
|
|
0x05, 0x10, 0x00, 0x18, 0xc5, 0x10, 0x10, 0x18,
|
|
0x30, 0x43, 0x04, 0x16, 0x00, 0x90, 0x10, 0x18,
|
|
0x01, 0x00, 0xf8, 0x4b, 0x11, 0x42, 0x00, 0x27,
|
|
/* 8 */
|
|
0x30, 0x43, 0x04, 0x16, 0x00, 0x90, 0x10, 0x18,
|
|
0x01, 0x00, 0xf8, 0x4b, 0x11, 0x42, 0x00, 0x27,
|
|
0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x18,
|
|
0xc5, 0x00, 0x10, 0x18, 0x01, 0x12, 0xf8, 0x4b,
|
|
0x11, 0x42, 0x00, 0x19, 0x03, 0x01, 0x00, 0x00,
|
|
0x05, 0x10, 0x00, 0x18, 0xc5, 0x10, 0x10, 0x18,
|
|
0x30, 0x43, 0x04, 0x16, 0x00, 0x90, 0x10, 0x18,
|
|
0x01, 0x00, 0xf8, 0x4b, 0x11, 0x42, 0x00, 0x27,
|
|
|
|
/*0xf1*/
|
|
/* 1 */
|
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
|
/* 2 */
|
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
|
/* 3 */
|
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
|
/* 4 */
|
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
|
/* 5 */
|
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
|
/* 6 */
|
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
|
/* 7 */
|
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
|
/* 8 */
|
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
|
0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1,
|
|
|
|
|
|
/*0xd2(change form 0xe1/0x1e)*/
|
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
|
|
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
|
|
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
|
|
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
|
|
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
|
|
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
|
|
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
|
|
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
|
0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2,
|
|
|
|
/*0xb4(change form 0xe1/0x1e)*/
|
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
|
|
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
|
|
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
|
|
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
|
|
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
|
|
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
|
|
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
|
|
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
|
0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
|
|
|
|
/*0x78(change form 0xe1/0x1e)*/
|
|
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
|
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
|
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
|
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
|
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
|
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
|
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
|
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
|
|
|
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
|
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
|
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
|
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
|
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
|
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
|
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
|
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
|
|
|
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
|
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
|
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
|
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
|
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
|
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
|
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
|
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
|
|
|
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
|
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
|
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
|
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
|
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
|
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
|
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
|
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
|
|
|
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
|
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
|
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
|
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
|
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
|
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
|
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
|
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
|
|
|
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
|
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
|
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
|
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
|
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
|
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
|
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
|
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
|
|
|
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
|
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
|
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
|
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
|
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
|
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
|
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
|
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
|
|
|
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
|
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
|
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
|
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
|
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
|
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
|
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
|
0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78,
|
|
|
|
/*rand*/
|
|
0xe4, 0x4f, 0x76, 0xbb, 0xf0, 0xb7, 0xe0, 0xdb,
|
|
0xb9, 0x1f, 0x9f, 0xfb, 0x7e, 0x9b, 0x03, 0x7d,
|
|
0x2e, 0x32, 0x8f, 0x29, 0x7a, 0x9b, 0xab, 0x16,
|
|
0x2f, 0x44, 0x99, 0xce, 0xc3, 0x99, 0xaa, 0xad,
|
|
0x2d, 0x82, 0xb2, 0x8a, 0xfa, 0x2d, 0xb9, 0x9a,
|
|
0x9e, 0x0f, 0xf3, 0x90, 0x08, 0x25, 0xf3, 0x09,
|
|
0x79, 0x80, 0x1b, 0x28, 0x95, 0x00, 0x57, 0x7d,
|
|
0xbb, 0x60, 0x0b, 0x2c, 0x92, 0x72, 0x49, 0x4b,
|
|
0xe4, 0xac, 0x48, 0x8b, 0xb0, 0xe4, 0x11, 0x1b,
|
|
0x7a, 0x58, 0x7c, 0xc9, 0xe6, 0xf1, 0x5b, 0x6b,
|
|
0x85, 0xc9, 0xf5, 0x7d, 0xef, 0xea, 0xb6, 0x0b,
|
|
0x12, 0x59, 0x24, 0xd2, 0xc9, 0x53, 0x15, 0xa2,
|
|
0xb1, 0xd6, 0x1f, 0x06, 0x38, 0x63, 0x51, 0x27,
|
|
0xf6, 0x03, 0x20, 0xee, 0x41, 0x88, 0xa4, 0x69,
|
|
0xfb, 0x15, 0x05, 0x70, 0xaf, 0xe0, 0x30, 0x88,
|
|
0xdc, 0x37, 0xce, 0x07, 0x91, 0xc1, 0x76, 0x79,
|
|
0x3a, 0x07, 0x21, 0x43, 0xba, 0x32, 0xdf, 0x86,
|
|
0xba, 0x16, 0xc9, 0x46, 0x40, 0x70, 0x37, 0xcc,
|
|
0x83, 0x6c, 0x33, 0x48, 0xfe, 0x6b, 0x2d, 0xbb,
|
|
0xc3, 0x02, 0xf0, 0x14, 0x12, 0x46, 0xd4, 0x99,
|
|
0x2a, 0x47, 0x35, 0x89, 0x5f, 0xda, 0x25, 0x00,
|
|
0x6d, 0x9c, 0x5e, 0x1a, 0x0c, 0x33, 0x7a, 0x5b,
|
|
0xc4, 0xd7, 0x67, 0x4f, 0x03, 0x12, 0x15, 0x6d,
|
|
0x6d, 0xc3, 0x71, 0x41, 0x73, 0x69, 0x97, 0xcb,
|
|
0x27, 0x9e, 0x43, 0x22, 0x4e, 0xe2, 0x89, 0x5c,
|
|
0xb7, 0x9a, 0xc7, 0xb2, 0xcc, 0x58, 0xd7, 0xe0,
|
|
0x67, 0x5d, 0x89, 0xcb, 0xe7, 0x5d, 0x50, 0x66,
|
|
0x82, 0x82, 0x3b, 0xd6, 0xdd, 0xb3, 0x27, 0xd5,
|
|
0xd9, 0x15, 0x34, 0x54, 0xb0, 0xd2, 0x75, 0x64,
|
|
0x42, 0x1a, 0xec, 0x56, 0xa9, 0x68, 0xb5, 0x21,
|
|
0x13, 0x07, 0x81, 0x05, 0xd1, 0xd4, 0x46, 0x6e,
|
|
0xab, 0x45, 0x35, 0x1b, 0x77, 0xaa, 0xed, 0x7f,
|
|
0xea, 0xb3, 0xee, 0x68, 0xad, 0x33, 0x50, 0xde,
|
|
0xb3, 0x23, 0xb5, 0x4e, 0xcb, 0xea, 0x7c, 0xe8,
|
|
0x71, 0xdc, 0x37, 0x45, 0xea, 0x00, 0x5f, 0x4d,
|
|
0x90, 0x16, 0x47, 0x58, 0x6a, 0xd8, 0x4f, 0x93,
|
|
0xff, 0x81, 0x5a, 0xa6, 0x6c, 0x8c, 0x82, 0x93,
|
|
0xb5, 0xbe, 0x0a, 0xe1, 0x59, 0x66, 0x93, 0xfb,
|
|
0x29, 0xe4, 0x93, 0xd3, 0x59, 0x68, 0x04, 0xca,
|
|
0xd8, 0xfc, 0x59, 0xd4, 0xdd, 0xc5, 0xb6, 0xd7,
|
|
0xc3, 0x85, 0x60, 0x55, 0x16, 0x65, 0x73, 0x4b,
|
|
0xee, 0xf2, 0xd3, 0x59, 0x7b, 0x65, 0x64, 0x22,
|
|
0xe2, 0x27, 0x7e, 0xf6, 0x47, 0x94, 0x9b, 0xaf,
|
|
0x2b, 0x00, 0x53, 0xd8, 0xf9, 0xf7, 0x8b, 0x15,
|
|
0xdb, 0xc9, 0xe9, 0xbe, 0xd2, 0x46, 0x8b, 0xce,
|
|
0x06, 0xc7, 0xf8, 0xfc, 0x5b, 0x6e, 0x56, 0x27,
|
|
0x44, 0xae, 0xde, 0xf7, 0xdc, 0x0d, 0x8e, 0xc2,
|
|
0x33, 0x28, 0x1d, 0xac, 0xe5, 0xf8, 0x34, 0x13,
|
|
0xf2, 0x55, 0xdb, 0x2a, 0xc9, 0xb8, 0x32, 0xe3,
|
|
0xa6, 0x45, 0x61, 0x13, 0x1e, 0x09, 0xd1, 0xd1,
|
|
0xf9, 0x80, 0x9d, 0x1e, 0x3f, 0x5a, 0x43, 0xcc,
|
|
0x95, 0x7e, 0xa0, 0x98, 0xca, 0x50, 0x1b, 0x9a,
|
|
0xae, 0x2f, 0x20, 0xdf, 0x23, 0x42, 0xd0, 0x54,
|
|
0x76, 0x75, 0xf6, 0xe5, 0xef, 0xbe, 0x3d, 0xe7,
|
|
0xa6, 0xa5, 0xa1, 0xb3, 0x99, 0x03, 0x24, 0x94,
|
|
0xfc, 0x0a, 0xc2, 0xe4, 0xd0, 0x85, 0xa6, 0x71,
|
|
0xb7, 0x61, 0x9e, 0x26, 0x07, 0x6d, 0xcd, 0xe7,
|
|
0x1d, 0x5e, 0xa0, 0xbc, 0xf4, 0x16, 0x03, 0x32,
|
|
0xf6, 0x26, 0xd4, 0xfe, 0x11, 0x91, 0x97, 0xe4,
|
|
0x0e, 0xd3, 0x6c, 0xd7, 0x1e, 0x21, 0x3f, 0x62,
|
|
0xb6, 0xf3, 0x3f, 0x46, 0x9d, 0xc0, 0x91, 0x65,
|
|
0x44, 0x08, 0x45, 0xde, 0x55, 0x98, 0x89, 0x7a,
|
|
0x8e, 0x0a, 0x1c, 0x47, 0xd0, 0x8b, 0x06, 0x82,
|
|
0x73, 0xe1, 0x87, 0xba, 0xdd, 0xac, 0x4d, 0x33,
|
|
};
|
|
|
|
static const char tuning_blk_8b[TUNING_LEN*512] = {
|
|
/*hs200/uhs*/
|
|
0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00,
|
|
0xff, 0xff, 0xcc, 0xcc, 0xcc, 0x33, 0xcc, 0xcc,
|
|
0xcc, 0x33, 0x33, 0xcc, 0xcc, 0xcc, 0xff, 0xff,
|
|
0xff, 0xee, 0xff, 0xff, 0xff, 0xee, 0xee, 0xff,
|
|
0xff, 0xff, 0xdd, 0xff, 0xff, 0xff, 0xdd, 0xdd,
|
|
0xff, 0xff, 0xff, 0xbb, 0xff, 0xff, 0xff, 0xbb,
|
|
0xbb, 0xff, 0xff, 0xff, 0x77, 0xff, 0xff, 0xff,
|
|
0x77, 0x77, 0xff, 0x77, 0xbb, 0xdd, 0xee, 0xff,
|
|
0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
|
|
0x00, 0xff, 0xff, 0xcc, 0xcc, 0xcc, 0x33, 0xcc,
|
|
0xcc, 0xcc, 0x33, 0x33, 0xcc, 0xcc, 0xcc, 0xff,
|
|
0xff, 0xff, 0xee, 0xff, 0xff, 0xff, 0xee, 0xee,
|
|
0xff, 0xff, 0xff, 0xdd, 0xff, 0xff, 0xff, 0xdd,
|
|
0xdd, 0xff, 0xff, 0xff, 0xbb, 0xff, 0xff, 0xff,
|
|
0xbb, 0xbb, 0xff, 0xff, 0xff, 0x77, 0xff, 0xff,
|
|
0xff, 0x77, 0x77, 0xff, 0x77, 0xbb, 0xdd, 0xee,
|
|
|
|
0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00,
|
|
0xff, 0xff, 0xcc, 0xcc, 0xcc, 0x33, 0xcc, 0xcc,
|
|
0xcc, 0x33, 0x33, 0xcc, 0xcc, 0xcc, 0xff, 0xff,
|
|
0xff, 0xee, 0xff, 0xff, 0xff, 0xee, 0xee, 0xff,
|
|
0xff, 0xff, 0xdd, 0xff, 0xff, 0xff, 0xdd, 0xdd,
|
|
0xff, 0xff, 0xff, 0xbb, 0xff, 0xff, 0xff, 0xbb,
|
|
0xbb, 0xff, 0xff, 0xff, 0x77, 0xff, 0xff, 0xff,
|
|
0x77, 0x77, 0xff, 0x77, 0xbb, 0xdd, 0xee, 0xff,
|
|
0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
|
|
0x00, 0xff, 0xff, 0xcc, 0xcc, 0xcc, 0x33, 0xcc,
|
|
0xcc, 0xcc, 0x33, 0x33, 0xcc, 0xcc, 0xcc, 0xff,
|
|
0xff, 0xff, 0xee, 0xff, 0xff, 0xff, 0xee, 0xee,
|
|
0xff, 0xff, 0xff, 0xdd, 0xff, 0xff, 0xff, 0xdd,
|
|
0xdd, 0xff, 0xff, 0xff, 0xbb, 0xff, 0xff, 0xff,
|
|
0xbb, 0xbb, 0xff, 0xff, 0xff, 0x77, 0xff, 0xff,
|
|
0xff, 0x77, 0x77, 0xff, 0x77, 0xbb, 0xdd, 0xee,
|
|
|
|
0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00,
|
|
0xff, 0xff, 0xcc, 0xcc, 0xcc, 0x33, 0xcc, 0xcc,
|
|
0xcc, 0x33, 0x33, 0xcc, 0xcc, 0xcc, 0xff, 0xff,
|
|
0xff, 0xee, 0xff, 0xff, 0xff, 0xee, 0xee, 0xff,
|
|
0xff, 0xff, 0xdd, 0xff, 0xff, 0xff, 0xdd, 0xdd,
|
|
0xff, 0xff, 0xff, 0xbb, 0xff, 0xff, 0xff, 0xbb,
|
|
0xbb, 0xff, 0xff, 0xff, 0x77, 0xff, 0xff, 0xff,
|
|
0x77, 0x77, 0xff, 0x77, 0xbb, 0xdd, 0xee, 0xff,
|
|
0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
|
|
0x00, 0xff, 0xff, 0xcc, 0xcc, 0xcc, 0x33, 0xcc,
|
|
0xcc, 0xcc, 0x33, 0x33, 0xcc, 0xcc, 0xcc, 0xff,
|
|
0xff, 0xff, 0xee, 0xff, 0xff, 0xff, 0xee, 0xee,
|
|
0xff, 0xff, 0xff, 0xdd, 0xff, 0xff, 0xff, 0xdd,
|
|
0xdd, 0xff, 0xff, 0xff, 0xbb, 0xff, 0xff, 0xff,
|
|
0xbb, 0xbb, 0xff, 0xff, 0xff, 0x77, 0xff, 0xff,
|
|
0xff, 0x77, 0x77, 0xff, 0x77, 0xbb, 0xdd, 0xee,
|
|
|
|
0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00,
|
|
0xff, 0xff, 0xcc, 0xcc, 0xcc, 0x33, 0xcc, 0xcc,
|
|
0xcc, 0x33, 0x33, 0xcc, 0xcc, 0xcc, 0xff, 0xff,
|
|
0xff, 0xee, 0xff, 0xff, 0xff, 0xee, 0xee, 0xff,
|
|
0xff, 0xff, 0xdd, 0xff, 0xff, 0xff, 0xdd, 0xdd,
|
|
0xff, 0xff, 0xff, 0xbb, 0xff, 0xff, 0xff, 0xbb,
|
|
0xbb, 0xff, 0xff, 0xff, 0x77, 0xff, 0xff, 0xff,
|
|
0x77, 0x77, 0xff, 0x77, 0xbb, 0xdd, 0xee, 0xff,
|
|
0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
|
|
0x00, 0xff, 0xff, 0xcc, 0xcc, 0xcc, 0x33, 0xcc,
|
|
0xcc, 0xcc, 0x33, 0x33, 0xcc, 0xcc, 0xcc, 0xff,
|
|
0xff, 0xff, 0xee, 0xff, 0xff, 0xff, 0xee, 0xee,
|
|
0xff, 0xff, 0xff, 0xdd, 0xff, 0xff, 0xff, 0xdd,
|
|
0xdd, 0xff, 0xff, 0xff, 0xbb, 0xff, 0xff, 0xff,
|
|
0xbb, 0xbb, 0xff, 0xff, 0xff, 0x77, 0xff, 0xff,
|
|
0xff, 0x77, 0x77, 0xff, 0x77, 0xbb, 0xdd, 0xee,
|
|
|
|
/*0xf*/
|
|
0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
|
|
0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
|
|
0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
|
|
0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
|
|
0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
|
|
0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
|
|
0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
|
|
0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
|
|
0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
|
|
0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
|
|
0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
|
|
0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
|
|
0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
|
|
0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
|
|
0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
|
|
0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
|
|
|
|
0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
|
|
0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
|
|
0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
|
|
0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
|
|
0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
|
|
0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
|
|
0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
|
|
0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
|
|
0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
|
|
0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
|
|
0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
|
|
0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
|
|
0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
|
|
0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
|
|
0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
|
|
0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
|
|
|
|
0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
|
|
0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
|
|
0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
|
|
0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
|
|
0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
|
|
0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
|
|
0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
|
|
0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
|
|
0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
|
|
0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
|
|
0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
|
|
0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
|
|
0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
|
|
0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
|
|
0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
|
|
0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
|
|
|
|
0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
|
|
0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
|
|
0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
|
|
0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
|
|
0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
|
|
0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
|
|
0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
|
|
0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
|
|
0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
|
|
0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
|
|
0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
|
|
0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
|
|
0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
|
|
0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
|
|
0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
|
|
0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00,
|
|
|
|
/*0x1e*/
|
|
0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE,
|
|
0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE,
|
|
0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE,
|
|
0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE,
|
|
0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE,
|
|
0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE,
|
|
0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE,
|
|
0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE,
|
|
0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE,
|
|
0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE,
|
|
0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE,
|
|
0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE,
|
|
0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE,
|
|
0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE,
|
|
0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE,
|
|
0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE,
|
|
|
|
0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE,
|
|
0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE,
|
|
0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE,
|
|
0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE,
|
|
0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE,
|
|
0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE,
|
|
0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE,
|
|
0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE,
|
|
0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE,
|
|
0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE,
|
|
0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE,
|
|
0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE,
|
|
0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE,
|
|
0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE,
|
|
0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE,
|
|
0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE,
|
|
|
|
0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE,
|
|
0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE,
|
|
0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE,
|
|
0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE,
|
|
0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE,
|
|
0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE,
|
|
0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE,
|
|
0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE,
|
|
0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE,
|
|
0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE,
|
|
0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE,
|
|
0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE,
|
|
0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE,
|
|
0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE,
|
|
0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE,
|
|
0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE,
|
|
|
|
0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE,
|
|
0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE,
|
|
0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE,
|
|
0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE,
|
|
0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE,
|
|
0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE,
|
|
0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE,
|
|
0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE,
|
|
0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE,
|
|
0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE,
|
|
0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE,
|
|
0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE,
|
|
0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE,
|
|
0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE,
|
|
0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE,
|
|
0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE,
|
|
|
|
/*0x5a*/
|
|
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
|
|
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
|
|
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
|
|
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
|
|
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
|
|
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
|
|
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
|
|
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
|
|
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
|
|
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
|
|
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
|
|
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
|
|
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
|
|
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
|
|
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
|
|
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
|
|
|
|
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
|
|
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
|
|
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
|
|
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
|
|
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
|
|
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
|
|
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
|
|
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
|
|
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
|
|
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
|
|
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
|
|
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
|
|
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
|
|
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
|
|
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
|
|
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
|
|
|
|
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
|
|
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
|
|
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
|
|
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
|
|
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
|
|
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
|
|
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
|
|
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
|
|
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
|
|
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
|
|
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
|
|
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
|
|
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
|
|
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
|
|
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
|
|
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
|
|
|
|
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
|
|
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
|
|
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
|
|
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
|
|
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
|
|
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
|
|
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
|
|
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
|
|
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
|
|
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
|
|
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
|
|
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
|
|
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
|
|
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
|
|
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
|
|
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
|
|
|
|
/*wifi*/
|
|
0x30, 0x43, 0x04, 0x16, 0x00, 0x90, 0x10, 0x18,
|
|
0x01, 0x00, 0xf8, 0x4b, 0x11, 0x42, 0x00, 0x27,
|
|
0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x18,
|
|
0xc5, 0x00, 0x10, 0x18, 0x01, 0x12, 0xf8, 0x4b,
|
|
0x11, 0x42, 0x00, 0x19, 0x03, 0x01, 0x00, 0x00,
|
|
0x05, 0x10, 0x00, 0x18, 0xc5, 0x10, 0x10, 0x18,
|
|
0x30, 0x43, 0x04, 0x16, 0x00, 0x90, 0x10, 0x18,
|
|
0x01, 0x00, 0xf8, 0x4b, 0x11, 0x42, 0x00, 0x27,
|
|
|
|
0x30, 0x43, 0x04, 0x16, 0x00, 0x90, 0x10, 0x18,
|
|
0x01, 0x00, 0xf8, 0x4b, 0x11, 0x42, 0x00, 0x27,
|
|
0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x18,
|
|
0xc5, 0x00, 0x10, 0x18, 0x01, 0x12, 0xf8, 0x4b,
|
|
0x11, 0x42, 0x00, 0x19, 0x03, 0x01, 0x00, 0x00,
|
|
0x05, 0x10, 0x00, 0x18, 0xc5, 0x10, 0x10, 0x18,
|
|
0x30, 0x43, 0x04, 0x16, 0x00, 0x90, 0x10, 0x18,
|
|
0x01, 0x00, 0xf8, 0x4b, 0x11, 0x42, 0x00, 0x27,
|
|
|
|
0x30, 0x43, 0x04, 0x16, 0x00, 0x90, 0x10, 0x18,
|
|
0x01, 0x00, 0xf8, 0x4b, 0x11, 0x42, 0x00, 0x27,
|
|
0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x18,
|
|
0xc5, 0x00, 0x10, 0x18, 0x01, 0x12, 0xf8, 0x4b,
|
|
0x11, 0x42, 0x00, 0x19, 0x03, 0x01, 0x00, 0x00,
|
|
0x05, 0x10, 0x00, 0x18, 0xc5, 0x10, 0x10, 0x18,
|
|
0x30, 0x43, 0x04, 0x16, 0x00, 0x90, 0x10, 0x18,
|
|
0x01, 0x00, 0xf8, 0x4b, 0x11, 0x42, 0x00, 0x27,
|
|
|
|
0x30, 0x43, 0x04, 0x16, 0x00, 0x90, 0x10, 0x18,
|
|
0x01, 0x00, 0xf8, 0x4b, 0x11, 0x42, 0x00, 0x27,
|
|
0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x18,
|
|
0xc5, 0x00, 0x10, 0x18, 0x01, 0x12, 0xf8, 0x4b,
|
|
0x11, 0x42, 0x00, 0x19, 0x03, 0x01, 0x00, 0x00,
|
|
0x05, 0x10, 0x00, 0x18, 0xc5, 0x10, 0x10, 0x18,
|
|
0x30, 0x43, 0x04, 0x16, 0x00, 0x90, 0x10, 0x18,
|
|
0x01, 0x00, 0xf8, 0x4b, 0x11, 0x42, 0x00, 0x27,
|
|
|
|
0x30, 0x43, 0x04, 0x16, 0x00, 0x90, 0x10, 0x18,
|
|
0x01, 0x00, 0xf8, 0x4b, 0x11, 0x42, 0x00, 0x27,
|
|
0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x18,
|
|
0xc5, 0x00, 0x10, 0x18, 0x01, 0x12, 0xf8, 0x4b,
|
|
0x11, 0x42, 0x00, 0x19, 0x03, 0x01, 0x00, 0x00,
|
|
0x05, 0x10, 0x00, 0x18, 0xc5, 0x10, 0x10, 0x18,
|
|
0x30, 0x43, 0x04, 0x16, 0x00, 0x90, 0x10, 0x18,
|
|
0x01, 0x00, 0xf8, 0x4b, 0x11, 0x42, 0x00, 0x27,
|
|
|
|
0x30, 0x43, 0x04, 0x16, 0x00, 0x90, 0x10, 0x18,
|
|
0x01, 0x00, 0xf8, 0x4b, 0x11, 0x42, 0x00, 0x27,
|
|
0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x18,
|
|
0xc5, 0x00, 0x10, 0x18, 0x01, 0x12, 0xf8, 0x4b,
|
|
0x11, 0x42, 0x00, 0x19, 0x03, 0x01, 0x00, 0x00,
|
|
0x05, 0x10, 0x00, 0x18, 0xc5, 0x10, 0x10, 0x18,
|
|
0x30, 0x43, 0x04, 0x16, 0x00, 0x90, 0x10, 0x18,
|
|
0x01, 0x00, 0xf8, 0x4b, 0x11, 0x42, 0x00, 0x27,
|
|
|
|
0x30, 0x43, 0x04, 0x16, 0x00, 0x90, 0x10, 0x18,
|
|
0x01, 0x00, 0xf8, 0x4b, 0x11, 0x42, 0x00, 0x27,
|
|
0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x18,
|
|
0xc5, 0x00, 0x10, 0x18, 0x01, 0x12, 0xf8, 0x4b,
|
|
0x11, 0x42, 0x00, 0x19, 0x03, 0x01, 0x00, 0x00,
|
|
0x05, 0x10, 0x00, 0x18, 0xc5, 0x10, 0x10, 0x18,
|
|
0x30, 0x43, 0x04, 0x16, 0x00, 0x90, 0x10, 0x18,
|
|
0x01, 0x00, 0xf8, 0x4b, 0x11, 0x42, 0x00, 0x27,
|
|
|
|
0x30, 0x43, 0x04, 0x16, 0x00, 0x90, 0x10, 0x18,
|
|
0x01, 0x00, 0xf8, 0x4b, 0x11, 0x42, 0x00, 0x27,
|
|
0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x18,
|
|
0xc5, 0x00, 0x10, 0x18, 0x01, 0x12, 0xf8, 0x4b,
|
|
0x11, 0x42, 0x00, 0x19, 0x03, 0x01, 0x00, 0x00,
|
|
0x05, 0x10, 0x00, 0x18, 0xc5, 0x10, 0x10, 0x18,
|
|
0x30, 0x43, 0x04, 0x16, 0x00, 0x90, 0x10, 0x18,
|
|
0x01, 0x00, 0xf8, 0x4b, 0x11, 0x42, 0x00, 0x27,
|
|
|
|
/*0xf1*/
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
|
|
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
|
|
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
|
|
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
|
|
|
|
/*0xd2(change form 0xe1/0x1e)*/
|
|
0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
|
|
0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
|
|
0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
|
|
0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
|
|
/*0xb4(change form 0xe1/0x1e)*/
|
|
0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04,
|
|
0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04,
|
|
0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04,
|
|
0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04,
|
|
0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04,
|
|
0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04,
|
|
0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04,
|
|
0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04,
|
|
0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04,
|
|
0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04,
|
|
0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04,
|
|
0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04,
|
|
0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04,
|
|
0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04,
|
|
0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04,
|
|
0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04,
|
|
|
|
0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04,
|
|
0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04,
|
|
0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04,
|
|
0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04,
|
|
0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04,
|
|
0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04,
|
|
0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04,
|
|
0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04,
|
|
0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04,
|
|
0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04,
|
|
0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04,
|
|
0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04,
|
|
0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04,
|
|
0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04,
|
|
0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04,
|
|
0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04,
|
|
|
|
0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04,
|
|
0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04,
|
|
0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04,
|
|
0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04,
|
|
0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04,
|
|
0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04,
|
|
0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04,
|
|
0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04,
|
|
0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04,
|
|
0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04,
|
|
0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04,
|
|
0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04,
|
|
0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04,
|
|
0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04,
|
|
0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04,
|
|
0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04,
|
|
|
|
0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04,
|
|
0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04,
|
|
0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04,
|
|
0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04,
|
|
0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04,
|
|
0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04,
|
|
0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04,
|
|
0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04,
|
|
0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04,
|
|
0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04,
|
|
0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04,
|
|
0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04,
|
|
0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04,
|
|
0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04,
|
|
0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04,
|
|
0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04, 0xfb, 0x04,
|
|
|
|
|
|
/*0x78(change form 0xe1/0x1e)*/
|
|
0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80,
|
|
0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80,
|
|
0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80,
|
|
0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80,
|
|
0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80,
|
|
0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80,
|
|
0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80,
|
|
0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80,
|
|
0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80,
|
|
0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80,
|
|
0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80,
|
|
0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80,
|
|
0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80,
|
|
0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80,
|
|
0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80,
|
|
0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80,
|
|
|
|
0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80,
|
|
0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80,
|
|
0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80,
|
|
0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80,
|
|
0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80,
|
|
0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80,
|
|
0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80,
|
|
0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80,
|
|
0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80,
|
|
0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80,
|
|
0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80,
|
|
0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80,
|
|
0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80,
|
|
0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80,
|
|
0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80,
|
|
0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80,
|
|
|
|
0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80,
|
|
0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80,
|
|
0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80,
|
|
0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80,
|
|
0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80,
|
|
0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80,
|
|
0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80,
|
|
0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80,
|
|
0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80,
|
|
0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80,
|
|
0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80,
|
|
0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80,
|
|
0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80,
|
|
0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80,
|
|
0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80,
|
|
0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80,
|
|
|
|
0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80,
|
|
0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80,
|
|
0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80,
|
|
0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80,
|
|
0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80,
|
|
0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80,
|
|
0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80,
|
|
0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80,
|
|
0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80,
|
|
0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80,
|
|
0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80,
|
|
0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80,
|
|
0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80,
|
|
0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80,
|
|
0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80,
|
|
0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80, 0x7F, 0x80,
|
|
|
|
/*rand*/
|
|
0xe4, 0x4f, 0x76, 0xbb, 0xf0, 0xb7, 0xe0, 0xdb,
|
|
0xb9, 0x1f, 0x9f, 0xfb, 0x7e, 0x9b, 0x03, 0x7d,
|
|
0x2e, 0x32, 0x8f, 0x29, 0x7a, 0x9b, 0xab, 0x16,
|
|
0x2f, 0x44, 0x99, 0xce, 0xc3, 0x99, 0xaa, 0xad,
|
|
0x2d, 0x82, 0xb2, 0x8a, 0xfa, 0x2d, 0xb9, 0x9a,
|
|
0x9e, 0x0f, 0xf3, 0x90, 0x08, 0x25, 0xf3, 0x09,
|
|
0x79, 0x80, 0x1b, 0x28, 0x95, 0x00, 0x57, 0x7d,
|
|
0xbb, 0x60, 0x0b, 0x2c, 0x92, 0x72, 0x49, 0x4b,
|
|
0xe4, 0xac, 0x48, 0x8b, 0xb0, 0xe4, 0x11, 0x1b,
|
|
0x7a, 0x58, 0x7c, 0xc9, 0xe6, 0xf1, 0x5b, 0x6b,
|
|
0x85, 0xc9, 0xf5, 0x7d, 0xef, 0xea, 0xb6, 0x0b,
|
|
0x12, 0x59, 0x24, 0xd2, 0xc9, 0x53, 0x15, 0xa2,
|
|
0xb1, 0xd6, 0x1f, 0x06, 0x38, 0x63, 0x51, 0x27,
|
|
0xf6, 0x03, 0x20, 0xee, 0x41, 0x88, 0xa4, 0x69,
|
|
0xfb, 0x15, 0x05, 0x70, 0xaf, 0xe0, 0x30, 0x88,
|
|
0xdc, 0x37, 0xce, 0x07, 0x91, 0xc1, 0x76, 0x79,
|
|
0x3a, 0x07, 0x21, 0x43, 0xba, 0x32, 0xdf, 0x86,
|
|
0xba, 0x16, 0xc9, 0x46, 0x40, 0x70, 0x37, 0xcc,
|
|
0x83, 0x6c, 0x33, 0x48, 0xfe, 0x6b, 0x2d, 0xbb,
|
|
0xc3, 0x02, 0xf0, 0x14, 0x12, 0x46, 0xd4, 0x99,
|
|
0x2a, 0x47, 0x35, 0x89, 0x5f, 0xda, 0x25, 0x00,
|
|
0x6d, 0x9c, 0x5e, 0x1a, 0x0c, 0x33, 0x7a, 0x5b,
|
|
0xc4, 0xd7, 0x67, 0x4f, 0x03, 0x12, 0x15, 0x6d,
|
|
0x6d, 0xc3, 0x71, 0x41, 0x73, 0x69, 0x97, 0xcb,
|
|
0x27, 0x9e, 0x43, 0x22, 0x4e, 0xe2, 0x89, 0x5c,
|
|
0xb7, 0x9a, 0xc7, 0xb2, 0xcc, 0x58, 0xd7, 0xe0,
|
|
0x67, 0x5d, 0x89, 0xcb, 0xe7, 0x5d, 0x50, 0x66,
|
|
0x82, 0x82, 0x3b, 0xd6, 0xdd, 0xb3, 0x27, 0xd5,
|
|
0xd9, 0x15, 0x34, 0x54, 0xb0, 0xd2, 0x75, 0x64,
|
|
0x42, 0x1a, 0xec, 0x56, 0xa9, 0x68, 0xb5, 0x21,
|
|
0x13, 0x07, 0x81, 0x05, 0xd1, 0xd4, 0x46, 0x6e,
|
|
0xab, 0x45, 0x35, 0x1b, 0x77, 0xaa, 0xed, 0x7f,
|
|
0xea, 0xb3, 0xee, 0x68, 0xad, 0x33, 0x50, 0xde,
|
|
0xb3, 0x23, 0xb5, 0x4e, 0xcb, 0xea, 0x7c, 0xe8,
|
|
0x71, 0xdc, 0x37, 0x45, 0xea, 0x00, 0x5f, 0x4d,
|
|
0x90, 0x16, 0x47, 0x58, 0x6a, 0xd8, 0x4f, 0x93,
|
|
0xff, 0x81, 0x5a, 0xa6, 0x6c, 0x8c, 0x82, 0x93,
|
|
0xb5, 0xbe, 0x0a, 0xe1, 0x59, 0x66, 0x93, 0xfb,
|
|
0x29, 0xe4, 0x93, 0xd3, 0x59, 0x68, 0x04, 0xca,
|
|
0xd8, 0xfc, 0x59, 0xd4, 0xdd, 0xc5, 0xb6, 0xd7,
|
|
0xc3, 0x85, 0x60, 0x55, 0x16, 0x65, 0x73, 0x4b,
|
|
0xee, 0xf2, 0xd3, 0x59, 0x7b, 0x65, 0x64, 0x22,
|
|
0xe2, 0x27, 0x7e, 0xf6, 0x47, 0x94, 0x9b, 0xaf,
|
|
0x2b, 0x00, 0x53, 0xd8, 0xf9, 0xf7, 0x8b, 0x15,
|
|
0xdb, 0xc9, 0xe9, 0xbe, 0xd2, 0x46, 0x8b, 0xce,
|
|
0x06, 0xc7, 0xf8, 0xfc, 0x5b, 0x6e, 0x56, 0x27,
|
|
0x44, 0xae, 0xde, 0xf7, 0xdc, 0x0d, 0x8e, 0xc2,
|
|
0x33, 0x28, 0x1d, 0xac, 0xe5, 0xf8, 0x34, 0x13,
|
|
0xf2, 0x55, 0xdb, 0x2a, 0xc9, 0xb8, 0x32, 0xe3,
|
|
0xa6, 0x45, 0x61, 0x13, 0x1e, 0x09, 0xd1, 0xd1,
|
|
0xf9, 0x80, 0x9d, 0x1e, 0x3f, 0x5a, 0x43, 0xcc,
|
|
0x95, 0x7e, 0xa0, 0x98, 0xca, 0x50, 0x1b, 0x9a,
|
|
0xae, 0x2f, 0x20, 0xdf, 0x23, 0x42, 0xd0, 0x54,
|
|
0x76, 0x75, 0xf6, 0xe5, 0xef, 0xbe, 0x3d, 0xe7,
|
|
0xa6, 0xa5, 0xa1, 0xb3, 0x99, 0x03, 0x24, 0x94,
|
|
0xfc, 0x0a, 0xc2, 0xe4, 0xd0, 0x85, 0xa6, 0x71,
|
|
0xb7, 0x61, 0x9e, 0x26, 0x07, 0x6d, 0xcd, 0xe7,
|
|
0x1d, 0x5e, 0xa0, 0xbc, 0xf4, 0x16, 0x03, 0x32,
|
|
0xf6, 0x26, 0xd4, 0xfe, 0x11, 0x91, 0x97, 0xe4,
|
|
0x0e, 0xd3, 0x6c, 0xd7, 0x1e, 0x21, 0x3f, 0x62,
|
|
0xb6, 0xf3, 0x3f, 0x46, 0x9d, 0xc0, 0x91, 0x65,
|
|
0x44, 0x08, 0x45, 0xde, 0x55, 0x98, 0x89, 0x7a,
|
|
0x8e, 0x0a, 0x1c, 0x47, 0xd0, 0x8b, 0x06, 0x82,
|
|
0x73, 0xe1, 0x87, 0xba, 0xdd, 0xac, 0x4d, 0x33,
|
|
};
|
|
|
|
u32 freq_ds26_sdr12[8] = {
|
|
400*1000, 25*1000*1000, 50*1000*1000,
|
|
};
|
|
u32 freq_hssdr52_sdr25[8] = {
|
|
400*1000, 25*1000*1000, 50*1000*1000,
|
|
};
|
|
u32 freq_hsddr52_ddr50[8] = {
|
|
400*1000, 25*1000*1000, 50*1000*1000,
|
|
};
|
|
u32 freq_hs200_sdr104[8] = {
|
|
400*1000, 25*1000*1000, 50*1000*1000, 100*1000*1000,
|
|
150*1000*1000, 200*1000*1000,
|
|
};
|
|
u32 freq_hs400[8] = {
|
|
400*1000, 25*1000*1000, 50*1000*1000, 100*1000*1000,
|
|
150*1000*1000, 200*1000*1000,
|
|
};
|
|
|
|
u32 freq_range_ds26_sdr12[2] = {400*1000, 26*1000*1000};
|
|
u32 freq_range_hssdr52_sdr25[2] = {50*1000*1000, 52*1000*1000};
|
|
u32 freq_range_hsddr52_ddr50[2] = {50*1000*1000, 52*1000*1000};
|
|
u32 freq_range_hs200_sdr104[2] = {50*1000*1000, 200*1000*1000};
|
|
u32 freq_range_hs400[2] = {50*1000*1000, 150*1000*1000};
|
|
|
|
|
|
extern int mmc_mmc_switch_bus_mode(struct mmc *mmc, int spd_mode, int width);
|
|
static ulong sunxi_read_tuning(int dev_num, ulong start, lbaint_t blkcnt, void *dst);
|
|
|
|
static unsigned int sunxi_select_freq(struct mmc *mmc, int speed_md, int freq_index)
|
|
{
|
|
u32 freq = 0;
|
|
struct sunxi_mmc_host *host = (struct sunxi_mmc_host *)mmc->priv;
|
|
int i;
|
|
u32 val;
|
|
|
|
if (freq_index >= 8) {
|
|
MMCINFO("freq_index error %d\n", freq_index);
|
|
return 0;
|
|
}
|
|
|
|
for (i=0; i<MAX_EXT_FREQ_POINT_NUM; i++)
|
|
{
|
|
val = host->cfg.platform_caps.tm4_tune_ext_freq[i];
|
|
if (val & (1U<<31)) {
|
|
if ((((val>>8) & 0xff) == freq_index) && (((val>>16) & 0xff) == speed_md)) {
|
|
freq = (val & 0xff)*1000*1000;
|
|
MMCINFO("select ext freq point: %d-%d MHz\n", i, (val & 0xff));
|
|
goto OUT;
|
|
}
|
|
}
|
|
}
|
|
|
|
if (speed_md == DS26_SDR12)
|
|
freq = freq_ds26_sdr12[freq_index];
|
|
else if (speed_md == HSSDR52_SDR25)
|
|
freq = freq_hssdr52_sdr25[freq_index];
|
|
else if (speed_md == HSDDR52_DDR50)
|
|
freq = freq_hsddr52_ddr50[freq_index];
|
|
else if (speed_md == HS200_SDR104)
|
|
freq = freq_hs200_sdr104[freq_index];
|
|
else if (speed_md == HS400)
|
|
freq = freq_hs400[freq_index];
|
|
else {
|
|
MMCINFO("speed_md error %d\n", speed_md);
|
|
freq = 0;
|
|
}
|
|
|
|
OUT:
|
|
return freq;
|
|
}
|
|
|
|
static int sunxi_tuning_method_0(struct mmc *mmc, int retry_times)
|
|
{
|
|
ulong ret = 0;
|
|
int j;
|
|
const char *std_pat = NULL;
|
|
char *rcv_pat = NULL;
|
|
|
|
if (NULL == (rcv_pat = malloc(TUNING_LEN*512))) {
|
|
MMCINFO("request memory for rcv_pat fail\n");
|
|
return -1;
|
|
}
|
|
|
|
if (mmc->bus_width == 4)
|
|
std_pat = tuning_blk_4b;
|
|
else if (mmc->bus_width == 8)
|
|
std_pat = tuning_blk_8b;
|
|
else if(mmc->bus_width == 1) {
|
|
MMCINFO("Not support 1 bit tuning now\n");
|
|
ret = -1;
|
|
goto OUT;
|
|
}
|
|
|
|
for(j=0; j<retry_times; j++)
|
|
{
|
|
ret = sunxi_read_tuning(mmc->cfg->host_no,
|
|
TUNING_ADD,
|
|
TUNING_LEN,
|
|
rcv_pat);
|
|
if (ret != TUNING_LEN) {
|
|
MMCMSG(mmc, "read failed\n");
|
|
#if 0
|
|
//if read failedand block len>1,send stop for next try
|
|
//no care if it is successed
|
|
if (TUNING_LEN>1){
|
|
MMCINFO("Send stop\n");
|
|
mmc_send_manual_stop(mmc);
|
|
}
|
|
#endif
|
|
|
|
#if 1
|
|
//MMCINFO("Send manual stop\n");
|
|
mmc_send_manual_stop(mmc);
|
|
#endif
|
|
break;
|
|
}
|
|
ret = memcmp(std_pat, rcv_pat, TUNING_LEN*512);
|
|
if(ret) {
|
|
MMCINFO("pattern compare fail\n");
|
|
break;
|
|
}
|
|
}
|
|
if (j != retry_times)
|
|
ret = -1;
|
|
else
|
|
ret = 0;
|
|
OUT:
|
|
free(rcv_pat);
|
|
|
|
return ret;
|
|
}
|
|
|
|
static int _skip_curr_freq(struct mmc *mmc, int spd_md, int freq)
|
|
{
|
|
u32 min, max;
|
|
struct sunxi_mmc_host *host = (struct sunxi_mmc_host *)mmc->priv;
|
|
|
|
if (spd_md == DS26_SDR12) {
|
|
min = freq_range_ds26_sdr12[0];
|
|
max = freq_range_ds26_sdr12[1];
|
|
} else if (spd_md == HSSDR52_SDR25) {
|
|
min = freq_range_hssdr52_sdr25[0];
|
|
max = freq_range_hssdr52_sdr25[1];
|
|
} else if (spd_md == HSDDR52_DDR50) {
|
|
min = freq_range_hsddr52_ddr50[0];
|
|
max = freq_range_hsddr52_ddr50[1];
|
|
} else if (spd_md == HS200_SDR104) {
|
|
min = freq_range_hs200_sdr104[0];
|
|
|
|
if (host->cfg.platform_caps.tm4_tune_hs200_max_freq)
|
|
max = host->cfg.platform_caps.tm4_tune_hs200_max_freq * 1000 * 1000;
|
|
else
|
|
max = freq_range_hs200_sdr104[1];
|
|
} else if (spd_md == HS400) {
|
|
min = freq_range_hs400[0];
|
|
|
|
if (host->cfg.platform_caps.tm4_tune_hs400_max_freq)
|
|
max = host->cfg.platform_caps.tm4_tune_hs400_max_freq * 1000 * 1000;
|
|
else
|
|
max = freq_range_hs400[1];
|
|
} else {
|
|
min = 400*1000;
|
|
max = 100*1000*1000;
|
|
}
|
|
|
|
if ((freq < min) || (freq > max))
|
|
return 1;
|
|
else
|
|
return 0;
|
|
}
|
|
|
|
static int _get_best_sdly(int sdly_cnt, u8 win_th, u8 *p)
|
|
{
|
|
int i;
|
|
int s0=0, e0=0, s1=0, e1=0;
|
|
int window0=0, window1=0;
|
|
u8 best = 0;
|
|
|
|
for (i=0; i<sdly_cnt; i++) {
|
|
if (p[i] == 1)
|
|
break;
|
|
}
|
|
if (i == sdly_cnt) {
|
|
s0 = 0xFF; /* 0xFF, invalid sample point position */
|
|
goto OUT;
|
|
} else
|
|
s0 = i;
|
|
|
|
for (i=s0+1; i<sdly_cnt; i++)
|
|
if (p[i] != 1)
|
|
break;
|
|
if (i == sdly_cnt) {
|
|
e0 = sdly_cnt - 1;
|
|
goto OUT;
|
|
} else
|
|
e0 = i;
|
|
|
|
|
|
for (i=e0+1; i<sdly_cnt; i++)
|
|
if (p[i] == 1)
|
|
break;
|
|
if (i == sdly_cnt) {
|
|
s1 = 0xFF;
|
|
goto OUT;
|
|
} else
|
|
s1 = i;
|
|
|
|
for (i=s1+1; i<sdly_cnt; i++)
|
|
if (p[i] != 1)
|
|
break;
|
|
if (i == sdly_cnt) {
|
|
e1 = sdly_cnt - 1;
|
|
goto OUT;
|
|
} else
|
|
e1 = i;
|
|
|
|
OUT:
|
|
MMCINFO("s0-%d e0-%d s1-%d e1-%d\n", s0, e0, s1, e1);
|
|
if (e0 >= s0)
|
|
window0 = e0 - s0 + 1;
|
|
if (e1 >= s1)
|
|
window1 = e1 - s1 + 1;
|
|
|
|
if (s0 == 0xFF) /* don't do tuning or don't get right sample point */
|
|
best = 0xFF;
|
|
else
|
|
{
|
|
if (window0 >= window1) {
|
|
if (window0 >= win_th)
|
|
best = s0 + (window0>>1);
|
|
else
|
|
best = 0xff;
|
|
} else {
|
|
if (window1 >= win_th)
|
|
best = s1 + (window1>>1);
|
|
else
|
|
best = 0xff;
|
|
}
|
|
}
|
|
|
|
return best;
|
|
}
|
|
|
|
static int sunxi_tuning_speed_mode(struct mmc *mmc, int speed_mode, int tuning_mode, int retry_times)
|
|
{
|
|
int freq_index=0, freq = 0;
|
|
int i;
|
|
struct sunxi_mmc_host *host = (struct sunxi_mmc_host *)mmc->priv;
|
|
int tm = host->timing_mode;
|
|
u8 tm4_win_th = host->cfg.platform_caps.tm4_timing_window_th;
|
|
u8 *sdly_cfg = NULL;
|
|
int sdly, sdly_cnt = 0;
|
|
u8 *p = NULL;
|
|
u8 best = 0;
|
|
|
|
if (tm == SUNXI_MMC_TIMING_MODE_1) {
|
|
sdly_cnt = host->tm1.sample_point_cnt;
|
|
sdly_cfg = (u8 *)host->tm1.sdly;
|
|
} else if (tm == SUNXI_MMC_TIMING_MODE_3) {
|
|
sdly_cnt = host->tm3.sample_point_cnt;
|
|
sdly_cfg = (u8 *)host->tm3.sdly;
|
|
} else if (tm == SUNXI_MMC_TIMING_MODE_4) {
|
|
sdly_cnt = host->tm4.sample_point_cnt;
|
|
if (speed_mode == HS400) {
|
|
sdly_cfg = (u8 *)host->tm4.dsdly;
|
|
MMCDBG("%s: current is HS400 mode, dsdly:0x%x\n", __FUNCTION__, (u32)sdly_cfg);
|
|
} else
|
|
sdly_cfg = (u8 *)host->tm4.sdly;
|
|
}
|
|
|
|
if (NULL == (p = malloc(sdly_cnt*MAX_CLK_FREQ_NUM))) {
|
|
MMCINFO("%s: request memory fail\n", __FUNCTION__);
|
|
return -1;
|
|
}
|
|
|
|
freq_index = 0;
|
|
while ((freq = sunxi_select_freq(mmc, speed_mode, freq_index)) != 0)
|
|
{
|
|
/* change clock frequency */
|
|
mmc->tran_speed = freq;
|
|
|
|
if (!_skip_curr_freq(mmc, speed_mode, freq))
|
|
{
|
|
/* do tuning */
|
|
//MMCINFO("start tuning spd_md: %d-%s, freq: %d-%d\n", speed_mode, spd_name[speed_mode], freq_index, freq);
|
|
MMCINFO("start tuning freq: %d-%d\n", freq_index, freq);
|
|
for (sdly=0; sdly<sdly_cnt; sdly++)
|
|
{
|
|
/* modify sample point cfg*/
|
|
if (speed_mode == HS400)
|
|
sdly_cfg[freq_index] = sdly;
|
|
else
|
|
sdly_cfg[speed_mode*MAX_CLK_FREQ_NUM + freq_index] = sdly;
|
|
|
|
/* update sample point cfg */
|
|
mmc_set_clock(mmc, mmc->tran_speed);
|
|
if (tuning_mode == 0)
|
|
{
|
|
if (!sunxi_tuning_method_0(mmc, retry_times))
|
|
p[freq_index*sdly_cnt + sdly] = 1;
|
|
else
|
|
p[freq_index*sdly_cnt + sdly] = 0;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
MMCINFO("skip current freq %d\n", freq);
|
|
for (sdly=0; sdly<sdly_cnt; sdly++)
|
|
p[freq_index*sdly_cnt + sdly] = 0xFF;
|
|
}
|
|
|
|
freq_index++;
|
|
}
|
|
|
|
/* dump tuning result */
|
|
MMCMSG(mmc, "speed mode: %s\n", spd_name[speed_mode]);
|
|
for (i=0; i<freq_index; i++)
|
|
{
|
|
MMCMSG(mmc, "---%dHz: \n", sunxi_select_freq(mmc, speed_mode, i));
|
|
#if 0
|
|
for (j=0; j<sdly_cnt; j++)
|
|
{
|
|
if (j && (j%32==0))
|
|
printf("\n");
|
|
printf("%02x ", p[i*sdly_cnt + j]);
|
|
}
|
|
printf("\n");
|
|
#endif
|
|
best = _get_best_sdly(sdly_cnt, tm4_win_th, (p + i*sdly_cnt));
|
|
MMCMSG(mmc, "--best %d\n", best);
|
|
|
|
/* record best sample point to result[] */
|
|
if (speed_mode == HS400)
|
|
sdly_cfg[i] = best;
|
|
else
|
|
sdly_cfg[speed_mode*MAX_CLK_FREQ_NUM + i] = best; //( ((speed_mode&0xf)<<4) | (i&0xF)); //best;
|
|
}
|
|
|
|
/* set proper sample cfg and clock to tune next speed mode */
|
|
if (speed_mode == DS26_SDR12)
|
|
freq_index = 1;
|
|
else
|
|
freq_index = 2;
|
|
if ((freq = sunxi_select_freq(mmc, speed_mode, freq_index)) != 0) {
|
|
mmc->tran_speed = freq;
|
|
} else {
|
|
freq_index++;
|
|
MMCINFO("try next freq...%d\n", freq_index);
|
|
if ((freq = sunxi_select_freq(mmc, speed_mode, freq_index)) != 0)
|
|
mmc->tran_speed = freq;
|
|
else
|
|
MMCINFO("invalid freq!!!\n");
|
|
}
|
|
/* update sample point cfg */
|
|
mmc_set_clock(mmc, mmc->tran_speed);
|
|
|
|
free(p);
|
|
|
|
return 0;
|
|
}
|
|
|
|
int sunxi_need_rty(struct mmc *mmc)
|
|
{
|
|
int ret = 0;
|
|
u32 err_no = 0;
|
|
|
|
if (mmc->cfg->ops->decide_retry)
|
|
{
|
|
err_no = mmc->cfg->ops->get_detail_errno(mmc);
|
|
ret = mmc->cfg->ops->decide_retry(mmc, err_no, 0);
|
|
if (!ret) {
|
|
MMCINFO("need retry next clk %d\n", mmc->clock);
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
return -1;
|
|
}
|
|
|
|
int write_tuning_try_freq(struct mmc *mmc,u32 clk)
|
|
{
|
|
int ret = 0;
|
|
char *rcv_pattern = NULL;
|
|
char *std_pattern = NULL;
|
|
u32 err_no = 0;
|
|
|
|
if ( NULL == (rcv_pattern = (char *)malloc(TUNING_LEN*512))) {
|
|
MMCINFO("%s: request memory for rcv_pattern fail\n", __FUNCTION__);
|
|
return -1;
|
|
}
|
|
|
|
if ( NULL == (std_pattern = (char *)malloc(TUNING_LEN*512))) {
|
|
MMCINFO("%s: request memory for std_pattern fail\n", __FUNCTION__);
|
|
ret = -1;
|
|
goto out1;
|
|
}
|
|
|
|
if (mmc->bus_width == 4)
|
|
//std_pattern = tuning_blk_4b;
|
|
memcpy(std_pattern, tuning_blk_4b, (TUNING_LEN*512));
|
|
else if (mmc->bus_width == 8)
|
|
//std_pattern = tuning_blk_8b;
|
|
memcpy(std_pattern, tuning_blk_8b, (TUNING_LEN*512));
|
|
else if (mmc->bus_width == 1) {
|
|
MMCINFO("Don't support 1 bit tuning now\n");
|
|
ret = -1;
|
|
goto out;
|
|
}
|
|
|
|
do {
|
|
mmc_set_clock(mmc, clk);
|
|
ret = mmc_bwrite(mmc->cfg->host_no,
|
|
TUNING_ADD,
|
|
TUNING_LEN,
|
|
std_pattern);
|
|
MMCDBG("Write pattern ret = %d\n",ret);
|
|
if (ret != TUNING_LEN) { //fail
|
|
MMCINFO("write failed\n");
|
|
err_no = mmc->cfg->ops->get_detail_errno(mmc);
|
|
/* if write failed and block len>1,send stop for next try */
|
|
if (TUNING_LEN>1) {
|
|
MMCINFO("send stop\n");
|
|
mmc_send_manual_stop(mmc);
|
|
}
|
|
} else {//ok
|
|
MMCINFO("write_tuning_try_freq: write ok\n");
|
|
|
|
/* read pattern and compare with the pattern show sent*/
|
|
ret = mmc_bread(mmc->cfg->host_no,
|
|
TUNING_ADD,
|
|
TUNING_LEN,
|
|
rcv_pattern);
|
|
if (ret != TUNING_LEN) {
|
|
MMCMSG(mmc, "read failed\n");
|
|
|
|
//MMCINFO("0x%08x 0x%08x 0x%08x 0x%08x\n", *(volatile uint *)(ulong)(0x1c1105c), *(volatile uint *)(ulong)(0x1c110140), *(volatile uint *)(ulong)(0x1c110144), *(volatile uint *)(ulong)(0x1c110148));
|
|
err_no = mmc->cfg->ops->get_detail_errno(mmc);
|
|
/*if read failed and block len>1,send stop for next try*/
|
|
if (TUNING_LEN>1) {
|
|
MMCINFO("Send stop\n");
|
|
mmc_send_manual_stop(mmc);
|
|
}
|
|
} else {
|
|
ret = memcmp(std_pattern, rcv_pattern, TUNING_LEN*512);
|
|
if(ret) {
|
|
MMCINFO("pattern compare fail\n");
|
|
err_no = 0xffffffff; //force retry
|
|
} else {
|
|
MMCINFO("Pattern compare ok\n");
|
|
MMCINFO("Write tuning pattern ok\n");
|
|
goto out;
|
|
}
|
|
}
|
|
}
|
|
} while(!mmc->cfg->ops->decide_retry(mmc, err_no, 0));
|
|
MMCINFO(" Write tuning pattern failded\n");
|
|
ret = -1;
|
|
|
|
out:
|
|
free(std_pattern);
|
|
out1:
|
|
free(rcv_pattern);
|
|
return ret;
|
|
}
|
|
|
|
int sunxi_write_tuning(struct mmc *mmc)
|
|
{
|
|
u32 freqs[] = {/*400000, */25*1000*1000, 50*1000*1000};
|
|
int i = 0;
|
|
int ret = -1;
|
|
int clk_bak = mmc->clock;
|
|
|
|
if (mmc->cfg->ops->decide_retry == NULL) {
|
|
MMCINFO("Dont support tuning\n");
|
|
return 0;
|
|
}
|
|
|
|
/* reset all sample point */
|
|
mmc->cfg->ops->decide_retry(mmc, 0, 1);
|
|
for (i=0; i<sizeof(freqs)/sizeof(freqs[0]); i++) {
|
|
ret = write_tuning_try_freq(mmc, freqs[i]);
|
|
if (!ret) {
|
|
/* recover the clock before write patten*/
|
|
mmc_set_clock(mmc, clk_bak);
|
|
return ret;
|
|
}
|
|
}
|
|
return ret;
|
|
}
|
|
|
|
static ulong sunxi_read_tuning(int dev_num, ulong start, lbaint_t blkcnt, void *dst)
|
|
{
|
|
lbaint_t cur, blocks_todo = blkcnt;
|
|
struct mmc *mmc = find_mmc_device(dev_num);
|
|
|
|
if (blkcnt == 0) {
|
|
MMCINFO("blkcnt should not be 0\n");
|
|
return 0;
|
|
}
|
|
|
|
if (!mmc) {
|
|
MMCINFO("can not find mmc dev\n");
|
|
return 0;
|
|
}
|
|
|
|
if ((start + blkcnt) > mmc->block_dev.lba) {
|
|
MMCINFO("MMC: block number 0x%lx exceeds max(0x%lx)\n",
|
|
start + blkcnt, mmc->block_dev.lba);
|
|
return 0;
|
|
}
|
|
|
|
if (mmc_set_blocklen(mmc, mmc->read_bl_len)) {
|
|
MMCMSG(mmc, "Set block len failed\n");
|
|
return 0;
|
|
}
|
|
|
|
do {
|
|
cur = 1;//force to read 1 block a time
|
|
if (mmc_bread(dev_num, start, cur, dst) != cur) {
|
|
MMCMSG(mmc, "block read failed, %s %d\n", __FUNCTION__, __LINE__);
|
|
return 0;
|
|
}
|
|
blocks_todo -= cur;
|
|
start += cur;
|
|
dst = (char*)dst + cur * mmc->read_bl_len;
|
|
} while (blocks_todo > 0);
|
|
|
|
return blkcnt;
|
|
}
|
|
|
|
int sunxi_execute_tuning(struct mmc *mmc, int speed_mode)
|
|
{
|
|
int ret = 0;
|
|
int bus_width = 0;
|
|
struct sunxi_mmc_host *host = (struct sunxi_mmc_host *)mmc->priv;
|
|
int r_cycle = host->cfg.platform_caps.tm4_tune_r_cycle;
|
|
|
|
if (!IS_SD(mmc))
|
|
{
|
|
if (mmc->card_caps & MMC_MODE_8BIT)
|
|
bus_width = 8;
|
|
else if (mmc->card_caps & MMC_MODE_4BIT)
|
|
bus_width = 4;
|
|
else
|
|
bus_width = 1;
|
|
|
|
/* switch to specific speed mode */
|
|
if (speed_mode == DS26_SDR12)
|
|
ret = mmc_mmc_switch_bus_mode(mmc, DS26_SDR12, bus_width);
|
|
else if (speed_mode == HSSDR52_SDR25)
|
|
ret = mmc_mmc_switch_bus_mode(mmc, HSSDR52_SDR25, bus_width);
|
|
else if (speed_mode == HSDDR52_DDR50)
|
|
ret = mmc_mmc_switch_bus_mode(mmc, HSDDR52_DDR50, bus_width);
|
|
else if (speed_mode == HS200_SDR104)
|
|
ret = mmc_mmc_switch_bus_mode(mmc, HS200_SDR104, bus_width);
|
|
else if (speed_mode == HS400) {
|
|
/* firstly, switch to HS-DDR 8 bit */
|
|
ret = mmc_mmc_switch_bus_mode(mmc, HSDDR52_DDR50, bus_width);
|
|
if (ret) {
|
|
MMCINFO("switch to %s fail\n", spd_name[speed_mode]);
|
|
goto OUT;
|
|
}
|
|
|
|
/* then, switch to HS400 */
|
|
ret = mmc_mmc_switch_bus_mode(mmc, HS400, bus_width);
|
|
}
|
|
if (ret) {
|
|
MMCINFO("switch to %s fail\n", spd_name[speed_mode]);
|
|
goto OUT;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (speed_mode >= HSDDR52_DDR50) {
|
|
MMCINFO("don't spport %s for sd card\n", spd_name[speed_mode]);
|
|
ret = -1;
|
|
goto OUT;
|
|
}
|
|
}
|
|
|
|
/* execute tuning for current speed mode */
|
|
if (r_cycle == 0)
|
|
r_cycle = 15;
|
|
ret = sunxi_tuning_speed_mode(mmc, speed_mode, 0, r_cycle);
|
|
if (ret) {
|
|
MMCINFO("tuning for %s fail\n", spd_name[speed_mode]);
|
|
}
|
|
|
|
OUT:
|
|
return ret;
|
|
}
|
|
|
|
int sunxi_pack_tuning_result(struct mmc *mmc)
|
|
{
|
|
struct sunxi_mmc_host *host = (struct sunxi_mmc_host *)mmc->priv;
|
|
//char *spd_name[] = {"DS26/SDR12", "HSSDR52/SDR25", "HSDDR52/DDR50", "HS200/SDR104", "HS400"};
|
|
int spd_md, freq;
|
|
u32 t, val = 0;
|
|
u8 *p = NULL;
|
|
|
|
#if 0
|
|
for (spd_md=0; spd_md<MAX_SPD_MD_NUM; spd_md++)
|
|
{
|
|
if (spd_md == MAX_SPD_MD_NUM-1)
|
|
p = host->tm4.dsdly;
|
|
else
|
|
p = host->tm4.sdly;
|
|
|
|
for (freq=0; freq<MAX_CLK_FREQ_NUM; freq++)
|
|
{
|
|
printf("%02x ", p[spd_md*MAX_CLK_FREQ_NUM + freq]);
|
|
}
|
|
printf("\n");
|
|
}
|
|
printf("\n");
|
|
#endif
|
|
|
|
for (spd_md=0; spd_md<MAX_SPD_MD_NUM; spd_md++)
|
|
{
|
|
if (spd_md == HS400)
|
|
p = host->tm4.dsdly;
|
|
else
|
|
p = host->tm4.sdly;
|
|
|
|
val = 0;
|
|
for (freq=0; freq<4; freq++) {
|
|
if (spd_md == HS400)
|
|
t = p[freq];
|
|
else
|
|
t = p[spd_md*MAX_CLK_FREQ_NUM+freq];
|
|
val |= ((t & 0xFF) << (8*freq));
|
|
}
|
|
host->cfg.platform_caps.sdly.tm4_smx_fx[spd_md*2 + 0] = val;
|
|
|
|
val = 0;
|
|
for (freq=4; freq<MAX_CLK_FREQ_NUM; freq++) {
|
|
if (spd_md == HS400)
|
|
t = p[freq];
|
|
else
|
|
t = p[spd_md*MAX_CLK_FREQ_NUM+freq];
|
|
val |= ((t & 0xFF) << (8*(freq-4)));
|
|
}
|
|
host->cfg.platform_caps.sdly.tm4_smx_fx[spd_md*2 + 1] = val;
|
|
|
|
MMCINFO("%s: 0x%08x 0x%08x\n", spd_name[spd_md],
|
|
host->cfg.platform_caps.sdly.tm4_smx_fx[spd_md*2 + 0],
|
|
host->cfg.platform_caps.sdly.tm4_smx_fx[spd_md*2 + 1]);
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
int sunxi_bus_tuning(struct mmc *mmc)
|
|
{
|
|
int err = 0, ret = 0;
|
|
unsigned err_flag = 0;
|
|
|
|
#if 0
|
|
MMCINFO("================== start tuning DS26_SDR12...\n");
|
|
ret = sunxi_execute_tuning(mmc, DS26_SDR12);
|
|
if (ret) {
|
|
MMCINFO("tuning fail at DS26_SDR12\n");
|
|
err = -1;
|
|
}
|
|
#endif
|
|
|
|
MMCINFO("================== start tuning HSSDR52_SDR25...\n");
|
|
ret = sunxi_execute_tuning(mmc, HSSDR52_SDR25);
|
|
if (ret) {
|
|
MMCINFO("tuning fail at HSSDR52_SDR25\n");
|
|
err = -1;
|
|
goto ERR_RET;
|
|
}
|
|
|
|
if (mmc->cfg->host_caps & MMC_MODE_HS200)
|
|
{
|
|
MMCINFO("================== start tuning HS200_SDR104...\n");
|
|
ret = sunxi_execute_tuning(mmc, HS200_SDR104);
|
|
if (ret) {
|
|
MMCINFO("tuning fail at HS200_SDR104\n");
|
|
//err = -2;
|
|
//goto ERR_RET;
|
|
err_flag |= 0x1;
|
|
}
|
|
}
|
|
|
|
if (mmc->cfg->host_caps & MMC_MODE_DDR_52MHz)
|
|
{
|
|
MMCINFO("================== start tuning HSDDR52_DDR50...\n");
|
|
ret = sunxi_execute_tuning(mmc, HSDDR52_DDR50);
|
|
if (ret) {
|
|
MMCINFO("tuning fail at HSDDR52_DDR50\n");
|
|
//err = -3;
|
|
//goto ERR_RET;
|
|
err_flag |= 0x2;
|
|
}
|
|
}
|
|
|
|
if (((mmc->cfg->host_caps & (MMC_MODE_HS400|MMC_MODE_8BIT)) == (MMC_MODE_HS400|MMC_MODE_8BIT))
|
|
&& !(err_flag & 0x1))
|
|
{
|
|
MMCINFO("================== start tuning HS400...\n");
|
|
ret = sunxi_execute_tuning(mmc, HS400);
|
|
if (ret) {
|
|
MMCINFO("tuning fail at HS400\n");
|
|
err = -4;
|
|
goto ERR_RET;
|
|
}
|
|
|
|
ret = mmc_mmc_switch_bus_mode(mmc, HSDDR52_DDR50, mmc->bus_width);
|
|
if (ret) {
|
|
MMCINFO("switch back to HSDDR52_DDR50 8bit fail\n");
|
|
err = -5;
|
|
goto ERR_RET;
|
|
}
|
|
}
|
|
|
|
ret = mmc_mmc_switch_bus_mode(mmc, HSSDR52_SDR25, mmc->bus_width);
|
|
if (ret) {
|
|
MMCINFO("switch back to HSSDR52_SDR25 8bit fail\n");
|
|
err = -6;
|
|
goto ERR_RET;
|
|
}
|
|
|
|
sunxi_pack_tuning_result(mmc);
|
|
|
|
ERR_RET:
|
|
|
|
return err;
|
|
}
|
|
|
|
int sunxi_switch_to_best_bus(struct mmc *mmc)
|
|
{
|
|
int ret = 0, err;
|
|
struct sunxi_mmc_host *host = (struct sunxi_mmc_host *)mmc->priv;
|
|
int ifreq, imd, freq;
|
|
int sdly = 0, dsdly = 0;
|
|
int bus_width = 0;
|
|
int work_mode = uboot_spare_head.boot_data.work_mode;
|
|
char caps_bak = 0;
|
|
ALLOC_CACHE_ALIGN_BUFFER(char, ext_csd, MMC_MAX_BLOCK_LEN);
|
|
|
|
if (IS_SD(mmc) || !((host->mmc_no == 2) || (host->mmc_no == 0)))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if ((work_mode == WORK_MODE_BOOT)
|
|
|| ((work_mode != WORK_MODE_BOOT)
|
|
&& (host->cfg.platform_caps.sample_mode != AUTO_SAMPLE_MODE)))
|
|
{
|
|
char cardtype;
|
|
|
|
caps_bak = mmc->card_caps;
|
|
|
|
mmc->card_caps = 0;
|
|
if (mmc_host_is_spi(mmc))
|
|
return 0;
|
|
|
|
/* Only version 4 supports high-speed */
|
|
if (mmc->version < MMC_VERSION_4)
|
|
return 0;
|
|
|
|
/* here we assume eMMC support 8 bit */
|
|
mmc->card_caps |= MMC_MODE_4BIT | MMC_MODE_8BIT;
|
|
|
|
err = mmc_send_ext_csd(mmc, ext_csd);
|
|
if (err) {
|
|
MMCINFO("mmc get ext csd failed\n");
|
|
return err;
|
|
}
|
|
|
|
cardtype = ext_csd[EXT_CSD_CARD_TYPE] & 0xFF;
|
|
|
|
MMCDBG("raw card caps 0x%x\n", cardtype);
|
|
|
|
mmc->card_caps = caps_bak;
|
|
if ((cardtype & EXT_CSD_CARD_TYPE_HS400)
|
|
&& (mmc->card_caps & MMC_MODE_8BIT))
|
|
mmc->card_caps |= MMC_MODE_HS400;
|
|
if (cardtype & EXT_CSD_CARD_TYPE_HS200)
|
|
mmc->card_caps |= MMC_MODE_HS200;
|
|
if (cardtype & EXT_CSD_CARD_TYPE_HS) {
|
|
if (cardtype & EXT_CSD_CARD_TYPE_DDR_52)
|
|
mmc->card_caps |= MMC_MODE_DDR_52MHz;
|
|
}
|
|
}
|
|
|
|
MMCDBG("card caps 0x%x\n", mmc->card_caps);
|
|
|
|
|
|
if ((mmc->card_caps & (MMC_MODE_HS400|MMC_MODE_8BIT))
|
|
== (MMC_MODE_HS400|MMC_MODE_8BIT))
|
|
{
|
|
imd = HS400;
|
|
for (ifreq=5; ifreq>=2; ifreq--) /*1-25MHz; 2-50MHz; 3-100MHz; 4-150MHz; 5-200MHz*/
|
|
{
|
|
imd = HS200_SDR104;
|
|
sdly = host->tm4.sdly[imd*MAX_CLK_FREQ_NUM+ifreq];
|
|
imd = HS400;
|
|
dsdly = host->tm4.dsdly[ifreq];
|
|
if ((sdly != 0xff) && (dsdly != 0xff))
|
|
goto START_SWITCH;
|
|
}
|
|
}
|
|
if (mmc->card_caps & MMC_MODE_HS200)
|
|
{
|
|
imd = HS200_SDR104;
|
|
for (ifreq=5; ifreq>=4; ifreq--) /*1-25MHz; 2-50MHz; 3-100MHz; 4-150MHz; 5-200MHz*/
|
|
{
|
|
sdly = host->tm4.sdly[imd*MAX_CLK_FREQ_NUM+ifreq];
|
|
if (sdly != 0xFF)
|
|
goto START_SWITCH;
|
|
}
|
|
}
|
|
if (mmc->card_caps & MMC_MODE_DDR_52MHz)
|
|
{
|
|
imd = HSDDR52_DDR50;
|
|
for (ifreq=2; ifreq>=2; ifreq--) /*1-25MHz; 2-50MHz; 3-100MHz; 4-150MHz; 5-200MHz*/
|
|
{
|
|
if (host->mmc_no == 2)
|
|
sdly = host->tm4.sdly[imd*MAX_CLK_FREQ_NUM+ifreq];
|
|
else if (host->mmc_no == 0)
|
|
sdly = host->tm1.sdly[imd*MAX_CLK_FREQ_NUM+ifreq];
|
|
|
|
if (sdly != 0xFF)
|
|
goto START_SWITCH;
|
|
}
|
|
}
|
|
if (mmc->card_caps & MMC_MODE_HS_52MHz)
|
|
{
|
|
imd = HSSDR52_SDR25;
|
|
for (ifreq=2; ifreq>=1; ifreq--) /*1-25MHz; 2-50MHz; 3-100MHz; 4-150MHz; 5-200MHz*/
|
|
{
|
|
sdly = host->tm4.sdly[imd*MAX_CLK_FREQ_NUM+ifreq];
|
|
if (sdly != 0xFF)
|
|
goto START_SWITCH;
|
|
}
|
|
}
|
|
|
|
//imd = DS26_SDR12;
|
|
//ifreq = CLK_25M;
|
|
imd = HSSDR52_SDR25;
|
|
ifreq = CLK_50M;
|
|
MMCINFO("use default speed mode: %d-%s, ifreq: %d\n", imd, spd_name[imd], ifreq);
|
|
|
|
|
|
//MMCINFO("don't find best speed mode and freq\n");
|
|
//ret = -1;
|
|
//goto OUT;
|
|
|
|
START_SWITCH:
|
|
if ((freq = sunxi_select_freq(mmc, imd, ifreq)) != 0)
|
|
mmc->tran_speed = freq;
|
|
else {
|
|
MMCINFO("%s: err freq %d-%d\n", __func__, ifreq, freq);
|
|
ret = -1;
|
|
goto OUT;
|
|
}
|
|
|
|
MMCINFO("========best spd md: %d-%s, freq: %d-%d\n", imd, spd_name[imd], ifreq, freq);
|
|
|
|
if (mmc->card_caps & MMC_MODE_8BIT)
|
|
bus_width = 8;
|
|
else if (mmc->card_caps & MMC_MODE_4BIT)
|
|
bus_width = 4;
|
|
else
|
|
bus_width = 1;
|
|
|
|
/* switch to specific speed mode */
|
|
if (imd == DS26_SDR12)
|
|
ret = mmc_mmc_switch_bus_mode(mmc, DS26_SDR12, bus_width);
|
|
else if (imd == HSSDR52_SDR25)
|
|
ret = mmc_mmc_switch_bus_mode(mmc, HSSDR52_SDR25, bus_width);
|
|
else if (imd == HSDDR52_DDR50)
|
|
ret = mmc_mmc_switch_bus_mode(mmc, HSDDR52_DDR50, bus_width);
|
|
else if (imd == HS200_SDR104)
|
|
ret = mmc_mmc_switch_bus_mode(mmc, HS200_SDR104, bus_width);
|
|
else if (imd == HS400) {
|
|
/* firstly, switch to HS-DDR 8 bit */
|
|
ret = mmc_mmc_switch_bus_mode(mmc, HSDDR52_DDR50, bus_width);
|
|
if (ret) {
|
|
MMCINFO("switch to %s fail\n", spd_name[imd]);
|
|
goto OUT;
|
|
}
|
|
|
|
/* then, switch to HS400 */
|
|
ret = mmc_mmc_switch_bus_mode(mmc, HS400, bus_width);
|
|
}
|
|
if (ret) {
|
|
MMCINFO("switch to %s fail\n", spd_name[imd]);
|
|
goto OUT;
|
|
}
|
|
|
|
mmc_set_clock(mmc, mmc->tran_speed);
|
|
|
|
OUT:
|
|
|
|
return ret;
|
|
}
|
|
|
|
int mmc_write_info(int dev_num, void *buffer, u32 buffer_size)
|
|
{
|
|
struct mmc *mmc = find_mmc_device(dev_num);
|
|
int work_mode = uboot_spare_head.boot_data.work_mode;
|
|
struct boot_sdmmc_private_info_t priv_info;
|
|
|
|
if (mmc == NULL) {
|
|
MMCINFO("Can not find mmc\n");
|
|
return -1;
|
|
}
|
|
|
|
if (work_mode != WORK_MODE_BOOT)
|
|
{
|
|
memset(&priv_info, 0x0, sizeof(priv_info));
|
|
|
|
if (mmc->cfg->platform_caps.sample_mode == AUTO_SAMPLE_MODE) {
|
|
if ((sizeof(struct tune_sdly)+64) > buffer_size) { /* 64byte is resvered for other information */
|
|
MMCINFO("size of tuning_sdly over %d\n", buffer_size);
|
|
} else
|
|
memcpy(&priv_info.tune_sdly.tm4_smx_fx[0],
|
|
(void *)&mmc->cfg->platform_caps.sdly.tm4_smx_fx[0], sizeof(struct tune_sdly));
|
|
} else {
|
|
/* fill invalid information "0xff" */
|
|
memset(&priv_info.tune_sdly.tm4_smx_fx[0], 0xff, sizeof(struct tune_sdly));
|
|
}
|
|
priv_info.boot_mmc_cfg.boot0_para = mmc->cfg->platform_caps.boot0_para;
|
|
priv_info.boot_mmc_cfg.boot_odly_50M = mmc->cfg->platform_caps.boot_odly_50M;
|
|
priv_info.boot_mmc_cfg.boot_sdly_50M = mmc->cfg->platform_caps.boot_sdly_50M;
|
|
priv_info.boot_mmc_cfg.boot_odly_50M_ddr = mmc->cfg->platform_caps.boot_odly_50M_ddr;
|
|
priv_info.boot_mmc_cfg.boot_sdly_50M_ddr = mmc->cfg->platform_caps.boot_sdly_50M_ddr;
|
|
priv_info.boot_mmc_cfg.boot_hs_f_max = mmc->cfg->platform_caps.boot_hs_f_max;
|
|
|
|
if (IS_SD(mmc))
|
|
priv_info.card_type = CARD_TYPE_SD;
|
|
else
|
|
priv_info.card_type = CARD_TYPE_MMC;
|
|
|
|
/* offset 0~127: boot0 struct _boot_sdcard_info_t; offset 128~255: struct tune_sdly, timing parameter for speed mode and frequency */
|
|
memcpy((buffer+SDMMC_PRIV_INFO_ADDR_OFFSET), (void *)&priv_info, sizeof(priv_info));
|
|
|
|
#if 0
|
|
{
|
|
u32 i, *p;
|
|
p = (u32 *)(buffer+SDMMC_PRIV_INFO_ADDR_OFFSET);
|
|
for (i=0; i<sizeof(priv_info)/4; i++)
|
|
MMCINFO("%d %x\n", i, p[i]);
|
|
}
|
|
#endif
|
|
|
|
MMCINFO("write mmc info ok\n");
|
|
return 0;
|
|
}
|
|
|
|
return -1;
|
|
}
|
|
|