Isaac Christensen (isaac.christensen@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@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@se-eng.com Reviewed-on: https://gerrit.chromium.org/gerrit/66519 Reviewed-by: Duncan Laurie dlaurie@chromium.org Reviewed-by: Dylan Reid dgreid@chromium.org Commit-Queue: Duncan Laurie dlaurie@chromium.org (cherry picked from commit c072543946b317192a8e80a744c1515deb414456) Signed-off-by: Isaac Christensen isaac.christensen@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)