[coreboot] Dual SPI Flash

2012-02-23 Thread Oliver Schinagl

Hi list,

I noticed an intersting hack on the coreboot wiki: 
http://www.coreboot.org/Developer_Manual/Tools/Dual_Flash


It lists a neat trick to double stack two spi flash modules to make 
testing/developping/flashing coreboot easier. However there's no 
schematic or other information available on how to actually build this 
setup. Could the author possibly supply this extra information? Since 
not even the resitor values or switch connection is documented.


Thanks,

Oliver

--
coreboot mailing list: coreboot@coreboot.org
http://www.coreboot.org/mailman/listinfo/coreboot


[coreboot] Patch set updated for coreboot: 3dea10d Auto-generate bootblock initialisation

2012-02-23 Thread kyosti.mal...@gmail.com
Kyösti Mälkki (kyosti.mal...@gmail.com) just uploaded a new patch set to 
gerrit, which you can find at http://review.coreboot.org/473

-gerrit

commit 3dea10d666a76c3f81dca0ba5381709d0f277044
Author: Kyösti Mälkki kyosti.mal...@gmail.com
Date:   Sun Dec 4 21:35:38 2011 +0200

Auto-generate bootblock initialisation

The following chip-specific functions were renamed to include
chip name in the function:
  - bootblock_northbridge_init
  - bootblock_southbridge_init

The following no-operation bootblock.c files were removed:
  - northbridge/amd/agesa/family10/bootblock.c
  - northbridge/amd/agesa/family12/bootblock.c
  - northbridge/amd/agesa/family14/bootblock.c

A new init function called from bootblock is declared as:
  - unsigned long init_mainboard(int bsp_cpu)

For BSP CPU bootblock calls init_mainboard(true). For AP CPUs bootblock
calls init_mainboard(false). Usually AP CPU has nothing to do here.

By default, build toolchain creates and includes an init_mainboard()
function in file build/mainboard/x/x/bootblock_autogen.h that executes
init functions from any bootblock.c files for all chips listed in
mainboard/devtree.cb.

Alternatively a mainboard/x/x/bootblock.c file is added in the
bootblock build, if a Kconfig option HAS_MAINBOARD_BOOTBLOCK is set.
One should copy the auto-generated init_mainboard() to this file,
and optionally read various bootstrap signals or status bits from
super-io and southbridge component to gain some control over the
selection of romstage to boot via the return value.

Samples of such (yet not implemented) controls for boot behaviour:
  - Reset CMOS to defaults on user request (jumper).
  - Use fallback prefix after power-button 4s override.
  - Refuse boot after intruder detection.
  - On remote wakeup, request network boot.

Change-Id: Ib1d101cdd68993530c9c7a653ac000a01de52ac2
Signed-off-by: Kyösti Mälkki kyosti.mal...@gmail.com
---
 src/arch/x86/Kconfig   |7 +
 src/arch/x86/Makefile.inc  |9 +-
 src/arch/x86/include/bootblock_common.h|   17 +-
 src/arch/x86/init/bootblock_normal.c   |8 +++---
 src/arch/x86/init/bootblock_simple.c   |   10 
 src/mainboard/hp/dl165_g6_fam10/Kconfig|5 +---
 src/mainboard/hp/dl165_g6_fam10/bootblock.c|   10 +++-
 src/northbridge/amd/agesa/family10/Kconfig |3 --
 src/northbridge/amd/agesa/family10/bootblock.c |   29 
 src/northbridge/amd/agesa/family12/Kconfig |4 ---
 src/northbridge/amd/agesa/family12/bootblock.c |   29 
 src/northbridge/amd/agesa/family14/Kconfig |4 ---
 src/northbridge/amd/agesa/family14/bootblock.c |   29 
 src/northbridge/amd/amdfam10/Kconfig   |4 ---
 src/northbridge/amd/amdfam10/bootblock.c   |2 +-
 src/northbridge/amd/amdk8/Kconfig  |4 ---
 src/northbridge/amd/amdk8/bootblock.c  |2 +-
 src/southbridge/amd/amd8111/Kconfig|4 ---
 src/southbridge/amd/amd8111/bootblock.c|2 +-
 src/southbridge/amd/cimx/sb800/Kconfig |3 --
 src/southbridge/amd/cimx/sb800/bootblock.c |2 +-
 src/southbridge/amd/cimx/sb900/Kconfig |3 --
 src/southbridge/amd/cimx/sb900/bootblock.c |2 +-
 src/southbridge/amd/sb600/Kconfig  |3 --
 src/southbridge/amd/sb600/bootblock.c  |2 +-
 src/southbridge/amd/sb700/Kconfig  |5 
 src/southbridge/amd/sb700/bootblock.c  |2 +-
 src/southbridge/amd/sb800/Kconfig  |5 
 src/southbridge/amd/sb800/bootblock.c  |2 +-
 src/southbridge/broadcom/bcm5785/Kconfig   |4 ---
 src/southbridge/broadcom/bcm5785/bootblock.c   |2 +-
 src/southbridge/intel/i82371eb/Kconfig |5 
 src/southbridge/intel/i82371eb/bootblock.c |2 +-
 src/southbridge/intel/i82801gx/Kconfig |5 
 src/southbridge/intel/i82801gx/bootblock.c |2 +-
 src/southbridge/nvidia/ck804/Kconfig   |6 ++--
 src/southbridge/nvidia/ck804/bootblock.c   |2 +-
 src/southbridge/nvidia/mcp55/Kconfig   |6 ++--
 src/southbridge/nvidia/mcp55/bootblock.c   |2 +-
 src/southbridge/sis/sis966/Kconfig |7 +++--
 src/southbridge/sis/sis966/bootblock.c |2 +-
 src/southbridge/via/vt8237r/Kconfig|4 ---
 src/southbridge/via/vt8237r/bootblock.c|2 +-
 43 files changed, 54 insertions(+), 208 deletions(-)

diff --git a/src/arch/x86/Kconfig b/src/arch/x86/Kconfig
index e71d0f3..07ad95f 100644
--- a/src/arch/x86/Kconfig
+++ b/src/arch/x86/Kconfig
@@ -67,8 +67,8 @@ config PC80_SYSTEM
bool
default y
 
-config BOOTBLOCK_NORTHBRIDGE_INIT
-   string
+config 

Re: [coreboot] Asus M2V-MX memory init

2012-02-23 Thread Darmawan Salihun
Hi guys,

Does this have something to do with remapping the RAM shadowed by
PCI devices to above 4GB?

Anyway, I haven't know yet whether Coreboot remaps RAM shadowed by
PCI devices.

Regards,

Darmawan

On 2/22/12, Peter Stuge pe...@stuge.se wrote:
 David Hillman wrote:
 It looks like I am missing something to properly initialize memory
 to get correct SPD info.  Maybe SMBUS isn't working properly?

 I think SMBUS is OK and memory init too. Here's the diff between your
 two logs with some comments, but there may be more relevant stuff
 than what I see.

 Next time when posting logs please make sure that they do not wrap.
 One good way is to send them as attachments, under all circumstances
 with text/plain mime type.


 --- m2v_mx-2g 2012-02-22 04:13:21.309138502 +0100
 +++ m2v_mx-4g 2012-02-22 04:13:02.663139149 +0100
 @@ -1,4 +1,4 @@
 -coreboot-4.0-2000-g91be49b-dirty Mon Feb 20 22:44:53 EST 2012 starting...
 +coreboot-4.0-2000-g91be49b-dirty Wed Feb 15 22:11:37 EST 2012 starting...
  now booting...
  Enabling routing table for node 00 done.
  Enabling UP settings
 @@ -47,16 +47,21 @@
  sdram_set_spd_registers: paramx :000ceee8
  Device error
  Device error
 -Device error
 +Enabling dual channel memory
  Unbuffered
  400MHz
  400MHz
  Interleaved
 -RAM end at 0x0020 kB
 +RAM end at 0x0040 kB
  Ram3
  IN TEST WAKEUP
  800Initializing memory:  done
  Setting variable MTRR 2, base:0MB, range: 2048MB, type WB
 +Setting variable MTRR 3, base: 2048MB, range: 1024MB, type WB
 +Setting variable MTRR 4, base: 3072MB, range:  512MB, type WB
 +Setting variable MTRR 5, base: 3584MB, range:  256MB, type WB
 +Setting variable MTRR 6, base: 3840MB, range:  128MB, type WB
 +Setting variable MTRR 7, base: 3968MB, range:   64MB, type WB
  DQS Training:RcvrEn:Pass1: 00
   CTLRMaxDelay=1d
   done
 @@ -68,41 +73,45 @@
  TrainDQSPos: MutualCSPassW[48] :000ce828
  TrainDQSPos: MutualCSPassW[48] :000ce828
  TrainDQSPos: MutualCSPassW[48] :000ce828
 +TrainDQSPos: MutualCSPassW[48] :000ce828
 +TrainDQSPos: MutualCSPassW[48] :000ce828
 +TrainDQSPos: MutualCSPassW[48] :000ce828
 +TrainDQSPos: MutualCSPassW[48] :000ce828
   done
  DQS Training:RcvrEn:Pass2: 00
 - CTLRMaxDelay=43
 + CTLRMaxDelay=34
   done
  DQS SAVE NVRAM: c2000
  Writing 113222 of size 4 to nvram pos: 0
 -Writing 17161515 of size 4 to nvram pos: 4
 +Writing 17151515 of size 4 to nvram pos: 4
  Writing 17171615 of size 4 to nvram pos: 8
  Writing 15 of size 1 to nvram pos: 12
  Writing 202520 of size 4 to nvram pos: 13
 -Writing 17171918 of size 4 to nvram pos: 17
 -Writing 17191718 of size 4 to nvram pos: 21
 +Writing 18171819 of size 4 to nvram pos: 17
 +Writing 18181718 of size 4 to nvram pos: 21
  Writing 17 of size 1 to nvram pos: 25
 -Writing 33 of size 1 to nvram pos: 26
 +Writing 32 of size 1 to nvram pos: 26
  Writing 0 of size 1 to nvram pos: 27
  Writing 0 of size 1 to nvram pos: 28
  Writing 0 of size 1 to nvram pos: 29
 -Writing 111222 of size 4 to nvram pos: 30
 -Writing 0 of size 4 to nvram pos: 34
 -Writing 0 of size 4 to nvram pos: 38
 -Writing 0 of size 1 to nvram pos: 42
 -Writing 0 of size 4 to nvram pos: 43
 -Writing 2f2f2f2f of size 4 to nvram pos: 47
 -Writing 2f2f2f2f of size 4 to nvram pos: 51
 -Writing 0 of size 1 to nvram pos: 55
 -Writing 43 of size 1 to nvram pos: 56
 +Writing 113222 of size 4 to nvram pos: 30
 +Writing 15141615 of size 4 to nvram pos: 34
 +Writing 15141515 of size 4 to nvram pos: 38
 +Writing 15 of size 1 to nvram pos: 42
 +Writing 202520 of size 4 to nvram pos: 43
 +Writing 17191818 of size 4 to nvram pos: 47
 +Writing 18191716 of size 4 to nvram pos: 51
 +Writing 16 of size 1 to nvram pos: 55
 +Writing 34 of size 1 to nvram pos: 56
  Writing 0 of size 1 to nvram pos: 57
  Writing 0 of size 1 to nvram pos: 58
  Writing 0 of size 1 to nvram pos: 59
 -Writing 741080ab of size 4 to nvram pos: 60
 -DQS Training:tsc[00]=5eac6acb
 -DQS Training:tsc[01]=6087914d
 -DQS Training:tsc[02]=60879156
 -DQS Training:tsc[03]=df309c2e
 -DQS Training:tsc[04]=f2a194b3
 +Writing 7410809b of size 4 to nvram pos: 60
 +DQS Training:tsc[00]=8cbdd63c
 +DQS Training:tsc[01]=8f476e2e
 +DQS Training:tsc[02]=8f476e37
 +DQS Training:tsc[03]=00015b152149
 +DQS Training:tsc[04]=00016daed79e
  Ram4
  v_esp=000cef28
  testx = 5a5a5a5a
 @@ -121,7 +130,7 @@
  0x10
  Stage: done loading.
  Jumping to image.
 -coreboot-4.0-2000-g91be49b-dirty Mon Feb 20 22:44:53 EST 2012 booting...
 +coreboot-4.0-2000-g91be49b-dirty Wed Feb 15 22:11:37 EST 2012 booting...
  Enumerating buses...
  Show all devs...Before device enumeration.
  Root Device: enabled 1
 @@ -147,7 +156,7 @@
  PNP: 002e.8: enabled 0
  PNP: 002e.9: enabled 0
  PNP: 002e.a: enabled 0
 -PCI: 00:12.0: enabled 0
 +PCI: 00:12.0: enabled 1

 Why is 12.0 enabled with 4G? What is 12.0?


  PCI: 00:13.0: enabled 1
  PCI: 00:13.1: enabled 1
  PCI: 00:18.1: enabled 1
 @@ -177,7 +186,7 @@
  PNP: 002e.8: enabled 0
 

[coreboot] Patch set updated for coreboot: 0e08243 Auto-generate bootblock initialisation

2012-02-23 Thread kyosti.mal...@gmail.com
Kyösti Mälkki (kyosti.mal...@gmail.com) just uploaded a new patch set to 
gerrit, which you can find at http://review.coreboot.org/473

-gerrit

commit 0e0824334189ff17f31d211c5488b86206c61035
Author: Kyösti Mälkki kyosti.mal...@gmail.com
Date:   Thu Feb 23 14:17:53 2012 +0200

Auto-generate bootblock initialisation

The following chip-specific functions were renamed to include
chip name in the function:
  - bootblock_northbridge_init
  - bootblock_southbridge_init

The following no-operation bootblock.c files were removed:
  - northbridge/amd/agesa/family10/bootblock.c
  - northbridge/amd/agesa/family12/bootblock.c
  - northbridge/amd/agesa/family14/bootblock.c
  - northbridge/amd/agesa/family15/bootblock.c

A new init function called from bootblock is declared as:
  - unsigned long init_mainboard(int bsp_cpu)

For BSP CPU bootblock calls init_mainboard(true). For AP CPUs bootblock
calls init_mainboard(false). Usually AP CPU has nothing to do here.

By default, build toolchain creates and includes an init_mainboard()
function in file build/mainboard/x/x/bootblock_autogen.h that executes
init functions from any bootblock.c files for all chips listed in
mainboard/devtree.cb.

Alternatively a mainboard/x/x/bootblock.c file is added in the
bootblock build, if a Kconfig option HAS_MAINBOARD_BOOTBLOCK is set.
One should copy the auto-generated init_mainboard() to this file,
and optionally read various bootstrap signals or status bits from
super-io and southbridge component to gain some control over the
selection of romstage to boot via the return value.

Samples of such (yet not implemented) controls for boot behaviour:
  - Reset CMOS to defaults on user request (jumper).
  - Use fallback prefix after power-button 4s override.
  - Refuse boot after intruder detection.
  - On remote wakeup, request network boot.

Change-Id: Ib1d101cdd68993530c9c7a653ac000a01de52ac2
Signed-off-by: Kyösti Mälkki kyosti.mal...@gmail.com
---
 src/arch/x86/Kconfig   |7 +
 src/arch/x86/Makefile.inc  |9 +-
 src/arch/x86/include/bootblock_common.h|   17 +-
 src/arch/x86/init/bootblock_normal.c   |8 +++---
 src/arch/x86/init/bootblock_simple.c   |   10 
 src/mainboard/hp/dl165_g6_fam10/Kconfig|5 +---
 src/mainboard/hp/dl165_g6_fam10/bootblock.c|   10 +++-
 src/northbridge/amd/agesa/family10/Kconfig |3 --
 src/northbridge/amd/agesa/family10/bootblock.c |   29 
 src/northbridge/amd/agesa/family12/Kconfig |4 ---
 src/northbridge/amd/agesa/family12/bootblock.c |   29 
 src/northbridge/amd/agesa/family14/Kconfig |4 ---
 src/northbridge/amd/agesa/family14/bootblock.c |   29 
 src/northbridge/amd/agesa/family15/Kconfig |3 --
 src/northbridge/amd/agesa/family15/bootblock.c |   25 
 src/northbridge/amd/amdfam10/Kconfig   |4 ---
 src/northbridge/amd/amdfam10/bootblock.c   |2 +-
 src/northbridge/amd/amdk8/Kconfig  |4 ---
 src/northbridge/amd/amdk8/bootblock.c  |2 +-
 src/southbridge/amd/amd8111/Kconfig|4 ---
 src/southbridge/amd/amd8111/bootblock.c|2 +-
 src/southbridge/amd/cimx/sb700/Kconfig |3 --
 src/southbridge/amd/cimx/sb700/bootblock.c |2 +-
 src/southbridge/amd/cimx/sb800/Kconfig |3 --
 src/southbridge/amd/cimx/sb800/bootblock.c |2 +-
 src/southbridge/amd/cimx/sb900/Kconfig |3 --
 src/southbridge/amd/cimx/sb900/bootblock.c |2 +-
 src/southbridge/amd/sb600/Kconfig  |3 --
 src/southbridge/amd/sb600/bootblock.c  |2 +-
 src/southbridge/amd/sb700/Kconfig  |5 
 src/southbridge/amd/sb700/bootblock.c  |2 +-
 src/southbridge/amd/sb800/Kconfig  |5 
 src/southbridge/amd/sb800/bootblock.c  |2 +-
 src/southbridge/broadcom/bcm5785/Kconfig   |4 ---
 src/southbridge/broadcom/bcm5785/bootblock.c   |2 +-
 src/southbridge/intel/i82371eb/Kconfig |5 
 src/southbridge/intel/i82371eb/bootblock.c |2 +-
 src/southbridge/intel/i82801gx/Kconfig |5 
 src/southbridge/intel/i82801gx/bootblock.c |2 +-
 src/southbridge/nvidia/ck804/Kconfig   |6 ++--
 src/southbridge/nvidia/ck804/bootblock.c   |2 +-
 src/southbridge/nvidia/mcp55/Kconfig   |6 ++--
 src/southbridge/nvidia/mcp55/bootblock.c   |2 +-
 src/southbridge/sis/sis966/Kconfig |7 +++--
 src/southbridge/sis/sis966/bootblock.c |2 +-
 src/southbridge/via/vt8237r/Kconfig|4 ---
 src/southbridge/via/vt8237r/bootblock.c|2 +-
 47 files changed, 55 

[coreboot] New patch to review for coreboot: aafcf93 Ati video: Apply un-written naming rules

2012-02-23 Thread kyosti.mal...@gmail.com
Kyösti Mälkki (kyosti.mal...@gmail.com) just uploaded a new patch set to 
gerrit, which you can find at http://review.coreboot.org/678

-gerrit

commit aafcf93e1a8d5b51ccdf4e7f4bd62de5a5c81f15
Author: Kyösti Mälkki kyosti.mal...@gmail.com
Date:   Thu Feb 23 13:54:23 2012 +0200

Ati video: Apply un-written naming rules

Rename Kconfig to match directory name.

Change-Id: Idebc203bbc9a02599dfc3e65be021aa9e1b23d61
Signed-off-by: Kyösti Mälkki kyosti.mal...@gmail.com
---
 src/drivers/ati/ragexl/Kconfig  |2 +-
 src/drivers/ati/ragexl/Makefile.inc |2 +-
 src/mainboard/intel/jarrell/Kconfig |2 +-
 src/mainboard/iwill/dk8s2/Kconfig   |2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/drivers/ati/ragexl/Kconfig b/src/drivers/ati/ragexl/Kconfig
index 117aa66..86109b1 100644
--- a/src/drivers/ati/ragexl/Kconfig
+++ b/src/drivers/ati/ragexl/Kconfig
@@ -1,2 +1,2 @@
-config ATI_RAGE_XL
+config DRIVERS_ATI_RAGEXL
bool
diff --git a/src/drivers/ati/ragexl/Makefile.inc 
b/src/drivers/ati/ragexl/Makefile.inc
index 107885e..8b59597 100644
--- a/src/drivers/ati/ragexl/Makefile.inc
+++ b/src/drivers/ati/ragexl/Makefile.inc
@@ -1 +1 @@
-driver-$(CONFIG_ATI_RAGE_XL) += xlinit.c
+driver-$(CONFIG_DRIVERS_ATI_RAGEXL) += xlinit.c
diff --git a/src/mainboard/intel/jarrell/Kconfig 
b/src/mainboard/intel/jarrell/Kconfig
index 282ec4b..a3c34f4 100644
--- a/src/mainboard/intel/jarrell/Kconfig
+++ b/src/mainboard/intel/jarrell/Kconfig
@@ -15,7 +15,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
select HAVE_MP_TABLE
select UDELAY_TSC
select USE_WATCHDOG_ON_BOOT
-   select ATI_RAGE_XL
+   select DRIVERS_ATI_RAGEXL
select BOARD_ROMSIZE_KB_2048
 
 config MAINBOARD_DIR
diff --git a/src/mainboard/iwill/dk8s2/Kconfig 
b/src/mainboard/iwill/dk8s2/Kconfig
index f9f1b57..1c35cb2 100644
--- a/src/mainboard/iwill/dk8s2/Kconfig
+++ b/src/mainboard/iwill/dk8s2/Kconfig
@@ -14,7 +14,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
select HAVE_MP_TABLE
select SB_HT_CHAIN_UNITID_OFFSET_ONLY
select WAIT_BEFORE_CPUS_INIT
-   select ATI_RAGE_XL
+   select DRIVERS_ATI_RAGEXL
select BOARD_ROMSIZE_KB_512
select RAMINIT_SYSINFO
select QRANK_DIMM_SUPPORT

-- 
coreboot mailing list: coreboot@coreboot.org
http://www.coreboot.org/mailman/listinfo/coreboot

Re: [coreboot] Dual SPI Flash

2012-02-23 Thread Peter Stuge
Oliver Schinagl wrote:
 I noticed an intersting hack on the coreboot wiki: 
 http://www.coreboot.org/Developer_Manual/Tools/Dual_Flash

 It lists a neat trick to double stack two spi flash modules to make 
 testing/developping/flashing coreboot easier. However there's no
 schematic or other information available on how to actually build
 this setup. Could the author possibly supply this extra information?
 Since not even the resitor values or switch connection is documented.

I'm not the author but there is documentation at

http://stuge.se/m57sli/

for what is called the simple modification.

Resistor values are generally not critical and the switch connection
should be obvious after study of the flash chip data sheet.


//Peter

-- 
coreboot mailing list: coreboot@coreboot.org
http://www.coreboot.org/mailman/listinfo/coreboot