[coreboot-gerrit] New patch to review for coreboot: c062c8b slippy/flaco/peppy: setup beep verbs

Isaac Christensen (isaac.christensen@se-eng.com) gerrit at coreboot.org
Tue Aug 5 20:52:40 CEST 2014


Isaac Christensen (isaac.christensen at se-eng.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/6502

-gerrit

commit c062c8bcde8e51fa2ff7cebe57e5460833d30a1b
Author: Marc Jones <marc.jones at se-eng.com>
Date:   Wed Aug 21 05:21:21 2013 -0600

    slippy/flaco/peppy: setup beep verbs
    
    Add verb setting for beep during recovery and dev mode.
    Requires depthcharge CL.
    
    Change-Id: I13cbb4e889ebc4c27bb4ab9fa49601b03e872d09
    Signed-off-by: Marc Jones <marc.jones at se-eng.com>
    Reviewed-on: https://gerrit.chromium.org/gerrit/66519
    Reviewed-by: Duncan Laurie <dlaurie at chromium.org>
    Reviewed-by: Dylan Reid <dgreid at chromium.org>
    Commit-Queue: Duncan Laurie <dlaurie at chromium.org>
    (cherry picked from commit c072543946b317192a8e80a744c1515deb414456)
    Signed-off-by: Isaac Christensen <isaac.christensen at se-eng.com>
---
 src/mainboard/google/falco/hda_verb.h   | 20 +++++++++++++++++++-
 src/mainboard/google/falco/mainboard.c  |  5 +++++
 src/mainboard/google/peppy/hda_verb.h   | 20 +++++++++++++++++++-
 src/mainboard/google/peppy/mainboard.c  |  5 +++++
 src/mainboard/google/slippy/hda_verb.h  | 20 +++++++++++++++++++-
 src/mainboard/google/slippy/mainboard.c |  5 +++++
 6 files changed, 72 insertions(+), 3 deletions(-)

diff --git a/src/mainboard/google/falco/hda_verb.h b/src/mainboard/google/falco/hda_verb.h
index f27480d..ba0da1c 100644
--- a/src/mainboard/google/falco/hda_verb.h
+++ b/src/mainboard/google/falco/hda_verb.h
@@ -21,7 +21,7 @@ static const u32 mainboard_cim_verb_data[] = {
 	/* coreboot specific header */
 	0x10ec0283,	// Codec Vendor / Device ID: Realtek ALC283
 	0x10ec0283,	// Subsystem ID
-	0x0000000b,	// Number of jacks (NID entries)
+	0x0000000c,	// Number of jacks (NID entries)
 
 	/* NID 0x01, HDA Codec Subsystem ID Verb Table: 0x10ec0283 */
 	0x00172083,
@@ -91,4 +91,22 @@ static const u32 mainboard_cim_verb_data[] = {
 	0x02171e21, // HPOut, 1/8 stereo
 	0x02171f03, // connector, left panel
 
+	/* Undocumented settings from Realtek (needed for beep_gen) */
+	/* Widget node 0x20 */
+	0x02050010,
+	0x02040c20,
+	0x0205001b,
+	0x0204081b,
 };
+
+static const u32 mainboard_pc_beep_verbs[] = {
+	0x00170500,	/* power up everything (codec, dac, adc, mixers)  */
+	0x01470740,	/* enable speaker out */
+	0x01470c02,	/* set speaker EAPD pin */
+	0x0143b01f,	/* unmute speaker */
+	0x00c37100,	/* unmute mixer nid 0xc input 1 */
+	0x00b37410,	/* unmute mixer nid 0xb beep input and set volume */
+};
+
+static const u32 mainboard_pc_beep_verbs_size =
+	sizeof(mainboard_pc_beep_verbs) / sizeof(mainboard_pc_beep_verbs[0]);
diff --git a/src/mainboard/google/falco/mainboard.c b/src/mainboard/google/falco/mainboard.c
index 39a85ff..26fd6ab 100644
--- a/src/mainboard/google/falco/mainboard.c
+++ b/src/mainboard/google/falco/mainboard.c
@@ -135,11 +135,16 @@ static int int15_handler(void)
 
 extern const u32 * cim_verb_data;
 extern u32 cim_verb_data_size;
+extern const u32 * pc_beep_verbs;
+extern u32 pc_beep_verbs_size;
 
 static void verb_setup(void)
 {
 	cim_verb_data = mainboard_cim_verb_data;
 	cim_verb_data_size = sizeof(mainboard_cim_verb_data);
+	pc_beep_verbs = mainboard_pc_beep_verbs;
+	pc_beep_verbs_size = mainboard_pc_beep_verbs_size;
+
 }
 
 static void mainboard_init(device_t dev)
diff --git a/src/mainboard/google/peppy/hda_verb.h b/src/mainboard/google/peppy/hda_verb.h
index d3a63bf..ec1b57d 100644
--- a/src/mainboard/google/peppy/hda_verb.h
+++ b/src/mainboard/google/peppy/hda_verb.h
@@ -21,7 +21,7 @@ static const u32 mainboard_cim_verb_data[] = {
 	/* coreboot specific header */
 	0x10ec0283,	// Codec Vendor / Device ID: Realtek ALC283
 	0x10ec0283,	// Subsystem ID
-	0x0000000b,	// Number of jacks (NID entries)
+	0x0000000c,	// Number of jacks (NID entries)
 
 	/* Bits 31:28 - Codec Address */
 	/* Bits 27:20 - NID */
@@ -96,4 +96,22 @@ static const u32 mainboard_cim_verb_data[] = {
 	0x02171e21, // HPOut, 3.5mm Jack
 	0x02171f03, // connector, left panel
 
+	/* Undocumented settings from Realtek (needed for beep_gen) */
+	/* Widget node 0x20 */
+	0x02050010,
+	0x02040c20,
+	0x0205001b,
+	0x0204081b,
 };
+
+static const u32 mainboard_pc_beep_verbs[] = {
+	0x00170500,	/* power up everything (codec, dac, adc, mixers)  */
+	0x01470740,	/* enable speaker out */
+	0x01470c02,	/* set speaker EAPD pin */
+	0x0143b01f,	/* unmute speaker */
+	0x00c37100,	/* unmute mixer nid 0xc input 1 */
+	0x00b37410,	/* unmute mixer nid 0xb beep input and set volume */
+};
+
+static const u32 mainboard_pc_beep_verbs_size =
+	sizeof(mainboard_pc_beep_verbs) / sizeof(mainboard_pc_beep_verbs[0]);
diff --git a/src/mainboard/google/peppy/mainboard.c b/src/mainboard/google/peppy/mainboard.c
index 39a85ff..26fd6ab 100644
--- a/src/mainboard/google/peppy/mainboard.c
+++ b/src/mainboard/google/peppy/mainboard.c
@@ -135,11 +135,16 @@ static int int15_handler(void)
 
 extern const u32 * cim_verb_data;
 extern u32 cim_verb_data_size;
+extern const u32 * pc_beep_verbs;
+extern u32 pc_beep_verbs_size;
 
 static void verb_setup(void)
 {
 	cim_verb_data = mainboard_cim_verb_data;
 	cim_verb_data_size = sizeof(mainboard_cim_verb_data);
+	pc_beep_verbs = mainboard_pc_beep_verbs;
+	pc_beep_verbs_size = mainboard_pc_beep_verbs_size;
+
 }
 
 static void mainboard_init(device_t dev)
diff --git a/src/mainboard/google/slippy/hda_verb.h b/src/mainboard/google/slippy/hda_verb.h
index f27480d..ba0da1c 100644
--- a/src/mainboard/google/slippy/hda_verb.h
+++ b/src/mainboard/google/slippy/hda_verb.h
@@ -21,7 +21,7 @@ static const u32 mainboard_cim_verb_data[] = {
 	/* coreboot specific header */
 	0x10ec0283,	// Codec Vendor / Device ID: Realtek ALC283
 	0x10ec0283,	// Subsystem ID
-	0x0000000b,	// Number of jacks (NID entries)
+	0x0000000c,	// Number of jacks (NID entries)
 
 	/* NID 0x01, HDA Codec Subsystem ID Verb Table: 0x10ec0283 */
 	0x00172083,
@@ -91,4 +91,22 @@ static const u32 mainboard_cim_verb_data[] = {
 	0x02171e21, // HPOut, 1/8 stereo
 	0x02171f03, // connector, left panel
 
+	/* Undocumented settings from Realtek (needed for beep_gen) */
+	/* Widget node 0x20 */
+	0x02050010,
+	0x02040c20,
+	0x0205001b,
+	0x0204081b,
 };
+
+static const u32 mainboard_pc_beep_verbs[] = {
+	0x00170500,	/* power up everything (codec, dac, adc, mixers)  */
+	0x01470740,	/* enable speaker out */
+	0x01470c02,	/* set speaker EAPD pin */
+	0x0143b01f,	/* unmute speaker */
+	0x00c37100,	/* unmute mixer nid 0xc input 1 */
+	0x00b37410,	/* unmute mixer nid 0xb beep input and set volume */
+};
+
+static const u32 mainboard_pc_beep_verbs_size =
+	sizeof(mainboard_pc_beep_verbs) / sizeof(mainboard_pc_beep_verbs[0]);
diff --git a/src/mainboard/google/slippy/mainboard.c b/src/mainboard/google/slippy/mainboard.c
index 39a85ff..26fd6ab 100644
--- a/src/mainboard/google/slippy/mainboard.c
+++ b/src/mainboard/google/slippy/mainboard.c
@@ -135,11 +135,16 @@ static int int15_handler(void)
 
 extern const u32 * cim_verb_data;
 extern u32 cim_verb_data_size;
+extern const u32 * pc_beep_verbs;
+extern u32 pc_beep_verbs_size;
 
 static void verb_setup(void)
 {
 	cim_verb_data = mainboard_cim_verb_data;
 	cim_verb_data_size = sizeof(mainboard_cim_verb_data);
+	pc_beep_verbs = mainboard_pc_beep_verbs;
+	pc_beep_verbs_size = mainboard_pc_beep_verbs_size;
+
 }
 
 static void mainboard_init(device_t dev)



More information about the coreboot-gerrit mailing list