Commit afcc81d7 authored by Jonathan McDowell's avatar Jonathan McDowell Committed by Tony Lindgren

[PATCH] ARM: OMAP: Add Amstrad Delta platform bits for framebuffer

This patch adds the platform file components for the Amstrad Delta LCD
framebuffer. I have confirmed it works with latest git. The patch to
clock.c /is/ needed for this to work.
Signed-off-by: default avatarJonathan McDowell <noodles@earth.li>
Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
parent 1cb34dd2
...@@ -76,6 +76,10 @@ static struct map_desc ams_delta_io_desc[] __initdata = { ...@@ -76,6 +76,10 @@ static struct map_desc ams_delta_io_desc[] __initdata = {
} }
}; };
static struct omap_lcd_config ams_delta_lcd_config __initdata = {
.ctrl_name = "internal",
};
static struct omap_uart_config ams_delta_uart_config __initdata = { static struct omap_uart_config ams_delta_uart_config __initdata = {
.enabled_uarts = 1, .enabled_uarts = 1,
}; };
...@@ -87,16 +91,23 @@ static struct omap_usb_config ams_delta_usb_config __initdata = { ...@@ -87,16 +91,23 @@ static struct omap_usb_config ams_delta_usb_config __initdata = {
}; };
static struct omap_board_config_kernel ams_delta_config[] = { static struct omap_board_config_kernel ams_delta_config[] = {
{ OMAP_TAG_LCD, &ams_delta_lcd_config },
{ OMAP_TAG_UART, &ams_delta_uart_config }, { OMAP_TAG_UART, &ams_delta_uart_config },
{ OMAP_TAG_USB, &ams_delta_usb_config }, { OMAP_TAG_USB, &ams_delta_usb_config },
}; };
static struct platform_device ams_delta_lcd_device = {
.name = "lcd_ams_delta",
.id = -1,
};
static struct platform_device ams_delta_led_device = { static struct platform_device ams_delta_led_device = {
.name = "ams-delta-led", .name = "ams-delta-led",
.id = -1 .id = -1
}; };
static struct platform_device *ams_delta_devices[] __initdata = { static struct platform_device *ams_delta_devices[] __initdata = {
&ams_delta_lcd_device,
&ams_delta_led_device, &ams_delta_led_device,
}; };
......
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
#include <linux/clk.h> #include <linux/clk.h>
#include <asm/io.h> #include <asm/io.h>
#include <asm/mach-types.h>
#include <asm/arch/cpu.h> #include <asm/arch/cpu.h>
#include <asm/arch/usb.h> #include <asm/arch/usb.h>
...@@ -756,6 +757,12 @@ int __init omap1_clk_init(void) ...@@ -756,6 +757,12 @@ int __init omap1_clk_init(void)
omap_writew(omap_readw(OMAP730_PCC_UPLD_CTRL) & ~0x1, OMAP730_PCC_UPLD_CTRL); omap_writew(omap_readw(OMAP730_PCC_UPLD_CTRL) & ~0x1, OMAP730_PCC_UPLD_CTRL);
#endif #endif
/* Amstrad Delta wants BCLK high when inactive */
if (machine_is_ams_delta())
omap_writel(omap_readl(ULPD_CLOCK_CTRL) |
(1 << SDW_MCLK_INV_BIT),
ULPD_CLOCK_CTRL);
/* Turn off DSP and ARM_TIMXO. Make sure ARM_INTHCK is not divided */ /* Turn off DSP and ARM_TIMXO. Make sure ARM_INTHCK is not divided */
/* (on 730, bit 13 must not be cleared) */ /* (on 730, bit 13 must not be cleared) */
if (cpu_is_omap730()) if (cpu_is_omap730())
......
...@@ -89,6 +89,7 @@ struct arm_idlect1_clk { ...@@ -89,6 +89,7 @@ struct arm_idlect1_clk {
#define EN_DSPTIMCK 5 #define EN_DSPTIMCK 5
/* Various register defines for clock controls scattered around OMAP chip */ /* Various register defines for clock controls scattered around OMAP chip */
#define SDW_MCLK_INV_BIT 2 /* In ULPD_CLKC_CTRL */
#define USB_MCLK_EN_BIT 4 /* In ULPD_CLKC_CTRL */ #define USB_MCLK_EN_BIT 4 /* In ULPD_CLKC_CTRL */
#define USB_HOST_HHC_UHOST_EN 9 /* In MOD_CONF_CTRL_0 */ #define USB_HOST_HHC_UHOST_EN 9 /* In MOD_CONF_CTRL_0 */
#define SWD_ULPD_PLL_CLK_REQ 1 /* In SWD_CLK_DIV_CTRL_SEL */ #define SWD_ULPD_PLL_CLK_REQ 1 /* In SWD_CLK_DIV_CTRL_SEL */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment