[coreboot-gerrit] New patch to review for coreboot: bd82x6x/early_pch: iobp: use known names instead of magic constants

Felix Held (felix-coreboot@felixheld.de) gerrit at coreboot.org
Tue Aug 16 22:57:29 CEST 2016


Felix Held (felix-coreboot at felixheld.de) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/16214

-gerrit

commit d116af8aa8d03f1b8131810a8b91c84bc2dda320
Author: Felix Held <felix-coreboot at felixheld.de>
Date:   Sun Aug 14 13:25:39 2016 +0200

    bd82x6x/early_pch: iobp: use known names instead of magic constants
    
    Change-Id: I91a828ed076ca10733b47db876fabf5adaa63638
    Signed-off-by: Felix Held <felix-coreboot at felixheld.de>
---
 src/southbridge/intel/bd82x6x/early_pch.c | 155 +++++++++++++++---------------
 1 file changed, 78 insertions(+), 77 deletions(-)

diff --git a/src/southbridge/intel/bd82x6x/early_pch.c b/src/southbridge/intel/bd82x6x/early_pch.c
index 21a996d..dff8bf8 100644
--- a/src/southbridge/intel/bd82x6x/early_pch.c
+++ b/src/southbridge/intel/bd82x6x/early_pch.c
@@ -31,39 +31,40 @@
 #define SOUTHBRIDGE PCI_DEV(0, 0x1f, 0)
 
 static void
-wait_2338 (void)
+wait_iobp(void)
 {
-	while (read8 (DEFAULT_RCBA + 0x2338) & 1);
+	while (read8(DEFAULT_RCBA + IOBPS) & 1)
+		; //implement timeout?
 }
 
 static u32
-read_2338 (u32 edx)
+read_iobp(u32 edx)
 {
 	u32 ret;
 
-	write32 (DEFAULT_RCBA + 0x2330, edx);
-	write16 (DEFAULT_RCBA + 0x2338, (read16 (DEFAULT_RCBA + 0x2338)
+	write32(DEFAULT_RCBA + IOBPIRI, edx);
+	write16(DEFAULT_RCBA + IOBPS, (read16(DEFAULT_RCBA + IOBPS)
 					 & 0x1ff) | 0x600);
-	wait_2338 ();
-	ret = read32 (DEFAULT_RCBA + 0x2334);
-	wait_2338 ();
-	read8 (DEFAULT_RCBA + 0x2338);
+	wait_iobp();
+	ret = read32(DEFAULT_RCBA + IOBPD);
+	wait_iobp();
+	read8(DEFAULT_RCBA + IOBPS); //call wait_iobp() instead here?
 	return ret;
 }
 
 static void
-write_2338 (u32 edx, u32 val)
+write_iobp(u32 edx, u32 val)
 {
-	read_2338 (edx);
-	write16 (DEFAULT_RCBA + 0x2338, (read16 (DEFAULT_RCBA + 0x2338)
+	read_iobp(edx);
+	write16(DEFAULT_RCBA + IOBPS, (read16(DEFAULT_RCBA + IOBPS)
 					 & 0x1ff) | 0x600);
-	wait_2338 ();
+	wait_iobp();
 
-	write32 (DEFAULT_RCBA + 0x2334, val);
-	wait_2338 ();
-	write16 (DEFAULT_RCBA + 0x2338,
-		 (read16 (DEFAULT_RCBA + 0x2338) & 0x1ff) | 0x600);
-	read8 (DEFAULT_RCBA + 0x2338);
+	write32(DEFAULT_RCBA + IOBPD, val);
+	wait_iobp();
+	write16(DEFAULT_RCBA + IOBPS,
+		 (read16(DEFAULT_RCBA + IOBPS) & 0x1ff) | 0x600);
+	read8(DEFAULT_RCBA + IOBPS); //call wait_iobp() instead here?
 }
 
 
@@ -304,67 +305,67 @@ early_pch_init_native (void)
 	read32 (DEFAULT_RCBA + 0x2310);	// !!! = 0xa809605b
 	write32 (DEFAULT_RCBA + 0x2310, 0xa809605b);
 
-	write_2338 (0xea007f62, 0x00590133);
-	write_2338 (0xec007f62, 0x00590133);
-	write_2338 (0xec007f64, 0x59555588);
-	write_2338 (0xea0040b9, 0x0001051c);
-	write_2338 (0xeb0040a1, 0x800084ff);
-	write_2338 (0xec0040a1, 0x800084ff);
-	write_2338 (0xea004001, 0x00008400);
-	write_2338 (0xeb004002, 0x40201758);
-	write_2338 (0xec004002, 0x40201758);
-	write_2338 (0xea004002, 0x00601758);
-	write_2338 (0xea0040a1, 0x810084ff);
-	write_2338 (0xeb0040b1, 0x0001c598);
-	write_2338 (0xec0040b1, 0x0001c598);
-	write_2338 (0xeb0040b6, 0x0001c598);
-	write_2338 (0xea0000a9, 0x80ff969f);
-	write_2338 (0xea0001a9, 0x80ff969f);
-	write_2338 (0xeb0040b2, 0x0001c396);
-	write_2338 (0xeb0040b3, 0x0001c396);
-	write_2338 (0xec0040b2, 0x0001c396);
-	write_2338 (0xea0001a9, 0x80ff94ff);
-	write_2338 (0xea000151, 0x0088037f);
-	write_2338 (0xea0000a9, 0x80ff94ff);
-	write_2338 (0xea000051, 0x0088037f);
+	write_iobp(0xea007f62, 0x00590133);
+	write_iobp(0xec007f62, 0x00590133);
+	write_iobp(0xec007f64, 0x59555588);
+	write_iobp(0xea0040b9, 0x0001051c);
+	write_iobp(0xeb0040a1, 0x800084ff);
+	write_iobp(0xec0040a1, 0x800084ff);
+	write_iobp(0xea004001, 0x00008400);
+	write_iobp(0xeb004002, 0x40201758);
+	write_iobp(0xec004002, 0x40201758);
+	write_iobp(0xea004002, 0x00601758);
+	write_iobp(0xea0040a1, 0x810084ff);
+	write_iobp(0xeb0040b1, 0x0001c598);
+	write_iobp(0xec0040b1, 0x0001c598);
+	write_iobp(0xeb0040b6, 0x0001c598);
+	write_iobp(0xea0000a9, 0x80ff969f);
+	write_iobp(0xea0001a9, 0x80ff969f);
+	write_iobp(0xeb0040b2, 0x0001c396);
+	write_iobp(0xeb0040b3, 0x0001c396);
+	write_iobp(0xec0040b2, 0x0001c396);
+	write_iobp(0xea0001a9, 0x80ff94ff);
+	write_iobp(SATA_IOBP_SP0G3IR, 0x0088037f);
+	write_iobp(0xea0000a9, 0x80ff94ff);
+	write_iobp(SATA_IOBP_SP1G3IR, 0x0088037f);
 
-	write_2338 (0xea007f05, 0x00010642);
-	write_2338 (0xea0040b7, 0x0001c91c);
-	write_2338 (0xea0040b8, 0x0001c91c);
-	write_2338 (0xeb0040a1, 0x820084ff);
-	write_2338 (0xec0040a1, 0x820084ff);
-	write_2338 (0xea007f0a, 0xc2480000);
+	write_iobp(0xea007f05, 0x00010642);
+	write_iobp(0xea0040b7, 0x0001c91c);
+	write_iobp(0xea0040b8, 0x0001c91c);
+	write_iobp(0xeb0040a1, 0x820084ff);
+	write_iobp(0xec0040a1, 0x820084ff);
+	write_iobp(0xea007f0a, 0xc2480000);
 
-	write_2338 (0xec00404d, 0x1ff177f);
-	write_2338 (0xec000084, 0x5a600000);
-	write_2338 (0xec000184, 0x5a600000);
-	write_2338 (0xec000284, 0x5a600000);
-	write_2338 (0xec000384, 0x5a600000);
-	write_2338 (0xec000094, 0x000f0501);
-	write_2338 (0xec000194, 0x000f0501);
-	write_2338 (0xec000294, 0x000f0501);
-	write_2338 (0xec000394, 0x000f0501);
-	write_2338 (0xec000096, 0x00000001);
-	write_2338 (0xec000196, 0x00000001);
-	write_2338 (0xec000296, 0x00000001);
-	write_2338 (0xec000396, 0x00000001);
-	write_2338 (0xec000001, 0x00008c08);
-	write_2338 (0xec000101, 0x00008c08);
-	write_2338 (0xec000201, 0x00008c08);
-	write_2338 (0xec000301, 0x00008c08);
-	write_2338 (0xec0040b5, 0x0001c518);
-	write_2338 (0xec000087, 0x06077597);
-	write_2338 (0xec000187, 0x06077597);
-	write_2338 (0xec000287, 0x06077597);
-	write_2338 (0xec000387, 0x06077597);
-	write_2338 (0xea000050, 0x00bb0157);
-	write_2338 (0xea000150, 0x00bb0157);
-	write_2338 (0xec007f60, 0x77777d77);
-	write_2338 (0xea00008d, 0x01320000);
-	write_2338 (0xea00018d, 0x01320000);
-	write_2338 (0xec0007b2, 0x04514b5e);
-	write_2338 (0xec00078c, 0x40000200);
-	write_2338 (0xec000780, 0x02000020);
+	write_iobp(0xec00404d, 0x1ff177f);
+	write_iobp(0xec000084, 0x5a600000);
+	write_iobp(0xec000184, 0x5a600000);
+	write_iobp(0xec000284, 0x5a600000);
+	write_iobp(0xec000384, 0x5a600000);
+	write_iobp(0xec000094, 0x000f0501);
+	write_iobp(0xec000194, 0x000f0501);
+	write_iobp(0xec000294, 0x000f0501);
+	write_iobp(0xec000394, 0x000f0501);
+	write_iobp(0xec000096, 0x00000001);
+	write_iobp(0xec000196, 0x00000001);
+	write_iobp(0xec000296, 0x00000001);
+	write_iobp(0xec000396, 0x00000001);
+	write_iobp(0xec000001, 0x00008c08);
+	write_iobp(0xec000101, 0x00008c08);
+	write_iobp(0xec000201, 0x00008c08);
+	write_iobp(0xec000301, 0x00008c08);
+	write_iobp(0xec0040b5, 0x0001c518);
+	write_iobp(0xec000087, 0x06077597);
+	write_iobp(0xec000187, 0x06077597);
+	write_iobp(0xec000287, 0x06077597);
+	write_iobp(0xec000387, 0x06077597);
+	write_iobp(0xea000050, 0x00bb0157);
+	write_iobp(0xea000150, 0x00bb0157);
+	write_iobp(0xec007f60, 0x77777d77);
+	write_iobp(0xea00008d, 0x01320000);
+	write_iobp(0xea00018d, 0x01320000);
+	write_iobp(0xec0007b2, 0x04514b5e);
+	write_iobp(0xec00078c, 0x40000200);
+	write_iobp(0xec000780, 0x02000020);
 
 	init_dmi();
 }



More information about the coreboot-gerrit mailing list