Home
last modified time | relevance | path

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

/linux/drivers/firmware/tegra/
H A Dbpmp-tegra186.c82 static int tegra186_bpmp_ring_doorbell(struct tegra_bpmp *bpmp) in tegra186_bpmp_ring_doorbell() argument
84 struct tegra186_bpmp *priv = bpmp->priv; in tegra186_bpmp_ring_doorbell()
98 struct tegra_bpmp *bpmp = data; in tegra186_bpmp_ivc_notify() local
99 struct tegra186_bpmp *priv = bpmp->priv; in tegra186_bpmp_ivc_notify()
104 tegra186_bpmp_ring_doorbell(bpmp); in tegra186_bpmp_ivc_notify()
108 struct tegra_bpmp *bpmp, in tegra186_bpmp_channel_init() argument
111 struct tegra186_bpmp *priv = bpmp->priv; in tegra186_bpmp_channel_init()
117 channel->ivc = devm_kzalloc(bpmp->dev, sizeof(*channel->ivc), in tegra186_bpmp_channel_init()
136 bpmp); in tegra186_bpmp_channel_init()
138 dev_err(bpmp->dev, "failed to setup IVC for channel %u: %d\n", in tegra186_bpmp_channel_init()
[all …]
H A Dbpmp-tegra210.c37 static u32 bpmp_channel_status(struct tegra_bpmp *bpmp, unsigned int index) in bpmp_channel_status() argument
39 struct tegra210_bpmp *priv = bpmp->priv; in bpmp_channel_status()
48 return bpmp_channel_status(channel->bpmp, index) == MA_ACKD(index); in tegra210_bpmp_is_response_ready()
55 return bpmp_channel_status(channel->bpmp, index) == SL_SIGL(index); in tegra210_bpmp_is_request_ready()
63 return bpmp_channel_status(channel->bpmp, index) == MA_FREE(index); in tegra210_bpmp_is_request_channel_free()
71 return bpmp_channel_status(channel->bpmp, index) == SL_QUED(index); in tegra210_bpmp_is_response_channel_free()
76 struct tegra210_bpmp *priv = channel->bpmp->priv; in tegra210_bpmp_post_request()
85 struct tegra210_bpmp *priv = channel->bpmp->priv; in tegra210_bpmp_post_response()
94 struct tegra210_bpmp *priv = channel->bpmp->priv; in tegra210_bpmp_ack_response()
104 struct tegra210_bpmp *priv = channel->bpmp->priv; in tegra210_bpmp_ack_request()
[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_ARCH_TEGRA_264_SOC) += bpmp-tegra186.o
8 tegra-bpmp-$(CONFIG_DEBUG_FS) += bpmp-debugfs.o
9 obj-$(CONFIG_TEGRA_BPMP) += tegra-bpmp.o
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/clk/tegra/
H A Dclk-bpmp.c31 struct tegra_bpmp *bpmp; member
59 static int tegra_bpmp_clk_transfer(struct tegra_bpmp *bpmp, in tegra_bpmp_clk_transfer() argument
86 err = tegra_bpmp_transfer(bpmp, &msg); in tegra_bpmp_clk_transfer()
104 return tegra_bpmp_clk_transfer(clk->bpmp, &msg); in tegra_bpmp_clk_prepare()
117 err = tegra_bpmp_clk_transfer(clk->bpmp, &msg); in tegra_bpmp_clk_unprepare()
119 dev_err(clk->bpmp->dev, "failed to disable clock %s: %d\n", in tegra_bpmp_clk_unprepare()
136 err = tegra_bpmp_clk_transfer(clk->bpmp, &msg); in tegra_bpmp_clk_is_prepared()
160 err = tegra_bpmp_clk_transfer(clk->bpmp, &msg); in tegra_bpmp_clk_recalc_rate()
190 err = tegra_bpmp_clk_transfer(clk->bpmp, &msg); in tegra_bpmp_clk_determine_rate()
218 err = tegra_bpmp_clk_transfer(clk->bpmp, &msg); in tegra_bpmp_clk_set_parent()
[all …]
H A DMakefile31 obj-$(CONFIG_CLK_TEGRA_BPMP) += clk-bpmp.o
/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()
H A DMakefile2 obj-$(CONFIG_RESET_TEGRA_BPMP) += reset-bpmp.o
/linux/arch/arm64/boot/dts/nvidia/
H A Dtegra234.dtsi11 #include <dt-bindings/thermal/tegra234-bpmp-thermal.h>
185 resets = <&bpmp TEGRA234_RESET_GPCDMA>;
228 clocks = <&bpmp TEGRA234_CLK_APE>,
229 <&bpmp TEGRA234_CLK_APB2APE>;
231 power-domains = <&bpmp TEGRA234_POWER_DOMAIN_AUD>;
241 clocks = <&bpmp TEGRA234_CLK_AHUB>;
243 assigned-clocks = <&bpmp TEGRA234_CLK_AHUB>;
244 assigned-clock-parents = <&bpmp TEGRA234_CLK_PLLP_OUT0>;
256 clocks = <&bpmp TEGRA234_CLK_I2S1>,
257 <&bpmp TEGRA234_CLK_I2S1_SYNC_INPUT>;
[all …]
H A Dtegra264.dtsi7 #include <dt-bindings/power/nvidia,tegra264-bpmp.h>
22 compatible = "nvidia,tegra264-bpmp-shmem";
126 clocks = <&bpmp TEGRA264_CLK_APE>,
127 <&bpmp TEGRA264_CLK_ADSP>;
129 power-domains = <&bpmp TEGRA264_POWER_DOMAIN_AUD>;
205 clocks = <&bpmp TEGRA264_CLK_AHUB>;
213 clocks = <&bpmp TEGRA264_CLK_AHUB>;
215 assigned-clocks = <&bpmp TEGRA264_CLK_AHUB>;
216 assigned-clock-parents = <&bpmp TEGRA264_CLK_PLLAON_APE>;
228 clocks = <&bpmp TEGRA264_CLK_I2S1>,
[all …]
H A Dtegra194-p3668.dtsi9 i2c0 = "/bpmp/i2c";
17 rtc0 = "/bpmp/i2c/pmic@3c";
135 bpmp {
H A Dtegra234-p3768-0000+p3767.dtsi55 assigned-clocks = <&bpmp TEGRA234_CLK_PWM3>;
56 assigned-clock-parents = <&bpmp TEGRA234_CLK_PLLP_OUT0>;
H A Dtegra186-p3310.dtsi12 i2c0 = "/bpmp/i2c";
200 bpmp {
H A Dtegra194-p2888.dtsi12 i2c0 = "/bpmp/i2c";
183 bpmp {
H A Dtegra186-p3509-0000+p3636-0001.dts16 i2c0 = "/bpmp/i2c";
843 bpmp {
/linux/drivers/memory/tegra/
H A Dtegra186-emc.c27 struct tegra_bpmp *bpmp; member
173 err = tegra_bpmp_transfer(emc->bpmp, &msg); in tegra186_emc_get_emc_dvfs_latency()
344 emc->bpmp = tegra_bpmp_get(&pdev->dev); in tegra186_emc_probe()
345 if (IS_ERR(emc->bpmp)) in tegra186_emc_probe()
346 return dev_err_probe(&pdev->dev, PTR_ERR(emc->bpmp), in tegra186_emc_probe()
366 if (tegra_bpmp_mrq_is_supported(emc->bpmp, MRQ_EMC_DVFS_LATENCY)) { in tegra186_emc_probe()
373 if (tegra_bpmp_mrq_is_supported(emc->bpmp, MRQ_BWMGR_INT)) { in tegra186_emc_probe()
381 mc->bpmp = emc->bpmp; in tegra186_emc_probe()
393 mc->bpmp = NULL; in tegra186_emc_probe()
401 tegra_bpmp_put(emc->bpmp); in tegra186_emc_probe()
[all …]
/linux/drivers/cpufreq/
H A Dtegra186-cpufreq.c260 struct platform_device *pdev, struct tegra_bpmp *bpmp, in tegra_cpufreq_bpmp_read_lut() argument
272 virt = dma_alloc_coherent(bpmp->dev, sizeof(*data), &phys, in tegra_cpufreq_bpmp_read_lut()
288 err = tegra_bpmp_transfer(bpmp, &msg); in tegra_cpufreq_bpmp_read_lut()
345 dma_free_coherent(bpmp->dev, sizeof(*data), virt, phys); in tegra_cpufreq_bpmp_read_lut()
353 struct tegra_bpmp *bpmp; in tegra186_cpufreq_probe() local
367 bpmp = tegra_bpmp_get(&pdev->dev); in tegra186_cpufreq_probe()
368 if (IS_ERR(bpmp)) in tegra186_cpufreq_probe()
369 return PTR_ERR(bpmp); in tegra186_cpufreq_probe()
380 cluster->bpmp_lut = tegra_cpufreq_bpmp_read_lut(pdev, bpmp, cluster, i, &num_rates); in tegra186_cpufreq_probe()
416 tegra_bpmp_put(bpmp); in tegra186_cpufreq_probe()
/linux/Documentation/devicetree/bindings/firmware/
H A Dnvidia,tegra210-bpmp.txt15 - "nvidia,tegra210-bpmp"
24 offloaded to bpmp.
28 bpmp@70016000 {
29 compatible = "nvidia,tegra210-bpmp";
/linux/drivers/pmdomain/tegra/
H A DMakefile2 obj-$(CONFIG_SOC_TEGRA_POWERGATE_BPMP) += powergate-bpmp.o
/linux/Documentation/devicetree/bindings/pci/
H A Dnvidia,tegra20-pcie.txt568 power-domains = <&bpmp TEGRA186_POWER_DOMAIN_PCX>;
594 clocks = <&bpmp TEGRA186_CLK_AFI>,
595 <&bpmp TEGRA186_CLK_PCIE>,
596 <&bpmp TEGRA186_CLK_PLLE>;
599 resets = <&bpmp TEGRA186_RESET_AFI>,
600 <&bpmp TEGRA186_RESET_PCIE>,
601 <&bpmp TEGRA186_RESET_PCIEXCLK>;