summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTim Chen <tim-chen@quanta.corp-partner.google.com>2020-07-15 20:19:10 +0800
committerEdward O'Callaghan <quasisec@chromium.org>2020-07-20 12:37:19 +0000
commit24a61841e312773d6be2be6bca955fff9272ed81 (patch)
tree7711d08f6ced834d2625025c51bbd9b6acc1d876 /src
parent3658c629086754fd4ad66d64f7d9862acfe31ef5 (diff)
downloadcoreboot-24a61841e312773d6be2be6bca955fff9272ed81.tar.xz
mb/google/puff: update USB3 gen2 parameters
Based on USB3 gen2 SI report to fine tune the parameters for USB3 gen2. BRANCH=none BUG=b:150515720 TEST=build and check the USB3 gen2 register on DUT is correct. Change-Id: I6ec109871d682a1ae2fa4c22fdd6b87ad8a39e9e Signed-off-by: Tim Chen <tim-chen@quanta.corp-partner.google.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/43482 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Jamie Chen <jamie.chen@intel.com> Reviewed-by: Edward O'Callaghan <quasisec@chromium.org>
Diffstat (limited to 'src')
-rw-r--r--src/mainboard/google/hatch/variants/duffy/overridetree.cb74
-rw-r--r--src/mainboard/google/hatch/variants/faffy/overridetree.cb74
-rw-r--r--src/mainboard/google/hatch/variants/kaisa/overridetree.cb74
3 files changed, 207 insertions, 15 deletions
diff --git a/src/mainboard/google/hatch/variants/duffy/overridetree.cb b/src/mainboard/google/hatch/variants/duffy/overridetree.cb
index 244e67840b..2f2b643951 100644
--- a/src/mainboard/google/hatch/variants/duffy/overridetree.cb
+++ b/src/mainboard/google/hatch/variants/duffy/overridetree.cb
@@ -74,12 +74,76 @@ chip soc/intel/cannonlake
.pre_emp_bit = USB2_HALF_BIT_PRE_EMP,
}" # BT
- register "usb3_ports[0]" = "USB3_PORT_DEFAULT(OC2)" # Type-A Port 2
- register "usb3_ports[1]" = "USB3_PORT_DEFAULT(OC3)" # Type-A Port 3
- register "usb3_ports[2]" = "USB3_PORT_DEFAULT(OC1)" # Type-A Port 1
+ register "usb3_ports[0]" = "{
+ .enable = 1,
+ .ocpin = OC2,
+ .tx_de_emp = 0x00,
+ .tx_downscale_amp = 0x00,
+ .gen2_tx_rate0_uniq_tran_enable = 0,
+ .gen2_tx_rate0_uniq_tran = 0x00,
+ .gen2_tx_rate1_uniq_tran_enable = 0,
+ .gen2_tx_rate1_uniq_tran = 0x00,
+ .gen2_tx_rate2_uniq_tran_enable = 1,
+ .gen2_tx_rate2_uniq_tran = 0x4c,
+ .gen2_tx_rate3_uniq_tran_enable = 0,
+ .gen2_tx_rate3_uniq_tran = 0x00,
+ .gen2_rx_tuning_enable = 0x0f,
+ .gen2_rx_tuning_params = 0x45,
+ .gen2_rx_filter_sel = 0x44,
+ }" # Type-A Port 2
+ register "usb3_ports[1]" = "USB3_PORT_GEN2_DEFAULT(OC3)" # Type-A Port 3
+ register "usb3_ports[2]" = "{
+ .enable = 1,
+ .ocpin = OC1,
+ .tx_de_emp = 0x00,
+ .tx_downscale_amp = 0x00,
+ .gen2_tx_rate0_uniq_tran_enable = 0,
+ .gen2_tx_rate0_uniq_tran = 0x00,
+ .gen2_tx_rate1_uniq_tran_enable = 0,
+ .gen2_tx_rate1_uniq_tran = 0x00,
+ .gen2_tx_rate2_uniq_tran_enable = 1,
+ .gen2_tx_rate2_uniq_tran = 0x4c,
+ .gen2_tx_rate3_uniq_tran_enable = 0,
+ .gen2_tx_rate3_uniq_tran = 0x00,
+ .gen2_rx_tuning_enable = 0x0f,
+ .gen2_rx_tuning_params = 0x3d,
+ .gen2_rx_filter_sel = 0x44,
+ }" # Type-A Port 1
register "usb3_ports[3]" = "USB3_PORT_DEFAULT(OC_SKIP)" # Type-C
- register "usb3_ports[4]" = "USB3_PORT_DEFAULT(OC0)" # Type-A Port 0
- register "usb3_ports[5]" = "USB3_PORT_DEFAULT(OC_SKIP)" # Type-A Port 4
+ register "usb3_ports[4]" = "{
+ .enable = 1,
+ .ocpin = OC0,
+ .tx_de_emp = 0x00,
+ .tx_downscale_amp = 0x00,
+ .gen2_tx_rate0_uniq_tran_enable = 0,
+ .gen2_tx_rate0_uniq_tran = 0x00,
+ .gen2_tx_rate1_uniq_tran_enable = 0,
+ .gen2_tx_rate1_uniq_tran = 0x00,
+ .gen2_tx_rate2_uniq_tran_enable = 1,
+ .gen2_tx_rate2_uniq_tran = 0x4c,
+ .gen2_tx_rate3_uniq_tran_enable = 0,
+ .gen2_tx_rate3_uniq_tran = 0x00,
+ .gen2_rx_tuning_enable = 0x0f,
+ .gen2_rx_tuning_params = 0x45,
+ .gen2_rx_filter_sel = 0x44,
+ }" # Type-A Port 0
+ register "usb3_ports[5]" = "{
+ .enable = 1,
+ .ocpin = OC_SKIP,
+ .tx_de_emp = 0x00,
+ .tx_downscale_amp = 0x00,
+ .gen2_tx_rate0_uniq_tran_enable = 0,
+ .gen2_tx_rate0_uniq_tran = 0x00,
+ .gen2_tx_rate1_uniq_tran_enable = 0,
+ .gen2_tx_rate1_uniq_tran = 0x00,
+ .gen2_tx_rate2_uniq_tran_enable = 1,
+ .gen2_tx_rate2_uniq_tran = 0x4c,
+ .gen2_tx_rate3_uniq_tran_enable = 0,
+ .gen2_tx_rate3_uniq_tran = 0x00,
+ .gen2_rx_tuning_enable = 0x0f,
+ .gen2_rx_tuning_params = 0x45,
+ .gen2_rx_filter_sel = 0x44,
+ }" # Type-A Port 4
# Bitmap for Wake Enable on USB attach/detach
register "usb2_wake_enable_bitmap" = "USB_PORT_WAKE_ENABLE(1) | \
diff --git a/src/mainboard/google/hatch/variants/faffy/overridetree.cb b/src/mainboard/google/hatch/variants/faffy/overridetree.cb
index fb4030be65..8aff8d192d 100644
--- a/src/mainboard/google/hatch/variants/faffy/overridetree.cb
+++ b/src/mainboard/google/hatch/variants/faffy/overridetree.cb
@@ -81,12 +81,76 @@ chip soc/intel/cannonlake
.pre_emp_bit = USB2_HALF_BIT_PRE_EMP,
}" # BT
- register "usb3_ports[0]" = "USB3_PORT_DEFAULT(OC2)" # Type-A Port 2
- register "usb3_ports[1]" = "USB3_PORT_DEFAULT(OC3)" # Type-A Port 3
- register "usb3_ports[2]" = "USB3_PORT_DEFAULT(OC1)" # Type-A Port 1
+ register "usb3_ports[0]" = "{
+ .enable = 1,
+ .ocpin = OC2,
+ .tx_de_emp = 0x00,
+ .tx_downscale_amp = 0x00,
+ .gen2_tx_rate0_uniq_tran_enable = 0,
+ .gen2_tx_rate0_uniq_tran = 0x00,
+ .gen2_tx_rate1_uniq_tran_enable = 0,
+ .gen2_tx_rate1_uniq_tran = 0x00,
+ .gen2_tx_rate2_uniq_tran_enable = 1,
+ .gen2_tx_rate2_uniq_tran = 0x4c,
+ .gen2_tx_rate3_uniq_tran_enable = 0,
+ .gen2_tx_rate3_uniq_tran = 0x00,
+ .gen2_rx_tuning_enable = 0x0f,
+ .gen2_rx_tuning_params = 0x45,
+ .gen2_rx_filter_sel = 0x44,
+ }" # Type-A Port 2
+ register "usb3_ports[1]" = "USB3_PORT_GEN2_DEFAULT(OC3)" # Type-A Port 3
+ register "usb3_ports[2]" = "{
+ .enable = 1,
+ .ocpin = OC1,
+ .tx_de_emp = 0x00,
+ .tx_downscale_amp = 0x00,
+ .gen2_tx_rate0_uniq_tran_enable = 0,
+ .gen2_tx_rate0_uniq_tran = 0x00,
+ .gen2_tx_rate1_uniq_tran_enable = 0,
+ .gen2_tx_rate1_uniq_tran = 0x00,
+ .gen2_tx_rate2_uniq_tran_enable = 1,
+ .gen2_tx_rate2_uniq_tran = 0x4c,
+ .gen2_tx_rate3_uniq_tran_enable = 0,
+ .gen2_tx_rate3_uniq_tran = 0x00,
+ .gen2_rx_tuning_enable = 0x0f,
+ .gen2_rx_tuning_params = 0x3d,
+ .gen2_rx_filter_sel = 0x44,
+ }" # Type-A Port 1
register "usb3_ports[3]" = "USB3_PORT_DEFAULT(OC_SKIP)" # Type-C
- register "usb3_ports[4]" = "USB3_PORT_DEFAULT(OC0)" # Type-A Port 0
- register "usb3_ports[5]" = "USB3_PORT_DEFAULT(OC_SKIP)" # Type-A Port 4
+ register "usb3_ports[4]" = "{
+ .enable = 1,
+ .ocpin = OC0,
+ .tx_de_emp = 0x00,
+ .tx_downscale_amp = 0x00,
+ .gen2_tx_rate0_uniq_tran_enable = 0,
+ .gen2_tx_rate0_uniq_tran = 0x00,
+ .gen2_tx_rate1_uniq_tran_enable = 0,
+ .gen2_tx_rate1_uniq_tran = 0x00,
+ .gen2_tx_rate2_uniq_tran_enable = 1,
+ .gen2_tx_rate2_uniq_tran = 0x4c,
+ .gen2_tx_rate3_uniq_tran_enable = 0,
+ .gen2_tx_rate3_uniq_tran = 0x00,
+ .gen2_rx_tuning_enable = 0x0f,
+ .gen2_rx_tuning_params = 0x45,
+ .gen2_rx_filter_sel = 0x44,
+ }" # Type-A Port 0
+ register "usb3_ports[5]" = "{
+ .enable = 1,
+ .ocpin = OC_SKIP,
+ .tx_de_emp = 0x00,
+ .tx_downscale_amp = 0x00,
+ .gen2_tx_rate0_uniq_tran_enable = 0,
+ .gen2_tx_rate0_uniq_tran = 0x00,
+ .gen2_tx_rate1_uniq_tran_enable = 0,
+ .gen2_tx_rate1_uniq_tran = 0x00,
+ .gen2_tx_rate2_uniq_tran_enable = 1,
+ .gen2_tx_rate2_uniq_tran = 0x4c,
+ .gen2_tx_rate3_uniq_tran_enable = 0,
+ .gen2_tx_rate3_uniq_tran = 0x00,
+ .gen2_rx_tuning_enable = 0x0f,
+ .gen2_rx_tuning_params = 0x45,
+ .gen2_rx_filter_sel = 0x44,
+ }" # Type-A Port 4
# Bitmap for Wake Enable on USB attach/detach
register "usb2_wake_enable_bitmap" = "USB_PORT_WAKE_ENABLE(1) | \
diff --git a/src/mainboard/google/hatch/variants/kaisa/overridetree.cb b/src/mainboard/google/hatch/variants/kaisa/overridetree.cb
index eb177f2696..01691ff16c 100644
--- a/src/mainboard/google/hatch/variants/kaisa/overridetree.cb
+++ b/src/mainboard/google/hatch/variants/kaisa/overridetree.cb
@@ -74,12 +74,76 @@ chip soc/intel/cannonlake
.pre_emp_bit = USB2_HALF_BIT_PRE_EMP,
}" # BT
- register "usb3_ports[0]" = "USB3_PORT_DEFAULT(OC2)" # Type-A Port 2
- register "usb3_ports[1]" = "USB3_PORT_DEFAULT(OC3)" # Type-A Port 3
- register "usb3_ports[2]" = "USB3_PORT_DEFAULT(OC1)" # Type-A Port 1
+ register "usb3_ports[0]" = "{
+ .enable = 1,
+ .ocpin = OC2,
+ .tx_de_emp = 0x00,
+ .tx_downscale_amp = 0x00,
+ .gen2_tx_rate0_uniq_tran_enable = 0,
+ .gen2_tx_rate0_uniq_tran = 0x00,
+ .gen2_tx_rate1_uniq_tran_enable = 0,
+ .gen2_tx_rate1_uniq_tran = 0x00,
+ .gen2_tx_rate2_uniq_tran_enable = 1,
+ .gen2_tx_rate2_uniq_tran = 0x4c,
+ .gen2_tx_rate3_uniq_tran_enable = 0,
+ .gen2_tx_rate3_uniq_tran = 0x00,
+ .gen2_rx_tuning_enable = 0x0f,
+ .gen2_rx_tuning_params = 0x45,
+ .gen2_rx_filter_sel = 0x44,
+ }" # Type-A Port 2
+ register "usb3_ports[1]" = "USB3_PORT_GEN2_DEFAULT(OC3)" # Type-A Port 3
+ register "usb3_ports[2]" = "{
+ .enable = 1,
+ .ocpin = OC1,
+ .tx_de_emp = 0x00,
+ .tx_downscale_amp = 0x00,
+ .gen2_tx_rate0_uniq_tran_enable = 0,
+ .gen2_tx_rate0_uniq_tran = 0x00,
+ .gen2_tx_rate1_uniq_tran_enable = 0,
+ .gen2_tx_rate1_uniq_tran = 0x00,
+ .gen2_tx_rate2_uniq_tran_enable = 1,
+ .gen2_tx_rate2_uniq_tran = 0x4c,
+ .gen2_tx_rate3_uniq_tran_enable = 0,
+ .gen2_tx_rate3_uniq_tran = 0x00,
+ .gen2_rx_tuning_enable = 0x0f,
+ .gen2_rx_tuning_params = 0x3d,
+ .gen2_rx_filter_sel = 0x44,
+ }" # Type-A Port 1
register "usb3_ports[3]" = "USB3_PORT_DEFAULT(OC_SKIP)" # Type-C
- register "usb3_ports[4]" = "USB3_PORT_DEFAULT(OC0)" # Type-A Port 0
- register "usb3_ports[5]" = "USB3_PORT_DEFAULT(OC_SKIP)" # Type-A Port 4
+ register "usb3_ports[4]" = "{
+ .enable = 1,
+ .ocpin = OC0,
+ .tx_de_emp = 0x00,
+ .tx_downscale_amp = 0x00,
+ .gen2_tx_rate0_uniq_tran_enable = 0,
+ .gen2_tx_rate0_uniq_tran = 0x00,
+ .gen2_tx_rate1_uniq_tran_enable = 0,
+ .gen2_tx_rate1_uniq_tran = 0x00,
+ .gen2_tx_rate2_uniq_tran_enable = 1,
+ .gen2_tx_rate2_uniq_tran = 0x4c,
+ .gen2_tx_rate3_uniq_tran_enable = 0,
+ .gen2_tx_rate3_uniq_tran = 0x00,
+ .gen2_rx_tuning_enable = 0x0f,
+ .gen2_rx_tuning_params = 0x45,
+ .gen2_rx_filter_sel = 0x44,
+ }" # Type-A Port 0
+ register "usb3_ports[5]" = "{
+ .enable = 1,
+ .ocpin = OC_SKIP,
+ .tx_de_emp = 0x00,
+ .tx_downscale_amp = 0x00,
+ .gen2_tx_rate0_uniq_tran_enable = 0,
+ .gen2_tx_rate0_uniq_tran = 0x00,
+ .gen2_tx_rate1_uniq_tran_enable = 0,
+ .gen2_tx_rate1_uniq_tran = 0x00,
+ .gen2_tx_rate2_uniq_tran_enable = 1,
+ .gen2_tx_rate2_uniq_tran = 0x4c,
+ .gen2_tx_rate3_uniq_tran_enable = 0,
+ .gen2_tx_rate3_uniq_tran = 0x00,
+ .gen2_rx_tuning_enable = 0x0f,
+ .gen2_rx_tuning_params = 0x45,
+ .gen2_rx_filter_sel = 0x44,
+ }" # Type-A Port 4
# Bitmap for Wake Enable on USB attach/detach
register "usb2_wake_enable_bitmap" = "USB_PORT_WAKE_ENABLE(1) | \