diff options
author | Daniel Kurtz <djkurtz@chromium.org> | 2018-01-12 12:22:25 -0800 |
---|---|---|
committer | Martin Roth <martinroth@google.com> | 2018-01-13 23:44:31 +0000 |
commit | b57799ed5efe9ca5c8c36c61576b9e54a0e1188a (patch) | |
tree | 5372e6d8b4fd0a9b51a978b55d085a3eca307fe7 | |
parent | 5fb261303886836f6a0fe06d54fe6a2b9af4f07b (diff) | |
download | coreboot-b57799ed5efe9ca5c8c36c61576b9e54a0e1188a.tar.xz |
google/kahlee/grunt: Add Grunt audio codec ASL
Grunt and Kahlee have different audio codecs.
Create a new audio .asl for the baseboard for grunt's codec, link
to it from the grunt mainboard, and move the kahlee codec table
from the baseboard mainboard to its own .asl in variant/kahlee.
Note, we can't use the generic drivers due to the PCI scope
expectation. The AMD I2C are not PCI devices.
BUG=b:69397774
TEST=Codec driver loads. Check dmesg.
Change-Id: I1cc245357d1f3d444e5a5012466eaa5d75d637eb
Signed-off-by: Akshu Agrawal <akshu.agrawal@amd.com>
Signed-off-by: Marc Jones <marcj303@gmail.com>
Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
Reviewed-on: https://review.coreboot.org/23226
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
5 files changed, 188 insertions, 55 deletions
diff --git a/src/mainboard/google/kahlee/variants/baseboard/include/baseboard/acpi/audio.asl b/src/mainboard/google/kahlee/variants/baseboard/include/baseboard/acpi/audio.asl new file mode 100644 index 0000000000..01edce51fd --- /dev/null +++ b/src/mainboard/google/kahlee/variants/baseboard/include/baseboard/acpi/audio.asl @@ -0,0 +1,131 @@ +/* + * This file is part of the coreboot project. + * + * Copyright (C) 2018 Google Inc. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + + +/* Grunt specific I2S machine driver */ +Device (I2S) +{ + Name (_ADR, 1) + Name (_HID, "AMD7219") + Name (_CID, "AMD7219") +} + +/* DA7219 codec */ +Device (DLG7) +{ + Name (_HID, "DLGS7219") + Name (_UID, 1) + Name (_DDN, "Dialog Semiconductor DA7219 Audio Codec") + Name (_S0W, 0x04) + + Name(_CRS, ResourceTemplate () + { + I2cSerialBus ( + 0x001A, + ControllerInitiated, + 0x00061A80, + AddressingMode7Bit, + "\\_SB.I2CA", + 0x00, + ResourceConsumer, + , + ) + + /* Jack Detect AGPIO14 */ + GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullNone,, + "\\_SB.GPIO") { 14 } + }) + + /* Device-Specific Data */ + Name (_DSD, Package () + { + ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), + Package () + { + Package () { "dlg,micbias_lvl", 2600 }, + Package () { "dlg,mic_amp_in_sel", "diff" } + }, + + ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b"), + Package () + { + Package () { "da7219_aad", "DAAD" } + } + }) + + /* Device Properties for _DSD */ + Name (DAAD, Package () + { + ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), + Package () + { + Package () { "dlg,btn-cfg", 50 }, + Package () { "dlg,mic-det-thr", 500 }, + Package () { "dlg,jack-ins-deb", 20 }, + Package () { "dlg,jack-det-rate", "32ms_64ms" }, + Package () { "dlg,jack-rem-deb", 1 }, + Package () { "dlg,a-d-btn-thr", 0xa }, + Package () { "dlg,d-b-btn-thr", 0x16 }, + Package () { "dlg,b-c-btn-thr", 0x21 }, + Package () { "dlg,c-mic-btn-thr", 0x3e }, + Package () { "dlg,btn-avg", 4 }, + Package () { "dlg,adc-1bit-rpt", 1 }, + Package () { "dlg,micbias-pulse-lvl", 0 }, + Package () { "dlg,micbias-pulse-time", 0 } + } + }) /* DAAD */ + + Method (_STA, 0, NotSerialized) + { + Return (0x0F) + } +} + +/* MAX98357 codec */ +Device (MAXM) +{ + Name (_HID, "MX98357A") + Name (_UID, 0) + Name (_DDN, "Maxim Integrated 98357A Amplifier") + + Name (_CRS, ResourceTemplate () + { + GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, + IoRestrictionOutputOnly, + "\\_SB.GPIO", 0x00, ResourceConsumer, ,) { 119 } + }) + + Name (_DSD, Package () + { + ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), + Package () + { + Package () + { + "sdmode-gpio", Package () { \MAXM, 0, 0, 0 } + }, + + Package () + { + "sdmode-delay", 5 + } + } + }) + + Method (_STA, 0, NotSerialized) + { + Return (0x0F) + } +} diff --git a/src/mainboard/google/kahlee/variants/baseboard/include/baseboard/acpi/mainboard.asl b/src/mainboard/google/kahlee/variants/baseboard/include/baseboard/acpi/mainboard.asl index ddf1211eee..242eb92e6b 100644 --- a/src/mainboard/google/kahlee/variants/baseboard/include/baseboard/acpi/mainboard.asl +++ b/src/mainboard/google/kahlee/variants/baseboard/include/baseboard/acpi/mainboard.asl @@ -55,58 +55,3 @@ Device (ETPA) /* Allow device to power off in S0 */ Name (_S0W, 3) } - -/* DA7219 codec */ -Device (DIAL) /* audio codec*/ -{ - Name (_ADR, 0) - Name (_HID, "DLGS7219") - Name (_CID, "DLGS7219") - Name (_DDN, "DA7219 Codec Controller ") - Name (_UID, 1) - - Device (I2S) /* I2S machine driver for RT5650 */ - { - Name (_ADR, 1) - Name (_HID, "AMDI7219") - Name (_CID, "AMDI7219") - } - - Method (_CRS, 0x0, Serialized) - { - Name (SBUF, ResourceTemplate () - { - I2CSerialBus( - 0x1A, /* SlaveAddress: bus address */ - ControllerInitiated, /* SlaveMode: default to ControllerInitiated */ - 400000, /* ConnectionSpeed: in Hz */ - AddressingMode7Bit, /* Addressing Mode: default to 7 bit */ - "\\_SB.I2CA", /* ResourceSource: I2C bus controller name */ - ) - - /* Jack Detect AGPIO14 */ - GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullNone,, - "\\_SB.GPIO") { 14 } - }) - Return (SBUF) - } - - Method (_STA) - { - Return (0xF) - } -} - -/* MAX98357 codec */ -Device (MAXA) -{ - Name (_ADR, 0) - Name (_HID, "MX98357A") - Name (_CID, "MX98357A") - Name (_DDN, "MX98357A Codec Controller ") - Name (_UID, 1) - - Method (_STA, 0x0, NotSerialized) { - Return (0x0F) - } -} diff --git a/src/mainboard/google/kahlee/variants/grunt/include/variant/acpi/mainboard.asl b/src/mainboard/google/kahlee/variants/grunt/include/variant/acpi/mainboard.asl index 7e7c158d88..4f91d72822 100644 --- a/src/mainboard/google/kahlee/variants/grunt/include/variant/acpi/mainboard.asl +++ b/src/mainboard/google/kahlee/variants/grunt/include/variant/acpi/mainboard.asl @@ -14,3 +14,4 @@ */ #include <baseboard/acpi/mainboard.asl> +#include <baseboard/acpi/audio.asl> diff --git a/src/mainboard/google/kahlee/variants/kahlee/include/variant/acpi/audio.asl b/src/mainboard/google/kahlee/variants/kahlee/include/variant/acpi/audio.asl new file mode 100644 index 0000000000..031eafc95e --- /dev/null +++ b/src/mainboard/google/kahlee/variants/kahlee/include/variant/acpi/audio.asl @@ -0,0 +1,55 @@ +/* + * This file is part of the coreboot project. + * + * Copyright (C) 2018 Google Inc. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +/* Realtek Audio Codec */ +Device (RTEK) /* Audio Codec driver I2CS*/ +{ + Name (_ADR, 0) + Name (_HID, "10EC5650") + Name (_CID, "10EC5650") + Name (_DDN, "RTEK Codec Controller ") + Name (_UID, 1) + + Device (I2S) /* I2S machine driver for RT5650 */ + { + Name (_ADR, 1) + Name (_HID, "AMDI1002") + Name (_CID, "AMDI1002") + } + + Method (_CRS, 0x0, Serialized) + { + Name (SBUF, ResourceTemplate () + { + I2CSerialBus( + 0x1A, /* SlaveAddress: bus address */ + ControllerInitiated, /* SlaveMode: default to ControllerInitiated */ + 400000, /* ConnectionSpeed: in Hz */ + AddressingMode7Bit, /* Addressing Mode: default to 7 bit */ + "\\_SB.I2CA", /* ResourceSource: I2C bus controller name */ + ) + + /* Jack Detect AGPIO90 */ + GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullNone,, + "\\_SB.GPIO") { 90 } + }) + Return (SBUF) + } + + Method (_STA) + { + Return (0xF) + } +} diff --git a/src/mainboard/google/kahlee/variants/kahlee/include/variant/acpi/mainboard.asl b/src/mainboard/google/kahlee/variants/kahlee/include/variant/acpi/mainboard.asl index 7e7c158d88..ab1fa7a080 100644 --- a/src/mainboard/google/kahlee/variants/kahlee/include/variant/acpi/mainboard.asl +++ b/src/mainboard/google/kahlee/variants/kahlee/include/variant/acpi/mainboard.asl @@ -14,3 +14,4 @@ */ #include <baseboard/acpi/mainboard.asl> +#include <variant/acpi/audio.asl> |