diff options
Diffstat (limited to 'arch/arm/mach-omap/omap_devices.c')
-rw-r--r-- | arch/arm/mach-omap/omap_devices.c | 41 |
1 files changed, 33 insertions, 8 deletions
diff --git a/arch/arm/mach-omap/omap_devices.c b/arch/arm/mach-omap/omap_devices.c index f577fa6ea7..3ade3225df 100644 --- a/arch/arm/mach-omap/omap_devices.c +++ b/arch/arm/mach-omap/omap_devices.c @@ -1,8 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0-only + #include <driver.h> -#include <platform_data/serial-ns16550.h> #include <asm/armlinux.h> -#include <mach/omap3-devices.h> +#include <mach/omap/omap3-devices.h> void omap_add_ram0(resource_size_t size) { @@ -14,13 +15,37 @@ void omap_add_sram0(resource_size_t base, resource_size_t size) add_mem_device("sram0", base, size, IORESOURCE_MEM_WRITEABLE); } -static struct NS16550_plat serial_plat = { - .clock = 48000000, /* 48MHz (APLL96/2) */ - .shift = 2, +struct device *omap_add_uart(int id, unsigned long base) +{ + return add_generic_device("omap-uart", id, NULL, base, 1024, + IORESOURCE_MEM | IORESOURCE_MEM_8BIT, NULL); +} + +#if defined(CONFIG_DRIVER_VIDEO_OMAP) +static struct resource omapfb_resources[] = { + { + .name = "omap4_dss", + .start = 0x48040000, + .end = 0x48040000 + 512 - 1, + .flags = IORESOURCE_MEM | IORESOURCE_MEM_32BIT, + }, { + .name = "omap4_dispc", + .start = 0x48041000, + .end = 0x48041000 + 3072 - 1, + .flags = IORESOURCE_MEM | IORESOURCE_MEM_32BIT, + }, }; -struct device_d *omap_add_uart(int id, unsigned long base) +struct device *omap_add_display(struct omapfb_platform_data *o_pdata) { - return add_generic_device("omap-uart", id, NULL, base, 1024, - IORESOURCE_MEM | IORESOURCE_MEM_8BIT, &serial_plat); + return add_generic_device_res("omap_fb", -1, + omapfb_resources, + ARRAY_SIZE(omapfb_resources), + o_pdata); +} +#else +struct device *omap_add_display(struct omapfb_platform_data *o_pdata) +{ + return NULL; } +#endif |