From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Warren Date: Mon, 25 Jul 2016 13:57:58 -0600 Subject: [U-Boot] [PATCH] ARM: tegra: add IVC protocol implementation In-Reply-To: References: <20160718181711.7720-1-swarren@wwwdotorg.org> Message-ID: <57966F46.8050506@wwwdotorg.org> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 07/22/2016 08:08 PM, Simon Glass wrote: > Hi Stephen, > > On 18 July 2016 at 12:17, Stephen Warren wrote: >> From: Stephen Warren >> >> IVC (Inter-VM Communication) protocol is a Tegra-specific IPC (Inter >> Processor Communication) framework. Within the context of U-Boot, it is >> typically used for communication between the main CPU and various >> auxiliary processors. In particular, it will be used to communicate with >> the BPMP (Boot and Power Management Processor) on Tegra186 in order to >> manipulate clocks and reset signals. >> >> Signed-off-by: Stephen Warren >> --- >> This depends on "ARM: tegra: unify Tegra186 Makefile a bit" (which I just >> sent) purely for a tiny bit of diff context in the Makefile. Otherwise, >> it's entirely independent. >> >> arch/arm/include/asm/arch-tegra/ivc.h | 179 +++++++++++ >> arch/arm/mach-tegra/Kconfig | 9 + >> arch/arm/mach-tegra/Makefile | 1 + >> arch/arm/mach-tegra/ivc.c | 553 ++++++++++++++++++++++++++++++++++ >> 4 files changed, 742 insertions(+) >> create mode 100644 arch/arm/include/asm/arch-tegra/ivc.h >> create mode 100644 arch/arm/mach-tegra/ivc.c > > Can this use driver model? It seems different from remoteproc. Maybe > mailbox or blk? This code is essentially utility/implementation code that will be called from a "DM-enabled" driver. The BPMP driver will be instantiated from DT like any other device, and will "host"/use an IVC channel, hence call the IVC code.