From dff5ed4c9a29cc52a105f45d26f33e0c79782ef6 Mon Sep 17 00:00:00 2001 From: Aaron Kling Date: Fri, 9 May 2025 02:44:16 -0500 Subject: [PATCH] usb: xhci: tegra: Add Tegra210B01 support This uses a different firmware, but is otherwise compatible with Tegra210. --- drivers/usb/host/xhci-tegra.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/drivers/usb/host/xhci-tegra.c b/drivers/usb/host/xhci-tegra.c index 76f228e7443c..b4a0967c7615 100644 --- a/drivers/usb/host/xhci-tegra.c +++ b/drivers/usb/host/xhci-tegra.c @@ -2543,6 +2543,30 @@ static const struct tegra_xusb_soc tegra210_soc = { }; MODULE_FIRMWARE("nvidia/tegra210/xusb.bin"); +static const struct tegra_xusb_soc tegra210b01_soc = { + .firmware = "nvidia/tegra210b01/xusb.bin", + .supply_names = tegra210_supply_names, + .num_supplies = ARRAY_SIZE(tegra210_supply_names), + .phy_types = tegra210_phy_types, + .num_types = ARRAY_SIZE(tegra210_phy_types), + .context = &tegra124_xusb_context, + .ports = { + .usb2 = { .offset = 4, .count = 4, }, + .hsic = { .offset = 8, .count = 1, }, + .usb3 = { .offset = 0, .count = 4, }, + }, + .scale_ss_clock = false, + .has_ipfs = true, + .otg_reset_sspi = true, + .mbox = { + .cmd = 0xe4, + .data_in = 0xe8, + .data_out = 0xec, + .owner = 0xf0, + }, +}; +MODULE_FIRMWARE("nvidia/tegra210b01/xusb.bin"); + static const char * const tegra186_supply_names[] = { }; MODULE_FIRMWARE("nvidia/tegra186/xusb.bin"); @@ -2655,6 +2679,7 @@ static const struct tegra_xusb_soc tegra234_soc = { static const struct of_device_id tegra_xusb_of_match[] = { { .compatible = "nvidia,tegra124-xusb", .data = &tegra124_soc }, { .compatible = "nvidia,tegra210-xusb", .data = &tegra210_soc }, + { .compatible = "nvidia,tegra210b01-xusb", .data = &tegra210b01_soc }, { .compatible = "nvidia,tegra186-xusb", .data = &tegra186_soc }, { .compatible = "nvidia,tegra194-xusb", .data = &tegra194_soc }, { .compatible = "nvidia,tegra234-xusb", .data = &tegra234_soc },