From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thierry Reding Subject: [PATCH 3/6] usb: host: xhci-tegra: Add Tegra186 XUSB support Date: Fri, 25 Jan 2019 12:30:10 +0100 Message-ID: <20190125113013.11447-3-thierry.reding@gmail.com> References: <20190125113013.11447-1-thierry.reding@gmail.com> Mime-Version: 1.0 Content-Transfer-Encoding: 8bit Return-path: In-Reply-To: <20190125113013.11447-1-thierry.reding@gmail.com> Sender: linux-kernel-owner@vger.kernel.org To: Greg Kroah-Hartman Cc: Mathias Nyman , Jon Hunter , JC Kuo , linux-usb@vger.kernel.org, linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org List-Id: linux-tegra@vger.kernel.org From: JC Kuo This commit adds Tegra186 XUSB host mode controller support. This is very similar to the existing support for Tegra124 and Tegra210, except that the number of ports and PHYs differs and the IPFS wrapper being gone. Signed-off-by: JC Kuo Signed-off-by: Thierry Reding --- 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 49e033f953a2..9a07ea0f9c97 100644 --- a/drivers/usb/host/xhci-tegra.c +++ b/drivers/usb/host/xhci-tegra.c @@ -1423,9 +1423,34 @@ static const struct tegra_xusb_soc tegra210_soc = { }; MODULE_FIRMWARE("nvidia/tegra210/xusb.bin"); +static const char * const tegra186_supply_names[] = { +}; + +static const struct tegra_xusb_phy_type tegra186_phy_types[] = { + { .name = "usb3", .num = 3, }, + { .name = "usb2", .num = 3, }, + { .name = "hsic", .num = 1, }, +}; + +static const struct tegra_xusb_soc tegra186_soc = { + .firmware = "nvidia/tegra186/xusb.bin", + .supply_names = tegra186_supply_names, + .num_supplies = ARRAY_SIZE(tegra186_supply_names), + .phy_types = tegra186_phy_types, + .num_types = ARRAY_SIZE(tegra186_phy_types), + .ports = { + .usb3 = { .offset = 0, .count = 3, }, + .usb2 = { .offset = 3, .count = 3, }, + .hsic = { .offset = 6, .count = 1, }, + }, + .scale_ss_clock = false, + .has_ipfs = false, +}; + 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,tegra186-xusb", .data = &tegra186_soc }, { }, }; MODULE_DEVICE_TABLE(of, tegra_xusb_of_match); -- 2.19.1 From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: [3/6] usb: host: xhci-tegra: Add Tegra186 XUSB support From: Thierry Reding Message-Id: <20190125113013.11447-3-thierry.reding@gmail.com> Date: Fri, 25 Jan 2019 12:30:10 +0100 To: Greg Kroah-Hartman Cc: Mathias Nyman , Jon Hunter , JC Kuo , linux-usb@vger.kernel.org, linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org List-ID: RnJvbTogSkMgS3VvIDxqY2t1b0BudmlkaWEuY29tPgoKVGhpcyBjb21taXQgYWRkcyBUZWdyYTE4 NiBYVVNCIGhvc3QgbW9kZSBjb250cm9sbGVyIHN1cHBvcnQuIFRoaXMgaXMKdmVyeSBzaW1pbGFy IHRvIHRoZSBleGlzdGluZyBzdXBwb3J0IGZvciBUZWdyYTEyNCBhbmQgVGVncmEyMTAsIGV4Y2Vw dAp0aGF0IHRoZSBudW1iZXIgb2YgcG9ydHMgYW5kIFBIWXMgZGlmZmVycyBhbmQgdGhlIElQRlMg d3JhcHBlciBiZWluZwpnb25lLgoKU2lnbmVkLW9mZi1ieTogSkMgS3VvIDxqY2t1b0BudmlkaWEu Y29tPgpTaWduZWQtb2ZmLWJ5OiBUaGllcnJ5IFJlZGluZyA8dHJlZGluZ0BudmlkaWEuY29tPgot LS0KIGRyaXZlcnMvdXNiL2hvc3QveGhjaS10ZWdyYS5jIHwgMjUgKysrKysrKysrKysrKysrKysr KysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDI1IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9k cml2ZXJzL3VzYi9ob3N0L3hoY2ktdGVncmEuYyBiL2RyaXZlcnMvdXNiL2hvc3QveGhjaS10ZWdy YS5jCmluZGV4IDQ5ZTAzM2Y5NTNhMi4uOWEwN2VhMGY5Yzk3IDEwMDY0NAotLS0gYS9kcml2ZXJz L3VzYi9ob3N0L3hoY2ktdGVncmEuYworKysgYi9kcml2ZXJzL3VzYi9ob3N0L3hoY2ktdGVncmEu YwpAQCAtMTQyMyw5ICsxNDIzLDM0IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgdGVncmFfeHVzYl9z b2MgdGVncmEyMTBfc29jID0gewogfTsKIE1PRFVMRV9GSVJNV0FSRSgibnZpZGlhL3RlZ3JhMjEw L3h1c2IuYmluIik7CiAKK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgdGVncmExODZfc3VwcGx5 X25hbWVzW10gPSB7Cit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IHRlZ3JhX3h1c2JfcGh5X3R5 cGUgdGVncmExODZfcGh5X3R5cGVzW10gPSB7CisJeyAubmFtZSA9ICJ1c2IzIiwgLm51bSA9IDMs IH0sCisJeyAubmFtZSA9ICJ1c2IyIiwgLm51bSA9IDMsIH0sCisJeyAubmFtZSA9ICJoc2ljIiwg Lm51bSA9IDEsIH0sCit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IHRlZ3JhX3h1c2Jfc29jIHRl Z3JhMTg2X3NvYyA9IHsKKwkuZmlybXdhcmUgPSAibnZpZGlhL3RlZ3JhMTg2L3h1c2IuYmluIiwK Kwkuc3VwcGx5X25hbWVzID0gdGVncmExODZfc3VwcGx5X25hbWVzLAorCS5udW1fc3VwcGxpZXMg PSBBUlJBWV9TSVpFKHRlZ3JhMTg2X3N1cHBseV9uYW1lcyksCisJLnBoeV90eXBlcyA9IHRlZ3Jh MTg2X3BoeV90eXBlcywKKwkubnVtX3R5cGVzID0gQVJSQVlfU0laRSh0ZWdyYTE4Nl9waHlfdHlw ZXMpLAorCS5wb3J0cyA9IHsKKwkJLnVzYjMgPSB7IC5vZmZzZXQgPSAwLCAuY291bnQgPSAzLCB9 LAorCQkudXNiMiA9IHsgLm9mZnNldCA9IDMsIC5jb3VudCA9IDMsIH0sCisJCS5oc2ljID0geyAu b2Zmc2V0ID0gNiwgLmNvdW50ID0gMSwgfSwKKwl9LAorCS5zY2FsZV9zc19jbG9jayA9IGZhbHNl LAorCS5oYXNfaXBmcyA9IGZhbHNlLAorfTsKKwogc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZp Y2VfaWQgdGVncmFfeHVzYl9vZl9tYXRjaFtdID0gewogCXsgLmNvbXBhdGlibGUgPSAibnZpZGlh LHRlZ3JhMTI0LXh1c2IiLCAuZGF0YSA9ICZ0ZWdyYTEyNF9zb2MgfSwKIAl7IC5jb21wYXRpYmxl ID0gIm52aWRpYSx0ZWdyYTIxMC14dXNiIiwgLmRhdGEgPSAmdGVncmEyMTBfc29jIH0sCisJeyAu Y29tcGF0aWJsZSA9ICJudmlkaWEsdGVncmExODYteHVzYiIsIC5kYXRhID0gJnRlZ3JhMTg2X3Nv YyB9LAogCXsgfSwKIH07CiBNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCB0ZWdyYV94dXNiX29mX21h dGNoKTsK