From: Paul Mundt <lethal@Linux-SH.ORG>

This gets hp620 working again..

Signed-off-by: Kristoffer Ericson <kristoffer@jlime.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 25-akpm/arch/sh/boards/hp6xx/hp620/Makefile |    2 -
 25-akpm/arch/sh/boards/hp6xx/hp620/setup.c  |   45 ++++++++++++++++++++++++++++
 2 files changed, 46 insertions(+), 1 deletion(-)

diff -puN arch/sh/boards/hp6xx/hp620/Makefile~sh-hp620-updates arch/sh/boards/hp6xx/hp620/Makefile
--- 25/arch/sh/boards/hp6xx/hp620/Makefile~sh-hp620-updates	2005-03-07 20:41:28.000000000 -0800
+++ 25-akpm/arch/sh/boards/hp6xx/hp620/Makefile	2005-03-07 20:41:28.000000000 -0800
@@ -2,5 +2,5 @@
 # Makefile for the HP620 specific parts of the kernel
 #
 
-obj-y	 := mach.o
+obj-y	 := mach.o setup.o
 
diff -puN /dev/null arch/sh/boards/hp6xx/hp620/setup.c
--- /dev/null	2003-09-15 06:40:47.000000000 -0700
+++ 25-akpm/arch/sh/boards/hp6xx/hp620/setup.c	2005-03-07 20:41:28.000000000 -0800
@@ -0,0 +1,45 @@
+/*
+ * linux/arch/sh/boards/hp6xx/hp620/setup.c
+ *
+ * Copyright (C) 2002 Andriy Skulysh, 2005 Kristoffer Ericson
+ *
+ * May be copied or modified under the terms of the GNU General Public
+ * License. See Linux/COPYING for more information.
+ *
+ * Setup code for an HP620.
+ * Due to similiarity with hp680/hp690 same inits are done (for now)
+ */
+
+#include <linux/config.h>
+#include <linux/init.h>
+#include <asm/hd64461/hd64461.h>
+#include <asm/io.h>
+#include <asm/hp6xx/hp6xx.h>
+#include <asm/cpu/dac.h>
+
+const char *get_system_type(void)
+{
+	return "HP620";
+}
+
+int __init platform_setup(void)
+{
+	u16 v;
+
+	v  = inw(HD64461_STBCR);
+	v |= HD64461_STBCR_SURTST | HD64461_STBCR_SIRST  |
+	     HD64461_STBCR_STM1ST | HD64461_STBCR_STM0ST |
+	     HD64461_STBCR_SAFEST | HD64461_STBCR_SPC0ST |
+	     HD64461_STBCR_SMIAST | HD64461_STBCR_SAFECKE_OST |
+	     HD64461_STBCR_SAFECKE_IST;
+	outw(v, HD64461_STBCR);
+
+	v  = inw(HD64461_GPADR);
+	v |= HD64461_GPADR_SPEAKER | HD64461_GPADR_PCMCIA0;
+	outw(v, HD64461_GPADR);
+
+	sh_dac_disable(DAC_SPEAKER_VOLUME);
+
+	return 0;
+}
+
_