Home
last modified time | relevance | path

Searched refs:bpmp (Results 1 – 25 of 67) sorted by relevance

123

/linux/drivers/firmware/tegra/
H A Dbpmp.c31 struct tegra_bpmp *bpmp = channel->bpmp; in channel_to_ops() local
51 if (!bpmp) { in tegra_bpmp_get()
62 if (bpmp) in tegra_bpmp_put()
70 struct tegra_bpmp *bpmp = channel->bpmp; in tegra_bpmp_channel_get_thread_index() local
184 return bpmp->soc->ops->ring_doorbell(bpmp); in tegra_bpmp_ring_doorbell()
207 struct tegra_bpmp *bpmp = channel->bpmp; in tegra_bpmp_channel_read() local
411 struct tegra_bpmp *bpmp = channel->bpmp; in tegra_bpmp_mrq_return() local
747 err = bpmp->soc->ops->init(bpmp); in tegra_bpmp_probe()
799 tegra_bpmp_free_mrq(bpmp, MRQ_PING, bpmp); in tegra_bpmp_probe()
802 bpmp->soc->ops->deinit(bpmp); in tegra_bpmp_probe()
[all …]
H A Dbpmp-tegra186.c98 struct tegra_bpmp *bpmp = data; in tegra186_bpmp_ivc_notify() local
108 struct tegra_bpmp *bpmp, in tegra186_bpmp_channel_init() argument
136 bpmp); in tegra186_bpmp_channel_init()
144 channel->bpmp = bpmp; in tegra186_bpmp_channel_init()
168 tegra_bpmp_handle_rx(bpmp); in mbox_handle_rx()
177 if (!bpmp->threaded_channels[i].bpmp) in tegra186_bpmp_teardown_channels()
286 err = tegra186_bpmp_channel_init(bpmp->tx_channel, bpmp, in tegra186_bpmp_setup_channels()
291 err = tegra186_bpmp_channel_init(bpmp->rx_channel, bpmp, in tegra186_bpmp_setup_channels()
302 bpmp, index); in tegra186_bpmp_setup_channels()
334 priv->parent = bpmp; in tegra186_bpmp_init()
[all …]
H A Dbpmp-tegra210.c39 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()
157 channel->bpmp = bpmp; in tegra210_bpmp_channel_init()
173 bpmp->priv = priv; in tegra210_bpmp_init()
183 err = tegra210_bpmp_channel_init(bpmp->tx_channel, bpmp, in tegra210_bpmp_init()
188 err = tegra210_bpmp_channel_init(bpmp->rx_channel, bpmp, in tegra210_bpmp_init()
[all …]
H A DMakefile2 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
H A Dbpmp-debugfs.c134 err = tegra_bpmp_transfer(bpmp, &msg); in mrq_debug_open()
168 err = tegra_bpmp_transfer(bpmp, &msg); in mrq_debug_close()
212 err = tegra_bpmp_transfer(bpmp, &msg); in mrq_debug_read()
234 close_err = mrq_debug_close(bpmp, fd); in mrq_debug_read()
295 err = mrq_debug_close(bpmp, fd); in mrq_debug_write()
358 close_err = mrq_debug_close(bpmp, fd); in bpmp_debug_show()
416 if (!bpmp || !parent || !ppath) in bpmp_populate_debugfs_inband()
732 parent, bpmp, in bpmp_populate_dir()
765 err = bpmp_populate_dir(bpmp, &seqbuf, bpmp->debugfs_mirror, 0); in bpmp_populate_debugfs_shmem()
788 if (IS_ERR(bpmp->debugfs_mirror)) { in tegra_bpmp_init_debugfs()
[all …]
H A Dbpmp-private.h12 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);
/linux/drivers/pmdomain/tegra/
H A Dpowergate-bpmp.c21 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/arch/arm64/boot/dts/nvidia/
H A Dtegra186.dtsi56 <&bpmp TEGRA186_CLK_EQOS_AXI>,
57 <&bpmp TEGRA186_CLK_EQOS_RX>,
58 <&bpmp TEGRA186_CLK_EQOS_TX>,
588 nvidia,bpmp = <&bpmp>;
1335 nvidia,bpmp = <&bpmp>;
1367 <&bpmp TEGRA186_CLK_AFI>,
1873 <&bpmp TEGRA186_CLK_GPU>;
1897 label = "cpu-bpmp-tx";
1903 label = "cpu-bpmp-rx";
1908 bpmp: bpmp { label
[all …]
H A Dtegra194.dtsi723 nvidia,bpmp = <&bpmp>;
2389 nvidia,bpmp = <&bpmp 1>;
2441 nvidia,bpmp = <&bpmp 2>;
2493 nvidia,bpmp = <&bpmp 3>;
2545 nvidia,bpmp = <&bpmp 4>;
2590 nvidia,bpmp = <&bpmp 4>;
2636 nvidia,bpmp = <&bpmp 0>;
2681 nvidia,bpmp = <&bpmp 0>;
2726 nvidia,bpmp = <&bpmp 5>;
2850 bpmp: bpmp { label
[all …]
H A Dtegra234.dtsi2756 nvidia,bpmp = <&bpmp>;
4007 nvidia,bpmp = <&bpmp>;
4461 nvidia,bpmp = <&bpmp 8>;
4515 nvidia,bpmp = <&bpmp 9>;
4661 nvidia,bpmp = <&bpmp 1>;
4715 nvidia,bpmp = <&bpmp 2>;
4769 nvidia,bpmp = <&bpmp 3>;
4823 nvidia,bpmp = <&bpmp 4>;
4862 nvidia,bpmp = <&bpmp 4>;
4908 nvidia,bpmp = <&bpmp 0>;
[all …]
/linux/include/soc/tegra/
H A Dbpmp.h53 struct tegra_bpmp *bpmp; member
130 void tegra_bpmp_put(struct tegra_bpmp *bpmp);
131 int tegra_bpmp_transfer_atomic(struct tegra_bpmp *bpmp,
133 int tegra_bpmp_transfer(struct tegra_bpmp *bpmp,
148 static inline void tegra_bpmp_put(struct tegra_bpmp *bpmp) in tegra_bpmp_put() argument
156 static inline int tegra_bpmp_transfer(struct tegra_bpmp *bpmp, in tegra_bpmp_transfer() argument
186 void tegra_bpmp_handle_rx(struct tegra_bpmp *bpmp);
189 int tegra_bpmp_init_clocks(struct tegra_bpmp *bpmp);
198 int tegra_bpmp_init_resets(struct tegra_bpmp *bpmp);
207 int tegra_bpmp_init_powergates(struct tegra_bpmp *bpmp);
[all …]
/linux/drivers/clk/tegra/
H A Dclk-bpmp.c31 struct tegra_bpmp *bpmp; member
449 dev_err(bpmp->dev, in tegra_bpmp_probe_clocks()
518 clk->bpmp = bpmp; in tegra_bpmp_clk_register()
533 dev_WARN(bpmp->dev, in tegra_bpmp_clk_register()
602 if (bpmp->clocks[i]) { in tegra_bpmp_register_clocks_one()
618 dev_err(bpmp->dev, in tegra_bpmp_register_clocks_one()
627 bpmp->clocks[i] = clk; in tegra_bpmp_register_clocks_one()
636 bpmp->num_clocks = count; in tegra_bpmp_register_clocks()
638 bpmp->clocks = devm_kcalloc(bpmp->dev, count, sizeof(struct tegra_bpmp_clk), GFP_KERNEL); in tegra_bpmp_register_clocks()
639 if (!bpmp->clocks) in tegra_bpmp_register_clocks()
[all …]
/linux/Documentation/devicetree/bindings/display/tegra/
H A Dnvidia,tegra186-display.yaml128 resets = <&bpmp TEGRA186_RESET_NVDISPLAY0_MISC>,
129 <&bpmp TEGRA186_RESET_NVDISPLAY0_WGRP0>,
130 <&bpmp TEGRA186_RESET_NVDISPLAY0_WGRP1>,
137 clocks = <&bpmp TEGRA186_CLK_NVDISPLAY_DISP>,
138 <&bpmp TEGRA186_CLK_NVDISPLAY_DSC>,
139 <&bpmp TEGRA186_CLK_NVDISPLAYHUB>;
153 clocks = <&bpmp TEGRA186_CLK_NVDISPLAY_P0>;
172 clocks = <&bpmp TEGRA186_CLK_NVDISPLAY_P1>;
191 clocks = <&bpmp TEGRA186_CLK_NVDISPLAY_P2>;
226 clocks = <&bpmp TEGRA194_CLK_NVDISPLAY_DISP>,
[all …]
/linux/drivers/reset/tegra/
H A Dreset-bpmp.c20 struct tegra_bpmp *bpmp = to_tegra_bpmp(rstc); in tegra_bpmp_reset_common() local
34 err = tegra_bpmp_transfer(bpmp, &msg); in tegra_bpmp_reset_common()
67 int tegra_bpmp_init_resets(struct tegra_bpmp *bpmp) in tegra_bpmp_init_resets() argument
69 bpmp->rstc.ops = &tegra_bpmp_reset_ops; in tegra_bpmp_init_resets()
70 bpmp->rstc.owner = THIS_MODULE; in tegra_bpmp_init_resets()
71 bpmp->rstc.of_node = bpmp->dev->of_node; in tegra_bpmp_init_resets()
72 bpmp->rstc.nr_resets = bpmp->soc->num_resets; in tegra_bpmp_init_resets()
74 return devm_reset_controller_register(bpmp->dev, &bpmp->rstc); in tegra_bpmp_init_resets()
/linux/Documentation/devicetree/bindings/net/
H A Dnvidia,tegra234-mgbe.yaml124 clocks = <&bpmp TEGRA234_CLK_MGBE0_APP>,
125 <&bpmp TEGRA234_CLK_MGBE0_MAC>,
127 <&bpmp TEGRA234_CLK_MGBE0_PTP_REF>,
129 <&bpmp TEGRA234_CLK_MGBE0_RX_INPUT>,
130 <&bpmp TEGRA234_CLK_MGBE0_TX>,
131 <&bpmp TEGRA234_CLK_MGBE0_EEE_PCS>,
133 <&bpmp TEGRA234_CLK_MGBE0_RX_PCS_M>,
134 <&bpmp TEGRA234_CLK_MGBE0_RX_PCS>,
135 <&bpmp TEGRA234_CLK_MGBE0_TX_PCS>;
139 resets = <&bpmp TEGRA234_RESET_MGBE0_MAC>,
[all …]
/linux/drivers/thermal/tegra/
H A Dtegra-bpmp-thermal.c28 struct tegra_bpmp *bpmp; member
52 err = tegra_bpmp_transfer(zone->tegra->bpmp, &msg); in __tegra_bpmp_thermal_get_temp()
91 err = tegra_bpmp_transfer(zone->tegra->bpmp, &msg); in tegra_bpmp_thermal_set_trips()
159 err = tegra_bpmp_transfer(bpmp, &msg); in tegra_bpmp_thermal_get_num_zones()
188 err = tegra_bpmp_transfer(bpmp, &msg); in tegra_bpmp_thermal_trips_supported()
214 struct tegra_bpmp *bpmp = dev_get_drvdata(pdev->dev.parent); in tegra_bpmp_thermal_probe() local
222 err = tegra_bpmp_thermal_trips_supported(bpmp, &supported); in tegra_bpmp_thermal_probe()
238 tegra->bpmp = bpmp; in tegra_bpmp_thermal_probe()
240 err = tegra_bpmp_thermal_get_num_zones(bpmp, &max_num_zones); in tegra_bpmp_thermal_probe()
290 err = tegra_bpmp_request_mrq(bpmp, MRQ_THERMAL, bpmp_mrq_thermal, in tegra_bpmp_thermal_probe()
[all …]
/linux/Documentation/devicetree/bindings/usb/
H A Dnvidia,tegra234-xusb.yaml133 clocks = <&bpmp TEGRA234_CLK_XUSB_CORE_HOST>,
134 <&bpmp TEGRA234_CLK_XUSB_FALCON>,
135 <&bpmp TEGRA234_CLK_XUSB_CORE_SS>,
136 <&bpmp TEGRA234_CLK_XUSB_SS>,
137 <&bpmp TEGRA234_CLK_CLK_M>,
138 <&bpmp TEGRA234_CLK_XUSB_FS>,
139 <&bpmp TEGRA234_CLK_UTMIP_PLL>,
140 <&bpmp TEGRA234_CLK_CLK_M>,
141 <&bpmp TEGRA234_CLK_PLLE>;
151 power-domains = <&bpmp TEGRA234_POWER_DOMAIN_XUSBC>,
[all …]
H A Dnvidia,tegra186-xusb.yaml145 clocks = <&bpmp TEGRA186_CLK_XUSB_HOST>,
146 <&bpmp TEGRA186_CLK_XUSB_FALCON>,
147 <&bpmp TEGRA186_CLK_XUSB_SS>,
148 <&bpmp TEGRA186_CLK_XUSB_CORE_SS>,
149 <&bpmp TEGRA186_CLK_CLK_M>,
150 <&bpmp TEGRA186_CLK_XUSB_FS>,
151 <&bpmp TEGRA186_CLK_PLLU>,
152 <&bpmp TEGRA186_CLK_CLK_M>,
153 <&bpmp TEGRA186_CLK_PLLE>;
157 power-domains = <&bpmp TEGRA186_POWER_DOMAIN_XUSBC>,
[all …]
H A Dnvidia,tegra194-xusb.yaml148 clocks = <&bpmp TEGRA194_CLK_XUSB_CORE_HOST>,
149 <&bpmp TEGRA194_CLK_XUSB_FALCON>,
150 <&bpmp TEGRA194_CLK_XUSB_CORE_SS>,
151 <&bpmp TEGRA194_CLK_XUSB_SS>,
152 <&bpmp TEGRA194_CLK_CLK_M>,
153 <&bpmp TEGRA194_CLK_XUSB_FS>,
154 <&bpmp TEGRA194_CLK_UTMIPLL>,
155 <&bpmp TEGRA194_CLK_CLK_M>,
156 <&bpmp TEGRA194_CLK_PLLE>;
166 power-domains = <&bpmp TEGRA194_POWER_DOMAIN_XUSBC>,
[all …]
/linux/drivers/memory/tegra/
H A Dtegra186-emc.c22 struct tegra_bpmp *bpmp; member
167 err = tegra_bpmp_transfer(emc->bpmp, &msg); in tegra186_emc_get_emc_dvfs_latency()
323 emc->bpmp = tegra_bpmp_get(&pdev->dev); in tegra186_emc_probe()
324 if (IS_ERR(emc->bpmp)) in tegra186_emc_probe()
337 if (tegra_bpmp_mrq_is_supported(emc->bpmp, MRQ_EMC_DVFS_LATENCY)) { in tegra186_emc_probe()
344 if (tegra_bpmp_mrq_is_supported(emc->bpmp, MRQ_BWMGR_INT)) { in tegra186_emc_probe()
352 mc->bpmp = emc->bpmp; in tegra186_emc_probe()
364 mc->bpmp = NULL; in tegra186_emc_probe()
372 tegra_bpmp_put(emc->bpmp); in tegra186_emc_probe()
383 mc->bpmp = NULL; in tegra186_emc_remove()
[all …]
/linux/Documentation/devicetree/bindings/firmware/
H A Dnvidia,tegra186-bpmp.yaml71 - nvidia,tegra194-bpmp
72 - nvidia,tegra234-bpmp
73 - const: nvidia,tegra186-bpmp
74 - const: nvidia,tegra186-bpmp
162 label = "cpu-bpmp-tx";
168 label = "cpu-bpmp-rx";
173 bpmp {
174 compatible = "nvidia,tegra186-bpmp";
189 nvidia,bpmp-bus-id = <5>;
203 bpmp {
[all …]
/linux/drivers/cpufreq/
H A Dtegra186-cpufreq.c130 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
232 bpmp = tegra_bpmp_get(&pdev->dev); in tegra186_cpufreq_probe()
233 if (IS_ERR(bpmp)) in tegra186_cpufreq_probe()
234 return PTR_ERR(bpmp); in tegra186_cpufreq_probe()
245 cluster->table = init_vhint_table(pdev, bpmp, cluster, i); in tegra186_cpufreq_probe()
257 tegra_bpmp_put(bpmp); in tegra186_cpufreq_probe()
/linux/Documentation/devicetree/bindings/gpu/
H A Dnvidia,gk20a.txt87 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/
H A Dnvidia,tegra186-bpmp-i2c.yaml4 $id: http://devicetree.org/schemas/i2c/nvidia,tegra186-bpmp-i2c.yaml#
21 See ../firmware/nvidia,tegra186-bpmp.yaml for details of the BPMP
28 const: nvidia,tegra186-bpmp-i2c
30 nvidia,bpmp-bus-id:
44 - nvidia,bpmp-bus-id
/linux/Documentation/devicetree/bindings/pci/
H A Dnvidia,tegra194-pcie-ep.yaml116 nvidia,bpmp:
204 - nvidia,bpmp
229 clocks = <&bpmp TEGRA194_CLK_PEX1_CORE_5>;
232 resets = <&bpmp TEGRA194_RESET_PEX1_CORE_5_APB>,
233 <&bpmp TEGRA194_RESET_PEX1_CORE_5>;
236 power-domains = <&bpmp TEGRA194_POWER_DOMAIN_PCIEX8A>;
240 nvidia,bpmp = <&bpmp 5>;
288 clocks = <&bpmp TEGRA234_CLK_PEX1_C5_CORE>;
291 resets = <&bpmp TEGRA234_RESET_PEX1_CORE_5_APB>,
292 <&bpmp TEGRA234_RESET_PEX1_CORE_5>;
[all …]

123