From: Paul Mundt This gets hp620 working again.. Signed-off-by: Kristoffer Ericson Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton --- 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 +#include +#include +#include +#include +#include + +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; +} + _