summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruce Griffith <Bruce.Griffith@se-eng.com>2013-06-25 14:01:21 -0600
committerStefan Reinauer <stefan.reinauer@coreboot.org>2013-06-28 01:40:03 +0200
commit21d6fd9d7819ffbf5416e612d7db87a0afd4d29a (patch)
treea206c0710ac6afb7d2caa878c4363b73752cf305
parentf9ba7bb4f95f9b8f2626d6c8c23adbd145903fff (diff)
downloadcoreboot-21d6fd9d7819ffbf5416e612d7db87a0afd4d29a.tar.xz
AMD SB700 boards: Set Azalia configuration flags
The existing code for setting Azalia configuration assumes that the configuration bits are contiguous within a single byte and can be set using a byte copy addressed into the lowest 2-bit subfield. The fix in Family 14 defines a union that can be addressed as a byte to overlay the bit fields. Since the offset of the four subfields is not necessarily fixed, change the code to initialize each of the four subfields individually. Change-Id: I1dff20bb8bd3e1bcd8b4e6b0537e20779d2a3521 Signed-off-by: Bruce Griffith <Bruce.Griffith@se-eng.com> Reviewed-on: http://review.coreboot.org/3544 Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Tested-by: build bot (Jenkins) Reviewed-by: Zheng Bao <zheng.bao@amd.com> Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
-rw-r--r--src/mainboard/amd/dinar/sb700_cfg.c5
-rw-r--r--src/mainboard/amd/dinar/sb700_cfg.h6
-rw-r--r--src/mainboard/supermicro/h8qgi/sb700_cfg.c5
-rw-r--r--src/mainboard/supermicro/h8qgi/sb700_cfg.h6
-rw-r--r--src/mainboard/supermicro/h8scm/sb700_cfg.c5
-rw-r--r--src/mainboard/supermicro/h8scm/sb700_cfg.h6
6 files changed, 27 insertions, 6 deletions
diff --git a/src/mainboard/amd/dinar/sb700_cfg.c b/src/mainboard/amd/dinar/sb700_cfg.c
index 94e4b40fda..c9a094943c 100644
--- a/src/mainboard/amd/dinar/sb700_cfg.c
+++ b/src/mainboard/amd/dinar/sb700_cfg.c
@@ -126,7 +126,10 @@ void sb700_cimx_config(AMDSBCFG *sb_config)
/* Azalia HDA */
sb_config->AzaliaController = AZALIA_CONTROLLER;
sb_config->AzaliaPinCfg = AZALIA_PIN_CONFIG;
- sb_config->AzaliaSdin0 = AZALIA_SDIN_PIN;
+ sb_config->AzaliaSdin0 = AZALIA_SDIN_PIN_0;
+ sb_config->AzaliaSdin1 = AZALIA_SDIN_PIN_1;
+ sb_config->AzaliaSdin2 = AZALIA_SDIN_PIN_2;
+ sb_config->AzaliaSdin3 = AZALIA_SDIN_PIN_3;
sb_config->pAzaliaOemCodecTablePtr = NULL;
#ifndef __PRE_RAM__
diff --git a/src/mainboard/amd/dinar/sb700_cfg.h b/src/mainboard/amd/dinar/sb700_cfg.h
index 371c7ce774..216c264535 100644
--- a/src/mainboard/amd/dinar/sb700_cfg.h
+++ b/src/mainboard/amd/dinar/sb700_cfg.h
@@ -192,7 +192,11 @@
*/
#ifndef AZALIA_SDIN_PIN
//#define AZALIA_SDIN_PIN 0xAA
-#define AZALIA_SDIN_PIN 0x2A
+#define AZALIA_SDIN_PIN
+#define AZALIA_SDIN_PIN_0 0x2
+#define AZALIA_SDIN_PIN_1 0x2
+#define AZALIA_SDIN_PIN_2 0x2
+#define AZALIA_SDIN_PIN_3 0x0
#endif
/**
diff --git a/src/mainboard/supermicro/h8qgi/sb700_cfg.c b/src/mainboard/supermicro/h8qgi/sb700_cfg.c
index 54c139ab13..ff2334f4e5 100644
--- a/src/mainboard/supermicro/h8qgi/sb700_cfg.c
+++ b/src/mainboard/supermicro/h8qgi/sb700_cfg.c
@@ -126,7 +126,10 @@ void sb700_cimx_config(AMDSBCFG *sb_config)
/* Azalia HDA */
sb_config->AzaliaController = AZALIA_CONTROLLER;
sb_config->AzaliaPinCfg = AZALIA_PIN_CONFIG;
- sb_config->AzaliaSdin0 = AZALIA_SDIN_PIN;
+ sb_config->AzaliaSdin0 = AZALIA_SDIN_PIN_0;
+ sb_config->AzaliaSdin1 = AZALIA_SDIN_PIN_1;
+ sb_config->AzaliaSdin2 = AZALIA_SDIN_PIN_2;
+ sb_config->AzaliaSdin3 = AZALIA_SDIN_PIN_3;
sb_config->pAzaliaOemCodecTablePtr = NULL;
#ifndef __PRE_RAM__
diff --git a/src/mainboard/supermicro/h8qgi/sb700_cfg.h b/src/mainboard/supermicro/h8qgi/sb700_cfg.h
index a3e5a389c6..1df3fc5ea9 100644
--- a/src/mainboard/supermicro/h8qgi/sb700_cfg.h
+++ b/src/mainboard/supermicro/h8qgi/sb700_cfg.h
@@ -192,7 +192,11 @@
*/
#ifndef AZALIA_SDIN_PIN
//#define AZALIA_SDIN_PIN 0xAA
-#define AZALIA_SDIN_PIN 0x2A
+#define AZALIA_SDIN_PIN
+#define AZALIA_SDIN_PIN_0 0x2
+#define AZALIA_SDIN_PIN_1 0x2
+#define AZALIA_SDIN_PIN_2 0x2
+#define AZALIA_SDIN_PIN_3 0x0
#endif
/**
diff --git a/src/mainboard/supermicro/h8scm/sb700_cfg.c b/src/mainboard/supermicro/h8scm/sb700_cfg.c
index 12169e6be4..c03a501379 100644
--- a/src/mainboard/supermicro/h8scm/sb700_cfg.c
+++ b/src/mainboard/supermicro/h8scm/sb700_cfg.c
@@ -126,7 +126,10 @@ void sb700_cimx_config(AMDSBCFG *sb_config)
/* Azalia HDA */
sb_config->AzaliaController = AZALIA_CONTROLLER;
sb_config->AzaliaPinCfg = AZALIA_PIN_CONFIG;
- sb_config->AzaliaSdin0 = AZALIA_SDIN_PIN;
+ sb_config->AzaliaSdin0 = AZALIA_SDIN_PIN_0;
+ sb_config->AzaliaSdin1 = AZALIA_SDIN_PIN_1;
+ sb_config->AzaliaSdin2 = AZALIA_SDIN_PIN_2;
+ sb_config->AzaliaSdin3 = AZALIA_SDIN_PIN_3;
sb_config->pAzaliaOemCodecTablePtr = NULL;
#ifndef __PRE_RAM__
diff --git a/src/mainboard/supermicro/h8scm/sb700_cfg.h b/src/mainboard/supermicro/h8scm/sb700_cfg.h
index eca355f969..40c89fa59f 100644
--- a/src/mainboard/supermicro/h8scm/sb700_cfg.h
+++ b/src/mainboard/supermicro/h8scm/sb700_cfg.h
@@ -192,7 +192,11 @@
*/
#ifndef AZALIA_SDIN_PIN
//#define AZALIA_SDIN_PIN 0xAA
-#define AZALIA_SDIN_PIN 0x2A
+#define AZALIA_SDIN_PIN
+#define AZALIA_SDIN_PIN_0 0x2
+#define AZALIA_SDIN_PIN_1 0x2
+#define AZALIA_SDIN_PIN_2 0x2
+#define AZALIA_SDIN_PIN_3 0x0
#endif
/**