Lines Matching +full:dram +full:- +full:controller
1 // SPDX-License-Identifier: GPL-2.0
4 * Author: Gregory CLEMENT <gregory.clement@free-electrons.com>
16 #include "xhci-mvebu.h"
24 const struct mbus_dram_target_info *dram) in xhci_mvebu_mbus_config() argument
34 /* Program each DRAM CS in a seperate window */ in xhci_mvebu_mbus_config()
35 for (win = 0; win < dram->num_cs; win++) { in xhci_mvebu_mbus_config()
36 const struct mbus_dram_window *cs = &dram->cs[win]; in xhci_mvebu_mbus_config()
38 writel(((cs->size - 1) & 0xffff0000) | (cs->mbus_attr << 8) | in xhci_mvebu_mbus_config()
39 (dram->mbus_dram_target_id << 4) | 1, in xhci_mvebu_mbus_config()
42 writel((cs->base & 0xffff0000), base + USB3_WIN_BASE(win)); in xhci_mvebu_mbus_config()
48 struct device *dev = hcd->self.controller; in xhci_mvebu_mbus_init_quirk()
52 const struct mbus_dram_target_info *dram; in xhci_mvebu_mbus_init_quirk() local
56 return -ENODEV; in xhci_mvebu_mbus_init_quirk()
62 base = ioremap(res->start, resource_size(res)); in xhci_mvebu_mbus_init_quirk()
64 return -ENODEV; in xhci_mvebu_mbus_init_quirk()
66 dram = mv_mbus_dram_info(); in xhci_mvebu_mbus_init_quirk()
67 xhci_mvebu_mbus_config(base, dram); in xhci_mvebu_mbus_init_quirk()
81 struct device *dev = hcd->self.controller; in xhci_mvebu_a3700_plat_setup()
86 phy = of_phy_get(dev->of_node, "usb3-phy"); in xhci_mvebu_a3700_plat_setup()
87 if (IS_ERR(phy) && PTR_ERR(phy) == -EPROBE_DEFER) in xhci_mvebu_a3700_plat_setup()
88 return -EPROBE_DEFER; in xhci_mvebu_a3700_plat_setup()
101 if (ret == -EOPNOTSUPP) { in xhci_mvebu_a3700_plat_setup()
104 xhci->quirks |= XHCI_SKIP_PHY_INIT; in xhci_mvebu_a3700_plat_setup()
124 xhci->quirks |= XHCI_RESET_ON_RESUME; in xhci_mvebu_a3700_init_quirk()