Home
last modified time | relevance | path

Searched full:bpmp (Results 1 – 25 of 139) sorted by relevance

123456

/kernel/linux/linux-5.10/drivers/firmware/tegra/
Dbpmp.c18 #include <soc/tegra/bpmp.h>
19 #include <soc/tegra/bpmp-abi.h>
22 #include "bpmp-private.h"
37 struct tegra_bpmp *bpmp = channel->bpmp; in channel_to_ops() local
39 return bpmp->soc->ops; in channel_to_ops()
45 struct tegra_bpmp *bpmp; in tegra_bpmp_get() local
48 np = of_parse_phandle(dev->of_node, "nvidia,bpmp", 0); in tegra_bpmp_get()
54 bpmp = ERR_PTR(-ENODEV); in tegra_bpmp_get()
58 bpmp = platform_get_drvdata(pdev); in tegra_bpmp_get()
59 if (!bpmp) { in tegra_bpmp_get()
[all …]
Dbpmp-tegra186.c10 #include <soc/tegra/bpmp.h>
11 #include <soc/tegra/bpmp-abi.h>
14 #include "bpmp-private.h"
81 static int tegra186_bpmp_ring_doorbell(struct tegra_bpmp *bpmp) in tegra186_bpmp_ring_doorbell() argument
83 struct tegra186_bpmp *priv = bpmp->priv; in tegra186_bpmp_ring_doorbell()
97 struct tegra_bpmp *bpmp = data; in tegra186_bpmp_ivc_notify() local
98 struct tegra186_bpmp *priv = bpmp->priv; in tegra186_bpmp_ivc_notify()
103 tegra186_bpmp_ring_doorbell(bpmp); in tegra186_bpmp_ivc_notify()
107 struct tegra_bpmp *bpmp, in tegra186_bpmp_channel_init() argument
110 struct tegra186_bpmp *priv = bpmp->priv; in tegra186_bpmp_channel_init()
[all …]
Dbpmp-tegra210.c12 #include <soc/tegra/bpmp.h>
14 #include "bpmp-private.h"
37 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()
[all …]
Dbpmp-debugfs.c10 #include <soc/tegra/bpmp.h>
11 #include <soc/tegra/bpmp-abi.h>
73 /* map filename in Linux debugfs to corresponding entry in BPMP */
74 static const char *get_filename(struct tegra_bpmp *bpmp, in get_filename() argument
82 root_path = dentry_path(bpmp->debugfs_mirror, root_path_buf, in get_filename()
102 static int mrq_debug_open(struct tegra_bpmp *bpmp, const char *name, in mrq_debug_open() argument
129 err = tegra_bpmp_transfer(bpmp, &msg); in mrq_debug_open()
141 static int mrq_debug_close(struct tegra_bpmp *bpmp, uint32_t fd) in mrq_debug_close() argument
163 err = tegra_bpmp_transfer(bpmp, &msg); in mrq_debug_close()
172 static int mrq_debug_read(struct tegra_bpmp *bpmp, const char *name, in mrq_debug_read() argument
[all …]
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
/kernel/linux/linux-6.6/drivers/firmware/tegra/
Dbpmp.c17 #include <soc/tegra/bpmp.h>
18 #include <soc/tegra/bpmp-abi.h>
21 #include "bpmp-private.h"
30 struct tegra_bpmp *bpmp = channel->bpmp; in channel_to_ops() local
32 return bpmp->soc->ops; in channel_to_ops()
38 struct tegra_bpmp *bpmp; in tegra_bpmp_get() local
41 np = of_parse_phandle(dev->of_node, "nvidia,bpmp", 0); in tegra_bpmp_get()
47 bpmp = ERR_PTR(-ENODEV); in tegra_bpmp_get()
51 bpmp = platform_get_drvdata(pdev); in tegra_bpmp_get()
52 if (!bpmp) { in tegra_bpmp_get()
[all …]
Dbpmp-tegra186.c12 #include <soc/tegra/bpmp.h>
13 #include <soc/tegra/bpmp-abi.h>
16 #include "bpmp-private.h"
82 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()
[all …]
Dbpmp-tegra210.c12 #include <soc/tegra/bpmp.h>
14 #include "bpmp-private.h"
37 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()
[all …]
Dbpmp-debugfs.c10 #include <soc/tegra/bpmp.h>
11 #include <soc/tegra/bpmp-abi.h>
69 /* map filename in Linux debugfs to corresponding entry in BPMP */
70 static const char *get_filename(struct tegra_bpmp *bpmp, in get_filename() argument
82 root_path = dentry_path(bpmp->debugfs_mirror, root_path_buf, in get_filename()
107 static int mrq_debug_open(struct tegra_bpmp *bpmp, const char *name, in mrq_debug_open() argument
134 err = tegra_bpmp_transfer(bpmp, &msg); in mrq_debug_open()
146 static int mrq_debug_close(struct tegra_bpmp *bpmp, u32 fd) in mrq_debug_close() argument
168 err = tegra_bpmp_transfer(bpmp, &msg); in mrq_debug_close()
177 static int mrq_debug_read(struct tegra_bpmp *bpmp, const char *name, in mrq_debug_read() argument
[all …]
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
/kernel/linux/linux-5.10/arch/arm64/boot/dts/nvidia/
Dtegra186.dtsi10 #include <dt-bindings/thermal/tegra186-bpmp-thermal.h>
55 clocks = <&bpmp TEGRA186_CLK_AXI_CBB>,
56 <&bpmp TEGRA186_CLK_EQOS_AXI>,
57 <&bpmp TEGRA186_CLK_EQOS_RX>,
58 <&bpmp TEGRA186_CLK_EQOS_TX>,
59 <&bpmp TEGRA186_CLK_EQOS_PTP_REF>;
61 resets = <&bpmp TEGRA186_RESET_EQOS>;
79 clocks = <&bpmp TEGRA186_CLK_APE>,
80 <&bpmp TEGRA186_CLK_APB2APE>;
82 power-domains = <&bpmp TEGRA186_POWER_DOMAIN_AUD>;
[all …]
Dtegra194.dtsi9 #include <dt-bindings/thermal/tegra194-bpmp-thermal.h>
54 clocks = <&bpmp TEGRA194_CLK_AXI_CBB>,
55 <&bpmp TEGRA194_CLK_EQOS_AXI>,
56 <&bpmp TEGRA194_CLK_EQOS_RX>,
57 <&bpmp TEGRA194_CLK_EQOS_TX>,
58 <&bpmp TEGRA194_CLK_EQOS_PTP_REF>;
60 resets = <&bpmp TEGRA194_RESET_EQOS>;
77 clocks = <&bpmp TEGRA194_CLK_APE>,
78 <&bpmp TEGRA194_CLK_APB2APE>;
80 power-domains = <&bpmp TEGRA194_POWER_DOMAIN_AUD>;
[all …]
/kernel/linux/linux-6.6/arch/arm64/boot/dts/nvidia/
Dtegra186.dtsi10 #include <dt-bindings/thermal/tegra186-bpmp-thermal.h>
55 clocks = <&bpmp TEGRA186_CLK_AXI_CBB>,
56 <&bpmp TEGRA186_CLK_EQOS_AXI>,
57 <&bpmp TEGRA186_CLK_EQOS_RX>,
58 <&bpmp TEGRA186_CLK_EQOS_TX>,
59 <&bpmp TEGRA186_CLK_EQOS_PTP_REF>;
61 resets = <&bpmp TEGRA186_RESET_EQOS>;
79 resets = <&bpmp TEGRA186_RESET_GPCDMA>;
123 clocks = <&bpmp TEGRA186_CLK_APE>,
124 <&bpmp TEGRA186_CLK_APB2APE>;
[all …]
Dtegra194.dtsi10 #include <dt-bindings/thermal/tegra194-bpmp-thermal.h>
148 clocks = <&bpmp TEGRA194_CLK_AXI_CBB>,
149 <&bpmp TEGRA194_CLK_EQOS_AXI>,
150 <&bpmp TEGRA194_CLK_EQOS_RX>,
151 <&bpmp TEGRA194_CLK_EQOS_TX>,
152 <&bpmp TEGRA194_CLK_EQOS_PTP_REF>;
154 resets = <&bpmp TEGRA194_RESET_EQOS>;
173 resets = <&bpmp TEGRA194_RESET_GPCDMA>;
217 clocks = <&bpmp TEGRA194_CLK_APE>,
218 <&bpmp TEGRA194_CLK_APB2APE>;
[all …]
Dtegra234.dtsi11 #include <dt-bindings/thermal/tegra234-bpmp-thermal.h>
124 resets = <&bpmp TEGRA234_RESET_GPCDMA>;
167 clocks = <&bpmp TEGRA234_CLK_APE>,
168 <&bpmp TEGRA234_CLK_APB2APE>;
170 power-domains = <&bpmp TEGRA234_POWER_DOMAIN_AUD>;
180 clocks = <&bpmp TEGRA234_CLK_AHUB>;
182 assigned-clocks = <&bpmp TEGRA234_CLK_AHUB>;
183 assigned-clock-parents = <&bpmp TEGRA234_CLK_PLLP_OUT0>;
195 clocks = <&bpmp TEGRA234_CLK_I2S1>,
196 <&bpmp TEGRA234_CLK_I2S1_SYNC_INPUT>;
[all …]
/kernel/linux/linux-6.6/drivers/pmdomain/tegra/
Dpowergate-bpmp.c11 #include <soc/tegra/bpmp.h>
12 #include <soc/tegra/bpmp-abi.h>
21 struct tegra_bpmp *bpmp; member
31 static int tegra_bpmp_powergate_set_state(struct tegra_bpmp *bpmp, in tegra_bpmp_powergate_set_state() argument
48 err = tegra_bpmp_transfer(bpmp, &msg); in tegra_bpmp_powergate_set_state()
57 static int tegra_bpmp_powergate_get_state(struct tegra_bpmp *bpmp, in tegra_bpmp_powergate_get_state() argument
78 err = tegra_bpmp_transfer(bpmp, &msg); in tegra_bpmp_powergate_get_state()
87 static int tegra_bpmp_powergate_get_max_id(struct tegra_bpmp *bpmp) in tegra_bpmp_powergate_get_max_id() argument
106 err = tegra_bpmp_transfer(bpmp, &msg); in tegra_bpmp_powergate_get_max_id()
115 static char *tegra_bpmp_powergate_get_name(struct tegra_bpmp *bpmp, in tegra_bpmp_powergate_get_name() argument
[all …]
/kernel/linux/linux-5.10/drivers/soc/tegra/
Dpowergate-bpmp.c12 #include <soc/tegra/bpmp.h>
13 #include <soc/tegra/bpmp-abi.h>
22 struct tegra_bpmp *bpmp; member
32 static int tegra_bpmp_powergate_set_state(struct tegra_bpmp *bpmp, in tegra_bpmp_powergate_set_state() argument
49 err = tegra_bpmp_transfer(bpmp, &msg); in tegra_bpmp_powergate_set_state()
58 static int tegra_bpmp_powergate_get_state(struct tegra_bpmp *bpmp, in tegra_bpmp_powergate_get_state() argument
79 err = tegra_bpmp_transfer(bpmp, &msg); in tegra_bpmp_powergate_get_state()
88 static int tegra_bpmp_powergate_get_max_id(struct tegra_bpmp *bpmp) in tegra_bpmp_powergate_get_max_id() argument
107 err = tegra_bpmp_transfer(bpmp, &msg); in tegra_bpmp_powergate_get_max_id()
116 static char *tegra_bpmp_powergate_get_name(struct tegra_bpmp *bpmp, in tegra_bpmp_powergate_get_name() argument
[all …]
/kernel/linux/linux-6.6/Documentation/devicetree/bindings/display/tegra/
Dnvidia,tegra186-display.yaml128 resets = <&bpmp TEGRA186_RESET_NVDISPLAY0_MISC>,
129 <&bpmp TEGRA186_RESET_NVDISPLAY0_WGRP0>,
130 <&bpmp TEGRA186_RESET_NVDISPLAY0_WGRP1>,
131 <&bpmp TEGRA186_RESET_NVDISPLAY0_WGRP2>,
132 <&bpmp TEGRA186_RESET_NVDISPLAY0_WGRP3>,
133 <&bpmp TEGRA186_RESET_NVDISPLAY0_WGRP4>,
134 <&bpmp TEGRA186_RESET_NVDISPLAY0_WGRP5>;
137 clocks = <&bpmp TEGRA186_CLK_NVDISPLAY_DISP>,
138 <&bpmp TEGRA186_CLK_NVDISPLAY_DSC>,
139 <&bpmp TEGRA186_CLK_NVDISPLAYHUB>;
[all …]
/kernel/linux/linux-5.10/drivers/clk/tegra/
Dclk-bpmp.c11 #include <soc/tegra/bpmp.h>
12 #include <soc/tegra/bpmp-abi.h>
31 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()
[all …]
/kernel/linux/linux-6.6/drivers/clk/tegra/
Dclk-bpmp.c11 #include <soc/tegra/bpmp.h>
12 #include <soc/tegra/bpmp-abi.h>
31 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()
[all …]
/kernel/linux/linux-5.10/include/soc/tegra/
Dbpmp.h15 #include <soc/tegra/bpmp-abi.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,
119 int tegra_bpmp_request_mrq(struct tegra_bpmp *bpmp, unsigned int mrq,
121 void tegra_bpmp_free_mrq(struct tegra_bpmp *bpmp, unsigned int mrq,
123 bool tegra_bpmp_mrq_is_supported(struct tegra_bpmp *bpmp, unsigned int mrq);
129 static inline void tegra_bpmp_put(struct tegra_bpmp *bpmp) in tegra_bpmp_put() argument
132 static inline int tegra_bpmp_transfer_atomic(struct tegra_bpmp *bpmp, in tegra_bpmp_transfer_atomic() argument
[all …]
/kernel/linux/linux-6.6/Documentation/devicetree/bindings/firmware/
Dnvidia,tegra186-bpmp.yaml4 $id: http://devicetree.org/schemas/firmware/nvidia,tegra186-bpmp.yaml#
7 title: NVIDIA Tegra Boot and Power Management Processor (BPMP)
14 The BPMP is a specific processor in Tegra chip, which is designed for
17 defines the resources that would be used by the BPMP firmware driver,
19 CPU and BPMP.
39 The BPMP implements some services which must be represented by
43 BPMP node.
45 Software can determine whether a child node of the BPMP node
49 provide configuration information regarding the BPMP itself, although
52 The BPMP firmware defines no single global name-/numbering-space for
[all …]
/kernel/linux/linux-6.6/include/soc/tegra/
Dbpmp.h16 #include <soc/tegra/bpmp-abi.h>
53 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,
138 int tegra_bpmp_request_mrq(struct tegra_bpmp *bpmp, unsigned int mrq,
140 void tegra_bpmp_free_mrq(struct tegra_bpmp *bpmp, unsigned int mrq,
142 bool tegra_bpmp_mrq_is_supported(struct tegra_bpmp *bpmp, unsigned int mrq);
148 static inline void tegra_bpmp_put(struct tegra_bpmp *bpmp) in tegra_bpmp_put() argument
151 static inline int tegra_bpmp_transfer_atomic(struct tegra_bpmp *bpmp, in tegra_bpmp_transfer_atomic() argument
[all …]
/kernel/linux/linux-5.10/Documentation/devicetree/bindings/firmware/
Dnvidia,tegra186-bpmp.txt1 NVIDIA Tegra Boot and Power Management Processor (BPMP)
3 The BPMP is a specific processor in Tegra chip, which is designed for
6 defines the resources that would be used by the BPMP firmware driver,
8 and BPMP.
14 - "nvidia,tegra186-bpmp"
17 the IPC between CPU and BPMP is based on.
40 The BPMP implements some services which must be represented by separate nodes.
43 be nested directly inside the main BPMP node.
45 Software can determine whether a child node of the BPMP node represents a device
48 property may be used to provide configuration information regarding the BPMP
[all …]
/kernel/linux/linux-5.10/Documentation/devicetree/bindings/i2c/
Dnvidia,tegra186-bpmp-i2c.txt1 NVIDIA Tegra186 BPMP I2C controller
3 In Tegra186, the BPMP (Boot and Power Management Processor) owns certain HW
5 running on other CPUs must perform IPC to the BPMP in order to execute
9 The BPMP I2C node must be located directly inside the main BPMP node. See
10 ../firmware/nvidia,tegra186-bpmp.txt for details of the BPMP binding.
19 - "nvidia,tegra186-bpmp-i2c".
26 - nvidia,bpmp-bus-id:
29 BPMP firmware.
33 bpmp {
37 compatible = "nvidia,tegra186-bpmp-i2c";
[all …]

123456