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>
This commit is contained in:
Jonathon Hall 2023-09-27 09:38:57 -04:00 committed by Matt DeVillier
parent 960209e7ee
commit 484b24234c
2 changed files with 46 additions and 6 deletions

View File

@ -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),

View File

@ -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 */