diff options
Diffstat (limited to 'arch/unicore32')
-rw-r--r-- | arch/unicore32/configs/debug_defconfig | 3 | ||||
-rw-r--r-- | arch/unicore32/include/mach/memory.h | 2 | ||||
-rw-r--r-- | arch/unicore32/kernel/puv3-core.c | 15 |
3 files changed, 18 insertions, 2 deletions
diff --git a/arch/unicore32/configs/debug_defconfig b/arch/unicore32/configs/debug_defconfig index bf42abd..b5fbde9 100644 --- a/arch/unicore32/configs/debug_defconfig +++ b/arch/unicore32/configs/debug_defconfig @@ -66,7 +66,6 @@ CONFIG_LCD_BACKLIGHT=n CONFIG_PUV3_RTC=y CONFIG_PUV3_UMAL=y -CONFIG_PUV3_UNIGFX=y CONFIG_PUV3_MUSB=n CONFIG_PUV3_AC97=n CONFIG_PUV3_NAND=n @@ -130,6 +129,8 @@ CONFIG_VIDEO_DEV=n CONFIG_USB_VIDEO_CLASS=n # Graphics support +CONFIG_FB=y +CONFIG_FB_PUV3_UNIGFX=y # Console display driver support CONFIG_VGA_CONSOLE=n CONFIG_FRAMEBUFFER_CONSOLE=y diff --git a/arch/unicore32/include/mach/memory.h b/arch/unicore32/include/mach/memory.h index 541949d..b774eff 100644 --- a/arch/unicore32/include/mach/memory.h +++ b/arch/unicore32/include/mach/memory.h @@ -50,7 +50,7 @@ void puv3_pci_adjust_zones(unsigned long *size, unsigned long *holes); /* kuser area */ #define KUSER_VECPAGE_BASE (KUSER_BASE + UL(0x3fff0000)) -#define KUSER_UNIGFX_BASE (KUSER_BASE + PKUNITY_UNIGFX_MMAP_BASE) +#define KUSER_UNIGFX_BASE (PAGE_OFFSET + PKUNITY_UNIGFX_MMAP_BASE) /* kuser_vecpage (0xbfff0000) is ro, and vectors page (0xffff0000) is rw */ #define kuser_vecpage_to_vectors(x) ((x) - (KUSER_VECPAGE_BASE) \ + (VECTORS_BASE)) diff --git a/arch/unicore32/kernel/puv3-core.c b/arch/unicore32/kernel/puv3-core.c index 6edf928..7d10e7b 100644 --- a/arch/unicore32/kernel/puv3-core.c +++ b/arch/unicore32/kernel/puv3-core.c @@ -93,6 +93,19 @@ static struct resource puv3_mmc_resources[] = { }, }; +static struct resource puv3_unigfx_resources[] = { + [0] = { + .start = PKUNITY_UNIGFX_BASE, + .end = PKUNITY_UNIGFX_BASE + 0xfff, + .flags = IORESOURCE_MEM, + }, + [1] = { + .start = PKUNITY_UNIGFX_MMAP_BASE, + .end = PKUNITY_UNIGFX_MMAP_BASE + PKUNITY_UNIGFX_MMAP_SIZE, + .flags = IORESOURCE_MEM, + }, +}; + static struct resource puv3_rtc_resources[] = { [0] = { .start = PKUNITY_RTC_BASE, @@ -256,6 +269,8 @@ void __init puv3_core_init(void) puv3_umal_resources, ARRAY_SIZE(puv3_umal_resources)); platform_device_register_simple("PKUnity-v3-MMC", -1, puv3_mmc_resources, ARRAY_SIZE(puv3_mmc_resources)); + platform_device_register_simple("PKUnity-v3-UNIGFX", -1, + puv3_unigfx_resources, ARRAY_SIZE(puv3_unigfx_resources)); platform_device_register_simple("PKUnity-v3-PWM", -1, puv3_pwm_resources, ARRAY_SIZE(puv3_pwm_resources)); platform_device_register_simple("PKUnity-v3-UART", 0, |