changes for the mainboards.
NOTE: We're going to need to change the arch/x86 to have, e.g., arch/x86/geodelx. But we need to get lined up with the tree first. Signed-off-by: Ronald G. Minnich <rminnich@gmail.com> Acked-by: Stefan Reinauer <stepan@coresystems.de> git-svn-id: svn://coreboot.org/repository/LinuxBIOSv3@381 f3766cd6-281f-0410-b1cd-43a5c92072e9
This commit is contained in:
parent
84448165f9
commit
0ef38480ef
15 changed files with 553 additions and 8 deletions
|
|
@ -26,6 +26,12 @@ choice
|
|||
prompt "Mainboard vendor"
|
||||
default VENDOR_EMULATION
|
||||
|
||||
config VENDOR_ADL
|
||||
bool "Advanced Digital Logic"
|
||||
help
|
||||
Select this option for various systems from
|
||||
Advanced Digital Logic
|
||||
|
||||
config VENDOR_AMD
|
||||
bool "AMD"
|
||||
help
|
||||
|
|
@ -40,6 +46,7 @@ config VENDOR_EMULATION
|
|||
endchoice
|
||||
|
||||
source "mainboard/emulation/Kconfig"
|
||||
source "mainboard/adl/Kconfig"
|
||||
source "mainboard/amd/Kconfig"
|
||||
|
||||
choice
|
||||
|
|
|
|||
39
mainboard/adl/Kconfig
Normal file
39
mainboard/adl/Kconfig
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
##
|
||||
## This file is part of the LinuxBIOS project.
|
||||
##
|
||||
## Copyright (C) 2007 coresystems GmbH
|
||||
## (Written by Stefan Reinauer <stepan@coresystems.de> for coresystems GmbH)
|
||||
##
|
||||
## 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.
|
||||
##
|
||||
## This program is distributed in the hope that it will be useful,
|
||||
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
## GNU General Public License for more details.
|
||||
##
|
||||
## You should have received a copy of the GNU General Public License
|
||||
## along with this program; if not, write to the Free Software
|
||||
## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
##
|
||||
|
||||
choice
|
||||
prompt "Mainboard model"
|
||||
depends on VENDOR_ADL
|
||||
|
||||
config BOARD_ADL_MSM800SEV
|
||||
bool "msm800sev"
|
||||
select ARCH_X86
|
||||
select CPU_AMD_GEODELX
|
||||
select OPTION_TABLE
|
||||
select NORTHBRIDGE_AMD_GEODELX
|
||||
select SOUTHBRIDGE_AMD_CS5536
|
||||
select SUPERIO_WINBOND_W83627HF
|
||||
help
|
||||
ADL MSM800SEV board
|
||||
endchoice
|
||||
|
||||
source "mainboard/adl/msm800sev/Kconfig"
|
||||
|
||||
45
mainboard/adl/msm800sev/Kconfig
Normal file
45
mainboard/adl/msm800sev/Kconfig
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
##
|
||||
## This file is part of the LinuxBIOS project.
|
||||
##
|
||||
## Copyright (C) 2007 coresystems GmbH
|
||||
## (Written by Stefan Reinauer <stepan@coresystems.de> for coresystems GmbH)
|
||||
##
|
||||
## 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.
|
||||
##
|
||||
## This program is distributed in the hope that it will be useful,
|
||||
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
## GNU General Public License for more details.
|
||||
##
|
||||
## You should have received a copy of the GNU General Public License
|
||||
## along with this program; if not, write to the Free Software
|
||||
## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
##
|
||||
|
||||
config MAINBOARD_NAME
|
||||
string
|
||||
default adl/msm800sev
|
||||
depends BOARD_ADL_MSM800SEV
|
||||
help
|
||||
This is the name for the ADL MSM800SEV
|
||||
|
||||
config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
|
||||
hex
|
||||
default 0x1022
|
||||
depends BOARD_ADL_MSM800SEV
|
||||
help
|
||||
Mainboard specific PCI subsystem vendor ID -- it's wrong.
|
||||
|
||||
config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
|
||||
hex
|
||||
default 0x2323
|
||||
depends ADL_MSM800SEV
|
||||
help
|
||||
Mainboard specific PCI subsystem vendor ID -- it's wrong.
|
||||
|
||||
|
||||
|
||||
|
||||
86
mainboard/adl/msm800sev/Makefile
Normal file
86
mainboard/adl/msm800sev/Makefile
Normal file
|
|
@ -0,0 +1,86 @@
|
|||
##
|
||||
## This file is part of the LinuxBIOS project.
|
||||
##
|
||||
## Copyright (C) 2006-2007 coresystems GmbH
|
||||
## (Written by Stefan Reinauer <stepan@coresystems.de> for coresystems GmbH)
|
||||
##
|
||||
## 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.
|
||||
##
|
||||
## This program is distributed in the hope that it will be useful,
|
||||
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
## GNU General Public License for more details.
|
||||
##
|
||||
## You should have received a copy of the GNU General Public License
|
||||
## along with this program; if not, write to the Free Software
|
||||
## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
##
|
||||
|
||||
$(obj)/linuxbios.vpd:
|
||||
$(Q)printf " BUILD DUMMY VPD\n"
|
||||
$(Q)dd if=/dev/zero of=$(obj)/linuxbios.vpd bs=256 count=1 $(SILENT)
|
||||
|
||||
INITRAM_OBJ=$(obj)/stage0.init $(obj)/stage0.o $(obj)/mainboard/$(MAINBOARDDIR)/initram.o \
|
||||
$(obj)/northbridge/amd/geodelx/raminit.o \
|
||||
$(obj)/southbridge/amd/cs5536/smbus_initram.o \
|
||||
$(obj)/southbridge/amd/cs5536/cs5536_early_setup.o\
|
||||
$(obj)/superio/winbond/w83627hf/w83627hf_early_serial.o\
|
||||
$(obj)/device/pnp_raw.o \
|
||||
$(obj)/arch/x86/geodelx.o
|
||||
$(obj)/linuxbios.initram: $(INITRAM_OBJ)
|
||||
$(Q)# initram links against stage0
|
||||
$(Q)printf " LD $(subst $(shell pwd)/,,$(@))\n"
|
||||
$(Q)$(LD) -R $(obj)/stage0.o -Ttext 0x80000 \
|
||||
$(obj)/mainboard/$(MAINBOARDDIR)/initram.o \
|
||||
$(obj)/northbridge/amd/geodelx/raminit.o \
|
||||
$(obj)/southbridge/amd/cs5536/smbus_initram.o \
|
||||
$(obj)/southbridge/amd/cs5536/cs5536_early_setup.o\
|
||||
$(obj)/superio/winbond/w83627hf/w83627hf_early_serial.o\
|
||||
$(obj)/device/pnp_raw.o \
|
||||
$(obj)/arch/x86/geodelx.o\
|
||||
--entry=main -o $(obj)/linuxbios.initram.o
|
||||
$(Q)printf " OBJCOPY $(subst $(shell pwd)/,,$(@))\n"
|
||||
$(Q)$(OBJCOPY) -O binary $(obj)/linuxbios.initram.o \
|
||||
$(obj)/linuxbios.initram
|
||||
|
||||
#
|
||||
# Miscellaneous important targets.
|
||||
#
|
||||
|
||||
$(obj)/mainboard/$(MAINBOARDDIR)/mainboard.o: $(obj)/mainboard/$(MAINBOARDDIR)/statictree.o
|
||||
|
||||
$(obj)/mainboard/$(MAINBOARDDIR)/statictree.o: $(obj)/mainboard/$(MAINBOARDDIR)/statictree.c $(obj)/statictree.h
|
||||
$(Q)printf " CC $(subst $(shell pwd)/,,$(@))\n"
|
||||
$(Q)$(CC) $(INITCFLAGS) $(LINUXBIOSINCLUDE) -c -o $@ $<
|
||||
|
||||
$(obj)/mainboard/$(MAINBOARDDIR)/statictree.c: $(src)/mainboard/$(MAINBOARDDIR)/dts $(obj)/util/dtc/dtc
|
||||
$(Q)printf " DTC $(subst $(shell pwd)/,,$(@))\n"
|
||||
$(Q)$(obj)/util/dtc/dtc -O lb mainboard/$(MAINBOARDDIR)/dts > $@
|
||||
|
||||
$(obj)/statictree.h: $(src)/mainboard/$(MAINBOARDDIR)/dts $(obj)/util/dtc/dtc
|
||||
$(Q)printf " DTC $(subst $(shell pwd)/,,$(@))\n"
|
||||
$(Q)$(obj)/util/dtc/dtc -O lbh mainboard/$(MAINBOARDDIR)/dts > $@
|
||||
|
||||
$(obj)/mainboard/$(MAINBOARDDIR)/option_table.c: $(obj)/util/options/build_opt_tbl $(src)/mainboard/$(MAINBOARDDIR)/cmos.layout
|
||||
$(Q)printf " OPTIONS $(subst $(shell pwd)/,,$(@))\n"
|
||||
$(Q)mkdir -p $(obj)/mainboard/$(MAINBOARDDIR)
|
||||
$(Q)$(obj)/util/options/build_opt_tbl -b \
|
||||
--config $(src)/mainboard/$(MAINBOARDDIR)/cmos.layout \
|
||||
--option $(obj)/mainboard/$(MAINBOARDDIR)/option_table.c
|
||||
|
||||
$(obj)/option_table: $(obj)/mainboard/$(MAINBOARDDIR)/option_table.o
|
||||
$(Q)printf " OBJCOPY $(subst $(shell pwd)/,,$(@))\n"
|
||||
$(Q)$(OBJCOPY) -O binary $< $@
|
||||
|
||||
STAGE2_MAINBOARD_OBJ = mainboard.o
|
||||
|
||||
STAGE2_CHIPSET_OBJ = $(obj)/arch/x86/geodecpu.o
|
||||
|
||||
$(obj)/mainboard/$(MAINBOARDDIR)/%.o: $(src)/mainboard/$(MAINBOARDDIR)/%.c
|
||||
$(Q)mkdir -p $(obj)/mainboard/$(MAINBOARDDIR)
|
||||
$(Q)printf " CC $(subst $(shell pwd)/,,$(@))\n"
|
||||
$(Q)$(CC) $(INITCFLAGS) -c $< -o $@
|
||||
|
||||
74
mainboard/adl/msm800sev/cmos.layout
Normal file
74
mainboard/adl/msm800sev/cmos.layout
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
entries
|
||||
|
||||
#start-bit length config config-ID name
|
||||
#0 8 r 0 seconds
|
||||
#8 8 r 0 alarm_seconds
|
||||
#16 8 r 0 minutes
|
||||
#24 8 r 0 alarm_minutes
|
||||
#32 8 r 0 hours
|
||||
#40 8 r 0 alarm_hours
|
||||
#48 8 r 0 day_of_week
|
||||
#56 8 r 0 day_of_month
|
||||
#64 8 r 0 month
|
||||
#72 8 r 0 year
|
||||
#80 4 r 0 rate_select
|
||||
#84 3 r 0 REF_Clock
|
||||
#87 1 r 0 UIP
|
||||
#88 1 r 0 auto_switch_DST
|
||||
#89 1 r 0 24_hour_mode
|
||||
#90 1 r 0 binary_values_enable
|
||||
#91 1 r 0 square-wave_out_enable
|
||||
#92 1 r 0 update_finished_enable
|
||||
#93 1 r 0 alarm_interrupt_enable
|
||||
#94 1 r 0 periodic_interrupt_enable
|
||||
#95 1 r 0 disable_clock_updates
|
||||
#96 288 r 0 temporary_filler
|
||||
0 384 r 0 reserved_memory
|
||||
384 1 e 4 boot_option
|
||||
385 1 e 4 last_boot
|
||||
386 1 e 1 ECC_memory
|
||||
388 4 r 0 reboot_bits
|
||||
392 3 e 5 baud_rate
|
||||
400 1 e 1 power_on_after_fail
|
||||
412 4 e 6 debug_level
|
||||
416 4 e 7 boot_first
|
||||
420 4 e 7 boot_second
|
||||
424 4 e 7 boot_third
|
||||
428 4 h 0 boot_index
|
||||
432 8 h 0 boot_countdown
|
||||
1008 16 h 0 check_sum
|
||||
|
||||
enumerations
|
||||
|
||||
#ID value text
|
||||
1 0 Disable
|
||||
1 1 Enable
|
||||
2 0 Enable
|
||||
2 1 Disable
|
||||
4 0 Fallback
|
||||
4 1 Normal
|
||||
5 0 115200
|
||||
5 1 57600
|
||||
5 2 38400
|
||||
5 3 19200
|
||||
5 4 9600
|
||||
5 5 4800
|
||||
5 6 2400
|
||||
5 7 1200
|
||||
6 6 Notice
|
||||
6 7 Info
|
||||
6 8 Debug
|
||||
6 9 Spew
|
||||
7 0 Network
|
||||
7 1 HDD
|
||||
7 2 Floppy
|
||||
7 8 Fallback_Network
|
||||
7 9 Fallback_HDD
|
||||
7 10 Fallback_Floppy
|
||||
#7 3 ROM
|
||||
|
||||
checksums
|
||||
|
||||
checksum 392 1007 1008
|
||||
|
||||
|
||||
47
mainboard/adl/msm800sev/dts
Normal file
47
mainboard/adl/msm800sev/dts
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
/*
|
||||
* This file is part of the LinuxBIOS project.
|
||||
*
|
||||
* Copyright (C) 2007 Ronald G. Minnich <rminnich@gmail.com>
|
||||
* Copyright (C) 2007 coresystems GmbH
|
||||
* (Written by Stefan Reinauer <stepan@coresystems.de> for coresystems GmbH)
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
/{
|
||||
|
||||
cpus {
|
||||
enabled;
|
||||
};
|
||||
domain0 {
|
||||
enabled;
|
||||
pcidomain = "0";
|
||||
device0,0 {
|
||||
enabled;
|
||||
pcipath = "1,0";
|
||||
};
|
||||
southbridge{
|
||||
/config/("southbridge/amd/cs5536");
|
||||
pcipath = "1,1";
|
||||
enabled;
|
||||
};
|
||||
superio {
|
||||
/config/("superio/winbond/w83627hf");
|
||||
com1enable = "1";
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
};
|
||||
76
mainboard/adl/msm800sev/initram.c
Normal file
76
mainboard/adl/msm800sev/initram.c
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
/*
|
||||
* This file is part of the LinuxBIOS project.
|
||||
*
|
||||
* Copyright (C) 2007 Advanced Micro Devices, Inc.
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
#include <types.h>
|
||||
#include <lib.h>
|
||||
#include <console.h>
|
||||
#include <post_code.h>
|
||||
#include <device/device.h>
|
||||
#include <device/pci.h>
|
||||
#include <io.h>
|
||||
#include <device/pnp.h>
|
||||
#include <string.h>
|
||||
#include <msr.h>
|
||||
#include <io.h>
|
||||
#include <amd_geodelx.h>
|
||||
#include <southbridge/amd/cs5536/cs5536.h>
|
||||
#include <northbridge/amd/geodelx/raminit.h>
|
||||
#include <superio/winbond/w83627hf/w83627hf.h>
|
||||
#define SERIAL_DEV 0x30
|
||||
|
||||
#define MANUALCONF 0 /* Do automatic strapped PLL config */
|
||||
#define PLLMSRHI 0x00001490 /* manual settings for the PLL */
|
||||
#define PLLMSRLO 0x02000030
|
||||
#define DIMM0 ((u8) 0xA0)
|
||||
#define DIMM1 ((u8) 0xA2)
|
||||
|
||||
int main(void)
|
||||
{
|
||||
void done_cache_as_ram_main(void);
|
||||
void w83627hf_enable_serial(u8 dev, u8 serial, u16 iobase);
|
||||
post_code(POST_START_OF_MAIN);
|
||||
|
||||
system_preinit();
|
||||
geodelx_msr_init();
|
||||
|
||||
cs5536_early_setup();
|
||||
|
||||
/* NOTE: must do this AFTER the early_setup!
|
||||
* it is counting on some early MSR setup
|
||||
* for cs5536
|
||||
*/
|
||||
cs5536_disable_internal_uart();
|
||||
w83627hf_enable_serial(0x2e, 0x30, 0x3f8);
|
||||
console_init();
|
||||
|
||||
pll_reset(MANUALCONF, PLLMSRHI, PLLMSRLO);
|
||||
|
||||
cpu_reg_init(0, DIMM0, DIMM1);
|
||||
sdram_set_registers();
|
||||
sdram_set_spd_registers(DIMM0, DIMM1);
|
||||
sdram_enable(DIMM0, DIMM1);
|
||||
|
||||
/* Check low memory */
|
||||
//ram_check(0x00000000, 640*1024);
|
||||
|
||||
/* Switch from Cache as RAM to real RAM */
|
||||
printk(BIOS_SPEW, "Before wbinvd\n");
|
||||
__asm__("wbinvd\n");
|
||||
printk(BIOS_SPEW, "After wbinvd\n");
|
||||
}
|
||||
25
mainboard/adl/msm800sev/mainboard.c
Normal file
25
mainboard/adl/msm800sev/mainboard.c
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
/*
|
||||
* This file is part of the LinuxBIOS project.
|
||||
*
|
||||
* Copyright (C) 2007 Ronald G. Minnich <rminnich@gmail.com>
|
||||
* Copyright (C) 2007 coresystems GmbH
|
||||
* (Written by Stefan Reinauer <stepan@coresystems.de> for coresystems GmbH)
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
const char *mainboard_vendor = "Advanced Digital Logic";
|
||||
const char *mainboard_part_number = "MSM800SEV";
|
||||
|
||||
|
|
@ -27,6 +27,7 @@ INITRAM_OBJ=$(obj)/stage0.init $(obj)/stage0.o $(obj)/mainboard/$(MAINBOARDDIR)/
|
|||
$(obj)/northbridge/amd/geodelx/raminit.o \
|
||||
$(obj)/southbridge/amd/cs5536/smbus_initram.o \
|
||||
$(obj)/southbridge/amd/cs5536/cs5536_early_setup.o\
|
||||
$(obj)/device/pnp_raw.o \
|
||||
$(obj)/arch/x86/geodelx.o
|
||||
$(obj)/linuxbios.initram: $(INITRAM_OBJ)
|
||||
$(Q)# initram links against stage0
|
||||
|
|
@ -36,6 +37,7 @@ $(obj)/linuxbios.initram: $(INITRAM_OBJ)
|
|||
$(obj)/northbridge/amd/geodelx/raminit.o \
|
||||
$(obj)/southbridge/amd/cs5536/smbus_initram.o \
|
||||
$(obj)/southbridge/amd/cs5536/cs5536_early_setup.o\
|
||||
$(obj)/device/pnp_raw.o \
|
||||
$(obj)/arch/x86/geodelx.o\
|
||||
--entry=main -o $(obj)/linuxbios.initram.o
|
||||
$(Q)printf " OBJCOPY $(subst $(shell pwd)/,,$(@))\n"
|
||||
|
|
@ -48,14 +50,18 @@ $(obj)/linuxbios.initram: $(INITRAM_OBJ)
|
|||
|
||||
$(obj)/mainboard/$(MAINBOARDDIR)/mainboard.o: $(obj)/mainboard/$(MAINBOARDDIR)/statictree.o
|
||||
|
||||
$(obj)/mainboard/$(MAINBOARDDIR)/statictree.o: $(obj)/mainboard/$(MAINBOARDDIR)/statictree.c
|
||||
$(obj)/mainboard/$(MAINBOARDDIR)/statictree.o: $(obj)/mainboard/$(MAINBOARDDIR)/statictree.c $(obj)/statictree.h
|
||||
$(Q)printf " CC $(subst $(shell pwd)/,,$(@))\n"
|
||||
$(Q)$(CC) $(CFLAGS) $(LINUXBIOSINCLUDE) -c -o $@ $<
|
||||
$(Q)$(CC) $(INITCFLAGS) $(LINUXBIOSINCLUDE) -c -o $@ $<
|
||||
|
||||
$(obj)/mainboard/$(MAINBOARDDIR)/statictree.c: $(src)/mainboard/$(MAINBOARDDIR)/dts $(obj)/util/dtc/dtc
|
||||
$(Q)printf " DTC $(subst $(shell pwd)/,,$(@))\n"
|
||||
$(Q)$(obj)/util/dtc/dtc -O lb mainboard/$(MAINBOARDDIR)/dts > $@
|
||||
|
||||
$(obj)/statictree.h: $(src)/mainboard/$(MAINBOARDDIR)/dts $(obj)/util/dtc/dtc
|
||||
$(Q)printf " DTC $(subst $(shell pwd)/,,$(@))\n"
|
||||
$(Q)$(obj)/util/dtc/dtc -O lbh mainboard/$(MAINBOARDDIR)/dts > $@
|
||||
|
||||
$(obj)/mainboard/$(MAINBOARDDIR)/option_table.c: $(obj)/util/options/build_opt_tbl $(src)/mainboard/$(MAINBOARDDIR)/cmos.layout
|
||||
$(Q)printf " OPTIONS $(subst $(shell pwd)/,,$(@))\n"
|
||||
$(Q)mkdir -p $(obj)/mainboard/$(MAINBOARDDIR)
|
||||
|
|
@ -67,9 +73,9 @@ $(obj)/option_table: $(obj)/mainboard/$(MAINBOARDDIR)/option_table.o
|
|||
$(Q)printf " OBJCOPY $(subst $(shell pwd)/,,$(@))\n"
|
||||
$(Q)$(OBJCOPY) -O binary $< $@
|
||||
|
||||
STAGE2_MAINBOARD_OBJ = mainboard.o vga.o
|
||||
STAGE2_MAINBOARD_OBJ = mainboard.o
|
||||
|
||||
STAGE2_CHIPSET_OBJ =
|
||||
STAGE2_CHIPSET_OBJ = $(obj)/arch/x86/geodecpu.o
|
||||
|
||||
$(obj)/mainboard/$(MAINBOARDDIR)/%.o: $(src)/mainboard/$(MAINBOARDDIR)/%.c
|
||||
$(Q)mkdir -p $(obj)/mainboard/$(MAINBOARDDIR)
|
||||
|
|
|
|||
75
mainboard/amd/norwich/cmos.layout
Normal file
75
mainboard/amd/norwich/cmos.layout
Normal file
|
|
@ -0,0 +1,75 @@
|
|||
entries
|
||||
|
||||
#start-bit length config config-ID name
|
||||
#0 8 r 0 seconds
|
||||
#8 8 r 0 alarm_seconds
|
||||
#16 8 r 0 minutes
|
||||
#24 8 r 0 alarm_minutes
|
||||
#32 8 r 0 hours
|
||||
#40 8 r 0 alarm_hours
|
||||
#48 8 r 0 day_of_week
|
||||
#56 8 r 0 day_of_month
|
||||
#64 8 r 0 month
|
||||
#72 8 r 0 year
|
||||
#80 4 r 0 rate_select
|
||||
#84 3 r 0 REF_Clock
|
||||
#87 1 r 0 UIP
|
||||
#88 1 r 0 auto_switch_DST
|
||||
#89 1 r 0 24_hour_mode
|
||||
#90 1 r 0 binary_values_enable
|
||||
#91 1 r 0 square-wave_out_enable
|
||||
#92 1 r 0 update_finished_enable
|
||||
#93 1 r 0 alarm_interrupt_enable
|
||||
#94 1 r 0 periodic_interrupt_enable
|
||||
#95 1 r 0 disable_clock_updates
|
||||
#96 288 r 0 temporary_filler
|
||||
0 384 r 0 reserved_memory
|
||||
384 1 e 4 boot_option
|
||||
385 1 e 4 last_boot
|
||||
386 1 e 1 ECC_memory
|
||||
388 4 r 0 reboot_bits
|
||||
392 3 e 5 baud_rate
|
||||
400 1 e 1 power_on_after_fail
|
||||
412 4 e 6 debug_level
|
||||
416 4 e 7 boot_first
|
||||
420 4 e 7 boot_second
|
||||
424 4 e 7 boot_third
|
||||
428 4 h 0 boot_index
|
||||
432 8 h 0 boot_countdown
|
||||
440 1 e 0 dcon_present
|
||||
1008 16 h 0 check_sum
|
||||
|
||||
enumerations
|
||||
|
||||
#ID value text
|
||||
1 0 Disable
|
||||
1 1 Enable
|
||||
2 0 Enable
|
||||
2 1 Disable
|
||||
4 0 Fallback
|
||||
4 1 Normal
|
||||
5 0 115200
|
||||
5 1 57600
|
||||
5 2 38400
|
||||
5 3 19200
|
||||
5 4 9600
|
||||
5 5 4800
|
||||
5 6 2400
|
||||
5 7 1200
|
||||
6 6 Notice
|
||||
6 7 Info
|
||||
6 8 Debug
|
||||
6 9 Spew
|
||||
7 0 Network
|
||||
7 1 HDD
|
||||
7 2 Floppy
|
||||
7 8 Fallback_Network
|
||||
7 9 Fallback_HDD
|
||||
7 10 Fallback_Floppy
|
||||
#7 3 ROM
|
||||
|
||||
checksums
|
||||
|
||||
checksum 392 1007 1008
|
||||
|
||||
|
||||
41
mainboard/amd/norwich/dts
Normal file
41
mainboard/amd/norwich/dts
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
/*
|
||||
* This file is part of the LinuxBIOS project.
|
||||
*
|
||||
* Copyright (C) 2007 Ronald G. Minnich <rminnich@gmail.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.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
/{
|
||||
enabled;
|
||||
|
||||
cpus {
|
||||
enabled;
|
||||
};
|
||||
domain0 {
|
||||
enabled;
|
||||
pcidomain = "0";
|
||||
device0,0 {
|
||||
enabled;
|
||||
pcipath = "1,0";
|
||||
};
|
||||
southbridge{
|
||||
/config/("southbridge/amd/cs5536");
|
||||
pcipath = "1,1";
|
||||
enabled;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
};
|
||||
|
|
@ -26,6 +26,7 @@
|
|||
#include <device/pci.h>
|
||||
#include <string.h>
|
||||
#include <msr.h>
|
||||
#include <io.h>
|
||||
#include <amd_geodelx.h>
|
||||
#include <southbridge/amd/cs5536/cs5536.h>
|
||||
#include <northbridge/amd/geodelx/raminit.h>
|
||||
|
|
@ -76,8 +77,6 @@ int main(void)
|
|||
*/
|
||||
cs5536_setup_onchipuart();
|
||||
mb_gpio_init();
|
||||
uart_init();
|
||||
console_init();
|
||||
|
||||
pll_reset(MANUALCONF, PLLMSRHI, PLLMSRLO);
|
||||
|
||||
|
|
|
|||
25
mainboard/amd/norwich/mainboard.c
Normal file
25
mainboard/amd/norwich/mainboard.c
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
/*
|
||||
* This file is part of the LinuxBIOS project.
|
||||
*
|
||||
* Copyright (C) 2007 Ronald G. Minnich <rminnich@gmail.com>
|
||||
* Copyright (C) 2007 coresystems GmbH
|
||||
* (Written by Stefan Reinauer <stepan@coresystems.de> for coresystems GmbH)
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
const char *mainboard_vendor = "AMD";
|
||||
const char *mainboard_part_number = "Norwich";
|
||||
|
||||
|
|
@ -57,7 +57,7 @@ $(obj)/mainboard/$(MAINBOARDDIR)/statictree.o: $(obj)/mainboard/$(MAINBOARDDIR)/
|
|||
$(Q)$(CC) $(INITCFLAGS) $(LINUXBIOSINCLUDE) -c -o $@ $<
|
||||
|
||||
$(obj)/statictree.h: $(src)/mainboard/$(MAINBOARDDIR)/dts $(obj)/util/dtc/dtc
|
||||
$(Q)printf " DTC (static.h) $(subst $(shell pwd)/,,$(@))\n"
|
||||
$(Q)printf " DTC $(subst $(shell pwd)/,,$(@))\n"
|
||||
$(Q)$(obj)/util/dtc/dtc -O lbh mainboard/$(MAINBOARDDIR)/dts > $@
|
||||
|
||||
$(obj)/mainboard/$(MAINBOARDDIR)/statictree.c: $(src)/mainboard/$(MAINBOARDDIR)/dts $(obj)/util/dtc/dtc $(obj)/statictree.h
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@
|
|||
enabled;
|
||||
pcipath = "0,0";
|
||||
};
|
||||
southbridge,intel,piix4{
|
||||
southbridge,intel,i82371eb{
|
||||
/config/("southbridge/intel/i82371eb");
|
||||
pcipath = "1,0";
|
||||
enabled;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue