1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- /*
- * arch/arm/mach-ep93xx/vision_ep9307.c
- * Vision Engraving Systems EP9307 SoM support.
- *
- * Copyright (C) 2008-2011 Vision Engraving Systems
- * H Hartley Sweeten <hsweeten@visionengravers.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or (at
- * your option) any later version.
- */
- #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
- #include <linux/kernel.h>
- #include <linux/init.h>
- #include <linux/platform_device.h>
- #include <linux/irq.h>
- #include <linux/gpio.h>
- #include <linux/fb.h>
- #include <linux/io.h>
- #include <linux/mtd/partitions.h>
- #include <linux/i2c.h>
- #include <linux/i2c-gpio.h>
- #include <linux/i2c/pca953x.h>
- #include <linux/spi/spi.h>
- #include <linux/spi/flash.h>
- #include <linux/spi/mmc_spi.h>
- #include <linux/mmc/host.h>
- #include <mach/hardware.h>
- #include <linux/platform_data/video-ep93xx.h>
- #include <linux/platform_data/spi-ep93xx.h>
- #include <mach/gpio-ep93xx.h>
- #include <asm/hardware/vic.h>
- #include <asm/mach-types.h>
- #include <asm/mach/map.h>
- #include <asm/mach/arch.h>
- #include "soc.h"
- /*************************************************************************
- * Static I/O mappings for the FPGA
- *************************************************************************/
- #define VISION_PHYS_BASE EP93XX_CS7_PHYS_BASE
- #define VISION_VIRT_BASE 0xfebff000
- static struct map_desc vision_io_desc[] __initdata = {
- {
- .virtual = VISION_VIRT_BASE,
- .pfn = __phys_to_pfn(VISION_PHYS_BASE),
- .length = SZ_4K,
- .type = MT_DEVICE,
- },
- };
- static void __init vision_map_io(void)
- {
- ep93xx_map_io();
- iotable_init(vision_io_desc, ARRAY_SIZE(vision_io_desc));
- }
- /*************************************************************************
- * Ethernet
- *************************************************************************/
- static struct ep93xx_eth_data vision_eth_data __initdata = {
- .phy_id = 1,
- };
- /*************************************************************************
- * Framebuffer
- *************************************************************************/
- #define VISION_LCD_ENABLE EP93XX_GPIO_LINE_EGPIO1
- static int vision_lcd_setup(struct platform_device *pdev)
- {
- int err;
- err = gpio_request_one(VISION_LCD_ENABLE, GPIOF_INIT_HIGH,
- dev_name(&pdev->dev));
- if (err)
- return err;
- ep93xx_devcfg_clear_bits(EP93XX_SYSCON_DEVCFG_RAS |
- EP93XX_SYSCON_DEVCFG_RASONP3 |
- EP93XX_SYSCON_DEVCFG_EXVC);
- return 0;
- }
- static void vision_lcd_teardown(struct platform_device *pdev)
- {
|