12874c5fdSThomas Gleixner // SPDX-License-Identifier: GPL-2.0-or-later 21dbae815STony Lindgren /* 31dbae815STony Lindgren * linux/arch/arm/mach-omap2/devices.c 41dbae815STony Lindgren * 51dbae815STony Lindgren * OMAP2 platform device setup/initialization 61dbae815STony Lindgren */ 71ff4cb67SSuman Anna 81dbae815STony Lindgren #include <linux/kernel.h> 91dbae815STony Lindgren #include <linux/init.h> 101dbae815STony Lindgren #include <linux/platform_device.h> 11fced80c7SRussell King #include <linux/io.h> 12917fa280SKevin Hilman #include <linux/clk.h> 13*0bf63e2cSHans Verkuil #include <linux/dma-mapping.h> 14f2ce6231SVaradarajan, Charulatha #include <linux/err.h> 151a5d8190SCharulatha V #include <linux/slab.h> 16ad8dfac6SBenoit Cousson #include <linux/of.h> 171dbae815STony Lindgren 181dbae815STony Lindgren #include <asm/mach-types.h> 191dbae815STony Lindgren #include <asm/mach/map.h> 201dbae815STony Lindgren 2145c3eb7dSTony Lindgren #include <linux/omap-dma.h> 222a296c8fSTony Lindgren 23ee0839c2STony Lindgren #include "iomap.h" 242a296c8fSTony Lindgren #include "omap_hwmod.h" 2525c7d49eSTony Lindgren #include "omap_device.h" 261dbae815STony Lindgren 277d7e1ebaSTony Lindgren #include "soc.h" 287d7e1ebaSTony Lindgren #include "common.h" 294814ced5SPaul Walmsley #include "control.h" 30576e5bdaSArchit Taneja #include "display.h" 314896e394STony Lindgren 320abcf618Ssricharan #define L3_MODULES_MAX_LEN 12 33a4dc616aSsricharan #define L3_MODULES 3 340abcf618Ssricharan 35d8874665STony Lindgren /*-------------------------------------------------------------------------*/ 36d8874665STony Lindgren 37502ad2a6SJavier Martinez Canillas #if IS_ENABLED(CONFIG_VIDEO_OMAP2_VOUT) 38502ad2a6SJavier Martinez Canillas #if IS_ENABLED(CONFIG_FB_OMAP2) 39b227358dSVaibhav Hiremath static struct resource omap_vout_resource[3 - CONFIG_FB_OMAP2_NUM_FBS] = { 40b227358dSVaibhav Hiremath }; 41b227358dSVaibhav Hiremath #else 42b227358dSVaibhav Hiremath static struct resource omap_vout_resource[2] = { 43b227358dSVaibhav Hiremath }; 44b227358dSVaibhav Hiremath #endif 45b227358dSVaibhav Hiremath 46*0bf63e2cSHans Verkuil static u64 omap_vout_dma_mask = DMA_BIT_MASK(32); 47*0bf63e2cSHans Verkuil 48b227358dSVaibhav Hiremath static struct platform_device omap_vout_device = { 49b227358dSVaibhav Hiremath .name = "omap_vout", 50b227358dSVaibhav Hiremath .num_resources = ARRAY_SIZE(omap_vout_resource), 51b227358dSVaibhav Hiremath .resource = &omap_vout_resource[0], 52b227358dSVaibhav Hiremath .id = -1, 53*0bf63e2cSHans Verkuil .dev = { 54*0bf63e2cSHans Verkuil .dma_mask = &omap_vout_dma_mask, 55*0bf63e2cSHans Verkuil .coherent_dma_mask = DMA_BIT_MASK(32), 56*0bf63e2cSHans Verkuil }, 57b227358dSVaibhav Hiremath }; 58576e5bdaSArchit Taneja omap_init_vout(void)59576e5bdaSArchit Tanejaint __init omap_init_vout(void) 60b227358dSVaibhav Hiremath { 61576e5bdaSArchit Taneja return platform_device_register(&omap_vout_device); 62b227358dSVaibhav Hiremath } 63b227358dSVaibhav Hiremath #else omap_init_vout(void)64576e5bdaSArchit Tanejaint __init omap_init_vout(void) { return 0; } 65b227358dSVaibhav Hiremath #endif 66