Lines Matching +full:tegra186 +full:- +full:hsp
1 // SPDX-License-Identifier: GPL-2.0
9 #include <mailbox-uclass.h>
10 #include <dt-bindings/mailbox/tegra186-hsp.h>
41 return (uint32_t *)(thsp->regs + thsp->db_base + (db_id * 0x100) + reg); in tegra_hsp_reg()
67 return -EINVAL; in tegra_hsp_db_id()
76 if (args->args_count != 2) { in tegra_hsp_of_xlate()
77 debug("Invaild args_count: %d\n", args->args_count); in tegra_hsp_of_xlate()
78 return -EINVAL; in tegra_hsp_of_xlate()
81 chan->id = (args->args[0] << 16) | args->args[1]; in tegra_hsp_of_xlate()
92 db_id = tegra_hsp_db_id(chan->id); in tegra_hsp_request()
95 return -EINVAL; in tegra_hsp_request()
110 struct tegra_hsp *thsp = dev_get_priv(chan->dev); in tegra_hsp_send()
115 db_id = tegra_hsp_db_id(chan->id); in tegra_hsp_send()
123 struct tegra_hsp *thsp = dev_get_priv(chan->dev); in tegra_hsp_recv()
130 if (!(val & BIT(chan->id))) in tegra_hsp_recv()
131 return -ENODATA; in tegra_hsp_recv()
133 tegra_hsp_writel(thsp, BIT(chan->id), db_id, TEGRA_HSP_DB_REG_RAW); in tegra_hsp_recv()
153 thsp->regs = devfdt_get_addr(dev); in tegra_hsp_probe()
154 if (thsp->regs == FDT_ADDR_T_NONE) in tegra_hsp_probe()
155 return -ENODEV; in tegra_hsp_probe()
157 val = readl(thsp->regs + TEGRA_HSP_INT_DIMENSIONING); in tegra_hsp_probe()
165 thsp->db_base = (1 + (nr_sm >> 1) + nr_ss + nr_as) << 16; in tegra_hsp_probe()
171 { .compatible = "nvidia,tegra186-hsp" },
184 .name = "tegra-hsp",