Symbol: mtk
drivers/gpio/gpio-mt7621.c
101
struct mtk *priv = bank->parent_priv;
drivers/gpio/gpio-mt7621.c
120
struct mtk *priv = irq_desc_get_handler_data(desc);
drivers/gpio/gpio-mt7621.c
277
struct mtk *priv = data;
drivers/gpio/gpio-mt7621.c
294
mt7621_gpio_hwirq_to_bank(struct mtk *priv, irq_hw_number_t hwirq)
drivers/gpio/gpio-mt7621.c
313
struct mtk *priv = d->host_data;
drivers/gpio/gpio-mt7621.c
33
struct mtk *parent_priv;
drivers/gpio/gpio-mt7621.c
349
struct mtk *priv)
drivers/gpio/gpio-mt7621.c
372
struct mtk *priv = mt7621_gpio_gc_to_priv(gc);
drivers/gpio/gpio-mt7621.c
386
struct mtk *mtk = dev_get_drvdata(dev);
drivers/gpio/gpio-mt7621.c
391
rg = &mtk->gc_map[bank];
drivers/gpio/gpio-mt7621.c
394
rg->parent_priv = mtk;
drivers/gpio/gpio-mt7621.c
397
dat = mtk->base + GPIO_REG_DATA + (rg->bank * GPIO_BANK_STRIDE);
drivers/gpio/gpio-mt7621.c
398
set = mtk->base + GPIO_REG_DSET + (rg->bank * GPIO_BANK_STRIDE);
drivers/gpio/gpio-mt7621.c
399
ctrl = mtk->base + GPIO_REG_DCLR + (rg->bank * GPIO_BANK_STRIDE);
drivers/gpio/gpio-mt7621.c
400
diro = mtk->base + GPIO_REG_CTRL + (rg->bank * GPIO_BANK_STRIDE);
drivers/gpio/gpio-mt7621.c
427
if (mtk->gpio_irq > 0)
drivers/gpio/gpio-mt7621.c
449
struct mtk *mtk;
drivers/gpio/gpio-mt7621.c
453
mtk = devm_kzalloc(dev, sizeof(*mtk), GFP_KERNEL);
drivers/gpio/gpio-mt7621.c
454
if (!mtk)
drivers/gpio/gpio-mt7621.c
457
mtk->base = devm_platform_ioremap_resource(pdev, 0);
drivers/gpio/gpio-mt7621.c
458
if (IS_ERR(mtk->base))
drivers/gpio/gpio-mt7621.c
459
return PTR_ERR(mtk->base);
drivers/gpio/gpio-mt7621.c
461
mtk->gpio_irq = platform_get_irq(pdev, 0);
drivers/gpio/gpio-mt7621.c
462
if (mtk->gpio_irq < 0)
drivers/gpio/gpio-mt7621.c
463
return mtk->gpio_irq;
drivers/gpio/gpio-mt7621.c
465
mtk->pdev = pdev;
drivers/gpio/gpio-mt7621.c
466
mtk->num_gpios = MTK_BANK_WIDTH * MTK_BANK_CNT;
drivers/gpio/gpio-mt7621.c
467
platform_set_drvdata(pdev, mtk);
drivers/gpio/gpio-mt7621.c
469
if (mtk->gpio_irq > 0) {
drivers/gpio/gpio-mt7621.c
470
ret = mt7621_gpio_irq_setup(pdev, mtk);
drivers/gpio/gpio-mt7621.c
475
ret = devm_add_action_or_reset(dev, mt7621_gpio_remove, mtk);
drivers/gpio/gpio-mt7621.c
62
static inline struct mtk *
drivers/gpio/gpio-mt7621.c
82
struct mtk *mtk = mt7621_gpio_gc_to_priv(gc);
drivers/gpio/gpio-mt7621.c
85
gpio_generic_write_reg(&rg->chip, mtk->base + offset, val);
drivers/gpio/gpio-mt7621.c
92
struct mtk *mtk = mt7621_gpio_gc_to_priv(gc);
drivers/gpio/gpio-mt7621.c
95
return gpio_generic_read_reg(&rg->chip, mtk->base + offset);
drivers/usb/host/xhci-mtk-sch.c
1008
list_del_init(&mtk->bw_ep_chk_list);
drivers/usb/host/xhci-mtk-sch.c
1015
struct xhci_hcd_mtk *mtk = hcd_to_mtk(hcd);
drivers/usb/host/xhci-mtk-sch.c
1021
list_for_each_entry_safe(sch_ep, tmp, &mtk->bw_ep_chk_list, endpoint)
drivers/usb/host/xhci-mtk-sch.c
1022
destroy_sch_ep(mtk, udev, sch_ep);
drivers/usb/host/xhci-mtk-sch.c
127
get_bw_info(struct xhci_hcd_mtk *mtk, struct usb_device *udev,
drivers/usb/host/xhci-mtk-sch.c
130
struct xhci_hcd *xhci = hcd_to_xhci(mtk->hcd);
drivers/usb/host/xhci-mtk-sch.c
150
return &mtk->sch_array[bw_index];
drivers/usb/host/xhci-mtk-sch.c
246
create_sch_ep(struct xhci_hcd_mtk *mtk, struct usb_device *udev,
drivers/usb/host/xhci-mtk-sch.c
254
bw_info = get_bw_info(mtk, udev, ep);
drivers/usb/host/xhci-mtk-sch.c
844
static void destroy_sch_ep(struct xhci_hcd_mtk *mtk, struct usb_device *udev,
drivers/usb/host/xhci-mtk-sch.c
884
int xhci_mtk_sch_init(struct xhci_hcd_mtk *mtk)
drivers/usb/host/xhci-mtk-sch.c
886
struct xhci_hcd *xhci = hcd_to_xhci(mtk->hcd);
drivers/usb/host/xhci-mtk-sch.c
897
mtk->sch_array = sch_array;
drivers/usb/host/xhci-mtk-sch.c
899
INIT_LIST_HEAD(&mtk->bw_ep_chk_list);
drivers/usb/host/xhci-mtk-sch.c
900
hash_init(mtk->sch_ep_hash);
drivers/usb/host/xhci-mtk-sch.c
905
void xhci_mtk_sch_exit(struct xhci_hcd_mtk *mtk)
drivers/usb/host/xhci-mtk-sch.c
907
kfree(mtk->sch_array);
drivers/usb/host/xhci-mtk-sch.c
913
struct xhci_hcd_mtk *mtk = hcd_to_mtk(hcd);
drivers/usb/host/xhci-mtk-sch.c
938
sch_ep = create_sch_ep(mtk, udev, ep, ep_ctx);
drivers/usb/host/xhci-mtk-sch.c
944
list_add_tail(&sch_ep->endpoint, &mtk->bw_ep_chk_list);
drivers/usb/host/xhci-mtk-sch.c
945
hash_add(mtk->sch_ep_hash, &sch_ep->hentry, (unsigned long)ep);
drivers/usb/host/xhci-mtk-sch.c
953
struct xhci_hcd_mtk *mtk = hcd_to_mtk(hcd);
drivers/usb/host/xhci-mtk-sch.c
963
hash_for_each_possible_safe(mtk->sch_ep_hash, sch_ep,
drivers/usb/host/xhci-mtk-sch.c
966
destroy_sch_ep(mtk, udev, sch_ep);
drivers/usb/host/xhci-mtk-sch.c
974
struct xhci_hcd_mtk *mtk = hcd_to_mtk(hcd);
drivers/usb/host/xhci-mtk-sch.c
982
list_for_each_entry(sch_ep, &mtk->bw_ep_chk_list, endpoint) {
drivers/usb/host/xhci-mtk.c
139
static void xhci_mtk_set_frame_interval(struct xhci_hcd_mtk *mtk)
drivers/usb/host/xhci-mtk.c
141
struct device *dev = mtk->dev;
drivers/usb/host/xhci-mtk.c
142
struct usb_hcd *hcd = mtk->hcd;
drivers/usb/host/xhci-mtk.c
179
static void xhci_mtk_rxfifo_depth_set(struct xhci_hcd_mtk *mtk)
drivers/usb/host/xhci-mtk.c
181
struct usb_hcd *hcd = mtk->hcd;
drivers/usb/host/xhci-mtk.c
184
if (!mtk->rxfifo_depth)
drivers/usb/host/xhci-mtk.c
189
SCH_FIFO_TO_KB(mtk->rxfifo_depth) - 1);
drivers/usb/host/xhci-mtk.c
194
static void xhci_mtk_init_quirk(struct xhci_hcd_mtk *mtk)
drivers/usb/host/xhci-mtk.c
197
xhci_mtk_set_frame_interval(mtk);
drivers/usb/host/xhci-mtk.c
200
xhci_mtk_rxfifo_depth_set(mtk);
drivers/usb/host/xhci-mtk.c
203
static int xhci_mtk_host_enable(struct xhci_hcd_mtk *mtk)
drivers/usb/host/xhci-mtk.c
205
struct mu3c_ippc_regs __iomem *ippc = mtk->ippc_regs;
drivers/usb/host/xhci-mtk.c
211
if (!mtk->has_ippc)
drivers/usb/host/xhci-mtk.c
220
for (i = 0; i < mtk->num_u3_ports; i++) {
drivers/usb/host/xhci-mtk.c
221
if ((0x1 << i) & mtk->u3p_dis_msk) {
drivers/usb/host/xhci-mtk.c
233
for (i = 0; i < mtk->num_u2_ports; i++) {
drivers/usb/host/xhci-mtk.c
234
if (BIT(i) & mtk->u2p_dis_msk)
drivers/usb/host/xhci-mtk.c
250
if (mtk->num_u3_ports > u3_ports_disabled)
drivers/usb/host/xhci-mtk.c
256
dev_err(mtk->dev, "clocks are not stable (0x%x)\n", value);
drivers/usb/host/xhci-mtk.c
263
static int xhci_mtk_host_disable(struct xhci_hcd_mtk *mtk)
drivers/usb/host/xhci-mtk.c
265
struct mu3c_ippc_regs __iomem *ippc = mtk->ippc_regs;
drivers/usb/host/xhci-mtk.c
270
if (!mtk->has_ippc)
drivers/usb/host/xhci-mtk.c
274
for (i = 0; i < mtk->num_u3_ports; i++) {
drivers/usb/host/xhci-mtk.c
275
if ((0x1 << i) & mtk->u3p_dis_msk)
drivers/usb/host/xhci-mtk.c
284
for (i = 0; i < mtk->num_u2_ports; i++) {
drivers/usb/host/xhci-mtk.c
285
if (BIT(i) & mtk->u2p_dis_msk)
drivers/usb/host/xhci-mtk.c
302
dev_err(mtk->dev, "ip sleep failed!!!\n");
drivers/usb/host/xhci-mtk.c
309
static int xhci_mtk_ssusb_config(struct xhci_hcd_mtk *mtk)
drivers/usb/host/xhci-mtk.c
311
struct mu3c_ippc_regs __iomem *ippc = mtk->ippc_regs;
drivers/usb/host/xhci-mtk.c
314
if (!mtk->has_ippc)
drivers/usb/host/xhci-mtk.c
335
mtk->num_u3_ports = CAP_U3_PORT_NUM(value);
drivers/usb/host/xhci-mtk.c
336
mtk->num_u2_ports = CAP_U2_PORT_NUM(value);
drivers/usb/host/xhci-mtk.c
337
dev_dbg(mtk->dev, "%s u2p:%d, u3p:%d\n", __func__,
drivers/usb/host/xhci-mtk.c
338
mtk->num_u2_ports, mtk->num_u3_ports);
drivers/usb/host/xhci-mtk.c
340
return xhci_mtk_host_enable(mtk);
drivers/usb/host/xhci-mtk.c
344
static void usb_wakeup_ip_sleep_set(struct xhci_hcd_mtk *mtk, bool enable)
drivers/usb/host/xhci-mtk.c
348
switch (mtk->uwk_vers) {
drivers/usb/host/xhci-mtk.c
350
reg = mtk->uwk_reg_base + PERI_WK_CTRL1;
drivers/usb/host/xhci-mtk.c
355
reg = mtk->uwk_reg_base + PERI_WK_CTRL0;
drivers/usb/host/xhci-mtk.c
360
reg = mtk->uwk_reg_base + PERI_WK_CTRL0;
drivers/usb/host/xhci-mtk.c
365
reg = mtk->uwk_reg_base + PERI_WK_CTRL1_8195;
drivers/usb/host/xhci-mtk.c
370
reg = mtk->uwk_reg_base + PERI_WK_CTRL0_8195;
drivers/usb/host/xhci-mtk.c
375
reg = mtk->uwk_reg_base + PERI_WK_CTRL0_8195;
drivers/usb/host/xhci-mtk.c
380
reg = mtk->uwk_reg_base + PERI_WK_CTRL0_8195;
drivers/usb/host/xhci-mtk.c
385
reg = mtk->uwk_reg_base + PERI_SSUSB_SPM_CTRL;
drivers/usb/host/xhci-mtk.c
392
regmap_update_bits(mtk->uwk, reg, msk, val);
drivers/usb/host/xhci-mtk.c
395
static int usb_wakeup_of_property_parse(struct xhci_hcd_mtk *mtk,
drivers/usb/host/xhci-mtk.c
402
mtk->uwk_en = of_property_read_bool(dn, "wakeup-source");
drivers/usb/host/xhci-mtk.c
403
if (!mtk->uwk_en)
drivers/usb/host/xhci-mtk.c
411
mtk->uwk_reg_base = args.args[0];
drivers/usb/host/xhci-mtk.c
412
mtk->uwk_vers = args.args[1];
drivers/usb/host/xhci-mtk.c
413
mtk->uwk = syscon_node_to_regmap(args.np);
drivers/usb/host/xhci-mtk.c
415
dev_info(mtk->dev, "uwk - reg:0x%x, version:%d\n",
drivers/usb/host/xhci-mtk.c
416
mtk->uwk_reg_base, mtk->uwk_vers);
drivers/usb/host/xhci-mtk.c
418
return PTR_ERR_OR_ZERO(mtk->uwk);
drivers/usb/host/xhci-mtk.c
421
static void usb_wakeup_set(struct xhci_hcd_mtk *mtk, bool enable)
drivers/usb/host/xhci-mtk.c
423
if (mtk->uwk_en)
drivers/usb/host/xhci-mtk.c
424
usb_wakeup_ip_sleep_set(mtk, enable);
drivers/usb/host/xhci-mtk.c
427
static int xhci_mtk_clks_get(struct xhci_hcd_mtk *mtk)
drivers/usb/host/xhci-mtk.c
429
struct clk_bulk_data *clks = mtk->clks;
drivers/usb/host/xhci-mtk.c
438
return devm_clk_bulk_get_optional(mtk->dev, BULK_CLKS_NUM, clks);
drivers/usb/host/xhci-mtk.c
441
static int xhci_mtk_vregs_get(struct xhci_hcd_mtk *mtk)
drivers/usb/host/xhci-mtk.c
443
struct regulator_bulk_data *supplies = mtk->supplies;
drivers/usb/host/xhci-mtk.c
448
return devm_regulator_bulk_get(mtk->dev, BULK_VREGS_NUM, supplies);
drivers/usb/host/xhci-mtk.c
454
struct xhci_hcd_mtk *mtk = hcd_to_mtk(hcd);
drivers/usb/host/xhci-mtk.c
462
if (mtk->lpm_support)
drivers/usb/host/xhci-mtk.c
464
if (mtk->u2_lpm_disable)
drivers/usb/host/xhci-mtk.c
478
struct xhci_hcd_mtk *mtk = hcd_to_mtk(hcd);
drivers/usb/host/xhci-mtk.c
482
ret = xhci_mtk_ssusb_config(mtk);
drivers/usb/host/xhci-mtk.c
486
xhci_mtk_init_quirk(mtk);
drivers/usb/host/xhci-mtk.c
494
ret = xhci_mtk_sch_init(mtk);
drivers/usb/host/xhci-mtk.c
513
struct xhci_hcd_mtk *mtk;
drivers/usb/host/xhci-mtk.c
527
mtk = devm_kzalloc(dev, sizeof(*mtk), GFP_KERNEL);
drivers/usb/host/xhci-mtk.c
528
if (!mtk)
drivers/usb/host/xhci-mtk.c
531
mtk->dev = dev;
drivers/usb/host/xhci-mtk.c
533
ret = xhci_mtk_vregs_get(mtk);
drivers/usb/host/xhci-mtk.c
537
ret = xhci_mtk_clks_get(mtk);
drivers/usb/host/xhci-mtk.c
556
mtk->lpm_support = of_property_read_bool(node, "usb3-lpm-capable");
drivers/usb/host/xhci-mtk.c
557
mtk->u2_lpm_disable = of_property_read_bool(node, "usb2-lpm-disable");
drivers/usb/host/xhci-mtk.c
560
&mtk->u3p_dis_msk);
drivers/usb/host/xhci-mtk.c
562
&mtk->u2p_dis_msk);
drivers/usb/host/xhci-mtk.c
564
of_property_read_u32(node, "rx-fifo-depth", &mtk->rxfifo_depth);
drivers/usb/host/xhci-mtk.c
566
ret = usb_wakeup_of_property_parse(mtk, node);
drivers/usb/host/xhci-mtk.c
578
ret = regulator_bulk_enable(BULK_VREGS_NUM, mtk->supplies);
drivers/usb/host/xhci-mtk.c
582
ret = clk_bulk_prepare_enable(BULK_CLKS_NUM, mtk->clks);
drivers/usb/host/xhci-mtk.c
602
mtk->hcd = platform_get_drvdata(pdev);
drivers/usb/host/xhci-mtk.c
603
platform_set_drvdata(pdev, mtk);
drivers/usb/host/xhci-mtk.c
616
mtk->ippc_regs = devm_ioremap_resource(dev, res);
drivers/usb/host/xhci-mtk.c
617
if (IS_ERR(mtk->ippc_regs)) {
drivers/usb/host/xhci-mtk.c
618
ret = PTR_ERR(mtk->ippc_regs);
drivers/usb/host/xhci-mtk.c
621
mtk->has_ippc = true;
drivers/usb/host/xhci-mtk.c
685
xhci_mtk_sch_exit(mtk);
drivers/usb/host/xhci-mtk.c
695
clk_bulk_disable_unprepare(BULK_CLKS_NUM, mtk->clks);
drivers/usb/host/xhci-mtk.c
698
regulator_bulk_disable(BULK_VREGS_NUM, mtk->supplies);
drivers/usb/host/xhci-mtk.c
708
struct xhci_hcd_mtk *mtk = platform_get_drvdata(pdev);
drivers/usb/host/xhci-mtk.c
709
struct usb_hcd *hcd = mtk->hcd;
drivers/usb/host/xhci-mtk.c
729
xhci_mtk_sch_exit(mtk);
drivers/usb/host/xhci-mtk.c
730
clk_bulk_disable_unprepare(BULK_CLKS_NUM, mtk->clks);
drivers/usb/host/xhci-mtk.c
731
regulator_bulk_disable(BULK_VREGS_NUM, mtk->supplies);
drivers/usb/host/xhci-mtk.c
740
struct xhci_hcd_mtk *mtk = dev_get_drvdata(dev);
drivers/usb/host/xhci-mtk.c
741
struct usb_hcd *hcd = mtk->hcd;
drivers/usb/host/xhci-mtk.c
754
ret = xhci_mtk_host_disable(mtk);
drivers/usb/host/xhci-mtk.c
758
clk_bulk_disable_unprepare(BULK_CLKS_NUM, mtk->clks);
drivers/usb/host/xhci-mtk.c
759
usb_wakeup_set(mtk, true);
drivers/usb/host/xhci-mtk.c
775
struct xhci_hcd_mtk *mtk = dev_get_drvdata(dev);
drivers/usb/host/xhci-mtk.c
776
struct usb_hcd *hcd = mtk->hcd;
drivers/usb/host/xhci-mtk.c
781
usb_wakeup_set(mtk, false);
drivers/usb/host/xhci-mtk.c
782
ret = clk_bulk_prepare_enable(BULK_CLKS_NUM, mtk->clks);
drivers/usb/host/xhci-mtk.c
786
ret = xhci_mtk_host_enable(mtk);
drivers/usb/host/xhci-mtk.c
800
clk_bulk_disable_unprepare(BULK_CLKS_NUM, mtk->clks);
drivers/usb/host/xhci-mtk.c
802
usb_wakeup_set(mtk, true);
drivers/usb/host/xhci-mtk.c
808
struct xhci_hcd_mtk *mtk = dev_get_drvdata(dev);
drivers/usb/host/xhci-mtk.c
809
struct xhci_hcd *xhci = hcd_to_xhci(mtk->hcd);
drivers/usb/host/xhci-mtk.c
824
struct xhci_hcd_mtk *mtk = dev_get_drvdata(dev);
drivers/usb/host/xhci-mtk.c
825
struct xhci_hcd *xhci = hcd_to_xhci(mtk->hcd);
drivers/usb/host/xhci-mtk.h
185
int xhci_mtk_sch_init(struct xhci_hcd_mtk *mtk);
drivers/usb/host/xhci-mtk.h
186
void xhci_mtk_sch_exit(struct xhci_hcd_mtk *mtk);