summaryrefslogtreecommitdiff
path: root/driver
diff options
context:
space:
mode:
authorDenis Brockus <dbrockus@chromium.org>2020-02-05 12:48:54 -0700
committerCommit Bot <commit-bot@chromium.org>2020-02-06 03:56:50 +0000
commit42d77650f7d3767e80bf0fe641425db0234bb7a9 (patch)
tree433c23fb35836782bb30029e5a39f82b5d3c7f06 /driver
parent47c7ea65d567f88eed4f7b279e76505b471c2810 (diff)
downloadchrome-ec-42d77650f7d3767e80bf0fe641425db0234bb7a9.tar.gz
ps8818: debug cleanup
BUG=none BRANCH=none TEST=make buildall -j Change-Id: I54817e28b255fddece2f4911ebef1fdbb86af367 Signed-off-by: Denis Brockus <dbrockus@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2039912 Reviewed-by: Edward Hill <ecgh@chromium.org> Commit-Queue: Edward Hill <ecgh@chromium.org>
Diffstat (limited to 'driver')
-rw-r--r--driver/retimer/ps8818.c92
-rw-r--r--driver/retimer/ps8818.h13
2 files changed, 49 insertions, 56 deletions
diff --git a/driver/retimer/ps8818.c b/driver/retimer/ps8818.c
index 7facba04d2..10dc70dca0 100644
--- a/driver/retimer/ps8818.c
+++ b/driver/retimer/ps8818.c
@@ -25,7 +25,7 @@ int ps8818_i2c_read(int port, int page, int offset, int *data)
offset, data);
if (PS8818_DEBUG)
- ccprintf("%s(%d:0x%02X, 0x%02X) => 0x%02X\n", __func__,
+ ccprintf("%s(%d:0x%02X, 0x%02X) =>0x%02X\n", __func__,
usb_retimers[port].i2c_port,
usb_retimers[port].i2c_addr_flags + page,
offset, *data);
@@ -35,31 +35,67 @@ int ps8818_i2c_read(int port, int page, int offset, int *data)
int ps8818_i2c_write(int port, int page, int offset, int data)
{
+ int rv;
+ int pre_val, post_val;
+
if (PS8818_DEBUG)
- ccprintf("%s(%d:0x%02X, 0x%02X, 0x%02X)\n", __func__,
+ i2c_read8(usb_retimers[port].i2c_port,
+ usb_retimers[port].i2c_addr_flags + page,
+ offset, &pre_val);
+
+ rv = i2c_write8(usb_retimers[port].i2c_port,
+ usb_retimers[port].i2c_addr_flags + page,
+ offset, data);
+
+ if (PS8818_DEBUG) {
+ i2c_read8(usb_retimers[port].i2c_port,
+ usb_retimers[port].i2c_addr_flags + page,
+ offset, &post_val);
+
+ ccprintf("%s(%d:0x%02X, 0x%02X, 0x%02X) "
+ "0x%02X=>0x%02X\n",
+ __func__,
usb_retimers[port].i2c_port,
usb_retimers[port].i2c_addr_flags + page,
- offset, data);
+ offset, data,
+ pre_val, post_val);
+ }
- return i2c_write8(usb_retimers[port].i2c_port,
- usb_retimers[port].i2c_addr_flags + page,
- offset, data);
+ return rv;
}
int ps8818_i2c_field_update8(int port, int page, int offset,
uint8_t field_mask, uint8_t set_value)
{
+ int rv;
+ int pre_val, post_val;
+
if (PS8818_DEBUG)
- ccprintf("%s(%d:0x%02X, 0x%02X, 0x%02X, 0x%02X)\n", __func__,
+ i2c_read8(usb_retimers[port].i2c_port,
+ usb_retimers[port].i2c_addr_flags + page,
+ offset, &pre_val);
+
+ rv = i2c_field_update8(usb_retimers[port].i2c_port,
+ usb_retimers[port].i2c_addr_flags + page,
+ offset,
+ field_mask,
+ set_value);
+
+ if (PS8818_DEBUG) {
+ i2c_read8(usb_retimers[port].i2c_port,
+ usb_retimers[port].i2c_addr_flags + page,
+ offset, &post_val);
+
+ ccprintf("%s(%d:0x%02X, 0x%02X, 0x%02X, 0x%02X) "
+ "0x%02X=>0x%02X\n",
+ __func__,
usb_retimers[port].i2c_port,
usb_retimers[port].i2c_addr_flags + page,
- offset, field_mask, set_value);
+ offset, field_mask, set_value,
+ pre_val, post_val);
+ }
- return i2c_field_update8(usb_retimers[port].i2c_port,
- usb_retimers[port].i2c_addr_flags + page,
- offset,
- field_mask,
- set_value);
+ return rv;
}
int ps8818_detect(int port)
@@ -141,36 +177,6 @@ static int ps8818_set_mux(int port, mux_state_t mux_state)
return rv;
}
- if (PS8818_DEBUG) {
- int tx_status;
- int rx_status;
-
- rv = ps8818_i2c_read(port,
- PS8818_REG_PAGE2,
- PS8818_REG2_TX_STATUS,
- &tx_status);
- if (rv)
- return rv;
-
- rv = ps8818_i2c_read(port,
- PS8818_REG_PAGE2,
- PS8818_REG2_RX_STATUS,
- &rx_status);
- if (rv)
- return rv;
-
- ccprintf("%s: tx:channel %snormal %s10Gbps\n",
- __func__,
- (tx_status & PS8818_STATUS_NORMAL_OPERATION)
- ? "" : "NOT-",
- (tx_status & PS8818_STATUS_10_GBPS) ? "" : "NON-");
- ccprintf("%s: rx:channel %snormal %s10Gbps\n",
- __func__,
- (rx_status & PS8818_STATUS_NORMAL_OPERATION)
- ? "" : "NOT-",
- (rx_status & PS8818_STATUS_10_GBPS) ? "" : "NON-");
- }
-
return rv;
}
diff --git a/driver/retimer/ps8818.h b/driver/retimer/ps8818.h
index ff11ff930e..a28d04a38b 100644
--- a/driver/retimer/ps8818.h
+++ b/driver/retimer/ps8818.h
@@ -77,19 +77,6 @@
#define PS8818_STATUS_NORMAL_OPERATION BIT(7)
#define PS8818_STATUS_10_GBPS BIT(5)
-#define PS8818_REG2_LINK_BW_SET 0x60
-#define PS8818_LINK_BW_SET_1_62_GBPS 0x06
-#define PS8818_LINK_BW_SET_2_7_GBPS 0x0A
-#define PS8818_LINK_BW_SET_5_4_GBPS 0x14
-#define PS8818_LINK_BW_SET_8_1_GBPS 0x1E
-#define PS8818_LINK_BW_SET_MASK 0xFF
-
-#define PS8818_REG2_LANE_COUNT_SET 0x61
-#define PS8818_LANE_COUNT_SET_1_LANE 0x01
-#define PS8818_LANE_COUNT_SET_2_LANE 0x02
-#define PS8818_LANE_COUNT_SET_4_LANE 0x04
-#define PS8818_LANE_COUNT_SET_MASK 0x1F
-
extern const struct usb_retimer_driver ps8818_usb_retimer;
int ps8818_detect(int port);