Alsa-devel
Threads by month
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
January 2020
- 133 participants
- 383 discussions
Signed-off-by: Charles Keepax <ckeepax(a)opensource.cirrus.com>
---
sound/soc/codecs/madera.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/soc/codecs/madera.c b/sound/soc/codecs/madera.c
index f65d123929659..40de9d7811d1f 100644
--- a/sound/soc/codecs/madera.c
+++ b/sound/soc/codecs/madera.c
@@ -4714,7 +4714,7 @@ EXPORT_SYMBOL_GPL(madera_fllhj_set_refclk);
*
* @component: Device to configure
* @output: Output number
- * @diff: True to set the output to differential mode
+ * @differential: True to set the output to differential mode
*
* Some systems use external analogue switches to connect more
* analogue devices to the CODEC than are supported by the device. In
--
2.11.0
2
1
23 Jan '20
From: Jack Yu <jack.yu(a)realtek.com>
This is initial amplifier driver for rt1015.
Signed-off-by: Jack Yu <jack.yu(a)realtek.com>
---
.../devicetree/bindings/sound/rt1015.txt | 17 +
sound/soc/codecs/Kconfig | 6 +
sound/soc/codecs/Makefile | 2 +
sound/soc/codecs/rt1015.c | 993 ++++++++++++++++++
sound/soc/codecs/rt1015.h | 375 +++++++
5 files changed, 1393 insertions(+)
create mode 100644 Documentation/devicetree/bindings/sound/rt1015.txt
create mode 100644 sound/soc/codecs/rt1015.c
create mode 100644 sound/soc/codecs/rt1015.h
diff --git a/Documentation/devicetree/bindings/sound/rt1015.txt b/Documentation/devicetree/bindings/sound/rt1015.txt
new file mode 100644
index 000000000000..fcfd02d8d32f
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/rt1015.txt
@@ -0,0 +1,17 @@
+RT1015 Mono Class D Audio Amplifier
+
+This device supports I2C only.
+
+Required properties:
+
+- compatible : "realtek,rt1015".
+
+- reg : The I2C address of the device.
+
+
+Example:
+
+rt1015: codec@28 {
+ compatible = "realtek,rt1015";
+ reg = <0x28>;
+};
diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig
index de3f13dafc3c..797f198bcfa3 100644
--- a/sound/soc/codecs/Kconfig
+++ b/sound/soc/codecs/Kconfig
@@ -150,6 +150,7 @@ config SND_SOC_ALL_CODECS
select SND_SOC_RT286 if I2C
select SND_SOC_RT298 if I2C
select SND_SOC_RT1011 if I2C
+ select SND_SOC_RT1015 if I2C
select SND_SOC_RT1305 if I2C
select SND_SOC_RT1308 if I2C
select SND_SOC_RT5514 if I2C
@@ -969,6 +970,7 @@ config SND_SOC_RL6231
default y if SND_SOC_RT5677=y
default y if SND_SOC_RT5682=y
default y if SND_SOC_RT1011=y
+ default y if SND_SOC_RT1015=y
default y if SND_SOC_RT1305=y
default y if SND_SOC_RT1308=y
default m if SND_SOC_RT5514=m
@@ -985,6 +987,7 @@ config SND_SOC_RL6231
default m if SND_SOC_RT5677=m
default m if SND_SOC_RT5682=m
default m if SND_SOC_RT1011=m
+ default m if SND_SOC_RT1015=m
default m if SND_SOC_RT1305=m
default m if SND_SOC_RT1308=m
@@ -1012,6 +1015,9 @@ config SND_SOC_RT298
config SND_SOC_RT1011
tristate
+config SND_SOC_RT1015
+ tristate
+
config SND_SOC_RT1305
tristate
diff --git a/sound/soc/codecs/Makefile b/sound/soc/codecs/Makefile
index 751f2b4d095b..1f9b1301df5a 100644
--- a/sound/soc/codecs/Makefile
+++ b/sound/soc/codecs/Makefile
@@ -153,6 +153,7 @@ snd-soc-rk3328-objs := rk3328_codec.o
snd-soc-rl6231-objs := rl6231.o
snd-soc-rl6347a-objs := rl6347a.o
snd-soc-rt1011-objs := rt1011.o
+snd-soc-rt1015-objs := rt1015.o
snd-soc-rt1305-objs := rt1305.o
snd-soc-rt1308-objs := rt1308.o
snd-soc-rt1308-sdw-objs := rt1308-sdw.o
@@ -449,6 +450,7 @@ obj-$(CONFIG_SND_SOC_RK3328) += snd-soc-rk3328.o
obj-$(CONFIG_SND_SOC_RL6231) += snd-soc-rl6231.o
obj-$(CONFIG_SND_SOC_RL6347A) += snd-soc-rl6347a.o
obj-$(CONFIG_SND_SOC_RT1011) += snd-soc-rt1011.o
+obj-$(CONFIG_SND_SOC_RT1015) += snd-soc-rt1015.o
obj-$(CONFIG_SND_SOC_RT1305) += snd-soc-rt1305.o
obj-$(CONFIG_SND_SOC_RT1308) += snd-soc-rt1308.o
obj-$(CONFIG_SND_SOC_RT1308_SDW) += snd-soc-rt1308-sdw.o
diff --git a/sound/soc/codecs/rt1015.c b/sound/soc/codecs/rt1015.c
new file mode 100644
index 000000000000..4a9c5b54008f
--- /dev/null
+++ b/sound/soc/codecs/rt1015.c
@@ -0,0 +1,993 @@
+// SPDX-License-Identifier: GPL-2.0
+//
+// rt1015.c -- RT1015 ALSA SoC audio amplifier driver
+//
+// Copyright 2019 Realtek Semiconductor Corp.
+//
+// Author: Jack Yu <jack.yu(a)realtek.com>
+//
+//
+
+#include <linux/fs.h>
+#include <linux/module.h>
+#include <linux/moduleparam.h>
+#include <linux/init.h>
+#include <linux/delay.h>
+#include <linux/pm.h>
+#include <linux/regmap.h>
+#include <linux/i2c.h>
+#include <linux/platform_device.h>
+#include <linux/firmware.h>
+#include <linux/gpio.h>
+#include <sound/core.h>
+#include <sound/pcm.h>
+#include <sound/pcm_params.h>
+#include <sound/soc.h>
+#include <sound/soc-dapm.h>
+#include <sound/initval.h>
+#include <sound/tlv.h>
+
+#include "rl6231.h"
+#include "rt1015.h"
+
+static const struct reg_default rt1015_reg[] = {
+ { 0x0000, 0x0000 },
+ { 0x0004, 0xa000 },
+ { 0x0006, 0x0003 },
+ { 0x000a, 0x0802 },
+ { 0x000c, 0x0020 },
+ { 0x000e, 0x0000 },
+ { 0x0010, 0x0000 },
+ { 0x0012, 0x0000 },
+ { 0x0020, 0x8000 },
+ { 0x0022, 0x471b },
+ { 0x006a, 0x0000 },
+ { 0x006c, 0x4020 },
+ { 0x0076, 0x0000 },
+ { 0x0078, 0x0000 },
+ { 0x007a, 0x0000 },
+ { 0x007c, 0x10ec },
+ { 0x007d, 0x1015 },
+ { 0x00f0, 0x5000 },
+ { 0x00f2, 0x0774 },
+ { 0x00f3, 0x8400 },
+ { 0x00f4, 0x0000 },
+ { 0x0100, 0x0028 },
+ { 0x0102, 0xff02 },
+ { 0x0104, 0x8232 },
+ { 0x0106, 0x200c },
+ { 0x010c, 0x002f },
+ { 0x010e, 0xc000 },
+ { 0x0111, 0x0200 },
+ { 0x0112, 0x0400 },
+ { 0x0114, 0x0022 },
+ { 0x0116, 0x0000 },
+ { 0x0118, 0x0000 },
+ { 0x011a, 0x0123 },
+ { 0x011c, 0x4567 },
+ { 0x0300, 0xdddd },
+ { 0x0302, 0x0000 },
+ { 0x0311, 0x9330 },
+ { 0x0313, 0x0000 },
+ { 0x0314, 0x0000 },
+ { 0x031a, 0x00a0 },
+ { 0x031c, 0x001f },
+ { 0x031d, 0xffff },
+ { 0x031e, 0x0000 },
+ { 0x031f, 0x0000 },
+ { 0x0321, 0x0000 },
+ { 0x0322, 0x0000 },
+ { 0x0328, 0x0000 },
+ { 0x0329, 0x0000 },
+ { 0x032a, 0x0000 },
+ { 0x032b, 0x0000 },
+ { 0x032c, 0x0000 },
+ { 0x032d, 0x0000 },
+ { 0x032e, 0x030e },
+ { 0x0330, 0x0080 },
+ { 0x0332, 0x0034 },
+ { 0x0334, 0x0000 },
+ { 0x0336, 0x0000 },
+ { 0x0506, 0x04ff },
+ { 0x0508, 0x0030 },
+ { 0x050a, 0x0018 },
+ { 0x0519, 0x307f },
+ { 0x051a, 0xffff },
+ { 0x051b, 0x4000 },
+ { 0x051d, 0x0000 },
+ { 0x051f, 0x0000 },
+ { 0x0536, 0x1000 },
+ { 0x0538, 0x0000 },
+ { 0x053a, 0x0000 },
+ { 0x053c, 0x0000 },
+ { 0x053d, 0x0000 },
+ { 0x053e, 0x0000 },
+ { 0x053f, 0x0000 },
+ { 0x0540, 0x0000 },
+ { 0x0541, 0x0000 },
+ { 0x0542, 0x0000 },
+ { 0x0543, 0x0000 },
+ { 0x0544, 0x0000 },
+ { 0x0568, 0x0000 },
+ { 0x056a, 0x0000 },
+ { 0x1000, 0x0000 },
+ { 0x1002, 0x6505 },
+ { 0x1006, 0x5515 },
+ { 0x1007, 0x003f },
+ { 0x1009, 0x770f },
+ { 0x100a, 0x01ff },
+ { 0x100c, 0x0000 },
+ { 0x100d, 0x0003 },
+ { 0x1010, 0xa433 },
+ { 0x1020, 0x0000 },
+ { 0x1200, 0x3d02 },
+ { 0x1202, 0x0813 },
+ { 0x1204, 0x0211 },
+ { 0x1206, 0x0000 },
+ { 0x1208, 0x0000 },
+ { 0x120a, 0x0000 },
+ { 0x120c, 0x0000 },
+ { 0x120e, 0x0000 },
+ { 0x1210, 0x0000 },
+ { 0x1212, 0x0000 },
+ { 0x1300, 0x0701 },
+ { 0x1302, 0x12f9 },
+ { 0x1304, 0x3405 },
+ { 0x1305, 0x0844 },
+ { 0x1306, 0x1611 },
+ { 0x1308, 0x555e },
+ { 0x130a, 0x0000 },
+ { 0x130c, 0x2400},
+ { 0x130e, 0x7700 },
+ { 0x130f, 0x0000 },
+ { 0x1310, 0x0000 },
+ { 0x1312, 0x0000 },
+ { 0x1314, 0x0000 },
+ { 0x1316, 0x0000 },
+ { 0x1318, 0x0000 },
+ { 0x131a, 0x0000 },
+ { 0x1322, 0x0029 },
+ { 0x1323, 0x4a52 },
+ { 0x1324, 0x002c },
+ { 0x1325, 0x0b02 },
+ { 0x1326, 0x002d },
+ { 0x1327, 0x6b5a },
+ { 0x1328, 0x002e },
+ { 0x1329, 0xcbb2 },
+ { 0x132a, 0x0030 },
+ { 0x132b, 0x2c0b },
+ { 0x1330, 0x0031 },
+ { 0x1331, 0x8c63 },
+ { 0x1332, 0x0032 },
+ { 0x1333, 0xecbb },
+ { 0x1334, 0x0034 },
+ { 0x1335, 0x4d13 },
+ { 0x1336, 0x0037 },
+ { 0x1337, 0x0dc3 },
+ { 0x1338, 0x003d },
+ { 0x1339, 0xef7b },
+ { 0x133a, 0x0044 },
+ { 0x133b, 0xd134 },
+ { 0x133c, 0x0047 },
+ { 0x133d, 0x91e4 },
+ { 0x133e, 0x004d },
+ { 0x133f, 0xc370 },
+ { 0x1340, 0x0053 },
+ { 0x1341, 0xf4fd },
+ { 0x1342, 0x0060 },
+ { 0x1343, 0x5816 },
+ { 0x1344, 0x006c },
+ { 0x1345, 0xbb2e },
+ { 0x1346, 0x0072 },
+ { 0x1347, 0xecbb },
+ { 0x1348, 0x0076 },
+ { 0x1349, 0x5d97 },
+};
+
+static bool rt1015_volatile_register(struct device *dev, unsigned int reg)
+{
+ switch (reg) {
+ case RT1015_RESET:
+ case RT1015_CLK_DET:
+ case RT1015_SIL_DET:
+ case RT1015_VER_ID:
+ case RT1015_VENDOR_ID:
+ case RT1015_DEVICE_ID:
+ case RT1015_PRO_ALT:
+ case RT1015_DAC3:
+ case RT1015_VBAT_TEST_OUT1:
+ case RT1015_VBAT_TEST_OUT2:
+ case RT1015_VBAT_PROT_ATT:
+ case RT1015_VBAT_DET_CODE:
+ case RT1015_SMART_BST_CTRL1:
+ case RT1015_SPK_DC_DETECT1:
+ case RT1015_SPK_DC_DETECT4:
+ case RT1015_SPK_DC_DETECT5:
+ case RT1015_DC_CALIB_CLSD1:
+ case RT1015_DC_CALIB_CLSD5:
+ case RT1015_DC_CALIB_CLSD6:
+ case RT1015_DC_CALIB_CLSD7:
+ case RT1015_DC_CALIB_CLSD8:
+ case RT1015_S_BST_TIMING_INTER1:
+ return true;
+
+ default:
+ return false;
+ }
+}
+
+static bool rt1015_readable_register(struct device *dev, unsigned int reg)
+{
+ switch (reg) {
+ case RT1015_RESET:
+ case RT1015_CLK2:
+ case RT1015_CLK3:
+ case RT1015_PLL1:
+ case RT1015_PLL2:
+ case RT1015_CLK_DET:
+ case RT1015_SIL_DET:
+ case RT1015_CUSTOMER_ID:
+ case RT1015_PCODE_FWVER:
+ case RT1015_VER_ID:
+ case RT1015_VENDOR_ID:
+ case RT1015_DEVICE_ID:
+ case RT1015_PAD_DRV1:
+ case RT1015_PAD_DRV2:
+ case RT1015_GAT_BOOST:
+ case RT1015_PRO_ALT:
+ case RT1015_MAN_I2C:
+ case RT1015_DAC1:
+ case RT1015_DAC2:
+ case RT1015_DAC3:
+ case RT1015_ADC1:
+ case RT1015_ADC2:
+ case RT1015_TDM_MASTER:
+ case RT1015_TDM_TCON:
+ case RT1015_TDM1_1:
+ case RT1015_TDM1_2:
+ case RT1015_TDM1_3:
+ case RT1015_TDM1_4:
+ case RT1015_TDM1_5:
+ case RT1015_MIXER1:
+ case RT1015_MIXER2:
+ case RT1015_ANA_PROTECT1:
+ case RT1015_ANA_CTRL_SEQ1:
+ case RT1015_ANA_CTRL_SEQ2:
+ case RT1015_VBAT_DET_DEB:
+ case RT1015_VBAT_VOLT_DET1:
+ case RT1015_VBAT_VOLT_DET2:
+ case RT1015_VBAT_TEST_OUT1:
+ case RT1015_VBAT_TEST_OUT2:
+ case RT1015_VBAT_PROT_ATT:
+ case RT1015_VBAT_DET_CODE:
+ case RT1015_PWR1:
+ case RT1015_PWR4:
+ case RT1015_PWR5:
+ case RT1015_PWR6:
+ case RT1015_PWR7:
+ case RT1015_PWR8:
+ case RT1015_PWR9:
+ case RT1015_CLASSD_SEQ:
+ case RT1015_SMART_BST_CTRL1:
+ case RT1015_SMART_BST_CTRL2:
+ case RT1015_ANA_CTRL1:
+ case RT1015_ANA_CTRL2:
+ case RT1015_SPK_VOL:
+ case RT1015_SHORT_DETTOP1:
+ case RT1015_SHORT_DETTOP2:
+ case RT1015_SPK_DC_DETECT1:
+ case RT1015_SPK_DC_DETECT2:
+ case RT1015_SPK_DC_DETECT3:
+ case RT1015_SPK_DC_DETECT4:
+ case RT1015_SPK_DC_DETECT5:
+ case RT1015_BAT_RPO_STEP1:
+ case RT1015_BAT_RPO_STEP2:
+ case RT1015_BAT_RPO_STEP3:
+ case RT1015_BAT_RPO_STEP4:
+ case RT1015_BAT_RPO_STEP5:
+ case RT1015_BAT_RPO_STEP6:
+ case RT1015_BAT_RPO_STEP7:
+ case RT1015_BAT_RPO_STEP8:
+ case RT1015_BAT_RPO_STEP9:
+ case RT1015_BAT_RPO_STEP10:
+ case RT1015_BAT_RPO_STEP11:
+ case RT1015_BAT_RPO_STEP12:
+ case RT1015_SPREAD_SPEC1:
+ case RT1015_SPREAD_SPEC2:
+ case RT1015_PAD_STATUS:
+ case RT1015_PADS_PULLING_CTRL1:
+ case RT1015_PADS_DRIVING:
+ case RT1015_SYS_RST1:
+ case RT1015_SYS_RST2:
+ case RT1015_SYS_GATING1:
+ case RT1015_TEST_MODE1:
+ case RT1015_TEST_MODE2:
+ case RT1015_TIMING_CTRL1:
+ case RT1015_PLL_INT:
+ case RT1015_TEST_OUT1:
+ case RT1015_DC_CALIB_CLSD1:
+ case RT1015_DC_CALIB_CLSD2:
+ case RT1015_DC_CALIB_CLSD3:
+ case RT1015_DC_CALIB_CLSD4:
+ case RT1015_DC_CALIB_CLSD5:
+ case RT1015_DC_CALIB_CLSD6:
+ case RT1015_DC_CALIB_CLSD7:
+ case RT1015_DC_CALIB_CLSD8:
+ case RT1015_DC_CALIB_CLSD9:
+ case RT1015_DC_CALIB_CLSD10:
+ case RT1015_CLSD_INTERNAL1:
+ case RT1015_CLSD_INTERNAL2:
+ case RT1015_CLSD_INTERNAL3:
+ case RT1015_CLSD_INTERNAL4:
+ case RT1015_CLSD_INTERNAL5:
+ case RT1015_CLSD_INTERNAL6:
+ case RT1015_CLSD_INTERNAL7:
+ case RT1015_CLSD_INTERNAL8:
+ case RT1015_CLSD_INTERNAL9:
+ case RT1015_CLSD_OCP_CTRL:
+ case RT1015_VREF_LV:
+ case RT1015_MBIAS1:
+ case RT1015_MBIAS2:
+ case RT1015_MBIAS3:
+ case RT1015_MBIAS4:
+ case RT1015_VREF_LV1:
+ case RT1015_S_BST_TIMING_INTER1:
+ case RT1015_S_BST_TIMING_INTER2:
+ case RT1015_S_BST_TIMING_INTER3:
+ case RT1015_S_BST_TIMING_INTER4:
+ case RT1015_S_BST_TIMING_INTER5:
+ case RT1015_S_BST_TIMING_INTER6:
+ case RT1015_S_BST_TIMING_INTER7:
+ case RT1015_S_BST_TIMING_INTER8:
+ case RT1015_S_BST_TIMING_INTER9:
+ case RT1015_S_BST_TIMING_INTER10:
+ case RT1015_S_BST_TIMING_INTER11:
+ case RT1015_S_BST_TIMING_INTER12:
+ case RT1015_S_BST_TIMING_INTER13:
+ case RT1015_S_BST_TIMING_INTER14:
+ case RT1015_S_BST_TIMING_INTER15:
+ case RT1015_S_BST_TIMING_INTER16:
+ case RT1015_S_BST_TIMING_INTER17:
+ case RT1015_S_BST_TIMING_INTER18:
+ case RT1015_S_BST_TIMING_INTER19:
+ case RT1015_S_BST_TIMING_INTER20:
+ case RT1015_S_BST_TIMING_INTER21:
+ case RT1015_S_BST_TIMING_INTER22:
+ case RT1015_S_BST_TIMING_INTER23:
+ case RT1015_S_BST_TIMING_INTER24:
+ case RT1015_S_BST_TIMING_INTER25:
+ case RT1015_S_BST_TIMING_INTER26:
+ case RT1015_S_BST_TIMING_INTER27:
+ case RT1015_S_BST_TIMING_INTER28:
+ case RT1015_S_BST_TIMING_INTER29:
+ case RT1015_S_BST_TIMING_INTER30:
+ case RT1015_S_BST_TIMING_INTER31:
+ case RT1015_S_BST_TIMING_INTER32:
+ case RT1015_S_BST_TIMING_INTER33:
+ case RT1015_S_BST_TIMING_INTER34:
+ case RT1015_S_BST_TIMING_INTER35:
+ case RT1015_S_BST_TIMING_INTER36:
+ return true;
+
+ default:
+ return false;
+ }
+}
+
+static const DECLARE_TLV_DB_SCALE(dac_vol_tlv, -9525, 75, 0);
+
+static const char * const rt1015_din_source_select[] = {
+ "Left",
+ "Right",
+ "Left + Right average",
+};
+
+static SOC_ENUM_SINGLE_DECL(rt1015_mono_lr_sel, RT1015_PAD_DRV2, 4,
+ rt1015_din_source_select);
+
+static const char * const rt1015_boost_mode[] = {
+ "Bypass", "Adaptive", "Fixed Adaptive"
+};
+
+static const SOC_ENUM_SINGLE_DECL(rt1015_boost_mode_enum, 0, 0,
+ rt1015_boost_mode);
+
+static int rt1015_boost_mode_get(struct snd_kcontrol *kcontrol,
+ struct snd_ctl_elem_value *ucontrol)
+{
+ struct snd_soc_component *component =
+ snd_soc_kcontrol_component(kcontrol);
+ struct rt1015_priv *rt1015 =
+ snd_soc_component_get_drvdata(component);
+
+ ucontrol->value.integer.value[0] = rt1015->boost_mode;
+
+ return 0;
+}
+
+static int rt1015_boost_mode_put(struct snd_kcontrol *kcontrol,
+ struct snd_ctl_elem_value *ucontrol)
+{
+ struct snd_soc_component *component =
+ snd_soc_kcontrol_component(kcontrol);
+ struct rt1015_priv *rt1015 =
+ snd_soc_component_get_drvdata(component);
+
+ rt1015->boost_mode = ucontrol->value.integer.value[0];
+
+ switch (rt1015->boost_mode) {
+ case BYPASS:
+ snd_soc_component_update_bits(component,
+ RT1015_SMART_BST_CTRL1, RT1015_ABST_AUTO_EN_MASK |
+ RT1015_ABST_FIX_TGT_MASK | RT1015_BYPASS_SWR_REG_MASK,
+ RT1015_ABST_REG_MODE | RT1015_ABST_FIX_TGT_DIS |
+ RT1015_BYPASS_SWRREG_BYPASS);
+ break;
+ case ADAPTIVE:
+ snd_soc_component_update_bits(component,
+ RT1015_SMART_BST_CTRL1, RT1015_ABST_AUTO_EN_MASK |
+ RT1015_ABST_FIX_TGT_MASK | RT1015_BYPASS_SWR_REG_MASK,
+ RT1015_ABST_AUTO_MODE | RT1015_ABST_FIX_TGT_DIS |
+ RT1015_BYPASS_SWRREG_PASS);
+ break;
+ case FIXED_ADAPTIVE:
+ snd_soc_component_update_bits(component,
+ RT1015_SMART_BST_CTRL1, RT1015_ABST_AUTO_EN_MASK |
+ RT1015_ABST_FIX_TGT_MASK | RT1015_BYPASS_SWR_REG_MASK,
+ RT1015_ABST_AUTO_MODE | RT1015_ABST_FIX_TGT_EN |
+ RT1015_BYPASS_SWRREG_PASS);
+ break;
+ default:
+ dev_err(component->dev, "Unknown boost control.\n");
+ }
+
+ return 0;
+}
+
+static int rt5518_bypass_boost_get(struct snd_kcontrol *kcontrol,
+ struct snd_ctl_elem_value *ucontrol)
+{
+ struct snd_soc_component *component =
+ snd_soc_kcontrol_component(kcontrol);
+ struct rt1015_priv *rt1015 =
+ snd_soc_component_get_drvdata(component);
+
+ ucontrol->value.integer.value[0] = rt1015->bypass_boost;
+
+ return 0;
+}
+
+static int rt5518_bypass_boost_put(struct snd_kcontrol *kcontrol,
+ struct snd_ctl_elem_value *ucontrol)
+{
+ struct snd_soc_component *component =
+ snd_soc_kcontrol_component(kcontrol);
+ struct rt1015_priv *rt1015 =
+ snd_soc_component_get_drvdata(component);
+
+ if (!rt1015->dac_is_used) {
+ rt1015->bypass_boost = ucontrol->value.integer.value[0];
+ if (rt1015->bypass_boost == 1) {
+ snd_soc_component_write(component,
+ RT1015_PWR4, 0x00b2);
+ snd_soc_component_write(component,
+ RT1015_CLSD_INTERNAL8, 0x2008);
+ snd_soc_component_write(component,
+ RT1015_CLSD_INTERNAL9, 0x0140);
+ snd_soc_component_write(component,
+ RT1015_GAT_BOOST, 0x00fe);
+ snd_soc_component_write(component,
+ RT1015_PWR_STATE_CTRL, 0x000d);
+ msleep(500);
+ snd_soc_component_write(component,
+ RT1015_PWR_STATE_CTRL, 0x000e);
+ }
+ } else
+ dev_err(component->dev, "DAC is being used!\n");
+
+ return 0;
+}
+
+static const struct snd_kcontrol_new rt1015_snd_controls[] = {
+ SOC_SINGLE_TLV("DAC Playback Volume", RT1015_DAC1, RT1015_DAC_VOL_SFT,
+ 127, 0, dac_vol_tlv),
+ SOC_DOUBLE("DAC Playback Switch", RT1015_DAC3,
+ RT1015_DA_MUTE_SFT, RT1015_DVOL_MUTE_FLAG_SFT, 1, 1),
+ SOC_ENUM_EXT("Boost Mode", rt1015_boost_mode_enum,
+ rt1015_boost_mode_get, rt1015_boost_mode_put),
+ SOC_ENUM("Mono LR Select", rt1015_mono_lr_sel),
+ SOC_SINGLE_EXT("Bypass Boost", SND_SOC_NOPM, 0, 1, 0,
+ rt5518_bypass_boost_get, rt5518_bypass_boost_put),
+};
+
+static int rt1015_is_sys_clk_from_pll(struct snd_soc_dapm_widget *source,
+ struct snd_soc_dapm_widget *sink)
+{
+ struct snd_soc_component *component =
+ snd_soc_dapm_to_component(source->dapm);
+ struct rt1015_priv *rt1015 = snd_soc_component_get_drvdata(component);
+
+ if (rt1015->sysclk_src == RT1015_SCLK_S_PLL)
+ return 1;
+ else
+ return 0;
+}
+
+static int r1015_dac_event(struct snd_soc_dapm_widget *w,
+ struct snd_kcontrol *kcontrol, int event)
+{
+ struct snd_soc_component *component =
+ snd_soc_dapm_to_component(w->dapm);
+ struct rt1015_priv *rt1015 = snd_soc_component_get_drvdata(component);
+
+ switch (event) {
+ case SND_SOC_DAPM_PRE_PMU:
+ rt1015->dac_is_used = 1;
+ if (rt1015->bypass_boost == 0) {
+ snd_soc_component_write(component,
+ RT1015_SYS_RST1, 0x05f7);
+ snd_soc_component_write(component,
+ RT1015_GAT_BOOST, 0xacfe);
+ snd_soc_component_write(component,
+ RT1015_PWR9, 0xaa00);
+ snd_soc_component_write(component,
+ RT1015_GAT_BOOST, 0xecfe);
+ } else {
+ snd_soc_component_write(component,
+ RT1015_SYS_RST1, 0x05f7);
+ snd_soc_component_write(component,
+ RT1015_PWR_STATE_CTRL, 0x026e);
+ }
+ break;
+
+ case SND_SOC_DAPM_POST_PMD:
+ if (rt1015->bypass_boost == 0) {
+ snd_soc_component_write(component,
+ RT1015_PWR9, 0xa800);
+ snd_soc_component_write(component,
+ RT1015_SYS_RST1, 0x05f5);
+ } else {
+ snd_soc_component_write(component,
+ RT1015_PWR_STATE_CTRL, 0x0268);
+ snd_soc_component_write(component,
+ RT1015_SYS_RST1, 0x05f5);
+ }
+ rt1015->dac_is_used = 0;
+ break;
+
+ default:
+ break;
+ }
+ return 0;
+}
+
+static const struct snd_soc_dapm_widget rt1015_dapm_widgets[] = {
+ SND_SOC_DAPM_SUPPLY("LDO2", RT1015_PWR1, RT1015_PWR_LDO2_BIT, 0,
+ NULL, 0),
+ SND_SOC_DAPM_SUPPLY("INT RC CLK", RT1015_PWR1, RT1015_PWR_INTCLK_BIT,
+ 0, NULL, 0),
+ SND_SOC_DAPM_SUPPLY("ISENSE", RT1015_PWR1, RT1015_PWR_ISENSE_BIT, 0,
+ NULL, 0),
+ SND_SOC_DAPM_SUPPLY("VSENSE", RT1015_PWR1, RT1015_PWR_VSENSE_BIT, 0,
+ NULL, 0),
+ SND_SOC_DAPM_SUPPLY("PLL", RT1015_PWR1, RT1015_PWR_PLL_BIT, 0,
+ NULL, 0),
+ SND_SOC_DAPM_SUPPLY("BG1 BG2", RT1015_PWR1, RT1015_PWR_BG_1_2_BIT, 0,
+ NULL, 0),
+ SND_SOC_DAPM_SUPPLY("MBIAS BG", RT1015_PWR1, RT1015_PWR_MBIAS_BG_BIT, 0,
+ NULL, 0),
+ SND_SOC_DAPM_SUPPLY("VBAT", RT1015_PWR1, RT1015_PWR_VBAT_BIT, 0, NULL,
+ 0),
+ SND_SOC_DAPM_SUPPLY("MBIAS", RT1015_PWR1, RT1015_PWR_MBIAS_BIT, 0,
+ NULL, 0),
+ SND_SOC_DAPM_SUPPLY("ADCV", RT1015_PWR1, RT1015_PWR_ADCV_BIT, 0, NULL,
+ 0),
+ SND_SOC_DAPM_SUPPLY("MIXERV", RT1015_PWR1, RT1015_PWR_MIXERV_BIT, 0,
+ NULL, 0),
+ SND_SOC_DAPM_SUPPLY("SUMV", RT1015_PWR1, RT1015_PWR_SUMV_BIT, 0, NULL,
+ 0),
+ SND_SOC_DAPM_SUPPLY("VREFLV", RT1015_PWR1, RT1015_PWR_VREFLV_BIT, 0,
+ NULL, 0),
+
+ SND_SOC_DAPM_AIF_IN("AIFRX", "AIF Playback", 0, SND_SOC_NOPM, 0, 0),
+ SND_SOC_DAPM_DAC_E("DAC", NULL, RT1015_PWR1, RT1015_PWR_DAC_BIT, 0,
+ r1015_dac_event, SND_SOC_DAPM_PRE_PMU | SND_SOC_DAPM_POST_PMD),
+
+ SND_SOC_DAPM_OUTPUT("SPO"),
+};
+
+static const struct snd_soc_dapm_route rt1015_dapm_routes[] = {
+ { "DAC", NULL, "AIFRX" },
+ { "DAC", NULL, "LDO2" },
+ { "DAC", NULL, "PLL", rt1015_is_sys_clk_from_pll},
+ { "DAC", NULL, "INT RC CLK" },
+ { "DAC", NULL, "ISENSE" },
+ { "DAC", NULL, "VSENSE" },
+ { "DAC", NULL, "BG1 BG2" },
+ { "DAC", NULL, "MBIAS BG" },
+ { "DAC", NULL, "VBAT" },
+ { "DAC", NULL, "MBIAS" },
+ { "DAC", NULL, "ADCV" },
+ { "DAC", NULL, "MIXERV" },
+ { "DAC", NULL, "SUMV" },
+ { "DAC", NULL, "VREFLV" },
+ { "SPO", NULL, "DAC" },
+};
+
+static int rt1015_hw_params(struct snd_pcm_substream *substream,
+ struct snd_pcm_hw_params *params, struct snd_soc_dai *dai)
+{
+ struct snd_soc_component *component = dai->component;
+ struct rt1015_priv *rt1015 = snd_soc_component_get_drvdata(component);
+ int pre_div, bclk_ms, frame_size;
+ unsigned int val_len = 0;
+
+ rt1015->lrck = params_rate(params);
+ pre_div = rl6231_get_clk_info(rt1015->sysclk, rt1015->lrck);
+ if (pre_div < 0) {
+ dev_err(component->dev, "Unsupported clock rate\n");
+ return -EINVAL;
+ }
+
+ frame_size = snd_soc_params_to_frame_size(params);
+ if (frame_size < 0) {
+ dev_err(component->dev, "Unsupported frame size: %d\n",
+ frame_size);
+ return -EINVAL;
+ }
+
+ bclk_ms = frame_size > 32;
+ rt1015->bclk = rt1015->lrck * (32 << bclk_ms);
+
+ dev_dbg(component->dev, "bclk_ms is %d and pre_div is %d for iis %d\n",
+ bclk_ms, pre_div, dai->id);
+
+ dev_dbg(component->dev, "lrck is %dHz and pre_div is %d for iis %d\n",
+ rt1015->lrck, pre_div, dai->id);
+
+ switch (params_width(params)) {
+ case 16:
+ break;
+ case 20:
+ val_len = RT1015_I2S_DL_20;
+ break;
+ case 24:
+ val_len = RT1015_I2S_DL_24;
+ break;
+ case 8:
+ val_len = RT1015_I2S_DL_8;
+ break;
+ default:
+ return -EINVAL;
+ }
+
+ snd_soc_component_update_bits(component, RT1015_TDM_MASTER,
+ RT1015_I2S_DL_MASK, val_len);
+ snd_soc_component_update_bits(component, RT1015_CLK2,
+ RT1015_FS_PD_MASK, pre_div);
+
+ return 0;
+}
+
+static int rt1015_set_dai_fmt(struct snd_soc_dai *dai, unsigned int fmt)
+{
+ struct snd_soc_component *component = dai->component;
+ unsigned int reg_val = 0, reg_val2 = 0;
+
+ switch (fmt & SND_SOC_DAIFMT_MASTER_MASK) {
+ case SND_SOC_DAIFMT_CBM_CFM:
+ reg_val |= RT1015_TCON_TDM_MS_M;
+ break;
+ case SND_SOC_DAIFMT_CBS_CFS:
+ reg_val |= RT1015_TCON_TDM_MS_S;
+ break;
+ default:
+ return -EINVAL;
+ }
+
+ switch (fmt & SND_SOC_DAIFMT_INV_MASK) {
+ case SND_SOC_DAIFMT_NB_NF:
+ break;
+ case SND_SOC_DAIFMT_IB_NF:
+ reg_val2 |= RT1015_TDM_INV_BCLK;
+ break;
+ default:
+ return -EINVAL;
+ }
+
+ switch (fmt & SND_SOC_DAIFMT_FORMAT_MASK) {
+ case SND_SOC_DAIFMT_I2S:
+ break;
+
+ case SND_SOC_DAIFMT_LEFT_J:
+ reg_val |= RT1015_I2S_M_DF_LEFT;
+ break;
+
+ case SND_SOC_DAIFMT_DSP_A:
+ reg_val |= RT1015_I2S_M_DF_PCM_A;
+ break;
+
+ case SND_SOC_DAIFMT_DSP_B:
+ reg_val |= RT1015_I2S_M_DF_PCM_B;
+ break;
+
+ default:
+ return -EINVAL;
+ }
+
+ snd_soc_component_update_bits(component, RT1015_TDM_MASTER,
+ RT1015_TCON_TDM_MS_MASK | RT1015_I2S_M_DF_MASK,
+ reg_val);
+ snd_soc_component_update_bits(component, RT1015_TDM1_1,
+ RT1015_TDM_INV_BCLK_MASK, reg_val2);
+
+ return 0;
+}
+
+static int rt1015_set_component_sysclk(struct snd_soc_component *component,
+ int clk_id, int source, unsigned int freq, int dir)
+{
+ struct rt1015_priv *rt1015 = snd_soc_component_get_drvdata(component);
+ unsigned int reg_val = 0;
+
+ if (freq == rt1015->sysclk && clk_id == rt1015->sysclk_src)
+ return 0;
+
+ switch (clk_id) {
+ case RT1015_SCLK_S_MCLK:
+ reg_val |= RT1015_CLK_SYS_PRE_SEL_MCLK;
+ break;
+
+ case RT1015_SCLK_S_PLL:
+ reg_val |= RT1015_CLK_SYS_PRE_SEL_PLL;
+ break;
+
+ default:
+ dev_err(component->dev, "Invalid clock id (%d)\n", clk_id);
+ return -EINVAL;
+ }
+
+ rt1015->sysclk = freq;
+ rt1015->sysclk_src = clk_id;
+
+ dev_dbg(component->dev, "Sysclk is %dHz and clock id is %d\n",
+ freq, clk_id);
+
+ snd_soc_component_update_bits(component, RT1015_CLK2,
+ RT1015_CLK_SYS_PRE_SEL_MASK, reg_val);
+
+ return 0;
+}
+
+static int rt1015_set_component_pll(struct snd_soc_component *component,
+ int pll_id, int source, unsigned int freq_in,
+ unsigned int freq_out)
+{
+ struct rt1015_priv *rt1015 = snd_soc_component_get_drvdata(component);
+ struct rl6231_pll_code pll_code;
+ int ret;
+
+ if (!freq_in || !freq_out) {
+ dev_dbg(component->dev, "PLL disabled\n");
+
+ rt1015->pll_in = 0;
+ rt1015->pll_out = 0;
+
+ return 0;
+ }
+
+ if (source == rt1015->pll_src && freq_in == rt1015->pll_in &&
+ freq_out == rt1015->pll_out)
+ return 0;
+
+ switch (source) {
+ case RT1015_PLL_S_MCLK:
+ snd_soc_component_update_bits(component, RT1015_CLK2,
+ RT1015_PLL_SEL_MASK, RT1015_PLL_SEL_PLL_SRC2);
+ break;
+
+ case RT1015_PLL_S_BCLK:
+ snd_soc_component_update_bits(component, RT1015_CLK2,
+ RT1015_PLL_SEL_MASK, RT1015_PLL_SEL_BCLK);
+ break;
+
+ default:
+ dev_err(component->dev, "Unknown PLL Source %d\n", source);
+ return -EINVAL;
+ }
+
+ ret = rl6231_pll_calc(freq_in, freq_out, &pll_code);
+ if (ret < 0) {
+ dev_err(component->dev, "Unsupport input clock %d\n", freq_in);
+ return ret;
+ }
+
+ dev_dbg(component->dev, "bypass=%d m=%d n=%d k=%d\n",
+ pll_code.m_bp, (pll_code.m_bp ? 0 : pll_code.m_code),
+ pll_code.n_code, pll_code.k_code);
+
+ snd_soc_component_write(component, RT1015_PLL1,
+ (pll_code.m_bp ? 0 : pll_code.m_code) << RT1015_PLL_M_SFT |
+ pll_code.m_bp << RT1015_PLL_M_BP_SFT | pll_code.n_code);
+ snd_soc_component_write(component, RT1015_PLL2,
+ pll_code.k_code);
+
+ rt1015->pll_in = freq_in;
+ rt1015->pll_out = freq_out;
+ rt1015->pll_src = source;
+
+ return 0;
+}
+
+static int rt1015_probe(struct snd_soc_component *component)
+{
+ struct rt1015_priv *rt1015 =
+ snd_soc_component_get_drvdata(component);
+
+ rt1015->component = component;
+ snd_soc_component_write(component, RT1015_BAT_RPO_STEP1, 0x061c);
+
+ return 0;
+}
+
+static void rt1015_remove(struct snd_soc_component *component)
+{
+ struct rt1015_priv *rt1015 = snd_soc_component_get_drvdata(component);
+
+ regmap_write(rt1015->regmap, RT1015_RESET, 0);
+}
+
+#define RT1015_STEREO_RATES SNDRV_PCM_RATE_8000_192000
+#define RT1015_FORMATS (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S20_3LE | \
+ SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S8)
+
+struct snd_soc_dai_ops rt1015_aif_dai_ops = {
+ .hw_params = rt1015_hw_params,
+ .set_fmt = rt1015_set_dai_fmt,
+};
+
+struct snd_soc_dai_driver rt1015_dai[] = {
+ {
+ .name = "rt1015-aif",
+ .id = 0,
+ .playback = {
+ .stream_name = "AIF Playback",
+ .channels_min = 1,
+ .channels_max = 4,
+ .rates = RT1015_STEREO_RATES,
+ .formats = RT1015_FORMATS,
+ },
+ }
+};
+
+#ifdef CONFIG_PM
+static int rt1015_suspend(struct snd_soc_component *component)
+{
+ struct rt1015_priv *rt1015 = snd_soc_component_get_drvdata(component);
+
+ regcache_cache_only(rt1015->regmap, true);
+ regcache_mark_dirty(rt1015->regmap);
+
+ return 0;
+}
+
+static int rt1015_resume(struct snd_soc_component *component)
+{
+ struct rt1015_priv *rt1015 = snd_soc_component_get_drvdata(component);
+
+ regcache_cache_only(rt1015->regmap, false);
+ regcache_sync(rt1015->regmap);
+ return 0;
+}
+#else
+#define rt1015_suspend NULL
+#define rt1015_resume NULL
+#endif
+
+static const struct snd_soc_component_driver soc_component_dev_rt1015 = {
+ .probe = rt1015_probe,
+ .remove = rt1015_remove,
+ .suspend = rt1015_suspend,
+ .resume = rt1015_resume,
+ .controls = rt1015_snd_controls,
+ .num_controls = ARRAY_SIZE(rt1015_snd_controls),
+ .dapm_widgets = rt1015_dapm_widgets,
+ .num_dapm_widgets = ARRAY_SIZE(rt1015_dapm_widgets),
+ .dapm_routes = rt1015_dapm_routes,
+ .num_dapm_routes = ARRAY_SIZE(rt1015_dapm_routes),
+ .set_sysclk = rt1015_set_component_sysclk,
+ .set_pll = rt1015_set_component_pll,
+ .use_pmdown_time = 1,
+ .endianness = 1,
+ .non_legacy_dai_naming = 1,
+};
+
+static const struct regmap_config rt1015_regmap = {
+ .reg_bits = 16,
+ .val_bits = 16,
+ .max_register = RT1015_S_BST_TIMING_INTER36,
+ .volatile_reg = rt1015_volatile_register,
+ .readable_reg = rt1015_readable_register,
+ .cache_type = REGCACHE_RBTREE,
+ .reg_defaults = rt1015_reg,
+ .num_reg_defaults = ARRAY_SIZE(rt1015_reg),
+};
+
+static const struct i2c_device_id rt1015_i2c_id[] = {
+ { "rt1015", 0 },
+ { }
+};
+MODULE_DEVICE_TABLE(i2c, rt1015_i2c_id);
+
+#if defined(CONFIG_OF)
+static const struct of_device_id rt1015_of_match[] = {
+ { .compatible = "realtek,rt1015", },
+ {},
+};
+MODULE_DEVICE_TABLE(of, rt1015_of_match);
+#endif
+
+#ifdef CONFIG_ACPI
+static struct acpi_device_id rt1015_acpi_match[] = {
+ {"10EC1015", 0,},
+ {},
+};
+MODULE_DEVICE_TABLE(acpi, rt1015_acpi_match);
+#endif
+
+static int rt1015_i2c_probe(struct i2c_client *i2c,
+ const struct i2c_device_id *id)
+{
+ struct rt1015_priv *rt1015;
+ int ret;
+ unsigned int val;
+
+ rt1015 = devm_kzalloc(&i2c->dev, sizeof(struct rt1015_priv),
+ GFP_KERNEL);
+ if (rt1015 == NULL)
+ return -ENOMEM;
+
+ i2c_set_clientdata(i2c, rt1015);
+
+ rt1015->regmap = devm_regmap_init_i2c(i2c, &rt1015_regmap);
+ if (IS_ERR(rt1015->regmap)) {
+ ret = PTR_ERR(rt1015->regmap);
+ dev_err(&i2c->dev, "Failed to allocate register map: %d\n",
+ ret);
+ return ret;
+ }
+
+ regmap_read(rt1015->regmap, RT1015_DEVICE_ID, &val);
+ if ((val != RT1015_DEVICE_ID_VAL) && (val != RT1015_DEVICE_ID_VAL2)) {
+ dev_err(&i2c->dev,
+ "Device with ID register %x is not rt1015\n", val);
+ return -ENODEV;
+ }
+
+ return devm_snd_soc_register_component(&i2c->dev,
+ &soc_component_dev_rt1015,
+ rt1015_dai, ARRAY_SIZE(rt1015_dai));
+}
+
+static void rt1015_i2c_shutdown(struct i2c_client *client)
+{
+ struct rt1015_priv *rt1015 = i2c_get_clientdata(client);
+
+ regmap_write(rt1015->regmap, RT1015_RESET, 0);
+}
+
+static struct i2c_driver rt1015_i2c_driver = {
+ .driver = {
+ .name = "rt1015",
+ .of_match_table = of_match_ptr(rt1015_of_match),
+ .acpi_match_table = ACPI_PTR(rt1015_acpi_match),
+ },
+ .probe = rt1015_i2c_probe,
+ .shutdown = rt1015_i2c_shutdown,
+ .id_table = rt1015_i2c_id,
+};
+module_i2c_driver(rt1015_i2c_driver);
+
+MODULE_DESCRIPTION("ASoC RT1015 driver");
+MODULE_AUTHOR("Jack Yu <jack.yu(a)realtek.com>");
+MODULE_LICENSE("GPL v2");
diff --git a/sound/soc/codecs/rt1015.h b/sound/soc/codecs/rt1015.h
new file mode 100644
index 000000000000..ef3745a4faae
--- /dev/null
+++ b/sound/soc/codecs/rt1015.h
@@ -0,0 +1,375 @@
+// SPDX-License-Identifier: GPL-2.0
+//
+// rt1015.h -- RT1015 ALSA SoC audio amplifier driver
+//
+// Copyright 2019 Realtek Semiconductor Corp.
+// Author: Jack Yu <jack.yu(a)realtek.com>
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License version 2 as
+// published by the Free Software Foundation.
+//
+
+#ifndef __RT1015_H__
+#define __RT1015_H__
+
+#define RT1015_DEVICE_ID_VAL 0x1011
+#define RT1015_DEVICE_ID_VAL2 0x1015
+
+#define RT1015_RESET 0x0000
+#define RT1015_CLK2 0x0004
+#define RT1015_CLK3 0x0006
+#define RT1015_PLL1 0x000a
+#define RT1015_PLL2 0x000c
+#define RT1015_CLK_DET 0x0020
+#define RT1015_SIL_DET 0x0022
+#define RT1015_CUSTOMER_ID 0x0076
+#define RT1015_PCODE_FWVER 0x0078
+#define RT1015_VER_ID 0x007a
+#define RT1015_VENDOR_ID 0x007c
+#define RT1015_DEVICE_ID 0x007d
+#define RT1015_PAD_DRV1 0x00f0
+#define RT1015_PAD_DRV2 0x00f2
+#define RT1015_GAT_BOOST 0x00f3
+#define RT1015_PRO_ALT 0x00f4
+#define RT1015_MAN_I2C 0x0100
+#define RT1015_DAC1 0x0102
+#define RT1015_DAC2 0x0104
+#define RT1015_DAC3 0x0106
+#define RT1015_ADC1 0x010c
+#define RT1015_ADC2 0x010e
+#define RT1015_TDM_MASTER 0x0111
+#define RT1015_TDM_TCON 0x0112
+#define RT1015_TDM1_1 0x0114
+#define RT1015_TDM1_2 0x0116
+#define RT1015_TDM1_3 0x0118
+#define RT1015_TDM1_4 0x011a
+#define RT1015_TDM1_5 0x011c
+#define RT1015_MIXER1 0x0300
+#define RT1015_MIXER2 0x0302
+#define RT1015_ANA_PROTECT1 0x0311
+#define RT1015_ANA_CTRL_SEQ1 0x0313
+#define RT1015_ANA_CTRL_SEQ2 0x0314
+#define RT1015_VBAT_DET_DEB 0x031a
+#define RT1015_VBAT_VOLT_DET1 0x031c
+#define RT1015_VBAT_VOLT_DET2 0x031d
+#define RT1015_VBAT_TEST_OUT1 0x031e
+#define RT1015_VBAT_TEST_OUT2 0x031f
+#define RT1015_VBAT_PROT_ATT 0x0320
+#define RT1015_VBAT_DET_CODE 0x0321
+#define RT1015_PWR1 0x0322
+#define RT1015_PWR4 0x0328
+#define RT1015_PWR5 0x0329
+#define RT1015_PWR6 0x032a
+#define RT1015_PWR7 0x032b
+#define RT1015_PWR8 0x032c
+#define RT1015_PWR9 0x032d
+#define RT1015_CLASSD_SEQ 0x032e
+#define RT1015_SMART_BST_CTRL1 0x0330
+#define RT1015_SMART_BST_CTRL2 0x0332
+#define RT1015_ANA_CTRL1 0x0334
+#define RT1015_ANA_CTRL2 0x0336
+#define RT1015_PWR_STATE_CTRL 0x0338
+#define RT1015_SPK_VOL 0x0506
+#define RT1015_SHORT_DETTOP1 0x0508
+#define RT1015_SHORT_DETTOP2 0x050a
+#define RT1015_SPK_DC_DETECT1 0x0519
+#define RT1015_SPK_DC_DETECT2 0x051a
+#define RT1015_SPK_DC_DETECT3 0x051b
+#define RT1015_SPK_DC_DETECT4 0x051d
+#define RT1015_SPK_DC_DETECT5 0x051f
+#define RT1015_BAT_RPO_STEP1 0x0536
+#define RT1015_BAT_RPO_STEP2 0x0538
+#define RT1015_BAT_RPO_STEP3 0x053a
+#define RT1015_BAT_RPO_STEP4 0x053c
+#define RT1015_BAT_RPO_STEP5 0x053d
+#define RT1015_BAT_RPO_STEP6 0x053e
+#define RT1015_BAT_RPO_STEP7 0x053f
+#define RT1015_BAT_RPO_STEP8 0x0540
+#define RT1015_BAT_RPO_STEP9 0x0541
+#define RT1015_BAT_RPO_STEP10 0x0542
+#define RT1015_BAT_RPO_STEP11 0x0543
+#define RT1015_BAT_RPO_STEP12 0x0544
+#define RT1015_SPREAD_SPEC1 0x0568
+#define RT1015_SPREAD_SPEC2 0x056a
+#define RT1015_PAD_STATUS 0x1000
+#define RT1015_PADS_PULLING_CTRL1 0x1002
+#define RT1015_PADS_DRIVING 0x1006
+#define RT1015_SYS_RST1 0x1007
+#define RT1015_SYS_RST2 0x1009
+#define RT1015_SYS_GATING1 0x100a
+#define RT1015_TEST_MODE1 0x100c
+#define RT1015_TEST_MODE2 0x100d
+#define RT1015_TIMING_CTRL1 0x100e
+#define RT1015_PLL_INT 0x1010
+#define RT1015_TEST_OUT1 0x1020
+#define RT1015_DC_CALIB_CLSD1 0x1200
+#define RT1015_DC_CALIB_CLSD2 0x1202
+#define RT1015_DC_CALIB_CLSD3 0x1204
+#define RT1015_DC_CALIB_CLSD4 0x1206
+#define RT1015_DC_CALIB_CLSD5 0x1208
+#define RT1015_DC_CALIB_CLSD6 0x120a
+#define RT1015_DC_CALIB_CLSD7 0x120c
+#define RT1015_DC_CALIB_CLSD8 0x120e
+#define RT1015_DC_CALIB_CLSD9 0x1210
+#define RT1015_DC_CALIB_CLSD10 0x1212
+#define RT1015_CLSD_INTERNAL1 0x1300
+#define RT1015_CLSD_INTERNAL2 0x1302
+#define RT1015_CLSD_INTERNAL3 0x1304
+#define RT1015_CLSD_INTERNAL4 0x1305
+#define RT1015_CLSD_INTERNAL5 0x1306
+#define RT1015_CLSD_INTERNAL6 0x1308
+#define RT1015_CLSD_INTERNAL7 0x130a
+#define RT1015_CLSD_INTERNAL8 0x130c
+#define RT1015_CLSD_INTERNAL9 0x130e
+#define RT1015_CLSD_OCP_CTRL 0x130f
+#define RT1015_VREF_LV 0x1310
+#define RT1015_MBIAS1 0x1312
+#define RT1015_MBIAS2 0x1314
+#define RT1015_MBIAS3 0x1316
+#define RT1015_MBIAS4 0x1318
+#define RT1015_VREF_LV1 0x131a
+#define RT1015_S_BST_TIMING_INTER1 0x1322
+#define RT1015_S_BST_TIMING_INTER2 0x1323
+#define RT1015_S_BST_TIMING_INTER3 0x1324
+#define RT1015_S_BST_TIMING_INTER4 0x1325
+#define RT1015_S_BST_TIMING_INTER5 0x1326
+#define RT1015_S_BST_TIMING_INTER6 0x1327
+#define RT1015_S_BST_TIMING_INTER7 0x1328
+#define RT1015_S_BST_TIMING_INTER8 0x1329
+#define RT1015_S_BST_TIMING_INTER9 0x132a
+#define RT1015_S_BST_TIMING_INTER10 0x132b
+#define RT1015_S_BST_TIMING_INTER11 0x1330
+#define RT1015_S_BST_TIMING_INTER12 0x1331
+#define RT1015_S_BST_TIMING_INTER13 0x1332
+#define RT1015_S_BST_TIMING_INTER14 0x1333
+#define RT1015_S_BST_TIMING_INTER15 0x1334
+#define RT1015_S_BST_TIMING_INTER16 0x1335
+#define RT1015_S_BST_TIMING_INTER17 0x1336
+#define RT1015_S_BST_TIMING_INTER18 0x1337
+#define RT1015_S_BST_TIMING_INTER19 0x1338
+#define RT1015_S_BST_TIMING_INTER20 0x1339
+#define RT1015_S_BST_TIMING_INTER21 0x133a
+#define RT1015_S_BST_TIMING_INTER22 0x133b
+#define RT1015_S_BST_TIMING_INTER23 0x133c
+#define RT1015_S_BST_TIMING_INTER24 0x133d
+#define RT1015_S_BST_TIMING_INTER25 0x133e
+#define RT1015_S_BST_TIMING_INTER26 0x133f
+#define RT1015_S_BST_TIMING_INTER27 0x1340
+#define RT1015_S_BST_TIMING_INTER28 0x1341
+#define RT1015_S_BST_TIMING_INTER29 0x1342
+#define RT1015_S_BST_TIMING_INTER30 0x1343
+#define RT1015_S_BST_TIMING_INTER31 0x1344
+#define RT1015_S_BST_TIMING_INTER32 0x1345
+#define RT1015_S_BST_TIMING_INTER33 0x1346
+#define RT1015_S_BST_TIMING_INTER34 0x1347
+#define RT1015_S_BST_TIMING_INTER35 0x1348
+#define RT1015_S_BST_TIMING_INTER36 0x1349
+
+/* 0x0004 */
+#define RT1015_CLK_SYS_PRE_SEL_MASK (0x3 << 14)
+#define RT1015_CLK_SYS_PRE_SEL_SFT 14
+#define RT1015_CLK_SYS_PRE_SEL_MCLK (0x0 << 14)
+#define RT1015_CLK_SYS_PRE_SEL_PLL (0x2 << 14)
+#define RT1015_PLL_SEL_MASK (0x1 << 13)
+#define RT1015_PLL_SEL_SFT 13
+#define RT1015_PLL_SEL_PLL_SRC2 (0x0 << 13)
+#define RT1015_PLL_SEL_BCLK (0x1 << 13)
+#define RT1015_FS_PD_MASK (0x7 << 4)
+#define RT1015_FS_PD_SFT 4
+
+/* 0x000a */
+#define RT1015_PLL_M_MAX 0xf
+#define RT1015_PLL_M_MASK (RT1015_PLL_M_MAX << 12)
+#define RT1015_PLL_M_SFT 12
+#define RT1015_PLL_M_BP (0x1 << 11)
+#define RT1015_PLL_M_BP_SFT 11
+#define RT1015_PLL_N_MAX 0x1ff
+#define RT1015_PLL_N_MASK (RT1015_PLL_N_MAX << 0)
+#define RT1015_PLL_N_SFT 0
+
+/* 0x000c */
+#define RT1015_PLL_BPK_MASK (0x1 << 5)
+#define RT1015_PLL_BPK (0x0 << 5)
+#define RT1015_PLL_K_MAX 0x1f
+#define RT1015_PLL_K_MASK (RT1015_PLL_K_MAX)
+#define RT1015_PLL_K_SFT 0
+
+/* 0x007a */
+#define RT1015_ID_MASK 0xff
+#define RT1015_ID_VERA 0x0
+#define RT1015_ID_VERB 0x1
+
+/* 0x0102 */
+#define RT1015_DAC_VOL_MASK (0x7f << 9)
+#define RT1015_DAC_VOL_SFT 9
+
+/* 0x0104 */
+#define RT1015_DAC_CLK (0x1 << 13)
+#define RT1015_DAC_CLK_BIT 13
+
+/* 0x0106 */
+#define RT1015_DAC_MUTE_MASK (0x1 << 15)
+#define RT1015_DA_MUTE_SFT 15
+#define RT1015_DVOL_MUTE_FLAG_SFT 12
+
+/* 0x0111 */
+#define RT1015_TCON_TDM_MS_MASK (0x1 << 14)
+#define RT1015_TCON_TDM_MS_SFT 14
+#define RT1015_TCON_TDM_MS_S (0x0 << 14)
+#define RT1015_TCON_TDM_MS_M (0x1 << 14)
+#define RT1015_I2S_DL_MASK (0x7 << 8)
+#define RT1015_I2S_DL_SFT 8
+#define RT1015_I2S_DL_16 (0x0 << 8)
+#define RT1015_I2S_DL_20 (0x1 << 8)
+#define RT1015_I2S_DL_24 (0x2 << 8)
+#define RT1015_I2S_DL_8 (0x3 << 8)
+#define RT1015_I2S_M_DF_MASK (0x7 << 0)
+#define RT1015_I2S_M_DF_SFT 0
+#define RT1015_I2S_M_DF_I2S (0x0)
+#define RT1015_I2S_M_DF_LEFT (0x1)
+#define RT1015_I2S_M_DF_PCM_A (0x2)
+#define RT1015_I2S_M_DF_PCM_B (0x3)
+#define RT1015_I2S_M_DF_PCM_A_N (0x6)
+#define RT1015_I2S_M_DF_PCM_B_N (0x7)
+
+/* TDM_tcon Setting (0x0112) */
+#define RT1015_I2S_TCON_DF_MASK (0x7 << 13)
+#define RT1015_I2S_TCON_DF_SFT 13
+#define RT1015_I2S_TCON_DF_I2S (0x0 << 13)
+#define RT1015_I2S_TCON_DF_LEFT (0x1 << 13)
+#define RT1015_I2S_TCON_DF_PCM_A (0x2 << 13)
+#define RT1015_I2S_TCON_DF_PCM_B (0x3 << 13)
+#define RT1015_I2S_TCON_DF_PCM_A_N (0x6 << 13)
+#define RT1015_I2S_TCON_DF_PCM_B_N (0x7 << 13)
+#define RT1015_TCON_BCLK_SEL_MASK (0x3 << 10)
+#define RT1015_TCON_BCLK_SEL_SFT 10
+#define RT1015_TCON_BCLK_SEL_32FS (0x0 << 10)
+#define RT1015_TCON_BCLK_SEL_64FS (0x1 << 10)
+#define RT1015_TCON_BCLK_SEL_128FS (0x2 << 10)
+#define RT1015_TCON_BCLK_SEL_256FS (0x3 << 10)
+#define RT1015_TCON_CH_LEN_MASK (0x3 << 5)
+#define RT1015_TCON_CH_LEN_SFT 5
+#define RT1015_TCON_CH_LEN_16B (0x0 << 5)
+#define RT1015_TCON_CH_LEN_20B (0x1 << 5)
+#define RT1015_TCON_CH_LEN_24B (0x2 << 5)
+#define RT1015_TCON_CH_LEN_32B (0x3 << 5)
+#define RT1015_TCON_BCLK_MST_MASK (0x1 << 4)
+#define RT1015_TCON_BCLK_MST_SFT 4
+#define RT1015_TCON_BCLK_MST_INV (0x1 << 4)
+
+/* TDM1 Setting-1 (0x0114) */
+#define RT1015_TDM_INV_BCLK_MASK (0x1 << 15)
+#define RT1015_TDM_INV_BCLK_SFT 15
+#define RT1015_TDM_INV_BCLK (0x1 << 15)
+
+/* 0x0330 */
+#define RT1015_ABST_AUTO_EN_MASK (0x1 << 13)
+#define RT1015_ABST_AUTO_MODE (0x1 << 13)
+#define RT1015_ABST_REG_MODE (0x0 << 13)
+#define RT1015_ABST_FIX_TGT_MASK (0x1 << 12)
+#define RT1015_ABST_FIX_TGT_EN (0x1 << 12)
+#define RT1015_ABST_FIX_TGT_DIS (0x0 << 12)
+#define RT1015_BYPASS_SWR_REG_MASK (0x1 << 7)
+#define RT1015_BYPASS_SWRREG_BYPASS (0x1 << 7)
+#define RT1015_BYPASS_SWRREG_PASS (0x0 << 7)
+
+/* 0x0322 */
+#define RT1015_PWR_LDO2 (0x1 << 15)
+#define RT1015_PWR_LDO2_BIT 15
+#define RT1015_PWR_DAC (0x1 << 14)
+#define RT1015_PWR_DAC_BIT 14
+#define RT1015_PWR_INTCLK (0x1 << 13)
+#define RT1015_PWR_INTCLK_BIT 13
+#define RT1015_PWR_ISENSE (0x1 << 12)
+#define RT1015_PWR_ISENSE_BIT 12
+#define RT1015_PWR_VSENSE (0x1 << 10)
+#define RT1015_PWR_VSENSE_BIT 10
+#define RT1015_PWR_PLL (0x1 << 9)
+#define RT1015_PWR_PLL_BIT 9
+#define RT1015_PWR_BG_1_2 (0x1 << 8)
+#define RT1015_PWR_BG_1_2_BIT 8
+#define RT1015_PWR_MBIAS_BG (0x1 << 7)
+#define RT1015_PWR_MBIAS_BG_BIT 7
+#define RT1015_PWR_VBAT (0x1 << 6)
+#define RT1015_PWR_VBAT_BIT 6
+#define RT1015_PWR_MBIAS (0x1 << 4)
+#define RT1015_PWR_MBIAS_BIT 4
+#define RT1015_PWR_ADCV (0x1 << 3)
+#define RT1015_PWR_ADCV_BIT 3
+#define RT1015_PWR_MIXERV (0x1 << 2)
+#define RT1015_PWR_MIXERV_BIT 2
+#define RT1015_PWR_SUMV (0x1 << 1)
+#define RT1015_PWR_SUMV_BIT 1
+#define RT1015_PWR_VREFLV (0x1 << 0)
+#define RT1015_PWR_VREFLV_BIT 0
+
+/* 0x0324 */
+#define RT1015_PWR_BASIC (0x1 << 15)
+#define RT1015_PWR_BASIC_BIT 15
+#define RT1015_PWR_SD (0x1 << 14)
+#define RT1015_PWR_SD_BIT 14
+#define RT1015_PWR_IBIAS (0x1 << 13)
+#define RT1015_PWR_IBIAS_BIT 13
+#define RT1015_PWR_VCM (0x1 << 11)
+#define RT1015_PWR_VCM_BIT 11
+
+/* 0x0328 */
+#define RT1015_PWR_SWR (0x1 << 12)
+#define RT1015_PWR_SWR_BIT 12
+
+/* 0x1300 */
+#define RT1015_PWR_CLSD (0x1 << 12)
+#define RT1015_PWR_CLSD_BIT 12
+
+/* 0x007a */
+#define RT1015_ID_MASK 0xff
+#define RT1015_ID_VERA 0x0
+#define RT1015_ID_VERB 0x1
+
+/* System Clock Source */
+enum {
+ RT1015_SCLK_S_MCLK,
+ RT1015_SCLK_S_PLL,
+};
+
+/* PLL1 Source */
+enum {
+ RT1015_PLL_S_MCLK,
+ RT1015_PLL_S_BCLK,
+};
+
+enum {
+ RT1015_AIF1,
+ RT1015_AIFS,
+};
+
+enum {
+ RT1015_VERA,
+ RT1015_VERB,
+};
+
+enum {
+ BYPASS,
+ ADAPTIVE,
+ FIXED_ADAPTIVE,
+};
+
+struct rt1015_priv {
+ struct snd_soc_component *component;
+ struct regmap *regmap;
+ int sysclk;
+ int sysclk_src;
+ int lrck;
+ int bclk;
+ int id;
+ int pll_src;
+ int pll_in;
+ int pll_out;
+ int boost_mode;
+ int bypass_boost;
+ int amp_ver;
+ int dac_is_used;
+};
+
+#endif /* __RT1015_H__ */
--
2.24.1
2
1
23 Jan '20
Hi Mark
My ALSA SoC cleanup series focus to soc-pcm as 2nd step :)
These create new soc_rtd_xxx() function, and cleanup soc-pcm.c
(It will be more cleanup later)
Kuninori Morimoto (7):
ASoC: soc-pcm: add soc_rtd_startup()
ASoC: soc-pcm: add soc_rtd_shutdown()
ASoC: soc-pcm: add soc_rtd_prepare()
ASoC: soc-pcm: add soc_rtd_hw_params()
ASoC: soc-pcm: add soc_rtd_hw_free()
ASoC: soc-pcm: add soc_rtd_trigger()
ASoC: soc-core: remove null_snd_soc_ops
sound/soc/soc-core.c | 4 --
sound/soc/soc-pcm.c | 118 ++++++++++++++++++++++++++++++++++-----------------
2 files changed, 79 insertions(+), 43 deletions(-)
--
2.7.4
4
16
23 Jan '20
From: Colin Ian King <colin.king(a)canonical.com>
There is a spelling mistake in a dev_err message. Fix it.
Signed-off-by: Colin Ian King <colin.king(a)canonical.com>
---
sound/pci/cs46xx/dsp_spos_scb_lib.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/pci/cs46xx/dsp_spos_scb_lib.c b/sound/pci/cs46xx/dsp_spos_scb_lib.c
index 2c5c9d4c1d94..6b536fc23ca6 100644
--- a/sound/pci/cs46xx/dsp_spos_scb_lib.c
+++ b/sound/pci/cs46xx/dsp_spos_scb_lib.c
@@ -1293,7 +1293,7 @@ cs46xx_dsp_create_pcm_channel (struct snd_cs46xx * chip,
if (src_scb == NULL) {
if (ins->nsrc_scb >= DSP_MAX_SRC_NR) {
dev_err(chip->card->dev,
- "dsp_spos: to many SRC instances\n!");
+ "dsp_spos: too many SRC instances\n!");
return NULL;
}
--
2.24.0
2
1
Hi ALSA ML
I want to ask about tx_mask / rx_mask.
soc_pcm_open() is calling snd_soc_dai_startup() (= (A)), and then,
it setup tx_mask / rx_mask.
static int soc_pcm_open(...)
{
...
for_each_rtd_codec_dai(rtd, i, codec_dai) {
(A) ret = snd_soc_dai_startup(codec_dai, substream);
if (ret < 0) {
dev_err(...)
if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK)
=> codec_dai->tx_mask = 0;
else
=> codec_dai->rx_mask = 0;
}
...
}
snd_soc_dai_link_event_pre_pmu() also calling snd_soc_dai_startup(),
but, it doesn't care about tx/rx_mask.
Is this bug ?
snd_soc_dai_link_event_pre_pmu(...)
{
...
substream->stream = SNDRV_PCM_STREAM_CAPTURE;
snd_soc_dapm_widget_for_each_source_path(w, path) {
source = path->source->priv;
(A) ret = snd_soc_dai_startup(source, substream);
if (ret < 0) {
dev_err(source->dev,
"ASoC: startup() failed: %d\n", ret);
goto out;
}
source->active++;
}
substream->stream = SNDRV_PCM_STREAM_PLAYBACK;
snd_soc_dapm_widget_for_each_sink_path(w, path) {
sink = path->sink->priv;
(A) ret = snd_soc_dai_startup(sink, substream);
if (ret < 0) {
dev_err(sink->dev,
"ASoC: startup() failed: %d\n", ret);
goto out;
}
sink->active++;
}
...
}
Thank you for your help !!
Best regards
---
Kuninori Morimoto
1
0
You can read datasheets there:
http://www.ti.com/lit/ds/symlink/tas5754m.pdf
http://www.ti.com/lit/ds/symlink/tas5756m.pdf
TAS5754M datasheet has a more complete datasheet about register mapping
which is common with TAS5756M.
Those devices have a programmable DSP whith several modes named hybridflow.
Currently only Hybridflow 3, 4, 6 and 7 are supported (out of 9).
Retro engenerring is required to map coefficients registers to registers
for each Hybridflow.
More details about it there: http://www.ti.com/lit/ug/slau577a/slau577a.pdf
Signed-off-by: Charles-Antoine Couret <charles-antoine.couret(a)essensium.com>
---
sound/soc/codecs/Kconfig | 8 +
sound/soc/codecs/Makefile | 2 +
sound/soc/codecs/tas5756m.c | 2160 +++++++++++++
sound/soc/codecs/tas5756m.h | 351 +++
sound/soc/codecs/tas5756m_hf3_cfg.h | 4508 ++++++++++++++++++++++++++
sound/soc/codecs/tas5756m_hf4_cfg.h | 4510 +++++++++++++++++++++++++++
sound/soc/codecs/tas5756m_hf6_cfg.h | 4510 +++++++++++++++++++++++++++
sound/soc/codecs/tas5756m_hf7_cfg.h | 4510 +++++++++++++++++++++++++++
8 files changed, 20559 insertions(+)
create mode 100644 sound/soc/codecs/tas5756m.c
create mode 100644 sound/soc/codecs/tas5756m.h
create mode 100644 sound/soc/codecs/tas5756m_hf3_cfg.h
create mode 100644 sound/soc/codecs/tas5756m_hf4_cfg.h
create mode 100644 sound/soc/codecs/tas5756m_hf6_cfg.h
create mode 100644 sound/soc/codecs/tas5756m_hf7_cfg.h
diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig
index 4abf37b5083f..98f576cb16af 100644
--- a/sound/soc/codecs/Kconfig
+++ b/sound/soc/codecs/Kconfig
@@ -186,6 +186,7 @@ config SND_SOC_ALL_CODECS
select SND_SOC_TAS5086 if I2C
select SND_SOC_TAS571X if I2C
select SND_SOC_TAS5720 if I2C
+ select SND_SOC_TAS5756M if I2C
select SND_SOC_TAS6424 if I2C
select SND_SOC_TDA7419 if I2C
select SND_SOC_TFA9879 if I2C
@@ -1164,6 +1165,13 @@ config SND_SOC_TAS5720
Enable support for Texas Instruments TAS5720L/M high-efficiency mono
Class-D audio power amplifiers.
+config SND_SOC_TAS5756M
+ tristate "Texas Instruments TAS5756M Audio amplifier"
+ depends on I2C
+ help
+ Enable support for Texas Instruments TAS5756M and TAS5754
+ audio power amplifiers.
+
config SND_SOC_TAS6424
tristate "Texas Instruments TAS6424 Quad-Channel Audio amplifier"
depends on I2C
diff --git a/sound/soc/codecs/Makefile b/sound/soc/codecs/Makefile
index ddfd07071925..dfe3421c7dd7 100644
--- a/sound/soc/codecs/Makefile
+++ b/sound/soc/codecs/Makefile
@@ -197,6 +197,7 @@ snd-soc-sti-sas-objs := sti-sas.o
snd-soc-tas5086-objs := tas5086.o
snd-soc-tas571x-objs := tas571x.o
snd-soc-tas5720-objs := tas5720.o
+snd-soc-tas5756m-objs := tas5756m.o
snd-soc-tas6424-objs := tas6424.o
snd-soc-tda7419-objs := tda7419.o
snd-soc-tas2770-objs := tas2770.o
@@ -486,6 +487,7 @@ obj-$(CONFIG_SND_SOC_TAS2562) += snd-soc-tas2562.o
obj-$(CONFIG_SND_SOC_TAS5086) += snd-soc-tas5086.o
obj-$(CONFIG_SND_SOC_TAS571X) += snd-soc-tas571x.o
obj-$(CONFIG_SND_SOC_TAS5720) += snd-soc-tas5720.o
+obj-$(CONFIG_SND_SOC_TAS5756M) += snd-soc-tas5756m.o
obj-$(CONFIG_SND_SOC_TAS6424) += snd-soc-tas6424.o
obj-$(CONFIG_SND_SOC_TDA7419) += snd-soc-tda7419.o
obj-$(CONFIG_SND_SOC_TAS2770) += snd-soc-tas2770.o
diff --git a/sound/soc/codecs/tas5756m.c b/sound/soc/codecs/tas5756m.c
new file mode 100644
index 000000000000..9b64583ca5b5
--- /dev/null
+++ b/sound/soc/codecs/tas5756m.c
@@ -0,0 +1,2160 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * tas5756m.h - ALSA SoC Texas Instruments TAS5756M Audio Amplifier
+ *
+ * Copyright (C)2018-2020 House of Music NV - https://www.homa.be
+ *
+ * Authors: Charles-Antoine Couret <charles-antoine.couret(a)essensium.com>
+ * : Thomas Brijs <thomas.brijs(a)houseofmusic.be>
+ */
+
+#include <linux/init.h>
+#include <linux/delay.h>
+#include <linux/device.h>
+#include <linux/gpio.h>
+#include <linux/i2c.h>
+#include <linux/of.h>
+#include <linux/of_device.h>
+#include <linux/of_gpio.h>
+#include <linux/module.h>
+#include <linux/regmap.h>
+#include <linux/slab.h>
+#include <linux/vmalloc.h>
+
+#include <linux/regulator/consumer.h>
+
+#include <sound/core.h>
+#include <sound/pcm.h>
+#include <sound/pcm_params.h>
+#include <sound/soc.h>
+#include <sound/soc-component.h>
+#include <sound/tlv.h>
+
+#include "tas5756m.h"
+#include "tas5756m_hf3_cfg.h"
+#include "tas5756m_hf4_cfg.h"
+#include "tas5756m_hf6_cfg.h"
+#include "tas5756m_hf7_cfg.h"
+
+/* Define how often to check (and clear) the fault status register (in ms) */
+#define TAS5756M_FAULT_CHECK_INTERVAL 200
+
+static struct reg_default tas5756m_reg_defaults[] = {
+ { TAS5756M_RESET, 0x00 },
+ { TAS5756M_PDN_STBY, 0x00 },
+ { TAS5756M_MUTE_L_R, 0x00 },
+ { TAS5756M_PLL_EN_STA, 0x01 },
+ { TAS5756M_SPI_MISO_SEL, 0x01 },
+ { TAS5756M_SDOUT_DEEMPH, 0x00 },
+ { TAS5756M_GPIO_OUT_EN, 0x00 },
+ { TAS5756M_BCK_LRCK_CFG, 0x00 },
+ { TAS5756M_DSP_GPIO_IN, 0x00 },
+ { TAS5756M_MASTER_B_LRCK_RST, 0x7c },
+ { TAS5756M_PLL_CLK_SRC_SEL, 0x00 },
+ { TAS5756M_DAC_CLOCK_SRC, 0x00 },
+ { TAS5756M_PLL_GPIO_REF_SEL, 0x00 },
+ { TAS5756M_SYNC_REQ, 0x10 },
+ { TAS5756M_PLL_P_VALUE, 0x00 },
+ { TAS5756M_PLL_J_VALUE, 0x00 },
+ { TAS5756M_PLL_D_VALUE_MSB, 0x00 },
+ { TAS5756M_PLL_D_VALUE_LSB, 0x00 },
+ { TAS5756M_PLL_R_VALUE, 0x00 },
+ { TAS5756M_DSP_CLKDIV, 0x00 },
+ { TAS5756M_DAC_CLKDIV, 0x00 },
+ { TAS5756M_NCP_CLKDIV, 0x00 },
+ { TAS5756M_OSR_CLKDIV, 0x00 },
+ { TAS5756M_MM_BCK_CLKDIV, 0x00 },
+ { TAS5756M_MM_LRCK_CLKDIV, 0x00 },
+ { TAS5756M_FS_SPEED_MODE, 0x00 },
+ { TAS5756M_IDAC_MSB, 0x01 },
+ { TAS5756M_IDAC_LSB, 0x00 },
+ { TAS5756M_IGN_ERRORS, 0x00 },
+ { TAS5756M_I2S_CONFIG, 0x10 },
+ { TAS5756M_I2S_SHIFT, 0x00 },
+ { TAS5756M_DAC_DATA_PATH, 0x01 },
+ { TAS5756M_DSP_PROG_SEL, 0x01 },
+ { TAS5756M_CLK_MISS_DET, 0x00 },
+ { TAS5756M_AUTO_MUTE_TIME, 0x00 },
+ { TAS5756M_DIGITAL_VOLUME, 0x00 },
+ { TAS5756M_LEFT_DVOL, 0x30 },
+ { TAS5756M_RIGHT_DVOL, 0x30 },
+ { TAS5756M_DVOL_RAMP_NORMAL, 0x22 },
+ { TAS5756M_DVOL_RAMP_EMRGNCY, 0x02 },
+ { TAS5756M_AUTO_MUTE, 0x04 },
+ { TAS5756M_GPIO1_OUTPUT_SEL, 0x00 },
+ { TAS5756M_GPIO2_OUTPUT_SEL, 0x00 },
+ { TAS5756M_GPIO3_OUTPUT_SEL, 0x00 },
+ { TAS5756M_GPIO4_OUTPUT_SEL, 0x00 },
+ { TAS5756M_GPIO5_OUTPUT_SEL, 0x00 },
+ { TAS5756M_GPIO6_OUTPUT_SEL, 0x00 },
+ { TAS5756M_DAC_MODE, 0x00 },
+ { TAS5756M_MCM_MODE, 0x00 },
+ { TAS5756M_MCM_OUT_GPIO_1_2, 0x00 },
+ { TAS5756M_MCM_OUT_GPIO_3_4, 0x00 },
+ { TAS5756M_MCM_OUT_GPIO_5_6, 0x00 },
+ { TAS5756M_ANLG_GAIN, 0x00 },
+ { TAS5756M_ANLG_BOOST, 0x00 },
+};
+
+static bool tas5756m_volatile(struct device *dev, unsigned int reg)
+{
+ switch (reg) {
+ case TAS5756M_PAGE_SEL: /* regmap implementation requires this */
+ case TAS5756M_CHAN_OVRFLOW:
+ case TAS5756M_DET_FS_MCLK:
+ case TAS5756M_DET_SCLK:
+ case TAS5756M_DET_SCLK_DESC:
+ case TAS5756M_CLK_DET_STATUS:
+ case TAS5756M_CLK_STATUS:
+ case TAS5756M_ANLG_MUTE_MON:
+ case TAS5756M_SHORT_DETECT:
+ case TAS5756M_SPK_MUTE_DEC:
+ case TAS5756M_FS_SPEED_MON:
+ case TAS5756M_DAC_PWR_STA:
+ case TAS5756M_GPIO012_STATE:
+ case TAS5756M_AUTO_MUTE_FLAG:
+ return true;
+ }
+
+ return false;
+}
+
+static bool tas5756m_writeable(struct device *dev, unsigned int reg)
+{
+ switch (reg) {
+ case TAS5756M_CHAN_OVRFLOW:
+ case TAS5756M_DET_FS_MCLK:
+ case TAS5756M_DET_SCLK:
+ case TAS5756M_DET_SCLK_DESC:
+ case TAS5756M_CLK_DET_STATUS:
+ case TAS5756M_CLK_STATUS:
+ case TAS5756M_ANLG_MUTE_MON:
+ case TAS5756M_SHORT_DETECT:
+ case TAS5756M_SPK_MUTE_DEC:
+ case TAS5756M_FS_SPEED_MON:
+ case TAS5756M_DAC_PWR_STA:
+ case TAS5756M_GPIO012_STATE:
+ case TAS5756M_AUTO_MUTE_FLAG:
+ return false;
+ }
+
+ return true;
+}
+
+static int tas5756m_route_channels(struct tas5756m_data *tas5756m,
+ enum channel_mixer channel)
+{
+ struct device *dev = &tas5756m->tas5756m_client->dev;
+ const int ADDR = PAGE_NR(0) + TAS5756M_DAC_DATA_PATH;
+ unsigned char value;
+ int ret;
+
+ switch (channel) {
+ case CHANNEL_MIXER_RIGHT:
+ value =
+ DAC_PATH_DEFAULT + (DAC_PATH_OPPOSITE << DAC_PATH_B_SHIFT);
+ break;
+ case CHANNEL_MIXER_LEFT:
+ value =
+ DAC_PATH_OPPOSITE + (DAC_PATH_DEFAULT << DAC_PATH_B_SHIFT);
+ break;
+ default:
+ value =
+ DAC_PATH_DEFAULT + (DAC_PATH_DEFAULT << DAC_PATH_B_SHIFT);
+ break;
+ }
+
+ ret = regmap_bulk_write(tas5756m->regmap, ADDR, &value, 1);
+ if (ret < 0) {
+ dev_err(dev, "failed to write default channels route: %d\n",
+ ret);
+ return ret;
+ }
+
+ tas5756m->channel = channel;
+ return ret;
+}
+
+static int tas5756m_resume(struct tas5756m_data *tas5756m)
+{
+ struct device *dev = &tas5756m->tas5756m_client->dev;
+ int ret;
+
+ ret =
+ regulator_bulk_enable(ARRAY_SIZE(tas5756m->supplies),
+ tas5756m->supplies);
+ if (ret < 0)
+ dev_err(dev, "failed to enable regulators %d\n", ret);
+
+ regcache_cache_only(tas5756m->regmap, false);
+
+ ret = regcache_sync(tas5756m->regmap);
+ if (ret < 0) {
+ dev_err(dev, "failed to sync regcache: %d\n", ret);
+ return ret;
+ }
+
+ return 0;
+}
+
+static int tas5756m_shutdown(struct tas5756m_data *tas5756m)
+{
+ struct device *dev = &tas5756m->tas5756m_client->dev;
+ int ret, reg_val, is_shutdown;
+
+ ret = regmap_read(tas5756m->regmap, TAS5756M_PDN_STBY, ®_val);
+ if (ret < 0) {
+ dev_err(dev, "failed to read DAC power state: %d\n", ret);
+ return ret;
+ }
+
+ is_shutdown = reg_val & PDN_MASK;
+ if (!is_shutdown) {
+ dev_info(dev, "codec power down - PDN: %u\n", is_shutdown);
+ regmap_update_bits(tas5756m->regmap, TAS5756M_PDN_STBY,
+ PDN_MASK, PDN_MASK);
+ }
+
+ return 0;
+}
+
+static bool tas5756m_is_running(struct tas5756m_data *tas5756m)
+{
+ struct device *dev = &tas5756m->tas5756m_client->dev;
+ bool running = false;
+ int err;
+ int dac_power_state;
+
+ err =
+ regmap_read(tas5756m->regmap, TAS5756M_DAC_PWR_STA,
+ &dac_power_state);
+ if (err < 0) {
+ dev_err(dev, "failed to read DAC power state: %d\n", err);
+ return running;
+ }
+
+ if ((dac_power_state & DAC_POWER_STATE_MASK) == DAC_RUNNING)
+ running = true;
+
+ return running;
+}
+
+static int tas5756m_get_coef_reg_offset(struct tas5756m_data *tas5756m,
+ enum hybridflow_features feature)
+{
+ int reg = -1;
+
+ if (tas5756m->hybridflow == HYBRIDFLOW_3) {
+ switch (feature) {
+ case TAS5756_REG_ADD_DELAY:
+ reg = PAGE_NR(50) + 72;
+ break;
+ case TAS5756_REG_CHAN_MIXER_HIGH:
+ reg = PAGE_NR(50) + 92;
+ break;
+ case TAS5756_REG_CHAN_MIXER_LOW:
+ reg = PAGE_NR(50) + 112;
+ break;
+ case TAS5756_REG_FILTER_HIGH_BIQUAD_1:
+ reg = PAGE_NR(46) + 56;
+ break;
+ case TAS5756_REG_FILTER_HIGH_BIQUAD_2:
+ reg = PAGE_NR(46) + 76;
+ break;
+ case TAS5756_REG_FILTER_HIGH_BIQUAD_3:
+ reg = PAGE_NR(46) + 96;
+ break;
+ case TAS5756_REG_FILTER_HIGH_BIQUAD_4:
+ reg = PAGE_NR(46) + 116;
+ break;
+ case TAS5756_REG_FILTER_HIGH_BIQUAD_5:
+ reg = PAGE_NR(47) + 16;
+ break;
+ case TAS5756_REG_FILTER_LOW_BIQUAD_1:
+ reg = PAGE_NR(45) + 60;
+ break;
+ case TAS5756_REG_FILTER_LOW_BIQUAD_2:
+ reg = PAGE_NR(45) + 80;
+ break;
+ case TAS5756_REG_FILTER_LOW_BIQUAD_3:
+ reg = PAGE_NR(45) + 100;
+ break;
+ case TAS5756_REG_FILTER_LOW_BIQUAD_4:
+ reg = PAGE_NR(45) + 120;
+ break;
+ case TAS5756_REG_FILTER_LOW_BIQUAD_5:
+ reg = PAGE_NR(46) + 20;
+ break;
+ case TAS5756_REG_DBE_EQ_HIGH_BIQUAD_1:
+ reg = PAGE_NR(47) + 80;
+ break;
+ case TAS5756_REG_DBE_EQ_HIGH_BIQUAD_2:
+ reg = PAGE_NR(47) + 100;
+ break;
+ case TAS5756_REG_DBE_EQ_LOW_BIQUAD_1:
+ reg = PAGE_NR(51) + 16;
+ break;
+ case TAS5756_REG_DBE_EQ_LOW_BIQUAD_2:
+ reg = PAGE_NR(51) + 36;
+ break;
+ case TAS5756_REG_DBE_EQ_LOW_BIQUAD_3:
+ reg = PAGE_NR(51) + 56;
+ break;
+ case TAS5756M_REG_DBE_MIXING_HIGH:
+ reg = PAGE_NR(46) + 44;
+ break;
+ case TAS5756M_REG_DBE_MIXING_LOW:
+ reg = PAGE_NR(46) + 48;
+ break;
+ case TAS5756M_REG_DBE_SENSING_HIGH:
+ reg = PAGE_NR(47) + 60;
+ break;
+ case TAS5756M_REG_DBE_SENSING_LOW:
+ reg = PAGE_NR(47) + 40;
+ break;
+ case TAS5756M_REG_DBE_WINDOW:
+ reg = PAGE_NR(46) + 52;
+ break;
+ case TAS5756M_REG_PBE_BYPASS:
+ reg = PAGE_NR(51) + 76;
+ break;
+ case TAS5756M_REG_PBE_HARMONIC:
+ reg = PAGE_NR(44) + 16;
+ break;
+ case TAS5756M_REG_PBE_EFFECT:
+ case TAS5756M_REG_PBE_HPF:
+ reg = PAGE_NR(44) + 20;
+ break;
+ default:
+ reg = -1;
+ break;
+ }
+ } else if (tas5756m->hybridflow == HYBRIDFLOW_4) {
+ switch (feature) {
+ case TAS5756_REG_CHAN_MIXER:
+ case TAS5756_REG_CHAN_MIXER_HIGH:
+ case TAS5756_REG_CHAN_MIXER_LOW:
+ reg = PAGE_NR(51) + 28;
+ break;
+ case TAS5756_REG_FILTER_BIQUAD_PRE_DBE_1:
+ reg = PAGE_NR(51) + 48;
+ break;
+ case TAS5756_REG_FILTER_BIQUAD_PRE_DBE_2:
+ reg = PAGE_NR(51) + 68;
+ break;
+ case TAS5756_REG_FILTER_BIQUAD_PRE_DBE_3:
+ reg = PAGE_NR(51) + 88;
+ break;
+ case TAS5756_REG_FILTER_BIQUAD_POST_DBE_1:
+ reg = PAGE_NR(46) + 108;
+ break;
+ case TAS5756_REG_FILTER_BIQUAD_POST_DBE_2:
+ reg = PAGE_NR(47) + 8;
+ break;
+ case TAS5756_REG_FILTER_BIQUAD_POST_DBE_3:
+ reg = PAGE_NR(47) + 28;
+ break;
+ case TAS5756_REG_FILTER_BIQUAD_POST_DBE_4:
+ reg = PAGE_NR(47) + 48;
+ break;
+ case TAS5756_REG_FILTER_BIQUAD_POST_DBE_5:
+ reg = PAGE_NR(47) + 68;
+ break;
+ case TAS5756_REG_DBE_EQ_HIGH_BIQUAD_1:
+ reg = PAGE_NR(46) + 16;
+ break;
+ case TAS5756_REG_DBE_EQ_HIGH_BIQUAD_2:
+ reg = PAGE_NR(46) + 36;
+ break;
+ case TAS5756_REG_DBE_EQ_HIGH_BIQUAD_3:
+ reg = PAGE_NR(46) + 56;
+ break;
+ case TAS5756_REG_DBE_EQ_HIGH_BIQUAD_4:
+ reg = PAGE_NR(46) + 76;
+ break;
+ case TAS5756_REG_DBE_EQ_LOW_BIQUAD_1:
+ reg = PAGE_NR(50) + 52;
+ break;
+ case TAS5756_REG_DBE_EQ_LOW_BIQUAD_2:
+ reg = PAGE_NR(50) + 72;
+ break;
+ case TAS5756_REG_DBE_EQ_LOW_BIQUAD_3:
+ reg = PAGE_NR(50) + 92;
+ break;
+ case TAS5756_REG_DBE_EQ_LOW_BIQUAD_4:
+ reg = PAGE_NR(50) + 112;
+ break;
+ case TAS5756M_REG_DBE_MIXING_HIGH:
+ reg = PAGE_NR(46) + 100;
+ break;
+ case TAS5756M_REG_DBE_MIXING_LOW:
+ reg = PAGE_NR(46) + 96;
+ break;
+ case TAS5756M_REG_DBE_SENSING_HIGH:
+ reg = PAGE_NR(45) + 8;
+ break;
+ case TAS5756M_REG_DBE_SENSING_LOW:
+ reg = PAGE_NR(44) + 108;
+ break;
+ case TAS5756M_REG_DBE_WINDOW:
+ reg = PAGE_NR(46) + 104;
+ break;
+ case TAS5756M_REG_PBE_BYPASS:
+ reg = PAGE_NR(51) + 108;
+ break;
+ case TAS5756M_REG_PBE_HARMONIC:
+ reg = PAGE_NR(45) + 28;
+ break;
+ case TAS5756M_REG_PBE_EFFECT:
+ case TAS5756M_REG_PBE_HPF:
+ reg = PAGE_NR(45) + 32;
+ break;
+ default:
+ reg = -1;
+ break;
+ }
+ } else if (tas5756m->hybridflow == HYBRIDFLOW_6) {
+ switch (feature) {
+ case TAS5756_REG_FILTER_BIQUAD_1:
+ reg = PAGE_NR(47) + 32;
+ break;
+ case TAS5756_REG_FILTER_BIQUAD_2:
+ reg = PAGE_NR(47) + 52;
+ break;
+ case TAS5756_REG_FILTER_BIQUAD_3:
+ reg = PAGE_NR(47) + 72;
+ break;
+ case TAS5756_REG_FILTER_BIQUAD_4:
+ reg = PAGE_NR(47) + 92;
+ break;
+ case TAS5756_REG_FILTER_BIQUAD_5:
+ reg = PAGE_NR(47) + 112;
+ break;
+ case TAS5756_REG_FILTER_BIQUAD_6:
+ reg = PAGE_NR(48) + 12;
+ break;
+ case TAS5756_REG_FILTER_BIQUAD_7:
+ reg = PAGE_NR(48) + 32;
+ break;
+ case TAS5756_REG_FILTER_BIQUAD_8:
+ reg = PAGE_NR(48) + 52;
+ break;
+ case TAS5756_REG_FILTER_BIQUAD_9:
+ reg = PAGE_NR(48) + 72;
+ break;
+ case TAS5756_REG_FILTER_BIQUAD_10:
+ reg = PAGE_NR(48) + 92;
+ break;
+ case TAS5756_REG_DBE_EQ_HIGH_BIQUAD_1:
+ reg = PAGE_NR(45) + 32;
+ break;
+ case TAS5756_REG_DBE_EQ_HIGH_BIQUAD_2:
+ reg = PAGE_NR(45) + 52;
+ break;
+ case TAS5756_REG_DBE_EQ_HIGH_BIQUAD_3:
+ reg = PAGE_NR(45) + 72;
+ break;
+ case TAS5756_REG_DBE_EQ_LOW_BIQUAD_1:
+ reg = PAGE_NR(46) + 16;
+ break;
+ case TAS5756_REG_DBE_EQ_LOW_BIQUAD_2:
+ reg = PAGE_NR(46) + 36;
+ break;
+ case TAS5756_REG_DBE_EQ_LOW_BIQUAD_3:
+ reg = PAGE_NR(46) + 56;
+ break;
+ case TAS5756_REG_DBE_EQ_LOW_BIQUAD_4:
+ reg = PAGE_NR(46) + 76;
+ break;
+ case TAS5756_REG_DBE_EQ_LOW_BIQUAD_5:
+ reg = PAGE_NR(46) + 96;
+ break;
+ case TAS5756M_REG_DBE_MIXING_HIGH:
+ reg = PAGE_NR(44) + 100;
+ break;
+ case TAS5756M_REG_DBE_MIXING_LOW:
+ reg = PAGE_NR(44) + 96;
+ break;
+ case TAS5756M_REG_DBE_SENSING_HIGH:
+ case TAS5756M_REG_DBE_SENSING_LOW:
+ reg = PAGE_NR(44) + 108;
+ break;
+ case TAS5756M_REG_DBE_WINDOW:
+ reg = PAGE_NR(44) + 104;
+ break;
+ default:
+ reg = -1;
+ break;
+ }
+ } else if (tas5756m->hybridflow == HYBRIDFLOW_7) {
+ switch (feature) {
+ case TAS5756_REG_FILTER_BIQUAD_1:
+ reg = PAGE_NR(45) + 48;
+ break;
+ case TAS5756_REG_FILTER_BIQUAD_2:
+ reg = PAGE_NR(45) + 76;
+ break;
+ case TAS5756_REG_FILTER_BIQUAD_3:
+ reg = PAGE_NR(45) + 96;
+ break;
+ case TAS5756_REG_FILTER_BIQUAD_4:
+ reg = PAGE_NR(45) + 116;
+ break;
+ case TAS5756_REG_FILTER_BIQUAD_5:
+ reg = PAGE_NR(46) + 16;
+ break;
+ default:
+ reg = -1;
+ break;
+ }
+ }
+
+ return CRAM_BUFFER_OFFSET(reg);
+}
+
+static int tas5756m_get_nb_coef(struct tas5756m_data *tas5756m,
+ enum hybridflow_features feature)
+{
+ int nb_coefs;
+
+ switch (feature) {
+ case TAS5756_REG_FILTER_BIQUAD_1:
+ case TAS5756_REG_FILTER_BIQUAD_2:
+ case TAS5756_REG_FILTER_BIQUAD_3:
+ case TAS5756_REG_FILTER_BIQUAD_4:
+ case TAS5756_REG_FILTER_BIQUAD_5:
+ case TAS5756_REG_FILTER_BIQUAD_6:
+ case TAS5756_REG_FILTER_BIQUAD_7:
+ case TAS5756_REG_FILTER_BIQUAD_8:
+ case TAS5756_REG_FILTER_BIQUAD_9:
+ case TAS5756_REG_FILTER_BIQUAD_10:
+
+ case TAS5756_REG_FILTER_BIQUAD_PRE_DBE_1:
+ case TAS5756_REG_FILTER_BIQUAD_PRE_DBE_2:
+ case TAS5756_REG_FILTER_BIQUAD_PRE_DBE_3:
+
+ case TAS5756_REG_FILTER_BIQUAD_POST_DBE_1:
+ case TAS5756_REG_FILTER_BIQUAD_POST_DBE_2:
+ case TAS5756_REG_FILTER_BIQUAD_POST_DBE_3:
+ case TAS5756_REG_FILTER_BIQUAD_POST_DBE_4:
+ case TAS5756_REG_FILTER_BIQUAD_POST_DBE_5:
+
+ case TAS5756_REG_FILTER_HIGH_BIQUAD_1:
+ case TAS5756_REG_FILTER_HIGH_BIQUAD_2:
+ case TAS5756_REG_FILTER_HIGH_BIQUAD_3:
+ case TAS5756_REG_FILTER_HIGH_BIQUAD_4:
+ case TAS5756_REG_FILTER_HIGH_BIQUAD_5:
+
+ case TAS5756_REG_FILTER_LOW_BIQUAD_1:
+ case TAS5756_REG_FILTER_LOW_BIQUAD_2:
+ case TAS5756_REG_FILTER_LOW_BIQUAD_3:
+ case TAS5756_REG_FILTER_LOW_BIQUAD_4:
+ case TAS5756_REG_FILTER_LOW_BIQUAD_5:
+
+ case TAS5756_REG_DBE_EQ_HIGH_BIQUAD_1:
+ case TAS5756_REG_DBE_EQ_HIGH_BIQUAD_2:
+ case TAS5756_REG_DBE_EQ_HIGH_BIQUAD_3:
+ case TAS5756_REG_DBE_EQ_HIGH_BIQUAD_4:
+ case TAS5756_REG_DBE_EQ_HIGH_BIQUAD_5:
+
+ case TAS5756_REG_DBE_EQ_LOW_BIQUAD_1:
+ case TAS5756_REG_DBE_EQ_LOW_BIQUAD_2:
+ case TAS5756_REG_DBE_EQ_LOW_BIQUAD_3:
+ case TAS5756_REG_DBE_EQ_LOW_BIQUAD_4:
+ case TAS5756_REG_DBE_EQ_LOW_BIQUAD_5:
+
+ case TAS5756M_REG_DBE_SENSING_HIGH:
+ case TAS5756M_REG_DBE_SENSING_LOW:
+ nb_coefs = CRAM_BIQUAD_NB_COEF;
+ break;
+
+ case TAS5756_REG_CHAN_MIXER:
+ case TAS5756_REG_CHAN_MIXER_HIGH:
+ case TAS5756_REG_CHAN_MIXER_LOW:
+ case TAS5756M_REG_PBE_BYPASS:
+ nb_coefs = 2;
+ break;
+
+ case TAS5756M_REG_PBE_EFFECT:
+ case TAS5756M_REG_PBE_HPF:
+ nb_coefs = CRAM_HPF_EFFECT_NB_COEF;
+ break;
+
+ case TAS5756_REG_ADD_DELAY:
+ nb_coefs = DELAY_SAMPLES_MAX;
+ break;
+
+ case TAS5756M_REG_DBE_WINDOW:
+ case TAS5756M_REG_DBE_MIXING_HIGH:
+ case TAS5756M_REG_DBE_MIXING_LOW:
+ case TAS5756M_REG_PBE_HARMONIC:
+ default:
+ nb_coefs = 1;
+ break;
+ }
+
+ return nb_coefs;
+}
+
+static int tas5756m_get_coef(struct tas5756m_data *tas5756m,
+ enum hybridflow_features feature)
+{
+ int reg = tas5756m_get_coef_reg_offset(tas5756m, feature);
+ int page_offset = ADDR_TO_PAGE_NR(reg);
+ int reg_offset = (reg & PAGE_ADDRESS_MASK) - CRAM_BUFFER_PAGE_OFFSET;
+
+ if (reg < 0)
+ return -EINVAL;
+
+ return page_offset * CRAM_NB_COEF_PER_PAGE +
+ reg_offset / CRAM_COEF_NB_REGS;
+}
+
+static int tas5756m_enable_adaptive_mode(struct tas5756m_data *tas5756m,
+ bool enable)
+{
+ struct device *dev = &tas5756m->tas5756m_client->dev;
+ int mask = CRAM_BUFFER_CRAM_ADAP_MODE_MASK;
+ int value = (enable ? 1 : 0) << 2;
+ int ret;
+
+ ret =
+ regmap_update_bits(tas5756m->regmap, CRAM_BUFFER_SWITCH_REG, mask,
+ value);
+ if (ret < 0)
+ dev_err(dev, "failed to enable adaptive mode: %d\n", ret);
+
+ return ret;
+}
+
+static bool tas5756m_adaptive_mode_is_enabled(struct tas5756m_data *tas5756m)
+{
+ struct device *dev = &tas5756m->tas5756m_client->dev;
+ int ret;
+ bool enabled = false;
+ int value;
+
+ ret = regmap_read(tas5756m->regmap, CRAM_BUFFER_SWITCH_REG, &value);
+ if (ret < 0)
+ dev_err(dev, "failed to read adaptive mode value: %d\n", ret);
+ else
+ enabled =
+ value & CRAM_BUFFER_CRAM_ADAP_MODE_MASK ? true : false;
+
+ return enabled;
+}
+
+static enum cram_buffer tas5756m_get_current_cram_buffer(struct tas5756m_data
+ *tas5756m)
+{
+ struct device *dev = &tas5756m->tas5756m_client->dev;
+ enum cram_buffer buffer = CRAM_BUFFER_A;
+ int ret, used_buffer;
+ int mask = CRAM_BUFFER_CRAM_BUFFER_USED_NON_ADAPT_MASK;
+
+ ret =
+ regmap_read(tas5756m->regmap, CRAM_BUFFER_SWITCH_REG, &used_buffer);
+ if (ret < 0) {
+ dev_err(dev,
+ "failed to read which buffer is currently used: %d\n",
+ ret);
+ return buffer;
+ }
+
+ if (tas5756m_adaptive_mode_is_enabled(tas5756m))
+ mask = CRAM_BUFFER_CRAM_BUFFER_USED_MASK;
+
+ if ((used_buffer & mask) == 0)
+ buffer = CRAM_BUFFER_A;
+ else
+ buffer = CRAM_BUFFER_B;
+
+ return buffer;
+}
+
+static int tas5756m_cram_to_virt_buffer(struct tas5756m_data *tas5756m,
+ enum cram_buffer src)
+{
+ struct regmap *regmap = tas5756m->regmap;
+ struct device *dev = &tas5756m->tas5756m_client->dev;
+ const int SRC_PAGE =
+ src ==
+ CRAM_BUFFER_A ? CRAM_FIRST_PAGE : CRAM_FIRST_PAGE_SECOND_BANK;
+ const int NB_PAGES = CRAM_BUFFER_NB_PAGES;
+ const int OFFSET = CRAM_BUFFER_PAGE_OFFSET;
+ int i, ret;
+
+ for (i = 0; i < NB_PAGES; i++) {
+ ret = regmap_bulk_read(regmap, PAGE_NR(SRC_PAGE + i) + OFFSET,
+ tas5756m->cram_buffer +
+ CRAM_NB_COEF_PER_PAGE * i,
+ CRAM_REGS_PER_PAGES);
+ if (ret < 0) {
+ dev_err(dev,
+ "failed to copy from CRAM page %d registers to virtual buffer: %d\n",
+ SRC_PAGE + i, ret);
+ return ret;
+ }
+ }
+
+ return ret;
+}
+
+static int tas5756m_virt_buffer_to_cram(struct tas5756m_data *tas5756m,
+ enum cram_buffer src)
+{
+ struct regmap *regmap = tas5756m->regmap;
+ struct device *dev = &tas5756m->tas5756m_client->dev;
+ const int SRC_PAGE =
+ src ==
+ CRAM_BUFFER_A ? CRAM_FIRST_PAGE : CRAM_FIRST_PAGE_SECOND_BANK;
+ const int NB_PAGES = CRAM_BUFFER_NB_PAGES;
+ const int OFFSET = CRAM_BUFFER_PAGE_OFFSET;
+ int i, ret;
+
+ for (i = 0; i < NB_PAGES; i++) {
+ ret = regmap_bulk_write(regmap, PAGE_NR(SRC_PAGE + i) + OFFSET,
+ tas5756m->cram_buffer +
+ CRAM_NB_COEF_PER_PAGE * i,
+ CRAM_REGS_PER_PAGES);
+ if (ret < 0) {
+ dev_err(dev,
+ "failed to copy from virt buffer to CRAM page %d registers: %d\n",
+ SRC_PAGE + i, ret);
+ return ret;
+ }
+ }
+
+ return ret;
+}
+
+static int tas5756m_info_cram_buffer(struct snd_kcontrol *kcontrol,
+ struct snd_ctl_elem_info *uinfo)
+{
+ uinfo->type = SNDRV_CTL_ELEM_TYPE_INTEGER;
+ uinfo->count = 1;
+ uinfo->value.integer.min = 0;
+ uinfo->value.integer.max = 1;
+
+ return 0;
+}
+
+static int tas5756m_get_current_buffer(struct snd_kcontrol *kcontrol,
+ struct snd_ctl_elem_value *ucontrol)
+{
+ struct snd_soc_component *component =
+ snd_soc_kcontrol_component(kcontrol);
+ struct tas5756m_data *tas5756m =
+ snd_soc_component_get_drvdata(component);
+
+ ucontrol->value.integer.value[0] = tas5756m->buffer;
+ return 0;
+}
+
+static int tas5756m_apply_config(struct snd_kcontrol *kcontrol,
+ struct snd_ctl_elem_value *ucontrol)
+{
+ struct snd_soc_component *component =
+ snd_soc_kcontrol_component(kcontrol);
+ struct tas5756m_data *tas5756m =
+ snd_soc_component_get_drvdata(component);
+ struct device *dev = &tas5756m->tas5756m_client->dev;
+
+ const int MAX_TRY_CHECK_STATUS = 10;
+ int ret = 0, try = 0;
+ unsigned int switch_status = 1;
+
+ /* Without adaptive mode, the chip must be suspended
+ * before writing CRAM buffer then enable it again.
+ */
+ if (!tas5756m_adaptive_mode_is_enabled(tas5756m)) {
+ tas5756m_shutdown(tas5756m);
+ tas5756m_virt_buffer_to_cram(tas5756m, tas5756m->buffer);
+ tas5756m_resume(tas5756m);
+ } else {
+ tas5756m_virt_buffer_to_cram(tas5756m, CRAM_BUFFER_A);
+ tas5756m_virt_buffer_to_cram(tas5756m, CRAM_BUFFER_B);
+
+ ret =
+ regmap_update_bits(tas5756m->regmap, CRAM_BUFFER_SWITCH_REG,
+ CRAM_BUFFER_SWITCH_MASK, switch_status);
+ if (ret < 0) {
+ dev_err(dev,
+ "failed to write CRAM switch register: %d\n",
+ ret);
+ return ret;
+ }
+
+ /* CRAM switching is done on next audio frame.
+ * When the chip is running,
+ * the driver is able to check if the operation succeed.
+ * Otherwise, this checking step is skipped.
+ */
+ if (tas5756m_is_running(tas5756m)) {
+ while (switch_status && try < MAX_TRY_CHECK_STATUS) {
+ ret =
+ regmap_read(tas5756m->regmap,
+ CRAM_BUFFER_SWITCH_REG,
+ &switch_status);
+ if (ret < 0) {
+ dev_err(dev,
+ "failed to read CRAM switch register: %d\n",
+ ret);
+ return ret;
+ }
+
+ switch_status &= CRAM_BUFFER_SWITCH_MASK;
+ try++;
+ usleep_range(100, 200);
+ }
+
+ if (switch_status) {
+ dev_err(dev,
+ "failed to switch CRAM: %d tries.\n",
+ try);
+ return ret;
+ }
+ }
+ }
+
+ tas5756m->buffer = tas5756m_get_current_cram_buffer(tas5756m);
+ return ret;
+}
+
+static int tas5756m_coef_get(struct tas5756m_data *tas5756m, int coef,
+ long *val)
+{
+ if (coef < 0 || coef >= CRAM_BUFFER_SIZE)
+ return -EINVAL;
+
+ *val = be32_to_cpu(tas5756m->cram_buffer[coef]) >> 8;
+ return 0;
+}
+
+static int tas5756m_coef_set(struct tas5756m_data *tas5756m, int coef, long val)
+{
+ if (coef < 0 || coef >= CRAM_BUFFER_SIZE)
+ return -EINVAL;
+
+ tas5756m->cram_buffer[coef] = cpu_to_be32(val << 8);
+ return 0;
+}
+
+static int tas5756m_coef_set_mask(struct tas5756m_data *tas5756m, size_t coef,
+ int mask, long val)
+{
+ long old_val;
+ int ret;
+
+ ret = tas5756m_coef_get(tas5756m, coef, &old_val);
+ if (ret < 0)
+ return ret;
+
+ return tas5756m_coef_set(tas5756m, coef,
+ (val & mask) | (old_val & ~mask));
+}
+
+/*
+ * Integer array controls for setting biquad, mixer, DRC coefficients.
+ * According to the datasheet each coefficient is effectively 24 bits,
+ * i.e. stored as 32bits, where bits [31:24] are ignored.
+ * TI's TAS57xx Graphical Development Environment tool however produces
+ * coefficients with more than 24 bits. For this reason we allow values
+ * in the full 32-bits reange.
+ * The coefficients are ordered as given in the TAS575x data sheet:
+ * b0, b1, b2, a1, a2.
+ * To compute valid values:
+ * http://www.ti.com/lit/an/slaa447/slaa447.pdf
+ * In this document, Peak EQ is miscomputed:
+ * https://e2e.ti.com/support/audio/f/6/p/656270/2415402
+ */
+static int tas5756m_coefficient_info(struct snd_kcontrol *kcontrol,
+ struct snd_ctl_elem_info *uinfo)
+{
+ struct snd_soc_component *component =
+ snd_soc_kcontrol_component(kcontrol);
+ struct tas5756m_data *tas5756m =
+ snd_soc_component_get_drvdata(component);
+
+ int nb_coefs = tas5756m_get_nb_coef(tas5756m, kcontrol->private_value);
+
+ uinfo->type = SNDRV_CTL_ELEM_TYPE_INTEGER;
+ uinfo->count = nb_coefs;
+ uinfo->value.integer.min = 0;
+ uinfo->value.integer.max = 0x00ffffff;
+
+ return 0;
+}
+
+static int tas5756m_coefficient_get(struct snd_kcontrol *kcontrol,
+ struct snd_ctl_elem_value *ucontrol)
+{
+ struct snd_soc_component *component =
+ snd_soc_kcontrol_component(kcontrol);
+ struct tas5756m_data *tas5756m =
+ snd_soc_component_get_drvdata(component);
+
+ int coef = tas5756m_get_coef(tas5756m, kcontrol->private_value);
+ int nb_coefs = tas5756m_get_nb_coef(tas5756m, kcontrol->private_value);
+ int i, ret;
+
+ for (i = 0; i < nb_coefs; i++) {
+ ret = tas5756m_coef_get(tas5756m, coef + i,
+ &(ucontrol->value.integer.value[i]));
+ if (ret < 0)
+ return ret;
+ }
+
+ return i;
+}
+
+static int tas5756m_coefficient_put(struct snd_kcontrol *kcontrol,
+ struct snd_ctl_elem_value *ucontrol)
+{
+ struct snd_soc_component *component =
+ snd_soc_kcontrol_component(kcontrol);
+ struct tas5756m_data *tas5756m =
+ snd_soc_component_get_drvdata(component);
+
+ int coef = tas5756m_get_coef(tas5756m, kcontrol->private_value);
+ int nb_coefs = tas5756m_get_nb_coef(tas5756m, kcontrol->private_value);
+ int i, ret;
+
+ for (i = 0; i < nb_coefs; i++) {
+ ret = tas5756m_coef_set(tas5756m, coef + i,
+ ucontrol->value.integer.value[i]);
+ if (ret < 0)
+ return ret;
+ }
+
+ return i;
+}
+
+#define CRAM_COEFS(xname, feature) \
+{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, \
+ .info = tas5756m_coefficient_info, \
+ .get = tas5756m_coefficient_get,\
+ .put = tas5756m_coefficient_put, \
+ .access = SNDRV_CTL_ELEM_ACCESS_READWRITE, \
+ .private_value = feature \
+}
+
+const char *mixer_mode_text[] = {
+ "Right",
+ "Left",
+ "Mono",
+};
+
+static int tas5756m_channel_mixer_info(struct snd_kcontrol *kcontrol,
+ struct snd_ctl_elem_info *uinfo)
+{
+ return snd_ctl_enum_info(uinfo, 1, CHANNEL_MIXER_MAX, mixer_mode_text);
+}
+
+static int tas5756m_channel_mixer_get(struct snd_kcontrol *kcontrol,
+ struct snd_ctl_elem_value *ucontrol)
+{
+ struct snd_soc_component *component =
+ snd_soc_kcontrol_component(kcontrol);
+ struct tas5756m_data *tas5756m =
+ snd_soc_component_get_drvdata(component);
+
+ ucontrol->value.enumerated.item[0] = tas5756m->channel;
+ return 1;
+}
+
+static int tas5756m_channel_mixer_put(struct snd_kcontrol *kcontrol,
+ struct snd_ctl_elem_value *ucontrol)
+{
+ struct snd_soc_component *component =
+ snd_soc_kcontrol_component(kcontrol);
+ struct tas5756m_data *tas5756m =
+ snd_soc_component_get_drvdata(component);
+
+ const int default_gain_one = 0x7FFFFF, default_gain_both = 0x400000;
+ long gains[2];
+ int coef = tas5756m_get_coef(tas5756m, kcontrol->private_value);
+ int nb_coefs = tas5756m_get_nb_coef(tas5756m, kcontrol->private_value);
+ int i, ret;
+
+ switch (ucontrol->value.enumerated.item[0]) {
+ case CHANNEL_MIXER_MONO:
+ gains[0] = default_gain_both;
+ gains[1] = default_gain_both;
+ break;
+ case CHANNEL_MIXER_LEFT:
+ gains[0] = default_gain_one;
+ gains[1] = 0;
+ break;
+ case CHANNEL_MIXER_RIGHT:
+ gains[0] = 0;
+ gains[1] = default_gain_one;
+ break;
+ default:
+ gains[0] = 0;
+ gains[1] = 0;
+ break;
+ }
+
+ tas5756m_route_channels(tas5756m, ucontrol->value.enumerated.item[0]);
+
+ for (i = 0; i < nb_coefs; i++) {
+ ret = tas5756m_coef_set_mask(tas5756m, coef + i,
+ MIXER_GAIN_MASK_MASK, gains[i]);
+ if (ret < 0)
+ return ret;
+ }
+
+ return 1;
+}
+
+#define CHANNEL_MIXER_COEFS(xname, feature) \
+{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, \
+ .info = tas5756m_channel_mixer_info, \
+ .get = tas5756m_channel_mixer_get,\
+ .put = tas5756m_channel_mixer_put, \
+ .access = SNDRV_CTL_ELEM_ACCESS_READWRITE, \
+ .private_value = feature \
+}
+
+static int tas5756m_channel_phase_info(struct snd_kcontrol *kcontrol,
+ struct snd_ctl_elem_info *uinfo)
+{
+ struct snd_soc_component *component =
+ snd_soc_kcontrol_component(kcontrol);
+ struct tas5756m_data *tas5756m =
+ snd_soc_component_get_drvdata(component);
+
+ int nb_coefs = tas5756m_get_nb_coef(tas5756m, kcontrol->private_value);
+
+ uinfo->type = SNDRV_CTL_ELEM_TYPE_INTEGER;
+ uinfo->count = nb_coefs;
+ uinfo->value.integer.min = 0;
+ uinfo->value.integer.max = 1;
+
+ return 0;
+}
+
+static int tas5756m_channel_phase_get(struct snd_kcontrol *kcontrol,
+ struct snd_ctl_elem_value *ucontrol)
+{
+ struct snd_soc_component *component =
+ snd_soc_kcontrol_component(kcontrol);
+ struct tas5756m_data *tas5756m =
+ snd_soc_component_get_drvdata(component);
+
+ long phases[2];
+ int coef = tas5756m_get_coef(tas5756m, kcontrol->private_value);
+ int nb_coefs = tas5756m_get_nb_coef(tas5756m, kcontrol->private_value);
+ int i, ret;
+
+ for (i = 0; i < nb_coefs; i++) {
+ ret = tas5756m_coef_get(tas5756m, coef + i, &(phases[i]));
+ if (ret < 0)
+ return ret;
+
+ phases[i] = phases[i] & MIXER_PHASE_INVERSION_MASK;
+ }
+
+ if (phases[0] || phases[1])
+ ucontrol->value.integer.value[0] = PHASE_INVERSION;
+ else
+ ucontrol->value.integer.value[0] = PHASE_NO_INVERSION;
+
+ return 1;
+}
+
+static int tas5756m_channel_phase_put(struct snd_kcontrol *kcontrol,
+ struct snd_ctl_elem_value *ucontrol)
+{
+ struct snd_soc_component *component =
+ snd_soc_kcontrol_component(kcontrol);
+ struct tas5756m_data *tas5756m =
+ snd_soc_component_get_drvdata(component);
+
+ int phase =
+ ucontrol->value.integer.value[0] ==
+ 1 ? MIXER_PHASE_INVERSION_MASK : 0;
+ int coef = tas5756m_get_coef(tas5756m, kcontrol->private_value);
+ int nb_coefs = tas5756m_get_nb_coef(tas5756m, kcontrol->private_value);
+ int i, ret;
+
+ for (i = 0; i < nb_coefs; i++) {
+ ret = tas5756m_coef_set_mask(tas5756m, coef + i,
+ MIXER_PHASE_INVERSION_MASK, phase);
+ if (ret < 0)
+ return ret;
+ }
+
+ return 1;
+}
+
+#define CHANNEL_PHASE_COEFS(xname, feature) \
+{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, \
+ .info = tas5756m_channel_phase_info, \
+ .get = tas5756m_channel_phase_get,\
+ .put = tas5756m_channel_phase_put, \
+ .access = SNDRV_CTL_ELEM_ACCESS_READWRITE, \
+ .private_value = feature \
+}
+
+static int tas5756m_bypass_coef_info(struct snd_kcontrol *kcontrol,
+ struct snd_ctl_elem_info *uinfo)
+{
+ struct snd_soc_component *component =
+ snd_soc_kcontrol_component(kcontrol);
+ struct tas5756m_data *tas5756m =
+ snd_soc_component_get_drvdata(component);
+
+ int nb_coefs = tas5756m_get_nb_coef(tas5756m, kcontrol->private_value);
+
+ uinfo->type = SNDRV_CTL_ELEM_TYPE_INTEGER;
+ uinfo->count = nb_coefs;
+ uinfo->value.integer.min = 0;
+ uinfo->value.integer.max = 1;
+
+ return 0;
+}
+
+static int tas5756m_bypass_coef_get(struct snd_kcontrol *kcontrol,
+ struct snd_ctl_elem_value *ucontrol)
+{
+ struct snd_soc_component *component =
+ snd_soc_kcontrol_component(kcontrol);
+ struct tas5756m_data *tas5756m =
+ snd_soc_component_get_drvdata(component);
+
+ int coef = tas5756m_get_coef(tas5756m, kcontrol->private_value);
+ int nb_coefs = tas5756m_get_nb_coef(tas5756m, kcontrol->private_value);
+ long value[2];
+ int i, ret;
+
+ for (i = 0; i < nb_coefs; i++) {
+ ret = tas5756m_coef_get(tas5756m, coef + i, &value[i]);
+ if (ret < 0)
+ return ret;
+ }
+
+ if (value[0] == 0 && value[1] == COEF_ENABLE_FEATURE_VALUE)
+ ucontrol->value.integer.value[0] = 1;
+ else
+ ucontrol->value.integer.value[0] = 0;
+
+ return 1;
+}
+
+static int tas5756m_bypass_coef_put(struct snd_kcontrol *kcontrol,
+ struct snd_ctl_elem_value *ucontrol)
+{
+ struct snd_soc_component *component =
+ snd_soc_kcontrol_component(kcontrol);
+ struct tas5756m_data *tas5756m =
+ snd_soc_component_get_drvdata(component);
+
+ int coef = tas5756m_get_coef(tas5756m, kcontrol->private_value);
+ int nb_coefs = tas5756m_get_nb_coef(tas5756m, kcontrol->private_value);
+ long value[2];
+ int i, ret;
+
+ if (ucontrol->value.integer.value[0] == 1) {
+ value[0] = 0;
+ value[1] = COEF_ENABLE_FEATURE_VALUE;
+ } else {
+ value[0] = COEF_ENABLE_FEATURE_VALUE;
+ value[1] = 0;
+ }
+
+ for (i = 0; i < nb_coefs; i++) {
+ ret = tas5756m_coef_set(tas5756m, coef + i, value[i]);
+ if (ret < 0)
+ return ret;
+ }
+
+ return 1;
+}
+
+#define BYPASS_COEFS(xname, feature) \
+{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, \
+ .info = tas5756m_bypass_coef_info, \
+ .get = tas5756m_bypass_coef_get,\
+ .put = tas5756m_bypass_coef_put, \
+ .access = SNDRV_CTL_ELEM_ACCESS_READWRITE, \
+ .private_value = feature \
+}
+
+const char *delay_samples_text[] = {
+ "0",
+ "4",
+ "8",
+ "12",
+ "16",
+};
+
+static int tas5756m_delay_samples_info(struct snd_kcontrol *kcontrol,
+ struct snd_ctl_elem_info *uinfo)
+{
+ return snd_ctl_enum_info(uinfo, 1, DELAY_SAMPLES_MAX,
+ delay_samples_text);
+}
+
+static int tas5756m_delay_samples_get(struct snd_kcontrol *kcontrol,
+ struct snd_ctl_elem_value *ucontrol)
+{
+ struct snd_soc_component *component =
+ snd_soc_kcontrol_component(kcontrol);
+ struct tas5756m_data *tas5756m =
+ snd_soc_component_get_drvdata(component);
+
+ int coef = tas5756m_get_coef(tas5756m, kcontrol->private_value);
+ int nb_coefs = tas5756m_get_nb_coef(tas5756m, kcontrol->private_value);
+ long value;
+ enum delay_samples delay = DELAY_SAMPLES_0;
+ int i, ret;
+
+ for (i = 0; i < nb_coefs; i++) {
+ ret = tas5756m_coef_get(tas5756m, coef + i, &value);
+ if (ret < 0)
+ return ret;
+
+ if (value != 0)
+ delay = DELAY_SAMPLES_MAX - i - 1;
+ }
+
+ ucontrol->value.enumerated.item[0] = delay;
+ return 1;
+}
+
+static int tas5756m_delay_samples_put(struct snd_kcontrol *kcontrol,
+ struct snd_ctl_elem_value *ucontrol)
+{
+ struct snd_soc_component *component =
+ snd_soc_kcontrol_component(kcontrol);
+ struct tas5756m_data *tas5756m =
+ snd_soc_component_get_drvdata(component);
+
+ const int default_value = 0x7FFFFF;
+ int coef = tas5756m_get_coef(tas5756m, kcontrol->private_value);
+ int nb_coefs = tas5756m_get_nb_coef(tas5756m, kcontrol->private_value);
+ int coef_index, value;
+ int i, ret;
+
+ coef_index = nb_coefs - ucontrol->value.enumerated.item[0] - 1;
+
+ for (i = 0; i < nb_coefs; i++) {
+ value = coef_index == i ? default_value : 0;
+ ret = tas5756m_coef_set(tas5756m, coef + i, value);
+ if (ret < 0)
+ return ret;
+ }
+
+ return 1;
+}
+
+#define DELAY_SAMPLES_COEFS(xname, feature) \
+{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, \
+ .info = tas5756m_delay_samples_info, \
+ .get = tas5756m_delay_samples_get,\
+ .put = tas5756m_delay_samples_put, \
+ .access = SNDRV_CTL_ELEM_ACCESS_READWRITE, \
+ .private_value = feature \
+}
+
+#define APPLY_CONFIG \
+{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, \
+ .name = "Apply config", \
+ .put = tas5756m_apply_config, \
+ .get = tas5756m_get_current_buffer, \
+ .info = tas5756m_info_cram_buffer, \
+ .access = SNDRV_CTL_ELEM_ACCESS_READWRITE, \
+}
+
+static const char *const tas5756m_supply_names[] = {
+ "dvdd", /* Digital power supply. Connect to 3.3-V supply. */
+ "pvdd", /* Class-D amp and analog power supply (connected). */
+};
+
+static int tas5756m_hw_params(struct snd_pcm_substream *substream,
+ struct snd_pcm_hw_params *params,
+ struct snd_soc_dai *dai)
+{
+ struct snd_soc_component *component = dai->component;
+ u16 iface_reg;
+ int ret;
+
+ if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) {
+ switch (params_rate(params)) {
+ case 8000:
+ case 11025:
+ case 16000:
+ case 22050:
+ case 32000:
+ case 44100:
+ case 48000:
+ case 96000:
+ dev_info(component->dev, "sample rate: %u\n",
+ params_rate(params));
+ break;
+
+ default:
+ dev_err(component->dev, "invalid sample rate: %u\n",
+ params_rate(params));
+ return -EINVAL;
+ }
+
+ switch (params_width(params)) {
+ case 16:
+ iface_reg = RES_16BIT;
+ break;
+ case 20:
+ iface_reg = RES_20BIT;
+ break;
+ case 24:
+ iface_reg = RES_24BIT;
+ break;
+ case 32:
+ default:
+ iface_reg = RES_32BIT;
+ break;
+ }
+
+ dev_info(component->dev, "bit depth: %u\n",
+ params_width(params));
+
+ ret =
+ snd_soc_component_write(component, TAS5756M_I2S_CONFIG,
+ iface_reg);
+ if (ret < 0) {
+ dev_err(component->dev, "error setting width: %d\n",
+ ret);
+ return ret;
+ }
+
+ }
+
+ return 0;
+}
+
+static int tas5756m_pcm_prepare(struct snd_pcm_substream *substream,
+ struct snd_soc_dai *dai)
+{
+ struct snd_soc_component *component = dai->component;
+ int ret = 0;
+ int val;
+ unsigned int rate = substream->runtime->rate; /* rate in Hz */
+ unsigned int channels = substream->runtime->channels;
+ unsigned int frame_bits = substream->runtime->frame_bits;
+
+ dev_info(component->dev,
+ "runtime data: sample rate: %u - channels: %u - bitrate: %u\n",
+ rate, channels, frame_bits);
+
+ ret = snd_soc_component_read(component, TAS5756M_PDN_STBY, &val);
+ if (!ret) {
+ val &= PDN_STBY_MASK;
+ if (val) {
+ dev_info(component->dev,
+ "activating codec - PDN/STBY: %u\n", val);
+ ret =
+ snd_soc_component_write(component,
+ TAS5756M_PDN_STBY, 0x00);
+ }
+ }
+
+ return ret;
+}
+
+static void tas5756m_shutdown_dai(struct snd_pcm_substream *substream,
+ struct snd_soc_dai *dai)
+{
+ struct snd_soc_component *component = dai->component;
+ struct tas5756m_data *tas5756m_data =
+ snd_soc_component_get_drvdata(component);
+
+ tas5756m_shutdown(tas5756m_data);
+}
+
+static void tas5756m_fault_check_work(struct work_struct *work)
+{
+ struct tas5756m_data *tas5756m =
+ container_of(work, struct tas5756m_data, fault_check_work.work);
+ struct i2c_client *tas5756m_client = tas5756m->tas5756m_client;
+ struct device *dev = &tas5756m_client->dev;
+
+ unsigned int curr_fault;
+ int ret;
+
+ ret = regmap_read(tas5756m->regmap, TAS5756M_SHORT_DETECT, &curr_fault);
+ if (ret < 0) {
+ dev_err(dev, "failed to read FAULT register: %d\n", ret);
+ goto out;
+ }
+
+ /* Check / handle all errors except SAIF clock errors */
+ curr_fault &= (SHORT_BUSY_MASK | SHORT_MASK);
+
+ /* Only flag errors once for a given occurrence. This is needed as
+ * the TAS5756M will take time clearing the fault condition internally
+ * during which we don't want to bombard the system with the same
+ * error message over and over.
+ */
+ if (curr_fault && !tas5756m->last_fault)
+ dev_crit(dev, "error: short detected\n");
+
+ /* Store current fault value so we can detect any changes next time */
+ tas5756m->last_fault = curr_fault;
+
+out:
+ schedule_delayed_work(&tas5756m->fault_check_work,
+ msecs_to_jiffies(TAS5756M_FAULT_CHECK_INTERVAL));
+}
+
+static int tas5756m_set_dai_fmt(struct snd_soc_dai *dai, unsigned int fmt)
+{
+ struct snd_soc_component *component = dai->component;
+ u16 iface_reg;
+ struct tas5756m_data *tas5756m =
+ snd_soc_component_get_drvdata(component);
+
+ tas5756m->fmt = fmt;
+
+ if ((fmt & SND_SOC_DAIFMT_MASTER_MASK) != SND_SOC_DAIFMT_CBS_CFS) {
+ dev_info(component->dev, "master mode not supported\n");
+ return -EINVAL;
+ }
+
+ /* Interface format. Always normal I²S.
+ * Also assumed when setting resolution (bits).
+ */
+ switch (fmt & SND_SOC_DAIFMT_FORMAT_MASK) {
+ case (SND_SOC_DAIFMT_RIGHT_J | SND_SOC_DAIFMT_NB_NF):
+ iface_reg = FMT_RTJ;
+ dev_info(component->dev, "fmt: rightj\n");
+ break;
+ case (SND_SOC_DAIFMT_DSP_B | SND_SOC_DAIFMT_NB_NF):
+ case (SND_SOC_DAIFMT_LEFT_J | SND_SOC_DAIFMT_NB_NF):
+ dev_info(component->dev, "fmt: leftj\n");
+ iface_reg = FMT_LTJ;
+ break;
+ default:
+ case (SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF):
+ case (SND_SOC_DAIFMT_DSP_A | SND_SOC_DAIFMT_NB_NF):
+ dev_info(component->dev, "fmt: i2s / dsp_a\n");
+ iface_reg = FMT_I2S;
+ break;
+ }
+
+ return snd_soc_component_write(component, TAS5756M_I2S_CONFIG,
+ (iface_reg << 4));
+}
+
+static int tas5756m_mute(struct snd_soc_dai *dai, int mute)
+{
+ struct snd_soc_component *component = dai->component;
+ int ret;
+ int reg;
+
+ ret = snd_soc_component_read(component, TAS5756M_MUTE_L_R, ®);
+ if (ret) {
+ dev_err(component->dev, "unable to read mute status: %d\n",
+ ret);
+ return ret;
+ }
+
+ if (mute) {
+ dev_info(component->dev, "mute requested\n");
+ reg |= MUTE_ALL_MASK;
+ } else {
+ dev_info(component->dev, "unmute requested\n");
+ reg &= ~(MUTE_ALL_MASK);
+ }
+
+ return snd_soc_component_write(component, TAS5756M_MUTE_L_R,
+ (reg & MUTE_ALL_MASK));
+}
+
+static int tas5756m_codec_probe(struct snd_soc_component *component)
+{
+ int ret;
+ unsigned int dac_power_state;
+ struct tas5756m_data *tas5756m =
+ snd_soc_component_get_drvdata(component);
+
+ tas5756m->component = component;
+
+#ifdef CONFIG_OF
+ tas5756m->gpio_mute =
+ of_get_named_gpio(component->dev->of_node, "mute-gpio", 0);
+#endif
+
+ /* Enable the amplifier */
+ if (gpio_is_valid(tas5756m->gpio_mute)) {
+ ret =
+ gpio_request_one(tas5756m->gpio_mute, GPIOF_OUT_INIT_LOW,
+ "TAS5756M mute GPIO");
+
+ if (ret < 0) {
+ dev_warn(component->dev,
+ "failed to request mute gpio: %d\n", ret);
+ } else {
+ gpio_set_value(tas5756m->gpio_mute, 1);
+ dev_info(component->dev, "unmuted\n");
+ }
+ }
+
+ /* Set L / R volume to same value (are always differing on first boot
+ * when there're no saved state and messes up the mixer element).
+ */
+ ret =
+ regmap_write(tas5756m->regmap, TAS5756M_RIGHT_DVOL,
+ VOL_CH1_2_DEFAULT);
+ if (ret < 0)
+ dev_warn(component->dev, "failed to set volume: %d\n", ret);
+
+ ret =
+ regmap_write(tas5756m->regmap, TAS5756M_LEFT_DVOL,
+ VOL_CH1_2_DEFAULT);
+ if (ret < 0)
+ dev_warn(component->dev, "failed to set volume: %d\n", ret);
+
+ ret =
+ regmap_update_bits(tas5756m->regmap, TAS5756M_DAC_PWR_STA,
+ DAC_ENABLED_MASK, DAC_ENABLED_MASK);
+
+ dev_info(component->dev, "checking DAC booting register\n");
+ ret =
+ regmap_read(tas5756m->regmap, TAS5756M_DAC_PWR_STA,
+ &dac_power_state);
+ if (ret < 0) {
+ dev_err(component->dev, "failed to read DAC power state: %d\n",
+ ret);
+ goto probe_fail;
+ }
+
+ if (!dac_power_state) {
+ dev_info(component->dev, "not ready. retrying..");
+
+ ret =
+ regmap_read(tas5756m->regmap, TAS5756M_DAC_PWR_STA,
+ &dac_power_state);
+ if (ret < 0) {
+ dev_err(component->dev,
+ "failed to read DAC power state: %d\n", ret);
+ goto probe_fail;
+ }
+ }
+
+ /* Only D7 matters, lower nibble used for RO status */
+ dac_power_state &= 0x80;
+
+ if (dac_power_state) {
+ dev_info(component->dev, "DAC enabled\n");
+ } else {
+ dev_err(component->dev, "DAC disabled\n");
+ ret = -ENODEV;
+ goto probe_fail;
+ }
+
+ /* Set device to mute */
+ dev_info(component->dev, "muting TAS5756M\n");
+
+ ret =
+ snd_soc_component_write(component, TAS5756M_MUTE_L_R,
+ MUTE_ALL_MASK);
+ if (ret < 0) {
+ dev_info(component->dev, "failed to mute\n");
+ goto error_snd_soc_update_bits;
+ }
+
+ dev_info(component->dev, "entering standby mode\n");
+ ret = snd_soc_component_write(component, TAS5756M_PDN_STBY, STBY_MASK);
+ if (ret < 0)
+ goto error_snd_soc_update_bits;
+
+ INIT_DELAYED_WORK(&tas5756m->fault_check_work,
+ tas5756m_fault_check_work);
+ return 0;
+
+error_snd_soc_update_bits:
+ dev_err(component->dev, "error configuring device registers: %d\n",
+ ret);
+
+probe_fail:
+ dev_err(component->dev, "probe failed\n");
+ regulator_bulk_disable(ARRAY_SIZE(tas5756m->supplies),
+ tas5756m->supplies);
+ return ret;
+}
+
+static void tas5756m_codec_remove(struct snd_soc_component *component)
+{
+ struct tas5756m_data *tas5756m =
+ snd_soc_component_get_drvdata(component);
+ int ret;
+
+ cancel_delayed_work_sync(&tas5756m->fault_check_work);
+
+ ret =
+ regulator_bulk_disable(ARRAY_SIZE(tas5756m->supplies),
+ tas5756m->supplies);
+ if (ret < 0)
+ dev_err(component->dev, "failed to disable supplies: %d\n",
+ ret);
+}
+
+static int tas5756m_suspend(struct snd_soc_component *component)
+{
+ struct tas5756m_data *tas5756m =
+ snd_soc_component_get_drvdata(component);
+ int ret;
+
+ regcache_cache_only(tas5756m->regmap, true);
+ regcache_mark_dirty(tas5756m->regmap);
+
+ ret =
+ regulator_bulk_disable(ARRAY_SIZE(tas5756m->supplies),
+ tas5756m->supplies);
+ if (ret < 0)
+ dev_err(component->dev, "failed to disable regulators %d\n",
+ ret);
+
+ return ret;
+}
+
+static int tas5756m_resume_codec(struct snd_soc_component *component)
+{
+ struct tas5756m_data *tas5756m =
+ snd_soc_component_get_drvdata(component);
+
+ return tas5756m_resume(tas5756m);
+}
+
+static const struct regmap_range_cfg tas5756m_regmap_pages[] = {
+ {
+ .selector_reg = TAS5756M_PAGE_SEL,
+ .selector_mask = 0xff,
+ .window_start = 0,
+ .window_len = 128,
+ .range_min = 0,
+ .range_max = TAS5756M_MAX_REG,
+ },
+};
+
+static const struct regmap_config tas5756m_regmap_config = {
+ .reg_bits = 8,
+ .val_bits = 8,
+
+ .read_flag_mask = 0x80,
+ .write_flag_mask = 0x80,
+
+ .reg_defaults = tas5756m_reg_defaults,
+ .writeable_reg = tas5756m_writeable,
+ .volatile_reg = tas5756m_volatile,
+ .max_register = TAS5756M_MAX_REG,
+ .ranges = tas5756m_regmap_pages,
+ .num_ranges = ARRAY_SIZE(tas5756m_regmap_pages),
+ .cache_type = REGCACHE_RBTREE,
+};
+
+/* Right/Left Digital volume -103 to 24 dB */
+static const DECLARE_TLV_DB_LINEAR(out_volume_tlv, -10350, 25);
+
+#define KCONTROLS_COMMON \
+ SOC_SINGLE("Bass Boost", TAS5756M_ANLG_GAIN, 0, 0x01, 1), \
+ SOC_DOUBLE_R_RANGE_TLV("Volume", TAS5756M_LEFT_DVOL, \
+ TAS5756M_RIGHT_DVOL, 0x00, 0x00, 0xff, 1, \
+ out_volume_tlv), \
+ APPLY_CONFIG
+
+#define KCONTROLS_DBE_COMMON \
+ CRAM_COEFS("Filter DBE biquad high 1", TAS5756_REG_DBE_EQ_HIGH_BIQUAD_1), \
+ CRAM_COEFS("Filter DBE biquad high 2", TAS5756_REG_DBE_EQ_HIGH_BIQUAD_2), \
+ CRAM_COEFS("Filter DBE biquad low 1", TAS5756_REG_DBE_EQ_LOW_BIQUAD_1), \
+ CRAM_COEFS("Filter DBE biquad low 2", TAS5756_REG_DBE_EQ_LOW_BIQUAD_2), \
+ CRAM_COEFS("Filter DBE biquad low 3", TAS5756_REG_DBE_EQ_LOW_BIQUAD_3), \
+ \
+ /* First order lowpass and highpass only => b2 = 0 and a2 = 0*/ \
+ CRAM_COEFS("Filter DBE biquad energy lowpass", TAS5756M_REG_DBE_SENSING_HIGH), \
+ CRAM_COEFS("Filter DBE biquad energy highpass", TAS5756M_REG_DBE_SENSING_LOW), \
+ \
+ CRAM_COEFS("DBE energy window", TAS5756M_REG_DBE_WINDOW), \
+ CRAM_COEFS("DBE mixing high threshold", TAS5756M_REG_DBE_MIXING_HIGH), \
+ CRAM_COEFS("DBE mixing low threshold", TAS5756M_REG_DBE_MIXING_LOW)
+
+#define KCONTROLS_PBE_COMMON \
+ BYPASS_COEFS("PBE bypass", TAS5756M_REG_PBE_BYPASS), \
+ CRAM_COEFS("PBE harmonic", TAS5756M_REG_PBE_HARMONIC), \
+ CRAM_COEFS("PBE HPF and effect", TAS5756M_REG_PBE_HPF)
+
+static const struct snd_kcontrol_new tas5756m_snd_controls_no_hf[] = {
+ KCONTROLS_COMMON,
+};
+
+static const struct snd_kcontrol_new tas5756m_snd_controls_hf3[] = {
+ KCONTROLS_COMMON,
+ KCONTROLS_DBE_COMMON,
+ KCONTROLS_PBE_COMMON,
+
+ CRAM_COEFS("Filter high biquad 1", TAS5756_REG_FILTER_HIGH_BIQUAD_1),
+ CRAM_COEFS("Filter high biquad 2", TAS5756_REG_FILTER_HIGH_BIQUAD_2),
+ CRAM_COEFS("Filter high biquad 3", TAS5756_REG_FILTER_HIGH_BIQUAD_3),
+ CRAM_COEFS("Filter high biquad 4", TAS5756_REG_FILTER_HIGH_BIQUAD_4),
+ CRAM_COEFS("Filter high biquad 5", TAS5756_REG_FILTER_HIGH_BIQUAD_5),
+
+ CRAM_COEFS("Filter low biquad 1", TAS5756_REG_FILTER_LOW_BIQUAD_1),
+ CRAM_COEFS("Filter low biquad 2", TAS5756_REG_FILTER_LOW_BIQUAD_2),
+ CRAM_COEFS("Filter low biquad 3", TAS5756_REG_FILTER_LOW_BIQUAD_3),
+ CRAM_COEFS("Filter low biquad 4", TAS5756_REG_FILTER_LOW_BIQUAD_4),
+ CRAM_COEFS("Filter low biquad 5", TAS5756_REG_FILTER_LOW_BIQUAD_5),
+
+ CHANNEL_MIXER_COEFS("Channel mixer high", TAS5756_REG_CHAN_MIXER_HIGH),
+ CHANNEL_MIXER_COEFS("Channel mixer low", TAS5756_REG_CHAN_MIXER_LOW),
+
+ CHANNEL_PHASE_COEFS("Phase inversion mixer high",
+ TAS5756_REG_CHAN_MIXER_HIGH),
+ CHANNEL_PHASE_COEFS("Phase inversion mixer low",
+ TAS5756_REG_CHAN_MIXER_LOW),
+
+ DELAY_SAMPLES_COEFS("Delay samples high/mid", TAS5756_REG_ADD_DELAY),
+};
+
+static const struct snd_kcontrol_new tas5756m_snd_controls_hf4[] = {
+ KCONTROLS_COMMON,
+ KCONTROLS_DBE_COMMON,
+ KCONTROLS_PBE_COMMON,
+
+ CRAM_COEFS("Filter pre DBE biquad 1",
+ TAS5756_REG_FILTER_BIQUAD_PRE_DBE_1),
+ CRAM_COEFS("Filter pre DBE biquad 2",
+ TAS5756_REG_FILTER_BIQUAD_PRE_DBE_2),
+ CRAM_COEFS("Filter pre DBE biquad 3",
+ TAS5756_REG_FILTER_BIQUAD_PRE_DBE_3),
+
+ CRAM_COEFS("Filter post DBE biquad 1",
+ TAS5756_REG_FILTER_BIQUAD_POST_DBE_1),
+ CRAM_COEFS("Filter post DBE biquad 2",
+ TAS5756_REG_FILTER_BIQUAD_POST_DBE_2),
+ CRAM_COEFS("Filter post DBE biquad 3",
+ TAS5756_REG_FILTER_BIQUAD_POST_DBE_3),
+ CRAM_COEFS("Filter post DBE biquad 4",
+ TAS5756_REG_FILTER_BIQUAD_POST_DBE_4),
+ CRAM_COEFS("Filter post DBE biquad 5",
+ TAS5756_REG_FILTER_BIQUAD_POST_DBE_5),
+
+ CRAM_COEFS("Filter DBE biquad high 3",
+ TAS5756_REG_DBE_EQ_HIGH_BIQUAD_3),
+ CRAM_COEFS("Filter DBE biquad high 4",
+ TAS5756_REG_DBE_EQ_HIGH_BIQUAD_4),
+
+ CRAM_COEFS("Filter DBE biquad low 4", TAS5756_REG_DBE_EQ_LOW_BIQUAD_4),
+
+ CHANNEL_MIXER_COEFS("Channel mixer", TAS5756_REG_CHAN_MIXER),
+ CHANNEL_PHASE_COEFS("Phase inversion mixer", TAS5756_REG_CHAN_MIXER),
+};
+
+static const struct snd_kcontrol_new tas5756m_snd_controls_hf6[] = {
+ KCONTROLS_COMMON,
+ KCONTROLS_DBE_COMMON,
+ KCONTROLS_PBE_COMMON,
+
+ CRAM_COEFS("Filter biquad 1", TAS5756_REG_FILTER_BIQUAD_1),
+ CRAM_COEFS("Filter biquad 2", TAS5756_REG_FILTER_BIQUAD_2),
+ CRAM_COEFS("Filter biquad 3", TAS5756_REG_FILTER_BIQUAD_3),
+ CRAM_COEFS("Filter biquad 4", TAS5756_REG_FILTER_BIQUAD_4),
+ CRAM_COEFS("Filter biquad 5", TAS5756_REG_FILTER_BIQUAD_5),
+ CRAM_COEFS("Filter biquad 6", TAS5756_REG_FILTER_BIQUAD_6),
+ CRAM_COEFS("Filter biquad 7", TAS5756_REG_FILTER_BIQUAD_7),
+ CRAM_COEFS("Filter biquad 8", TAS5756_REG_FILTER_BIQUAD_8),
+ CRAM_COEFS("Filter biquad 9", TAS5756_REG_FILTER_BIQUAD_9),
+ CRAM_COEFS("Filter biquad 10", TAS5756_REG_FILTER_BIQUAD_10),
+
+ CRAM_COEFS("Filter DBE biquad high 3",
+ TAS5756_REG_DBE_EQ_HIGH_BIQUAD_3),
+
+ CRAM_COEFS("Filter DBE biquad low 4", TAS5756_REG_DBE_EQ_LOW_BIQUAD_4),
+ CRAM_COEFS("Filter DBE biquad low 5", TAS5756_REG_DBE_EQ_LOW_BIQUAD_5),
+
+ CHANNEL_MIXER_COEFS("Channel mixer", TAS5756_REG_CHAN_MIXER),
+};
+
+static const struct snd_kcontrol_new tas5756m_snd_controls_hf7[] = {
+ KCONTROLS_COMMON,
+
+ CHANNEL_MIXER_COEFS("Channel mixer", TAS5756_REG_CHAN_MIXER),
+
+ CRAM_COEFS("Filter biquad 1", TAS5756_REG_FILTER_BIQUAD_1),
+ CRAM_COEFS("Filter biquad 2", TAS5756_REG_FILTER_BIQUAD_2),
+ CRAM_COEFS("Filter biquad 3", TAS5756_REG_FILTER_BIQUAD_3),
+ CRAM_COEFS("Filter biquad 4", TAS5756_REG_FILTER_BIQUAD_4),
+ CRAM_COEFS("Filter biquad 5", TAS5756_REG_FILTER_BIQUAD_5),
+};
+
+static const struct snd_soc_dapm_widget tas5756mw_dapm_widgets[] = {
+ SND_SOC_DAPM_AIF_IN("DAC IN", "Playback", 0, SND_SOC_NOPM, 0, 0),
+ SND_SOC_DAPM_OUTPUT("OUT"),
+};
+
+static const struct snd_soc_dapm_route tas5756mw_audio_map[] = {
+ { "DAC", NULL, "DAC IN" },
+ { "OUT", NULL, "DAC" },
+};
+
+static const struct snd_soc_dapm_widget tas5756m_dapm_widgets[] = {
+ SND_SOC_DAPM_AIF_IN("DAC IN", "Playback", 0, SND_SOC_NOPM, 0, 0),
+ SND_SOC_DAPM_OUTPUT("OUT"),
+};
+
+static const struct snd_soc_dapm_route tas5756m_audio_map[] = {
+ { "DAC", NULL, "DAC IN" },
+ { "OUT", NULL, "DAC" },
+};
+
+static struct snd_soc_component_driver soc_component_dev_tas5756m = {
+ .probe = tas5756m_codec_probe,
+ .remove = tas5756m_codec_remove,
+ .suspend = tas5756m_suspend,
+ .resume = tas5756m_resume_codec,
+};
+
+#define TAS5756M_RATES (SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_16000 \
+ | SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_44100 \
+ | SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_88200 \
+ | SNDRV_PCM_RATE_96000)
+
+#define TAS5756M_FORMATS (SNDRV_PCM_FMTBIT_S16_LE \
+ | SNDRV_PCM_FMTBIT_S20_3LE \
+ | SNDRV_PCM_FMTBIT_S24_3LE \
+ | SNDRV_PCM_FMTBIT_S32_LE)
+
+static const u32 tas5756m_dai_rates[] = {
+ 8000, 16000, 32000, 44100, 48000, 88200, 96000,
+};
+
+static const struct snd_pcm_hw_constraint_list constraints_slave = {
+ .count = ARRAY_SIZE(tas5756m_dai_rates),
+ .list = tas5756m_dai_rates,
+};
+
+static int tas5756m_dai_startup_slave(struct snd_pcm_substream *substream,
+ struct snd_soc_dai *dai)
+{
+ struct device *dev = dai->dev;
+
+ dev_info(dev, "setting pcm hw constraints\n");
+ return snd_pcm_hw_constraint_list(substream->runtime, 0,
+ SNDRV_PCM_HW_PARAM_RATE,
+ &constraints_slave);
+}
+
+static int tas5756m_dai_startup(struct snd_pcm_substream *substream,
+ struct snd_soc_dai *dai)
+{
+ struct snd_soc_component *component = dai->component;
+ struct tas5756m_data *tas5756m =
+ snd_soc_component_get_drvdata(component);
+
+ switch (tas5756m->fmt & SND_SOC_DAIFMT_MASTER_MASK) {
+ case SND_SOC_DAIFMT_CBS_CFS:
+ dev_info(component->dev, "setting DAI slave mode\n");
+ return tas5756m_dai_startup_slave(substream, dai);
+ case SND_SOC_DAIFMT_CBM_CFM:
+ case SND_SOC_DAIFMT_CBM_CFS:
+ default:
+ dev_info(component->dev, "cant set DAI master mode\n");
+ return -EINVAL;
+ }
+}
+
+static const struct snd_soc_dai_ops tas5756m_dai_ops = {
+ .startup = tas5756m_dai_startup,
+ .prepare = tas5756m_pcm_prepare,
+ .hw_params = tas5756m_hw_params,
+ .shutdown = tas5756m_shutdown_dai,
+ .set_fmt = tas5756m_set_dai_fmt,
+ .digital_mute = tas5756m_mute,
+};
+
+static struct snd_soc_dai_driver tas5756m_dai[] = {
+ {
+ .name = "tas5756m-hifi",
+ .playback = {
+ .stream_name = "Playback",
+ .channels_min = 1,
+ .channels_max = 2,
+ .rates = TAS5756M_RATES,
+ .formats = TAS5756M_FORMATS,
+ },
+ .ops = &tas5756m_dai_ops,
+ },
+};
+
+/* To send default values of registers generated by
+ * Purepath tool from Texas Instruments
+ */
+static int tas5756m_transmit_registers(struct i2c_client *client, cfg_reg *r,
+ int n)
+{
+ unsigned int i = 0;
+ int ret = 0;
+
+ while (i < n) {
+ switch (r[i].command) {
+ case CFG_META_DELAY:
+ usleep_range(1000ul, r[i].param * 1000ul);
+ break;
+ case CFG_META_BURST:
+ ret =
+ i2c_master_send(client, (unsigned char *)&r[i + 1],
+ r[i].param);
+ i += (r[i].param + 1) / 2;
+ break;
+ default:
+ ret =
+ i2c_master_send(client, (unsigned char *)&r[i], 2);
+ break;
+ }
+
+ if (ret)
+ return ret;
+
+ i++;
+ }
+
+ return ret;
+}
+
+static int tas5756m_setup_hybridflow(struct tas5756m_data *tas5756m)
+{
+ struct i2c_client *client = tas5756m->tas5756m_client;
+ size_t array_reg_size = 0;
+ cfg_reg *array_reg = NULL;
+ int ret;
+
+ ret =
+ tas5756m_transmit_registers(client, &tas5756m_startup_registers[0],
+ ARRAY_SIZE(tas5756m_startup_registers));
+ if (!ret) {
+ dev_err(&client->dev, "failed to transmit init registers: %d\n",
+ ret);
+ return ret;
+ }
+
+ /* No all hybridflow are currently supported.
+ * If not supported, Hybridflow is not used.
+ */
+ switch (tas5756m->hybridflow) {
+ case HYBRIDFLOW_3:
+ soc_component_dev_tas5756m.controls = tas5756m_snd_controls_hf3;
+ soc_component_dev_tas5756m.num_controls =
+ ARRAY_SIZE(tas5756m_snd_controls_hf3);
+ array_reg = tas5756m_init_hf3;
+ array_reg_size = ARRAY_SIZE(tas5756m_init_hf3);
+ break;
+ case HYBRIDFLOW_4:
+ soc_component_dev_tas5756m.controls = tas5756m_snd_controls_hf4;
+ soc_component_dev_tas5756m.num_controls =
+ ARRAY_SIZE(tas5756m_snd_controls_hf4);
+ array_reg = tas5756m_init_hf4;
+ array_reg_size = ARRAY_SIZE(tas5756m_init_hf4);
+ break;
+ case HYBRIDFLOW_6:
+ soc_component_dev_tas5756m.controls = tas5756m_snd_controls_hf6;
+ soc_component_dev_tas5756m.num_controls =
+ ARRAY_SIZE(tas5756m_snd_controls_hf6);
+ array_reg = tas5756m_init_hf6;
+ array_reg_size = ARRAY_SIZE(tas5756m_init_hf6);
+ break;
+ case HYBRIDFLOW_7:
+ soc_component_dev_tas5756m.controls = tas5756m_snd_controls_hf7;
+ soc_component_dev_tas5756m.num_controls =
+ ARRAY_SIZE(tas5756m_snd_controls_hf7);
+ array_reg = tas5756m_init_hf7;
+ array_reg_size = ARRAY_SIZE(tas5756m_init_hf7);
+ break;
+ default:
+ soc_component_dev_tas5756m.controls =
+ tas5756m_snd_controls_no_hf;
+ soc_component_dev_tas5756m.num_controls =
+ ARRAY_SIZE(tas5756m_snd_controls_no_hf);
+ tas5756m->hybridflow = NO_HYBRIDFLOW;
+ break;
+ }
+
+ if (array_reg && array_reg_size) {
+ ret =
+ tas5756m_transmit_registers(client, array_reg,
+ array_reg_size);
+ if (!ret) {
+ dev_err(&client->dev,
+ "failed to transmit hybridflow registers: %d\n",
+ ret);
+ return ret;
+ }
+ }
+
+ ret =
+ snd_soc_register_component(&client->dev,
+ &soc_component_dev_tas5756m,
+ &tas5756m_dai[0],
+ ARRAY_SIZE(tas5756m_dai));
+ if (ret < 0) {
+ dev_err(&client->dev, "failed to register component: %d\n",
+ ret);
+ return ret;
+ }
+
+ return ret;
+}
+
+static int tas5756m_i2c_probe(struct i2c_client *client,
+ const struct i2c_device_id *i2c_id)
+{
+ struct device *dev = &client->dev;
+ struct tas5756m_data *tas5756m;
+ int ret;
+ int i;
+#ifdef CONFIG_OF
+ int hybridflow;
+ struct device_node *np;
+#endif
+
+ tas5756m = devm_kzalloc(dev, sizeof(struct tas5756m_data), GFP_KERNEL);
+ if (!tas5756m)
+ return -ENOMEM;
+
+ dev_set_drvdata(dev, tas5756m);
+ tas5756m->tas5756m_client = client;
+ tas5756m->hybridflow = NO_HYBRIDFLOW;
+
+ /* When adaptive mode is enabled, pages from CRAM A or B are referring
+ * to the same memory location.
+ * So, the driver has to enable a virtual buffer
+ * to track current settings and be able to apply them to both bank
+ * when it is relevant.
+ * Because we are not able to copy from A to B directly.
+ * Source: http://www.ti.com/lit/an/slaa425d/slaa425d.pdf
+ */
+ tas5756m->cram_buffer = vmalloc(CRAM_BUFFER_SIZE);
+ if (!tas5756m->cram_buffer)
+ return -ENOMEM;
+
+#ifdef CONFIG_OF
+ of_node_get(np);
+
+ if (of_property_read_u32(dev->of_node, "hybridflow", &hybridflow)) {
+ dev_info(dev,
+ "no hybridflow property. Use default DSP program.\n");
+ } else {
+ dev_info(dev, "read property hybridflow: %u\n", hybridflow);
+ tas5756m->hybridflow = hybridflow;
+ }
+#endif
+
+ dev_info(dev, "## %s: %s codec_type = %d\n", __func__, i2c_id->name,
+ (int)i2c_id->driver_data);
+
+ tas5756m->regmap =
+ devm_regmap_init_i2c(client, &tas5756m_regmap_config);
+ if (IS_ERR(tas5756m->regmap)) {
+ ret = PTR_ERR(tas5756m->regmap);
+ dev_err(dev, "failed to allocate register map: %d\n", ret);
+ return ret;
+ }
+
+ regcache_cache_only(tas5756m->regmap, false);
+ regcache_sync(tas5756m->regmap);
+
+ tas5756m_enable_adaptive_mode(tas5756m, true);
+ tas5756m->buffer = tas5756m_get_current_cram_buffer(tas5756m);
+
+ for (i = 0; i < ARRAY_SIZE(tas5756m->supplies); i++)
+ tas5756m->supplies[i].supply = tas5756m_supply_names[i];
+
+ ret =
+ devm_regulator_bulk_get(dev, ARRAY_SIZE(tas5756m->supplies),
+ tas5756m->supplies);
+ if (ret != 0) {
+ dev_err(dev, "failed to request supplies: %d\n", ret);
+ return ret;
+ }
+
+ for (i = 0; i < ARRAY_SIZE(tas5756m->supplies); i++)
+ tas5756m->supplies[i].supply = tas5756m_supply_names[i];
+
+ ret =
+ regulator_bulk_enable(ARRAY_SIZE(tas5756m->supplies),
+ tas5756m->supplies);
+ if (ret != 0) {
+ dev_err(dev, "failed to enable supplies: %d\n", ret);
+ return ret;
+ }
+
+ ret = tas5756m_setup_hybridflow(tas5756m);
+ if (ret) {
+ dev_err(dev, "failed to setup hybridflow: %d\n", ret);
+ goto err;
+ }
+
+ /*
+ * By default, hybridflow mutes both channels when
+ * Purepath Console is dumping memory.
+ * We must configure them after hybridflow init to get sound back.
+ * Source: https://e2e.ti.com/support/audio/f/6/p/523251/1919266?tisearch=e2e-sitesear…
+ */
+ tas5756m_route_channels(tas5756m, CHANNEL_MIXER_MONO);
+
+ tas5756m_cram_to_virt_buffer(tas5756m, CRAM_BUFFER_A);
+ return 0;
+
+err:
+ dev_err(dev, "probe error\n");
+ regulator_bulk_disable(ARRAY_SIZE(tas5756m->supplies),
+ tas5756m->supplies);
+ return ret;
+}
+
+static int tas5756m_i2c_remove(struct i2c_client *i2c)
+{
+ struct device *dev = &i2c->dev;
+ struct tas5756m_data *tas5756m = i2c_get_clientdata(i2c);
+
+ vfree(tas5756m->cram_buffer);
+ snd_soc_unregister_component(dev);
+ return 0;
+}
+
+static const struct i2c_device_id tas5756m_id[] = {
+ { "tas5754m", },
+ { "tas5756m", },
+ { }
+};
+
+MODULE_DEVICE_TABLE(i2c, tas5756m_id);
+
+#ifdef CONFIG_OF
+static const struct of_device_id tas5756m_of_match[] = {
+ {.compatible = "ti,tas5754m" },
+ {.compatible = "ti,tas5756m" },
+ { },
+};
+
+MODULE_DEVICE_TABLE(of, tas5756m_of_match);
+#endif
+
+static struct i2c_driver tas5756m_i2c_driver = {
+ .driver = {
+ .name = "tas5756m-codec",
+ .owner = THIS_MODULE,
+ .of_match_table = of_match_ptr(tas5756m_of_match),
+ },
+
+ .probe = tas5756m_i2c_probe,
+ .remove = tas5756m_i2c_remove,
+ .id_table = tas5756m_id,
+};
+
+module_i2c_driver(tas5756m_i2c_driver);
+
+MODULE_DESCRIPTION("ASoC TAS5756M codec / amplifier driver");
+MODULE_AUTHOR("Thomas Brijs <thomas.brijs(a)houseofmusic.be>");
+MODULE_AUTHOR("Charles-Antoine Couret <charles-antoine.couret(a)essensium.com>");
+MODULE_LICENSE("GPL");
diff --git a/sound/soc/codecs/tas5756m.h b/sound/soc/codecs/tas5756m.h
new file mode 100644
index 000000000000..6b4efcba5727
--- /dev/null
+++ b/sound/soc/codecs/tas5756m.h
@@ -0,0 +1,351 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * tas5756m.h - ALSA SoC Texas Instruments TAS5756M Audio Amplifier
+ *
+ * Copyright (C)2018-2020 House of Music NV - https://www.homa.be
+ *
+ * Authors: Charles-Antoine Couret <charles-antoine.couret(a)essensium.com>
+ * : Thomas Brijs <thomas.brijs(a)houseofmusic.be>
+ */
+
+#ifndef _TAS5756M_H
+#define _TAS5756M_H
+
+enum purepath_hybridflow {
+ NO_HYBRIDFLOW = 0,
+ HYBRIDFLOW_1,
+ HYBRIDFLOW_2,
+ HYBRIDFLOW_3,
+ HYBRIDFLOW_4,
+ HYBRIDFLOW_5,
+ HYBRIDFLOW_6,
+ HYBRIDFLOW_7,
+};
+
+enum channel_mixer {
+ CHANNEL_MIXER_RIGHT = 0,
+ CHANNEL_MIXER_LEFT,
+ CHANNEL_MIXER_MONO,
+ CHANNEL_MIXER_MAX,
+};
+
+enum delay_samples {
+ DELAY_SAMPLES_0 = 0,
+ DELAY_SAMPLES_4,
+ DELAY_SAMPLES_8,
+ DELAY_SAMPLES_12,
+ DELAY_SAMPLES_16,
+ DELAY_SAMPLES_MAX,
+};
+
+#define MIXER_PHASE_INVERSION_MASK BIT(23)
+#define MIXER_GAIN_MASK_MASK 0x7FFFFF
+#define COEF_ENABLE_FEATURE_VALUE 0x7FFFFF
+
+enum phase_inversion {
+ PHASE_NO_INVERSION = 0,
+ PHASE_INVERSION,
+};
+
+#define TAS5756M_NUM_SUPPLIES 2
+
+#define CFG_META_SWITCH (255)
+#define CFG_META_DELAY (254)
+#define CFG_META_BURST (253)
+
+#define TAS5756M_PAGE_SIZE 128
+#define PAGE_NR(x) (TAS5756M_PAGE_SIZE * (x))
+#define PAGE_ADDRESS_MASK 0x7F
+#define ADDR_TO_PAGE_NR(x) ((x) >> 7)
+#define TAS5756M_PAGE_SEL 0x00
+
+/* Register Address Map */
+#define TAS5756M_RESET 0x01
+#define RESET_REGISTER_MASK 0x01
+#define RESET_MODULES_MASK 0x10
+#define RESET_ALL_MASK 0x11
+
+#define TAS5756M_PDN_STBY 0x02
+#define PDN_MASK 0x01
+#define STBY_MASK 0x10
+#define PDN_STBY_MASK 0x11
+
+#define TAS5756M_MUTE_L_R 0x03
+#define MUTE_LEFT_MASK 0x10
+#define MUTE_RIGHT_MASK 0x01
+#define MUTE_ALL_MASK (MUTE_LEFT_MASK | MUTE_RIGHT_MASK)
+
+#define TAS5756M_PLL_EN_STA 0x04
+#define TAS5756M_SPI_MISO_SEL 0x06
+#define TAS5756M_SDOUT_DEEMPH 0x07
+#define TAS5756M_GPIO_OUT_EN 0x08
+#define TAS5756M_BCK_LRCK_CFG 0x09
+#define TAS5756M_DSP_GPIO_IN 0x0a
+#define TAS5756M_MASTER_B_LRCK_RST 0x0c
+
+/* PLL Regs */
+#define TAS5756M_PLL_CLK_SRC_SEL 0x0d
+#define TAS5756M_DAC_CLOCK_SRC 0x0e
+#define TAS5756M_PLL_GPIO_REF_SEL 0x12
+#define TAS5756M_SYNC_REQ 0x13
+#define TAS5756M_PLL_P_VALUE 0x14
+#define TAS5756M_PLL_J_VALUE 0x15
+#define TAS5756M_PLL_D_VALUE_MSB 0x16
+#define TAS5756M_PLL_D_VALUE_LSB 0x17
+#define TAS5756M_PLL_R_VALUE 0x18
+
+/* Clock dividers */
+#define TAS5756M_DSP_CLKDIV 0x1b
+#define TAS5756M_DAC_CLKDIV 0x1c
+#define TAS5756M_NCP_CLKDIV 0x1d
+#define TAS5756M_OSR_CLKDIV 0x1e
+#define TAS5756M_MM_BCK_CLKDIV 0x20
+#define TAS5756M_MM_LRCK_CLKDIV 0x21
+
+#define TAS5756M_FS_SPEED_MODE 0x22
+#define TAS5756M_IDAC_MSB 0x23
+#define TAS5756M_IDAC_LSB 0x24
+#define TAS5756M_IGN_ERRORS 0x25
+
+/* I2S config */
+#define TAS5756M_I2S_CONFIG 0x28
+#define FMT_MASK 0x30
+#define FMT_I2S (0x00 << 4)
+#define FMT_DSP (0x01 << 4)
+#define FMT_RTJ (0x02 << 4)
+#define FMT_LTJ (0x03 << 4)
+
+#define RES_MASK 0x03
+#define RES_16BIT (0x00)
+#define RES_20BIT (0x01)
+#define RES_24BIT (0x02)
+#define RES_32BIT (0x03)
+
+#define TAS5756M_I2S_SHIFT 0x29
+
+#define TAS5756M_DAC_DATA_PATH 0x2a
+#define DAC_PATH_DEFAULT 0x01
+#define DAC_PATH_OPPOSITE 0x02
+#define DAC_PATH_B_SHIFT 4
+
+#define TAS5756M_DSP_PROG_SEL 0x2b
+#define TAS5756M_DSP_HYBRIDFLOW 0x1f
+#define TAS5756M_CLK_MISS_DET 0x2c
+#define TAS5756M_AUTO_MUTE_TIME 0x3b
+#define TAS5756M_DIGITAL_VOLUME 0x3c
+#define VOL_MASTER_DEFAULT 0x00
+
+#define TAS5756M_RIGHT_DVOL 0x3d
+#define TAS5756M_LEFT_DVOL 0x3e
+#define VOL_CH1_2_DEFAULT 0x74
+
+#define TAS5756M_DVOL_RAMP_NORMAL 0x3f
+#define TAS5756M_DVOL_RAMP_EMRGNCY 0x40
+#define TAS5756M_AUTO_MUTE 0x41
+
+/* GPIO ouputs */
+#define TAS5756M_GPIO1_OUTPUT_SEL 0x50
+#define TAS5756M_GPIO2_OUTPUT_SEL 0x51
+#define TAS5756M_GPIO3_OUTPUT_SEL 0x52
+#define TAS5756M_GPIO4_OUTPUT_SEL 0x53
+#define TAS5756M_GPIO5_OUTPUT_SEL 0x54
+#define TAS5756M_GPIO6_OUTPUT_SEL 0x55
+#define TAS5756M_GPIO_OUTPUT_CTRL 0x56
+/* Read only */
+#define TAS5756M_CHAN_OVRFLOW 0x5a
+#define TAS5756M_DET_FS_MCLK 0x5b
+#define TAS5756M_DET_SCLK 0x5c
+#define TAS5756M_DET_SCLK_DESC 0x5d
+#define TAS5756M_CLK_DET_STATUS 0x5e
+#define TAS5756M_CLK_STATUS 0x5f
+
+#define TAS5756M_ANLG_MUTE_MON 0x6c
+
+#define TAS5756M_SHORT_DETECT 0x6d
+#define SHORT_MASK 0x01
+#define SHORT_BUSY_MASK 0x10
+
+#define TAS5756M_SPK_MUTE_DEC 0x72
+#define TAS5756M_FS_SPEED_MON 0x73
+
+/* Datasheet is wrong, R118 is the right register to get DSP and DAC status
+ * Source: https://e2e.ti.com/support/audio/f/6/t/390728?TAS5756M-experiences
+ */
+#define TAS5756M_DAC_PWR_STA 0x76
+#define DAC_ENABLED_MASK 0x80
+#define DAC_POWER_STATE_MASK 0x0F
+#define DAC_RUNNING 0x05
+
+#define TAS5756M_GPIO012_STATE 0x77
+#define TAS5756M_AUTO_MUTE_FLAG 0x78
+
+#define TAS5756M_DAC_MODE 0x79
+#define TAS5756M_MCM_MODE 0x7a
+#define TAS5756M_MCM_OUT_GPIO_1_2 0x7b
+#define TAS5756M_MCM_OUT_GPIO_3_4 0x7c
+#define TAS5756M_MCM_OUT_GPIO_5_6 0x7d
+
+/* End Page 0 */
+
+#define TAS5756M_ANLG_GAIN (PAGE_NR(1) + 0x02)
+#define CHANNEL_A_GAIN 0x01
+#define CHANNEL_B_GAIN 0x10
+
+#define TAS5756M_PWR_DET_CTRL (PAGE_NR(1) + 0x05)
+#define EXT_UVLO_PROTECT 0x02
+#define INT_UVLO_PROTECT 0x01
+
+#define TAS5756M_ANLG_MUTE (PAGE_NR(1) + 0x06)
+#define ANLG_MUTE_DIS 0x01
+
+#define TAS5756M_ANLG_BOOST (PAGE_NR(1) + 0x07)
+#define ANLG_CHA_BOOST 0x01
+#define ANLG_CHB_BOOST 0x10
+
+#define TAS5756M_VCOM_REF_RAMP (PAGE_NR(1) + 0x08)
+#define FAST_RAMP_EN 0x01
+
+#define TAS5756M_VCOM_PDN_SWITCH (PAGE_NR(1) + 0x09)
+#define VCOM_POWER_DN 0x01
+
+/* End page 1 */
+
+enum cram_buffer {
+ CRAM_BUFFER_A = 0,
+ CRAM_BUFFER_B,
+};
+
+#define CRAM_FIRST_PAGE 44
+#define CRAM_FIRST_PAGE_SECOND_BANK 62
+
+#define TAS5756M_ACTIVE_CRAM_MON (PAGE_NR(CRAM_FIRST_PAGE) + 1)
+#define CRAM_BUFFER_SWITCH_MASK BIT(0)
+#define CRAM_BUFFER_CRAM_BUFFER_USED_MASK BIT(1)
+#define CRAM_BUFFER_CRAM_ADAP_MODE_MASK BIT(2)
+#define CRAM_BUFFER_CRAM_BUFFER_USED_NON_ADAPT_MASK BIT(3)
+
+#define CRAM_BUFFER_SWITCH_REG TAS5756M_ACTIVE_CRAM_MON
+#define CRAM_BUFFER_PAGE_OFFSET 8
+#define CRAM_BUFFER_A_BASE_ADDR (PAGE_NR(CRAM_FIRST_PAGE) + CRAM_BUFFER_PAGE_OFFSET)
+#define CRAM_BUFFER_B_BASE_ADDR (PAGE_NR(CRAM_FIRST_PAGE_SECOND_BANK) + CRAM_BUFFER_PAGE_OFFSET)
+#define CRAM_NB_COEF 256
+#define CRAM_COEF_NB_REGS 4
+#define CRAM_BUFFER_SIZE (CRAM_COEF_NB_REGS * CRAM_NB_COEF)
+#define CRAM_BUFFER_OFFSET(reg) (reg - PAGE_NR(CRAM_FIRST_PAGE))
+#define CRAM_BUFFER_NB_PAGES (53 - CRAM_FIRST_PAGE)
+#define CRAM_REGS_PER_PAGES (TAS5756M_PAGE_SIZE - CRAM_BUFFER_PAGE_OFFSET)
+#define CRAM_NB_COEF_PER_PAGE (CRAM_REGS_PER_PAGES / CRAM_COEF_NB_REGS)
+#define CRAM_BIQUAD_NB_COEF 5
+#define CRAM_BIQUAD_SIZE (CRAM_COEF_NB_REGS * CRAM_BIQUAD_NB_COEF)
+#define CRAM_HPF_EFFECT_NB_COEF 24
+#define CRAM_HPF_EFFECT_SIZE (CRAM_HPF_EFFECT_NB_COEF * CRAM_BIQUAD_NB_COEF)
+
+enum hybridflow_features {
+ TAS5756_REG_FILTER_BIQUAD_1,
+ TAS5756_REG_FILTER_BIQUAD_2,
+ TAS5756_REG_FILTER_BIQUAD_3,
+ TAS5756_REG_FILTER_BIQUAD_4,
+ TAS5756_REG_FILTER_BIQUAD_5,
+ TAS5756_REG_FILTER_BIQUAD_6,
+ TAS5756_REG_FILTER_BIQUAD_7,
+ TAS5756_REG_FILTER_BIQUAD_8,
+ TAS5756_REG_FILTER_BIQUAD_9,
+ TAS5756_REG_FILTER_BIQUAD_10,
+
+ TAS5756_REG_FILTER_BIQUAD_PRE_DBE_1,
+ TAS5756_REG_FILTER_BIQUAD_PRE_DBE_2,
+ TAS5756_REG_FILTER_BIQUAD_PRE_DBE_3,
+
+ TAS5756_REG_FILTER_BIQUAD_POST_DBE_1,
+ TAS5756_REG_FILTER_BIQUAD_POST_DBE_2,
+ TAS5756_REG_FILTER_BIQUAD_POST_DBE_3,
+ TAS5756_REG_FILTER_BIQUAD_POST_DBE_4,
+ TAS5756_REG_FILTER_BIQUAD_POST_DBE_5,
+
+ TAS5756_REG_FILTER_HIGH_BIQUAD_1,
+ TAS5756_REG_FILTER_HIGH_BIQUAD_2,
+ TAS5756_REG_FILTER_HIGH_BIQUAD_3,
+ TAS5756_REG_FILTER_HIGH_BIQUAD_4,
+ TAS5756_REG_FILTER_HIGH_BIQUAD_5,
+
+ TAS5756_REG_FILTER_LOW_BIQUAD_1,
+ TAS5756_REG_FILTER_LOW_BIQUAD_2,
+ TAS5756_REG_FILTER_LOW_BIQUAD_3,
+ TAS5756_REG_FILTER_LOW_BIQUAD_4,
+ TAS5756_REG_FILTER_LOW_BIQUAD_5,
+
+ TAS5756_REG_DBE_EQ_HIGH_BIQUAD_1,
+ TAS5756_REG_DBE_EQ_HIGH_BIQUAD_2,
+ TAS5756_REG_DBE_EQ_HIGH_BIQUAD_3,
+ TAS5756_REG_DBE_EQ_HIGH_BIQUAD_4,
+ TAS5756_REG_DBE_EQ_HIGH_BIQUAD_5,
+
+ TAS5756_REG_DBE_EQ_LOW_BIQUAD_1,
+ TAS5756_REG_DBE_EQ_LOW_BIQUAD_2,
+ TAS5756_REG_DBE_EQ_LOW_BIQUAD_3,
+ TAS5756_REG_DBE_EQ_LOW_BIQUAD_4,
+ TAS5756_REG_DBE_EQ_LOW_BIQUAD_5,
+
+ TAS5756M_REG_DBE_MIXING_HIGH,
+ TAS5756M_REG_DBE_MIXING_LOW,
+ TAS5756M_REG_DBE_SENSING_HIGH,
+ TAS5756M_REG_DBE_SENSING_LOW,
+ TAS5756M_REG_DBE_WINDOW,
+
+ TAS5756M_REG_PBE_BYPASS,
+ TAS5756M_REG_PBE_EFFECT,
+ TAS5756M_REG_PBE_HARMONIC,
+ TAS5756M_REG_PBE_HPF,
+
+ TAS5756_REG_CHAN_MIXER,
+ TAS5756_REG_CHAN_MIXER_HIGH,
+ TAS5756_REG_CHAN_MIXER_LOW,
+
+ TAS5756_REG_ADD_DELAY,
+};
+
+#define TAS5756M_MAX_REG (PAGE_NR(71))
+
+/* To support registers arrays generated by Purepath tool */
+typedef unsigned char cfg_u8;
+typedef union {
+ struct {
+ cfg_u8 offset;
+ cfg_u8 value;
+ };
+
+ struct {
+ cfg_u8 command;
+ cfg_u8 param;
+ };
+} cfg_reg;
+
+static void tas5756m_fault_check_work(struct work_struct *work);
+static cfg_reg tas5756m_startup_registers[] = {
+ { { TAS5756M_PAGE_SEL, 0x00} },
+ { { TAS5756M_PDN_STBY, STBY_MASK} },
+ { { TAS5756M_RESET, RESET_ALL_MASK} },
+ { { TAS5756M_LEFT_DVOL, 0x40} },
+ { { TAS5756M_RIGHT_DVOL, 0x40} },
+ { { TAS5756M_PDN_STBY, STBY_MASK} },
+};
+
+struct tas5756m_data {
+ struct snd_soc_component *component;
+ struct regmap *regmap;
+ struct i2c_client *tas5756m_client;
+ unsigned int fmt;
+ struct regulator_bulk_data supplies[TAS5756M_NUM_SUPPLIES];
+
+ struct delayed_work fault_check_work;
+
+ unsigned int gpio_mute;
+ unsigned int last_fault;
+ unsigned int power_state;
+ enum purepath_hybridflow hybridflow;
+ enum cram_buffer buffer;
+ uint32_t *cram_buffer;
+ enum channel_mixer channel;
+};
+
+#endif /* _TAS5756M_H */
diff --git a/sound/soc/codecs/tas5756m_hf3_cfg.h b/sound/soc/codecs/tas5756m_hf3_cfg.h
new file mode 100644
index 000000000000..2b561cb25707
--- /dev/null
+++ b/sound/soc/codecs/tas5756m_hf3_cfg.h
@@ -0,0 +1,4508 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#ifndef _TAS5756M_HF3_CFG_H
+#define _TAS5756M_HF3_CFG_H
+
+/* Dump of TAS5754/6M for DirectI2CTab->RegisterDump */
+static cfg_reg tas5756m_init_hf3[] = {
+ /* Standby */
+ { { 0x00, 0x00 } },
+ { { 0x02, 0x10 } },
+
+ { { 0x00, 0x01 } },
+ { { 0x03, 0x04 } },
+
+ { { 0x00, 0x00 } },
+ { { 0x03, 0x11 } },
+
+ /* Page 0 dump */
+ { { 0x00, 0x00 } },
+ { { 0x03, 0x11 } },
+ { { 0x04, 0x01 } },
+ { { 0x05, 0x21 } },
+ { { 0x06, 0x00 } },
+ { { 0x07, 0x00 } },
+ { { 0x08, 0x24 } },
+ { { 0x09, 0x00 } },
+ { { 0x0a, 0x00 } },
+ { { 0x0b, 0x01 } },
+ { { 0x0c, 0x7c } },
+ { { 0x0d, 0x00 } },
+ { { 0x0e, 0x00 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x00 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x10 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x00 } },
+ { { 0x16, 0x00 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x00 } },
+ { { 0x1a, 0x80 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x00 } },
+ { { 0x1e, 0x00 } },
+ { { 0x1f, 0x04 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x00 } },
+ { { 0x22, 0x00 } },
+ { { 0x23, 0x01 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x00 } },
+ { { 0x26, 0xf3 } },
+ { { 0x27, 0x04 } },
+ { { 0x28, 0x02 } },
+ { { 0x29, 0x00 } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0x1f } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x00 } },
+ { { 0x2e, 0x00 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x00 } },
+ { { 0x32, 0x00 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x00 } },
+ { { 0x36, 0x00 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x00 } },
+ { { 0x3a, 0x00 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x30 } },
+ { { 0x3e, 0x30 } },
+ { { 0x3f, 0x22 } },
+ { { 0x40, 0x02 } },
+ { { 0x41, 0x07 } },
+ { { 0x42, 0x14 } },
+ { { 0x43, 0x05 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x55 } },
+ { { 0x49, 0x00 } },
+ { { 0x4a, 0x00 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x00 } },
+ { { 0x4e, 0x00 } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x00 } },
+ { { 0x52, 0x07 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x07 } },
+ { { 0x56, 0x00 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x81 } },
+ { { 0x59, 0x00 } },
+ { { 0x5a, 0x00 } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x00 } },
+ { { 0x5e, 0x0f } },
+ { { 0x5f, 0x01 } },
+ { { 0x60, 0x01 } },
+ { { 0x61, 0x10 } },
+ { { 0x62, 0x00 } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x01 } },
+ { { 0x66, 0x0f } },
+ { { 0x67, 0x03 } },
+ { { 0x68, 0x07 } },
+ { { 0x69, 0x10 } },
+ { { 0x6a, 0xd0 } },
+ { { 0x6b, 0x10 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x00 } },
+ { { 0x6e, 0x00 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x00 } },
+ { { 0x72, 0x03 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x04 } },
+ { { 0x75, 0x00 } },
+ { { 0x76, 0x88 } },
+ { { 0x77, 0x01 } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x00 } },
+ { { 0x7a, 0x00 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x00 } },
+ { { 0x7e, 0x00 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 1 dump */
+ { { 0x00, 0x01 } },
+ { { 0x01, 0x00 } },
+ { { 0x02, 0x00 } },
+ { { 0x03, 0x00 } },
+ { { 0x04, 0x03 } },
+ { { 0x05, 0x00 } },
+ { { 0x06, 0x00 } },
+ { { 0x07, 0x00 } },
+ { { 0x08, 0x10 } },
+ { { 0x09, 0x01 } },
+ { { 0x0a, 0x33 } },
+ { { 0x0b, 0x11 } },
+ { { 0x0c, 0x11 } },
+ { { 0x0d, 0x11 } },
+ { { 0x0e, 0x00 } },
+ { { 0x0f, 0x01 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x00 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x00 } },
+ { { 0x16, 0x00 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x00 } },
+ { { 0x1a, 0x00 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x00 } },
+ { { 0x1e, 0x00 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x00 } },
+ { { 0x22, 0x00 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x00 } },
+ { { 0x26, 0x00 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x00 } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x00 } },
+ { { 0x2e, 0x00 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x00 } },
+ { { 0x32, 0x00 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x00 } },
+ { { 0x36, 0x00 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x00 } },
+ { { 0x3a, 0x00 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x00 } },
+ { { 0x3e, 0x00 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x00 } },
+ { { 0x42, 0x00 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x00 } },
+ { { 0x4a, 0x00 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x00 } },
+ { { 0x4e, 0x00 } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x00 } },
+ { { 0x52, 0x00 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x00 } },
+ { { 0x56, 0x00 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x00 } },
+ { { 0x5a, 0x00 } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x00 } },
+ { { 0x5e, 0x00 } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x00 } },
+ { { 0x62, 0x00 } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x00 } },
+ { { 0x66, 0x00 } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x00 } },
+ { { 0x6a, 0x00 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x00 } },
+ { { 0x6e, 0x00 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x00 } },
+ { { 0x72, 0x00 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x00 } },
+ { { 0x76, 0x00 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x00 } },
+ { { 0x7a, 0x00 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x00 } },
+ { { 0x7e, 0x00 } },
+ { { 0x7f, 0x00 } },
+
+ /* Coefficient Memory A */
+ /* Page 44 dump */
+ { { 0x00, 0x2c } },
+ { { 0x08, 0xff } },
+ { { 0x09, 0xff } },
+ { { 0x0a, 0xff } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x80 } },
+ { { 0x0d, 0x00 } },
+ { { 0x0e, 0x00 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x00 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x7f } },
+ { { 0x15, 0x7c } },
+ { { 0x16, 0xc3 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x81 } },
+ { { 0x19, 0x05 } },
+ { { 0x1a, 0xc6 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x3f } },
+ { { 0x1d, 0xbe } },
+ { { 0x1e, 0x78 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0xc0 } },
+ { { 0x21, 0x41 } },
+ { { 0x22, 0x88 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x3f } },
+ { { 0x25, 0xbe } },
+ { { 0x26, 0x78 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x7f } },
+ { { 0x29, 0x75 } },
+ { { 0x2a, 0x18 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x81 } },
+ { { 0x2d, 0x15 } },
+ { { 0x2e, 0x2e } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x3f } },
+ { { 0x31, 0xba } },
+ { { 0x32, 0xa0 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0xc0 } },
+ { { 0x35, 0x78 } },
+ { { 0x36, 0x72 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x3f } },
+ { { 0x39, 0x54 } },
+ { { 0x3a, 0x7c } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x7e } },
+ { { 0x3d, 0xb8 } },
+ { { 0x3e, 0x72 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x82 } },
+ { { 0x41, 0x88 } },
+ { { 0x42, 0xa0 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0xcf } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x00 } },
+ { { 0x4a, 0xcf } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x00 } },
+ { { 0x4e, 0xcf } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x7e } },
+ { { 0x51, 0x2a } },
+ { { 0x52, 0x5b } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x83 } },
+ { { 0x55, 0x91 } },
+ { { 0x56, 0x75 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x03 } },
+ { { 0x5a, 0x3b } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x03 } },
+ { { 0x5e, 0x3b } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x03 } },
+ { { 0x62, 0x3b } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x3e } },
+ { { 0x65, 0x37 } },
+ { { 0x66, 0x2e } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x00 } },
+ { { 0x6a, 0x00 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0xe4 } },
+ { { 0x6e, 0x69 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x72 } },
+ { { 0x72, 0x34 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x00 } },
+ { { 0x76, 0x00 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x01 } },
+ { { 0x79, 0xbb } },
+ { { 0x7a, 0x7d } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x01 } },
+ { { 0x7d, 0xbb } },
+ { { 0x7e, 0x7d } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 45 dump */
+ { { 0x00, 0x2d } },
+ { { 0x08, 0x01 } },
+ { { 0x09, 0xbb } },
+ { { 0x0a, 0x7d } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x62 } },
+ { { 0x0d, 0x37 } },
+ { { 0x0e, 0xc5 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0xb4 } },
+ { { 0x11, 0xa2 } },
+ { { 0x12, 0x82 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x63 } },
+ { { 0x15, 0xf3 } },
+ { { 0x16, 0x41 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x9c } },
+ { { 0x19, 0x0c } },
+ { { 0x1a, 0xbf } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x63 } },
+ { { 0x1d, 0xf3 } },
+ { { 0x1e, 0x41 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x62 } },
+ { { 0x21, 0x37 } },
+ { { 0x22, 0xc5 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0xb4 } },
+ { { 0x25, 0xa2 } },
+ { { 0x26, 0x82 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x7f } },
+ { { 0x29, 0xff } },
+ { { 0x2a, 0xff } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x80 } },
+ { { 0x2d, 0x00 } },
+ { { 0x2e, 0x01 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x40 } },
+ { { 0x31, 0x00 } },
+ { { 0x32, 0x00 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x7f } },
+ { { 0x35, 0xff } },
+ { { 0x36, 0xff } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x00 } },
+ { { 0x3a, 0x00 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x07 } },
+ { { 0x3d, 0xdf } },
+ { { 0x3e, 0x9e } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x03 } },
+ { { 0x41, 0xef } },
+ { { 0x42, 0xcf } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x38 } },
+ { { 0x49, 0x20 } },
+ { { 0x4a, 0x61 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x00 } },
+ { { 0x4e, 0x00 } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x7f } },
+ { { 0x51, 0xff } },
+ { { 0x52, 0xff } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x84 } },
+ { { 0x55, 0x52 } },
+ { { 0x56, 0xa6 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x77 } },
+ { { 0x59, 0xe2 } },
+ { { 0x5a, 0x94 } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x7b } },
+ { { 0x5d, 0xad } },
+ { { 0x5e, 0x5a } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x88 } },
+ { { 0x61, 0x1d } },
+ { { 0x62, 0x6c } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x7f } },
+ { { 0x65, 0xff } },
+ { { 0x66, 0xff } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x82 } },
+ { { 0x69, 0x20 } },
+ { { 0x6a, 0xd8 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x7b } },
+ { { 0x6d, 0xe0 } },
+ { { 0x6e, 0xd6 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0x7d } },
+ { { 0x71, 0xdf } },
+ { { 0x72, 0x28 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x84 } },
+ { { 0x75, 0x1f } },
+ { { 0x76, 0x2a } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x7f } },
+ { { 0x79, 0xff } },
+ { { 0x7a, 0xff } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x81 } },
+ { { 0x7d, 0x0e } },
+ { { 0x7e, 0x45 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 46 dump */
+ { { 0x00, 0x2e } },
+ { { 0x08, 0x7d } },
+ { { 0x09, 0xec } },
+ { { 0x0a, 0x2c } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x7e } },
+ { { 0x0d, 0xf1 } },
+ { { 0x0e, 0xbb } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x82 } },
+ { { 0x11, 0x13 } },
+ { { 0x12, 0xd4 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x7f } },
+ { { 0x15, 0xff } },
+ { { 0x16, 0xff } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x80 } },
+ { { 0x19, 0x87 } },
+ { { 0x1a, 0xac } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x7e } },
+ { { 0x1d, 0xf2 } },
+ { { 0x1e, 0xe1 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x7f } },
+ { { 0x21, 0x78 } },
+ { { 0x22, 0x54 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x81 } },
+ { { 0x25, 0x0d } },
+ { { 0x26, 0x1f } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0xc0 } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0xfd } },
+ { { 0x2d, 0xb9 } },
+ { { 0x2e, 0x4b } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x16 } },
+ { { 0x31, 0x02 } },
+ { { 0x32, 0x51 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x06 } },
+ { { 0x36, 0xd3 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x78 } },
+ { { 0x39, 0x20 } },
+ { { 0x3a, 0x61 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0xc3 } },
+ { { 0x3d, 0xef } },
+ { { 0x3e, 0xd0 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x00 } },
+ { { 0x42, 0x00 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x38 } },
+ { { 0x45, 0x20 } },
+ { { 0x46, 0x61 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x00 } },
+ { { 0x4a, 0x00 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x7f } },
+ { { 0x4d, 0xff } },
+ { { 0x4e, 0xff } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x8b } },
+ { { 0x51, 0x47 } },
+ { { 0x52, 0xb8 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x6c } },
+ { { 0x55, 0x99 } },
+ { { 0x56, 0x93 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x74 } },
+ { { 0x59, 0xb8 } },
+ { { 0x5a, 0x48 } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x93 } },
+ { { 0x5d, 0x66 } },
+ { { 0x5e, 0x6d } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x7f } },
+ { { 0x61, 0xff } },
+ { { 0x62, 0xff } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x8e } },
+ { { 0x65, 0xb4 } },
+ { { 0x66, 0x75 } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x67 } },
+ { { 0x69, 0xa7 } },
+ { { 0x6a, 0x00 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x71 } },
+ { { 0x6d, 0x4b } },
+ { { 0x6e, 0x8b } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0x98 } },
+ { { 0x71, 0x59 } },
+ { { 0x72, 0x00 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x7f } },
+ { { 0x75, 0xff } },
+ { { 0x76, 0xff } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x92 } },
+ { { 0x79, 0xbe } },
+ { { 0x7a, 0xc4 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x62 } },
+ { { 0x7d, 0x37 } },
+ { { 0x7e, 0xc5 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 47 dump */
+ { { 0x00, 0x2f } },
+ { { 0x08, 0x6d } },
+ { { 0x09, 0x41 } },
+ { { 0x0a, 0x3c } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x9d } },
+ { { 0x0d, 0xc8 } },
+ { { 0x0e, 0x3b } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x7f } },
+ { { 0x11, 0xff } },
+ { { 0x12, 0xff } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x97 } },
+ { { 0x15, 0xf7 } },
+ { { 0x16, 0xf7 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x5b } },
+ { { 0x19, 0xb9 } },
+ { { 0x1a, 0x37 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x68 } },
+ { { 0x1d, 0x08 } },
+ { { 0x1e, 0x09 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0xa4 } },
+ { { 0x21, 0x46 } },
+ { { 0x22, 0xc9 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x0a } },
+ { { 0x25, 0xc0 } },
+ { { 0x26, 0x00 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x7f } },
+ { { 0x29, 0xaa } },
+ { { 0x2a, 0x6e } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0xc0 } },
+ { { 0x2d, 0x2a } },
+ { { 0x2e, 0xc9 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x00 } },
+ { { 0x32, 0x00 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x3f } },
+ { { 0x35, 0xaa } },
+ { { 0x36, 0x6f } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x00 } },
+ { { 0x3a, 0x00 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x01 } },
+ { { 0x3d, 0xa7 } },
+ { { 0x3e, 0x69 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0xd3 } },
+ { { 0x42, 0xb4 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x3e } },
+ { { 0x49, 0x58 } },
+ { { 0x4a, 0x95 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x00 } },
+ { { 0x4e, 0x00 } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x7f } },
+ { { 0x51, 0xff } },
+ { { 0x52, 0xff } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x00 } },
+ { { 0x56, 0x00 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x00 } },
+ { { 0x5a, 0x00 } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x00 } },
+ { { 0x5e, 0x00 } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x00 } },
+ { { 0x62, 0x00 } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x7f } },
+ { { 0x65, 0xff } },
+ { { 0x66, 0xff } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x00 } },
+ { { 0x6a, 0x00 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x00 } },
+ { { 0x6e, 0x00 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x00 } },
+ { { 0x72, 0x00 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x00 } },
+ { { 0x76, 0x00 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x06 } },
+ { { 0x7a, 0xd3 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x7f } },
+ { { 0x7d, 0xf9 } },
+ { { 0x7e, 0x2d } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 48 dump */
+ { { 0x00, 0x30 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x28 } },
+ { { 0x0a, 0xef } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x7f } },
+ { { 0x0d, 0xd7 } },
+ { { 0x0e, 0x11 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x0d } },
+ { { 0x12, 0xa7 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x7f } },
+ { { 0x15, 0xf2 } },
+ { { 0x16, 0x59 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x11 } },
+ { { 0x1a, 0x10 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x7f } },
+ { { 0x1d, 0xee } },
+ { { 0x1e, 0xf0 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x66 } },
+ { { 0x22, 0x3d } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x7f } },
+ { { 0x25, 0x99 } },
+ { { 0x26, 0xc3 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x22 } },
+ { { 0x2a, 0x1e } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x7f } },
+ { { 0x2d, 0xdd } },
+ { { 0x2e, 0xe2 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x88 } },
+ { { 0x32, 0x40 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x7f } },
+ { { 0x35, 0x77 } },
+ { { 0x36, 0xc0 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x03 } },
+ { { 0x39, 0x29 } },
+ { { 0x3a, 0x0b } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x7c } },
+ { { 0x3d, 0xd6 } },
+ { { 0x3e, 0xf5 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x01 } },
+ { { 0x41, 0x0f } },
+ { { 0x42, 0xef } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x7e } },
+ { { 0x45, 0xf0 } },
+ { { 0x46, 0x11 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x00 } },
+ { { 0x4a, 0x00 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x00 } },
+ { { 0x4e, 0x00 } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x00 } },
+ { { 0x52, 0x00 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x50 } },
+ { { 0x55, 0x00 } },
+ { { 0x56, 0x00 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x14 } },
+ { { 0x59, 0x00 } },
+ { { 0x5a, 0x00 } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x00 } },
+ { { 0x5e, 0x00 } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x00 } },
+ { { 0x62, 0x00 } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0xc0 } },
+ { { 0x65, 0x00 } },
+ { { 0x66, 0x00 } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x80 } },
+ { { 0x69, 0x00 } },
+ { { 0x6a, 0x00 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x40 } },
+ { { 0x6d, 0x00 } },
+ { { 0x6e, 0x00 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x00 } },
+ { { 0x72, 0x00 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x00 } },
+ { { 0x76, 0x00 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0xd7 } },
+ { { 0x79, 0x41 } },
+ { { 0x7a, 0xa0 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0xff } },
+ { { 0x7d, 0xf0 } },
+ { { 0x7e, 0x00 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 49 dump */
+ { { 0x00, 0x31 } },
+ { { 0x08, 0x88 } },
+ { { 0x09, 0x00 } },
+ { { 0x0a, 0x00 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x18 } },
+ { { 0x0d, 0x00 } },
+ { { 0x0e, 0x00 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x00 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x00 } },
+ { { 0x16, 0x00 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x00 } },
+ { { 0x1a, 0x00 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x30 } },
+ { { 0x1d, 0x00 } },
+ { { 0x1e, 0x00 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0xd0 } },
+ { { 0x21, 0x00 } },
+ { { 0x22, 0x00 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x03 } },
+ { { 0x26, 0x84 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0xb2 } },
+ { { 0x2a, 0x55 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x0e } },
+ { { 0x2d, 0x5b } },
+ { { 0x2e, 0xde } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x7f } },
+ { { 0x31, 0xff } },
+ { { 0x32, 0xff } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x00 } },
+ { { 0x36, 0x00 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x02 } },
+ { { 0x39, 0x00 } },
+ { { 0x3a, 0x00 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x20 } },
+ { { 0x3d, 0x00 } },
+ { { 0x3e, 0x00 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x51 } },
+ { { 0x42, 0x26 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x40 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x0c } },
+ { { 0x4a, 0xdc } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x02 } },
+ { { 0x4d, 0x00 } },
+ { { 0x4e, 0x00 } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x00 } },
+ { { 0x52, 0x00 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x00 } },
+ { { 0x56, 0x00 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x16 } },
+ { { 0x5a, 0x5a } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x37 } },
+ { { 0x5e, 0x56 } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x10 } },
+ { { 0x61, 0xa9 } },
+ { { 0x62, 0xbf } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x7f } },
+ { { 0x65, 0xff } },
+ { { 0x66, 0xff } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x00 } },
+ { { 0x6a, 0x00 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x02 } },
+ { { 0x6d, 0x00 } },
+ { { 0x6e, 0x00 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0xe0 } },
+ { { 0x71, 0x00 } },
+ { { 0x72, 0x00 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x0c } },
+ { { 0x75, 0x9e } },
+ { { 0x76, 0x80 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0xc0 } },
+ { { 0x79, 0x00 } },
+ { { 0x7a, 0x00 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x4f } },
+ { { 0x7d, 0x9f } },
+ { { 0x7e, 0x16 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 50 dump */
+ { { 0x00, 0x32 } },
+ { { 0x08, 0x02 } },
+ { { 0x09, 0x00 } },
+ { { 0x0a, 0x00 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x00 } },
+ { { 0x0e, 0x00 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x00 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x20 } },
+ { { 0x15, 0x00 } },
+ { { 0x16, 0x00 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x40 } },
+ { { 0x19, 0x00 } },
+ { { 0x1a, 0x00 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0xe0 } },
+ { { 0x1d, 0x00 } },
+ { { 0x1e, 0x00 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0xc0 } },
+ { { 0x21, 0x00 } },
+ { { 0x22, 0x00 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x00 } },
+ { { 0x26, 0x00 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x00 } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x00 } },
+ { { 0x2e, 0x00 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x80 } },
+ { { 0x31, 0x00 } },
+ { { 0x32, 0x00 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x7f } },
+ { { 0x35, 0xff } },
+ { { 0x36, 0xff } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x00 } },
+ { { 0x3a, 0x00 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x00 } },
+ { { 0x3e, 0x00 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x00 } },
+ { { 0x42, 0x00 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0xc0 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x00 } },
+ { { 0x4a, 0x00 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x00 } },
+ { { 0x4e, 0x00 } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x00 } },
+ { { 0x52, 0x00 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x00 } },
+ { { 0x56, 0x00 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x7f } },
+ { { 0x59, 0xff } },
+ { { 0x5a, 0xff } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x40 } },
+ { { 0x5d, 0x00 } },
+ { { 0x5e, 0x00 } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x40 } },
+ { { 0x61, 0x00 } },
+ { { 0x62, 0x00 } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x20 } },
+ { { 0x65, 0x00 } },
+ { { 0x66, 0x00 } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x80 } },
+ { { 0x69, 0x00 } },
+ { { 0x6a, 0x01 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x00 } },
+ { { 0x6e, 0x00 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0x40 } },
+ { { 0x71, 0x00 } },
+ { { 0x72, 0x00 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x40 } },
+ { { 0x75, 0x00 } },
+ { { 0x76, 0x00 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x00 } },
+ { { 0x7a, 0x00 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x00 } },
+ { { 0x7e, 0x00 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 51 dump */
+ { { 0x00, 0x33 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x00 } },
+ { { 0x0a, 0x00 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x00 } },
+ { { 0x0e, 0x00 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x7f } },
+ { { 0x11, 0xff } },
+ { { 0x12, 0xff } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x00 } },
+ { { 0x16, 0x00 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x00 } },
+ { { 0x1a, 0x00 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x00 } },
+ { { 0x1e, 0x00 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x00 } },
+ { { 0x22, 0x00 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x7f } },
+ { { 0x25, 0xff } },
+ { { 0x26, 0xff } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x00 } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x00 } },
+ { { 0x2e, 0x00 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x00 } },
+ { { 0x32, 0x00 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x00 } },
+ { { 0x36, 0x00 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x7f } },
+ { { 0x39, 0xff } },
+ { { 0x3a, 0xff } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x00 } },
+ { { 0x3e, 0x00 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x00 } },
+ { { 0x42, 0x00 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x00 } },
+ { { 0x4a, 0x00 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x7f } },
+ { { 0x4d, 0xff } },
+ { { 0x4e, 0xff } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x00 } },
+ { { 0x52, 0x00 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x00 } },
+ { { 0x56, 0x00 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0xc0 } },
+ { { 0x59, 0x00 } },
+ { { 0x5a, 0x00 } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x3f } },
+ { { 0x5d, 0xae } },
+ { { 0x5e, 0x14 } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0xc0 } },
+ { { 0x61, 0x00 } },
+ { { 0x62, 0x00 } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x00 } },
+ { { 0x66, 0x00 } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x19 } },
+ { { 0x69, 0x40 } },
+ { { 0x6a, 0x00 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x12 } },
+ { { 0x6d, 0x00 } },
+ { { 0x6e, 0x00 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0x22 } },
+ { { 0x71, 0xc0 } },
+ { { 0x72, 0x00 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x1d } },
+ { { 0x75, 0x80 } },
+ { { 0x76, 0x00 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x36 } },
+ { { 0x79, 0x40 } },
+ { { 0x7a, 0x00 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x49 } },
+ { { 0x7d, 0x40 } },
+ { { 0x7e, 0x00 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 52 dump */
+ { { 0x00, 0x34 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x00 } },
+ { { 0x0a, 0x00 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x00 } },
+ { { 0x0e, 0x00 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x00 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x00 } },
+ { { 0x16, 0x00 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x00 } },
+ { { 0x1a, 0x00 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x00 } },
+ { { 0x1e, 0x00 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x00 } },
+ { { 0x22, 0x00 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x00 } },
+ { { 0x26, 0x00 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x00 } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x00 } },
+ { { 0x2e, 0x00 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x00 } },
+ { { 0x32, 0x00 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x40 } },
+ { { 0x35, 0x00 } },
+ { { 0x36, 0x00 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x04 } },
+ { { 0x3a, 0x00 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x00 } },
+ { { 0x3e, 0x00 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x00 } },
+ { { 0x42, 0x00 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+
+ /* Coefficient Memory B */
+ /* Page 62 dump */
+ { { 0x00, 0x3e } },
+ { { 0x08, 0xff } },
+ { { 0x09, 0xff } },
+ { { 0x0a, 0xff } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x80 } },
+ { { 0x0d, 0x00 } },
+ { { 0x0e, 0x00 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x00 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x7f } },
+ { { 0x15, 0x7c } },
+ { { 0x16, 0xc3 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x81 } },
+ { { 0x19, 0x05 } },
+ { { 0x1a, 0xc6 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x3f } },
+ { { 0x1d, 0xbe } },
+ { { 0x1e, 0x78 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0xc0 } },
+ { { 0x21, 0x41 } },
+ { { 0x22, 0x88 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x3f } },
+ { { 0x25, 0xbe } },
+ { { 0x26, 0x78 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x7f } },
+ { { 0x29, 0x75 } },
+ { { 0x2a, 0x18 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x81 } },
+ { { 0x2d, 0x15 } },
+ { { 0x2e, 0x2e } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x3f } },
+ { { 0x31, 0xba } },
+ { { 0x32, 0xa0 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0xc0 } },
+ { { 0x35, 0x78 } },
+ { { 0x36, 0x72 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x3f } },
+ { { 0x39, 0x54 } },
+ { { 0x3a, 0x7c } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x7e } },
+ { { 0x3d, 0xb8 } },
+ { { 0x3e, 0x72 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x82 } },
+ { { 0x41, 0x88 } },
+ { { 0x42, 0xa0 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0xcf } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x00 } },
+ { { 0x4a, 0xcf } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x00 } },
+ { { 0x4e, 0xcf } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x7e } },
+ { { 0x51, 0x2a } },
+ { { 0x52, 0x5b } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x83 } },
+ { { 0x55, 0x91 } },
+ { { 0x56, 0x75 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x03 } },
+ { { 0x5a, 0x3b } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x03 } },
+ { { 0x5e, 0x3b } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x03 } },
+ { { 0x62, 0x3b } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x3e } },
+ { { 0x65, 0x37 } },
+ { { 0x66, 0x2e } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x00 } },
+ { { 0x6a, 0x00 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0xe4 } },
+ { { 0x6e, 0x69 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x72 } },
+ { { 0x72, 0x34 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x00 } },
+ { { 0x76, 0x00 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x01 } },
+ { { 0x79, 0xbb } },
+ { { 0x7a, 0x7c } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x01 } },
+ { { 0x7d, 0xbb } },
+ { { 0x7e, 0x7c } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 63 dump */
+ { { 0x00, 0x3f } },
+ { { 0x08, 0x01 } },
+ { { 0x09, 0xbb } },
+ { { 0x0a, 0x7c } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x62 } },
+ { { 0x0d, 0x37 } },
+ { { 0x0e, 0xc4 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0xb4 } },
+ { { 0x11, 0xa2 } },
+ { { 0x12, 0x83 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x63 } },
+ { { 0x15, 0xf3 } },
+ { { 0x16, 0x41 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x9c } },
+ { { 0x19, 0x0c } },
+ { { 0x1a, 0xbf } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x63 } },
+ { { 0x1d, 0xf3 } },
+ { { 0x1e, 0x41 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x62 } },
+ { { 0x21, 0x37 } },
+ { { 0x22, 0xc4 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0xb4 } },
+ { { 0x25, 0xa2 } },
+ { { 0x26, 0x83 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x7f } },
+ { { 0x29, 0xff } },
+ { { 0x2a, 0xff } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x80 } },
+ { { 0x2d, 0x00 } },
+ { { 0x2e, 0x01 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x40 } },
+ { { 0x31, 0x00 } },
+ { { 0x32, 0x00 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x7f } },
+ { { 0x35, 0xff } },
+ { { 0x36, 0xff } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x00 } },
+ { { 0x3a, 0x00 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x07 } },
+ { { 0x3d, 0xdf } },
+ { { 0x3e, 0x9e } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x03 } },
+ { { 0x41, 0xef } },
+ { { 0x42, 0xcf } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x38 } },
+ { { 0x49, 0x20 } },
+ { { 0x4a, 0x61 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x00 } },
+ { { 0x4e, 0x00 } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x7f } },
+ { { 0x51, 0xff } },
+ { { 0x52, 0xff } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x84 } },
+ { { 0x55, 0x52 } },
+ { { 0x56, 0xa6 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x77 } },
+ { { 0x59, 0xe2 } },
+ { { 0x5a, 0x93 } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x7b } },
+ { { 0x5d, 0xad } },
+ { { 0x5e, 0x5a } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x88 } },
+ { { 0x61, 0x1d } },
+ { { 0x62, 0x6d } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x7f } },
+ { { 0x65, 0xff } },
+ { { 0x66, 0xff } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x82 } },
+ { { 0x69, 0x20 } },
+ { { 0x6a, 0xd9 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x7b } },
+ { { 0x6d, 0xe0 } },
+ { { 0x6e, 0xd6 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0x7d } },
+ { { 0x71, 0xdf } },
+ { { 0x72, 0x27 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x84 } },
+ { { 0x75, 0x1f } },
+ { { 0x76, 0x2a } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x7f } },
+ { { 0x79, 0xff } },
+ { { 0x7a, 0xff } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x81 } },
+ { { 0x7d, 0x0e } },
+ { { 0x7e, 0x45 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 64 dump */
+ { { 0x00, 0x40 } },
+ { { 0x08, 0x7d } },
+ { { 0x09, 0xec } },
+ { { 0x0a, 0x2b } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x7e } },
+ { { 0x0d, 0xf1 } },
+ { { 0x0e, 0xbb } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x82 } },
+ { { 0x11, 0x13 } },
+ { { 0x12, 0xd5 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x7f } },
+ { { 0x15, 0xff } },
+ { { 0x16, 0xff } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x80 } },
+ { { 0x19, 0x87 } },
+ { { 0x1a, 0xad } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x7e } },
+ { { 0x1d, 0xf2 } },
+ { { 0x1e, 0xe0 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x7f } },
+ { { 0x21, 0x78 } },
+ { { 0x22, 0x53 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x81 } },
+ { { 0x25, 0x0d } },
+ { { 0x26, 0x20 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0xc0 } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0xfd } },
+ { { 0x2d, 0x22 } },
+ { { 0x2e, 0x6a } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x13 } },
+ { { 0x31, 0xda } },
+ { { 0x32, 0x44 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x06 } },
+ { { 0x36, 0xd3 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x78 } },
+ { { 0x39, 0x20 } },
+ { { 0x3a, 0x60 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0xc3 } },
+ { { 0x3d, 0xef } },
+ { { 0x3e, 0xd0 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x00 } },
+ { { 0x42, 0x00 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x38 } },
+ { { 0x45, 0x20 } },
+ { { 0x46, 0x61 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x00 } },
+ { { 0x4a, 0x00 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x7f } },
+ { { 0x4d, 0xff } },
+ { { 0x4e, 0xff } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x8b } },
+ { { 0x51, 0x47 } },
+ { { 0x52, 0xb8 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x6c } },
+ { { 0x55, 0x99 } },
+ { { 0x56, 0x93 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x74 } },
+ { { 0x59, 0xb8 } },
+ { { 0x5a, 0x48 } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x93 } },
+ { { 0x5d, 0x66 } },
+ { { 0x5e, 0x6d } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x7f } },
+ { { 0x61, 0xff } },
+ { { 0x62, 0xff } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x8e } },
+ { { 0x65, 0xb4 } },
+ { { 0x66, 0x76 } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x67 } },
+ { { 0x69, 0xa7 } },
+ { { 0x6a, 0x00 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x71 } },
+ { { 0x6d, 0x4b } },
+ { { 0x6e, 0x8a } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0x98 } },
+ { { 0x71, 0x59 } },
+ { { 0x72, 0x00 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x7f } },
+ { { 0x75, 0xff } },
+ { { 0x76, 0xff } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x92 } },
+ { { 0x79, 0xbe } },
+ { { 0x7a, 0xc5 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x62 } },
+ { { 0x7d, 0x37 } },
+ { { 0x7e, 0xc4 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 65 dump */
+ { { 0x00, 0x41 } },
+ { { 0x08, 0x6d } },
+ { { 0x09, 0x41 } },
+ { { 0x0a, 0x3b } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x9d } },
+ { { 0x0d, 0xc8 } },
+ { { 0x0e, 0x3c } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x7f } },
+ { { 0x11, 0xff } },
+ { { 0x12, 0xff } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x97 } },
+ { { 0x15, 0xf7 } },
+ { { 0x16, 0xf7 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x5b } },
+ { { 0x19, 0xb9 } },
+ { { 0x1a, 0x36 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x68 } },
+ { { 0x1d, 0x08 } },
+ { { 0x1e, 0x09 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0xa4 } },
+ { { 0x21, 0x46 } },
+ { { 0x22, 0xca } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x0a } },
+ { { 0x25, 0xc0 } },
+ { { 0x26, 0x00 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x7f } },
+ { { 0x29, 0xaa } },
+ { { 0x2a, 0x6e } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0xc0 } },
+ { { 0x2d, 0x2a } },
+ { { 0x2e, 0xc9 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x00 } },
+ { { 0x32, 0x00 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x3f } },
+ { { 0x35, 0xaa } },
+ { { 0x36, 0x6f } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x00 } },
+ { { 0x3a, 0x00 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x01 } },
+ { { 0x3d, 0xa7 } },
+ { { 0x3e, 0x69 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0xd3 } },
+ { { 0x42, 0xb4 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x3e } },
+ { { 0x49, 0x58 } },
+ { { 0x4a, 0x95 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x00 } },
+ { { 0x4e, 0x00 } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x7f } },
+ { { 0x51, 0xff } },
+ { { 0x52, 0xff } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x00 } },
+ { { 0x56, 0x00 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x00 } },
+ { { 0x5a, 0x00 } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x00 } },
+ { { 0x5e, 0x00 } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x00 } },
+ { { 0x62, 0x00 } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x7f } },
+ { { 0x65, 0xff } },
+ { { 0x66, 0xff } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x00 } },
+ { { 0x6a, 0x00 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x00 } },
+ { { 0x6e, 0x00 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x00 } },
+ { { 0x72, 0x00 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x00 } },
+ { { 0x76, 0x00 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x06 } },
+ { { 0x7a, 0xd3 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x7f } },
+ { { 0x7d, 0xf9 } },
+ { { 0x7e, 0x2d } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 66 dump */
+ { { 0x00, 0x42 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x28 } },
+ { { 0x0a, 0xef } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x7f } },
+ { { 0x0d, 0xd7 } },
+ { { 0x0e, 0x11 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x0d } },
+ { { 0x12, 0xa7 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x7f } },
+ { { 0x15, 0xf2 } },
+ { { 0x16, 0x59 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x11 } },
+ { { 0x1a, 0x10 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x7f } },
+ { { 0x1d, 0xee } },
+ { { 0x1e, 0xf0 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x66 } },
+ { { 0x22, 0x3d } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x7f } },
+ { { 0x25, 0x99 } },
+ { { 0x26, 0xc3 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x22 } },
+ { { 0x2a, 0x1e } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x7f } },
+ { { 0x2d, 0xdd } },
+ { { 0x2e, 0xe2 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x88 } },
+ { { 0x32, 0x40 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x7f } },
+ { { 0x35, 0x77 } },
+ { { 0x36, 0xc0 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x03 } },
+ { { 0x39, 0x29 } },
+ { { 0x3a, 0x0b } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x7c } },
+ { { 0x3d, 0xd6 } },
+ { { 0x3e, 0xf5 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x01 } },
+ { { 0x41, 0x0f } },
+ { { 0x42, 0xef } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x7e } },
+ { { 0x45, 0xf0 } },
+ { { 0x46, 0x11 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x00 } },
+ { { 0x4a, 0x00 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x00 } },
+ { { 0x4e, 0x00 } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x00 } },
+ { { 0x52, 0x00 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x50 } },
+ { { 0x55, 0x00 } },
+ { { 0x56, 0x00 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x14 } },
+ { { 0x59, 0x00 } },
+ { { 0x5a, 0x00 } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x00 } },
+ { { 0x5e, 0x00 } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x00 } },
+ { { 0x62, 0x00 } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0xc0 } },
+ { { 0x65, 0x00 } },
+ { { 0x66, 0x00 } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x80 } },
+ { { 0x69, 0x00 } },
+ { { 0x6a, 0x00 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x40 } },
+ { { 0x6d, 0x00 } },
+ { { 0x6e, 0x00 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x00 } },
+ { { 0x72, 0x00 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x00 } },
+ { { 0x76, 0x00 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0xd7 } },
+ { { 0x79, 0x41 } },
+ { { 0x7a, 0xa0 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0xff } },
+ { { 0x7d, 0xf0 } },
+ { { 0x7e, 0x00 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 67 dump */
+ { { 0x00, 0x43 } },
+ { { 0x08, 0x88 } },
+ { { 0x09, 0x00 } },
+ { { 0x0a, 0x00 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x18 } },
+ { { 0x0d, 0x00 } },
+ { { 0x0e, 0x00 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x00 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x00 } },
+ { { 0x16, 0x00 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x00 } },
+ { { 0x1a, 0x00 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x30 } },
+ { { 0x1d, 0x00 } },
+ { { 0x1e, 0x00 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0xd0 } },
+ { { 0x21, 0x00 } },
+ { { 0x22, 0x00 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x03 } },
+ { { 0x26, 0x84 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0xb2 } },
+ { { 0x2a, 0x55 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x0e } },
+ { { 0x2d, 0x5b } },
+ { { 0x2e, 0xde } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x7f } },
+ { { 0x31, 0xff } },
+ { { 0x32, 0xff } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x00 } },
+ { { 0x36, 0x00 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x02 } },
+ { { 0x39, 0x00 } },
+ { { 0x3a, 0x00 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x20 } },
+ { { 0x3d, 0x00 } },
+ { { 0x3e, 0x00 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x51 } },
+ { { 0x42, 0x26 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x40 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x0c } },
+ { { 0x4a, 0xdc } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x02 } },
+ { { 0x4d, 0x00 } },
+ { { 0x4e, 0x00 } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x00 } },
+ { { 0x52, 0x00 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x00 } },
+ { { 0x56, 0x00 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x16 } },
+ { { 0x5a, 0x5a } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x37 } },
+ { { 0x5e, 0x56 } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x10 } },
+ { { 0x61, 0xa9 } },
+ { { 0x62, 0xbf } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x7f } },
+ { { 0x65, 0xff } },
+ { { 0x66, 0xff } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x00 } },
+ { { 0x6a, 0x00 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x02 } },
+ { { 0x6d, 0x00 } },
+ { { 0x6e, 0x00 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0xe0 } },
+ { { 0x71, 0x00 } },
+ { { 0x72, 0x00 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x0c } },
+ { { 0x75, 0x9e } },
+ { { 0x76, 0x80 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0xc0 } },
+ { { 0x79, 0x00 } },
+ { { 0x7a, 0x00 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x4f } },
+ { { 0x7d, 0x9f } },
+ { { 0x7e, 0x16 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 68 dump */
+ { { 0x00, 0x44 } },
+ { { 0x08, 0x02 } },
+ { { 0x09, 0x00 } },
+ { { 0x0a, 0x00 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x00 } },
+ { { 0x0e, 0x00 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x00 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x20 } },
+ { { 0x15, 0x00 } },
+ { { 0x16, 0x00 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x40 } },
+ { { 0x19, 0x00 } },
+ { { 0x1a, 0x00 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0xe0 } },
+ { { 0x1d, 0x00 } },
+ { { 0x1e, 0x00 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0xc0 } },
+ { { 0x21, 0x00 } },
+ { { 0x22, 0x00 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x00 } },
+ { { 0x26, 0x00 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x00 } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x00 } },
+ { { 0x2e, 0x00 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x80 } },
+ { { 0x31, 0x00 } },
+ { { 0x32, 0x00 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x7f } },
+ { { 0x35, 0xff } },
+ { { 0x36, 0xff } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x00 } },
+ { { 0x3a, 0x00 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x00 } },
+ { { 0x3e, 0x00 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x00 } },
+ { { 0x42, 0x00 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0xc0 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x00 } },
+ { { 0x4a, 0x00 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x00 } },
+ { { 0x4e, 0x00 } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x00 } },
+ { { 0x52, 0x00 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x00 } },
+ { { 0x56, 0x00 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x7f } },
+ { { 0x59, 0xff } },
+ { { 0x5a, 0xff } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x40 } },
+ { { 0x5d, 0x00 } },
+ { { 0x5e, 0x00 } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x40 } },
+ { { 0x61, 0x00 } },
+ { { 0x62, 0x00 } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x20 } },
+ { { 0x65, 0x00 } },
+ { { 0x66, 0x00 } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x80 } },
+ { { 0x69, 0x00 } },
+ { { 0x6a, 0x01 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x00 } },
+ { { 0x6e, 0x00 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0x40 } },
+ { { 0x71, 0x00 } },
+ { { 0x72, 0x00 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x40 } },
+ { { 0x75, 0x00 } },
+ { { 0x76, 0x00 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x00 } },
+ { { 0x7a, 0x00 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x00 } },
+ { { 0x7e, 0x00 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 69 dump */
+ { { 0x00, 0x45 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x00 } },
+ { { 0x0a, 0x00 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x00 } },
+ { { 0x0e, 0x00 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x7f } },
+ { { 0x11, 0xff } },
+ { { 0x12, 0xff } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x00 } },
+ { { 0x16, 0x00 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x00 } },
+ { { 0x1a, 0x00 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x00 } },
+ { { 0x1e, 0x00 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x00 } },
+ { { 0x22, 0x00 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x7f } },
+ { { 0x25, 0xff } },
+ { { 0x26, 0xff } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x00 } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x00 } },
+ { { 0x2e, 0x00 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x00 } },
+ { { 0x32, 0x00 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x00 } },
+ { { 0x36, 0x00 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x7f } },
+ { { 0x39, 0xff } },
+ { { 0x3a, 0xff } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x00 } },
+ { { 0x3e, 0x00 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x00 } },
+ { { 0x42, 0x00 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x00 } },
+ { { 0x4a, 0x00 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x7f } },
+ { { 0x4d, 0xff } },
+ { { 0x4e, 0xff } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x00 } },
+ { { 0x52, 0x00 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x00 } },
+ { { 0x56, 0x00 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0xc0 } },
+ { { 0x59, 0x00 } },
+ { { 0x5a, 0x00 } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x3f } },
+ { { 0x5d, 0xae } },
+ { { 0x5e, 0x14 } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0xc0 } },
+ { { 0x61, 0x00 } },
+ { { 0x62, 0x00 } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x00 } },
+ { { 0x66, 0x00 } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x19 } },
+ { { 0x69, 0x40 } },
+ { { 0x6a, 0x00 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x12 } },
+ { { 0x6d, 0x00 } },
+ { { 0x6e, 0x00 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0x22 } },
+ { { 0x71, 0xc0 } },
+ { { 0x72, 0x00 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x1d } },
+ { { 0x75, 0x80 } },
+ { { 0x76, 0x00 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x36 } },
+ { { 0x79, 0x40 } },
+ { { 0x7a, 0x00 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x49 } },
+ { { 0x7d, 0x40 } },
+ { { 0x7e, 0x00 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 70 dump */
+ { { 0x00, 0x46 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x00 } },
+ { { 0x0a, 0x00 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x00 } },
+ { { 0x0e, 0x00 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x00 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x00 } },
+ { { 0x16, 0x00 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x00 } },
+ { { 0x1a, 0x00 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x00 } },
+ { { 0x1e, 0x00 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x00 } },
+ { { 0x22, 0x00 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x00 } },
+ { { 0x26, 0x00 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x00 } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x00 } },
+ { { 0x2e, 0x00 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x00 } },
+ { { 0x32, 0x00 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x40 } },
+ { { 0x35, 0x00 } },
+ { { 0x36, 0x00 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x04 } },
+ { { 0x3a, 0x00 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x00 } },
+ { { 0x3e, 0x00 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x00 } },
+ { { 0x42, 0x00 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+
+ /* Instruction Memory */
+ /* Page 152 dump */
+ { { 0x00, 0x98 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x10 } },
+ { { 0x0a, 0x00 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x10 } },
+ { { 0x0e, 0x04 } },
+ { { 0x0f, 0x01 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x63 } },
+ { { 0x12, 0x38 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x73 } },
+ { { 0x16, 0x3c } },
+ { { 0x17, 0x01 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x00 } },
+ { { 0x1a, 0x00 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x00 } },
+ { { 0x1e, 0x00 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x40 } },
+ { { 0x22, 0x00 } },
+ { { 0x23, 0x02 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x21 } },
+ { { 0x26, 0xec } },
+ { { 0x27, 0x61 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x21 } },
+ { { 0x2a, 0xf0 } },
+ { { 0x2b, 0x44 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x60 } },
+ { { 0x2e, 0xa0 } },
+ { { 0x2f, 0x02 } },
+ { { 0x30, 0x01 } },
+ { { 0x31, 0x20 } },
+ { { 0x32, 0x78 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x01 } },
+ { { 0x35, 0x20 } },
+ { { 0x36, 0x7c } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x01 } },
+ { { 0x39, 0x14 } },
+ { { 0x3a, 0x82 } },
+ { { 0x3b, 0xb4 } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x60 } },
+ { { 0x3e, 0xa0 } },
+ { { 0x3f, 0x13 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x61 } },
+ { { 0x42, 0x90 } },
+ { { 0x43, 0x18 } },
+ { { 0x44, 0x01 } },
+ { { 0x45, 0xb1 } },
+ { { 0x46, 0x8c } },
+ { { 0x47, 0x17 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x40 } },
+ { { 0x4a, 0x04 } },
+ { { 0x4b, 0x16 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x71 } },
+ { { 0x4e, 0x88 } },
+ { { 0x4f, 0x16 } },
+ { { 0x50, 0x01 } },
+ { { 0x51, 0xb1 } },
+ { { 0x52, 0x94 } },
+ { { 0x53, 0x1a } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x71 } },
+ { { 0x56, 0x98 } },
+ { { 0x57, 0x1b } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x61 } },
+ { { 0x5a, 0xa4 } },
+ { { 0x5b, 0x1b } },
+ { { 0x5c, 0x01 } },
+ { { 0x5d, 0xb1 } },
+ { { 0x5e, 0xa0 } },
+ { { 0x5f, 0x1a } },
+ { { 0x60, 0x01 } },
+ { { 0x61, 0x31 } },
+ { { 0x62, 0x9c } },
+ { { 0x63, 0x19 } },
+ { { 0x64, 0x01 } },
+ { { 0x65, 0xb1 } },
+ { { 0x66, 0xa8 } },
+ { { 0x67, 0x1d } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x71 } },
+ { { 0x6a, 0xac } },
+ { { 0x6b, 0x1e } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x00 } },
+ { { 0x6e, 0x00 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x00 } },
+ { { 0x72, 0x00 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x40 } },
+ { { 0x76, 0x00 } },
+ { { 0x77, 0x1c } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x60 } },
+ { { 0x7a, 0xa4 } },
+ { { 0x7b, 0x13 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x00 } },
+ { { 0x7e, 0x00 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 153 dump */
+ { { 0x00, 0x99 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x00 } },
+ { { 0x0a, 0x00 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x40 } },
+ { { 0x0e, 0x00 } },
+ { { 0x0f, 0x22 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x60 } },
+ { { 0x12, 0x14 } },
+ { { 0x13, 0x22 } },
+ { { 0x14, 0x01 } },
+ { { 0x15, 0xb0 } },
+ { { 0x16, 0x18 } },
+ { { 0x17, 0x23 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x70 } },
+ { { 0x1a, 0x1c } },
+ { { 0x1b, 0x24 } },
+ { { 0x1c, 0x01 } },
+ { { 0x1d, 0xb0 } },
+ { { 0x1e, 0x0c } },
+ { { 0x1f, 0x26 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x70 } },
+ { { 0x22, 0x10 } },
+ { { 0x23, 0x27 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x00 } },
+ { { 0x26, 0x00 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x00 } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x40 } },
+ { { 0x2e, 0x00 } },
+ { { 0x2f, 0x25 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x40 } },
+ { { 0x32, 0x00 } },
+ { { 0x33, 0x2e } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x60 } },
+ { { 0x36, 0x3c } },
+ { { 0x37, 0x2e } },
+ { { 0x38, 0x01 } },
+ { { 0x39, 0xb0 } },
+ { { 0x3a, 0x40 } },
+ { { 0x3b, 0x2f } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x70 } },
+ { { 0x3e, 0x44 } },
+ { { 0x3f, 0x30 } },
+ { { 0x40, 0x01 } },
+ { { 0x41, 0xb0 } },
+ { { 0x42, 0x34 } },
+ { { 0x43, 0x32 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x70 } },
+ { { 0x46, 0x38 } },
+ { { 0x47, 0x33 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x00 } },
+ { { 0x4a, 0x00 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x00 } },
+ { { 0x4e, 0x00 } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x40 } },
+ { { 0x52, 0x00 } },
+ { { 0x53, 0x31 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0xc0 } },
+ { { 0x56, 0xa4 } },
+ { { 0x57, 0x31 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x60 } },
+ { { 0x5a, 0xa4 } },
+ { { 0x5b, 0x31 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x00 } },
+ { { 0x5e, 0x00 } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x40 } },
+ { { 0x62, 0x00 } },
+ { { 0x63, 0x41 } },
+ { { 0x64, 0x01 } },
+ { { 0x65, 0x10 } },
+ { { 0x66, 0x18 } },
+ { { 0x67, 0x03 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x60 } },
+ { { 0x6a, 0xa7 } },
+ { { 0x6b, 0xfb } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x00 } },
+ { { 0x6e, 0x00 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0x01 } },
+ { { 0x71, 0x10 } },
+ { { 0x72, 0x00 } },
+ { { 0x73, 0x03 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x63 } },
+ { { 0x76, 0x33 } },
+ { { 0x77, 0xfb } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x00 } },
+ { { 0x7a, 0x00 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x00 } },
+ { { 0x7e, 0x00 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 154 (0x9A) */
+ { { 0x00, 0x9a } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x40 } },
+ { { 0x0a, 0x00 } },
+ { { 0x0b, 0x34 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x60 } },
+ { { 0x0e, 0xa4 } },
+ { { 0x0f, 0x34 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x63 } },
+ { { 0x12, 0x34 } },
+ { { 0x13, 0x34 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x00 } },
+ { { 0x16, 0x00 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x83 } },
+ { { 0x1a, 0x34 } },
+ { { 0x1b, 0x02 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x83 } },
+ { { 0x1e, 0x40 } },
+ { { 0x1f, 0x02 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x00 } },
+ { { 0x22, 0x00 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x01 } },
+ { { 0x25, 0x10 } },
+ { { 0x26, 0x14 } },
+ { { 0x27, 0x06 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x63 } },
+ { { 0x2a, 0x47 } },
+ { { 0x2b, 0xfb } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x60 } },
+ { { 0x2e, 0xab } },
+ { { 0x2f, 0xfb } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x00 } },
+ { { 0x32, 0x00 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x83 } },
+ { { 0x36, 0x48 } },
+ { { 0x37, 0x02 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x83 } },
+ { { 0x3a, 0x44 } },
+ { { 0x3b, 0x02 } },
+ { { 0x3c, 0x01 } },
+ { { 0x3d, 0x10 } },
+ { { 0x3e, 0x00 } },
+ { { 0x3f, 0x06 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x00 } },
+ { { 0x42, 0x00 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x00 } },
+ { { 0x4a, 0x00 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x00 } },
+ { { 0x4e, 0x00 } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x00 } },
+ { { 0x52, 0x00 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x00 } },
+ { { 0x56, 0x00 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x63 } },
+ { { 0x5a, 0x47 } },
+ { { 0x5b, 0xfb } },
+ { { 0x5c, 0x01 } },
+ { { 0x5d, 0x03 } },
+ { { 0x5e, 0x30 } },
+ { { 0x5f, 0x41 } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x00 } },
+ { { 0x62, 0x00 } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x00 } },
+ { { 0x66, 0x00 } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x01 } },
+ { { 0x69, 0x10 } },
+ { { 0x6a, 0x0c } },
+ { { 0x6b, 0x05 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x60 } },
+ { { 0x6e, 0xa4 } },
+ { { 0x6f, 0x41 } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x00 } },
+ { { 0x72, 0x00 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x00 } },
+ { { 0x76, 0x00 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x83 } },
+ { { 0x7a, 0x44 } },
+ { { 0x7b, 0x02 } },
+ { { 0x7c, 0x01 } },
+ { { 0x7d, 0x10 } },
+ { { 0x7e, 0x00 } },
+ { { 0x7f, 0x05 } },
+
+ /* Page 155 (0x9B) */
+ { { 0x00, 0x9b } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x00 } },
+ { { 0x0a, 0x00 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x00 } },
+ { { 0x0e, 0x00 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x00 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x00 } },
+ { { 0x16, 0x00 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x00 } },
+ { { 0x1a, 0x00 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x63 } },
+ { { 0x1e, 0x97 } },
+ { { 0x1f, 0xfb } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x70 } },
+ { { 0x22, 0xa4 } },
+ { { 0x23, 0x41 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x00 } },
+ { { 0x26, 0x00 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x00 } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x40 } },
+ { { 0x2e, 0x04 } },
+ { { 0x2f, 0x35 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x60 } },
+ { { 0x32, 0x50 } },
+ { { 0x33, 0x35 } },
+ { { 0x34, 0x01 } },
+ { { 0x35, 0xb0 } },
+ { { 0x36, 0x54 } },
+ { { 0x37, 0x36 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x70 } },
+ { { 0x3a, 0x58 } },
+ { { 0x3b, 0x37 } },
+ { { 0x3c, 0x01 } },
+ { { 0x3d, 0xb0 } },
+ { { 0x3e, 0x48 } },
+ { { 0x3f, 0x39 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x70 } },
+ { { 0x42, 0x4c } },
+ { { 0x43, 0x3a } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x00 } },
+ { { 0x4a, 0x00 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x40 } },
+ { { 0x4e, 0x00 } },
+ { { 0x4f, 0x38 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x40 } },
+ { { 0x52, 0x00 } },
+ { { 0x53, 0x3b } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x60 } },
+ { { 0x56, 0x64 } },
+ { { 0x57, 0x3b } },
+ { { 0x58, 0x01 } },
+ { { 0x59, 0xb0 } },
+ { { 0x5a, 0x68 } },
+ { { 0x5b, 0x3c } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x70 } },
+ { { 0x5e, 0x6c } },
+ { { 0x5f, 0x3d } },
+ { { 0x60, 0x01 } },
+ { { 0x61, 0xb0 } },
+ { { 0x62, 0x5c } },
+ { { 0x63, 0x3f } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x70 } },
+ { { 0x66, 0x60 } },
+ { { 0x67, 0x40 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x00 } },
+ { { 0x6a, 0x00 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x00 } },
+ { { 0x6e, 0x00 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x40 } },
+ { { 0x72, 0x00 } },
+ { { 0x73, 0x3e } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x60 } },
+ { { 0x76, 0x0b } },
+ { { 0x77, 0xfb } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x00 } },
+ { { 0x7a, 0x00 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x90 } },
+ { { 0x7e, 0x04 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 156 (0x9C) */
+ { { 0x00, 0x9c } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x00 } },
+ { { 0x0a, 0x00 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x00 } },
+ { { 0x0e, 0x00 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x83 } },
+ { { 0x12, 0x98 } },
+ { { 0x13, 0x02 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x00 } },
+ { { 0x16, 0x00 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x63 } },
+ { { 0x1a, 0x2c } },
+ { { 0x1b, 0x25 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x73 } },
+ { { 0x1e, 0x98 } },
+ { { 0x1f, 0x3e } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x00 } },
+ { { 0x22, 0x00 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x00 } },
+ { { 0x26, 0x00 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x40 } },
+ { { 0x2a, 0x08 } },
+ { { 0x2b, 0x28 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x60 } },
+ { { 0x2e, 0x28 } },
+ { { 0x2f, 0x28 } },
+ { { 0x30, 0x01 } },
+ { { 0x31, 0xb0 } },
+ { { 0x32, 0x2c } },
+ { { 0x33, 0x29 } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x70 } },
+ { { 0x36, 0x30 } },
+ { { 0x37, 0x2a } },
+ { { 0x38, 0x01 } },
+ { { 0x39, 0xb0 } },
+ { { 0x3a, 0x20 } },
+ { { 0x3b, 0x2c } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x70 } },
+ { { 0x3e, 0x24 } },
+ { { 0x3f, 0x2d } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x00 } },
+ { { 0x42, 0x00 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x41 } },
+ { { 0x4a, 0x80 } },
+ { { 0x4b, 0x2b } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x60 } },
+ { { 0x4e, 0xa0 } },
+ { { 0x4f, 0x2b } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x73 } },
+ { { 0x52, 0xa0 } },
+ { { 0x53, 0x2c } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x73 } },
+ { { 0x56, 0x9c } },
+ { { 0x57, 0x46 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x00 } },
+ { { 0x5a, 0x00 } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x00 } },
+ { { 0x5e, 0x00 } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x40 } },
+ { { 0x62, 0x04 } },
+ { { 0x63, 0x45 } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x60 } },
+ { { 0x66, 0xa4 } },
+ { { 0x67, 0x45 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x00 } },
+ { { 0x6a, 0x00 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x00 } },
+ { { 0x6e, 0x00 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x40 } },
+ { { 0x72, 0x08 } },
+ { { 0x73, 0x1f } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x63 } },
+ { { 0x76, 0x8c } },
+ { { 0x77, 0x1f } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x73 } },
+ { { 0x7a, 0x90 } },
+ { { 0x7b, 0x13 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x00 } },
+ { { 0x7e, 0x00 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 157 (0x9D) */
+ { { 0x00, 0x9d } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x00 } },
+ { { 0x0a, 0x00 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x40 } },
+ { { 0x0e, 0x00 } },
+ { { 0x0f, 0x49 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x60 } },
+ { { 0x12, 0xa0 } },
+ { { 0x13, 0x49 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x61 } },
+ { { 0x16, 0xb8 } },
+ { { 0x17, 0x4c } },
+ { { 0x18, 0x01 } },
+ { { 0x19, 0xb1 } },
+ { { 0x1a, 0xb4 } },
+ { { 0x1b, 0x4b } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x40 } },
+ { { 0x1e, 0x04 } },
+ { { 0x1f, 0x4a } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x71 } },
+ { { 0x22, 0xb0 } },
+ { { 0x23, 0x4a } },
+ { { 0x24, 0x01 } },
+ { { 0x25, 0xb1 } },
+ { { 0x26, 0xbc } },
+ { { 0x27, 0x4e } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x71 } },
+ { { 0x2a, 0xc0 } },
+ { { 0x2b, 0x4f } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x61 } },
+ { { 0x2e, 0xcc } },
+ { { 0x2f, 0x4f } },
+ { { 0x30, 0x01 } },
+ { { 0x31, 0xb1 } },
+ { { 0x32, 0xc8 } },
+ { { 0x33, 0x4e } },
+ { { 0x34, 0x01 } },
+ { { 0x35, 0x31 } },
+ { { 0x36, 0xc4 } },
+ { { 0x37, 0x4d } },
+ { { 0x38, 0x01 } },
+ { { 0x39, 0xb1 } },
+ { { 0x3a, 0xd0 } },
+ { { 0x3b, 0x51 } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x71 } },
+ { { 0x3e, 0xd4 } },
+ { { 0x3f, 0x52 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x00 } },
+ { { 0x42, 0x00 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x40 } },
+ { { 0x4a, 0x00 } },
+ { { 0x4b, 0x50 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x60 } },
+ { { 0x4e, 0xa0 } },
+ { { 0x4f, 0x13 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x63 } },
+ { { 0x52, 0x58 } },
+ { { 0x53, 0x55 } },
+ { { 0x54, 0x01 } },
+ { { 0x55, 0xb3 } },
+ { { 0x56, 0x54 } },
+ { { 0x57, 0x54 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x40 } },
+ { { 0x5a, 0x04 } },
+ { { 0x5b, 0x53 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x73 } },
+ { { 0x5e, 0x50 } },
+ { { 0x5f, 0x53 } },
+ { { 0x60, 0x01 } },
+ { { 0x61, 0xb3 } },
+ { { 0x62, 0x5c } },
+ { { 0x63, 0x57 } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x73 } },
+ { { 0x66, 0x60 } },
+ { { 0x67, 0x58 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x63 } },
+ { { 0x6a, 0x6c } },
+ { { 0x6b, 0x58 } },
+ { { 0x6c, 0x01 } },
+ { { 0x6d, 0xb3 } },
+ { { 0x6e, 0x68 } },
+ { { 0x6f, 0x57 } },
+ { { 0x70, 0x01 } },
+ { { 0x71, 0x33 } },
+ { { 0x72, 0x64 } },
+ { { 0x73, 0x56 } },
+ { { 0x74, 0x01 } },
+ { { 0x75, 0xb3 } },
+ { { 0x76, 0x70 } },
+ { { 0x77, 0x5a } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x73 } },
+ { { 0x7a, 0x74 } },
+ { { 0x7b, 0x5b } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x63 } },
+ { { 0x7e, 0x80 } },
+ { { 0x7f, 0x5b } },
+
+ /* Page 158 (0x9E) */
+ { { 0x00, 0x9e } },
+ { { 0x08, 0x01 } },
+ { { 0x09, 0xb3 } },
+ { { 0x0a, 0x7c } },
+ { { 0x0b, 0x5a } },
+ { { 0x0c, 0x01 } },
+ { { 0x0d, 0x33 } },
+ { { 0x0e, 0x78 } },
+ { { 0x0f, 0x59 } },
+ { { 0x10, 0x01 } },
+ { { 0x11, 0xb3 } },
+ { { 0x12, 0x84 } },
+ { { 0x13, 0x5d } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x73 } },
+ { { 0x16, 0x88 } },
+ { { 0x17, 0x5e } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x00 } },
+ { { 0x1a, 0x00 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x00 } },
+ { { 0x1e, 0x00 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x40 } },
+ { { 0x22, 0x00 } },
+ { { 0x23, 0x5c } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x61 } },
+ { { 0x26, 0x1c } },
+ { { 0x27, 0x61 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x70 } },
+ { { 0x2a, 0x04 } },
+ { { 0x2b, 0x61 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0xc1 } },
+ { { 0x2e, 0x1c } },
+ { { 0x2f, 0x1c } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x90 } },
+ { { 0x32, 0x04 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0xe0 } },
+ { { 0x36, 0xa4 } },
+ { { 0x37, 0x62 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x71 } },
+ { { 0x3a, 0x17 } },
+ { { 0x3b, 0xfb } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x00 } },
+ { { 0x3e, 0x00 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x40 } },
+ { { 0x42, 0x00 } },
+ { { 0x43, 0x60 } },
+ { { 0x44, 0x01 } },
+ { { 0x45, 0x10 } },
+ { { 0x46, 0x18 } },
+ { { 0x47, 0x02 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x91 } },
+ { { 0x4a, 0x18 } },
+ { { 0x4b, 0x04 } },
+ { { 0x4c, 0x01 } },
+ { { 0x4d, 0x10 } },
+ { { 0x4e, 0x00 } },
+ { { 0x4f, 0x02 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x60 } },
+ { { 0x52, 0xab } },
+ { { 0x53, 0xfb } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x00 } },
+ { { 0x56, 0x00 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x60 } },
+ { { 0x5a, 0x04 } },
+ { { 0x5b, 0x5c } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x40 } },
+ { { 0x5e, 0x04 } },
+ { { 0x5f, 0x63 } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x83 } },
+ { { 0x62, 0xa4 } },
+ { { 0x63, 0x03 } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x73 } },
+ { { 0x66, 0xa4 } },
+ { { 0x67, 0x5c } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x63 } },
+ { { 0x6a, 0xa4 } },
+ { { 0x6b, 0x50 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x90 } },
+ { { 0x6e, 0x04 } },
+ { { 0x6f, 0x3f } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0xe0 } },
+ { { 0x72, 0xa0 } },
+ { { 0x73, 0x62 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x00 } },
+ { { 0x76, 0x00 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x00 } },
+ { { 0x7a, 0x00 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x40 } },
+ { { 0x7e, 0x04 } },
+ { { 0x7f, 0x5f } },
+
+ /* Page 159 (0x9F) */
+ { { 0x00, 0x9f } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x63 } },
+ { { 0x0a, 0x24 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x73 } },
+ { { 0x0e, 0x28 } },
+ { { 0x0f, 0x01 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x00 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x00 } },
+ { { 0x16, 0x00 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x40 } },
+ { { 0x1a, 0x00 } },
+ { { 0x1b, 0x64 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x21 } },
+ { { 0x1e, 0xec } },
+ { { 0x1f, 0xeb } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x21 } },
+ { { 0x22, 0xf0 } },
+ { { 0x23, 0xea } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x60 } },
+ { { 0x26, 0xa0 } },
+ { { 0x27, 0x64 } },
+ { { 0x28, 0x01 } },
+ { { 0x29, 0x20 } },
+ { { 0x2a, 0x78 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x01 } },
+ { { 0x2d, 0x20 } },
+ { { 0x2e, 0x7c } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x01 } },
+ { { 0x31, 0x14 } },
+ { { 0x32, 0x82 } },
+ { { 0x33, 0xb4 } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x60 } },
+ { { 0x36, 0xa0 } },
+ { { 0x37, 0x75 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x60 } },
+ { { 0x3a, 0x78 } },
+ { { 0x3b, 0x7a } },
+ { { 0x3c, 0x01 } },
+ { { 0x3d, 0xb0 } },
+ { { 0x3e, 0x74 } },
+ { { 0x3f, 0x79 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x40 } },
+ { { 0x42, 0x04 } },
+ { { 0x43, 0x78 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x70 } },
+ { { 0x46, 0x70 } },
+ { { 0x47, 0x78 } },
+ { { 0x48, 0x01 } },
+ { { 0x49, 0xb0 } },
+ { { 0x4a, 0x7c } },
+ { { 0x4b, 0x7c } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x70 } },
+ { { 0x4e, 0x80 } },
+ { { 0x4f, 0x7d } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x00 } },
+ { { 0x52, 0x00 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x00 } },
+ { { 0x56, 0x00 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x40 } },
+ { { 0x5a, 0x00 } },
+ { { 0x5b, 0x7b } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x60 } },
+ { { 0x5e, 0xa0 } },
+ { { 0x5f, 0x75 } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x60 } },
+ { { 0x62, 0x8c } },
+ { { 0x63, 0x80 } },
+ { { 0x64, 0x01 } },
+ { { 0x65, 0xb0 } },
+ { { 0x66, 0x88 } },
+ { { 0x67, 0x7f } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x40 } },
+ { { 0x6a, 0x04 } },
+ { { 0x6b, 0x7e } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x70 } },
+ { { 0x6e, 0x84 } },
+ { { 0x6f, 0x7e } },
+ { { 0x70, 0x01 } },
+ { { 0x71, 0xb0 } },
+ { { 0x72, 0x90 } },
+ { { 0x73, 0x82 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x70 } },
+ { { 0x76, 0x94 } },
+ { { 0x77, 0x83 } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x00 } },
+ { { 0x7a, 0x00 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x00 } },
+ { { 0x7e, 0x00 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 160 (0xA0) */
+ { { 0x00, 0xa0 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x40 } },
+ { { 0x0a, 0x00 } },
+ { { 0x0b, 0x81 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x63 } },
+ { { 0x0e, 0x4f } },
+ { { 0x0f, 0xfb } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x00 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x00 } },
+ { { 0x16, 0x00 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x40 } },
+ { { 0x1a, 0x00 } },
+ { { 0x1b, 0x84 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x63 } },
+ { { 0x1e, 0xb7 } },
+ { { 0x1f, 0xfb } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x63 } },
+ { { 0x22, 0xb3 } },
+ { { 0x23, 0xfb } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x30 } },
+ { { 0x26, 0xec } },
+ { { 0x27, 0x02 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x30 } },
+ { { 0x2a, 0xf0 } },
+ { { 0x2b, 0x02 } },
+ { { 0x2c, 0x01 } },
+ { { 0x2d, 0x14 } },
+ { { 0x2e, 0x82 } },
+ { { 0x2f, 0x44 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x62 } },
+ { { 0x32, 0x44 } },
+ { { 0x33, 0x5f } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x62 } },
+ { { 0x36, 0x44 } },
+ { { 0x37, 0x84 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x62 } },
+ { { 0x3a, 0x44 } },
+ { { 0x3b, 0x7b } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x40 } },
+ { { 0x3e, 0x04 } },
+ { { 0x3f, 0x8b } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x40 } },
+ { { 0x42, 0x04 } },
+ { { 0x43, 0x8d } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x40 } },
+ { { 0x46, 0x04 } },
+ { { 0x47, 0x8f } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x62 } },
+ { { 0x4a, 0x44 } },
+ { { 0x4b, 0x84 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x62 } },
+ { { 0x4e, 0x44 } },
+ { { 0x4f, 0x81 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x62 } },
+ { { 0x52, 0x44 } },
+ { { 0x53, 0x84 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x40 } },
+ { { 0x56, 0x04 } },
+ { { 0x57, 0x91 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x40 } },
+ { { 0x5a, 0x04 } },
+ { { 0x5b, 0x93 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x40 } },
+ { { 0x5e, 0x04 } },
+ { { 0x5f, 0x95 } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x63 } },
+ { { 0x62, 0xb7 } },
+ { { 0x63, 0xfb } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x63 } },
+ { { 0x66, 0xb3 } },
+ { { 0x67, 0xfb } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x30 } },
+ { { 0x6a, 0xec } },
+ { { 0x6b, 0x02 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x30 } },
+ { { 0x6e, 0xf0 } },
+ { { 0x6f, 0x02 } },
+ { { 0x70, 0x01 } },
+ { { 0x71, 0x14 } },
+ { { 0x72, 0x82 } },
+ { { 0x73, 0x4b } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x63 } },
+ { { 0x76, 0xb7 } },
+ { { 0x77, 0xfb } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x63 } },
+ { { 0x7a, 0xb3 } },
+ { { 0x7b, 0xfb } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x30 } },
+ { { 0x7e, 0xec } },
+ { { 0x7f, 0x02 } },
+
+ /* Page 161 (0xA1) */
+ { { 0x00, 0xa1 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x30 } },
+ { { 0x0a, 0xf0 } },
+ { { 0x0b, 0x02 } },
+ { { 0x0c, 0x01 } },
+ { { 0x0d, 0x14 } },
+ { { 0x0e, 0x82 } },
+ { { 0x0f, 0x52 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x63 } },
+ { { 0x12, 0xb7 } },
+ { { 0x13, 0xfb } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x63 } },
+ { { 0x16, 0xb3 } },
+ { { 0x17, 0xfb } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x30 } },
+ { { 0x1a, 0xec } },
+ { { 0x1b, 0x02 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x30 } },
+ { { 0x1e, 0xf0 } },
+ { { 0x1f, 0x02 } },
+ { { 0x20, 0x01 } },
+ { { 0x21, 0x14 } },
+ { { 0x22, 0x82 } },
+ { { 0x23, 0x57 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x63 } },
+ { { 0x26, 0xb7 } },
+ { { 0x27, 0xfb } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x63 } },
+ { { 0x2a, 0xb3 } },
+ { { 0x2b, 0xfb } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x30 } },
+ { { 0x2e, 0xec } },
+ { { 0x2f, 0x02 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x30 } },
+ { { 0x32, 0xf0 } },
+ { { 0x33, 0x02 } },
+ { { 0x34, 0x01 } },
+ { { 0x35, 0x14 } },
+ { { 0x36, 0x82 } },
+ { { 0x37, 0x69 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x63 } },
+ { { 0x3a, 0xb7 } },
+ { { 0x3b, 0xfb } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x63 } },
+ { { 0x3e, 0xb3 } },
+ { { 0x3f, 0xfb } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x30 } },
+ { { 0x42, 0xec } },
+ { { 0x43, 0x02 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x30 } },
+ { { 0x46, 0xf0 } },
+ { { 0x47, 0x02 } },
+ { { 0x48, 0x01 } },
+ { { 0x49, 0x14 } },
+ { { 0x4a, 0x82 } },
+ { { 0x4b, 0x74 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x63 } },
+ { { 0x4e, 0xb7 } },
+ { { 0x4f, 0xfb } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x63 } },
+ { { 0x52, 0xb3 } },
+ { { 0x53, 0xfb } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x30 } },
+ { { 0x56, 0xec } },
+ { { 0x57, 0x02 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x30 } },
+ { { 0x5a, 0xf0 } },
+ { { 0x5b, 0x02 } },
+ { { 0x5c, 0x01 } },
+ { { 0x5d, 0x14 } },
+ { { 0x5e, 0x82 } },
+ { { 0x5f, 0x90 } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x62 } },
+ { { 0x62, 0x44 } },
+ { { 0x63, 0x8c } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x62 } },
+ { { 0x66, 0x44 } },
+ { { 0x67, 0x8e } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x62 } },
+ { { 0x6a, 0x44 } },
+ { { 0x6b, 0x90 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x40 } },
+ { { 0x6e, 0x04 } },
+ { { 0x6f, 0x85 } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x40 } },
+ { { 0x72, 0x04 } },
+ { { 0x73, 0x86 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x40 } },
+ { { 0x76, 0x04 } },
+ { { 0x77, 0x87 } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x62 } },
+ { { 0x7a, 0x44 } },
+ { { 0x7b, 0x92 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x62 } },
+ { { 0x7e, 0x44 } },
+ { { 0x7f, 0x94 } },
+
+ /* Page 162 (0xA2) */
+ { { 0x00, 0xa2 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x62 } },
+ { { 0x0a, 0x44 } },
+ { { 0x0b, 0x96 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x40 } },
+ { { 0x0e, 0x04 } },
+ { { 0x0f, 0x88 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x40 } },
+ { { 0x12, 0x04 } },
+ { { 0x13, 0x89 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x40 } },
+ { { 0x16, 0x04 } },
+ { { 0x17, 0x8a } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x60 } },
+ { { 0x1a, 0x98 } },
+ { { 0x1b, 0x87 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x70 } },
+ { { 0x1e, 0x9c } },
+ { { 0x1f, 0x89 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x00 } },
+ { { 0x22, 0x00 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x00 } },
+ { { 0x26, 0x00 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x40 } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0xb9 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x60 } },
+ { { 0x2e, 0xa0 } },
+ { { 0x2f, 0xb9 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x00 } },
+ { { 0x32, 0x00 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x00 } },
+ { { 0x36, 0x00 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x40 } },
+ { { 0x3a, 0x04 } },
+ { { 0x3b, 0xba } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x60 } },
+ { { 0x3e, 0xa0 } },
+ { { 0x3f, 0xb9 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x00 } },
+ { { 0x42, 0x00 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x40 } },
+ { { 0x4a, 0x04 } },
+ { { 0x4b, 0xcb } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x63 } },
+ { { 0x4e, 0x10 } },
+ { { 0x4f, 0xca } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x73 } },
+ { { 0x52, 0x14 } },
+ { { 0x53, 0xd7 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x73 } },
+ { { 0x56, 0x18 } },
+ { { 0x57, 0xd3 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x73 } },
+ { { 0x5a, 0x1c } },
+ { { 0x5b, 0xcf } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x73 } },
+ { { 0x5e, 0x20 } },
+ { { 0x5f, 0xb9 } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x00 } },
+ { { 0x62, 0x00 } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x00 } },
+ { { 0x66, 0x00 } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x40 } },
+ { { 0x6a, 0x00 } },
+ { { 0x6b, 0xd8 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x60 } },
+ { { 0x6e, 0xa0 } },
+ { { 0x6f, 0xd8 } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x60 } },
+ { { 0x72, 0xa0 } },
+ { { 0x73, 0x85 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x21 } },
+ { { 0x76, 0xf0 } },
+ { { 0x77, 0xee } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x40 } },
+ { { 0x7a, 0x04 } },
+ { { 0x7b, 0xe2 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x40 } },
+ { { 0x7e, 0x05 } },
+ { { 0x7f, 0x2e } },
+
+ /* Page 163 (0xA3) */
+ { { 0x00, 0xa3 } },
+ { { 0x08, 0x01 } },
+ { { 0x09, 0x14 } },
+ { { 0x0a, 0x83 } },
+ { { 0x0b, 0xcc } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x21 } },
+ { { 0x0e, 0xf0 } },
+ { { 0x0f, 0xef } },
+ { { 0x10, 0x01 } },
+ { { 0x11, 0x14 } },
+ { { 0x12, 0x83 } },
+ { { 0x13, 0xcc } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x6f } },
+ { { 0x16, 0xec } },
+ { { 0x17, 0xd9 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x6f } },
+ { { 0x1a, 0xec } },
+ { { 0x1b, 0xda } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x93 } },
+ { { 0x1e, 0xf0 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x93 } },
+ { { 0x22, 0xf0 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x93 } },
+ { { 0x26, 0xec } },
+ { { 0x27, 0x0f } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x93 } },
+ { { 0x2a, 0xec } },
+ { { 0x2b, 0x0f } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x30 } },
+ { { 0x2e, 0x00 } },
+ { { 0x2f, 0x01 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x30 } },
+ { { 0x32, 0x00 } },
+ { { 0x33, 0x01 } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x6f } },
+ { { 0x36, 0xec } },
+ { { 0x37, 0xdb } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x6f } },
+ { { 0x3a, 0xec } },
+ { { 0x3b, 0xdc } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x93 } },
+ { { 0x3e, 0xf0 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x93 } },
+ { { 0x42, 0xf0 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x93 } },
+ { { 0x46, 0xec } },
+ { { 0x47, 0x0f } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x93 } },
+ { { 0x4a, 0xec } },
+ { { 0x4b, 0x0f } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x30 } },
+ { { 0x4e, 0x00 } },
+ { { 0x4f, 0x01 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x30 } },
+ { { 0x52, 0x00 } },
+ { { 0x53, 0x01 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x6f } },
+ { { 0x56, 0xec } },
+ { { 0x57, 0xdd } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x6f } },
+ { { 0x5a, 0xec } },
+ { { 0x5b, 0xde } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x93 } },
+ { { 0x5e, 0xf0 } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x93 } },
+ { { 0x62, 0xf0 } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x93 } },
+ { { 0x66, 0xec } },
+ { { 0x67, 0x0f } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x93 } },
+ { { 0x6a, 0xec } },
+ { { 0x6b, 0x0f } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x30 } },
+ { { 0x6e, 0x00 } },
+ { { 0x6f, 0x01 } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x30 } },
+ { { 0x72, 0x00 } },
+ { { 0x73, 0x01 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x6f } },
+ { { 0x76, 0xec } },
+ { { 0x77, 0xdf } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x6f } },
+ { { 0x7a, 0xec } },
+ { { 0x7b, 0xe0 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x93 } },
+ { { 0x7e, 0xf0 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 164 (0xA4) */
+ { { 0x00, 0xa4 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x93 } },
+ { { 0x0a, 0xf0 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x93 } },
+ { { 0x0e, 0xec } },
+ { { 0x0f, 0x0f } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x93 } },
+ { { 0x12, 0xec } },
+ { { 0x13, 0x0f } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x30 } },
+ { { 0x16, 0x00 } },
+ { { 0x17, 0x01 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x30 } },
+ { { 0x1a, 0x00 } },
+ { { 0x1b, 0x01 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x6f } },
+ { { 0x1e, 0xf1 } },
+ { { 0x1f, 0x25 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x6f } },
+ { { 0x22, 0xf1 } },
+ { { 0x23, 0x26 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x93 } },
+ { { 0x26, 0xf0 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x93 } },
+ { { 0x2a, 0xf0 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x93 } },
+ { { 0x2e, 0xec } },
+ { { 0x2f, 0x0f } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x93 } },
+ { { 0x32, 0xec } },
+ { { 0x33, 0x0f } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x30 } },
+ { { 0x36, 0x04 } },
+ { { 0x37, 0x01 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x30 } },
+ { { 0x3a, 0x04 } },
+ { { 0x3b, 0x01 } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x6f } },
+ { { 0x3e, 0xf1 } },
+ { { 0x3f, 0x27 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x6f } },
+ { { 0x42, 0xf1 } },
+ { { 0x43, 0x28 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x93 } },
+ { { 0x46, 0xf0 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x93 } },
+ { { 0x4a, 0xf0 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x93 } },
+ { { 0x4e, 0xec } },
+ { { 0x4f, 0x0f } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x93 } },
+ { { 0x52, 0xec } },
+ { { 0x53, 0x0f } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x30 } },
+ { { 0x56, 0x04 } },
+ { { 0x57, 0x01 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x30 } },
+ { { 0x5a, 0x04 } },
+ { { 0x5b, 0x01 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x6f } },
+ { { 0x5e, 0xf1 } },
+ { { 0x5f, 0x29 } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x6f } },
+ { { 0x62, 0xf1 } },
+ { { 0x63, 0x2a } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x93 } },
+ { { 0x66, 0xf0 } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x93 } },
+ { { 0x6a, 0xf0 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x93 } },
+ { { 0x6e, 0xec } },
+ { { 0x6f, 0x0f } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x93 } },
+ { { 0x72, 0xec } },
+ { { 0x73, 0x0f } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x30 } },
+ { { 0x76, 0x04 } },
+ { { 0x77, 0x01 } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x30 } },
+ { { 0x7a, 0x04 } },
+ { { 0x7b, 0x01 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x6f } },
+ { { 0x7e, 0xf1 } },
+ { { 0x7f, 0x2b } },
+
+ /* Page 165 (0xA5) */
+ { { 0x00, 0xa5 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x6f } },
+ { { 0x0a, 0xf1 } },
+ { { 0x0b, 0x2c } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x93 } },
+ { { 0x0e, 0xf0 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x93 } },
+ { { 0x12, 0xf0 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x93 } },
+ { { 0x16, 0xec } },
+ { { 0x17, 0x0f } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x93 } },
+ { { 0x1a, 0xec } },
+ { { 0x1b, 0x0f } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x30 } },
+ { { 0x1e, 0x04 } },
+ { { 0x1f, 0x01 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x30 } },
+ { { 0x22, 0x04 } },
+ { { 0x23, 0x01 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x60 } },
+ { { 0x26, 0xa4 } },
+ { { 0x27, 0xd8 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x60 } },
+ { { 0x2a, 0xa4 } },
+ { { 0x2b, 0x85 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x30 } },
+ { { 0x2e, 0x48 } },
+ { { 0x2f, 0x02 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x30 } },
+ { { 0x32, 0x4c } },
+ { { 0x33, 0x02 } },
+ { { 0x34, 0x01 } },
+ { { 0x35, 0x10 } },
+ { { 0x36, 0x03 } },
+ { { 0x37, 0xff } },
+ { { 0x38, 0x01 } },
+ { { 0x39, 0x81 } },
+ { { 0x3a, 0xf3 } },
+ { { 0x3b, 0xd3 } },
+ { { 0x3c, 0x01 } },
+ { { 0x3d, 0x85 } },
+ { { 0x3e, 0xb1 } },
+ { { 0x3f, 0x78 } },
+ { { 0x40, 0x01 } },
+ { { 0x41, 0x5d } },
+ { { 0x42, 0xf5 } },
+ { { 0x43, 0xa8 } },
+ { { 0x44, 0x01 } },
+ { { 0x45, 0x90 } },
+ { { 0x46, 0x83 } },
+ { { 0x47, 0xb7 } },
+ { { 0x48, 0x01 } },
+ { { 0x49, 0x7d } },
+ { { 0x4a, 0x90 } },
+ { { 0x4b, 0x89 } },
+ { { 0x4c, 0x01 } },
+ { { 0x4d, 0xd0 } },
+ { { 0x4e, 0xcb } },
+ { { 0x4f, 0x98 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0xd7 } },
+ { { 0x52, 0x6f } },
+ { { 0x53, 0xd9 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0xb4 } },
+ { { 0x56, 0x5b } },
+ { { 0x57, 0xf1 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x00 } },
+ { { 0x5a, 0x0b } },
+ { { 0x5b, 0xc9 } },
+ { { 0x5c, 0x01 } },
+ { { 0x5d, 0x0c } },
+ { { 0x5e, 0xef } },
+ { { 0x5f, 0xec } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0xb2 } },
+ { { 0x62, 0x7a } },
+ { { 0x63, 0xdb } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0xd8 } },
+ { { 0x66, 0x6c } },
+ { { 0x67, 0x8e } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0xe2 } },
+ { { 0x6a, 0x95 } },
+ { { 0x6b, 0x01 } },
+ { { 0x6c, 0x01 } },
+ { { 0x6d, 0x3c } },
+ { { 0x6e, 0x51 } },
+ { { 0x6f, 0x44 } },
+ { { 0x70, 0x01 } },
+ { { 0x71, 0xf5 } },
+ { { 0x72, 0x1c } },
+ { { 0x73, 0x88 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x04 } },
+ { { 0x76, 0x10 } },
+ { { 0x77, 0x79 } },
+ { { 0x78, 0x01 } },
+ { { 0x79, 0x86 } },
+ { { 0x7a, 0x1a } },
+ { { 0x7b, 0x37 } },
+ { { 0x7c, 0x01 } },
+ { { 0x7d, 0xb6 } },
+ { { 0x7e, 0x18 } },
+ { { 0x7f, 0x50 } },
+
+ /* Page 166 (0xA6) */
+ { { 0x00, 0xa6 } },
+ { { 0x08, 0x01 } },
+ { { 0x09, 0x41 } },
+ { { 0x0a, 0x60 } },
+ { { 0x0b, 0xed } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0xb6 } },
+ { { 0x0e, 0xd2 } },
+ { { 0x0f, 0xe8 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x6a } },
+ { { 0x12, 0x54 } },
+ { { 0x13, 0xa5 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0xc5 } },
+ { { 0x16, 0x3a } },
+ { { 0x17, 0xc2 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x94 } },
+ { { 0x1a, 0x94 } },
+ { { 0x1b, 0x4f } },
+ { { 0x1c, 0x01 } },
+ { { 0x1d, 0xf4 } },
+ { { 0x1e, 0x01 } },
+ { { 0x1f, 0xdd } },
+ { { 0x20, 0x01 } },
+ { { 0x21, 0x08 } },
+ { { 0x22, 0x0d } },
+ { { 0x23, 0xb6 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x40 } },
+ { { 0x26, 0x9f } },
+ { { 0x27, 0x9e } },
+ { { 0x28, 0x01 } },
+ { { 0x29, 0x7b } },
+ { { 0x2a, 0xed } },
+ { { 0x2b, 0x8a } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x15 } },
+ { { 0x2e, 0xd3 } },
+ { { 0x2f, 0x8c } },
+ { { 0x30, 0x01 } },
+ { { 0x31, 0x0f } },
+ { { 0x32, 0xe0 } },
+ { { 0x33, 0x68 } },
+ { { 0x34, 0x01 } },
+ { { 0x35, 0xa4 } },
+ { { 0x36, 0xc6 } },
+ { { 0x37, 0x58 } },
+ { { 0x38, 0x01 } },
+ { { 0x39, 0x65 } },
+ { { 0x3a, 0x17 } },
+ { { 0x3b, 0xfd } },
+ { { 0x3c, 0x01 } },
+ { { 0x3d, 0x4b } },
+ { { 0x3e, 0xde } },
+ { { 0x3f, 0xfc } },
+ { { 0x40, 0x01 } },
+ { { 0x41, 0x5a } },
+ { { 0x42, 0x0a } },
+ { { 0x43, 0x66 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x22 } },
+ { { 0x46, 0xa2 } },
+ { { 0x47, 0x85 } },
+ { { 0x48, 0x01 } },
+ { { 0x49, 0x49 } },
+ { { 0x4a, 0x3d } },
+ { { 0x4b, 0x7e } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x86 } },
+ { { 0x4e, 0x63 } },
+ { { 0x4f, 0x9f } },
+ { { 0x50, 0x01 } },
+ { { 0x51, 0xf7 } },
+ { { 0x52, 0xe9 } },
+ { { 0x53, 0x1c } },
+ { { 0x54, 0x01 } },
+ { { 0x55, 0xb2 } },
+ { { 0x56, 0x2c } },
+ { { 0x57, 0x15 } },
+ { { 0x58, 0x01 } },
+ { { 0x59, 0x96 } },
+ { { 0x5a, 0x4e } },
+ { { 0x5b, 0xc0 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0xd8 } },
+ { { 0x5e, 0x7b } },
+ { { 0x5f, 0x89 } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0xf6 } },
+ { { 0x62, 0x2e } },
+ { { 0x63, 0x8f } },
+ { { 0x64, 0x01 } },
+ { { 0x65, 0xfe } },
+ { { 0x66, 0xa9 } },
+ { { 0x67, 0x57 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x0b } },
+ { { 0x6a, 0x32 } },
+ { { 0x6b, 0x56 } },
+ { { 0x6c, 0x01 } },
+ { { 0x6d, 0x29 } },
+ { { 0x6e, 0x2a } },
+ { { 0x6f, 0x46 } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0xd7 } },
+ { { 0x72, 0x14 } },
+ { { 0x73, 0x87 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x74 } },
+ { { 0x76, 0x80 } },
+ { { 0x77, 0xb6 } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x23 } },
+ { { 0x7a, 0x90 } },
+ { { 0x7b, 0x96 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0xb6 } },
+ { { 0x7e, 0x1c } },
+ { { 0x7f, 0xf6 } },
+
+ /* Page 167 (0xA7) */
+ { { 0x00, 0xa7 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0xd7 } },
+ { { 0x0a, 0xd2 } },
+ { { 0x0b, 0x1b } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x52 } },
+ { { 0x0e, 0xcd } },
+ { { 0x0f, 0xb3 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x84 } },
+ { { 0x12, 0x8e } },
+ { { 0x13, 0x8c } },
+ { { 0x14, 0x01 } },
+ { { 0x15, 0xb2 } },
+ { { 0x16, 0x6f } },
+ { { 0x17, 0xde } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x6f } },
+ { { 0x1a, 0xc1 } },
+ { { 0x1b, 0xc3 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x36 } },
+ { { 0x1e, 0x46 } },
+ { { 0x1f, 0xda } },
+ { { 0x20, 0x01 } },
+ { { 0x21, 0x5d } },
+ { { 0x22, 0x62 } },
+ { { 0x23, 0x43 } },
+ { { 0x24, 0x01 } },
+ { { 0x25, 0x79 } },
+ { { 0x26, 0xe3 } },
+ { { 0x27, 0x5b } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x9d } },
+ { { 0x2a, 0xfd } },
+ { { 0x2b, 0x21 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0xd5 } },
+ { { 0x2e, 0xa7 } },
+ { { 0x2f, 0x15 } },
+ { { 0x30, 0x01 } },
+ { { 0x31, 0xe7 } },
+ { { 0x32, 0x27 } },
+ { { 0x33, 0xb7 } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x40 } },
+ { { 0x36, 0x22 } },
+ { { 0x37, 0x4b } },
+ { { 0x38, 0x01 } },
+ { { 0x39, 0xd1 } },
+ { { 0x3a, 0x4c } },
+ { { 0x3b, 0xfc } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x69 } },
+ { { 0x3e, 0xa7 } },
+ { { 0x3f, 0xb4 } },
+ { { 0x40, 0x01 } },
+ { { 0x41, 0x2f } },
+ { { 0x42, 0x2d } },
+ { { 0x43, 0x64 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x69 } },
+ { { 0x46, 0x41 } },
+ { { 0x47, 0xff } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0xfc } },
+ { { 0x4a, 0x1e } },
+ { { 0x4b, 0x11 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x42 } },
+ { { 0x4e, 0x95 } },
+ { { 0x4f, 0x10 } },
+ { { 0x50, 0x01 } },
+ { { 0x51, 0xbb } },
+ { { 0x52, 0x82 } },
+ { { 0x53, 0x27 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x44 } },
+ { { 0x56, 0x9e } },
+ { { 0x57, 0x01 } },
+ { { 0x58, 0x01 } },
+ { { 0x59, 0x25 } },
+ { { 0x5a, 0x3b } },
+ { { 0x5b, 0xed } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0xa0 } },
+ { { 0x5e, 0xd2 } },
+ { { 0x5f, 0x4f } },
+ { { 0x60, 0x01 } },
+ { { 0x61, 0xf4 } },
+ { { 0x62, 0x03 } },
+ { { 0x63, 0x16 } },
+ { { 0x64, 0x01 } },
+ { { 0x65, 0x93 } },
+ { { 0x66, 0x65 } },
+ { { 0x67, 0xd3 } },
+ { { 0x68, 0x01 } },
+ { { 0x69, 0x1e } },
+ { { 0x6a, 0x1b } },
+ { { 0x6b, 0xd0 } },
+ { { 0x6c, 0x01 } },
+ { { 0x6d, 0x23 } },
+ { { 0x6e, 0xc1 } },
+ { { 0x6f, 0x93 } },
+ { { 0x70, 0x01 } },
+ { { 0x71, 0xf1 } },
+ { { 0x72, 0x1e } },
+ { { 0x73, 0x60 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0xf6 } },
+ { { 0x76, 0xcc } },
+ { { 0x77, 0x94 } },
+ { { 0x78, 0x01 } },
+ { { 0x79, 0x1f } },
+ { { 0x7a, 0xd0 } },
+ { { 0x7b, 0x5f } },
+ { { 0x7c, 0x01 } },
+ { { 0x7d, 0x9f } },
+ { { 0x7e, 0x8a } },
+ { { 0x7f, 0x47 } },
+
+ /* Page 168 (0xA8) */
+ { { 0x00, 0xa8 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0xcc } },
+ { { 0x0a, 0x8c } },
+ { { 0x0b, 0x26 } },
+ { { 0x0c, 0x01 } },
+ { { 0x0d, 0x86 } },
+ { { 0x0e, 0x11 } },
+ { { 0x0f, 0x35 } },
+ { { 0x10, 0x01 } },
+ { { 0x11, 0xcb } },
+ { { 0x12, 0x88 } },
+ { { 0x13, 0x70 } },
+ { { 0x14, 0x01 } },
+ { { 0x15, 0xf2 } },
+ { { 0x16, 0xe8 } },
+ { { 0x17, 0x55 } },
+ { { 0x18, 0x01 } },
+ { { 0x19, 0x11 } },
+ { { 0x1a, 0xc5 } },
+ { { 0x1b, 0xbf } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0xf4 } },
+ { { 0x1e, 0x4e } },
+ { { 0x1f, 0x27 } },
+ { { 0x20, 0x01 } },
+ { { 0x21, 0x94 } },
+ { { 0x22, 0x55 } },
+ { { 0x23, 0x4d } },
+ { { 0x24, 0x01 } },
+ { { 0x25, 0x2d } },
+ { { 0x26, 0x55 } },
+ { { 0x27, 0xc9 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x3b } },
+ { { 0x2a, 0x97 } },
+ { { 0x2b, 0x27 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x7e } },
+ { { 0x2e, 0x16 } },
+ { { 0x2f, 0xaf } },
+ { { 0x30, 0x01 } },
+ { { 0x31, 0xe2 } },
+ { { 0x32, 0xb6 } },
+ { { 0x33, 0x48 } },
+ { { 0x34, 0x01 } },
+ { { 0x35, 0xcf } },
+ { { 0x36, 0xee } },
+ { { 0x37, 0x53 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x4d } },
+ { { 0x3a, 0xe2 } },
+ { { 0x3b, 0xf7 } },
+ { { 0x3c, 0x01 } },
+ { { 0x3d, 0xab } },
+ { { 0x3e, 0x17 } },
+ { { 0x3f, 0x12 } },
+ { { 0x40, 0x01 } },
+ { { 0x41, 0xfd } },
+ { { 0x42, 0xd3 } },
+ { { 0x43, 0x2a } },
+ { { 0x44, 0x01 } },
+ { { 0x45, 0x24 } },
+ { { 0x46, 0xc6 } },
+ { { 0x47, 0xf6 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x42 } },
+ { { 0x4a, 0x84 } },
+ { { 0x4b, 0xad } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x16 } },
+ { { 0x4e, 0x20 } },
+ { { 0x4f, 0x59 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x78 } },
+ { { 0x52, 0x99 } },
+ { { 0x53, 0x5a } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x34 } },
+ { { 0x56, 0x4f } },
+ { { 0x57, 0x61 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x96 } },
+ { { 0x5a, 0x67 } },
+ { { 0x5b, 0x6a } },
+ { { 0x5c, 0x01 } },
+ { { 0x5d, 0xb8 } },
+ { { 0x5e, 0x9b } },
+ { { 0x5f, 0xca } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x5b } },
+ { { 0x62, 0x2a } },
+ { { 0x63, 0xd1 } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0xe7 } },
+ { { 0x66, 0x86 } },
+ { { 0x67, 0x8f } },
+ { { 0x68, 0x01 } },
+ { { 0x69, 0x8c } },
+ { { 0x6a, 0x4f } },
+ { { 0x6b, 0xc6 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0xd8 } },
+ { { 0x6e, 0x07 } },
+ { { 0x6f, 0x0f } },
+ { { 0x70, 0x01 } },
+ { { 0x71, 0xdb } },
+ { { 0x72, 0x5d } },
+ { { 0x73, 0x42 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x04 } },
+ { { 0x76, 0xa4 } },
+ { { 0x77, 0x6e } },
+ { { 0x78, 0x01 } },
+ { { 0x79, 0x5a } },
+ { { 0x7a, 0x1c } },
+ { { 0x7b, 0x91 } },
+ { { 0x7c, 0x01 } },
+ { { 0x7d, 0xdb } },
+ { { 0x7e, 0xf6 } },
+ { { 0x7f, 0x77 } },
+
+ /* Page 169 (0xA9) */
+ { { 0x00, 0xa9 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x33 } },
+ { { 0x0a, 0xb6 } },
+ { { 0x0b, 0x3b } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x37 } },
+ { { 0x0e, 0x87 } },
+ { { 0x0f, 0xe1 } },
+
+ /* Post-Initialization */
+ /* reg[ 44][ 1] = 0x00 ; Disable adaptive mode for DAC */
+ { { 0x00, 0x2c } },
+ { { 0x01, 0x00 } },
+
+ /* reg[ 44][ 1] = 0x04 ; Enable adaptive mode for DAC */
+ { { 0x01, 0x04 } },
+
+ /* Page 0 is selected */
+ /* reg[0][2] = 0 */
+ { { 0x00, 0x00 } },
+ { { 0x02, 0x00 } },
+
+ /* reg[0][0x3] = 0x0 */
+ { { 0x03, 0x00 } },
+
+ /* reg[0][7] */
+ { { 0x07, 0x00 } },
+
+ /* reg[0][8] */
+ { { 0x08, 0x24 } },
+
+ /* reg[0][85 ] */
+ { { 0x55, 0x07 } },
+};
+
+#endif
diff --git a/sound/soc/codecs/tas5756m_hf4_cfg.h b/sound/soc/codecs/tas5756m_hf4_cfg.h
new file mode 100644
index 000000000000..0988b6c79b0f
--- /dev/null
+++ b/sound/soc/codecs/tas5756m_hf4_cfg.h
@@ -0,0 +1,4510 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#ifndef _TAS5756M_HF4_CFG_H
+#define _TAS5756M_HF4_CFG_H
+
+static cfg_reg tas5756m_init_hf4[] = {
+ /* Dump of TAS5754/6M for DirectI2CTab->RegisterDump */
+ /* Standby */
+ { { 0x00, 0x00 } },
+ { { 0x02, 0x10 } },
+
+ /* reg[1][3] = 0x04 */
+ { { 0x00, 0x01 } },
+ { { 0x03, 0x04 } },
+
+ /* reg[0][0x3] = 0x11 */
+ { { 0x00, 0x00 } },
+ { { 0x03, 0x11 } },
+
+ /* Page 0 dump */
+ { { 0x00, 0x00 } },
+ { { 0x03, 0x11 } },
+ { { 0x04, 0x11 } },
+ { { 0x05, 0x21 } },
+ { { 0x06, 0x00 } },
+ { { 0x07, 0x00 } },
+ { { 0x08, 0x20 } },
+ { { 0x09, 0x00 } },
+ { { 0x0a, 0x00 } },
+ { { 0x0b, 0x01 } },
+ { { 0x0c, 0x7c } },
+ { { 0x0d, 0x00 } },
+ { { 0x0e, 0x00 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x00 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x10 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x00 } },
+ { { 0x16, 0x00 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x00 } },
+ { { 0x1a, 0x80 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x00 } },
+ { { 0x1e, 0x00 } },
+ { { 0x1f, 0x04 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x00 } },
+ { { 0x22, 0x00 } },
+ { { 0x23, 0x01 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x00 } },
+ { { 0x26, 0xf3 } },
+ { { 0x27, 0x04 } },
+ { { 0x28, 0x02 } },
+ { { 0x29, 0x00 } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0x1f } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x00 } },
+ { { 0x2e, 0x00 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x00 } },
+ { { 0x32, 0x00 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x00 } },
+ { { 0x36, 0x00 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x00 } },
+ { { 0x3a, 0x00 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x30 } },
+ { { 0x3e, 0x30 } },
+ { { 0x3f, 0x22 } },
+ { { 0x40, 0x02 } },
+ { { 0x41, 0x07 } },
+ { { 0x42, 0x14 } },
+ { { 0x43, 0x05 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x55 } },
+ { { 0x49, 0x00 } },
+ { { 0x4a, 0x00 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x00 } },
+ { { 0x4e, 0x00 } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x00 } },
+ { { 0x52, 0x00 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x07 } },
+ { { 0x56, 0x00 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x81 } },
+ { { 0x59, 0x00 } },
+ { { 0x5a, 0x00 } },
+ { { 0x5b, 0x06 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x40 } },
+ { { 0x5e, 0x0b } },
+ { { 0x5f, 0x01 } },
+ { { 0x60, 0x01 } },
+ { { 0x61, 0x10 } },
+ { { 0x62, 0x00 } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x01 } },
+ { { 0x66, 0x0f } },
+ { { 0x67, 0x03 } },
+ { { 0x68, 0x07 } },
+ { { 0x69, 0x10 } },
+ { { 0x6a, 0xd8 } },
+ { { 0x6b, 0x10 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x00 } },
+ { { 0x6e, 0x04 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x03 } },
+ { { 0x72, 0x03 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x04 } },
+ { { 0x75, 0x00 } },
+ { { 0x76, 0x81 } },
+ { { 0x77, 0x01 } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x00 } },
+ { { 0x7a, 0x00 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x00 } },
+ { { 0x7e, 0x00 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 1 dump */
+ { { 0x00, 0x01 } },
+ { { 0x01, 0x00 } },
+ { { 0x02, 0x00 } },
+ { { 0x03, 0x00 } },
+ { { 0x04, 0x03 } },
+ { { 0x05, 0x00 } },
+ { { 0x06, 0x00 } },
+ { { 0x07, 0x00 } },
+ { { 0x08, 0x10 } },
+ { { 0x09, 0x01 } },
+ { { 0x0a, 0x33 } },
+ { { 0x0b, 0x11 } },
+ { { 0x0c, 0x11 } },
+ { { 0x0d, 0x11 } },
+ { { 0x0e, 0x00 } },
+ { { 0x0f, 0x01 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x00 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x00 } },
+ { { 0x16, 0x00 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x00 } },
+ { { 0x1a, 0x00 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x00 } },
+ { { 0x1e, 0x00 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x00 } },
+ { { 0x22, 0x00 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x00 } },
+ { { 0x26, 0x00 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x00 } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x00 } },
+ { { 0x2e, 0x00 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x00 } },
+ { { 0x32, 0x00 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x00 } },
+ { { 0x36, 0x00 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x00 } },
+ { { 0x3a, 0x00 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x00 } },
+ { { 0x3e, 0x00 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x00 } },
+ { { 0x42, 0x00 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x00 } },
+ { { 0x4a, 0x00 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x00 } },
+ { { 0x4e, 0x00 } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x00 } },
+ { { 0x52, 0x00 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x00 } },
+ { { 0x56, 0x00 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x00 } },
+ { { 0x5a, 0x00 } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x00 } },
+ { { 0x5e, 0x00 } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x00 } },
+ { { 0x62, 0x00 } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x00 } },
+ { { 0x66, 0x00 } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x00 } },
+ { { 0x6a, 0x00 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x00 } },
+ { { 0x6e, 0x00 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x00 } },
+ { { 0x72, 0x00 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x00 } },
+ { { 0x76, 0x00 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x00 } },
+ { { 0x7a, 0x00 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x00 } },
+ { { 0x7e, 0x00 } },
+ { { 0x7f, 0x00 } },
+
+ /* Coefficient Memory A */
+ /* Page 44 (0x2C) */
+ { { 0x00, 0x2c } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x20 } },
+ { { 0x0a, 0xed } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x20 } },
+ { { 0x0e, 0xed } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x20 } },
+ { { 0x12, 0xed } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x77 } },
+ { { 0x15, 0xe2 } },
+ { { 0x16, 0x94 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x8f } },
+ { { 0x19, 0xb7 } },
+ { { 0x1a, 0x23 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x03 } },
+ { { 0x1d, 0x85 } },
+ { { 0x1e, 0xfc } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x03 } },
+ { { 0x21, 0x85 } },
+ { { 0x22, 0xfc } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x03 } },
+ { { 0x25, 0x85 } },
+ { { 0x26, 0xfc } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x55 } },
+ { { 0x29, 0x86 } },
+ { { 0x2a, 0xe0 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0xc6 } },
+ { { 0x2d, 0xda } },
+ { { 0x2e, 0x50 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x78 } },
+ { { 0x31, 0x03 } },
+ { { 0x32, 0x81 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x87 } },
+ { { 0x35, 0xfc } },
+ { { 0x36, 0x7f } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x78 } },
+ { { 0x39, 0x03 } },
+ { { 0x3a, 0x81 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x77 } },
+ { { 0x3d, 0xe2 } },
+ { { 0x3e, 0x94 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x8f } },
+ { { 0x41, 0xb7 } },
+ { { 0x42, 0x23 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x59 } },
+ { { 0x45, 0x0c } },
+ { { 0x46, 0xdc } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0xa6 } },
+ { { 0x49, 0xf3 } },
+ { { 0x4a, 0x24 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x59 } },
+ { { 0x4d, 0x0c } },
+ { { 0x4e, 0xdc } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x55 } },
+ { { 0x51, 0x86 } },
+ { { 0x52, 0xe0 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0xc6 } },
+ { { 0x55, 0xda } },
+ { { 0x56, 0x50 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x7f } },
+ { { 0x59, 0xff } },
+ { { 0x5a, 0xff } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x80 } },
+ { { 0x5d, 0x00 } },
+ { { 0x5e, 0x01 } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x7f } },
+ { { 0x61, 0xff } },
+ { { 0x62, 0xff } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0xff } },
+ { { 0x65, 0xff } },
+ { { 0x66, 0xff } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x80 } },
+ { { 0x69, 0x00 } },
+ { { 0x6a, 0x00 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x7f } },
+ { { 0x6d, 0xaa } },
+ { { 0x6e, 0x6e } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0xc0 } },
+ { { 0x71, 0x2a } },
+ { { 0x72, 0xc9 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x00 } },
+ { { 0x76, 0x00 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x3f } },
+ { { 0x79, 0xaa } },
+ { { 0x7a, 0x6f } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x00 } },
+ { { 0x7e, 0x00 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 45 (0x2D) */
+ { { 0x00, 0x2d } },
+ { { 0x08, 0x01 } },
+ { { 0x09, 0xa7 } },
+ { { 0x0a, 0x69 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0xd3 } },
+ { { 0x0e, 0xb4 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x00 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x3e } },
+ { { 0x15, 0x58 } },
+ { { 0x16, 0x95 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x00 } },
+ { { 0x1a, 0x00 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x00 } },
+ { { 0x1e, 0x00 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x7f } },
+ { { 0x21, 0xdb } },
+ { { 0x22, 0x83 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x80 } },
+ { { 0x25, 0x48 } },
+ { { 0x26, 0xed } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x3f } },
+ { { 0x29, 0xed } },
+ { { 0x2a, 0xc3 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0xc0 } },
+ { { 0x2d, 0x12 } },
+ { { 0x2e, 0x3d } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x3f } },
+ { { 0x31, 0xed } },
+ { { 0x32, 0xc3 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x7f } },
+ { { 0x35, 0xd9 } },
+ { { 0x36, 0x5e } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x80 } },
+ { { 0x39, 0x4d } },
+ { { 0x3a, 0x38 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x3f } },
+ { { 0x3d, 0xec } },
+ { { 0x3e, 0xb0 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0xc0 } },
+ { { 0x41, 0x21 } },
+ { { 0x42, 0x92 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x3f } },
+ { { 0x45, 0xd0 } },
+ { { 0x46, 0x2c } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x7f } },
+ { { 0x49, 0xa5 } },
+ { { 0x4a, 0x03 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x80 } },
+ { { 0x4d, 0xb5 } },
+ { { 0x4e, 0x7a } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x00 } },
+ { { 0x52, 0x10 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x00 } },
+ { { 0x56, 0x10 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x00 } },
+ { { 0x5a, 0x10 } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x7f } },
+ { { 0x5d, 0x7e } },
+ { { 0x5e, 0xd1 } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x81 } },
+ { { 0x61, 0x00 } },
+ { { 0x62, 0x5a } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x00 } },
+ { { 0x66, 0x40 } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x00 } },
+ { { 0x6a, 0x40 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x00 } },
+ { { 0x6e, 0x40 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0x3f } },
+ { { 0x71, 0x7f } },
+ { { 0x72, 0xd3 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x00 } },
+ { { 0x76, 0x00 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x40 } },
+ { { 0x7a, 0x17 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x20 } },
+ { { 0x7e, 0x0b } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 46 (0x2E) */
+ { { 0x00, 0x2e } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x00 } },
+ { { 0x0a, 0x00 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x00 } },
+ { { 0x0e, 0x00 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x7f } },
+ { { 0x11, 0xff } },
+ { { 0x12, 0xff } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x00 } },
+ { { 0x16, 0x00 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x00 } },
+ { { 0x1a, 0x00 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x00 } },
+ { { 0x1e, 0x00 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x00 } },
+ { { 0x22, 0x00 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x7f } },
+ { { 0x25, 0xff } },
+ { { 0x26, 0xff } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x00 } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x00 } },
+ { { 0x2e, 0x00 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x00 } },
+ { { 0x32, 0x00 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x00 } },
+ { { 0x36, 0x00 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x7f } },
+ { { 0x39, 0xff } },
+ { { 0x3a, 0xff } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x00 } },
+ { { 0x3e, 0x00 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x00 } },
+ { { 0x42, 0x00 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x00 } },
+ { { 0x4a, 0x00 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x7f } },
+ { { 0x4d, 0xff } },
+ { { 0x4e, 0xff } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x00 } },
+ { { 0x52, 0x00 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x00 } },
+ { { 0x56, 0x00 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x00 } },
+ { { 0x5a, 0x00 } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x00 } },
+ { { 0x5e, 0x00 } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0xfd } },
+ { { 0x61, 0xb9 } },
+ { { 0x62, 0x4b } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x16 } },
+ { { 0x65, 0x02 } },
+ { { 0x66, 0x51 } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x06 } },
+ { { 0x6a, 0xd3 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x37 } },
+ { { 0x6d, 0xe1 } },
+ { { 0x6e, 0xce } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0xc8 } },
+ { { 0x71, 0x1e } },
+ { { 0x72, 0x32 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x37 } },
+ { { 0x75, 0xe1 } },
+ { { 0x76, 0xce } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x21 } },
+ { { 0x79, 0xa2 } },
+ { { 0x7a, 0xa3 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0xe3 } },
+ { { 0x7d, 0xbe } },
+ { { 0x7e, 0x10 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 47 (0x2F) */
+ { { 0x00, 0x2f } },
+ { { 0x08, 0x37 } },
+ { { 0x09, 0x93 } },
+ { { 0x0a, 0x01 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0xe4 } },
+ { { 0x0d, 0x36 } },
+ { { 0x0e, 0x80 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x00 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0xf7 } },
+ { { 0x15, 0x93 } },
+ { { 0x16, 0x01 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x00 } },
+ { { 0x1a, 0x00 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x05 } },
+ { { 0x1d, 0xb7 } },
+ { { 0x1e, 0x5c } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0xfa } },
+ { { 0x21, 0x48 } },
+ { { 0x22, 0xa4 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x05 } },
+ { { 0x25, 0xb7 } },
+ { { 0x26, 0x5c } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0xb6 } },
+ { { 0x29, 0x19 } },
+ { { 0x2a, 0x63 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0xd5 } },
+ { { 0x2d, 0x55 } },
+ { { 0x2e, 0x56 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x2e } },
+ { { 0x31, 0xd9 } },
+ { { 0x32, 0xeb } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0xe8 } },
+ { { 0x35, 0x93 } },
+ { { 0x36, 0x0a } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x00 } },
+ { { 0x3a, 0x00 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0xee } },
+ { { 0x3d, 0xd9 } },
+ { { 0x3e, 0xec } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x00 } },
+ { { 0x42, 0x00 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x78 } },
+ { { 0x45, 0x20 } },
+ { { 0x46, 0x61 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0xc3 } },
+ { { 0x49, 0xef } },
+ { { 0x4a, 0xd0 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x00 } },
+ { { 0x4e, 0x00 } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x38 } },
+ { { 0x51, 0x20 } },
+ { { 0x52, 0x61 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x00 } },
+ { { 0x56, 0x00 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x40 } },
+ { { 0x59, 0x00 } },
+ { { 0x5a, 0x00 } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x04 } },
+ { { 0x5e, 0x8d } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x7f } },
+ { { 0x61, 0xfb } },
+ { { 0x62, 0x73 } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x28 } },
+ { { 0x66, 0xef } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x7f } },
+ { { 0x69, 0xd7 } },
+ { { 0x6a, 0x11 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x0d } },
+ { { 0x6e, 0xa7 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0x7f } },
+ { { 0x71, 0xf2 } },
+ { { 0x72, 0x59 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x11 } },
+ { { 0x76, 0x10 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x7f } },
+ { { 0x79, 0xee } },
+ { { 0x7a, 0xf0 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x66 } },
+ { { 0x7e, 0x3d } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 48 (0x30) */
+ { { 0x00, 0x30 } },
+ { { 0x08, 0x7f } },
+ { { 0x09, 0x99 } },
+ { { 0x0a, 0xc3 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x22 } },
+ { { 0x0e, 0x1e } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x7f } },
+ { { 0x11, 0xdd } },
+ { { 0x12, 0xe2 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x88 } },
+ { { 0x16, 0x40 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x7f } },
+ { { 0x19, 0x77 } },
+ { { 0x1a, 0xc0 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x03 } },
+ { { 0x1d, 0x29 } },
+ { { 0x1e, 0x0b } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x7c } },
+ { { 0x21, 0xd6 } },
+ { { 0x22, 0xf5 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x01 } },
+ { { 0x25, 0x0f } },
+ { { 0x26, 0xef } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x7e } },
+ { { 0x29, 0xf0 } },
+ { { 0x2a, 0x11 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x00 } },
+ { { 0x2e, 0x00 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x00 } },
+ { { 0x32, 0x00 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x00 } },
+ { { 0x36, 0x00 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x50 } },
+ { { 0x39, 0x00 } },
+ { { 0x3a, 0x00 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x14 } },
+ { { 0x3d, 0x00 } },
+ { { 0x3e, 0x00 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x00 } },
+ { { 0x42, 0x00 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0xc0 } },
+ { { 0x49, 0x00 } },
+ { { 0x4a, 0x00 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x80 } },
+ { { 0x4d, 0x00 } },
+ { { 0x4e, 0x00 } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x40 } },
+ { { 0x51, 0x00 } },
+ { { 0x52, 0x00 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x00 } },
+ { { 0x56, 0x00 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x00 } },
+ { { 0x5a, 0x00 } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0xd7 } },
+ { { 0x5d, 0x41 } },
+ { { 0x5e, 0xa0 } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0xff } },
+ { { 0x61, 0xf0 } },
+ { { 0x62, 0x00 } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x88 } },
+ { { 0x65, 0x00 } },
+ { { 0x66, 0x00 } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x18 } },
+ { { 0x69, 0x00 } },
+ { { 0x6a, 0x00 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x00 } },
+ { { 0x6e, 0x00 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x00 } },
+ { { 0x72, 0x00 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x00 } },
+ { { 0x76, 0x00 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x30 } },
+ { { 0x79, 0x00 } },
+ { { 0x7a, 0x00 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0xd0 } },
+ { { 0x7d, 0x00 } },
+ { { 0x7e, 0x00 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 49 (0x31) */
+ { { 0x00, 0x31 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x03 } },
+ { { 0x0a, 0x84 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0xb2 } },
+ { { 0x0e, 0x55 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x0e } },
+ { { 0x11, 0x5b } },
+ { { 0x12, 0xde } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x7f } },
+ { { 0x15, 0xff } },
+ { { 0x16, 0xff } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x00 } },
+ { { 0x1a, 0x00 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x02 } },
+ { { 0x1d, 0x00 } },
+ { { 0x1e, 0x00 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x20 } },
+ { { 0x21, 0x00 } },
+ { { 0x22, 0x00 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x51 } },
+ { { 0x26, 0x26 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x40 } },
+ { { 0x29, 0x00 } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x0c } },
+ { { 0x2e, 0xdc } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x02 } },
+ { { 0x31, 0x00 } },
+ { { 0x32, 0x00 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x00 } },
+ { { 0x36, 0x00 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x00 } },
+ { { 0x3a, 0x00 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x16 } },
+ { { 0x3e, 0x5a } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x37 } },
+ { { 0x42, 0x56 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x10 } },
+ { { 0x45, 0xa9 } },
+ { { 0x46, 0xbf } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x7f } },
+ { { 0x49, 0xff } },
+ { { 0x4a, 0xff } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x00 } },
+ { { 0x4e, 0x00 } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x02 } },
+ { { 0x51, 0x00 } },
+ { { 0x52, 0x00 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0xe0 } },
+ { { 0x55, 0x00 } },
+ { { 0x56, 0x00 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x0c } },
+ { { 0x59, 0x9e } },
+ { { 0x5a, 0x80 } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0xc0 } },
+ { { 0x5d, 0x00 } },
+ { { 0x5e, 0x00 } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x4f } },
+ { { 0x61, 0x9f } },
+ { { 0x62, 0x16 } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x02 } },
+ { { 0x65, 0x00 } },
+ { { 0x66, 0x00 } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x00 } },
+ { { 0x6a, 0x00 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x00 } },
+ { { 0x6e, 0x00 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0x20 } },
+ { { 0x71, 0x00 } },
+ { { 0x72, 0x00 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x40 } },
+ { { 0x75, 0x00 } },
+ { { 0x76, 0x00 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0xe0 } },
+ { { 0x79, 0x00 } },
+ { { 0x7a, 0x00 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0xc0 } },
+ { { 0x7d, 0x00 } },
+ { { 0x7e, 0x00 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 50 (0x32) */
+ { { 0x00, 0x32 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x00 } },
+ { { 0x0a, 0x00 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x00 } },
+ { { 0x0e, 0x00 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x00 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x80 } },
+ { { 0x15, 0x00 } },
+ { { 0x16, 0x00 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x7f } },
+ { { 0x19, 0xff } },
+ { { 0x1a, 0xff } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x00 } },
+ { { 0x1e, 0x00 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x00 } },
+ { { 0x22, 0x00 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x00 } },
+ { { 0x26, 0x00 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0xc0 } },
+ { { 0x29, 0x00 } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x00 } },
+ { { 0x2e, 0x00 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x7f } },
+ { { 0x31, 0xff } },
+ { { 0x32, 0xff } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x7f } },
+ { { 0x35, 0xff } },
+ { { 0x36, 0xff } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x00 } },
+ { { 0x3a, 0x00 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x00 } },
+ { { 0x3e, 0x00 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x00 } },
+ { { 0x42, 0x00 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x7f } },
+ { { 0x49, 0xff } },
+ { { 0x4a, 0xff } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x00 } },
+ { { 0x4e, 0x00 } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x00 } },
+ { { 0x52, 0x00 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x00 } },
+ { { 0x56, 0x00 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x00 } },
+ { { 0x5a, 0x00 } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x7f } },
+ { { 0x5d, 0xff } },
+ { { 0x5e, 0xff } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x00 } },
+ { { 0x62, 0x00 } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x00 } },
+ { { 0x66, 0x00 } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x00 } },
+ { { 0x6a, 0x00 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x00 } },
+ { { 0x6e, 0x00 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0x7f } },
+ { { 0x71, 0xff } },
+ { { 0x72, 0xff } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x00 } },
+ { { 0x76, 0x00 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x00 } },
+ { { 0x7a, 0x00 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x00 } },
+ { { 0x7e, 0x00 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 51 (0x33) */
+ { { 0x00, 0x33 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x00 } },
+ { { 0x0a, 0x00 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x00 } },
+ { { 0x0e, 0x00 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x00 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x00 } },
+ { { 0x16, 0x00 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x20 } },
+ { { 0x19, 0x00 } },
+ { { 0x1a, 0x00 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x40 } },
+ { { 0x1d, 0x00 } },
+ { { 0x1e, 0x00 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x40 } },
+ { { 0x21, 0x00 } },
+ { { 0x22, 0x00 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x80 } },
+ { { 0x25, 0x00 } },
+ { { 0x26, 0x01 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x00 } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x00 } },
+ { { 0x2e, 0x00 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x7f } },
+ { { 0x31, 0xe1 } },
+ { { 0x32, 0xad } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x80 } },
+ { { 0x35, 0x1e } },
+ { { 0x36, 0x53 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x7f } },
+ { { 0x39, 0xe1 } },
+ { { 0x3a, 0xad } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x7f } },
+ { { 0x3d, 0xe1 } },
+ { { 0x3e, 0xa9 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x80 } },
+ { { 0x41, 0x3c } },
+ { { 0x42, 0x9e } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x37 } },
+ { { 0x45, 0x93 } },
+ { { 0x46, 0x01 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0xe4 } },
+ { { 0x49, 0x36 } },
+ { { 0x4a, 0x80 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x00 } },
+ { { 0x4e, 0x00 } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0xf7 } },
+ { { 0x51, 0x93 } },
+ { { 0x52, 0x01 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x00 } },
+ { { 0x56, 0x00 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x05 } },
+ { { 0x59, 0xb7 } },
+ { { 0x5a, 0x5c } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0xfa } },
+ { { 0x5d, 0x48 } },
+ { { 0x5e, 0xa4 } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x05 } },
+ { { 0x61, 0xb7 } },
+ { { 0x62, 0x5c } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0xb6 } },
+ { { 0x65, 0x19 } },
+ { { 0x66, 0x63 } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0xd5 } },
+ { { 0x69, 0x55 } },
+ { { 0x6a, 0x56 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x00 } },
+ { { 0x6e, 0x00 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0x7f } },
+ { { 0x71, 0xff } },
+ { { 0x72, 0xff } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x00 } },
+ { { 0x76, 0x00 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x00 } },
+ { { 0x7a, 0x00 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x00 } },
+ { { 0x7e, 0x00 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 52 (0x34) */
+ { { 0x00, 0x34 } },
+ { { 0x08, 0xc0 } },
+ { { 0x09, 0x00 } },
+ { { 0x0a, 0x00 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x3f } },
+ { { 0x0d, 0xae } },
+ { { 0x0e, 0x14 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0xc0 } },
+ { { 0x11, 0x00 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x00 } },
+ { { 0x16, 0x00 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x1d } },
+ { { 0x19, 0x40 } },
+ { { 0x1a, 0x00 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x15 } },
+ { { 0x1d, 0x40 } },
+ { { 0x1e, 0x00 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x29 } },
+ { { 0x21, 0x00 } },
+ { { 0x22, 0x00 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x1b } },
+ { { 0x25, 0xc0 } },
+ { { 0x26, 0x00 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x35 } },
+ { { 0x29, 0x40 } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x48 } },
+ { { 0x2d, 0x40 } },
+ { { 0x2e, 0x00 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x00 } },
+ { { 0x32, 0x00 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x40 } },
+ { { 0x35, 0x00 } },
+ { { 0x36, 0x00 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x04 } },
+ { { 0x3a, 0x00 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x00 } },
+ { { 0x3e, 0x00 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x7f } },
+ { { 0x41, 0xff } },
+ { { 0x42, 0xff } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x40 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+
+ /* Coefficient Memory B */
+ /* Page 62 (0x3E) */
+ { { 0x00, 0x3e } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x20 } },
+ { { 0x0a, 0xed } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x20 } },
+ { { 0x0e, 0xed } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x20 } },
+ { { 0x12, 0xed } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x77 } },
+ { { 0x15, 0xe2 } },
+ { { 0x16, 0x93 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x8f } },
+ { { 0x19, 0xb7 } },
+ { { 0x1a, 0x24 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x03 } },
+ { { 0x1d, 0x85 } },
+ { { 0x1e, 0xfb } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x03 } },
+ { { 0x21, 0x85 } },
+ { { 0x22, 0xfb } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x03 } },
+ { { 0x25, 0x85 } },
+ { { 0x26, 0xfb } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x55 } },
+ { { 0x29, 0x86 } },
+ { { 0x2a, 0xdf } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0xc6 } },
+ { { 0x2d, 0xda } },
+ { { 0x2e, 0x50 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x78 } },
+ { { 0x31, 0x03 } },
+ { { 0x32, 0x80 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x87 } },
+ { { 0x35, 0xfc } },
+ { { 0x36, 0x80 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x78 } },
+ { { 0x39, 0x03 } },
+ { { 0x3a, 0x80 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x77 } },
+ { { 0x3d, 0xe2 } },
+ { { 0x3e, 0x93 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x8f } },
+ { { 0x41, 0xb7 } },
+ { { 0x42, 0x24 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x59 } },
+ { { 0x45, 0x0c } },
+ { { 0x46, 0xdb } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0xa6 } },
+ { { 0x49, 0xf3 } },
+ { { 0x4a, 0x25 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x59 } },
+ { { 0x4d, 0x0c } },
+ { { 0x4e, 0xdb } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x55 } },
+ { { 0x51, 0x86 } },
+ { { 0x52, 0xdf } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0xc6 } },
+ { { 0x55, 0xda } },
+ { { 0x56, 0x50 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x7f } },
+ { { 0x59, 0xff } },
+ { { 0x5a, 0xff } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x80 } },
+ { { 0x5d, 0x00 } },
+ { { 0x5e, 0x01 } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x7f } },
+ { { 0x61, 0xff } },
+ { { 0x62, 0xff } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0xff } },
+ { { 0x65, 0xff } },
+ { { 0x66, 0xff } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x80 } },
+ { { 0x69, 0x00 } },
+ { { 0x6a, 0x00 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x7f } },
+ { { 0x6d, 0xaa } },
+ { { 0x6e, 0x6e } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0xc0 } },
+ { { 0x71, 0x2a } },
+ { { 0x72, 0xc9 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x00 } },
+ { { 0x76, 0x00 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x3f } },
+ { { 0x79, 0xaa } },
+ { { 0x7a, 0x6f } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x00 } },
+ { { 0x7e, 0x00 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 63 (0x3F) */
+ { { 0x00, 0x3f } },
+ { { 0x08, 0x01 } },
+ { { 0x09, 0xa7 } },
+ { { 0x0a, 0x69 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0xd3 } },
+ { { 0x0e, 0xb4 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x00 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x3e } },
+ { { 0x15, 0x58 } },
+ { { 0x16, 0x95 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x00 } },
+ { { 0x1a, 0x00 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x00 } },
+ { { 0x1e, 0x00 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x7f } },
+ { { 0x21, 0xdb } },
+ { { 0x22, 0x83 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x80 } },
+ { { 0x25, 0x48 } },
+ { { 0x26, 0xed } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x3f } },
+ { { 0x29, 0xed } },
+ { { 0x2a, 0xc3 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0xc0 } },
+ { { 0x2d, 0x12 } },
+ { { 0x2e, 0x3d } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x3f } },
+ { { 0x31, 0xed } },
+ { { 0x32, 0xc3 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x7f } },
+ { { 0x35, 0xd9 } },
+ { { 0x36, 0x5e } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x80 } },
+ { { 0x39, 0x4d } },
+ { { 0x3a, 0x38 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x3f } },
+ { { 0x3d, 0xec } },
+ { { 0x3e, 0xb0 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0xc0 } },
+ { { 0x41, 0x21 } },
+ { { 0x42, 0x92 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x3f } },
+ { { 0x45, 0xd0 } },
+ { { 0x46, 0x2c } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x7f } },
+ { { 0x49, 0xa5 } },
+ { { 0x4a, 0x03 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x80 } },
+ { { 0x4d, 0xb5 } },
+ { { 0x4e, 0x7a } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x00 } },
+ { { 0x52, 0x10 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x00 } },
+ { { 0x56, 0x10 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x00 } },
+ { { 0x5a, 0x10 } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x7f } },
+ { { 0x5d, 0x7e } },
+ { { 0x5e, 0xd1 } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x81 } },
+ { { 0x61, 0x00 } },
+ { { 0x62, 0x5a } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x00 } },
+ { { 0x66, 0x40 } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x00 } },
+ { { 0x6a, 0x40 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x00 } },
+ { { 0x6e, 0x40 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0x3f } },
+ { { 0x71, 0x7f } },
+ { { 0x72, 0xd3 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x00 } },
+ { { 0x76, 0x00 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x40 } },
+ { { 0x7a, 0x17 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x20 } },
+ { { 0x7e, 0x0b } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 64 (0x40) */
+ { { 0x00, 0x40 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x00 } },
+ { { 0x0a, 0x00 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x00 } },
+ { { 0x0e, 0x00 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x7f } },
+ { { 0x11, 0xff } },
+ { { 0x12, 0xff } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x00 } },
+ { { 0x16, 0x00 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x00 } },
+ { { 0x1a, 0x00 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x00 } },
+ { { 0x1e, 0x00 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x00 } },
+ { { 0x22, 0x00 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x7f } },
+ { { 0x25, 0xff } },
+ { { 0x26, 0xff } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x00 } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x00 } },
+ { { 0x2e, 0x00 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x00 } },
+ { { 0x32, 0x00 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x00 } },
+ { { 0x36, 0x00 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x7f } },
+ { { 0x39, 0xff } },
+ { { 0x3a, 0xff } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x00 } },
+ { { 0x3e, 0x00 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x00 } },
+ { { 0x42, 0x00 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x00 } },
+ { { 0x4a, 0x00 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x7f } },
+ { { 0x4d, 0xff } },
+ { { 0x4e, 0xff } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x00 } },
+ { { 0x52, 0x00 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x00 } },
+ { { 0x56, 0x00 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x00 } },
+ { { 0x5a, 0x00 } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x00 } },
+ { { 0x5e, 0x00 } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0xfd } },
+ { { 0x61, 0x22 } },
+ { { 0x62, 0x6a } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x13 } },
+ { { 0x65, 0xda } },
+ { { 0x66, 0x44 } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x06 } },
+ { { 0x6a, 0xd3 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x7f } },
+ { { 0x6d, 0xff } },
+ { { 0x6e, 0xff } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x00 } },
+ { { 0x72, 0x00 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x00 } },
+ { { 0x76, 0x00 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x00 } },
+ { { 0x7a, 0x00 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x00 } },
+ { { 0x7e, 0x00 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 65 (0x41) */
+ { { 0x00, 0x41 } },
+ { { 0x08, 0x7f } },
+ { { 0x09, 0xff } },
+ { { 0x0a, 0xff } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x00 } },
+ { { 0x0e, 0x00 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x00 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x00 } },
+ { { 0x16, 0x00 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x00 } },
+ { { 0x1a, 0x00 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x7f } },
+ { { 0x1d, 0xff } },
+ { { 0x1e, 0xff } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x00 } },
+ { { 0x22, 0x00 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x00 } },
+ { { 0x26, 0x00 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x00 } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x00 } },
+ { { 0x2e, 0x00 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x7f } },
+ { { 0x31, 0xff } },
+ { { 0x32, 0xff } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x00 } },
+ { { 0x36, 0x00 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x00 } },
+ { { 0x3a, 0x00 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x00 } },
+ { { 0x3e, 0x00 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x00 } },
+ { { 0x42, 0x00 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x7f } },
+ { { 0x45, 0xff } },
+ { { 0x46, 0xff } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x00 } },
+ { { 0x4a, 0x00 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x00 } },
+ { { 0x4e, 0x00 } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x00 } },
+ { { 0x52, 0x00 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x00 } },
+ { { 0x56, 0x00 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x40 } },
+ { { 0x59, 0x00 } },
+ { { 0x5a, 0x00 } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x06 } },
+ { { 0x5e, 0xd3 } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x7f } },
+ { { 0x61, 0xf9 } },
+ { { 0x62, 0x2d } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x28 } },
+ { { 0x66, 0xef } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x7f } },
+ { { 0x69, 0xd7 } },
+ { { 0x6a, 0x11 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x0d } },
+ { { 0x6e, 0xa7 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0x7f } },
+ { { 0x71, 0xf2 } },
+ { { 0x72, 0x59 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x11 } },
+ { { 0x76, 0x10 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x7f } },
+ { { 0x79, 0xee } },
+ { { 0x7a, 0xf0 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x66 } },
+ { { 0x7e, 0x3d } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 66 (0x42) */
+ { { 0x00, 0x42 } },
+ { { 0x08, 0x7f } },
+ { { 0x09, 0x99 } },
+ { { 0x0a, 0xc3 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x22 } },
+ { { 0x0e, 0x1e } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x7f } },
+ { { 0x11, 0xdd } },
+ { { 0x12, 0xe2 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x88 } },
+ { { 0x16, 0x40 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x7f } },
+ { { 0x19, 0x77 } },
+ { { 0x1a, 0xc0 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x03 } },
+ { { 0x1d, 0x29 } },
+ { { 0x1e, 0x0b } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x7c } },
+ { { 0x21, 0xd6 } },
+ { { 0x22, 0xf5 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x01 } },
+ { { 0x25, 0x0f } },
+ { { 0x26, 0xef } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x7e } },
+ { { 0x29, 0xf0 } },
+ { { 0x2a, 0x11 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x00 } },
+ { { 0x2e, 0x00 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x00 } },
+ { { 0x32, 0x00 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x00 } },
+ { { 0x36, 0x00 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x50 } },
+ { { 0x39, 0x00 } },
+ { { 0x3a, 0x00 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x14 } },
+ { { 0x3d, 0x00 } },
+ { { 0x3e, 0x00 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x00 } },
+ { { 0x42, 0x00 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0xc0 } },
+ { { 0x49, 0x00 } },
+ { { 0x4a, 0x00 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x80 } },
+ { { 0x4d, 0x00 } },
+ { { 0x4e, 0x00 } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x40 } },
+ { { 0x51, 0x00 } },
+ { { 0x52, 0x00 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x00 } },
+ { { 0x56, 0x00 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x00 } },
+ { { 0x5a, 0x00 } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0xd7 } },
+ { { 0x5d, 0x41 } },
+ { { 0x5e, 0xa0 } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0xff } },
+ { { 0x61, 0xf0 } },
+ { { 0x62, 0x00 } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x88 } },
+ { { 0x65, 0x00 } },
+ { { 0x66, 0x00 } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x18 } },
+ { { 0x69, 0x00 } },
+ { { 0x6a, 0x00 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x00 } },
+ { { 0x6e, 0x00 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x00 } },
+ { { 0x72, 0x00 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x00 } },
+ { { 0x76, 0x00 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x30 } },
+ { { 0x79, 0x00 } },
+ { { 0x7a, 0x00 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0xd0 } },
+ { { 0x7d, 0x00 } },
+ { { 0x7e, 0x00 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 67 (0x43) */
+ { { 0x00, 0x43 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x03 } },
+ { { 0x0a, 0x84 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0xb2 } },
+ { { 0x0e, 0x55 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x0e } },
+ { { 0x11, 0x5b } },
+ { { 0x12, 0xde } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x7f } },
+ { { 0x15, 0xff } },
+ { { 0x16, 0xff } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x00 } },
+ { { 0x1a, 0x00 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x02 } },
+ { { 0x1d, 0x00 } },
+ { { 0x1e, 0x00 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x20 } },
+ { { 0x21, 0x00 } },
+ { { 0x22, 0x00 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x51 } },
+ { { 0x26, 0x26 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x40 } },
+ { { 0x29, 0x00 } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x0c } },
+ { { 0x2e, 0xdc } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x02 } },
+ { { 0x31, 0x00 } },
+ { { 0x32, 0x00 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x00 } },
+ { { 0x36, 0x00 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x00 } },
+ { { 0x3a, 0x00 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x16 } },
+ { { 0x3e, 0x5a } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x37 } },
+ { { 0x42, 0x56 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x10 } },
+ { { 0x45, 0xa9 } },
+ { { 0x46, 0xbf } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x7f } },
+ { { 0x49, 0xff } },
+ { { 0x4a, 0xff } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x00 } },
+ { { 0x4e, 0x00 } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x02 } },
+ { { 0x51, 0x00 } },
+ { { 0x52, 0x00 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0xe0 } },
+ { { 0x55, 0x00 } },
+ { { 0x56, 0x00 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x0c } },
+ { { 0x59, 0x9e } },
+ { { 0x5a, 0x80 } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0xc0 } },
+ { { 0x5d, 0x00 } },
+ { { 0x5e, 0x00 } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x4f } },
+ { { 0x61, 0x9f } },
+ { { 0x62, 0x16 } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x02 } },
+ { { 0x65, 0x00 } },
+ { { 0x66, 0x00 } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x00 } },
+ { { 0x6a, 0x00 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x00 } },
+ { { 0x6e, 0x00 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0x20 } },
+ { { 0x71, 0x00 } },
+ { { 0x72, 0x00 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x40 } },
+ { { 0x75, 0x00 } },
+ { { 0x76, 0x00 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0xe0 } },
+ { { 0x79, 0x00 } },
+ { { 0x7a, 0x00 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0xc0 } },
+ { { 0x7d, 0x00 } },
+ { { 0x7e, 0x00 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 68 (0x44) */
+ { { 0x00, 0x44 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x00 } },
+ { { 0x0a, 0x00 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x00 } },
+ { { 0x0e, 0x00 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x00 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x80 } },
+ { { 0x15, 0x00 } },
+ { { 0x16, 0x00 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x7f } },
+ { { 0x19, 0xff } },
+ { { 0x1a, 0xff } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x00 } },
+ { { 0x1e, 0x00 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x00 } },
+ { { 0x22, 0x00 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x00 } },
+ { { 0x26, 0x00 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0xc0 } },
+ { { 0x29, 0x00 } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x00 } },
+ { { 0x2e, 0x00 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x7f } },
+ { { 0x31, 0xff } },
+ { { 0x32, 0xff } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x7f } },
+ { { 0x35, 0xff } },
+ { { 0x36, 0xff } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x00 } },
+ { { 0x3a, 0x00 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x00 } },
+ { { 0x3e, 0x00 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x00 } },
+ { { 0x42, 0x00 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x7f } },
+ { { 0x49, 0xff } },
+ { { 0x4a, 0xff } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x00 } },
+ { { 0x4e, 0x00 } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x00 } },
+ { { 0x52, 0x00 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x00 } },
+ { { 0x56, 0x00 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x00 } },
+ { { 0x5a, 0x00 } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x7f } },
+ { { 0x5d, 0xff } },
+ { { 0x5e, 0xff } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x00 } },
+ { { 0x62, 0x00 } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x00 } },
+ { { 0x66, 0x00 } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x00 } },
+ { { 0x6a, 0x00 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x00 } },
+ { { 0x6e, 0x00 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0x7f } },
+ { { 0x71, 0xff } },
+ { { 0x72, 0xff } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x00 } },
+ { { 0x76, 0x00 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x00 } },
+ { { 0x7a, 0x00 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x00 } },
+ { { 0x7e, 0x00 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 69 (0x45) */
+ { { 0x00, 0x45 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x00 } },
+ { { 0x0a, 0x00 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x00 } },
+ { { 0x0e, 0x00 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x00 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x00 } },
+ { { 0x16, 0x00 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x20 } },
+ { { 0x19, 0x00 } },
+ { { 0x1a, 0x00 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x40 } },
+ { { 0x1d, 0x00 } },
+ { { 0x1e, 0x00 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x40 } },
+ { { 0x21, 0x00 } },
+ { { 0x22, 0x00 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x80 } },
+ { { 0x25, 0x00 } },
+ { { 0x26, 0x01 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x00 } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x00 } },
+ { { 0x2e, 0x00 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x7f } },
+ { { 0x31, 0xea } },
+ { { 0x32, 0x90 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0xc0 } },
+ { { 0x35, 0x0a } },
+ { { 0x36, 0xb8 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x00 } },
+ { { 0x3a, 0x00 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x3f } },
+ { { 0x3d, 0xea } },
+ { { 0x3e, 0x90 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x00 } },
+ { { 0x42, 0x00 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x7f } },
+ { { 0x45, 0xff } },
+ { { 0x46, 0xff } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x00 } },
+ { { 0x4a, 0x00 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x00 } },
+ { { 0x4e, 0x00 } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x00 } },
+ { { 0x52, 0x00 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x00 } },
+ { { 0x56, 0x00 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x7f } },
+ { { 0x59, 0xff } },
+ { { 0x5a, 0xff } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x00 } },
+ { { 0x5e, 0x00 } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x00 } },
+ { { 0x62, 0x00 } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x00 } },
+ { { 0x66, 0x00 } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x00 } },
+ { { 0x6a, 0x00 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x00 } },
+ { { 0x6e, 0x00 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0x7f } },
+ { { 0x71, 0xff } },
+ { { 0x72, 0xff } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x00 } },
+ { { 0x76, 0x00 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x00 } },
+ { { 0x7a, 0x00 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x00 } },
+ { { 0x7e, 0x00 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 70 (0x46) */
+ { { 0x00, 0x46 } },
+ { { 0x08, 0xc0 } },
+ { { 0x09, 0x00 } },
+ { { 0x0a, 0x00 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x3f } },
+ { { 0x0d, 0xae } },
+ { { 0x0e, 0x14 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0xc0 } },
+ { { 0x11, 0x00 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x00 } },
+ { { 0x16, 0x00 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x1d } },
+ { { 0x19, 0x40 } },
+ { { 0x1a, 0x00 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x15 } },
+ { { 0x1d, 0x40 } },
+ { { 0x1e, 0x00 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x29 } },
+ { { 0x21, 0x00 } },
+ { { 0x22, 0x00 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x1b } },
+ { { 0x25, 0xc0 } },
+ { { 0x26, 0x00 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x35 } },
+ { { 0x29, 0x40 } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x48 } },
+ { { 0x2d, 0x40 } },
+ { { 0x2e, 0x00 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x00 } },
+ { { 0x32, 0x00 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x40 } },
+ { { 0x35, 0x00 } },
+ { { 0x36, 0x00 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x04 } },
+ { { 0x3a, 0x00 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x00 } },
+ { { 0x3e, 0x00 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x7f } },
+ { { 0x41, 0xff } },
+ { { 0x42, 0xff } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x40 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+
+ /* Instruction Memory */
+ /* Page 152 (0x98) */
+ { { 0x00, 0x98 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x10 } },
+ { { 0x0a, 0x00 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x10 } },
+ { { 0x0e, 0x04 } },
+ { { 0x0f, 0x01 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x63 } },
+ { { 0x12, 0x5c } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x73 } },
+ { { 0x16, 0x60 } },
+ { { 0x17, 0x01 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x00 } },
+ { { 0x1a, 0x00 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x00 } },
+ { { 0x1e, 0x00 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x40 } },
+ { { 0x22, 0x00 } },
+ { { 0x23, 0x02 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x63 } },
+ { { 0x26, 0xf8 } },
+ { { 0x27, 0x02 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x00 } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x00 } },
+ { { 0x2e, 0x00 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x40 } },
+ { { 0x32, 0x00 } },
+ { { 0x33, 0x03 } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x61 } },
+ { { 0x36, 0xb8 } },
+ { { 0x37, 0x03 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x63 } },
+ { { 0x3a, 0x78 } },
+ { { 0x3b, 0x06 } },
+ { { 0x3c, 0x01 } },
+ { { 0x3d, 0xb3 } },
+ { { 0x3e, 0x74 } },
+ { { 0x3f, 0x05 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x40 } },
+ { { 0x42, 0x04 } },
+ { { 0x43, 0x04 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x73 } },
+ { { 0x46, 0x70 } },
+ { { 0x47, 0x04 } },
+ { { 0x48, 0x01 } },
+ { { 0x49, 0xb3 } },
+ { { 0x4a, 0x7c } },
+ { { 0x4b, 0x08 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x73 } },
+ { { 0x4e, 0x80 } },
+ { { 0x4f, 0x09 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x63 } },
+ { { 0x52, 0x8c } },
+ { { 0x53, 0x09 } },
+ { { 0x54, 0x01 } },
+ { { 0x55, 0xb3 } },
+ { { 0x56, 0x88 } },
+ { { 0x57, 0x08 } },
+ { { 0x58, 0x01 } },
+ { { 0x59, 0x33 } },
+ { { 0x5a, 0x84 } },
+ { { 0x5b, 0x07 } },
+ { { 0x5c, 0x01 } },
+ { { 0x5d, 0xb3 } },
+ { { 0x5e, 0x90 } },
+ { { 0x5f, 0x0b } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x73 } },
+ { { 0x62, 0x94 } },
+ { { 0x63, 0x0c } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x63 } },
+ { { 0x66, 0xa0 } },
+ { { 0x67, 0x0c } },
+ { { 0x68, 0x01 } },
+ { { 0x69, 0xb3 } },
+ { { 0x6a, 0x9c } },
+ { { 0x6b, 0x0b } },
+ { { 0x6c, 0x01 } },
+ { { 0x6d, 0x33 } },
+ { { 0x6e, 0x98 } },
+ { { 0x6f, 0x0a } },
+ { { 0x70, 0x01 } },
+ { { 0x71, 0xb3 } },
+ { { 0x72, 0xa4 } },
+ { { 0x73, 0x0e } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x73 } },
+ { { 0x76, 0xa8 } },
+ { { 0x77, 0x0f } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x00 } },
+ { { 0x7a, 0x00 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x00 } },
+ { { 0x7e, 0x00 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 153 (0x99) */
+ { { 0x00, 0x99 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x40 } },
+ { { 0x0a, 0x00 } },
+ { { 0x0b, 0x0d } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x61 } },
+ { { 0x0e, 0xb8 } },
+ { { 0x0f, 0x0d } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x60 } },
+ { { 0x12, 0x6c } },
+ { { 0x13, 0x12 } },
+ { { 0x14, 0x01 } },
+ { { 0x15, 0xb0 } },
+ { { 0x16, 0x68 } },
+ { { 0x17, 0x11 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x40 } },
+ { { 0x1a, 0x04 } },
+ { { 0x1b, 0x10 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x70 } },
+ { { 0x1e, 0x64 } },
+ { { 0x1f, 0x10 } },
+ { { 0x20, 0x01 } },
+ { { 0x21, 0xb0 } },
+ { { 0x22, 0x70 } },
+ { { 0x23, 0x14 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x70 } },
+ { { 0x26, 0x74 } },
+ { { 0x27, 0x15 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x60 } },
+ { { 0x2a, 0x80 } },
+ { { 0x2b, 0x15 } },
+ { { 0x2c, 0x01 } },
+ { { 0x2d, 0xb0 } },
+ { { 0x2e, 0x7c } },
+ { { 0x2f, 0x14 } },
+ { { 0x30, 0x01 } },
+ { { 0x31, 0x30 } },
+ { { 0x32, 0x78 } },
+ { { 0x33, 0x13 } },
+ { { 0x34, 0x01 } },
+ { { 0x35, 0xb0 } },
+ { { 0x36, 0x84 } },
+ { { 0x37, 0x17 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x70 } },
+ { { 0x3a, 0x88 } },
+ { { 0x3b, 0x18 } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x00 } },
+ { { 0x3e, 0x00 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x00 } },
+ { { 0x42, 0x00 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x40 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x16 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x63 } },
+ { { 0x4a, 0x4f } },
+ { { 0x4b, 0xfb } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x00 } },
+ { { 0x4e, 0x00 } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x00 } },
+ { { 0x52, 0x00 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x40 } },
+ { { 0x56, 0x00 } },
+ { { 0x57, 0x19 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x62 } },
+ { { 0x5a, 0xf8 } },
+ { { 0x5b, 0x0d } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x62 } },
+ { { 0x5e, 0xf8 } },
+ { { 0x5f, 0x19 } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x00 } },
+ { { 0x62, 0x00 } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x40 } },
+ { { 0x66, 0x00 } },
+ { { 0x67, 0x1e } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x40 } },
+ { { 0x6a, 0x00 } },
+ { { 0x6b, 0x24 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x60 } },
+ { { 0x6e, 0x98 } },
+ { { 0x6f, 0x1e } },
+ { { 0x70, 0x01 } },
+ { { 0x71, 0xb0 } },
+ { { 0x72, 0x9c } },
+ { { 0x73, 0x1f } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x70 } },
+ { { 0x76, 0xa0 } },
+ { { 0x77, 0x20 } },
+ { { 0x78, 0x01 } },
+ { { 0x79, 0xb0 } },
+ { { 0x7a, 0x90 } },
+ { { 0x7b, 0x22 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x70 } },
+ { { 0x7e, 0x94 } },
+ { { 0x7f, 0x23 } },
+
+ /* Page 154 (0x9A) */
+ { { 0x00, 0x9a } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x60 } },
+ { { 0x0a, 0x98 } },
+ { { 0x0b, 0x24 } },
+ { { 0x0c, 0x01 } },
+ { { 0x0d, 0xb0 } },
+ { { 0x0e, 0x9c } },
+ { { 0x0f, 0x25 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x40 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x21 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x70 } },
+ { { 0x16, 0xa0 } },
+ { { 0x17, 0x26 } },
+ { { 0x18, 0x01 } },
+ { { 0x19, 0xb0 } },
+ { { 0x1a, 0x90 } },
+ { { 0x1b, 0x28 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x70 } },
+ { { 0x1e, 0x94 } },
+ { { 0x1f, 0x29 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x72 } },
+ { { 0x22, 0xf8 } },
+ { { 0x23, 0x21 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x00 } },
+ { { 0x26, 0x00 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x40 } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0x27 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x40 } },
+ { { 0x2e, 0x00 } },
+ { { 0x2f, 0x36 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x60 } },
+ { { 0x32, 0xc0 } },
+ { { 0x33, 0x36 } },
+ { { 0x34, 0x01 } },
+ { { 0x35, 0xb0 } },
+ { { 0x36, 0xc4 } },
+ { { 0x37, 0x37 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x70 } },
+ { { 0x3a, 0xc8 } },
+ { { 0x3b, 0x38 } },
+ { { 0x3c, 0x01 } },
+ { { 0x3d, 0xb0 } },
+ { { 0x3e, 0xb8 } },
+ { { 0x3f, 0x3a } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x70 } },
+ { { 0x42, 0xbc } },
+ { { 0x43, 0x3b } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x00 } },
+ { { 0x4a, 0x00 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x40 } },
+ { { 0x4e, 0x00 } },
+ { { 0x4f, 0x39 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0xc2 } },
+ { { 0x52, 0xf8 } },
+ { { 0x53, 0x39 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x62 } },
+ { { 0x56, 0xf8 } },
+ { { 0x57, 0x39 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x00 } },
+ { { 0x5a, 0x00 } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x40 } },
+ { { 0x5e, 0x00 } },
+ { { 0x5f, 0x49 } },
+ { { 0x60, 0x01 } },
+ { { 0x61, 0x10 } },
+ { { 0x62, 0x18 } },
+ { { 0x63, 0x03 } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x62 } },
+ { { 0x66, 0xfb } },
+ { { 0x67, 0xfb } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x00 } },
+ { { 0x6a, 0x00 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x01 } },
+ { { 0x6d, 0x10 } },
+ { { 0x6e, 0x00 } },
+ { { 0x6f, 0x03 } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x63 } },
+ { { 0x72, 0x67 } },
+ { { 0x73, 0xfb } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x00 } },
+ { { 0x76, 0x00 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x00 } },
+ { { 0x7a, 0x00 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x40 } },
+ { { 0x7e, 0x00 } },
+ { { 0x7f, 0x3c } },
+
+ /* Page 155 (0x9B) */
+ { { 0x00, 0x9b } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x62 } },
+ { { 0x0a, 0xf8 } },
+ { { 0x0b, 0x3c } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x63 } },
+ { { 0x0e, 0x68 } },
+ { { 0x0f, 0x3c } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x00 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x83 } },
+ { { 0x16, 0x68 } },
+ { { 0x17, 0x02 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x83 } },
+ { { 0x1a, 0x6c } },
+ { { 0x1b, 0x02 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x00 } },
+ { { 0x1e, 0x00 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x01 } },
+ { { 0x21, 0x10 } },
+ { { 0x22, 0x14 } },
+ { { 0x23, 0x06 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x63 } },
+ { { 0x26, 0xb7 } },
+ { { 0x27, 0xfb } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x63 } },
+ { { 0x2a, 0x57 } },
+ { { 0x2b, 0xfb } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x00 } },
+ { { 0x2e, 0x00 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x83 } },
+ { { 0x32, 0xb8 } },
+ { { 0x33, 0x02 } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x83 } },
+ { { 0x36, 0xb4 } },
+ { { 0x37, 0x02 } },
+ { { 0x38, 0x01 } },
+ { { 0x39, 0x10 } },
+ { { 0x3a, 0x00 } },
+ { { 0x3b, 0x06 } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x00 } },
+ { { 0x3e, 0x00 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x00 } },
+ { { 0x42, 0x00 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x00 } },
+ { { 0x4a, 0x00 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x00 } },
+ { { 0x4e, 0x00 } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x00 } },
+ { { 0x52, 0x00 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x63 } },
+ { { 0x56, 0xb7 } },
+ { { 0x57, 0xfb } },
+ { { 0x58, 0x01 } },
+ { { 0x59, 0x03 } },
+ { { 0x5a, 0x64 } },
+ { { 0x5b, 0x49 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x00 } },
+ { { 0x5e, 0x00 } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x00 } },
+ { { 0x62, 0x00 } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x01 } },
+ { { 0x65, 0x10 } },
+ { { 0x66, 0x0c } },
+ { { 0x67, 0x05 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x62 } },
+ { { 0x6a, 0xf8 } },
+ { { 0x6b, 0x49 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x00 } },
+ { { 0x6e, 0x00 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x00 } },
+ { { 0x72, 0x00 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x83 } },
+ { { 0x76, 0xb4 } },
+ { { 0x77, 0x02 } },
+ { { 0x78, 0x01 } },
+ { { 0x79, 0x10 } },
+ { { 0x7a, 0x00 } },
+ { { 0x7b, 0x05 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x00 } },
+ { { 0x7e, 0x00 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 156 (0x9C) */
+ { { 0x00, 0x9c } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x00 } },
+ { { 0x0a, 0x00 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x00 } },
+ { { 0x0e, 0x00 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x00 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x00 } },
+ { { 0x16, 0x00 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x63 } },
+ { { 0x1a, 0xbf } },
+ { { 0x1b, 0xfb } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x72 } },
+ { { 0x1e, 0xf8 } },
+ { { 0x1f, 0x49 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x00 } },
+ { { 0x22, 0x00 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x00 } },
+ { { 0x26, 0x00 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x40 } },
+ { { 0x2a, 0x04 } },
+ { { 0x2b, 0x3d } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x60 } },
+ { { 0x2e, 0xd4 } },
+ { { 0x2f, 0x3d } },
+ { { 0x30, 0x01 } },
+ { { 0x31, 0xb0 } },
+ { { 0x32, 0xd8 } },
+ { { 0x33, 0x3e } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x70 } },
+ { { 0x36, 0xdc } },
+ { { 0x37, 0x3f } },
+ { { 0x38, 0x01 } },
+ { { 0x39, 0xb0 } },
+ { { 0x3a, 0xcc } },
+ { { 0x3b, 0x41 } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x70 } },
+ { { 0x3e, 0xd0 } },
+ { { 0x3f, 0x42 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x00 } },
+ { { 0x42, 0x00 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x40 } },
+ { { 0x4a, 0x00 } },
+ { { 0x4b, 0x40 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x40 } },
+ { { 0x4e, 0x00 } },
+ { { 0x4f, 0x43 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x60 } },
+ { { 0x52, 0xe8 } },
+ { { 0x53, 0x43 } },
+ { { 0x54, 0x01 } },
+ { { 0x55, 0xb0 } },
+ { { 0x56, 0xec } },
+ { { 0x57, 0x44 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x70 } },
+ { { 0x5a, 0xf0 } },
+ { { 0x5b, 0x45 } },
+ { { 0x5c, 0x01 } },
+ { { 0x5d, 0xb0 } },
+ { { 0x5e, 0xe0 } },
+ { { 0x5f, 0x47 } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x70 } },
+ { { 0x62, 0xe4 } },
+ { { 0x63, 0x48 } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x00 } },
+ { { 0x66, 0x00 } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x00 } },
+ { { 0x6a, 0x00 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x40 } },
+ { { 0x6e, 0x00 } },
+ { { 0x6f, 0x46 } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x60 } },
+ { { 0x72, 0x8f } },
+ { { 0x73, 0xfb } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x00 } },
+ { { 0x76, 0x00 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x90 } },
+ { { 0x7a, 0x60 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x00 } },
+ { { 0x7e, 0x00 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 157 (0x9D) */
+ { { 0x00, 0x9d } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x00 } },
+ { { 0x0a, 0x00 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x83 } },
+ { { 0x0e, 0xc0 } },
+ { { 0x0f, 0x02 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x00 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x63 } },
+ { { 0x16, 0x58 } },
+ { { 0x17, 0x21 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x73 } },
+ { { 0x1a, 0xc0 } },
+ { { 0x1b, 0x46 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x63 } },
+ { { 0x1e, 0x58 } },
+ { { 0x1f, 0x27 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x73 } },
+ { { 0x22, 0xc0 } },
+ { { 0x23, 0x46 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x40 } },
+ { { 0x26, 0x08 } },
+ { { 0x27, 0x2a } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x00 } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x40 } },
+ { { 0x2e, 0x08 } },
+ { { 0x2f, 0x30 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x60 } },
+ { { 0x32, 0xac } },
+ { { 0x33, 0x2a } },
+ { { 0x34, 0x01 } },
+ { { 0x35, 0xb0 } },
+ { { 0x36, 0xb0 } },
+ { { 0x37, 0x2b } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x70 } },
+ { { 0x3a, 0xb4 } },
+ { { 0x3b, 0x2c } },
+ { { 0x3c, 0x01 } },
+ { { 0x3d, 0xb0 } },
+ { { 0x3e, 0xa4 } },
+ { { 0x3f, 0x2e } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x70 } },
+ { { 0x42, 0xa8 } },
+ { { 0x43, 0x2f } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x60 } },
+ { { 0x46, 0xac } },
+ { { 0x47, 0x30 } },
+ { { 0x48, 0x01 } },
+ { { 0x49, 0xb0 } },
+ { { 0x4a, 0xb0 } },
+ { { 0x4b, 0x31 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x41 } },
+ { { 0x4e, 0x80 } },
+ { { 0x4f, 0x2d } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x70 } },
+ { { 0x52, 0xb4 } },
+ { { 0x53, 0x32 } },
+ { { 0x54, 0x01 } },
+ { { 0x55, 0xb0 } },
+ { { 0x56, 0xa4 } },
+ { { 0x57, 0x34 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x70 } },
+ { { 0x5a, 0xa8 } },
+ { { 0x5b, 0x35 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x61 } },
+ { { 0x5e, 0xb8 } },
+ { { 0x5f, 0x2d } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x73 } },
+ { { 0x62, 0xc8 } },
+ { { 0x63, 0x2e } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x41 } },
+ { { 0x66, 0x80 } },
+ { { 0x67, 0x33 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x73 } },
+ { { 0x6a, 0xc4 } },
+ { { 0x6b, 0x4e } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x61 } },
+ { { 0x6e, 0xb8 } },
+ { { 0x6f, 0x33 } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x73 } },
+ { { 0x72, 0xc8 } },
+ { { 0x73, 0x34 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x40 } },
+ { { 0x76, 0x04 } },
+ { { 0x77, 0x4d } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x73 } },
+ { { 0x7a, 0xc4 } },
+ { { 0x7b, 0x50 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x00 } },
+ { { 0x7e, 0x00 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 158 (0x9E) */
+ { { 0x00, 0x9e } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x62 } },
+ { { 0x0a, 0xf8 } },
+ { { 0x0b, 0x4d } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x40 } },
+ { { 0x0e, 0x04 } },
+ { { 0x0f, 0x4f } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x62 } },
+ { { 0x12, 0xf8 } },
+ { { 0x13, 0x4f } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x40 } },
+ { { 0x16, 0x08 } },
+ { { 0x17, 0x1a } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x00 } },
+ { { 0x1a, 0x00 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x40 } },
+ { { 0x1e, 0x08 } },
+ { { 0x1f, 0x1b } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x61 } },
+ { { 0x22, 0xb8 } },
+ { { 0x23, 0x1b } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x00 } },
+ { { 0x26, 0x00 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x00 } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x83 } },
+ { { 0x2e, 0x50 } },
+ { { 0x2f, 0x03 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x63 } },
+ { { 0x32, 0xac } },
+ { { 0x33, 0x0d } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x73 } },
+ { { 0x36, 0xb0 } },
+ { { 0x37, 0x1a } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x00 } },
+ { { 0x3a, 0x00 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x00 } },
+ { { 0x3e, 0x00 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x40 } },
+ { { 0x42, 0x00 } },
+ { { 0x43, 0x51 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x61 } },
+ { { 0x46, 0xb8 } },
+ { { 0x47, 0x51 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x61 } },
+ { { 0x4a, 0x00 } },
+ { { 0x4b, 0x54 } },
+ { { 0x4c, 0x01 } },
+ { { 0x4d, 0xb0 } },
+ { { 0x4e, 0xfc } },
+ { { 0x4f, 0x53 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x40 } },
+ { { 0x52, 0x04 } },
+ { { 0x53, 0x52 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x70 } },
+ { { 0x56, 0xf8 } },
+ { { 0x57, 0x52 } },
+ { { 0x58, 0x01 } },
+ { { 0x59, 0xb1 } },
+ { { 0x5a, 0x04 } },
+ { { 0x5b, 0x56 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x71 } },
+ { { 0x5e, 0x08 } },
+ { { 0x5f, 0x57 } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x61 } },
+ { { 0x62, 0x14 } },
+ { { 0x63, 0x57 } },
+ { { 0x64, 0x01 } },
+ { { 0x65, 0xb1 } },
+ { { 0x66, 0x10 } },
+ { { 0x67, 0x56 } },
+ { { 0x68, 0x01 } },
+ { { 0x69, 0x31 } },
+ { { 0x6a, 0x0c } },
+ { { 0x6b, 0x55 } },
+ { { 0x6c, 0x01 } },
+ { { 0x6d, 0xb1 } },
+ { { 0x6e, 0x18 } },
+ { { 0x6f, 0x59 } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x71 } },
+ { { 0x72, 0x1c } },
+ { { 0x73, 0x5a } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x61 } },
+ { { 0x76, 0x28 } },
+ { { 0x77, 0x5a } },
+ { { 0x78, 0x01 } },
+ { { 0x79, 0xb1 } },
+ { { 0x7a, 0x24 } },
+ { { 0x7b, 0x59 } },
+ { { 0x7c, 0x01 } },
+ { { 0x7d, 0x31 } },
+ { { 0x7e, 0x20 } },
+ { { 0x7f, 0x58 } },
+
+ /* Page 159 (0x9F) */
+ { { 0x00, 0x9f } },
+ { { 0x08, 0x01 } },
+ { { 0x09, 0xb1 } },
+ { { 0x0a, 0x2c } },
+ { { 0x0b, 0x5c } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x71 } },
+ { { 0x0e, 0x30 } },
+ { { 0x0f, 0x5d } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x61 } },
+ { { 0x12, 0x3c } },
+ { { 0x13, 0x5d } },
+ { { 0x14, 0x01 } },
+ { { 0x15, 0xb1 } },
+ { { 0x16, 0x38 } },
+ { { 0x17, 0x5c } },
+ { { 0x18, 0x01 } },
+ { { 0x19, 0x31 } },
+ { { 0x1a, 0x34 } },
+ { { 0x1b, 0x5b } },
+ { { 0x1c, 0x01 } },
+ { { 0x1d, 0xb1 } },
+ { { 0x1e, 0x40 } },
+ { { 0x1f, 0x5f } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x71 } },
+ { { 0x22, 0x44 } },
+ { { 0x23, 0x60 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x00 } },
+ { { 0x26, 0x00 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x00 } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x40 } },
+ { { 0x2e, 0x00 } },
+ { { 0x2f, 0x5e } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x61 } },
+ { { 0x32, 0xb8 } },
+ { { 0x33, 0x0d } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x63 } },
+ { { 0x36, 0x04 } },
+ { { 0x37, 0x63 } },
+ { { 0x38, 0x01 } },
+ { { 0x39, 0xb3 } },
+ { { 0x3a, 0x00 } },
+ { { 0x3b, 0x62 } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x40 } },
+ { { 0x3e, 0x04 } },
+ { { 0x3f, 0x61 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x72 } },
+ { { 0x42, 0xfc } },
+ { { 0x43, 0x61 } },
+ { { 0x44, 0x01 } },
+ { { 0x45, 0xb3 } },
+ { { 0x46, 0x08 } },
+ { { 0x47, 0x65 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x73 } },
+ { { 0x4a, 0x0c } },
+ { { 0x4b, 0x66 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x63 } },
+ { { 0x4e, 0x18 } },
+ { { 0x4f, 0x66 } },
+ { { 0x50, 0x01 } },
+ { { 0x51, 0xb3 } },
+ { { 0x52, 0x14 } },
+ { { 0x53, 0x65 } },
+ { { 0x54, 0x01 } },
+ { { 0x55, 0x33 } },
+ { { 0x56, 0x10 } },
+ { { 0x57, 0x64 } },
+ { { 0x58, 0x01 } },
+ { { 0x59, 0xb3 } },
+ { { 0x5a, 0x1c } },
+ { { 0x5b, 0x68 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x73 } },
+ { { 0x5e, 0x20 } },
+ { { 0x5f, 0x69 } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x63 } },
+ { { 0x62, 0x2c } },
+ { { 0x63, 0x69 } },
+ { { 0x64, 0x01 } },
+ { { 0x65, 0xb3 } },
+ { { 0x66, 0x28 } },
+ { { 0x67, 0x68 } },
+ { { 0x68, 0x01 } },
+ { { 0x69, 0x33 } },
+ { { 0x6a, 0x24 } },
+ { { 0x6b, 0x67 } },
+ { { 0x6c, 0x01 } },
+ { { 0x6d, 0xb3 } },
+ { { 0x6e, 0x30 } },
+ { { 0x6f, 0x6b } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x73 } },
+ { { 0x72, 0x34 } },
+ { { 0x73, 0x6c } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x63 } },
+ { { 0x76, 0x40 } },
+ { { 0x77, 0x6c } },
+ { { 0x78, 0x01 } },
+ { { 0x79, 0xb3 } },
+ { { 0x7a, 0x3c } },
+ { { 0x7b, 0x6b } },
+ { { 0x7c, 0x01 } },
+ { { 0x7d, 0x33 } },
+ { { 0x7e, 0x38 } },
+ { { 0x7f, 0x6a } },
+
+ /* Page 160 (0xA0) */
+ { { 0x00, 0xa0 } },
+ { { 0x08, 0x01 } },
+ { { 0x09, 0xb3 } },
+ { { 0x0a, 0x44 } },
+ { { 0x0b, 0x6e } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x73 } },
+ { { 0x0e, 0x48 } },
+ { { 0x0f, 0x6f } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x00 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x00 } },
+ { { 0x16, 0x00 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x40 } },
+ { { 0x1a, 0x00 } },
+ { { 0x1b, 0x6d } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x61 } },
+ { { 0x1e, 0x50 } },
+ { { 0x1f, 0x72 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x70 } },
+ { { 0x22, 0x60 } },
+ { { 0x23, 0x72 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0xc1 } },
+ { { 0x26, 0x50 } },
+ { { 0x27, 0x16 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x90 } },
+ { { 0x2a, 0x60 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0xe2 } },
+ { { 0x2e, 0xf8 } },
+ { { 0x2f, 0x73 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x71 } },
+ { { 0x32, 0x4b } },
+ { { 0x33, 0xfb } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x00 } },
+ { { 0x36, 0x00 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x40 } },
+ { { 0x3a, 0x00 } },
+ { { 0x3b, 0x71 } },
+ { { 0x3c, 0x01 } },
+ { { 0x3d, 0x10 } },
+ { { 0x3e, 0x18 } },
+ { { 0x3f, 0x02 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x91 } },
+ { { 0x42, 0x4c } },
+ { { 0x43, 0x04 } },
+ { { 0x44, 0x01 } },
+ { { 0x45, 0x10 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x02 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x63 } },
+ { { 0x4a, 0x57 } },
+ { { 0x4b, 0xfb } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x00 } },
+ { { 0x4e, 0x00 } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x60 } },
+ { { 0x52, 0x60 } },
+ { { 0x53, 0x6d } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x40 } },
+ { { 0x56, 0x04 } },
+ { { 0x57, 0x74 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x83 } },
+ { { 0x5a, 0xcc } },
+ { { 0x5b, 0x03 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x73 } },
+ { { 0x5e, 0xcc } },
+ { { 0x5f, 0x6d } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x63 } },
+ { { 0x62, 0xcc } },
+ { { 0x63, 0x5e } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x90 } },
+ { { 0x66, 0x60 } },
+ { { 0x67, 0x3f } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0xe1 } },
+ { { 0x6a, 0xb8 } },
+ { { 0x6b, 0x73 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x00 } },
+ { { 0x6e, 0x00 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x00 } },
+ { { 0x72, 0x00 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x40 } },
+ { { 0x76, 0x04 } },
+ { { 0x77, 0x70 } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x61 } },
+ { { 0x7a, 0xb8 } },
+ { { 0x7b, 0x74 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x00 } },
+ { { 0x7e, 0x00 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 161 (0xA1) */
+ { { 0x00, 0xa1 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x00 } },
+ { { 0x0a, 0x00 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x80 } },
+ { { 0x0e, 0xf4 } },
+ { { 0x0f, 0x03 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x21 } },
+ { { 0x12, 0xec } },
+ { { 0x13, 0xf5 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x21 } },
+ { { 0x16, 0xf0 } },
+ { { 0x17, 0xf4 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x61 } },
+ { { 0x1a, 0xb8 } },
+ { { 0x1b, 0x70 } },
+ { { 0x1c, 0x01 } },
+ { { 0x1d, 0x20 } },
+ { { 0x1e, 0x78 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x01 } },
+ { { 0x21, 0x20 } },
+ { { 0x22, 0x7c } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x01 } },
+ { { 0x25, 0x14 } },
+ { { 0x26, 0x82 } },
+ { { 0x27, 0xb4 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x61 } },
+ { { 0x2a, 0xb8 } },
+ { { 0x2b, 0x85 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x60 } },
+ { { 0x2e, 0x1c } },
+ { { 0x2f, 0x8a } },
+ { { 0x30, 0x01 } },
+ { { 0x31, 0xb0 } },
+ { { 0x32, 0x18 } },
+ { { 0x33, 0x89 } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x40 } },
+ { { 0x36, 0x04 } },
+ { { 0x37, 0x88 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x70 } },
+ { { 0x3a, 0x14 } },
+ { { 0x3b, 0x88 } },
+ { { 0x3c, 0x01 } },
+ { { 0x3d, 0xb0 } },
+ { { 0x3e, 0x20 } },
+ { { 0x3f, 0x8c } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x70 } },
+ { { 0x42, 0x24 } },
+ { { 0x43, 0x8d } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x60 } },
+ { { 0x46, 0x30 } },
+ { { 0x47, 0x8d } },
+ { { 0x48, 0x01 } },
+ { { 0x49, 0xb0 } },
+ { { 0x4a, 0x2c } },
+ { { 0x4b, 0x8c } },
+ { { 0x4c, 0x01 } },
+ { { 0x4d, 0x30 } },
+ { { 0x4e, 0x28 } },
+ { { 0x4f, 0x8b } },
+ { { 0x50, 0x01 } },
+ { { 0x51, 0xb0 } },
+ { { 0x52, 0x34 } },
+ { { 0x53, 0x8f } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x70 } },
+ { { 0x56, 0x38 } },
+ { { 0x57, 0x90 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x00 } },
+ { { 0x5a, 0x00 } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x00 } },
+ { { 0x5e, 0x00 } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x40 } },
+ { { 0x62, 0x00 } },
+ { { 0x63, 0x8e } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x61 } },
+ { { 0x66, 0xb8 } },
+ { { 0x67, 0x85 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x60 } },
+ { { 0x6a, 0x08 } },
+ { { 0x6b, 0x93 } },
+ { { 0x6c, 0x01 } },
+ { { 0x6d, 0xb0 } },
+ { { 0x6e, 0x04 } },
+ { { 0x6f, 0x92 } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x40 } },
+ { { 0x72, 0x04 } },
+ { { 0x73, 0x91 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x70 } },
+ { { 0x76, 0x00 } },
+ { { 0x77, 0x91 } },
+ { { 0x78, 0x01 } },
+ { { 0x79, 0xb0 } },
+ { { 0x7a, 0x0c } },
+ { { 0x7b, 0x95 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x70 } },
+ { { 0x7e, 0x10 } },
+ { { 0x7f, 0x96 } },
+
+ /* Page 162 (0xA2) */
+ { { 0x00, 0xa2 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x00 } },
+ { { 0x0a, 0x00 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x00 } },
+ { { 0x0e, 0x00 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x40 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x94 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x61 } },
+ { { 0x16, 0xb8 } },
+ { { 0x17, 0x85 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x60 } },
+ { { 0x1a, 0x44 } },
+ { { 0x1b, 0x99 } },
+ { { 0x1c, 0x01 } },
+ { { 0x1d, 0xb0 } },
+ { { 0x1e, 0x40 } },
+ { { 0x1f, 0x98 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x40 } },
+ { { 0x22, 0x04 } },
+ { { 0x23, 0x97 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x70 } },
+ { { 0x26, 0x3c } },
+ { { 0x27, 0x97 } },
+ { { 0x28, 0x01 } },
+ { { 0x29, 0xb0 } },
+ { { 0x2a, 0x48 } },
+ { { 0x2b, 0x9b } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x70 } },
+ { { 0x2e, 0x4c } },
+ { { 0x2f, 0x9c } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x00 } },
+ { { 0x32, 0x00 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x00 } },
+ { { 0x36, 0x00 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x40 } },
+ { { 0x3a, 0x00 } },
+ { { 0x3b, 0x9a } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x62 } },
+ { { 0x3e, 0xf7 } },
+ { { 0x3f, 0xfb } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x00 } },
+ { { 0x42, 0x00 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x40 } },
+ { { 0x4a, 0x00 } },
+ { { 0x4b, 0x9d } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x63 } },
+ { { 0x4e, 0xdf } },
+ { { 0x4f, 0xfb } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x63 } },
+ { { 0x52, 0xdb } },
+ { { 0x53, 0xfb } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x30 } },
+ { { 0x56, 0xec } },
+ { { 0x57, 0x02 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x30 } },
+ { { 0x5a, 0xf0 } },
+ { { 0x5b, 0x02 } },
+ { { 0x5c, 0x01 } },
+ { { 0x5d, 0x14 } },
+ { { 0x5e, 0x82 } },
+ { { 0x5f, 0x44 } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x62 } },
+ { { 0x62, 0x28 } },
+ { { 0x63, 0x94 } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x62 } },
+ { { 0x66, 0x28 } },
+ { { 0x67, 0x9d } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x62 } },
+ { { 0x6a, 0x28 } },
+ { { 0x6b, 0x8e } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x40 } },
+ { { 0x6e, 0x04 } },
+ { { 0x6f, 0xa4 } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x40 } },
+ { { 0x72, 0x04 } },
+ { { 0x73, 0xa6 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x40 } },
+ { { 0x76, 0x04 } },
+ { { 0x77, 0xa8 } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x62 } },
+ { { 0x7a, 0x28 } },
+ { { 0x7b, 0x9d } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x62 } },
+ { { 0x7e, 0x28 } },
+ { { 0x7f, 0x9a } },
+
+ /* Page 163 (0xA3) */
+ { { 0x00, 0xa3 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x62 } },
+ { { 0x0a, 0x28 } },
+ { { 0x0b, 0x9d } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x40 } },
+ { { 0x0e, 0x04 } },
+ { { 0x0f, 0xaa } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x40 } },
+ { { 0x12, 0x04 } },
+ { { 0x13, 0xac } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x40 } },
+ { { 0x16, 0x04 } },
+ { { 0x17, 0xae } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x63 } },
+ { { 0x1a, 0xdf } },
+ { { 0x1b, 0xfb } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x63 } },
+ { { 0x1e, 0xdb } },
+ { { 0x1f, 0xfb } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x30 } },
+ { { 0x22, 0xec } },
+ { { 0x23, 0x02 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x30 } },
+ { { 0x26, 0xf0 } },
+ { { 0x27, 0x02 } },
+ { { 0x28, 0x01 } },
+ { { 0x29, 0x14 } },
+ { { 0x2a, 0x82 } },
+ { { 0x2b, 0x4b } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x63 } },
+ { { 0x2e, 0xdf } },
+ { { 0x2f, 0xfb } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x63 } },
+ { { 0x32, 0xdb } },
+ { { 0x33, 0xfb } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x30 } },
+ { { 0x36, 0xec } },
+ { { 0x37, 0x02 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x30 } },
+ { { 0x3a, 0xf0 } },
+ { { 0x3b, 0x02 } },
+ { { 0x3c, 0x01 } },
+ { { 0x3d, 0x14 } },
+ { { 0x3e, 0x82 } },
+ { { 0x3f, 0x52 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x63 } },
+ { { 0x42, 0xdf } },
+ { { 0x43, 0xfb } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x63 } },
+ { { 0x46, 0xdb } },
+ { { 0x47, 0xfb } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x30 } },
+ { { 0x4a, 0xec } },
+ { { 0x4b, 0x02 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x30 } },
+ { { 0x4e, 0xf0 } },
+ { { 0x4f, 0x02 } },
+ { { 0x50, 0x01 } },
+ { { 0x51, 0x14 } },
+ { { 0x52, 0x82 } },
+ { { 0x53, 0x57 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x63 } },
+ { { 0x56, 0xdf } },
+ { { 0x57, 0xfb } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x63 } },
+ { { 0x5a, 0xdb } },
+ { { 0x5b, 0xfb } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x30 } },
+ { { 0x5e, 0xec } },
+ { { 0x5f, 0x02 } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x30 } },
+ { { 0x62, 0xf0 } },
+ { { 0x63, 0x02 } },
+ { { 0x64, 0x01 } },
+ { { 0x65, 0x14 } },
+ { { 0x66, 0x82 } },
+ { { 0x67, 0x69 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x63 } },
+ { { 0x6a, 0xdf } },
+ { { 0x6b, 0xfb } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x63 } },
+ { { 0x6e, 0xdb } },
+ { { 0x6f, 0xfb } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x30 } },
+ { { 0x72, 0xec } },
+ { { 0x73, 0x02 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x30 } },
+ { { 0x76, 0xf0 } },
+ { { 0x77, 0x02 } },
+ { { 0x78, 0x01 } },
+ { { 0x79, 0x14 } },
+ { { 0x7a, 0x82 } },
+ { { 0x7b, 0x74 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x63 } },
+ { { 0x7e, 0xdf } },
+ { { 0x7f, 0xfb } },
+
+ /* Page 164 (0xA4) */
+ { { 0x00, 0xa4 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x63 } },
+ { { 0x0a, 0xdb } },
+ { { 0x0b, 0xfb } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x30 } },
+ { { 0x0e, 0xec } },
+ { { 0x0f, 0x02 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x30 } },
+ { { 0x12, 0xf0 } },
+ { { 0x13, 0x02 } },
+ { { 0x14, 0x01 } },
+ { { 0x15, 0x14 } },
+ { { 0x16, 0x82 } },
+ { { 0x17, 0x90 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x62 } },
+ { { 0x1a, 0x28 } },
+ { { 0x1b, 0xa5 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x62 } },
+ { { 0x1e, 0x28 } },
+ { { 0x1f, 0xa7 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x62 } },
+ { { 0x22, 0x28 } },
+ { { 0x23, 0xa9 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x40 } },
+ { { 0x26, 0x04 } },
+ { { 0x27, 0x9e } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x40 } },
+ { { 0x2a, 0x04 } },
+ { { 0x2b, 0x9f } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x40 } },
+ { { 0x2e, 0x04 } },
+ { { 0x2f, 0xa0 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x62 } },
+ { { 0x32, 0x28 } },
+ { { 0x33, 0xab } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x62 } },
+ { { 0x36, 0x28 } },
+ { { 0x37, 0xad } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x62 } },
+ { { 0x3a, 0x28 } },
+ { { 0x3b, 0xaf } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x40 } },
+ { { 0x3e, 0x04 } },
+ { { 0x3f, 0xa1 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x40 } },
+ { { 0x42, 0x04 } },
+ { { 0x43, 0xa2 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x40 } },
+ { { 0x46, 0x04 } },
+ { { 0x47, 0xa3 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x60 } },
+ { { 0x4a, 0x50 } },
+ { { 0x4b, 0x9e } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x70 } },
+ { { 0x4e, 0x54 } },
+ { { 0x4f, 0xa0 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x70 } },
+ { { 0x52, 0x58 } },
+ { { 0x53, 0xa2 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x00 } },
+ { { 0x56, 0x00 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x00 } },
+ { { 0x5a, 0x00 } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x40 } },
+ { { 0x5e, 0x00 } },
+ { { 0x5f, 0xd2 } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x63 } },
+ { { 0x62, 0xfc } },
+ { { 0x63, 0xd2 } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x63 } },
+ { { 0x66, 0xfc } },
+ { { 0x67, 0xd2 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x00 } },
+ { { 0x6a, 0x00 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x40 } },
+ { { 0x6e, 0x04 } },
+ { { 0x6f, 0xd3 } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x40 } },
+ { { 0x72, 0x04 } },
+ { { 0x73, 0xd4 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x61 } },
+ { { 0x76, 0xb8 } },
+ { { 0x77, 0xd3 } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x61 } },
+ { { 0x7a, 0xb8 } },
+ { { 0x7b, 0xd4 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x21 } },
+ { { 0x7e, 0xf0 } },
+ { { 0x7f, 0xf8 } },
+
+ /* Page 165 (0xA5) */
+ { { 0x00, 0xa5 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x40 } },
+ { { 0x0a, 0x04 } },
+ { { 0x0b, 0xde } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x40 } },
+ { { 0x0e, 0x05 } },
+ { { 0x0f, 0x2a } },
+ { { 0x10, 0x01 } },
+ { { 0x11, 0x14 } },
+ { { 0x12, 0x83 } },
+ { { 0x13, 0xcc } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x21 } },
+ { { 0x16, 0xf0 } },
+ { { 0x17, 0xf9 } },
+ { { 0x18, 0x01 } },
+ { { 0x19, 0x14 } },
+ { { 0x1a, 0x83 } },
+ { { 0x1b, 0xcc } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x6f } },
+ { { 0x1e, 0xec } },
+ { { 0x1f, 0xd5 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x6f } },
+ { { 0x22, 0xec } },
+ { { 0x23, 0xd6 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x93 } },
+ { { 0x26, 0xf0 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x93 } },
+ { { 0x2a, 0xf0 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x93 } },
+ { { 0x2e, 0xec } },
+ { { 0x2f, 0x0f } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x93 } },
+ { { 0x32, 0xec } },
+ { { 0x33, 0x0f } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x30 } },
+ { { 0x36, 0x00 } },
+ { { 0x37, 0x01 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x30 } },
+ { { 0x3a, 0x00 } },
+ { { 0x3b, 0x01 } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x6f } },
+ { { 0x3e, 0xec } },
+ { { 0x3f, 0xd7 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x6f } },
+ { { 0x42, 0xec } },
+ { { 0x43, 0xd8 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x93 } },
+ { { 0x46, 0xf0 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x93 } },
+ { { 0x4a, 0xf0 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x93 } },
+ { { 0x4e, 0xec } },
+ { { 0x4f, 0x0f } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x93 } },
+ { { 0x52, 0xec } },
+ { { 0x53, 0x0f } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x30 } },
+ { { 0x56, 0x00 } },
+ { { 0x57, 0x01 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x30 } },
+ { { 0x5a, 0x00 } },
+ { { 0x5b, 0x01 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x6f } },
+ { { 0x5e, 0xec } },
+ { { 0x5f, 0xd9 } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x6f } },
+ { { 0x62, 0xec } },
+ { { 0x63, 0xda } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x93 } },
+ { { 0x66, 0xf0 } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x93 } },
+ { { 0x6a, 0xf0 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x93 } },
+ { { 0x6e, 0xec } },
+ { { 0x6f, 0x0f } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x93 } },
+ { { 0x72, 0xec } },
+ { { 0x73, 0x0f } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x30 } },
+ { { 0x76, 0x00 } },
+ { { 0x77, 0x01 } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x30 } },
+ { { 0x7a, 0x00 } },
+ { { 0x7b, 0x01 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x6f } },
+ { { 0x7e, 0xec } },
+ { { 0x7f, 0xdb } },
+
+ /* Page 166 (0xA6) */
+ { { 0x00, 0xa6 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x6f } },
+ { { 0x0a, 0xec } },
+ { { 0x0b, 0xdc } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x93 } },
+ { { 0x0e, 0xf0 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x93 } },
+ { { 0x12, 0xf0 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x93 } },
+ { { 0x16, 0xec } },
+ { { 0x17, 0x0f } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x93 } },
+ { { 0x1a, 0xec } },
+ { { 0x1b, 0x0f } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x30 } },
+ { { 0x1e, 0x00 } },
+ { { 0x1f, 0x01 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x30 } },
+ { { 0x22, 0x00 } },
+ { { 0x23, 0x01 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x6f } },
+ { { 0x26, 0xf1 } },
+ { { 0x27, 0x21 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x6f } },
+ { { 0x2a, 0xf1 } },
+ { { 0x2b, 0x22 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x93 } },
+ { { 0x2e, 0xf0 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x93 } },
+ { { 0x32, 0xf0 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x93 } },
+ { { 0x36, 0xec } },
+ { { 0x37, 0x0f } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x93 } },
+ { { 0x3a, 0xec } },
+ { { 0x3b, 0x0f } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x30 } },
+ { { 0x3e, 0x04 } },
+ { { 0x3f, 0x01 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x30 } },
+ { { 0x42, 0x04 } },
+ { { 0x43, 0x01 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x6f } },
+ { { 0x46, 0xf1 } },
+ { { 0x47, 0x23 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x6f } },
+ { { 0x4a, 0xf1 } },
+ { { 0x4b, 0x24 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x93 } },
+ { { 0x4e, 0xf0 } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x93 } },
+ { { 0x52, 0xf0 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x93 } },
+ { { 0x56, 0xec } },
+ { { 0x57, 0x0f } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x93 } },
+ { { 0x5a, 0xec } },
+ { { 0x5b, 0x0f } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x30 } },
+ { { 0x5e, 0x04 } },
+ { { 0x5f, 0x01 } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x30 } },
+ { { 0x62, 0x04 } },
+ { { 0x63, 0x01 } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x6f } },
+ { { 0x66, 0xf1 } },
+ { { 0x67, 0x25 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x6f } },
+ { { 0x6a, 0xf1 } },
+ { { 0x6b, 0x26 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x93 } },
+ { { 0x6e, 0xf0 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x93 } },
+ { { 0x72, 0xf0 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x93 } },
+ { { 0x76, 0xec } },
+ { { 0x77, 0x0f } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x93 } },
+ { { 0x7a, 0xec } },
+ { { 0x7b, 0x0f } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x30 } },
+ { { 0x7e, 0x04 } },
+ { { 0x7f, 0x01 } },
+
+ /* Page 167 (0xA7) */
+ { { 0x00, 0xa7 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x30 } },
+ { { 0x0a, 0x04 } },
+ { { 0x0b, 0x01 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x6f } },
+ { { 0x0e, 0xf1 } },
+ { { 0x0f, 0x27 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x6f } },
+ { { 0x12, 0xf1 } },
+ { { 0x13, 0x28 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x93 } },
+ { { 0x16, 0xf0 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x93 } },
+ { { 0x1a, 0xf0 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x93 } },
+ { { 0x1e, 0xec } },
+ { { 0x1f, 0x0f } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x93 } },
+ { { 0x22, 0xec } },
+ { { 0x23, 0x0f } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x30 } },
+ { { 0x26, 0x04 } },
+ { { 0x27, 0x01 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x30 } },
+ { { 0x2a, 0x04 } },
+ { { 0x2b, 0x01 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x62 } },
+ { { 0x2e, 0xf8 } },
+ { { 0x2f, 0xd3 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x62 } },
+ { { 0x32, 0xf8 } },
+ { { 0x33, 0xd4 } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x30 } },
+ { { 0x36, 0x48 } },
+ { { 0x37, 0x02 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x30 } },
+ { { 0x3a, 0x4c } },
+ { { 0x3b, 0x02 } },
+ { { 0x3c, 0x01 } },
+ { { 0x3d, 0x10 } },
+ { { 0x3e, 0x03 } },
+ { { 0x3f, 0xff } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0xe1 } },
+ { { 0x42, 0x4c } },
+ { { 0x43, 0x11 } },
+ { { 0x44, 0x01 } },
+ { { 0x45, 0x75 } },
+ { { 0x46, 0xb9 } },
+ { { 0x47, 0xa8 } },
+ { { 0x48, 0x01 } },
+ { { 0x49, 0x5d } },
+ { { 0x4a, 0xd2 } },
+ { { 0x4b, 0x20 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x4c } },
+ { { 0x4e, 0xd2 } },
+ { { 0x4f, 0x4e } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0xd4 } },
+ { { 0x52, 0x65 } },
+ { { 0x53, 0xe4 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x14 } },
+ { { 0x56, 0xbb } },
+ { { 0x57, 0xf2 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x9a } },
+ { { 0x5a, 0xa7 } },
+ { { 0x5b, 0x86 } },
+ { { 0x5c, 0x01 } },
+ { { 0x5d, 0x2f } },
+ { { 0x5e, 0xeb } },
+ { { 0x5f, 0x14 } },
+ { { 0x60, 0x01 } },
+ { { 0x61, 0x56 } },
+ { { 0x62, 0xf0 } },
+ { { 0x63, 0xc6 } },
+ { { 0x64, 0x01 } },
+ { { 0x65, 0x62 } },
+ { { 0x66, 0x3f } },
+ { { 0x67, 0x81 } },
+ { { 0x68, 0x01 } },
+ { { 0x69, 0x4c } },
+ { { 0x6a, 0x26 } },
+ { { 0x6b, 0xb1 } },
+ { { 0x6c, 0x01 } },
+ { { 0x6d, 0x23 } },
+ { { 0x6e, 0x3a } },
+ { { 0x6f, 0x3c } },
+ { { 0x70, 0x01 } },
+ { { 0x71, 0xc9 } },
+ { { 0x72, 0x6d } },
+ { { 0x73, 0x89 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x1c } },
+ { { 0x76, 0xf6 } },
+ { { 0x77, 0x84 } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0xec } },
+ { { 0x7a, 0x55 } },
+ { { 0x7b, 0x25 } },
+ { { 0x7c, 0x01 } },
+ { { 0x7d, 0x62 } },
+ { { 0x7e, 0xb7 } },
+ { { 0x7f, 0xb7 } },
+
+ /* Page 168 (0xA8) */
+ { { 0x00, 0xa8 } },
+ { { 0x08, 0x01 } },
+ { { 0x09, 0x16 } },
+ { { 0x0a, 0xf2 } },
+ { { 0x0b, 0x55 } },
+ { { 0x0c, 0x01 } },
+ { { 0x0d, 0x74 } },
+ { { 0x0e, 0x7b } },
+ { { 0x0f, 0x74 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0xf4 } },
+ { { 0x12, 0x7a } },
+ { { 0x13, 0xbc } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x32 } },
+ { { 0x16, 0xb0 } },
+ { { 0x17, 0x84 } },
+ { { 0x18, 0x01 } },
+ { { 0x19, 0xcb } },
+ { { 0x1a, 0x7a } },
+ { { 0x1b, 0xc5 } },
+ { { 0x1c, 0x01 } },
+ { { 0x1d, 0x16 } },
+ { { 0x1e, 0xe9 } },
+ { { 0x1f, 0x73 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x73 } },
+ { { 0x22, 0xbe } },
+ { { 0x23, 0x3b } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x14 } },
+ { { 0x26, 0xe4 } },
+ { { 0x27, 0x1b } },
+ { { 0x28, 0x01 } },
+ { { 0x29, 0xd5 } },
+ { { 0x2a, 0x8b } },
+ { { 0x2b, 0xa5 } },
+ { { 0x2c, 0x01 } },
+ { { 0x2d, 0x7a } },
+ { { 0x2e, 0x2b } },
+ { { 0x2f, 0x78 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x15 } },
+ { { 0x32, 0x7b } },
+ { { 0x33, 0x3a } },
+ { { 0x34, 0x01 } },
+ { { 0x35, 0x13 } },
+ { { 0x36, 0xbf } },
+ { { 0x37, 0x2a } },
+ { { 0x38, 0x01 } },
+ { { 0x39, 0x8f } },
+ { { 0x3a, 0x4d } },
+ { { 0x3b, 0x6e } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0xb2 } },
+ { { 0x3e, 0x34 } },
+ { { 0x3f, 0x74 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x6e } },
+ { { 0x42, 0x83 } },
+ { { 0x43, 0x33 } },
+ { { 0x44, 0x01 } },
+ { { 0x45, 0xb8 } },
+ { { 0x46, 0x27 } },
+ { { 0x47, 0xae } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0xbd } },
+ { { 0x4a, 0xe9 } },
+ { { 0x4b, 0x6f } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x3b } },
+ { { 0x4e, 0x98 } },
+ { { 0x4f, 0xc2 } },
+ { { 0x50, 0x01 } },
+ { { 0x51, 0x83 } },
+ { { 0x52, 0x45 } },
+ { { 0x53, 0x91 } },
+ { { 0x54, 0x01 } },
+ { { 0x55, 0x7c } },
+ { { 0x56, 0x41 } },
+ { { 0x57, 0x94 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x11 } },
+ { { 0x5a, 0xa3 } },
+ { { 0x5b, 0xf1 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x5f } },
+ { { 0x5e, 0xf7 } },
+ { { 0x5f, 0xaf } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0xbc } },
+ { { 0x62, 0x57 } },
+ { { 0x63, 0x5e } },
+ { { 0x64, 0x01 } },
+ { { 0x65, 0x0f } },
+ { { 0x66, 0xf2 } },
+ { { 0x67, 0x7c } },
+ { { 0x68, 0x01 } },
+ { { 0x69, 0xb9 } },
+ { { 0x6a, 0xae } },
+ { { 0x6b, 0x33 } },
+ { { 0x6c, 0x01 } },
+ { { 0x6d, 0xba } },
+ { { 0x6e, 0xff } },
+ { { 0x6f, 0x70 } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0xd1 } },
+ { { 0x72, 0xff } },
+ { { 0x73, 0xf1 } },
+ { { 0x74, 0x01 } },
+ { { 0x75, 0x4f } },
+ { { 0x76, 0x3d } },
+ { { 0x77, 0x26 } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x50 } },
+ { { 0x7a, 0xc6 } },
+ { { 0x7b, 0x92 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x75 } },
+ { { 0x7e, 0xa4 } },
+ { { 0x7f, 0x95 } },
+
+ /* Page 169 (0xA9) */
+ { { 0x00, 0xa9 } },
+ { { 0x08, 0x01 } },
+ { { 0x09, 0x82 } },
+ { { 0x0a, 0xd4 } },
+ { { 0x0b, 0x42 } },
+ { { 0x0c, 0x01 } },
+ { { 0x0d, 0xa7 } },
+ { { 0x0e, 0x73 } },
+ { { 0x0f, 0x97 } },
+
+ /* Post-Initialization */
+ /* reg[ 44][ 1] = 0x00 ; Disable adaptive mode for DAC */
+ { { 0x00, 0x2c } },
+ { { 0x01, 0x00 } },
+
+ /* reg[ 44][ 1] = 0x04 ; Enable adaptive mode for DAC */
+ { { 0x01, 0x04 } },
+
+ /* Page 0 is selected */
+ /* reg[0][2] = 0 */
+ { { 0x00, 0x00 } },
+ { { 0x02, 0x00 } },
+
+ /* reg[0][0x3] = 0x0 */
+ { { 0x03, 0x00 } },
+
+ /* reg[0][7] */
+ { { 0x07, 0x00 } },
+
+ /* reg[0][8] */
+ { { 0x08, 0x20 } },
+
+ /* reg[0][85 ] */
+ { { 0x55, 0x07 } },
+};
+
+#endif
diff --git a/sound/soc/codecs/tas5756m_hf6_cfg.h b/sound/soc/codecs/tas5756m_hf6_cfg.h
new file mode 100644
index 000000000000..b288e6bcc1a4
--- /dev/null
+++ b/sound/soc/codecs/tas5756m_hf6_cfg.h
@@ -0,0 +1,4510 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#ifndef _TAS5756M_HF6_CFG_H
+#define _TAS5756M_HF6_CFG_H
+
+static cfg_reg tas5756m_init_hf6[] = {
+ /* Dump of TAS5754/6M for DirectI2CTab->RegisterDump */
+ /* Standby */
+ { { 0x00, 0x00 } },
+ { { 0x02, 0x10 } },
+
+ /* reg[1][3] = 0x04 */
+ { { 0x00, 0x01 } },
+ { { 0x03, 0x04 } },
+
+ /* reg[0][0x3] = 0x11 */
+ { { 0x00, 0x00 } },
+ { { 0x03, 0x11 } },
+
+ /* Page 0 dump */
+ { { 0x00, 0x00 } },
+ { { 0x03, 0x11 } },
+ { { 0x04, 0x11 } },
+ { { 0x05, 0x21 } },
+ { { 0x06, 0x00 } },
+ { { 0x07, 0x00 } },
+ { { 0x08, 0x20 } },
+ { { 0x09, 0x00 } },
+ { { 0x0a, 0x00 } },
+ { { 0x0b, 0x01 } },
+ { { 0x0c, 0x7c } },
+ { { 0x0d, 0x00 } },
+ { { 0x0e, 0x00 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x00 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x10 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x00 } },
+ { { 0x16, 0x00 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x00 } },
+ { { 0x1a, 0x80 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x00 } },
+ { { 0x1e, 0x00 } },
+ { { 0x1f, 0x04 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x00 } },
+ { { 0x22, 0x00 } },
+ { { 0x23, 0x01 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x00 } },
+ { { 0x26, 0xf3 } },
+ { { 0x27, 0x04 } },
+ { { 0x28, 0x02 } },
+ { { 0x29, 0x00 } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0x1f } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x00 } },
+ { { 0x2e, 0x00 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x00 } },
+ { { 0x32, 0x00 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x00 } },
+ { { 0x36, 0x00 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x00 } },
+ { { 0x3a, 0x00 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x30 } },
+ { { 0x3e, 0x30 } },
+ { { 0x3f, 0x22 } },
+ { { 0x40, 0x02 } },
+ { { 0x41, 0x07 } },
+ { { 0x42, 0x14 } },
+ { { 0x43, 0x05 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x55 } },
+ { { 0x49, 0x00 } },
+ { { 0x4a, 0x00 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x00 } },
+ { { 0x4e, 0x00 } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x00 } },
+ { { 0x52, 0x00 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x07 } },
+ { { 0x56, 0x00 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x81 } },
+ { { 0x59, 0x00 } },
+ { { 0x5a, 0x00 } },
+ { { 0x5b, 0x66 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x40 } },
+ { { 0x5e, 0x0a } },
+ { { 0x5f, 0x01 } },
+ { { 0x60, 0x01 } },
+ { { 0x61, 0x10 } },
+ { { 0x62, 0x00 } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x01 } },
+ { { 0x66, 0x0f } },
+ { { 0x67, 0x03 } },
+ { { 0x68, 0x07 } },
+ { { 0x69, 0x10 } },
+ { { 0x6a, 0xd8 } },
+ { { 0x6b, 0x10 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x00 } },
+ { { 0x6e, 0x04 } },
+ { { 0x6f, 0x08 } },
+ { { 0x70, 0x01 } },
+ { { 0x71, 0x03 } },
+ { { 0x72, 0x03 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x04 } },
+ { { 0x75, 0x00 } },
+ { { 0x76, 0x81 } },
+ { { 0x77, 0x01 } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x00 } },
+ { { 0x7a, 0x00 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x00 } },
+ { { 0x7e, 0x00 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 1 dump */
+ { { 0x00, 0x01 } },
+ { { 0x01, 0x00 } },
+ { { 0x02, 0x00 } },
+ { { 0x03, 0x00 } },
+ { { 0x04, 0x03 } },
+ { { 0x05, 0x00 } },
+ { { 0x06, 0x00 } },
+ { { 0x07, 0x00 } },
+ { { 0x08, 0x10 } },
+ { { 0x09, 0x01 } },
+ { { 0x0a, 0x33 } },
+ { { 0x0b, 0x11 } },
+ { { 0x0c, 0x11 } },
+ { { 0x0d, 0x11 } },
+ { { 0x0e, 0x00 } },
+ { { 0x0f, 0x01 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x00 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x00 } },
+ { { 0x16, 0x00 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x00 } },
+ { { 0x1a, 0x00 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x00 } },
+ { { 0x1e, 0x00 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x00 } },
+ { { 0x22, 0x00 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x00 } },
+ { { 0x26, 0x00 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x00 } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x00 } },
+ { { 0x2e, 0x00 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x00 } },
+ { { 0x32, 0x00 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x00 } },
+ { { 0x36, 0x00 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x00 } },
+ { { 0x3a, 0x00 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x00 } },
+ { { 0x3e, 0x00 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x00 } },
+ { { 0x42, 0x00 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x00 } },
+ { { 0x4a, 0x00 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x00 } },
+ { { 0x4e, 0x00 } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x00 } },
+ { { 0x52, 0x00 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x00 } },
+ { { 0x56, 0x00 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x00 } },
+ { { 0x5a, 0x00 } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x00 } },
+ { { 0x5e, 0x00 } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x00 } },
+ { { 0x62, 0x00 } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x00 } },
+ { { 0x66, 0x00 } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x00 } },
+ { { 0x6a, 0x00 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x00 } },
+ { { 0x6e, 0x00 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x00 } },
+ { { 0x72, 0x00 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x00 } },
+ { { 0x76, 0x00 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x00 } },
+ { { 0x7a, 0x00 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x00 } },
+ { { 0x7e, 0x00 } },
+ { { 0x7f, 0x00 } },
+
+ /* Coefficient Memory A */
+ /* Page 44 (0x2C) */
+ { { 0x00, 0x2c } },
+ { { 0x08, 0x7f } },
+ { { 0x09, 0xff } },
+ { { 0x0a, 0xff } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0xff } },
+ { { 0x0d, 0xff } },
+ { { 0x0e, 0xff } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x20 } },
+ { { 0x12, 0xed } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x20 } },
+ { { 0x16, 0xed } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x20 } },
+ { { 0x1a, 0xed } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x77 } },
+ { { 0x1d, 0xe2 } },
+ { { 0x1e, 0x94 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x8f } },
+ { { 0x21, 0xb7 } },
+ { { 0x22, 0x23 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x59 } },
+ { { 0x25, 0x0c } },
+ { { 0x26, 0xdc } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0xa6 } },
+ { { 0x29, 0xf3 } },
+ { { 0x2a, 0x24 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x59 } },
+ { { 0x2d, 0x0c } },
+ { { 0x2e, 0xdc } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x55 } },
+ { { 0x31, 0x86 } },
+ { { 0x32, 0xe0 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0xc6 } },
+ { { 0x35, 0xda } },
+ { { 0x36, 0x50 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x7f } },
+ { { 0x39, 0xff } },
+ { { 0x3a, 0xff } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x80 } },
+ { { 0x3d, 0x00 } },
+ { { 0x3e, 0x01 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x7f } },
+ { { 0x41, 0xff } },
+ { { 0x42, 0xff } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x80 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x40 } },
+ { { 0x49, 0x00 } },
+ { { 0x4a, 0x00 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x78 } },
+ { { 0x4d, 0x03 } },
+ { { 0x4e, 0x81 } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x87 } },
+ { { 0x51, 0xfc } },
+ { { 0x52, 0x7f } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x78 } },
+ { { 0x55, 0x03 } },
+ { { 0x56, 0x81 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x77 } },
+ { { 0x59, 0xe2 } },
+ { { 0x5a, 0x94 } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x8f } },
+ { { 0x5d, 0xb7 } },
+ { { 0x5e, 0x23 } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0xfd } },
+ { { 0x61, 0xb9 } },
+ { { 0x62, 0x4b } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x16 } },
+ { { 0x65, 0x02 } },
+ { { 0x66, 0x51 } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x06 } },
+ { { 0x6a, 0xd3 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x01 } },
+ { { 0x6d, 0x53 } },
+ { { 0x6e, 0x9a } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x00 } },
+ { { 0x72, 0x00 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0xfe } },
+ { { 0x75, 0xac } },
+ { { 0x76, 0x66 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x7e } },
+ { { 0x79, 0xaa } },
+ { { 0x7a, 0x2b } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x82 } },
+ { { 0x7d, 0xa7 } },
+ { { 0x7e, 0x36 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 45 (0x2D) */
+ { { 0x00, 0x2d } },
+ { { 0x08, 0x7f } },
+ { { 0x09, 0xff } },
+ { { 0x0a, 0xff } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x00 } },
+ { { 0x0e, 0x00 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x80 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x18 } },
+ { { 0x15, 0x00 } },
+ { { 0x16, 0x00 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x09 } },
+ { { 0x19, 0x00 } },
+ { { 0x1a, 0x00 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x00 } },
+ { { 0x1e, 0x00 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x7f } },
+ { { 0x21, 0xff } },
+ { { 0x22, 0xff } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x00 } },
+ { { 0x26, 0x00 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x00 } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x00 } },
+ { { 0x2e, 0x00 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x00 } },
+ { { 0x32, 0x00 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x7f } },
+ { { 0x35, 0xff } },
+ { { 0x36, 0xff } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x00 } },
+ { { 0x3a, 0x00 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x00 } },
+ { { 0x3e, 0x00 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x00 } },
+ { { 0x42, 0x00 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x7f } },
+ { { 0x49, 0xff } },
+ { { 0x4a, 0xff } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x00 } },
+ { { 0x4e, 0x00 } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x00 } },
+ { { 0x52, 0x00 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x00 } },
+ { { 0x56, 0x00 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x00 } },
+ { { 0x5a, 0x00 } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x7d } },
+ { { 0x5d, 0xa6 } },
+ { { 0x5e, 0xe2 } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x82 } },
+ { { 0x61, 0x59 } },
+ { { 0x62, 0x1e } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x7d } },
+ { { 0x65, 0xa6 } },
+ { { 0x66, 0xe2 } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x7d } },
+ { { 0x69, 0xa1 } },
+ { { 0x6a, 0x5f } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x84 } },
+ { { 0x6d, 0xa7 } },
+ { { 0x6e, 0x34 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0x03 } },
+ { { 0x71, 0xd5 } },
+ { { 0x72, 0x85 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x03 } },
+ { { 0x75, 0xd5 } },
+ { { 0x76, 0x85 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x03 } },
+ { { 0x79, 0xd5 } },
+ { { 0x7a, 0x85 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x5d } },
+ { { 0x7d, 0x11 } },
+ { { 0x7e, 0x8e } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 46 (0x2E) */
+ { { 0x00, 0x2e } },
+ { { 0x08, 0xb6 } },
+ { { 0x09, 0x86 } },
+ { { 0x0a, 0xcd } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x00 } },
+ { { 0x0e, 0x00 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x7f } },
+ { { 0x11, 0xff } },
+ { { 0x12, 0xff } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x00 } },
+ { { 0x16, 0x00 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x00 } },
+ { { 0x1a, 0x00 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x00 } },
+ { { 0x1e, 0x00 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x00 } },
+ { { 0x22, 0x00 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x7f } },
+ { { 0x25, 0xff } },
+ { { 0x26, 0xff } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x00 } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x00 } },
+ { { 0x2e, 0x00 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x00 } },
+ { { 0x32, 0x00 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x00 } },
+ { { 0x36, 0x00 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x7f } },
+ { { 0x39, 0xff } },
+ { { 0x3a, 0xff } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x00 } },
+ { { 0x3e, 0x00 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x00 } },
+ { { 0x42, 0x00 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x00 } },
+ { { 0x4a, 0x00 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x7f } },
+ { { 0x4d, 0xff } },
+ { { 0x4e, 0xff } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x00 } },
+ { { 0x52, 0x00 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x00 } },
+ { { 0x56, 0x00 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x00 } },
+ { { 0x5a, 0x00 } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x00 } },
+ { { 0x5e, 0x00 } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x7f } },
+ { { 0x61, 0xff } },
+ { { 0x62, 0xff } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x00 } },
+ { { 0x66, 0x00 } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x00 } },
+ { { 0x6a, 0x00 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x00 } },
+ { { 0x6e, 0x00 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x00 } },
+ { { 0x72, 0x00 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x17 } },
+ { { 0x75, 0x80 } },
+ { { 0x76, 0x00 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x03 } },
+ { { 0x79, 0x85 } },
+ { { 0x7a, 0xfc } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x03 } },
+ { { 0x7d, 0x85 } },
+ { { 0x7e, 0xfc } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 47 (0x2F) */
+ { { 0x00, 0x2f } },
+ { { 0x08, 0x03 } },
+ { { 0x09, 0x85 } },
+ { { 0x0a, 0xfc } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x55 } },
+ { { 0x0d, 0x86 } },
+ { { 0x0e, 0xe0 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0xc6 } },
+ { { 0x11, 0xda } },
+ { { 0x12, 0x50 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x0f } },
+ { { 0x15, 0x80 } },
+ { { 0x16, 0x00 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x1c } },
+ { { 0x19, 0x40 } },
+ { { 0x1a, 0x00 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0xc0 } },
+ { { 0x1d, 0x00 } },
+ { { 0x1e, 0x00 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x7f } },
+ { { 0x21, 0xe1 } },
+ { { 0x22, 0xad } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x80 } },
+ { { 0x25, 0x1e } },
+ { { 0x26, 0x53 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x7f } },
+ { { 0x29, 0xe1 } },
+ { { 0x2a, 0xad } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x7f } },
+ { { 0x2d, 0xe1 } },
+ { { 0x2e, 0xa9 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x80 } },
+ { { 0x31, 0x3c } },
+ { { 0x32, 0x9e } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x7f } },
+ { { 0x35, 0xdd } },
+ { { 0x36, 0xb8 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0xc0 } },
+ { { 0x39, 0x11 } },
+ { { 0x3a, 0x24 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x00 } },
+ { { 0x3e, 0x00 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x3f } },
+ { { 0x41, 0xdd } },
+ { { 0x42, 0xb8 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x7f } },
+ { { 0x49, 0xbb } },
+ { { 0x4a, 0x83 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0xc0 } },
+ { { 0x4d, 0x22 } },
+ { { 0x4e, 0x3f } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x00 } },
+ { { 0x52, 0x00 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x3f } },
+ { { 0x55, 0xbb } },
+ { { 0x56, 0x83 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x00 } },
+ { { 0x5a, 0x00 } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x7f } },
+ { { 0x5d, 0x77 } },
+ { { 0x5e, 0x4f } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0xc0 } },
+ { { 0x61, 0x44 } },
+ { { 0x62, 0x58 } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x00 } },
+ { { 0x66, 0x00 } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x3f } },
+ { { 0x69, 0x77 } },
+ { { 0x6a, 0x50 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x00 } },
+ { { 0x6e, 0x00 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0x7e } },
+ { { 0x71, 0xf6 } },
+ { { 0x72, 0x15 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0xc0 } },
+ { { 0x75, 0x84 } },
+ { { 0x76, 0xf5 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x00 } },
+ { { 0x7a, 0x00 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x3e } },
+ { { 0x7d, 0xf6 } },
+ { { 0x7e, 0x16 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 48 (0x30) */
+ { { 0x00, 0x30 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x00 } },
+ { { 0x0a, 0x00 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x7d } },
+ { { 0x0d, 0xf0 } },
+ { { 0x0e, 0x6b } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0xc1 } },
+ { { 0x11, 0x07 } },
+ { { 0x12, 0xcb } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x00 } },
+ { { 0x16, 0x00 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x3d } },
+ { { 0x19, 0xf0 } },
+ { { 0x1a, 0x6b } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x00 } },
+ { { 0x1e, 0x00 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x7b } },
+ { { 0x21, 0xf1 } },
+ { { 0x22, 0x49 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0xc2 } },
+ { { 0x25, 0x07 } },
+ { { 0x26, 0x5b } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x00 } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x3b } },
+ { { 0x2d, 0xf1 } },
+ { { 0x2e, 0x4a } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x00 } },
+ { { 0x32, 0x00 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x78 } },
+ { { 0x35, 0x20 } },
+ { { 0x36, 0x61 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0xc3 } },
+ { { 0x39, 0xef } },
+ { { 0x3a, 0xd0 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x00 } },
+ { { 0x3e, 0x00 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x38 } },
+ { { 0x41, 0x20 } },
+ { { 0x42, 0x61 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x71 } },
+ { { 0x49, 0x1b } },
+ { { 0x4a, 0xe2 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0xc7 } },
+ { { 0x4d, 0x72 } },
+ { { 0x4e, 0x0f } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x00 } },
+ { { 0x52, 0x00 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x31 } },
+ { { 0x55, 0x1b } },
+ { { 0x56, 0xe2 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x00 } },
+ { { 0x5a, 0x00 } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x0a } },
+ { { 0x5e, 0xb8 } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x05 } },
+ { { 0x62, 0x5c } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x00 } },
+ { { 0x66, 0x00 } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x3f } },
+ { { 0x69, 0xf5 } },
+ { { 0x6a, 0x47 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x00 } },
+ { { 0x6e, 0x00 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x06 } },
+ { { 0x72, 0xd3 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x7f } },
+ { { 0x75, 0xf9 } },
+ { { 0x76, 0x2d } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x28 } },
+ { { 0x7a, 0xef } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x7f } },
+ { { 0x7d, 0xd7 } },
+ { { 0x7e, 0x11 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 49 (0x31) */
+ { { 0x00, 0x31 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x0d } },
+ { { 0x0a, 0xa7 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x7f } },
+ { { 0x0d, 0xf2 } },
+ { { 0x0e, 0x59 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x11 } },
+ { { 0x12, 0x10 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x7f } },
+ { { 0x15, 0xee } },
+ { { 0x16, 0xf0 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x66 } },
+ { { 0x1a, 0x3d } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x7f } },
+ { { 0x1d, 0x99 } },
+ { { 0x1e, 0xc3 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x22 } },
+ { { 0x22, 0x1e } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x7f } },
+ { { 0x25, 0xdd } },
+ { { 0x26, 0xe2 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x88 } },
+ { { 0x2a, 0x40 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x7f } },
+ { { 0x2d, 0x77 } },
+ { { 0x2e, 0xc0 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x03 } },
+ { { 0x31, 0x29 } },
+ { { 0x32, 0x0b } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x7c } },
+ { { 0x35, 0xd6 } },
+ { { 0x36, 0xf5 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x01 } },
+ { { 0x39, 0x0f } },
+ { { 0x3a, 0xef } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x7e } },
+ { { 0x3d, 0xf0 } },
+ { { 0x3e, 0x11 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x00 } },
+ { { 0x42, 0x00 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x00 } },
+ { { 0x4a, 0x00 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x50 } },
+ { { 0x4d, 0x00 } },
+ { { 0x4e, 0x00 } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x14 } },
+ { { 0x51, 0x00 } },
+ { { 0x52, 0x00 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x00 } },
+ { { 0x56, 0x00 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x00 } },
+ { { 0x5a, 0x00 } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0xc0 } },
+ { { 0x5d, 0x00 } },
+ { { 0x5e, 0x00 } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x80 } },
+ { { 0x61, 0x00 } },
+ { { 0x62, 0x00 } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x40 } },
+ { { 0x65, 0x00 } },
+ { { 0x66, 0x00 } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x00 } },
+ { { 0x6a, 0x00 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x00 } },
+ { { 0x6e, 0x00 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0xd7 } },
+ { { 0x71, 0x41 } },
+ { { 0x72, 0xa0 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0xff } },
+ { { 0x75, 0xf0 } },
+ { { 0x76, 0x00 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x88 } },
+ { { 0x79, 0x00 } },
+ { { 0x7a, 0x00 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x18 } },
+ { { 0x7d, 0x00 } },
+ { { 0x7e, 0x00 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 50 (0x32) */
+ { { 0x00, 0x32 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x00 } },
+ { { 0x0a, 0x00 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x00 } },
+ { { 0x0e, 0x00 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x00 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x30 } },
+ { { 0x15, 0x00 } },
+ { { 0x16, 0x00 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0xd0 } },
+ { { 0x19, 0x00 } },
+ { { 0x1a, 0x00 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x03 } },
+ { { 0x1e, 0x84 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0xb2 } },
+ { { 0x22, 0x55 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x0e } },
+ { { 0x25, 0x5b } },
+ { { 0x26, 0xde } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x7f } },
+ { { 0x29, 0xff } },
+ { { 0x2a, 0xff } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x00 } },
+ { { 0x2e, 0x00 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x02 } },
+ { { 0x31, 0x00 } },
+ { { 0x32, 0x00 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x20 } },
+ { { 0x35, 0x00 } },
+ { { 0x36, 0x00 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x51 } },
+ { { 0x3a, 0x26 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x40 } },
+ { { 0x3d, 0x00 } },
+ { { 0x3e, 0x00 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x0c } },
+ { { 0x42, 0xdc } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x02 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x00 } },
+ { { 0x4a, 0x00 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x00 } },
+ { { 0x4e, 0x00 } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x16 } },
+ { { 0x52, 0x5a } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x37 } },
+ { { 0x56, 0x56 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x10 } },
+ { { 0x59, 0xa9 } },
+ { { 0x5a, 0xbf } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x7f } },
+ { { 0x5d, 0xff } },
+ { { 0x5e, 0xff } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x00 } },
+ { { 0x62, 0x00 } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x02 } },
+ { { 0x65, 0x00 } },
+ { { 0x66, 0x00 } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0xe0 } },
+ { { 0x69, 0x00 } },
+ { { 0x6a, 0x00 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x0c } },
+ { { 0x6d, 0x9e } },
+ { { 0x6e, 0x80 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0xc0 } },
+ { { 0x71, 0x00 } },
+ { { 0x72, 0x00 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x4f } },
+ { { 0x75, 0x9f } },
+ { { 0x76, 0x16 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x02 } },
+ { { 0x79, 0x00 } },
+ { { 0x7a, 0x00 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x00 } },
+ { { 0x7e, 0x00 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 51 (0x33) */
+ { { 0x00, 0x33 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x00 } },
+ { { 0x0a, 0x00 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x20 } },
+ { { 0x0d, 0x00 } },
+ { { 0x0e, 0x00 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x40 } },
+ { { 0x11, 0x00 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0xe0 } },
+ { { 0x15, 0x00 } },
+ { { 0x16, 0x00 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0xc0 } },
+ { { 0x19, 0x00 } },
+ { { 0x1a, 0x00 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x00 } },
+ { { 0x1e, 0x00 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x00 } },
+ { { 0x22, 0x00 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x00 } },
+ { { 0x26, 0x00 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x80 } },
+ { { 0x29, 0x00 } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x7f } },
+ { { 0x2d, 0xff } },
+ { { 0x2e, 0xff } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x00 } },
+ { { 0x32, 0x00 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x00 } },
+ { { 0x36, 0x00 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x00 } },
+ { { 0x3a, 0x00 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0xc0 } },
+ { { 0x3d, 0x00 } },
+ { { 0x3e, 0x00 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x00 } },
+ { { 0x42, 0x00 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0xc0 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x37 } },
+ { { 0x49, 0x00 } },
+ { { 0x4a, 0x00 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x24 } },
+ { { 0x4d, 0x80 } },
+ { { 0x4e, 0x00 } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x43 } },
+ { { 0x51, 0x80 } },
+ { { 0x52, 0x00 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x56 } },
+ { { 0x55, 0x80 } },
+ { { 0x56, 0x00 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x00 } },
+ { { 0x5a, 0x00 } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x00 } },
+ { { 0x5e, 0x00 } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x00 } },
+ { { 0x62, 0x00 } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x00 } },
+ { { 0x66, 0x00 } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x00 } },
+ { { 0x6a, 0x00 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x00 } },
+ { { 0x6e, 0x00 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x00 } },
+ { { 0x72, 0x00 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x00 } },
+ { { 0x76, 0x00 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x00 } },
+ { { 0x7a, 0x00 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x00 } },
+ { { 0x7e, 0x00 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 52 (0x34) */
+ { { 0x00, 0x34 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x00 } },
+ { { 0x0a, 0x00 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x00 } },
+ { { 0x0e, 0x00 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x00 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x00 } },
+ { { 0x16, 0x00 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x00 } },
+ { { 0x1a, 0x00 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x00 } },
+ { { 0x1e, 0x00 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x00 } },
+ { { 0x22, 0x00 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x00 } },
+ { { 0x26, 0x00 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x00 } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x00 } },
+ { { 0x2e, 0x00 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x00 } },
+ { { 0x32, 0x00 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x40 } },
+ { { 0x35, 0x00 } },
+ { { 0x36, 0x00 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x04 } },
+ { { 0x3a, 0x00 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x00 } },
+ { { 0x3e, 0x00 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x00 } },
+ { { 0x42, 0x00 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x40 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+
+ /* Coefficient Memory B */
+ /* Page 62 (0x3E) */
+ { { 0x00, 0x3e } },
+ { { 0x08, 0x7f } },
+ { { 0x09, 0xff } },
+ { { 0x0a, 0xff } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0xff } },
+ { { 0x0d, 0xff } },
+ { { 0x0e, 0xff } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x20 } },
+ { { 0x12, 0xed } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x20 } },
+ { { 0x16, 0xed } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x20 } },
+ { { 0x1a, 0xed } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x77 } },
+ { { 0x1d, 0xe2 } },
+ { { 0x1e, 0x93 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x8f } },
+ { { 0x21, 0xb7 } },
+ { { 0x22, 0x24 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x59 } },
+ { { 0x25, 0x0c } },
+ { { 0x26, 0xdb } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0xa6 } },
+ { { 0x29, 0xf3 } },
+ { { 0x2a, 0x25 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x59 } },
+ { { 0x2d, 0x0c } },
+ { { 0x2e, 0xdb } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x55 } },
+ { { 0x31, 0x86 } },
+ { { 0x32, 0xdf } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0xc6 } },
+ { { 0x35, 0xda } },
+ { { 0x36, 0x50 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x7f } },
+ { { 0x39, 0xff } },
+ { { 0x3a, 0xff } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x80 } },
+ { { 0x3d, 0x00 } },
+ { { 0x3e, 0x01 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x7f } },
+ { { 0x41, 0xff } },
+ { { 0x42, 0xff } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x80 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x40 } },
+ { { 0x49, 0x00 } },
+ { { 0x4a, 0x00 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x78 } },
+ { { 0x4d, 0x03 } },
+ { { 0x4e, 0x80 } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x87 } },
+ { { 0x51, 0xfc } },
+ { { 0x52, 0x80 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x78 } },
+ { { 0x55, 0x03 } },
+ { { 0x56, 0x80 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x77 } },
+ { { 0x59, 0xe2 } },
+ { { 0x5a, 0x93 } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x8f } },
+ { { 0x5d, 0xb7 } },
+ { { 0x5e, 0x24 } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0xfd } },
+ { { 0x61, 0x22 } },
+ { { 0x62, 0x6a } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x13 } },
+ { { 0x65, 0xda } },
+ { { 0x66, 0x44 } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x06 } },
+ { { 0x6a, 0xd3 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x01 } },
+ { { 0x6d, 0x53 } },
+ { { 0x6e, 0x9a } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x00 } },
+ { { 0x72, 0x00 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0xfe } },
+ { { 0x75, 0xac } },
+ { { 0x76, 0x66 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x7e } },
+ { { 0x79, 0xaa } },
+ { { 0x7a, 0x2b } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x82 } },
+ { { 0x7d, 0xa7 } },
+ { { 0x7e, 0x36 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 63 (0x3F) */
+ { { 0x00, 0x3f } },
+ { { 0x08, 0x7f } },
+ { { 0x09, 0xff } },
+ { { 0x0a, 0xff } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x00 } },
+ { { 0x0e, 0x00 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x80 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x18 } },
+ { { 0x15, 0x00 } },
+ { { 0x16, 0x00 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x09 } },
+ { { 0x19, 0x00 } },
+ { { 0x1a, 0x00 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x00 } },
+ { { 0x1e, 0x00 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x7f } },
+ { { 0x21, 0xff } },
+ { { 0x22, 0xff } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x00 } },
+ { { 0x26, 0x00 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x00 } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x00 } },
+ { { 0x2e, 0x00 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x00 } },
+ { { 0x32, 0x00 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x7f } },
+ { { 0x35, 0xff } },
+ { { 0x36, 0xff } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x00 } },
+ { { 0x3a, 0x00 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x00 } },
+ { { 0x3e, 0x00 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x00 } },
+ { { 0x42, 0x00 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x7f } },
+ { { 0x49, 0xff } },
+ { { 0x4a, 0xff } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x00 } },
+ { { 0x4e, 0x00 } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x00 } },
+ { { 0x52, 0x00 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x00 } },
+ { { 0x56, 0x00 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x00 } },
+ { { 0x5a, 0x00 } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x7d } },
+ { { 0x5d, 0xa6 } },
+ { { 0x5e, 0xe2 } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x82 } },
+ { { 0x61, 0x59 } },
+ { { 0x62, 0x1e } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x7d } },
+ { { 0x65, 0xa6 } },
+ { { 0x66, 0xe2 } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x7d } },
+ { { 0x69, 0xa1 } },
+ { { 0x6a, 0x5f } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x84 } },
+ { { 0x6d, 0xa7 } },
+ { { 0x6e, 0x34 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0x03 } },
+ { { 0x71, 0xd5 } },
+ { { 0x72, 0x85 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x03 } },
+ { { 0x75, 0xd5 } },
+ { { 0x76, 0x85 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x03 } },
+ { { 0x79, 0xd5 } },
+ { { 0x7a, 0x85 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x5d } },
+ { { 0x7d, 0x11 } },
+ { { 0x7e, 0x8e } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 64 (0x40) */
+ { { 0x00, 0x40 } },
+ { { 0x08, 0xb6 } },
+ { { 0x09, 0x86 } },
+ { { 0x0a, 0xcd } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x00 } },
+ { { 0x0e, 0x00 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x7f } },
+ { { 0x11, 0xff } },
+ { { 0x12, 0xff } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x00 } },
+ { { 0x16, 0x00 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x00 } },
+ { { 0x1a, 0x00 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x00 } },
+ { { 0x1e, 0x00 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x00 } },
+ { { 0x22, 0x00 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x7f } },
+ { { 0x25, 0xff } },
+ { { 0x26, 0xff } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x00 } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x00 } },
+ { { 0x2e, 0x00 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x00 } },
+ { { 0x32, 0x00 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x00 } },
+ { { 0x36, 0x00 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x7f } },
+ { { 0x39, 0xff } },
+ { { 0x3a, 0xff } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x00 } },
+ { { 0x3e, 0x00 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x00 } },
+ { { 0x42, 0x00 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x00 } },
+ { { 0x4a, 0x00 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x7f } },
+ { { 0x4d, 0xff } },
+ { { 0x4e, 0xff } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x00 } },
+ { { 0x52, 0x00 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x00 } },
+ { { 0x56, 0x00 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x00 } },
+ { { 0x5a, 0x00 } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x00 } },
+ { { 0x5e, 0x00 } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x7f } },
+ { { 0x61, 0xff } },
+ { { 0x62, 0xff } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x00 } },
+ { { 0x66, 0x00 } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x00 } },
+ { { 0x6a, 0x00 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x00 } },
+ { { 0x6e, 0x00 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x00 } },
+ { { 0x72, 0x00 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x17 } },
+ { { 0x75, 0x80 } },
+ { { 0x76, 0x00 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x03 } },
+ { { 0x79, 0x85 } },
+ { { 0x7a, 0xfb } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x03 } },
+ { { 0x7d, 0x85 } },
+ { { 0x7e, 0xfb } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 65 (0x41) */
+ { { 0x00, 0x41 } },
+ { { 0x08, 0x03 } },
+ { { 0x09, 0x85 } },
+ { { 0x0a, 0xfb } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x55 } },
+ { { 0x0d, 0x86 } },
+ { { 0x0e, 0xdf } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0xc6 } },
+ { { 0x11, 0xda } },
+ { { 0x12, 0x50 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x0f } },
+ { { 0x15, 0x80 } },
+ { { 0x16, 0x00 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x1c } },
+ { { 0x19, 0x40 } },
+ { { 0x1a, 0x00 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0xc0 } },
+ { { 0x1d, 0x00 } },
+ { { 0x1e, 0x00 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x7f } },
+ { { 0x21, 0xea } },
+ { { 0x22, 0x90 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0xc0 } },
+ { { 0x25, 0x0a } },
+ { { 0x26, 0xb8 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x00 } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x3f } },
+ { { 0x2d, 0xea } },
+ { { 0x2e, 0x90 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x00 } },
+ { { 0x32, 0x00 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x7f } },
+ { { 0x35, 0xff } },
+ { { 0x36, 0xff } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x80 } },
+ { { 0x39, 0x22 } },
+ { { 0x3a, 0x5b } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x7f } },
+ { { 0x3d, 0xbb } },
+ { { 0x3e, 0x70 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x7f } },
+ { { 0x41, 0xdd } },
+ { { 0x42, 0xa5 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x80 } },
+ { { 0x45, 0x44 } },
+ { { 0x46, 0x90 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x7f } },
+ { { 0x49, 0xff } },
+ { { 0x4a, 0xff } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x80 } },
+ { { 0x4d, 0x44 } },
+ { { 0x4e, 0xc7 } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x7f } },
+ { { 0x51, 0x77 } },
+ { { 0x52, 0x06 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x7f } },
+ { { 0x55, 0xbb } },
+ { { 0x56, 0x39 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x80 } },
+ { { 0x59, 0x88 } },
+ { { 0x5a, 0xfa } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x7f } },
+ { { 0x5d, 0xff } },
+ { { 0x5e, 0xff } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x80 } },
+ { { 0x61, 0x89 } },
+ { { 0x62, 0xd6 } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x7e } },
+ { { 0x65, 0xee } },
+ { { 0x66, 0x9f } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x7f } },
+ { { 0x69, 0x76 } },
+ { { 0x6a, 0x2a } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x81 } },
+ { { 0x6d, 0x11 } },
+ { { 0x6e, 0x61 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0x7f } },
+ { { 0x71, 0xff } },
+ { { 0x72, 0xff } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x81 } },
+ { { 0x75, 0x0e } },
+ { { 0x76, 0x45 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x7d } },
+ { { 0x79, 0xec } },
+ { { 0x7a, 0x2b } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x7e } },
+ { { 0x7d, 0xf1 } },
+ { { 0x7e, 0xbb } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 66 (0x42) */
+ { { 0x00, 0x42 } },
+ { { 0x08, 0x82 } },
+ { { 0x09, 0x13 } },
+ { { 0x0a, 0xd5 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x7f } },
+ { { 0x0d, 0xff } },
+ { { 0x0e, 0xff } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x82 } },
+ { { 0x11, 0x20 } },
+ { { 0x12, 0xd9 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x7b } },
+ { { 0x15, 0xe0 } },
+ { { 0x16, 0xd6 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x7d } },
+ { { 0x19, 0xdf } },
+ { { 0x1a, 0x27 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x84 } },
+ { { 0x1d, 0x1f } },
+ { { 0x1e, 0x2a } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x7f } },
+ { { 0x21, 0xff } },
+ { { 0x22, 0xff } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x84 } },
+ { { 0x25, 0x52 } },
+ { { 0x26, 0xa6 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x77 } },
+ { { 0x29, 0xe2 } },
+ { { 0x2a, 0x93 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x7b } },
+ { { 0x2d, 0xad } },
+ { { 0x2e, 0x5a } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x88 } },
+ { { 0x31, 0x1d } },
+ { { 0x32, 0x6d } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x7f } },
+ { { 0x35, 0xff } },
+ { { 0x36, 0xff } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x88 } },
+ { { 0x39, 0xe6 } },
+ { { 0x3a, 0xb7 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x70 } },
+ { { 0x3d, 0x40 } },
+ { { 0x3e, 0xc2 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x77 } },
+ { { 0x41, 0x19 } },
+ { { 0x42, 0x49 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x8f } },
+ { { 0x45, 0xbf } },
+ { { 0x46, 0x3e } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x7f } },
+ { { 0x49, 0xff } },
+ { { 0x4a, 0xff } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x92 } },
+ { { 0x4d, 0xbe } },
+ { { 0x4e, 0xc5 } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x62 } },
+ { { 0x51, 0x37 } },
+ { { 0x52, 0xc4 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x6d } },
+ { { 0x55, 0x41 } },
+ { { 0x56, 0x3b } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x9d } },
+ { { 0x59, 0xc8 } },
+ { { 0x5a, 0x3c } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x7f } },
+ { { 0x5d, 0xf5 } },
+ { { 0x5e, 0x46 } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0xc0 } },
+ { { 0x61, 0x05 } },
+ { { 0x62, 0x5d } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x00 } },
+ { { 0x66, 0x00 } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x3f } },
+ { { 0x69, 0xf5 } },
+ { { 0x6a, 0x47 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x00 } },
+ { { 0x6e, 0x00 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x06 } },
+ { { 0x72, 0xd3 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x7f } },
+ { { 0x75, 0xf9 } },
+ { { 0x76, 0x2d } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x28 } },
+ { { 0x7a, 0xef } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x7f } },
+ { { 0x7d, 0xd7 } },
+ { { 0x7e, 0x11 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 67 (0x43) */
+ { { 0x00, 0x43 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x0d } },
+ { { 0x0a, 0xa7 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x7f } },
+ { { 0x0d, 0xf2 } },
+ { { 0x0e, 0x59 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x11 } },
+ { { 0x12, 0x10 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x7f } },
+ { { 0x15, 0xee } },
+ { { 0x16, 0xf0 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x66 } },
+ { { 0x1a, 0x3d } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x7f } },
+ { { 0x1d, 0x99 } },
+ { { 0x1e, 0xc3 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x22 } },
+ { { 0x22, 0x1e } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x7f } },
+ { { 0x25, 0xdd } },
+ { { 0x26, 0xe2 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x88 } },
+ { { 0x2a, 0x40 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x7f } },
+ { { 0x2d, 0x77 } },
+ { { 0x2e, 0xc0 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x03 } },
+ { { 0x31, 0x29 } },
+ { { 0x32, 0x0b } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x7c } },
+ { { 0x35, 0xd6 } },
+ { { 0x36, 0xf5 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x01 } },
+ { { 0x39, 0x0f } },
+ { { 0x3a, 0xef } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x7e } },
+ { { 0x3d, 0xf0 } },
+ { { 0x3e, 0x11 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x00 } },
+ { { 0x42, 0x00 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x00 } },
+ { { 0x4a, 0x00 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x50 } },
+ { { 0x4d, 0x00 } },
+ { { 0x4e, 0x00 } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x14 } },
+ { { 0x51, 0x00 } },
+ { { 0x52, 0x00 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x00 } },
+ { { 0x56, 0x00 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x00 } },
+ { { 0x5a, 0x00 } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0xc0 } },
+ { { 0x5d, 0x00 } },
+ { { 0x5e, 0x00 } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x80 } },
+ { { 0x61, 0x00 } },
+ { { 0x62, 0x00 } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x40 } },
+ { { 0x65, 0x00 } },
+ { { 0x66, 0x00 } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x00 } },
+ { { 0x6a, 0x00 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x00 } },
+ { { 0x6e, 0x00 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0xd7 } },
+ { { 0x71, 0x41 } },
+ { { 0x72, 0xa0 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0xff } },
+ { { 0x75, 0xf0 } },
+ { { 0x76, 0x00 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x88 } },
+ { { 0x79, 0x00 } },
+ { { 0x7a, 0x00 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x18 } },
+ { { 0x7d, 0x00 } },
+ { { 0x7e, 0x00 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 68 (0x44) */
+ { { 0x00, 0x44 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x00 } },
+ { { 0x0a, 0x00 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x00 } },
+ { { 0x0e, 0x00 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x00 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x30 } },
+ { { 0x15, 0x00 } },
+ { { 0x16, 0x00 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0xd0 } },
+ { { 0x19, 0x00 } },
+ { { 0x1a, 0x00 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x03 } },
+ { { 0x1e, 0x84 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0xb2 } },
+ { { 0x22, 0x55 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x0e } },
+ { { 0x25, 0x5b } },
+ { { 0x26, 0xde } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x7f } },
+ { { 0x29, 0xff } },
+ { { 0x2a, 0xff } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x00 } },
+ { { 0x2e, 0x00 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x02 } },
+ { { 0x31, 0x00 } },
+ { { 0x32, 0x00 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x20 } },
+ { { 0x35, 0x00 } },
+ { { 0x36, 0x00 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x51 } },
+ { { 0x3a, 0x26 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x40 } },
+ { { 0x3d, 0x00 } },
+ { { 0x3e, 0x00 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x0c } },
+ { { 0x42, 0xdc } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x02 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x00 } },
+ { { 0x4a, 0x00 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x00 } },
+ { { 0x4e, 0x00 } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x16 } },
+ { { 0x52, 0x5a } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x37 } },
+ { { 0x56, 0x56 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x10 } },
+ { { 0x59, 0xa9 } },
+ { { 0x5a, 0xbf } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x7f } },
+ { { 0x5d, 0xff } },
+ { { 0x5e, 0xff } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x00 } },
+ { { 0x62, 0x00 } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x02 } },
+ { { 0x65, 0x00 } },
+ { { 0x66, 0x00 } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0xe0 } },
+ { { 0x69, 0x00 } },
+ { { 0x6a, 0x00 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x0c } },
+ { { 0x6d, 0x9e } },
+ { { 0x6e, 0x80 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0xc0 } },
+ { { 0x71, 0x00 } },
+ { { 0x72, 0x00 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x4f } },
+ { { 0x75, 0x9f } },
+ { { 0x76, 0x16 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x02 } },
+ { { 0x79, 0x00 } },
+ { { 0x7a, 0x00 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x00 } },
+ { { 0x7e, 0x00 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 69 (0x45) */
+ { { 0x00, 0x45 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x00 } },
+ { { 0x0a, 0x00 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x20 } },
+ { { 0x0d, 0x00 } },
+ { { 0x0e, 0x00 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x40 } },
+ { { 0x11, 0x00 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0xe0 } },
+ { { 0x15, 0x00 } },
+ { { 0x16, 0x00 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0xc0 } },
+ { { 0x19, 0x00 } },
+ { { 0x1a, 0x00 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x00 } },
+ { { 0x1e, 0x00 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x00 } },
+ { { 0x22, 0x00 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x00 } },
+ { { 0x26, 0x00 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x80 } },
+ { { 0x29, 0x00 } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x7f } },
+ { { 0x2d, 0xff } },
+ { { 0x2e, 0xff } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x00 } },
+ { { 0x32, 0x00 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x00 } },
+ { { 0x36, 0x00 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x00 } },
+ { { 0x3a, 0x00 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0xc0 } },
+ { { 0x3d, 0x00 } },
+ { { 0x3e, 0x00 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x00 } },
+ { { 0x42, 0x00 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0xc0 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x37 } },
+ { { 0x49, 0x00 } },
+ { { 0x4a, 0x00 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x24 } },
+ { { 0x4d, 0x80 } },
+ { { 0x4e, 0x00 } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x43 } },
+ { { 0x51, 0x80 } },
+ { { 0x52, 0x00 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x56 } },
+ { { 0x55, 0x80 } },
+ { { 0x56, 0x00 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x00 } },
+ { { 0x5a, 0x00 } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x00 } },
+ { { 0x5e, 0x00 } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x00 } },
+ { { 0x62, 0x00 } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x00 } },
+ { { 0x66, 0x00 } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x00 } },
+ { { 0x6a, 0x00 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x00 } },
+ { { 0x6e, 0x00 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x00 } },
+ { { 0x72, 0x00 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x00 } },
+ { { 0x76, 0x00 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x00 } },
+ { { 0x7a, 0x00 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x00 } },
+ { { 0x7e, 0x00 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 70 (0x46) */
+ { { 0x00, 0x46 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x00 } },
+ { { 0x0a, 0x00 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x00 } },
+ { { 0x0e, 0x00 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x00 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x00 } },
+ { { 0x16, 0x00 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x00 } },
+ { { 0x1a, 0x00 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x00 } },
+ { { 0x1e, 0x00 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x00 } },
+ { { 0x22, 0x00 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x00 } },
+ { { 0x26, 0x00 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x00 } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x00 } },
+ { { 0x2e, 0x00 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x00 } },
+ { { 0x32, 0x00 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x40 } },
+ { { 0x35, 0x00 } },
+ { { 0x36, 0x00 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x04 } },
+ { { 0x3a, 0x00 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x00 } },
+ { { 0x3e, 0x00 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x00 } },
+ { { 0x42, 0x00 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x40 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+
+ /* Instruction Memory */
+ /* Page 152 (0x98) */
+ { { 0x00, 0x98 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x10 } },
+ { { 0x0a, 0x00 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x10 } },
+ { { 0x0e, 0x04 } },
+ { { 0x0f, 0x01 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x21 } },
+ { { 0x12, 0xf0 } },
+ { { 0x13, 0x20 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x21 } },
+ { { 0x16, 0xec } },
+ { { 0x17, 0x21 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x60 } },
+ { { 0x1a, 0x40 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x01 } },
+ { { 0x1d, 0x20 } },
+ { { 0x1e, 0x78 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x01 } },
+ { { 0x21, 0x20 } },
+ { { 0x22, 0x7c } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x01 } },
+ { { 0x25, 0x14 } },
+ { { 0x26, 0x82 } },
+ { { 0x27, 0xbe } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x21 } },
+ { { 0x2a, 0xf0 } },
+ { { 0x2b, 0x22 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x60 } },
+ { { 0x2e, 0x40 } },
+ { { 0x2f, 0x01 } },
+ { { 0x30, 0x01 } },
+ { { 0x31, 0x20 } },
+ { { 0x32, 0x78 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x01 } },
+ { { 0x35, 0x20 } },
+ { { 0x36, 0x7c } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x01 } },
+ { { 0x39, 0x14 } },
+ { { 0x3a, 0x82 } },
+ { { 0x3b, 0xbe } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x60 } },
+ { { 0x3e, 0x40 } },
+ { { 0x3f, 0x21 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x60 } },
+ { { 0x42, 0x98 } },
+ { { 0x43, 0x48 } },
+ { { 0x44, 0x01 } },
+ { { 0x45, 0xb0 } },
+ { { 0x46, 0x94 } },
+ { { 0x47, 0x47 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x40 } },
+ { { 0x4a, 0x04 } },
+ { { 0x4b, 0x46 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x70 } },
+ { { 0x4e, 0x90 } },
+ { { 0x4f, 0x46 } },
+ { { 0x50, 0x01 } },
+ { { 0x51, 0xb0 } },
+ { { 0x52, 0x9c } },
+ { { 0x53, 0x4a } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x70 } },
+ { { 0x56, 0xa0 } },
+ { { 0x57, 0x4b } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x60 } },
+ { { 0x5a, 0xac } },
+ { { 0x5b, 0x4b } },
+ { { 0x5c, 0x01 } },
+ { { 0x5d, 0xb0 } },
+ { { 0x5e, 0xa8 } },
+ { { 0x5f, 0x4a } },
+ { { 0x60, 0x01 } },
+ { { 0x61, 0x30 } },
+ { { 0x62, 0xa4 } },
+ { { 0x63, 0x49 } },
+ { { 0x64, 0x01 } },
+ { { 0x65, 0xb0 } },
+ { { 0x66, 0xb0 } },
+ { { 0x67, 0x4d } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x70 } },
+ { { 0x6a, 0xb4 } },
+ { { 0x6b, 0x4e } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x60 } },
+ { { 0x6e, 0xc0 } },
+ { { 0x6f, 0x4e } },
+ { { 0x70, 0x01 } },
+ { { 0x71, 0xb0 } },
+ { { 0x72, 0xbc } },
+ { { 0x73, 0x4d } },
+ { { 0x74, 0x01 } },
+ { { 0x75, 0x30 } },
+ { { 0x76, 0xb8 } },
+ { { 0x77, 0x4c } },
+ { { 0x78, 0x01 } },
+ { { 0x79, 0xb0 } },
+ { { 0x7a, 0xc4 } },
+ { { 0x7b, 0x50 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x70 } },
+ { { 0x7e, 0xc8 } },
+ { { 0x7f, 0x51 } },
+
+ /* Page 153 (0x99) */
+ { { 0x00, 0x99 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x00 } },
+ { { 0x0a, 0x00 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x00 } },
+ { { 0x0e, 0x00 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x40 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x4f } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x60 } },
+ { { 0x16, 0x40 } },
+ { { 0x17, 0x43 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x60 } },
+ { { 0x1a, 0x98 } },
+ { { 0x1b, 0x54 } },
+ { { 0x1c, 0x01 } },
+ { { 0x1d, 0xb0 } },
+ { { 0x1e, 0x94 } },
+ { { 0x1f, 0x53 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x40 } },
+ { { 0x22, 0x04 } },
+ { { 0x23, 0x52 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x70 } },
+ { { 0x26, 0x90 } },
+ { { 0x27, 0x52 } },
+ { { 0x28, 0x01 } },
+ { { 0x29, 0xb0 } },
+ { { 0x2a, 0x9c } },
+ { { 0x2b, 0x56 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x70 } },
+ { { 0x2e, 0xa0 } },
+ { { 0x2f, 0x57 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x60 } },
+ { { 0x32, 0xac } },
+ { { 0x33, 0x57 } },
+ { { 0x34, 0x01 } },
+ { { 0x35, 0xb0 } },
+ { { 0x36, 0xa8 } },
+ { { 0x37, 0x56 } },
+ { { 0x38, 0x01 } },
+ { { 0x39, 0x30 } },
+ { { 0x3a, 0xa4 } },
+ { { 0x3b, 0x55 } },
+ { { 0x3c, 0x01 } },
+ { { 0x3d, 0xb0 } },
+ { { 0x3e, 0xb0 } },
+ { { 0x3f, 0x59 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x70 } },
+ { { 0x42, 0xb4 } },
+ { { 0x43, 0x5a } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x60 } },
+ { { 0x46, 0xc0 } },
+ { { 0x47, 0x5a } },
+ { { 0x48, 0x01 } },
+ { { 0x49, 0xb0 } },
+ { { 0x4a, 0xbc } },
+ { { 0x4b, 0x59 } },
+ { { 0x4c, 0x01 } },
+ { { 0x4d, 0x30 } },
+ { { 0x4e, 0xb8 } },
+ { { 0x4f, 0x58 } },
+ { { 0x50, 0x01 } },
+ { { 0x51, 0xb0 } },
+ { { 0x52, 0xc4 } },
+ { { 0x53, 0x5c } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x70 } },
+ { { 0x56, 0xc8 } },
+ { { 0x57, 0x5d } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x00 } },
+ { { 0x5a, 0x00 } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x00 } },
+ { { 0x5e, 0x00 } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x40 } },
+ { { 0x62, 0x00 } },
+ { { 0x63, 0x5b } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x21 } },
+ { { 0x66, 0xec } },
+ { { 0x67, 0x5d } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x21 } },
+ { { 0x6a, 0xf0 } },
+ { { 0x6b, 0x57 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x60 } },
+ { { 0x6e, 0x40 } },
+ { { 0x6f, 0x21 } },
+ { { 0x70, 0x01 } },
+ { { 0x71, 0x20 } },
+ { { 0x72, 0x78 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x01 } },
+ { { 0x75, 0x20 } },
+ { { 0x76, 0x7c } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x01 } },
+ { { 0x79, 0x14 } },
+ { { 0x7a, 0x82 } },
+ { { 0x7b, 0xb4 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x21 } },
+ { { 0x7e, 0xf0 } },
+ { { 0x7f, 0x5e } },
+
+ /* Page 154 (0x9A) */
+ { { 0x00, 0x9a } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x60 } },
+ { { 0x0a, 0x40 } },
+ { { 0x0b, 0x43 } },
+ { { 0x0c, 0x01 } },
+ { { 0x0d, 0x20 } },
+ { { 0x0e, 0x78 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x01 } },
+ { { 0x11, 0x20 } },
+ { { 0x12, 0x7c } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x01 } },
+ { { 0x15, 0x14 } },
+ { { 0x16, 0x82 } },
+ { { 0x17, 0xb4 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x60 } },
+ { { 0x1a, 0x78 } },
+ { { 0x1b, 0x21 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x60 } },
+ { { 0x1e, 0x6c } },
+ { { 0x1f, 0x86 } },
+ { { 0x20, 0x01 } },
+ { { 0x21, 0xb0 } },
+ { { 0x22, 0x68 } },
+ { { 0x23, 0x85 } },
+ { { 0x24, 0x01 } },
+ { { 0x25, 0x30 } },
+ { { 0x26, 0x64 } },
+ { { 0x27, 0x84 } },
+ { { 0x28, 0x01 } },
+ { { 0x29, 0xb0 } },
+ { { 0x2a, 0x70 } },
+ { { 0x2b, 0x88 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x70 } },
+ { { 0x2e, 0x74 } },
+ { { 0x2f, 0x89 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x60 } },
+ { { 0x32, 0x78 } },
+ { { 0x33, 0x43 } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x60 } },
+ { { 0x36, 0x6c } },
+ { { 0x37, 0x8c } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x40 } },
+ { { 0x3a, 0x00 } },
+ { { 0x3b, 0x87 } },
+ { { 0x3c, 0x01 } },
+ { { 0x3d, 0x30 } },
+ { { 0x3e, 0x64 } },
+ { { 0x3f, 0x8a } },
+ { { 0x40, 0x01 } },
+ { { 0x41, 0xb0 } },
+ { { 0x42, 0x68 } },
+ { { 0x43, 0x8b } },
+ { { 0x44, 0x01 } },
+ { { 0x45, 0xb0 } },
+ { { 0x46, 0x70 } },
+ { { 0x47, 0x8e } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x70 } },
+ { { 0x4a, 0x74 } },
+ { { 0x4b, 0x8f } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x00 } },
+ { { 0x4e, 0x00 } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x00 } },
+ { { 0x52, 0x00 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x40 } },
+ { { 0x56, 0x00 } },
+ { { 0x57, 0x8d } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x60 } },
+ { { 0x5a, 0x60 } },
+ { { 0x5b, 0x93 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x70 } },
+ { { 0x5e, 0x3c } },
+ { { 0x5f, 0x93 } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0xc0 } },
+ { { 0x62, 0x60 } },
+ { { 0x63, 0x87 } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x90 } },
+ { { 0x66, 0x3c } },
+ { { 0x67, 0x3f } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0xe0 } },
+ { { 0x6a, 0x40 } },
+ { { 0x6b, 0x97 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x60 } },
+ { { 0x6e, 0x60 } },
+ { { 0x6f, 0x95 } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x70 } },
+ { { 0x72, 0x3c } },
+ { { 0x73, 0x95 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x40 } },
+ { { 0x76, 0x04 } },
+ { { 0x77, 0x92 } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0xc0 } },
+ { { 0x7a, 0x60 } },
+ { { 0x7b, 0x8d } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x90 } },
+ { { 0x7e, 0x3c } },
+ { { 0x7f, 0x3f } },
+
+ /* Page 155 (0x9B) */
+ { { 0x00, 0x9b } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0xe0 } },
+ { { 0x0a, 0x40 } },
+ { { 0x0b, 0x97 } },
+ { { 0x0c, 0x01 } },
+ { { 0x0d, 0x01 } },
+ { { 0x0e, 0x7c } },
+ { { 0x0f, 0x92 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x60 } },
+ { { 0x12, 0x5b } },
+ { { 0x13, 0xfb } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x40 } },
+ { { 0x16, 0x04 } },
+ { { 0x17, 0x94 } },
+ { { 0x18, 0x01 } },
+ { { 0x19, 0x10 } },
+ { { 0x1a, 0x0c } },
+ { { 0x1b, 0x02 } },
+ { { 0x1c, 0x01 } },
+ { { 0x1d, 0xb0 } },
+ { { 0x1e, 0x40 } },
+ { { 0x1f, 0x92 } },
+ { { 0x20, 0x01 } },
+ { { 0x21, 0x10 } },
+ { { 0x22, 0x00 } },
+ { { 0x23, 0x02 } },
+ { { 0x24, 0x01 } },
+ { { 0x25, 0xb0 } },
+ { { 0x26, 0x40 } },
+ { { 0x27, 0x94 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x00 } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x00 } },
+ { { 0x2e, 0x00 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x40 } },
+ { { 0x32, 0x00 } },
+ { { 0x33, 0x96 } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x60 } },
+ { { 0x36, 0x40 } },
+ { { 0x37, 0x96 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x00 } },
+ { { 0x3a, 0x00 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x00 } },
+ { { 0x3e, 0x00 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x01 } },
+ { { 0x41, 0x10 } },
+ { { 0x42, 0x18 } },
+ { { 0x43, 0x02 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x90 } },
+ { { 0x46, 0x5c } },
+ { { 0x47, 0x05 } },
+ { { 0x48, 0x01 } },
+ { { 0x49, 0x10 } },
+ { { 0x4a, 0x00 } },
+ { { 0x4b, 0x02 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x60 } },
+ { { 0x4e, 0x7c } },
+ { { 0x4f, 0x96 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x00 } },
+ { { 0x52, 0x00 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x60 } },
+ { { 0x56, 0x3c } },
+ { { 0x57, 0x6e } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x40 } },
+ { { 0x5a, 0x04 } },
+ { { 0x5b, 0x98 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x83 } },
+ { { 0x5e, 0x80 } },
+ { { 0x5f, 0x03 } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x73 } },
+ { { 0x62, 0x80 } },
+ { { 0x63, 0x6e } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x63 } },
+ { { 0x66, 0x80 } },
+ { { 0x67, 0x4f } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x90 } },
+ { { 0x6a, 0x3c } },
+ { { 0x6b, 0x3f } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0xe0 } },
+ { { 0x6e, 0x40 } },
+ { { 0x6f, 0x97 } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x63 } },
+ { { 0x72, 0x80 } },
+ { { 0x73, 0x81 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x70 } },
+ { { 0x76, 0x3c } },
+ { { 0x77, 0x81 } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x40 } },
+ { { 0x7a, 0x04 } },
+ { { 0x7b, 0x90 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x63 } },
+ { { 0x7e, 0x80 } },
+ { { 0x7f, 0x5b } },
+
+ /* Page 156 (0x9C) */
+ { { 0x00, 0x9c } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x90 } },
+ { { 0x0a, 0x3c } },
+ { { 0x0b, 0x3f } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0xe0 } },
+ { { 0x0e, 0x40 } },
+ { { 0x0f, 0x97 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x00 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x00 } },
+ { { 0x16, 0x00 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x40 } },
+ { { 0x1a, 0x04 } },
+ { { 0x1b, 0x91 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x60 } },
+ { { 0x1e, 0x40 } },
+ { { 0x1f, 0x98 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x00 } },
+ { { 0x22, 0x00 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x00 } },
+ { { 0x26, 0x00 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x80 } },
+ { { 0x2a, 0x8c } },
+ { { 0x2b, 0x03 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x60 } },
+ { { 0x2e, 0x40 } },
+ { { 0x2f, 0x90 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x73 } },
+ { { 0x32, 0x84 } },
+ { { 0x33, 0x91 } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x60 } },
+ { { 0x36, 0xd4 } },
+ { { 0x37, 0x9d } },
+ { { 0x38, 0x01 } },
+ { { 0x39, 0xb0 } },
+ { { 0x3a, 0xd0 } },
+ { { 0x3b, 0x9c } },
+ { { 0x3c, 0x01 } },
+ { { 0x3d, 0x30 } },
+ { { 0x3e, 0xcc } },
+ { { 0x3f, 0x9b } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x70 } },
+ { { 0x42, 0xdc } },
+ { { 0x43, 0xa0 } },
+ { { 0x44, 0x01 } },
+ { { 0x45, 0xb0 } },
+ { { 0x46, 0xd8 } },
+ { { 0x47, 0x9f } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x60 } },
+ { { 0x4a, 0xe8 } },
+ { { 0x4b, 0xa0 } },
+ { { 0x4c, 0x01 } },
+ { { 0x4d, 0xb0 } },
+ { { 0x4e, 0xe4 } },
+ { { 0x4f, 0x9f } },
+ { { 0x50, 0x01 } },
+ { { 0x51, 0x30 } },
+ { { 0x52, 0xe0 } },
+ { { 0x53, 0x9e } },
+ { { 0x54, 0x01 } },
+ { { 0x55, 0xb0 } },
+ { { 0x56, 0xec } },
+ { { 0x57, 0xa2 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x70 } },
+ { { 0x5a, 0xf0 } },
+ { { 0x5b, 0xa3 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x60 } },
+ { { 0x5e, 0x40 } },
+ { { 0x5f, 0x90 } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0xe0 } },
+ { { 0x62, 0xf4 } },
+ { { 0x63, 0xa3 } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x40 } },
+ { { 0x66, 0x00 } },
+ { { 0x67, 0xa1 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x60 } },
+ { { 0x6a, 0x3c } },
+ { { 0x6b, 0xa1 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x60 } },
+ { { 0x6e, 0x40 } },
+ { { 0x6f, 0x91 } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0xe0 } },
+ { { 0x72, 0xf4 } },
+ { { 0x73, 0x99 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x00 } },
+ { { 0x76, 0x00 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x00 } },
+ { { 0x7a, 0x00 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x40 } },
+ { { 0x7e, 0x00 } },
+ { { 0x7f, 0x9a } },
+
+ /* Page 157 (0x9D) */
+ { { 0x00, 0x9d } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x60 } },
+ { { 0x0a, 0x00 } },
+ { { 0x0b, 0x99 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x60 } },
+ { { 0x0e, 0x00 } },
+ { { 0x0f, 0x9a } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x00 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x40 } },
+ { { 0x16, 0x04 } },
+ { { 0x17, 0xa4 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x40 } },
+ { { 0x1a, 0x04 } },
+ { { 0x1b, 0xa5 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x60 } },
+ { { 0x1e, 0x78 } },
+ { { 0x1f, 0xa4 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x60 } },
+ { { 0x22, 0x10 } },
+ { { 0x23, 0xa8 } },
+ { { 0x24, 0x01 } },
+ { { 0x25, 0xb0 } },
+ { { 0x26, 0x0c } },
+ { { 0x27, 0xa7 } },
+ { { 0x28, 0x01 } },
+ { { 0x29, 0x30 } },
+ { { 0x2a, 0x08 } },
+ { { 0x2b, 0xa6 } },
+ { { 0x2c, 0x01 } },
+ { { 0x2d, 0xb0 } },
+ { { 0x2e, 0x14 } },
+ { { 0x2f, 0xaa } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x70 } },
+ { { 0x32, 0x18 } },
+ { { 0x33, 0xab } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x60 } },
+ { { 0x36, 0x78 } },
+ { { 0x37, 0xa5 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x60 } },
+ { { 0x3a, 0x10 } },
+ { { 0x3b, 0xae } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x40 } },
+ { { 0x3e, 0x00 } },
+ { { 0x3f, 0xa9 } },
+ { { 0x40, 0x01 } },
+ { { 0x41, 0x30 } },
+ { { 0x42, 0x08 } },
+ { { 0x43, 0xac } },
+ { { 0x44, 0x01 } },
+ { { 0x45, 0xb0 } },
+ { { 0x46, 0x0c } },
+ { { 0x47, 0xad } },
+ { { 0x48, 0x01 } },
+ { { 0x49, 0xb0 } },
+ { { 0x4a, 0x14 } },
+ { { 0x4b, 0xb0 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x70 } },
+ { { 0x4e, 0x18 } },
+ { { 0x4f, 0xb1 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x00 } },
+ { { 0x52, 0x00 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x00 } },
+ { { 0x56, 0x00 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x40 } },
+ { { 0x5a, 0x00 } },
+ { { 0x5b, 0xaf } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x60 } },
+ { { 0x5e, 0x78 } },
+ { { 0x5f, 0xa4 } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x60 } },
+ { { 0x62, 0x4c } },
+ { { 0x63, 0xb4 } },
+ { { 0x64, 0x01 } },
+ { { 0x65, 0xb0 } },
+ { { 0x66, 0x48 } },
+ { { 0x67, 0xb3 } },
+ { { 0x68, 0x01 } },
+ { { 0x69, 0x30 } },
+ { { 0x6a, 0x44 } },
+ { { 0x6b, 0xb2 } },
+ { { 0x6c, 0x01 } },
+ { { 0x6d, 0xb0 } },
+ { { 0x6e, 0x50 } },
+ { { 0x6f, 0xb6 } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x70 } },
+ { { 0x72, 0x54 } },
+ { { 0x73, 0xb7 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x60 } },
+ { { 0x76, 0x78 } },
+ { { 0x77, 0xa5 } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x60 } },
+ { { 0x7a, 0x4c } },
+ { { 0x7b, 0xba } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x40 } },
+ { { 0x7e, 0x00 } },
+ { { 0x7f, 0xb5 } },
+
+ /* Page 158 (0x9E) */
+ { { 0x00, 0x9e } },
+ { { 0x08, 0x01 } },
+ { { 0x09, 0x30 } },
+ { { 0x0a, 0x44 } },
+ { { 0x0b, 0xb8 } },
+ { { 0x0c, 0x01 } },
+ { { 0x0d, 0xb0 } },
+ { { 0x0e, 0x48 } },
+ { { 0x0f, 0xb9 } },
+ { { 0x10, 0x01 } },
+ { { 0x11, 0xb0 } },
+ { { 0x12, 0x50 } },
+ { { 0x13, 0xbc } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x70 } },
+ { { 0x16, 0x54 } },
+ { { 0x17, 0xbd } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x00 } },
+ { { 0x1a, 0x00 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x00 } },
+ { { 0x1e, 0x00 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x40 } },
+ { { 0x22, 0x00 } },
+ { { 0x23, 0xbb } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x60 } },
+ { { 0x26, 0x78 } },
+ { { 0x27, 0xb5 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x61 } },
+ { { 0x2a, 0x68 } },
+ { { 0x2b, 0xc0 } },
+ { { 0x2c, 0x01 } },
+ { { 0x2d, 0xb1 } },
+ { { 0x2e, 0x64 } },
+ { { 0x2f, 0xbf } },
+ { { 0x30, 0x01 } },
+ { { 0x31, 0x31 } },
+ { { 0x32, 0x60 } },
+ { { 0x33, 0xbe } },
+ { { 0x34, 0x01 } },
+ { { 0x35, 0xb1 } },
+ { { 0x36, 0x6c } },
+ { { 0x37, 0xc2 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x71 } },
+ { { 0x3a, 0x70 } },
+ { { 0x3b, 0xc3 } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x60 } },
+ { { 0x3e, 0x78 } },
+ { { 0x3f, 0xbb } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x61 } },
+ { { 0x42, 0x68 } },
+ { { 0x43, 0xc6 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x40 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0xc1 } },
+ { { 0x48, 0x01 } },
+ { { 0x49, 0x31 } },
+ { { 0x4a, 0x60 } },
+ { { 0x4b, 0xc4 } },
+ { { 0x4c, 0x01 } },
+ { { 0x4d, 0xb1 } },
+ { { 0x4e, 0x64 } },
+ { { 0x4f, 0xc5 } },
+ { { 0x50, 0x01 } },
+ { { 0x51, 0xb1 } },
+ { { 0x52, 0x6c } },
+ { { 0x53, 0xc8 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x71 } },
+ { { 0x56, 0x70 } },
+ { { 0x57, 0xc9 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x00 } },
+ { { 0x5a, 0x00 } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x00 } },
+ { { 0x5e, 0x00 } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x40 } },
+ { { 0x62, 0x00 } },
+ { { 0x63, 0xc7 } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x60 } },
+ { { 0x66, 0x78 } },
+ { { 0x67, 0xa4 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x60 } },
+ { { 0x6a, 0x24 } },
+ { { 0x6b, 0xcc } },
+ { { 0x6c, 0x01 } },
+ { { 0x6d, 0xb0 } },
+ { { 0x6e, 0x20 } },
+ { { 0x6f, 0xcb } },
+ { { 0x70, 0x01 } },
+ { { 0x71, 0x30 } },
+ { { 0x72, 0x1c } },
+ { { 0x73, 0xca } },
+ { { 0x74, 0x01 } },
+ { { 0x75, 0xb0 } },
+ { { 0x76, 0x28 } },
+ { { 0x77, 0xce } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x70 } },
+ { { 0x7a, 0x2c } },
+ { { 0x7b, 0xcf } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x60 } },
+ { { 0x7e, 0x78 } },
+ { { 0x7f, 0xa5 } },
+
+ /* Page 159 (0x9F) */
+ { { 0x00, 0x9f } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x60 } },
+ { { 0x0a, 0x24 } },
+ { { 0x0b, 0xd2 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x40 } },
+ { { 0x0e, 0x00 } },
+ { { 0x0f, 0xcd } },
+ { { 0x10, 0x01 } },
+ { { 0x11, 0x30 } },
+ { { 0x12, 0x1c } },
+ { { 0x13, 0xd0 } },
+ { { 0x14, 0x01 } },
+ { { 0x15, 0xb0 } },
+ { { 0x16, 0x20 } },
+ { { 0x17, 0xd1 } },
+ { { 0x18, 0x01 } },
+ { { 0x19, 0xb0 } },
+ { { 0x1a, 0x28 } },
+ { { 0x1b, 0xd4 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x70 } },
+ { { 0x1e, 0x2c } },
+ { { 0x1f, 0xd5 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x00 } },
+ { { 0x22, 0x00 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x00 } },
+ { { 0x26, 0x00 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x40 } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0xd3 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x63 } },
+ { { 0x2e, 0x8f } },
+ { { 0x2f, 0xfb } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x63 } },
+ { { 0x32, 0x8b } },
+ { { 0x33, 0xfb } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x30 } },
+ { { 0x36, 0xec } },
+ { { 0x37, 0x02 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x30 } },
+ { { 0x3a, 0xf0 } },
+ { { 0x3b, 0x02 } },
+ { { 0x3c, 0x01 } },
+ { { 0x3d, 0x14 } },
+ { { 0x3e, 0x82 } },
+ { { 0x3f, 0x44 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x62 } },
+ { { 0x42, 0xb4 } },
+ { { 0x43, 0xa9 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x62 } },
+ { { 0x46, 0xb4 } },
+ { { 0x47, 0xaf } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x62 } },
+ { { 0x4a, 0xb4 } },
+ { { 0x4b, 0xc1 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x40 } },
+ { { 0x4e, 0x04 } },
+ { { 0x4f, 0xdc } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x40 } },
+ { { 0x52, 0x04 } },
+ { { 0x53, 0xde } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x40 } },
+ { { 0x56, 0x04 } },
+ { { 0x57, 0xe0 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x62 } },
+ { { 0x5a, 0xb4 } },
+ { { 0x5b, 0xc7 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x62 } },
+ { { 0x5e, 0xb4 } },
+ { { 0x5f, 0xcd } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x62 } },
+ { { 0x62, 0xb4 } },
+ { { 0x63, 0xd3 } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x40 } },
+ { { 0x66, 0x04 } },
+ { { 0x67, 0xe2 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x40 } },
+ { { 0x6a, 0x04 } },
+ { { 0x6b, 0xe4 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x40 } },
+ { { 0x6e, 0x04 } },
+ { { 0x6f, 0xe6 } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x63 } },
+ { { 0x72, 0x8f } },
+ { { 0x73, 0xfb } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x63 } },
+ { { 0x76, 0x8b } },
+ { { 0x77, 0xfb } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x30 } },
+ { { 0x7a, 0xec } },
+ { { 0x7b, 0x02 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x30 } },
+ { { 0x7e, 0xf0 } },
+ { { 0x7f, 0x02 } },
+
+ /* Page 160 (0xA0) */
+ { { 0x00, 0xa0 } },
+ { { 0x08, 0x01 } },
+ { { 0x09, 0x14 } },
+ { { 0x0a, 0x82 } },
+ { { 0x0b, 0x4b } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x63 } },
+ { { 0x0e, 0x8f } },
+ { { 0x0f, 0xfb } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x63 } },
+ { { 0x12, 0x8b } },
+ { { 0x13, 0xfb } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x30 } },
+ { { 0x16, 0xec } },
+ { { 0x17, 0x02 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x30 } },
+ { { 0x1a, 0xf0 } },
+ { { 0x1b, 0x02 } },
+ { { 0x1c, 0x01 } },
+ { { 0x1d, 0x14 } },
+ { { 0x1e, 0x82 } },
+ { { 0x1f, 0x52 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x63 } },
+ { { 0x22, 0x8f } },
+ { { 0x23, 0xfb } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x63 } },
+ { { 0x26, 0x8b } },
+ { { 0x27, 0xfb } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x30 } },
+ { { 0x2a, 0xec } },
+ { { 0x2b, 0x02 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x30 } },
+ { { 0x2e, 0xf0 } },
+ { { 0x2f, 0x02 } },
+ { { 0x30, 0x01 } },
+ { { 0x31, 0x14 } },
+ { { 0x32, 0x82 } },
+ { { 0x33, 0x57 } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x63 } },
+ { { 0x36, 0x8f } },
+ { { 0x37, 0xfb } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x63 } },
+ { { 0x3a, 0x8b } },
+ { { 0x3b, 0xfb } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x30 } },
+ { { 0x3e, 0xec } },
+ { { 0x3f, 0x02 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x30 } },
+ { { 0x42, 0xf0 } },
+ { { 0x43, 0x02 } },
+ { { 0x44, 0x01 } },
+ { { 0x45, 0x14 } },
+ { { 0x46, 0x82 } },
+ { { 0x47, 0x69 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x63 } },
+ { { 0x4a, 0x8f } },
+ { { 0x4b, 0xfb } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x63 } },
+ { { 0x4e, 0x8b } },
+ { { 0x4f, 0xfb } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x30 } },
+ { { 0x52, 0xec } },
+ { { 0x53, 0x02 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x30 } },
+ { { 0x56, 0xf0 } },
+ { { 0x57, 0x02 } },
+ { { 0x58, 0x01 } },
+ { { 0x59, 0x14 } },
+ { { 0x5a, 0x82 } },
+ { { 0x5b, 0x74 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x63 } },
+ { { 0x5e, 0x8f } },
+ { { 0x5f, 0xfb } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x63 } },
+ { { 0x62, 0x8b } },
+ { { 0x63, 0xfb } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x30 } },
+ { { 0x66, 0xec } },
+ { { 0x67, 0x02 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x30 } },
+ { { 0x6a, 0xf0 } },
+ { { 0x6b, 0x02 } },
+ { { 0x6c, 0x01 } },
+ { { 0x6d, 0x14 } },
+ { { 0x6e, 0x82 } },
+ { { 0x6f, 0x90 } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x62 } },
+ { { 0x72, 0xb4 } },
+ { { 0x73, 0xdd } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x62 } },
+ { { 0x76, 0xb4 } },
+ { { 0x77, 0xdf } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x62 } },
+ { { 0x7a, 0xb4 } },
+ { { 0x7b, 0xe1 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x40 } },
+ { { 0x7e, 0x04 } },
+ { { 0x7f, 0xd6 } },
+
+ /* Page 161 (0xA1) */
+ { { 0x00, 0xa1 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x40 } },
+ { { 0x0a, 0x04 } },
+ { { 0x0b, 0xd7 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x40 } },
+ { { 0x0e, 0x04 } },
+ { { 0x0f, 0xd8 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x62 } },
+ { { 0x12, 0xb4 } },
+ { { 0x13, 0xe3 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x62 } },
+ { { 0x16, 0xb4 } },
+ { { 0x17, 0xe5 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x62 } },
+ { { 0x1a, 0xb4 } },
+ { { 0x1b, 0xe7 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x40 } },
+ { { 0x1e, 0x04 } },
+ { { 0x1f, 0xd9 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x40 } },
+ { { 0x22, 0x04 } },
+ { { 0x23, 0xda } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x40 } },
+ { { 0x26, 0x04 } },
+ { { 0x27, 0xdb } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x60 } },
+ { { 0x2a, 0x30 } },
+ { { 0x2b, 0xd6 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x70 } },
+ { { 0x2e, 0x34 } },
+ { { 0x2f, 0xd8 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x70 } },
+ { { 0x32, 0x38 } },
+ { { 0x33, 0xda } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x60 } },
+ { { 0x36, 0x30 } },
+ { { 0x37, 0xd7 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x70 } },
+ { { 0x3a, 0x34 } },
+ { { 0x3b, 0xd9 } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x40 } },
+ { { 0x3e, 0x01 } },
+ { { 0x3f, 0x0a } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x70 } },
+ { { 0x42, 0x38 } },
+ { { 0x43, 0xdb } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x00 } },
+ { { 0x4a, 0x00 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x40 } },
+ { { 0x4e, 0x01 } },
+ { { 0x4f, 0x0b } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x63 } },
+ { { 0x52, 0xfd } },
+ { { 0x53, 0x0a } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x63 } },
+ { { 0x56, 0xfd } },
+ { { 0x57, 0x0b } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x00 } },
+ { { 0x5a, 0x00 } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x40 } },
+ { { 0x5e, 0x05 } },
+ { { 0x5f, 0x0c } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x40 } },
+ { { 0x62, 0x05 } },
+ { { 0x63, 0x0d } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x60 } },
+ { { 0x66, 0x41 } },
+ { { 0x67, 0x0c } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x60 } },
+ { { 0x6a, 0x41 } },
+ { { 0x6b, 0x0d } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x21 } },
+ { { 0x6e, 0xf0 } },
+ { { 0x6f, 0xe4 } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x40 } },
+ { { 0x72, 0x05 } },
+ { { 0x73, 0x17 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x40 } },
+ { { 0x76, 0x05 } },
+ { { 0x77, 0x63 } },
+ { { 0x78, 0x01 } },
+ { { 0x79, 0x14 } },
+ { { 0x7a, 0x83 } },
+ { { 0x7b, 0xcc } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x21 } },
+ { { 0x7e, 0xf0 } },
+ { { 0x7f, 0xe5 } },
+
+ /* Page 162 (0xA2) */
+ { { 0x00, 0xa2 } },
+ { { 0x08, 0x01 } },
+ { { 0x09, 0x14 } },
+ { { 0x0a, 0x83 } },
+ { { 0x0b, 0xcc } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x6f } },
+ { { 0x0e, 0xed } },
+ { { 0x0f, 0x0e } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x6f } },
+ { { 0x12, 0xed } },
+ { { 0x13, 0x0f } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x93 } },
+ { { 0x16, 0xf0 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x93 } },
+ { { 0x1a, 0xf0 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x93 } },
+ { { 0x1e, 0xec } },
+ { { 0x1f, 0x0f } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x93 } },
+ { { 0x22, 0xec } },
+ { { 0x23, 0x0f } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x30 } },
+ { { 0x26, 0x00 } },
+ { { 0x27, 0x01 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x30 } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0x01 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x6f } },
+ { { 0x2e, 0xed } },
+ { { 0x2f, 0x10 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x6f } },
+ { { 0x32, 0xed } },
+ { { 0x33, 0x11 } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x93 } },
+ { { 0x36, 0xf0 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x93 } },
+ { { 0x3a, 0xf0 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x93 } },
+ { { 0x3e, 0xec } },
+ { { 0x3f, 0x0f } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x93 } },
+ { { 0x42, 0xec } },
+ { { 0x43, 0x0f } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x30 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x01 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x30 } },
+ { { 0x4a, 0x00 } },
+ { { 0x4b, 0x01 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x6f } },
+ { { 0x4e, 0xed } },
+ { { 0x4f, 0x12 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x6f } },
+ { { 0x52, 0xed } },
+ { { 0x53, 0x13 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x93 } },
+ { { 0x56, 0xf0 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x93 } },
+ { { 0x5a, 0xf0 } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x93 } },
+ { { 0x5e, 0xec } },
+ { { 0x5f, 0x0f } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x93 } },
+ { { 0x62, 0xec } },
+ { { 0x63, 0x0f } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x30 } },
+ { { 0x66, 0x00 } },
+ { { 0x67, 0x01 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x30 } },
+ { { 0x6a, 0x00 } },
+ { { 0x6b, 0x01 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x6f } },
+ { { 0x6e, 0xed } },
+ { { 0x6f, 0x14 } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x6f } },
+ { { 0x72, 0xed } },
+ { { 0x73, 0x15 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x93 } },
+ { { 0x76, 0xf0 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x93 } },
+ { { 0x7a, 0xf0 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x93 } },
+ { { 0x7e, 0xec } },
+ { { 0x7f, 0x0f } },
+
+ /* Page 163 (0xA3) */
+ { { 0x00, 0xa3 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x93 } },
+ { { 0x0a, 0xec } },
+ { { 0x0b, 0x0f } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x30 } },
+ { { 0x0e, 0x00 } },
+ { { 0x0f, 0x01 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x30 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x01 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x6f } },
+ { { 0x16, 0xf1 } },
+ { { 0x17, 0x5a } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x6f } },
+ { { 0x1a, 0xf1 } },
+ { { 0x1b, 0x5b } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x93 } },
+ { { 0x1e, 0xf0 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x93 } },
+ { { 0x22, 0xf0 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x93 } },
+ { { 0x26, 0xec } },
+ { { 0x27, 0x0f } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x93 } },
+ { { 0x2a, 0xec } },
+ { { 0x2b, 0x0f } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x30 } },
+ { { 0x2e, 0x04 } },
+ { { 0x2f, 0x01 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x30 } },
+ { { 0x32, 0x04 } },
+ { { 0x33, 0x01 } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x6f } },
+ { { 0x36, 0xf1 } },
+ { { 0x37, 0x5c } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x6f } },
+ { { 0x3a, 0xf1 } },
+ { { 0x3b, 0x5d } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x93 } },
+ { { 0x3e, 0xf0 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x93 } },
+ { { 0x42, 0xf0 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x93 } },
+ { { 0x46, 0xec } },
+ { { 0x47, 0x0f } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x93 } },
+ { { 0x4a, 0xec } },
+ { { 0x4b, 0x0f } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x30 } },
+ { { 0x4e, 0x04 } },
+ { { 0x4f, 0x01 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x30 } },
+ { { 0x52, 0x04 } },
+ { { 0x53, 0x01 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x6f } },
+ { { 0x56, 0xf1 } },
+ { { 0x57, 0x5e } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x6f } },
+ { { 0x5a, 0xf1 } },
+ { { 0x5b, 0x5f } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x93 } },
+ { { 0x5e, 0xf0 } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x93 } },
+ { { 0x62, 0xf0 } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x93 } },
+ { { 0x66, 0xec } },
+ { { 0x67, 0x0f } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x93 } },
+ { { 0x6a, 0xec } },
+ { { 0x6b, 0x0f } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x30 } },
+ { { 0x6e, 0x04 } },
+ { { 0x6f, 0x01 } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x30 } },
+ { { 0x72, 0x04 } },
+ { { 0x73, 0x01 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x6f } },
+ { { 0x76, 0xf1 } },
+ { { 0x77, 0x60 } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x6f } },
+ { { 0x7a, 0xf1 } },
+ { { 0x7b, 0x61 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x93 } },
+ { { 0x7e, 0xf0 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 164 (0xA4) */
+ { { 0x00, 0xa4 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x93 } },
+ { { 0x0a, 0xf0 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x93 } },
+ { { 0x0e, 0xec } },
+ { { 0x0f, 0x0f } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x93 } },
+ { { 0x12, 0xec } },
+ { { 0x13, 0x0f } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x30 } },
+ { { 0x16, 0x04 } },
+ { { 0x17, 0x01 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x30 } },
+ { { 0x1a, 0x04 } },
+ { { 0x1b, 0x01 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x60 } },
+ { { 0x1e, 0x79 } },
+ { { 0x1f, 0x0c } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x60 } },
+ { { 0x22, 0x79 } },
+ { { 0x23, 0x0d } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x30 } },
+ { { 0x26, 0x48 } },
+ { { 0x27, 0x02 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x30 } },
+ { { 0x2a, 0x4c } },
+ { { 0x2b, 0x02 } },
+ { { 0x2c, 0x01 } },
+ { { 0x2d, 0x10 } },
+ { { 0x2e, 0x03 } },
+ { { 0x2f, 0xff } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x40 } },
+ { { 0x32, 0x00 } },
+ { { 0x33, 0x71 } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x63 } },
+ { { 0x36, 0xfc } },
+ { { 0x37, 0x70 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x63 } },
+ { { 0x3a, 0xfc } },
+ { { 0x3b, 0x71 } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x00 } },
+ { { 0x3e, 0x00 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x40 } },
+ { { 0x42, 0x04 } },
+ { { 0x43, 0x72 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x40 } },
+ { { 0x46, 0x04 } },
+ { { 0x47, 0x73 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x60 } },
+ { { 0x4a, 0xb8 } },
+ { { 0x4b, 0x72 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x60 } },
+ { { 0x4e, 0xb8 } },
+ { { 0x4f, 0x73 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x30 } },
+ { { 0x52, 0x48 } },
+ { { 0x53, 0x02 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x30 } },
+ { { 0x56, 0x4c } },
+ { { 0x57, 0x02 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x60 } },
+ { { 0x5a, 0xb4 } },
+ { { 0x5b, 0x72 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x60 } },
+ { { 0x5e, 0xb4 } },
+ { { 0x5f, 0x73 } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x00 } },
+ { { 0x62, 0x00 } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x40 } },
+ { { 0x66, 0x04 } },
+ { { 0x67, 0x7d } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x40 } },
+ { { 0x6a, 0x04 } },
+ { { 0x6b, 0xbc } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x62 } },
+ { { 0x6e, 0x1b } },
+ { { 0x6f, 0xfb } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x00 } },
+ { { 0x72, 0x00 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x00 } },
+ { { 0x76, 0x00 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x30 } },
+ { { 0x7a, 0xf0 } },
+ { { 0x7b, 0x02 } },
+ { { 0x7c, 0x01 } },
+ { { 0x7d, 0x14 } },
+ { { 0x7e, 0x83 } },
+ { { 0x7f, 0xe4 } },
+
+ /* Page 165 (0xA5) */
+ { { 0x00, 0xa5 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x00 } },
+ { { 0x0a, 0x00 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x62 } },
+ { { 0x0e, 0x1f } },
+ { { 0x0f, 0xfb } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x00 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x00 } },
+ { { 0x16, 0x00 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x30 } },
+ { { 0x1a, 0xf0 } },
+ { { 0x1b, 0x02 } },
+ { { 0x1c, 0x01 } },
+ { { 0x1d, 0x14 } },
+ { { 0x1e, 0x83 } },
+ { { 0x1f, 0xe4 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x00 } },
+ { { 0x22, 0x00 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x6f } },
+ { { 0x26, 0xec } },
+ { { 0x27, 0x74 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x6f } },
+ { { 0x2a, 0xec } },
+ { { 0x2b, 0x75 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x93 } },
+ { { 0x2e, 0xf0 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x93 } },
+ { { 0x32, 0xf0 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x93 } },
+ { { 0x36, 0xec } },
+ { { 0x37, 0x0f } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x93 } },
+ { { 0x3a, 0xec } },
+ { { 0x3b, 0x0f } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x30 } },
+ { { 0x3e, 0x00 } },
+ { { 0x3f, 0x01 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x30 } },
+ { { 0x42, 0x00 } },
+ { { 0x43, 0x01 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x6f } },
+ { { 0x46, 0xec } },
+ { { 0x47, 0x76 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x6f } },
+ { { 0x4a, 0xec } },
+ { { 0x4b, 0x77 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x93 } },
+ { { 0x4e, 0xf0 } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x93 } },
+ { { 0x52, 0xf0 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x93 } },
+ { { 0x56, 0xec } },
+ { { 0x57, 0x0f } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x93 } },
+ { { 0x5a, 0xec } },
+ { { 0x5b, 0x0f } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x30 } },
+ { { 0x5e, 0x00 } },
+ { { 0x5f, 0x01 } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x30 } },
+ { { 0x62, 0x00 } },
+ { { 0x63, 0x01 } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x6f } },
+ { { 0x66, 0xf0 } },
+ { { 0x67, 0xb3 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x6f } },
+ { { 0x6a, 0xf0 } },
+ { { 0x6b, 0xb4 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x93 } },
+ { { 0x6e, 0xf0 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x93 } },
+ { { 0x72, 0xf0 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x93 } },
+ { { 0x76, 0xec } },
+ { { 0x77, 0x0f } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x93 } },
+ { { 0x7a, 0xec } },
+ { { 0x7b, 0x0f } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x30 } },
+ { { 0x7e, 0x04 } },
+ { { 0x7f, 0x01 } },
+
+ /* Page 166 (0xA6) */
+ { { 0x00, 0xa6 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x30 } },
+ { { 0x0a, 0x04 } },
+ { { 0x0b, 0x01 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x6f } },
+ { { 0x0e, 0xf0 } },
+ { { 0x0f, 0xb5 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x6f } },
+ { { 0x12, 0xf0 } },
+ { { 0x13, 0xb6 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x93 } },
+ { { 0x16, 0xf0 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x93 } },
+ { { 0x1a, 0xf0 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x93 } },
+ { { 0x1e, 0xec } },
+ { { 0x1f, 0x0f } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x93 } },
+ { { 0x22, 0xec } },
+ { { 0x23, 0x0f } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x30 } },
+ { { 0x26, 0x04 } },
+ { { 0x27, 0x01 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x30 } },
+ { { 0x2a, 0x04 } },
+ { { 0x2b, 0x01 } },
+ { { 0x2c, 0x01 } },
+ { { 0x2d, 0x10 } },
+ { { 0x2e, 0x03 } },
+ { { 0x2f, 0xff } },
+ { { 0x30, 0x01 } },
+ { { 0x31, 0x0f } },
+ { { 0x32, 0xe0 } },
+ { { 0x33, 0x68 } },
+ { { 0x34, 0x01 } },
+ { { 0x35, 0xa4 } },
+ { { 0x36, 0xc6 } },
+ { { 0x37, 0x58 } },
+ { { 0x38, 0x01 } },
+ { { 0x39, 0x65 } },
+ { { 0x3a, 0x17 } },
+ { { 0x3b, 0xfd } },
+ { { 0x3c, 0x01 } },
+ { { 0x3d, 0x43 } },
+ { { 0x3e, 0xdf } },
+ { { 0x3f, 0xfc } },
+ { { 0x40, 0x01 } },
+ { { 0x41, 0x5a } },
+ { { 0x42, 0x0a } },
+ { { 0x43, 0x66 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x22 } },
+ { { 0x46, 0xa2 } },
+ { { 0x47, 0x81 } },
+ { { 0x48, 0x01 } },
+ { { 0x49, 0x29 } },
+ { { 0x4a, 0x7d } },
+ { { 0x4b, 0x7e } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0xa4 } },
+ { { 0x4e, 0xe3 } },
+ { { 0x4f, 0x9f } },
+ { { 0x50, 0x01 } },
+ { { 0x51, 0xf7 } },
+ { { 0x52, 0xe9 } },
+ { { 0x53, 0x1c } },
+ { { 0x54, 0x01 } },
+ { { 0x55, 0xb2 } },
+ { { 0x56, 0x3c } },
+ { { 0x57, 0x15 } },
+ { { 0x58, 0x01 } },
+ { { 0x59, 0x96 } },
+ { { 0x5a, 0x4f } },
+ { { 0x5b, 0xc0 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0xda } },
+ { { 0x5e, 0x7b } },
+ { { 0x5f, 0x8d } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0xf2 } },
+ { { 0x62, 0x2e } },
+ { { 0x63, 0x8f } },
+ { { 0x64, 0x01 } },
+ { { 0x65, 0xfe } },
+ { { 0x66, 0xa1 } },
+ { { 0x67, 0x57 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x0b } },
+ { { 0x6a, 0x32 } },
+ { { 0x6b, 0xd4 } },
+ { { 0x6c, 0x01 } },
+ { { 0x6d, 0x09 } },
+ { { 0x6e, 0x2a } },
+ { { 0x6f, 0x46 } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0xd7 } },
+ { { 0x72, 0x14 } },
+ { { 0x73, 0x87 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x74 } },
+ { { 0x76, 0x84 } },
+ { { 0x77, 0xb6 } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x23 } },
+ { { 0x7a, 0x90 } },
+ { { 0x7b, 0x96 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x36 } },
+ { { 0x7e, 0x1c } },
+ { { 0x7f, 0xf4 } },
+
+ /* Page 167 (0xA7) */
+ { { 0x00, 0xa7 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0xd7 } },
+ { { 0x0a, 0xd0 } },
+ { { 0x0b, 0x0b } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x52 } },
+ { { 0x0e, 0xcd } },
+ { { 0x0f, 0xb1 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x84 } },
+ { { 0x12, 0x8e } },
+ { { 0x13, 0x9c } },
+ { { 0x14, 0x01 } },
+ { { 0x15, 0xb2 } },
+ { { 0x16, 0xef } },
+ { { 0x17, 0xde } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x6f } },
+ { { 0x1a, 0xc1 } },
+ { { 0x1b, 0xe3 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x36 } },
+ { { 0x1e, 0x46 } },
+ { { 0x1f, 0xde } },
+ { { 0x20, 0x01 } },
+ { { 0x21, 0x5d } },
+ { { 0x22, 0x62 } },
+ { { 0x23, 0x43 } },
+ { { 0x24, 0x01 } },
+ { { 0x25, 0x79 } },
+ { { 0x26, 0xf3 } },
+ { { 0x27, 0x59 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x9d } },
+ { { 0x2a, 0xf9 } },
+ { { 0x2b, 0x29 } },
+ { { 0x2c, 0x01 } },
+ { { 0x2d, 0xd5 } },
+ { { 0x2e, 0x87 } },
+ { { 0x2f, 0x15 } },
+ { { 0x30, 0x01 } },
+ { { 0x31, 0xe7 } },
+ { { 0x32, 0x27 } },
+ { { 0x33, 0xb7 } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x40 } },
+ { { 0x36, 0x62 } },
+ { { 0x37, 0x6b } },
+ { { 0x38, 0x01 } },
+ { { 0x39, 0xd1 } },
+ { { 0x3a, 0x4c } },
+ { { 0x3b, 0xfc } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x69 } },
+ { { 0x3e, 0xa7 } },
+ { { 0x3f, 0xb4 } },
+ { { 0x40, 0x01 } },
+ { { 0x41, 0x2d } },
+ { { 0x42, 0x2d } },
+ { { 0x43, 0x6c } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0xe9 } },
+ { { 0x46, 0x41 } },
+ { { 0x47, 0xff } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0xf8 } },
+ { { 0x4a, 0x1c } },
+ { { 0x4b, 0x19 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0xc2 } },
+ { { 0x4e, 0x95 } },
+ { { 0x4f, 0x94 } },
+ { { 0x50, 0x01 } },
+ { { 0x51, 0xbb } },
+ { { 0x52, 0x82 } },
+ { { 0x53, 0x27 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x64 } },
+ { { 0x56, 0x9e } },
+ { { 0x57, 0x01 } },
+ { { 0x58, 0x01 } },
+ { { 0x59, 0x25 } },
+ { { 0x5a, 0x3f } },
+ { { 0x5b, 0xed } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0xa0 } },
+ { { 0x5e, 0xd0 } },
+ { { 0x5f, 0x4f } },
+ { { 0x60, 0x01 } },
+ { { 0x61, 0xf4 } },
+ { { 0x62, 0x03 } },
+ { { 0x63, 0x16 } },
+ { { 0x64, 0x01 } },
+ { { 0x65, 0x93 } },
+ { { 0x66, 0x65 } },
+ { { 0x67, 0xd3 } },
+ { { 0x68, 0x01 } },
+ { { 0x69, 0x1e } },
+ { { 0x6a, 0x1b } },
+ { { 0x6b, 0xd0 } },
+ { { 0x6c, 0x01 } },
+ { { 0x6d, 0x33 } },
+ { { 0x6e, 0xc1 } },
+ { { 0x6f, 0x93 } },
+ { { 0x70, 0x01 } },
+ { { 0x71, 0xf1 } },
+ { { 0x72, 0x1e } },
+ { { 0x73, 0x61 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0xfc } },
+ { { 0x76, 0xcc } },
+ { { 0x77, 0xb4 } },
+ { { 0x78, 0x01 } },
+ { { 0x79, 0x1f } },
+ { { 0x7a, 0xd2 } },
+ { { 0x7b, 0xdf } },
+ { { 0x7c, 0x01 } },
+ { { 0x7d, 0x9b } },
+ { { 0x7e, 0x8a } },
+ { { 0x7f, 0x47 } },
+
+ /* Page 168 (0xA8) */
+ { { 0x00, 0xa8 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x4c } },
+ { { 0x0a, 0x8c } },
+ { { 0x0b, 0x26 } },
+ { { 0x0c, 0x01 } },
+ { { 0x0d, 0x86 } },
+ { { 0x0e, 0x11 } },
+ { { 0x0f, 0x35 } },
+ { { 0x10, 0x01 } },
+ { { 0x11, 0xcb } },
+ { { 0x12, 0x98 } },
+ { { 0x13, 0x7c } },
+ { { 0x14, 0x01 } },
+ { { 0x15, 0xf2 } },
+ { { 0x16, 0xe0 } },
+ { { 0x17, 0x55 } },
+ { { 0x18, 0x01 } },
+ { { 0x19, 0x51 } },
+ { { 0x1a, 0xc5 } },
+ { { 0x1b, 0xbf } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0xf4 } },
+ { { 0x1e, 0x4e } },
+ { { 0x1f, 0x07 } },
+ { { 0x20, 0x01 } },
+ { { 0x21, 0xd4 } },
+ { { 0x22, 0x55 } },
+ { { 0x23, 0x5d } },
+ { { 0x24, 0x01 } },
+ { { 0x25, 0x29 } },
+ { { 0x26, 0x55 } },
+ { { 0x27, 0xe1 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x3b } },
+ { { 0x2a, 0xd7 } },
+ { { 0x2b, 0x27 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x7e } },
+ { { 0x2e, 0x16 } },
+ { { 0x2f, 0xaf } },
+ { { 0x30, 0x01 } },
+ { { 0x31, 0xe2 } },
+ { { 0x32, 0xb6 } },
+ { { 0x33, 0x48 } },
+ { { 0x34, 0x01 } },
+ { { 0x35, 0xcf } },
+ { { 0x36, 0xee } },
+ { { 0x37, 0x53 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x4f } },
+ { { 0x3a, 0xe2 } },
+ { { 0x3b, 0xf7 } },
+ { { 0x3c, 0x01 } },
+ { { 0x3d, 0xab } },
+ { { 0x3e, 0x1f } },
+ { { 0x3f, 0x12 } },
+ { { 0x40, 0x01 } },
+ { { 0x41, 0xfd } },
+ { { 0x42, 0xd3 } },
+ { { 0x43, 0x2a } },
+ { { 0x44, 0x01 } },
+ { { 0x45, 0x24 } },
+ { { 0x46, 0xc6 } },
+ { { 0x47, 0xf6 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x42 } },
+ { { 0x4a, 0x8c } },
+ { { 0x4b, 0xa5 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x46 } },
+ { { 0x4e, 0x20 } },
+ { { 0x4f, 0x59 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x78 } },
+ { { 0x52, 0x99 } },
+ { { 0x53, 0x5a } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x34 } },
+ { { 0x56, 0x5f } },
+ { { 0x57, 0x61 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0xd7 } },
+ { { 0x5a, 0x77 } },
+ { { 0x5b, 0x2a } },
+ { { 0x5c, 0x01 } },
+ { { 0x5d, 0xbc } },
+ { { 0x5e, 0x1a } },
+ { { 0x5f, 0xca } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x5b } },
+ { { 0x62, 0x2a } },
+ { { 0x63, 0xc1 } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0xe7 } },
+ { { 0x66, 0x86 } },
+ { { 0x67, 0x8d } },
+ { { 0x68, 0x01 } },
+ { { 0x69, 0x8c } },
+ { { 0x6a, 0x47 } },
+ { { 0x6b, 0xc6 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0xd4 } },
+ { { 0x6e, 0x07 } },
+ { { 0x6f, 0x1f } },
+ { { 0x70, 0x01 } },
+ { { 0x71, 0xc8 } },
+ { { 0x72, 0x5d } },
+ { { 0x73, 0x42 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x04 } },
+ { { 0x76, 0xa6 } },
+ { { 0x77, 0x6e } },
+ { { 0x78, 0x01 } },
+ { { 0x79, 0x5a } },
+ { { 0x7a, 0x1c } },
+ { { 0x7b, 0x91 } },
+ { { 0x7c, 0x01 } },
+ { { 0x7d, 0xdb } },
+ { { 0x7e, 0x76 } },
+ { { 0x7f, 0x77 } },
+
+ /* Page 169 (0xA9) */
+ { { 0x00, 0xa9 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x33 } },
+ { { 0x0a, 0xb6 } },
+ { { 0x0b, 0x3b } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x37 } },
+ { { 0x0e, 0x87 } },
+ { { 0x0f, 0xe3 } },
+
+ /* Post-Initialization */
+ /* reg[ 44][ 1] = 0x00 ; Disable adaptive mode for DAC */
+ { { 0x00, 0x2c } },
+ { { 0x01, 0x00 } },
+
+ /* reg[ 44][ 1] = 0x04 ; Enable adaptive mode for DAC */
+ { { 0x01, 0x04 } },
+
+ /* Page 0 is selected */
+ /* reg[0][2] = 0 */
+ { { 0x00, 0x00 } },
+ { { 0x02, 0x00 } },
+
+ /* reg[0][0x3] = 0x0 */
+ { { 0x03, 0x00 } },
+
+ /* reg[0][7] */
+ { { 0x07, 0x00 } },
+
+ /* reg[0][8] */
+ { { 0x08, 0x20 } },
+
+ /* reg[0][85 ] */
+ { { 0x55, 0x07 } },
+};
+
+#endif
diff --git a/sound/soc/codecs/tas5756m_hf7_cfg.h b/sound/soc/codecs/tas5756m_hf7_cfg.h
new file mode 100644
index 000000000000..08d060882783
--- /dev/null
+++ b/sound/soc/codecs/tas5756m_hf7_cfg.h
@@ -0,0 +1,4510 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#ifndef _TAS5756M_HF7_CFG_H
+#define _TAS5756M_HF7_CFG_H
+
+static cfg_reg tas5756m_init_hf7[] = {
+ /* Dump of TAS5754/6M for DirectI2CTab->RegisterDump */
+ /* Standby */
+ { { 0x00, 0x00 } },
+ { { 0x02, 0x10 } },
+
+ /* reg[1][3] = 0x04 */
+ { { 0x00, 0x01 } },
+ { { 0x03, 0x04 } },
+
+ /* reg[0][0x3] = 0x11 */
+ { { 0x00, 0x00 } },
+ { { 0x03, 0x11 } },
+
+ /* Page 0 dump */
+ { { 0x00, 0x00 } },
+ { { 0x03, 0x11 } },
+ { { 0x04, 0x01 } },
+ { { 0x05, 0x21 } },
+ { { 0x06, 0x00 } },
+ { { 0x07, 0x00 } },
+ { { 0x08, 0x20 } },
+ { { 0x09, 0x00 } },
+ { { 0x0a, 0x00 } },
+ { { 0x0b, 0x01 } },
+ { { 0x0c, 0x7c } },
+ { { 0x0d, 0x00 } },
+ { { 0x0e, 0x00 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x00 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x10 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x00 } },
+ { { 0x16, 0x00 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x00 } },
+ { { 0x1a, 0x80 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x00 } },
+ { { 0x1e, 0x00 } },
+ { { 0x1f, 0x04 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x00 } },
+ { { 0x22, 0x00 } },
+ { { 0x23, 0x01 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x00 } },
+ { { 0x26, 0xf3 } },
+ { { 0x27, 0x04 } },
+ { { 0x28, 0x02 } },
+ { { 0x29, 0x00 } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0x1f } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x00 } },
+ { { 0x2e, 0x00 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x00 } },
+ { { 0x32, 0x00 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x00 } },
+ { { 0x36, 0x00 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x00 } },
+ { { 0x3a, 0x00 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x30 } },
+ { { 0x3e, 0x30 } },
+ { { 0x3f, 0x22 } },
+ { { 0x40, 0x02 } },
+ { { 0x41, 0x07 } },
+ { { 0x42, 0x14 } },
+ { { 0x43, 0x05 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x55 } },
+ { { 0x49, 0x00 } },
+ { { 0x4a, 0x00 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x00 } },
+ { { 0x4e, 0x00 } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x00 } },
+ { { 0x52, 0x00 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x07 } },
+ { { 0x56, 0x00 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x81 } },
+ { { 0x59, 0x00 } },
+ { { 0x5a, 0x00 } },
+ { { 0x5b, 0x66 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x40 } },
+ { { 0x5e, 0x2a } },
+ { { 0x5f, 0x01 } },
+ { { 0x60, 0x01 } },
+ { { 0x61, 0x00 } },
+ { { 0x62, 0x00 } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x01 } },
+ { { 0x66, 0x0f } },
+ { { 0x67, 0x03 } },
+ { { 0x68, 0x07 } },
+ { { 0x69, 0x10 } },
+ { { 0x6a, 0xd8 } },
+ { { 0x6b, 0x10 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x00 } },
+ { { 0x6e, 0x04 } },
+ { { 0x6f, 0x08 } },
+ { { 0x70, 0x01 } },
+ { { 0x71, 0x03 } },
+ { { 0x72, 0x03 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x04 } },
+ { { 0x75, 0x00 } },
+ { { 0x76, 0x81 } },
+ { { 0x77, 0x01 } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x00 } },
+ { { 0x7a, 0x00 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x00 } },
+ { { 0x7e, 0x00 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 1 dump */
+ { { 0x00, 0x01 } },
+ { { 0x01, 0x00 } },
+ { { 0x02, 0x00 } },
+ { { 0x03, 0x00 } },
+ { { 0x04, 0x03 } },
+ { { 0x05, 0x00 } },
+ { { 0x06, 0x00 } },
+ { { 0x07, 0x00 } },
+ { { 0x08, 0x10 } },
+ { { 0x09, 0x01 } },
+ { { 0x0a, 0x33 } },
+ { { 0x0b, 0x11 } },
+ { { 0x0c, 0x11 } },
+ { { 0x0d, 0x11 } },
+ { { 0x0e, 0x00 } },
+ { { 0x0f, 0x01 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x00 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x00 } },
+ { { 0x16, 0x00 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x00 } },
+ { { 0x1a, 0x00 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x00 } },
+ { { 0x1e, 0x00 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x00 } },
+ { { 0x22, 0x00 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x00 } },
+ { { 0x26, 0x00 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x00 } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x00 } },
+ { { 0x2e, 0x00 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x00 } },
+ { { 0x32, 0x00 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x00 } },
+ { { 0x36, 0x00 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x00 } },
+ { { 0x3a, 0x00 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x00 } },
+ { { 0x3e, 0x00 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x00 } },
+ { { 0x42, 0x00 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x00 } },
+ { { 0x4a, 0x00 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x00 } },
+ { { 0x4e, 0x00 } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x00 } },
+ { { 0x52, 0x00 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x00 } },
+ { { 0x56, 0x00 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x00 } },
+ { { 0x5a, 0x00 } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x00 } },
+ { { 0x5e, 0x00 } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x00 } },
+ { { 0x62, 0x00 } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x00 } },
+ { { 0x66, 0x00 } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x00 } },
+ { { 0x6a, 0x00 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x00 } },
+ { { 0x6e, 0x00 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x00 } },
+ { { 0x72, 0x00 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x00 } },
+ { { 0x76, 0x00 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x00 } },
+ { { 0x7a, 0x00 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x00 } },
+ { { 0x7e, 0x00 } },
+ { { 0x7f, 0x00 } },
+
+ /* Coefficient Memory A */
+ /* Page 44 (0x2C) */
+ { { 0x00, 0x2c } },
+ { { 0x08, 0x7f } },
+ { { 0x09, 0x62 } },
+ { { 0x0a, 0x0f } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x40 } },
+ { { 0x0e, 0x08 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x82 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x82 } },
+ { { 0x16, 0x10 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x62 } },
+ { { 0x1a, 0x13 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x00 } },
+ { { 0x1e, 0x00 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x30 } },
+ { { 0x22, 0xf0 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x01 } },
+ { { 0x25, 0x20 } },
+ { { 0x26, 0x7c } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x00 } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x01 } },
+ { { 0x2d, 0x10 } },
+ { { 0x2e, 0x0c } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x01 } },
+ { { 0x31, 0x10 } },
+ { { 0x32, 0x10 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x01 } },
+ { { 0x35, 0x10 } },
+ { { 0x36, 0x00 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x61 } },
+ { { 0x3a, 0x3b } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x01 } },
+ { { 0x3d, 0x10 } },
+ { { 0x3e, 0x00 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x61 } },
+ { { 0x42, 0x3f } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x40 } },
+ { { 0x4a, 0x0c } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x60 } },
+ { { 0x4e, 0x2c } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x01 } },
+ { { 0x51, 0x20 } },
+ { { 0x52, 0xf8 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x00 } },
+ { { 0x56, 0x00 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x40 } },
+ { { 0x5a, 0x04 } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x62 } },
+ { { 0x5e, 0x13 } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x62 } },
+ { { 0x62, 0x03 } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x30 } },
+ { { 0x66, 0xf0 } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x40 } },
+ { { 0x6a, 0x04 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x62 } },
+ { { 0x6e, 0x1b } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x00 } },
+ { { 0x72, 0x00 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x00 } },
+ { { 0x76, 0x00 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x30 } },
+ { { 0x7a, 0xf0 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x01 } },
+ { { 0x7d, 0x14 } },
+ { { 0x7e, 0x83 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 45 (0x2D) */
+ { { 0x00, 0x2d } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x08 } },
+ { { 0x0a, 0x7f } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x08 } },
+ { { 0x0e, 0x7f } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x08 } },
+ { { 0x12, 0x7f } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x7b } },
+ { { 0x15, 0xe0 } },
+ { { 0x16, 0xd6 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x88 } },
+ { { 0x19, 0x1c } },
+ { { 0x1a, 0x58 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x6a } },
+ { { 0x1d, 0x13 } },
+ { { 0x1e, 0x6c } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x95 } },
+ { { 0x21, 0xec } },
+ { { 0x22, 0x94 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x6a } },
+ { { 0x25, 0x13 } },
+ { { 0x26, 0x6c } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x69 } },
+ { { 0x29, 0x0c } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0xa9 } },
+ { { 0x2d, 0xca } },
+ { { 0x2e, 0x4e } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x78 } },
+ { { 0x31, 0x20 } },
+ { { 0x32, 0x61 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0xc3 } },
+ { { 0x35, 0xef } },
+ { { 0x36, 0xd0 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x00 } },
+ { { 0x3a, 0x00 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x38 } },
+ { { 0x3d, 0x20 } },
+ { { 0x3e, 0x61 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x00 } },
+ { { 0x42, 0x00 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x40 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x7f } },
+ { { 0x49, 0xff } },
+ { { 0x4a, 0xff } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x7f } },
+ { { 0x4d, 0xff } },
+ { { 0x4e, 0xff } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x00 } },
+ { { 0x52, 0x00 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x00 } },
+ { { 0x56, 0x00 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x00 } },
+ { { 0x5a, 0x00 } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x00 } },
+ { { 0x5e, 0x00 } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x7f } },
+ { { 0x61, 0xff } },
+ { { 0x62, 0xff } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x00 } },
+ { { 0x66, 0x00 } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x00 } },
+ { { 0x6a, 0x00 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x00 } },
+ { { 0x6e, 0x00 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x00 } },
+ { { 0x72, 0x00 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x7f } },
+ { { 0x75, 0xff } },
+ { { 0x76, 0xff } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x00 } },
+ { { 0x7a, 0x00 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x00 } },
+ { { 0x7e, 0x00 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 46 (0x2E) */
+ { { 0x00, 0x2e } },
+ { { 0x08, 0x7d } },
+ { { 0x09, 0xdf } },
+ { { 0x0a, 0x27 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x84 } },
+ { { 0x0d, 0x1f } },
+ { { 0x0e, 0x2a } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x7f } },
+ { { 0x11, 0xff } },
+ { { 0x12, 0xff } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x84 } },
+ { { 0x15, 0x52 } },
+ { { 0x16, 0xa6 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x77 } },
+ { { 0x19, 0xe2 } },
+ { { 0x1a, 0x93 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x7b } },
+ { { 0x1d, 0xad } },
+ { { 0x1e, 0x5a } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x88 } },
+ { { 0x21, 0x1d } },
+ { { 0x22, 0x6d } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x00 } },
+ { { 0x26, 0x00 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0xc0 } },
+ { { 0x29, 0x00 } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x80 } },
+ { { 0x2d, 0x00 } },
+ { { 0x2e, 0x00 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x00 } },
+ { { 0x32, 0x00 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0xd7 } },
+ { { 0x35, 0x41 } },
+ { { 0x36, 0xa0 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0xff } },
+ { { 0x39, 0xf0 } },
+ { { 0x3a, 0x00 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x88 } },
+ { { 0x3d, 0x00 } },
+ { { 0x3e, 0x00 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x18 } },
+ { { 0x41, 0x00 } },
+ { { 0x42, 0x00 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x00 } },
+ { { 0x4a, 0x00 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x00 } },
+ { { 0x4e, 0x00 } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x30 } },
+ { { 0x51, 0x00 } },
+ { { 0x52, 0x00 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0xd0 } },
+ { { 0x55, 0x00 } },
+ { { 0x56, 0x00 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x03 } },
+ { { 0x5a, 0x84 } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0xb2 } },
+ { { 0x5e, 0x55 } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x0e } },
+ { { 0x61, 0x5b } },
+ { { 0x62, 0xde } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x7f } },
+ { { 0x65, 0xff } },
+ { { 0x66, 0xff } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x00 } },
+ { { 0x6a, 0x00 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x02 } },
+ { { 0x6d, 0x00 } },
+ { { 0x6e, 0x00 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0x20 } },
+ { { 0x71, 0x00 } },
+ { { 0x72, 0x00 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x51 } },
+ { { 0x76, 0x26 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x40 } },
+ { { 0x79, 0x00 } },
+ { { 0x7a, 0x00 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x0c } },
+ { { 0x7e, 0xdc } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 47 (0x2F) */
+ { { 0x00, 0x2f } },
+ { { 0x08, 0x02 } },
+ { { 0x09, 0x00 } },
+ { { 0x0a, 0x00 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x00 } },
+ { { 0x0e, 0x00 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x00 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x20 } },
+ { { 0x15, 0x00 } },
+ { { 0x16, 0x00 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x40 } },
+ { { 0x19, 0x00 } },
+ { { 0x1a, 0x00 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0xe0 } },
+ { { 0x1d, 0x00 } },
+ { { 0x1e, 0x00 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0xc0 } },
+ { { 0x21, 0x00 } },
+ { { 0x22, 0x00 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x14 } },
+ { { 0x25, 0x00 } },
+ { { 0x26, 0x00 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x1b } },
+ { { 0x29, 0x80 } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x00 } },
+ { { 0x2e, 0x00 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x7b } },
+ { { 0x31, 0xe9 } },
+ { { 0x32, 0x55 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x84 } },
+ { { 0x35, 0x16 } },
+ { { 0x36, 0xab } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x7b } },
+ { { 0x39, 0xe9 } },
+ { { 0x3a, 0x55 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x7b } },
+ { { 0x3d, 0xe0 } },
+ { { 0x3e, 0xd6 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x88 } },
+ { { 0x41, 0x1c } },
+ { { 0x42, 0x58 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x01 } },
+ { { 0x45, 0x07 } },
+ { { 0x46, 0x6c } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x01 } },
+ { { 0x49, 0x07 } },
+ { { 0x4a, 0x6c } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x01 } },
+ { { 0x4d, 0x07 } },
+ { { 0x4e, 0x6c } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x69 } },
+ { { 0x51, 0x0c } },
+ { { 0x52, 0x00 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0xa9 } },
+ { { 0x55, 0xca } },
+ { { 0x56, 0x4e } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x16 } },
+ { { 0x5a, 0x5a } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x37 } },
+ { { 0x5e, 0x56 } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x10 } },
+ { { 0x61, 0xa9 } },
+ { { 0x62, 0xbf } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x7f } },
+ { { 0x65, 0xff } },
+ { { 0x66, 0xff } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x00 } },
+ { { 0x6a, 0x00 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x02 } },
+ { { 0x6d, 0x00 } },
+ { { 0x6e, 0x00 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0xe0 } },
+ { { 0x71, 0x00 } },
+ { { 0x72, 0x00 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x0c } },
+ { { 0x75, 0x9e } },
+ { { 0x76, 0x80 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0xc0 } },
+ { { 0x79, 0x00 } },
+ { { 0x7a, 0x00 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x4f } },
+ { { 0x7d, 0x9f } },
+ { { 0x7e, 0x16 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 48 (0x30) */
+ { { 0x00, 0x30 } },
+ { { 0x08, 0x02 } },
+ { { 0x09, 0x00 } },
+ { { 0x0a, 0x00 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x00 } },
+ { { 0x0e, 0x00 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x00 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x00 } },
+ { { 0x16, 0x00 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x00 } },
+ { { 0x1a, 0x00 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x01 } },
+ { { 0x1d, 0xc0 } },
+ { { 0x1e, 0x00 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x03 } },
+ { { 0x21, 0x40 } },
+ { { 0x22, 0x00 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x04 } },
+ { { 0x25, 0xc0 } },
+ { { 0x26, 0x00 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x00 } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x15 } },
+ { { 0x2d, 0x80 } },
+ { { 0x2e, 0x00 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x17 } },
+ { { 0x31, 0x00 } },
+ { { 0x32, 0x00 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x18 } },
+ { { 0x35, 0x80 } },
+ { { 0x36, 0x00 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x00 } },
+ { { 0x3a, 0x00 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0xc0 } },
+ { { 0x3d, 0x00 } },
+ { { 0x3e, 0x00 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x1d } },
+ { { 0x41, 0x00 } },
+ { { 0x42, 0x00 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x2c } },
+ { { 0x45, 0xc0 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x71 } },
+ { { 0x49, 0x1b } },
+ { { 0x4a, 0xe2 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0xc7 } },
+ { { 0x4d, 0x72 } },
+ { { 0x4e, 0x0f } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x00 } },
+ { { 0x52, 0x00 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x31 } },
+ { { 0x55, 0x1b } },
+ { { 0x56, 0xe2 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x00 } },
+ { { 0x5a, 0x00 } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x0a } },
+ { { 0x5e, 0xb8 } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x05 } },
+ { { 0x62, 0x5c } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x00 } },
+ { { 0x66, 0x00 } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x3f } },
+ { { 0x69, 0xf5 } },
+ { { 0x6a, 0x47 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x00 } },
+ { { 0x6e, 0x00 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x06 } },
+ { { 0x72, 0xd3 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x7f } },
+ { { 0x75, 0xf9 } },
+ { { 0x76, 0x2d } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x28 } },
+ { { 0x7a, 0xef } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x7f } },
+ { { 0x7d, 0xd7 } },
+ { { 0x7e, 0x11 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 49 (0x31) */
+ { { 0x00, 0x31 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x0d } },
+ { { 0x0a, 0xa7 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x7f } },
+ { { 0x0d, 0xf2 } },
+ { { 0x0e, 0x59 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x11 } },
+ { { 0x12, 0x10 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x7f } },
+ { { 0x15, 0xee } },
+ { { 0x16, 0xf0 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x66 } },
+ { { 0x1a, 0x3d } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x7f } },
+ { { 0x1d, 0x99 } },
+ { { 0x1e, 0xc3 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x22 } },
+ { { 0x22, 0x1e } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x7f } },
+ { { 0x25, 0xdd } },
+ { { 0x26, 0xe2 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x88 } },
+ { { 0x2a, 0x40 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x7f } },
+ { { 0x2d, 0x77 } },
+ { { 0x2e, 0xc0 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x03 } },
+ { { 0x31, 0x29 } },
+ { { 0x32, 0x0b } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x7c } },
+ { { 0x35, 0xd6 } },
+ { { 0x36, 0xf5 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x01 } },
+ { { 0x39, 0x0f } },
+ { { 0x3a, 0xef } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x7e } },
+ { { 0x3d, 0xf0 } },
+ { { 0x3e, 0x11 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x00 } },
+ { { 0x42, 0x00 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x00 } },
+ { { 0x4a, 0x00 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x50 } },
+ { { 0x4d, 0x00 } },
+ { { 0x4e, 0x00 } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x14 } },
+ { { 0x51, 0x00 } },
+ { { 0x52, 0x00 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x00 } },
+ { { 0x56, 0x00 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x00 } },
+ { { 0x5a, 0x00 } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0xc0 } },
+ { { 0x5d, 0x00 } },
+ { { 0x5e, 0x00 } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x80 } },
+ { { 0x61, 0x00 } },
+ { { 0x62, 0x00 } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x40 } },
+ { { 0x65, 0x00 } },
+ { { 0x66, 0x00 } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x00 } },
+ { { 0x6a, 0x00 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x00 } },
+ { { 0x6e, 0x00 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0xd7 } },
+ { { 0x71, 0x41 } },
+ { { 0x72, 0xa0 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0xff } },
+ { { 0x75, 0xf0 } },
+ { { 0x76, 0x00 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x88 } },
+ { { 0x79, 0x00 } },
+ { { 0x7a, 0x00 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x18 } },
+ { { 0x7d, 0x00 } },
+ { { 0x7e, 0x00 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 50 (0x32) */
+ { { 0x00, 0x32 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x00 } },
+ { { 0x0a, 0x00 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x00 } },
+ { { 0x0e, 0x00 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x00 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x30 } },
+ { { 0x15, 0x00 } },
+ { { 0x16, 0x00 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0xd0 } },
+ { { 0x19, 0x00 } },
+ { { 0x1a, 0x00 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x03 } },
+ { { 0x1e, 0x84 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0xb2 } },
+ { { 0x22, 0x55 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x0e } },
+ { { 0x25, 0x5b } },
+ { { 0x26, 0xde } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x7f } },
+ { { 0x29, 0xff } },
+ { { 0x2a, 0xff } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x00 } },
+ { { 0x2e, 0x00 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x02 } },
+ { { 0x31, 0x00 } },
+ { { 0x32, 0x00 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x20 } },
+ { { 0x35, 0x00 } },
+ { { 0x36, 0x00 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x51 } },
+ { { 0x3a, 0x26 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x40 } },
+ { { 0x3d, 0x00 } },
+ { { 0x3e, 0x00 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x0c } },
+ { { 0x42, 0xdc } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x02 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x00 } },
+ { { 0x4a, 0x00 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x00 } },
+ { { 0x4e, 0x00 } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x16 } },
+ { { 0x52, 0x5a } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x37 } },
+ { { 0x56, 0x56 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x10 } },
+ { { 0x59, 0xa9 } },
+ { { 0x5a, 0xbf } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x7f } },
+ { { 0x5d, 0xff } },
+ { { 0x5e, 0xff } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x00 } },
+ { { 0x62, 0x00 } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x02 } },
+ { { 0x65, 0x00 } },
+ { { 0x66, 0x00 } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0xe0 } },
+ { { 0x69, 0x00 } },
+ { { 0x6a, 0x00 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x0c } },
+ { { 0x6d, 0x9e } },
+ { { 0x6e, 0x80 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0xc0 } },
+ { { 0x71, 0x00 } },
+ { { 0x72, 0x00 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x4f } },
+ { { 0x75, 0x9f } },
+ { { 0x76, 0x16 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x02 } },
+ { { 0x79, 0x00 } },
+ { { 0x7a, 0x00 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x00 } },
+ { { 0x7e, 0x00 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 51 (0x33) */
+ { { 0x00, 0x33 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x00 } },
+ { { 0x0a, 0x00 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x20 } },
+ { { 0x0d, 0x00 } },
+ { { 0x0e, 0x00 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x40 } },
+ { { 0x11, 0x00 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0xe0 } },
+ { { 0x15, 0x00 } },
+ { { 0x16, 0x00 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0xc0 } },
+ { { 0x19, 0x00 } },
+ { { 0x1a, 0x00 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x00 } },
+ { { 0x1e, 0x00 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x00 } },
+ { { 0x22, 0x00 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x00 } },
+ { { 0x26, 0x00 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x80 } },
+ { { 0x29, 0x00 } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x7f } },
+ { { 0x2d, 0xff } },
+ { { 0x2e, 0xff } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x00 } },
+ { { 0x32, 0x00 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x00 } },
+ { { 0x36, 0x00 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x00 } },
+ { { 0x3a, 0x00 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0xc0 } },
+ { { 0x3d, 0x00 } },
+ { { 0x3e, 0x00 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x00 } },
+ { { 0x42, 0x00 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0xc0 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x37 } },
+ { { 0x49, 0x00 } },
+ { { 0x4a, 0x00 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x24 } },
+ { { 0x4d, 0x80 } },
+ { { 0x4e, 0x00 } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x43 } },
+ { { 0x51, 0x80 } },
+ { { 0x52, 0x00 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x56 } },
+ { { 0x55, 0x80 } },
+ { { 0x56, 0x00 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x00 } },
+ { { 0x5a, 0x00 } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x00 } },
+ { { 0x5e, 0x00 } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x00 } },
+ { { 0x62, 0x00 } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x00 } },
+ { { 0x66, 0x00 } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x00 } },
+ { { 0x6a, 0x00 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x00 } },
+ { { 0x6e, 0x00 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x00 } },
+ { { 0x72, 0x00 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x00 } },
+ { { 0x76, 0x00 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x00 } },
+ { { 0x7a, 0x00 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x00 } },
+ { { 0x7e, 0x00 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 52 (0x34) */
+ { { 0x00, 0x34 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x00 } },
+ { { 0x0a, 0x00 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x00 } },
+ { { 0x0e, 0x00 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x00 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x00 } },
+ { { 0x16, 0x00 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x00 } },
+ { { 0x1a, 0x00 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x00 } },
+ { { 0x1e, 0x00 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x00 } },
+ { { 0x22, 0x00 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x00 } },
+ { { 0x26, 0x00 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x00 } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x00 } },
+ { { 0x2e, 0x00 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x00 } },
+ { { 0x32, 0x00 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x40 } },
+ { { 0x35, 0x00 } },
+ { { 0x36, 0x00 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x04 } },
+ { { 0x3a, 0x00 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x00 } },
+ { { 0x3e, 0x00 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x00 } },
+ { { 0x42, 0x00 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x40 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+
+ /* Coefficient Memory B */
+ /* Page 62 (0x3E) */
+ { { 0x00, 0x3e } },
+ { { 0x08, 0x7f } },
+ { { 0x09, 0xff } },
+ { { 0x0a, 0xff } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x80 } },
+ { { 0x0d, 0x00 } },
+ { { 0x0e, 0x01 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x7f } },
+ { { 0x11, 0xff } },
+ { { 0x12, 0xff } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0xff } },
+ { { 0x15, 0xff } },
+ { { 0x16, 0xff } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x80 } },
+ { { 0x19, 0x00 } },
+ { { 0x1a, 0x00 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x03 } },
+ { { 0x1e, 0x6a } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x7f } },
+ { { 0x21, 0xfc } },
+ { { 0x22, 0x96 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x14 } },
+ { { 0x26, 0x79 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x7f } },
+ { { 0x29, 0xeb } },
+ { { 0x2a, 0x87 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x06 } },
+ { { 0x2e, 0xd3 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x7f } },
+ { { 0x31, 0xf9 } },
+ { { 0x32, 0x2d } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x08 } },
+ { { 0x36, 0x88 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x7f } },
+ { { 0x39, 0xf7 } },
+ { { 0x3a, 0x78 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x33 } },
+ { { 0x3e, 0x29 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x7f } },
+ { { 0x41, 0xcc } },
+ { { 0x42, 0xd7 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x11 } },
+ { { 0x46, 0x10 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x7f } },
+ { { 0x49, 0xee } },
+ { { 0x4a, 0xf0 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x44 } },
+ { { 0x4e, 0x32 } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x7f } },
+ { { 0x51, 0xbb } },
+ { { 0x52, 0xce } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x01 } },
+ { { 0x55, 0x97 } },
+ { { 0x56, 0x0d } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x7e } },
+ { { 0x59, 0x68 } },
+ { { 0x5a, 0xf3 } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x88 } },
+ { { 0x5e, 0x40 } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x7f } },
+ { { 0x61, 0x77 } },
+ { { 0x62, 0xc0 } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x00 } },
+ { { 0x66, 0x00 } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x00 } },
+ { { 0x6a, 0x00 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x00 } },
+ { { 0x6e, 0x00 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0x50 } },
+ { { 0x71, 0x00 } },
+ { { 0x72, 0x00 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x14 } },
+ { { 0x75, 0x00 } },
+ { { 0x76, 0x00 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x00 } },
+ { { 0x7a, 0x00 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x00 } },
+ { { 0x7e, 0x00 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 63 (0x3F) */
+ { { 0x00, 0x3f } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x08 } },
+ { { 0x0a, 0x7e } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x08 } },
+ { { 0x0e, 0x7e } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x08 } },
+ { { 0x12, 0x7e } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x7b } },
+ { { 0x15, 0xe0 } },
+ { { 0x16, 0xd6 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x88 } },
+ { { 0x19, 0x1c } },
+ { { 0x1a, 0x59 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x6a } },
+ { { 0x1d, 0x13 } },
+ { { 0x1e, 0x6c } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x95 } },
+ { { 0x21, 0xec } },
+ { { 0x22, 0x94 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x6a } },
+ { { 0x25, 0x13 } },
+ { { 0x26, 0x6c } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x69 } },
+ { { 0x29, 0x0b } },
+ { { 0x2a, 0xff } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0xa9 } },
+ { { 0x2d, 0xca } },
+ { { 0x2e, 0x4f } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x7f } },
+ { { 0x31, 0xff } },
+ { { 0x32, 0xff } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x88 } },
+ { { 0x35, 0xe6 } },
+ { { 0x36, 0xb7 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x70 } },
+ { { 0x39, 0x40 } },
+ { { 0x3a, 0xc2 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x77 } },
+ { { 0x3d, 0x19 } },
+ { { 0x3e, 0x49 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x8f } },
+ { { 0x41, 0xbf } },
+ { { 0x42, 0x3e } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x40 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x7f } },
+ { { 0x49, 0xff } },
+ { { 0x4a, 0xff } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x7f } },
+ { { 0x4d, 0xf5 } },
+ { { 0x4e, 0x46 } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0xc0 } },
+ { { 0x51, 0x05 } },
+ { { 0x52, 0x5d } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x00 } },
+ { { 0x56, 0x00 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x3f } },
+ { { 0x59, 0xf5 } },
+ { { 0x5a, 0x47 } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x00 } },
+ { { 0x5e, 0x00 } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x7f } },
+ { { 0x61, 0xff } },
+ { { 0x62, 0xff } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x81 } },
+ { { 0x65, 0x0e } },
+ { { 0x66, 0x45 } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x7d } },
+ { { 0x69, 0xec } },
+ { { 0x6a, 0x2b } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x7e } },
+ { { 0x6d, 0xf1 } },
+ { { 0x6e, 0xbb } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0x82 } },
+ { { 0x71, 0x13 } },
+ { { 0x72, 0xd5 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x7f } },
+ { { 0x75, 0xff } },
+ { { 0x76, 0xff } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x82 } },
+ { { 0x79, 0x20 } },
+ { { 0x7a, 0xd9 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x7b } },
+ { { 0x7d, 0xe0 } },
+ { { 0x7e, 0xd6 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 64 (0x40) */
+ { { 0x00, 0x40 } },
+ { { 0x08, 0x7d } },
+ { { 0x09, 0xdf } },
+ { { 0x0a, 0x27 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x84 } },
+ { { 0x0d, 0x1f } },
+ { { 0x0e, 0x2a } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x7f } },
+ { { 0x11, 0xff } },
+ { { 0x12, 0xff } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x84 } },
+ { { 0x15, 0x52 } },
+ { { 0x16, 0xa6 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x77 } },
+ { { 0x19, 0xe2 } },
+ { { 0x1a, 0x93 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x7b } },
+ { { 0x1d, 0xad } },
+ { { 0x1e, 0x5a } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x88 } },
+ { { 0x21, 0x1d } },
+ { { 0x22, 0x6d } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x00 } },
+ { { 0x26, 0x00 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0xc0 } },
+ { { 0x29, 0x00 } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x80 } },
+ { { 0x2d, 0x00 } },
+ { { 0x2e, 0x00 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x00 } },
+ { { 0x32, 0x00 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0xd7 } },
+ { { 0x35, 0x41 } },
+ { { 0x36, 0xa0 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0xff } },
+ { { 0x39, 0xf0 } },
+ { { 0x3a, 0x00 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x88 } },
+ { { 0x3d, 0x00 } },
+ { { 0x3e, 0x00 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x18 } },
+ { { 0x41, 0x00 } },
+ { { 0x42, 0x00 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x00 } },
+ { { 0x4a, 0x00 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x00 } },
+ { { 0x4e, 0x00 } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x30 } },
+ { { 0x51, 0x00 } },
+ { { 0x52, 0x00 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0xd0 } },
+ { { 0x55, 0x00 } },
+ { { 0x56, 0x00 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x03 } },
+ { { 0x5a, 0x84 } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0xb2 } },
+ { { 0x5e, 0x55 } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x0e } },
+ { { 0x61, 0x5b } },
+ { { 0x62, 0xde } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x7f } },
+ { { 0x65, 0xff } },
+ { { 0x66, 0xff } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x00 } },
+ { { 0x6a, 0x00 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x02 } },
+ { { 0x6d, 0x00 } },
+ { { 0x6e, 0x00 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0x20 } },
+ { { 0x71, 0x00 } },
+ { { 0x72, 0x00 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x51 } },
+ { { 0x76, 0x26 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x40 } },
+ { { 0x79, 0x00 } },
+ { { 0x7a, 0x00 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x0c } },
+ { { 0x7e, 0xdc } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 65 (0x41) */
+ { { 0x00, 0x41 } },
+ { { 0x08, 0x02 } },
+ { { 0x09, 0x00 } },
+ { { 0x0a, 0x00 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x00 } },
+ { { 0x0e, 0x00 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x00 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x20 } },
+ { { 0x15, 0x00 } },
+ { { 0x16, 0x00 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x40 } },
+ { { 0x19, 0x00 } },
+ { { 0x1a, 0x00 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0xe0 } },
+ { { 0x1d, 0x00 } },
+ { { 0x1e, 0x00 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0xc0 } },
+ { { 0x21, 0x00 } },
+ { { 0x22, 0x00 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x14 } },
+ { { 0x25, 0x00 } },
+ { { 0x26, 0x00 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x1b } },
+ { { 0x29, 0x80 } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x00 } },
+ { { 0x2e, 0x00 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x01 } },
+ { { 0x31, 0x07 } },
+ { { 0x32, 0x6c } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x01 } },
+ { { 0x35, 0x07 } },
+ { { 0x36, 0x6c } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x01 } },
+ { { 0x39, 0x07 } },
+ { { 0x3a, 0x6c } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x69 } },
+ { { 0x3d, 0x0b } },
+ { { 0x3e, 0xff } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0xa9 } },
+ { { 0x41, 0xca } },
+ { { 0x42, 0x4f } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x7b } },
+ { { 0x45, 0xe9 } },
+ { { 0x46, 0x54 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x84 } },
+ { { 0x49, 0x16 } },
+ { { 0x4a, 0xac } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x7b } },
+ { { 0x4d, 0xe9 } },
+ { { 0x4e, 0x54 } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x7b } },
+ { { 0x51, 0xe0 } },
+ { { 0x52, 0xd6 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x88 } },
+ { { 0x55, 0x1c } },
+ { { 0x56, 0x59 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x16 } },
+ { { 0x5a, 0x5a } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x37 } },
+ { { 0x5e, 0x56 } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x10 } },
+ { { 0x61, 0xa9 } },
+ { { 0x62, 0xbf } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x7f } },
+ { { 0x65, 0xff } },
+ { { 0x66, 0xff } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x00 } },
+ { { 0x6a, 0x00 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x02 } },
+ { { 0x6d, 0x00 } },
+ { { 0x6e, 0x00 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0xe0 } },
+ { { 0x71, 0x00 } },
+ { { 0x72, 0x00 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x0c } },
+ { { 0x75, 0x9e } },
+ { { 0x76, 0x80 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0xc0 } },
+ { { 0x79, 0x00 } },
+ { { 0x7a, 0x00 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x4f } },
+ { { 0x7d, 0x9f } },
+ { { 0x7e, 0x16 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 66 (0x42) */
+ { { 0x00, 0x42 } },
+ { { 0x08, 0x02 } },
+ { { 0x09, 0x00 } },
+ { { 0x0a, 0x00 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x00 } },
+ { { 0x0e, 0x00 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x00 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x00 } },
+ { { 0x16, 0x00 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x00 } },
+ { { 0x1a, 0x00 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x01 } },
+ { { 0x1d, 0xc0 } },
+ { { 0x1e, 0x00 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x03 } },
+ { { 0x21, 0x40 } },
+ { { 0x22, 0x00 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x04 } },
+ { { 0x25, 0xc0 } },
+ { { 0x26, 0x00 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x00 } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x15 } },
+ { { 0x2d, 0x80 } },
+ { { 0x2e, 0x00 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x17 } },
+ { { 0x31, 0x00 } },
+ { { 0x32, 0x00 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x18 } },
+ { { 0x35, 0x80 } },
+ { { 0x36, 0x00 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x00 } },
+ { { 0x3a, 0x00 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0xc0 } },
+ { { 0x3d, 0x00 } },
+ { { 0x3e, 0x00 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x1d } },
+ { { 0x41, 0x00 } },
+ { { 0x42, 0x00 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x2c } },
+ { { 0x45, 0xc0 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x7f } },
+ { { 0x49, 0xff } },
+ { { 0x4a, 0xff } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x92 } },
+ { { 0x4d, 0xbe } },
+ { { 0x4e, 0xc5 } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x62 } },
+ { { 0x51, 0x37 } },
+ { { 0x52, 0xc4 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x6d } },
+ { { 0x55, 0x41 } },
+ { { 0x56, 0x3b } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x9d } },
+ { { 0x59, 0xc8 } },
+ { { 0x5a, 0x3c } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x7f } },
+ { { 0x5d, 0xf5 } },
+ { { 0x5e, 0x46 } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0xc0 } },
+ { { 0x61, 0x05 } },
+ { { 0x62, 0x5d } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x00 } },
+ { { 0x66, 0x00 } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x3f } },
+ { { 0x69, 0xf5 } },
+ { { 0x6a, 0x47 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x00 } },
+ { { 0x6e, 0x00 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x06 } },
+ { { 0x72, 0xd3 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x7f } },
+ { { 0x75, 0xf9 } },
+ { { 0x76, 0x2d } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x28 } },
+ { { 0x7a, 0xef } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x7f } },
+ { { 0x7d, 0xd7 } },
+ { { 0x7e, 0x11 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 67 (0x43) */
+ { { 0x00, 0x43 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x0d } },
+ { { 0x0a, 0xa7 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x7f } },
+ { { 0x0d, 0xf2 } },
+ { { 0x0e, 0x59 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x11 } },
+ { { 0x12, 0x10 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x7f } },
+ { { 0x15, 0xee } },
+ { { 0x16, 0xf0 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x66 } },
+ { { 0x1a, 0x3d } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x7f } },
+ { { 0x1d, 0x99 } },
+ { { 0x1e, 0xc3 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x22 } },
+ { { 0x22, 0x1e } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x7f } },
+ { { 0x25, 0xdd } },
+ { { 0x26, 0xe2 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x88 } },
+ { { 0x2a, 0x40 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x7f } },
+ { { 0x2d, 0x77 } },
+ { { 0x2e, 0xc0 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x03 } },
+ { { 0x31, 0x29 } },
+ { { 0x32, 0x0b } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x7c } },
+ { { 0x35, 0xd6 } },
+ { { 0x36, 0xf5 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x01 } },
+ { { 0x39, 0x0f } },
+ { { 0x3a, 0xef } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x7e } },
+ { { 0x3d, 0xf0 } },
+ { { 0x3e, 0x11 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x00 } },
+ { { 0x42, 0x00 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x00 } },
+ { { 0x4a, 0x00 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x50 } },
+ { { 0x4d, 0x00 } },
+ { { 0x4e, 0x00 } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x14 } },
+ { { 0x51, 0x00 } },
+ { { 0x52, 0x00 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x00 } },
+ { { 0x56, 0x00 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x00 } },
+ { { 0x5a, 0x00 } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0xc0 } },
+ { { 0x5d, 0x00 } },
+ { { 0x5e, 0x00 } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x80 } },
+ { { 0x61, 0x00 } },
+ { { 0x62, 0x00 } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x40 } },
+ { { 0x65, 0x00 } },
+ { { 0x66, 0x00 } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x00 } },
+ { { 0x6a, 0x00 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x00 } },
+ { { 0x6e, 0x00 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0xd7 } },
+ { { 0x71, 0x41 } },
+ { { 0x72, 0xa0 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0xff } },
+ { { 0x75, 0xf0 } },
+ { { 0x76, 0x00 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x88 } },
+ { { 0x79, 0x00 } },
+ { { 0x7a, 0x00 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x18 } },
+ { { 0x7d, 0x00 } },
+ { { 0x7e, 0x00 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 68 (0x44) */
+ { { 0x00, 0x44 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x00 } },
+ { { 0x0a, 0x00 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x00 } },
+ { { 0x0e, 0x00 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x00 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x30 } },
+ { { 0x15, 0x00 } },
+ { { 0x16, 0x00 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0xd0 } },
+ { { 0x19, 0x00 } },
+ { { 0x1a, 0x00 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x03 } },
+ { { 0x1e, 0x84 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0xb2 } },
+ { { 0x22, 0x55 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x0e } },
+ { { 0x25, 0x5b } },
+ { { 0x26, 0xde } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x7f } },
+ { { 0x29, 0xff } },
+ { { 0x2a, 0xff } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x00 } },
+ { { 0x2e, 0x00 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x02 } },
+ { { 0x31, 0x00 } },
+ { { 0x32, 0x00 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x20 } },
+ { { 0x35, 0x00 } },
+ { { 0x36, 0x00 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x51 } },
+ { { 0x3a, 0x26 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x40 } },
+ { { 0x3d, 0x00 } },
+ { { 0x3e, 0x00 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x0c } },
+ { { 0x42, 0xdc } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x02 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x00 } },
+ { { 0x4a, 0x00 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x00 } },
+ { { 0x4e, 0x00 } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x16 } },
+ { { 0x52, 0x5a } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x37 } },
+ { { 0x56, 0x56 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x10 } },
+ { { 0x59, 0xa9 } },
+ { { 0x5a, 0xbf } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x7f } },
+ { { 0x5d, 0xff } },
+ { { 0x5e, 0xff } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x00 } },
+ { { 0x62, 0x00 } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x02 } },
+ { { 0x65, 0x00 } },
+ { { 0x66, 0x00 } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0xe0 } },
+ { { 0x69, 0x00 } },
+ { { 0x6a, 0x00 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x0c } },
+ { { 0x6d, 0x9e } },
+ { { 0x6e, 0x80 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0xc0 } },
+ { { 0x71, 0x00 } },
+ { { 0x72, 0x00 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x4f } },
+ { { 0x75, 0x9f } },
+ { { 0x76, 0x16 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x02 } },
+ { { 0x79, 0x00 } },
+ { { 0x7a, 0x00 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x00 } },
+ { { 0x7e, 0x00 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 69 (0x45) */
+ { { 0x00, 0x45 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x00 } },
+ { { 0x0a, 0x00 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x20 } },
+ { { 0x0d, 0x00 } },
+ { { 0x0e, 0x00 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x40 } },
+ { { 0x11, 0x00 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0xe0 } },
+ { { 0x15, 0x00 } },
+ { { 0x16, 0x00 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0xc0 } },
+ { { 0x19, 0x00 } },
+ { { 0x1a, 0x00 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x00 } },
+ { { 0x1e, 0x00 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x00 } },
+ { { 0x22, 0x00 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x00 } },
+ { { 0x26, 0x00 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x80 } },
+ { { 0x29, 0x00 } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x7f } },
+ { { 0x2d, 0xff } },
+ { { 0x2e, 0xff } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x00 } },
+ { { 0x32, 0x00 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x00 } },
+ { { 0x36, 0x00 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x00 } },
+ { { 0x3a, 0x00 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0xc0 } },
+ { { 0x3d, 0x00 } },
+ { { 0x3e, 0x00 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x00 } },
+ { { 0x42, 0x00 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0xc0 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x37 } },
+ { { 0x49, 0x00 } },
+ { { 0x4a, 0x00 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x24 } },
+ { { 0x4d, 0x80 } },
+ { { 0x4e, 0x00 } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x43 } },
+ { { 0x51, 0x80 } },
+ { { 0x52, 0x00 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x56 } },
+ { { 0x55, 0x80 } },
+ { { 0x56, 0x00 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x00 } },
+ { { 0x5a, 0x00 } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x00 } },
+ { { 0x5e, 0x00 } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x00 } },
+ { { 0x62, 0x00 } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x00 } },
+ { { 0x66, 0x00 } },
+ { { 0x67, 0x00 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x00 } },
+ { { 0x6a, 0x00 } },
+ { { 0x6b, 0x00 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x00 } },
+ { { 0x6e, 0x00 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x00 } },
+ { { 0x72, 0x00 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x00 } },
+ { { 0x76, 0x00 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x00 } },
+ { { 0x7a, 0x00 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x00 } },
+ { { 0x7e, 0x00 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 70 (0x46) */
+ { { 0x00, 0x46 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x00 } },
+ { { 0x0a, 0x00 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x00 } },
+ { { 0x0e, 0x00 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x00 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x00 } },
+ { { 0x16, 0x00 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x00 } },
+ { { 0x1a, 0x00 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x00 } },
+ { { 0x1e, 0x00 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x00 } },
+ { { 0x22, 0x00 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x00 } },
+ { { 0x26, 0x00 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x00 } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x00 } },
+ { { 0x2e, 0x00 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x00 } },
+ { { 0x32, 0x00 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x40 } },
+ { { 0x35, 0x00 } },
+ { { 0x36, 0x00 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x04 } },
+ { { 0x3a, 0x00 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x00 } },
+ { { 0x3e, 0x00 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x00 } },
+ { { 0x42, 0x00 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x40 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+
+ /* Instruction Memory */
+ /* Page 152 (0x98) */
+ { { 0x00, 0x98 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x10 } },
+ { { 0x0a, 0x00 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x10 } },
+ { { 0x0e, 0x04 } },
+ { { 0x0f, 0x01 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x60 } },
+ { { 0x12, 0xb4 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x60 } },
+ { { 0x16, 0xc4 } },
+ { { 0x17, 0x04 } },
+ { { 0x18, 0x01 } },
+ { { 0x19, 0xb0 } },
+ { { 0x1a, 0xc0 } },
+ { { 0x1b, 0x03 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x40 } },
+ { { 0x1e, 0x04 } },
+ { { 0x1f, 0x02 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x70 } },
+ { { 0x22, 0xbc } },
+ { { 0x23, 0x02 } },
+ { { 0x24, 0x01 } },
+ { { 0x25, 0xb0 } },
+ { { 0x26, 0xc8 } },
+ { { 0x27, 0x06 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x70 } },
+ { { 0x2a, 0xcc } },
+ { { 0x2b, 0x07 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x60 } },
+ { { 0x2e, 0xd8 } },
+ { { 0x2f, 0x07 } },
+ { { 0x30, 0x01 } },
+ { { 0x31, 0xb0 } },
+ { { 0x32, 0xd4 } },
+ { { 0x33, 0x06 } },
+ { { 0x34, 0x01 } },
+ { { 0x35, 0x30 } },
+ { { 0x36, 0xd0 } },
+ { { 0x37, 0x05 } },
+ { { 0x38, 0x01 } },
+ { { 0x39, 0xb0 } },
+ { { 0x3a, 0xdc } },
+ { { 0x3b, 0x09 } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x70 } },
+ { { 0x3e, 0xe0 } },
+ { { 0x3f, 0x0a } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x60 } },
+ { { 0x42, 0xec } },
+ { { 0x43, 0x0a } },
+ { { 0x44, 0x01 } },
+ { { 0x45, 0xb0 } },
+ { { 0x46, 0xe8 } },
+ { { 0x47, 0x09 } },
+ { { 0x48, 0x01 } },
+ { { 0x49, 0x30 } },
+ { { 0x4a, 0xe4 } },
+ { { 0x4b, 0x08 } },
+ { { 0x4c, 0x01 } },
+ { { 0x4d, 0xb0 } },
+ { { 0x4e, 0xf0 } },
+ { { 0x4f, 0x0c } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x70 } },
+ { { 0x52, 0xf4 } },
+ { { 0x53, 0x0d } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x61 } },
+ { { 0x56, 0x00 } },
+ { { 0x57, 0x0d } },
+ { { 0x58, 0x01 } },
+ { { 0x59, 0xb0 } },
+ { { 0x5a, 0xfc } },
+ { { 0x5b, 0x0c } },
+ { { 0x5c, 0x01 } },
+ { { 0x5d, 0x30 } },
+ { { 0x5e, 0xf8 } },
+ { { 0x5f, 0x0b } },
+ { { 0x60, 0x01 } },
+ { { 0x61, 0xb1 } },
+ { { 0x62, 0x04 } },
+ { { 0x63, 0x0f } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x71 } },
+ { { 0x66, 0x08 } },
+ { { 0x67, 0x10 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x60 } },
+ { { 0x6a, 0xa8 } },
+ { { 0x6b, 0x10 } },
+ { { 0x6c, 0x01 } },
+ { { 0x6d, 0xb0 } },
+ { { 0x6e, 0xa4 } },
+ { { 0x6f, 0x0f } },
+ { { 0x70, 0x01 } },
+ { { 0x71, 0x30 } },
+ { { 0x72, 0xa0 } },
+ { { 0x73, 0x0e } },
+ { { 0x74, 0x01 } },
+ { { 0x75, 0xb0 } },
+ { { 0x76, 0xac } },
+ { { 0x77, 0x12 } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x70 } },
+ { { 0x7a, 0xb0 } },
+ { { 0x7b, 0x13 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x00 } },
+ { { 0x7e, 0x00 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 153 (0x99) */
+ { { 0x00, 0x99 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x00 } },
+ { { 0x0a, 0x00 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x40 } },
+ { { 0x0e, 0x00 } },
+ { { 0x0f, 0x11 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x60 } },
+ { { 0x12, 0xb4 } },
+ { { 0x13, 0x01 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x60 } },
+ { { 0x16, 0xc4 } },
+ { { 0x17, 0x16 } },
+ { { 0x18, 0x01 } },
+ { { 0x19, 0xb0 } },
+ { { 0x1a, 0xc0 } },
+ { { 0x1b, 0x15 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x40 } },
+ { { 0x1e, 0x04 } },
+ { { 0x1f, 0x14 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x70 } },
+ { { 0x22, 0xbc } },
+ { { 0x23, 0x14 } },
+ { { 0x24, 0x01 } },
+ { { 0x25, 0xb0 } },
+ { { 0x26, 0xc8 } },
+ { { 0x27, 0x18 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x70 } },
+ { { 0x2a, 0xcc } },
+ { { 0x2b, 0x19 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x60 } },
+ { { 0x2e, 0xd8 } },
+ { { 0x2f, 0x19 } },
+ { { 0x30, 0x01 } },
+ { { 0x31, 0xb0 } },
+ { { 0x32, 0xd4 } },
+ { { 0x33, 0x18 } },
+ { { 0x34, 0x01 } },
+ { { 0x35, 0x30 } },
+ { { 0x36, 0xd0 } },
+ { { 0x37, 0x17 } },
+ { { 0x38, 0x01 } },
+ { { 0x39, 0xb0 } },
+ { { 0x3a, 0xdc } },
+ { { 0x3b, 0x1b } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x70 } },
+ { { 0x3e, 0xe0 } },
+ { { 0x3f, 0x1c } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x60 } },
+ { { 0x42, 0xec } },
+ { { 0x43, 0x1c } },
+ { { 0x44, 0x01 } },
+ { { 0x45, 0xb0 } },
+ { { 0x46, 0xe8 } },
+ { { 0x47, 0x1b } },
+ { { 0x48, 0x01 } },
+ { { 0x49, 0x30 } },
+ { { 0x4a, 0xe4 } },
+ { { 0x4b, 0x1a } },
+ { { 0x4c, 0x01 } },
+ { { 0x4d, 0xb0 } },
+ { { 0x4e, 0xf0 } },
+ { { 0x4f, 0x1e } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x70 } },
+ { { 0x52, 0xf4 } },
+ { { 0x53, 0x1f } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x61 } },
+ { { 0x56, 0x00 } },
+ { { 0x57, 0x1f } },
+ { { 0x58, 0x01 } },
+ { { 0x59, 0xb0 } },
+ { { 0x5a, 0xfc } },
+ { { 0x5b, 0x1e } },
+ { { 0x5c, 0x01 } },
+ { { 0x5d, 0x30 } },
+ { { 0x5e, 0xf8 } },
+ { { 0x5f, 0x1d } },
+ { { 0x60, 0x01 } },
+ { { 0x61, 0xb1 } },
+ { { 0x62, 0x04 } },
+ { { 0x63, 0x21 } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x71 } },
+ { { 0x66, 0x08 } },
+ { { 0x67, 0x22 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x60 } },
+ { { 0x6a, 0xa8 } },
+ { { 0x6b, 0x22 } },
+ { { 0x6c, 0x01 } },
+ { { 0x6d, 0xb0 } },
+ { { 0x6e, 0xa4 } },
+ { { 0x6f, 0x21 } },
+ { { 0x70, 0x01 } },
+ { { 0x71, 0x30 } },
+ { { 0x72, 0xa0 } },
+ { { 0x73, 0x20 } },
+ { { 0x74, 0x01 } },
+ { { 0x75, 0xb0 } },
+ { { 0x76, 0xac } },
+ { { 0x77, 0x24 } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x70 } },
+ { { 0x7a, 0xb0 } },
+ { { 0x7b, 0x25 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x00 } },
+ { { 0x7e, 0x00 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 154 (0x9A) */
+ { { 0x00, 0x9a } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x00 } },
+ { { 0x0a, 0x00 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x40 } },
+ { { 0x0e, 0x00 } },
+ { { 0x0f, 0x23 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x60 } },
+ { { 0x12, 0xb8 } },
+ { { 0x13, 0x11 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x60 } },
+ { { 0x16, 0x80 } },
+ { { 0x17, 0x28 } },
+ { { 0x18, 0x01 } },
+ { { 0x19, 0xb0 } },
+ { { 0x1a, 0x7c } },
+ { { 0x1b, 0x27 } },
+ { { 0x1c, 0x01 } },
+ { { 0x1d, 0x30 } },
+ { { 0x1e, 0x78 } },
+ { { 0x1f, 0x26 } },
+ { { 0x20, 0x01 } },
+ { { 0x21, 0xb0 } },
+ { { 0x22, 0x84 } },
+ { { 0x23, 0x2a } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x70 } },
+ { { 0x26, 0x88 } },
+ { { 0x27, 0x2b } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x60 } },
+ { { 0x2a, 0xb8 } },
+ { { 0x2b, 0x23 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x60 } },
+ { { 0x2e, 0x80 } },
+ { { 0x2f, 0x2e } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x40 } },
+ { { 0x32, 0x00 } },
+ { { 0x33, 0x29 } },
+ { { 0x34, 0x01 } },
+ { { 0x35, 0x30 } },
+ { { 0x36, 0x78 } },
+ { { 0x37, 0x2c } },
+ { { 0x38, 0x01 } },
+ { { 0x39, 0xb0 } },
+ { { 0x3a, 0x7c } },
+ { { 0x3b, 0x2d } },
+ { { 0x3c, 0x01 } },
+ { { 0x3d, 0xb0 } },
+ { { 0x3e, 0x84 } },
+ { { 0x3f, 0x30 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x70 } },
+ { { 0x42, 0x88 } },
+ { { 0x43, 0x31 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x00 } },
+ { { 0x4a, 0x00 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x40 } },
+ { { 0x4e, 0x00 } },
+ { { 0x4f, 0x2f } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x60 } },
+ { { 0x52, 0xb4 } },
+ { { 0x53, 0x11 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x61 } },
+ { { 0x56, 0x98 } },
+ { { 0x57, 0x34 } },
+ { { 0x58, 0x01 } },
+ { { 0x59, 0xb1 } },
+ { { 0x5a, 0x94 } },
+ { { 0x5b, 0x33 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x40 } },
+ { { 0x5e, 0x04 } },
+ { { 0x5f, 0x32 } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x71 } },
+ { { 0x62, 0x90 } },
+ { { 0x63, 0x32 } },
+ { { 0x64, 0x01 } },
+ { { 0x65, 0xb1 } },
+ { { 0x66, 0x9c } },
+ { { 0x67, 0x36 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x71 } },
+ { { 0x6a, 0xa0 } },
+ { { 0x6b, 0x37 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x61 } },
+ { { 0x6e, 0xac } },
+ { { 0x6f, 0x37 } },
+ { { 0x70, 0x01 } },
+ { { 0x71, 0xb1 } },
+ { { 0x72, 0xa8 } },
+ { { 0x73, 0x36 } },
+ { { 0x74, 0x01 } },
+ { { 0x75, 0x31 } },
+ { { 0x76, 0xa4 } },
+ { { 0x77, 0x35 } },
+ { { 0x78, 0x01 } },
+ { { 0x79, 0xb1 } },
+ { { 0x7a, 0xb0 } },
+ { { 0x7b, 0x39 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x71 } },
+ { { 0x7e, 0xb4 } },
+ { { 0x7f, 0x3a } },
+
+ /* Page 155 (0x9B) */
+ { { 0x00, 0x9b } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x00 } },
+ { { 0x0a, 0x00 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x00 } },
+ { { 0x0e, 0x00 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x40 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x38 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x60 } },
+ { { 0x16, 0xb4 } },
+ { { 0x17, 0x23 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x61 } },
+ { { 0x1a, 0x98 } },
+ { { 0x1b, 0x3d } },
+ { { 0x1c, 0x01 } },
+ { { 0x1d, 0xb1 } },
+ { { 0x1e, 0x94 } },
+ { { 0x1f, 0x3c } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x40 } },
+ { { 0x22, 0x04 } },
+ { { 0x23, 0x3b } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x71 } },
+ { { 0x26, 0x90 } },
+ { { 0x27, 0x3b } },
+ { { 0x28, 0x01 } },
+ { { 0x29, 0xb1 } },
+ { { 0x2a, 0x9c } },
+ { { 0x2b, 0x3f } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x71 } },
+ { { 0x2e, 0xa0 } },
+ { { 0x2f, 0x40 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x61 } },
+ { { 0x32, 0xac } },
+ { { 0x33, 0x40 } },
+ { { 0x34, 0x01 } },
+ { { 0x35, 0xb1 } },
+ { { 0x36, 0xa8 } },
+ { { 0x37, 0x3f } },
+ { { 0x38, 0x01 } },
+ { { 0x39, 0x31 } },
+ { { 0x3a, 0xa4 } },
+ { { 0x3b, 0x3e } },
+ { { 0x3c, 0x01 } },
+ { { 0x3d, 0xb1 } },
+ { { 0x3e, 0xb0 } },
+ { { 0x3f, 0x42 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x71 } },
+ { { 0x42, 0xb4 } },
+ { { 0x43, 0x43 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x00 } },
+ { { 0x4a, 0x00 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x40 } },
+ { { 0x4e, 0x00 } },
+ { { 0x4f, 0x41 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x60 } },
+ { { 0x52, 0xb8 } },
+ { { 0x53, 0x11 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x60 } },
+ { { 0x56, 0x94 } },
+ { { 0x57, 0x46 } },
+ { { 0x58, 0x01 } },
+ { { 0x59, 0xb0 } },
+ { { 0x5a, 0x90 } },
+ { { 0x5b, 0x45 } },
+ { { 0x5c, 0x01 } },
+ { { 0x5d, 0x30 } },
+ { { 0x5e, 0x8c } },
+ { { 0x5f, 0x44 } },
+ { { 0x60, 0x01 } },
+ { { 0x61, 0xb0 } },
+ { { 0x62, 0x98 } },
+ { { 0x63, 0x48 } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x70 } },
+ { { 0x66, 0x9c } },
+ { { 0x67, 0x49 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x60 } },
+ { { 0x6a, 0xb8 } },
+ { { 0x6b, 0x23 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x60 } },
+ { { 0x6e, 0x94 } },
+ { { 0x6f, 0x4c } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x40 } },
+ { { 0x72, 0x00 } },
+ { { 0x73, 0x47 } },
+ { { 0x74, 0x01 } },
+ { { 0x75, 0x30 } },
+ { { 0x76, 0x8c } },
+ { { 0x77, 0x4a } },
+ { { 0x78, 0x01 } },
+ { { 0x79, 0xb0 } },
+ { { 0x7a, 0x90 } },
+ { { 0x7b, 0x4b } },
+ { { 0x7c, 0x01 } },
+ { { 0x7d, 0xb0 } },
+ { { 0x7e, 0x98 } },
+ { { 0x7f, 0x4e } },
+
+ /* Page 156 (0x9C) */
+ { { 0x00, 0x9c } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x70 } },
+ { { 0x0a, 0x9c } },
+ { { 0x0b, 0x4f } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x00 } },
+ { { 0x0e, 0x00 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x00 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x40 } },
+ { { 0x16, 0x00 } },
+ { { 0x17, 0x4d } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x60 } },
+ { { 0x1a, 0xb4 } },
+ { { 0x1b, 0x6f } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x60 } },
+ { { 0x1e, 0xb7 } },
+ { { 0x1f, 0xfb } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x00 } },
+ { { 0x22, 0x00 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x01 } },
+ { { 0x25, 0x10 } },
+ { { 0x26, 0x18 } },
+ { { 0x27, 0x05 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x40 } },
+ { { 0x2a, 0xec } },
+ { { 0x2b, 0x59 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x40 } },
+ { { 0x2e, 0xec } },
+ { { 0x2f, 0x5f } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x62 } },
+ { { 0x32, 0x17 } },
+ { { 0x33, 0xfb } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x40 } },
+ { { 0x36, 0xec } },
+ { { 0x37, 0x65 } },
+ { { 0x38, 0x01 } },
+ { { 0x39, 0x10 } },
+ { { 0x3a, 0x00 } },
+ { { 0x3b, 0x05 } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x00 } },
+ { { 0x3e, 0x00 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x00 } },
+ { { 0x42, 0x00 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x62 } },
+ { { 0x46, 0x17 } },
+ { { 0x47, 0xfb } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x00 } },
+ { { 0x4a, 0x00 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x00 } },
+ { { 0x4e, 0x00 } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x40 } },
+ { { 0x52, 0x04 } },
+ { { 0x53, 0x6e } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0xc0 } },
+ { { 0x56, 0x14 } },
+ { { 0x57, 0x29 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x70 } },
+ { { 0x5a, 0x18 } },
+ { { 0x5b, 0x57 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0xc0 } },
+ { { 0x5e, 0x2c } },
+ { { 0x5f, 0x38 } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x70 } },
+ { { 0x62, 0x30 } },
+ { { 0x63, 0x5d } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x40 } },
+ { { 0x66, 0x00 } },
+ { { 0x67, 0x56 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0xc0 } },
+ { { 0x6a, 0x44 } },
+ { { 0x6b, 0x47 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x40 } },
+ { { 0x6e, 0x00 } },
+ { { 0x6f, 0x5c } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x70 } },
+ { { 0x72, 0x48 } },
+ { { 0x73, 0x63 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0xc0 } },
+ { { 0x76, 0x14 } },
+ { { 0x77, 0x2f } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x70 } },
+ { { 0x7a, 0x18 } },
+ { { 0x7b, 0x5b } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x40 } },
+ { { 0x7e, 0x00 } },
+ { { 0x7f, 0x62 } },
+
+ /* Page 157 (0x9D) */
+ { { 0x00, 0x9d } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0xc0 } },
+ { { 0x0a, 0x2c } },
+ { { 0x0b, 0x41 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x70 } },
+ { { 0x0e, 0x30 } },
+ { { 0x0f, 0x61 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x40 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x5a } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0xc0 } },
+ { { 0x16, 0x44 } },
+ { { 0x17, 0x4d } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x40 } },
+ { { 0x1a, 0x00 } },
+ { { 0x1b, 0x60 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x70 } },
+ { { 0x1e, 0x48 } },
+ { { 0x1f, 0x67 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x00 } },
+ { { 0x22, 0x00 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x00 } },
+ { { 0x26, 0x00 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x40 } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0x66 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x60 } },
+ { { 0x2e, 0xb4 } },
+ { { 0x2f, 0x59 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x60 } },
+ { { 0x32, 0xb4 } },
+ { { 0x33, 0x5f } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x60 } },
+ { { 0x36, 0xb4 } },
+ { { 0x37, 0x65 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x40 } },
+ { { 0x3a, 0x04 } },
+ { { 0x3b, 0x58 } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x40 } },
+ { { 0x3e, 0x04 } },
+ { { 0x3f, 0x5e } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x40 } },
+ { { 0x42, 0x04 } },
+ { { 0x43, 0x64 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0xc0 } },
+ { { 0x46, 0xb4 } },
+ { { 0x47, 0x6d } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0xd0 } },
+ { { 0x4a, 0xb7 } },
+ { { 0x4b, 0xfb } },
+ { { 0x4c, 0x01 } },
+ { { 0x4d, 0x01 } },
+ { { 0x4e, 0x17 } },
+ { { 0x4f, 0xfb } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x00 } },
+ { { 0x52, 0x00 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x40 } },
+ { { 0x56, 0x04 } },
+ { { 0x57, 0x6c } },
+ { { 0x58, 0x01 } },
+ { { 0x59, 0x10 } },
+ { { 0x5a, 0x0c } },
+ { { 0x5b, 0x07 } },
+ { { 0x5c, 0x01 } },
+ { { 0x5d, 0x10 } },
+ { { 0x5e, 0x08 } },
+ { { 0x5f, 0x03 } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x61 } },
+ { { 0x62, 0xf7 } },
+ { { 0x63, 0xfb } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x62 } },
+ { { 0x66, 0x07 } },
+ { { 0x67, 0xfb } },
+ { { 0x68, 0x01 } },
+ { { 0x69, 0x10 } },
+ { { 0x6a, 0x00 } },
+ { { 0x6b, 0x07 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x61 } },
+ { { 0x6e, 0xfb } },
+ { { 0x6f, 0xfb } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x62 } },
+ { { 0x72, 0x0b } },
+ { { 0x73, 0xfb } },
+ { { 0x74, 0x01 } },
+ { { 0x75, 0x10 } },
+ { { 0x76, 0x00 } },
+ { { 0x77, 0x04 } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x61 } },
+ { { 0x7a, 0x0f } },
+ { { 0x7b, 0xfb } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x61 } },
+ { { 0x7e, 0xff } },
+ { { 0x7f, 0xfb } },
+
+ /* Page 158 (0x9E) */
+ { { 0x00, 0x9e } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x62 } },
+ { { 0x0a, 0x0f } },
+ { { 0x0b, 0xfb } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x40 } },
+ { { 0x0e, 0x08 } },
+ { { 0x0f, 0x6c } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x82 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x02 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x82 } },
+ { { 0x16, 0x10 } },
+ { { 0x17, 0x02 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x62 } },
+ { { 0x1a, 0x13 } },
+ { { 0x1b, 0xfb } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x00 } },
+ { { 0x1e, 0x00 } },
+ { { 0x1f, 0x00 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x30 } },
+ { { 0x22, 0xf0 } },
+ { { 0x23, 0x02 } },
+ { { 0x24, 0x01 } },
+ { { 0x25, 0x20 } },
+ { { 0x26, 0x7c } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x61 } },
+ { { 0x2a, 0x10 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x01 } },
+ { { 0x2d, 0x00 } },
+ { { 0x2e, 0xb4 } },
+ { { 0x2f, 0x04 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x00 } },
+ { { 0x32, 0x00 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x60 } },
+ { { 0x36, 0xb4 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x01 } },
+ { { 0x39, 0x10 } },
+ { { 0x3a, 0x10 } },
+ { { 0x3b, 0x02 } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x60 } },
+ { { 0x3e, 0xb4 } },
+ { { 0x3f, 0x04 } },
+ { { 0x40, 0x01 } },
+ { { 0x41, 0x10 } },
+ { { 0x42, 0x00 } },
+ { { 0x43, 0x02 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x00 } },
+ { { 0x4a, 0x00 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x01 } },
+ { { 0x4d, 0x20 } },
+ { { 0x4e, 0xfc } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x01 } },
+ { { 0x51, 0x01 } },
+ { { 0x52, 0x1f } },
+ { { 0x53, 0xfb } },
+ { { 0x54, 0x01 } },
+ { { 0x55, 0x01 } },
+ { { 0x56, 0x23 } },
+ { { 0x57, 0xfb } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x00 } },
+ { { 0x5a, 0x00 } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x01 } },
+ { { 0x5d, 0x10 } },
+ { { 0x5e, 0x0c } },
+ { { 0x5f, 0x09 } },
+ { { 0x60, 0x01 } },
+ { { 0x61, 0x10 } },
+ { { 0x62, 0x10 } },
+ { { 0x63, 0x04 } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x30 } },
+ { { 0x66, 0x10 } },
+ { { 0x67, 0x03 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x11 } },
+ { { 0x6a, 0x10 } },
+ { { 0x6b, 0x46 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x61 } },
+ { { 0x6e, 0x0f } },
+ { { 0x6f, 0xfb } },
+ { { 0x70, 0x01 } },
+ { { 0x71, 0x10 } },
+ { { 0x72, 0x00 } },
+ { { 0x73, 0x09 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x30 } },
+ { { 0x76, 0x10 } },
+ { { 0x77, 0x0d } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x11 } },
+ { { 0x7a, 0x10 } },
+ { { 0x7b, 0x46 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x61 } },
+ { { 0x7e, 0x27 } },
+ { { 0x7f, 0xfb } },
+
+ /* Page 159 (0x9F) */
+ { { 0x00, 0x9f } },
+ { { 0x08, 0x01 } },
+ { { 0x09, 0x10 } },
+ { { 0x0a, 0x00 } },
+ { { 0x0b, 0x05 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x00 } },
+ { { 0x0e, 0x00 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x00 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x30 } },
+ { { 0x16, 0x10 } },
+ { { 0x17, 0x01 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x11 } },
+ { { 0x1a, 0x10 } },
+ { { 0x1b, 0x46 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x61 } },
+ { { 0x1e, 0x2b } },
+ { { 0x1f, 0xfb } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x71 } },
+ { { 0x22, 0x1b } },
+ { { 0x23, 0xfb } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x00 } },
+ { { 0x26, 0x00 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x00 } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x81 } },
+ { { 0x2e, 0x18 } },
+ { { 0x2f, 0x01 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x61 } },
+ { { 0x32, 0x1b } },
+ { { 0x33, 0xfb } },
+ { { 0x34, 0x01 } },
+ { { 0x35, 0x00 } },
+ { { 0x36, 0x6b } },
+ { { 0x37, 0xfb } },
+ { { 0x38, 0x01 } },
+ { { 0x39, 0x00 } },
+ { { 0x3a, 0x6f } },
+ { { 0x3b, 0xfb } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x00 } },
+ { { 0x3e, 0x00 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x01 } },
+ { { 0x41, 0x10 } },
+ { { 0x42, 0x10 } },
+ { { 0x43, 0x0b } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x70 } },
+ { { 0x46, 0x6f } },
+ { { 0x47, 0xfb } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x60 } },
+ { { 0x4a, 0x77 } },
+ { { 0x4b, 0xfb } },
+ { { 0x4c, 0x01 } },
+ { { 0x4d, 0x10 } },
+ { { 0x4e, 0x10 } },
+ { { 0x4f, 0x04 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x40 } },
+ { { 0x52, 0x08 } },
+ { { 0x53, 0x68 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x60 } },
+ { { 0x56, 0x67 } },
+ { { 0x57, 0xfb } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x81 } },
+ { { 0x5a, 0x2c } },
+ { { 0x5b, 0x02 } },
+ { { 0x5c, 0x01 } },
+ { { 0x5d, 0x10 } },
+ { { 0x5e, 0x00 } },
+ { { 0x5f, 0x0b } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x40 } },
+ { { 0x62, 0x08 } },
+ { { 0x63, 0x68 } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x60 } },
+ { { 0x66, 0x63 } },
+ { { 0x67, 0xfb } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x81 } },
+ { { 0x6a, 0x2c } },
+ { { 0x6b, 0x02 } },
+ { { 0x6c, 0x01 } },
+ { { 0x6d, 0x10 } },
+ { { 0x6e, 0x00 } },
+ { { 0x6f, 0x07 } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x00 } },
+ { { 0x72, 0x00 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x00 } },
+ { { 0x76, 0x00 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x70 } },
+ { { 0x7a, 0x6b } },
+ { { 0x7b, 0xfb } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x60 } },
+ { { 0x7e, 0x73 } },
+ { { 0x7f, 0xfb } },
+
+ /* Page 160 (0xA0) */
+ { { 0x00, 0xa0 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x60 } },
+ { { 0x0a, 0x5f } },
+ { { 0x0b, 0xfb } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x40 } },
+ { { 0x0e, 0x08 } },
+ { { 0x0f, 0x68 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x81 } },
+ { { 0x12, 0x2c } },
+ { { 0x13, 0x02 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x81 } },
+ { { 0x16, 0x30 } },
+ { { 0x17, 0x02 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x61 } },
+ { { 0x1a, 0x30 } },
+ { { 0x1b, 0x68 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x71 } },
+ { { 0x1e, 0x2f } },
+ { { 0x1f, 0xfb } },
+ { { 0x20, 0x01 } },
+ { { 0x21, 0x01 } },
+ { { 0x22, 0x3f } },
+ { { 0x23, 0xfb } },
+ { { 0x24, 0x01 } },
+ { { 0x25, 0x01 } },
+ { { 0x26, 0x3b } },
+ { { 0x27, 0xfb } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x00 } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x01 } },
+ { { 0x2d, 0x10 } },
+ { { 0x2e, 0x0c } },
+ { { 0x2f, 0x02 } },
+ { { 0x30, 0x01 } },
+ { { 0x31, 0x10 } },
+ { { 0x32, 0x10 } },
+ { { 0x33, 0x03 } },
+ { { 0x34, 0x01 } },
+ { { 0x35, 0x10 } },
+ { { 0x36, 0x00 } },
+ { { 0x37, 0x03 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x61 } },
+ { { 0x3a, 0x3b } },
+ { { 0x3b, 0xfb } },
+ { { 0x3c, 0x01 } },
+ { { 0x3d, 0x10 } },
+ { { 0x3e, 0x00 } },
+ { { 0x3f, 0x01 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x61 } },
+ { { 0x42, 0x3f } },
+ { { 0x43, 0xfb } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x00 } },
+ { { 0x4a, 0x00 } },
+ { { 0x4b, 0x00 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x81 } },
+ { { 0x4e, 0x34 } },
+ { { 0x4f, 0x03 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x61 } },
+ { { 0x52, 0x37 } },
+ { { 0x53, 0xfb } },
+ { { 0x54, 0x01 } },
+ { { 0x55, 0x01 } },
+ { { 0x56, 0x0f } },
+ { { 0x57, 0xfb } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x00 } },
+ { { 0x5a, 0x00 } },
+ { { 0x5b, 0x00 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x00 } },
+ { { 0x5e, 0x00 } },
+ { { 0x5f, 0x00 } },
+ { { 0x60, 0x01 } },
+ { { 0x61, 0x10 } },
+ { { 0x62, 0x0c } },
+ { { 0x63, 0x18 } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x61 } },
+ { { 0x66, 0x87 } },
+ { { 0x67, 0xfb } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x61 } },
+ { { 0x6a, 0x37 } },
+ { { 0x6b, 0xfb } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x30 } },
+ { { 0x6e, 0xec } },
+ { { 0x6f, 0x02 } },
+ { { 0x70, 0x01 } },
+ { { 0x71, 0x01 } },
+ { { 0x72, 0x77 } },
+ { { 0x73, 0xfb } },
+ { { 0x74, 0x01 } },
+ { { 0x75, 0x01 } },
+ { { 0x76, 0x7b } },
+ { { 0x77, 0xfb } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x00 } },
+ { { 0x7a, 0x00 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x01 } },
+ { { 0x7d, 0x10 } },
+ { { 0x7e, 0x0c } },
+ { { 0x7f, 0x0b } },
+
+ /* Page 161 (0xA1) */
+ { { 0x00, 0xa1 } },
+ { { 0x08, 0x01 } },
+ { { 0x09, 0x10 } },
+ { { 0x0a, 0x0c } },
+ { { 0x0b, 0x05 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x00 } },
+ { { 0x0e, 0x00 } },
+ { { 0x0f, 0x00 } },
+ { { 0x10, 0x01 } },
+ { { 0x11, 0x20 } },
+ { { 0x12, 0x78 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x60 } },
+ { { 0x16, 0x27 } },
+ { { 0x17, 0xfb } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x60 } },
+ { { 0x1a, 0x23 } },
+ { { 0x1b, 0xfb } },
+ { { 0x1c, 0x01 } },
+ { { 0x1d, 0x10 } },
+ { { 0x1e, 0x00 } },
+ { { 0x1f, 0x14 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x00 } },
+ { { 0x22, 0x00 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x01 } },
+ { { 0x25, 0x20 } },
+ { { 0x26, 0x78 } },
+ { { 0x27, 0x00 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x60 } },
+ { { 0x2a, 0x1f } },
+ { { 0x2b, 0xfb } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x60 } },
+ { { 0x2e, 0x1b } },
+ { { 0x2f, 0xfb } },
+ { { 0x30, 0x01 } },
+ { { 0x31, 0x10 } },
+ { { 0x32, 0x00 } },
+ { { 0x33, 0x0f } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x00 } },
+ { { 0x36, 0x00 } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x00 } },
+ { { 0x3a, 0x00 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x01 } },
+ { { 0x3d, 0x20 } },
+ { { 0x3e, 0x78 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x60 } },
+ { { 0x42, 0x17 } },
+ { { 0x43, 0xfb } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x60 } },
+ { { 0x46, 0x13 } },
+ { { 0x47, 0xfb } },
+ { { 0x48, 0x01 } },
+ { { 0x49, 0x10 } },
+ { { 0x4a, 0x00 } },
+ { { 0x4b, 0x09 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x61 } },
+ { { 0x4e, 0x8b } },
+ { { 0x4f, 0xfb } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x61 } },
+ { { 0x52, 0x37 } },
+ { { 0x53, 0xfb } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x30 } },
+ { { 0x56, 0xec } },
+ { { 0x57, 0x02 } },
+ { { 0x58, 0x01 } },
+ { { 0x59, 0x01 } },
+ { { 0x5a, 0x7f } },
+ { { 0x5b, 0xfb } },
+ { { 0x5c, 0x01 } },
+ { { 0x5d, 0x01 } },
+ { { 0x5e, 0x83 } },
+ { { 0x5f, 0xfb } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x00 } },
+ { { 0x62, 0x00 } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x01 } },
+ { { 0x65, 0x10 } },
+ { { 0x66, 0x13 } },
+ { { 0x67, 0xf3 } },
+ { { 0x68, 0x01 } },
+ { { 0x69, 0x10 } },
+ { { 0x6a, 0x13 } },
+ { { 0x6b, 0xed } },
+ { { 0x6c, 0x01 } },
+ { { 0x6d, 0x10 } },
+ { { 0x6e, 0x03 } },
+ { { 0x6f, 0xe8 } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x80 } },
+ { { 0x72, 0x2c } },
+ { { 0x73, 0x02 } },
+ { { 0x74, 0x01 } },
+ { { 0x75, 0x20 } },
+ { { 0x76, 0xf8 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x71 } },
+ { { 0x7a, 0x37 } },
+ { { 0x7b, 0xfb } },
+ { { 0x7c, 0x01 } },
+ { { 0x7d, 0x20 } },
+ { { 0x7e, 0x78 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 162 (0xA2) */
+ { { 0x00, 0xa2 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x60 } },
+ { { 0x0a, 0x2b } },
+ { { 0x0b, 0xfb } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x80 } },
+ { { 0x0e, 0x30 } },
+ { { 0x0f, 0x02 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x40 } },
+ { { 0x12, 0x08 } },
+ { { 0x13, 0x69 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x40 } },
+ { { 0x16, 0x08 } },
+ { { 0x17, 0x6a } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x60 } },
+ { { 0x1a, 0x00 } },
+ { { 0x1b, 0x69 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x70 } },
+ { { 0x1e, 0x04 } },
+ { { 0x1f, 0x6a } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x00 } },
+ { { 0x22, 0x00 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x60 } },
+ { { 0x26, 0x08 } },
+ { { 0x27, 0x6a } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x40 } },
+ { { 0x2a, 0x18 } },
+ { { 0x2b, 0x6b } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x70 } },
+ { { 0x2e, 0x30 } },
+ { { 0x2f, 0x6b } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x00 } },
+ { { 0x32, 0x00 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x60 } },
+ { { 0x36, 0x0c } },
+ { { 0x37, 0x6a } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x40 } },
+ { { 0x3a, 0x18 } },
+ { { 0x3b, 0x6b } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x70 } },
+ { { 0x3e, 0x30 } },
+ { { 0x3f, 0x6b } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x00 } },
+ { { 0x42, 0x00 } },
+ { { 0x43, 0x00 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x00 } },
+ { { 0x46, 0x00 } },
+ { { 0x47, 0x00 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x40 } },
+ { { 0x4a, 0x0c } },
+ { { 0x4b, 0x6b } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x60 } },
+ { { 0x4e, 0x2c } },
+ { { 0x4f, 0x6b } },
+ { { 0x50, 0x01 } },
+ { { 0x51, 0x20 } },
+ { { 0x52, 0xf8 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x00 } },
+ { { 0x56, 0x00 } },
+ { { 0x57, 0x00 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x40 } },
+ { { 0x5a, 0x04 } },
+ { { 0x5b, 0x6b } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x62 } },
+ { { 0x5e, 0x13 } },
+ { { 0x5f, 0xfb } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x62 } },
+ { { 0x62, 0x03 } },
+ { { 0x63, 0xfb } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x30 } },
+ { { 0x66, 0xf0 } },
+ { { 0x67, 0x02 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x30 } },
+ { { 0x6a, 0xec } },
+ { { 0x6b, 0x02 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x60 } },
+ { { 0x6e, 0xb4 } },
+ { { 0x6f, 0x6b } },
+ { { 0x70, 0x01 } },
+ { { 0x71, 0x20 } },
+ { { 0x72, 0x7c } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x01 } },
+ { { 0x75, 0x01 } },
+ { { 0x76, 0x10 } },
+ { { 0x77, 0x03 } },
+ { { 0x78, 0x01 } },
+ { { 0x79, 0x20 } },
+ { { 0x7a, 0x78 } },
+ { { 0x7b, 0x00 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x00 } },
+ { { 0x7e, 0x00 } },
+ { { 0x7f, 0x00 } },
+
+ /* Page 163 (0xA3) */
+ { { 0x00, 0xa3 } },
+ { { 0x08, 0x01 } },
+ { { 0x09, 0x10 } },
+ { { 0x0a, 0x0c } },
+ { { 0x0b, 0x04 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x60 } },
+ { { 0x0e, 0x04 } },
+ { { 0x0f, 0x03 } },
+ { { 0x10, 0x01 } },
+ { { 0x11, 0x20 } },
+ { { 0x12, 0xfc } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x70 } },
+ { { 0x16, 0x00 } },
+ { { 0x17, 0x6b } },
+ { { 0x18, 0x01 } },
+ { { 0x19, 0x10 } },
+ { { 0x1a, 0x00 } },
+ { { 0x1b, 0x04 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x60 } },
+ { { 0x1e, 0x0c } },
+ { { 0x1f, 0x03 } },
+ { { 0x20, 0x01 } },
+ { { 0x21, 0x20 } },
+ { { 0x22, 0xfc } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x70 } },
+ { { 0x26, 0x08 } },
+ { { 0x27, 0x6b } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x00 } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x01 } },
+ { { 0x2d, 0x20 } },
+ { { 0x2e, 0x7c } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x40 } },
+ { { 0x32, 0x00 } },
+ { { 0x33, 0x02 } },
+ { { 0x34, 0x01 } },
+ { { 0x35, 0x20 } },
+ { { 0x36, 0xfc } },
+ { { 0x37, 0x00 } },
+ { { 0x38, 0x01 } },
+ { { 0x39, 0x20 } },
+ { { 0x3a, 0xf8 } },
+ { { 0x3b, 0x00 } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x60 } },
+ { { 0x3e, 0xb4 } },
+ { { 0x3f, 0x58 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x60 } },
+ { { 0x42, 0xb4 } },
+ { { 0x43, 0x5e } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x60 } },
+ { { 0x46, 0xb4 } },
+ { { 0x47, 0x64 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x81 } },
+ { { 0x4a, 0x8c } },
+ { { 0x4b, 0x01 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x81 } },
+ { { 0x4e, 0xec } },
+ { { 0x4f, 0x01 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x81 } },
+ { { 0x52, 0xf0 } },
+ { { 0x53, 0x01 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x61 } },
+ { { 0x56, 0x8c } },
+ { { 0x57, 0x29 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x61 } },
+ { { 0x5a, 0xec } },
+ { { 0x5b, 0x38 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x61 } },
+ { { 0x5e, 0xf0 } },
+ { { 0x5f, 0x47 } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x40 } },
+ { { 0x62, 0x20 } },
+ { { 0x63, 0x50 } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x40 } },
+ { { 0x66, 0x20 } },
+ { { 0x67, 0x52 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x40 } },
+ { { 0x6a, 0x20 } },
+ { { 0x6b, 0x54 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x61 } },
+ { { 0x6e, 0x8c } },
+ { { 0x6f, 0x2f } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x61 } },
+ { { 0x72, 0xec } },
+ { { 0x73, 0x41 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x61 } },
+ { { 0x76, 0xf0 } },
+ { { 0x77, 0x4d } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x40 } },
+ { { 0x7a, 0x20 } },
+ { { 0x7b, 0x51 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x40 } },
+ { { 0x7e, 0x20 } },
+ { { 0x7f, 0x53 } },
+
+ /* Page 164 (0xA4) */
+ { { 0x00, 0xa4 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x40 } },
+ { { 0x0a, 0x20 } },
+ { { 0x0b, 0x55 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x60 } },
+ { { 0x0e, 0x00 } },
+ { { 0x0f, 0x50 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x70 } },
+ { { 0x12, 0x04 } },
+ { { 0x13, 0x52 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x70 } },
+ { { 0x16, 0x08 } },
+ { { 0x17, 0x54 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x60 } },
+ { { 0x1a, 0x00 } },
+ { { 0x1b, 0x51 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x70 } },
+ { { 0x1e, 0x04 } },
+ { { 0x1f, 0x53 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x40 } },
+ { { 0x22, 0x00 } },
+ { { 0x23, 0x70 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x70 } },
+ { { 0x26, 0x08 } },
+ { { 0x27, 0x55 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x00 } },
+ { { 0x2a, 0x00 } },
+ { { 0x2b, 0x00 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x00 } },
+ { { 0x2e, 0x00 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x40 } },
+ { { 0x32, 0x00 } },
+ { { 0x33, 0x71 } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x63 } },
+ { { 0x36, 0xfc } },
+ { { 0x37, 0x70 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x63 } },
+ { { 0x3a, 0xfc } },
+ { { 0x3b, 0x71 } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x00 } },
+ { { 0x3e, 0x00 } },
+ { { 0x3f, 0x00 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x40 } },
+ { { 0x42, 0x04 } },
+ { { 0x43, 0x72 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x40 } },
+ { { 0x46, 0x04 } },
+ { { 0x47, 0x73 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x60 } },
+ { { 0x4a, 0xb8 } },
+ { { 0x4b, 0x72 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x60 } },
+ { { 0x4e, 0xb8 } },
+ { { 0x4f, 0x73 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x30 } },
+ { { 0x52, 0x48 } },
+ { { 0x53, 0x02 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x30 } },
+ { { 0x56, 0x4c } },
+ { { 0x57, 0x02 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x60 } },
+ { { 0x5a, 0xb4 } },
+ { { 0x5b, 0x72 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x60 } },
+ { { 0x5e, 0xb4 } },
+ { { 0x5f, 0x73 } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x00 } },
+ { { 0x62, 0x00 } },
+ { { 0x63, 0x00 } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x40 } },
+ { { 0x66, 0x04 } },
+ { { 0x67, 0x7d } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x40 } },
+ { { 0x6a, 0x04 } },
+ { { 0x6b, 0xbc } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x62 } },
+ { { 0x6e, 0x1b } },
+ { { 0x6f, 0xfb } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x00 } },
+ { { 0x72, 0x00 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x00 } },
+ { { 0x76, 0x00 } },
+ { { 0x77, 0x00 } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x30 } },
+ { { 0x7a, 0xf0 } },
+ { { 0x7b, 0x02 } },
+ { { 0x7c, 0x01 } },
+ { { 0x7d, 0x14 } },
+ { { 0x7e, 0x83 } },
+ { { 0x7f, 0xe4 } },
+
+ /* Page 165 (0xA5) */
+ { { 0x00, 0xa5 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x00 } },
+ { { 0x0a, 0x00 } },
+ { { 0x0b, 0x00 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x62 } },
+ { { 0x0e, 0x1f } },
+ { { 0x0f, 0xfb } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x00 } },
+ { { 0x12, 0x00 } },
+ { { 0x13, 0x00 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x00 } },
+ { { 0x16, 0x00 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x30 } },
+ { { 0x1a, 0xf0 } },
+ { { 0x1b, 0x02 } },
+ { { 0x1c, 0x01 } },
+ { { 0x1d, 0x14 } },
+ { { 0x1e, 0x83 } },
+ { { 0x1f, 0xe4 } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x00 } },
+ { { 0x22, 0x00 } },
+ { { 0x23, 0x00 } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x6f } },
+ { { 0x26, 0xec } },
+ { { 0x27, 0x74 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x6f } },
+ { { 0x2a, 0xec } },
+ { { 0x2b, 0x75 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x93 } },
+ { { 0x2e, 0xf0 } },
+ { { 0x2f, 0x00 } },
+ { { 0x30, 0x00 } },
+ { { 0x31, 0x93 } },
+ { { 0x32, 0xf0 } },
+ { { 0x33, 0x00 } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x93 } },
+ { { 0x36, 0xec } },
+ { { 0x37, 0x0f } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x93 } },
+ { { 0x3a, 0xec } },
+ { { 0x3b, 0x0f } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x30 } },
+ { { 0x3e, 0x00 } },
+ { { 0x3f, 0x01 } },
+ { { 0x40, 0x00 } },
+ { { 0x41, 0x30 } },
+ { { 0x42, 0x00 } },
+ { { 0x43, 0x01 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x6f } },
+ { { 0x46, 0xec } },
+ { { 0x47, 0x76 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x6f } },
+ { { 0x4a, 0xec } },
+ { { 0x4b, 0x77 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x93 } },
+ { { 0x4e, 0xf0 } },
+ { { 0x4f, 0x00 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x93 } },
+ { { 0x52, 0xf0 } },
+ { { 0x53, 0x00 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x93 } },
+ { { 0x56, 0xec } },
+ { { 0x57, 0x0f } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0x93 } },
+ { { 0x5a, 0xec } },
+ { { 0x5b, 0x0f } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0x30 } },
+ { { 0x5e, 0x00 } },
+ { { 0x5f, 0x01 } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x30 } },
+ { { 0x62, 0x00 } },
+ { { 0x63, 0x01 } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0x6f } },
+ { { 0x66, 0xf0 } },
+ { { 0x67, 0xb3 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x6f } },
+ { { 0x6a, 0xf0 } },
+ { { 0x6b, 0xb4 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0x93 } },
+ { { 0x6e, 0xf0 } },
+ { { 0x6f, 0x00 } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0x93 } },
+ { { 0x72, 0xf0 } },
+ { { 0x73, 0x00 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x93 } },
+ { { 0x76, 0xec } },
+ { { 0x77, 0x0f } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x93 } },
+ { { 0x7a, 0xec } },
+ { { 0x7b, 0x0f } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x30 } },
+ { { 0x7e, 0x04 } },
+ { { 0x7f, 0x01 } },
+
+ /* Page 166 (0xA6) */
+ { { 0x00, 0xa6 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x30 } },
+ { { 0x0a, 0x04 } },
+ { { 0x0b, 0x01 } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x6f } },
+ { { 0x0e, 0xf0 } },
+ { { 0x0f, 0xb5 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x6f } },
+ { { 0x12, 0xf0 } },
+ { { 0x13, 0xb6 } },
+ { { 0x14, 0x00 } },
+ { { 0x15, 0x93 } },
+ { { 0x16, 0xf0 } },
+ { { 0x17, 0x00 } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x93 } },
+ { { 0x1a, 0xf0 } },
+ { { 0x1b, 0x00 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x93 } },
+ { { 0x1e, 0xec } },
+ { { 0x1f, 0x0f } },
+ { { 0x20, 0x00 } },
+ { { 0x21, 0x93 } },
+ { { 0x22, 0xec } },
+ { { 0x23, 0x0f } },
+ { { 0x24, 0x00 } },
+ { { 0x25, 0x30 } },
+ { { 0x26, 0x04 } },
+ { { 0x27, 0x01 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x30 } },
+ { { 0x2a, 0x04 } },
+ { { 0x2b, 0x01 } },
+ { { 0x2c, 0x01 } },
+ { { 0x2d, 0x10 } },
+ { { 0x2e, 0x03 } },
+ { { 0x2f, 0xff } },
+ { { 0x30, 0x01 } },
+ { { 0x31, 0x0f } },
+ { { 0x32, 0xe0 } },
+ { { 0x33, 0x68 } },
+ { { 0x34, 0x01 } },
+ { { 0x35, 0xa4 } },
+ { { 0x36, 0xc6 } },
+ { { 0x37, 0x58 } },
+ { { 0x38, 0x01 } },
+ { { 0x39, 0x65 } },
+ { { 0x3a, 0x17 } },
+ { { 0x3b, 0xfd } },
+ { { 0x3c, 0x01 } },
+ { { 0x3d, 0x43 } },
+ { { 0x3e, 0xdf } },
+ { { 0x3f, 0xfc } },
+ { { 0x40, 0x01 } },
+ { { 0x41, 0x5a } },
+ { { 0x42, 0x0a } },
+ { { 0x43, 0x66 } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0x22 } },
+ { { 0x46, 0xa2 } },
+ { { 0x47, 0x81 } },
+ { { 0x48, 0x01 } },
+ { { 0x49, 0x29 } },
+ { { 0x4a, 0x7d } },
+ { { 0x4b, 0x7e } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0xa4 } },
+ { { 0x4e, 0xe3 } },
+ { { 0x4f, 0x9f } },
+ { { 0x50, 0x01 } },
+ { { 0x51, 0xf7 } },
+ { { 0x52, 0xe9 } },
+ { { 0x53, 0x1c } },
+ { { 0x54, 0x01 } },
+ { { 0x55, 0xb2 } },
+ { { 0x56, 0x3c } },
+ { { 0x57, 0x15 } },
+ { { 0x58, 0x01 } },
+ { { 0x59, 0x96 } },
+ { { 0x5a, 0x4f } },
+ { { 0x5b, 0xc0 } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0xda } },
+ { { 0x5e, 0x7b } },
+ { { 0x5f, 0x8d } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0xf2 } },
+ { { 0x62, 0x2e } },
+ { { 0x63, 0x8f } },
+ { { 0x64, 0x01 } },
+ { { 0x65, 0xfe } },
+ { { 0x66, 0xa1 } },
+ { { 0x67, 0x57 } },
+ { { 0x68, 0x00 } },
+ { { 0x69, 0x0b } },
+ { { 0x6a, 0x32 } },
+ { { 0x6b, 0xd4 } },
+ { { 0x6c, 0x01 } },
+ { { 0x6d, 0x09 } },
+ { { 0x6e, 0x2a } },
+ { { 0x6f, 0x46 } },
+ { { 0x70, 0x00 } },
+ { { 0x71, 0xd7 } },
+ { { 0x72, 0x14 } },
+ { { 0x73, 0x87 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x74 } },
+ { { 0x76, 0x84 } },
+ { { 0x77, 0xb6 } },
+ { { 0x78, 0x00 } },
+ { { 0x79, 0x23 } },
+ { { 0x7a, 0x90 } },
+ { { 0x7b, 0x96 } },
+ { { 0x7c, 0x00 } },
+ { { 0x7d, 0x36 } },
+ { { 0x7e, 0x1c } },
+ { { 0x7f, 0xf4 } },
+
+ /* Page 167 (0xA7) */
+ { { 0x00, 0xa7 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0xd7 } },
+ { { 0x0a, 0xd0 } },
+ { { 0x0b, 0x0b } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x52 } },
+ { { 0x0e, 0xcd } },
+ { { 0x0f, 0xb1 } },
+ { { 0x10, 0x00 } },
+ { { 0x11, 0x84 } },
+ { { 0x12, 0x8e } },
+ { { 0x13, 0x9c } },
+ { { 0x14, 0x01 } },
+ { { 0x15, 0xb2 } },
+ { { 0x16, 0xef } },
+ { { 0x17, 0xde } },
+ { { 0x18, 0x00 } },
+ { { 0x19, 0x6f } },
+ { { 0x1a, 0xc1 } },
+ { { 0x1b, 0xe3 } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0x36 } },
+ { { 0x1e, 0x46 } },
+ { { 0x1f, 0xde } },
+ { { 0x20, 0x01 } },
+ { { 0x21, 0x5d } },
+ { { 0x22, 0x62 } },
+ { { 0x23, 0x43 } },
+ { { 0x24, 0x01 } },
+ { { 0x25, 0x79 } },
+ { { 0x26, 0xf3 } },
+ { { 0x27, 0x59 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x9d } },
+ { { 0x2a, 0xf9 } },
+ { { 0x2b, 0x29 } },
+ { { 0x2c, 0x01 } },
+ { { 0x2d, 0xd5 } },
+ { { 0x2e, 0x87 } },
+ { { 0x2f, 0x15 } },
+ { { 0x30, 0x01 } },
+ { { 0x31, 0xe7 } },
+ { { 0x32, 0x27 } },
+ { { 0x33, 0xb7 } },
+ { { 0x34, 0x00 } },
+ { { 0x35, 0x40 } },
+ { { 0x36, 0x62 } },
+ { { 0x37, 0x6b } },
+ { { 0x38, 0x01 } },
+ { { 0x39, 0xd1 } },
+ { { 0x3a, 0x4c } },
+ { { 0x3b, 0xfc } },
+ { { 0x3c, 0x00 } },
+ { { 0x3d, 0x69 } },
+ { { 0x3e, 0xa7 } },
+ { { 0x3f, 0xb4 } },
+ { { 0x40, 0x01 } },
+ { { 0x41, 0x2d } },
+ { { 0x42, 0x2d } },
+ { { 0x43, 0x6c } },
+ { { 0x44, 0x00 } },
+ { { 0x45, 0xe9 } },
+ { { 0x46, 0x41 } },
+ { { 0x47, 0xff } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0xf8 } },
+ { { 0x4a, 0x1c } },
+ { { 0x4b, 0x19 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0xc2 } },
+ { { 0x4e, 0x95 } },
+ { { 0x4f, 0x94 } },
+ { { 0x50, 0x01 } },
+ { { 0x51, 0xbb } },
+ { { 0x52, 0x82 } },
+ { { 0x53, 0x27 } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x64 } },
+ { { 0x56, 0x9e } },
+ { { 0x57, 0x01 } },
+ { { 0x58, 0x01 } },
+ { { 0x59, 0x25 } },
+ { { 0x5a, 0x3f } },
+ { { 0x5b, 0xed } },
+ { { 0x5c, 0x00 } },
+ { { 0x5d, 0xa0 } },
+ { { 0x5e, 0xd0 } },
+ { { 0x5f, 0x4f } },
+ { { 0x60, 0x01 } },
+ { { 0x61, 0xf4 } },
+ { { 0x62, 0x03 } },
+ { { 0x63, 0x16 } },
+ { { 0x64, 0x01 } },
+ { { 0x65, 0x93 } },
+ { { 0x66, 0x65 } },
+ { { 0x67, 0xd3 } },
+ { { 0x68, 0x01 } },
+ { { 0x69, 0x1e } },
+ { { 0x6a, 0x1b } },
+ { { 0x6b, 0xd0 } },
+ { { 0x6c, 0x01 } },
+ { { 0x6d, 0x33 } },
+ { { 0x6e, 0xc1 } },
+ { { 0x6f, 0x93 } },
+ { { 0x70, 0x01 } },
+ { { 0x71, 0xf1 } },
+ { { 0x72, 0x1e } },
+ { { 0x73, 0x61 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0xfc } },
+ { { 0x76, 0xcc } },
+ { { 0x77, 0xb4 } },
+ { { 0x78, 0x01 } },
+ { { 0x79, 0x1f } },
+ { { 0x7a, 0xd2 } },
+ { { 0x7b, 0xdf } },
+ { { 0x7c, 0x01 } },
+ { { 0x7d, 0x9b } },
+ { { 0x7e, 0x8a } },
+ { { 0x7f, 0x47 } },
+
+ /* Page 168 (0xA8) */
+ { { 0x00, 0xa8 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x4c } },
+ { { 0x0a, 0x8c } },
+ { { 0x0b, 0x26 } },
+ { { 0x0c, 0x01 } },
+ { { 0x0d, 0x86 } },
+ { { 0x0e, 0x11 } },
+ { { 0x0f, 0x35 } },
+ { { 0x10, 0x01 } },
+ { { 0x11, 0xcb } },
+ { { 0x12, 0x98 } },
+ { { 0x13, 0x7c } },
+ { { 0x14, 0x01 } },
+ { { 0x15, 0xf2 } },
+ { { 0x16, 0xe0 } },
+ { { 0x17, 0x55 } },
+ { { 0x18, 0x01 } },
+ { { 0x19, 0x51 } },
+ { { 0x1a, 0xc5 } },
+ { { 0x1b, 0xbf } },
+ { { 0x1c, 0x00 } },
+ { { 0x1d, 0xf4 } },
+ { { 0x1e, 0x4e } },
+ { { 0x1f, 0x07 } },
+ { { 0x20, 0x01 } },
+ { { 0x21, 0xd4 } },
+ { { 0x22, 0x55 } },
+ { { 0x23, 0x5d } },
+ { { 0x24, 0x01 } },
+ { { 0x25, 0x29 } },
+ { { 0x26, 0x55 } },
+ { { 0x27, 0xe1 } },
+ { { 0x28, 0x00 } },
+ { { 0x29, 0x3b } },
+ { { 0x2a, 0xd7 } },
+ { { 0x2b, 0x27 } },
+ { { 0x2c, 0x00 } },
+ { { 0x2d, 0x7e } },
+ { { 0x2e, 0x16 } },
+ { { 0x2f, 0xaf } },
+ { { 0x30, 0x01 } },
+ { { 0x31, 0xe2 } },
+ { { 0x32, 0xb6 } },
+ { { 0x33, 0x48 } },
+ { { 0x34, 0x01 } },
+ { { 0x35, 0xcf } },
+ { { 0x36, 0xee } },
+ { { 0x37, 0x53 } },
+ { { 0x38, 0x00 } },
+ { { 0x39, 0x4f } },
+ { { 0x3a, 0xe2 } },
+ { { 0x3b, 0xf7 } },
+ { { 0x3c, 0x01 } },
+ { { 0x3d, 0xab } },
+ { { 0x3e, 0x1f } },
+ { { 0x3f, 0x12 } },
+ { { 0x40, 0x01 } },
+ { { 0x41, 0xfd } },
+ { { 0x42, 0xd3 } },
+ { { 0x43, 0x2a } },
+ { { 0x44, 0x01 } },
+ { { 0x45, 0x24 } },
+ { { 0x46, 0xc6 } },
+ { { 0x47, 0xf6 } },
+ { { 0x48, 0x00 } },
+ { { 0x49, 0x42 } },
+ { { 0x4a, 0x8c } },
+ { { 0x4b, 0xa5 } },
+ { { 0x4c, 0x00 } },
+ { { 0x4d, 0x46 } },
+ { { 0x4e, 0x20 } },
+ { { 0x4f, 0x59 } },
+ { { 0x50, 0x00 } },
+ { { 0x51, 0x78 } },
+ { { 0x52, 0x99 } },
+ { { 0x53, 0x5a } },
+ { { 0x54, 0x00 } },
+ { { 0x55, 0x34 } },
+ { { 0x56, 0x5f } },
+ { { 0x57, 0x61 } },
+ { { 0x58, 0x00 } },
+ { { 0x59, 0xd7 } },
+ { { 0x5a, 0x77 } },
+ { { 0x5b, 0x2a } },
+ { { 0x5c, 0x01 } },
+ { { 0x5d, 0xbc } },
+ { { 0x5e, 0x1a } },
+ { { 0x5f, 0xca } },
+ { { 0x60, 0x00 } },
+ { { 0x61, 0x5b } },
+ { { 0x62, 0x2a } },
+ { { 0x63, 0xc1 } },
+ { { 0x64, 0x00 } },
+ { { 0x65, 0xe7 } },
+ { { 0x66, 0x86 } },
+ { { 0x67, 0x8d } },
+ { { 0x68, 0x01 } },
+ { { 0x69, 0x8c } },
+ { { 0x6a, 0x47 } },
+ { { 0x6b, 0xc6 } },
+ { { 0x6c, 0x00 } },
+ { { 0x6d, 0xd4 } },
+ { { 0x6e, 0x07 } },
+ { { 0x6f, 0x1f } },
+ { { 0x70, 0x01 } },
+ { { 0x71, 0xc8 } },
+ { { 0x72, 0x5d } },
+ { { 0x73, 0x42 } },
+ { { 0x74, 0x00 } },
+ { { 0x75, 0x04 } },
+ { { 0x76, 0xa6 } },
+ { { 0x77, 0x6e } },
+ { { 0x78, 0x01 } },
+ { { 0x79, 0x5a } },
+ { { 0x7a, 0x1c } },
+ { { 0x7b, 0x91 } },
+ { { 0x7c, 0x01 } },
+ { { 0x7d, 0xdb } },
+ { { 0x7e, 0x76 } },
+ { { 0x7f, 0x77 } },
+
+ /* Page 169 (0xA9) */
+ { { 0x00, 0xa9 } },
+ { { 0x08, 0x00 } },
+ { { 0x09, 0x33 } },
+ { { 0x0a, 0xb6 } },
+ { { 0x0b, 0x3b } },
+ { { 0x0c, 0x00 } },
+ { { 0x0d, 0x37 } },
+ { { 0x0e, 0x87 } },
+ { { 0x0f, 0xe3 } },
+
+ /* Post-Initialization */
+ /* reg[ 44][ 1] = 0x00 ; Disable adaptive mode for DAC */
+ { { 0x00, 0x2c } },
+ { { 0x01, 0x00 } },
+
+ /* reg[ 44][ 1] = 0x04 ; Enable adaptive mode for DAC */
+ { { 0x01, 0x04 } },
+
+ /* Page 0 is selected */
+ /* reg[0][2] = 0 */
+ { { 0x00, 0x00 } },
+ { { 0x02, 0x00 } },
+
+ /* reg[0][0x3] = 0x0 */
+ { { 0x03, 0x00 } },
+
+ /* reg[0][7] */
+ { { 0x07, 0x00 } },
+
+ /* reg[0][8] */
+ { { 0x08, 0x20 } },
+
+ /* reg[0][85 ] */
+ { { 0x55, 0x07 } },
+};
+
+#endif
--
2.24.1
3
4
[alsa-devel] [PATCH] ALSA: hda - Add docking station support for Lenovo Thinkpad T420s
by Peter Große 22 Jan '20
by Peter Große 22 Jan '20
22 Jan '20
Lenovo Thinkpad T420s uses the same codec as T420, so apply the
same quirk to enable audio output on a docking station.
Signed-off-by: Peter Große <pegro(a)friiks.de>
---
sound/pci/hda/patch_conexant.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/sound/pci/hda/patch_conexant.c b/sound/pci/hda/patch_conexant.c
index 90aa0f400a57..1e20e85e9b46 100644
--- a/sound/pci/hda/patch_conexant.c
+++ b/sound/pci/hda/patch_conexant.c
@@ -922,6 +922,7 @@ static const struct snd_pci_quirk cxt5066_fixups[] = {
SND_PCI_QUIRK(0x17aa, 0x215f, "Lenovo T510", CXT_PINCFG_LENOVO_TP410),
SND_PCI_QUIRK(0x17aa, 0x21ce, "Lenovo T420", CXT_PINCFG_LENOVO_TP410),
SND_PCI_QUIRK(0x17aa, 0x21cf, "Lenovo T520", CXT_PINCFG_LENOVO_TP410),
+ SND_PCI_QUIRK(0x17aa, 0x21d2, "Lenovo T420s", CXT_PINCFG_LENOVO_TP410),
SND_PCI_QUIRK(0x17aa, 0x21da, "Lenovo X220", CXT_PINCFG_LENOVO_TP410),
SND_PCI_QUIRK(0x17aa, 0x21db, "Lenovo X220-tablet", CXT_PINCFG_LENOVO_TP410),
SND_PCI_QUIRK(0x17aa, 0x38af, "Lenovo IdeaPad Z560", CXT_FIXUP_MUTE_LED_EAPD),
--
2.24.1
2
1
[alsa-devel] mixartloader/miXart8.elf lacks full RELRO, PIE and is unstripped
by David Runge 22 Jan '20
by David Runge 22 Jan '20
22 Jan '20
Hi!
I'm (currently) packaging alsa-firmware for Arch Linux and ran across
the mixartloader/miXart8.elf, which turns out to be lacking full RELRO
[1], PIE [2] and being unstripped.
Checking the git log it appears, that Jaroslav Kysela added it in 2003.
I wonder whether the blob could be rebuilt with full RELRO and PIE and
be updated.
Additionally, I'd like to point out, that I don't know, how much of a
use-case the Digigram miXart8 cards still are in current times, so maybe
the firmware is also a candidate for being dropped (from the package on
Arch Linux).
Any hints, suggestions or ideas are very welcome!
Best,
David
--
https://sleepmap.de
2
1
[alsa-devel] [PATCH] ASoC: amd: Fix for Subsequent Playback issue.
by Ravulapati Vishnu vardhan rao 22 Jan '20
by Ravulapati Vishnu vardhan rao 22 Jan '20
22 Jan '20
If we play audio back to back, which kills one playback
and immediately start another, we can hear clicks.
This patch fixes the issue.
Signed-off-by: Ravulapati Vishnu vardhan rao <Vishnuvardhanrao.Ravulapati(a)amd.com>
---
sound/soc/amd/raven/acp3x-pcm-dma.c | 17 ++++++++++-------
1 file changed, 10 insertions(+), 7 deletions(-)
diff --git a/sound/soc/amd/raven/acp3x-pcm-dma.c b/sound/soc/amd/raven/acp3x-pcm-dma.c
index 5c3ec3c..916649a 100644
--- a/sound/soc/amd/raven/acp3x-pcm-dma.c
+++ b/sound/soc/amd/raven/acp3x-pcm-dma.c
@@ -344,25 +344,28 @@ static int acp3x_dma_close(struct snd_soc_component *component,
{
struct snd_soc_pcm_runtime *prtd;
struct i2s_dev_data *adata;
+ struct i2s_stream_instance *rtd;
prtd = substream->private_data;
component = snd_soc_rtdcom_lookup(prtd, DRV_NAME);
adata = dev_get_drvdata(component->dev);
+ rtd = substream->runtime->private_data;
- if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) {
- adata->play_stream = NULL;
- adata->i2ssp_play_stream = NULL;
- } else {
- adata->capture_stream = NULL;
- adata->i2ssp_capture_stream = NULL;
- }
/* Disable ACP irq, when the current stream is being closed and
* another stream is also not active.
*/
+ kfree(rtd);
if (!adata->play_stream && !adata->capture_stream &&
!adata->i2ssp_play_stream && !adata->i2ssp_capture_stream)
rv_writel(0, adata->acp3x_base + mmACP_EXTERNAL_INTR_ENB);
+ if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) {
+ adata->play_stream = NULL;
+ adata->i2ssp_play_stream = NULL;
+ } else {
+ adata->capture_stream = NULL;
+ adata->i2ssp_capture_stream = NULL;
+ }
return 0;
}
--
2.7.4
5
7
22 Jan '20
Hi ALSA ML
soc-pcm has snd_pcm_limit_hw_rates() which determine rate_min/rate_max fields.
It updates runtime->hw.rate_min/max (A) based on hw->rates (B).
int snd_pcm_limit_hw_rates(struct snd_pcm_runtime *runtime)
{
int i;
for (i = 0; i < (int)snd_pcm_known_rates.count; i++) {
(B) if (runtime->hw.rates & (1 << i)) {
(A) runtime->hw.rate_min = snd_pcm_known_rates.list[i];
break;
}
}
for (i = (int)snd_pcm_known_rates.count - 1; i >= 0; i--) {
(B) if (runtime->hw.rates & (1 << i)) {
(A) runtime->hw.rate_max = snd_pcm_known_rates.list[i];
break;
}
}
return 0;
}
I guess the calling timing is
1) set hw->rates
2) call snd_pcm_limit_hw_rates()
3) update hw->rate_min/max
soc_pcm_init_runtime_hw() is calling it as this order
static void soc_pcm_init_runtime_hw(xxx)
{
...
1) hw->rates = snd_pcm_rate_mask_intersect(rates, cpu_stream->rates);
2) snd_pcm_limit_hw_rates(runtime);
3) hw->rate_min = max(hw->rate_min, cpu_stream->rate_min);
hw->rate_min = max(hw->rate_min, rate_min);
hw->rate_max = min_not_zero(hw->rate_max, cpu_stream->rate_max);
hw->rate_max = min_not_zero(hw->rate_max, rate_max);
}
But, dpcm_fe_dai_startup() are different.
static int dpcm_fe_dai_startup(xxx)
{
...
/*
* dpcm_set_fe_runtime() updates runtime->hw.xxx
*/
1) 3) dpcm_set_fe_runtime(fe_substream);
2) snd_pcm_limit_hw_rates(runtime);
...
}
I guess we need fixup dpcm_fe_dai_startup() ?
Thank you for your help !!
Best regards
---
Kuninori Morimoto
3
5