[linux-yocto] [PATCH 14/15] drivers/misc: Update the Axxia PEI Driver

Daniel Dragomir daniel.dragomir at windriver.com
Wed Aug 2 05:46:49 PDT 2017


From: John Jacques <john.jacques at intel.com>

Handle resets correctly for configuration 5.

Signed-off-by: John Jacques <john.jacques at intel.com>
---
 drivers/misc/axxia-pei.c | 40 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

diff --git a/drivers/misc/axxia-pei.c b/drivers/misc/axxia-pei.c
index 623a82c..44c298b2 100644
--- a/drivers/misc/axxia-pei.c
+++ b/drivers/misc/axxia-pei.c
@@ -2022,6 +2022,46 @@ pei_reset_56xx(enum PCIMode mode, unsigned int control)
 
 		ncr_write32(NCP_REGION_ID(0x115, 0), 0, ctrl0);
 		break;
+	case 5:
+		/*
+		  SRIO1x2 (HSS10-ch0,1)
+		  SRIO0x2 (HSS11-ch0,1)
+		  PEI1x2  (HSS12-ch0,1)
+		  PEI2x2  (HSS13-ch0,1)
+		*/
+
+		switch (mode) {
+		case PEI1:
+			enable_reset(2);
+			ctrl0 &= ~(1 << 1);
+			break;
+		case PEI2:
+			enable_reset(3);
+			ctrl0 &= ~(1 << 2);
+			break;
+		default:
+			pr_err("Invalid PEI for mode %d!\n",
+			       get_config(control));
+			return -1;
+		}
+
+		ncr_write32(NCP_REGION_ID(0x115, 0), 0, ctrl0);
+
+		switch (mode) {
+		case PEI1:
+			release_reset(2);
+			ctrl0 |= (1 << 1);
+			break;
+		case PEI2:
+			release_reset(3);
+			ctrl0 |= (1 << 2);
+			break;
+		default:
+			break;
+		}
+
+		ncr_write32(NCP_REGION_ID(0x115, 0), 0, ctrl0);
+		break;
 
 		/* Undocumented Configurations */
 
-- 
2.7.4



More information about the linux-yocto mailing list