From 390411720ac884f8b822154eedf15c70cf6f0e59 Mon Sep 17 00:00:00 2001 From: Gajanan Bhat Date: Tue, 21 Jun 2011 19:02:19 -0700 Subject: arm: tegra: cardhu: AVP driver selection Enable RPC based AVP driver or channel based AVP driver based on kernel config setting. Original-Change-Id: I64c21724b55004fa4d7aaf801b47e57b6587b91e Reviewed-on: http://git-master/r/37769 Reviewed-by: Varun Colbert Tested-by: Varun Colbert Rebase-Id: Rd00f3fb6f0d75dd2b279b203cb25bee3dfdae112 --- arch/arm/mach-tegra/board-cardhu-panel.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'arch/arm/mach-tegra/board-cardhu-panel.c') diff --git a/arch/arm/mach-tegra/board-cardhu-panel.c b/arch/arm/mach-tegra/board-cardhu-panel.c index 3e31f8488c62..bfea805c9185 100644 --- a/arch/arm/mach-tegra/board-cardhu-panel.c +++ b/arch/arm/mach-tegra/board-cardhu-panel.c @@ -920,6 +920,25 @@ static struct platform_device cardhu_nvmap_device = { }, }; + +#if defined(CONFIG_TEGRA_NVAVP) +static struct resource tegra_nvavp_resources[] = { + [0] = { + .start = INT_SHR_SEM_INBOX_IBF, + .end = INT_SHR_SEM_INBOX_IBF, + .flags = IORESOURCE_IRQ, + .name = "mbox_from_avp_pending", + }, +}; + +static struct nvhost_device cardhu_nvavp_device = { + .name = "tegra-avp", + .id = -1, + .resource = tegra_nvavp_resources, + .num_resources = ARRAY_SIZE(tegra_nvavp_resources), +}; +#endif + static struct platform_device *cardhu_gfx_devices[] __initdata = { &cardhu_nvmap_device, &tegra_grhost_device, @@ -967,5 +986,10 @@ int __init cardhu_panel_init(void) res->end = tegra_fb2_start + tegra_fb2_size - 1; if (!err) err = nvhost_device_register(&cardhu_disp2_device); + +#if defined(CONFIG_TEGRA_NVAVP) + if (!err) + err = nvhost_device_register(&cardhu_nvavp_device); +#endif return err; } -- cgit v1.2.3