arm64: tegra: add BPMP support
This series introduce the first announced Boot and Power Management Processor (BPMP) for the new generation Tegra SoCs, which is designed for boot process handling and offloading the power management tasks from the CPU. We also add some very initial and basic support for Tegra186 SoC, which supports debug console and initrd for initial bring up currently. More drivers and functions can be supported based on this later.
ここには、もうちょっと詳しく書いてあった。
The Boot and Power Management Processor (BPMP) is a co-processor found on Tegra SoCs. It is designed to handle the early stages of the boot process and offload power management tasks (such as clocks, resets, powergates, ...) as well as system control services. Compared to the ARM SCPI, the services provided by BPMP are message- based rather than method-based. The BPMP firmware driver provides the services to transmit data to and receive data from the BPMP. Users can also register an MRQ, for which a service routine will be run when a corresponding event is received from the firmware. A set of messages, called the BPMP ABI, are specified for a number of different services provided by the BPMP (such as clocks or resets).
BPMPは、ブートの初期段階とパワーマネージメント(クロック、リセット、パワーゲート)をやる
ARM SCPIと比べて、メソッドベースではなく、メッセージベース。
(メソッドベースだと、処理が終わるまで待つけど、メッセージベースだと待たない。。)
ファームウエアからはイベント処理すればいいと。。。。
(メソッドベースだと、処理が終わるまで待つけど、メッセージベースだと待たない。。)
ファームウエアからはイベント処理すればいいと。。。。
BPMPからのメッセージは、BPMP APIと呼ぶ。
ソースコード解析しないと。。。