Hello,

Following patch moves the PHY fine tune settings into devicetree.cb. Suited for AMD SB7xx. Please change the default settings for Gigabyte and Jetway.

Signed-off-by: Rudolf Marek <[email protected]>

Untested I can test on monday evening.

Thanks,
Rudolf
Index: src/southbridge/amd/sb700/sb700_sata.c
===================================================================
--- src/southbridge/amd/sb700/sb700_sata.c.orig	2010-08-22 11:54:20.000000000 +0200
+++ src/southbridge/amd/sb700/sb700_sata.c	2010-08-22 11:54:40.000000000 +0200
@@ -62,9 +62,7 @@
 	u32 sata_bar5;
 	u16 sata_bar0, sata_bar1, sata_bar2, sata_bar3, sata_bar4;
 	int i, j;
-
-	struct southbridge_ati_sb700_config *conf;
-	conf = dev->chip_info;
+	struct southbridge_amd_sb700_config *conf = dev->chip_info;
 
 	device_t sm_dev;
 	/* SATA SMBus Disable */
@@ -167,20 +165,20 @@
 	pci_write_config16(dev, 0x86, word);
 
 	/* RPR7.6.2 SATA GENI PHY ports setting */
-	pci_write_config32(dev, 0x88, 0x01B48017);
-	pci_write_config32(dev, 0x8c, 0x01B48019);
-	pci_write_config32(dev, 0x90, 0x01B48016);
-	pci_write_config32(dev, 0x94, 0x01B48016);
-	pci_write_config32(dev, 0x98, 0x01B48016);
-	pci_write_config32(dev, 0x9C, 0x01B48016);
+	pci_write_config32(dev, 0x88, conf->sphy15_p0);
+	pci_write_config32(dev, 0x8c, conf->sphy15_p1);
+	pci_write_config32(dev, 0x90, conf->sphy15_p2);
+	pci_write_config32(dev, 0x94, conf->sphy15_p3);
+	pci_write_config32(dev, 0x98, conf->sphy15_p4);
+	pci_write_config32(dev, 0x9C, conf->sphy15_p5);
 
 	/* RPR7.6.3 SATA GEN II PHY port setting for port [0~5]. */
-	pci_write_config16(dev, 0xA0, 0xA09A);
-	pci_write_config16(dev, 0xA2, 0xA09F);
-	pci_write_config16(dev, 0xA4, 0xA07A);
-	pci_write_config16(dev, 0xA6, 0xA07A);
-	pci_write_config16(dev, 0xA8, 0xA07A);
-	pci_write_config16(dev, 0xAA, 0xA07A);
+	pci_write_config16(dev, 0xA0, conf->sphy30_p0);
+	pci_write_config16(dev, 0xA2, conf->sphy30_p1);
+	pci_write_config16(dev, 0xA4, conf->sphy30_p2);
+	pci_write_config16(dev, 0xA6, conf->sphy30_p3);
+	pci_write_config16(dev, 0xA8, conf->sphy30_p4);
+	pci_write_config16(dev, 0xAA, conf->sphy30_p5);
 
 	/* Enable the I/O, MM, BusMaster access for SATA */
 	byte = pci_read_config8(dev, 0x4);
Index: src/southbridge/amd/sb700/chip.h
===================================================================
--- src/southbridge/amd/sb700/chip.h.orig	2010-08-22 11:54:20.000000000 +0200
+++ src/southbridge/amd/sb700/chip.h	2010-08-22 12:12:45.000000000 +0200
@@ -26,6 +26,18 @@
 	u32 sata0_enable : 1;
 	u32 boot_switch_sata_ide : 1;
 	u32 hda_viddid;
+	u32 sphy15_p0;
+	u32 sphy15_p1;
+	u32 sphy15_p2;
+	u32 sphy15_p3;
+	u32 sphy15_p4;
+	u32 sphy15_p5;
+	u32 sphy30_p0;
+	u32 sphy30_p1;
+	u32 sphy30_p2;
+	u32 sphy30_p3;
+	u32 sphy30_p4;
+	u32 sphy30_p5;
 };
 struct chip_operations;
 extern struct chip_operations southbridge_amd_sb700_ops;
Index: src/mainboard/asrock/939a785gmh/devicetree.cb
===================================================================
--- src/mainboard/asrock/939a785gmh/devicetree.cb.orig	2010-08-22 11:54:20.000000000 +0200
+++ src/mainboard/asrock/939a785gmh/devicetree.cb	2010-08-22 12:12:45.000000000 +0200
@@ -120,6 +120,19 @@
 					register "sata0_enable" = "1"
 					register "boot_switch_sata_ide" = "0"	# 0: boot from SATA. 1: IDE
 					register "hda_viddid" = "0x10ec0882"
+					# SATA PHY fine tune, depends on PCB layout!
+					register "sphy15_p0" = "0x01b48016"
+					register "sphy15_p1" = "0x01b48016"
+					register "sphy15_p2" = "0x01b48016"
+					register "sphy15_p3" = "0x01b48016"
+					register "sphy15_p4" = "0x01b48016"
+					register "sphy15_p5" = "0x01b48016"
+					register "sphy30_p0" = "0xa07a"
+					register "sphy30_p1" = "0xa07a"
+					register "sphy30_p2" = "0xa07a"
+					register "sphy30_p3" = "0xa07a"
+					register "sphy30_p4" = "0xa07a"
+					register "sphy30_p5" = "0xa0ff"
 				end	#southbridge/amd/sb700
 			end #  device pci 18.0
 
Index: src/mainboard/gigabyte/ma78gm/devicetree.cb
===================================================================
--- src/mainboard/gigabyte/ma78gm/devicetree.cb.orig	2010-08-22 11:54:20.000000000 +0200
+++ src/mainboard/gigabyte/ma78gm/devicetree.cb	2010-08-22 12:12:45.000000000 +0200
@@ -101,6 +101,19 @@
 					register "sata0_enable" = "1"
 					register "boot_switch_sata_ide" = "0"	# 0: boot from SATA. 1: IDE
 					register "hda_viddid" = "0x10ec0882"
+					# SATA PHY fine tune, depends on PCB layout!
+					register "sphy15_p0" = "0x01b48017"
+					register "sphy15_p1" = "0x01b48019"
+					register "sphy15_p2" = "0x01b48016"
+					register "sphy15_p3" = "0x01b48016"
+					register "sphy15_p4" = "0x01b48016"
+					register "sphy15_p5" = "0x01b48016"
+					register "sphy30_p0" = "0xa09a"
+					register "sphy30_p1" = "0xa09f"
+					register "sphy30_p2" = "0xa07a"
+					register "sphy30_p3" = "0xa07a"
+					register "sphy30_p4" = "0xa07a"
+					register "sphy30_p5" = "0xa07a"
 				end	#southbridge/amd/sb700
 			end #  device pci 18.0
 
Index: src/mainboard/gigabyte/ma785gmt/devicetree.cb
===================================================================
--- src/mainboard/gigabyte/ma785gmt/devicetree.cb.orig	2010-08-22 11:54:20.000000000 +0200
+++ src/mainboard/gigabyte/ma785gmt/devicetree.cb	2010-08-22 12:12:45.000000000 +0200
@@ -102,6 +102,19 @@
 					register "sata0_enable" = "1"
 					register "boot_switch_sata_ide" = "0"	# 0: boot from SATA. 1: IDE
 					register "hda_viddid" = "0x10ec0882"
+					# SATA PHY fine tune, depends on PCB layout!
+					register "sphy15_p0" = "0x01b48017"
+					register "sphy15_p1" = "0x01b48019"
+					register "sphy15_p2" = "0x01b48016"
+					register "sphy15_p3" = "0x01b48016"
+					register "sphy15_p4" = "0x01b48016"
+					register "sphy15_p5" = "0x01b48016"
+					register "sphy30_p0" = "0xa09a"
+					register "sphy30_p1" = "0xa09f"
+					register "sphy30_p2" = "0xa07a"
+					register "sphy30_p3" = "0xa07a"
+					register "sphy30_p4" = "0xa07a"
+					register "sphy30_p5" = "0xa07a"
 				end	#southbridge/amd/sb700
 			end #  device pci 18.0
 
Index: src/mainboard/amd/mahogany/devicetree.cb
===================================================================
--- src/mainboard/amd/mahogany/devicetree.cb.orig	2010-08-22 11:54:20.000000000 +0200
+++ src/mainboard/amd/mahogany/devicetree.cb	2010-08-22 12:12:45.000000000 +0200
@@ -110,6 +110,19 @@
 					register "sata0_enable" = "1"
 					register "boot_switch_sata_ide" = "0"	# 0: boot from SATA. 1: IDE
 					register "hda_viddid" = "0x10ec0882"
+					# SATA PHY fine tune, depends on PCB layout!
+					register "sphy15_p0" = "0x01b48017"
+					register "sphy15_p1" = "0x01b48019"
+					register "sphy15_p2" = "0x01b48016"
+					register "sphy15_p3" = "0x01b48016"
+					register "sphy15_p4" = "0x01b48016"
+					register "sphy15_p5" = "0x01b48016"
+					register "sphy30_p0" = "0xa09a"
+					register "sphy30_p1" = "0xa09f"
+					register "sphy30_p2" = "0xa07a"
+					register "sphy30_p3" = "0xa07a"
+					register "sphy30_p4" = "0xa07a"
+					register "sphy30_p5" = "0xa07a"
 				end	#southbridge/amd/sb700
 			end #  device pci 18.0
 
Index: src/mainboard/amd/mahogany_fam10/devicetree.cb
===================================================================
--- src/mainboard/amd/mahogany_fam10/devicetree.cb.orig	2010-08-22 11:54:20.000000000 +0200
+++ src/mainboard/amd/mahogany_fam10/devicetree.cb	2010-08-22 12:12:45.000000000 +0200
@@ -101,6 +101,19 @@
 					register "sata0_enable" = "1"
 					register "boot_switch_sata_ide" = "0"	# 0: boot from SATA. 1: IDE
 					register "hda_viddid" = "0x10ec0882"
+					# SATA PHY fine tune, depends on PCB layout!
+					register "sphy15_p0" = "0x01b48017"
+					register "sphy15_p1" = "0x01b48019"
+					register "sphy15_p2" = "0x01b48016"
+					register "sphy15_p3" = "0x01b48016"
+					register "sphy15_p4" = "0x01b48016"
+					register "sphy15_p5" = "0x01b48016"
+					register "sphy30_p0" = "0xa09a"
+					register "sphy30_p1" = "0xa09f"
+					register "sphy30_p2" = "0xa07a"
+					register "sphy30_p3" = "0xa07a"
+					register "sphy30_p4" = "0xa07a"
+					register "sphy30_p5" = "0xa07a"
 				end	#southbridge/amd/sb700
 			end #  device pci 18.0
 
Index: src/mainboard/amd/tilapia_fam10/devicetree.cb
===================================================================
--- src/mainboard/amd/tilapia_fam10/devicetree.cb.orig	2010-08-22 11:54:20.000000000 +0200
+++ src/mainboard/amd/tilapia_fam10/devicetree.cb	2010-08-22 12:12:45.000000000 +0200
@@ -102,6 +102,19 @@
 					register "sata0_enable" = "1"
 					register "boot_switch_sata_ide" = "0"	# 0: boot from SATA. 1: IDE
 					register "hda_viddid" = "0x10ec0882"
+					# SATA PHY fine tune, depends on PCB layout!
+					register "sphy15_p0" = "0x01b48017"
+					register "sphy15_p1" = "0x01b48019"
+					register "sphy15_p2" = "0x01b48016"
+					register "sphy15_p3" = "0x01b48016"
+					register "sphy15_p4" = "0x01b48016"
+					register "sphy15_p5" = "0x01b48016"
+					register "sphy30_p0" = "0xa09a"
+					register "sphy30_p1" = "0xa09f"
+					register "sphy30_p2" = "0xa07a"
+					register "sphy30_p3" = "0xa07a"
+					register "sphy30_p4" = "0xa07a"
+					register "sphy30_p5" = "0xa07a"
 				end	#southbridge/amd/sb700
 			end #  device pci 18.0
 
Index: src/mainboard/jetway/pa78vm5/devicetree.cb
===================================================================
--- src/mainboard/jetway/pa78vm5/devicetree.cb.orig	2010-08-22 12:13:07.000000000 +0200
+++ src/mainboard/jetway/pa78vm5/devicetree.cb	2010-08-22 12:13:16.000000000 +0200
@@ -101,6 +101,19 @@
 					register "sata0_enable" = "1"
 					register "boot_switch_sata_ide" = "0"	# 0: boot from SATA. 1: IDE
 					register "hda_viddid" = "0x10ec0882"
+					# SATA PHY fine tune, depends on PCB layout!
+					register "sphy15_p0" = "0x01b48017"
+					register "sphy15_p1" = "0x01b48019"
+					register "sphy15_p2" = "0x01b48016"
+					register "sphy15_p3" = "0x01b48016"
+					register "sphy15_p4" = "0x01b48016"
+					register "sphy15_p5" = "0x01b48016"
+					register "sphy30_p0" = "0xa09a"
+					register "sphy30_p1" = "0xa09f"
+					register "sphy30_p2" = "0xa07a"
+					register "sphy30_p3" = "0xa07a"
+					register "sphy30_p4" = "0xa07a"
+					register "sphy30_p5" = "0xa07a"
 				end	#southbridge/amd/sb700
 			end #  device pci 18.0
 
-- 
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to