diff options
author | Jonathon Hall <jonathon.hall@puri.sm> | 2023-09-27 09:38:57 -0400 |
---|---|---|
committer | Matt DeVillier <matt.devillier@gmail.com> | 2023-10-20 14:20:30 +0000 |
commit | 484b24234c4f517478cbadae110a1c0ecd0142c0 (patch) | |
tree | 048f38eda841f226c90730e0f7578575a8a71e12 | |
parent | 960209e7ee27834ba433d6459fc3a7ee26349107 (diff) |
mb/purism/librem_cnl: Add ALC269 and adjust GPIOs for Librem 14 v1-02
The next board revision of Librem 14 (v1-02) has replaced the ALC256
codec with ALC269. Add verbs for it.
Two GPIOs were changed from SMBus native functions to NC for this
revision. They are not used on either revision, change to NC.
Change-Id: I43b6265d2f502c05d5539ff3abf53ade0da6d706
Signed-off-by: Jonathon Hall <jonathon.hall@puri.sm>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/78347
Reviewed-by: Matt DeVillier <matt.devillier@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
-rw-r--r-- | src/mainboard/purism/librem_cnl/variants/librem_14/gpio.c | 8 | ||||
-rw-r--r-- | src/mainboard/purism/librem_cnl/variants/librem_14/hda_verb.c | 44 |
2 files changed, 46 insertions, 6 deletions
diff --git a/src/mainboard/purism/librem_cnl/variants/librem_14/gpio.c b/src/mainboard/purism/librem_cnl/variants/librem_14/gpio.c index a12a305275..e5c1a6f528 100644 --- a/src/mainboard/purism/librem_cnl/variants/librem_14/gpio.c +++ b/src/mainboard/purism/librem_cnl/variants/librem_14/gpio.c @@ -460,11 +460,11 @@ static const struct pad_config gpio_table[] = { /* GPP_C5 - NC */ PAD_NC(GPP_C5, NONE), - /* GPP_C6 - SMBL1CLK */ - PAD_CFG_NF(GPP_C6, NONE, DEEP, NF1), + /* GPP_C6 - NC */ + PAD_NC(GPP_C6, NONE), - /* GPP_C7 - SMBL1DATA */ - PAD_CFG_NF(GPP_C7, NONE, DEEP, NF1), + /* GPP_C7 - NC */ + PAD_NC(GPP_C7, NONE), /* GPP_C8 - NC */ PAD_NC(GPP_C8, NONE), diff --git a/src/mainboard/purism/librem_cnl/variants/librem_14/hda_verb.c b/src/mainboard/purism/librem_cnl/variants/librem_14/hda_verb.c index 4e2fc2d128..2fba59aa08 100644 --- a/src/mainboard/purism/librem_cnl/variants/librem_14/hda_verb.c +++ b/src/mainboard/purism/librem_cnl/variants/librem_14/hda_verb.c @@ -5,6 +5,7 @@ #include <console/console.h> const u32 cim_verb_data[] = { + /* Board revision 01 has ALC256 */ 0x10ec0256, /* Codec Vendor/Device ID: Realtek ALC256 */ 0x10ec0256, /* Subsystem ID */ 16, /* Number of entries */ @@ -47,6 +48,45 @@ const u32 cim_verb_data[] = { 0x02050007, 0x02040200, + /* Board revision 02 has ALC269 */ + 0x10ec0269, /* Codec Vendor/Device ID: Realtek ALC269 */ + 0x10ec0269, /* Subsystem ID */ + 16, /* Number of entries */ + + AZALIA_RESET(0x1), + + AZALIA_SUBVENDOR(0, 0x10ec129e), + AZALIA_PIN_CFG(0, 0x12, 0x90A60140), /* DMIC */ + AZALIA_PIN_CFG(0, 0x14, 0x90170120), /* FRONT (Port-D) */ + AZALIA_PIN_CFG(0, 0x17, 0x40000000), /* MONO-OUT (Port-H) */ + AZALIA_PIN_CFG(0, 0x18, 0x04A11030), /* MIC1 (Port-B) */ + AZALIA_PIN_CFG(0, 0x19, 0x411111F0), /* MIC2 (Port-F) */ + AZALIA_PIN_CFG(0, 0x1A, 0x411111F0), /* LINE1 (Port-C) */ + AZALIA_PIN_CFG(0, 0x1B, 0x411111F0), /* LINE2 (Port-E) */ + AZALIA_PIN_CFG(0, 0x1D, 0x40E4A105), /* BEEP-IN */ + AZALIA_PIN_CFG(0, 0x1E, 0x411111F0), /* S/PDIF-OUT1 */ + AZALIA_PIN_CFG(0, 0x21, 0x04211010), /* HP-OUT (Port-I) */ + + 0x02050011, + 0x02041410, + 0x02050012, + 0x02041901, + + 0x0205000D, + 0x02044440, + 0x02050007, + 0x02040040, + + 0x02050002, + 0x0204AAB8, + 0x02050008, + 0x02040300, + + 0x02050017, + 0x020400AF, + 0x02050005, + 0x020400C0, + 0x8086280b, /* Codec Vendor/Device ID: Intel CometPoint HDMI */ 0x80860101, /* Subsystem ID */ 4, /* Number of entries */ @@ -61,8 +101,8 @@ const u32 pc_beep_verbs[] = {}; AZALIA_ARRAY_SIZES; -/* Older verbs with no jack detect - needed if an older Librem EC is in use that - lacks jack detect. Headphones can be selected manually. */ +/* Older ALC256 verbs with no jack detect - needed if an older Librem EC is in + use that lacks jack detect. Headphones can be selected manually. */ static const u32 no_jack_detect_verbs[] = { AZALIA_PIN_CFG(0, 0x19, 0x04a11130), /* Jack analog mic */ AZALIA_PIN_CFG(0, 0x21, 0x04211120), /* Jack analog out */ |