/Linux-v4.19/drivers/firmware/tegra/ |
D | bpmp.c | 40 struct tegra_bpmp *bpmp; in tegra_bpmp_get() local 49 bpmp = ERR_PTR(-ENODEV); in tegra_bpmp_get() 53 bpmp = platform_get_drvdata(pdev); in tegra_bpmp_get() 54 if (!bpmp) { in tegra_bpmp_get() 55 bpmp = ERR_PTR(-EPROBE_DEFER); in tegra_bpmp_get() 62 return bpmp; in tegra_bpmp_get() 66 void tegra_bpmp_put(struct tegra_bpmp *bpmp) in tegra_bpmp_put() argument 68 if (bpmp) in tegra_bpmp_put() 69 put_device(bpmp->dev); in tegra_bpmp_put() 76 struct tegra_bpmp *bpmp = channel->bpmp; in tegra_bpmp_channel_get_thread_index() local [all …]
|
D | bpmp-debugfs.c | 80 static const char *get_filename(struct tegra_bpmp *bpmp, in get_filename() argument 88 root_path = dentry_path(bpmp->debugfs_mirror, root_path_buf, in get_filename() 108 static int mrq_debugfs_read(struct tegra_bpmp *bpmp, in mrq_debugfs_read() argument 136 err = tegra_bpmp_transfer(bpmp, &msg); in mrq_debugfs_read() 145 static int mrq_debugfs_write(struct tegra_bpmp *bpmp, in mrq_debugfs_write() argument 166 return tegra_bpmp_transfer(bpmp, &msg); in mrq_debugfs_write() 169 static int mrq_debugfs_dumpdir(struct tegra_bpmp *bpmp, dma_addr_t addr, in mrq_debugfs_dumpdir() argument 193 err = tegra_bpmp_transfer(bpmp, &msg); in mrq_debugfs_dumpdir() 206 struct tegra_bpmp *bpmp = inode->i_private; in debugfs_show() local 216 filename = get_filename(bpmp, file, buf, sizeof(buf)); in debugfs_show() [all …]
|
D | Makefile | 1 tegra-bpmp-y = bpmp.o 2 tegra-bpmp-$(CONFIG_DEBUG_FS) += bpmp-debugfs.o 3 obj-$(CONFIG_TEGRA_BPMP) += tegra-bpmp.o
|
/Linux-v4.19/drivers/soc/tegra/ |
D | powergate-bpmp.c | 30 struct tegra_bpmp *bpmp; member 40 static int tegra_bpmp_powergate_set_state(struct tegra_bpmp *bpmp, in tegra_bpmp_powergate_set_state() argument 57 err = tegra_bpmp_transfer(bpmp, &msg); in tegra_bpmp_powergate_set_state() 66 static int tegra_bpmp_powergate_get_state(struct tegra_bpmp *bpmp, in tegra_bpmp_powergate_get_state() argument 87 err = tegra_bpmp_transfer(bpmp, &msg); in tegra_bpmp_powergate_get_state() 96 static int tegra_bpmp_powergate_get_max_id(struct tegra_bpmp *bpmp) in tegra_bpmp_powergate_get_max_id() argument 115 err = tegra_bpmp_transfer(bpmp, &msg); in tegra_bpmp_powergate_get_max_id() 124 static char *tegra_bpmp_powergate_get_name(struct tegra_bpmp *bpmp, in tegra_bpmp_powergate_get_name() argument 145 err = tegra_bpmp_transfer(bpmp, &msg); in tegra_bpmp_powergate_get_name() 152 static inline bool tegra_bpmp_powergate_is_powered(struct tegra_bpmp *bpmp, in tegra_bpmp_powergate_is_powered() argument [all …]
|
D | Makefile | 7 obj-$(CONFIG_SOC_TEGRA_POWERGATE_BPMP) += powergate-bpmp.o
|
/Linux-v4.19/arch/arm64/boot/dts/nvidia/ |
D | tegra186.dtsi | 9 #include <dt-bindings/thermal/tegra186-bpmp-thermal.h> 54 clocks = <&bpmp TEGRA186_CLK_AXI_CBB>, 55 <&bpmp TEGRA186_CLK_EQOS_AXI>, 56 <&bpmp TEGRA186_CLK_EQOS_RX>, 57 <&bpmp TEGRA186_CLK_EQOS_TX>, 58 <&bpmp TEGRA186_CLK_EQOS_PTP_REF>; 60 resets = <&bpmp TEGRA186_RESET_EQOS>; 82 clocks = <&bpmp TEGRA186_CLK_UARTA>; 84 resets = <&bpmp TEGRA186_RESET_UARTA>; 94 clocks = <&bpmp TEGRA186_CLK_UARTB>; [all …]
|
D | tegra194.dtsi | 43 clocks = <&bpmp TEGRA194_CLK_AXI_CBB>, 44 <&bpmp TEGRA194_CLK_EQOS_AXI>, 45 <&bpmp TEGRA194_CLK_EQOS_RX>, 46 <&bpmp TEGRA194_CLK_EQOS_TX>, 47 <&bpmp TEGRA194_CLK_EQOS_PTP_REF>; 49 resets = <&bpmp TEGRA194_RESET_EQOS>; 65 clocks = <&bpmp TEGRA194_CLK_UARTA>; 67 resets = <&bpmp TEGRA194_RESET_UARTA>; 77 clocks = <&bpmp TEGRA194_CLK_UARTB>; 79 resets = <&bpmp TEGRA194_RESET_UARTB>; [all …]
|
D | tegra194-p2888.dtsi | 14 i2c0 = "/bpmp/i2c"; 74 bpmp {
|
D | tegra186-p3310.dtsi | 14 i2c0 = "/bpmp/i2c"; 157 bpmp {
|
/Linux-v4.19/include/soc/tegra/ |
D | bpmp.h | 45 struct tegra_bpmp *bpmp; member 120 void tegra_bpmp_put(struct tegra_bpmp *bpmp); 121 int tegra_bpmp_transfer_atomic(struct tegra_bpmp *bpmp, 123 int tegra_bpmp_transfer(struct tegra_bpmp *bpmp, 128 int tegra_bpmp_request_mrq(struct tegra_bpmp *bpmp, unsigned int mrq, 130 void tegra_bpmp_free_mrq(struct tegra_bpmp *bpmp, unsigned int mrq, 137 static inline void tegra_bpmp_put(struct tegra_bpmp *bpmp) in tegra_bpmp_put() argument 140 static inline int tegra_bpmp_transfer_atomic(struct tegra_bpmp *bpmp, in tegra_bpmp_transfer_atomic() argument 145 static inline int tegra_bpmp_transfer(struct tegra_bpmp *bpmp, in tegra_bpmp_transfer() argument 156 static inline int tegra_bpmp_request_mrq(struct tegra_bpmp *bpmp, in tegra_bpmp_request_mrq() argument [all …]
|
/Linux-v4.19/drivers/clk/tegra/ |
D | clk-bpmp.c | 34 struct tegra_bpmp *bpmp; member 62 static int tegra_bpmp_clk_transfer(struct tegra_bpmp *bpmp, in tegra_bpmp_clk_transfer() argument 89 err = tegra_bpmp_transfer(bpmp, &msg); in tegra_bpmp_clk_transfer() 107 return tegra_bpmp_clk_transfer(clk->bpmp, &msg); in tegra_bpmp_clk_prepare() 120 err = tegra_bpmp_clk_transfer(clk->bpmp, &msg); in tegra_bpmp_clk_unprepare() 122 dev_err(clk->bpmp->dev, "failed to disable clock %s: %d\n", in tegra_bpmp_clk_unprepare() 139 err = tegra_bpmp_clk_transfer(clk->bpmp, &msg); in tegra_bpmp_clk_is_prepared() 163 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_round_rate() 216 err = tegra_bpmp_clk_transfer(clk->bpmp, &msg); in tegra_bpmp_clk_set_parent() [all …]
|
D | Makefile | 27 obj-$(CONFIG_CLK_TEGRA_BPMP) += clk-bpmp.o
|
/Linux-v4.19/drivers/reset/tegra/ |
D | reset-bpmp.c | 23 struct tegra_bpmp *bpmp = to_tegra_bpmp(rstc); in tegra_bpmp_reset_common() local 36 return tegra_bpmp_transfer(bpmp, &msg); in tegra_bpmp_reset_common() 63 int tegra_bpmp_init_resets(struct tegra_bpmp *bpmp) in tegra_bpmp_init_resets() argument 65 bpmp->rstc.ops = &tegra_bpmp_reset_ops; in tegra_bpmp_init_resets() 66 bpmp->rstc.owner = THIS_MODULE; in tegra_bpmp_init_resets() 67 bpmp->rstc.of_node = bpmp->dev->of_node; in tegra_bpmp_init_resets() 68 bpmp->rstc.nr_resets = bpmp->soc->num_resets; in tegra_bpmp_init_resets() 70 return devm_reset_controller_register(bpmp->dev, &bpmp->rstc); in tegra_bpmp_init_resets()
|
D | Makefile | 1 obj-$(CONFIG_RESET_TEGRA_BPMP) += reset-bpmp.o
|
/Linux-v4.19/drivers/thermal/tegra/ |
D | tegra-bpmp-thermal.c | 37 struct tegra_bpmp *bpmp; member 61 err = tegra_bpmp_transfer(zone->tegra->bpmp, &msg); in tegra_bpmp_thermal_get_temp() 88 return tegra_bpmp_transfer(zone->tegra->bpmp, &msg); in tegra_bpmp_thermal_set_trips() 131 static int tegra_bpmp_thermal_get_num_zones(struct tegra_bpmp *bpmp, in tegra_bpmp_thermal_get_num_zones() argument 149 err = tegra_bpmp_transfer(bpmp, &msg); in tegra_bpmp_thermal_get_num_zones() 165 struct tegra_bpmp *bpmp = dev_get_drvdata(pdev->dev.parent); in tegra_bpmp_thermal_probe() local 176 tegra->bpmp = bpmp; in tegra_bpmp_thermal_probe() 178 err = tegra_bpmp_thermal_get_num_zones(bpmp, &max_num_zones); in tegra_bpmp_thermal_probe() 223 err = tegra_bpmp_request_mrq(bpmp, MRQ_THERMAL, bpmp_mrq_thermal, in tegra_bpmp_thermal_probe() 240 tegra_bpmp_free_mrq(tegra->bpmp, MRQ_THERMAL, tegra); in tegra_bpmp_thermal_remove()
|
D | Makefile | 3 obj-$(CONFIG_TEGRA_BPMP_THERMAL) += tegra-bpmp-thermal.o
|
/Linux-v4.19/drivers/cpufreq/ |
D | tegra186-cpufreq.c | 112 struct platform_device *pdev, struct tegra_bpmp *bpmp, in init_vhint_table() argument 123 virt = dma_alloc_coherent(bpmp->dev, sizeof(*data), &phys, in init_vhint_table() 139 err = tegra_bpmp_transfer(bpmp, &msg); in init_vhint_table() 189 dma_free_coherent(bpmp->dev, sizeof(*data), virt, phys); in init_vhint_table() 197 struct tegra_bpmp *bpmp; in tegra186_cpufreq_probe() local 212 bpmp = tegra_bpmp_get(&pdev->dev); in tegra186_cpufreq_probe() 213 if (IS_ERR(bpmp)) in tegra186_cpufreq_probe() 214 return PTR_ERR(bpmp); in tegra186_cpufreq_probe() 228 pdev, bpmp, cluster->info->bpmp_cluster_id); in tegra186_cpufreq_probe() 235 tegra_bpmp_put(bpmp); in tegra186_cpufreq_probe() [all …]
|
/Linux-v4.19/Documentation/devicetree/bindings/i2c/ |
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-v4.19/Documentation/devicetree/bindings/thermal/ |
D | nvidia,tegra186-bpmp-thermal.txt | 9 ../firmware/nvidia,tegra186-bpmp.txt for details of the BPMP binding. 18 - "nvidia,tegra186-bpmp-thermal". 25 bpmp { 29 compatible = "nvidia,tegra186-bpmp-thermal";
|
/Linux-v4.19/Documentation/devicetree/bindings/firmware/ |
D | nvidia,tegra186-bpmp.txt | 11 - name : Should be bpmp 15 - "nvidia,tegra186-bpmp" 82 compatible = "nvidia,tegra186-bpmp-shmem"; 84 label = "cpu-bpmp-tx"; 89 compatible = "nvidia,tegra186-bpmp-shmem"; 91 label = "cpu-bpmp-rx"; 96 bpmp { 97 compatible = "nvidia,tegra186-bpmp";
|
/Linux-v4.19/Documentation/devicetree/bindings/gpu/ |
D | nvidia,gk20a.txt | 83 clocks = <&bpmp TEGRA186_CLK_GPCCLK>, 84 <&bpmp TEGRA186_CLK_GPU>; 86 resets = <&bpmp TEGRA186_RESET_GPU>; 88 power-domains = <&bpmp TEGRA186_POWER_DOMAIN_GPU>;
|
/Linux-v4.19/drivers/i2c/busses/ |
D | i2c-tegra-bpmp.c | 43 struct tegra_bpmp *bpmp; member 226 err = tegra_bpmp_transfer_atomic(i2c->bpmp, &msg); in tegra_bpmp_i2c_msg_xfer() 228 err = tegra_bpmp_transfer(i2c->bpmp, &msg); in tegra_bpmp_i2c_msg_xfer() 294 i2c->bpmp = dev_get_drvdata(pdev->dev.parent); in tegra_bpmp_i2c_probe() 295 if (!i2c->bpmp) in tegra_bpmp_i2c_probe()
|
D | Makefile | 105 obj-$(CONFIG_I2C_TEGRA_BPMP) += i2c-tegra-bpmp.o
|
/Linux-v4.19/Documentation/devicetree/bindings/pci/ |
D | nvidia,tegra20-pcie.txt | 572 power-domains = <&bpmp TEGRA186_POWER_DOMAIN_PCX>; 598 clocks = <&bpmp TEGRA186_CLK_AFI>, 599 <&bpmp TEGRA186_CLK_PCIE>, 600 <&bpmp TEGRA186_CLK_PLLE>; 603 resets = <&bpmp TEGRA186_RESET_AFI>, 604 <&bpmp TEGRA186_RESET_PCIE>, 605 <&bpmp TEGRA186_RESET_PCIEXCLK>;
|