* [PATCH u-boot] eth/r8152: update the firmware
@ 2020-06-01 8:42 Hayes Wang
2020-06-01 16:45 ` Marek Vasut
0 siblings, 1 reply; 8+ messages in thread
From: Hayes Wang @ 2020-06-01 8:42 UTC (permalink / raw)
To: u-boot
Update the firmware to improve compatibility for none-intel USB
host controller.
Signed-off-by: Hayes Wang <hayeswang@realtek.com>
---
drivers/usb/eth/r8152.h | 8 +
drivers/usb/eth/r8152_fw.c | 481 ++++++++++++++++++++-----------------
2 files changed, 265 insertions(+), 224 deletions(-)
diff --git a/drivers/usb/eth/r8152.h b/drivers/usb/eth/r8152.h
index c7f62b8b3e..10e0da8eb1 100644
--- a/drivers/usb/eth/r8152.h
+++ b/drivers/usb/eth/r8152.h
@@ -25,6 +25,7 @@
#define PLA_BDC_CR 0xd1a0
#define PLA_TEREDO_TIMER 0xd2cc
#define PLA_REALWOW_TIMER 0xd2e8
+#define PLA_EXTRA_STATUS 0xd398
#define PLA_LEDSEL 0xdd90
#define PLA_LED_FEATURE 0xdd92
#define PLA_PHYAR 0xde00
@@ -76,6 +77,7 @@
#define USB_DEV_STAT 0xb808
#define USB_CONNECT_TIMER 0xcbf8
#define USB_BURST_SIZE 0xcfc0
+#define USB_FW_FIX_EN1 0xcfcc
#define USB_USB_CTRL 0xd406
#define USB_PHY_CTRL 0xd408
#define USB_TX_AGG 0xd40a
@@ -285,6 +287,9 @@
/* PLA_BOOT_CTRL */
#define AUTOLOAD_DONE 0x0002
+/* PLA_EXTRA_STATUS */
+#define U3P3_CHECK_EN BIT(7)
+
/* USB_USB2PHY */
#define USB2PHY_SUSPEND 0x0001
#define USB2PHY_L1 0x0002
@@ -304,6 +309,9 @@
#define STAT_SPEED_HIGH 0x0000
#define STAT_SPEED_FULL 0x0002
+/* USB_FW_FIX_EN1 */
+#define FW_IP_RESET_EN BIT(9)
+
/* USB_TX_AGG */
#define TX_AGG_MAX_THRESHOLD 0x03
diff --git a/drivers/usb/eth/r8152_fw.c b/drivers/usb/eth/r8152_fw.c
index 3ebbd533cc..f953b0384b 100644
--- a/drivers/usb/eth/r8152_fw.c
+++ b/drivers/usb/eth/r8152_fw.c
@@ -293,7 +293,7 @@ static u8 r8152b_pla_patch_a2[] = {
0x00, 0xbe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
static u16 r8152b_pla_patch_a2_bp[] = {
- 0xfc28, 0x8000, 0xfc28, 0x17a5, 0xfc2a, 0x13ad,
+ 0xfc26, 0x8000, 0xfc28, 0x17a5, 0xfc2a, 0x13ad,
0xfc2c, 0x184d, 0xfc2e, 0x01e1 };
static u16 r8153_ram_code_a[] = {
@@ -321,181 +321,150 @@ static u16 r8153_ram_code_a[] = {
0xB438, 0x3591, 0xB436, 0xB820, 0xB438, 0x0210 };
static u8 r8153_usb_patch_c[] = {
- 0x08, 0xe0, 0x0a, 0xe0, 0x14, 0xe0, 0x2e, 0xe0,
- 0x37, 0xe0, 0x3e, 0xe0, 0x6d, 0xe0, 0x78, 0xe0,
+ 0x08, 0xe0, 0x0a, 0xe0, 0x14, 0xe0, 0x58, 0xe0,
+ 0x64, 0xe0, 0x79, 0xe0, 0xab, 0xe0, 0xb6, 0xe0,
0x02, 0xc5, 0x00, 0xbd, 0x38, 0x3b, 0xdb, 0x49,
0x04, 0xf1, 0x06, 0xc3, 0x00, 0xbb, 0x5a, 0x02,
0x05, 0xc4, 0x03, 0xc3, 0x00, 0xbb, 0xa4, 0x04,
- 0x7e, 0x02, 0x30, 0xd4, 0x30, 0x18, 0x18, 0xc1,
- 0x0c, 0xe8, 0x17, 0xc6, 0xc7, 0x65, 0xd0, 0x49,
+ 0x7e, 0x02, 0x30, 0xd4, 0x65, 0xc6, 0x66, 0x61,
+ 0x92, 0x49, 0x12, 0xf1, 0x3e, 0xc0, 0x02, 0x61,
+ 0x97, 0x49, 0x05, 0xf0, 0x3c, 0xc0, 0x00, 0x61,
+ 0x90, 0x49, 0x0a, 0xf1, 0xca, 0x63, 0xb0, 0x49,
+ 0x09, 0xf1, 0xb1, 0x49, 0x05, 0xf0, 0x32, 0xc0,
+ 0x00, 0x71, 0x9e, 0x49, 0x03, 0xf1, 0xb0, 0x48,
+ 0x05, 0xe0, 0x30, 0x48, 0xda, 0x61, 0x10, 0x48,
+ 0xda, 0x89, 0x4a, 0xc6, 0xc0, 0x60, 0x85, 0x49,
+ 0x03, 0xf0, 0x31, 0x48, 0x04, 0xe0, 0xb1, 0x48,
+ 0xb2, 0x48, 0x0f, 0xe0, 0x30, 0x18, 0x1b, 0xc1,
+ 0x0f, 0xe8, 0x1a, 0xc6, 0xc7, 0x65, 0xd0, 0x49,
0x05, 0xf0, 0x32, 0x48, 0x02, 0xc2, 0x00, 0xba,
0x3e, 0x16, 0x02, 0xc2, 0x00, 0xba, 0x48, 0x16,
- 0x02, 0xb4, 0x09, 0xc2, 0x40, 0x99, 0x0e, 0x48,
- 0x42, 0x98, 0x42, 0x70, 0x8e, 0x49, 0xfe, 0xf1,
- 0x02, 0xb0, 0x80, 0xff, 0xc0, 0xd4, 0xe4, 0x40,
- 0x20, 0xd4, 0xb0, 0x49, 0x04, 0xf0, 0x30, 0x18,
- 0x06, 0xc1, 0xef, 0xef, 0xfa, 0xc7, 0x02, 0xc0,
- 0x00, 0xb8, 0xd0, 0x10, 0xe4, 0x4b, 0x07, 0xc3,
- 0x70, 0x61, 0x12, 0x48, 0x70, 0x89, 0x02, 0xc3,
- 0x00, 0xbb, 0x9c, 0x15, 0x20, 0xd4, 0x2b, 0xc5,
- 0xa0, 0x77, 0x00, 0x1c, 0xa0, 0x9c, 0x28, 0xc5,
- 0xa0, 0x64, 0xc0, 0x48, 0xc1, 0x48, 0xc2, 0x48,
- 0xa0, 0x8c, 0xb1, 0x64, 0xc0, 0x48, 0xb1, 0x8c,
- 0x20, 0xc5, 0xa0, 0x64, 0x40, 0x48, 0x41, 0x48,
- 0xc2, 0x48, 0xa0, 0x8c, 0x19, 0xc5, 0xa4, 0x64,
- 0x44, 0x48, 0xa4, 0x8c, 0xb1, 0x64, 0x40, 0x48,
- 0xb1, 0x8c, 0x14, 0xc4, 0x80, 0x73, 0x13, 0xc4,
- 0x82, 0x9b, 0x11, 0x1b, 0x80, 0x9b, 0x0c, 0xc5,
- 0xa0, 0x64, 0x40, 0x48, 0x41, 0x48, 0x42, 0x48,
- 0xa0, 0x8c, 0x05, 0xc5, 0xa0, 0x9f, 0x02, 0xc5,
- 0x00, 0xbd, 0x6c, 0x3a, 0x1e, 0xfc, 0x10, 0xd8,
- 0x86, 0xd4, 0xf8, 0xcb, 0x20, 0xe4, 0x0a, 0xc0,
- 0x16, 0x61, 0x91, 0x48, 0x16, 0x89, 0x07, 0xc0,
- 0x11, 0x19, 0x0c, 0x89, 0x02, 0xc1, 0x00, 0xb9,
- 0x02, 0x06, 0x00, 0xd4, 0x40, 0xb4, 0xfe, 0xc0,
- 0x16, 0x61, 0x91, 0x48, 0x16, 0x89, 0xfb, 0xc0,
- 0x11, 0x19, 0x0c, 0x89, 0x02, 0xc1, 0x00, 0xb9,
- 0xd2, 0x05, 0x00, 0x00 };
+ 0x02, 0xc2, 0x00, 0xba, 0x4a, 0x16, 0x02, 0xb4,
+ 0x09, 0xc2, 0x40, 0x99, 0x0e, 0x48, 0x42, 0x98,
+ 0x42, 0x70, 0x8e, 0x49, 0xfe, 0xf1, 0x02, 0xb0,
+ 0x80, 0xff, 0xc0, 0xd4, 0xe4, 0x40, 0x20, 0xd4,
+ 0xca, 0xcf, 0x00, 0xcf, 0x3c, 0xe4, 0x0c, 0xc0,
+ 0x00, 0x63, 0xb5, 0x49, 0x09, 0xc0, 0x30, 0x18,
+ 0x06, 0xc1, 0xea, 0xef, 0xf5, 0xc7, 0x02, 0xc0,
+ 0x00, 0xb8, 0xd0, 0x10, 0xe4, 0x4b, 0x00, 0xd8,
+ 0x14, 0xc3, 0x60, 0x61, 0x90, 0x49, 0x06, 0xf0,
+ 0x11, 0xc3, 0x70, 0x61, 0x12, 0x48, 0x70, 0x89,
+ 0x08, 0xe0, 0x0a, 0xc6, 0xd4, 0x61, 0x93, 0x48,
+ 0xd4, 0x89, 0x02, 0xc1, 0x00, 0xb9, 0x72, 0x17,
+ 0x02, 0xc1, 0x00, 0xb9, 0x9c, 0x15, 0x00, 0xd8,
+ 0xef, 0xcf, 0x20, 0xd4, 0x30, 0x18, 0xe7, 0xc1,
+ 0xcb, 0xef, 0x2b, 0xc5, 0xa0, 0x77, 0x00, 0x1c,
+ 0xa0, 0x9c, 0x28, 0xc5, 0xa0, 0x64, 0xc0, 0x48,
+ 0xc1, 0x48, 0xc2, 0x48, 0xa0, 0x8c, 0xb1, 0x64,
+ 0xc0, 0x48, 0xb1, 0x8c, 0x20, 0xc5, 0xa0, 0x64,
+ 0x40, 0x48, 0x41, 0x48, 0xc2, 0x48, 0xa0, 0x8c,
+ 0x19, 0xc5, 0xa4, 0x64, 0x44, 0x48, 0xa4, 0x8c,
+ 0xb1, 0x64, 0x40, 0x48, 0xb1, 0x8c, 0x14, 0xc4,
+ 0x80, 0x73, 0x13, 0xc4, 0x82, 0x9b, 0x11, 0x1b,
+ 0x80, 0x9b, 0x0c, 0xc5, 0xa0, 0x64, 0x40, 0x48,
+ 0x41, 0x48, 0x42, 0x48, 0xa0, 0x8c, 0x05, 0xc5,
+ 0xa0, 0x9f, 0x02, 0xc5, 0x00, 0xbd, 0x6c, 0x3a,
+ 0x1e, 0xfc, 0x10, 0xd8, 0x86, 0xd4, 0xf8, 0xcb,
+ 0x20, 0xe4, 0x0a, 0xc0, 0x16, 0x61, 0x91, 0x48,
+ 0x16, 0x89, 0x07, 0xc0, 0x11, 0x19, 0x0c, 0x89,
+ 0x02, 0xc1, 0x00, 0xb9, 0x02, 0x06, 0x00, 0xd4,
+ 0x40, 0xb4, 0xfe, 0xc0, 0x16, 0x61, 0x91, 0x48,
+ 0x16, 0x89, 0xfb, 0xc0, 0x11, 0x19, 0x0c, 0x89,
+ 0x02, 0xc1, 0x00, 0xb9, 0xd2, 0x05, 0x00, 0x00 };
static u16 r8153_usb_patch_c_bp[] = {
- 0xfc26, 0xa000, 0xfc28, 0x3b34, 0xfc2a, 0x027c, 0xfc2c, 0x162c,
- 0xfc2e, 0x10ce, 0xfc30, 0x0000, 0xfc32, 0x3a28, 0xfc34, 0x05f8,
- 0xfc36, 0x05c8 };
+ 0xfc26, 0xa000, 0xfc28, 0x3b34, 0xfc2a, 0x027c, 0xfc2c, 0x15de,
+ 0xfc2e, 0x10ce, 0xfc30, 0x1adc, 0xfc32, 0x3a28, 0xfc34, 0x05f8,
+ 0xfc36, 0x05c8, 0xfc38, 0x00f3 };
static u8 r8153_pla_patch_c[] = {
- 0x08, 0xe0, 0xea, 0xe0, 0xf2, 0xe0, 0x04, 0xe1,
- 0x06, 0xe1, 0x08, 0xe1, 0x40, 0xe1, 0xf1, 0xe1,
- 0x14, 0xc2, 0x40, 0x73, 0xba, 0x48, 0x40, 0x9b,
- 0x11, 0xc2, 0x40, 0x73, 0xb0, 0x49, 0x17, 0xf0,
- 0xbf, 0x49, 0x03, 0xf1, 0x09, 0xc5, 0x00, 0xbd,
- 0xb1, 0x49, 0x11, 0xf0, 0xb1, 0x48, 0x40, 0x9b,
- 0x02, 0xc2, 0x00, 0xba, 0xde, 0x18, 0x00, 0xe0,
- 0x1e, 0xfc, 0xbc, 0xc0, 0xf0, 0xc0, 0xde, 0xe8,
- 0x00, 0x80, 0x00, 0x20, 0x2c, 0x75, 0xd4, 0x49,
- 0x12, 0xf1, 0x32, 0xe0, 0xf8, 0xc2, 0x46, 0x71,
- 0xf7, 0xc2, 0x40, 0x73, 0xbe, 0x49, 0x03, 0xf1,
- 0xf5, 0xc7, 0x02, 0xe0, 0xf2, 0xc7, 0x4f, 0x30,
- 0x26, 0x62, 0xa1, 0x49, 0xf0, 0xf1, 0x22, 0x72,
- 0xa0, 0x49, 0xed, 0xf1, 0x25, 0x25, 0x18, 0x1f,
- 0x97, 0x30, 0x91, 0x30, 0x36, 0x9a, 0x2c, 0x75,
- 0x3c, 0xc3, 0x60, 0x73, 0xb1, 0x49, 0x0d, 0xf1,
- 0xdc, 0x21, 0xbc, 0x25, 0x30, 0xc6, 0xc0, 0x77,
- 0x04, 0x13, 0x21, 0xf0, 0x03, 0x13, 0x22, 0xf0,
- 0x02, 0x13, 0x23, 0xf0, 0x01, 0x13, 0x24, 0xf0,
- 0x08, 0x13, 0x08, 0xf1, 0x2e, 0x73, 0xba, 0x21,
- 0xbd, 0x25, 0x05, 0x13, 0x03, 0xf1, 0x24, 0xc5,
- 0x00, 0xbd, 0xd4, 0x49, 0x03, 0xf1, 0x1c, 0xc5,
- 0x00, 0xbd, 0xc4, 0xc6, 0xc6, 0x67, 0x2e, 0x75,
- 0xd7, 0x22, 0xdd, 0x26, 0x05, 0x15, 0x1b, 0xf0,
- 0x14, 0xc6, 0x00, 0xbe, 0x13, 0xc5, 0x00, 0xbd,
- 0x12, 0xc5, 0x00, 0xbd, 0xf1, 0x49, 0xfb, 0xf1,
- 0xef, 0xe7, 0xf4, 0x49, 0xfa, 0xf1, 0xec, 0xe7,
- 0xf3, 0x49, 0xf7, 0xf1, 0xe9, 0xe7, 0xf2, 0x49,
- 0xf4, 0xf1, 0xe6, 0xe7, 0xb6, 0xc0, 0x50, 0x14,
- 0x90, 0x13, 0xbc, 0x13, 0xf2, 0x14, 0x00, 0xa0,
- 0xa0, 0xd1, 0x00, 0x00, 0xc0, 0x75, 0xd0, 0x49,
- 0x46, 0xf0, 0x26, 0x72, 0xa7, 0x49, 0x43, 0xf0,
- 0x22, 0x72, 0x25, 0x25, 0x20, 0x1f, 0x97, 0x30,
- 0x91, 0x30, 0x40, 0x73, 0xf3, 0xc4, 0x1c, 0x40,
- 0x04, 0xf0, 0xd7, 0x49, 0x05, 0xf1, 0x37, 0xe0,
- 0x53, 0x48, 0xc0, 0x9d, 0x08, 0x02, 0x40, 0x66,
- 0x64, 0x27, 0x06, 0x16, 0x30, 0xf1, 0x46, 0x63,
- 0x3b, 0x13, 0x2d, 0xf1, 0x34, 0x9b, 0x18, 0x1b,
- 0x93, 0x30, 0x2b, 0xc3, 0x10, 0x1c, 0x2b, 0xe8,
- 0x01, 0x14, 0x25, 0xf1, 0x00, 0x1d, 0x26, 0x1a,
- 0x8a, 0x30, 0x22, 0x73, 0xb5, 0x25, 0x0e, 0x0b,
- 0x00, 0x1c, 0x2c, 0xe8, 0x1f, 0xc7, 0x27, 0x40,
- 0x1a, 0xf1, 0x38, 0xe8, 0x32, 0x1f, 0x8f, 0x30,
- 0x08, 0x1b, 0x24, 0xe8, 0x36, 0x72, 0x46, 0x77,
- 0x00, 0x17, 0x0d, 0xf0, 0x13, 0xc3, 0x1f, 0x40,
- 0x03, 0xf1, 0x00, 0x1f, 0x46, 0x9f, 0x44, 0x77,
- 0x9f, 0x44, 0x5f, 0x44, 0x17, 0xe8, 0x0a, 0xc7,
- 0x27, 0x40, 0x05, 0xf1, 0x02, 0xc3, 0x00, 0xbb,
- 0xbe, 0x1a, 0x74, 0x14, 0xff, 0xc7, 0x00, 0xbf,
- 0xb8, 0xcd, 0xff, 0xff, 0x02, 0x0c, 0x54, 0xa5,
- 0xdc, 0xa5, 0x2f, 0x40, 0x05, 0xf1, 0x00, 0x14,
- 0xfa, 0xf1, 0x01, 0x1c, 0x02, 0xe0, 0x00, 0x1c,
- 0x80, 0xff, 0xb0, 0x49, 0x04, 0xf0, 0x01, 0x0b,
- 0xd3, 0xa1, 0x03, 0xe0, 0x02, 0x0b, 0xd3, 0xa5,
- 0x27, 0x31, 0x20, 0x37, 0x02, 0x0b, 0xd3, 0xa5,
- 0x27, 0x31, 0x20, 0x37, 0x00, 0x13, 0xfb, 0xf1,
- 0x80, 0xff, 0x22, 0x73, 0xb5, 0x25, 0x18, 0x1e,
- 0xde, 0x30, 0xd9, 0x30, 0x64, 0x72, 0x11, 0x1e,
- 0x68, 0x23, 0x16, 0x31, 0x80, 0xff, 0x08, 0xc2,
- 0x40, 0x73, 0x3a, 0x48, 0x40, 0x9b, 0x06, 0xff,
- 0x02, 0xc6, 0x00, 0xbe, 0xcc, 0x17, 0x1e, 0xfc,
- 0x2c, 0x75, 0xdc, 0x21, 0xbc, 0x25, 0x04, 0x13,
- 0x0b, 0xf0, 0x03, 0x13, 0x09, 0xf0, 0x02, 0x13,
- 0x07, 0xf0, 0x01, 0x13, 0x05, 0xf0, 0x08, 0x13,
- 0x03, 0xf0, 0x04, 0xc3, 0x00, 0xbb, 0x03, 0xc3,
- 0x00, 0xbb, 0x50, 0x17, 0x3a, 0x17, 0x02, 0xc6,
- 0x00, 0xbe, 0x00, 0x00, 0x02, 0xc6, 0x00, 0xbe,
- 0x00, 0x00, 0x33, 0xc5, 0xa0, 0x74, 0xc0, 0x49,
- 0x1f, 0xf0, 0x30, 0xc5, 0xa0, 0x73, 0x00, 0x13,
- 0x04, 0xf1, 0xa2, 0x73, 0x00, 0x13, 0x14, 0xf0,
- 0x28, 0xc5, 0xa0, 0x74, 0xc8, 0x49, 0x1b, 0xf1,
- 0x26, 0xc5, 0xa0, 0x76, 0xa2, 0x74, 0x01, 0x06,
- 0x20, 0x37, 0xa0, 0x9e, 0xa2, 0x9c, 0x1e, 0xc5,
- 0xa2, 0x73, 0x23, 0x40, 0x10, 0xf8, 0x04, 0xf3,
- 0xa0, 0x73, 0x33, 0x40, 0x0c, 0xf8, 0x15, 0xc5,
- 0xa0, 0x74, 0x41, 0x48, 0xa0, 0x9c, 0x14, 0xc5,
- 0xa0, 0x76, 0x62, 0x48, 0xe0, 0x48, 0xa0, 0x9e,
- 0x10, 0xc6, 0x00, 0xbe, 0x0a, 0xc5, 0xa0, 0x74,
- 0x48, 0x48, 0xa0, 0x9c, 0x0b, 0xc5, 0x20, 0x1e,
- 0xa0, 0x9e, 0xe5, 0x48, 0xa0, 0x9e, 0xf0, 0xe7,
- 0xbc, 0xc0, 0xc8, 0xd2, 0xcc, 0xd2, 0x28, 0xe4,
- 0xfa, 0x01, 0xf0, 0xc0, 0x18, 0x89, 0x00, 0x1d,
- 0x43, 0xc3, 0x62, 0x62, 0xa0, 0x49, 0x06, 0xf0,
- 0x41, 0xc0, 0x02, 0x71, 0x60, 0x99, 0x3f, 0xc1,
- 0x03, 0xe0, 0x3c, 0xc0, 0x3d, 0xc1, 0x02, 0x99,
- 0x00, 0x61, 0x67, 0x11, 0x3d, 0xf1, 0x69, 0x33,
- 0x34, 0xc0, 0x28, 0x40, 0xf7, 0xf1, 0x35, 0xc0,
- 0x00, 0x19, 0x81, 0x1b, 0x89, 0xe8, 0x32, 0xc0,
- 0x04, 0x1a, 0x84, 0x1b, 0x85, 0xe8, 0x7a, 0xe8,
- 0xa3, 0x49, 0xfe, 0xf0, 0x2c, 0xc0, 0x76, 0xe8,
- 0xa1, 0x48, 0x29, 0xc0, 0x84, 0x1b, 0x7c, 0xe8,
- 0x00, 0x1d, 0x69, 0x33, 0x00, 0x1e, 0x01, 0x06,
- 0xff, 0x18, 0x30, 0x40, 0xfd, 0xf1, 0x7f, 0xc0,
- 0x00, 0x76, 0x2e, 0x40, 0xf7, 0xf1, 0x21, 0x48,
- 0x1a, 0xc0, 0x84, 0x1b, 0x6d, 0xe8, 0x76, 0xc0,
- 0x61, 0xe8, 0xa1, 0x49, 0xfd, 0xf0, 0x12, 0xc0,
- 0x00, 0x1a, 0x84, 0x1b, 0x65, 0xe8, 0x5a, 0xe8,
- 0xa5, 0x49, 0xfe, 0xf0, 0x0a, 0xc0, 0x01, 0x19,
- 0x81, 0x1b, 0x5e, 0xe8, 0x48, 0xe0, 0x8c, 0xd3,
- 0xb8, 0x0b, 0x50, 0xe8, 0x83, 0x00, 0x82, 0x00,
- 0x20, 0xb4, 0x10, 0xd8, 0x84, 0xd4, 0xfa, 0xc0,
- 0x00, 0x61, 0x9c, 0x20, 0x9c, 0x24, 0x06, 0x11,
- 0x06, 0xf1, 0x5d, 0xc0, 0x00, 0x61, 0x11, 0x48,
- 0x00, 0x89, 0x35, 0xe0, 0x00, 0x11, 0x02, 0xf1,
- 0x03, 0xe0, 0x04, 0x11, 0x06, 0xf1, 0x53, 0xc0,
- 0x00, 0x61, 0x92, 0x48, 0x00, 0x89, 0x2b, 0xe0,
- 0x05, 0x11, 0x08, 0xf1, 0x4c, 0xc0, 0x00, 0x61,
- 0x91, 0x49, 0x04, 0xf0, 0x91, 0x48, 0x00, 0x89,
- 0x11, 0xe0, 0xdc, 0xc0, 0x00, 0x61, 0x98, 0x20,
- 0x98, 0x24, 0x25, 0x11, 0x1c, 0xf1, 0x40, 0xc0,
- 0x25, 0xe8, 0x95, 0x49, 0x18, 0xf0, 0xd2, 0xc0,
- 0x00, 0x61, 0x98, 0x20, 0x98, 0x24, 0x25, 0x11,
- 0x12, 0xf1, 0x35, 0xc0, 0x00, 0x61, 0x92, 0x49,
- 0x0e, 0xf1, 0x12, 0x48, 0x00, 0x89, 0x2d, 0xc0,
- 0x00, 0x19, 0x00, 0x89, 0x2b, 0xc0, 0x01, 0x89,
- 0x27, 0xc0, 0x10, 0xe8, 0x25, 0xc0, 0x12, 0x48,
- 0x81, 0x1b, 0x16, 0xe8, 0xb9, 0xc3, 0x62, 0x62,
- 0xa0, 0x49, 0x05, 0xf0, 0xb5, 0xc3, 0x60, 0x71,
- 0xb5, 0xc0, 0x02, 0x99, 0x02, 0xc0, 0x00, 0xb8,
- 0xd6, 0x07, 0x13, 0xc4, 0x84, 0x98, 0x00, 0x1b,
- 0x86, 0x8b, 0x86, 0x73, 0xbf, 0x49, 0xfe, 0xf1,
- 0x80, 0x71, 0x82, 0x72, 0x80, 0xff, 0x09, 0xc4,
- 0x84, 0x98, 0x80, 0x99, 0x82, 0x9a, 0x86, 0x8b,
- 0x86, 0x73, 0xbf, 0x49, 0xfe, 0xf1, 0x80, 0xff,
- 0x08, 0xea, 0x10, 0xd4, 0x88, 0xd3, 0x30, 0xd4,
- 0x10, 0xc0, 0x12, 0xe8, 0x8a, 0xd3, 0x00, 0xd8,
- 0x02, 0xc0, 0x00, 0xb8, 0xe0, 0x08, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
+ 0x5d, 0xe0, 0x07, 0xe0, 0x0f, 0xe0, 0x5a, 0xe0,
+ 0x59, 0xe0, 0x1f, 0xe0, 0x57, 0xe0, 0x3e, 0xe1,
+ 0x08, 0xc2, 0x40, 0x73, 0x3a, 0x48, 0x40, 0x9b,
+ 0x06, 0xff, 0x02, 0xc6, 0x00, 0xbe, 0xcc, 0x17,
+ 0x1e, 0xfc, 0x2c, 0x75, 0xdc, 0x21, 0xbc, 0x25,
+ 0x04, 0x13, 0x0b, 0xf0, 0x03, 0x13, 0x09, 0xf0,
+ 0x02, 0x13, 0x07, 0xf0, 0x01, 0x13, 0x05, 0xf0,
+ 0x08, 0x13, 0x03, 0xf0, 0x04, 0xc3, 0x00, 0xbb,
+ 0x03, 0xc3, 0x00, 0xbb, 0x50, 0x17, 0x3a, 0x17,
+ 0x33, 0xc5, 0xa0, 0x74, 0xc0, 0x49, 0x1f, 0xf0,
+ 0x30, 0xc5, 0xa0, 0x73, 0x00, 0x13, 0x04, 0xf1,
+ 0xa2, 0x73, 0x00, 0x13, 0x14, 0xf0, 0x28, 0xc5,
+ 0xa0, 0x74, 0xc8, 0x49, 0x1b, 0xf1, 0x26, 0xc5,
+ 0xa0, 0x76, 0xa2, 0x74, 0x01, 0x06, 0x20, 0x37,
+ 0xa0, 0x9e, 0xa2, 0x9c, 0x1e, 0xc5, 0xa2, 0x73,
+ 0x23, 0x40, 0x10, 0xf8, 0x04, 0xf3, 0xa0, 0x73,
+ 0x33, 0x40, 0x0c, 0xf8, 0x15, 0xc5, 0xa0, 0x74,
+ 0x41, 0x48, 0xa0, 0x9c, 0x14, 0xc5, 0xa0, 0x76,
+ 0x62, 0x48, 0xe0, 0x48, 0xa0, 0x9e, 0x10, 0xc6,
+ 0x00, 0xbe, 0x0a, 0xc5, 0xa0, 0x74, 0x48, 0x48,
+ 0xa0, 0x9c, 0x0b, 0xc5, 0x20, 0x1e, 0xa0, 0x9e,
+ 0xe5, 0x48, 0xa0, 0x9e, 0xf0, 0xe7, 0xbc, 0xc0,
+ 0xc8, 0xd2, 0xcc, 0xd2, 0x28, 0xe4, 0xfa, 0x01,
+ 0xf0, 0xc0, 0x18, 0x89, 0x74, 0xc0, 0xcd, 0xe8,
+ 0x80, 0x76, 0x00, 0x1d, 0x6e, 0xc3, 0x66, 0x62,
+ 0xa0, 0x49, 0x06, 0xf0, 0x64, 0xc0, 0x02, 0x71,
+ 0x60, 0x99, 0x62, 0xc1, 0x03, 0xe0, 0x5f, 0xc0,
+ 0x60, 0xc1, 0x02, 0x99, 0x00, 0x61, 0x0f, 0x1b,
+ 0x59, 0x41, 0x03, 0x13, 0x18, 0xf1, 0xe4, 0x49,
+ 0x20, 0xf1, 0xe5, 0x49, 0x1e, 0xf0, 0x59, 0xc6,
+ 0xd0, 0x73, 0xb7, 0x49, 0x08, 0xf0, 0x01, 0x0b,
+ 0x80, 0x13, 0x03, 0xf0, 0xd0, 0x8b, 0x03, 0xe0,
+ 0x3f, 0x48, 0xd0, 0x9b, 0x51, 0xc0, 0x10, 0x1a,
+ 0x84, 0x1b, 0xb1, 0xe8, 0x4b, 0xc2, 0x40, 0x63,
+ 0x30, 0x48, 0x0a, 0xe0, 0xe5, 0x49, 0x09, 0xf0,
+ 0x47, 0xc0, 0x00, 0x1a, 0x84, 0x1b, 0xa7, 0xe8,
+ 0x41, 0xc2, 0x40, 0x63, 0xb0, 0x48, 0x40, 0x8b,
+ 0x67, 0x11, 0x3f, 0xf1, 0x69, 0x33, 0x32, 0xc0,
+ 0x28, 0x40, 0xd2, 0xf1, 0x33, 0xc0, 0x00, 0x19,
+ 0x81, 0x1b, 0x99, 0xe8, 0x30, 0xc0, 0x04, 0x1a,
+ 0x84, 0x1b, 0x95, 0xe8, 0x8a, 0xe8, 0xa3, 0x49,
+ 0xfe, 0xf0, 0x2a, 0xc0, 0x86, 0xe8, 0xa1, 0x48,
+ 0x84, 0x1b, 0x8d, 0xe8, 0x00, 0x1d, 0x69, 0x33,
+ 0x00, 0x1e, 0x01, 0x06, 0xff, 0x18, 0x30, 0x40,
+ 0xfd, 0xf1, 0x1f, 0xc0, 0x00, 0x76, 0x2e, 0x40,
+ 0xf7, 0xf1, 0x21, 0x48, 0x19, 0xc0, 0x84, 0x1b,
+ 0x7e, 0xe8, 0x74, 0x08, 0x72, 0xe8, 0xa1, 0x49,
+ 0xfd, 0xf0, 0x11, 0xc0, 0x00, 0x1a, 0x84, 0x1b,
+ 0x76, 0xe8, 0x6b, 0xe8, 0xa5, 0x49, 0xfe, 0xf0,
+ 0x09, 0xc0, 0x01, 0x19, 0x81, 0x1b, 0x6f, 0xe8,
+ 0x5a, 0xe0, 0xb8, 0x0b, 0x50, 0xe8, 0x83, 0x00,
+ 0x82, 0x00, 0x20, 0xb4, 0x10, 0xd8, 0x84, 0xd4,
+ 0x88, 0xd3, 0x10, 0xe0, 0x00, 0xd8, 0x24, 0xd4,
+ 0xf9, 0xc0, 0x57, 0xe8, 0x48, 0x33, 0xf3, 0xc0,
+ 0x00, 0x61, 0x6a, 0xc0, 0x47, 0x11, 0x03, 0xf0,
+ 0x57, 0x11, 0x05, 0xf1, 0x00, 0x61, 0x17, 0x48,
+ 0x00, 0x89, 0x41, 0xe0, 0x9c, 0x20, 0x9c, 0x24,
+ 0xd0, 0x49, 0x09, 0xf0, 0x04, 0x11, 0x07, 0xf1,
+ 0x00, 0x61, 0x97, 0x49, 0x38, 0xf0, 0x97, 0x48,
+ 0x00, 0x89, 0x2b, 0xe0, 0x00, 0x11, 0x05, 0xf1,
+ 0x00, 0x61, 0x92, 0x48, 0x00, 0x89, 0x2f, 0xe0,
+ 0x06, 0x11, 0x05, 0xf1, 0x00, 0x61, 0x11, 0x48,
+ 0x00, 0x89, 0x29, 0xe0, 0x05, 0x11, 0x0f, 0xf1,
+ 0x00, 0x61, 0x93, 0x49, 0x1a, 0xf1, 0x91, 0x49,
+ 0x0a, 0xf0, 0x91, 0x48, 0x00, 0x89, 0x0f, 0xe0,
+ 0xc6, 0xc0, 0x00, 0x61, 0x98, 0x20, 0x98, 0x24,
+ 0x25, 0x11, 0x80, 0xff, 0xfa, 0xef, 0x17, 0xf1,
+ 0x38, 0xc0, 0x1f, 0xe8, 0x95, 0x49, 0x13, 0xf0,
+ 0xf4, 0xef, 0x11, 0xf1, 0x31, 0xc0, 0x00, 0x61,
+ 0x92, 0x49, 0x0d, 0xf1, 0x12, 0x48, 0x00, 0x89,
+ 0x29, 0xc0, 0x00, 0x19, 0x00, 0x89, 0x27, 0xc0,
+ 0x01, 0x89, 0x23, 0xc0, 0x0e, 0xe8, 0x12, 0x48,
+ 0x81, 0x1b, 0x15, 0xe8, 0xae, 0xc3, 0x66, 0x62,
+ 0xa0, 0x49, 0x04, 0xf0, 0x64, 0x71, 0xa3, 0xc0,
+ 0x02, 0x99, 0x02, 0xc0, 0x00, 0xb8, 0xd6, 0x07,
+ 0x13, 0xc4, 0x84, 0x98, 0x00, 0x1b, 0x86, 0x8b,
+ 0x86, 0x73, 0xbf, 0x49, 0xfe, 0xf1, 0x80, 0x71,
+ 0x82, 0x72, 0x80, 0xff, 0x09, 0xc4, 0x84, 0x98,
+ 0x80, 0x99, 0x82, 0x9a, 0x86, 0x8b, 0x86, 0x73,
+ 0xbf, 0x49, 0xfe, 0xf1, 0x80, 0xff, 0x08, 0xea,
+ 0x30, 0xd4, 0x10, 0xc0, 0x12, 0xe8, 0x8a, 0xd3,
+ 0x00, 0xd8, 0x02, 0xc6, 0x00, 0xbe, 0xe0, 0x08 };
static u16 r8153_pla_patch_c_bp[] = {
0xfc26, 0x8000, 0xfc28, 0x1306, 0xfc2a, 0x17ca, 0xfc2c, 0x171e,
0xfc2e, 0x0000, 0xfc30, 0x0000, 0xfc32, 0x01b4, 0xfc34, 0x07d4,
- 0xfc36, 0x0894, 0xfc38, 0x00e7 };
+ 0xfc36, 0x0894, 0xfc38, 0x00e6 };
static u16 r8153_ram_code_bc[] = {
0xB436, 0xB820, 0xB438, 0x0290, 0xB436, 0xA012, 0xB438, 0x0000,
@@ -560,7 +529,7 @@ static u16 r8153_usb_patch_b_bp[] = {
static u8 r8153_pla_patch_b[] = {
0x08, 0xe0, 0xea, 0xe0, 0xf2, 0xe0, 0x04, 0xe1,
- 0x09, 0xe1, 0x0e, 0xe1, 0x46, 0xe1, 0xf3, 0xe1,
+ 0x09, 0xe1, 0x0e, 0xe1, 0x46, 0xe1, 0xf7, 0xe1,
0x14, 0xc2, 0x40, 0x73, 0xba, 0x48, 0x40, 0x9b,
0x11, 0xc2, 0x40, 0x73, 0xb0, 0x49, 0x17, 0xf0,
0xbf, 0x49, 0x03, 0xf1, 0x09, 0xc5, 0x00, 0xbd,
@@ -642,51 +611,51 @@ static u8 r8153_pla_patch_b[] = {
0x0b, 0xc5, 0x20, 0x1e, 0xa0, 0x9e, 0xe5, 0x48,
0xa0, 0x9e, 0xf0, 0xe7, 0xbc, 0xc0, 0xc8, 0xd2,
0xcc, 0xd2, 0x28, 0xe4, 0xe6, 0x01, 0xf0, 0xc0,
- 0x18, 0x89, 0x00, 0x1d, 0x3c, 0xc3, 0x60, 0x71,
+ 0x18, 0x89, 0x00, 0x1d, 0x3c, 0xc3, 0x64, 0x71,
0x3c, 0xc0, 0x02, 0x99, 0x00, 0x61, 0x67, 0x11,
0x3c, 0xf1, 0x69, 0x33, 0x35, 0xc0, 0x28, 0x40,
0xf6, 0xf1, 0x34, 0xc0, 0x00, 0x19, 0x81, 0x1b,
- 0x8c, 0xe8, 0x31, 0xc0, 0x04, 0x1a, 0x84, 0x1b,
- 0x88, 0xe8, 0x7d, 0xe8, 0xa3, 0x49, 0xfe, 0xf0,
- 0x2b, 0xc0, 0x79, 0xe8, 0xa1, 0x48, 0x28, 0xc0,
- 0x84, 0x1b, 0x7f, 0xe8, 0x00, 0x1d, 0x69, 0x33,
+ 0x91, 0xe8, 0x31, 0xc0, 0x04, 0x1a, 0x84, 0x1b,
+ 0x8d, 0xe8, 0x82, 0xe8, 0xa3, 0x49, 0xfe, 0xf0,
+ 0x2b, 0xc0, 0x7e, 0xe8, 0xa1, 0x48, 0x28, 0xc0,
+ 0x84, 0x1b, 0x84, 0xe8, 0x00, 0x1d, 0x69, 0x33,
0x00, 0x1e, 0x01, 0x06, 0xff, 0x18, 0x30, 0x40,
- 0xfd, 0xf1, 0x18, 0xc0, 0x00, 0x76, 0x2e, 0x40,
+ 0xfd, 0xf1, 0x19, 0xc0, 0x00, 0x76, 0x2e, 0x40,
0xf7, 0xf1, 0x21, 0x48, 0x19, 0xc0, 0x84, 0x1b,
- 0x70, 0xe8, 0x79, 0xc0, 0x64, 0xe8, 0xa1, 0x49,
+ 0x75, 0xe8, 0x10, 0xc0, 0x69, 0xe8, 0xa1, 0x49,
0xfd, 0xf0, 0x11, 0xc0, 0x00, 0x1a, 0x84, 0x1b,
- 0x68, 0xe8, 0x5d, 0xe8, 0xa5, 0x49, 0xfe, 0xf0,
- 0x09, 0xc0, 0x01, 0x19, 0x81, 0x1b, 0x61, 0xe8,
- 0x4f, 0xe0, 0x88, 0xd3, 0x8c, 0xd3, 0xb8, 0x0b,
+ 0x6d, 0xe8, 0x62, 0xe8, 0xa5, 0x49, 0xfe, 0xf0,
+ 0x09, 0xc0, 0x01, 0x19, 0x81, 0x1b, 0x66, 0xe8,
+ 0x54, 0xe0, 0x10, 0xd4, 0x88, 0xd3, 0xb8, 0x0b,
0x50, 0xe8, 0x20, 0xb4, 0x10, 0xd8, 0x84, 0xd4,
- 0xfc, 0xc0, 0x00, 0x61, 0x9c, 0x20, 0x9c, 0x24,
- 0x06, 0x11, 0x06, 0xf1, 0x60, 0xc0, 0x00, 0x61,
- 0x11, 0x48, 0x00, 0x89, 0x3d, 0xe0, 0x00, 0x11,
- 0x02, 0xf1, 0x03, 0xe0, 0x04, 0x11, 0x06, 0xf1,
- 0x56, 0xc0, 0x00, 0x61, 0x92, 0x48, 0x00, 0x89,
- 0x33, 0xe0, 0x05, 0x11, 0x08, 0xf1, 0x4f, 0xc0,
- 0x00, 0x61, 0x91, 0x49, 0x04, 0xf0, 0x91, 0x48,
- 0x00, 0x89, 0x11, 0xe0, 0xde, 0xc0, 0x00, 0x61,
- 0x98, 0x20, 0x98, 0x24, 0x25, 0x11, 0x24, 0xf1,
- 0x45, 0xc0, 0x29, 0xe8, 0x95, 0x49, 0x20, 0xf0,
- 0xd4, 0xc0, 0x00, 0x61, 0x98, 0x20, 0x98, 0x24,
- 0x25, 0x11, 0x1a, 0xf1, 0x38, 0xc0, 0x00, 0x61,
- 0x92, 0x49, 0x16, 0xf1, 0x12, 0x48, 0x00, 0x89,
- 0x30, 0xc0, 0x00, 0x19, 0x00, 0x89, 0x2e, 0xc0,
- 0x01, 0x89, 0x2e, 0xc0, 0x04, 0x19, 0x81, 0x1b,
- 0x1c, 0xe8, 0x2b, 0xc0, 0x14, 0x19, 0x81, 0x1b,
- 0x18, 0xe8, 0x22, 0xc0, 0x0c, 0xe8, 0x20, 0xc0,
- 0x12, 0x48, 0x81, 0x1b, 0x12, 0xe8, 0xb3, 0xc3,
- 0x62, 0x71, 0xb3, 0xc0, 0x02, 0x99, 0x02, 0xc0,
- 0x00, 0xb8, 0x96, 0x07, 0x13, 0xc4, 0x84, 0x98,
- 0x00, 0x1b, 0x86, 0x8b, 0x86, 0x73, 0xbf, 0x49,
- 0xfe, 0xf1, 0x80, 0x71, 0x82, 0x72, 0x80, 0xff,
- 0x09, 0xc4, 0x84, 0x98, 0x80, 0x99, 0x82, 0x9a,
- 0x86, 0x8b, 0x86, 0x73, 0xbf, 0x49, 0xfe, 0xf1,
- 0x80, 0xff, 0x08, 0xea, 0x10, 0xd4, 0x30, 0xd4,
+ 0xfd, 0xc0, 0x52, 0xe8, 0x48, 0x33, 0xf9, 0xc0,
+ 0x00, 0x61, 0x9c, 0x20, 0x9c, 0x24, 0xd0, 0x49,
+ 0x04, 0xf0, 0x04, 0x11, 0x02, 0xf1, 0x03, 0xe0,
+ 0x00, 0x11, 0x06, 0xf1, 0x5c, 0xc0, 0x00, 0x61,
+ 0x92, 0x48, 0x00, 0x89, 0x3a, 0xe0, 0x06, 0x11,
+ 0x06, 0xf1, 0x55, 0xc0, 0x00, 0x61, 0x11, 0x48,
+ 0x00, 0x89, 0x33, 0xe0, 0x05, 0x11, 0x08, 0xf1,
+ 0x4e, 0xc0, 0x00, 0x61, 0x91, 0x49, 0x04, 0xf0,
+ 0x91, 0x48, 0x00, 0x89, 0x11, 0xe0, 0xd9, 0xc0,
+ 0x00, 0x61, 0x98, 0x20, 0x98, 0x24, 0x25, 0x11,
+ 0x24, 0xf1, 0x44, 0xc0, 0x29, 0xe8, 0x95, 0x49,
+ 0x20, 0xf0, 0xcf, 0xc0, 0x00, 0x61, 0x98, 0x20,
+ 0x98, 0x24, 0x25, 0x11, 0x1a, 0xf1, 0x37, 0xc0,
+ 0x00, 0x61, 0x92, 0x49, 0x16, 0xf1, 0x12, 0x48,
+ 0x00, 0x89, 0x2f, 0xc0, 0x00, 0x19, 0x00, 0x89,
+ 0x2d, 0xc0, 0x01, 0x89, 0x2d, 0xc0, 0x04, 0x19,
+ 0x81, 0x1b, 0x1c, 0xe8, 0x2a, 0xc0, 0x14, 0x19,
+ 0x81, 0x1b, 0x18, 0xe8, 0x21, 0xc0, 0x0c, 0xe8,
+ 0x1f, 0xc0, 0x12, 0x48, 0x81, 0x1b, 0x12, 0xe8,
+ 0xae, 0xc3, 0x66, 0x71, 0xae, 0xc0, 0x02, 0x99,
+ 0x02, 0xc0, 0x00, 0xb8, 0x96, 0x07, 0x13, 0xc4,
+ 0x84, 0x98, 0x00, 0x1b, 0x86, 0x8b, 0x86, 0x73,
+ 0xbf, 0x49, 0xfe, 0xf1, 0x80, 0x71, 0x82, 0x72,
+ 0x80, 0xff, 0x09, 0xc4, 0x84, 0x98, 0x80, 0x99,
+ 0x82, 0x9a, 0x86, 0x8b, 0x86, 0x73, 0xbf, 0x49,
+ 0xfe, 0xf1, 0x80, 0xff, 0x08, 0xea, 0x30, 0xd4,
0x10, 0xc0, 0x12, 0xe8, 0x8a, 0xd3, 0x28, 0xe4,
- 0x2c, 0xe4, 0x00, 0xd8, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
+ 0x2c, 0xe4, 0x00, 0xd8, 0x00, 0x00, 0x00, 0x00 };
static u16 r8153_pla_patch_b_bp[] = {
0xfc26, 0x8000, 0xfc28, 0x1154, 0xfc2a, 0x1606, 0xfc2c, 0x155a,
@@ -694,33 +663,71 @@ static u16 r8153_pla_patch_b_bp[] = {
0xfc36, 0x0000, 0xfc38, 0x007f };
static u16 r8153_ram_code_d[] = {
- 0xa436, 0xb820, 0xa438, 0x0290, 0xa436, 0xa012, 0xa438, 0x0000,
- 0xa436, 0xa014, 0xa438, 0x2c04, 0xb438, 0x2c07, 0xb438, 0x2c07,
- 0xb438, 0x2c07, 0xb438, 0xa240, 0xb438, 0xa104, 0xb438, 0x2944,
- 0xa436, 0xa01a, 0xa438, 0x0000, 0xa436, 0xa006, 0xa438, 0x0fff,
- 0xa436, 0xa004, 0xa438, 0x0fff, 0xa436, 0xa002, 0xa438, 0x0fff,
- 0xa436, 0xa000, 0xa438, 0x1943, 0xa436, 0xb820, 0xa438, 0x0210 };
+ 0xB436, 0xB820, 0xB438, 0x0290, 0xB436, 0xA012, 0xB438, 0x0000,
+ 0xB436, 0xA014, 0xB438, 0x2c04, 0xB438, 0x2c07, 0xB438, 0x2c07,
+ 0xB438, 0x2c07, 0xB438, 0xa240, 0xB438, 0xa104, 0xB438, 0x2944,
+ 0xB436, 0xA01A, 0xB438, 0x0000, 0xB436, 0xA006, 0xB438, 0x0fff,
+ 0xB436, 0xA004, 0xB438, 0x0fff, 0xB436, 0xA002, 0xB438, 0x0fff,
+ 0xB436, 0xA000, 0xB438, 0x1943, 0xB436, 0xB820, 0xB438, 0x0210 };
static u8 usb_patch_d[] = {
- 0x08, 0xe0, 0x0a, 0xe0, 0x0c, 0xe0, 0x1f, 0xe0,
- 0x28, 0xe0, 0x2a, 0xe0, 0x2c, 0xe0, 0x2e, 0xe0,
- 0x02, 0xc5, 0x00, 0xbd, 0x00, 0x00, 0x02, 0xc3,
- 0x00, 0xbb, 0x00, 0x00, 0x30, 0x18, 0x11, 0xc1,
- 0x05, 0xe8, 0x10, 0xc6, 0x02, 0xc2, 0x00, 0xba,
- 0x94, 0x17, 0x02, 0xb4, 0x09, 0xc2, 0x40, 0x99,
- 0x0e, 0x48, 0x42, 0x98, 0x42, 0x70, 0x8e, 0x49,
- 0xfe, 0xf1, 0x02, 0xb0, 0x80, 0xff, 0xc0, 0xd4,
- 0xe4, 0x40, 0x20, 0xd4, 0xb0, 0x49, 0x04, 0xf0,
- 0x30, 0x18, 0x06, 0xc1, 0xef, 0xef, 0xfa, 0xc7,
- 0x02, 0xc0, 0x00, 0xb8, 0x38, 0x12, 0xe4, 0x4b,
- 0x02, 0xc3, 0x00, 0xbb, 0x00, 0x00, 0x02, 0xc5,
- 0x00, 0xbd, 0x00, 0x00, 0x02, 0xc1, 0x00, 0xb9,
- 0x00, 0x00, 0x02, 0xc1, 0x00, 0xb9, 0x00, 0x00 };
+ 0x08, 0xe0, 0x0e, 0xe0, 0x11, 0xe0, 0x24, 0xe0,
+ 0x2b, 0xe0, 0x33, 0xe0, 0x3a, 0xe0, 0x3c, 0xe0,
+ 0x1e, 0xc3, 0x70, 0x61, 0x12, 0x48, 0x70, 0x89,
+ 0x02, 0xc3, 0x00, 0xbb, 0x02, 0x17, 0x32, 0x19,
+ 0x02, 0xc3, 0x00, 0xbb, 0x44, 0x14, 0x30, 0x18,
+ 0x11, 0xc1, 0x05, 0xe8, 0x10, 0xc6, 0x02, 0xc2,
+ 0x00, 0xba, 0x94, 0x17, 0x02, 0xb4, 0x09, 0xc2,
+ 0x40, 0x99, 0x0e, 0x48, 0x42, 0x98, 0x42, 0x70,
+ 0x8e, 0x49, 0xfe, 0xf1, 0x02, 0xb0, 0x80, 0xff,
+ 0xc0, 0xd4, 0xe4, 0x40, 0x20, 0xd4, 0x30, 0x18,
+ 0x06, 0xc1, 0xf1, 0xef, 0xfc, 0xc7, 0x02, 0xc0,
+ 0x00, 0xb8, 0x38, 0x12, 0xe4, 0x4b, 0x0c, 0x61,
+ 0x92, 0x48, 0x93, 0x48, 0x95, 0x48, 0x96, 0x48,
+ 0x0c, 0x89, 0x02, 0xc0, 0x00, 0xb8, 0x0e, 0x06,
+ 0x30, 0x18, 0xf5, 0xc1, 0xe0, 0xef, 0x04, 0xc5,
+ 0x02, 0xc4, 0x00, 0xbc, 0x76, 0x3c, 0x1e, 0xfc,
+ 0x02, 0xc6, 0x00, 0xbe, 0x00, 0x00, 0x02, 0xc6,
+ 0x00, 0xbe, 0x00, 0x00 };
static u16 r8153_usb_patch_d_bp[] = {
- 0xfc26, 0xa000, 0xfc28, 0x0000, 0xfc2a, 0x0000, 0xfc2c, 0x1792,
- 0xfc2e, 0x1236, 0xfc30, 0x0000, 0xfc32, 0x0000, 0xfc34, 0x0000,
- 0xfc36, 0x0000, 0xfc38, 0x000c };
+ 0xfc26, 0xa000, 0xfc28, 0x16de, 0xfc2a, 0x1442, 0xfc2c, 0x1792,
+ 0xfc2e, 0x1236, 0xfc30, 0x0606, 0xfc32, 0x3c74, 0xfc34, 0x0000,
+ 0xfc36, 0x0000, 0xfc38, 0x003e };
+
+static u8 pla_patch_d[] = {
+ 0x03, 0xe0, 0x16, 0xe0, 0x30, 0xe0, 0x12, 0xc2,
+ 0x40, 0x73, 0xb0, 0x49, 0x08, 0xf0, 0xb8, 0x49,
+ 0x06, 0xf0, 0xb8, 0x48, 0x40, 0x9b, 0x0b, 0xc2,
+ 0x40, 0x76, 0x05, 0xe0, 0x02, 0x61, 0x02, 0xc3,
+ 0x00, 0xbb, 0x54, 0x08, 0x02, 0xc3, 0x00, 0xbb,
+ 0x64, 0x08, 0x98, 0xd3, 0x1e, 0xfc, 0xfe, 0xc0,
+ 0x02, 0x62, 0xa0, 0x48, 0x02, 0x8a, 0x00, 0x72,
+ 0xa0, 0x49, 0x11, 0xf0, 0x13, 0xc1, 0x20, 0x62,
+ 0x2e, 0x21, 0x2f, 0x25, 0x00, 0x71, 0x9f, 0x24,
+ 0x0a, 0x40, 0x09, 0xf0, 0x00, 0x71, 0x18, 0x48,
+ 0xa0, 0x49, 0x03, 0xf1, 0x9f, 0x48, 0x02, 0xe0,
+ 0x1f, 0x48, 0x00, 0x99, 0x02, 0xc2, 0x00, 0xba,
+ 0xac, 0x0c, 0x08, 0xe9, 0x36, 0xc0, 0x00, 0x61,
+ 0x9c, 0x20, 0x9c, 0x24, 0x33, 0xc0, 0x07, 0x11,
+ 0x05, 0xf1, 0x00, 0x61, 0x17, 0x48, 0x00, 0x89,
+ 0x0d, 0xe0, 0x04, 0x11, 0x0b, 0xf1, 0x00, 0x61,
+ 0x97, 0x49, 0x08, 0xf0, 0x97, 0x48, 0x00, 0x89,
+ 0x23, 0xc0, 0x0e, 0xe8, 0x12, 0x48, 0x81, 0x1b,
+ 0x15, 0xe8, 0x1f, 0xc0, 0x00, 0x61, 0x67, 0x11,
+ 0x04, 0xf0, 0x02, 0xc0, 0x00, 0xb8, 0x42, 0x09,
+ 0x02, 0xc0, 0x00, 0xb8, 0x90, 0x08, 0x13, 0xc4,
+ 0x84, 0x98, 0x00, 0x1b, 0x86, 0x8b, 0x86, 0x73,
+ 0xbf, 0x49, 0xfe, 0xf1, 0x80, 0x71, 0x82, 0x72,
+ 0x80, 0xff, 0x09, 0xc4, 0x84, 0x98, 0x80, 0x99,
+ 0x82, 0x9a, 0x86, 0x8b, 0x86, 0x73, 0xbf, 0x49,
+ 0xfe, 0xf1, 0x80, 0xff, 0x08, 0xea, 0x30, 0xd4,
+ 0x50, 0xe8, 0x8a, 0xd3 };
+
+static u16 r8153_pla_patch_d_bp[] = {
+ 0xfc26, 0x8000, 0xfc28, 0x0852, 0xfc2a, 0x0c92, 0xfc2c, 0x088c,
+ 0xfc2e, 0x0000, 0xfc30, 0x0000, 0xfc32, 0x0000, 0xfc34, 0x0000,
+ 0xfc36, 0x0000, 0xfc38, 0x0007 };
static void rtl_clear_bp(struct r8152 *tp)
{
@@ -956,10 +963,19 @@ void r8153_firmware(struct r8152 *tp)
ocp_write_word(tp, MCU_TYPE_PLA, 0xd388, 0x08ca);
+ ocp_write_word(tp, MCU_TYPE_PLA, PLA_EXTRA_STATUS,
+ U3P3_CHECK_EN | 4);
+
ocp_data = ocp_read_word(tp, MCU_TYPE_USB, 0xcfca);
ocp_data |= 0x4000;
ocp_write_word(tp, MCU_TYPE_USB, 0xcfca, ocp_data);
+
+ ocp_data = ocp_read_byte(tp, MCU_TYPE_USB, USB_USB2PHY);
+ ocp_data |= USB2PHY_L1 | USB2PHY_SUSPEND;
+ ocp_write_byte(tp, MCU_TYPE_USB, USB_USB2PHY, ocp_data);
} else if (tp->version == RTL_VER_06) {
+ u32 ocp_data;
+
r8153_pre_ram_code(tp, 0x7002);
for (i = 0; i < ARRAY_SIZE(r8153_ram_code_d); i += 2)
@@ -979,5 +995,22 @@ void r8153_firmware(struct r8152 *tp)
ocp_write_word(tp, MCU_TYPE_USB,
r8153_usb_patch_d_bp[i],
r8153_usb_patch_d_bp[i+1]);
+
+ ocp_write_word(tp, MCU_TYPE_PLA, PLA_BP_EN, 0x0000);
+ generic_ocp_write(tp, 0xf800, 0xff, sizeof(pla_patch_d),
+ pla_patch_d, MCU_TYPE_PLA);
+
+ for (i = 0; i < ARRAY_SIZE(r8153_pla_patch_d_bp); i += 2)
+ ocp_write_word(tp, MCU_TYPE_PLA,
+ r8153_pla_patch_d_bp[i],
+ r8153_pla_patch_d_bp[i + 1]);
+
+ ocp_data = ocp_read_byte(tp, MCU_TYPE_USB, USB_USB2PHY);
+ ocp_data |= USB2PHY_L1 | USB2PHY_SUSPEND;
+ ocp_write_byte(tp, MCU_TYPE_USB, USB_USB2PHY, ocp_data);
+
+ ocp_data = ocp_read_word(tp, MCU_TYPE_USB, USB_FW_FIX_EN1);
+ ocp_data |= FW_IP_RESET_EN;
+ ocp_write_word(tp, MCU_TYPE_USB, USB_FW_FIX_EN1, ocp_data);
}
}
--
2.21.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH u-boot] eth/r8152: update the firmware
2020-06-01 8:42 [PATCH u-boot] eth/r8152: update the firmware Hayes Wang
@ 2020-06-01 16:45 ` Marek Vasut
2020-06-02 3:17 ` Hayes Wang
0 siblings, 1 reply; 8+ messages in thread
From: Marek Vasut @ 2020-06-01 16:45 UTC (permalink / raw)
To: u-boot
On 6/1/20 10:42 AM, Hayes Wang wrote:
> Update the firmware to improve compatibility for none-intel USB
> host controller.
Can you be more specific about the problem you are fixing here ?
What is the problem ?
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH u-boot] eth/r8152: update the firmware
2020-06-01 16:45 ` Marek Vasut
@ 2020-06-02 3:17 ` Hayes Wang
2020-06-02 11:02 ` Marek Vasut
0 siblings, 1 reply; 8+ messages in thread
From: Hayes Wang @ 2020-06-02 3:17 UTC (permalink / raw)
To: u-boot
Marek Vasut [mailto:marex at denx.de]
> Sent: Tuesday, June 02, 2020 12:46 AM
> > Update the firmware to improve compatibility for none-intel USB
> > host controller.
>
> Can you be more specific about the problem you are fixing here ?
> What is the problem ?
There is low probability that the device may be lost when rebooting.
Should I submit v2 to reword the commit message?
Best Regards,
Hayes
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH u-boot] eth/r8152: update the firmware
2020-06-02 3:17 ` Hayes Wang
@ 2020-06-02 11:02 ` Marek Vasut
2020-06-02 11:48 ` Hayes Wang
0 siblings, 1 reply; 8+ messages in thread
From: Marek Vasut @ 2020-06-02 11:02 UTC (permalink / raw)
To: u-boot
On 6/2/20 5:17 AM, Hayes Wang wrote:
> Marek Vasut [mailto:marex at denx.de]
>> Sent: Tuesday, June 02, 2020 12:46 AM
>>> Update the firmware to improve compatibility for none-intel USB
>>> host controller.
>>
>> Can you be more specific about the problem you are fixing here ?
>> What is the problem ?
>
> There is low probability that the device may be lost when rebooting.
> Should I submit v2 to reword the commit message?
Lost how ?
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH u-boot] eth/r8152: update the firmware
2020-06-02 11:02 ` Marek Vasut
@ 2020-06-02 11:48 ` Hayes Wang
2020-06-02 11:58 ` Marek Vasut
0 siblings, 1 reply; 8+ messages in thread
From: Hayes Wang @ 2020-06-02 11:48 UTC (permalink / raw)
To: u-boot
Marek Vasut [mailto:marex at denx.de]
> Sent: Tuesday, June 02, 2020 7:02 PM
[...]
> >> Can you be more specific about the problem you are fixing here ?
> >> What is the problem ?
> >
> > There is low probability that the device may be lost when rebooting.
> > Should I submit v2 to reword the commit message?
>
> Lost how ?
USB enumeration may fail. The device would be at wrong state.
I don't know detail about the hardware behavior.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH u-boot] eth/r8152: update the firmware
2020-06-02 11:48 ` Hayes Wang
@ 2020-06-02 11:58 ` Marek Vasut
2020-06-04 3:45 ` Hayes Wang
0 siblings, 1 reply; 8+ messages in thread
From: Marek Vasut @ 2020-06-02 11:58 UTC (permalink / raw)
To: u-boot
On 6/2/20 1:48 PM, Hayes Wang wrote:
> Marek Vasut [mailto:marex at denx.de]
>> Sent: Tuesday, June 02, 2020 7:02 PM
> [...]
>>>> Can you be more specific about the problem you are fixing here ?
>>>> What is the problem ?
>>>
>>> There is low probability that the device may be lost when rebooting.
>>> Should I submit v2 to reword the commit message?
>>
>> Lost how ?
>
> USB enumeration may fail. The device would be at wrong state.
> I don't know detail about the hardware behavior.
Is there any chance you can ask someone ? It would be real helpful to
know the details of the problem, in case someone runs into it, they
would know what is going on.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH u-boot] eth/r8152: update the firmware
2020-06-02 11:58 ` Marek Vasut
@ 2020-06-04 3:45 ` Hayes Wang
2020-06-04 20:12 ` Marek Vasut
0 siblings, 1 reply; 8+ messages in thread
From: Hayes Wang @ 2020-06-04 3:45 UTC (permalink / raw)
To: u-boot
Marek Vasut [mailto:marex at denx.de]
> Sent: Tuesday, June 02, 2020 7:59 PM
[...]
> >>>> Can you be more specific about the problem you are fixing here ?
> >>>> What is the problem ?
> >>>
> >>> There is low probability that the device may be lost when rebooting.
> >>> Should I submit v2 to reword the commit message?
> >>
> >> Lost how ?
> >
> > USB enumeration may fail. The device would be at wrong state.
> > I don't know detail about the hardware behavior.
>
> Is there any chance you can ask someone ? It would be real helpful to
> know the details of the problem, in case someone runs into it, they
> would know what is going on.
I get the following information.
1.
Our device has auto-installed driver feature - via switch CD-ROM/NIC
mode. But in some corner cases, it would switch to CD-ROM unexpected.
This issue results in Lan Function Disabled.
2.
While USB PHY transits to P3 from P0 due to the absent of transmitter
control, it would issues undefined signal to its? link partner.
Some Down Stream Port misidentify the undefined signal as wakeup
signal. So the link state will not keep in suspend even the system
is idle.
Best Regards,
Hayes
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH u-boot] eth/r8152: update the firmware
2020-06-04 3:45 ` Hayes Wang
@ 2020-06-04 20:12 ` Marek Vasut
0 siblings, 0 replies; 8+ messages in thread
From: Marek Vasut @ 2020-06-04 20:12 UTC (permalink / raw)
To: u-boot
On 6/4/20 5:45 AM, Hayes Wang wrote:
> Marek Vasut [mailto:marex at denx.de]
>> Sent: Tuesday, June 02, 2020 7:59 PM
> [...]
>>>>>> Can you be more specific about the problem you are fixing here ?
>>>>>> What is the problem ?
>>>>>
>>>>> There is low probability that the device may be lost when rebooting.
>>>>> Should I submit v2 to reword the commit message?
>>>>
>>>> Lost how ?
>>>
>>> USB enumeration may fail. The device would be at wrong state.
>>> I don't know detail about the hardware behavior.
>>
>> Is there any chance you can ask someone ? It would be real helpful to
>> know the details of the problem, in case someone runs into it, they
>> would know what is going on.
>
> I get the following information.
>
> 1.
> Our device has auto-installed driver feature - via switch CD-ROM/NIC
> mode. But in some corner cases, it would switch to CD-ROM unexpected.
> This issue results in Lan Function Disabled.
>
> 2.
> While USB PHY transits to P3 from P0 due to the absent of transmitter
> control, it would issues undefined signal to its? link partner.
> Some Down Stream Port misidentify the undefined signal as wakeup
> signal. So the link state will not keep in suspend even the system
> is idle.
OK, then please add this into the commit message and send a V2, I'll
pick it then. Thanks!
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2020-06-04 20:12 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-01 8:42 [PATCH u-boot] eth/r8152: update the firmware Hayes Wang
2020-06-01 16:45 ` Marek Vasut
2020-06-02 3:17 ` Hayes Wang
2020-06-02 11:02 ` Marek Vasut
2020-06-02 11:48 ` Hayes Wang
2020-06-02 11:58 ` Marek Vasut
2020-06-04 3:45 ` Hayes Wang
2020-06-04 20:12 ` Marek Vasut
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.