diff -ruNp -X linux-2.6.17/Documentation/dontdiff linux-2.6.17-e3-03/arch/arm/mach-omap1/board-ams-delta.c linux-2.6.17-e3-04/arch/arm/mach-omap1/board-ams-delta.c
--- linux-2.6.17-e3-03/arch/arm/mach-omap1/board-ams-delta.c	2006-08-07 16:19:34.000000000 +0100
+++ linux-2.6.17-e3-04/arch/arm/mach-omap1/board-ams-delta.c	2006-08-07 16:37:18.000000000 +0100
@@ -76,6 +76,10 @@ static struct map_desc ams_delta_io_desc
 	}
 };
 
+static struct omap_lcd_config ams_delta_lcd_config __initdata = {
+	.ctrl_name	= "internal",
+};
+
 static struct omap_uart_config ams_delta_uart_config __initdata = {
 	.enabled_uarts = 1,
 };
@@ -87,16 +91,23 @@ static struct omap_usb_config ams_delta_
 };
 
 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_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 = {
 	.name	= "ams-delta-led",
 	.id	= -1
 };
 
 static struct platform_device *ams_delta_devices[] __initdata = {
+	&ams_delta_lcd_device,
 	&ams_delta_led_device,
 };
 
diff -ruNp -X linux-2.6.17/Documentation/dontdiff linux-2.6.17-e3-03/arch/arm/mach-omap1/clock.c linux-2.6.17-e3-04/arch/arm/mach-omap1/clock.c
--- linux-2.6.17-e3-03/arch/arm/mach-omap1/clock.c	2006-08-07 16:14:37.000000000 +0100
+++ linux-2.6.17-e3-04/arch/arm/mach-omap1/clock.c	2006-08-07 16:37:18.000000000 +0100
@@ -20,6 +20,7 @@
 #include <linux/clk.h>
 
 #include <asm/io.h>
+#include <asm/mach-types.h>
 
 #include <asm/arch/cpu.h>
 #include <asm/arch/usb.h>
@@ -756,6 +757,14 @@ int __init omap1_clk_init(void)
 	omap_writew(omap_readw(OMAP730_PCC_UPLD_CTRL) & ~0x1, OMAP730_PCC_UPLD_CTRL);
 #endif
 
+#ifdef CONFIG_MACH_AMS_DELTA
+	/* 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);
+#endif
+
 	/* Turn off DSP and ARM_TIMXO. Make sure ARM_INTHCK is not divided */
 	/* (on 730, bit 13 must not be cleared) */
 	if (cpu_is_omap730())
diff -ruNp -X linux-2.6.17/Documentation/dontdiff linux-2.6.17-e3-03/arch/arm/mach-omap1/clock.h linux-2.6.17-e3-04/arch/arm/mach-omap1/clock.h
--- linux-2.6.17-e3-03/arch/arm/mach-omap1/clock.h	2006-08-07 16:14:37.000000000 +0100
+++ linux-2.6.17-e3-04/arch/arm/mach-omap1/clock.h	2006-08-07 16:37:18.000000000 +0100
@@ -89,6 +89,7 @@ struct arm_idlect1_clk {
 #define EN_DSPTIMCK	5
 
 /* 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_HOST_HHC_UHOST_EN	9	/* In MOD_CONF_CTRL_0 */
 #define SWD_ULPD_PLL_CLK_REQ	1	/* In SWD_CLK_DIV_CTRL_SEL */

