summaryrefslogtreecommitdiff
path: root/src/mainboard/lenovo/x60/mptable.c
diff options
context:
space:
mode:
authorKeith Hui <buurin@gmail.com>2024-05-25 17:33:38 -0400
committerMartin L Roth <gaumless@gmail.com>2024-06-07 22:33:10 +0000
commit94625d2aae76f4b72bc59c0da36793db2dc6df5c (patch)
tree02e4612d9ca12cfd97fc9d6de268e0d17f7c1405 /src/mainboard/lenovo/x60/mptable.c
parent83cd6f9f89eb473522a9a6536601acb64dd2863c (diff)
sb/intel/bd82x6x: Allow actual USBIRx values for native USB config
For USB to work under native code path, the USB port config needs to include a current setting for each port, which gets mapped to an initialization value that gets programmed into the USBIRx register for the respective port. This map resides in early_usb.c. The need to update it, whenever we see a previously unaccounted for initialization value, is getting out of hand. Instead this patch will allow specifying those values, presumably taken from an inteltool dump while running vendor firmware, directly in the USB port map. Because all USBIRx values are always in the 0x20000yyy form, we only need the lowest 12 bits. We have more than enough space in the USB port config structure for this. As the lowest yyy value we saw so far is 0x53, a note is included to limit the map to not more than 80 entries. Any value that is too big to be an index into the map is programmed directly, + 0x20000000, into the registers. This opens the future possibility to use the map for a simpler mapping for boards also using MRC, and remove the need for any mapping at all for the rest. Change-Id: I3d79b33bac742faa9bd4fc9852aff73fe326de4e Signed-off-by: Keith Hui <buurin@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/82655 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Diffstat (limited to 'src/mainboard/lenovo/x60/mptable.c')
0 files changed, 0 insertions, 0 deletions