| /linux/drivers/firmware/tegra/ |
| A D | bpmp.c | 37 struct tegra_bpmp *bpmp = channel->bpmp; in channel_to_ops() local 59 if (!bpmp) { in tegra_bpmp_get() 73 if (bpmp) in tegra_bpmp_put() 81 struct tegra_bpmp *bpmp = channel->bpmp; in tegra_bpmp_channel_get_thread_index() local 195 return bpmp->soc->ops->ring_doorbell(bpmp); in tegra_bpmp_ring_doorbell() 218 struct tegra_bpmp *bpmp = channel->bpmp; in tegra_bpmp_channel_read() local 404 struct tegra_bpmp *bpmp = channel->bpmp; in tegra_bpmp_mrq_return() local 735 err = bpmp->soc->ops->init(bpmp); in tegra_bpmp_probe() 789 tegra_bpmp_free_mrq(bpmp, MRQ_PING, bpmp); in tegra_bpmp_probe() 792 bpmp->soc->ops->deinit(bpmp); in tegra_bpmp_probe() [all …]
|
| A D | bpmp-tegra186.c | 97 struct tegra_bpmp *bpmp = data; in tegra186_bpmp_ivc_notify() local 107 struct tegra_bpmp *bpmp, in tegra186_bpmp_channel_init() argument 128 bpmp); in tegra186_bpmp_channel_init() 136 channel->bpmp = bpmp; in tegra186_bpmp_channel_init() 160 tegra_bpmp_handle_rx(bpmp); in mbox_handle_rx() 173 bpmp->priv = priv; in tegra186_bpmp_init() 174 priv->parent = bpmp; in tegra186_bpmp_init() 202 err = tegra186_bpmp_channel_init(bpmp->tx_channel, bpmp, in tegra186_bpmp_init() 207 err = tegra186_bpmp_channel_init(bpmp->rx_channel, bpmp, in tegra186_bpmp_init() 216 bpmp, index); in tegra186_bpmp_init() [all …]
|
| A D | bpmp-tegra210.c | 39 struct tegra210_bpmp *priv = bpmp->priv; in bpmp_channel_status() 113 struct tegra210_bpmp *priv = bpmp->priv; in tegra210_bpmp_ring_doorbell() 128 struct tegra_bpmp *bpmp = data; in rx_irq() local 130 tegra_bpmp_handle_rx(bpmp); in rx_irq() 136 struct tegra_bpmp *bpmp, in tegra210_bpmp_channel_init() argument 139 struct tegra210_bpmp *priv = bpmp->priv; in tegra210_bpmp_channel_init() 156 channel->bpmp = bpmp; in tegra210_bpmp_channel_init() 172 bpmp->priv = priv; in tegra210_bpmp_init() 182 err = tegra210_bpmp_channel_init(bpmp->tx_channel, bpmp, in tegra210_bpmp_init() 187 err = tegra210_bpmp_channel_init(bpmp->rx_channel, bpmp, in tegra210_bpmp_init() [all …]
|
| A D | bpmp-debugfs.c | 138 err = tegra_bpmp_transfer(bpmp, &msg); in mrq_debug_open() 172 err = tegra_bpmp_transfer(bpmp, &msg); in mrq_debug_close() 216 err = tegra_bpmp_transfer(bpmp, &msg); in mrq_debug_read() 238 err = mrq_debug_close(bpmp, fd); in mrq_debug_read() 297 err = mrq_debug_close(bpmp, fd); in mrq_debug_write() 360 err = mrq_debug_close(bpmp, fd); in bpmp_debug_show() 423 if (!bpmp || !parent || !ppath) in bpmp_populate_debugfs_inband() 739 parent, bpmp, in bpmp_populate_dir() 772 err = bpmp_populate_dir(bpmp, &seqbuf, bpmp->debugfs_mirror, 0); in bpmp_populate_debugfs_shmem() 795 if (!bpmp->debugfs_mirror) { in tegra_bpmp_init_debugfs() [all …]
|
| A D | Makefile | 2 tegra-bpmp-y = bpmp.o 3 tegra-bpmp-$(CONFIG_ARCH_TEGRA_210_SOC) += bpmp-tegra210.o 4 tegra-bpmp-$(CONFIG_ARCH_TEGRA_186_SOC) += bpmp-tegra186.o 5 tegra-bpmp-$(CONFIG_ARCH_TEGRA_194_SOC) += bpmp-tegra186.o 6 tegra-bpmp-$(CONFIG_ARCH_TEGRA_234_SOC) += bpmp-tegra186.o 7 tegra-bpmp-$(CONFIG_DEBUG_FS) += bpmp-debugfs.o 8 obj-$(CONFIG_TEGRA_BPMP) += tegra-bpmp.o
|
| A D | built-in.a | 3 bpmp.o/ 4 bpmp-tegra210.o/ 5 bpmp-tegra186.o/ 6 bpmp-debugfs.o/
|
| A D | bpmp-private.h | 12 int (*init)(struct tegra_bpmp *bpmp); 13 void (*deinit)(struct tegra_bpmp *bpmp); 22 int (*ring_doorbell)(struct tegra_bpmp *bpmp); 23 int (*resume)(struct tegra_bpmp *bpmp);
|
| A D | .built-in.a.cmd | 1 …vers/firmware/tegra/bpmp.o drivers/firmware/tegra/bpmp-tegra210.o drivers/firmware/tegra/bpmp-tegr…
|
| /linux/arch/arm64/boot/dts/nvidia/ |
| A D | tegra186.dtsi | 56 <&bpmp TEGRA186_CLK_EQOS_AXI>, 57 <&bpmp TEGRA186_CLK_EQOS_RX>, 58 <&bpmp TEGRA186_CLK_EQOS_TX>, 80 <&bpmp TEGRA186_CLK_APB2APE>; 507 nvidia,bpmp = <&bpmp>; 1204 nvidia,bpmp = <&bpmp>; 1236 <&bpmp TEGRA186_CLK_AFI>, 1725 label = "cpu-bpmp-tx"; 1731 label = "cpu-bpmp-rx"; 1764 bpmp: bpmp { label [all …]
|
| A D | tegra194.dtsi | 601 nvidia,bpmp = <&bpmp>; 2028 nvidia,bpmp = <&bpmp 1>; 2082 nvidia,bpmp = <&bpmp 2>; 2136 nvidia,bpmp = <&bpmp 3>; 2190 nvidia,bpmp = <&bpmp 4>; 2244 nvidia,bpmp = <&bpmp 0>; 2298 nvidia,bpmp = <&bpmp 5>; 2348 nvidia,bpmp = <&bpmp 4>; 2388 nvidia,bpmp = <&bpmp 0>; 2466 bpmp: bpmp { label [all …]
|
| A D | tegra234.dtsi | 32 clocks = <&bpmp TEGRA234_CLK_UARTA>; 34 resets = <&bpmp TEGRA234_RESET_UARTA>; 43 clocks = <&bpmp TEGRA234_CLK_SDMMC4>; 45 resets = <&bpmp TEGRA234_RESET_SDMMC4>; 54 clocks = <&bpmp TEGRA234_CLK_FUSE>; 134 label = "cpu-bpmp-tx"; 140 label = "cpu-bpmp-rx"; 145 bpmp: bpmp { label 146 compatible = "nvidia,tegra234-bpmp", "nvidia,tegra186-bpmp"; 155 compatible = "nvidia,tegra186-bpmp-i2c"; [all …]
|
| /linux/drivers/soc/tegra/ |
| A D | powergate-bpmp.c | 21 struct tegra_bpmp *bpmp; member 48 err = tegra_bpmp_transfer(bpmp, &msg); in tegra_bpmp_powergate_set_state() 78 err = tegra_bpmp_transfer(bpmp, &msg); in tegra_bpmp_powergate_get_state() 106 err = tegra_bpmp_transfer(bpmp, &msg); in tegra_bpmp_powergate_get_max_id() 136 err = tegra_bpmp_transfer(bpmp, &msg); in tegra_bpmp_powergate_get_name() 152 struct tegra_bpmp *bpmp = powergate->bpmp; in tegra_powergate_power_on() local 161 struct tegra_bpmp *bpmp = powergate->bpmp; in tegra_powergate_power_off() local 182 powergate->bpmp = bpmp; in tegra_powergate_add() 200 struct tegra_bpmp *bpmp = powergate->bpmp; in tegra_powergate_remove() local 331 struct device *dev = bpmp->dev; in tegra_bpmp_init_powergates() [all …]
|
| /linux/include/soc/tegra/ |
| A D | bpmp.h | 40 struct tegra_bpmp *bpmp; member 111 void tegra_bpmp_put(struct tegra_bpmp *bpmp); 112 int tegra_bpmp_transfer_atomic(struct tegra_bpmp *bpmp, 114 int tegra_bpmp_transfer(struct tegra_bpmp *bpmp, 129 static inline void tegra_bpmp_put(struct tegra_bpmp *bpmp) in tegra_bpmp_put() argument 137 static inline int tegra_bpmp_transfer(struct tegra_bpmp *bpmp, in tegra_bpmp_transfer() argument 167 void tegra_bpmp_handle_rx(struct tegra_bpmp *bpmp); 170 int tegra_bpmp_init_clocks(struct tegra_bpmp *bpmp); 179 int tegra_bpmp_init_resets(struct tegra_bpmp *bpmp); 188 int tegra_bpmp_init_powergates(struct tegra_bpmp *bpmp); [all …]
|
| /linux/drivers/clk/tegra/ |
| A D | clk-bpmp.c | 31 struct tegra_bpmp *bpmp; member 86 err = tegra_bpmp_transfer(bpmp, &msg); in tegra_bpmp_clk_transfer() 426 dev_err(bpmp->dev, in tegra_bpmp_probe_clocks() 481 clk->bpmp = bpmp; in tegra_bpmp_clk_register() 549 bpmp->num_clocks = count; in tegra_bpmp_register_clocks() 551 bpmp->clocks = devm_kcalloc(bpmp->dev, count, sizeof(clk), GFP_KERNEL); in tegra_bpmp_register_clocks() 552 if (!bpmp->clocks) in tegra_bpmp_register_clocks() 560 dev_err(bpmp->dev, in tegra_bpmp_register_clocks() 566 bpmp->clocks[i] = clk; in tegra_bpmp_register_clocks() 584 struct tegra_bpmp *bpmp = data; in tegra_bpmp_clk_of_xlate() local [all …]
|
| /linux/drivers/reset/tegra/ |
| A D | reset-bpmp.c | 20 struct tegra_bpmp *bpmp = to_tegra_bpmp(rstc); in tegra_bpmp_reset_common() local 33 return tegra_bpmp_transfer(bpmp, &msg); in tegra_bpmp_reset_common() 60 int tegra_bpmp_init_resets(struct tegra_bpmp *bpmp) in tegra_bpmp_init_resets() argument 62 bpmp->rstc.ops = &tegra_bpmp_reset_ops; in tegra_bpmp_init_resets() 63 bpmp->rstc.owner = THIS_MODULE; in tegra_bpmp_init_resets() 64 bpmp->rstc.of_node = bpmp->dev->of_node; in tegra_bpmp_init_resets() 65 bpmp->rstc.nr_resets = bpmp->soc->num_resets; in tegra_bpmp_init_resets() 67 return devm_reset_controller_register(bpmp->dev, &bpmp->rstc); in tegra_bpmp_init_resets()
|
| /linux/drivers/thermal/tegra/ |
| A D | tegra-bpmp-thermal.c | 28 struct tegra_bpmp *bpmp; member 52 err = tegra_bpmp_transfer(zone->tegra->bpmp, &msg); in tegra_bpmp_thermal_get_temp() 79 return tegra_bpmp_transfer(zone->tegra->bpmp, &msg); in tegra_bpmp_thermal_set_trips() 122 static int tegra_bpmp_thermal_get_num_zones(struct tegra_bpmp *bpmp, in tegra_bpmp_thermal_get_num_zones() argument 140 err = tegra_bpmp_transfer(bpmp, &msg); in tegra_bpmp_thermal_get_num_zones() 156 struct tegra_bpmp *bpmp = dev_get_drvdata(pdev->dev.parent); in tegra_bpmp_thermal_probe() local 167 tegra->bpmp = bpmp; in tegra_bpmp_thermal_probe() 169 err = tegra_bpmp_thermal_get_num_zones(bpmp, &max_num_zones); in tegra_bpmp_thermal_probe() 214 err = tegra_bpmp_request_mrq(bpmp, MRQ_THERMAL, bpmp_mrq_thermal, in tegra_bpmp_thermal_probe() 231 tegra_bpmp_free_mrq(tegra->bpmp, MRQ_THERMAL, tegra); in tegra_bpmp_thermal_remove()
|
| /linux/drivers/cpufreq/ |
| A D | tegra186-cpufreq.c | 130 struct platform_device *pdev, struct tegra_bpmp *bpmp, in init_vhint_table() argument 141 virt = dma_alloc_coherent(bpmp->dev, sizeof(*data), &phys, in init_vhint_table() 157 err = tegra_bpmp_transfer(bpmp, &msg); in init_vhint_table() 213 dma_free_coherent(bpmp->dev, sizeof(*data), virt, phys); in init_vhint_table() 221 struct tegra_bpmp *bpmp; in tegra186_cpufreq_probe() local 235 bpmp = tegra_bpmp_get(&pdev->dev); in tegra186_cpufreq_probe() 236 if (IS_ERR(bpmp)) in tegra186_cpufreq_probe() 237 return PTR_ERR(bpmp); in tegra186_cpufreq_probe() 248 cluster->table = init_vhint_table(pdev, bpmp, cluster, i); in tegra186_cpufreq_probe() 260 tegra_bpmp_put(bpmp); in tegra186_cpufreq_probe()
|
| A D | tegra194-cpufreq.c | 289 init_freq_table(struct platform_device *pdev, struct tegra_bpmp *bpmp, in init_freq_table() argument 310 err = tegra_bpmp_transfer(bpmp, &msg); in init_freq_table() 363 struct tegra_bpmp *bpmp; in tegra194_cpufreq_probe() local 378 bpmp = tegra_bpmp_get(&pdev->dev); in tegra194_cpufreq_probe() 379 if (IS_ERR(bpmp)) in tegra194_cpufreq_probe() 380 return PTR_ERR(bpmp); in tegra194_cpufreq_probe() 390 data->tables[i] = init_freq_table(pdev, bpmp, i); in tegra194_cpufreq_probe() 406 tegra_bpmp_put(bpmp); in tegra194_cpufreq_probe()
|
| /linux/Documentation/devicetree/bindings/gpu/ |
| A D | nvidia,gk20a.txt | 87 clocks = <&bpmp TEGRA186_CLK_GPCCLK>, 88 <&bpmp TEGRA186_CLK_GPU>; 90 resets = <&bpmp TEGRA186_RESET_GPU>; 92 power-domains = <&bpmp TEGRA186_POWER_DOMAIN_GPU>; 105 clocks = <&bpmp TEGRA194_CLK_GPCCLK>, 106 <&bpmp TEGRA194_CLK_GPU_PWR>, 107 <&bpmp TEGRA194_CLK_FUSE>; 109 resets = <&bpmp TEGRA194_RESET_GPU>; 113 power-domains = <&bpmp TEGRA194_POWER_DOMAIN_GPU>;
|
| /linux/Documentation/devicetree/bindings/i2c/ |
| A D | nvidia,tegra186-bpmp-i2c.txt | 10 ../firmware/nvidia,tegra186-bpmp.txt for details of the BPMP binding. 19 - "nvidia,tegra186-bpmp-i2c". 26 - nvidia,bpmp-bus-id: 33 bpmp { 37 compatible = "nvidia,tegra186-bpmp-i2c"; 40 nvidia,bpmp-bus-id = <5>;
|
| /linux/Documentation/devicetree/bindings/thermal/ |
| A D | nvidia,tegra186-bpmp-thermal.txt | 9 ../firmware/nvidia,tegra186-bpmp.txt for details of the BPMP binding. 18 - "nvidia,tegra186-bpmp-thermal" 19 - "nvidia,tegra194-bpmp-thermal" 26 bpmp { 30 compatible = "nvidia,tegra186-bpmp-thermal";
|
| /linux/Documentation/devicetree/bindings/memory-controllers/ |
| A D | nvidia,tegra186-mc.yaml | 81 nvidia,bpmp: 124 clocks = <&bpmp TEGRA186_CLK_EMC>; 127 nvidia,bpmp = <&bpmp>; 132 bpmp: bpmp { 133 compatible = "nvidia,tegra186-bpmp";
|
| /linux/drivers/memory/tegra/ |
| A D | tegra186-emc.c | 20 struct tegra_bpmp *bpmp; member 174 emc->bpmp = tegra_bpmp_get(&pdev->dev); in tegra186_emc_probe() 175 if (IS_ERR(emc->bpmp)) in tegra186_emc_probe() 176 return dev_err_probe(&pdev->dev, PTR_ERR(emc->bpmp), "failed to get BPMP\n"); in tegra186_emc_probe() 195 err = tegra_bpmp_transfer(emc->bpmp, &msg); in tegra186_emc_probe() 255 tegra_bpmp_put(emc->bpmp); in tegra186_emc_probe() 264 tegra_bpmp_put(emc->bpmp); in tegra186_emc_remove()
|
| /linux/Documentation/devicetree/bindings/firmware/ |
| A D | nvidia,tegra186-bpmp.txt | 14 - "nvidia,tegra186-bpmp" 81 compatible = "nvidia,tegra186-bpmp-shmem"; 83 label = "cpu-bpmp-tx"; 88 compatible = "nvidia,tegra186-bpmp-shmem"; 90 label = "cpu-bpmp-rx"; 95 bpmp { 96 compatible = "nvidia,tegra186-bpmp";
|
| A D | nvidia,tegra210-bpmp.txt | 15 - "nvidia,tegra210-bpmp" 24 offloaded to bpmp. 28 bpmp@70016000 { 29 compatible = "nvidia,tegra210-bpmp";
|