GNU Linux-libre 6.7.9-gnu
[releases.git] / arch / arm / mach-omap2 / devices.c
1 // SPDX-License-Identifier: GPL-2.0-or-later
2 /*
3  * linux/arch/arm/mach-omap2/devices.c
4  *
5  * OMAP2 platform device setup/initialization
6  */
7
8 #include <linux/kernel.h>
9 #include <linux/init.h>
10 #include <linux/platform_device.h>
11 #include <linux/io.h>
12 #include <linux/clk.h>
13 #include <linux/dma-mapping.h>
14 #include <linux/err.h>
15 #include <linux/slab.h>
16 #include <linux/of.h>
17
18 #include <asm/mach-types.h>
19 #include <asm/mach/map.h>
20
21 #include <linux/omap-dma.h>
22
23 #include "iomap.h"
24 #include "omap_hwmod.h"
25 #include "omap_device.h"
26
27 #include "soc.h"
28 #include "common.h"
29 #include "control.h"
30 #include "display.h"
31
32 #define L3_MODULES_MAX_LEN 12
33 #define L3_MODULES 3
34
35 /*-------------------------------------------------------------------------*/
36
37 #if IS_ENABLED(CONFIG_VIDEO_OMAP2_VOUT)
38 #if IS_ENABLED(CONFIG_FB_OMAP2)
39 static struct resource omap_vout_resource[3 - CONFIG_FB_OMAP2_NUM_FBS] = {
40 };
41 #else
42 static struct resource omap_vout_resource[2] = {
43 };
44 #endif
45
46 static u64 omap_vout_dma_mask = DMA_BIT_MASK(32);
47
48 static struct platform_device omap_vout_device = {
49         .name           = "omap_vout",
50         .num_resources  = ARRAY_SIZE(omap_vout_resource),
51         .resource       = &omap_vout_resource[0],
52         .id             = -1,
53         .dev            = {
54                 .dma_mask               = &omap_vout_dma_mask,
55                 .coherent_dma_mask      = DMA_BIT_MASK(32),
56         },
57 };
58
59 int __init omap_init_vout(void)
60 {
61         return platform_device_register(&omap_vout_device);
62 }
63 #else
64 int __init omap_init_vout(void) { return 0; }
65 #endif