[PATCH 5/5] netdev/phy: Add driver for Cortina cs4321 quad 10G PHY.

From: David Daney
Date: Tue May 22 2012 - 14:01:01 EST


From: David Daney <david.daney@xxxxxxxxxx>

These phys do *not* implement the standard IEEE 802.3 clause 45
registers. PHY to driver matching is done with OF compatible
properties.

Signed-off-by: David Daney <david.daney@xxxxxxxxxx>
---
.../devicetree/bindings/net/cortina-cs4321.txt | 27 +
drivers/net/phy/Kconfig | 6 +
drivers/net/phy/Makefile | 1 +
drivers/net/phy/cs4321-ucode.h | 4378 ++++++++++++++++++++
drivers/net/phy/cs4321.c | 1147 +++++
5 files changed, 5559 insertions(+), 0 deletions(-)
create mode 100644 Documentation/devicetree/bindings/net/cortina-cs4321.txt
create mode 100644 drivers/net/phy/cs4321-ucode.h
create mode 100644 drivers/net/phy/cs4321.c

diff --git a/Documentation/devicetree/bindings/net/cortina-cs4321.txt b/Documentation/devicetree/bindings/net/cortina-cs4321.txt
new file mode 100644
index 0000000..a1b6f48
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/cortina-cs4321.txt
@@ -0,0 +1,27 @@
+Cortina CS4321 dual RXAIU/quad XAUI 10G Ethernet PHYs. Each PHY
+within the package is mostly independent and has the following
+properties. These phys do *not* implement the standard IEEE 802.3
+clause 45 registers.
+
+Required Properties:
+
+- compatible : "cortina,cs4321" or "cortina,cs4318".
+- reg : The address on the system management bus (MDIO/I2C/SPI address)
+- cortina,host-mode : Either "rxaui" or "xaui", the protocol used to
+ communicate with the Ethernet MAC.
+
+Optional Properties:
+
+- interrupts : One set of cells (per the interrupt-parent) for the
+ interrupt line.
+- interrupt-parent : Standard interrupt-parent property for the interrupt.
+
+Example:
+
+ phy0: ethernet-phy@4 {
+ reg = <0x04>;
+ compatible = "cortina,cs4318";
+ interrupt-parent = <&gpio>;
+ interrupts = <11 8>; /* Pin 11, active low */
+ cortina,host-mode = "rxaui";
+ };
diff --git a/drivers/net/phy/Kconfig b/drivers/net/phy/Kconfig
index 9e36c8f..1d977f9 100644
--- a/drivers/net/phy/Kconfig
+++ b/drivers/net/phy/Kconfig
@@ -72,6 +72,12 @@ config BCM87XX_PHY
help
Currently supports the BCM8706 and BCM8727 10G Ethernet PHYs.

+config CS4318_PHY
+ tristate "Driver for Cortina cs4318 quad-10G Ethernet PHY"
+ help
+ Currently supports only the Cortina cs4318 PHY. This may be
+ configured as either a quad-RXAUI or dual-XAUI device.
+
config ICPLUS_PHY
tristate "Drivers for ICPlus PHYs"
---help---
diff --git a/drivers/net/phy/Makefile b/drivers/net/phy/Makefile
index 6d2dc6c..c99f64c 100644
--- a/drivers/net/phy/Makefile
+++ b/drivers/net/phy/Makefile
@@ -13,6 +13,7 @@ obj-$(CONFIG_VITESSE_PHY) += vitesse.o
obj-$(CONFIG_BROADCOM_PHY) += broadcom.o
obj-$(CONFIG_BCM63XX_PHY) += bcm63xx.o
obj-$(CONFIG_BCM87XX_PHY) += bcm87xx.o
+obj-$(CONFIG_CS4318_PHY) += cs4321.o
obj-$(CONFIG_ICPLUS_PHY) += icplus.o
obj-$(CONFIG_REALTEK_PHY) += realtek.o
obj-$(CONFIG_LSI_ET1011C_PHY) += et1011c.o
diff --git a/drivers/net/phy/cs4321-ucode.h b/drivers/net/phy/cs4321-ucode.h
new file mode 100644
index 0000000..98f05ac
--- /dev/null
+++ b/drivers/net/phy/cs4321-ucode.h
@@ -0,0 +1,4378 @@
+/*
+ * Copyright (C) 2011 by Cortina Systems, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ */
+
+/*
+ * The following arrays contain the microcode data to download to the
+ * device.
+ */
+static u16 cs4321_microcode_prolog[] = {
+ /* Addr, Data */
+ 0x001c, 0x0001,
+ 0x0020, 0x8004,
+ 0x0240, 0x0008,
+ 0x024f, 0x0000
+};
+
+/*
+ * Each slice is written:
+ * 0x024f, slice_number
+ * for each element in slice:
+ * 0x0201, first_value
+ * 0x0202, second_value
+ * 0x0200, element index + 0x9000
+ */
+static u16 cs4321_microcode_slices[8][512 * 2] = {{
+ 0x009a, 0xb616,
+ 0x0060, 0x01e6,
+ 0x0088, 0xbf02,
+ 0x0000, 0x0000,
+ 0x0083, 0xc184,
+ 0x0003, 0xc084,
+ 0x0083, 0x4f4b,
+ 0x0003, 0x4190,
+ 0x0003, 0x4f83,
+ 0x0083, 0x408e,
+ 0x0083, 0xe0db,
+ 0x0083, 0xc0ec,
+ 0x0003, 0xc0eb,
+ 0x0003, 0xc0ee,
+ 0x0083, 0xc0ea,
+ 0x0003, 0xc696,
+ 0x0004, 0xed04,
+ 0x0083, 0xc0bf,
+ 0x001a, 0x3501,
+ 0x0060, 0x01e6,
+ 0x0083, 0xc086,
+ 0x001a, 0xb701,
+ 0x0060, 0x01e6,
+ 0x00ba, 0x0020,
+ 0x009b, 0x03bf,
+ 0x0020, 0x001f,
+ 0x0083, 0xc0bf,
+ 0x001a, 0x3703,
+ 0x0060, 0x01e6,
+ 0x0003, 0xc2bf,
+ 0x0060, 0x01e6,
+ 0x008a, 0xde02,
+ 0x0080, 0x0023,
+ 0x008e, 0x8502,
+ 0x0080, 0x0015,
+ 0x0018, 0x9300,
+ 0x0003, 0x0393,
+ 0x001b, 0x4f80,
+ 0x0083, 0x0380,
+ 0x0083, 0xd497,
+ 0x0083, 0xd498,
+ 0x0003, 0xd499,
+ 0x0083, 0xc0b9,
+ 0x0083, 0xc7ff,
+ 0x0003, 0xc082,
+ 0x0024, 0x8508,
+ 0x001b, 0x57ba,
+ 0x0097, 0x5703,
+ 0x00a0, 0x0035,
+ 0x000f, 0x8585,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0083, 0x49b8,
+ 0x0083, 0xc052,
+ 0x0098, 0x5200,
+ 0x0083, 0x0352,
+ 0x0099, 0xb853,
+ 0x0003, 0x03b8,
+ 0x0083, 0xd497,
+ 0x0083, 0xd498,
+ 0x0003, 0xd499,
+ 0x00a4, 0x8505,
+ 0x001b, 0x57ba,
+ 0x0097, 0x5703,
+ 0x0020, 0x0043,
+ 0x008f, 0x8587,
+ 0x0003, 0xc082,
+ 0x0003, 0xd689,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0083, 0xc182,
+ 0x009a, 0x0104,
+ 0x0083, 0x03b5,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0093, 0x0000,
+ 0x001f, 0x8761,
+ 0x0003, 0x03f6,
+ 0x001a, 0x0160,
+ 0x001e, 0x03f6,
+ 0x0003, 0x03f6,
+ 0x0017, 0xd103,
+ 0x0041, 0x0056,
+ 0x0083, 0xd1fb,
+ 0x0080, 0x005d,
+ 0x001a, 0x0094,
+ 0x0017, 0xf603,
+ 0x0041, 0x005c,
+ 0x001a, 0x0094,
+ 0x0083, 0x03fb,
+ 0x0080, 0x005d,
+ 0x0083, 0xf6fb,
+ 0x0003, 0xc0e4,
+ 0x0018, 0xe400,
+ 0x0003, 0x03e4,
+ 0x0003, 0xd299,
+ 0x0083, 0xd298,
+ 0x0083, 0xd297,
+ 0x0083, 0xcbf9,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0003, 0xc1b5,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0003, 0xd089,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0003, 0xcff9,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0003, 0xc2b5,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0003, 0xd089,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0003, 0xd5b5,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0083, 0xcef9,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x001f, 0xc20f,
+ 0x009e, 0xd303,
+ 0x0083, 0x0397,
+ 0x0003, 0xd398,
+ 0x0083, 0xd399,
+ 0x0003, 0xd089,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x009f, 0xe40f,
+ 0x0017, 0xd703,
+ 0x00c1, 0x005e,
+ 0x0083, 0xd297,
+ 0x0083, 0xd298,
+ 0x0003, 0xd299,
+ 0x008b, 0x8515,
+ 0x0083, 0x5089,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x000b, 0x8511,
+ 0x0083, 0x5089,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x008b, 0x850d,
+ 0x0083, 0x5089,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0004, 0xb609,
+ 0x008b, 0x8508,
+ 0x001a, 0x001c,
+ 0x0097, 0x03b6,
+ 0x0041, 0x00a6,
+ 0x0097, 0xb64b,
+ 0x0041, 0x00a6,
+ 0x0083, 0xb64b,
+ 0x0083, 0xb84c,
+ 0x001a, 0x000b,
+ 0x0097, 0x5203,
+ 0x00a1, 0x0037,
+ 0x0083, 0x4cb8,
+ 0x0083, 0xd497,
+ 0x0083, 0xd498,
+ 0x0003, 0xd499,
+ 0x00a4, 0x8505,
+ 0x001b, 0x57ba,
+ 0x0097, 0x5703,
+ 0x00a0, 0x00b2,
+ 0x008f, 0x8584,
+ 0x0003, 0xc082,
+ 0x0003, 0xd689,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0083, 0xc182,
+ 0x001f, 0xc20f,
+ 0x009e, 0xd303,
+ 0x0083, 0x0397,
+ 0x0003, 0xd398,
+ 0x0083, 0xd399,
+ 0x0083, 0xd297,
+ 0x0083, 0xd298,
+ 0x0003, 0xd299,
+ 0x001b, 0x57ba,
+ 0x0083, 0x03b9,
+ 0x009f, 0xd20f,
+ 0x0091, 0x0380,
+ 0x0083, 0x0380,
+ 0x001a, 0xb701,
+ 0x0060, 0x01e6,
+ 0x00ba, 0x0020,
+ 0x009b, 0x03bf,
+ 0x0020, 0x00ce,
+ 0x0083, 0xc0bf,
+ 0x001a, 0x3703,
+ 0x0060, 0x01e6,
+ 0x0003, 0xc2bf,
+ 0x0060, 0x01e6,
+ 0x009b, 0x57a3,
+ 0x0060, 0x01dc,
+ 0x0083, 0x03ef,
+ 0x009b, 0x57a0,
+ 0x0060, 0x01dc,
+ 0x0083, 0x03dc,
+ 0x0018, 0xee00,
+ 0x0003, 0x03ee,
+ 0x0017, 0x59ee,
+ 0x0041, 0x011f,
+ 0x0003, 0xc0ee,
+ 0x0084, 0xed0f,
+ 0x009a, 0x8086,
+ 0x0083, 0x03bf,
+ 0x009a, 0x3408,
+ 0x0060, 0x01e6,
+ 0x001a, 0xb40b,
+ 0x0060, 0x01e6,
+ 0x0097, 0xbf60,
+ 0x0020, 0x00e5,
+ 0x0083, 0xbf60,
+ 0x0003, 0xc1bf,
+ 0x0080, 0x00e6,
+ 0x0083, 0xc0bf,
+ 0x001a, 0x3501,
+ 0x0060, 0x01e6,
+ 0x0093, 0x0000,
+ 0x001f, 0x8761,
+ 0x0003, 0x03f6,
+ 0x001a, 0x0160,
+ 0x001e, 0x03f6,
+ 0x0003, 0x03f6,
+ 0x0017, 0xd103,
+ 0x00c1, 0x00f2,
+ 0x0083, 0xd1fb,
+ 0x0000, 0x00f9,
+ 0x001a, 0x0094,
+ 0x0017, 0xf603,
+ 0x00c1, 0x00f8,
+ 0x001a, 0x0094,
+ 0x0083, 0x03fb,
+ 0x0000, 0x00f9,
+ 0x0083, 0xf6fb,
+ 0x009b, 0xa155,
+ 0x0003, 0x03e2,
+ 0x009a, 0x0055,
+ 0x0017, 0xe203,
+ 0x00c1, 0x0103,
+ 0x0084, 0xb90b,
+ 0x001f, 0xc10f,
+ 0x009e, 0xb903,
+ 0x0083, 0x03b9,
+ 0x0080, 0x0109,
+ 0x0097, 0x54e2,
+ 0x00c1, 0x0109,
+ 0x0017, 0xb957,
+ 0x0020, 0x0109,
+ 0x0098, 0xb900,
+ 0x0083, 0x03b9,
+ 0x009e, 0x55c4,
+ 0x0097, 0xb903,
+ 0x00c1, 0x0114,
+ 0x0004, 0xff13,
+ 0x009f, 0xff0f,
+ 0x009e, 0x03c1,
+ 0x0003, 0x03ff,
+ 0x001f, 0xb90f,
+ 0x0019, 0x03c8,
+ 0x0083, 0x03b9,
+ 0x0000, 0x011f,
+ 0x0099, 0xcc55,
+ 0x0097, 0x03b9,
+ 0x0041, 0x011f,
+ 0x009f, 0xff0f,
+ 0x0097, 0x03c7,
+ 0x0041, 0x011f,
+ 0x0018, 0xff00,
+ 0x0003, 0x03ff,
+ 0x001f, 0xb90f,
+ 0x009e, 0x03c8,
+ 0x0083, 0x03b9,
+ 0x0085, 0xeb07,
+ 0x0003, 0xc145,
+ 0x0098, 0xea00,
+ 0x0083, 0x03ea,
+ 0x0097, 0x48ea,
+ 0x0041, 0x0134,
+ 0x0083, 0xc1eb,
+ 0x008f, 0xdc0a,
+ 0x001b, 0xa055,
+ 0x0017, 0xc903,
+ 0x00c1, 0x012d,
+ 0x0083, 0xc045,
+ 0x0083, 0xc242,
+ 0x0000, 0x0134,
+ 0x0003, 0xc245,
+ 0x0003, 0xc042,
+ 0x0000, 0x0134,
+ 0x001b, 0xa055,
+ 0x0097, 0xc103,
+ 0x00c1, 0x012d,
+ 0x0000, 0x012a,
+ 0x001b, 0xa355,
+ 0x0017, 0xcc03,
+ 0x00c1, 0x013c,
+ 0x001f, 0xc80f,
+ 0x009e, 0xd303,
+ 0x0003, 0x0344,
+ 0x0003, 0xc843,
+ 0x0000, 0x0145,
+ 0x008f, 0xef06,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0083, 0xd344,
+ 0x0083, 0xc043,
+ 0x0000, 0x0145,
+ 0x0017, 0xc503,
+ 0x00c1, 0x013f,
+ 0x0000, 0x0137,
+ 0x009b, 0xa155,
+ 0x0003, 0x03e2,
+ 0x001a, 0x0040,
+ 0x0017, 0xe203,
+ 0x0041, 0x0152,
+ 0x0083, 0xc296,
+ 0x009f, 0xd20f,
+ 0x0019, 0xc103,
+ 0x0083, 0x0398,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0083, 0xd298,
+ 0x0003, 0xc696,
+ 0x009b, 0xa755,
+ 0x0017, 0x5a03,
+ 0x00c1, 0x015c,
+ 0x009a, 0x000a,
+ 0x009e, 0xd303,
+ 0x0083, 0x0346,
+ 0x009a, 0x000a,
+ 0x0003, 0x0347,
+ 0x0000, 0x0164,
+ 0x000f, 0xa704,
+ 0x0003, 0xd346,
+ 0x0003, 0xc047,
+ 0x0000, 0x0164,
+ 0x009b, 0xa755,
+ 0x0097, 0xc203,
+ 0x0041, 0x015d,
+ 0x0080, 0x0156,
+ 0x009f, 0xd20f,
+ 0x0011, 0x0344,
+ 0x0083, 0x0398,
+ 0x009f, 0xd20f,
+ 0x0091, 0x0345,
+ 0x0083, 0x0397,
+ 0x009f, 0xd20f,
+ 0x0091, 0x0346,
+ 0x0003, 0x0399,
+ 0x0003, 0xd089,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0003, 0xd299,
+ 0x0083, 0xd298,
+ 0x0083, 0xd297,
+ 0x0088, 0xde22,
+ 0x001a, 0x000d,
+ 0x009e, 0x8303,
+ 0x0083, 0x0383,
+ 0x0003, 0xcc4b,
+ 0x009c, 0x58e5,
+ 0x0003, 0x034d,
+ 0x009e, 0x834b,
+ 0x0083, 0x0383,
+ 0x001c, 0x4bc1,
+ 0x0003, 0x034b,
+ 0x0017, 0x4b4d,
+ 0x0020, 0x0184,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0000, 0x017a,
+ 0x0083, 0x5089,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0091, 0x834b,
+ 0x0083, 0x0383,
+ 0x009d, 0x4bc1,
+ 0x0003, 0x034b,
+ 0x0017, 0x4bc9,
+ 0x00a0, 0x0191,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0080, 0x0187,
+ 0x001a, 0x001f,
+ 0x0091, 0x8303,
+ 0x0083, 0x0383,
+ 0x0000, 0x0198,
+ 0x0083, 0x5089,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0080, 0x019a,
+ 0x0000, 0x0006,
+ 0x0091, 0x40ca,
+ 0x0011, 0x5c03,
+ 0x0003, 0x038e,
+ 0x001e, 0x41c5,
+ 0x001e, 0x0348,
+ 0x0003, 0x0390,
+ 0x001f, 0xc80f,
+ 0x0091, 0x0351,
+ 0x0083, 0x0391,
+ 0x0083, 0x0392,
+ 0x009f, 0xd20f,
+ 0x0091, 0x0343,
+ 0x0083, 0x0398,
+ 0x009f, 0xd20f,
+ 0x0011, 0x0342,
+ 0x0083, 0x0397,
+ 0x009f, 0xd20f,
+ 0x0011, 0x0347,
+ 0x0003, 0x0399,
+ 0x0083, 0xcbf9,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0003, 0xc1b5,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0003, 0xd089,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0083, 0xd297,
+ 0x0083, 0xd298,
+ 0x0003, 0xd299,
+ 0x0083, 0x408e,
+ 0x0003, 0x4190,
+ 0x009f, 0xc50f,
+ 0x0099, 0x03c9,
+ 0x0091, 0x0351,
+ 0x0083, 0x0391,
+ 0x0083, 0x0392,
+ 0x0003, 0xcff9,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0003, 0xc2b5,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0003, 0xd089,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0003, 0xd5b5,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0083, 0xcef9,
+ 0x0098, 0xec00,
+ 0x0083, 0x03ec,
+ 0x009a, 0x0050,
+ 0x0097, 0x03ec,
+ 0x00c1, 0x01d8,
+ 0x0003, 0x5886,
+ 0x0003, 0xc0db,
+ 0x008b, 0x85bf,
+ 0x0080, 0x00c4,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x00ae, 0x8005,
+ 0x000f, 0x0303,
+ 0x001e, 0x035f,
+ 0x00e1, 0x0000,
+ 0x0099, 0x5f03,
+ 0x00e1, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0003, 0x03be,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x002f, 0xbf00,
+ 0x00aa, 0xbf85,
+ 0x00e1, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+}, {
+ 0x009a, 0xb616,
+ 0x0009, 0xbf02,
+ 0x0000, 0x0000,
+ 0x0083, 0xc184,
+ 0x0003, 0xc084,
+ 0x0083, 0x4f4b,
+ 0x0083, 0x408e,
+ 0x0003, 0x4f83,
+ 0x0003, 0x4190,
+ 0x0083, 0xe0db,
+ 0x0083, 0xc0ec,
+ 0x0004, 0xed04,
+ 0x0083, 0xc0bf,
+ 0x001a, 0x3501,
+ 0x00e0, 0x01a5,
+ 0x0083, 0xc086,
+ 0x001a, 0xb701,
+ 0x00e0, 0x01a5,
+ 0x00ba, 0x0020,
+ 0x009b, 0x03bf,
+ 0x0020, 0x001a,
+ 0x0083, 0xc0bf,
+ 0x001a, 0x3703,
+ 0x00e0, 0x01a5,
+ 0x0003, 0xc2bf,
+ 0x00e0, 0x01a5,
+ 0x008a, 0xde02,
+ 0x0000, 0x001e,
+ 0x008e, 0x8502,
+ 0x0080, 0x0010,
+ 0x0018, 0x9300,
+ 0x0003, 0x0393,
+ 0x001b, 0x4f80,
+ 0x0083, 0x0380,
+ 0x0083, 0xd497,
+ 0x0083, 0xd498,
+ 0x0003, 0xd499,
+ 0x0083, 0xc0b9,
+ 0x0083, 0xc7ff,
+ 0x0003, 0xc082,
+ 0x0024, 0x8508,
+ 0x001b, 0x57ba,
+ 0x0097, 0x5703,
+ 0x00a0, 0x0030,
+ 0x000c, 0x8585,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0083, 0x49b8,
+ 0x0083, 0xc052,
+ 0x0098, 0x5200,
+ 0x0083, 0x0352,
+ 0x0099, 0xb853,
+ 0x0003, 0x03b8,
+ 0x0083, 0xd497,
+ 0x0083, 0xd498,
+ 0x0003, 0xd499,
+ 0x00a4, 0x8505,
+ 0x001b, 0x57ba,
+ 0x0097, 0x5703,
+ 0x0020, 0x003e,
+ 0x008f, 0x8587,
+ 0x0003, 0xc082,
+ 0x0003, 0xd689,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0083, 0xc182,
+ 0x009a, 0x0104,
+ 0x0083, 0x03b5,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0060, 0x01ae,
+ 0x0003, 0xc0e4,
+ 0x0018, 0xe400,
+ 0x0003, 0x03e4,
+ 0x0003, 0xd299,
+ 0x0083, 0xd298,
+ 0x0083, 0xd297,
+ 0x0060, 0x01c2,
+ 0x00e0, 0x01cf,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x001f, 0xc20f,
+ 0x009e, 0xd303,
+ 0x0083, 0x0397,
+ 0x0003, 0xd398,
+ 0x0083, 0xd399,
+ 0x0003, 0xd089,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x009f, 0xe40f,
+ 0x0017, 0xd703,
+ 0x00c1, 0x0049,
+ 0x0083, 0xd297,
+ 0x0083, 0xd298,
+ 0x0003, 0xd299,
+ 0x008b, 0x8515,
+ 0x0083, 0x5089,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x000b, 0x8511,
+ 0x0083, 0x5089,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x008b, 0x850d,
+ 0x0083, 0x5089,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0004, 0xb609,
+ 0x008b, 0x8508,
+ 0x001a, 0x001c,
+ 0x0097, 0x03b6,
+ 0x0041, 0x0077,
+ 0x0097, 0xb64b,
+ 0x0041, 0x0077,
+ 0x0083, 0xb64b,
+ 0x0083, 0xb84c,
+ 0x001a, 0x000b,
+ 0x0097, 0x5203,
+ 0x00a1, 0x0032,
+ 0x0011, 0x4c51,
+ 0x0003, 0x03b8,
+ 0x0083, 0xd497,
+ 0x0083, 0xd498,
+ 0x0003, 0xd499,
+ 0x00a4, 0x8505,
+ 0x001b, 0x57ba,
+ 0x0097, 0x5703,
+ 0x00a0, 0x0084,
+ 0x008f, 0x8584,
+ 0x0003, 0xc082,
+ 0x0003, 0xd689,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0083, 0xc182,
+ 0x001f, 0xc20f,
+ 0x009e, 0xd303,
+ 0x0083, 0x0397,
+ 0x0003, 0xd398,
+ 0x0083, 0xd399,
+ 0x0083, 0xd297,
+ 0x0083, 0xd298,
+ 0x0003, 0xd299,
+ 0x001b, 0x57ba,
+ 0x0083, 0x03b9,
+ 0x009f, 0xd20f,
+ 0x0091, 0x0380,
+ 0x0083, 0x0380,
+ 0x001a, 0xb701,
+ 0x00e0, 0x01a5,
+ 0x00ba, 0x0020,
+ 0x009b, 0x03bf,
+ 0x00a0, 0x00a0,
+ 0x0083, 0xc0bf,
+ 0x001a, 0x3703,
+ 0x00e0, 0x01a5,
+ 0x0003, 0xc2bf,
+ 0x00e0, 0x01a5,
+ 0x001b, 0x57a1,
+ 0x00e0, 0x01e2,
+ 0x0083, 0x03f2,
+ 0x009b, 0x57a0,
+ 0x00e0, 0x01e2,
+ 0x0083, 0x03dc,
+ 0x0083, 0x4a9c,
+ 0x0098, 0xea00,
+ 0x0083, 0x03ea,
+ 0x001f, 0xce0f,
+ 0x0097, 0x03ea,
+ 0x00c1, 0x00e6,
+ 0x0084, 0xed0f,
+ 0x009a, 0x8086,
+ 0x0083, 0x03bf,
+ 0x009a, 0x3408,
+ 0x00e0, 0x01a5,
+ 0x001a, 0xb40b,
+ 0x00e0, 0x01a5,
+ 0x0097, 0xbf60,
+ 0x00a0, 0x00b8,
+ 0x0083, 0xbf60,
+ 0x0003, 0xc1bf,
+ 0x0080, 0x00b9,
+ 0x0083, 0xc0bf,
+ 0x001a, 0x3501,
+ 0x00e0, 0x01a5,
+ 0x0060, 0x01ae,
+ 0x009b, 0xa155,
+ 0x0042, 0x0000,
+ 0x0083, 0x03ea,
+ 0x009f, 0xc90f,
+ 0x0097, 0xea03,
+ 0x00c1, 0x00c7,
+ 0x009f, 0xc90f,
+ 0x001e, 0x03c6,
+ 0x0097, 0x03ea,
+ 0x00c1, 0x00ce,
+ 0x0080, 0x00d5,
+ 0x009f, 0xfa0f,
+ 0x0097, 0x03cd,
+ 0x0020, 0x00d5,
+ 0x0041, 0x00d2,
+ 0x0018, 0xfa00,
+ 0x0003, 0x03fa,
+ 0x0080, 0x00d5,
+ 0x009f, 0xfa0f,
+ 0x0017, 0xc003,
+ 0x0020, 0x00d5,
+ 0x00c1, 0x00cb,
+ 0x009f, 0xfa0f,
+ 0x009e, 0x03c1,
+ 0x0003, 0x03fa,
+ 0x0083, 0xc0ea,
+ 0x001b, 0xa355,
+ 0x0003, 0x03e2,
+ 0x009e, 0x54c9,
+ 0x0017, 0xe203,
+ 0x00c1, 0x00e0,
+ 0x0084, 0xb90b,
+ 0x001f, 0xc10f,
+ 0x009e, 0xb903,
+ 0x0083, 0x03b9,
+ 0x0080, 0x00e6,
+ 0x0097, 0x54e2,
+ 0x00c1, 0x00e6,
+ 0x0017, 0xb957,
+ 0x0020, 0x00e6,
+ 0x0098, 0xb900,
+ 0x0083, 0x03b9,
+ 0x009e, 0x55c4,
+ 0x0097, 0xb903,
+ 0x00c1, 0x00f1,
+ 0x0004, 0xff13,
+ 0x009f, 0xff0f,
+ 0x009e, 0x03c1,
+ 0x0003, 0x03ff,
+ 0x001f, 0xb90f,
+ 0x0019, 0x03c8,
+ 0x0083, 0x03b9,
+ 0x0000, 0x00fc,
+ 0x0099, 0xcc55,
+ 0x0097, 0x03b9,
+ 0x0041, 0x00fc,
+ 0x009f, 0xff0f,
+ 0x0097, 0x03c7,
+ 0x0041, 0x00fc,
+ 0x0018, 0xff00,
+ 0x0003, 0x03ff,
+ 0x001f, 0xb90f,
+ 0x009e, 0x03c8,
+ 0x0083, 0x03b9,
+ 0x008f, 0xf20c,
+ 0x009b, 0xa155,
+ 0x0097, 0x5d03,
+ 0x00c1, 0x0105,
+ 0x001f, 0xc20f,
+ 0x009e, 0xd303,
+ 0x0003, 0x0344,
+ 0x0003, 0xc243,
+ 0x0080, 0x010c,
+ 0x0083, 0xd344,
+ 0x0083, 0xc043,
+ 0x0080, 0x010c,
+ 0x009b, 0xa155,
+ 0x0097, 0xc103,
+ 0x00c1, 0x0105,
+ 0x0080, 0x0100,
+ 0x001b, 0xa055,
+ 0x0097, 0xc803,
+ 0x00c1, 0x0114,
+ 0x001f, 0xc20f,
+ 0x009e, 0xd303,
+ 0x0083, 0x0345,
+ 0x0083, 0xc242,
+ 0x0000, 0x0120,
+ 0x0003, 0xd345,
+ 0x0003, 0xc042,
+ 0x008f, 0xdc0a,
+ 0x0097, 0xc103,
+ 0x0041, 0x0120,
+ 0x001b, 0xa055,
+ 0x0017, 0xc003,
+ 0x0041, 0x0120,
+ 0x001f, 0xc20f,
+ 0x009e, 0xd303,
+ 0x0083, 0x0345,
+ 0x0083, 0xc242,
+ 0x0003, 0xd346,
+ 0x0003, 0xc047,
+ 0x008f, 0xa70a,
+ 0x009b, 0xa755,
+ 0x0097, 0xce03,
+ 0x00c1, 0x012b,
+ 0x001e, 0x46c8,
+ 0x0083, 0x0346,
+ 0x0091, 0x47c8,
+ 0x0003, 0x0347,
+ 0x0080, 0x0130,
+ 0x0080, 0x0130,
+ 0x009b, 0xa755,
+ 0x0097, 0xc103,
+ 0x00c1, 0x012b,
+ 0x0000, 0x0126,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x000f, 0xa60a,
+ 0x001b, 0xa655,
+ 0x0097, 0xce03,
+ 0x0041, 0x013b,
+ 0x001e, 0x46c2,
+ 0x0083, 0x0346,
+ 0x0091, 0x47c2,
+ 0x0003, 0x0347,
+ 0x0000, 0x0140,
+ 0x0000, 0x0140,
+ 0x001b, 0xa655,
+ 0x0097, 0xc103,
+ 0x0041, 0x013b,
+ 0x0080, 0x0136,
+ 0x009f, 0xd20f,
+ 0x0091, 0x0345,
+ 0x0083, 0x0397,
+ 0x009f, 0xd20f,
+ 0x0011, 0x0344,
+ 0x0083, 0x0398,
+ 0x009f, 0xd20f,
+ 0x0091, 0x0346,
+ 0x0003, 0x0399,
+ 0x0003, 0xd089,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0003, 0xd299,
+ 0x0083, 0xd298,
+ 0x0083, 0xd297,
+ 0x0088, 0xde1e,
+ 0x001f, 0xcd0f,
+ 0x009e, 0x8303,
+ 0x0083, 0x0383,
+ 0x0003, 0xcc4b,
+ 0x009c, 0x58c8,
+ 0x0003, 0x034d,
+ 0x009e, 0x834b,
+ 0x0083, 0x0383,
+ 0x001c, 0x4bc1,
+ 0x0003, 0x034b,
+ 0x0017, 0x4b4d,
+ 0x0020, 0x0160,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0080, 0x0156,
+ 0x0083, 0x5089,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0091, 0x834b,
+ 0x0083, 0x0383,
+ 0x009d, 0x4bc1,
+ 0x0003, 0x034b,
+ 0x0017, 0x4bc9,
+ 0x00a0, 0x016d,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0080, 0x0163,
+ 0x0003, 0x4f83,
+ 0x0091, 0x40ca,
+ 0x0011, 0x5c03,
+ 0x0003, 0x038e,
+ 0x001e, 0x41c5,
+ 0x001e, 0x0348,
+ 0x0003, 0x0390,
+ 0x0091, 0x40ca,
+ 0x001e, 0x0348,
+ 0x009e, 0x0358,
+ 0x0083, 0x038f,
+ 0x001f, 0xc80f,
+ 0x0091, 0x0351,
+ 0x0083, 0x0391,
+ 0x0083, 0x0392,
+ 0x0080, 0x017e,
+ 0x0000, 0x0005,
+ 0x009f, 0xd20f,
+ 0x0011, 0x0342,
+ 0x0083, 0x0397,
+ 0x009f, 0xd20f,
+ 0x0091, 0x0343,
+ 0x0083, 0x0398,
+ 0x009f, 0xd20f,
+ 0x0011, 0x0347,
+ 0x0003, 0x0399,
+ 0x0060, 0x01c2,
+ 0x0083, 0xd297,
+ 0x0083, 0xd298,
+ 0x0003, 0xd299,
+ 0x001e, 0x4058,
+ 0x009e, 0x0358,
+ 0x0003, 0x038e,
+ 0x0003, 0x4190,
+ 0x0099, 0x4058,
+ 0x0083, 0x038f,
+ 0x001a, 0x0025,
+ 0x0091, 0x0351,
+ 0x0083, 0x0391,
+ 0x0083, 0x0392,
+ 0x00e0, 0x01cf,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0098, 0xec00,
+ 0x0083, 0x03ec,
+ 0x009a, 0x0050,
+ 0x0097, 0x03ec,
+ 0x00c1, 0x019f,
+ 0x0003, 0x5886,
+ 0x0003, 0xc0db,
+ 0x008b, 0x85a2,
+ 0x0000, 0x0096,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0003, 0x03be,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x002f, 0xbf00,
+ 0x00aa, 0xbf85,
+ 0x00e1, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0093, 0x0000,
+ 0x001f, 0x8761,
+ 0x0003, 0x03f6,
+ 0x001a, 0x0160,
+ 0x001e, 0x03f6,
+ 0x0003, 0x03f6,
+ 0x0017, 0xd103,
+ 0x00c1, 0x01b8,
+ 0x0083, 0xd1fb,
+ 0x0000, 0x01bf,
+ 0x001a, 0x0094,
+ 0x0017, 0xf603,
+ 0x00c1, 0x01be,
+ 0x001a, 0x0094,
+ 0x0083, 0x03fb,
+ 0x0000, 0x01bf,
+ 0x0083, 0xf6fb,
+ 0x00e1, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0083, 0xcbf9,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0003, 0xc1b5,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0003, 0xd089,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x00e1, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0003, 0xcff9,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0003, 0xc2b5,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0003, 0xd089,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0003, 0xd5b5,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0083, 0xcef9,
+ 0x00e1, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x00ae, 0x8005,
+ 0x000f, 0x0303,
+ 0x001e, 0x035f,
+ 0x00e1, 0x0000,
+ 0x0099, 0x5f03,
+ 0x00e1, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+}, {
+ 0x009a, 0xb616,
+ 0x00e0, 0x01db,
+ 0x008b, 0xbf02,
+ 0x0000, 0x0000,
+ 0x0083, 0xc184,
+ 0x0003, 0xc084,
+ 0x0004, 0xed04,
+ 0x0083, 0xc0bf,
+ 0x001a, 0x3501,
+ 0x00e0, 0x01db,
+ 0x0083, 0x408e,
+ 0x0003, 0x4f83,
+ 0x0003, 0x4190,
+ 0x0083, 0x4f4b,
+ 0x0083, 0xe0db,
+ 0x0083, 0xc0ec,
+ 0x0083, 0xc0ea,
+ 0x0083, 0xc086,
+ 0x001a, 0xb701,
+ 0x00e0, 0x01db,
+ 0x00ba, 0x0020,
+ 0x009b, 0x03bf,
+ 0x0020, 0x001c,
+ 0x0083, 0xc0bf,
+ 0x001a, 0x3703,
+ 0x00e0, 0x01db,
+ 0x0003, 0xc2bf,
+ 0x00e0, 0x01db,
+ 0x008a, 0xde02,
+ 0x0080, 0x0020,
+ 0x008e, 0x8502,
+ 0x0000, 0x0012,
+ 0x0083, 0xc44d,
+ 0x0018, 0x9300,
+ 0x0003, 0x0393,
+ 0x001b, 0x4f80,
+ 0x0083, 0x0380,
+ 0x0083, 0xd497,
+ 0x0083, 0xd498,
+ 0x0003, 0xd499,
+ 0x0083, 0xc0b9,
+ 0x0083, 0xc7ff,
+ 0x0003, 0xc082,
+ 0x0024, 0x8507,
+ 0x001b, 0x57ba,
+ 0x0097, 0x5703,
+ 0x0020, 0x0032,
+ 0x000f, 0x8585,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0083, 0x49b8,
+ 0x0083, 0xc052,
+ 0x0003, 0xf3fa,
+ 0x0080, 0x003e,
+ 0x0018, 0x9600,
+ 0x0003, 0x0396,
+ 0x0083, 0xf1fa,
+ 0x0083, 0xd497,
+ 0x0083, 0xd498,
+ 0x0003, 0xd499,
+ 0x0083, 0x49b8,
+ 0x0083, 0xc052,
+ 0x0098, 0x5200,
+ 0x0083, 0x0352,
+ 0x0099, 0xb853,
+ 0x0003, 0x03b8,
+ 0x0083, 0xd497,
+ 0x0083, 0xd498,
+ 0x0003, 0xd499,
+ 0x00a4, 0x8505,
+ 0x001b, 0x57ba,
+ 0x0097, 0x5703,
+ 0x0020, 0x004a,
+ 0x008f, 0x8587,
+ 0x0003, 0xc082,
+ 0x0003, 0xd689,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0083, 0xc182,
+ 0x009a, 0x0104,
+ 0x0083, 0x03b5,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x00e0, 0x01e4,
+ 0x0003, 0xc0e4,
+ 0x0018, 0xe400,
+ 0x0003, 0x03e4,
+ 0x0003, 0xd299,
+ 0x0083, 0xd298,
+ 0x0083, 0xd297,
+ 0x0060, 0x01ba,
+ 0x0060, 0x01c8,
+ 0x001f, 0xc20f,
+ 0x009e, 0xd303,
+ 0x0083, 0x0397,
+ 0x0003, 0xd398,
+ 0x0083, 0xd399,
+ 0x0003, 0xd089,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x009f, 0xe40f,
+ 0x0017, 0xd703,
+ 0x0041, 0x0055,
+ 0x0083, 0xd297,
+ 0x0083, 0xd298,
+ 0x0003, 0xd299,
+ 0x008b, 0x8516,
+ 0x0083, 0x5089,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x000b, 0x8512,
+ 0x0083, 0x5089,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x008b, 0x850e,
+ 0x0083, 0x5089,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0004, 0xb60a,
+ 0x000b, 0x8509,
+ 0x001a, 0x001c,
+ 0x0097, 0x03b6,
+ 0x0041, 0x0081,
+ 0x0097, 0xb64b,
+ 0x0041, 0x0081,
+ 0x0083, 0xb64b,
+ 0x0083, 0xb84c,
+ 0x0003, 0x964d,
+ 0x001a, 0x000b,
+ 0x0097, 0x5203,
+ 0x00a1, 0x003e,
+ 0x009f, 0x960f,
+ 0x0017, 0x03c5,
+ 0x0021, 0x0036,
+ 0x0083, 0x4cb8,
+ 0x0003, 0x4d96,
+ 0x0083, 0xd497,
+ 0x0083, 0xd498,
+ 0x0003, 0xd499,
+ 0x00a4, 0x8505,
+ 0x001b, 0x57ba,
+ 0x0097, 0x5703,
+ 0x0020, 0x0091,
+ 0x008f, 0x8584,
+ 0x0003, 0xc082,
+ 0x0003, 0xd689,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0083, 0xc182,
+ 0x001f, 0xc20f,
+ 0x009e, 0xd303,
+ 0x0083, 0x0397,
+ 0x0003, 0xd398,
+ 0x0083, 0xd399,
+ 0x0083, 0xd297,
+ 0x0083, 0xd298,
+ 0x0003, 0xd299,
+ 0x001b, 0x57ba,
+ 0x0083, 0x03b9,
+ 0x009f, 0xd20f,
+ 0x0091, 0x0380,
+ 0x0083, 0x0380,
+ 0x009b, 0x57a3,
+ 0x00e0, 0x01b2,
+ 0x0083, 0x03ef,
+ 0x001b, 0x57a1,
+ 0x00e0, 0x01b2,
+ 0x0083, 0x03f2,
+ 0x009b, 0x57a0,
+ 0x00e0, 0x01b2,
+ 0x0083, 0x03dc,
+ 0x009b, 0x57a5,
+ 0x00e0, 0x01b2,
+ 0x0083, 0x03f4,
+ 0x0083, 0x4a9c,
+ 0x0098, 0xea00,
+ 0x0083, 0x03ea,
+ 0x001f, 0xc80f,
+ 0x0097, 0x03ea,
+ 0x0041, 0x00f0,
+ 0x0084, 0xed0f,
+ 0x009a, 0x8086,
+ 0x0083, 0x03bf,
+ 0x009a, 0x3408,
+ 0x00e0, 0x01db,
+ 0x001a, 0xb40b,
+ 0x00e0, 0x01db,
+ 0x0097, 0xbf60,
+ 0x0020, 0x00c1,
+ 0x0083, 0xbf60,
+ 0x0003, 0xc1bf,
+ 0x0080, 0x00c2,
+ 0x0083, 0xc0bf,
+ 0x001a, 0x3501,
+ 0x00e0, 0x01db,
+ 0x00e0, 0x01e4,
+ 0x001b, 0xa555,
+ 0x0042, 0x0000,
+ 0x0083, 0x03ea,
+ 0x009f, 0xc90f,
+ 0x0019, 0x03c4,
+ 0x0097, 0xea03,
+ 0x0041, 0x00d1,
+ 0x009f, 0xc90f,
+ 0x009e, 0x03c4,
+ 0x0097, 0x03ea,
+ 0x0041, 0x00d8,
+ 0x0080, 0x00df,
+ 0x009f, 0xfa0f,
+ 0x0097, 0x03f1,
+ 0x0020, 0x00df,
+ 0x00c1, 0x00dc,
+ 0x0018, 0xfa00,
+ 0x0003, 0x03fa,
+ 0x0080, 0x00df,
+ 0x009f, 0xfa0f,
+ 0x0017, 0xf303,
+ 0x0020, 0x00df,
+ 0x00c1, 0x00d5,
+ 0x009f, 0xfa0f,
+ 0x009e, 0x03c1,
+ 0x0003, 0x03fa,
+ 0x0083, 0xc0ea,
+ 0x001b, 0xa355,
+ 0x0003, 0x03e2,
+ 0x009e, 0x54c9,
+ 0x0017, 0xe203,
+ 0x00c1, 0x00ea,
+ 0x0084, 0xb90b,
+ 0x001f, 0xc10f,
+ 0x009e, 0xb903,
+ 0x0083, 0x03b9,
+ 0x0000, 0x00f0,
+ 0x0097, 0x54e2,
+ 0x0041, 0x00f0,
+ 0x0017, 0xb957,
+ 0x00a0, 0x00f0,
+ 0x0098, 0xb900,
+ 0x0083, 0x03b9,
+ 0x009e, 0x55c4,
+ 0x0097, 0xb903,
+ 0x00c1, 0x00fb,
+ 0x0004, 0xff13,
+ 0x009f, 0xff0f,
+ 0x009e, 0x03c1,
+ 0x0003, 0x03ff,
+ 0x001f, 0xb90f,
+ 0x0019, 0x03c8,
+ 0x0083, 0x03b9,
+ 0x0080, 0x0106,
+ 0x0099, 0xcc55,
+ 0x0097, 0x03b9,
+ 0x00c1, 0x0106,
+ 0x009f, 0xff0f,
+ 0x0097, 0x03c7,
+ 0x00c1, 0x0106,
+ 0x0018, 0xff00,
+ 0x0003, 0x03ff,
+ 0x001f, 0xb90f,
+ 0x009e, 0x03c8,
+ 0x0083, 0x03b9,
+ 0x000f, 0xf216,
+ 0x001b, 0xa555,
+ 0x0017, 0x03c9,
+ 0x00c1, 0x0111,
+ 0x009b, 0xa755,
+ 0x0097, 0x03c8,
+ 0x00c1, 0x0111,
+ 0x009b, 0xa155,
+ 0x0017, 0xc903,
+ 0x0041, 0x0119,
+ 0x0080, 0x0114,
+ 0x009b, 0xa155,
+ 0x0017, 0x5603,
+ 0x0041, 0x0119,
+ 0x001f, 0xc20f,
+ 0x009e, 0xd303,
+ 0x0003, 0x0344,
+ 0x0003, 0xc243,
+ 0x0000, 0x0120,
+ 0x0083, 0xd344,
+ 0x0083, 0xc043,
+ 0x0000, 0x0120,
+ 0x009b, 0xa155,
+ 0x0097, 0xc103,
+ 0x0041, 0x0119,
+ 0x0080, 0x0114,
+ 0x008f, 0xf40a,
+ 0x001b, 0xa555,
+ 0x0097, 0x5403,
+ 0x0041, 0x0129,
+ 0x001e, 0x44cc,
+ 0x0003, 0x0344,
+ 0x0091, 0x43cc,
+ 0x0083, 0x0343,
+ 0x0080, 0x012e,
+ 0x0080, 0x012e,
+ 0x001b, 0xa555,
+ 0x0017, 0xc503,
+ 0x0041, 0x0129,
+ 0x0080, 0x0124,
+ 0x001b, 0xa055,
+ 0x0097, 0xc803,
+ 0x00c1, 0x0136,
+ 0x001f, 0xc20f,
+ 0x009e, 0xd303,
+ 0x0083, 0x0345,
+ 0x0083, 0xc242,
+ 0x0080, 0x0142,
+ 0x0003, 0xd345,
+ 0x0003, 0xc042,
+ 0x008f, 0xdc0a,
+ 0x0097, 0xc103,
+ 0x00c1, 0x0142,
+ 0x001b, 0xa055,
+ 0x0017, 0xc003,
+ 0x00c1, 0x0142,
+ 0x001f, 0xc20f,
+ 0x009e, 0xd303,
+ 0x0083, 0x0345,
+ 0x0083, 0xc242,
+ 0x0003, 0xd346,
+ 0x0003, 0xc047,
+ 0x008f, 0xa70a,
+ 0x009b, 0xa755,
+ 0x0017, 0xc903,
+ 0x00c1, 0x014d,
+ 0x001e, 0x46c8,
+ 0x0083, 0x0346,
+ 0x0091, 0x47c8,
+ 0x0003, 0x0347,
+ 0x0000, 0x0152,
+ 0x0000, 0x0152,
+ 0x009b, 0xa755,
+ 0x0097, 0xc103,
+ 0x00c1, 0x014d,
+ 0x0080, 0x0148,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0083, 0x9e9f,
+ 0x009f, 0xd20f,
+ 0x0091, 0x0345,
+ 0x0083, 0x0397,
+ 0x009f, 0xd20f,
+ 0x0011, 0x0344,
+ 0x0083, 0x0398,
+ 0x009f, 0xd20f,
+ 0x0091, 0x0346,
+ 0x0003, 0x0399,
+ 0x0003, 0xd089,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0003, 0xd299,
+ 0x0083, 0xd298,
+ 0x0083, 0xd297,
+ 0x0088, 0xde24,
+ 0x0000, 0x0167,
+ 0x0000, 0x0006,
+ 0x001a, 0x000d,
+ 0x009e, 0x8303,
+ 0x0083, 0x0383,
+ 0x0003, 0xcc4b,
+ 0x009c, 0x58e5,
+ 0x0003, 0x034d,
+ 0x009e, 0x834b,
+ 0x0083, 0x0383,
+ 0x001c, 0x4bc1,
+ 0x0003, 0x034b,
+ 0x0017, 0x4b4d,
+ 0x0020, 0x0177,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0000, 0x016d,
+ 0x0083, 0x5089,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0091, 0x834b,
+ 0x0083, 0x0383,
+ 0x009d, 0x4bc1,
+ 0x0003, 0x034b,
+ 0x0017, 0x4bc9,
+ 0x0020, 0x0184,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0000, 0x017a,
+ 0x001a, 0x001f,
+ 0x0091, 0x8303,
+ 0x0083, 0x0383,
+ 0x0080, 0x018b,
+ 0x0083, 0x5089,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0091, 0x40ca,
+ 0x0011, 0x5c03,
+ 0x0003, 0x038e,
+ 0x001e, 0x41c5,
+ 0x001e, 0x0348,
+ 0x0003, 0x0390,
+ 0x001f, 0xc80f,
+ 0x0091, 0x0351,
+ 0x0083, 0x0391,
+ 0x0083, 0x0392,
+ 0x009f, 0xd20f,
+ 0x0011, 0x0342,
+ 0x0083, 0x0397,
+ 0x009f, 0xd20f,
+ 0x0091, 0x0343,
+ 0x0083, 0x0398,
+ 0x009f, 0xd20f,
+ 0x0011, 0x0347,
+ 0x0003, 0x0399,
+ 0x0060, 0x01ba,
+ 0x0083, 0xd297,
+ 0x0083, 0xd298,
+ 0x0003, 0xd299,
+ 0x0083, 0x408e,
+ 0x0003, 0x4190,
+ 0x001a, 0x0025,
+ 0x0091, 0x0351,
+ 0x0083, 0x0391,
+ 0x0083, 0x0392,
+ 0x0060, 0x01c8,
+ 0x0098, 0xec00,
+ 0x0083, 0x03ec,
+ 0x009a, 0x0050,
+ 0x0097, 0x03ec,
+ 0x0041, 0x01b0,
+ 0x0003, 0x5886,
+ 0x0003, 0xc0db,
+ 0x000b, 0x85ca,
+ 0x0000, 0x00a3,
+ 0x00ae, 0x8005,
+ 0x000f, 0x0303,
+ 0x001e, 0x035f,
+ 0x00e1, 0x0000,
+ 0x0099, 0x5f03,
+ 0x00e1, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0083, 0xcbf9,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0003, 0xc1b5,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0003, 0xd089,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x00e1, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0003, 0xcff9,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0003, 0xc2b5,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0003, 0xd089,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0003, 0xd5b5,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0083, 0xcef9,
+ 0x00e1, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0003, 0x03be,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x002f, 0xbf00,
+ 0x00aa, 0xbf85,
+ 0x00e1, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0093, 0x0000,
+ 0x001f, 0x8761,
+ 0x0003, 0x03f6,
+ 0x009a, 0x0170,
+ 0x001e, 0x03f6,
+ 0x0003, 0x03f6,
+ 0x0017, 0xd103,
+ 0x00c1, 0x01ee,
+ 0x0083, 0xd1fb,
+ 0x0080, 0x01f5,
+ 0x001a, 0x0094,
+ 0x0017, 0xf603,
+ 0x0041, 0x01f4,
+ 0x001a, 0x0094,
+ 0x0083, 0x03fb,
+ 0x0080, 0x01f5,
+ 0x0083, 0xf6fb,
+ 0x009a, 0x00e7,
+ 0x0017, 0x03f6,
+ 0x0041, 0x01fd,
+ 0x001a, 0x00ec,
+ 0x0017, 0x03f6,
+ 0x0041, 0x01fe,
+ 0x0003, 0xeb81,
+ 0x0000, 0x01fe,
+ 0x0003, 0xe781,
+ 0x00e1, 0x0000,
+ 0x0042, 0x0000,
+}, {
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x009a, 0xb616,
+ 0x0003, 0x03be,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x002f, 0xbf00,
+ 0x00aa, 0xbf86,
+ 0x000a, 0xbf02,
+ 0x0080, 0x0007,
+ 0x0004, 0xed04,
+ 0x0083, 0xc0bf,
+ 0x001a, 0x3501,
+ 0x0060, 0x0123,
+ 0x0083, 0x408e,
+ 0x0003, 0x4190,
+ 0x0083, 0xc184,
+ 0x0083, 0x4f4b,
+ 0x0003, 0xccfc,
+ 0x0003, 0xc0e1,
+ 0x0018, 0x9300,
+ 0x0003, 0x0393,
+ 0x0003, 0xc084,
+ 0x0083, 0xc086,
+ 0x0003, 0x4f83,
+ 0x0083, 0xe0db,
+ 0x001a, 0xb701,
+ 0x0060, 0x0123,
+ 0x00ba, 0x0020,
+ 0x009b, 0x03bf,
+ 0x0020, 0x002a,
+ 0x0083, 0xc0bf,
+ 0x001a, 0x3703,
+ 0x0060, 0x0123,
+ 0x0003, 0xc2bf,
+ 0x0060, 0x0123,
+ 0x008a, 0xde02,
+ 0x0000, 0x002e,
+ 0x008e, 0x8502,
+ 0x0080, 0x0020,
+ 0x0093, 0x0000,
+ 0x001f, 0x8761,
+ 0x0003, 0x03f6,
+ 0x009a, 0x0170,
+ 0x001e, 0x03f6,
+ 0x0003, 0x03f6,
+ 0x0017, 0xd103,
+ 0x00c1, 0x0038,
+ 0x0083, 0xd1fb,
+ 0x0000, 0x003f,
+ 0x001a, 0x0094,
+ 0x0017, 0xf603,
+ 0x00c1, 0x003e,
+ 0x001a, 0x0094,
+ 0x0083, 0x03fb,
+ 0x0000, 0x003f,
+ 0x0083, 0xf6fb,
+ 0x0091, 0xc951,
+ 0x0083, 0x0391,
+ 0x001b, 0x4f80,
+ 0x0083, 0x0380,
+ 0x0083, 0xd497,
+ 0x0083, 0xd498,
+ 0x0003, 0xd499,
+ 0x0083, 0x49b8,
+ 0x0083, 0xc0b9,
+ 0x0083, 0xc7ff,
+ 0x009f, 0xcc0f,
+ 0x0099, 0x03c9,
+ 0x0003, 0x039a,
+ 0x0003, 0xc096,
+ 0x0003, 0xc04d,
+ 0x0003, 0xc082,
+ 0x0024, 0xde03,
+ 0x0042, 0x0000,
+ 0x00a4, 0x8581,
+ 0x0080, 0x0058,
+ 0x0018, 0x9600,
+ 0x0003, 0x0396,
+ 0x0083, 0xd497,
+ 0x0083, 0xd498,
+ 0x0003, 0xd499,
+ 0x0003, 0xf3fa,
+ 0x0008, 0x9302,
+ 0x0083, 0xf1fa,
+ 0x0011, 0x5149,
+ 0x0003, 0x03b8,
+ 0x0083, 0xc052,
+ 0x009f, 0x960f,
+ 0x0017, 0x03c0,
+ 0x0021, 0x0065,
+ 0x009f, 0xcc0f,
+ 0x0099, 0x03c5,
+ 0x0003, 0x03fc,
+ 0x0080, 0x0076,
+ 0x009f, 0x960f,
+ 0x0097, 0x03c1,
+ 0x0021, 0x006c,
+ 0x009f, 0xcc0f,
+ 0x0099, 0x03c5,
+ 0x0003, 0x03fc,
+ 0x0080, 0x0076,
+ 0x009f, 0x960f,
+ 0x0097, 0x03c2,
+ 0x00a1, 0x0073,
+ 0x009f, 0xcc0f,
+ 0x0019, 0x03c1,
+ 0x0003, 0x03fc,
+ 0x0080, 0x0076,
+ 0x009f, 0xcc0f,
+ 0x0019, 0x03c1,
+ 0x0003, 0x03fc,
+ 0x0098, 0x5200,
+ 0x0083, 0x0352,
+ 0x0099, 0xb853,
+ 0x0003, 0x03b8,
+ 0x0083, 0xd497,
+ 0x0083, 0xd498,
+ 0x0003, 0xd499,
+ 0x00a4, 0x8505,
+ 0x001b, 0x57ba,
+ 0x0097, 0x5703,
+ 0x00a0, 0x0082,
+ 0x008f, 0x8587,
+ 0x0003, 0xc082,
+ 0x0003, 0xd689,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0083, 0xc182,
+ 0x009a, 0x0104,
+ 0x0083, 0x03b5,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0003, 0xc0e4,
+ 0x0018, 0xe400,
+ 0x0003, 0x03e4,
+ 0x0003, 0xd299,
+ 0x0083, 0xd298,
+ 0x0083, 0xd297,
+ 0x0083, 0xcbf9,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0003, 0xc1b5,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0003, 0xd089,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0003, 0xcff9,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0003, 0xc2b5,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0003, 0xd089,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0003, 0xd5b5,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0083, 0xcef9,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x001f, 0xc20f,
+ 0x009e, 0xd303,
+ 0x0083, 0x0397,
+ 0x0003, 0xd398,
+ 0x0083, 0xd399,
+ 0x0003, 0xd089,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x009f, 0xe40f,
+ 0x0017, 0xd703,
+ 0x00c1, 0x008c,
+ 0x0083, 0xd297,
+ 0x0083, 0xd298,
+ 0x0003, 0xd299,
+ 0x000b, 0x8517,
+ 0x0083, 0x5089,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x008b, 0x8513,
+ 0x0083, 0x5089,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x000b, 0x850f,
+ 0x0083, 0x5089,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0084, 0xb60b,
+ 0x000b, 0x850a,
+ 0x001a, 0x001c,
+ 0x0097, 0x03b6,
+ 0x00c1, 0x00d6,
+ 0x0097, 0xb64b,
+ 0x00c1, 0x00d6,
+ 0x0083, 0xb64b,
+ 0x0083, 0xb84c,
+ 0x0003, 0x964d,
+ 0x0003, 0xfc4e,
+ 0x0018, 0xe100,
+ 0x0003, 0x03e1,
+ 0x0003, 0xc0e2,
+ 0x001f, 0xc80f,
+ 0x0099, 0xc303,
+ 0x0097, 0x5203,
+ 0x00a1, 0x0076,
+ 0x009f, 0x960f,
+ 0x0017, 0x03c3,
+ 0x0021, 0x0053,
+ 0x0003, 0x4d96,
+ 0x0011, 0x4c51,
+ 0x0003, 0x03b8,
+ 0x0003, 0x4efc,
+ 0x0083, 0xd497,
+ 0x0083, 0xd498,
+ 0x0003, 0xd499,
+ 0x00a4, 0x8505,
+ 0x001b, 0x57ba,
+ 0x0097, 0x5703,
+ 0x0020, 0x00ec,
+ 0x008f, 0x8584,
+ 0x0003, 0xc082,
+ 0x0003, 0xd689,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0083, 0xc182,
+ 0x001f, 0xc20f,
+ 0x009e, 0xd303,
+ 0x0083, 0x0397,
+ 0x0003, 0xd398,
+ 0x0083, 0xd399,
+ 0x009a, 0x0104,
+ 0x0083, 0x03b5,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0083, 0xd297,
+ 0x0083, 0xd298,
+ 0x0003, 0xd299,
+ 0x0011, 0x51ae,
+ 0x0083, 0x03ae,
+ 0x0083, 0xc086,
+ 0x0003, 0xc04d,
+ 0x001b, 0x57ba,
+ 0x0083, 0x03b9,
+ 0x009f, 0xd20f,
+ 0x0091, 0x0380,
+ 0x0083, 0x0380,
+ 0x0003, 0xc0f5,
+ 0x0003, 0x554b,
+ 0x009a, 0x00b2,
+ 0x0017, 0xf603,
+ 0x00c1, 0x0112,
+ 0x001a, 0x0040,
+ 0x0003, 0x03f5,
+ 0x0099, 0x034b,
+ 0x001c, 0x4bc8,
+ 0x001c, 0x03c4,
+ 0x0099, 0x0355,
+ 0x0000, 0x0115,
+ 0x001c, 0x4bc8,
+ 0x009c, 0x03c3,
+ 0x0099, 0x0355,
+ 0x0003, 0x034b,
+ 0x009a, 0x0028,
+ 0x0003, 0x03e7,
+ 0x0003, 0xc99a,
+ 0x0083, 0xc55e,
+ 0x0083, 0xc0ec,
+ 0x0003, 0xc494,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0003, 0x03be,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x002f, 0xbf00,
+ 0x00aa, 0xbf85,
+ 0x00e1, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+}, {
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0003, 0xc0e8,
+ 0x0000, 0x000f,
+ 0x00ae, 0x8005,
+ 0x000f, 0x0303,
+ 0x001e, 0x035f,
+ 0x00e1, 0x0000,
+ 0x0099, 0x5f03,
+ 0x00e1, 0x0000,
+ 0x0042, 0x0000,
+ 0x00a8, 0xe80d,
+ 0x001a, 0xb701,
+ 0x00e0, 0x01f0,
+ 0x00ba, 0x0020,
+ 0x009b, 0x03bf,
+ 0x00a0, 0x001b,
+ 0x0083, 0xc0bf,
+ 0x001a, 0x3703,
+ 0x00e0, 0x01f0,
+ 0x0003, 0xc2bf,
+ 0x00e0, 0x01f0,
+ 0x0080, 0x001c,
+ 0x0083, 0xc1e8,
+ 0x009b, 0x57a3,
+ 0x00e0, 0x0008,
+ 0x0083, 0x03ef,
+ 0x001b, 0x57a2,
+ 0x00e0, 0x0008,
+ 0x0003, 0x03f0,
+ 0x001b, 0x57a1,
+ 0x00e0, 0x0008,
+ 0x0083, 0x03f2,
+ 0x009b, 0x57a0,
+ 0x00e0, 0x0008,
+ 0x0083, 0x03dc,
+ 0x009b, 0x57a5,
+ 0x00e0, 0x0008,
+ 0x0083, 0x03f4,
+ 0x0083, 0x4a9c,
+ 0x0098, 0xea00,
+ 0x0083, 0x03ea,
+ 0x001f, 0xc80f,
+ 0x0097, 0x03ea,
+ 0x0041, 0x0108,
+ 0x0084, 0xed0f,
+ 0x009a, 0x8086,
+ 0x0083, 0x03bf,
+ 0x009a, 0x3408,
+ 0x00e0, 0x01f0,
+ 0x001a, 0xb40b,
+ 0x00e0, 0x01f0,
+ 0x0097, 0xbf60,
+ 0x0020, 0x003d,
+ 0x0083, 0xbf60,
+ 0x0003, 0xc1bf,
+ 0x0080, 0x003e,
+ 0x0083, 0xc0bf,
+ 0x001a, 0x3501,
+ 0x00e0, 0x01f0,
+ 0x0093, 0x0000,
+ 0x001f, 0x8761,
+ 0x0003, 0x03f6,
+ 0x009a, 0x0170,
+ 0x001e, 0x03f6,
+ 0x0003, 0x03f6,
+ 0x0017, 0xd103,
+ 0x00c1, 0x004a,
+ 0x0083, 0xd1fb,
+ 0x0080, 0x0051,
+ 0x001a, 0x0094,
+ 0x0017, 0xf603,
+ 0x0041, 0x0050,
+ 0x001a, 0x0094,
+ 0x0083, 0x03fb,
+ 0x0080, 0x0051,
+ 0x0083, 0xf6fb,
+ 0x009a, 0x00d4,
+ 0x0017, 0x03f6,
+ 0x0041, 0x005c,
+ 0x001a, 0x00dc,
+ 0x0017, 0x03f6,
+ 0x0041, 0x005f,
+ 0x0083, 0xb1fe,
+ 0x0003, 0xcdf1,
+ 0x001a, 0x0040,
+ 0x0003, 0x03f5,
+ 0x0000, 0x005f,
+ 0x0083, 0xc3fe,
+ 0x0083, 0xebf1,
+ 0x0003, 0xc0f5,
+ 0x009b, 0xa155,
+ 0x0083, 0x03ea,
+ 0x009f, 0xc90f,
+ 0x0019, 0x03c4,
+ 0x0097, 0xea03,
+ 0x0041, 0x0093,
+ 0x001f, 0xc80f,
+ 0x0019, 0x03c2,
+ 0x0097, 0xea03,
+ 0x00c1, 0x006d,
+ 0x000f, 0xa82a,
+ 0x009b, 0xa755,
+ 0x0097, 0x03c8,
+ 0x0041, 0x0074,
+ 0x009b, 0xa855,
+ 0x0083, 0x03ea,
+ 0x008f, 0xa824,
+ 0x001f, 0xc80f,
+ 0x0099, 0x03c3,
+ 0x0097, 0x03ea,
+ 0x0041, 0x0093,
+ 0x009f, 0xcc0f,
+ 0x0019, 0x03c1,
+ 0x0017, 0x03fc,
+ 0x0041, 0x007b,
+ 0x009f, 0xfc0f,
+ 0x009e, 0x03c1,
+ 0x0003, 0x03fc,
+ 0x009b, 0xa855,
+ 0x0083, 0x03ea,
+ 0x009b, 0xa755,
+ 0x0019, 0x03c8,
+ 0x0097, 0xea03,
+ 0x00c1, 0x00a4,
+ 0x009b, 0xa755,
+ 0x0017, 0x03c5,
+ 0x0041, 0x0088,
+ 0x000f, 0xa820,
+ 0x009b, 0xa855,
+ 0x0097, 0xc403,
+ 0x00c1, 0x00a4,
+ 0x009e, 0xf14d,
+ 0x0017, 0xfa03,
+ 0x0020, 0x00bc,
+ 0x00c1, 0x008f,
+ 0x0018, 0xfa00,
+ 0x0003, 0x03fa,
+ 0x0080, 0x00bc,
+ 0x009f, 0xfa0f,
+ 0x009e, 0x03c1,
+ 0x0003, 0x03fa,
+ 0x0080, 0x00bc,
+ 0x001b, 0xa055,
+ 0x0097, 0xc403,
+ 0x00c1, 0x009b,
+ 0x0017, 0x03c6,
+ 0x0041, 0x0099,
+ 0x0080, 0x009d,
+ 0x0003, 0xc75e,
+ 0x0080, 0x009d,
+ 0x0083, 0xc55e,
+ 0x0080, 0x009d,
+ 0x009f, 0xcc0f,
+ 0x0019, 0x035e,
+ 0x0017, 0xfc03,
+ 0x0020, 0x00a4,
+ 0x00c1, 0x00ab,
+ 0x0018, 0xfc00,
+ 0x0003, 0x03fc,
+ 0x009f, 0xfa0f,
+ 0x0017, 0xf303,
+ 0x0041, 0x00af,
+ 0x009f, 0xfa0f,
+ 0x009e, 0x03c1,
+ 0x0003, 0x03fa,
+ 0x0080, 0x00bc,
+ 0x009f, 0xfc0f,
+ 0x009e, 0x03c1,
+ 0x0003, 0x03fc,
+ 0x0080, 0x00a4,
+ 0x000f, 0xa804,
+ 0x0018, 0xfa00,
+ 0x0003, 0x03fa,
+ 0x0080, 0x00bc,
+ 0x009b, 0xa855,
+ 0x0083, 0x03ea,
+ 0x009f, 0xc60f,
+ 0x0097, 0x03ea,
+ 0x00c1, 0x00bc,
+ 0x0004, 0xfa04,
+ 0x009f, 0xfa0f,
+ 0x009e, 0x03c1,
+ 0x0003, 0x03fa,
+ 0x009b, 0xa755,
+ 0x0097, 0x03c4,
+ 0x00c1, 0x00ce,
+ 0x001b, 0xa655,
+ 0x0097, 0x03c4,
+ 0x00c1, 0x00ce,
+ 0x009b, 0xa255,
+ 0x0097, 0x5b03,
+ 0x00c1, 0x00ce,
+ 0x009b, 0xa855,
+ 0x0097, 0x5b03,
+ 0x00c1, 0x00ce,
+ 0x009f, 0x4d0f,
+ 0x0017, 0x03c6,
+ 0x0041, 0x00d1,
+ 0x0018, 0x4d00,
+ 0x0003, 0x034d,
+ 0x0000, 0x00d1,
+ 0x0084, 0x4d03,
+ 0x009e, 0x4dc1,
+ 0x0003, 0x034d,
+ 0x0083, 0xc0ea,
+ 0x001b, 0xa355,
+ 0x0003, 0x03e2,
+ 0x009e, 0x54c9,
+ 0x0017, 0xe203,
+ 0x0041, 0x00de,
+ 0x001f, 0xc20f,
+ 0x0097, 0x03b9,
+ 0x00c1, 0x00e6,
+ 0x001f, 0xc20f,
+ 0x009e, 0xb903,
+ 0x0083, 0x03b9,
+ 0x0080, 0x00e6,
+ 0x0097, 0x54e2,
+ 0x00c1, 0x00e6,
+ 0x001e, 0x57c2,
+ 0x0097, 0xb903,
+ 0x0020, 0x00e6,
+ 0x001f, 0xc20f,
+ 0x0019, 0xb903,
+ 0x0083, 0x03b9,
+ 0x0019, 0x4bb9,
+ 0x0003, 0x034b,
+ 0x009d, 0x4bc8,
+ 0x001d, 0x03c3,
+ 0x0083, 0x03e9,
+ 0x001e, 0x4b03,
+ 0x0003, 0x034b,
+ 0x0099, 0xf555,
+ 0x0097, 0xe903,
+ 0x0041, 0x00fa,
+ 0x0084, 0xff18,
+ 0x009f, 0xff0f,
+ 0x009e, 0x03c1,
+ 0x0003, 0x03ff,
+ 0x001f, 0xb90f,
+ 0x0019, 0x03c8,
+ 0x0083, 0x03b9,
+ 0x0019, 0x4b58,
+ 0x0003, 0x034b,
+ 0x0000, 0x0108,
+ 0x009a, 0x009f,
+ 0x0099, 0x03f5,
+ 0x0097, 0x03e9,
+ 0x0041, 0x0108,
+ 0x009f, 0xff0f,
+ 0x0097, 0x03c7,
+ 0x0041, 0x0108,
+ 0x0018, 0xff00,
+ 0x0003, 0x03ff,
+ 0x001f, 0xb90f,
+ 0x009e, 0x03c8,
+ 0x0083, 0x03b9,
+ 0x009e, 0x4b58,
+ 0x0003, 0x034b,
+ 0x009b, 0xa855,
+ 0x0083, 0x03e3,
+ 0x009a, 0x000a,
+ 0x0097, 0x03e3,
+ 0x00c1, 0x010f,
+ 0x0083, 0xc8e7,
+ 0x0080, 0x0114,
+ 0x0003, 0xcfe7,
+ 0x009b, 0xa255,
+ 0x0017, 0xc903,
+ 0x00c1, 0x0114,
+ 0x0003, 0xcce7,
+ 0x008f, 0xf20c,
+ 0x009b, 0xa155,
+ 0x0017, 0xe703,
+ 0x00c1, 0x011d,
+ 0x001f, 0xc20f,
+ 0x009e, 0xd303,
+ 0x0003, 0x0344,
+ 0x0003, 0xc243,
+ 0x0080, 0x0124,
+ 0x0083, 0xd344,
+ 0x0083, 0xc043,
+ 0x0080, 0x0124,
+ 0x009b, 0xa155,
+ 0x0097, 0xc103,
+ 0x00c1, 0x011d,
+ 0x0080, 0x0118,
+ 0x000f, 0xa702,
+ 0x0000, 0x012f,
+ 0x000f, 0xa802,
+ 0x0000, 0x012f,
+ 0x009b, 0xa855,
+ 0x0017, 0x03c6,
+ 0x0041, 0x012f,
+ 0x008f, 0xf40a,
+ 0x001b, 0xa555,
+ 0x0097, 0xc103,
+ 0x0041, 0x0134,
+ 0x001e, 0x44cc,
+ 0x0003, 0x0344,
+ 0x0091, 0x43cc,
+ 0x0083, 0x0343,
+ 0x0080, 0x0139,
+ 0x0080, 0x0139,
+ 0x001b, 0xa555,
+ 0x0097, 0xc803,
+ 0x0041, 0x0134,
+ 0x0000, 0x012f,
+ 0x001b, 0xa055,
+ 0x0097, 0xc803,
+ 0x00c1, 0x0141,
+ 0x001f, 0xc20f,
+ 0x009e, 0xd303,
+ 0x0083, 0x0345,
+ 0x0083, 0xc242,
+ 0x0080, 0x014d,
+ 0x0003, 0xd345,
+ 0x0003, 0xc042,
+ 0x008f, 0xdc0a,
+ 0x0097, 0xc103,
+ 0x00c1, 0x014d,
+ 0x001b, 0xa055,
+ 0x0017, 0xc003,
+ 0x00c1, 0x014d,
+ 0x001f, 0xc20f,
+ 0x009e, 0xd303,
+ 0x0083, 0x0345,
+ 0x0083, 0xc242,
+ 0x0003, 0xcfe1,
+ 0x009b, 0xa755,
+ 0x0017, 0x03c5,
+ 0x00c1, 0x0156,
+ 0x000f, 0xa804,
+ 0x009b, 0xa855,
+ 0x0017, 0x03c5,
+ 0x00c1, 0x0156,
+ 0x0003, 0xc0e1,
+ 0x001f, 0xc40f,
+ 0x001e, 0x5a03,
+ 0x0097, 0x039e,
+ 0x00c1, 0x0160,
+ 0x009b, 0xa155,
+ 0x0097, 0xcd03,
+ 0x0041, 0x015e,
+ 0x0080, 0x0160,
+ 0x0099, 0x5ac0,
+ 0x0003, 0x03e1,
+ 0x008f, 0xf00b,
+ 0x009b, 0xa255,
+ 0x0017, 0xe103,
+ 0x00c1, 0x0169,
+ 0x001e, 0x45c8,
+ 0x0083, 0x0345,
+ 0x0091, 0x42c8,
+ 0x0003, 0x0342,
+ 0x0080, 0x016f,
+ 0x0042, 0x0000,
+ 0x0080, 0x016f,
+ 0x009b, 0xa255,
+ 0x0097, 0xc103,
+ 0x00c1, 0x0169,
+ 0x0000, 0x0164,
+ 0x0003, 0xd346,
+ 0x0003, 0xc047,
+ 0x008f, 0xa70a,
+ 0x009b, 0xa755,
+ 0x0097, 0xce03,
+ 0x0041, 0x017a,
+ 0x001e, 0x46c8,
+ 0x0083, 0x0346,
+ 0x0091, 0x47c8,
+ 0x0003, 0x0347,
+ 0x0000, 0x017f,
+ 0x0000, 0x017f,
+ 0x009b, 0xa755,
+ 0x0097, 0xc103,
+ 0x0041, 0x017a,
+ 0x0000, 0x0175,
+ 0x000f, 0xa60a,
+ 0x001b, 0xa655,
+ 0x0097, 0xce03,
+ 0x00c1, 0x0188,
+ 0x001e, 0x46c2,
+ 0x0083, 0x0346,
+ 0x0091, 0x47c2,
+ 0x0003, 0x0347,
+ 0x0080, 0x018d,
+ 0x0080, 0x018d,
+ 0x001b, 0xa655,
+ 0x0097, 0xc103,
+ 0x00c1, 0x0188,
+ 0x0000, 0x0183,
+ 0x009f, 0xd20f,
+ 0x0091, 0x0345,
+ 0x0083, 0x0397,
+ 0x009f, 0xd20f,
+ 0x0011, 0x0344,
+ 0x0083, 0x0398,
+ 0x009f, 0xd20f,
+ 0x0091, 0x0346,
+ 0x0003, 0x0399,
+ 0x0083, 0xc0df,
+ 0x0098, 0xdf00,
+ 0x0083, 0x03df,
+ 0x001a, 0x0070,
+ 0x0097, 0x03df,
+ 0x0041, 0x0197,
+ 0x0003, 0xd299,
+ 0x0083, 0xd298,
+ 0x0083, 0xd297,
+ 0x0091, 0x40ca,
+ 0x0011, 0x5c03,
+ 0x0003, 0x038e,
+ 0x001e, 0x41c5,
+ 0x001e, 0x0348,
+ 0x0003, 0x0390,
+ 0x0091, 0x40ca,
+ 0x001e, 0x0348,
+ 0x009e, 0x0358,
+ 0x0083, 0x038f,
+ 0x001f, 0xc80f,
+ 0x0091, 0x0351,
+ 0x0083, 0x0391,
+ 0x0083, 0x0392,
+ 0x0080, 0x01af,
+ 0x0000, 0x000f,
+ 0x009f, 0xd20f,
+ 0x0011, 0x0342,
+ 0x0083, 0x0397,
+ 0x009f, 0xd20f,
+ 0x0091, 0x0343,
+ 0x0083, 0x0398,
+ 0x009f, 0xd20f,
+ 0x0011, 0x0347,
+ 0x0003, 0x0399,
+ 0x0083, 0xcbf9,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0003, 0xc1b5,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0003, 0xd089,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0083, 0xd297,
+ 0x0083, 0xd298,
+ 0x0003, 0xd299,
+ 0x001e, 0x4058,
+ 0x009e, 0x0358,
+ 0x0003, 0x038e,
+ 0x0003, 0x4190,
+ 0x0099, 0x4058,
+ 0x0083, 0x038f,
+ 0x009f, 0xc50f,
+ 0x0099, 0x03cc,
+ 0x0091, 0x0351,
+ 0x0083, 0x0391,
+ 0x0083, 0x0392,
+ 0x0003, 0xcff9,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0003, 0xc2b5,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0003, 0xd089,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0003, 0xd5b5,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0083, 0xcef9,
+ 0x0098, 0xec00,
+ 0x0083, 0x03ec,
+ 0x009a, 0x0050,
+ 0x0097, 0x03ec,
+ 0x0041, 0x01e5,
+ 0x0003, 0x5886,
+ 0x0003, 0xc0db,
+ 0x001f, 0xef0f,
+ 0x0017, 0x03d7,
+ 0x0041, 0x01ea,
+ 0x008b, 0x8502,
+ 0x0000, 0x01ae,
+ 0x0083, 0xc394,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0003, 0x03be,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x002f, 0xbf00,
+ 0x00aa, 0xbf85,
+ 0x00e1, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000
+}, {
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x009a, 0xb616,
+ 0x0060, 0x00ee,
+ 0x008d, 0xbf02,
+ 0x0080, 0x0007,
+ 0x0083, 0xc0e0,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0008, 0xe384,
+ 0x0003, 0xc095,
+ 0x0083, 0xc184,
+ 0x0003, 0xc084,
+ 0x0083, 0xd1b9,
+ 0x0083, 0xc7ff,
+ 0x0003, 0xc082,
+ 0x003a, 0x000a,
+ 0x0003, 0x03fa,
+ 0x0003, 0x4190,
+ 0x0003, 0x4f83,
+ 0x0083, 0x408e,
+ 0x0004, 0xed04,
+ 0x0083, 0xc0bf,
+ 0x001a, 0x3501,
+ 0x0060, 0x00ee,
+ 0x0083, 0xc086,
+ 0x001a, 0xb701,
+ 0x0060, 0x00ee,
+ 0x00ba, 0x0020,
+ 0x009b, 0x03bf,
+ 0x0020, 0x002a,
+ 0x0083, 0xc0bf,
+ 0x001a, 0x3703,
+ 0x0060, 0x00ee,
+ 0x0003, 0xc2bf,
+ 0x0060, 0x00ee,
+ 0x008a, 0xde02,
+ 0x0000, 0x002e,
+ 0x008e, 0x8502,
+ 0x0080, 0x0020,
+ 0x0018, 0x9300,
+ 0x0003, 0x0393,
+ 0x00fa, 0x8040,
+ 0x0091, 0x03c1,
+ 0x0091, 0x0380,
+ 0x0083, 0x0380,
+ 0x0083, 0xd497,
+ 0x0083, 0xd498,
+ 0x0003, 0xd499,
+ 0x0083, 0xd1b9,
+ 0x0083, 0xc7ff,
+ 0x0003, 0xc082,
+ 0x0003, 0xd689,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x00ba, 0x0117,
+ 0x0083, 0x03bf,
+ 0x003a, 0x3b80,
+ 0x0060, 0x00ee,
+ 0x0083, 0xc182,
+ 0x009a, 0x0104,
+ 0x0083, 0x03b5,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x001f, 0xf80f,
+ 0x0011, 0x03d2,
+ 0x0083, 0x03f8,
+ 0x0000, 0x004b,
+ 0x0080, 0x0010,
+ 0x0083, 0xc0e3,
+ 0x0003, 0x618c,
+ 0x0083, 0x628d,
+ 0x00ba, 0x0010,
+ 0x0083, 0x03e0,
+ 0x0003, 0xe171,
+ 0x009f, 0x710f,
+ 0x009b, 0x03cd,
+ 0x0003, 0x0371,
+ 0x00e0, 0x0114,
+ 0x0060, 0x0123,
+ 0x00e0, 0x0171,
+ 0x0003, 0xc074,
+ 0x0060, 0x01ae,
+ 0x0003, 0xc0e7,
+ 0x0003, 0xc0e8,
+ 0x0098, 0xe600,
+ 0x0083, 0x03e6,
+ 0x003a, 0x0011,
+ 0x0083, 0x03e0,
+ 0x0060, 0x0101,
+ 0x00ac, 0xda02,
+ 0x002a, 0xda0a,
+ 0x0008, 0x8605,
+ 0x0060, 0x0125,
+ 0x0060, 0x01ae,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0060, 0x0173,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0080, 0x005d,
+ 0x003a, 0x0012,
+ 0x0083, 0x03e0,
+ 0x0011, 0x7274,
+ 0x0082, 0x0f74,
+ 0x00ba, 0xdc74,
+ 0x005a, 0x0257,
+ 0x0083, 0x0375,
+ 0x00ba, 0x0020,
+ 0x0083, 0x03e0,
+ 0x0060, 0x0123,
+ 0x00e0, 0x0171,
+ 0x0060, 0x01b9,
+ 0x0060, 0x01ae,
+ 0x003a, 0x0021,
+ 0x0083, 0x03e0,
+ 0x0060, 0x0101,
+ 0x0029, 0x86b1,
+ 0x00ac, 0xda02,
+ 0x002a, 0xda0a,
+ 0x00ba, 0x0023,
+ 0x0083, 0x03e0,
+ 0x0088, 0x8602,
+ 0x0000, 0x0093,
+ 0x00ba, 0x002c,
+ 0x0083, 0x03e0,
+ 0x0060, 0x0173,
+ 0x0083, 0x7273,
+ 0x0000, 0x0078,
+ 0x003a, 0x0024,
+ 0x0083, 0x03e0,
+ 0x009e, 0x7072,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x002b, 0x0322,
+ 0x0097, 0x7f72,
+ 0x0020, 0x00ae,
+ 0x0011, 0x7274,
+ 0x0082, 0x0f74,
+ 0x0060, 0x01b9,
+ 0x0000, 0x007e,
+ 0x0083, 0x7072,
+ 0x0060, 0x017a,
+ 0x003a, 0x0027,
+ 0x0083, 0x03e0,
+ 0x0060, 0x0101,
+ 0x00a9, 0x86ce,
+ 0x00ac, 0xda02,
+ 0x002a, 0xda14,
+ 0x003a, 0x0028,
+ 0x0083, 0x03e0,
+ 0x001f, 0x750f,
+ 0x0017, 0x0366,
+ 0x00c1, 0x00a8,
+ 0x00ba, 0x0029,
+ 0x0083, 0x03e0,
+ 0x0003, 0x71e8,
+ 0x0060, 0x0125,
+ 0x0083, 0x7372,
+ 0x0060, 0x0173,
+ 0x0060, 0x01ae,
+ 0x0000, 0x0078,
+ 0x0003, 0x7471,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0003, 0x71e1,
+ 0x00e0, 0x0114,
+ 0x0000, 0x00a0,
+ 0x0080, 0x00b0,
+ 0x0080, 0x004a,
+ 0x003a, 0x0030,
+ 0x0083, 0x03e0,
+ 0x0003, 0x678c,
+ 0x001b, 0x7271,
+ 0x0020, 0x00b9,
+ 0x0083, 0x7270,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x00e0, 0x013c,
+ 0x0060, 0x01b9,
+ 0x0060, 0x01ad,
+ 0x00ba, 0x0031,
+ 0x0083, 0x03e0,
+ 0x0060, 0x0101,
+ 0x00a9, 0x868f,
+ 0x00ac, 0xda02,
+ 0x00aa, 0xda08,
+ 0x0060, 0x0173,
+ 0x00ba, 0x0034,
+ 0x0083, 0x03e0,
+ 0x0060, 0x0101,
+ 0x0029, 0x8696,
+ 0x00ac, 0xda85,
+ 0x00aa, 0xda97,
+ 0x0008, 0x868d,
+ 0x0083, 0xc08a,
+ 0x003a, 0x0041,
+ 0x0083, 0x03e0,
+ 0x001f, 0x700f,
+ 0x001c, 0x03c4,
+ 0x0011, 0x0372,
+ 0x0003, 0x03e4,
+ 0x003a, 0x0088,
+ 0x0017, 0x03e4,
+ 0x00a0, 0x00e7,
+ 0x0028, 0xe3a4,
+ 0x0003, 0xc2e3,
+ 0x0000, 0x00d8,
+ 0x0003, 0xc07e,
+ 0x0080, 0x00da,
+ 0x00a4, 0x860a,
+ 0x0080, 0x00d6,
+ 0x00ac, 0xda02,
+ 0x0000, 0x00ca,
+ 0x003a, 0x0009,
+ 0x0099, 0x037e,
+ 0x0082, 0x0f7e,
+ 0x0017, 0x7ee2,
+ 0x0041, 0x00e2,
+ 0x0080, 0x00da,
+ 0x0003, 0xc1e3,
+ 0x00ba, 0x1000,
+ 0x0011, 0x0395,
+ 0x0003, 0x0395,
+ 0x0000, 0x00ca,
+ 0x0003, 0xc794,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0003, 0x03be,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x002f, 0xbf00,
+ 0x00aa, 0xbf85,
+ 0x0028, 0xe54c,
+ 0x00a9, 0xe575,
+ 0x001f, 0xe50f,
+ 0x009d, 0x03c2,
+ 0x00a8, 0x0375,
+ 0x0029, 0x0375,
+ 0x001f, 0xe50f,
+ 0x009d, 0x03c4,
+ 0x00a8, 0x0373,
+ 0x0029, 0x0373,
+ 0x00e1, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0083, 0xc0da,
+ 0x0003, 0x6489,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0083, 0x7dda,
+ 0x0083, 0x6589,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0019, 0x6465,
+ 0x009b, 0x034f,
+ 0x0099, 0x03c9,
+ 0x0019, 0x03c8,
+ 0x0019, 0x0375,
+ 0x0002, 0x0f75,
+ 0x00e1, 0x0000,
+ 0x00a8, 0xe3e1,
+ 0x003a, 0xbada,
+ 0x0083, 0x03e0,
+ 0x0000, 0x0110,
+ 0x009f, 0x710f,
+ 0x009d, 0x03c2,
+ 0x00a9, 0x0305,
+ 0x0028, 0x0306,
+ 0x0029, 0x7107,
+ 0x00a8, 0x7108,
+ 0x0000, 0x0110,
+ 0x0003, 0xc87f,
+ 0x00e1, 0x0000,
+ 0x0003, 0xc47f,
+ 0x00e1, 0x0000,
+ 0x0003, 0xc27f,
+ 0x00e1, 0x0000,
+ 0x0003, 0xc17f,
+ 0x00e1, 0x0000,
+ 0x0003, 0x7f70,
+ 0x0080, 0x013c,
+ 0x001f, 0x700f,
+ 0x009d, 0x03c2,
+ 0x00a9, 0x030a,
+ 0x00a8, 0x030e,
+ 0x00a9, 0x7010,
+ 0x0028, 0x7002,
+ 0x0000, 0x0110,
+ 0x009f, 0x710f,
+ 0x009d, 0x03c2,
+ 0x0009, 0x0303,
+ 0x0003, 0xc870,
+ 0x0080, 0x013c,
+ 0x009f, 0x710f,
+ 0x009d, 0x03c2,
+ 0x0088, 0x0303,
+ 0x0003, 0xc470,
+ 0x0080, 0x013c,
+ 0x0009, 0x7103,
+ 0x0003, 0xc270,
+ 0x0080, 0x013c,
+ 0x0088, 0x718d,
+ 0x0003, 0xc170,
+ 0x0080, 0x013c,
+ 0x0003, 0xc1e5,
+ 0x0083, 0xc0bf,
+ 0x003a, 0x0018,
+ 0x0000, 0x00ee,
+ 0x0083, 0xc0e5,
+ 0x001f, 0xf70f,
+ 0x001b, 0x0377,
+ 0x0002, 0x0f7a,
+ 0x001f, 0x700f,
+ 0x009d, 0x03c2,
+ 0x00a9, 0x0305,
+ 0x00a8, 0x0308,
+ 0x00a9, 0x700d,
+ 0x00a8, 0x7012,
+ 0x0000, 0x0110,
+ 0x001f, 0x7a0f,
+ 0x0083, 0x03f7,
+ 0x0003, 0xc378,
+ 0x0000, 0x0161,
+ 0x001f, 0xc10f,
+ 0x001c, 0x03c4,
+ 0x0091, 0x037a,
+ 0x0083, 0x03f7,
+ 0x0003, 0xc378,
+ 0x0000, 0x0161,
+ 0x001f, 0xc20f,
+ 0x001c, 0x03c4,
+ 0x0091, 0x037a,
+ 0x0083, 0x03f7,
+ 0x0083, 0xc778,
+ 0x0000, 0x0161,
+ 0x009f, 0xc30f,
+ 0x001c, 0x03c4,
+ 0x0091, 0x037a,
+ 0x0083, 0x03f7,
+ 0x0083, 0xc778,
+ 0x0000, 0x0161,
+ 0x001f, 0xf80f,
+ 0x009b, 0x0376,
+ 0x0011, 0x0378,
+ 0x0083, 0x03f8,
+ 0x0003, 0xc2e5,
+ 0x003a, 0x0022,
+ 0x0083, 0x03bf,
+ 0x003a, 0x0018,
+ 0x0000, 0x00ee,
+ 0x0083, 0xc0e5,
+ 0x00e1, 0x0000,
+ 0x0000, 0x00ee,
+ 0x0080, 0x017e,
+ 0x0080, 0x0181,
+ 0x0000, 0x01a8,
+ 0x0000, 0x01ab,
+ 0x0083, 0xc872,
+ 0x0000, 0x017a,
+ 0x009f, 0x720f,
+ 0x001c, 0x03c4,
+ 0x0011, 0x0372,
+ 0x009d, 0x03c1,
+ 0x009b, 0x03cd,
+ 0x0082, 0x0f72,
+ 0x0000, 0x017a,
+ 0x0003, 0xc4e5,
+ 0x0083, 0xc0bf,
+ 0x00ba, 0x0015,
+ 0x0080, 0x016c,
+ 0x0003, 0xc8e5,
+ 0x00ba, 0x0016,
+ 0x0080, 0x016c,
+ 0x0083, 0xc0e5,
+ 0x001f, 0xf70f,
+ 0x009b, 0x0376,
+ 0x0002, 0x0f7c,
+ 0x009f, 0x720f,
+ 0x009d, 0x03c2,
+ 0x0029, 0x0304,
+ 0x0028, 0x0306,
+ 0x00a9, 0x7209,
+ 0x0028, 0x720c,
+ 0x0003, 0x7cf7,
+ 0x0003, 0xc37b,
+ 0x0080, 0x019a,
+ 0x0011, 0x7cc1,
+ 0x0083, 0x03f7,
+ 0x0003, 0xc37b,
+ 0x0080, 0x019a,
+ 0x0011, 0x7cc2,
+ 0x0083, 0x03f7,
+ 0x0083, 0xc77b,
+ 0x0080, 0x019a,
+ 0x0091, 0x7cc3,
+ 0x0083, 0x03f7,
+ 0x0083, 0xc77b,
+ 0x0080, 0x019a,
+ 0x009f, 0x810f,
+ 0x009b, 0x0376,
+ 0x0011, 0x037b,
+ 0x0003, 0x0381,
+ 0x0003, 0xc082,
+ 0x0003, 0xd689,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0083, 0xc182,
+ 0x0083, 0xc9e5,
+ 0x003a, 0x0022,
+ 0x0083, 0x03bf,
+ 0x00ba, 0x0015,
+ 0x0080, 0x016c,
+ 0x0083, 0xcce5,
+ 0x00ba, 0x0016,
+ 0x0080, 0x016c,
+ 0x0083, 0xc0e5,
+ 0x00e1, 0x0000,
+ 0x0000, 0x01ae,
+ 0x001f, 0xc20f,
+ 0x009b, 0x038a,
+ 0x0083, 0x038a,
+ 0x0042, 0x0000,
+ 0x001f, 0xc10f,
+ 0x0091, 0x038a,
+ 0x0083, 0x038a,
+ 0x001a, 0xfffe,
+ 0x009b, 0x0386,
+ 0x0083, 0x0386,
+ 0x00e1, 0x0000,
+ 0x001f, 0xc10f,
+ 0x009b, 0x038a,
+ 0x0083, 0x038a,
+ 0x0042, 0x0000,
+ 0x001f, 0xc20f,
+ 0x0091, 0x038a,
+ 0x0083, 0x038a,
+ 0x001a, 0xfffd,
+ 0x009b, 0x0386,
+ 0x0083, 0x0386,
+ 0x00e1, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+}, {
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x009a, 0xb616,
+ 0x0060, 0x00ee,
+ 0x008d, 0xbf02,
+ 0x0080, 0x0007,
+ 0x0083, 0xc0e0,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0008, 0xe384,
+ 0x0003, 0xc095,
+ 0x0083, 0xc184,
+ 0x0003, 0xc084,
+ 0x0083, 0xd1b9,
+ 0x0083, 0xc7ff,
+ 0x0003, 0xc082,
+ 0x003a, 0x000a,
+ 0x0003, 0x03fa,
+ 0x0003, 0x4190,
+ 0x0003, 0x4f83,
+ 0x0083, 0x408e,
+ 0x0004, 0xed04,
+ 0x0083, 0xc0bf,
+ 0x001a, 0x3501,
+ 0x0060, 0x00ee,
+ 0x0083, 0xc086,
+ 0x001a, 0xb701,
+ 0x0060, 0x00ee,
+ 0x00ba, 0x0020,
+ 0x009b, 0x03bf,
+ 0x0020, 0x002a,
+ 0x0083, 0xc0bf,
+ 0x001a, 0x3703,
+ 0x0060, 0x00ee,
+ 0x0003, 0xc2bf,
+ 0x0060, 0x00ee,
+ 0x008a, 0xde02,
+ 0x0000, 0x002e,
+ 0x008e, 0x8502,
+ 0x0080, 0x0020,
+ 0x0018, 0x9300,
+ 0x0003, 0x0393,
+ 0x00fa, 0x8040,
+ 0x0091, 0x03c1,
+ 0x0091, 0x0380,
+ 0x0083, 0x0380,
+ 0x0083, 0xd497,
+ 0x0083, 0xd498,
+ 0x0003, 0xd499,
+ 0x0083, 0xd1b9,
+ 0x0083, 0xc7ff,
+ 0x0003, 0xc082,
+ 0x0003, 0xd689,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x00ba, 0x0117,
+ 0x0083, 0x03bf,
+ 0x003a, 0x3b80,
+ 0x0060, 0x00ee,
+ 0x0083, 0xc182,
+ 0x009a, 0x0104,
+ 0x0083, 0x03b5,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x001f, 0xf80f,
+ 0x0011, 0x03d2,
+ 0x0083, 0x03f8,
+ 0x0000, 0x004b,
+ 0x0080, 0x0010,
+ 0x0083, 0xc0e3,
+ 0x0003, 0x618c,
+ 0x0083, 0x628d,
+ 0x00ba, 0x0010,
+ 0x0083, 0x03e0,
+ 0x0003, 0xe171,
+ 0x009f, 0x710f,
+ 0x009b, 0x03cd,
+ 0x0003, 0x0371,
+ 0x00e0, 0x0114,
+ 0x0060, 0x0123,
+ 0x00e0, 0x0171,
+ 0x0003, 0xc074,
+ 0x0060, 0x01ae,
+ 0x0003, 0xc0e7,
+ 0x0003, 0xc0e8,
+ 0x0098, 0xe600,
+ 0x0083, 0x03e6,
+ 0x003a, 0x0011,
+ 0x0083, 0x03e0,
+ 0x0060, 0x0101,
+ 0x00ac, 0xda02,
+ 0x002a, 0xda0a,
+ 0x0008, 0x8605,
+ 0x0060, 0x0125,
+ 0x0060, 0x01ae,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0060, 0x0173,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0080, 0x005d,
+ 0x003a, 0x0012,
+ 0x0083, 0x03e0,
+ 0x0011, 0x7274,
+ 0x0082, 0x0f74,
+ 0x00ba, 0xdc74,
+ 0x005a, 0x0257,
+ 0x0083, 0x0375,
+ 0x00ba, 0x0020,
+ 0x0083, 0x03e0,
+ 0x0060, 0x0123,
+ 0x00e0, 0x0171,
+ 0x0060, 0x01b9,
+ 0x0060, 0x01ae,
+ 0x003a, 0x0021,
+ 0x0083, 0x03e0,
+ 0x0060, 0x0101,
+ 0x0029, 0x86b1,
+ 0x00ac, 0xda02,
+ 0x002a, 0xda0a,
+ 0x00ba, 0x0023,
+ 0x0083, 0x03e0,
+ 0x0088, 0x8602,
+ 0x0000, 0x0093,
+ 0x00ba, 0x002c,
+ 0x0083, 0x03e0,
+ 0x0060, 0x0173,
+ 0x0083, 0x7273,
+ 0x0000, 0x0078,
+ 0x003a, 0x0024,
+ 0x0083, 0x03e0,
+ 0x009e, 0x7072,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x002b, 0x0322,
+ 0x0097, 0x7f72,
+ 0x0020, 0x00ae,
+ 0x0011, 0x7274,
+ 0x0082, 0x0f74,
+ 0x0060, 0x01b9,
+ 0x0000, 0x007e,
+ 0x0083, 0x7072,
+ 0x0060, 0x017a,
+ 0x003a, 0x0027,
+ 0x0083, 0x03e0,
+ 0x0060, 0x0101,
+ 0x00a9, 0x86ce,
+ 0x00ac, 0xda02,
+ 0x002a, 0xda14,
+ 0x003a, 0x0028,
+ 0x0083, 0x03e0,
+ 0x001f, 0x750f,
+ 0x0017, 0x0366,
+ 0x00c1, 0x00a8,
+ 0x00ba, 0x0029,
+ 0x0083, 0x03e0,
+ 0x0003, 0x71e8,
+ 0x0060, 0x0125,
+ 0x0083, 0x7372,
+ 0x0060, 0x0173,
+ 0x0060, 0x01ae,
+ 0x0000, 0x0078,
+ 0x0003, 0x7471,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0003, 0x71e1,
+ 0x00e0, 0x0114,
+ 0x0000, 0x00a0,
+ 0x0080, 0x00b0,
+ 0x0080, 0x004a,
+ 0x003a, 0x0030,
+ 0x0083, 0x03e0,
+ 0x0003, 0x678c,
+ 0x001b, 0x7271,
+ 0x0020, 0x00b9,
+ 0x0083, 0x7270,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x00e0, 0x013c,
+ 0x0060, 0x01b9,
+ 0x0060, 0x01ad,
+ 0x00ba, 0x0031,
+ 0x0083, 0x03e0,
+ 0x0060, 0x0101,
+ 0x00a9, 0x868f,
+ 0x00ac, 0xda02,
+ 0x00aa, 0xda08,
+ 0x0060, 0x0173,
+ 0x00ba, 0x0034,
+ 0x0083, 0x03e0,
+ 0x0060, 0x0101,
+ 0x0029, 0x8696,
+ 0x00ac, 0xda85,
+ 0x00aa, 0xda97,
+ 0x0008, 0x868d,
+ 0x0083, 0xc08a,
+ 0x003a, 0x0041,
+ 0x0083, 0x03e0,
+ 0x001f, 0x700f,
+ 0x001c, 0x03c4,
+ 0x0011, 0x0372,
+ 0x0003, 0x03e4,
+ 0x003a, 0x0088,
+ 0x0017, 0x03e4,
+ 0x00a0, 0x00e7,
+ 0x0028, 0xe3a4,
+ 0x0003, 0xc2e3,
+ 0x0000, 0x00d8,
+ 0x0003, 0xc07e,
+ 0x0080, 0x00da,
+ 0x00a4, 0x860a,
+ 0x0080, 0x00d6,
+ 0x00ac, 0xda02,
+ 0x0000, 0x00ca,
+ 0x003a, 0x0009,
+ 0x0099, 0x037e,
+ 0x0082, 0x0f7e,
+ 0x0017, 0x7ee2,
+ 0x0041, 0x00e2,
+ 0x0080, 0x00da,
+ 0x0003, 0xc1e3,
+ 0x00ba, 0x1000,
+ 0x0011, 0x0395,
+ 0x0003, 0x0395,
+ 0x0000, 0x00ca,
+ 0x0003, 0xc794,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0003, 0x03be,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x002f, 0xbf00,
+ 0x00aa, 0xbf85,
+ 0x0028, 0xe54c,
+ 0x00a9, 0xe575,
+ 0x001f, 0xe50f,
+ 0x009d, 0x03c2,
+ 0x00a8, 0x0375,
+ 0x0029, 0x0375,
+ 0x001f, 0xe50f,
+ 0x009d, 0x03c4,
+ 0x00a8, 0x0373,
+ 0x0029, 0x0373,
+ 0x00e1, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0083, 0xc0da,
+ 0x0003, 0x6489,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0083, 0x7dda,
+ 0x0083, 0x6589,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0019, 0x6465,
+ 0x009b, 0x034f,
+ 0x0099, 0x03c9,
+ 0x0019, 0x03c8,
+ 0x0019, 0x0375,
+ 0x0002, 0x0f75,
+ 0x00e1, 0x0000,
+ 0x00a8, 0xe3e1,
+ 0x003a, 0xbada,
+ 0x0083, 0x03e0,
+ 0x0000, 0x0110,
+ 0x009f, 0x710f,
+ 0x009d, 0x03c2,
+ 0x00a9, 0x0305,
+ 0x0028, 0x0306,
+ 0x0029, 0x7107,
+ 0x00a8, 0x7108,
+ 0x0000, 0x0110,
+ 0x0003, 0xc87f,
+ 0x00e1, 0x0000,
+ 0x0003, 0xc47f,
+ 0x00e1, 0x0000,
+ 0x0003, 0xc27f,
+ 0x00e1, 0x0000,
+ 0x0003, 0xc17f,
+ 0x00e1, 0x0000,
+ 0x0003, 0x7f70,
+ 0x0080, 0x013c,
+ 0x001f, 0x700f,
+ 0x009d, 0x03c2,
+ 0x00a9, 0x030a,
+ 0x00a8, 0x030e,
+ 0x00a9, 0x7010,
+ 0x0028, 0x7002,
+ 0x0000, 0x0110,
+ 0x009f, 0x710f,
+ 0x009d, 0x03c2,
+ 0x0009, 0x0303,
+ 0x0003, 0xc870,
+ 0x0080, 0x013c,
+ 0x009f, 0x710f,
+ 0x009d, 0x03c2,
+ 0x0088, 0x0303,
+ 0x0003, 0xc470,
+ 0x0080, 0x013c,
+ 0x0009, 0x7103,
+ 0x0003, 0xc270,
+ 0x0080, 0x013c,
+ 0x0088, 0x718d,
+ 0x0003, 0xc170,
+ 0x0080, 0x013c,
+ 0x0003, 0xc1e5,
+ 0x0083, 0xc0bf,
+ 0x003a, 0x0018,
+ 0x0000, 0x00ee,
+ 0x0083, 0xc0e5,
+ 0x001f, 0xf70f,
+ 0x001b, 0x0377,
+ 0x0002, 0x0f7a,
+ 0x001f, 0x700f,
+ 0x009d, 0x03c2,
+ 0x00a9, 0x0305,
+ 0x00a8, 0x0308,
+ 0x00a9, 0x700d,
+ 0x00a8, 0x7012,
+ 0x0000, 0x0110,
+ 0x001f, 0x7a0f,
+ 0x0083, 0x03f7,
+ 0x0003, 0xc378,
+ 0x0000, 0x0161,
+ 0x001f, 0xc10f,
+ 0x001c, 0x03c4,
+ 0x0091, 0x037a,
+ 0x0083, 0x03f7,
+ 0x0003, 0xc378,
+ 0x0000, 0x0161,
+ 0x001f, 0xc20f,
+ 0x001c, 0x03c4,
+ 0x0091, 0x037a,
+ 0x0083, 0x03f7,
+ 0x0083, 0xc778,
+ 0x0000, 0x0161,
+ 0x009f, 0xc30f,
+ 0x001c, 0x03c4,
+ 0x0091, 0x037a,
+ 0x0083, 0x03f7,
+ 0x0083, 0xc778,
+ 0x0000, 0x0161,
+ 0x001f, 0xf80f,
+ 0x009b, 0x0376,
+ 0x0011, 0x0378,
+ 0x0083, 0x03f8,
+ 0x0003, 0xc2e5,
+ 0x003a, 0x0022,
+ 0x0083, 0x03bf,
+ 0x003a, 0x0018,
+ 0x0000, 0x00ee,
+ 0x0083, 0xc0e5,
+ 0x00e1, 0x0000,
+ 0x0000, 0x00ee,
+ 0x0080, 0x017e,
+ 0x0080, 0x0181,
+ 0x0000, 0x01a8,
+ 0x0000, 0x01ab,
+ 0x0083, 0xc872,
+ 0x0000, 0x017a,
+ 0x009f, 0x720f,
+ 0x001c, 0x03c4,
+ 0x0011, 0x0372,
+ 0x009d, 0x03c1,
+ 0x009b, 0x03cd,
+ 0x0082, 0x0f72,
+ 0x0000, 0x017a,
+ 0x0003, 0xc4e5,
+ 0x0083, 0xc0bf,
+ 0x00ba, 0x0015,
+ 0x0080, 0x016c,
+ 0x0003, 0xc8e5,
+ 0x00ba, 0x0016,
+ 0x0080, 0x016c,
+ 0x0083, 0xc0e5,
+ 0x001f, 0xf70f,
+ 0x009b, 0x0376,
+ 0x0002, 0x0f7c,
+ 0x009f, 0x720f,
+ 0x009d, 0x03c2,
+ 0x0029, 0x0304,
+ 0x0028, 0x0306,
+ 0x00a9, 0x7209,
+ 0x0028, 0x720c,
+ 0x0003, 0x7cf7,
+ 0x0003, 0xc37b,
+ 0x0080, 0x019a,
+ 0x0011, 0x7cc1,
+ 0x0083, 0x03f7,
+ 0x0003, 0xc37b,
+ 0x0080, 0x019a,
+ 0x0011, 0x7cc2,
+ 0x0083, 0x03f7,
+ 0x0083, 0xc77b,
+ 0x0080, 0x019a,
+ 0x0091, 0x7cc3,
+ 0x0083, 0x03f7,
+ 0x0083, 0xc77b,
+ 0x0080, 0x019a,
+ 0x009f, 0x810f,
+ 0x009b, 0x0376,
+ 0x0011, 0x037b,
+ 0x0003, 0x0381,
+ 0x0003, 0xc082,
+ 0x0003, 0xd689,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0083, 0xc182,
+ 0x0083, 0xc9e5,
+ 0x003a, 0x0022,
+ 0x0083, 0x03bf,
+ 0x00ba, 0x0015,
+ 0x0080, 0x016c,
+ 0x0083, 0xcce5,
+ 0x00ba, 0x0016,
+ 0x0080, 0x016c,
+ 0x0083, 0xc0e5,
+ 0x00e1, 0x0000,
+ 0x0000, 0x01ae,
+ 0x001f, 0xc20f,
+ 0x009b, 0x038a,
+ 0x0083, 0x038a,
+ 0x0042, 0x0000,
+ 0x001f, 0xc10f,
+ 0x0091, 0x038a,
+ 0x0083, 0x038a,
+ 0x001a, 0xfffe,
+ 0x009b, 0x0386,
+ 0x0083, 0x0386,
+ 0x00e1, 0x0000,
+ 0x001f, 0xc10f,
+ 0x009b, 0x038a,
+ 0x0083, 0x038a,
+ 0x0042, 0x0000,
+ 0x001f, 0xc20f,
+ 0x0091, 0x038a,
+ 0x0083, 0x038a,
+ 0x001a, 0xfffd,
+ 0x009b, 0x0386,
+ 0x0083, 0x0386,
+ 0x00e1, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+}, {
+ 0x0083, 0xc0ec,
+ 0x0003, 0xc0eb,
+ 0x0003, 0xc0ee,
+ 0x0083, 0xc0ea,
+ 0x0003, 0xc696,
+ 0x0060, 0x0158,
+ 0x00ba, 0x0080,
+ 0x0083, 0x03b9,
+ 0x0003, 0xc0ee,
+ 0x0003, 0xc0eb,
+ 0x0018, 0xee00,
+ 0x0003, 0x03ee,
+ 0x00ba, 0x0010,
+ 0x0017, 0x03ee,
+ 0x0041, 0x0011,
+ 0x0060, 0x0131,
+ 0x0003, 0xc0ee,
+ 0x009b, 0x55a1,
+ 0x0097, 0x03ce,
+ 0x00c1, 0x0015,
+ 0x0083, 0xd498,
+ 0x001f, 0xd30f,
+ 0x009e, 0x03c8,
+ 0x0083, 0x0398,
+ 0x0003, 0xd089,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0003, 0xd299,
+ 0x0083, 0xd298,
+ 0x0083, 0xd297,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0018, 0xeb00,
+ 0x0003, 0x03eb,
+ 0x00ba, 0x0800,
+ 0x0017, 0x03eb,
+ 0x0041, 0x000a,
+ 0x0003, 0xc0eb,
+ 0x0003, 0xc0ee,
+ 0x009b, 0x57a3,
+ 0x00e0, 0x016c,
+ 0x0083, 0x03ef,
+ 0x009b, 0x57a0,
+ 0x00e0, 0x016c,
+ 0x0083, 0x03dc,
+ 0x0018, 0xee00,
+ 0x0003, 0x03ee,
+ 0x0017, 0x59ee,
+ 0x00c1, 0x003b,
+ 0x0003, 0xc0ee,
+ 0x001f, 0xdf0f,
+ 0x0017, 0x03fa,
+ 0x0041, 0x0039,
+ 0x001f, 0xc10f,
+ 0x001e, 0xfa03,
+ 0x0003, 0x03fa,
+ 0x0060, 0x0158,
+ 0x0060, 0x0131,
+ 0x0085, 0xeb07,
+ 0x0003, 0xc145,
+ 0x0098, 0xea00,
+ 0x0083, 0x03ea,
+ 0x0097, 0x48ea,
+ 0x0041, 0x0050,
+ 0x0083, 0xc1eb,
+ 0x008f, 0xdc0a,
+ 0x001b, 0xa055,
+ 0x0017, 0xc903,
+ 0x00c1, 0x0049,
+ 0x0083, 0xc045,
+ 0x0083, 0xc242,
+ 0x0000, 0x0050,
+ 0x0003, 0xc245,
+ 0x0003, 0xc042,
+ 0x0000, 0x0050,
+ 0x001b, 0xa055,
+ 0x0097, 0xc103,
+ 0x00c1, 0x0049,
+ 0x0080, 0x0046,
+ 0x001b, 0xa355,
+ 0x0017, 0xcc03,
+ 0x00c1, 0x0058,
+ 0x001f, 0xc80f,
+ 0x009e, 0xd303,
+ 0x0003, 0x0344,
+ 0x0003, 0xc843,
+ 0x0080, 0x0061,
+ 0x008f, 0xef06,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0083, 0xd344,
+ 0x0083, 0xc043,
+ 0x0080, 0x0061,
+ 0x0017, 0xc503,
+ 0x00c1, 0x005b,
+ 0x0000, 0x0053,
+ 0x009b, 0xa155,
+ 0x0003, 0x03f0,
+ 0x001a, 0x0040,
+ 0x0017, 0xf003,
+ 0x00c1, 0x006e,
+ 0x0083, 0xc296,
+ 0x009f, 0xd20f,
+ 0x0019, 0xc103,
+ 0x0083, 0x0398,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0083, 0xd298,
+ 0x0003, 0xc696,
+ 0x009b, 0xa755,
+ 0x0017, 0x5a03,
+ 0x0041, 0x0078,
+ 0x009a, 0x000a,
+ 0x009e, 0xd303,
+ 0x0083, 0x0346,
+ 0x009a, 0x000a,
+ 0x0003, 0x0347,
+ 0x0080, 0x0080,
+ 0x000f, 0xa704,
+ 0x0003, 0xd346,
+ 0x0003, 0xc047,
+ 0x0080, 0x0080,
+ 0x009b, 0xa755,
+ 0x0097, 0xc203,
+ 0x00c1, 0x0079,
+ 0x0000, 0x0072,
+ 0x009f, 0xd20f,
+ 0x0011, 0x0344,
+ 0x0083, 0x0398,
+ 0x009f, 0xd20f,
+ 0x0091, 0x0345,
+ 0x0083, 0x0397,
+ 0x009f, 0xd20f,
+ 0x0091, 0x0346,
+ 0x0003, 0x0399,
+ 0x0003, 0xd089,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0003, 0xd299,
+ 0x0083, 0xd298,
+ 0x0083, 0xd297,
+ 0x0088, 0xde30,
+ 0x001a, 0x000d,
+ 0x009e, 0x8303,
+ 0x0083, 0x0383,
+ 0x0003, 0xcc4b,
+ 0x001c, 0x58c5,
+ 0x0003, 0x034d,
+ 0x009e, 0x834b,
+ 0x0083, 0x0383,
+ 0x001c, 0x4bc1,
+ 0x0003, 0x034b,
+ 0x0017, 0x4b4d,
+ 0x00a0, 0x00a0,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0000, 0x0096,
+ 0x0060, 0x0119,
+ 0x00a8, 0xe371,
+ 0x0083, 0x6389,
+ 0x0060, 0x0119,
+ 0x0028, 0xe36e,
+ 0x0083, 0x6389,
+ 0x0060, 0x0119,
+ 0x0028, 0xe36b,
+ 0x0083, 0x6389,
+ 0x0060, 0x0119,
+ 0x0028, 0xe368,
+ 0x0083, 0x6389,
+ 0x0060, 0x0119,
+ 0x00a8, 0xe365,
+ 0x0083, 0x6389,
+ 0x0060, 0x0119,
+ 0x0028, 0xe362,
+ 0x0091, 0x834b,
+ 0x0083, 0x0383,
+ 0x009d, 0x4bc1,
+ 0x0003, 0x034b,
+ 0x0017, 0x4bc9,
+ 0x00a0, 0x00bb,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0000, 0x00b1,
+ 0x001a, 0x001f,
+ 0x0091, 0x8303,
+ 0x0083, 0x0383,
+ 0x0080, 0x00d0,
+ 0x0060, 0x0119,
+ 0x0028, 0xe352,
+ 0x0083, 0x6389,
+ 0x0060, 0x0119,
+ 0x0028, 0xe34f,
+ 0x0083, 0x6389,
+ 0x0060, 0x0119,
+ 0x0028, 0xe34c,
+ 0x0083, 0x6389,
+ 0x0060, 0x0119,
+ 0x0028, 0xe349,
+ 0x0083, 0x6389,
+ 0x0060, 0x0119,
+ 0x0028, 0xe346,
+ 0x0083, 0x6389,
+ 0x0060, 0x0119,
+ 0x0028, 0xe343,
+ 0x0091, 0x40ca,
+ 0x0011, 0x5c03,
+ 0x0003, 0x038e,
+ 0x001e, 0x41c5,
+ 0x001e, 0x0348,
+ 0x0003, 0x0390,
+ 0x001f, 0xc80f,
+ 0x0091, 0x0351,
+ 0x0083, 0x0391,
+ 0x0083, 0x0392,
+ 0x009f, 0xd20f,
+ 0x0091, 0x0343,
+ 0x0083, 0x0398,
+ 0x009f, 0xd20f,
+ 0x0011, 0x0342,
+ 0x0083, 0x0397,
+ 0x009f, 0xd20f,
+ 0x0011, 0x0347,
+ 0x0003, 0x0399,
+ 0x0083, 0xcbf9,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0003, 0xc1b5,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0003, 0xd089,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0083, 0xd297,
+ 0x0083, 0xd298,
+ 0x0003, 0xd299,
+ 0x0083, 0x408e,
+ 0x0003, 0x4190,
+ 0x009f, 0xc50f,
+ 0x0099, 0x03c9,
+ 0x0091, 0x0351,
+ 0x0083, 0x0391,
+ 0x0083, 0x0392,
+ 0x0003, 0xcff9,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0003, 0xc2b5,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0003, 0xd089,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0003, 0xd5b5,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0083, 0xcef9,
+ 0x0098, 0xec00,
+ 0x0083, 0x03ec,
+ 0x009a, 0x0050,
+ 0x0097, 0x03ec,
+ 0x0041, 0x010e,
+ 0x0003, 0x5886,
+ 0x0003, 0xc0db,
+ 0x008b, 0x8504,
+ 0x0000, 0x0028,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0083, 0xc694,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x003a, 0x0041,
+ 0x0083, 0x03e0,
+ 0x001f, 0x700f,
+ 0x001c, 0x03c4,
+ 0x0011, 0x0372,
+ 0x0003, 0x03e4,
+ 0x00a8, 0xe38d,
+ 0x0003, 0xc2e3,
+ 0x0024, 0x860b,
+ 0x0003, 0xc07e,
+ 0x0080, 0x0124,
+ 0x00ac, 0xda02,
+ 0x00e1, 0x0000,
+ 0x003a, 0x0009,
+ 0x0099, 0x037e,
+ 0x0082, 0x0f7e,
+ 0x0017, 0x7ee2,
+ 0x0041, 0x012c,
+ 0x0080, 0x0124,
+ 0x0003, 0xc1e3,
+ 0x00ba, 0x1000,
+ 0x0011, 0x0395,
+ 0x0003, 0x0395,
+ 0x00e1, 0x0000,
+ 0x009b, 0xa155,
+ 0x0083, 0x03e9,
+ 0x009a, 0x0055,
+ 0x0097, 0xe903,
+ 0x0041, 0x013b,
+ 0x0084, 0xb90b,
+ 0x001f, 0xc10f,
+ 0x009e, 0xb903,
+ 0x0083, 0x03b9,
+ 0x0080, 0x0141,
+ 0x0017, 0x54e9,
+ 0x00c1, 0x0141,
+ 0x0017, 0xb957,
+ 0x0020, 0x0141,
+ 0x0098, 0xb900,
+ 0x0083, 0x03b9,
+ 0x009e, 0x55c4,
+ 0x0097, 0xb903,
+ 0x0041, 0x014c,
+ 0x0004, 0xff13,
+ 0x009f, 0xff0f,
+ 0x009e, 0x03c1,
+ 0x0003, 0x03ff,
+ 0x001f, 0xb90f,
+ 0x0019, 0x03c8,
+ 0x0083, 0x03b9,
+ 0x0000, 0x0157,
+ 0x0099, 0xcc55,
+ 0x0097, 0x03b9,
+ 0x0041, 0x0157,
+ 0x009f, 0xff0f,
+ 0x0097, 0x03c7,
+ 0x0041, 0x0157,
+ 0x0018, 0xff00,
+ 0x0003, 0x03ff,
+ 0x001f, 0xb90f,
+ 0x009e, 0x03c8,
+ 0x0083, 0x03b9,
+ 0x00e1, 0x0000,
+ 0x0093, 0x0000,
+ 0x001f, 0x8761,
+ 0x0003, 0x03f6,
+ 0x001a, 0x0160,
+ 0x001e, 0x03f6,
+ 0x0003, 0x03f6,
+ 0x0017, 0xd103,
+ 0x0041, 0x0162,
+ 0x0083, 0xd1fb,
+ 0x0000, 0x016b,
+ 0x001a, 0x0094,
+ 0x0017, 0xf603,
+ 0x0041, 0x0168,
+ 0x001a, 0x0094,
+ 0x0083, 0x03fb,
+ 0x0000, 0x016b,
+ 0x0083, 0xf6fb,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x00e1, 0x0000,
+ 0x00ae, 0x8005,
+ 0x000f, 0x0303,
+ 0x001e, 0x035f,
+ 0x00e1, 0x0000,
+ 0x0099, 0x5f03,
+ 0x00e1, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0003, 0x03be,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x002f, 0xbf00,
+ 0x00aa, 0xbf85,
+ 0x00e1, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+ 0x0042, 0x0000,
+}};
+
+static u16 cs4321_microcode_epilog[] = {
+ /* Addr, Data */
+ 0x0201, 0x8f10, 0x0202, 0x1210, 0x0200, 0x8000,
+ 0x0201, 0x8f13, 0x0202, 0x1313, 0x0200, 0x8001,
+ 0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x8002,
+ 0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x8003,
+ 0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x8004,
+ 0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x8005,
+ 0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x8006,
+ 0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x8007,
+ 0x0201, 0x0000, 0x0202, 0x0300, 0x0200, 0x8008,
+ 0x0201, 0x0000, 0x0202, 0x9101, 0x0200, 0x8009,
+ 0x0201, 0x8000, 0x0202, 0x0e00, 0x0200, 0x800a,
+ 0x0201, 0x0000, 0x0202, 0xffff, 0x0200, 0x800b,
+ 0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x800c,
+ 0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x800d,
+ 0x0201, 0x0000, 0x0202, 0x0020, 0x0200, 0x800e,
+ 0x0201, 0x7fff, 0x0202, 0xffff, 0x0200, 0x800f,
+ 0x0201, 0x8000, 0x0202, 0xc350, 0x0200, 0x8010,
+ 0x0201, 0x0000, 0x0202, 0x8000, 0x0200, 0x8011,
+ 0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x8012,
+ 0x0201, 0x0000, 0x0202, 0x0a0a, 0x0200, 0x8013,
+ 0x0201, 0x0000, 0x0202, 0x0064, 0x0200, 0x8014,
+ 0x0201, 0x0000, 0x0202, 0x007f, 0x0200, 0x8015,
+ 0x0201, 0x0000, 0x0202, 0x003a, 0x0200, 0x8016,
+ 0x0201, 0x0000, 0x0202, 0x00ff, 0x0200, 0x8017,
+ 0x0201, 0x0000, 0x0202, 0x0100, 0x0200, 0x8018,
+ 0x0201, 0x0000, 0x0202, 0x0032, 0x0200, 0x8019,
+ 0x0201, 0x0000, 0x0202, 0x0018, 0x0200, 0x801a,
+ 0x0201, 0x0000, 0x0202, 0x0013, 0x0200, 0x801b,
+ 0x0201, 0x0000, 0x0202, 0xff00, 0x0200, 0x801c,
+ 0x0201, 0x0000, 0x0202, 0x0028, 0x0200, 0x801d,
+ 0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x801e,
+ 0x0201, 0x0000, 0x0202, 0x0080, 0x0200, 0x801f,
+ 0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x8020,
+ 0x0201, 0x00f9, 0x0202, 0xac04, 0x0200, 0x8021,
+ 0x0201, 0x0a42, 0x0202, 0x6b48, 0x0200, 0x8022,
+ 0x0201, 0x8000, 0x0202, 0x19bc, 0x0200, 0x8023,
+ 0x0201, 0x8020, 0x0202, 0x6cc8, 0x0200, 0x8024,
+ 0x0201, 0x8000, 0x0202, 0x14c0, 0x0200, 0x8025,
+ 0x0201, 0x0a76, 0x0202, 0x4c88, 0x0200, 0x8026,
+ 0x0201, 0x015f, 0x0202, 0xcf7a, 0x0200, 0x8027,
+ 0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x8028,
+ 0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x8029,
+ 0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x802a,
+ 0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x802b,
+ 0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x802c,
+ 0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x802d,
+ 0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x802e,
+ 0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x802f,
+ 0x0201, 0x0000, 0x0202, 0x0008, 0x0200, 0x8030,
+ 0x0201, 0x0000, 0x0202, 0x000f, 0x0200, 0x8031,
+ 0x0201, 0x0000, 0x0202, 0x0008, 0x0200, 0x8032,
+ 0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x8033,
+ 0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x8034,
+ 0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x8035,
+ 0x0201, 0xffff, 0x0202, 0xfff0, 0x0200, 0x8036,
+ 0x0201, 0xffff, 0x0202, 0xff0f, 0x0200, 0x8037,
+ 0x0201, 0x0000, 0x0202, 0x0003, 0x0200, 0x8038,
+ 0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x8039,
+ 0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x803a,
+ 0x0201, 0x0000, 0x0202, 0x0003, 0x0200, 0x803b,
+ 0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x803c,
+ 0x0201, 0x2000, 0x0202, 0x0000, 0x0200, 0x803d,
+ 0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x803e,
+ 0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x803f,
+
+ 0x024f, 0x0000,
+ 0x0505, 0x2003,
+ 0x0558, 0x2001,
+ 0x03d4, 0x0100,
+ 0x03d5, 0x00c0,
+ 0x03d3, 0x2919,
+ 0x021c, 0x8020,
+ 0x021d, 0x8040,
+ 0x021e, 0x8040,
+ 0x03d0, 0x0600,
+ 0x0605, 0x1d00,
+ 0x0231, 0x8f05,
+ 0x0003, 0x0020,
+ 0x0004, 0x0021,
+ 0x0005, 0x0020,
+ 0x0006, 0x0100,
+ 0x0007, 0x0020,
+ 0x062a, 0x101b,
+ 0x062b, 0xc010,
+ 0x0529, 0x0808,
+ 0x052a, 0x0000,
+ 0x0504, 0x0055,
+ 0x0622, 0x0001,
+ 0x0521, 0x0001,
+ 0x0300, 0x0008,
+ 0x0308, 0x00e2,
+ 0x0310, 0x00d5,
+ 0x0318, 0x0076,
+ 0x0320, 0x0000,
+ 0x0328, 0x00f0,
+ 0x0338, 0x00f3,
+ 0x0330, 0x00f3,
+ 0x0340, 0x0000,
+ 0x0348, 0x000a,
+ 0x0350, 0x0000,
+ 0x0358, 0x00fc,
+ 0x0360, 0x0000,
+ 0x0301, 0x0008,
+ 0x0309, 0x00ed,
+ 0x0311, 0x00c6,
+ 0x0319, 0x004f,
+ 0x0321, 0x0000,
+ 0x0329, 0x0000,
+ 0x0339, 0x00fd,
+ 0x0331, 0x00fd,
+ 0x0341, 0x0006,
+ 0x0349, 0x0000,
+ 0x0351, 0x000b,
+ 0x0359, 0x0002,
+ 0x0361, 0x0000,
+ 0x0302, 0x0000,
+ 0x030a, 0x0040,
+ 0x0312, 0x00d0,
+ 0x031a, 0x006e,
+ 0x0322, 0x0000,
+ 0x032a, 0x00dc,
+ 0x033a, 0x00d7,
+ 0x0332, 0x00d7,
+ 0x0342, 0x00e6,
+ 0x034a, 0x000c,
+ 0x0352, 0x00fd,
+ 0x035a, 0x0001,
+ 0x0362, 0x0000,
+ 0x0303, 0x0000,
+ 0x030b, 0x00f8,
+ 0x0313, 0x0000,
+ 0x031b, 0x0064,
+ 0x0323, 0x0000,
+ 0x032b, 0x00db,
+ 0x0333, 0x00e6,
+ 0x033b, 0x00e6,
+ 0x0343, 0x00f0,
+ 0x034b, 0x0010,
+ 0x0353, 0x00f8,
+ 0x035b, 0x00f7,
+ 0x0363, 0x0000,
+ 0x0304, 0x0000,
+ 0x030c, 0x0000,
+ 0x0314, 0x0000,
+ 0x031c, 0x0070,
+ 0x0324, 0x0000,
+ 0x032c, 0x0000,
+ 0x033c, 0x0000,
+ 0x0334, 0x0000,
+ 0x0344, 0x0000,
+ 0x034c, 0x0000,
+ 0x0354, 0x0000,
+ 0x035c, 0x0000,
+ 0x0364, 0x0000,
+ 0x0305, 0x0000,
+ 0x030d, 0x00d4,
+ 0x0315, 0x0000,
+ 0x031d, 0x0077,
+ 0x0325, 0x0000,
+ 0x032d, 0x00b7,
+ 0x033d, 0x00f8,
+ 0x0335, 0x00f8,
+ 0x0345, 0x0003,
+ 0x034d, 0x00fd,
+ 0x0355, 0x00fa,
+ 0x035d, 0x00fc,
+ 0x0365, 0x0000,
+ 0x0306, 0x00f5,
+ 0x030e, 0x0040,
+ 0x0316, 0x0000,
+ 0x031e, 0x00ee,
+ 0x0326, 0x0000,
+ 0x032e, 0x0000,
+ 0x0336, 0x0000,
+ 0x033e, 0x0000,
+ 0x0346, 0x0000,
+ 0x034e, 0x0000,
+ 0x0356, 0x0000,
+ 0x035e, 0x0000,
+ 0x0366, 0x0000,
+ 0x0307, 0x00f9,
+ 0x030f, 0x0060,
+ 0x0317, 0x0000,
+ 0x031f, 0x0000,
+ 0x0327, 0x0000,
+ 0x032f, 0x0000,
+ 0x0337, 0x0000,
+ 0x033f, 0x0000,
+ 0x0347, 0x0000,
+ 0x034f, 0x0000,
+ 0x0357, 0x0000,
+ 0x035f, 0x0000,
+ 0x0367, 0x0000,
+ 0x0203, 0xfe03,
+ 0x03d2, 0x0000,
+ 0x040e, 0x0001,
+ 0x022f, 0x0004,
+ 0x040f, 0xedcf,
+ 0x0382, 0x0002,
+ 0x0408, 0xffff,
+ 0x022b, 0x00b0,
+ 0x0205, 0x0603,
+ 0x0227, 0x0000,
+ 0x0404, 0xdfff,
+ 0x0409, 0xf048,
+ 0x0296, 0x0000,
+ 0x029a, 0x0002,
+ 0x028a, 0x000f,
+ 0x0270, 0x0005,
+ 0x0400, 0xd000,
+ 0x020c, 0xf090,
+ 0x0537, 0x0136,
+ 0x0536, 0x0136,
+ 0x0510, 0x0136,
+ 0x050f, 0x0136,
+ 0x0539, 0xa002,
+ 0x0539, 0x2002,
+ 0x0512, 0xa002,
+ 0x0512, 0x2002,
+ 0x0223, 0x0006,
+ 0x021f, 0x0134,
+ 0x0700, 0x0020,
+ 0x0726, 0x0100,
+ 0x0403, 0x0020,
+ 0x0500, 0x1200,
+ 0x0274, 0x0000,
+ 0x024f, 0x0000,
+ 0x000a, 0x1412,
+ 0x0009, 0x2011,
+ 0x0008, 0x0929,
+ 0x0203, 0xfe03,
+ 0x024f, 0x0000,
+ 0x001c, 0x0000,
+ 0x001f, 0xf574,
+};
diff --git a/drivers/net/phy/cs4321.c b/drivers/net/phy/cs4321.c
new file mode 100644
index 0000000..31b4b19
--- /dev/null
+++ b/drivers/net/phy/cs4321.c
@@ -0,0 +1,1147 @@
+/*
+ * Based on code from Cortina Systems, Inc.
+ *
+ * Copyright (C) 2011 by Cortina Systems, Inc.
+ * Copyright (C) 2011 - 2012 Cavium, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ */
+
+#include <linux/module.h>
+#include <linux/delay.h>
+#include <linux/phy.h>
+#include <linux/of.h>
+
+#include "cs4321-ucode.h"
+
+#define CS4321_GLOBAL_CHIP_ID_LSB 0x0
+#define CS4321_GLOBAL_CHIP_ID_MSB 0x1
+#define CS4321_GLOBAL_INGRESS_SOFT_RESET 0xC
+#define CS4321_GLOBAL_EGRESS_SOFT_RESET 0xD
+#define CS4321_GLOBAL_REF_SOFT_RESET 0xE
+#define CS4321_GLOBAL_MPIF_SOFT_RESET 0xF
+#define CS4321_GLOBAL_MPIF_RESET_DOTREG 0x10
+#define CS4321_GLOBAL_INGRESS_FUNCEN 0x12
+#define CS4321_GLOBAL_EGRESS_FUNCEN 0x13
+#define CS4321_GLOBAL_HOST_MULTILANE_FUNCEN 0x14
+#define CS4321_GLOBAL_INGRESS_CLKEN 0x15
+#define CS4321_GLOBAL_INGRESS_CLKEN2 0x16
+#define CS4321_GLOBAL_EGRESS_CLKEN 0x17
+#define CS4321_GLOBAL_EGRESS_CLKEN2 0x18
+#define CS4321_GLOBAL_HOST_MULTILANE_CLKSEL 0x19
+#define CS4321_GLOBAL_MSEQCLKCTRL 0x20
+#define CS4321_GLOBAL_GT_10KHZ_REF_CLK_CNT1 0x2D
+#define CS4321_GLOBAL_GT_10KHZ_REF_CLK_CNT0 0x2E
+#define CS4321_GLOBAL_MISC_CONFIG 0x33
+#define CS4321_GPIO_GPIO3 0x10C
+#define CS4321_GPIO_GPIO3_DRIVE 0x10E
+#define CS4321_GPIO_GPIO10 0x136
+#define CS4321_GPIO_GPIO10_OUTPUT_CFG 0x137
+#define CS4321_GPIO_GPIO_INT 0x16B
+#define CS4321_GPIO_GPIO_INTE 0x16C
+#define CS4321_GPIO_GPIO_INTS 0x16D
+#define CS4321_MSEQ_ENABLE_MSB 0x204
+#define CS4321_MSEQ_SERDES_PARAM_LSB 0x205
+#define CS4321_MSEQ_POWER_DOWN_LSB 0x208
+#define CS4321_MSEQ_POWER_DOWN_MSB 0x209
+#define CS4321_MSEQ_STATUS 0x20a
+#define CS4321_MSEQ_LEAK_INTERVAL_FFE 0x21C
+#define CS4321_MSEQ_COEF_DSP_DRIVE128 0x21F
+#define CS4321_MSEQ_COEF_INIT_SEL 0x223
+#define CS4321_MSEQ_CAL_RX_EQADJ 0x22A
+#define CS4321_MSEQ_CAL_RX_PHSEL 0x22C
+#define CS4321_MSEQ_CAL_RX_SLICER 0x22D
+#define CS4321_MSEQ_CAL_RX_DFE_EQ 0x22E
+#define CS4321_MSEQ_OPTIONS 0x240
+#define CS4321_MSEQ_PC 0x243
+#define CS4321_MSEQ_BANKSELECT 0x24F
+#define CS4321_MSEQ_RESET_COUNT_LSB 0x250
+#define CS4321_MSEQ_SPARE2_LSB 0x270
+#define CS4321_MSEQ_SPARE9_LSB 0x27E
+#define CS4321_MSEQ_SPARE11_LSB 0x282
+#define CS4321_MSEQ_SPARE15_LSB 0x28A
+#define CS4321_MSEQ_SPARE21_LSB 0x296
+#define CS4321_MSEQ_SPARE23_LSB 0x29A
+#define CS4321_DSP_SDS_DSP_COEF_DFE0_SELECT 0x37B
+#define CS4321_DSP_SDS_DSP_COEF_LARGE_LEAK 0x382
+#define CS4321_DSP_SDS_SERDES_SRX_DAC_ENABLEB_LSB 0x400
+#define CS4321_DSP_SDS_SERDES_SRX_DAC_ENABLEB_MSB 0x401
+#define CS4321_DSP_SDS_SERDES_SRX_DAC_BIAS_SELECT0_MSB 0x403
+#define CS4321_DSP_SDS_SERDES_SRX_DAC_BIAS_SELECT1_MSB 0x405
+#define CS4321_DSP_SDS_SERDES_SRX_FFE_DELAY_CTRL 0x409
+#define CS4321_DSP_SDS_SERDES_SRX_FFE_INBUF_CTRL 0x40A
+#define CS4321_DSP_SDS_SERDES_SRX_FFE_PGA_CTRL 0x40B
+#define CS4321_DSP_SDS_SERDES_SRX_FFE_MISC 0x40C
+#define CS4321_DSP_SDS_SERDES_SRX_DFE0_SELECT 0x40E
+#define CS4321_DSP_SDS_SERDES_SRX_DFE_MISC 0x412
+#define CS4321_DSP_SDS_SERDES_SRX_AGC_MISC 0x413
+#define CS4321_LINE_SDS_COMMON_SRX0_RX_CONFIG 0x500
+#define CS4321_LINE_SDS_COMMON_SRX0_RX_CLKDIV_CTRL 0x501
+#define CS4321_LINE_SDS_COMMON_SRX0_RX_LOOP_FILTER 0x503
+#define CS4321_LINE_SDS_COMMON_SRX0_RX_CPA 0x504
+#define CS4321_LINE_SDS_COMMON_SRX0_RX_CPB 0x505
+#define CS4321_LINE_SDS_COMMON_SRX0_RX_VCO_CTRL 0x507
+#define CS4321_LINE_SDS_COMMON_SRX0_RX_SPARE 0x50C
+#define CS4321_LINE_SDS_COMMON_RXVCO0_CONTROL 0x512
+#define CS4321_LINE_SDS_COMMON_STX0_TX_OUTPUT_CTRLA 0x529
+#define CS4321_LINE_SDS_COMMON_STX0_TX_OUTPUT_CTRLB 0x52A
+#define CS4321_LINE_SDS_COMMON_STX0_TX_CONFIG_LOCAL_TIMING 0x52B
+#define CS4321_LINE_SDS_COMMON_STXP0_TX_CONFIG 0x52C
+#define CS4321_LINE_SDS_COMMON_STXP0_TX_PWRDN 0x52D
+#define CS4321_LINE_SDS_COMMON_STXP0_TX_CLKOUT_CTRL 0x52F
+#define CS4321_LINE_SDS_COMMON_STXP0_TX_LOOP_FILTER 0x530
+#define CS4321_LINE_SDS_COMMON_TXVCO0_CONTROL 0x539
+#define CS4321_HOST_SDS_COMMON_SRX0_RX_CONFIG 0x600
+#define CS4321_HOST_SDS_COMMON_SRX0_RX_CLKDIV_CTRL 0x601
+#define CS4321_HOST_SDS_COMMON_SRX0_RX_CLKOUT_CTRL 0x602
+#define CS4321_HOST_SDS_COMMON_RXVCO0_CONTROL 0x613
+#define CS4321_HOST_SDS_COMMON_STX0_TX_CONFIG_LOCAL_TIMING 0x62C
+#define CS4321_HOST_SDS_COMMON_STXP0_TX_CONFIG 0x62D
+#define CS4321_HOST_SDS_COMMON_STXP0_TX_PWRDN 0x62E
+#define CS4321_HOST_SDS_COMMON_STXP0_TX_CLKDIV_CTRL 0x62F
+#define CS4321_HOST_SDS_COMMON_STXP0_TX_CLKOUT_CTRL 0x630
+#define CS4321_HOST_SDS_COMMON_TXVCO0_CONTROL 0x63A
+#define CS4321_HOST_ML_SDS_COMMON_SRX0_RX_CONFIG 0x700
+#define CS4321_HOST_ML_SDS_COMMON_SRX0_RX_CLKDIV_CTRL 0x701
+#define CS4321_HOST_ML_SDS_COMMON_RXVCO0_CONTROL 0x70F
+#define CS4321_HOST_ML_SDS_COMMON_STXP0_TX_CONFIG 0x725
+#define CS4321_HOST_ML_SDS_COMMON_STXP0_TX_PWRDN 0x726
+#define CS4321_HOST_ML_SDS_COMMON_STXP0_TX_CLKDIV_CTRL 0x727
+#define CS4321_HOST_ML_SDS_COMMON_TXVCO0_CONTROL 0x731
+#define CS4321_XGPCS_LINE_TX_TXCNTRL 0xA00
+#define CS4321_XGPCS_LINE_RX_RXCNTRL 0xA20
+#define CS4321_XGPCS_HOST_TX_TXCNTRL 0xA80
+#define CS4321_XGPCS_HOST_RX_RXCNTRL 0xAA0
+#define CS4321_GIGEPCS_LINE_CONTROL 0xC00
+#define CS4321_GIGEPCS_HOST_CONTROL 0xC80
+#define CS4321_HIF_COMMON_TXCONTROL3 0xD0B
+#define CS4321_XGRS_LINE_TX_TXCNTRL 0xE00
+#define CS4321_XGRS_LINE_RX_RXCNTRL1 0xE10
+#define CS4321_XGRS_HOST_TX_TXCNTRL 0xE80
+#define CS4321_XGRS_HOST_RX_RXCNTRL1 0xE90
+#define CS4321_XGMAC_LINE_RX_CFG_COM 0xF00
+#define CS4321_XGMAC_LINE_TX_CFG_COM 0xF40
+#define CS4321_XGMAC_LINE_TX_CFG_TX 0xF41
+#define CS4321_XGMAC_LINE_TX_CFG_TX_IFG 0xF43
+#define CS4321_XGMAC_HOST_RX_CFG_COM 0xF80
+#define CS4321_XGMAC_HOST_TX_CFG_COM 0xFC0
+#define CS4321_XGMAC_HOST_TX_CFG_TX 0xFC1
+#define CS4321_XGMAC_HOST_TX_CFG_TX_IFG 0xFC3
+#define CS4321_MAC_LAT_CTRL_RESET 0x3000
+#define CS4321_MAC_LAT_CTRL_CONFIG 0x3001
+#define CS4321_RADJ_INGRESS_RX_NRA_MIN_IFG 0x3204
+#define CS4321_RADJ_INGRESS_RX_NRA_SETTLE 0x3206
+#define CS4321_RADJ_INGRESS_TX_ADD_FILL_DATA1 0x3210
+#define CS4321_RADJ_INGRESS_TX_ADD_FILL_DATA0 0x3211
+#define CS4321_RADJ_INGRESS_TX_ADD_FILL_CTRL 0x3212
+#define CS4321_RADJ_INGRESS_TX_PRA_MIN_IFG 0x3214
+#define CS4321_RADJ_INGRESS_TX_PRA_SETTLE 0x3216
+#define CS4321_RADJ_INGRESS_MISC_RESET 0x3220
+#define CS4321_RADJ_EGRESS_RX_NRA_MIN_IFG 0x3284
+#define CS4321_RADJ_EGRESS_RX_NRA_SETTLE 0x3286
+#define CS4321_RADJ_EGRESS_TX_ADD_FILL_DATA1 0x3290
+#define CS4321_RADJ_EGRESS_TX_ADD_FILL_DATA0 0x3291
+#define CS4321_RADJ_EGRESS_TX_ADD_FILL_CTRL 0x3292
+#define CS4321_RADJ_EGRESS_TX_PRA_MIN_IFG 0x3294
+#define CS4321_RADJ_EGRESS_TX_PRA_SETTLE 0x3296
+#define CS4321_RADJ_EGRESS_MISC_RESET 0x32A0
+#define CS4321_PM_CTRL 0x3400
+#define CS4321_EEPROM_LOADER_CONTROL 0x3F00
+#define CS4321_EEPROM_LOADER_STATUS 0x3F01
+
+
+enum cs4321_host_mode {
+ RXAUI,
+ XAUI
+};
+
+struct cs4321_private {
+ enum cs4321_host_mode mode;
+};
+
+struct cs4321_reg_modify {
+ u16 reg;
+ u16 mask_bits;
+ u16 set_bits;
+};
+
+struct cs4321_multi_seq {
+ int reg_offset;
+ const struct cs4321_reg_modify *seq;
+};
+
+static const struct cs4321_reg_modify cs4321_soft_reset_registers[] = {
+ /* Enable all the clocks */
+ {CS4321_GLOBAL_INGRESS_CLKEN, 0, 0xffff},
+ {CS4321_GLOBAL_INGRESS_CLKEN2, 0, 0xffff},
+ {CS4321_GLOBAL_EGRESS_CLKEN, 0, 0xffff},
+ {CS4321_GLOBAL_EGRESS_CLKEN2, 0, 0xffff},
+ /* Reset MPIF registers */
+ {CS4321_GLOBAL_MPIF_RESET_DOTREG, 0, 0x0},
+ /* Re-assert the reset */
+ {CS4321_GLOBAL_MPIF_RESET_DOTREG, 0, 0xffff},
+
+ /* Disable all the clocks */
+ {CS4321_GLOBAL_INGRESS_CLKEN, 0, 0x0},
+ {CS4321_GLOBAL_INGRESS_CLKEN2, 0, 0x0},
+ {CS4321_GLOBAL_EGRESS_CLKEN, 0, 0x0},
+ {CS4321_GLOBAL_EGRESS_CLKEN2, 0, 0x0},
+ {0}
+};
+
+static const struct cs4321_reg_modify cs4321_68xx_4_nic_init[] = {
+ /* Configure chip for common reference clock */
+ {CS4321_LINE_SDS_COMMON_STXP0_TX_CONFIG, 0, 0x2700},
+ /* Set GPIO3 to drive low to enable laser output*/
+ {CS4321_GPIO_GPIO3_DRIVE, 0, 0},
+ {CS4321_GPIO_GPIO3, 0, 0x11},
+ /* Set GPIO10 as GPIO_INT open-drain active low */
+ {CS4321_GPIO_GPIO_INTE, 0, 0},
+ {CS4321_GPIO_GPIO10_OUTPUT_CFG, 0, 6},
+ {CS4321_GPIO_GPIO10, 0, 0x0719},
+
+ {0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_prefix_seq[] = {
+ /* MPIF DeAssert System Reset */
+ {CS4321_GLOBAL_MPIF_RESET_DOTREG, ~0x0001, 0},
+ /*
+ * Make sure to stall the microsequencer before configuring
+ * the path.
+ */
+ {CS4321_GLOBAL_MSEQCLKCTRL, 0, 0x8004},
+ {CS4321_MSEQ_OPTIONS, 0, 0xf},
+ {CS4321_MSEQ_PC, 0, 0x0},
+ /*
+ * Correct some of the h/w defaults that are incorrect.
+ *
+ * The default value of the bias current is incorrect and needs to
+ * be corrected. This is normally done by Microcode but it doesn't
+ * always run.
+ */
+ {CS4321_DSP_SDS_SERDES_SRX_DAC_BIAS_SELECT0_MSB, 0, 0x20},
+ /*
+ * By default need to power on the voltage monitor since it is required
+ * by the temperature monitor and this is used by the microcode.
+ */
+ {CS4321_LINE_SDS_COMMON_SRX0_RX_CONFIG, 0, 0x0},
+ {0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_ingress_local_timing_rxaui[] = {
+ {CS4321_LINE_SDS_COMMON_SRX0_RX_CONFIG, 0, 0x0000},
+ {CS4321_LINE_SDS_COMMON_SRX0_RX_CPA, 0, 0x0057},
+ {CS4321_LINE_SDS_COMMON_SRX0_RX_LOOP_FILTER, 0, 0x0007},
+ {CS4321_LINE_SDS_COMMON_STX0_TX_CONFIG_LOCAL_TIMING, 0, 0x0001},
+ {CS4321_LINE_SDS_COMMON_STXP0_TX_CLKOUT_CTRL, 0, 0x0864},
+ {CS4321_LINE_SDS_COMMON_STXP0_TX_LOOP_FILTER, 0, 0x0027},
+ {CS4321_LINE_SDS_COMMON_STXP0_TX_PWRDN, 0, 0x0000},
+ {CS4321_GLOBAL_INGRESS_SOFT_RESET, ~0x1, 0x0001},
+ {CS4321_GLOBAL_INGRESS_SOFT_RESET, ~0x1, 0x0000},
+ {0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_egress_local_timing_rxaui[] = {
+ {CS4321_HOST_SDS_COMMON_SRX0_RX_CLKDIV_CTRL, 0, 0x40d1},
+ {CS4321_HOST_SDS_COMMON_SRX0_RX_CONFIG, 0, 0x000c},
+ {CS4321_HOST_SDS_COMMON_STX0_TX_CONFIG_LOCAL_TIMING, 0, 0x0001},
+ {CS4321_HOST_SDS_COMMON_STXP0_TX_CLKDIV_CTRL, 0, 0x4091},
+ {CS4321_HOST_SDS_COMMON_STXP0_TX_CLKOUT_CTRL, 0, 0x1864},
+ {CS4321_HOST_SDS_COMMON_STXP0_TX_CONFIG, 0, 0x090c},
+ {CS4321_HOST_SDS_COMMON_STXP0_TX_PWRDN, 0, 0x0000},
+ {CS4321_HOST_ML_SDS_COMMON_SRX0_RX_CLKDIV_CTRL, 0, 0x401d},
+ {CS4321_HOST_ML_SDS_COMMON_SRX0_RX_CONFIG, 0, 0x000c},
+ {CS4321_HOST_ML_SDS_COMMON_STXP0_TX_CLKDIV_CTRL, 0, 0x4019},
+ {CS4321_HOST_ML_SDS_COMMON_STXP0_TX_CONFIG, 0, 0x090c},
+ {CS4321_GLOBAL_EGRESS_SOFT_RESET, ~0x1, 0x0001},
+ {CS4321_GLOBAL_EGRESS_SOFT_RESET, ~0x1, 0x0000},
+ {CS4321_GLOBAL_EGRESS_SOFT_RESET, ~0x2, 0x0001},
+ {CS4321_GLOBAL_EGRESS_SOFT_RESET, ~0x2, 0x0000},
+ {0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_line_power_down[] = {
+ {CS4321_LINE_SDS_COMMON_STX0_TX_OUTPUT_CTRLA, 0, 0x0000},
+ {CS4321_LINE_SDS_COMMON_STX0_TX_OUTPUT_CTRLB, 0, 0x0000},
+ {CS4321_LINE_SDS_COMMON_SRX0_RX_CONFIG, 0, 0x2040},
+ {CS4321_LINE_SDS_COMMON_SRX0_RX_VCO_CTRL, 0, 0x01e7},
+ {CS4321_MSEQ_POWER_DOWN_LSB, 0, 0x0000},
+ {CS4321_DSP_SDS_SERDES_SRX_DAC_ENABLEB_MSB, 0, 0xffff},
+ {CS4321_DSP_SDS_SERDES_SRX_DAC_ENABLEB_LSB, 0, 0xffff},
+ {CS4321_DSP_SDS_SERDES_SRX_AGC_MISC, 0, 0x0705},
+ {CS4321_DSP_SDS_SERDES_SRX_DFE_MISC, 0, 0x002b},
+ {CS4321_DSP_SDS_SERDES_SRX_FFE_PGA_CTRL, 0, 0x0021},
+ {CS4321_DSP_SDS_SERDES_SRX_FFE_MISC, 0, 0x0013},
+ {CS4321_DSP_SDS_SERDES_SRX_FFE_INBUF_CTRL, 0, 0x0001},
+ {CS4321_DSP_SDS_SERDES_SRX_DFE0_SELECT, 0, 0x0001},
+ {0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_dpath_ingress_rxaui_pcs_ra[] = {
+ /* Set fen_radj, rx_fen_xgpcs*/
+ {CS4321_GLOBAL_INGRESS_FUNCEN, ~0x0081, 0x0081},
+ /* Set rx_en_radj, rx_en_xgpcs*/
+ {CS4321_GLOBAL_INGRESS_CLKEN, ~0x0021, 0x0021},
+ /* Set tx_en_hif, tx_en_radj*/
+ {CS4321_GLOBAL_INGRESS_CLKEN2, ~0x0120, 0x0120},
+
+ {CS4321_GLOBAL_HOST_MULTILANE_CLKSEL, 0, 0x8000},
+ {CS4321_GLOBAL_HOST_MULTILANE_FUNCEN, 0, 0x0006},
+
+ {CS4321_GLOBAL_REF_SOFT_RESET, 0, 0xffff},
+ {CS4321_GLOBAL_REF_SOFT_RESET, 0, 0x0000},
+ /* MPIF DeAssert Ingress Reset */
+ {CS4321_GLOBAL_MPIF_RESET_DOTREG, ~0x0004, 0},
+
+ {CS4321_XGMAC_LINE_RX_CFG_COM, 0, 0x8010},
+ {CS4321_XGPCS_LINE_RX_RXCNTRL, 0, 0x5000},
+
+ {CS4321_RADJ_INGRESS_RX_NRA_MIN_IFG, 0, 0x0004},
+ {CS4321_RADJ_INGRESS_RX_NRA_SETTLE, 0, 0x0000},
+ {CS4321_RADJ_INGRESS_TX_ADD_FILL_CTRL, 0, 0xf001},
+ {CS4321_RADJ_INGRESS_TX_ADD_FILL_DATA0, 0, 0x0707},
+ {CS4321_RADJ_INGRESS_TX_ADD_FILL_DATA1, 0, 0x0707},
+ {CS4321_RADJ_INGRESS_TX_PRA_MIN_IFG, 0, 0x0004},
+ {CS4321_RADJ_INGRESS_TX_PRA_SETTLE, 0, 0x0000},
+ {CS4321_RADJ_INGRESS_MISC_RESET, 0, 0x0000},
+
+ {CS4321_GLOBAL_INGRESS_SOFT_RESET, 0, 0x0002},
+ {CS4321_GLOBAL_INGRESS_SOFT_RESET, 0, 0x0000},
+ {CS4321_RADJ_INGRESS_MISC_RESET, 0, 0x0000},
+
+ {CS4321_PM_CTRL, 0, 0x0000},
+ {CS4321_HIF_COMMON_TXCONTROL3, 0, 0x0010},
+
+ {CS4321_MSEQ_POWER_DOWN_LSB, 0, 0xe01f},
+
+ {0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_dpath_egress_rxaui_pcs_ra[] = {
+ /* Set tx_fen_xgpcs, fen_radj */
+ {CS4321_GLOBAL_EGRESS_FUNCEN, ~0x0180, 0x0180},
+ /* Set rx_en_hif, rx_en_radj*/
+ {CS4321_GLOBAL_EGRESS_CLKEN, ~0x0120, 0x0120},
+ /* Set tx_en_radj, tx_en_xgpcs*/
+ {CS4321_GLOBAL_EGRESS_CLKEN2, ~0x0021, 0x0021},
+
+ {CS4321_GLOBAL_HOST_MULTILANE_CLKSEL, 0, 0x8000},
+ {CS4321_GLOBAL_HOST_MULTILANE_FUNCEN, 0, 0x0006},
+
+ {CS4321_GLOBAL_REF_SOFT_RESET, 0, 0xffff},
+ {CS4321_GLOBAL_REF_SOFT_RESET, 0, 0x0000},
+ /* MPIF DeAssert Egress Reset */
+ {CS4321_GLOBAL_MPIF_RESET_DOTREG, ~0x0002, 0},
+
+ {CS4321_XGMAC_LINE_TX_CFG_COM, 0, 0xc000},
+ {CS4321_XGMAC_LINE_TX_CFG_TX_IFG, 0, 0x0005},
+ {CS4321_XGPCS_LINE_TX_TXCNTRL, 0, 0x0000},
+ {CS4321_XGRS_LINE_TX_TXCNTRL, 0, 0xc000},
+
+ {CS4321_RADJ_EGRESS_RX_NRA_MIN_IFG, 0, 0x0004},
+ {CS4321_RADJ_EGRESS_RX_NRA_SETTLE, 0, 0x0000},
+ {CS4321_RADJ_EGRESS_TX_ADD_FILL_CTRL, 0, 0xf001},
+ {CS4321_RADJ_EGRESS_TX_ADD_FILL_DATA0, 0, 0x0707},
+ {CS4321_RADJ_EGRESS_TX_ADD_FILL_DATA1, 0, 0x0707},
+ {CS4321_RADJ_EGRESS_TX_PRA_MIN_IFG, 0, 0x0004},
+ {CS4321_RADJ_EGRESS_TX_PRA_SETTLE, 0, 0x0000},
+ {CS4321_RADJ_EGRESS_MISC_RESET, 0, 0x0000},
+
+ {CS4321_PM_CTRL, 0, 0x0000},
+ {CS4321_HIF_COMMON_TXCONTROL3, 0, 0x0010},
+ {CS4321_MSEQ_POWER_DOWN_LSB, 0, 0xe01f},
+ {0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_global_timer_156_25[] = {
+ {CS4321_GLOBAL_GT_10KHZ_REF_CLK_CNT0, 0, 15625},
+ {CS4321_GLOBAL_GT_10KHZ_REF_CLK_CNT1, 0, 0},
+ {0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_mac_latency[] = {
+ {CS4321_MAC_LAT_CTRL_CONFIG, 0, 0},
+ {0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_ref_clk_src_xaui_rxaui[] = {
+ /* Set edc_stxp_lptime_sel = 1, edc_stxp_pilot_sel = 7 */
+ {CS4321_GLOBAL_MISC_CONFIG, (u16)~0xe700, 0x2700},
+ /* Set STXP_PILOT_SEL = 7, STXP_LPTIME_SEL = 1 */
+ {CS4321_LINE_SDS_COMMON_STXP0_TX_CONFIG, (u16)~0xe700, 0x2700},
+ {0}
+};
+
+
+static const struct cs4321_reg_modify cs4321_init_polarity_inv[] = {
+ /* Inversion disabled*/
+ /* config the slice not to invert polarity on egress */
+ {CS4321_HOST_SDS_COMMON_SRX0_RX_CONFIG, ~0x0800, 0},
+ /* config the slice not to invert polarity on ingress */
+ {CS4321_MSEQ_ENABLE_MSB, ~0x4000, 0},
+ {0}
+};
+
+#if 0
+static const struct cs4321_reg_modify cs4321_hsif_elec_mode_set_cx1_pre[] = {
+ /* Stop the micro-sequencer */
+ {CS4321_GLOBAL_MSEQCLKCTRL, 0, 0x8004},
+ {CS4321_MSEQ_OPTIONS, 0, 0xf},
+ {CS4321_MSEQ_PC, 0, 0x0},
+
+ {CS4321_MSEQ_COEF_DSP_DRIVE128, 0, 0x0114},
+ {CS4321_MSEQ_COEF_INIT_SEL, 0, 0x0004},
+ {CS4321_MSEQ_LEAK_INTERVAL_FFE, 0, 0x8010},
+ {CS4321_MSEQ_BANKSELECT, 0, 0x2},
+ {CS4321_LINE_SDS_COMMON_SRX0_RX_CPA, 0, 0x55},
+ {CS4321_LINE_SDS_COMMON_SRX0_RX_LOOP_FILTER, 0, 0x3},
+ {CS4321_DSP_SDS_SERDES_SRX_DFE0_SELECT, 0, 0x1},
+ {CS4321_DSP_SDS_DSP_COEF_DFE0_SELECT, 0, 0x2},
+ {CS4321_LINE_SDS_COMMON_SRX0_RX_CPB, 0, 0x2003},
+ {CS4321_DSP_SDS_SERDES_SRX_FFE_DELAY_CTRL, 0, 0xF047},
+ {CS4321_MSEQ_RESET_COUNT_LSB, 0, 0x0},
+ /* enable power savings, ignore optical module LOS */
+ {CS4321_MSEQ_SPARE2_LSB, 0, 0x5},
+
+ {CS4321_MSEQ_SPARE9_LSB, 0, 0x5},
+
+ {CS4321_MSEQ_CAL_RX_PHSEL, 0, 0x23},
+ {CS4321_DSP_SDS_DSP_COEF_LARGE_LEAK, 0, 0x2},
+ {CS4321_DSP_SDS_SERDES_SRX_DAC_ENABLEB_LSB, 0, 0x5000},
+ {CS4321_MSEQ_POWER_DOWN_LSB, 0, 0xFFFF},
+ {CS4321_MSEQ_POWER_DOWN_MSB, 0, 0x0},
+ {CS4321_MSEQ_CAL_RX_SLICER, 0, 0x80},
+ {CS4321_LINE_SDS_COMMON_SRX0_RX_SPARE, 0, 0xE0E0},
+ {CS4321_DSP_SDS_SERDES_SRX_DAC_BIAS_SELECT1_MSB, 0, 0xff},
+
+ {CS4321_MSEQ_SERDES_PARAM_LSB, 0, 0x0603},
+ {CS4321_MSEQ_SPARE11_LSB, 0, 0x0603},
+
+
+ {0}
+};
+
+static const struct cs4321_reg_modify cs4321_hsif_elec_mode_set_cx1_2in[] = {
+ {CS4321_MSEQ_SPARE15_LSB, 0, 0x0603},
+ {CS4321_MSEQ_SPARE21_LSB, 0, 0xE},
+ {CS4321_MSEQ_SPARE23_LSB, 0, 0x0},
+ {CS4321_MSEQ_CAL_RX_DFE_EQ, 0, 0x3},
+ {0}
+};
+
+static const struct cs4321_reg_modify cs4321_hsif_elec_mode_set_cx1_post[] = {
+ /* Restart the micro-sequencer */
+ {CS4321_GLOBAL_MSEQCLKCTRL, 0, 0x4},
+ {CS4321_MSEQ_OPTIONS, 0, 0x7},
+ {0}
+};
+#endif
+
+static const struct cs4321_reg_modify cs4321_hsif_elec_mode_set_sr_pre[] = {
+ /* Stop the micro-sequencer */
+ {CS4321_GLOBAL_MSEQCLKCTRL, 0, 0x8004},
+ {CS4321_MSEQ_OPTIONS, 0, 0xf},
+ {CS4321_MSEQ_PC, 0, 0x0},
+
+ /* Configure the micro-sequencer for an SR transceiver */
+ {CS4321_MSEQ_COEF_DSP_DRIVE128, 0, 0x0134},
+ {CS4321_MSEQ_COEF_INIT_SEL, 0, 0x0006},
+ {CS4321_MSEQ_LEAK_INTERVAL_FFE, 0, 0x8010},
+ {CS4321_MSEQ_BANKSELECT, 0, 0x0},
+ {CS4321_LINE_SDS_COMMON_SRX0_RX_CPA, 0, 0x55},
+ {CS4321_LINE_SDS_COMMON_SRX0_RX_LOOP_FILTER, 0, 0x3},
+ {CS4321_DSP_SDS_SERDES_SRX_DFE0_SELECT, 0, 0x1},
+ {CS4321_DSP_SDS_DSP_COEF_DFE0_SELECT, 0, 0x2},
+ {CS4321_LINE_SDS_COMMON_SRX0_RX_CPB, 0, 0x2003},
+ {CS4321_DSP_SDS_SERDES_SRX_FFE_DELAY_CTRL, 0, 0xF048},
+
+ {CS4321_MSEQ_RESET_COUNT_LSB, 0, 0x0},
+ /* enable power savings, ignore */
+ {CS4321_MSEQ_SPARE2_LSB, 0, 0x5},
+
+ {CS4321_MSEQ_SPARE9_LSB, 0, 0x5},
+
+ {CS4321_MSEQ_CAL_RX_PHSEL, 0, 0x1e},
+ {CS4321_DSP_SDS_DSP_COEF_LARGE_LEAK, 0, 0x2},
+ {CS4321_DSP_SDS_SERDES_SRX_DAC_ENABLEB_LSB, 0, 0xD000},
+ {CS4321_MSEQ_POWER_DOWN_LSB, 0, 0xFFFF},
+ {CS4321_MSEQ_POWER_DOWN_MSB, 0, 0x0},
+ {CS4321_MSEQ_CAL_RX_SLICER, 0, 0x80},
+ {CS4321_LINE_SDS_COMMON_SRX0_RX_SPARE, 0, 0xE0E0},
+ {CS4321_DSP_SDS_SERDES_SRX_DAC_BIAS_SELECT1_MSB, 0, 0xff},
+
+ /* Setup the trace lengths for the micro-sequencer */
+ {CS4321_MSEQ_SERDES_PARAM_LSB, 0, 0x0603},
+
+ {0}
+};
+
+static const struct cs4321_reg_modify cs4321_hsif_elec_mode_set_sr_2in[] = {
+ {CS4321_MSEQ_CAL_RX_EQADJ, 0, 0x0},
+ {0}
+};
+
+static const struct cs4321_reg_modify cs4321_hsif_elec_mode_set_sr_post[] = {
+ {CS4321_MSEQ_CAL_RX_DFE_EQ, 0, 0x0},
+ /* Restart the micro-sequencer */
+ {CS4321_GLOBAL_MSEQCLKCTRL, 0, 0x4},
+ {CS4321_MSEQ_OPTIONS, 0, 0x7},
+ {0}
+};
+
+static const struct cs4321_reg_modify cs4321_resync_vcos_xaui_rxaui[] = {
+ {CS4321_HOST_SDS_COMMON_RXVCO0_CONTROL, (u16)~0x8000, 0x8000},
+ {CS4321_HOST_SDS_COMMON_RXVCO0_CONTROL, (u16)~0x8000, 0},
+
+ {CS4321_HOST_SDS_COMMON_TXVCO0_CONTROL, (u16)~0x8000, 0x8000},
+ {CS4321_HOST_SDS_COMMON_TXVCO0_CONTROL, (u16)~0x8000, 0},
+
+ {CS4321_LINE_SDS_COMMON_RXVCO0_CONTROL, (u16)~0x8000, 0x8000},
+ {CS4321_LINE_SDS_COMMON_RXVCO0_CONTROL, (u16)~0x8000, 0},
+
+ {CS4321_LINE_SDS_COMMON_TXVCO0_CONTROL, (u16)~0x8000, 0x8000},
+ {CS4321_LINE_SDS_COMMON_TXVCO0_CONTROL, (u16)~0x8000, 0},
+
+ {CS4321_HOST_ML_SDS_COMMON_RXVCO0_CONTROL, (u16)~0x8000, 0x8000},
+ {CS4321_HOST_ML_SDS_COMMON_RXVCO0_CONTROL, (u16)~0x8000, 0},
+
+ {CS4321_HOST_ML_SDS_COMMON_TXVCO0_CONTROL, (u16)~0x8000, 0x8000},
+ {CS4321_HOST_ML_SDS_COMMON_TXVCO0_CONTROL, (u16)~0x8000, 0},
+
+ {0}
+};
+
+static const struct cs4321_reg_modify cs4321_toggle_resets_xaui_rxaui[] = {
+ {CS4321_HOST_ML_SDS_COMMON_SRX0_RX_CONFIG, ~0x0020, 0},
+ {CS4321_HOST_ML_SDS_COMMON_STXP0_TX_PWRDN, ~0x0100, 0},
+
+ /*
+ * Now that the device is configured toggle the ingress and
+ * egress soft resets to make sure the device re-syncs
+ * properly.
+ */
+ {CS4321_GLOBAL_INGRESS_SOFT_RESET, 0, 0x3},
+ {CS4321_GLOBAL_EGRESS_SOFT_RESET, 0, 0x3},
+ {CS4321_GLOBAL_INGRESS_SOFT_RESET, 0, 0x0000},
+ {CS4321_GLOBAL_EGRESS_SOFT_RESET, 0, 0x0000},
+
+ {0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_xaui_egress[] = {
+ {CS4321_LINE_SDS_COMMON_STX0_TX_CONFIG_LOCAL_TIMING, 0, 0x0001},
+ {CS4321_LINE_SDS_COMMON_STXP0_TX_CLKOUT_CTRL, 0, 0x0864},
+ {CS4321_LINE_SDS_COMMON_STXP0_TX_LOOP_FILTER, 0, 0x0027},
+ {CS4321_LINE_SDS_COMMON_STXP0_TX_PWRDN, 0, 0x0000},
+
+ {CS4321_HOST_SDS_COMMON_SRX0_RX_CLKDIV_CTRL, 0, 0x45d2},
+ {CS4321_HOST_SDS_COMMON_SRX0_RX_CLKOUT_CTRL, 0, 0x6a03},
+ {CS4321_HOST_SDS_COMMON_SRX0_RX_CONFIG, 0, 0x000c},
+ {CS4321_HOST_ML_SDS_COMMON_SRX0_RX_CLKDIV_CTRL, 0, 0x412d},
+ {CS4321_HOST_ML_SDS_COMMON_SRX0_RX_CONFIG, 0, 0x000c},
+
+ {CS4321_LINE_SDS_COMMON_STX0_TX_CONFIG_LOCAL_TIMING, 0, 0x0001},
+ {CS4321_LINE_SDS_COMMON_STXP0_TX_CLKOUT_CTRL, 0, 0x0864},
+ {CS4321_LINE_SDS_COMMON_STXP0_TX_LOOP_FILTER, 0, 0x0027},
+ {CS4321_LINE_SDS_COMMON_STXP0_TX_PWRDN, 0, 0x0000},
+
+ {CS4321_GLOBAL_INGRESS_SOFT_RESET, 0, 0x0003},
+ {CS4321_GLOBAL_EGRESS_SOFT_RESET, 0, 0xffff},
+ {CS4321_GLOBAL_INGRESS_SOFT_RESET, 0, 0x0000},
+ {CS4321_GLOBAL_EGRESS_SOFT_RESET, 0, 0x0000},
+ {CS4321_GLOBAL_REF_SOFT_RESET, 0, 0xffff},
+ {CS4321_GLOBAL_REF_SOFT_RESET, 0, 0x0000},
+ {0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_xaui_ingress[] = {
+ {CS4321_LINE_SDS_COMMON_SRX0_RX_CONFIG, 0, 0x0000},
+ {CS4321_LINE_SDS_COMMON_SRX0_RX_CPA, 0, 0x0057},
+ {CS4321_LINE_SDS_COMMON_SRX0_RX_LOOP_FILTER, 0, 0x0007},
+
+ {CS4321_HOST_SDS_COMMON_STX0_TX_CONFIG_LOCAL_TIMING, 0, 0x0001},
+ {CS4321_HOST_SDS_COMMON_STXP0_TX_CLKDIV_CTRL, 0, 0x4492},
+ {CS4321_HOST_SDS_COMMON_STXP0_TX_CLKOUT_CTRL, 0, 0x1864},
+ {CS4321_HOST_SDS_COMMON_STXP0_TX_CONFIG, 0, 0x090c},
+ {CS4321_HOST_SDS_COMMON_STXP0_TX_PWRDN, 0, 0x0000},
+ {CS4321_HOST_ML_SDS_COMMON_STXP0_TX_CLKDIV_CTRL, 0, 0x4429},
+ {CS4321_HOST_ML_SDS_COMMON_STXP0_TX_CONFIG, 0, 0x090c},
+
+ {CS4321_LINE_SDS_COMMON_SRX0_RX_CONFIG, 0, 0x0000},
+ {CS4321_LINE_SDS_COMMON_SRX0_RX_CPA, 0, 0x0057},
+ {CS4321_LINE_SDS_COMMON_SRX0_RX_LOOP_FILTER, 0, 0x0007},
+
+ {CS4321_GLOBAL_INGRESS_SOFT_RESET, 0, 0x0003},
+ {CS4321_GLOBAL_EGRESS_SOFT_RESET, 0, 0xffff},
+ {CS4321_GLOBAL_INGRESS_SOFT_RESET, 0, 0x0000},
+ {CS4321_GLOBAL_EGRESS_SOFT_RESET, 0, 0x0000},
+ {CS4321_GLOBAL_REF_SOFT_RESET, 0, 0xffff},
+ {CS4321_GLOBAL_REF_SOFT_RESET, 0, 0x0000},
+ {0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_dpath_xaui_pcs_ra_ingress_1[] = {
+ {CS4321_GLOBAL_INGRESS_SOFT_RESET, 0, 0x0002},
+ {CS4321_GLOBAL_INGRESS_SOFT_RESET, 0, 0x0000},
+ {CS4321_HOST_SDS_COMMON_STXP0_TX_PWRDN, 0, 0x0000},
+ {0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_dpath_xaui_pcs_ra_2e[] = {
+ {CS4321_GLOBAL_HOST_MULTILANE_CLKSEL, 0, 0x8000},
+ {0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_dpath_xaui_pcs_ra_2o[] = {
+ {CS4321_GLOBAL_HOST_MULTILANE_CLKSEL, 0, 0x8300},
+ {0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_dpath_xaui_pcs_ra_ingress_3[] = {
+ /* Set the device in XAUI mode */
+ {CS4321_GLOBAL_HOST_MULTILANE_FUNCEN, 0, 0x0005},
+
+ /* Enable the XGPCS and the Rate Adjust block */
+ /* Set fen_radj, rx_fen_xgpcs */
+ {CS4321_GLOBAL_INGRESS_FUNCEN, ~0x0081, 0x0081},
+
+ /* Setup the clock enables for the XGPCS and Rate Adjust block */
+ /* Set rx_en_radj, rx_en_xgpcs */
+ {CS4321_GLOBAL_INGRESS_CLKEN, ~0x0021, 0x0021},
+
+ /* Setup the clock enables for the HIF and the Rate Adjust block */
+ /* Set tx_en_hif, tx_en_radj */
+ {CS4321_GLOBAL_INGRESS_CLKEN2, ~0x0120, 0x0120},
+
+ {CS4321_GLOBAL_REF_SOFT_RESET, 0, 0xffff},
+ {CS4321_GLOBAL_REF_SOFT_RESET, 0, 0x0000},
+ /* MPIF DeAssert Ingress Reset */
+ {CS4321_GLOBAL_MPIF_RESET_DOTREG, ~0x0004, 0},
+
+ {0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_dpath_xaui_pcs_ra_ingress_4e[] = {
+ {CS4321_XGMAC_LINE_RX_CFG_COM, 0, 0x8010},
+ {0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_dpath_xaui_pcs_ra_ingress_4o[] = {
+ {0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_dpath_xaui_pcs_ra_ingress_5[] = {
+ {CS4321_XGMAC_HOST_TX_CFG_TX_IFG, 0, 0x0005},
+ {CS4321_XGPCS_LINE_RX_RXCNTRL, 0, 0x5000},
+ {CS4321_XGRS_HOST_TX_TXCNTRL, 0, 0xc000},
+ {CS4321_GIGEPCS_LINE_CONTROL, 0, 0x0000},
+ {CS4321_GIGEPCS_HOST_CONTROL, 0, 0x0000},
+
+ {CS4321_RADJ_INGRESS_RX_NRA_MIN_IFG, 0, 0x0004},
+ {CS4321_RADJ_INGRESS_RX_NRA_SETTLE, 0, 0x0000},
+ {CS4321_RADJ_INGRESS_TX_ADD_FILL_CTRL, 0, 0xf001},
+ {CS4321_RADJ_INGRESS_TX_ADD_FILL_DATA0, 0, 0x0707},
+ {CS4321_RADJ_INGRESS_TX_ADD_FILL_DATA1, 0, 0x0707},
+ {CS4321_RADJ_INGRESS_TX_PRA_MIN_IFG, 0, 0x0004},
+ {CS4321_RADJ_INGRESS_TX_PRA_SETTLE, 0, 0x0000},
+ {CS4321_RADJ_INGRESS_MISC_RESET, 0, 0x0000},
+ {CS4321_PM_CTRL, 0, 0x0002},
+ {0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_dpath_xaui_pcs_ra_6e[] = {
+ {CS4321_HIF_COMMON_TXCONTROL3, 0, 0x0010},
+ {0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_dpath_xaui_pcs_ra_6o[] = {
+ {CS4321_HIF_COMMON_TXCONTROL3, 0, 0x0011},
+ {0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_dpath_xaui_pcs_ra_egress_1[] = {
+ {CS4321_GLOBAL_EGRESS_SOFT_RESET, 0, 0x1},
+ {CS4321_GLOBAL_EGRESS_SOFT_RESET, 0, 0x0000},
+ {CS4321_LINE_SDS_COMMON_STXP0_TX_PWRDN, 0, 0x0000},
+
+ {0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_dpath_xaui_pcs_ra_egress_3[] = {
+ /* Set the device in XAUI mode */
+ {CS4321_GLOBAL_HOST_MULTILANE_FUNCEN, 0x0005},
+
+ /* Enable the XGPCS and the Rate Adjust block */
+ /* Set tx_fen_xgpcs, fen_radj */
+ {CS4321_GLOBAL_EGRESS_FUNCEN, ~0x0180, 0x0180},
+
+ /* Setup the clock enables for the HIF and the Rate Adjust block */
+ /* Set rx_en_hif, rx_en_radj */
+ {CS4321_GLOBAL_EGRESS_CLKEN, ~0x0120, 0x0120},
+
+ /* Setup the clock enables for the XGPCS and Rate Adjust block */
+ /* Set tx_en_radj, tx_en_xgpcs */
+ {CS4321_GLOBAL_EGRESS_CLKEN2, ~0x0021, 0x0021},
+
+ {CS4321_GLOBAL_REF_SOFT_RESET, 0xffff},
+ {CS4321_GLOBAL_REF_SOFT_RESET, 0x0000},
+
+ /* MPIF DeAssert Egress Reset */
+ {CS4321_GLOBAL_MPIF_RESET_DOTREG, ~0x0002, 0},
+
+ {0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_dpath_xaui_pcs_ra_egress_4e[] = {
+ {0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_dpath_xaui_pcs_ra_egress_4o[] = {
+ {CS4321_XGMAC_LINE_TX_CFG_COM, 0, 0xc000},
+ {0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_dpath_xaui_pcs_ra_egress_5[] = {
+ {CS4321_XGMAC_LINE_TX_CFG_TX_IFG, 0, 0x0005},
+ {CS4321_XGPCS_LINE_TX_TXCNTRL, 0, 0x0000},
+ {CS4321_XGRS_LINE_TX_TXCNTRL, 0, 0xc000},
+
+ {CS4321_RADJ_EGRESS_RX_NRA_MIN_IFG, 0, 0x0004},
+ {CS4321_RADJ_EGRESS_RX_NRA_SETTLE, 0, 0x0000},
+ {CS4321_RADJ_EGRESS_TX_ADD_FILL_CTRL, 0, 0xf001},
+ {CS4321_RADJ_EGRESS_TX_ADD_FILL_DATA0, 0, 0x0707},
+ {CS4321_RADJ_EGRESS_TX_ADD_FILL_DATA1, 0, 0x0707},
+ {CS4321_RADJ_EGRESS_TX_PRA_MIN_IFG, 0, 0x0004},
+ {CS4321_RADJ_EGRESS_TX_PRA_SETTLE, 0, 0x0000},
+ {CS4321_RADJ_EGRESS_MISC_RESET, 0, 0x0000},
+ {CS4321_PM_CTRL, 0, 0x0002},
+ {0}
+};
+
+const struct cs4321_multi_seq cs4321_init_rxaui_seq[] = {
+ {0, cs4321_init_prefix_seq},
+ {0, cs4321_init_egress_local_timing_rxaui},
+ {0, cs4321_init_ingress_local_timing_rxaui},
+ {0, cs4321_init_dpath_ingress_rxaui_pcs_ra},
+ {0, cs4321_init_dpath_egress_rxaui_pcs_ra},
+ {0, cs4321_resync_vcos_xaui_rxaui},
+ {0, cs4321_toggle_resets_xaui_rxaui},
+ {0, cs4321_hsif_elec_mode_set_sr_pre},
+ {0, cs4321_hsif_elec_mode_set_sr_2in},
+ {0, cs4321_hsif_elec_mode_set_sr_post},
+ {0, cs4321_init_global_timer_156_25},
+ {0, cs4321_init_mac_latency},
+ {0, cs4321_init_ref_clk_src_xaui_rxaui},
+ {0, cs4321_init_polarity_inv},
+
+ {0, NULL}
+};
+
+const struct cs4321_multi_seq cs4321_init_xaui_seq[] = {
+ {0, cs4321_init_prefix_seq},
+ /* Init egress even and odd */
+ {0, cs4321_init_xaui_egress},
+ {1, cs4321_init_xaui_egress},
+
+ /* Init ingress even and odd */
+ {0, cs4321_init_xaui_ingress},
+ {1, cs4321_init_xaui_ingress},
+
+ /* dpath ingress even and odd */
+ {0, cs4321_init_dpath_xaui_pcs_ra_ingress_1},
+ {0, cs4321_init_dpath_xaui_pcs_ra_2e},
+ {0, cs4321_init_dpath_xaui_pcs_ra_ingress_3},
+ {0, cs4321_init_dpath_xaui_pcs_ra_ingress_4e},
+ {0, cs4321_init_dpath_xaui_pcs_ra_ingress_5},
+ {0, cs4321_init_dpath_xaui_pcs_ra_6e},
+
+
+ {1, cs4321_init_dpath_xaui_pcs_ra_ingress_1},
+ {1, cs4321_init_dpath_xaui_pcs_ra_2o},
+ {1, cs4321_init_dpath_xaui_pcs_ra_ingress_3},
+ {1, cs4321_init_dpath_xaui_pcs_ra_ingress_4o},
+ {1, cs4321_init_dpath_xaui_pcs_ra_ingress_5},
+ {1, cs4321_init_dpath_xaui_pcs_ra_6o},
+
+ /* dpath egress even and odd */
+ {0, cs4321_init_dpath_xaui_pcs_ra_egress_1},
+ {0, cs4321_init_dpath_xaui_pcs_ra_2e},
+ {0, cs4321_init_dpath_xaui_pcs_ra_egress_3},
+ {0, cs4321_init_dpath_xaui_pcs_ra_egress_4e},
+ {0, cs4321_init_dpath_xaui_pcs_ra_egress_5},
+ {0, cs4321_init_dpath_xaui_pcs_ra_6e},
+
+ {1, cs4321_init_dpath_xaui_pcs_ra_egress_1},
+ {1, cs4321_init_dpath_xaui_pcs_ra_2o},
+ {1, cs4321_init_dpath_xaui_pcs_ra_egress_3},
+ {1, cs4321_init_dpath_xaui_pcs_ra_egress_4o},
+ {1, cs4321_init_dpath_xaui_pcs_ra_egress_5},
+ {1, cs4321_init_dpath_xaui_pcs_ra_6o},
+
+ /* power down the odd slice's line side */
+ {1, cs4321_init_line_power_down},
+
+ {0, cs4321_resync_vcos_xaui_rxaui},
+ {0, cs4321_toggle_resets_xaui_rxaui},
+ {0, cs4321_hsif_elec_mode_set_sr_pre},
+ {0, cs4321_hsif_elec_mode_set_sr_2in},
+ {0, cs4321_hsif_elec_mode_set_sr_post},
+ {0, cs4321_init_global_timer_156_25},
+ {0, cs4321_init_mac_latency},
+ {0, cs4321_init_ref_clk_src_xaui_rxaui},
+ {0, cs4321_init_polarity_inv},
+
+ {0, NULL}
+};
+
+static int cs4321_phy_read_x(struct phy_device *phydev, int off, u16 regnum)
+{
+ return mdiobus_read(phydev->bus, phydev->addr + off,
+ MII_ADDR_C45 | regnum);
+}
+
+static int cs4321_phy_write_x(struct phy_device *phydev, int off,
+ u16 regnum, u16 val)
+{
+ return mdiobus_write(phydev->bus, phydev->addr + off,
+ MII_ADDR_C45 | regnum, val);
+}
+static int cs4321_phy_read(struct phy_device *phydev, u16 regnum)
+{
+ return cs4321_phy_read_x(phydev, 0, regnum);
+}
+
+static int cs4321_phy_write(struct phy_device *phydev, u16 regnum, u16 val)
+{
+ return cs4321_phy_write_x(phydev, 0, regnum, val);
+}
+
+static int cs4321_write_seq_x(struct phy_device *phydev, int off,
+ const struct cs4321_reg_modify *seq)
+{
+ int last_reg = -1;
+ int last_val = 0;
+ int ret = 0;
+
+ while (seq->reg) {
+ if (seq->mask_bits) {
+ if (last_reg != seq->reg) {
+ ret = cs4321_phy_read_x(phydev, off, seq->reg);
+ if (ret < 0)
+ goto err;
+ last_val = ret;
+ }
+ last_val &= seq->mask_bits;
+ } else {
+ last_val = 0;
+ }
+ last_val |= seq->set_bits;
+ ret = cs4321_phy_write_x(phydev, off, seq->reg, last_val);
+ if (ret < 0)
+ goto err;
+ seq++;
+ }
+err:
+ return ret;
+}
+
+static int cs4321_write_multi_seq(struct phy_device *phydev,
+ const struct cs4321_multi_seq *m)
+{
+ int ret = 0;
+
+ while (m->seq) {
+ ret = cs4321_write_seq_x(phydev, m->reg_offset, m->seq);
+ if (ret)
+ goto err;
+ m++;
+ }
+
+err:
+ return ret;
+}
+
+static int cs4321_write_seq(struct phy_device *phydev,
+ const struct cs4321_reg_modify *seq)
+{
+ return cs4321_write_seq_x(phydev, 0, seq);
+}
+
+static int cs4321_write_multi_reg(struct phy_device *phydev, u16 *dat, int cnt)
+{
+ int i;
+ int ret = 0;
+ for (i = 0; i < (cnt * 2); i += 2) {
+ u16 reg = dat[i];
+ u16 val = dat[i + 1];
+ ret = cs4321_phy_write(phydev, reg, val);
+ if (ret)
+ break;
+ }
+ return ret;
+}
+
+static int cs4321_write_microcode_slice(struct phy_device *phydev, int s)
+{
+ int i;
+ int ret;
+
+ ret = cs4321_phy_write(phydev, 0x024f, s);
+ if (ret)
+ return ret;
+
+ for (i = 0; i < 512; i++) {
+ ret = cs4321_phy_write(phydev,
+ 0x0201,
+ cs4321_microcode_slices[s][2 * i + 0]);
+ if (ret)
+ return ret;
+
+ ret = cs4321_phy_write(phydev,
+ 0x0202,
+ cs4321_microcode_slices[s][2 * i + 1]);
+ if (ret)
+ return ret;
+ ret = cs4321_phy_write(phydev, 0x0200, 0x9000 + i);
+ if (ret)
+ return ret;
+ }
+ return 0;
+}
+
+static int cs4321_write_microcode(struct phy_device *phydev)
+{
+ int i;
+ int ret;
+
+ ret = cs4321_write_multi_reg(phydev,
+ cs4321_microcode_prolog,
+ ARRAY_SIZE(cs4321_microcode_prolog) / 2);
+ if (ret)
+ return ret;
+
+ for (i = 0; i < 8; i++) {
+ ret = cs4321_write_microcode_slice(phydev, i);
+ if (ret)
+ return ret;
+ }
+ ret = cs4321_write_multi_reg(phydev,
+ cs4321_microcode_epilog,
+ ARRAY_SIZE(cs4321_microcode_epilog) / 2);
+ return ret;
+}
+
+static int cs4321_reset(struct phy_device *phydev)
+{
+ int ret;
+ int retry;
+
+ ret = cs4321_phy_write(phydev, CS4321_GLOBAL_MPIF_SOFT_RESET, 0xdead);
+ if (ret)
+ goto err;
+
+ msleep(100);
+
+ /* Disable eeprom loading */
+ ret = cs4321_phy_write(phydev, CS4321_EEPROM_LOADER_CONTROL, 2);
+ if (ret)
+ goto err;
+
+ retry = 0;
+ do {
+ if (retry > 0)
+ mdelay(1);
+ ret = cs4321_phy_read(phydev, CS4321_EEPROM_LOADER_STATUS);
+ if (ret < 0)
+ goto err;
+ retry++;
+ } while ((ret & 4) == 0 && retry < 10);
+
+ if ((ret & 4) == 0) {
+ ret = -ENXIO;
+ goto err;
+ }
+
+ ret = cs4321_write_seq(phydev, cs4321_soft_reset_registers);
+ if (ret)
+ goto err;
+
+ ret = cs4321_write_microcode(phydev);
+ if (ret)
+ goto err;
+
+
+ ret = cs4321_write_seq(phydev, cs4321_68xx_4_nic_init);
+ if (ret)
+ goto err;
+
+err:
+ return ret;
+}
+
+int cs4321_init_rxaui(struct phy_device *phydev)
+{
+ return cs4321_write_multi_seq(phydev,
+ cs4321_init_rxaui_seq);
+}
+
+int cs4321_init_xaui(struct phy_device *phydev)
+{
+ return cs4321_write_multi_seq(phydev,
+ cs4321_init_xaui_seq);
+
+}
+
+int cs4321_config_init(struct phy_device *phydev)
+{
+ int ret;
+ struct cs4321_private *p = phydev->priv;
+ const struct cs4321_multi_seq *init_seq;
+
+ ret = cs4321_reset(phydev);
+ if (ret)
+ goto err;
+
+ init_seq = (p->mode == XAUI) ?
+ cs4321_init_xaui_seq : cs4321_init_rxaui_seq;
+
+ ret = cs4321_write_multi_seq(phydev, init_seq);
+
+ phydev->state = PHY_NOLINK;
+
+err:
+ return ret;
+}
+
+int cs4321_probe(struct phy_device *phydev)
+{
+ int ret = 0;
+ int id_lsb, id_msb;
+ enum cs4321_host_mode host_mode;
+ const char *prop_val;
+ struct cs4321_private *p;
+ /*
+ * CS4312 keeps its ID values in non-standard registers, make
+ * sure we are talking to what we think we are.
+ */
+ id_lsb = cs4321_phy_read(phydev, CS4321_GLOBAL_CHIP_ID_LSB);
+ if (id_lsb < 0) {
+ ret = id_lsb;
+ goto err;
+ }
+
+ id_msb = cs4321_phy_read(phydev, CS4321_GLOBAL_CHIP_ID_MSB);
+ if (id_msb < 0) {
+ ret = id_msb;
+ goto err;
+ }
+
+ if (id_lsb != 0x23E5 || id_msb != 0x1002) {
+ ret = -ENODEV;
+ goto err;
+ }
+ ret = of_property_read_string(phydev->dev.of_node,
+ "cortina,host-mode", &prop_val);
+ if (ret)
+ goto err;
+
+ if (strcmp(prop_val, "rxaui") == 0)
+ host_mode = RXAUI;
+ else if (strcmp(prop_val, "xaui") == 0)
+ host_mode = XAUI;
+ else {
+ dev_err(&phydev->dev,
+ "Invalid \"cortina,host-mode\" property: \"%s\"\n",
+ prop_val);
+ ret = -EINVAL;
+ goto err;
+ }
+ p = devm_kzalloc(&phydev->dev, sizeof(*p), GFP_KERNEL);
+ if (!p) {
+ ret = -ENOMEM;
+ goto err;
+ }
+ p->mode = host_mode;
+ phydev->priv = p;
+err:
+ return ret;
+}
+
+int cs4321_config_aneg(struct phy_device *phydev)
+{
+ return -EINVAL;
+}
+
+int cs4321_read_status(struct phy_device *phydev)
+{
+ int gpio_int_status;
+ int ret = 0;
+
+ gpio_int_status = cs4321_phy_read(phydev, CS4321_GPIO_GPIO_INTS);
+ if (gpio_int_status < 0) {
+ ret = gpio_int_status;
+ goto err;
+ }
+ if (gpio_int_status & 0x8) {
+ /* Up when edc_convergedS set. */
+ phydev->speed = 10000;
+ phydev->duplex = 1;
+ phydev->link = 1;
+ } else {
+ phydev->link = 0;
+ }
+
+err:
+ return ret;
+}
+
+static struct of_device_id cs4321_match[] = {
+ {
+ .compatible = "cortina,cs4321",
+ },
+ {
+ .compatible = "cortina,cs4318",
+ },
+ {},
+};
+MODULE_DEVICE_TABLE(of, cs4321_match);
+
+static struct phy_driver cs4321_phy_driver = {
+ .phy_id = 0xffffffff,
+ .phy_id_mask = 0xffffffff,
+ .name = "Cortina CS4321",
+ .config_init = cs4321_config_init,
+ .probe = cs4321_probe,
+ .config_aneg = cs4321_config_aneg,
+ .read_status = cs4321_read_status,
+ .driver = {
+ .owner = THIS_MODULE,
+ .of_match_table = cs4321_match,
+ },
+};
+
+static int __init cs4321_drv_init(void)
+{
+ int ret;
+
+ ret = phy_driver_register(&cs4321_phy_driver);
+
+ return ret;
+}
+module_init(cs4321_drv_init);
+
+static void __exit cs4321_drv_exit(void)
+{
+ phy_driver_unregister(&cs4321_phy_driver);
+}
+module_exit(cs4321_drv_exit);
--
1.7.2.3

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/