Compare commits
20 Commits
master
...
mr12-ath9k
Author | SHA1 | Date | |
---|---|---|---|
8012017631 | |||
f721ba64d9 | |||
|
d8afae0be8 | ||
|
87efff6329 | ||
|
8cbd6f5117 | ||
|
9fe90e4e5a | ||
|
9877393fd1 | ||
|
14b9100f1c | ||
|
59fa9c28d6 | ||
|
38646938a4 | ||
|
6934d30cf8 | ||
|
08768b44d9 | ||
|
e95b1b23f1 | ||
|
dba76a85de | ||
|
3cc08b5702 | ||
|
7157c77c6d | ||
|
598b29585e | ||
|
c382fe857d | ||
|
670bfc86c8 | ||
|
ffa0ae17f7 |
@ -6,9 +6,9 @@ ifdef CONFIG_TESTING_KERNEL
|
||||
KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER)
|
||||
endif
|
||||
|
||||
LINUX_VERSION-5.4 = .96
|
||||
LINUX_VERSION-5.4 = .97
|
||||
|
||||
LINUX_KERNEL_HASH-5.4.96 = f728de695ec5eb17efa15acaecc48fcd7a6c4a912b51704ed137cccf93f9f5e0
|
||||
LINUX_KERNEL_HASH-5.4.97 = 71a866100a630fbc66d24770f932feb121dd764c0bb95a88c0a00e3cb629483f
|
||||
|
||||
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
|
||||
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
|
||||
|
@ -40,7 +40,9 @@ define Package/arm-trusted-firmware-mt7622/Default
|
||||
SECTION:=boot
|
||||
CATEGORY:=Boot Loaders
|
||||
TITLE:=ARM Trusted Firmware for MT7622
|
||||
DEPENDS:=@TARGET_mediatek_mt7622
|
||||
DEPENDS:=@TARGET_mediatek_mt7622 @BROKEN
|
||||
# wait until bromimage gets replace by static build
|
||||
# libcrypto.so.1.1: version `OPENSSL_1_1_1' not found (required by tools/mediatek/bromimage/bromimage)
|
||||
endef
|
||||
|
||||
define Package/arm-trusted-firmware-mt7622-nor
|
||||
|
@ -29,15 +29,14 @@ define Package/arm-trusted-firmware-tools
|
||||
BUILDONLY:=1
|
||||
endef
|
||||
|
||||
HOST_CFLAGS += -Wall -Werror -pedantic -std=c99
|
||||
define Host/Compile
|
||||
$(MAKE) -C \
|
||||
$(HOST_BUILD_DIR)/tools/fiptool \
|
||||
CFLAGS="$(HOST_CFLAGS)" \
|
||||
CPPFLAGS="$(HOST_CFLAGS)" \
|
||||
LDFLAGS="$(HOST_LDFLAGS)"
|
||||
$(MAKE) -C \
|
||||
$(HOST_BUILD_DIR)/tools/sptool \
|
||||
CFLAGS="$(HOST_CFLAGS)" \
|
||||
CPPFLAGS="$(HOST_CFLAGS)" \
|
||||
LDFLAGS="$(HOST_LDFLAGS)"
|
||||
endef
|
||||
|
||||
|
@ -0,0 +1,11 @@
|
||||
--- a/tools/fiptool/Makefile
|
||||
+++ b/tools/fiptool/Makefile
|
||||
@@ -38,7 +38,7 @@
|
||||
|
||||
${PROJECT}: ${OBJECTS} Makefile
|
||||
@echo " HOSTLD $@"
|
||||
- ${Q}${HOSTCC} ${OBJECTS} -o $@ ${LDLIBS}
|
||||
+ ${Q}${HOSTCC} ${OBJECTS} -o $@ ${LDLIBS} $(LDFLAGS)
|
||||
@${ECHO_BLANK_LINE}
|
||||
@echo "Built $@ successfully"
|
||||
@${ECHO_BLANK_LINE}
|
@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk
|
||||
include $(INCLUDE_DIR)/kernel.mk
|
||||
|
||||
PKG_NAME:=ltq-ptm
|
||||
PKG_RELEASE:=2
|
||||
PKG_RELEASE:=3
|
||||
|
||||
PKG_MAINTAINER:=John Crispin <john@phrozen.org>
|
||||
PKG_LICENSE:=GPL-2.0+
|
||||
|
@ -79,7 +79,18 @@ struct wan_tx_mib_table {
|
||||
|
||||
#if defined(__BIG_ENDIAN)
|
||||
|
||||
struct fw_ver_id {
|
||||
struct fw_ver_id_new { // @2000
|
||||
/* 0 - 3h */
|
||||
unsigned int family :4;
|
||||
unsigned int package :4;
|
||||
unsigned int major :8;
|
||||
unsigned int middle :8;
|
||||
unsigned int minor :8;
|
||||
/* 4 - 7h */
|
||||
unsigned int features :32;
|
||||
};
|
||||
|
||||
struct fw_ver_id { // @2001
|
||||
unsigned int family :4;
|
||||
unsigned int fwtype :4;
|
||||
unsigned int interface :4;
|
||||
|
@ -31,6 +31,7 @@
|
||||
/*
|
||||
* Host-PPE Communication Data Address Mapping
|
||||
*/
|
||||
#define FW_VER_ID_NEW ((volatile struct fw_ver_id_new *) SB_BUFFER(0x2000))
|
||||
#define FW_VER_ID ((volatile struct fw_ver_id *) SB_BUFFER(0x2001))
|
||||
#define CFG_STD_DATA_LEN ((volatile struct cfg_std_data_len *) SB_BUFFER(0x2011))
|
||||
#define TX_QOS_CFG ((volatile struct tx_qos_cfg *) SB_BUFFER(0x2012))
|
||||
|
@ -3,40 +3,38 @@
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
** FILE NAME : ppa_datapath_fw_vr9_e1.h
|
||||
** PROJECT : PPA
|
||||
** PLATFORM : VR9
|
||||
** MODULES : E1
|
||||
**
|
||||
** FILE NAME : ifxmips_ptm_fw_vr9.h
|
||||
** PROJECT : UEIP
|
||||
** MODULES : PTM (VDSL)
|
||||
**
|
||||
** DATE : 22 OCT 2007
|
||||
** AUTHOR : Xu Liang
|
||||
** DESCRIPTION : PTM Driver (PP32 Firmware)
|
||||
** COPYRIGHT : Copyright (c) 2006
|
||||
** Infineon Technologies AG
|
||||
** Am Campeon 1-12, 85579 Neubiberg, Germany
|
||||
** DATE : 01/08/2014
|
||||
** AUTHOR : Lantiq PPE FW Team
|
||||
** DESCRIPTION : VR9 E1 PPE Firmware Binary
|
||||
** COPYRIGHT : Copyright (c) 2014
|
||||
** Lantiq Deutschland GmbH
|
||||
**
|
||||
** 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.
|
||||
**
|
||||
** FW VERSION [31:0] : 0x73021000
|
||||
** FW FEATURE [31:0] : 0xB0000000
|
||||
** MERCURIAL TAG : PTM_FW_PPA_2.16_Pre_Rel_04@default@ptm_fw
|
||||
**
|
||||
** HISTORY
|
||||
** $Date $Author $Comment
|
||||
** 22 OCT 2007 Xu Liang Initiate Version, v00.01
|
||||
** $Date $Author $Comment
|
||||
** 01/08/2014 Lantiq PPE FW Team VR9 E1 PPE Firmware Binary
|
||||
*******************************************************************************/
|
||||
|
||||
|
||||
#define PTM_FW_VER_MAJOR 0
|
||||
#define PTM_FW_VER_MINOR 30
|
||||
|
||||
|
||||
static unsigned int firmware_binary_code[] = {
|
||||
0x80000980, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x8000ffe0, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x94000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0xc1c20002, 0xd9cc00f8, 0xc0006950, 0xcbc000f8, 0xc0004024, 0xc8c000f8, 0xc0006950, 0x5bfc0002,
|
||||
0xcfc000f8, 0xa4c252a2, 0x00000000, 0x00000000, 0x800007a0, 0x00000000, 0x00000000, 0x00000000,
|
||||
0xa9446c0a, 0xcfc000f8, 0x00000000, 0xa4c26a1a, 0x00000000, 0x00000000, 0x80000790, 0x00000000,
|
||||
0x94000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x94000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
@ -69,199 +67,272 @@ static unsigned int firmware_binary_code[] = {
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0xc0e1fffe, 0x58cdfffe, 0xc1e1fffa, 0x59ddfffe, 0x94000001, 0x00000000, 0x00000000, 0x00000000,
|
||||
0xc0e1fffe, 0x58cdfffe, 0xc1e1fffa, 0x59ddfffe, 0x900009a1, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x90cc0941, 0x00000000, 0x00000000, 0x00000000, 0xc3e0e2a2, 0x5bfc003c, 0xc0004002, 0xcfc000f8,
|
||||
0xc3c00000, 0xc0004024, 0xcbc20078, 0x00000000, 0x00000000, 0xc1c00000, 0xd9c400f9, 0xdbc40078,
|
||||
0xc1c00006, 0xd9c400f9, 0xc3c0fc10, 0xc0006952, 0xcfc000f8, 0xc3c00000, 0xc3400000, 0xc3000040,
|
||||
0xc2c00080, 0x6ff8a000, 0x5bb87d00, 0x5838001c, 0xcf4000f8, 0x5838001e, 0xcec000f8, 0x58380020,
|
||||
0xcf4000f8, 0x58380022, 0xcf0000f8, 0x5bfc0002, 0x5ebc0004, 0x8400ffa0, 0x00000000, 0xc1e1fffe,
|
||||
0x59ddfffa, 0x141c0000, 0xc1c00000, 0xc000691c, 0xcdc000f8, 0xab64002a, 0xc3c00000, 0xab66001a,
|
||||
0xc3c00002, 0x80001130, 0xc1c00002, 0xc000691c, 0xcdc000f8, 0x6ff8a000, 0x5bb87d00, 0x58380004,
|
||||
0xcb4000f8, 0xc2800000, 0x58380000, 0xca820008, 0xc000e824, 0xc3000000, 0xcb3c0070, 0x6f5c8000,
|
||||
0x41f4e000, 0x431d8000, 0x5b304000, 0xc000e828, 0xc1c00000, 0xc9fc0070, 0x00000000, 0xc0004000,
|
||||
0x41f4e000, 0x401c0000, 0xcac000f8, 0x5de80004, 0x84000880, 0xa6c607ea, 0x00000000, 0x6fe42000,
|
||||
0xc6e4a000, 0x6e60a000, 0x5a207b00, 0xc1800000, 0x58200000, 0xc9800000, 0xc2800000, 0xc6e80010,
|
||||
0x5dd80000, 0x8400003a, 0x5de80008, 0xc6a82012, 0xc1c00004, 0x45e8e000, 0x88000030, 0x80000558,
|
||||
0x5de80004, 0xc6a8010a, 0x5de80008, 0x84000538, 0x58380000, 0xc1c00002, 0xcdc00000, 0x58200000,
|
||||
0xc1c00002, 0xcdc00000, 0x5de80002, 0xcdc00002, 0xc000ea14, 0xc1e20000, 0xcdfe3100, 0xc000fb60,
|
||||
0xc1c00002, 0xcdfc0000, 0xc0006940, 0xc9c000f8, 0x403c0000, 0x00000000, 0x59dc0002, 0xcdc000f8,
|
||||
0xc1c00004, 0x45e8e000, 0x880000fa, 0x58200020, 0xc9c000f8, 0xc0c00018, 0xc1000000, 0xa5c0002a,
|
||||
0xc1400080, 0x5de80000, 0xc6ccf930, 0xc54c1932, 0x5de80000, 0xc1c0000a, 0xc5cc1230, 0xc5cc3202,
|
||||
0x58200022, 0xc9c000f8, 0xc74c0b30, 0xc7cc0008, 0xc5cc0528, 0xc1800000, 0xc6982000, 0xc1c00000,
|
||||
0xc69c0000, 0x71d8e000, 0xc5cc0400, 0x98404c78, 0xc5d00000, 0x7d80e000, 0xc5d00100, 0x5dd80002,
|
||||
0x84000388, 0xc1c00000, 0xc6ddc030, 0x59dc0006, 0xc5ec0e30, 0xc0c00018, 0xc1000004, 0x59dc0002,
|
||||
0xc5cc1230, 0xc74c0b30, 0xc7cc0008, 0xc0000088, 0x441ce000, 0xc5cc1930, 0xa6cc02b0, 0xc1c80002,
|
||||
0x70dc6000, 0xc1400000, 0xc6d5c030, 0x5d540002, 0x6d5c4010, 0x431c0000, 0xc88000f8, 0xc1c00000,
|
||||
0xc55c0008, 0xc0000006, 0x441ce000, 0x6ddc6000, 0x689c4010, 0xc1c001fe, 0x749c4000, 0x59540002,
|
||||
0xc1c000fe, 0x749c4000, 0x5c880020, 0xc48c1930, 0x4148c000, 0x59980002, 0x5dd80088, 0x8800002a,
|
||||
0x58200000, 0xc1c00000, 0xcdc00000, 0x800000c8, 0xc1400000, 0x6d9c4010, 0x431c0000, 0xc94000f8,
|
||||
0xc1c00000, 0xc59c0008, 0xc0000006, 0x441ce000, 0x6ddc6000, 0x695ca010, 0xc1c001fe, 0x755ca000,
|
||||
0x00000000, 0x00000000, 0x5dd40000, 0x84000018, 0x59980002, 0x8000ff48, 0x59980002, 0xc0800002,
|
||||
0x5dd400a0, 0xc4902100, 0xc4ac2602, 0x4588c002, 0xdbc800f9, 0xda4800f8, 0xda1000f9, 0x90404391,
|
||||
0x58200020, 0xc9c000f8, 0x58200022, 0xc94000f8, 0x5ddc0002, 0xc1c00000, 0xc5cc1932, 0xc6ddc030,
|
||||
0x59dc0002, 0x98404c78, 0xc5cc1230, 0xc54c0528, 0xc4d08000, 0xa5020072, 0xc1c00002, 0xc5d00100,
|
||||
0xc5ac0e30, 0xa6ccfdc2, 0xc1c00000, 0xc5cc0400, 0xc1c00086, 0x45d8e000, 0xc5cc1930, 0x8000ff28,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x80000070, 0xdbc800f9, 0xda4800f8, 0xda1000f9, 0x90404391,
|
||||
0x58200022, 0xc98000f8, 0x58200020, 0xc9c000f8, 0x00000000, 0x98404c78, 0x5ddc0002, 0xc58c0528,
|
||||
0xc5cc1932, 0x80000200, 0xc1400000, 0xc000403e, 0xc9400000, 0xc1800000, 0x58200000, 0xc9800000,
|
||||
0x5dd40002, 0x84000020, 0x5dd80002, 0x84000010, 0x80000110, 0x5de80006, 0x84000088, 0x58380000,
|
||||
0xc1c00002, 0xcdc00000, 0xc000ea14, 0xc1e20000, 0xcdfe3100, 0xc000fb60, 0xc1c20002, 0xcdfc2100,
|
||||
0xc0006944, 0xc9c000f8, 0x403c0000, 0x00000000, 0x59dc0002, 0xcdc000f8, 0x800000f0, 0x5de8000a,
|
||||
0x84000070, 0x58380000, 0xc1c00000, 0xcdc00000, 0xc000ea14, 0xc1e20002, 0xcdfe3100, 0xc000fb60,
|
||||
0xc1c20002, 0xcdfc2100, 0xc000facc, 0xc1c00002, 0xcdfc0000, 0x80000078, 0xa6ca0040, 0xc000facc,
|
||||
0xc1ca0002, 0xcdfca500, 0xc000fb64, 0xc1c60002, 0xcdfc6300, 0x80000038, 0xc000facc, 0xc1c80002,
|
||||
0xcdfc8400, 0xc000fb64, 0xc1c40002, 0xcdfc4200, 0xc0c00010, 0x98404c78, 0xc7cc0008, 0xc74c0b30,
|
||||
0xc1000004, 0x80000808, 0xc1c00002, 0x58380008, 0xcdc000f8, 0x58380000, 0xc1e00006, 0xcdc21008,
|
||||
0xc000facc, 0xc1c80002, 0xcdfc8400, 0xc000fb64, 0xc1c40002, 0xcdfc4200, 0xc0c00010, 0x98404c78,
|
||||
0xc7cc0008, 0xc74c0b30, 0xc1000004, 0x80000778, 0x5de80006, 0x84000170, 0xa6c60032, 0x00000000,
|
||||
0x58380000, 0xc1e00004, 0xcdc21008, 0x8000f760, 0x58380008, 0xca8000f8, 0xc2400000, 0x58380002,
|
||||
0xca420078, 0x00000000, 0x5aa80002, 0x58380008, 0xce8000f8, 0x46a4e000, 0x8800008a, 0x58380000,
|
||||
0xc1e00002, 0xcdc21008, 0x58380000, 0xc1c00000, 0xcdc00000, 0xc000facc, 0xc1c20002, 0xcdfc2100,
|
||||
0xc1e1e1a2, 0xc000ea1c, 0xcdfc00f8, 0xc000ea14, 0xc1e20002, 0xcdfe3100, 0x80000038, 0xc000facc,
|
||||
0xc1c80002, 0xcdfc8400, 0xc000fb64, 0xc1c40002, 0xcdfc4200, 0xc0c00010, 0x98404c78, 0xc7cc0008,
|
||||
0xc74c0b30, 0xc1000004, 0x80000600, 0x5de80002, 0x84000150, 0xa6c6004a, 0x00000000, 0x58380000,
|
||||
0xc1e00004, 0xcdc21008, 0xc1f8001e, 0xc000ea1c, 0xcdfc00f8, 0x8000f5d0, 0x58380008, 0xca8000f8,
|
||||
0xc2400000, 0x58380002, 0xca400078, 0xc000facc, 0xc1c20002, 0xcdfc2100, 0x5aa80002, 0x58380008,
|
||||
0xce8000f8, 0x46a4e000, 0x88000072, 0x58380000, 0xc1e00000, 0xcdc21008, 0xc1c00000, 0x58380006,
|
||||
0xcdc000f8, 0xc000e82c, 0xc1c00000, 0xcdfdce00, 0xc000e820, 0xc1c00000, 0xcdfc0000, 0x80000300,
|
||||
0xc0c00010, 0x98404c78, 0xc7cc0008, 0xc74c0b30, 0xc1000004, 0x800004a8, 0x5838001c, 0xca8000f8,
|
||||
0x5838001e, 0xca4000f8, 0x5aa80002, 0x5838001c, 0xce8000f8, 0x4668e000, 0x88000098, 0x58380022,
|
||||
0xca4000f8, 0x58380020, 0xca0000f8, 0xc000e82c, 0xc1c00000, 0xcdfdce00, 0xc000e810, 0xce7c0030,
|
||||
0xc2800000, 0x5838001c, 0xce8000f8, 0x5a200002, 0x58380020, 0xce0000f8, 0xc000e82c, 0xc1dc0002,
|
||||
0xcdfdce00, 0x58380006, 0xc8c000f8, 0x5830001c, 0xca8000f9, 0xca4000f9, 0xc2000000, 0xca000001,
|
||||
0x5dcc0006, 0x88000028, 0x58cc0002, 0x58380006, 0xccc000f8, 0x80000250, 0x5838000a, 0xc8c000f9,
|
||||
0xc90000f9, 0xc1400000, 0xc9400001, 0x74e86000, 0x75248000, 0x7560a000, 0x58380010, 0xca8000f9,
|
||||
0xca4000f9, 0xc2000000, 0xca000001, 0x98404de8, 0x74e86000, 0x75248000, 0x7560a000, 0x5dc800a0,
|
||||
0x840001ba, 0x58380016, 0xca8000f9, 0xca4000f9, 0xc2000000, 0xca000001, 0x98404de8, 0x74e86000,
|
||||
0x75248000, 0x7560a000, 0x5dc800a0, 0x84000162, 0x58380000, 0xc1e00004, 0xcdc21008, 0x5838001c,
|
||||
0xc1c00000, 0xcdc000f8, 0xc000e82c, 0xc1c00000, 0xcdfdce00, 0xc1f8001e, 0xc000ea1c, 0xcdfc00f8,
|
||||
0xc000e820, 0xc1c00002, 0xcdfc0000, 0xc1c00082, 0x45c8e000, 0xc000e810, 0xcdfc0030, 0xc2400000,
|
||||
0xc000e82c, 0xca7c0038, 0xc000e83c, 0xc2800000, 0xcabc0038, 0xc0c00010, 0x98404c78, 0xc7cc0008,
|
||||
0xc74c0b30, 0xc1000004, 0x5b740002, 0x4674e000, 0xc1c00000, 0xc5f400fe, 0x5ea80002, 0x8400ffb0,
|
||||
0xc000e83c, 0xc1c00000, 0xcdfc0038, 0xc000e82c, 0xc1dc0002, 0xcdfdce00, 0x80000178, 0x58380010,
|
||||
0xca8000f9, 0xca4000f9, 0xc2000000, 0xca000001, 0x58380016, 0xce8000f9, 0xce4000f9, 0xce000001,
|
||||
0x5838000a, 0xca8000f9, 0xca4000f9, 0xc2000000, 0xca000001, 0x58380010, 0xce8000f9, 0xce4000f9,
|
||||
0xce000001, 0x5830001c, 0xca8000f9, 0xca4000f9, 0xc2000000, 0xca000001, 0x5838000a, 0xce8000f9,
|
||||
0xce4000f9, 0xce000001, 0xc000facc, 0xc1c20002, 0xcdfc2100, 0xc0c00010, 0x98404c78, 0xc7cc0008,
|
||||
0xc74c0b30, 0xc1000004, 0xc000e83c, 0xc1d00002, 0xcdfd0800, 0xc0c00000, 0xc000e82c, 0xc8fc0038,
|
||||
0x5b740002, 0x00000000, 0x44f4e000, 0xc1c00000, 0xc5f400fe, 0x58380004, 0xcf4000f8, 0x98404ec0,
|
||||
0x00000000, 0x00000000, 0x00000000, 0xc0006914, 0xcbc000f8, 0xc2800000, 0xc2400000, 0x5bfc4b00,
|
||||
0xc7c000f8, 0xcb0000f8, 0x58000002, 0xcac000f8, 0xc0004026, 0xca800078, 0xc0004026, 0xca420078,
|
||||
0xc3400000, 0xc7366018, 0xa73e0172, 0x00000000, 0xc777e300, 0xc000694c, 0xc9c000f8, 0x00000000,
|
||||
0x00000000, 0x59dc0002, 0xcdc000f8, 0x6f5c6000, 0x58dcb640, 0x580c0000, 0xc90000f8, 0x580c0002,
|
||||
0xc94000f8, 0x59100002, 0x580c0000, 0xcd0000f8, 0xc1c00000, 0xc71c0078, 0x415ca000, 0x580c0002,
|
||||
0xcd4000f8, 0x98402008, 0x5834fc10, 0xc8c000f8, 0xc1000000, 0x5dc80000, 0x84000070, 0x6f402000,
|
||||
0x58005fe0, 0xc3800000, 0x58000000, 0xcb800078, 0xc1c00000, 0x58000002, 0xc9c00078, 0x984022c0,
|
||||
0x00000000, 0x439dc000, 0x00000000, 0x80000028, 0x98402098, 0xc48c00f8, 0x00000000, 0x00000000,
|
||||
0xc0006916, 0xcbc000f8, 0xc3400000, 0x00000000, 0x5bfc7a00, 0xc7c000f8, 0xcb0000f8, 0x58000002,
|
||||
0xcac000f8, 0xc7366018, 0xa73e0900, 0x00000000, 0xc777e300, 0xc000694e, 0xc9c000f8, 0x00000000,
|
||||
0x00000000, 0x59dc0002, 0xcdc000f8, 0x6f5c6000, 0x58dcb640, 0x580c0000, 0xc90000f8, 0x580c0002,
|
||||
0xc94000f8, 0x59100002, 0x580c0000, 0xcd0000f8, 0xc1c00000, 0xc71c0078, 0x415ca000, 0x580c0002,
|
||||
0xcd4000f8, 0x98402008, 0x5834fc10, 0xc8c000f8, 0xc1000000, 0x5dc80000, 0x84000070, 0x6f402000,
|
||||
0x58005fe0, 0xc3800000, 0x58000000, 0xcb800078, 0xc1c00000, 0x58000002, 0xc9c00078, 0x984025d0,
|
||||
0x00000000, 0x439dc000, 0x00000000, 0x800007b8, 0x984021c0, 0xc48c00f8, 0x00000000, 0x00000000,
|
||||
0x80000790, 0xc7100078, 0xc0800000, 0x6f402000, 0x58005fe0, 0xc1400000, 0x58000000, 0xc9420038,
|
||||
0x4690e000, 0x88000030, 0x454ca000, 0x9c400000, 0x4564e000, 0xc1c00004, 0xc5c800fe, 0x9c400000,
|
||||
0x454ce000, 0xc1c00002, 0xc5c800fe, 0xc0006914, 0xc90000f8, 0xc1400000, 0xc0004022, 0xc9400078,
|
||||
0x583c0000, 0xc1fc0000, 0xcdc3de00, 0x583c0000, 0xcd400078, 0x583c0000, 0xc1fe0002, 0xcdc3ff00,
|
||||
0x59100004, 0xc1c00100, 0x45d0e000, 0xc1c00000, 0xc5d000fe, 0xc0006914, 0xcd0000f8, 0x6f546000,
|
||||
0x5954b640, 0x5dcc0002, 0x84000038, 0x5814000c, 0xc9c000f8, 0x00000000, 0x00000000, 0x59dc0002,
|
||||
0xcdc000f8, 0x5814000e, 0xc9c000f8, 0x00000000, 0x9c400000, 0x59dc0002, 0xcdc000f8, 0x00000000,
|
||||
0xc0006916, 0xc90000f8, 0x583c0000, 0xc1fc0000, 0xcdc3de00, 0x583c0000, 0xc1fe0000, 0xcdc3ff00,
|
||||
0x59100004, 0xc1c00100, 0x45d0e000, 0xc1c00000, 0xc5d000fe, 0xc0006916, 0xcd0000f8, 0x6f546000,
|
||||
0x5954b640, 0x5dcc0002, 0x84000038, 0x58140008, 0xc9c000f8, 0x00000000, 0x00000000, 0x59dc0002,
|
||||
0xcdc000f8, 0x5814000a, 0xc9c000f8, 0x00000000, 0x9c400000, 0x59dc0002, 0xcdc000f8, 0x00000000,
|
||||
0x58380002, 0xc90000f8, 0x5c000002, 0xc8c000f8, 0xa53e0178, 0xc0006918, 0xca0000f8, 0x00000000,
|
||||
0x00000000, 0x5a205d00, 0xc60000f8, 0xc94000f8, 0x58000002, 0xc98000f8, 0xa57e006a, 0xc1c00000,
|
||||
0xc0c00004, 0xc71c0078, 0xc46000f8, 0x98402098, 0x45e8e000, 0xc1c00002, 0xc5cc00fe, 0x9e000000,
|
||||
0xc1e00002, 0xc000e408, 0xcdc21000, 0xc55c00f8, 0xc4d400f8, 0xc5cc00f8, 0xc59c00f8, 0xc51800f8,
|
||||
0xc5d000f8, 0xc1c00000, 0xc5d41f00, 0xc5d3ff00, 0x58200002, 0xcd8000f8, 0x5c000002, 0xcd4000f8,
|
||||
0x5e205d00, 0x5a200004, 0xc1c00100, 0x45e0e000, 0xc1c00000, 0xc5e000fe, 0xc0006918, 0xce0000f8,
|
||||
0xc1e00002, 0xc000e408, 0xcdc21000, 0xc6dc00f8, 0xc52c00f8, 0xc5d000f8, 0xc71c00f8, 0xc4f000f8,
|
||||
0xc5cc00f8, 0xc0004022, 0xcb000078, 0xc1c00002, 0xc5cc1f00, 0xc5f01f00, 0xc5f3fe00, 0x58380002,
|
||||
0xcd0000f8, 0x5c000002, 0xccc000f8, 0x6f402000, 0x58005fe0, 0xc1c00000, 0xc9c20138, 0xc2000000,
|
||||
0x58000002, 0xca000078, 0x00000000, 0x00000000, 0x5a200004, 0x45e0e000, 0xc1c00000, 0xc5e000fe,
|
||||
0xce000078, 0x5e3c4b00, 0x5a200004, 0xc1c00100, 0x45e0e000, 0xc1c00000, 0xc5e000fe, 0xc0006914,
|
||||
0xce0000f8, 0xc1c00002, 0x69f4e000, 0xc5dc0838, 0xd9f000f8, 0x583c0002, 0xcec000f8, 0x5c000002,
|
||||
0xcf0000f8, 0x9c400000, 0x58380002, 0xc90000f8, 0x5c000002, 0xc8c000f8, 0xc6dc00f8, 0xc52c00f8,
|
||||
0xc5d000f8, 0xc71c00f8, 0xc4f000f8, 0xc5cc00f8, 0xc1c00002, 0xc5cc1f00, 0xc1c00000, 0xc5f01f00,
|
||||
0x90cc0941, 0x00000000, 0x00000000, 0x00000000, 0xc0004010, 0xd14000f8, 0xc000400c, 0xc8c000f8,
|
||||
0xc1c1fffe, 0xd9d7e700, 0x45cce000, 0xc1c00002, 0xd9d40704, 0xc3e0e604, 0x5bfc2000, 0xc0004000,
|
||||
0xcfc000f8, 0xc3e16000, 0x5bfc0000, 0xc0004002, 0xcfc000f8, 0xc0008fde, 0xc1c00000, 0xcdc000f8,
|
||||
0xc0007e22, 0xc9c000f8, 0x00000000, 0x00000000, 0x5ddc0000, 0x84000022, 0xc0008fde, 0xc1c00002,
|
||||
0xcdc000f8, 0xc3c00000, 0xc0004024, 0xcbc20078, 0x00000000, 0x00000000, 0xc1c00000, 0xd9c400f9,
|
||||
0xdbc40078, 0xc1c00006, 0xd9c400f9, 0xc000403c, 0xcfc000f8, 0xc3c0fc10, 0xc0006952, 0xcfc000f8,
|
||||
0xc3c00000, 0xc3400000, 0xc3000040, 0xc2c00080, 0x6ff8a000, 0x5bb87d00, 0x5838001c, 0xcf4000f8,
|
||||
0x5838001e, 0xcec000f8, 0x58380020, 0xcf4000f8, 0x58380022, 0xcf0000f8, 0x5bfc0002, 0x5ebc0004,
|
||||
0x8400ffa0, 0x00000000, 0xc1e1fffe, 0x59ddfffa, 0x141c0000, 0xc0004010, 0xd14000f8, 0xc000400c,
|
||||
0xc8c000f8, 0xc1c1fffe, 0xd9d7e700, 0x45cce000, 0xc1c00002, 0xd9d40704, 0xc1c00000, 0xc000691c,
|
||||
0xcdc000f8, 0xab64002a, 0xc3c00000, 0xab66001a, 0xc3c00002, 0x80001248, 0xc1c00002, 0xc000691c,
|
||||
0xcdc000f8, 0x6ff8a000, 0x5bb87d00, 0x58380004, 0xcb4000f8, 0xc2800000, 0x58380000, 0xca820008,
|
||||
0xc000e824, 0xc3000000, 0xcb3c0070, 0x6f5c8000, 0x41f4e000, 0x431d8000, 0x5b304000, 0xc000e828,
|
||||
0xc1c00000, 0xc9fc0070, 0x00000000, 0xc0004000, 0x41f4e000, 0x401c0000, 0xcac000f8, 0x5de80004,
|
||||
0x84000988, 0xa6c608f2, 0x00000000, 0x6fe42000, 0xc6e4a000, 0x6e60a000, 0x5a207b00, 0xc1800000,
|
||||
0x58200000, 0xc9800000, 0xc2800000, 0xc6e80010, 0x5dd80000, 0x8400003a, 0x5de80008, 0xc6a82012,
|
||||
0xc1c00004, 0x45e8e000, 0x88000030, 0x80000650, 0x5de80004, 0xc6a8010a, 0x5de80008, 0x84000630,
|
||||
0x58380000, 0xc1c00002, 0xcdc00000, 0x58200000, 0xc1c00002, 0xcdc00000, 0x5de80002, 0xcdc00002,
|
||||
0xc000ea14, 0xc1e20000, 0xcdfe3100, 0xc000fb60, 0xc1c00002, 0xcdfc0000, 0xc0006940, 0xc9c000f8,
|
||||
0x403c0000, 0x00000000, 0x59dc0002, 0xcdc000f8, 0xc1c00004, 0x45e8e000, 0x880000fa, 0x58200020,
|
||||
0xc9c000f8, 0xc0c00018, 0xc1000000, 0xa5c0002a, 0xc1400080, 0x5de80000, 0xc6ccf930, 0xc54c1932,
|
||||
0x5de80000, 0xc1c0000a, 0xc5cc1230, 0xc5cc3202, 0x58200022, 0xc9c000f8, 0xc74c0b30, 0xc7cc0008,
|
||||
0xc5cc0528, 0xc1800000, 0xc6982000, 0xc1c00000, 0xc69c0000, 0x71d8e000, 0xc5cc0400, 0x98406308,
|
||||
0xc5d00000, 0x7d80e000, 0xc5d00100, 0x5dd80002, 0x84000480, 0xc1c00000, 0xc6ddc030, 0x59dc0006,
|
||||
0xc5ec0e30, 0xc0c00018, 0xc1000004, 0x59dc0002, 0xc5cc1230, 0xc74c0b30, 0xc7cc0008, 0xc0000088,
|
||||
0x441ce000, 0xc5cc1930, 0xa6cc03a8, 0x583cfac0, 0xc94000f8, 0xc1c80002, 0x70dc6000, 0xa55000c2,
|
||||
0x58380024, 0xc94000f8, 0x00000000, 0x00000000, 0x59540002, 0x58380024, 0xcd4000f8, 0xc0c00010,
|
||||
0x98406308, 0xc74c0b30, 0xc7cc0008, 0xc1000004, 0x58200000, 0xc1c00000, 0xcdc00000, 0x58380026,
|
||||
0xc94000f8, 0x00000000, 0x00000000, 0x59540002, 0x58380026, 0xcd4000f8, 0x800002c0, 0xc1400000,
|
||||
0xc6d5c030, 0x5d540002, 0x6d5c4010, 0x431c0000, 0xc88000f8, 0xc1c00000, 0xc55c0008, 0xc0000006,
|
||||
0x441ce000, 0x6ddc6000, 0x689c4010, 0xc1c001fe, 0x749c4000, 0x59540002, 0xc1c000fe, 0x749c4000,
|
||||
0x5c880020, 0xc48c1930, 0x5dc80002, 0x8800fee2, 0xc1c0007c, 0x45c8e000, 0x8800feca, 0x4148c000,
|
||||
0x59980002, 0x5dd80088, 0x8800002a, 0x58200000, 0xc1c00000, 0xcdc00000, 0x800000c8, 0xc1400000,
|
||||
0x6d9c4010, 0x431c0000, 0xc94000f8, 0xc1c00000, 0xc59c0008, 0xc0000006, 0x441ce000, 0x6ddc6000,
|
||||
0x695ca010, 0xc1c001fe, 0x755ca000, 0x00000000, 0x00000000, 0x5dd40000, 0x84000018, 0x59980002,
|
||||
0x8000ff48, 0x59980002, 0xc0800002, 0x5dd400a0, 0xc4902100, 0xc4ac2602, 0x4588c002, 0xdbc800f9,
|
||||
0xda4800f8, 0xda1000f9, 0x90405849, 0x58200020, 0xc9c000f8, 0x58200022, 0xc94000f8, 0x5ddc0002,
|
||||
0xc1c00000, 0xc5cc1932, 0xc6ddc030, 0x59dc0002, 0x98406308, 0xc5cc1230, 0xc54c0528, 0xc4d08000,
|
||||
0xa5020072, 0xc1c00002, 0xc5d00100, 0xc5ac0e30, 0xa6ccfd9a, 0xc1c00000, 0xc5cc0400, 0xc1c00086,
|
||||
0x45d8e000, 0xc5cc1930, 0x8000ff28, 0x00000000, 0x00000000, 0x00000000, 0x80000070, 0xdbc800f9,
|
||||
0xda4800f8, 0xda1000f9, 0x90405849, 0x58200022, 0xc98000f8, 0x58200020, 0xc9c000f8, 0x00000000,
|
||||
0x98406308, 0x5ddc0002, 0xc58c0528, 0xc5cc1932, 0x80000210, 0xc1400000, 0xc000403e, 0xc9400000,
|
||||
0xc1800000, 0x58200000, 0xc9800000, 0x5dd40002, 0x84000020, 0x5dd80002, 0x84000010, 0x80000120,
|
||||
0x5de80006, 0x84000088, 0x58380000, 0xc1c00002, 0xcdc00000, 0xc000ea14, 0xc1e20000, 0xcdfe3100,
|
||||
0xc000fb60, 0xc1c20002, 0xcdfc2100, 0xc0006944, 0xc9c000f8, 0x403c0000, 0x00000000, 0x59dc0002,
|
||||
0xcdc000f8, 0x80000100, 0x5de8000a, 0x84000080, 0x58380000, 0xc1c00000, 0xcdc00000, 0xc000ea14,
|
||||
0xc1c00000, 0xdd5c5100, 0x7dc0e000, 0xcdfe3100, 0xc000fb60, 0xc1c20002, 0xcdfc2100, 0xc000facc,
|
||||
0xc1c00002, 0xcdfc0000, 0x80000078, 0xa6ca0040, 0xc000facc, 0xc1ca0002, 0xcdfca500, 0xc000fb64,
|
||||
0xc1c60002, 0xcdfc6300, 0x80000038, 0xc000facc, 0xc1c80002, 0xcdfc8400, 0xc000fb64, 0xc1c40002,
|
||||
0xcdfc4200, 0xc0c00010, 0x98406308, 0xc7cc0008, 0xc74c0b30, 0xc1000004, 0x80000818, 0xc1c00002,
|
||||
0x58380008, 0xcdc000f8, 0x58380000, 0xc1e00006, 0xcdc21008, 0xc000facc, 0xc1c80002, 0xcdfc8400,
|
||||
0xc000fb64, 0xc1c40002, 0xcdfc4200, 0xc0c00010, 0x98406308, 0xc7cc0008, 0xc74c0b30, 0xc1000004,
|
||||
0x80000788, 0x5de80006, 0x84000180, 0xa6c60032, 0x00000000, 0x58380000, 0xc1e00004, 0xcdc21008,
|
||||
0x8000f658, 0x58380008, 0xca8000f8, 0xc2400000, 0x58380002, 0xca420078, 0x00000000, 0x5aa80002,
|
||||
0x58380008, 0xce8000f8, 0x46a4e000, 0x8800009a, 0x58380000, 0xc1e00002, 0xcdc21008, 0x58380000,
|
||||
0xc1c00000, 0xcdc00000, 0xc000facc, 0xc1c20002, 0xcdfc2100, 0xc1e1e1a2, 0xc000ea1c, 0xcdfc00f8,
|
||||
0xc000ea14, 0xc1c00000, 0xdd5c5100, 0x7dc0e000, 0xcdfe3100, 0x80000038, 0xc000facc, 0xc1c80002,
|
||||
0xcdfc8400, 0xc000fb64, 0xc1c40002, 0xcdfc4200, 0xc0c00010, 0x98406308, 0xc7cc0008, 0xc74c0b30,
|
||||
0xc1000004, 0x80000600, 0x5de80002, 0x84000150, 0xa6c6004a, 0x00000000, 0x58380000, 0xc1e00004,
|
||||
0xcdc21008, 0xc1f8001e, 0xc000ea1c, 0xcdfc00f8, 0x8000f4b8, 0x58380008, 0xca8000f8, 0xc2400000,
|
||||
0x58380002, 0xca400078, 0xc000facc, 0xc1c20002, 0xcdfc2100, 0x5aa80002, 0x58380008, 0xce8000f8,
|
||||
0x46a4e000, 0x88000072, 0x58380000, 0xc1e00000, 0xcdc21008, 0xc1c00000, 0x58380006, 0xcdc000f8,
|
||||
0xc000e82c, 0xc1c00000, 0xcdfdce00, 0xc000e820, 0xc1c00000, 0xcdfc0000, 0x80000300, 0xc0c00010,
|
||||
0x98406308, 0xc7cc0008, 0xc74c0b30, 0xc1000004, 0x800004a8, 0x5838001c, 0xca8000f8, 0x5838001e,
|
||||
0xca4000f8, 0x5aa80002, 0x5838001c, 0xce8000f8, 0x4668e000, 0x88000098, 0x58380022, 0xca4000f8,
|
||||
0x58380020, 0xca0000f8, 0xc000e82c, 0xc1c00000, 0xcdfdce00, 0xc000e810, 0xce7c0030, 0xc2800000,
|
||||
0x5838001c, 0xce8000f8, 0x5a200002, 0x58380020, 0xce0000f8, 0xc000e82c, 0xc1dc0002, 0xcdfdce00,
|
||||
0x58380006, 0xc8c000f8, 0x5830001c, 0xca8000f9, 0xca4000f9, 0xc2000000, 0xca000001, 0x5dcc0006,
|
||||
0x88000028, 0x58cc0002, 0x58380006, 0xccc000f8, 0x80000250, 0x5838000a, 0xc8c000f9, 0xc90000f9,
|
||||
0xc1400000, 0xc9400001, 0x74e86000, 0x75248000, 0x7560a000, 0x58380010, 0xca8000f9, 0xca4000f9,
|
||||
0xc2000000, 0xca000001, 0x984064d8, 0x74e86000, 0x75248000, 0x7560a000, 0x5dc800a0, 0x840001ba,
|
||||
0x58380016, 0xca8000f9, 0xca4000f9, 0xc2000000, 0xca000001, 0x984064d8, 0x74e86000, 0x75248000,
|
||||
0x7560a000, 0x5dc800a0, 0x84000162, 0x58380000, 0xc1e00004, 0xcdc21008, 0x5838001c, 0xc1c00000,
|
||||
0xcdc000f8, 0xc000e82c, 0xc1c00000, 0xcdfdce00, 0xc1f8001e, 0xc000ea1c, 0xcdfc00f8, 0xc000e820,
|
||||
0xc1c00002, 0xcdfc0000, 0xc1c00082, 0x45c8e000, 0xc000e810, 0xcdfc0030, 0xc2400000, 0xc000e82c,
|
||||
0xca7c0038, 0xc000e83c, 0xc2800000, 0xcabc0038, 0xc0c00010, 0x98406308, 0xc7cc0008, 0xc74c0b30,
|
||||
0xc1000004, 0x5b740002, 0x4674e000, 0xc1c00000, 0xc5f400fe, 0x5ea80002, 0x8400ffb0, 0xc000e83c,
|
||||
0xc1c00000, 0xcdfc0038, 0xc000e82c, 0xc1dc0002, 0xcdfdce00, 0x80000178, 0x58380010, 0xca8000f9,
|
||||
0xca4000f9, 0xc2000000, 0xca000001, 0x58380016, 0xce8000f9, 0xce4000f9, 0xce000001, 0x5838000a,
|
||||
0xca8000f9, 0xca4000f9, 0xc2000000, 0xca000001, 0x58380010, 0xce8000f9, 0xce4000f9, 0xce000001,
|
||||
0x5830001c, 0xca8000f9, 0xca4000f9, 0xc2000000, 0xca000001, 0x5838000a, 0xce8000f9, 0xce4000f9,
|
||||
0xce000001, 0xc000facc, 0xc1c20002, 0xcdfc2100, 0xc0c00010, 0x98406308, 0xc7cc0008, 0xc74c0b30,
|
||||
0xc1000004, 0xc000e83c, 0xc1d00002, 0xcdfd0800, 0xc0c00000, 0xc000e82c, 0xc8fc0038, 0x5b740002,
|
||||
0x00000000, 0x44f4e000, 0xc1c00000, 0xc5f400fe, 0x58380004, 0xcf4000f8, 0x984065b0, 0x00000000,
|
||||
0x00000000, 0x00000000, 0xc000400c, 0xcbc000f8, 0xc000400e, 0xcb8000f8, 0xc0007d00, 0xcac000f8,
|
||||
0x73f8e000, 0x8400034a, 0x58000040, 0xca8000f8, 0xc0006960, 0x4b000058, 0xc1e00002, 0x7dc0e000,
|
||||
0x76dd6000, 0x769d4000, 0xc2620002, 0x5a640002, 0xc3400000, 0xc2000006, 0x46e4e000, 0xc634000a,
|
||||
0x46a4e000, 0xc634020a, 0xc000fb80, 0xcac000f8, 0xc000fba0, 0xca8000f8, 0xc2400000, 0xc2000000,
|
||||
0xc6e40000, 0xc6e40100, 0xc6a40200, 0xc6a40300, 0xc6e02000, 0xc6e02100, 0xc6a02200, 0xc6a02300,
|
||||
0x7765a000, 0x7761a000, 0xc6740818, 0x7b716000, 0x84000232, 0xc0006960, 0xcf4000f8, 0xc0800000,
|
||||
0xc1c1fffe, 0x45fce000, 0x88000022, 0xa9420018, 0x00000000, 0xc0800008, 0x58fc0008, 0x59380008,
|
||||
0xc1c1fffe, 0x45fce000, 0x88000018, 0x58fc0020, 0x59380020, 0x776d4000, 0x840000ca, 0x6e950010,
|
||||
0x5dd40000, 0x84000052, 0xc000f41a, 0xcfc000f8, 0xc1c00000, 0xc7dc4050, 0x581cc000, 0x5dfdfffe,
|
||||
0xc7c000fe, 0x6948a000, 0xcd4000f8, 0xc1c001fe, 0x769d4000, 0x84000052, 0xc000f41a, 0xccc000f8,
|
||||
0xc1c00000, 0xc4dc4050, 0x581cc000, 0x5dcdfffe, 0xc4c000fe, 0x6a894000, 0xce8000f8, 0x7f41a000,
|
||||
0x776d2000, 0x840000ca, 0x6e550010, 0x5dd40000, 0x84000052, 0xc000f41a, 0xcf8000f8, 0xc1c00000,
|
||||
0xc79c4050, 0x581cc000, 0x5df9fffe, 0xc78000fe, 0x6948a000, 0xcd4000f8, 0xc1c001fe, 0x765d2000,
|
||||
0x84000052, 0xc000f41a, 0xcd0000f8, 0xc1c00000, 0xc51c4050, 0x581cc000, 0x5dd1fffe, 0xc50000fe,
|
||||
0x6a492000, 0xce4000f8, 0xa9440180, 0xc000a340, 0xcbc000f8, 0xa9420168, 0xc000a34a, 0xcb8000f8,
|
||||
0xc000f414, 0xcb4000f8, 0x5dfc0002, 0x84000048, 0xc000a346, 0x984063f0, 0xc8c000f9, 0xc90000f8,
|
||||
0xc3c00004, 0xc000a340, 0xcfc000f8, 0x80000058, 0x5dfc0004, 0x84000048, 0xc1c40002, 0x75f4e000,
|
||||
0x84000032, 0xc000f414, 0xcdc000f8, 0xc3c00006, 0xc000a340, 0xcfc000f8, 0x5df80002, 0x84000048,
|
||||
0xc000a350, 0x98406308, 0xc8c000f9, 0xc90000f8, 0xc3800004, 0xc000a34a, 0xcf8000f8, 0x80000058,
|
||||
0x5df80004, 0x84000048, 0xc1c20002, 0x75f4e000, 0x84000032, 0xc000f414, 0xcdc000f8, 0xc3800006,
|
||||
0xc000a34a, 0xcf8000f8, 0xa9440ca2, 0xc0008fde, 0xc9c000f8, 0x00000000, 0xc0007e3e, 0xcdc000f8,
|
||||
0xc0006914, 0xcbc000f8, 0xc2800000, 0xc2400000, 0x5bfc4b00, 0xc7c000f8, 0xcb0000f8, 0x58000002,
|
||||
0xcac000f8, 0xc0004026, 0xca800078, 0xc0004026, 0xca420078, 0xc3400000, 0xc7366018, 0xa73e01da,
|
||||
0x00000000, 0x00000000, 0xc0007e20, 0xc9c000f8, 0x00000000, 0x00000000, 0xa5c20040, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x984027d8, 0x5c3c4b00, 0x6c002010, 0x5800a100, 0xc777e300, 0xc000694c,
|
||||
0xc9c000f8, 0x00000000, 0x00000000, 0x59dc0002, 0xcdc000f8, 0x6f5c6000, 0x58dcb640, 0x580c0000,
|
||||
0xc90000f8, 0x580c0002, 0xc94000f8, 0x59100002, 0x580c0000, 0xcd0000f8, 0xc1c00000, 0xc71c0078,
|
||||
0x415ca000, 0x580c0002, 0xcd4000f8, 0x98402828, 0x5834fc10, 0xc8c000f8, 0xc1000000, 0x5dc80000,
|
||||
0x84000070, 0x6f402000, 0x58005fe0, 0xc3800000, 0x58000000, 0xcb800078, 0xc1c00000, 0x58000002,
|
||||
0xc9c00078, 0x98402b10, 0x00000000, 0x439dc000, 0x00000000, 0x80000028, 0x984028b8, 0xc48c00f8,
|
||||
0x00000000, 0x00000000, 0xc0006916, 0xcbc000f8, 0xc3400000, 0x00000000, 0x5bfc7a00, 0xc7c000f8,
|
||||
0xcb0000f8, 0x58000002, 0xcac000f8, 0xc7366018, 0xa73e0998, 0x00000000, 0xc777e300, 0xc000694e,
|
||||
0xc9c000f8, 0x00000000, 0x00000000, 0x59dc0002, 0xcdc000f8, 0x6f5c6000, 0x58dcb640, 0x580c0000,
|
||||
0xc90000f8, 0x580c0002, 0xc94000f8, 0x59100002, 0x580c0000, 0xcd0000f8, 0xc1c00000, 0xc71c0078,
|
||||
0x415ca000, 0x580c0002, 0xcd4000f8, 0x98402828, 0x5834fc10, 0xc8c000f8, 0xc1000000, 0x5dc80000,
|
||||
0x84000070, 0x6f402000, 0x58005fe0, 0xc3800000, 0x58000000, 0xcb800078, 0xc1c00000, 0x58000002,
|
||||
0xc9c00078, 0x98402e38, 0x00000000, 0x439dc000, 0x00000000, 0x80000850, 0x984029f8, 0xc48c00f8,
|
||||
0x00000000, 0x00000000, 0x80000828, 0xc8c000f8, 0x00000000, 0x00000000, 0xa4feffe8, 0xc1c00000,
|
||||
0xcdc000f8, 0x9c400000, 0xc3400000, 0xc1d00002, 0xc4f40018, 0xc7100078, 0xc0800000, 0x6f402000,
|
||||
0x58005fe0, 0xc1400000, 0x58000000, 0xc9420038, 0x4690e000, 0x88000030, 0x454ca000, 0x9c400000,
|
||||
0x4564e000, 0xc1c00004, 0xc5c800fe, 0x9c400000, 0x454ce000, 0xc1c00002, 0xc5c800fe, 0xc0006914,
|
||||
0xc90000f8, 0xc1400000, 0xc0004022, 0xc9400078, 0x583c0000, 0xc1fc0000, 0xcdc3de00, 0x583c0000,
|
||||
0xcd400078, 0x583c0000, 0xc1fe0002, 0xcdc3ff00, 0x59100004, 0xc1c00100, 0x45d0e000, 0xc1c00000,
|
||||
0xc5d000fe, 0xc0006914, 0xcd0000f8, 0x6f546000, 0x5954b640, 0x5dcc0002, 0x84000038, 0x5814000c,
|
||||
0xc9c000f8, 0x00000000, 0x00000000, 0x59dc0002, 0xcdc000f8, 0xc1c00002, 0xc000691c, 0xcdc000f8,
|
||||
0x5814000e, 0xc9c000f8, 0x00000000, 0x9c400000, 0x59dc0002, 0xcdc000f8, 0x00000000, 0xc0006916,
|
||||
0xc90000f8, 0x583c0000, 0xc1fc0000, 0xcdc3de00, 0x583c0000, 0xc1fe0000, 0xcdc3ff00, 0x59100004,
|
||||
0xc1c00100, 0x45d0e000, 0xc1c00000, 0xc5d000fe, 0xc0006916, 0xcd0000f8, 0x6f546000, 0x5954b640,
|
||||
0x5dcc0002, 0x84000038, 0x58140008, 0xc9c000f8, 0x00000000, 0x00000000, 0x59dc0002, 0xcdc000f8,
|
||||
0xc1c00002, 0xc000691c, 0xcdc000f8, 0x5814000a, 0xc9c000f8, 0x00000000, 0x9c400000, 0x59dc0002,
|
||||
0xcdc000f8, 0x00000000, 0xc78000f8, 0xc8c000f8, 0x58000002, 0xc90000f8, 0xa4e00178, 0xc0006918,
|
||||
0xca0000f8, 0x00000000, 0x00000000, 0x5a205d00, 0xc60000f8, 0xc94000f8, 0x58000002, 0xc98000f8,
|
||||
0xa57e006a, 0xc1c00000, 0xc0c00004, 0xc71c0078, 0xc46000f8, 0x984028b8, 0x45e8e000, 0xc1c00002,
|
||||
0xc5cc00fe, 0x9e000000, 0xc1e00002, 0xc000e408, 0xcdc21000, 0xc55c00f8, 0xc4d400f8, 0xc5cc00f8,
|
||||
0xc59c00f8, 0xc51800f8, 0xc5d000f8, 0xc1c00000, 0xc5d41f00, 0xc5cff000, 0x58200002, 0xcd8000f8,
|
||||
0x5c000002, 0xcd4000f8, 0x5e205d00, 0x5a200004, 0xc1c00080, 0x45e0e000, 0xc1c00000, 0xc5e000fe,
|
||||
0xc0006918, 0xce0000f8, 0xc1e00002, 0xc000e408, 0xcdc21000, 0xc6dc00f8, 0xc52c00f8, 0xc5d000f8,
|
||||
0xc71c00f8, 0xc4f000f8, 0xc5cc00f8, 0xc0004022, 0xcb000078, 0xc1c00002, 0xc5cc1f00, 0xc5f01f00,
|
||||
0xc5f3fe00, 0x58380002, 0xcd0000f8, 0x5c000002, 0xccc000f8, 0x6f402000, 0x58005fe0, 0xc1c00000,
|
||||
0xc9c20138, 0xc2000000, 0x58000002, 0xca000078, 0x00000000, 0x00000000, 0x5a200004, 0x45e0e000,
|
||||
0xc1c00000, 0xc5e000fe, 0xce000078, 0x5e3c7a00, 0x5a200004, 0xc1c00100, 0x45e0e000, 0xc1c00000,
|
||||
0xc5e000fe, 0xc0006916, 0xce0000f8, 0xc1c00002, 0x69f4e000, 0xc5dc0838, 0xd9f000f8, 0x583c0002,
|
||||
0xcec000f8, 0x5c000002, 0xcf0000f8, 0xc1e20002, 0xc000e408, 0xcdc23100, 0x9c400000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0xc3c00000, 0x6ff8a000, 0x5bb87d80, 0x583cfb50, 0xc2800000, 0xca80c030,
|
||||
0xc2400000, 0x58380000, 0xca400078, 0x58380006, 0xca0000f8, 0x583cea28, 0xc9c000f8, 0xc0c00000,
|
||||
0x00000000, 0xc5cc0038, 0x420c8000, 0x4268a000, 0x4514e000, 0x880000aa, 0x58380004, 0xca4000f8,
|
||||
0xc000ea28, 0x6e1d2000, 0xcdfd2928, 0xc000ea28, 0xc1d00002, 0xcdfd0800, 0xc0006948, 0xc9c000f8,
|
||||
0x403c0000, 0x00000000, 0x41e0e000, 0xcdc000f8, 0x46612000, 0x58380004, 0xce4000f8, 0x58380006,
|
||||
0xc1c00000, 0xcdc000f8, 0x58380004, 0xca4000f8, 0x583cea28, 0xc9c000f8, 0xc0c00000, 0x00000000,
|
||||
0xc5cc0038, 0xc1400000, 0x58380000, 0xc9420078, 0x424d0000, 0x00000000, 0x42948000, 0x4520e000,
|
||||
0x8800163a, 0xc000fa40, 0xc9bc00f8, 0x6ff42000, 0xc3000000, 0xc5b4e000, 0xc2c07c00, 0x6f5ca000,
|
||||
0x42dd6000, 0x582c0022, 0xc98000f8, 0x00000000, 0x00000000, 0x5dd80000, 0x840003c2, 0x582c0026,
|
||||
0xca8000f8, 0x5838000a, 0xc98000f8, 0xc000ea10, 0xc2400000, 0xca7c0070, 0x6d9c8000, 0x41d8e000,
|
||||
0x425d2000, 0x5a644000, 0x582c002e, 0xc98000f8, 0x582c0030, 0xc94000f8, 0x00000000, 0x00000000,
|
||||
0x4194e000, 0xd9f800f8, 0x5ddc0080, 0x880000a2, 0x00000000, 0xa7400018, 0xc180001e, 0xc180015e,
|
||||
0xc1400000, 0x6d5c4010, 0x425c0000, 0xc1c00006, 0x755c8000, 0x5dd00000, 0xcd80183a, 0x5dd00002,
|
||||
0xcd80103a, 0x5dd00004, 0xcd80083a, 0x5dd00006, 0xcd80003a, 0x5b300008, 0x80000278, 0x58240002,
|
||||
0xc1800000, 0xcd8000f9, 0xcd8000f9, 0xcd8000f9, 0xcd8000f9, 0xcd8000f9, 0xcd8000f9, 0xcd8000f9,
|
||||
0xc1c00000, 0xc5e000fe, 0xce000078, 0x5e3c4b00, 0x5a200004, 0xc1c00100, 0x45e0e000, 0xc1c00000,
|
||||
0xc5e000fe, 0xc0006914, 0xce0000f8, 0xc1c00002, 0x69f4e000, 0xc5dc0838, 0xd9f000f8, 0x583c0002,
|
||||
0xcec000f8, 0x5c000002, 0xcf0000f8, 0x9c400000, 0xc1c00002, 0xc000691c, 0xcdc000f8, 0x58380002,
|
||||
0xc90000f8, 0x5c000002, 0xc8c000f8, 0xc6dc00f8, 0xc52c00f8, 0xc5d000f8, 0xc71c00f8, 0xc4f000f8,
|
||||
0xc5cc00f8, 0xc1c00002, 0xc5cc1f00, 0xc1c00000, 0xc5f01f00, 0xc5f3fe00, 0x58380002, 0xcd0000f8,
|
||||
0x5c000002, 0xccc000f8, 0x6f402000, 0x58005fe0, 0xc1c00000, 0xc9c20138, 0xc2000000, 0x58000002,
|
||||
0xca000078, 0x00000000, 0x00000000, 0x5a200004, 0x45e0e000, 0xc1c00000, 0xc5e000fe, 0xce000078,
|
||||
0x5e3c7a00, 0x5a200004, 0xc1c00100, 0x45e0e000, 0xc1c00000, 0xc5e000fe, 0xc0006916, 0xce0000f8,
|
||||
0xc1c00002, 0x69f4e000, 0xc5dc0838, 0xd9f000f8, 0x583c0002, 0xcec000f8, 0x5c000002, 0xcf0000f8,
|
||||
0xc1e20002, 0xc000e408, 0xcdc23100, 0x9c400000, 0xc1c00002, 0xc000691c, 0xcdc000f8, 0xc0007e3e,
|
||||
0xc9c000f8, 0x00000000, 0x00000000, 0x5ddc0002, 0xcdc000f8, 0x8800f398, 0xc0004010, 0xc9c000f8,
|
||||
0xc0007e24, 0xc8c000f8, 0xa5c200e2, 0x00000000, 0xc0007e22, 0xc9c000f8, 0x00000000, 0x00000000,
|
||||
0x5ddc0000, 0x840000aa, 0xc000f41a, 0xcdc000f8, 0x580ca100, 0xc90000f8, 0x580cc100, 0x00000000,
|
||||
0xa53e0070, 0x00000000, 0xcd0000f8, 0xc1c00000, 0x580ca100, 0xcdc000f8, 0x58cc0002, 0xc1c00080,
|
||||
0x45cce000, 0xc1c00000, 0xc5cc00fe, 0xc0007e24, 0xccc000f8, 0x8000ff78, 0xc3c00000, 0x6ff8a000,
|
||||
0x5bb87d80, 0xc1c00002, 0xc000691c, 0xcdc000f8, 0x583cfb50, 0xc2800000, 0xca80c030, 0xc2400000,
|
||||
0x58380000, 0xca400078, 0x58380006, 0xca0000f8, 0x583cea28, 0xc9c000f8, 0xc0c00000, 0x00000000,
|
||||
0xc5cc0038, 0x420c8000, 0x4268a000, 0x4514e000, 0x8800012a, 0x58380004, 0xca4000f8, 0x5de00080,
|
||||
0x8800007a, 0xc000ea28, 0xc1d2007e, 0xcdfd2928, 0xc000ea28, 0xc1d00002, 0xcdfd0800, 0x5de0007e,
|
||||
0xc000ea28, 0x6ddd2000, 0xcdfd2928, 0xc000ea28, 0xc1d00002, 0xcdfd0800, 0x80000038, 0xc000ea28,
|
||||
0x6e1d2000, 0xcdfd2928, 0xc000ea28, 0xc1d00002, 0xcdfd0800, 0x583c6948, 0xc9c000f8, 0x00000000,
|
||||
0x00000000, 0x41e0e000, 0xcdc000f8, 0x46612000, 0x58380004, 0xce4000f8, 0x58380006, 0xc1c00000,
|
||||
0xcdc000f8, 0x58380004, 0xca4000f8, 0x583cea28, 0xc9c000f8, 0xc0c00000, 0x00000000, 0xc5cc0038,
|
||||
0xc1400000, 0x58380000, 0xc9420078, 0x424d0000, 0x00000000, 0x42948000, 0x4520e000, 0x880020ba,
|
||||
0xc000fa40, 0xc9bc00f8, 0x6ff42000, 0xc3000000, 0xc5b4e000, 0xc2c07c00, 0x6f5ca000, 0x42dd6000,
|
||||
0x582c0022, 0xc98000f8, 0x00000000, 0x00000000, 0x5dd80000, 0x840003d2, 0x582c0026, 0xca8000f8,
|
||||
0x5838000a, 0xc98000f8, 0xc000ea10, 0xc2400000, 0xca7c0070, 0x6d9c8000, 0x41d8e000, 0x425d2000,
|
||||
0x5a644000, 0x582c0032, 0xc9c000f8, 0x582c002e, 0xc98000f8, 0x582c0030, 0xc94000f8, 0x00000000,
|
||||
0x41d8e000, 0x41d4e000, 0xd9f800f8, 0x5ddc0080, 0x880000a2, 0x00000000, 0xa7400018, 0xc180001e,
|
||||
0xc180015e, 0xc1400000, 0x6d5c4010, 0x425c0000, 0xc1c00006, 0x755c8000, 0x5dd00000, 0xcd80183a,
|
||||
0x5dd00002, 0xcd80103a, 0x5dd00004, 0xcd80083a, 0x5dd00006, 0xcd80003a, 0x5b300008, 0x80000278,
|
||||
0x58240002, 0xc1800000, 0xcd8000f9, 0xcd8000f9, 0xcd8000f9, 0xcd8000f9, 0xcd8000f9, 0xcd8000f9,
|
||||
0xcd8000f9, 0xcd8000f9, 0xcd8000f9, 0xcd8000f9, 0xcd8000f9, 0xcd8000f9, 0xcd8000f9, 0xcd8000f9,
|
||||
0xcd8000f9, 0xa7400018, 0xc18001e0, 0xc18001ea, 0xc1400000, 0x6d5c4010, 0x425c0000, 0xc90000f8,
|
||||
0xc1c00000, 0xc55c0308, 0x691c8008, 0xc5901838, 0x691c8018, 0xcd0000f8, 0x6d5c4010, 0x425c0000,
|
||||
0xc1c00006, 0x755c8000, 0x5dd00000, 0xcd80183a, 0x5dd00002, 0xcd80103a, 0x5dd00004, 0xcd80083a,
|
||||
0x5dd00006, 0xcd80003a, 0x5b300008, 0xdf9400f8, 0xc1008fe0, 0x6d5c4010, 0x411c0000, 0xc98000f8,
|
||||
0xc1c00000, 0xc55c0308, 0x699cc000, 0x6d9b0010, 0x6f1c4010, 0x425c0000, 0xc94000f8, 0xc1c00000,
|
||||
0xc71c0308, 0x695ca008, 0xc5941838, 0x695ca018, 0xcd4000f8, 0x6f1c4010, 0x425c0000, 0xc1c00006,
|
||||
0x771ca000, 0x5dd40000, 0xcd80183a, 0x5dd40002, 0xcd80103a, 0x5dd40004, 0xcd80083a, 0x5dd40006,
|
||||
0xcd80003a, 0x5b300002, 0x582c0022, 0xc1c00000, 0xcdc000f8, 0x80000e18, 0xdb8800f9, 0xdb4800f8,
|
||||
0xc2400000, 0xdf240038, 0xc0004024, 0xcb8000f8, 0x00000000, 0xc3400000, 0xc7b50038, 0xc2800000,
|
||||
0xc7a88018, 0xc000fa40, 0xc8fc00f8, 0xc2800000, 0x582c0004, 0xca800038, 0xa4ce0042, 0x58ec0040,
|
||||
0xc1c00000, 0x580c0004, 0xc9c00038, 0x00000000, 0x00000000, 0x729d4000, 0x7e412000, 0x76692000,
|
||||
0xc0400000, 0xc7840008, 0xc000a0ae, 0x5de40000, 0x84000070, 0xc0c00000, 0xc8c000f8, 0x5dc40000,
|
||||
0xdcb800fb, 0xdcb400fa, 0x84000ffa, 0x5dcc0000, 0xdcb800fb, 0xdcb400fa, 0x84000fda, 0xc0c00000,
|
||||
0xccc000f8, 0x800001b8, 0xc0c00002, 0xccc000f8, 0xc65000f8, 0x61010028, 0x5dc40000, 0x84000018,
|
||||
0x62410008, 0x800002e8, 0x6e144000, 0x59544d08, 0xc0400000, 0x58140004, 0xc84000b8, 0xa78200d0,
|
||||
0xc0800000, 0xc1c00000, 0x6e1c2000, 0x59dc5fe0, 0x581c0002, 0xc8820078, 0x581c0000, 0xc9c00078,
|
||||
0xc1800000, 0x58140006, 0xc9800078, 0x409ce000, 0xc0800000, 0x581c0000, 0xc8800078, 0x00000000,
|
||||
0x00000000, 0x40b44000, 0x4588e000, 0x88000030, 0xc1c00002, 0x69e0e000, 0x7dc0e000, 0x765d2000,
|
||||
0x80000038, 0xa7800030, 0x5dc40000, 0x84000022, 0xc1ee0002, 0x75c4e000, 0xc4cc2002, 0x61010028,
|
||||
0xa60afed0, 0x00000000, 0x5de40000, 0xdcb800fb, 0xdcb400fa, 0x84000e22, 0x5dcc0000, 0x840000ba,
|
||||
0xa78000b0, 0x62810028, 0x840000a2, 0x6e0c4000, 0x58cc4d08, 0xc1000000, 0x580c0004, 0xc90000b8,
|
||||
0x580c0000, 0xc98000b8, 0x7d00a000, 0xc1f00002, 0x5ddc0002, 0x755ca000, 0x59540002, 0xc1ee0002,
|
||||
0x75d0e000, 0xc5d400fa, 0x45948000, 0x580c0004, 0xcd0000b8, 0x8000ff60, 0x5de40000, 0xdcb800fb,
|
||||
0xdcb400fa, 0x84000d42, 0x62410008, 0xa7800098, 0x00000000, 0xc0c00000, 0xc65000f8, 0x6100a028,
|
||||
0x6d584000, 0x59984d08, 0xc0400000, 0x58180004, 0xc84000b8, 0x00000000, 0x00000000, 0xa46e002a,
|
||||
0x44c4e000, 0x88000018, 0xc56000f8, 0xc44c00f8, 0x6100a028, 0xa54aff98, 0x6e184000, 0x59984d08,
|
||||
0xc0400000, 0xc0800000, 0x6e1c2000, 0x59dc5fe0, 0x581c0002, 0xc8420078, 0x581c0000, 0xc8800078,
|
||||
0xc1400000, 0x58180006, 0xc9400078, 0x40484000, 0xc0c00000, 0x58080000, 0xc8c00078, 0x00000000,
|
||||
0xa7820038, 0x40f42000, 0x5dd5fffe, 0x84000022, 0x4544a000, 0x58180006, 0xcd400078, 0xa7800088,
|
||||
0xc0400000, 0x58180000, 0xc84000b8, 0xc1000000, 0x58180004, 0xc90000b8, 0x5dc40000, 0x8400004a,
|
||||
0xc1ee0002, 0x5ddc0002, 0x445ce000, 0x8400002a, 0x450c8000, 0x45348000, 0x58180004, 0xcd0000b8,
|
||||
0x6e106000, 0x5910b640, 0x58100006, 0xc98000f8, 0x58100004, 0xc94000f8, 0x418cc000, 0x58100006,
|
||||
0xcd8000f8, 0x59540002, 0x58100004, 0xcd4000f8, 0x6e242000, 0x5a645fe0, 0xc0c00000, 0x58240002,
|
||||
0xc8c20078, 0xc1000000, 0x58240000, 0xc9020038, 0x582c002a, 0xcc8000f8, 0x582c002c, 0xce0000f8,
|
||||
0x6d102000, 0x58cc0004, 0x450ce000, 0xc1c00000, 0xc5cc00fe, 0x58240002, 0x6cde0000, 0xcdc21078,
|
||||
0xc0e00002, 0x68e06000, 0xd8f000f8, 0xdcb800f9, 0xdcb400f8, 0xc0006910, 0xc8c000f9, 0xc90000f8,
|
||||
0xcd8000f9, 0xcd8000f9, 0xa7400018, 0xc18001e0, 0xc18001ea, 0xc1400000, 0x6d5c4010, 0x425c0000,
|
||||
0xc90000f8, 0xc1c00000, 0xc55c0308, 0x691c8008, 0xc5901838, 0x691c8018, 0xcd0000f8, 0x6d5c4010,
|
||||
0x425c0000, 0xc1c00006, 0x755c8000, 0x5dd00000, 0xcd80183a, 0x5dd00002, 0xcd80103a, 0x5dd00004,
|
||||
0xcd80083a, 0x5dd00006, 0xcd80003a, 0x5b300008, 0xdf9400f8, 0xc1008fe0, 0x6d5c4010, 0x411c0000,
|
||||
0xc98000f8, 0xc1c00000, 0xc55c0308, 0x699cc000, 0x6d9b0010, 0x6f1c4010, 0x425c0000, 0xc94000f8,
|
||||
0xc1c00000, 0xc71c0308, 0x695ca008, 0xc5941838, 0x695ca018, 0xcd4000f8, 0x6f1c4010, 0x425c0000,
|
||||
0xc1c00006, 0x771ca000, 0x5dd40000, 0xcd80183a, 0x5dd40002, 0xcd80103a, 0x5dd40004, 0xcd80083a,
|
||||
0x5dd40006, 0xcd80003a, 0x5b300002, 0x582c0022, 0xc1c00000, 0xcdc000f8, 0x80001610, 0x00000000,
|
||||
0xa9440328, 0xc000e444, 0xc90000f8, 0xc0006956, 0xc8c000f8, 0xc000e442, 0xcd0000f8, 0x70d06000,
|
||||
0xc0006956, 0xccc000f8, 0xc1c00002, 0x69f4e000, 0xc0006960, 0xc88000f8, 0x74dc6000, 0x84001b0a,
|
||||
0x749c4000, 0x80000008, 0xc000401a, 0xc9c000f8, 0x00000000, 0xc000f41a, 0xcdc000f8, 0xc0c00000,
|
||||
0xc0004054, 0xc8c00078, 0xc0006958, 0xc93400f8, 0x6f5ca000, 0x40dc6000, 0x40d06000, 0xc4c000f8,
|
||||
0xc94000f8, 0x00000000, 0x00000000, 0xa57e01a0, 0xc0004054, 0xc9820078, 0x6d1c2010, 0x59100004,
|
||||
0x419cc000, 0x6f5c8000, 0x419cc000, 0xc1c00040, 0x45d0e000, 0xc1c00000, 0xc5d000fe, 0xc0006958,
|
||||
0xcd3400f8, 0x5dc80000, 0x8400016a, 0x580c0002, 0xc90000f8, 0x582c0032, 0xc1c00000, 0xcdc000f8,
|
||||
0x582c002a, 0xccc000f8, 0x582c0034, 0xcd4000f8, 0x582c0036, 0xcd0000f8, 0xa9460042, 0xc58000f8,
|
||||
0xc90000f8, 0x582c0032, 0xc1c00004, 0xcdc000f8, 0x582c0038, 0xcd0000f8, 0xc1c00000, 0xc55e6018,
|
||||
0x582c002c, 0xcdc000f8, 0x582c003a, 0xc8c000f8, 0x582c003c, 0xc9c000f8, 0xc1800000, 0xc5580078,
|
||||
0x58cc0002, 0x41d8e000, 0x582c003a, 0xccc000f8, 0x582c003c, 0xcdc000f8, 0x80000070, 0xc0006956,
|
||||
0xc8c000f8, 0xc1c00002, 0x69f4e000, 0x7dc0e000, 0x74dc6000, 0xccc000f8, 0x80001890, 0xc4c000f8,
|
||||
0xc1c00000, 0xc5d41f00, 0xcd4000f8, 0x80001868, 0x80000b48, 0xdb8800f9, 0xdb4800f8, 0xdb1000f9,
|
||||
0xc2400000, 0xdf240038, 0xc0004024, 0xcb8000f8, 0xdcb400f8, 0x6f404000, 0x58004d48, 0x58000006,
|
||||
0xcb000078, 0xc3400000, 0xc7b50038, 0xc2800000, 0xc7a88018, 0xc000fa40, 0xc8fc00f8, 0xc2800000,
|
||||
0x582c0004, 0xca800038, 0xa4ce0042, 0x58ec0040, 0xc1c00000, 0x580c0004, 0xc9c00038, 0x00000000,
|
||||
0x00000000, 0x729d4000, 0x7e412000, 0x76692000, 0xc0400000, 0xc7840008, 0xc000a0ae, 0x5de40000,
|
||||
0x84000060, 0xc0c00000, 0xc8c000f8, 0x5dc40000, 0xdcb800fb, 0xdcb400fa, 0xdd3000fb, 0x8400170a,
|
||||
0x80000360, 0xc0c00000, 0xccc000f8, 0x80000348, 0xc1c00002, 0xc000691c, 0xcdc000f8, 0xc0c00002,
|
||||
0xccc000f8, 0xc65000f8, 0x61010028, 0x5dc40000, 0x84000018, 0x62410008, 0x800005a0, 0xc0007e26,
|
||||
0xc94000f8, 0xc0400000, 0x00000000, 0x6140c028, 0x00000000, 0x00000000, 0x8400009a, 0xcd4000f8,
|
||||
0x6d804000, 0x5800b7c0, 0x58000000, 0x484000b8, 0x00000000, 0x00000000, 0x58000004, 0xcc4000b8,
|
||||
0x5dc40000, 0x8400ff70, 0xc0007e28, 0xc84000f8, 0xc1c00002, 0x69d8e000, 0x705c2000, 0xcc4000f8,
|
||||
0x8000ff38, 0xc2000000, 0xc0c00000, 0x580c7e2a, 0xc90000f8, 0x00000000, 0x00000000, 0xc50400f8,
|
||||
0x75248000, 0x61010028, 0x58205fb0, 0xc9c000f8, 0x00000000, 0xc1800000, 0x581c0006, 0xc9800078,
|
||||
0xa7820108, 0xc0800000, 0xc1c00000, 0x6e1c2000, 0x59dc5fe0, 0x581c0002, 0xc8820078, 0x581c0000,
|
||||
0xc9c00078, 0x00000000, 0x00000000, 0x409ce000, 0xc0800000, 0x581c0000, 0xc8800078, 0x00000000,
|
||||
0x00000000, 0x40b44000, 0x4588e000, 0x88000070, 0xc0007e3c, 0xc9c000f8, 0x00000000, 0x00000000,
|
||||
0xa5c00028, 0x00000000, 0x7c40e000, 0x765d2000, 0x80000068, 0xc1c00002, 0x69e0e000, 0x7dc0e000,
|
||||
0x765d2000, 0xc0007e3c, 0xc9c000f8, 0x61010028, 0x8400002a, 0x00000000, 0xa5c0fed2, 0x00000000,
|
||||
0x8000fe90, 0x58cc0002, 0x5dcc0012, 0x8800fe42, 0x5de40000, 0xdcb800fb, 0xdcb400fa, 0xdd3000fb,
|
||||
0x840013c2, 0x80000018, 0x5dcc0000, 0x8400018a, 0xa7800180, 0xc2000000, 0xc0400000, 0x58047e2a,
|
||||
0xc88000f8, 0xc0007e28, 0xc9c000f8, 0x00000000, 0x00000000, 0x74a44000, 0x75c8e000, 0x45c8e000,
|
||||
0x84000108, 0x74a84000, 0x60810028, 0x840000f2, 0x6e0c4000, 0x58ccb7c0, 0xc1000000, 0x580c0004,
|
||||
0xc90000b8, 0xc1800000, 0x580c0000, 0xc98000b8, 0x7d00a000, 0xc1f00002, 0x5ddc0002, 0x755ca000,
|
||||
0x59540002, 0xc1ee0002, 0x75d0e000, 0xc5d400fa, 0x45948000, 0x580c0004, 0xcd0000b8, 0x5dd00000,
|
||||
0x8400ff52, 0xc0007e28, 0xc90000f8, 0xc1c00002, 0x69e0e000, 0x7dc0e000, 0x751c8000, 0xcd0000f8,
|
||||
0x8000ff10, 0x58440002, 0x5dc40012, 0x8800fea2, 0x5de40000, 0xdcb800fb, 0xdcb400fa, 0xdd3000fb,
|
||||
0x84001202, 0x62410008, 0xa7800100, 0x00000000, 0xa7820068, 0x00000000, 0xa7860058, 0xc0004022,
|
||||
0xc0c00000, 0xc8c00078, 0x00000000, 0x00000000, 0x470ce000, 0xdcb800fd, 0xdcb400fc, 0xdd3000fd,
|
||||
0x88001182, 0xc0c00000, 0xc65000f8, 0x6100a028, 0x6d584000, 0x5998b7c0, 0xc0400000, 0x58180004,
|
||||
0xc84000b8, 0x00000000, 0x00000000, 0xa46e002a, 0x44c4e000, 0x88000018, 0xc56000f8, 0xc44c00f8,
|
||||
0x6100a028, 0xa54aff98, 0x6e184000, 0x5998b7c0, 0xc0400000, 0xc0800000, 0x6e1c2000, 0x59dc5fe0,
|
||||
0x581c0002, 0xc8420078, 0x581c0000, 0xc8800078, 0x58205fb0, 0xc9c000f8, 0x00000000, 0xc1400000,
|
||||
0x581c0006, 0xc9400078, 0x40484000, 0xc0c00000, 0x58080000, 0xc8c00078, 0x00000000, 0xa78200c0,
|
||||
0x40f42000, 0x4704e000, 0xdcb800fd, 0xdcb400fc, 0xdd3000fd, 0x8800101a, 0x5dd5fffe, 0x84000042,
|
||||
0x4544a000, 0x58205fb0, 0xc9c000f8, 0x00000000, 0x00000000, 0x581c0006, 0xcd400078, 0x5df1fffe,
|
||||
0x8400003a, 0x47058000, 0xdcb400f8, 0x6f404000, 0x58004d48, 0x58000006, 0xcf000078, 0xa78000d0,
|
||||
0xc0400000, 0x58180000, 0xc84000b8, 0xc1000000, 0x58180004, 0xc90000b8, 0x5dc40000, 0x84000092,
|
||||
0xc1ee0002, 0x5ddc0002, 0x445ce000, 0x84000072, 0x450c8000, 0x45348000, 0x58180004, 0xcd0000b8,
|
||||
0x5dd00000, 0x84000012, 0xa52e0038, 0xc0007e28, 0xc84000f8, 0xc1c00002, 0x69e0e000, 0x705c2000,
|
||||
0xcc4000f8, 0x6e106000, 0x5910b640, 0x58100006, 0xc98000f8, 0x58100004, 0xc94000f8, 0x418cc000,
|
||||
0x58100006, 0xcd8000f8, 0x59540002, 0x58100004, 0xcd4000f8, 0x6e242000, 0x5a645fe0, 0xc0c00000,
|
||||
0x58240002, 0xc8c20078, 0xc1000000, 0x58240000, 0xc9020038, 0x582c002a, 0xcc8000f8, 0x582c002c,
|
||||
0xce0000f8, 0xc48000f8, 0xc94000f8, 0x58080002, 0xc98000f8, 0x582c0034, 0xcd4000f8, 0x582c0036,
|
||||
0xcd8000f8, 0x582c0038, 0xc1c00000, 0xcdc000f8, 0x582c0032, 0xc1c00000, 0xcdc000f8, 0x6d102000,
|
||||
0x58cc0004, 0x450ce000, 0xc1c00000, 0xc5cc00fe, 0x58240002, 0x6cde0000, 0xcdc21078, 0xc0e00002,
|
||||
0x68e06000, 0xd8f000f8, 0xdcb800f9, 0xdcb400f8, 0xdd3000f9, 0xc0006910, 0xc8c000f9, 0xc90000f8,
|
||||
0xc1c00000, 0xc1400040, 0x60c04000, 0x7494e000, 0x8400007a, 0xc1400080, 0x61004000, 0x58880040,
|
||||
0x7494e000, 0x84000052, 0x00000000, 0xab6c0002, 0x00000000, 0x00000000, 0x984047e8, 0xc0006902,
|
||||
0x7494e000, 0x84000052, 0x00000000, 0xab6c0002, 0x00000000, 0x00000000, 0x98405d98, 0xc0006902,
|
||||
0xc8c000f8, 0xc3c00000, 0x8000ff58, 0xc0006910, 0xc1c00000, 0xc49ca000, 0x401c0000, 0xc8c000f8,
|
||||
0xc1000002, 0xc1400000, 0xc4940020, 0x6914e000, 0x70dc6000, 0xccc000f8, 0x582c0020, 0xcc8000f8,
|
||||
0xc1c00002, 0x582c0022, 0xcdc000f8, 0xc2409c00, 0x6c9c6000, 0x425d2000, 0xc2807600, 0x6c9c6000,
|
||||
0x429d4000, 0x582c002c, 0xc98000f8, 0x582c0026, 0xce8000f8, 0x582c0028, 0xce4000f8, 0x58240008,
|
||||
0xcd8000f8, 0x5838000a, 0xc98000f8, 0xc000ea10, 0xc2000000, 0xca3c0070, 0x6d9c8000, 0x41d8e000,
|
||||
0x421d0000, 0x5a204000, 0x582c002a, 0xc98000f8, 0xc1400000, 0xc1000000, 0x58180000, 0xc942e020,
|
||||
0x58180002, 0xc90000e0, 0x5828000e, 0xcd8000f8, 0x58280002, 0xc1c00000, 0xcdc00078, 0x41148000,
|
||||
0x58280004, 0xcd0000e0, 0x58a40000, 0x586c0008, 0xc44000f8, 0xc8c000f9, 0xc90000f9, 0xc94000f8,
|
||||
0xc48000f8, 0xccc000f9, 0xcd0000f9, 0xcd4000f9, 0x5df00000, 0x84000138, 0x58200000, 0xc1800000,
|
||||
0x421d0000, 0x5a204000, 0x582c002a, 0xc98000f8, 0xc1400000, 0xc1000000, 0xc58000f8, 0xc9c000f8,
|
||||
0x5824000a, 0xcd8000f8, 0x5824000c, 0xcdc000f8, 0x59ac0034, 0x58180000, 0xc942e020, 0x58180002,
|
||||
0xc90000e0, 0xc000401e, 0xc98000f8, 0x58280002, 0xc1c00000, 0xcdc00078, 0x41148000, 0xc1400000,
|
||||
0xc5941078, 0x7d40a000, 0x75148000, 0xc1400000, 0xc5961078, 0x71148000, 0x58280004, 0xcd0000e0,
|
||||
0x58a40000, 0x586c0008, 0xc44000f8, 0xc8c000f9, 0xc90000f9, 0xc94000f8, 0xc48000f8, 0xccc000f9,
|
||||
0xcd0000f9, 0xcd4000f9, 0x5df00000, 0x84000138, 0x58200000, 0xc1800000, 0xcd8000f9, 0xcd8000f9,
|
||||
0xcd8000f9, 0xcd8000f9, 0xcd8000f9, 0xcd8000f9, 0xcd8000f9, 0xcd8000f9, 0xcd8000f9, 0xcd8000f9,
|
||||
0xcd8000f9, 0xcd8000f9, 0xcd8000f9, 0xcd8000f9, 0xcd8000f9, 0xcd8000f9, 0xcd8000f9, 0xcd8000f9,
|
||||
0xcd8000f9, 0xc18001ea, 0xc1c00002, 0x75f4e000, 0xc1c001e0, 0xc5d800fa, 0xc1400000, 0x6d5c4010,
|
||||
0x421c0000, 0xc1c00006, 0x755c8000, 0x5dd00000, 0xcd80183a, 0x5dd00002, 0xcd80103a, 0x5dd00004,
|
||||
0xcd80083a, 0x5dd00006, 0xcd80003a, 0x5b300008, 0xc000fa40, 0xc93c00f8, 0xc1400000, 0x582c0002,
|
||||
0xc9428018, 0xc0400000, 0xc0800080, 0x44944000, 0xc45800f8, 0xc1c00200, 0x75d0e000, 0xc49c00f8,
|
||||
0xc5d800fa, 0x582c0030, 0xcd4000f8, 0xd97800f8, 0x5828000e, 0xc9c000f8, 0xc0c00000, 0x582c0002,
|
||||
0xc8c10038, 0xc1000000, 0x581c0000, 0xc9000078, 0x00000000, 0x00000000, 0xc50800f8, 0x4518e000,
|
||||
0xc59c00f8, 0xc5c800fc, 0xc4d400f8, 0x44c8e000, 0xc49c00f8, 0xc5d400fc, 0x582c002e, 0xcd4000f8,
|
||||
0xdf9000f8, 0x4150e000, 0xd9f800f8, 0x41f0e000, 0x5ddc0086, 0x88000082, 0xc18000a0, 0x6f1c4010,
|
||||
0xcd8000f9, 0xcd8000f9, 0xcd8000f9, 0xcd8000f9, 0xcd8000f9, 0xcd8000f9, 0xcd8000f9, 0xc18001ea,
|
||||
0xc1c00002, 0x75f4e000, 0xc1c001e0, 0xc5d800fa, 0xc1400000, 0x6d5c4010, 0x421c0000, 0xc1c00006,
|
||||
0x755c8000, 0x5dd00000, 0xcd80183a, 0x5dd00002, 0xcd80103a, 0x5dd00004, 0xcd80083a, 0x5dd00006,
|
||||
0xcd80003a, 0x5b300008, 0xc000fa40, 0xc93c00f8, 0xc1400000, 0x582c0002, 0xc9428018, 0xc0400000,
|
||||
0xc0800080, 0x44944000, 0xc45800f8, 0xc1c00200, 0x75d0e000, 0xc49c00f8, 0xc5d800fa, 0x582c0030,
|
||||
0xcd4000f8, 0xd97800f8, 0x59ec0034, 0xc0c00000, 0x582c0002, 0xc8c10038, 0xc1000000, 0x581c0000,
|
||||
0xc9000078, 0x00000000, 0x00000000, 0xc50800f8, 0x4518e000, 0xc59c00f8, 0xc5c800fc, 0xc4d400f8,
|
||||
0x44c8e000, 0xc49c00f8, 0xc5d400fc, 0x582c002e, 0xcd4000f8, 0x582c0032, 0xc88000f8, 0xdf9000f8,
|
||||
0x4150e000, 0x41c8e000, 0xd9f800f8, 0x41f0e000, 0x5ddc0086, 0x88000082, 0xc18000a0, 0x6f1c4010,
|
||||
0x421c0000, 0xc1c00006, 0x771ca000, 0x5dd40000, 0xcd80183a, 0x5dd40002, 0xcd80103a, 0x5dd40004,
|
||||
0xcd80083a, 0x5dd40006, 0xcd80003a, 0x5b300002, 0x80000158, 0x00000000, 0x00000000, 0x00000000,
|
||||
0xdf9400f8, 0xc1008fe0, 0x6d5c4010, 0x411c0000, 0xc98000f8, 0xc1c00000, 0xc55c0308, 0x699cc000,
|
||||
@ -269,109 +340,136 @@ static unsigned int firmware_binary_code[] = {
|
||||
0xcd80103a, 0x5dcc0004, 0xcd80083a, 0x5dcc0006, 0xcd80003a, 0x5b300002, 0xc18000a0, 0x6f1c4010,
|
||||
0x421c0000, 0xc1c00006, 0x771ca000, 0x5dd40000, 0xcd80183a, 0x5dd40002, 0xcd80103a, 0x5dd40004,
|
||||
0xcd80083a, 0x5dd40006, 0xcd80003a, 0x5b300002, 0x582c0022, 0xc1c00000, 0xcdc000f8, 0x00000000,
|
||||
0x00000000, 0x5df00088, 0x880002f8, 0x582c0020, 0xc98000f8, 0xc2800000, 0xc2400000, 0xc5a80528,
|
||||
0x582c002e, 0xc98000f8, 0xc1000088, 0x45308000, 0xc51400f8, 0x4590e000, 0xc59c00f8, 0xc5d400fc,
|
||||
0xc5681930, 0x5838000a, 0xc90000f8, 0xc7281230, 0xc7e80008, 0xc5280b30, 0xd93800f8, 0xc1c00002,
|
||||
0xc5e80400, 0x4594e000, 0x8400001a, 0xc1c00000, 0xc5e80400, 0x5dd80000, 0x8400002a, 0xc1c00002,
|
||||
0xc5e80300, 0xc1c00002, 0xc5e80200, 0x582c0022, 0xc94000f8, 0xc7640e08, 0x00000000, 0x5d540002,
|
||||
0x8400001a, 0xc1c00002, 0xc5e40d00, 0xc0c00000, 0xc68f2030, 0x430c8000, 0xc5241838, 0xc0800088,
|
||||
0x44904000, 0xc1c00000, 0xc5c800fc, 0x582c0030, 0xc94000f8, 0xc0400000, 0x582c0002, 0xc8420018,
|
||||
0xc49000f8, 0x4548e000, 0xc55c00f8, 0xc5d000fc, 0xc5241418, 0x44546000, 0xc4e41018, 0x4550a000,
|
||||
0x582c0030, 0xcd4000f8, 0xc0c00000, 0xc68f2030, 0x458cc000, 0x582c002e, 0xcd8000f8, 0x43118000,
|
||||
0x430d8000, 0xdf9800f8, 0xc000ea10, 0xc1400000, 0xc97c0070, 0x6d9c8000, 0x41d8e000, 0x415ca000,
|
||||
0x59544000, 0x00000000, 0xc1000000, 0xc0000000, 0xc9140038, 0x00000000, 0x00000000, 0x59100002,
|
||||
0xcd140038, 0x98404d30, 0xc68c00f8, 0xc65000f8, 0x00000000, 0x5df00088, 0x8800ef02, 0x00000000,
|
||||
0x80000008, 0x5df00000, 0x840000ba, 0xc1c00002, 0xc000691c, 0xcdc000f8, 0x5838000a, 0xc94000f8,
|
||||
0xc1000000, 0xc000ea14, 0xc93c0038, 0x59540002, 0x00000000, 0x4514e000, 0xc1c00000, 0xc5d400fe,
|
||||
0x5838000a, 0xcd4000f8, 0x58380004, 0xc94000f8, 0x00000000, 0x00000000, 0x59540002, 0x58380004,
|
||||
0xcd4000f8, 0x5df00000, 0x84000058, 0xa7400020, 0x00000000, 0x6ff42000, 0x8000ea00, 0x5bfc0002,
|
||||
0x5dfc0002, 0x8400e812, 0x00000000, 0x00000000, 0x00000000, 0xab6c0052, 0x984047e8, 0xc0006902,
|
||||
0xc8c000f8, 0xc3c00000, 0xab6c002a, 0x984047e8, 0xc0006902, 0xc8c000f8, 0xc3c00000, 0xc0004032,
|
||||
0xcbc000f8, 0xc0004038, 0xcb8000f8, 0xc000691a, 0xcb0000f8, 0xc000403a, 0xcb4000f8, 0xc72c00f8,
|
||||
0xa7800058, 0xc2800000, 0x00000000, 0x984041b8, 0xc0c07c80, 0xc0007c00, 0x00000000, 0x98404220,
|
||||
0xc0006952, 0xc80000f8, 0xc1000000, 0xa7900058, 0xc2800002, 0x00000000, 0x984041b8, 0xc0c07c80,
|
||||
0xc0007c00, 0x00000000, 0x98404220, 0xc0006952, 0xc80000f8, 0xc1000000, 0x472ce000, 0x8400023a,
|
||||
0xc0c00000, 0xc78e0020, 0xc1c00002, 0x69cc8000, 0xc78f0020, 0x69cce000, 0x711c8000, 0xc000f41a,
|
||||
0xcfc000f8, 0xc1c00000, 0xc7dc4050, 0x581cc000, 0xcb0000f8, 0x00000000, 0x00000000, 0x76d16000,
|
||||
0x7d008000, 0x77118000, 0x732d8000, 0xcf0000f8, 0xc000691a, 0xcec000f8, 0x80000180, 0x5ea80000,
|
||||
0xc40c00fa, 0xc2400000, 0x580c0004, 0xca400038, 0x58cc0040, 0xc1c00000, 0x580c0004, 0xc9c00038,
|
||||
0x9c400000, 0x00000000, 0x00000000, 0x725d2000, 0x62406028, 0x84000032, 0xc9cc00f8, 0x00000000,
|
||||
0x00000000, 0x411c8000, 0x8000ffd0, 0xc1400000, 0xc7970020, 0x6f4e0010, 0x5de80000, 0xc74c00fa,
|
||||
0xc7960022, 0xc1c00000, 0xc4dd0038, 0x45d0e000, 0x88000048, 0xc1c00000, 0xc4dc0038, 0x451ce000,
|
||||
0x88000050, 0x9c400000, 0x00000000, 0x00000000, 0x00000000, 0xc1c00002, 0x9c400000, 0x69d4e000,
|
||||
0x7dc0e000, 0x76dd6000, 0x9c400000, 0xc1c00002, 0x69d4e000, 0x72dd6000, 0xc0004028, 0xcbc000f8,
|
||||
0xc000691c, 0xcb8000f8, 0xa7c0c780, 0x00000000, 0x5df80000, 0x8400c768, 0xc1c00002, 0xc000e070,
|
||||
0xcdc00000, 0x8000c748, 0xdcbc00f9, 0xdcb800f8, 0xdd3400f9, 0xc2400040, 0xc000690c, 0xc8c000f9,
|
||||
0xc90000f8, 0xc1c00000, 0x60c18000, 0x7724e000, 0x84000052, 0x61018000, 0x7724e000, 0x84000032,
|
||||
0x98404ec0, 0x00000000, 0x00000000, 0x00000000, 0x8000ff90, 0x5b300040, 0xc2c09400, 0x6f1c6000,
|
||||
0x42dd6000, 0xc2809800, 0x429d4000, 0x58340022, 0xcf0000f8, 0x582c0008, 0xcf8000f8, 0xc000690c,
|
||||
0xc1c00000, 0xc71ca000, 0x401c0000, 0xc8c000f8, 0xc2000002, 0x6a30e000, 0x70dc6000, 0xccc000f8,
|
||||
0x58340008, 0xc8c000f9, 0xc90000f9, 0xc94000f9, 0x582c0000, 0xccc000f9, 0xcd0000f9, 0xcd4000f9,
|
||||
0x58340010, 0xc9c000f9, 0xc8c000f9, 0xc90000f9, 0xc94000f9, 0xc98000f9, 0xc84000f9, 0xc88000f9,
|
||||
0x58280000, 0xcdc000f9, 0xccc000f9, 0xcd0000f9, 0xcd4000f9, 0xcd8000f9, 0xcc4000f9, 0xcc8000f9,
|
||||
0xc1c00000, 0x5828000e, 0xc9c3e000, 0x00000000, 0x00000000, 0x5ddc0002, 0x840001ba, 0xc0006908,
|
||||
0xc8c000f8, 0xc0004c00, 0xc1000000, 0x400c0000, 0x58000000, 0xc903e000, 0x00000000, 0x00000000,
|
||||
0x5dd00002, 0x840000e8, 0xc1000000, 0x58000002, 0xc90000e0, 0xc1c00000, 0xc0004022, 0xc9c20008,
|
||||
0x5828000e, 0xcd0000e0, 0x411ce000, 0x58280004, 0xcdc000e0, 0x5828000e, 0xc1fe0002, 0xcdc3ff00,
|
||||
0x5828000e, 0xc1fc0000, 0xcdc3de00, 0x58340020, 0xc1c00000, 0xcdc000f8, 0x58cc0004, 0xc1c00100,
|
||||
0x45cce000, 0xc1c00000, 0xc5cc00fe, 0xc0006908, 0xccc000f8, 0x800000f8, 0xc0c0b600, 0x6f9c6000,
|
||||
0x40dc6000, 0x580c0004, 0xc90000f8, 0x5828000e, 0xc1fc0002, 0xcdc3de00, 0x58340020, 0xc1c00002,
|
||||
0xcdc000f8, 0x59100002, 0x580c0004, 0xcd0000f8, 0x80000080, 0xc0c00000, 0xc0004022, 0xc8c20008,
|
||||
0xc1000000, 0x5828000e, 0xc90000e0, 0x5828000e, 0xc1fc0000, 0xcdc3de00, 0x58340020, 0xc1c00000,
|
||||
0xcdc000f8, 0x410ce000, 0x58280004, 0xcdc000e0, 0x94000000, 0xc1c00002, 0xc000691c, 0xcdc000f8,
|
||||
0xd87800f8, 0xc3800000, 0x580c7400, 0xca4000f9, 0xca0000f8, 0xc3400000, 0xc67c0008, 0xc639c008,
|
||||
0xc674a028, 0xc0c00000, 0xc64d6030, 0xc000ea10, 0xc3000000, 0xcb3c0070, 0x6cdc8000, 0x41cce000,
|
||||
0x431d8000, 0x5b304000, 0x6faca000, 0x5aec7c00, 0xc0c00000, 0xc0000000, 0xc8f00038, 0x6f686000,
|
||||
0x5aa89c00, 0x5ccc0002, 0xccf00038, 0xc1000000, 0xc6128018, 0x5dd00000, 0x840000f2, 0xc1800000,
|
||||
0xc0800000, 0xc61a0018, 0xc60b0038, 0xc1c40002, 0x419cc000, 0x6d9c4010, 0x429c0000, 0xc94000f8,
|
||||
0xc1c00000, 0xc59c0308, 0x695ca000, 0x6d570010, 0x59980002, 0x6c9c4010, 0x431c0000, 0xc1c00006,
|
||||
0x749c2000, 0x5dc40000, 0xcd40183a, 0x5dc40002, 0xcd40103a, 0x5dc40004, 0xcd40083a, 0x5dc40006,
|
||||
0xcd40003a, 0x58880002, 0x5d100002, 0x8400ff50, 0xa61a00a0, 0x582c002a, 0xc90000f8, 0xc0000000,
|
||||
0xc1c00000, 0xcdd3ff00, 0xc1000002, 0x58280008, 0xc94000f8, 0x5df40040, 0xc0006912, 0x44100004,
|
||||
0xc98000f8, 0x6934e000, 0x7dc0e000, 0x759cc000, 0xcd8000f8, 0xc1b00002, 0x6994c000, 0xd9b000f8,
|
||||
0x5ccc0000, 0x84000160, 0x6fcca000, 0x58cc7d80, 0x580c0006, 0xc90000f8, 0xc1400000, 0xc615a000,
|
||||
0x59100002, 0x580c0006, 0xcd0000f8, 0xc1c00000, 0x7d40a000, 0xc55c0000, 0x582c0024, 0xcdc000f8,
|
||||
0xa61a00e8, 0x7f80e000, 0xc5f80000, 0x6faca000, 0x5aec7c00, 0x582c0024, 0xc94000f8, 0x580c0004,
|
||||
0xc98000f8, 0x5dd40002, 0x8400009a, 0xc000ea28, 0x6d1d2000, 0xcdfd2928, 0xc000ea28, 0xc1d00002,
|
||||
0xcdfd0800, 0xc0006948, 0xc9c000f8, 0x403c0000, 0x00000000, 0x41d0e000, 0xcdc000f8, 0x4590c000,
|
||||
0x580c0004, 0xcd8000f8, 0x580c0006, 0xc1c00000, 0xcdc000f8, 0xc0006902, 0xc8c000f8, 0x00000000,
|
||||
0x00000000, 0x58cc0004, 0xc1c00200, 0x45cce000, 0xc1c00000, 0xc5cc00fe, 0xccc000f8, 0xc000f01e,
|
||||
0xc1d00002, 0xcdc10800, 0xdf8400f8, 0x9c400000, 0x00000000, 0x00000000, 0x00000000, 0xc0006904,
|
||||
0xc94000f8, 0xab68008a, 0x00000000, 0x58147200, 0xccc000f9, 0xcd0000f9, 0xc000f016, 0xc1d00002,
|
||||
0x5df00088, 0x88000578, 0x582c0032, 0xca0000f8, 0x582c0038, 0xc8c000f8, 0x5de00000, 0x8400004a,
|
||||
0x582c0020, 0xc98000f8, 0x98405130, 0xc2840002, 0xc5a80528, 0xc2400000, 0x5df00088, 0x88000508,
|
||||
0x582c0020, 0xc98000f8, 0xc2800000, 0xc2400000, 0xc5a80528, 0x582c002e, 0xc98000f8, 0xc1000088,
|
||||
0x45308000, 0xc51400f8, 0x4590e000, 0xc59c00f8, 0xc5d400fc, 0xc5681930, 0x5838000a, 0xc90000f8,
|
||||
0xc7281230, 0xc7e80008, 0xc5280b30, 0xd93800f8, 0xc1c00002, 0xc5e80400, 0x4594e000, 0x8400001a,
|
||||
0xc1c00000, 0xc5e80400, 0x5dd80000, 0x8400002a, 0xc1c00002, 0xc5e80300, 0xc1c00002, 0xc5e80200,
|
||||
0x582c0022, 0xc94000f8, 0xc7640e08, 0x00000000, 0x5d540002, 0x8400001a, 0xc1c00002, 0xc5e40d00,
|
||||
0xc0c00000, 0xc68f2030, 0x430c8000, 0xc5241838, 0xc0800088, 0x44904000, 0xc1c00000, 0xc5c800fc,
|
||||
0x582c0030, 0xc94000f8, 0xc0400000, 0x582c0002, 0xc8420018, 0xc49000f8, 0x4548e000, 0xc55c00f8,
|
||||
0xc5d000fc, 0xc5241418, 0x44546000, 0xc4e41018, 0x4550a000, 0x582c0030, 0xcd4000f8, 0xc0c00000,
|
||||
0xc68f2030, 0x458cc000, 0x582c002e, 0xcd8000f8, 0x43118000, 0x430d8000, 0xdf9800f8, 0xc000ea10,
|
||||
0xc1400000, 0xc97c0070, 0x6d9c8000, 0x41d8e000, 0x415ca000, 0x59544000, 0x00000000, 0xc1000000,
|
||||
0xc0000000, 0xc9140038, 0x00000000, 0x00000000, 0x59100002, 0xcd140038, 0x984063f0, 0xc68c00f8,
|
||||
0xc65000f8, 0x00000000, 0x5df00088, 0x8800e6a2, 0x00000000, 0x80000218, 0xd87800f8, 0xc1000088,
|
||||
0x45308000, 0xc51400f8, 0x4610e000, 0xc61c00f8, 0xc5d400fc, 0xc5681930, 0x46150000, 0x582c0032,
|
||||
0xce0000f8, 0xc56000f8, 0x5838000a, 0xc94000f8, 0xc7281230, 0xc7e80008, 0xc5680b30, 0xc000ea10,
|
||||
0xc1000000, 0xc93c0070, 0x6d5c8000, 0x41d4e000, 0x411c8000, 0x59104000, 0x6f1c4010, 0x411c0000,
|
||||
0xc94000f8, 0xc1c00000, 0xc71c0308, 0x695ca008, 0xc4d71838, 0x695ca018, 0xcd4000f8, 0x5b300002,
|
||||
0x5e200002, 0x84000062, 0x6ccd0000, 0x6f1c4010, 0x411c0000, 0xc94000f8, 0xc1c00000, 0xc71c0308,
|
||||
0x695ca008, 0xc4d71838, 0x695ca018, 0xcd4000f8, 0x5b300002, 0x6ccd0000, 0x582c0038, 0xccc000f8,
|
||||
0xc1400000, 0xc0000000, 0xc9500038, 0x00000000, 0x00000000, 0x59540002, 0xcd500038, 0xdfa000f8,
|
||||
0x984063f0, 0xc68c00f8, 0xc65000f8, 0x00000000, 0x9e000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x5df00000, 0x840000ba, 0xc1c00002, 0xc000691c, 0xcdc000f8, 0x5838000a, 0xc94000f8, 0xc1000000,
|
||||
0xc000ea14, 0xc93c0038, 0x59540002, 0x00000000, 0x4514e000, 0xc1c00000, 0xc5d400fe, 0x5838000a,
|
||||
0xcd4000f8, 0x58380004, 0xc94000f8, 0x00000000, 0x00000000, 0x59540002, 0x58380004, 0xcd4000f8,
|
||||
0x5df00000, 0x84000058, 0xa7400020, 0x00000000, 0x6ff42000, 0x8000df80, 0x5bfc0002, 0x5dfc0002,
|
||||
0x8400dcfa, 0x00000000, 0x00000000, 0x00000000, 0xab6c0052, 0x98405d98, 0xc0006902, 0xc8c000f8,
|
||||
0xc3c00000, 0xab6c002a, 0x98405d98, 0xc0006902, 0xc8c000f8, 0xc3c00000, 0xc0004032, 0xcbc000f8,
|
||||
0xc0004038, 0xcb8000f8, 0xc000691a, 0xcb0000f8, 0xc000403a, 0xcb4000f8, 0xc72c00f8, 0xa7800058,
|
||||
0xc2800000, 0x00000000, 0x98405670, 0xc0c07c80, 0xc0007c00, 0x00000000, 0x984056d8, 0xc0006952,
|
||||
0xc80000f8, 0xc1000000, 0xa7900058, 0xc2800002, 0x00000000, 0x98405670, 0xc0c07c80, 0xc0007c00,
|
||||
0x00000000, 0x984056d8, 0xc0006952, 0xc80000f8, 0xc1000000, 0x472ce000, 0x8400023a, 0xc0c00000,
|
||||
0xc78e0020, 0xc1c00002, 0x69cc8000, 0xc78f0020, 0x69cce000, 0x711c8000, 0xc000f41a, 0xcfc000f8,
|
||||
0xc1c00000, 0xc7dc4050, 0x581cc000, 0xcb0000f8, 0x00000000, 0x00000000, 0x76d16000, 0x7d008000,
|
||||
0x77118000, 0x732d8000, 0xcf0000f8, 0xc000691a, 0xcec000f8, 0x80000180, 0x5ea80000, 0xc40c00fa,
|
||||
0xc2400000, 0x580c0004, 0xca400038, 0x58cc0040, 0xc1c00000, 0x580c0004, 0xc9c00038, 0x9c400000,
|
||||
0x00000000, 0x00000000, 0x725d2000, 0x62406028, 0x84000032, 0xc9cc00f8, 0x00000000, 0x00000000,
|
||||
0x411c8000, 0x8000ffd0, 0xc1400000, 0xc7970020, 0x6f4e0010, 0x5de80000, 0xc74c00fa, 0xc7960022,
|
||||
0xc1c00000, 0xc4dd0038, 0x45d0e000, 0x88000048, 0xc1c00000, 0xc4dc0038, 0x451ce000, 0x88000050,
|
||||
0x9c400000, 0x00000000, 0x00000000, 0x00000000, 0xc1c00002, 0x9c400000, 0x69d4e000, 0x7dc0e000,
|
||||
0x76dd6000, 0x9c400000, 0xc1c00002, 0x69d4e000, 0x72dd6000, 0xc0004028, 0xcbc000f8, 0xc000691c,
|
||||
0xcb8000f8, 0xa7c0b3a0, 0x00000000, 0x5df80000, 0x8400b388, 0xc1c00002, 0xc000e070, 0xcdc00000,
|
||||
0x8000b368, 0xdcbc00f9, 0xdcb800f8, 0xdd3400f9, 0xc2400040, 0xc000401e, 0xd08000f8, 0xc000690c,
|
||||
0xc8c000f9, 0xc90000f8, 0xc1c00000, 0x60c18000, 0x7724e000, 0x84000052, 0x61018000, 0x7724e000,
|
||||
0x84000032, 0x984065b0, 0x00000000, 0x00000000, 0x00000000, 0x8000ff90, 0x5b300040, 0xc2c09400,
|
||||
0x6f1c6000, 0x42dd6000, 0xc2809800, 0x429d4000, 0x58340022, 0xcf0000f8, 0x582c0008, 0xcf8000f8,
|
||||
0xc000690c, 0xc1c00000, 0xc71ca000, 0x401c0000, 0xc8c000f8, 0xc2000002, 0x6a30e000, 0x70dc6000,
|
||||
0xccc000f8, 0x58340008, 0xc8c000f9, 0xc90000f9, 0xc94000f9, 0x582c0000, 0xccc000f9, 0xcd0000f9,
|
||||
0xcd4000f9, 0x58340010, 0xc9c000f9, 0xc8c000f9, 0xc90000f9, 0xc94000f9, 0xc98000f9, 0xc84000f9,
|
||||
0xc88000f9, 0x58280000, 0xcdc000f9, 0xccc000f9, 0xcd0000f9, 0xcd4000f9, 0xcd8000f9, 0xcc4000f9,
|
||||
0xcc8000f9, 0xc1c00000, 0x5828000e, 0xc9c3e000, 0x00000000, 0x00000000, 0x5ddc0002, 0x8400026a,
|
||||
0xc000401a, 0xc9c000f8, 0x00000000, 0xc000f41a, 0xcdc000f8, 0xc000691e, 0xc88000f8, 0xc0006908,
|
||||
0xc8c000f8, 0xc1804c00, 0xc1000100, 0xa9440028, 0xc0004056, 0xc9800078, 0x6d102010, 0x00000000,
|
||||
0x6d1c2010, 0x5ddc0004, 0x449ce000, 0x88000150, 0x418c0000, 0x58000000, 0xc943e000, 0x58cc0004,
|
||||
0x450ce000, 0xc1c00000, 0xc5cc00fe, 0xa5400110, 0xc1000000, 0x58000002, 0xc90000e0, 0xc1c00000,
|
||||
0xc0004022, 0xc9c20008, 0x5828000e, 0xcd0000e0, 0x411ce000, 0xc1400000, 0xdc941078, 0x7d40a000,
|
||||
0x75d4e000, 0xc1400000, 0xdc961078, 0x71d4e000, 0x58280004, 0xcdc000e0, 0x5828000e, 0xc1fe0002,
|
||||
0xcdc3ff00, 0x5828000e, 0xc1fc0000, 0xcdc3de00, 0x58340020, 0xc1c00000, 0xcdc000f8, 0xc0006908,
|
||||
0xccc000f8, 0x58880002, 0xc000691e, 0xcc8000f8, 0x80000130, 0xc0c0b600, 0x6f9c6000, 0x40dc6000,
|
||||
0x580c0004, 0xc90000f8, 0x5828000e, 0xc1fc0002, 0xcdc3de00, 0x58340020, 0xc1c00002, 0xcdc000f8,
|
||||
0x59100002, 0x580c0004, 0xcd0000f8, 0x800000b8, 0xc0c00000, 0xc0004022, 0xc8c20008, 0xc1000000,
|
||||
0x5828000e, 0xc90000e0, 0x5828000e, 0xc1fc0000, 0xcdc3de00, 0x58340020, 0xc1c00000, 0xcdc000f8,
|
||||
0x410ce000, 0xc1400000, 0xdc941078, 0x7d40a000, 0x75d4e000, 0xc1400000, 0xdc961078, 0x71d4e000,
|
||||
0x58280004, 0xcdc000e0, 0x94000000, 0xc1c00002, 0xc000691c, 0xcdc000f8, 0xd87800f8, 0xc3800000,
|
||||
0x580c7400, 0xca4000f9, 0xca0000f8, 0xc3400000, 0xc3c00000, 0xc67c0008, 0x5dfc0004, 0x88000480,
|
||||
0xc639c008, 0xc674a028, 0xc0c00000, 0xc64d6030, 0xc000ea10, 0xc3000000, 0xcb3c0070, 0x6cdc8000,
|
||||
0x41cce000, 0x431d8000, 0x5b304000, 0x6faca000, 0x5aec7c00, 0xc0c00000, 0xc0000000, 0xc8f00038,
|
||||
0x6f686000, 0x5aa89c00, 0x5ccc0002, 0xccf00038, 0xc1000000, 0xc6128018, 0x5dd00000, 0x840000f2,
|
||||
0xc1800000, 0xc0800000, 0xc61a0018, 0xc60b0038, 0xc1c40002, 0x419cc000, 0x6d9c4010, 0x429c0000,
|
||||
0xc94000f8, 0xc1c00000, 0xc59c0308, 0x695ca000, 0x6d570010, 0x59980002, 0x6c9c4010, 0x431c0000,
|
||||
0xc1c00006, 0x749c2000, 0x5dc40000, 0xcd40183a, 0x5dc40002, 0xcd40103a, 0x5dc40004, 0xcd40083a,
|
||||
0x5dc40006, 0xcd40003a, 0x58880002, 0x5d100002, 0x8400ff50, 0xa61a00e8, 0xc000401a, 0xc9c000f8,
|
||||
0x00000000, 0xc000f41a, 0xcdc000f8, 0x5828000a, 0xc90000f8, 0x5828000c, 0xc94000f8, 0xc0000000,
|
||||
0xc1c00000, 0xc5d41f00, 0xcd5000f8, 0xc1000002, 0x58280008, 0xc94000f8, 0x5df40040, 0xc0006912,
|
||||
0x44100004, 0xc98000f8, 0x6934e000, 0x7dc0e000, 0x759cc000, 0xcd8000f8, 0xa9440022, 0xc1b00002,
|
||||
0x6994c000, 0xd9b000f8, 0x5ccc0000, 0x840001e0, 0x6fcca000, 0x58cc7d80, 0x580c0006, 0xc90000f8,
|
||||
0xc1400000, 0xc615a000, 0x59100002, 0x580c0006, 0xcd0000f8, 0xc1c00000, 0x7d40a000, 0xc55c0000,
|
||||
0x582c0024, 0xcdc000f8, 0xa61a0168, 0x7f80e000, 0xc5f80000, 0x6faca000, 0x5aec7c00, 0x582c0024,
|
||||
0xc94000f8, 0x580c0004, 0xc98000f8, 0x5dd40002, 0x8400011a, 0x5dd00080, 0x8800007a, 0xc000ea28,
|
||||
0xc1d2007e, 0xcdfd2928, 0xc000ea28, 0xc1d00002, 0xcdfd0800, 0x5dd0007e, 0xc000ea28, 0x6ddd2000,
|
||||
0xcdfd2928, 0xc000ea28, 0xc1d00002, 0xcdfd0800, 0x80000038, 0xc000ea28, 0x6d1d2000, 0xcdfd2928,
|
||||
0xc000ea28, 0xc1d00002, 0xcdfd0800, 0x583c6948, 0xc9c000f8, 0x00000000, 0x00000000, 0x41d0e000,
|
||||
0xcdc000f8, 0x4590c000, 0x580c0004, 0xcd8000f8, 0x580c0006, 0xc1c00000, 0xcdc000f8, 0xc0006902,
|
||||
0xc8c000f8, 0x00000000, 0x00000000, 0x58cc0004, 0xc1c00200, 0x45cce000, 0xc1c00000, 0xc5cc00fe,
|
||||
0xccc000f8, 0xc000f01e, 0xc1d00002, 0xcdc10800, 0xdf8400f8, 0x9c400000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0xc0006904, 0xc94000f8, 0xc000fe08, 0x49c00040, 0x00000000, 0x00000000, 0x5ddc0100,
|
||||
0x8800ffd8, 0xab68008a, 0x00000000, 0x58147200, 0xccc000f9, 0xcd0000f9, 0xc000f016, 0xc1d00002,
|
||||
0xcdc10800, 0x59540004, 0xc1c00200, 0x45d4e000, 0xc1c00000, 0xc5d400fe, 0x9c400000, 0xc0006904,
|
||||
0xcd4000f8, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x8000ff60, 0xc0006906, 0xc94000f8,
|
||||
0xab6a008a, 0x00000000, 0x58147400, 0xccc000f9, 0xcd0000f9, 0xc000f404, 0xc1d00002, 0xcdc10800,
|
||||
0x59540004, 0xc1c00200, 0x45d4e000, 0xc1c00000, 0xc5d400fe, 0x9c400000, 0xc0006906, 0xcd4000f8,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x8000ff60, 0xc08000a0, 0x74d0c000, 0x84000090,
|
||||
0x78d0c000, 0x8400006a, 0x61800018, 0x6180e008, 0x441cc000, 0x84000060, 0x5d940000, 0x84000050,
|
||||
0x60c04008, 0xa48a0040, 0x9c400000, 0x61004008, 0x58880040, 0x00000000, 0xa5400018, 0x00000000,
|
||||
0xc0800080, 0x9c400000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0xc000f412, 0xc9c000f8, 0xc1800000, 0xc0800000, 0xa5c004e8, 0xc5d82028, 0x6d886000, 0x59089800,
|
||||
0x5810000e, 0xc9c3c000, 0x59489400, 0xd9b800f8, 0xa5c0044a, 0x58140008, 0xc98000f8, 0xc0c07b00,
|
||||
0xc0800000, 0x6d9ca000, 0x40dc6000, 0xd9b800f8, 0x580c0002, 0xc8808000, 0x00000000, 0x00000000,
|
||||
0xa480004a, 0x580c0004, 0xc98000f8, 0x58140002, 0xc88000f8, 0x00000000, 0x00000000, 0x4498e000,
|
||||
0x84000110, 0xc1c00000, 0x580c0002, 0xc9c04000, 0x00000000, 0x00000000, 0xa5c0004a, 0x580c0006,
|
||||
0xc98000f8, 0x58140004, 0xc88000f8, 0x00000000, 0x00000000, 0x4498e000, 0x840000a0, 0xc0800000,
|
||||
0x58100002, 0xc8800078, 0x580c001e, 0xc94000f8, 0xc1800000, 0x580c0002, 0xc9810038, 0x40944000,
|
||||
0xa4be0052, 0xc1400000, 0x4498e000, 0x88000118, 0x580c0002, 0xc940e000, 0x00000000, 0x00000000,
|
||||
0xa54000ca, 0xc1c00000, 0x00000000, 0x00000000, 0x00000000, 0xdf9400f8, 0x00000000, 0x00000000,
|
||||
0xc1800000, 0xc5582000, 0xa5400042, 0xc000fb64, 0xc1c00002, 0xcdd80000, 0xc000facc, 0xc1c40002,
|
||||
0xcdd84200, 0x80000220, 0xc000fb64, 0xc1c20002, 0xcdd82100, 0xc000facc, 0xc1c60002, 0xcdd86300,
|
||||
0x800001e8, 0x580c0002, 0xc9c10038, 0x00000000, 0x00000000, 0x589c0000, 0xc000690a, 0xc94000f8,
|
||||
0xc1c00000, 0x5810000e, 0xc9c000e0, 0x59944c00, 0x58180000, 0xcc800078, 0x58180002, 0xcdc000e0,
|
||||
0x58180000, 0xc1fa0002, 0xcdc3bd00, 0x58180000, 0xc1f80002, 0xcdc39c00, 0x58180000, 0xc1fe0000,
|
||||
0xcdc3ff00, 0x59540004, 0xc1c00100, 0x45d4e000, 0xc1c00000, 0xc5d400fe, 0xc000690a, 0xcd4000f8,
|
||||
0xc000e408, 0xc1c00002, 0xcdc000f8, 0x5810000e, 0xc1fe0000, 0xcdc3ff00, 0xdf9400f8, 0xc1800000,
|
||||
0x58100002, 0xc9800078, 0x6d486000, 0x5888b600, 0x58080006, 0xc9c000f8, 0x00000000, 0x00000000,
|
||||
0x419cc000, 0x58080006, 0xcd8000f8, 0xc1800000, 0xc5582000, 0xa540002a, 0xc000fb60, 0xc1c40002,
|
||||
0xcdd84200, 0x80000020, 0xc000fb60, 0xc1c60002, 0xcdd86300, 0xdf9400f8, 0xc1800002, 0x00000000,
|
||||
0x00000000, 0x5dd40040, 0xc000690e, 0x44180004, 0xc88000f8, 0x6994e000, 0x7dc0e000, 0x749c4000,
|
||||
0xcc8000f8, 0x9c400000, 0x00000000, 0x00000000, 0x00000000, 0xc3c00000, 0xc4fc8018, 0xc3800000,
|
||||
0x6fb44000, 0x5b744d08, 0xc3000000, 0x58340006, 0xcb020038, 0xc2c00000, 0xc2800000, 0x5f300002,
|
||||
0xcd4000f8, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x8000ff30, 0xc0006906, 0xc94000f8,
|
||||
0xc000fe0a, 0x49c00040, 0x00000000, 0x00000000, 0x5ddc0100, 0x8800ffd8, 0xab6a008a, 0x00000000,
|
||||
0x58147400, 0xccc000f9, 0xcd0000f9, 0xc000f404, 0xc1d00002, 0xcdc10800, 0x59540004, 0xc1c00200,
|
||||
0x45d4e000, 0xc1c00000, 0xc5d400fe, 0x9c400000, 0xc0006906, 0xcd4000f8, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x8000ff30, 0xc08000a0, 0x74d0c000, 0x84000090, 0x78d0c000, 0x8400006a,
|
||||
0x61800018, 0x6180e008, 0x441cc000, 0x84000060, 0x5d940000, 0x84000050, 0x60c04008, 0xa48a0040,
|
||||
0x9c400000, 0x61004008, 0x58880040, 0x00000000, 0xa5400018, 0x00000000, 0xc0800080, 0x9c400000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xc000f412, 0xc9c000f8,
|
||||
0xc1800000, 0xc0800000, 0xa5c00580, 0xc5d82028, 0xc1c00002, 0xc000691c, 0xcdc000f8, 0x6d886000,
|
||||
0x59089800, 0x5810000e, 0xc9c3c000, 0x59489400, 0xd9b800f8, 0xa5c004ca, 0x58140008, 0xc98000f8,
|
||||
0xc0c07b00, 0xc0800000, 0x6d9ca000, 0x40dc6000, 0xd9b800f8, 0x580c0002, 0xc8808000, 0x00000000,
|
||||
0x00000000, 0xa480004a, 0x580c0004, 0xc98000f8, 0x58140002, 0xc88000f8, 0x00000000, 0x00000000,
|
||||
0x4498e000, 0x84000110, 0xc1c00000, 0x580c0002, 0xc9c04000, 0x00000000, 0x00000000, 0xa5c0004a,
|
||||
0x580c0006, 0xc98000f8, 0x58140004, 0xc88000f8, 0x00000000, 0x00000000, 0x4498e000, 0x840000a0,
|
||||
0xc0800000, 0x58100002, 0xc8800078, 0x580c001e, 0xc94000f8, 0xc1800000, 0x580c0002, 0xc9810038,
|
||||
0x40944000, 0xa4be0052, 0xc1400000, 0x4498e000, 0x88000118, 0x580c0002, 0xc940e000, 0x00000000,
|
||||
0x00000000, 0xa54000ca, 0xc1c00000, 0x00000000, 0x00000000, 0x00000000, 0xdf9400f8, 0x00000000,
|
||||
0x00000000, 0xc1800000, 0xc5582000, 0xa5400042, 0xc000fb64, 0xc1c00002, 0xcdd80000, 0xc000facc,
|
||||
0xc1c40002, 0xcdd84200, 0x800002a0, 0xc000fb64, 0xc1c20002, 0xcdd82100, 0xc000facc, 0xc1c60002,
|
||||
0xcdd86300, 0x80000268, 0x580c0002, 0xc9c10038, 0x00000000, 0x00000000, 0x589c0000, 0xc000401a,
|
||||
0xc9c000f8, 0x00000000, 0xc000f41a, 0xcdc000f8, 0xc000690a, 0xc94000f8, 0xc0c04c00, 0xc1800100,
|
||||
0xa9440028, 0xc0004056, 0xc8c00078, 0x6d982010, 0x00000000, 0x40d46000, 0x59540004, 0x4594e000,
|
||||
0xc1c00000, 0xc5d400fe, 0xc000690a, 0xcd4000f8, 0xc1400000, 0x5810000e, 0xc94000e0, 0xa9440022,
|
||||
0xc1800000, 0xc4c000f8, 0xc98000f8, 0x580c0002, 0xcd4000e0, 0xc4980078, 0xdf9400f8, 0xc1f80006,
|
||||
0xc5db9c18, 0x00000000, 0xc5581508, 0xc4c000f8, 0xcd8000f8, 0xc000e408, 0xc1c00002, 0xcdc000f8,
|
||||
0xc000691e, 0xc98000f8, 0x5810000e, 0xc1fe0000, 0xcdc3ff00, 0x5d980002, 0xc000691e, 0xcd8000f8,
|
||||
0xc1800000, 0x58100002, 0xc9800078, 0x6d486000, 0x5888b600, 0x58080006, 0xc9c000f8, 0x00000000,
|
||||
0x00000000, 0x419cc000, 0x58080006, 0xcd8000f8, 0xc1800000, 0xc5582000, 0xa540002a, 0xc000fb60,
|
||||
0xc1c40002, 0xcdd84200, 0x80000020, 0xc000fb60, 0xc1c60002, 0xcdd86300, 0xdf9400f8, 0xc1800002,
|
||||
0x00000000, 0x00000000, 0x5dd40040, 0xc000690e, 0x44180004, 0xc88000f8, 0x6994e000, 0x7dc0e000,
|
||||
0x749c4000, 0xcc8000f8, 0x9c400000, 0x00000000, 0x00000000, 0x00000000, 0xc000403c, 0xc90000f8,
|
||||
0xc1400000, 0xc4d60078, 0x4550e000, 0x8400003a, 0xcd4000f8, 0xc1c00000, 0xd9c400f9, 0xd9440078,
|
||||
0xc1c00006, 0xd9c400f9, 0xc3c00000, 0xc4fc8018, 0x5bfc0002, 0xc1000000, 0xc140b7b8, 0xc3800000,
|
||||
0x6fb44000, 0x4355a000, 0xc3000000, 0x58340006, 0xcb020038, 0xc2c00000, 0xc2800000, 0x5f300002,
|
||||
0x84000080, 0x58340006, 0xcac00078, 0x58340002, 0xca800078, 0xc2000000, 0x58340002, 0xca020078,
|
||||
0x42e92000, 0x00000000, 0x4624e000, 0xc62400fc, 0x58340000, 0xcb030038, 0x58340006, 0xce400078,
|
||||
0x58340006, 0x6f1e0000, 0xcdc21038, 0x5bb80002, 0x47bce000, 0x8800ff1a, 0x8000b410, 0x00000000,
|
||||
0x00000000, 0x00000000,};
|
||||
0x58340006, 0x6f1e0000, 0xcdc21038, 0x5bb80002, 0x47bce000, 0x8800ff1a, 0xa500003a, 0x00000000,
|
||||
0xc1000002, 0xc3800000, 0xc3c00008, 0xc1404d48, 0x8000fee0, 0x80009bd8, 0x00000000, 0x00000000,
|
||||
0x00000000, 0xa94e9bb8, 0xc0006954, 0xcbc000f8, 0xc3800000, 0xdd790038, 0x5ffc0002, 0xc7bc00fc,
|
||||
0xc0006954, 0xcfc000f8, 0x88009b70, 0xc0004044, 0xcbc000f8, 0xc0004014, 0xcb8000f8, 0x5dfc0000,
|
||||
0x84009b42, 0x6f9d0010, 0x739da000, 0x6f9e0010, 0x735da000, 0x6f9f0010, 0x735da000, 0xc1c0001e,
|
||||
0x775da000, 0xc000e440, 0xcf4000f8, 0x80009ae8, 0x00000000, 0x00000000, 0x00000000,};
|
||||
|
||||
static unsigned int firmware_binary_data[] = {
|
||||
};
|
||||
|
@ -306,6 +306,12 @@
|
||||
#define DREG_B0_LADR PPE_REG_ADDR(0x0DA8)
|
||||
#define DREG_B1_LADR PPE_REG_ADDR(0x0DA9)
|
||||
|
||||
static inline int
|
||||
ifx_drv_ver(char *buf, char *module, int major, int mid, int minor)
|
||||
{
|
||||
return sprintf(buf, "Lantiq %s driver, version %d.%d.%d, (c) 2001-2013 Lantiq Deutschland GmbH\n",
|
||||
module, major, mid, minor);
|
||||
}
|
||||
|
||||
|
||||
#endif // IFXMIPS_PTM_PPE_COMMON_H
|
||||
|
@ -621,12 +621,15 @@ static void do_swap_desc_tasklet(unsigned long arg)
|
||||
static inline int ifx_ptm_version(char *buf)
|
||||
{
|
||||
int len = 0;
|
||||
unsigned int major, minor;
|
||||
unsigned int major, mid, minor;
|
||||
|
||||
ifx_ptm_get_fw_ver(&major, &minor);
|
||||
ifx_ptm_get_fw_ver(&major, &mid, &minor);
|
||||
|
||||
len += sprintf(buf + len, "PTM %d.%d.%d", IFX_PTM_VER_MAJOR, IFX_PTM_VER_MID, IFX_PTM_VER_MINOR);
|
||||
len += sprintf(buf + len, " PTM (E1) firmware version %d.%d\n", major, minor);
|
||||
len += ifx_drv_ver(buf + len, "PTM", IFX_PTM_VER_MAJOR, IFX_PTM_VER_MID, IFX_PTM_VER_MINOR);
|
||||
if ( mid == ~0 )
|
||||
len += sprintf(buf + len, " PTM (E1) firmware version %u.%u\n", major, minor);
|
||||
else
|
||||
len += sprintf(buf + len, " PTM (E1) firmware version %u.%u.%u\n", major, mid, minor);
|
||||
|
||||
return len;
|
||||
}
|
||||
@ -963,7 +966,7 @@ static int ltq_ptm_probe(struct platform_device *pdev)
|
||||
{
|
||||
int ret;
|
||||
int i;
|
||||
char ver_str[128];
|
||||
char ver_str[256];
|
||||
struct port_cell_info port_cell = {0};
|
||||
|
||||
ret = init_priv_data();
|
||||
|
@ -111,7 +111,7 @@ struct ptm_priv_data {
|
||||
|
||||
extern unsigned int ifx_ptm_dbg_enable;
|
||||
|
||||
extern void ifx_ptm_get_fw_ver(unsigned int *major, unsigned int *minor);
|
||||
extern void ifx_ptm_get_fw_ver(unsigned int *major, unsigned int *mid, unsigned int *minor);
|
||||
|
||||
extern void ifx_ptm_init_chip(struct platform_device *pdev);
|
||||
extern void ifx_ptm_uninit_chip(void);
|
||||
|
@ -246,13 +246,21 @@ static inline int pp32_download_code(int pp32, u32 *code_src, unsigned int code_
|
||||
* ####################################
|
||||
*/
|
||||
|
||||
extern void ifx_ptm_get_fw_ver(unsigned int *major, unsigned int *minor)
|
||||
void ifx_ptm_get_fw_ver(unsigned int *major, unsigned int *mid, unsigned int *minor)
|
||||
{
|
||||
ASSERT(major != NULL, "pointer is NULL");
|
||||
ASSERT(minor != NULL, "pointer is NULL");
|
||||
|
||||
*major = FW_VER_ID->major;
|
||||
*minor = FW_VER_ID->minor;
|
||||
if ( *(volatile unsigned int *)FW_VER_ID_NEW == 0 ) {
|
||||
*major = FW_VER_ID->major;
|
||||
*mid = ~0;
|
||||
*minor = FW_VER_ID->minor;
|
||||
}
|
||||
else {
|
||||
*major = FW_VER_ID_NEW->major;
|
||||
*mid = FW_VER_ID_NEW->middle;
|
||||
*minor = FW_VER_ID_NEW->minor;
|
||||
}
|
||||
}
|
||||
|
||||
void ifx_ptm_init_chip(struct platform_device *pdev)
|
||||
|
@ -0,0 +1,129 @@
|
||||
From 53f8fdb534d5222a0e852e38afde3f49832ace06 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Rapha=C3=ABl=20M=C3=A9lotte?= <raphael.melotte@mind.be>
|
||||
Date: Thu, 26 Nov 2020 09:27:40 +0100
|
||||
Subject: [PATCH] hostapd: Add an option to notify management frames on
|
||||
ctrl_iface
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
In some contexts (e.g. Multi-AP) it can be useful to have access to
|
||||
some of the management frames in upper layers (e.g. to be able to
|
||||
process the content of association requests externally).
|
||||
|
||||
Add 'notify_mgmt_frames'. When enabled, it will notify the ctrl_iface
|
||||
when a management frame arrives using 'AP_MGMT_FRAME_RECEIVED'.
|
||||
|
||||
Note that to avoid completely flooding the ctrl_iface, not all
|
||||
management frames are included (e.g. beacons are excluded).
|
||||
|
||||
Signed-off-by: Raphaël Mélotte <raphael.melotte@mind.be>
|
||||
---
|
||||
hostapd/config_file.c | 2 ++
|
||||
hostapd/hostapd.conf | 4 ++++
|
||||
src/ap/ap_config.h | 2 ++
|
||||
src/ap/ieee802_11.c | 25 +++++++++++++++++++++++++
|
||||
src/common/wpa_ctrl.h | 3 +++
|
||||
5 files changed, 36 insertions(+)
|
||||
|
||||
diff --git a/hostapd/config_file.c b/hostapd/config_file.c
|
||||
index e09e6e141..6b88ecd17 100644
|
||||
--- a/hostapd/config_file.c
|
||||
+++ b/hostapd/config_file.c
|
||||
@@ -4323,6 +4323,8 @@ static int hostapd_config_fill(struct hostapd_config *conf,
|
||||
bss->multicast_to_unicast = atoi(pos);
|
||||
} else if (os_strcmp(buf, "broadcast_deauth") == 0) {
|
||||
bss->broadcast_deauth = atoi(pos);
|
||||
+ } else if (os_strcmp(buf, "notify_mgmt_frames") == 0) {
|
||||
+ conf->notify_mgmt_frames = atoi(pos);
|
||||
#ifdef CONFIG_DPP
|
||||
} else if (os_strcmp(buf, "dpp_connector") == 0) {
|
||||
os_free(bss->dpp_connector);
|
||||
diff --git a/hostapd/hostapd.conf b/hostapd/hostapd.conf
|
||||
index ce3ecdddf..28dcd4f57 100644
|
||||
--- a/hostapd/hostapd.conf
|
||||
+++ b/hostapd/hostapd.conf
|
||||
@@ -550,6 +550,10 @@ wmm_ac_vo_acm=0
|
||||
# Default: 1 (enabled)
|
||||
#broadcast_deauth=1
|
||||
|
||||
+# Get notifications for management frames:
|
||||
+# Default: 0 (disabled)
|
||||
+#notify_mgmt_frames=0
|
||||
+
|
||||
##### IEEE 802.11n related configuration ######################################
|
||||
|
||||
# ieee80211n: Whether IEEE 802.11n (HT) is enabled
|
||||
diff --git a/src/ap/ap_config.h b/src/ap/ap_config.h
|
||||
index ea581a822..2f89d6ab9 100644
|
||||
--- a/src/ap/ap_config.h
|
||||
+++ b/src/ap/ap_config.h
|
||||
@@ -1008,6 +1008,8 @@ struct hostapd_config {
|
||||
unsigned int airtime_update_interval;
|
||||
#define AIRTIME_MODE_MAX (__AIRTIME_MODE_MAX - 1)
|
||||
#endif /* CONFIG_AIRTIME_POLICY */
|
||||
+
|
||||
+ u8 notify_mgmt_frames;
|
||||
};
|
||||
|
||||
|
||||
diff --git a/src/ap/ieee802_11.c b/src/ap/ieee802_11.c
|
||||
index c85a28db4..fc1291024 100644
|
||||
--- a/src/ap/ieee802_11.c
|
||||
+++ b/src/ap/ieee802_11.c
|
||||
@@ -4591,6 +4591,28 @@ static int handle_action(struct hostapd_data *hapd,
|
||||
return 1;
|
||||
}
|
||||
|
||||
+/**
|
||||
+ * notify_mgmt_frame - notify of management frames on the control interface.
|
||||
+ * @hapd: hostapd BSS data structure (the BSS to which the management frame was
|
||||
+ * sent to)
|
||||
+ * @buf: management frame data (starting from IEEE 802.11 header)
|
||||
+ * @len: length of frame data in octets
|
||||
+ *
|
||||
+ * Notify the control interface of any management frame.
|
||||
+ */
|
||||
+static void notify_mgmt_frame(struct hostapd_data *hapd, const u8 *buf,
|
||||
+ size_t len)
|
||||
+{
|
||||
+
|
||||
+ int hex_len = len * 2 + 1;
|
||||
+ char *hex = os_malloc(hex_len);
|
||||
+
|
||||
+ if (hex) {
|
||||
+ wpa_snprintf_hex(hex, hex_len, buf, len);
|
||||
+ wpa_msg_ctrl(hapd->msg_ctx, MSG_INFO, AP_MGMT_FRAME_RECEIVED "buf=%s", hex);
|
||||
+ os_free(hex);
|
||||
+ }
|
||||
+}
|
||||
|
||||
/**
|
||||
* ieee802_11_mgmt - process incoming IEEE 802.11 management frames
|
||||
@@ -4665,6 +4687,9 @@ int ieee802_11_mgmt(struct hostapd_data *hapd, const u8 *buf, size_t len,
|
||||
if (hapd->iconf->track_sta_max_num)
|
||||
sta_track_add(hapd->iface, mgmt->sa, ssi_signal);
|
||||
|
||||
+ if (hapd->iconf->notify_mgmt_frames)
|
||||
+ notify_mgmt_frame(hapd, buf, len);
|
||||
+
|
||||
switch (stype) {
|
||||
case WLAN_FC_STYPE_AUTH:
|
||||
wpa_printf(MSG_DEBUG, "mgmt::auth");
|
||||
diff --git a/src/common/wpa_ctrl.h b/src/common/wpa_ctrl.h
|
||||
index b24ae63e5..eeff9fcaa 100644
|
||||
--- a/src/common/wpa_ctrl.h
|
||||
+++ b/src/common/wpa_ctrl.h
|
||||
@@ -375,6 +375,9 @@ extern "C" {
|
||||
#define WDS_STA_INTERFACE_ADDED "WDS-STA-INTERFACE-ADDED "
|
||||
#define WDS_STA_INTERFACE_REMOVED "WDS-STA-INTERFACE-REMOVED "
|
||||
|
||||
+/* Event triggered for received management frame */
|
||||
+#define AP_MGMT_FRAME_RECEIVED "AP-MGMT-FRAME-RECEIVED "
|
||||
+
|
||||
/* BSS command information masks */
|
||||
|
||||
#define WPA_BSS_MASK_ALL 0xFFFDFFFF
|
||||
--
|
||||
2.28.0
|
||||
|
@ -0,0 +1,187 @@
|
||||
From b389a77a0f6dccf495dbce5be9476000f6ec06a2 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Rapha=C3=ABl=20M=C3=A9lotte?= <raphael.melotte@mind.be>
|
||||
Date: Wed, 9 Dec 2020 19:55:53 +0100
|
||||
Subject: [PATCH] wps: reconfigure credentials on reload
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
When new credentials are configured and hostapd is reconfigured using
|
||||
SIGHUP (or reload on the ctrl_iface), also update the wps credentials.
|
||||
|
||||
Before these changes, when WPS is triggered the registar always serves
|
||||
the credentials that were configured when hostapd started.
|
||||
|
||||
Signed-off-by: Raphaël Mélotte <raphael.melotte@mind.be>
|
||||
---
|
||||
src/ap/wps_hostapd.c | 86 +++++++++++++++++++++++++++++++++++++++--
|
||||
src/wps/wps.h | 6 +++
|
||||
src/wps/wps_registrar.c | 29 ++++++++++++++
|
||||
3 files changed, 118 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/ap/wps_hostapd.c b/src/ap/wps_hostapd.c
|
||||
index dc8aa8f65..ff942a67b 100644
|
||||
--- a/src/ap/wps_hostapd.c
|
||||
+++ b/src/ap/wps_hostapd.c
|
||||
@@ -1375,6 +1375,43 @@ static void hostapd_wps_nfc_clear(struct wps_context *wps)
|
||||
#endif /* CONFIG_WPS_NFC */
|
||||
}
|
||||
|
||||
+int hostapd_wps_update_multi_ap(struct hostapd_data *hapd,
|
||||
+ struct wps_registrar *reg) {
|
||||
+ struct hostapd_bss_config *conf = hapd->conf;
|
||||
+ u8 *multi_ap_backhaul_network_key = NULL;
|
||||
+ size_t multi_ap_backhaul_network_key_len = 0;
|
||||
+ int ret = -1;
|
||||
+
|
||||
+ if ((conf->multi_ap & FRONTHAUL_BSS) &&
|
||||
+ conf->multi_ap_backhaul_ssid.ssid_len) {
|
||||
+ if (conf->multi_ap_backhaul_ssid.wpa_passphrase) {
|
||||
+ multi_ap_backhaul_network_key =
|
||||
+ (u8 *) os_strdup(conf->multi_ap_backhaul_ssid.wpa_passphrase);
|
||||
+ if (multi_ap_backhaul_network_key == NULL)
|
||||
+ return -1;
|
||||
+ multi_ap_backhaul_network_key_len =
|
||||
+ os_strlen(conf->multi_ap_backhaul_ssid.wpa_passphrase);
|
||||
+ } else if (conf->multi_ap_backhaul_ssid.wpa_psk) {
|
||||
+ multi_ap_backhaul_network_key = os_malloc(2 * PMK_LEN + 1);
|
||||
+ if (multi_ap_backhaul_network_key == NULL)
|
||||
+ return -1;
|
||||
+ wpa_snprintf_hex((char *) multi_ap_backhaul_network_key,
|
||||
+ 2 * PMK_LEN + 1,
|
||||
+ conf->multi_ap_backhaul_ssid.wpa_psk->psk,
|
||||
+ PMK_LEN);
|
||||
+ multi_ap_backhaul_network_key_len = 2 * PMK_LEN;
|
||||
+ }
|
||||
+ ret = wps_registrar_update_multi_ap(reg,
|
||||
+ conf->multi_ap_backhaul_ssid.ssid,
|
||||
+ conf->multi_ap_backhaul_ssid.ssid_len,
|
||||
+ multi_ap_backhaul_network_key,
|
||||
+ multi_ap_backhaul_network_key_len);
|
||||
+ os_free(multi_ap_backhaul_network_key);
|
||||
+ }
|
||||
+ return ret;
|
||||
+}
|
||||
+
|
||||
+
|
||||
|
||||
void hostapd_deinit_wps(struct hostapd_data *hapd)
|
||||
{
|
||||
@@ -1409,11 +1446,54 @@ void hostapd_update_wps(struct hostapd_data *hapd)
|
||||
hapd->wps->upc = hapd->conf->upc;
|
||||
#endif /* CONFIG_WPS_UPNP */
|
||||
|
||||
- hostapd_wps_set_vendor_ext(hapd, hapd->wps);
|
||||
- hostapd_wps_set_application_ext(hapd, hapd->wps);
|
||||
+ struct wps_context *wps = hapd->wps;
|
||||
+ struct hostapd_bss_config *conf = hapd->conf;
|
||||
+
|
||||
+ os_memcpy(wps->ssid, conf->ssid.ssid, conf->ssid.ssid_len);
|
||||
+ wps->ssid_len = conf->ssid.ssid_len;
|
||||
+
|
||||
+ /* Clear wps settings, then fill them again */
|
||||
+ os_free(wps->network_key);
|
||||
+ wps->network_key = NULL;
|
||||
+ wps->network_key_len = 0;
|
||||
+ wps->psk_set = 0;
|
||||
+ if (conf->ssid.wpa_psk_file) {
|
||||
+ /* Use per-device PSKs */
|
||||
+ } else if (conf->ssid.wpa_passphrase) {
|
||||
+ wps->network_key = (u8 *) os_strdup(conf->ssid.wpa_passphrase);
|
||||
+ if (wps->network_key == NULL)
|
||||
+ return;
|
||||
+ wps->network_key_len = os_strlen(conf->ssid.wpa_passphrase);
|
||||
+ } else if (conf->ssid.wpa_psk) {
|
||||
+ wps->network_key = os_malloc(2 * PMK_LEN + 1);
|
||||
+ if (wps->network_key == NULL)
|
||||
+ return;
|
||||
+ wpa_snprintf_hex((char *) wps->network_key, 2 * PMK_LEN + 1,
|
||||
+ conf->ssid.wpa_psk->psk, PMK_LEN);
|
||||
+ wps->network_key_len = 2 * PMK_LEN;
|
||||
+#ifdef CONFIG_WEP
|
||||
+ } else if (conf->ssid.wep.keys_set && conf->ssid.wep.key[0]) {
|
||||
+ wps->network_key = os_malloc(conf->ssid.wep.len[0]);
|
||||
+ if (wps->network_key == NULL)
|
||||
+ return;
|
||||
+ os_memcpy(wps->network_key, conf->ssid.wep.key[0],
|
||||
+ conf->ssid.wep.len[0]);
|
||||
+ wps->network_key_len = conf->ssid.wep.len[0];
|
||||
+#endif /* CONFIG_WEP */
|
||||
+ }
|
||||
+
|
||||
+ if (conf->ssid.wpa_psk) {
|
||||
+ os_memcpy(wps->psk, conf->ssid.wpa_psk->psk, PMK_LEN);
|
||||
+ wps->psk_set = 1;
|
||||
+ }
|
||||
+
|
||||
+ hostapd_wps_update_multi_ap(hapd, wps->registrar);
|
||||
+
|
||||
+ hostapd_wps_set_vendor_ext(hapd, wps);
|
||||
+ hostapd_wps_set_application_ext(hapd, wps);
|
||||
|
||||
if (hapd->conf->wps_state)
|
||||
- wps_registrar_update_ie(hapd->wps->registrar);
|
||||
+ wps_registrar_update_ie(wps->registrar);
|
||||
else
|
||||
hostapd_deinit_wps(hapd);
|
||||
}
|
||||
diff --git a/src/wps/wps.h b/src/wps/wps.h
|
||||
index 93888b011..110e3ea52 100644
|
||||
--- a/src/wps/wps.h
|
||||
+++ b/src/wps/wps.h
|
||||
@@ -938,6 +938,12 @@ struct wpabuf * wps_build_nfc_handover_sel_p2p(struct wps_context *ctx,
|
||||
struct wpabuf *nfc_dh_pubkey,
|
||||
struct wpabuf *nfc_dev_pw);
|
||||
|
||||
+int wps_registrar_update_multi_ap(struct wps_registrar *reg,
|
||||
+ const u8 *multi_ap_backhaul_ssid,
|
||||
+ size_t multi_ap_backhaul_ssid_len,
|
||||
+ const u8 *multi_ap_backhaul_network_key,
|
||||
+ size_t multi_ap_backhaul_network_key_len);
|
||||
+
|
||||
/* ndef.c */
|
||||
struct wpabuf * ndef_parse_wifi(const struct wpabuf *buf);
|
||||
struct wpabuf * ndef_build_wifi(const struct wpabuf *buf);
|
||||
diff --git a/src/wps/wps_registrar.c b/src/wps/wps_registrar.c
|
||||
index 9e1ee36da..d6b27be28 100644
|
||||
--- a/src/wps/wps_registrar.c
|
||||
+++ b/src/wps/wps_registrar.c
|
||||
@@ -3669,6 +3669,35 @@ int wps_registrar_config_ap(struct wps_registrar *reg,
|
||||
}
|
||||
|
||||
|
||||
+int wps_registrar_update_multi_ap(struct wps_registrar *reg,
|
||||
+ const u8 *multi_ap_backhaul_ssid,
|
||||
+ size_t multi_ap_backhaul_ssid_len,
|
||||
+ const u8 *multi_ap_backhaul_network_key,
|
||||
+ size_t multi_ap_backhaul_network_key_len)
|
||||
+{
|
||||
+ if (multi_ap_backhaul_ssid != NULL) {
|
||||
+ os_memcpy(reg->multi_ap_backhaul_ssid,
|
||||
+ multi_ap_backhaul_ssid,
|
||||
+ multi_ap_backhaul_ssid_len);
|
||||
+ reg->multi_ap_backhaul_ssid_len =
|
||||
+ multi_ap_backhaul_ssid_len;
|
||||
+ }
|
||||
+ os_free(reg->multi_ap_backhaul_network_key);
|
||||
+ reg->multi_ap_backhaul_network_key = NULL;
|
||||
+ reg->multi_ap_backhaul_network_key_len = 0;
|
||||
+
|
||||
+ if (multi_ap_backhaul_network_key != NULL) {
|
||||
+ reg->multi_ap_backhaul_network_key =
|
||||
+ os_memdup(multi_ap_backhaul_network_key,
|
||||
+ multi_ap_backhaul_network_key_len);
|
||||
+ if (reg->multi_ap_backhaul_network_key == NULL)
|
||||
+ return -1;
|
||||
+ reg->multi_ap_backhaul_network_key_len =
|
||||
+ multi_ap_backhaul_network_key_len;
|
||||
+ }
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
#ifdef CONFIG_WPS_NFC
|
||||
|
||||
int wps_registrar_add_nfc_pw_token(struct wps_registrar *reg,
|
||||
--
|
||||
2.29.2
|
||||
|
@ -51,9 +51,9 @@
|
||||
#define AIRTIME_MODE_MAX (__AIRTIME_MODE_MAX - 1)
|
||||
#endif /* CONFIG_AIRTIME_POLICY */
|
||||
+ char *config_id;
|
||||
|
||||
u8 notify_mgmt_frames;
|
||||
};
|
||||
|
||||
|
||||
--- a/src/ap/hostapd.c
|
||||
+++ b/src/ap/hostapd.c
|
||||
@@ -218,6 +218,10 @@ static int hostapd_iface_conf_changed(st
|
||||
|
@ -1,9 +1,7 @@
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2006-2007 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
include $(INCLUDE_DIR)/target.mk
|
||||
|
||||
|
@ -1,7 +1,5 @@
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
ARCH:=powerpc
|
||||
|
@ -1,7 +1,5 @@
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
include $(INCLUDE_DIR)/image.mk
|
||||
|
||||
|
@ -1,9 +1,6 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2011 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
define Profile/Default
|
||||
NAME:=Default Profile
|
||||
|
@ -43,7 +43,7 @@ produce a noisy warning.
|
||||
hcd->msi_enabled = 1;
|
||||
--- a/drivers/usb/host/xhci.h
|
||||
+++ b/drivers/usb/host/xhci.h
|
||||
@@ -1881,6 +1881,7 @@ struct xhci_hcd {
|
||||
@@ -1882,6 +1882,7 @@ struct xhci_hcd {
|
||||
struct xhci_hub usb2_rhub;
|
||||
struct xhci_hub usb3_rhub;
|
||||
/* support xHCI 1.0 spec USB2 hardware LPM */
|
||||
|
@ -1,9 +1,6 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2011 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
define Profile/Default
|
||||
NAME:=Default Profile
|
||||
|
@ -1,9 +1,7 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2015 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
ARCH:=arc
|
||||
|
@ -1,9 +1,6 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2015 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
define Profile/Default
|
||||
NAME:=Default Profile (all drivers)
|
||||
|
@ -1,9 +1,7 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2016 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
include $(INCLUDE_DIR)/image.mk
|
||||
|
||||
|
@ -1,11 +1,7 @@
|
||||
#!/bin/sh
|
||||
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2016 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
set -x
|
||||
[ $# -eq 5 ] || {
|
||||
|
@ -1,9 +1,7 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2016 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
ARCH:=arc
|
||||
|
@ -1,9 +1,6 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2016 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
define Profile/Default
|
||||
NAME:=Default Profile (all drivers)
|
||||
|
@ -1,9 +1,7 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2016 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
include $(INCLUDE_DIR)/image.mk
|
||||
|
||||
|
@ -1,11 +1,7 @@
|
||||
#!/bin/sh
|
||||
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2016 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
set -x
|
||||
[ $# -eq 5 ] || {
|
||||
|
@ -1,9 +1,7 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2017 Yousong Zhou <yszhou4tech@gmail.com>
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
BOARD:=armvirt
|
||||
|
@ -1,9 +1,7 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2016-2017 Yousong Zhou <yszhou4tech@gmail.com>
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
include $(INCLUDE_DIR)/image.mk
|
||||
|
||||
|
@ -1,9 +1,7 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2006-2013 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
ARCH:=arm
|
||||
|
@ -1,10 +1,10 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/*
|
||||
* q5xr5.dts - Device Tree file for Exegin Q5xR5 board
|
||||
*
|
||||
* Copyright (C) 2014 Owen Kirby <osk@exegin.com>
|
||||
*
|
||||
* Licensed under GPLv2.
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
#include "at91sam9g20.dtsi"
|
||||
|
||||
|
@ -1,10 +1,10 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/*
|
||||
* lmu5000.dst - Device Tree file for CalAmp LMU5000 board
|
||||
*
|
||||
* Copyright (C) 2013 Adam Porter <porter.adam@gmail.com>
|
||||
*
|
||||
* Licensed under GPLv2.
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
#include "at91sam9g20.dtsi"
|
||||
|
||||
|
@ -1,10 +1,10 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
/*
|
||||
* wb45n.dts - Device Tree file for WB45NBT board
|
||||
*
|
||||
* Copyright (C) 2015 Laird
|
||||
*
|
||||
* Licensed under GPLv2 or later.
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
#include "at91sam9g25.dtsi"
|
||||
|
||||
|
@ -1,10 +1,10 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
/*
|
||||
* wb50n.dts - Device Tree file for wb50n board
|
||||
*
|
||||
* Copyright (C) 2015 Laird
|
||||
*
|
||||
* Licensed under GPLv2 or later.
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
#include "wb50n.dtsi"
|
||||
|
||||
|
@ -1,10 +1,10 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
/*
|
||||
* wb50n.dts - Device Tree file for wb50n board
|
||||
*
|
||||
* Copyright (C) 2015 Laird
|
||||
*
|
||||
* Licensed under GPLv2 or later.
|
||||
*/
|
||||
|
||||
#include "sama5d31.dtsi"
|
||||
|
||||
/ {
|
||||
|
@ -1,9 +1,7 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2006-2013 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
include $(INCLUDE_DIR)/image.mk
|
||||
|
||||
|
@ -1,11 +1,7 @@
|
||||
#!/bin/sh
|
||||
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2017 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
set -x
|
||||
[ $# -eq 5 ] || {
|
||||
|
@ -1,9 +1,6 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2010 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
define KernelPackage/mmc-at91
|
||||
SUBMENU:=$(OTHER_MENU)
|
||||
|
@ -1,9 +1,7 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2006-2013 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
ARCH:=mips
|
||||
|
@ -1,9 +1,7 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2006-2010 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
include $(INCLUDE_DIR)/image.mk
|
||||
|
||||
|
@ -1,9 +1,6 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2011 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
define Profile/Default
|
||||
NAME:=Default Profile
|
||||
|
@ -11,7 +11,7 @@
|
||||
regulator-name = "usb_vbus";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
gpio = <&gpio 8 GPIO_ACTIVE_HIGH>;
|
||||
gpio = <&gpio 11 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
};
|
||||
};
|
||||
|
@ -56,9 +56,6 @@ case "$FIRMWARE" in
|
||||
caldata_extract "calibrate" 0x1000 0x440
|
||||
ath9k_patch_mac $(mtd_get_mac_ascii u-boot-env0 RADIOADDR1)
|
||||
;;
|
||||
meraki,mr12)
|
||||
caldata_extract "art" 0x11000 0xeb8
|
||||
;;
|
||||
nec,wg800hp)
|
||||
caldata_extract "art" 0x1000 0x440
|
||||
ath9k_patch_mac $(mtd_get_mac_text board_data 0x680)
|
||||
@ -108,6 +105,9 @@ case "$FIRMWARE" in
|
||||
caldata_extract "calibrate" 0x5000 0x440
|
||||
ath9k_patch_mac $(mtd_get_mac_ascii u-boot-env0 RADIOADDR0)
|
||||
;;
|
||||
meraki,mr12)
|
||||
caldata_extract "art" 0x11000 0xeb8
|
||||
;;
|
||||
netgear,wnr2200-8m|\
|
||||
netgear,wnr2200-16m|\
|
||||
pcs,cap324|\
|
||||
|
34
target/linux/ath79/patches-5.4/560-ath9k-tx-smps.patch
Normal file
34
target/linux/ath79/patches-5.4/560-ath9k-tx-smps.patch
Normal file
@ -0,0 +1,34 @@
|
||||
--- a/drivers/net/wireless/ath/ath9k/ath9k.h
|
||||
+++ b/drivers/net/wireless/ath/ath9k/ath9k.h
|
||||
@@ -179,7 +179,8 @@ struct ath_frame_info {
|
||||
s8 txq;
|
||||
u8 keyix;
|
||||
u8 rtscts_rate;
|
||||
- u8 retries : 7;
|
||||
+ u8 retries : 6;
|
||||
+ u8 dyn_smps : 1;
|
||||
u8 baw_tracked : 1;
|
||||
u8 tx_power;
|
||||
enum ath9k_key_type keytype:2;
|
||||
--- a/drivers/net/wireless/ath/ath9k/xmit.c
|
||||
+++ b/drivers/net/wireless/ath/ath9k/xmit.c
|
||||
@@ -1271,6 +1271,11 @@ static void ath_buf_set_rate(struct ath_
|
||||
is_40, is_sgi, is_sp);
|
||||
if (rix < 8 && (tx_info->flags & IEEE80211_TX_CTL_STBC))
|
||||
info->rates[i].RateFlags |= ATH9K_RATESERIES_STBC;
|
||||
+ if (rix >= 8 && fi->dyn_smps) {
|
||||
+ info->rates[i].RateFlags |=
|
||||
+ ATH9K_RATESERIES_RTS_CTS;
|
||||
+ info->flags |= ATH9K_TXDESC_CTSENA;
|
||||
+ }
|
||||
|
||||
info->txpower[i] = ath_get_rate_txpower(sc, bf, rix,
|
||||
is_40, false);
|
||||
@@ -2114,6 +2119,7 @@ static void setup_frame_info(struct ieee
|
||||
fi->keyix = an->ps_key;
|
||||
else
|
||||
fi->keyix = ATH9K_TXKEYIX_INVALID;
|
||||
+ fi->dyn_smps = sta && sta->smps_mode == IEEE80211_SMPS_DYNAMIC;
|
||||
fi->keytype = keytype;
|
||||
fi->framelen = framelen;
|
||||
fi->tx_power = txpower;
|
@ -1,10 +1,8 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2012-2020 OpenWrt.org
|
||||
# Copyright (C) 2017 LEDE project
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
ARCH:=arm
|
||||
|
@ -1,10 +1,8 @@
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2012-2019 OpenWrt.org
|
||||
# Copyright (C) 2016-2017 LEDE project
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
include $(INCLUDE_DIR)/image.mk
|
||||
|
||||
|
@ -1,8 +1,5 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2019 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/target/linux/bcm27xx/modules/*.mk
|
||||
|
@ -1,9 +1,6 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2019 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
define KernelPackage/hwmon-raspberrypi
|
||||
TITLE:=Raspberry Pi voltage monitor
|
||||
|
@ -1,9 +1,6 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2019 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
I2C_BCM2835_MODULES:=\
|
||||
CONFIG_I2C_BCM2835:drivers/i2c/busses/i2c-bcm2835
|
||||
|
@ -1,9 +1,6 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2019 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
define KernelPackage/pwm-bcm2835
|
||||
SUBMENU:=$(OTHER_MENU)
|
||||
|
@ -1,9 +1,6 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2019 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
define KernelPackage/sound-arm-bcm2835
|
||||
TITLE:=BCM2835 ALSA driver
|
||||
|
@ -1,9 +1,6 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2019 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
define KernelPackage/spi-bcm2835
|
||||
SUBMENU:=$(SPI_MENU)
|
||||
|
@ -1,9 +1,6 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2019 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
define KernelPackage/camera-bcm2835
|
||||
TITLE:=BCM2835 Camera
|
||||
|
@ -85,6 +85,6 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
#define XHCI_RESET_PLL_ON_DISCONNECT BIT_ULL(34)
|
||||
#define XHCI_SNPS_BROKEN_SUSPEND BIT_ULL(35)
|
||||
+#define XHCI_EP_CTX_BROKEN_DCS BIT_ULL(36)
|
||||
#define XHCI_SKIP_PHY_INIT BIT_ULL(37)
|
||||
#define XHCI_DISABLE_SPARSE BIT_ULL(38)
|
||||
|
||||
unsigned int num_active_eps;
|
||||
|
@ -24,7 +24,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -1267,6 +1267,9 @@ ifneq ($(dtstree),)
|
||||
@@ -1261,6 +1261,9 @@ ifneq ($(dtstree),)
|
||||
%.dtb: include/config/kernel.release scripts_dtc
|
||||
$(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@
|
||||
|
||||
|
@ -15,7 +15,7 @@ Signed-off-by: Nataliya Korovkina <malus.brandywine@gmail.com>
|
||||
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -1267,7 +1267,7 @@ ifneq ($(dtstree),)
|
||||
@@ -1261,7 +1261,7 @@ ifneq ($(dtstree),)
|
||||
%.dtb: include/config/kernel.release scripts_dtc
|
||||
$(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@
|
||||
|
||||
|
@ -1,9 +1,7 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2006-2008 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
ARCH:=mipsel
|
||||
|
@ -1,9 +1,6 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2007-2013 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
define Profile/Broadcom-b43
|
||||
NAME:=Broadcom SoC, all Ethernet, BCM43xx WiFi (b43, default)
|
||||
|
@ -1,9 +1,6 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2010-2013 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
define Profile/Broadcom-wl
|
||||
NAME:=Broadcom SoC, all Ethernet, BCM43xx WiFi (wl, proprietary)
|
||||
|
@ -1,9 +1,6 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2006-2013 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
define Profile/Broadcom-ath5k
|
||||
NAME:=Broadcom SoC, all Ethernet, Atheros WiFi (ath5k)
|
||||
|
@ -1,9 +1,6 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2006-2013 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
define Profile/Broadcom-none
|
||||
NAME:=Broadcom SoC, all Ethernet, No WiFi
|
||||
|
@ -1,9 +1,6 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2007-2013 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
define Profile/Broadcom-b44-b43
|
||||
NAME:=Broadcom SoC, b44 Ethernet, BCM43xx WiFi (b43, default)
|
||||
|
@ -1,9 +1,6 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2010-2013 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
define Profile/Broadcom-b44-wl
|
||||
NAME:=Broadcom SoC, b44 Ethernet, BCM43xx WiFi (wl, proprietary)
|
||||
|
@ -1,9 +1,6 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2006-2013 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
define Profile/Broadcom-b44-ath5k
|
||||
NAME:=Broadcom SoC, b44 Ethernet, Atheros WiFi (ath5k)
|
||||
|
@ -1,9 +1,6 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2006-2013 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
define Profile/Broadcom-b44-none
|
||||
NAME:=Broadcom SoC, b44 Ethernet, No WiFi
|
||||
|
@ -1,9 +1,6 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2007-2013 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
define Profile/Broadcom-tg3-b43
|
||||
NAME:=Broadcom SoC, tg3 Ethernet, BCM43xx WiFi (b43)
|
||||
|
@ -1,9 +1,6 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2010-2013 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
define Profile/Broadcom-tg3-wl
|
||||
NAME:=Broadcom SoC, tg3 Ethernet, BCM43xx WiFi (wl, proprietary)
|
||||
|
@ -1,9 +1,6 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2006-2013 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
define Profile/Broadcom-tg3-none
|
||||
NAME:=Broadcom SoC, tg3 Ethernet, no WiFi
|
||||
|
@ -1,9 +1,6 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2007-2013 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
define Profile/Broadcom-bgmac-b43
|
||||
NAME:=Broadcom SoC, bgmac Ethernet, BCM43xx WiFi (b43)
|
||||
|
@ -1,9 +1,6 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2010-2013 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
define Profile/Broadcom-bgmac-wl
|
||||
NAME:=Broadcom SoC, bgmac Ethernet, BCM43xx WiFi (wl, proprietary)
|
||||
|
@ -1,9 +1,6 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2006-2013 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
define Profile/Broadcom-bgmac-none
|
||||
NAME:=Broadcom SoC, bgmac Ethernet, No WiFi
|
||||
|
@ -1,9 +1,6 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2007-2013 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
define Profile/Broadcom-bgmac-brcmsmac
|
||||
NAME:=Broadcom SoC, bgmac Ethernet, BCM43xx WiFi (brcmsmac)
|
||||
|
@ -1,9 +1,6 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2007-2010 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
define Profile/Ps1208mfg
|
||||
NAME:=Edimax PS-1208MFG
|
||||
|
@ -1,9 +1,7 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2006-2016 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
include $(INCLUDE_DIR)/image.mk
|
||||
|
||||
|
@ -1,9 +1,6 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2007-2013 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
define Profile/Broadcom-b43
|
||||
NAME:=Broadcom SoC, all Ethernet, BCM43xx WiFi (b43, default)
|
||||
|
@ -1,9 +1,6 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2010-2013 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
define Profile/Broadcom-wl
|
||||
NAME:=Broadcom SoC, all Ethernet, BCM43xx WiFi (wl, proprietary)
|
||||
|
@ -1,9 +1,6 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2014 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
define Profile/Broadcom-mips74k-b43
|
||||
NAME:=Broadcom SoC, BCM43xx WiFi (b43)
|
||||
|
@ -1,9 +1,6 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2014 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
define Profile/Broadcom-mips74k-brcmsmac
|
||||
NAME:=Broadcom SoC, BCM43xx WiFi (brcmsmac)
|
||||
|
@ -1,9 +1,6 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2014 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
define Profile/Broadcom-mips74k-wl
|
||||
NAME:=Broadcom SoC, BCM43xx WiFi (proprietary wl)
|
||||
|
@ -1,9 +1,6 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2014 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
define Profile/Broadcom-mips74k-none
|
||||
NAME:=Broadcom SoC, No WiFi
|
||||
|
@ -1,9 +1,6 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2006-2012 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
define KernelPackage/bgmac
|
||||
TITLE:=Broadcom bgmac driver
|
||||
|
@ -40,7 +40,7 @@ CONFIG_B53=y
|
||||
# CONFIG_B53_MMAP_DRIVER is not set
|
||||
# CONFIG_B53_SERDES is not set
|
||||
# CONFIG_B53_SRAB_DRIVER is not set
|
||||
CONFIG_BCM4908ENET=y
|
||||
CONFIG_BCM4908_ENET=y
|
||||
CONFIG_BCM7XXX_PHY=y
|
||||
CONFIG_BCM_NET_PHYLIB=y
|
||||
CONFIG_BCM_PMB=y
|
||||
|
@ -1,10 +1,15 @@
|
||||
From 387d1c1819790aa8398c7cffab587f9a050a0d1a Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
|
||||
Date: Fri, 5 Feb 2021 21:57:41 +0100
|
||||
Subject: [PATCH 1/2] dt-bindings: net: document BCM4908 Ethernet controller
|
||||
Date: Sun, 7 Feb 2021 23:26:31 +0100
|
||||
Subject: [PATCH] dt-bindings: net: document BCM4908 Ethernet controller
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
BCM4908 is a family of SoCs with integrated Ethernet controller.
|
||||
|
||||
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
||||
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
---
|
||||
.../bindings/net/brcm,bcm4908enet.yaml | 45 +++++++++++++++++++
|
||||
1 file changed, 45 insertions(+)
|
@ -1,12 +1,17 @@
|
||||
From 4feffeadbcb2e5b11cbbf191a33c245b74a5837b Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
|
||||
Date: Fri, 5 Feb 2021 21:59:51 +0100
|
||||
Subject: [PATCH 2/2] net: broadcom: bcm4908enet: add BCM4908 controller driver
|
||||
Date: Sun, 7 Feb 2021 23:26:32 +0100
|
||||
Subject: [PATCH] net: broadcom: bcm4908enet: add BCM4908 controller driver
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
BCM4908 SoCs family uses Ethernel controller that includes UniMAC but
|
||||
uses different DMA engine (than other controllers) and requires
|
||||
different programming.
|
||||
|
||||
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
||||
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
---
|
||||
MAINTAINERS | 9 +
|
||||
drivers/net/ethernet/broadcom/Kconfig | 8 +
|
@ -0,0 +1,68 @@
|
||||
From 6710c5b0674f8811f7d8fbfc526684e7ed77f765 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
|
||||
Date: Thu, 11 Feb 2021 13:12:32 +0100
|
||||
Subject: [PATCH] dt-bindings: net: rename BCM4908 Ethernet binding
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Rob pointed out that a normal convention is "brcm,bcm4908-enet" so
|
||||
update whole binding to match it.
|
||||
|
||||
Suggested-by: Rob Herring <robh@kernel.org>
|
||||
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
||||
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
|
||||
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
---
|
||||
.../net/{brcm,bcm4908enet.yaml => brcm,bcm4908-enet.yaml} | 6 +++---
|
||||
MAINTAINERS | 2 +-
|
||||
2 files changed, 4 insertions(+), 4 deletions(-)
|
||||
rename Documentation/devicetree/bindings/net/{brcm,bcm4908enet.yaml => brcm,bcm4908-enet.yaml} (85%)
|
||||
|
||||
diff --git a/Documentation/devicetree/bindings/net/brcm,bcm4908enet.yaml b/Documentation/devicetree/bindings/net/brcm,bcm4908-enet.yaml
|
||||
similarity index 85%
|
||||
rename from Documentation/devicetree/bindings/net/brcm,bcm4908enet.yaml
|
||||
rename to Documentation/devicetree/bindings/net/brcm,bcm4908-enet.yaml
|
||||
index 5f12f51c5b19..c70f222365c0 100644
|
||||
--- a/Documentation/devicetree/bindings/net/brcm,bcm4908enet.yaml
|
||||
+++ b/Documentation/devicetree/bindings/net/brcm,bcm4908-enet.yaml
|
||||
@@ -1,7 +1,7 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
-$id: http://devicetree.org/schemas/net/brcm,bcm4908enet.yaml#
|
||||
+$id: http://devicetree.org/schemas/net/brcm,bcm4908-enet.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Broadcom BCM4908 Ethernet controller
|
||||
@@ -13,7 +13,7 @@ maintainers:
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
- const: brcm,bcm4908enet
|
||||
+ const: brcm,bcm4908-enet
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
@@ -37,7 +37,7 @@ examples:
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
|
||||
ethernet@80002000 {
|
||||
- compatible = "brcm,bcm4908enet";
|
||||
+ compatible = "brcm,bcm4908-enet";
|
||||
reg = <0x80002000 0x1000>;
|
||||
|
||||
interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
|
||||
diff --git a/MAINTAINERS b/MAINTAINERS
|
||||
index 3914691fb4a6..68fcd0a6416b 100644
|
||||
--- a/MAINTAINERS
|
||||
+++ b/MAINTAINERS
|
||||
@@ -3450,7 +3450,7 @@ M: Rafał Miłecki <rafal@milecki.pl>
|
||||
M: bcm-kernel-feedback-list@broadcom.com
|
||||
L: netdev@vger.kernel.org
|
||||
S: Maintained
|
||||
-F: Documentation/devicetree/bindings/net/brcm,bcm4908enet.yaml
|
||||
+F: Documentation/devicetree/bindings/net/brcm,bcm4908-enet.yaml
|
||||
F: drivers/net/ethernet/broadcom/bcm4908enet.*
|
||||
F: drivers/net/ethernet/broadcom/unimac.h
|
||||
|
@ -0,0 +1,32 @@
|
||||
From f08b5cf1eb1f2aefc6fe4a89c8c757ba94721d0b Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
|
||||
Date: Thu, 11 Feb 2021 13:12:33 +0100
|
||||
Subject: [PATCH] dt-bindings: net: bcm4908-enet: include
|
||||
ethernet-controller.yaml
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
It should be /included/ by every Ethernet controller binding. It adds
|
||||
support for various generic properties.
|
||||
|
||||
Suggested-by: Rob Herring <robh@kernel.org>
|
||||
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
||||
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
|
||||
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
---
|
||||
Documentation/devicetree/bindings/net/brcm,bcm4908-enet.yaml | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
--- a/Documentation/devicetree/bindings/net/brcm,bcm4908-enet.yaml
|
||||
+++ b/Documentation/devicetree/bindings/net/brcm,bcm4908-enet.yaml
|
||||
@@ -11,6 +11,9 @@ description: Broadcom's Ethernet control
|
||||
maintainers:
|
||||
- Rafał Miłecki <rafal@milecki.pl>
|
||||
|
||||
+allOf:
|
||||
+ - $ref: ethernet-controller.yaml#
|
||||
+
|
||||
properties:
|
||||
compatible:
|
||||
const: brcm,bcm4908-enet
|
@ -0,0 +1,643 @@
|
||||
From 9d61d138ab30bbfe4a8609853c81e881c4054a0b Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
|
||||
Date: Thu, 11 Feb 2021 13:12:34 +0100
|
||||
Subject: [PATCH] net: broadcom: rename BCM4908 driver & update DT binding
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
compatible string was updated to match normal naming convention so
|
||||
update driver as well
|
||||
|
||||
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
||||
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
|
||||
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
---
|
||||
MAINTAINERS | 2 +-
|
||||
drivers/net/ethernet/broadcom/Kconfig | 2 +-
|
||||
drivers/net/ethernet/broadcom/Makefile | 2 +-
|
||||
.../{bcm4908enet.c => bcm4908_enet.c} | 215 +++++++++---------
|
||||
.../{bcm4908enet.h => bcm4908_enet.h} | 4 +-
|
||||
5 files changed, 113 insertions(+), 112 deletions(-)
|
||||
rename drivers/net/ethernet/broadcom/{bcm4908enet.c => bcm4908_enet.c} (68%)
|
||||
rename drivers/net/ethernet/broadcom/{bcm4908enet.h => bcm4908_enet.h} (98%)
|
||||
|
||||
diff --git a/MAINTAINERS b/MAINTAINERS
|
||||
index 68fcd0a6416b..99335fd22c0a 100644
|
||||
--- a/MAINTAINERS
|
||||
+++ b/MAINTAINERS
|
||||
@@ -3451,7 +3451,7 @@ M: bcm-kernel-feedback-list@broadcom.com
|
||||
L: netdev@vger.kernel.org
|
||||
S: Maintained
|
||||
F: Documentation/devicetree/bindings/net/brcm,bcm4908-enet.yaml
|
||||
-F: drivers/net/ethernet/broadcom/bcm4908enet.*
|
||||
+F: drivers/net/ethernet/broadcom/bcm4908_enet.*
|
||||
F: drivers/net/ethernet/broadcom/unimac.h
|
||||
|
||||
BROADCOM BCM5301X ARM ARCHITECTURE
|
||||
diff --git a/drivers/net/ethernet/broadcom/Kconfig b/drivers/net/ethernet/broadcom/Kconfig
|
||||
index bcf9e0a410fd..f8a168b73307 100644
|
||||
--- a/drivers/net/ethernet/broadcom/Kconfig
|
||||
+++ b/drivers/net/ethernet/broadcom/Kconfig
|
||||
@@ -51,7 +51,7 @@ config B44_PCI
|
||||
depends on B44_PCI_AUTOSELECT && B44_PCICORE_AUTOSELECT
|
||||
default y
|
||||
|
||||
-config BCM4908ENET
|
||||
+config BCM4908_ENET
|
||||
tristate "Broadcom BCM4908 internal mac support"
|
||||
depends on ARCH_BCM4908 || COMPILE_TEST
|
||||
default y
|
||||
diff --git a/drivers/net/ethernet/broadcom/Makefile b/drivers/net/ethernet/broadcom/Makefile
|
||||
index 379012de3569..0ddfb5b5d53c 100644
|
||||
--- a/drivers/net/ethernet/broadcom/Makefile
|
||||
+++ b/drivers/net/ethernet/broadcom/Makefile
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
|
||||
obj-$(CONFIG_B44) += b44.o
|
||||
-obj-$(CONFIG_BCM4908ENET) += bcm4908enet.o
|
||||
+obj-$(CONFIG_BCM4908_ENET) += bcm4908_enet.o
|
||||
obj-$(CONFIG_BCM63XX_ENET) += bcm63xx_enet.o
|
||||
obj-$(CONFIG_BCMGENET) += genet/
|
||||
obj-$(CONFIG_BNX2) += bnx2.o
|
||||
diff --git a/drivers/net/ethernet/broadcom/bcm4908enet.c b/drivers/net/ethernet/broadcom/bcm4908_enet.c
|
||||
similarity index 68%
|
||||
rename from drivers/net/ethernet/broadcom/bcm4908enet.c
|
||||
rename to drivers/net/ethernet/broadcom/bcm4908_enet.c
|
||||
index d68b328e7596..e56348eb188f 100644
|
||||
--- a/drivers/net/ethernet/broadcom/bcm4908enet.c
|
||||
+++ b/drivers/net/ethernet/broadcom/bcm4908_enet.c
|
||||
@@ -12,7 +12,7 @@
|
||||
#include <linux/slab.h>
|
||||
#include <linux/string.h>
|
||||
|
||||
-#include "bcm4908enet.h"
|
||||
+#include "bcm4908_enet.h"
|
||||
#include "unimac.h"
|
||||
|
||||
#define ENET_DMA_CH_RX_CFG ENET_DMA_CH0_CFG
|
||||
@@ -33,18 +33,18 @@
|
||||
#define ENET_MTU_MAX 1500 /* Is it possible to support 2044? */
|
||||
#define ENET_MTU_MAX_EXTRA_SIZE 32 /* L2 */
|
||||
|
||||
-struct bcm4908enet_dma_ring_bd {
|
||||
+struct bcm4908_enet_dma_ring_bd {
|
||||
__le32 ctl;
|
||||
__le32 addr;
|
||||
} __packed;
|
||||
|
||||
-struct bcm4908enet_dma_ring_slot {
|
||||
+struct bcm4908_enet_dma_ring_slot {
|
||||
struct sk_buff *skb;
|
||||
unsigned int len;
|
||||
dma_addr_t dma_addr;
|
||||
};
|
||||
|
||||
-struct bcm4908enet_dma_ring {
|
||||
+struct bcm4908_enet_dma_ring {
|
||||
int is_tx;
|
||||
int read_idx;
|
||||
int write_idx;
|
||||
@@ -54,38 +54,38 @@ struct bcm4908enet_dma_ring {
|
||||
|
||||
union {
|
||||
void *cpu_addr;
|
||||
- struct bcm4908enet_dma_ring_bd *buf_desc;
|
||||
+ struct bcm4908_enet_dma_ring_bd *buf_desc;
|
||||
};
|
||||
dma_addr_t dma_addr;
|
||||
|
||||
- struct bcm4908enet_dma_ring_slot *slots;
|
||||
+ struct bcm4908_enet_dma_ring_slot *slots;
|
||||
};
|
||||
|
||||
-struct bcm4908enet {
|
||||
+struct bcm4908_enet {
|
||||
struct device *dev;
|
||||
struct net_device *netdev;
|
||||
struct napi_struct napi;
|
||||
void __iomem *base;
|
||||
|
||||
- struct bcm4908enet_dma_ring tx_ring;
|
||||
- struct bcm4908enet_dma_ring rx_ring;
|
||||
+ struct bcm4908_enet_dma_ring tx_ring;
|
||||
+ struct bcm4908_enet_dma_ring rx_ring;
|
||||
};
|
||||
|
||||
/***
|
||||
* R/W ops
|
||||
*/
|
||||
|
||||
-static inline u32 enet_read(struct bcm4908enet *enet, u16 offset)
|
||||
+static inline u32 enet_read(struct bcm4908_enet *enet, u16 offset)
|
||||
{
|
||||
return readl(enet->base + offset);
|
||||
}
|
||||
|
||||
-static inline void enet_write(struct bcm4908enet *enet, u16 offset, u32 value)
|
||||
+static inline void enet_write(struct bcm4908_enet *enet, u16 offset, u32 value)
|
||||
{
|
||||
writel(value, enet->base + offset);
|
||||
}
|
||||
|
||||
-static inline void enet_maskset(struct bcm4908enet *enet, u16 offset, u32 mask, u32 set)
|
||||
+static inline void enet_maskset(struct bcm4908_enet *enet, u16 offset, u32 mask, u32 set)
|
||||
{
|
||||
u32 val;
|
||||
|
||||
@@ -96,27 +96,27 @@ static inline void enet_maskset(struct bcm4908enet *enet, u16 offset, u32 mask,
|
||||
enet_write(enet, offset, val);
|
||||
}
|
||||
|
||||
-static inline void enet_set(struct bcm4908enet *enet, u16 offset, u32 set)
|
||||
+static inline void enet_set(struct bcm4908_enet *enet, u16 offset, u32 set)
|
||||
{
|
||||
enet_maskset(enet, offset, set, set);
|
||||
}
|
||||
|
||||
-static inline u32 enet_umac_read(struct bcm4908enet *enet, u16 offset)
|
||||
+static inline u32 enet_umac_read(struct bcm4908_enet *enet, u16 offset)
|
||||
{
|
||||
return enet_read(enet, ENET_UNIMAC + offset);
|
||||
}
|
||||
|
||||
-static inline void enet_umac_write(struct bcm4908enet *enet, u16 offset, u32 value)
|
||||
+static inline void enet_umac_write(struct bcm4908_enet *enet, u16 offset, u32 value)
|
||||
{
|
||||
enet_write(enet, ENET_UNIMAC + offset, value);
|
||||
}
|
||||
|
||||
-static inline void enet_umac_maskset(struct bcm4908enet *enet, u16 offset, u32 mask, u32 set)
|
||||
+static inline void enet_umac_maskset(struct bcm4908_enet *enet, u16 offset, u32 mask, u32 set)
|
||||
{
|
||||
enet_maskset(enet, ENET_UNIMAC + offset, mask, set);
|
||||
}
|
||||
|
||||
-static inline void enet_umac_set(struct bcm4908enet *enet, u16 offset, u32 set)
|
||||
+static inline void enet_umac_set(struct bcm4908_enet *enet, u16 offset, u32 set)
|
||||
{
|
||||
enet_set(enet, ENET_UNIMAC + offset, set);
|
||||
}
|
||||
@@ -125,17 +125,17 @@ static inline void enet_umac_set(struct bcm4908enet *enet, u16 offset, u32 set)
|
||||
* Helpers
|
||||
*/
|
||||
|
||||
-static void bcm4908enet_intrs_on(struct bcm4908enet *enet)
|
||||
+static void bcm4908_enet_intrs_on(struct bcm4908_enet *enet)
|
||||
{
|
||||
enet_write(enet, ENET_DMA_CH_RX_CFG + ENET_DMA_CH_CFG_INT_MASK, ENET_DMA_INT_DEFAULTS);
|
||||
}
|
||||
|
||||
-static void bcm4908enet_intrs_off(struct bcm4908enet *enet)
|
||||
+static void bcm4908_enet_intrs_off(struct bcm4908_enet *enet)
|
||||
{
|
||||
enet_write(enet, ENET_DMA_CH_RX_CFG + ENET_DMA_CH_CFG_INT_MASK, 0);
|
||||
}
|
||||
|
||||
-static void bcm4908enet_intrs_ack(struct bcm4908enet *enet)
|
||||
+static void bcm4908_enet_intrs_ack(struct bcm4908_enet *enet)
|
||||
{
|
||||
enet_write(enet, ENET_DMA_CH_RX_CFG + ENET_DMA_CH_CFG_INT_STAT, ENET_DMA_INT_DEFAULTS);
|
||||
}
|
||||
@@ -144,9 +144,10 @@ static void bcm4908enet_intrs_ack(struct bcm4908enet *enet)
|
||||
* DMA
|
||||
*/
|
||||
|
||||
-static int bcm4908_dma_alloc_buf_descs(struct bcm4908enet *enet, struct bcm4908enet_dma_ring *ring)
|
||||
+static int bcm4908_dma_alloc_buf_descs(struct bcm4908_enet *enet,
|
||||
+ struct bcm4908_enet_dma_ring *ring)
|
||||
{
|
||||
- int size = ring->length * sizeof(struct bcm4908enet_dma_ring_bd);
|
||||
+ int size = ring->length * sizeof(struct bcm4908_enet_dma_ring_bd);
|
||||
struct device *dev = enet->dev;
|
||||
|
||||
ring->cpu_addr = dma_alloc_coherent(dev, size, &ring->dma_addr, GFP_KERNEL);
|
||||
@@ -174,28 +175,28 @@ static int bcm4908_dma_alloc_buf_descs(struct bcm4908enet *enet, struct bcm4908e
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
-static void bcm4908enet_dma_free(struct bcm4908enet *enet)
|
||||
+static void bcm4908_enet_dma_free(struct bcm4908_enet *enet)
|
||||
{
|
||||
- struct bcm4908enet_dma_ring *tx_ring = &enet->tx_ring;
|
||||
- struct bcm4908enet_dma_ring *rx_ring = &enet->rx_ring;
|
||||
+ struct bcm4908_enet_dma_ring *tx_ring = &enet->tx_ring;
|
||||
+ struct bcm4908_enet_dma_ring *rx_ring = &enet->rx_ring;
|
||||
struct device *dev = enet->dev;
|
||||
int size;
|
||||
|
||||
- size = rx_ring->length * sizeof(struct bcm4908enet_dma_ring_bd);
|
||||
+ size = rx_ring->length * sizeof(struct bcm4908_enet_dma_ring_bd);
|
||||
if (rx_ring->cpu_addr)
|
||||
dma_free_coherent(dev, size, rx_ring->cpu_addr, rx_ring->dma_addr);
|
||||
kfree(rx_ring->slots);
|
||||
|
||||
- size = tx_ring->length * sizeof(struct bcm4908enet_dma_ring_bd);
|
||||
+ size = tx_ring->length * sizeof(struct bcm4908_enet_dma_ring_bd);
|
||||
if (tx_ring->cpu_addr)
|
||||
dma_free_coherent(dev, size, tx_ring->cpu_addr, tx_ring->dma_addr);
|
||||
kfree(tx_ring->slots);
|
||||
}
|
||||
|
||||
-static int bcm4908enet_dma_alloc(struct bcm4908enet *enet)
|
||||
+static int bcm4908_enet_dma_alloc(struct bcm4908_enet *enet)
|
||||
{
|
||||
- struct bcm4908enet_dma_ring *tx_ring = &enet->tx_ring;
|
||||
- struct bcm4908enet_dma_ring *rx_ring = &enet->rx_ring;
|
||||
+ struct bcm4908_enet_dma_ring *tx_ring = &enet->tx_ring;
|
||||
+ struct bcm4908_enet_dma_ring *rx_ring = &enet->rx_ring;
|
||||
struct device *dev = enet->dev;
|
||||
int err;
|
||||
|
||||
@@ -216,16 +217,16 @@ static int bcm4908enet_dma_alloc(struct bcm4908enet *enet)
|
||||
err = bcm4908_dma_alloc_buf_descs(enet, rx_ring);
|
||||
if (err) {
|
||||
dev_err(dev, "Failed to alloc RX buf descriptors: %d\n", err);
|
||||
- bcm4908enet_dma_free(enet);
|
||||
+ bcm4908_enet_dma_free(enet);
|
||||
return err;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
-static void bcm4908enet_dma_reset(struct bcm4908enet *enet)
|
||||
+static void bcm4908_enet_dma_reset(struct bcm4908_enet *enet)
|
||||
{
|
||||
- struct bcm4908enet_dma_ring *rings[] = { &enet->rx_ring, &enet->tx_ring };
|
||||
+ struct bcm4908_enet_dma_ring *rings[] = { &enet->rx_ring, &enet->tx_ring };
|
||||
int i;
|
||||
|
||||
/* Disable the DMA controller and channel */
|
||||
@@ -235,7 +236,7 @@ static void bcm4908enet_dma_reset(struct bcm4908enet *enet)
|
||||
|
||||
/* Reset channels state */
|
||||
for (i = 0; i < ARRAY_SIZE(rings); i++) {
|
||||
- struct bcm4908enet_dma_ring *ring = rings[i];
|
||||
+ struct bcm4908_enet_dma_ring *ring = rings[i];
|
||||
|
||||
enet_write(enet, ring->st_ram_block + ENET_DMA_CH_STATE_RAM_BASE_DESC_PTR, 0);
|
||||
enet_write(enet, ring->st_ram_block + ENET_DMA_CH_STATE_RAM_STATE_DATA, 0);
|
||||
@@ -244,10 +245,10 @@ static void bcm4908enet_dma_reset(struct bcm4908enet *enet)
|
||||
}
|
||||
}
|
||||
|
||||
-static int bcm4908enet_dma_alloc_rx_buf(struct bcm4908enet *enet, unsigned int idx)
|
||||
+static int bcm4908_enet_dma_alloc_rx_buf(struct bcm4908_enet *enet, unsigned int idx)
|
||||
{
|
||||
- struct bcm4908enet_dma_ring_bd *buf_desc = &enet->rx_ring.buf_desc[idx];
|
||||
- struct bcm4908enet_dma_ring_slot *slot = &enet->rx_ring.slots[idx];
|
||||
+ struct bcm4908_enet_dma_ring_bd *buf_desc = &enet->rx_ring.buf_desc[idx];
|
||||
+ struct bcm4908_enet_dma_ring_slot *slot = &enet->rx_ring.slots[idx];
|
||||
struct device *dev = enet->dev;
|
||||
u32 tmp;
|
||||
int err;
|
||||
@@ -277,8 +278,8 @@ static int bcm4908enet_dma_alloc_rx_buf(struct bcm4908enet *enet, unsigned int i
|
||||
return 0;
|
||||
}
|
||||
|
||||
-static void bcm4908enet_dma_ring_init(struct bcm4908enet *enet,
|
||||
- struct bcm4908enet_dma_ring *ring)
|
||||
+static void bcm4908_enet_dma_ring_init(struct bcm4908_enet *enet,
|
||||
+ struct bcm4908_enet_dma_ring *ring)
|
||||
{
|
||||
int reset_channel = 0; /* We support only 1 main channel (with TX and RX) */
|
||||
int reset_subch = ring->is_tx ? 1 : 0;
|
||||
@@ -295,10 +296,10 @@ static void bcm4908enet_dma_ring_init(struct bcm4908enet *enet,
|
||||
(uint32_t)ring->dma_addr);
|
||||
}
|
||||
|
||||
-static void bcm4908enet_dma_uninit(struct bcm4908enet *enet)
|
||||
+static void bcm4908_enet_dma_uninit(struct bcm4908_enet *enet)
|
||||
{
|
||||
- struct bcm4908enet_dma_ring *rx_ring = &enet->rx_ring;
|
||||
- struct bcm4908enet_dma_ring_slot *slot;
|
||||
+ struct bcm4908_enet_dma_ring *rx_ring = &enet->rx_ring;
|
||||
+ struct bcm4908_enet_dma_ring_slot *slot;
|
||||
struct device *dev = enet->dev;
|
||||
int i;
|
||||
|
||||
@@ -312,48 +313,48 @@ static void bcm4908enet_dma_uninit(struct bcm4908enet *enet)
|
||||
}
|
||||
}
|
||||
|
||||
-static int bcm4908enet_dma_init(struct bcm4908enet *enet)
|
||||
+static int bcm4908_enet_dma_init(struct bcm4908_enet *enet)
|
||||
{
|
||||
- struct bcm4908enet_dma_ring *rx_ring = &enet->rx_ring;
|
||||
+ struct bcm4908_enet_dma_ring *rx_ring = &enet->rx_ring;
|
||||
struct device *dev = enet->dev;
|
||||
int err;
|
||||
int i;
|
||||
|
||||
for (i = 0; i < rx_ring->length; i++) {
|
||||
- err = bcm4908enet_dma_alloc_rx_buf(enet, i);
|
||||
+ err = bcm4908_enet_dma_alloc_rx_buf(enet, i);
|
||||
if (err) {
|
||||
dev_err(dev, "Failed to alloc RX buffer: %d\n", err);
|
||||
- bcm4908enet_dma_uninit(enet);
|
||||
+ bcm4908_enet_dma_uninit(enet);
|
||||
return err;
|
||||
}
|
||||
}
|
||||
|
||||
- bcm4908enet_dma_ring_init(enet, &enet->tx_ring);
|
||||
- bcm4908enet_dma_ring_init(enet, &enet->rx_ring);
|
||||
+ bcm4908_enet_dma_ring_init(enet, &enet->tx_ring);
|
||||
+ bcm4908_enet_dma_ring_init(enet, &enet->rx_ring);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
-static void bcm4908enet_dma_tx_ring_ensable(struct bcm4908enet *enet,
|
||||
- struct bcm4908enet_dma_ring *ring)
|
||||
+static void bcm4908_enet_dma_tx_ring_ensable(struct bcm4908_enet *enet,
|
||||
+ struct bcm4908_enet_dma_ring *ring)
|
||||
{
|
||||
enet_write(enet, ring->cfg_block + ENET_DMA_CH_CFG, ENET_DMA_CH_CFG_ENABLE);
|
||||
}
|
||||
|
||||
-static void bcm4908enet_dma_tx_ring_disable(struct bcm4908enet *enet,
|
||||
- struct bcm4908enet_dma_ring *ring)
|
||||
+static void bcm4908_enet_dma_tx_ring_disable(struct bcm4908_enet *enet,
|
||||
+ struct bcm4908_enet_dma_ring *ring)
|
||||
{
|
||||
enet_write(enet, ring->cfg_block + ENET_DMA_CH_CFG, 0);
|
||||
}
|
||||
|
||||
-static void bcm4908enet_dma_rx_ring_enable(struct bcm4908enet *enet,
|
||||
- struct bcm4908enet_dma_ring *ring)
|
||||
+static void bcm4908_enet_dma_rx_ring_enable(struct bcm4908_enet *enet,
|
||||
+ struct bcm4908_enet_dma_ring *ring)
|
||||
{
|
||||
enet_set(enet, ring->cfg_block + ENET_DMA_CH_CFG, ENET_DMA_CH_CFG_ENABLE);
|
||||
}
|
||||
|
||||
-static void bcm4908enet_dma_rx_ring_disable(struct bcm4908enet *enet,
|
||||
- struct bcm4908enet_dma_ring *ring)
|
||||
+static void bcm4908_enet_dma_rx_ring_disable(struct bcm4908_enet *enet,
|
||||
+ struct bcm4908_enet_dma_ring *ring)
|
||||
{
|
||||
unsigned long deadline;
|
||||
u32 tmp;
|
||||
@@ -376,7 +377,7 @@ static void bcm4908enet_dma_rx_ring_disable(struct bcm4908enet *enet,
|
||||
* Ethernet driver
|
||||
*/
|
||||
|
||||
-static void bcm4908enet_gmac_init(struct bcm4908enet *enet)
|
||||
+static void bcm4908_enet_gmac_init(struct bcm4908_enet *enet)
|
||||
{
|
||||
u32 cmd;
|
||||
|
||||
@@ -407,75 +408,75 @@ static void bcm4908enet_gmac_init(struct bcm4908enet *enet)
|
||||
ENET_GMAC_STATUS_LINK_UP);
|
||||
}
|
||||
|
||||
-static irqreturn_t bcm4908enet_irq_handler(int irq, void *dev_id)
|
||||
+static irqreturn_t bcm4908_enet_irq_handler(int irq, void *dev_id)
|
||||
{
|
||||
- struct bcm4908enet *enet = dev_id;
|
||||
+ struct bcm4908_enet *enet = dev_id;
|
||||
|
||||
- bcm4908enet_intrs_off(enet);
|
||||
- bcm4908enet_intrs_ack(enet);
|
||||
+ bcm4908_enet_intrs_off(enet);
|
||||
+ bcm4908_enet_intrs_ack(enet);
|
||||
|
||||
napi_schedule(&enet->napi);
|
||||
|
||||
return IRQ_HANDLED;
|
||||
}
|
||||
|
||||
-static int bcm4908enet_open(struct net_device *netdev)
|
||||
+static int bcm4908_enet_open(struct net_device *netdev)
|
||||
{
|
||||
- struct bcm4908enet *enet = netdev_priv(netdev);
|
||||
+ struct bcm4908_enet *enet = netdev_priv(netdev);
|
||||
struct device *dev = enet->dev;
|
||||
int err;
|
||||
|
||||
- err = request_irq(netdev->irq, bcm4908enet_irq_handler, 0, "enet", enet);
|
||||
+ err = request_irq(netdev->irq, bcm4908_enet_irq_handler, 0, "enet", enet);
|
||||
if (err) {
|
||||
dev_err(dev, "Failed to request IRQ %d: %d\n", netdev->irq, err);
|
||||
return err;
|
||||
}
|
||||
|
||||
- bcm4908enet_gmac_init(enet);
|
||||
- bcm4908enet_dma_reset(enet);
|
||||
- bcm4908enet_dma_init(enet);
|
||||
+ bcm4908_enet_gmac_init(enet);
|
||||
+ bcm4908_enet_dma_reset(enet);
|
||||
+ bcm4908_enet_dma_init(enet);
|
||||
|
||||
enet_umac_set(enet, UMAC_CMD, CMD_TX_EN | CMD_RX_EN);
|
||||
|
||||
enet_set(enet, ENET_DMA_CONTROLLER_CFG, ENET_DMA_CTRL_CFG_MASTER_EN);
|
||||
enet_maskset(enet, ENET_DMA_CONTROLLER_CFG, ENET_DMA_CTRL_CFG_FLOWC_CH1_EN, 0);
|
||||
- bcm4908enet_dma_rx_ring_enable(enet, &enet->rx_ring);
|
||||
+ bcm4908_enet_dma_rx_ring_enable(enet, &enet->rx_ring);
|
||||
|
||||
napi_enable(&enet->napi);
|
||||
netif_carrier_on(netdev);
|
||||
netif_start_queue(netdev);
|
||||
|
||||
- bcm4908enet_intrs_ack(enet);
|
||||
- bcm4908enet_intrs_on(enet);
|
||||
+ bcm4908_enet_intrs_ack(enet);
|
||||
+ bcm4908_enet_intrs_on(enet);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
-static int bcm4908enet_stop(struct net_device *netdev)
|
||||
+static int bcm4908_enet_stop(struct net_device *netdev)
|
||||
{
|
||||
- struct bcm4908enet *enet = netdev_priv(netdev);
|
||||
+ struct bcm4908_enet *enet = netdev_priv(netdev);
|
||||
|
||||
netif_stop_queue(netdev);
|
||||
netif_carrier_off(netdev);
|
||||
napi_disable(&enet->napi);
|
||||
|
||||
- bcm4908enet_dma_rx_ring_disable(enet, &enet->rx_ring);
|
||||
- bcm4908enet_dma_tx_ring_disable(enet, &enet->tx_ring);
|
||||
+ bcm4908_enet_dma_rx_ring_disable(enet, &enet->rx_ring);
|
||||
+ bcm4908_enet_dma_tx_ring_disable(enet, &enet->tx_ring);
|
||||
|
||||
- bcm4908enet_dma_uninit(enet);
|
||||
+ bcm4908_enet_dma_uninit(enet);
|
||||
|
||||
free_irq(enet->netdev->irq, enet);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
-static int bcm4908enet_start_xmit(struct sk_buff *skb, struct net_device *netdev)
|
||||
+static int bcm4908_enet_start_xmit(struct sk_buff *skb, struct net_device *netdev)
|
||||
{
|
||||
- struct bcm4908enet *enet = netdev_priv(netdev);
|
||||
- struct bcm4908enet_dma_ring *ring = &enet->tx_ring;
|
||||
- struct bcm4908enet_dma_ring_slot *slot;
|
||||
+ struct bcm4908_enet *enet = netdev_priv(netdev);
|
||||
+ struct bcm4908_enet_dma_ring *ring = &enet->tx_ring;
|
||||
+ struct bcm4908_enet_dma_ring_slot *slot;
|
||||
struct device *dev = enet->dev;
|
||||
- struct bcm4908enet_dma_ring_bd *buf_desc;
|
||||
+ struct bcm4908_enet_dma_ring_bd *buf_desc;
|
||||
int free_buf_descs;
|
||||
u32 tmp;
|
||||
|
||||
@@ -525,7 +526,7 @@ static int bcm4908enet_start_xmit(struct sk_buff *skb, struct net_device *netdev
|
||||
buf_desc->addr = cpu_to_le32((uint32_t)slot->dma_addr);
|
||||
buf_desc->ctl = cpu_to_le32(tmp);
|
||||
|
||||
- bcm4908enet_dma_tx_ring_ensable(enet, &enet->tx_ring);
|
||||
+ bcm4908_enet_dma_tx_ring_ensable(enet, &enet->tx_ring);
|
||||
|
||||
if (++ring->write_idx == ring->length - 1)
|
||||
ring->write_idx = 0;
|
||||
@@ -535,15 +536,15 @@ static int bcm4908enet_start_xmit(struct sk_buff *skb, struct net_device *netdev
|
||||
return NETDEV_TX_OK;
|
||||
}
|
||||
|
||||
-static int bcm4908enet_poll(struct napi_struct *napi, int weight)
|
||||
+static int bcm4908_enet_poll(struct napi_struct *napi, int weight)
|
||||
{
|
||||
- struct bcm4908enet *enet = container_of(napi, struct bcm4908enet, napi);
|
||||
+ struct bcm4908_enet *enet = container_of(napi, struct bcm4908_enet, napi);
|
||||
struct device *dev = enet->dev;
|
||||
int handled = 0;
|
||||
|
||||
while (handled < weight) {
|
||||
- struct bcm4908enet_dma_ring_bd *buf_desc;
|
||||
- struct bcm4908enet_dma_ring_slot slot;
|
||||
+ struct bcm4908_enet_dma_ring_bd *buf_desc;
|
||||
+ struct bcm4908_enet_dma_ring_slot slot;
|
||||
u32 ctl;
|
||||
int len;
|
||||
int err;
|
||||
@@ -556,7 +557,7 @@ static int bcm4908enet_poll(struct napi_struct *napi, int weight)
|
||||
slot = enet->rx_ring.slots[enet->rx_ring.read_idx];
|
||||
|
||||
/* Provide new buffer before unpinning the old one */
|
||||
- err = bcm4908enet_dma_alloc_rx_buf(enet, enet->rx_ring.read_idx);
|
||||
+ err = bcm4908_enet_dma_alloc_rx_buf(enet, enet->rx_ring.read_idx);
|
||||
if (err)
|
||||
break;
|
||||
|
||||
@@ -583,24 +584,24 @@ static int bcm4908enet_poll(struct napi_struct *napi, int weight)
|
||||
|
||||
if (handled < weight) {
|
||||
napi_complete_done(napi, handled);
|
||||
- bcm4908enet_intrs_on(enet);
|
||||
+ bcm4908_enet_intrs_on(enet);
|
||||
}
|
||||
|
||||
return handled;
|
||||
}
|
||||
|
||||
static const struct net_device_ops bcm96xx_netdev_ops = {
|
||||
- .ndo_open = bcm4908enet_open,
|
||||
- .ndo_stop = bcm4908enet_stop,
|
||||
- .ndo_start_xmit = bcm4908enet_start_xmit,
|
||||
+ .ndo_open = bcm4908_enet_open,
|
||||
+ .ndo_stop = bcm4908_enet_stop,
|
||||
+ .ndo_start_xmit = bcm4908_enet_start_xmit,
|
||||
.ndo_set_mac_address = eth_mac_addr,
|
||||
};
|
||||
|
||||
-static int bcm4908enet_probe(struct platform_device *pdev)
|
||||
+static int bcm4908_enet_probe(struct platform_device *pdev)
|
||||
{
|
||||
struct device *dev = &pdev->dev;
|
||||
struct net_device *netdev;
|
||||
- struct bcm4908enet *enet;
|
||||
+ struct bcm4908_enet *enet;
|
||||
int err;
|
||||
|
||||
netdev = devm_alloc_etherdev(dev, sizeof(*enet));
|
||||
@@ -623,7 +624,7 @@ static int bcm4908enet_probe(struct platform_device *pdev)
|
||||
|
||||
dma_set_coherent_mask(dev, DMA_BIT_MASK(32));
|
||||
|
||||
- err = bcm4908enet_dma_alloc(enet);
|
||||
+ err = bcm4908_enet_dma_alloc(enet);
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
@@ -633,11 +634,11 @@ static int bcm4908enet_probe(struct platform_device *pdev)
|
||||
netdev->min_mtu = ETH_ZLEN;
|
||||
netdev->mtu = ENET_MTU_MAX;
|
||||
netdev->max_mtu = ENET_MTU_MAX;
|
||||
- netif_napi_add(netdev, &enet->napi, bcm4908enet_poll, 64);
|
||||
+ netif_napi_add(netdev, &enet->napi, bcm4908_enet_poll, 64);
|
||||
|
||||
err = register_netdev(netdev);
|
||||
if (err) {
|
||||
- bcm4908enet_dma_free(enet);
|
||||
+ bcm4908_enet_dma_free(enet);
|
||||
return err;
|
||||
}
|
||||
|
||||
@@ -646,31 +647,31 @@ static int bcm4908enet_probe(struct platform_device *pdev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
-static int bcm4908enet_remove(struct platform_device *pdev)
|
||||
+static int bcm4908_enet_remove(struct platform_device *pdev)
|
||||
{
|
||||
- struct bcm4908enet *enet = platform_get_drvdata(pdev);
|
||||
+ struct bcm4908_enet *enet = platform_get_drvdata(pdev);
|
||||
|
||||
unregister_netdev(enet->netdev);
|
||||
netif_napi_del(&enet->napi);
|
||||
- bcm4908enet_dma_free(enet);
|
||||
+ bcm4908_enet_dma_free(enet);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
-static const struct of_device_id bcm4908enet_of_match[] = {
|
||||
- { .compatible = "brcm,bcm4908enet"},
|
||||
+static const struct of_device_id bcm4908_enet_of_match[] = {
|
||||
+ { .compatible = "brcm,bcm4908-enet"},
|
||||
{},
|
||||
};
|
||||
|
||||
-static struct platform_driver bcm4908enet_driver = {
|
||||
+static struct platform_driver bcm4908_enet_driver = {
|
||||
.driver = {
|
||||
- .name = "bcm4908enet",
|
||||
- .of_match_table = bcm4908enet_of_match,
|
||||
+ .name = "bcm4908_enet",
|
||||
+ .of_match_table = bcm4908_enet_of_match,
|
||||
},
|
||||
- .probe = bcm4908enet_probe,
|
||||
- .remove = bcm4908enet_remove,
|
||||
+ .probe = bcm4908_enet_probe,
|
||||
+ .remove = bcm4908_enet_remove,
|
||||
};
|
||||
-module_platform_driver(bcm4908enet_driver);
|
||||
+module_platform_driver(bcm4908_enet_driver);
|
||||
|
||||
MODULE_LICENSE("GPL v2");
|
||||
-MODULE_DEVICE_TABLE(of, bcm4908enet_of_match);
|
||||
+MODULE_DEVICE_TABLE(of, bcm4908_enet_of_match);
|
||||
diff --git a/drivers/net/ethernet/broadcom/bcm4908enet.h b/drivers/net/ethernet/broadcom/bcm4908_enet.h
|
||||
similarity index 98%
|
||||
rename from drivers/net/ethernet/broadcom/bcm4908enet.h
|
||||
rename to drivers/net/ethernet/broadcom/bcm4908_enet.h
|
||||
index 11aadf0715d3..8a3ede2da537 100644
|
||||
--- a/drivers/net/ethernet/broadcom/bcm4908enet.h
|
||||
+++ b/drivers/net/ethernet/broadcom/bcm4908_enet.h
|
||||
@@ -1,6 +1,6 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
-#ifndef __BCM4908ENET_H
|
||||
-#define __BCM4908ENET_H
|
||||
+#ifndef __BCM4908_ENET_H
|
||||
+#define __BCM4908_ENET_H
|
||||
|
||||
#define ENET_CONTROL 0x000
|
||||
#define ENET_MIB_CTRL 0x004
|
@ -0,0 +1,30 @@
|
||||
From af263af64683f018be9ce3c309edfa9903f5109a Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
|
||||
Date: Thu, 11 Feb 2021 13:12:35 +0100
|
||||
Subject: [PATCH] net: broadcom: bcm4908_enet: drop unneeded memset()
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
dma_alloc_coherent takes care of zeroing allocated memory
|
||||
|
||||
Suggested-by: Andrew Lunn <andrew@lunn.ch>
|
||||
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
||||
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
|
||||
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
|
||||
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
---
|
||||
drivers/net/ethernet/broadcom/bcm4908_enet.c | 2 --
|
||||
1 file changed, 2 deletions(-)
|
||||
|
||||
--- a/drivers/net/ethernet/broadcom/bcm4908_enet.c
|
||||
+++ b/drivers/net/ethernet/broadcom/bcm4908_enet.c
|
||||
@@ -163,8 +163,6 @@ static int bcm4908_dma_alloc_buf_descs(s
|
||||
if (!ring->slots)
|
||||
goto err_free_buf_descs;
|
||||
|
||||
- memset(ring->cpu_addr, 0, size);
|
||||
-
|
||||
ring->read_idx = 0;
|
||||
ring->write_idx = 0;
|
||||
|
@ -0,0 +1,75 @@
|
||||
From 7b778ae4eb9cd6e1518e4e47902a104b13ae8929 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
|
||||
Date: Thu, 11 Feb 2021 13:12:36 +0100
|
||||
Subject: [PATCH] net: broadcom: bcm4908_enet: drop "inline" from C functions
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
It seems preferred to let compiler optimize code if applicable.
|
||||
While at it drop unused enet_umac_maskset().
|
||||
|
||||
Suggested-by: Andrew Lunn <andrew@lunn.ch>
|
||||
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
||||
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
|
||||
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
|
||||
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
---
|
||||
drivers/net/ethernet/broadcom/bcm4908_enet.c | 19 +++++++------------
|
||||
1 file changed, 7 insertions(+), 12 deletions(-)
|
||||
|
||||
--- a/drivers/net/ethernet/broadcom/bcm4908_enet.c
|
||||
+++ b/drivers/net/ethernet/broadcom/bcm4908_enet.c
|
||||
@@ -75,17 +75,17 @@ struct bcm4908_enet {
|
||||
* R/W ops
|
||||
*/
|
||||
|
||||
-static inline u32 enet_read(struct bcm4908_enet *enet, u16 offset)
|
||||
+static u32 enet_read(struct bcm4908_enet *enet, u16 offset)
|
||||
{
|
||||
return readl(enet->base + offset);
|
||||
}
|
||||
|
||||
-static inline void enet_write(struct bcm4908_enet *enet, u16 offset, u32 value)
|
||||
+static void enet_write(struct bcm4908_enet *enet, u16 offset, u32 value)
|
||||
{
|
||||
writel(value, enet->base + offset);
|
||||
}
|
||||
|
||||
-static inline void enet_maskset(struct bcm4908_enet *enet, u16 offset, u32 mask, u32 set)
|
||||
+static void enet_maskset(struct bcm4908_enet *enet, u16 offset, u32 mask, u32 set)
|
||||
{
|
||||
u32 val;
|
||||
|
||||
@@ -96,27 +96,22 @@ static inline void enet_maskset(struct b
|
||||
enet_write(enet, offset, val);
|
||||
}
|
||||
|
||||
-static inline void enet_set(struct bcm4908_enet *enet, u16 offset, u32 set)
|
||||
+static void enet_set(struct bcm4908_enet *enet, u16 offset, u32 set)
|
||||
{
|
||||
enet_maskset(enet, offset, set, set);
|
||||
}
|
||||
|
||||
-static inline u32 enet_umac_read(struct bcm4908_enet *enet, u16 offset)
|
||||
+static u32 enet_umac_read(struct bcm4908_enet *enet, u16 offset)
|
||||
{
|
||||
return enet_read(enet, ENET_UNIMAC + offset);
|
||||
}
|
||||
|
||||
-static inline void enet_umac_write(struct bcm4908_enet *enet, u16 offset, u32 value)
|
||||
+static void enet_umac_write(struct bcm4908_enet *enet, u16 offset, u32 value)
|
||||
{
|
||||
enet_write(enet, ENET_UNIMAC + offset, value);
|
||||
}
|
||||
|
||||
-static inline void enet_umac_maskset(struct bcm4908_enet *enet, u16 offset, u32 mask, u32 set)
|
||||
-{
|
||||
- enet_maskset(enet, ENET_UNIMAC + offset, mask, set);
|
||||
-}
|
||||
-
|
||||
-static inline void enet_umac_set(struct bcm4908_enet *enet, u16 offset, u32 set)
|
||||
+static void enet_umac_set(struct bcm4908_enet *enet, u16 offset, u32 set)
|
||||
{
|
||||
enet_set(enet, ENET_UNIMAC + offset, set);
|
||||
}
|
@ -0,0 +1,60 @@
|
||||
From e3948811720341f99cd5cb4a8a650473400ec4f8 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
|
||||
Date: Thu, 11 Feb 2021 13:12:37 +0100
|
||||
Subject: [PATCH] net: broadcom: bcm4908_enet: fix minor typos
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
1. Fix "ensable" typo noticed by Andrew
|
||||
2. Fix chipset name in the struct net_device_ops variable
|
||||
|
||||
Suggested-by: Andrew Lunn <andrew@lunn.ch>
|
||||
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
||||
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
|
||||
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
|
||||
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
---
|
||||
drivers/net/ethernet/broadcom/bcm4908_enet.c | 10 +++++-----
|
||||
1 file changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
--- a/drivers/net/ethernet/broadcom/bcm4908_enet.c
|
||||
+++ b/drivers/net/ethernet/broadcom/bcm4908_enet.c
|
||||
@@ -328,8 +328,8 @@ static int bcm4908_enet_dma_init(struct
|
||||
return 0;
|
||||
}
|
||||
|
||||
-static void bcm4908_enet_dma_tx_ring_ensable(struct bcm4908_enet *enet,
|
||||
- struct bcm4908_enet_dma_ring *ring)
|
||||
+static void bcm4908_enet_dma_tx_ring_enable(struct bcm4908_enet *enet,
|
||||
+ struct bcm4908_enet_dma_ring *ring)
|
||||
{
|
||||
enet_write(enet, ring->cfg_block + ENET_DMA_CH_CFG, ENET_DMA_CH_CFG_ENABLE);
|
||||
}
|
||||
@@ -519,7 +519,7 @@ static int bcm4908_enet_start_xmit(struc
|
||||
buf_desc->addr = cpu_to_le32((uint32_t)slot->dma_addr);
|
||||
buf_desc->ctl = cpu_to_le32(tmp);
|
||||
|
||||
- bcm4908_enet_dma_tx_ring_ensable(enet, &enet->tx_ring);
|
||||
+ bcm4908_enet_dma_tx_ring_enable(enet, &enet->tx_ring);
|
||||
|
||||
if (++ring->write_idx == ring->length - 1)
|
||||
ring->write_idx = 0;
|
||||
@@ -583,7 +583,7 @@ static int bcm4908_enet_poll(struct napi
|
||||
return handled;
|
||||
}
|
||||
|
||||
-static const struct net_device_ops bcm96xx_netdev_ops = {
|
||||
+static const struct net_device_ops bcm4908_enet_netdev_ops = {
|
||||
.ndo_open = bcm4908_enet_open,
|
||||
.ndo_stop = bcm4908_enet_stop,
|
||||
.ndo_start_xmit = bcm4908_enet_start_xmit,
|
||||
@@ -623,7 +623,7 @@ static int bcm4908_enet_probe(struct pla
|
||||
|
||||
SET_NETDEV_DEV(netdev, &pdev->dev);
|
||||
eth_hw_addr_random(netdev);
|
||||
- netdev->netdev_ops = &bcm96xx_netdev_ops;
|
||||
+ netdev->netdev_ops = &bcm4908_enet_netdev_ops;
|
||||
netdev->min_mtu = ETH_ZLEN;
|
||||
netdev->mtu = ENET_MTU_MAX;
|
||||
netdev->max_mtu = ENET_MTU_MAX;
|
@ -0,0 +1,28 @@
|
||||
From 195e2d9febfbeef1d09701c387925e5c2f5cb038 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
|
||||
Date: Thu, 11 Feb 2021 13:12:38 +0100
|
||||
Subject: [PATCH] net: broadcom: bcm4908_enet: fix received skb length
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Use ETH_FCS_LEN instead of magic value and drop incorrect + 2
|
||||
|
||||
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
||||
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
|
||||
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
---
|
||||
drivers/net/ethernet/broadcom/bcm4908_enet.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
--- a/drivers/net/ethernet/broadcom/bcm4908_enet.c
|
||||
+++ b/drivers/net/ethernet/broadcom/bcm4908_enet.c
|
||||
@@ -567,7 +567,7 @@ static int bcm4908_enet_poll(struct napi
|
||||
|
||||
dma_unmap_single(dev, slot.dma_addr, slot.len, DMA_FROM_DEVICE);
|
||||
|
||||
- skb_put(slot.skb, len - 4 + 2);
|
||||
+ skb_put(slot.skb, len - ETH_FCS_LEN);
|
||||
slot.skb->protocol = eth_type_trans(slot.skb, enet->netdev);
|
||||
netif_receive_skb(slot.skb);
|
||||
|
@ -0,0 +1,28 @@
|
||||
From bdd70b997799099597fc0952fb0ec1bd80505bc4 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
|
||||
Date: Thu, 11 Feb 2021 13:12:39 +0100
|
||||
Subject: [PATCH] net: broadcom: bcm4908_enet: fix endianness in xmit code
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Use le32_to_cpu() for reading __le32 struct field filled by hw.
|
||||
|
||||
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
||||
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
|
||||
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
---
|
||||
drivers/net/ethernet/broadcom/bcm4908_enet.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
--- a/drivers/net/ethernet/broadcom/bcm4908_enet.c
|
||||
+++ b/drivers/net/ethernet/broadcom/bcm4908_enet.c
|
||||
@@ -476,7 +476,7 @@ static int bcm4908_enet_start_xmit(struc
|
||||
/* Free transmitted skbs */
|
||||
while (ring->read_idx != ring->write_idx) {
|
||||
buf_desc = &ring->buf_desc[ring->read_idx];
|
||||
- if (buf_desc->ctl & DMA_CTL_STATUS_OWN)
|
||||
+ if (le32_to_cpu(buf_desc->ctl) & DMA_CTL_STATUS_OWN)
|
||||
break;
|
||||
slot = &ring->slots[ring->read_idx];
|
||||
|
@ -24,7 +24,7 @@ Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
|
||||
|
||||
--- a/MAINTAINERS
|
||||
+++ b/MAINTAINERS
|
||||
@@ -3405,6 +3405,16 @@ L: linux-mips@vger.kernel.org
|
||||
@@ -3414,6 +3414,16 @@ L: linux-mips@vger.kernel.org
|
||||
S: Maintained
|
||||
F: drivers/firmware/broadcom/*
|
||||
|
||||
|
@ -0,0 +1,113 @@
|
||||
From d7dfbcba0437955ccbe4c6db736526d528f27720 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
|
||||
Date: Fri, 12 Feb 2021 16:06:00 +0100
|
||||
Subject: [PATCH] net: broadcom: bcm4908_enet: set MTU on open & on request
|
||||
|
||||
Hardware comes up with default max frame size set to 1518. When using it
|
||||
with switch it results in actual Ethernet MTU 1492:
|
||||
1518 - 14 (Ethernet header) - 4 (Broadcom's tag) - 4 (802.1q) - 4 (FCS)
|
||||
|
||||
Above means hardware in its default state can't handle standard Ethernet
|
||||
traffic (MTU 1500).
|
||||
|
||||
Define maximum possible Ethernet overhead and always set MAC max frame
|
||||
length accordingly. This change fixes handling Ethernet frames of length
|
||||
1506 - 1514.
|
||||
---
|
||||
drivers/net/ethernet/broadcom/bcm4908_enet.c | 31 ++++++++++++++++----
|
||||
1 file changed, 25 insertions(+), 6 deletions(-)
|
||||
|
||||
--- a/drivers/net/ethernet/broadcom/bcm4908_enet.c
|
||||
+++ b/drivers/net/ethernet/broadcom/bcm4908_enet.c
|
||||
@@ -5,6 +5,7 @@
|
||||
|
||||
#include <linux/delay.h>
|
||||
#include <linux/etherdevice.h>
|
||||
+#include <linux/if_vlan.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/of.h>
|
||||
@@ -29,9 +30,10 @@
|
||||
ENET_DMA_CH_CFG_INT_BUFF_DONE)
|
||||
#define ENET_DMA_MAX_BURST_LEN 8 /* in 64 bit words */
|
||||
|
||||
-#define ENET_MTU_MIN 60
|
||||
-#define ENET_MTU_MAX 1500 /* Is it possible to support 2044? */
|
||||
-#define ENET_MTU_MAX_EXTRA_SIZE 32 /* L2 */
|
||||
+#define ENET_MTU_MAX ETH_DATA_LEN /* Is it possible to support 2044? */
|
||||
+#define BRCM_MAX_TAG_LEN 6
|
||||
+#define ENET_MAX_ETH_OVERHEAD (ETH_HLEN + BRCM_MAX_TAG_LEN + VLAN_HLEN + \
|
||||
+ ETH_FCS_LEN + 4) /* 32 */
|
||||
|
||||
struct bcm4908_enet_dma_ring_bd {
|
||||
__le32 ctl;
|
||||
@@ -135,6 +137,11 @@ static void bcm4908_enet_intrs_ack(struc
|
||||
enet_write(enet, ENET_DMA_CH_RX_CFG + ENET_DMA_CH_CFG_INT_STAT, ENET_DMA_INT_DEFAULTS);
|
||||
}
|
||||
|
||||
+static void bcm4908_enet_set_mtu(struct bcm4908_enet *enet, int mtu)
|
||||
+{
|
||||
+ enet_umac_write(enet, UMAC_MAX_FRAME_LEN, mtu + ENET_MAX_ETH_OVERHEAD);
|
||||
+}
|
||||
+
|
||||
/***
|
||||
* DMA
|
||||
*/
|
||||
@@ -246,7 +253,7 @@ static int bcm4908_enet_dma_alloc_rx_buf
|
||||
u32 tmp;
|
||||
int err;
|
||||
|
||||
- slot->len = ENET_MTU_MAX + ENET_MTU_MAX_EXTRA_SIZE;
|
||||
+ slot->len = ENET_MTU_MAX + ENET_MAX_ETH_OVERHEAD;
|
||||
|
||||
slot->skb = netdev_alloc_skb(enet->netdev, slot->len);
|
||||
if (!slot->skb)
|
||||
@@ -374,6 +381,8 @@ static void bcm4908_enet_gmac_init(struc
|
||||
{
|
||||
u32 cmd;
|
||||
|
||||
+ bcm4908_enet_set_mtu(enet, enet->netdev->mtu);
|
||||
+
|
||||
cmd = enet_umac_read(enet, UMAC_CMD);
|
||||
enet_umac_write(enet, UMAC_CMD, cmd | CMD_SW_RESET);
|
||||
enet_umac_write(enet, UMAC_CMD, cmd & ~CMD_SW_RESET);
|
||||
@@ -559,7 +568,7 @@ static int bcm4908_enet_poll(struct napi
|
||||
|
||||
len = (ctl & DMA_CTL_LEN_DESC_BUFLENGTH) >> DMA_CTL_LEN_DESC_BUFLENGTH_SHIFT;
|
||||
|
||||
- if (len < ENET_MTU_MIN ||
|
||||
+ if (len < ETH_ZLEN ||
|
||||
(ctl & (DMA_CTL_STATUS_SOP | DMA_CTL_STATUS_EOP)) != (DMA_CTL_STATUS_SOP | DMA_CTL_STATUS_EOP)) {
|
||||
enet->netdev->stats.rx_dropped++;
|
||||
break;
|
||||
@@ -583,11 +592,21 @@ static int bcm4908_enet_poll(struct napi
|
||||
return handled;
|
||||
}
|
||||
|
||||
+static int bcm4908_enet_change_mtu(struct net_device *netdev, int new_mtu)
|
||||
+{
|
||||
+ struct bcm4908_enet *enet = netdev_priv(netdev);
|
||||
+
|
||||
+ bcm4908_enet_set_mtu(enet, new_mtu);
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
static const struct net_device_ops bcm4908_enet_netdev_ops = {
|
||||
.ndo_open = bcm4908_enet_open,
|
||||
.ndo_stop = bcm4908_enet_stop,
|
||||
.ndo_start_xmit = bcm4908_enet_start_xmit,
|
||||
.ndo_set_mac_address = eth_mac_addr,
|
||||
+ .ndo_change_mtu = bcm4908_enet_change_mtu,
|
||||
};
|
||||
|
||||
static int bcm4908_enet_probe(struct platform_device *pdev)
|
||||
@@ -625,7 +644,7 @@ static int bcm4908_enet_probe(struct pla
|
||||
eth_hw_addr_random(netdev);
|
||||
netdev->netdev_ops = &bcm4908_enet_netdev_ops;
|
||||
netdev->min_mtu = ETH_ZLEN;
|
||||
- netdev->mtu = ENET_MTU_MAX;
|
||||
+ netdev->mtu = ETH_DATA_LEN;
|
||||
netdev->max_mtu = ENET_MTU_MAX;
|
||||
netif_napi_add(netdev, &enet->napi, bcm4908_enet_poll, 64);
|
||||
|
@ -10,34 +10,14 @@ BCM4908 SoCs have an integrated Ethernet controller.
|
||||
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
||||
---
|
||||
|
||||
--- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908-asus-gt-ac5300.dts
|
||||
+++ b/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908-asus-gt-ac5300.dts
|
||||
@@ -87,6 +87,17 @@
|
||||
full-duplex;
|
||||
};
|
||||
};
|
||||
+
|
||||
+ port@8 {
|
||||
+ reg = <8>;
|
||||
+ phy-mode = "internal";
|
||||
+ brcm,use-bcm-hdr;
|
||||
+ ethernet = <&gmac>;
|
||||
+ fixed-link {
|
||||
+ speed = <1000>;
|
||||
+ full-duplex;
|
||||
+ };
|
||||
+ };
|
||||
};
|
||||
|
||||
&mdio {
|
||||
--- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi
|
||||
+++ b/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi
|
||||
@@ -112,6 +112,14 @@
|
||||
#size-cells = <1>;
|
||||
ranges = <0x00 0x00 0x80000000 0x281000>;
|
||||
|
||||
+ gmac: ethernet@2000 {
|
||||
+ compatible = "brcm,bcm4908enet";
|
||||
+ enet: ethernet@2000 {
|
||||
+ compatible = "brcm,bcm4908-enet";
|
||||
+ reg = <0x2000 0x1000>;
|
||||
+
|
||||
+ interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
|
||||
@ -47,3 +27,22 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
||||
usb_phy: usb-phy@c200 {
|
||||
compatible = "brcm,bcm4908-usb-phy";
|
||||
reg = <0xc200 0x100>;
|
||||
@@ -199,6 +207,18 @@
|
||||
phy-mode = "internal";
|
||||
phy-handle = <&phy11>;
|
||||
};
|
||||
+
|
||||
+ port@8 {
|
||||
+ reg = <8>;
|
||||
+ phy-mode = "internal";
|
||||
+ brcm,use-bcm-hdr;
|
||||
+ ethernet = <&enet>;
|
||||
+
|
||||
+ fixed-link {
|
||||
+ speed = <1000>;
|
||||
+ full-duplex;
|
||||
+ };
|
||||
+ };
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -1,9 +1,7 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2013 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
ARCH:=arm
|
||||
|
@ -1,9 +1,7 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2013 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
include $(INCLUDE_DIR)/image.mk
|
||||
|
||||
|
@ -1,8 +1,6 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Copyright (C) 2016 Rafał Miłecki <rafal@milecki.pl>
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
#
|
||||
|
||||
define KernelPackage/phy-bcm-ns-usb2
|
||||
TITLE:=Broadcom Northstar USB 2.0 PHY Driver
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user